Сгенерируйте состояния, чтобы сформировать путь, подтвердить движение между состояниями и проверку на самостолкновения и экологические столкновения с объектами в вашем мире. manipulatorStateSpace
объект представляет объединенный пробел настройки вашей модели робота дерева твердого тела, и может произвести состояния, вычислить расстояния и осуществить границы состояния. manipulatorCollisionBodyValidator
объект подтверждает состояние и движение на основе тел столкновения в вашей модели робота и любых препятствий в вашей среде.
Загрузите модель робота
Используйте loadrobot
функционируйте, чтобы получить доступ к предопределенным моделям робота. Этот пример использует робота Quanser QArm™, и объединенные настройки заданы как векторы-строки.
Сконфигурируйте пространство состояний и валидацию состояния
Создайте пространство состояний и утвердите блок проверки допустимости из модели робота.
Установите расстояние валидации до 0.05
, который основан на расстоянии, нормальном между двумя состояниями. Вы можете сконфигурировать блок проверки допустимости, чтобы проигнорировать сам столкновения, чтобы улучшить скорость валидации, но должны рассмотреть, имеет ли ваша модель робота соответствующий объединенный предельный набор настроек, чтобы гарантировать, что это не сталкивается с собой.
Поместите объекты столкновения в среду робота. Установите Environment
свойство объекта блока проверки допустимости столкновения использование массива ячеек объектов.
Визуализируйте среду.
Запланируйте путь
Начните с домашней настройки как первая точка на пути.
Запланируйте путь с помощью этих шагов в цикле:
Произведите соседнюю целевую настройку, с помощью Распределения Гаусса, путем определения стандартного отклонения для каждого угла поворота шарнира.
Проверяйте, допустимо ли произведенное целевое состояние.
Если произведенное целевое состояние допустимо, проверяйте, допустимо ли движение между состояниями и, если так, добавьте его в путь.
Визуализируйте путь
После генерации пути допустимых движений визуализируйте движение робота. Поскольку вы произвели случайные состояния около домашней настройки, необходимо видеть, что рука перемещает ту начальную настройку.
Чтобы визуализировать путь исполнительного элемента конца в 3-D, получите преобразование относительно основной мировой системы координат в каждой точке. Сохраните точки как xyz вектор сдвига. Постройте путь исполнительного элемента конца.