exponenta event banner

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

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

Обзор модели

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

open_system("SL3DJointSpaceManipulatorTrajectory")

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

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

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], останавливаясь на каждом из ППМ. Блок модели движения в пространстве соединения моделирует отслеживание этих траекторий по замкнутому контуру для манипулятора Kinova Gen3 с управлением вычисленным крутящим моментом.

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

Блок VR BodyTree вставляет манипулятор в сцену, определенную связанным мировым файлом, 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.

В модели активен режим pacing, как показано символом тактового сигнала под кнопкой запуска:

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

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

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

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