Подглава 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