Подглава 12.9.1 Конфигурационный файл dynamixel_controllers
Параметры конфигурации сервопривода хранятся в файле dynamixel_params.yaml, который находится в подкаталоге rbx1_dynamixels/config и выглядит следующим образом:
joints: ['head_pan_joint', 'head_tilt_joint']
head_pan_joint:
controller:
package: dynamixel_controllers
module: joint_position_controller
type: JointPositionController
joint_name: head_pan_joint
joint_speed: 2.0
motor:
id: 1
init: 512
min: 0
max: 1024
head_tilt_joint:
controller:
package: dynamixel_controllers
module: joint_position_controller
type: JointPositionController
joint_name: head_tilt_joint
joint_speed: 2.0
motor:
id: 2
init: 512
min: 300
max: 800
Сначала мы определяем параметр списка под названием joints(шарниры), который содержит имена наших сервоприводов. Далее, у нас есть блок для каждого сервоконтроллера, начинающийся с имени контроллера. В нашем случае эти два контроллера называются head_pan_joint и head_tilt_joint. Это имена, которые используются в топиках и службах, о которых мы узнали в предыдущем разделе.
Для каждого сервоконтроллера мы указываем тип контроллера (Joint Position Controller), а также его аппаратный идентификатор, начальное значение положения и его минимальное и максимальное значения положения. Если ваши идентификаторы сервоприводов отличаются от 1 и 2, отредактируйте этот файл соответствующим образом.
Цифры init/min/max приведены в серво-тиках, которые варьируются от 0 до 1023 для AX-12. В приведенной выше конфигурации мы даем контроллеру наклона головы меньше полного диапазона, так как она не может пройти весь путь вперед или назад, не задев установочную пластину. (Мы также указываем эти ограничения в файле URDF робота, но используя радианы вместо серво-тиков.)
Last updated
Was this helpful?