ROS2与GB2云台快速入门教程-(Velocity-Based-Profile)驱动模式例程
文章说明
- 本教程主要介绍如何通过interbotix_ros_turrets包中自带的demo来学习使用(Velocity-Based-Profile)驱动模式控制云台
- (Velocity-Based-Profile)驱动模式与(Time-Based-Profile)驱动模式不同,(Velocity-Based-Profile)驱动模式让你直接控制最大速度和加速度,从而能够更加灵活地调整舵机的运动
操作步骤
- 启动云台
$ ros2 launch interbotix_xsturret_control xsturret_control.launch.py robot_model:=pxxls
- 如果使用的仿真环境,则执行以下命令
$ ros2 launch interbotix_xsturret_control xsturret_control.launch.py robot_model:=pxxls use_sim:=true
- 启动脚本
$ cd ~/ros2_interbotix_ws/src/interbotix_ros_turrets/interbotix_ros_xsturrets/interbotix_xsturret_control/demos
$ python3 turret_velocity_profile_control.py
[INFO] [1730797077.622085049] [interbotix_robot_manipulation]: Initialized InterbotixRobotNode!
[INFO] [1730797077.921095163] [interbotix_robot_manipulation]:
Robot Name: pxxls
Robot Model: pxxls
[INFO] [1730797077.921430601] [interbotix_robot_manipulation]: Initialized InterbotixRobotXSCore!
[INFO] [1730797078.053713531] [interbotix_robot_manipulation]: Turret Group Name: turret
Pan Name: pan, Profile Type: velocity, Profile Velocity: 131.0, Profile Acceleration: 131.0
Tilt Name: tilt, Profile Type: velocity, Profile Velocity: 65.0, Profile Acceleration: 5.0
[INFO] [1730797078.054157140] [interbotix_robot_manipulation]: Initialized InterbotixTurretXSInterface!
脚本解析
1.初始化:
- 创建一个
InterbotixTurretXS
实例,指定机器人模型为pxxls
,并且设置pan_profile_type
和tilt_profile_type
都为velocity
,表示使用(Velocity-Based-Profile)驱动模式来控制旋转 - 通过
profile_velocity
和profile_acceleration
参数设置pan
舵机和tilt
舵机的最大速度和加速度
2.控制舵机的运动:
pan
舵机运动:使用指定的速度和加速度将pan
舵机移动到1.0弧度,delay=1.0
表示在等待1秒后,脚本才会继续执行tilt
舵机运动:使用指定的速度和加速度将tilt
舵机移动到1.5弧度,delay=2.0
表示在等待2秒后,脚本才会继续执行
3.同时控制Pan
舵机和Tilt
舵机:
- 使用
pan_tilt_move
方法,同时控制pan
和tilt
舵机,且分别设定不同的速度和加速度 delay=3.0
表示在等待3秒后,脚本才会继续执行
4.返回原点:
- 使用
pan_tilt_go_home
方法将舵机移动回原点,且使用上一个运动的速度和加速度设置
5.结束任务:
- 最后通过
robot.shutdown()
关闭并终止所有后台进程,完成控制
演示视频
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号