< >
Home » ROS2与GB2云台快速入门教程 » ROS2与GB2云台快速入门教程-混合驱动模式例程

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.0pan_profile_acceleration=0.5:分别为pan舵机的最大速度和加速度
  • tilt_profile_velocity=65tilt_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方法,同时控制pantilt舵机,且分别设置加速度和速度

4.返回原点:

  • 使用pan_tilt_go_home方法将舵机移动回原点

5.结束任务:

  • 最后通过robot.shutdown()关闭并终止所有后台进程,完成控制

演示视频

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: none