Данный топик позволяет управлять контроллером положения левой руки. В контроллер левой руки входят суставы:
left_arm_1_joint, left_arm_2_joint, left_arm_3_joint, left_arm_4_joint, left_arm_5_joint, left_arm_6_joint, left_arm_7_joint.
В данный топик публикуются сообщения с типом trajectory_msgs/JointTrajectory которые имеют следующую структуру:
Блок кода |
---|
language | bash |
---|
title | Структура сообщения |
---|
linenumbers | true |
---|
collapse | true |
---|
|
[std_msgs/Header] header # http://docs.ros.org/api/std_msgs/html/msg/Header.html
uint32 seq
time stamp # время должно быть синхронно с временем ros
string frame_id # не используется
string[] joint_names # массив имен джойнов которым будет подаваться задание для управления.
trajectory_msgs/JointTrajectoryPoint[] points
# точки траектории в которой находятся позиции, скорости, ускорения и сила (так как контроллер для управления
# рук работает в режиме управления позицией, то нужно
# указывать только позиции для каждого джойнта). если тип джойнта revolute или continuous положение задается в радианах. если
#если тип # джойнта prismatic положение задается в метрах.
float64[] positions # массив позиций каждого джойнта размерность массива и порядок этих позиций должны совпадать с размерностью и порядком джойнтов в массиве joint_names.
float64[] velocities
float64[] accelerations
float64[] effort
duration time_from_start # время завершения команды. контролер рассчитает траекторию от текущего положения джойнтов до желаемого за время t(i) - t(i-1). |
Блок кода |
---|
language | bash |
---|
title | Пример |
---|
linenumbers | true |
---|
collapse | true |
---|
|
$ rostopic pub /left_arm_controller/command trajectory_msgs/JointTrajectory "header: auto
joint_names:
- 'left_arm_4_joint'
points:
- positions: [1.57]
time_from_start: {secs: 1, nsecs: 0}
- positions: [0.0]
time_from_start: {secs: 6, nsecs: 0}" -1 |