Выполните выборку различных поз в пределах области цели рабочего пространства для манипулятора. Некоторые концевые эффекторные позы могут быть нежелательными из-за расположения тел рук и препятствий в сцене. workspaceGoalRegion объект определяет границы XYZ-положения и ориентации Euler ZYX концевого эффектора робота. sample функция объекта равномерно производит выборку случайных представлений в пределах границ. Найти конфигурации, которые достигают этих конечных эффекторных поз и определить лучшие с помощью визуализации.
Загрузка существующей модели робота в качестве rigidBodyTree объект.
Добавление банки в качестве collisionCylinder объект для руки робота.
Цель этого примера - поместить эту банку на стол с другими баночками. Добавьте таблицу и другие банки в среду, создав массив ячеек объектов столкновения. Показать весь env массив ячеек.
Определение области цели
Создайте область цели рабочего пространства, используя имя тела конечного эффектора робота.
Определите параметры целевой области для рабочего пространства. Область цели включает опорную позу, границы положения XYZ и пределы ориентации на углах Эйлера ZYX. В этом примере задаются границы XYZ в пределах размеров таблицы и фиксируется поворот в небольшом диапазоне по осям Y и X.
Образцы позы
Однородные позы выборки в пределах табличной области с использованием sample объектная функция. В этом примере установите rng затравка для получения повторяющихся результатов. Создайте векторы для хранения действительных и недопустимых поз.
Проверка наличия коллизий
Чтобы найти конфигурации для этих поз, создайте решатель обратной кинематики (IK).
Проверьте выборочные позы путем итерации через выборочные позы, решения для конфигураций с использованием IK и проверки на наличие коллизий. Показать допустимые конфигурации.
Визуализация одиночной допустимой позы
Постройте график всех действительных представлений как преобразований. Окончательная допустимая конфигурация проверки конфликтов по-прежнему видна на рисунке.
Показать допустимую конфигурацию из списка. Изменение индекса в validPoses чтобы посмотреть на разные позы. Звонить hold off прекратить сохранение фигурных элементов. Чтобы вручную проверить позы и конфигурации, прокомментируйте последнюю строку при выполнении.