Чтобы быстро получить доступ к общим моделям робота, используйте 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).
Проверяйте на Обнаружение столкновений с препятствиями в вашей среде, чтобы гарантировать безопасное и эффективное движение вашего робота.