Turtlebot3自动驾驶2020仿真教程-交通杆识别
目录
Turtlebot3自动驾驶2020仿真教程-目录
Turtlebot3自动驾驶2020仿真教程-软件安装
Turtlebot3自动驾驶2020仿真教程-相机外标定
Turtlebot3自动驾驶2020仿真教程-车道识别
Turtlebot3自动驾驶2020仿真教程-交通标志识别
Turtlebot3自动驾驶2020仿真教程-交通灯识别
Turtlebot3自动驾驶2020仿真教程-通过交叉路口
Turtlebot3自动驾驶2020仿真教程-通过施工路段
Turtlebot3自动驾驶2020仿真教程-自动泊车
Turtlebot3自动驾驶2020仿真教程-交通杆识别
Turtlebot3自动驾驶2020仿真教程-隧道
说明:
- 本教程专门讲解如何在TB3自动驾驶系统(2020版本)中的仿真环境中实现交通杆识别的校准与测试流程。
- 在该仿真环境中是固定不变的设计框架下
- 因此可以先使用程序预设配置参数进行测试
- 若测试效果不符合预期则需重新校准相关参数
校准
- 新终端,启动gazebo节点
$ roslaunch turtlebot3_gazebo turtlebot3_autorace_2020.launch
在新型终端上启动并配置键盘控制节点后,请将TB3移动至交通杆信号标志所指示车道前方,并确保其能够清晰观察到标志。
$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
-
TB3移动到位置后,关闭键盘控制节点- 新终端,启动相机的内标定
$ roslaunch turtlebot3_autorace_camera intrinsic_camera_calibration.launch
- 新终端,启动相机外标定
$ roslaunch turtlebot3_autorace_camera extrinsic_camera_calibration.launch
- 新终端,启动交通灯检测校准节点
$ roslaunch turtlebot3_autorace_detect detect_level_crossing.launch mode:=calibration
- 新终端,默认情况下,gazebo初始加载是不带交通杆模块的,需要额外加载
$ roslaunch turtlebot3_autorace_core turtlebot3_autorace_mission.launch
- 新终端,打开可视化界面
$ rqt
单击rqt左上方菜单栏→ Plugins → Cisualization → Image view,并依次创建并配置三个窗口以注册以下两个主题:/检测→图像级色筛选→压缩格式 / detect/image_level_color_filtered/compressed 和 / detect/image_level_color_filtered/compressed

- 打开rqt_reconfigure工具
$ rosrun rqt_reconfigure rqt_reconfigure
在调用detect_level_crossing后进行参数微调以实现对红色值的有效过滤效果,并可参考图形展示上图中的数据

新增终端会将调整后的值保存为turtlebot3_autorace_detect/param/level/文件中的level.yaml文件
$ rosed turtlebot3_autorace_detect level.yaml
---
detect:
level:
red:
hue_l: 0
hue_h: 179
saturation_l: 24
saturation_h: 255
lightness_l: 207
lightness_h: 255
测试
关闭前面打开的所有终端,重新打开终端运行以下命令
新终端,启动gazebo节点
$ roslaunch turtlebot3_gazebo turtlebot3_autorace_2020.launch
新增终端,并设置键盘控制节点;将TB3设备移动至交通杆信号标志的车道前方;使其能够清晰地观察到标志标识
$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
-
TB3移动到位置后,关闭键盘控制节点- 新终端,启动相机的内标定
$ roslaunch turtlebot3_autorace_camera intrinsic_camera_calibration.launch
- 新终端,启动交通杆检测单独任务程序
$ roslaunch turtlebot3_autorace_core turtlebot3_autorace_core.launch mission:=level_crossing
- 新终端,加载gazebo任务
$ roslaunch turtlebot3_autorace_core turtlebot3_autorace_mission.launch
- 新终端,设定
decided_mode为2
$ rostopic pub -1 /core/decided_mode std_msgs/UInt8 "data: 2"
