ROS2与GB2云台快速入门教程-混合驱动模式例程
文章说明
- 本教程主要介绍如何通过interbotix_ros_turrets包中自带的demo来学习使用混合驱动模式控制云台
- 该例程混合使用了基于时间和基于速度的控制模式
操作步骤
- 启动云台
$ 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_mixed_profile_control.py
[INFO] [1730793158.671351807] [interbotix_robot_manipulation]: Initialized InterbotixRobotNode!
[INFO] [1730793158.966034244] [interbotix_robot_manipulation]:
Robot Name: pxxls
Robot Model: pxxls
[INFO] [1730793158.966433797] [interbotix_robot_manipulation]: Initialized InterbotixRobotXSCore!
[INFO] [1730793159.097435431] [interbotix_robot_manipulation]: Turret Group Name: turret
Pan Name: pan, Profile Type: time, Profile Velocity: 1.0, Profile Acceleration: 0.5
Tilt Name: tilt, Profile Type: velocity, Profile Velocity: 65.0, Profile Acceleration: 5.0
[INFO] [1730793159.097811029] [interbotix_robot_manipulation]: Initialized InterbotixTurretXSInterface!
1.0
脚本解析
1.初始化:
- 创建一个
InterbotixTurretXS
实例,指定机器人模型为pxxls
pan_profile_type="time"
:表示pan
舵机使用(Time-Based-Profile)驱动模式控制tilt_profile_type="velocity"
:表示tilt
舵机使用(Velocity-Based-Profile)驱动模式控制pan_profile_velocity=1.0
和pan_profile_acceleration=0.5
:分别为pan
舵机的最大速度和加速度tilt_profile_velocity=65
和tilt_profile_acceleration=5
:分别为tilt
舵机的最大速度和加速度
2.控制舵机的运动:
pan
舵机运动:将pan
舵机移动到0.5弧度,使用(Time-Based-Profile)驱动模式控制,blocking=True
表示脚本会等待运动完成再继续执行后续命令tilt
舵机运动:将tilt
舵机移动到1.0弧度,使用(Velocity-Based-Profile)驱动模式控制,delay=2.0
表示脚本会等待2秒后继续执行
3.同时控制Pan
舵机和Tilt
舵机:
- 使用
pan_tilt_move
方法,同时控制pan
和tilt
舵机,且分别设置加速度和速度
4.返回原点:
- 使用
pan_tilt_go_home
方法将舵机移动回原点
5.结束任务:
- 最后通过
robot.shutdown()
关闭并终止所有后台进程,完成控制
演示视频
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号