В этом примере показано, как использовать блок Joint Space Motion Model для следования траектории в Simulink.
Этот пример использует робота Gen3 Kinova, чтобы следовать траекториям. Загрузите Gen3 манипулятор, используя loadrobot
и сохраните RigidBodyTree
выход как gen3
. Откройте модель Simulink.
[gen3,metadata] = loadrobot("kinovaGen3");
Откройте модель simulink.
open_system("followJointSpaceTrajectoryModel.slx");
Блок Полиномиальная Траектория генерирует траекторию из набора путевых точек, заданных в параметре Waypoints в пространстве соединений. Этот пример использует пять временных точек, заданных вектором-строкой а также Gen3 Кинова имеет семь степеней свободы, поэтому матрица путевых точек должна быть матрицей размера 7 на 5. Блок настраивается, чтобы сгенерировать новый набор путевых точек каждую симуляцию.
Модель движения пространства соединений использует HirgidBodyTree, gen3
, чтобы вычислить положения соединений, чтобы достичь случайной траектории, сгенерированной блоком Полиномиальной Траектории. Оставьте другие параметры блоков по умолчанию.
Целевые положения соединений и вычисленные значения соединений из модели движения пространства соединений соединяются с блоком Scope. Используя легенду, можно выбрать меньший набор сигналов для сравнения с лучшей четкостью.
Заметьте, что сигналы для первого соединения начинают разделяться и перекрываются, когда время равно 1
s. Так из начального строения первое соединение смогло следовать по траектории.