Webots - избегайте попадания соединенных объектов друг в друга (например, как разрешить столкновение для объектов в шарнирном соединении?)

У меня есть шарнирное соединение между двумя объектами, сферой и коробкой. Интересно, как я могу избежать попадания сферы внутри коробки, когда она вращается вокруг коробки с помощью вращательного двигателя. введите описание изображения здесь

Вот снимок сферы, попадающей внутрь коробки при вращении по оси x: введите описание изображения здесь

Оба объекта имеют физику и находятся под роботом. Я счастлив поделиться дополнительным кодом, но я считаю, что это упрощенный мир веботов - пожалуйста, дайте мне знать. Спасибо!


person Sanjay Verma    schedule 20.12.2019    source источник


Ответы (1)


Вероятно, вы ищете поле «selfCollision» устройства робота (которое по умолчанию имеет значение False), если вы установите для этого поля значение True, робот сможет самостоятельно столкнуться.

Но будьте осторожны, как указано в документе, это влияет на скорость моделирования:

Однако включение самоуничтожения может снизить скорость симуляции, так как во время симуляции будет сгенерировано больше коллизий.

И не будет обрабатывать столкновения между непосредственно последовательными телами:

Обратите внимание, что будут обнаружены только столкновения между твердыми телами, не идущими подряд. Для следующих друг за другом твердых тел, например, двух твердых тел, соединенных друг с другом соединением, обнаружение столкновений не выполняется, даже если само столкновение включено. Причина в том, что этот тип обнаружения столкновений обычно не нужен пользователю, потому что потребуется очень точное проектирование ограничивающих объектов твердых тел. Чтобы два последовательных твердотельных узла не проникали друг в друга, необходимо соответствующим образом настроить поля minStop и maxStop соответствующего узла соединения.

Дополнительная информация доступна в документации: https://cyberbotics.com/doc/reference/robot#field-summary

person David Mansolino    schedule 20.12.2019
comment
Спасибо, Дэвид, я думаю, что в части, в которой упоминаются два твердых тела, соединенных друг с другом шарниром, обнаружение столкновений не выполняется, даже если само столкновение включено. отвечает на мой вопрос. Я буду придерживаться атрибутов minStop и maxStop! Спасибо! - person Sanjay Verma; 21.12.2019