Turtlebot3自动驾驶入门教程-交通信号识别
说明
- 介绍如何识别交通信号标志
制作交通标志
交通标志检测需要一些交通标志的图片。
节点使用SIFT算法查找交通标志
因此如果您想使用自定义交通标志(未在autorace_track中引入)
请注意交通标志中的更多边缘可提供更好的SIFT识别结果
方法一
启动摄像头后,通过rqt_image_view节点拍摄现有的交通标志图,并通过linux中的任何照片编辑器编辑它们的大小和形状
在远程PC上启动rqt_image_view,选择话题/camera/image_compensated
通过alt+print screen拍摄照片,使用首选照片编辑器编辑拍摄的照片
之后,将图片放置到PC里的
/turtlebot3_autorace/turtlebot3_autorace_detect/file/detect_sign/
文件夹并根据所需修改对应的文件名但是,如果要更改默认文件名,则应更改
detect_sign.py
中原本写入的文件名方法二
下载以下三张交通信号标志图后,将图片放置到PC里的
/turtlebot3_autorace/turtlebot3_autorace_detect/file/detect_sign/
文件夹并根据所需修改对应的文件名默认的文件名为:
parking.png
,stop.png
,tunnel.png
,其在官方例程中分别应用于泊车、通过交通杆和隧道但是,如果要更改默认文件名,则应更改
detect_sign.py
中原本写入的文件名再将交通标志图打印出来,大小约为半张A4纸
示例图:
交通信号识别测试
把机器人放在车道上, 同时将交通标志应放置在机器人可以轻松看到的位置
确保尚未启动turtlebot3_bringup包的turtlebot3_robot节点
[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] 新终端,启动交通信号识别程序
$ roslaunch turtlebot3_autorace_detect turtlebot3_autorace_detect_sign.launch
- [Remote PC] 新终端,启动rqt_image_view
$ rqt_image_view
选择topic:
/detect/image_traffic_sign/compressed
如果它成功识别它,屏幕将显示交通标志检测的结果
效果图
注意:以上效果图仅供参考,请根据实际环境来设置参数
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号