Подглава 12.10.5 Настройка положения сервопривода, скорости и крутящего момента

Как только контроллеры dynamixel запустятся и будут работать, откройте новый терминал и отправьте пару простых команд панорамирования и наклона. Первая команда должна поворачивать голову довольно медленно влево (против часовой стрелки) на 1 Радиан или около 57 градусов:

$ rostopic pub -1 /head_pan_joint/command std_msgs/Float64 -- 1.0

Отцентруйте сервопривод с помощью команды:

$ rostopic pub -1 /head_pan_joint/command std_msgs/Float64 -- 0.0

Теперь попробуйте наклонить голову вниз на половину Радиана (около 28 градусов):

$ rostopic pub -1 /head_tilt_joint/command std_msgs/Float64 -- 0.5

И верните ее в прежнее обратно:

$ rostopic pub -1 /head_tilt_joint/command std_msgs/Float64 -- 0.0

Чтобы изменить скорость панорамного сервопривода головки на 1,0 радиана в секунду, воспользуйтесь службой set_speed:

$ rosservice call /head_pan_joint/set_speed 1.0

Затем попробуйте снова повернуть голову на новой скорости:

$ rostopic pub -1 /head_pan_joint/command std_msgs/Float64 -- -1.0

Чтобы расслабить сервопривод так, чтобы вы могли перемещать его вручную, используйте сервис torque_enable:

$ rosservice call /head_pan_joint/torque_enable False

Теперь попробуйте повернуть голову вручную. Обратите внимание, что расслабление сервопривода не мешает ему двигаться, когда он получает новую команду позиционирования. Например, повторно выполните последнюю команду панорамирования:

$ rostopic pub -1 /head_pan_joint/command std_msgs/Float64 -- -1.0

Команда позиционирования автоматически включит крутящий момент и переместит сервопривод. Чтобы повторно включить крутящий момент вручную, выполните команду:

$ rosservice call /head_pan_joint/torque_enable True

И попробуйте еще раз повернуть серво вручную - но не давите на него силой! Вы должны обнаружить, что сервопривод зафиксирован в текущем положении.

Наконец, установите предел крутящего момента на небольшое значение:

$ rosservice call /head_pan_joint/set_torque_limit 0.1

Теперь попробуйте повернуть голову вручную. На этот раз вы должны почувствовать немного больше сопротивления по сравнению с полностью расслабленным сервоприводом. Кроме того, когда вы отпустите свой захват, сервомотор вернется в то положение, которое он занимал до того, как вы его переместили.

Теперь установите предел крутящего момента обратно на умеренное значение:

$ rosservice call /head_pan_joint/set_torque_limit 0.5

Примечание: если ограничение крутящего момента установлено очень низко, вы обнаружите, что существует также ограничение на скорость перемещения сервопривода независимо от того, насколько высоко вы устанавливаете скорость с помощью сервиса set_speed.

Last updated