ROS 2控制与感知:让机器人动得了、看得见
机器人ROS 2底盘驱动开发
键盘控制
# 启动机器人底盘节点originbot_base
$ ros2 launch originbot_bringup originbot.launch.py
# 启动键盘控制节点
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard
机器人状态的动态监控
6.2.4 机器人状态的动态监控
订阅originbot_status话题
控制蜂鸣器
## 打开蜂鸣器
$ ros2 service call /originbot_buzzer originbot_msgs/srv/OriginbotBuzzer "'on': true"
## 关闭蜂鸣器
$ ros2 service call /originbot_buzzer originbot_msgs/srv/OriginbotBuzzer "'on': false"
LED与POD参数调节
## 打开LED
$ ros2 service call /originbot_led originbot_msgs/srv/OriginbotLed "'on': true"
## 关闭LED
$ ros2 service call /originbot_led originbot_msgs/srv/OriginbotLed "'on': false"
## 设置左轮的PID控制参数
$ ros2 service call /originbot_left_pid originbot_msgs/srv/OriginbotPID "{'p': 10, 'i': 0,
'd': 0.1}"
## 设置右轮的PID控制参数
$ ros2 service call /originbot_right_pid originbot_msgs/srv/OriginbotPID "{'p': 10, 'i': 0,
'd': 0.1}"
机器人运动编程与可视化
ROS 2速度控制消息定义
6.3.1 ROS 2速度控制消息定义
$ ros2 topic pub --rate 1 /cmd_vel geometry_msgs/msg/Twist "{linear: {x: 0.2, y: 0.0, z: 0.0},
angular: {x: 0.0, y: 0.0, z: 0.8}}"
运动编程与可视化
6.3.2 运动编程与可视化
相机驱动与图像数据
相机驱动与可视化
6.4.2 相机驱动与可视化
安装完成后,就可以使用以下命令驱动笔记本电脑上的相机。
运行成功后可以使用ROS 2 Qt工具箱中的rqt_image_view查看图像数据。
在某些情况下,可能需要订阅多个图像数据,那么也可以使用usb-cam功能包提供的另一种启动方式。
ROS 2图像消息定义
6.4.3 ROS 2图像消息定义
三维相机驱动与可视化
6.4.4 三维相机驱动与可视化
SDK安装完成后 就可以继续安装RealSense的ROS 2驱动包了。
安装成功后,使用以下命令启动RealSense相机驱动节点。ROS 2点云消息定义
6.4.5 ROS 2点云消息定义
激光雷达驱动与可视化
ROS 2雷达消息定义
6.5.2 ROS 2雷达消息定义
激光雷达驱动与数据可视化
6.5.3 激光雷达驱动与数据可视化
IMU驱动与数据可视化
ROS 2 IMU消息定义
6.6.1 ROS 2 IMU消息定义
在同一网络中的计算机端,通过以下命令安装RViz的IMU插件。