Визуализация отслеживания траектории манипулятора с помощью Simulink 3D Animation

Симулируйте траектории пространства соединений для модели древовидного твердого тела и визуализируйте результаты с помощью Simulink 3D Animation™.

Обзор модели

Загрузите модель с помощью следующей команды:

open_system("SL3DJointSpaceManipulatorTrajectory")

Figure Simple Robot Scene contains objects of type hgjavacomponent, uimenu, uipanel, uitoolbar.

Этот пример использует манипулятор Gen3 Kinova, который хранится в рабочем пространстве модели. Однако загрузите и визуализируйте робота следующими командами:

gen3 = loadrobot("kinovaGen3","DataFormat","column");
show(gen3);

Figure contains an axes. The axes contains 25 objects of type patch, line. These objects represent base_link, Shoulder_Link, HalfArm1_Link, HalfArm2_Link, ForeArm_Link, Wrist1_Link, Wrist2_Link, Bracelet_Link, EndEffector_Link, Shoulder_Link_mesh, HalfArm1_Link_mesh, HalfArm2_Link_mesh, ForeArm_Link_mesh, Wrist1_Link_mesh, Wrist2_Link_mesh, Bracelet_Link_mesh, base_link_mesh.

Модель разделена на два раздела:

  • Отслеживание траектории манипулятора

  • Визуализация в Simulink 3D Animation™

Отслеживание траектории манипулятора

Блок Полиномиальной Траектории генерирует непрерывные траектории пространства соединений из случайных наборов точек пути в области значений [-0.375*pi 0.375*pi], останавливаясь на каждом из путевых точек. Блок Joint-Space Motion Model моделирует отслеживание этих траекторий с обратной связью для манипулятора Gen3 Kinova с управлением вычисленным крутящим моментом.

Визуализация в Simulink 3D Animation™

Блок VR RigidBodyTree вставляет манипулятор в сцену, заданную связанным файлом привязки, robot_scene.wrl. Блок VR Sink обеспечивает визуализацию для мира. В параметрах блоков блок VR Sink был изменен, чтобы рассматривать уставку, обозначенную красными осями в выходе, как вход. Блок Get Transform используется, чтобы получить положение конечного эффектора, который затем преобразуется из гомогенной матрицы преобразования в вектор преобразования, а затем из MATLAB в координаты VR.

Симулируйте модель

sim("SL3DJointSpaceManipulatorTrajectory.slx");

Figure Simple Robot Scene contains objects of type hgjavacomponent, uimenu, uipanel, uitoolbar.

В модели активен темп, на что указывает символ часов под кнопкой Run:

Это гарантирует, что модель замедлится почти до скорости в реальном времени, так что визуализация может быть обновлена в реалистичном темпе.

Визуализация траектории

По умолчанию модель открывает и VR-визуализацию, и возможности, которые отображают информацию о скорости и положении. Однако, если они закрыты, вид VR может быть снова открыт, нажав на блок VR Sink, и возможности могут быть открыты, дважды щелкнув связанные значки Viewer:

Возможности результаты отслеживания блока Joint Space Motion Model. Как видно слева на рисунках ниже, начальное строение робота отличается от эталонных траекторий, но управляемое движение гарантирует, что траектория достигнута и отслеживается на время симуляции. Конечные возможности отображают положение X, Y и Z конечного эффектора в мировой системе координат.