Чтобы быстро получить доступ к общим моделям робота, используйте loadrobot
функция, которая загружает коммерчески доступные модели робота как Универсальный Robots™ UR10 cobot, Бостон гуманоид Атласа Dynamics™ и Генерал KINOVA™ 3 манипулятора. Исследуйте, как сгенерировать объединенные настройки и взаимодействовать с моделями робота.
Чтобы импортировать ваш собственный универсальный формат описания робота (URDF), смотрите importrobot
функция.
Задайте тип модели робота как строку к loadrobot
функция. Используйте заполнение клавишей Tab, чтобы выбрать из списка предоставленных моделей как входные параметры.
Чтобы использовать вектор-столбцы для объединенных настроек, задайте формат данных как "column".
ur10 = loadrobot("universalUR10"); atlas = loadrobot("atlas"); gen3 = loadrobot("kinovaGen3","DataFormat","column");
loadrobot
функция возвращает rigidBodyTree
объект, который это, представляет кинематику и динамику каждой модели робота. Некоторые модели не могут загрузить с динамикой или инерционными свойствами для тел. Смотрите отдельные твердые тела с помощью Bodies
свойство или getBody
функция.
disp(gen3);
rigidBodyTree with properties: NumBodies: 8 Bodies: {1x8 cell} Base: [1x1 rigidBody] BodyNames: {1x8 cell} BaseName: 'base_link' Gravity: [0 0 0] DataFormat: 'column'
Вызовите show
визуализировать модели робота в домашней настройке. Замените gen3
объект с другими моделями, чтобы визуализировать их.
show(gen3);
show(atlas);
show(ur10);
Сгенерируйте случайные настройки для робота КИНОВОЙ Gen3. randomConfiguration
функционируйте выходные параметры случайные объединенные положения в рамках модели. Проверять модель ведет себя как ожидалось, визуализируйте набор четырех настроек.
for i = 1:4 subplot(2,2,i) config = randomConfiguration(gen3); show(gen3,config); end
Чтобы переместить модель робота вокруг и смотреть поведение, загрузите интерактивный графический интерфейс пользователя дерева твердого тела. Можно установить целевые положения исполнительного элемента конца, вручную переместить соединения и выбрать различные элементы в модели.
interactiveGUI = interactiveRigidBodyTree(gen3);
Перетащите центральный диск, чтобы свободно переместить целевое положение исполнительного элемента конца. Графический интерфейс пользователя использует Инверсную кинематику, чтобы решить для объединенных положений каждого тела. Используйте оси, чтобы переместиться линейно и круги, чтобы вращаться об оси.
Нажмите rigidBody
просмотреть их определенные параметры.
Щелкните правой кнопкой, чтобы установить различное целевое тело маркера. Изменение целевого тела обновляет исполнительный элемент конца решателя инверсной кинематики.
Чтобы вручную управлять соединениями, щелкните правой кнопкой и переключите метод управления маркера.
Чтобы управлять вращением соединения revolue на теле, вы выбрали, перетащите желтый круг.
Сохраните определенные настройки, что вы устанавливаете использование addConfiguration
функция, которая хранит текущие объединенные положения в StoredConfigurations
свойство. Этот пример устанавливает случайную настройку перед хранением.
interactiveGUI.Configuration = randomConfiguration(gen3);
addConfiguration(interactiveGUI) disp(interactiveGUI.StoredConfigurations)
-0.4218 -1.6647 1.3419 -2.0818 1.8179 -0.4140 -1.4517
Теперь, когда вы создали свою модель в MATLAB®, можно хотеть сделать много разных вещей.
Выполните Инверсную кинематику, чтобы получить объединенные настройки на основе желаемых положений исполнительного элемента конца. Задайте дополнительные ограничения робота кроме параметров модели включая стремление ограничений, Декартовых границ или целей положения.
Сгенерируйте Генерацию Траектории и После на основе waypoints и других параметров с трапециевидными скоростными профилями, B-сплайнами или полиномиальными траекториями.
Планирование Движения Манипулятора Peform, использующее ваши модели робота и планировщика пути к быстро исследующему случайному дереву (RRT).
Проверяйте на Обнаружение столкновений с препятствиями в вашей среде, чтобы гарантировать безопасное и эффективное движение вашего робота.