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