Моделирование пола / площадки для шагающего робота в Симулинке
Я пытаюсь создать простую модель тела, которая затем будет контролироваться. Однако у меня возникают проблемы, когда я соединяю обе ноги с телом.
То, что я сделал, это то, что я построил модель, начиная с левой ноги, прикрепленной к раме мира, а затем до туловища. Я закончил тем, что дублировал одну из ног и снова прикрепил ее к раме мира и туловищу, эффективно закрывая "петлю". Тем не менее, я получаю следующее сообщение об ошибке при попытке запустить симуляцию.
'untitled/Right Leg/Hip/Revolute Joint' has a degenerate mass distribution on its follower side.
У меня есть ощущение, что это связано с тем, что обе ноги прикреплены к туловищу и к раме мира.
Если я позволю ногам свисать с туловища, прикрепив туловище к раме мира, то это сработает. Но мне нужно, чтобы ноги были прикреплены к "полу / полу"
Как правильно смоделировать это, чтобы потом можно было приводить в действие суставы?
1 ответ
Я считаю, что вам нужно три соединения между вашим роботом и полом:
Контактная сила между левой ногой и полом
Сила контакта между правой ногой и полом
Виртуальное соединение, позволяющее указать начальную высоту торса над полом.
Виртуальное соединение для указания начальной высоты над полом обычно выполняется с помощью соединения 6-DOF. Это ничего не ограничивает, но позволяет указать начальное положение, ориентацию и скорость туловища.
Контактное усилие может быть сделано с жесткой остановкой, но я бы порекомендовал вам взглянуть на эту библиотеку в Центральном файловом обмене MATLAB:
https://www.mathworks.com/matlabcentral/fileexchange/47417-simscape-multibody-contact-forces-library
Это позволит вам моделировать контакт между ногами и полом, а также трение, которое позволит роботу ходить. Сила, в которой вы нуждаетесь, - это сила контакта Лица с Планом.
Попробуйте и посмотрите, что вы думаете.
--Стив