TurtleBot3自动驾驶入门教程-交通灯识别
说明
- 介绍如何识别交通灯
操作步骤
- [Remote PC] 新终端启动roscore
$ roscore
- [TurtleBot SBC] 新终端,启动摄像头
$ roslaunch turtlebot3_autorace_camera turtlebot3_autorace_camera_pi.launch
- [TurtleBot SBC] 新终端,启动action模式下的内标定程序
$ export AUTO_IN_CALIB=action
$ roslaunch turtlebot3_autorace_camera turtlebot3_autorace_intrinsic_camera_calibration.launch
- [Remote PC] 新终端,启动action模式下的外标定程序
$ export AUTO_EX_CALIB=action
$ roslaunch turtlebot3_autorace_camera turtlebot3_autorace_extrinsic_camera_calibration.launch
主要调整feature detector / color filter 来优化对象识别
[Remote PC] 新终端,启动calibration模式下的交通灯识别程序
$ export AUTO_DT_CALIB=calibration
$ roslaunch turtlebot3_autorace_detect turtlebot3_autorace_detect_traffic_light.launch
- [Remote PC] 新终端,启动rqt
$ rqt
左上角菜单栏上选择
plugins
->visualization
->Image view
分别打开多个图像窗口选择不同话题
打开窗口,选择topic:
/detect/image_red_light
打开窗口,选择topic:
/detect/image_yellow_light
打开窗口,选择topic:
/detect/image_green_light
打开窗口,选择topic:
/detect/image_traffic_light
如果一切正常,三个屏幕将显示红色/黄色/绿色光的过滤图像,另一个将显示带有短字符串的识别颜色
在校准模式下,三个屏幕将显示白色,另一个屏幕可能显示明显的结果
从这里,您应该调整滤镜参数以显示正确的线条和方向。
[Remote PC] 新终端,启动参数设置
$ rosrun rqt_reconfigure rqt_reconfigure
调整/detect_traffic_light值,更改滤色器的值将显示每种颜色屏幕上过滤视图的更改
之后,将值覆盖到
turtlebot3_autorace_detect/param/traffic_light/
中的traffic_light.yaml
文件下次启动即使用新参数。
但若参数不能正常载入,可以尝试直接修改PC上的
turtlebot3_autorace_detect/nodes/
里的detect_traffic_light
文件中的参数效果图:
注意:以上效果图仅供参考,应该根据实际环境来设置参数
交通灯识别测试
覆盖校准文件后,关闭
rqt_rconfigure
和turtlebot3_autorace_detect_traffic_light
[Remote PC] 新终端启动
$ export AUTO_DT_CALIB=action
$ roslaunch turtlebot3_autorace_detect turtlebot3_autorace_detect_traffic_light.launch
- [Remote PC] 新终端启动rqt_image_view
$ rqt_image_view
- 检测结果是否正确
演示视频
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号