ROS2与Interbotix云台快速入门教程-(Time-Based-Profile)驱动模式例程
文章说明
- 本教程主要介绍如何通过interbotix_ros_turrets包中自带的demo来学习使用(Time-Based-Profile)驱动模式控制云台
- (Time-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_time_profile_control.py
[INFO] [1730793137.421259118] [interbotix_robot_manipulation]: Initialized InterbotixRobotNode!
[INFO] [1730793138.215698710] [interbotix_robot_manipulation]:
Robot Name: pxxls
Robot Model: pxxls
[INFO] [1730793138.216145189] [interbotix_robot_manipulation]: Initialized InterbotixRobotXSCore!
[INFO] [1730793138.347649953] [interbotix_robot_manipulation]: Turret Group Name: turret
Pan Name: pan, Profile Type: time, Profile Velocity: 2.0, Profile Acceleration: 0.3
Tilt Name: tilt, Profile Type: time, Profile Velocity: 2.0, Profile Acceleration: 0.3
[INFO] [1730793138.348076943] [interbotix_robot_manipulation]: Initialized InterbotixTurretXSInterface!
1.0
1.5
脚本解析
1.初始化:
- 创建一个
InterbotixTurretXS
实例,指定机器人模型为pxxls
,并且设置pan_profile_type
和tilt_profile_type
都为time
,表示使用(Time-Based-Profile)驱动模式来控制旋转
2.控制舵机的运动:
pan
舵机运动:将pan
舵机移动到1.0弧度,设置运动的持续时间为1秒,且加速和减速的时间为0.5秒,blocking=True
表示脚本会等待运动完成再继续执行后续命令tilt
舵机运动:将tilt
舵机移动到1.5弧度,设置运动的持续时间为1.5秒,且加速和减速的时间为0.3秒
3.同时控制Pan
舵机和Tilt
舵机:
- 使用
pan_tilt_move
方法,同时控制pan
和tilt
舵机 - 分别设定
pan
和tilt
的目标位置为[-0.8, -1]弧度,且分别设置加速度和速度
4.返回原点:
- 使用
pan_tilt_go_home
方法将舵机移动回原点,即pan
舵机和tilt
舵机都返回0弧度
5.结束任务:
- 最后通过
robot.shutdown()
关闭并终止所有后台进程,完成控制
演示视频
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号