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
- 新终端, 打开可视化界面,选择
/camera/image_compensated
$ rqt_image_view
此时的图像能够清晰观察到该标志,在存储该图像文件的同时,在执行过程中即可分离出仅包含交通标志的那一部分
随后将裁剪下载的标志图像放置于/turtlebot3_autorace_2020/turtlebot3_autorace_detect/image/文件夹内。
图像的名字必须与源代码中所定义的具体文件名保持一致。例如,在项目目录下有如下预定义的图片文件:construction.png、intersection.png、left.png、right.png、parking.png等;此外还包括一些特殊情况下的图片文件如 stop.pn, tunnel.png.
测试
关闭前面打开的所有终端
新终端, 启动gazebo节点
$ roslaunch turtlebot3_gazebo turtlebot3_autorace_2020.launch
- 新终端,启动相机的内标定
$ roslaunch turtlebot3_autorace_camera intrinsic_camera_calibration.launch
- 新终端,启动相机的外标定
$ roslaunch turtlebot3_autorace_camera extrinsic_camera_calibration.launch
*新型终端下,在启始状态下将键盘控制节点进行操作。随后,在交通标志检测任务中,将TB3移动至其略微向前移动一点距离的位置,并使其能够清晰识别标志。
$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
TB3移动到位置后,关闭键盘控制节点
新终端开始运行交通检测程序后设置相关信号标志的参数任务。该任务包括以下这些参数:intersection、construction、parking、level_crossing和tunnel
$ roslaunch turtlebot3_autorace_detect detect_sign.launch mission:=intersection
- 新终端,打开可视化界面,订阅话题
/detect/image_traffic_sign/compressed
$ rqt_image_view
mission:=intersection: 交叉路口标志

mission:=intersection: 左转标志

mission:=intersection: 右转标志

mission:=construction: 施工路段标志

mission:=parking: 停车标志

mission:=level_crossing: 交通杆标志

mission:=tunnel:隧道标志

