< >
Home » Turtlebot3自动驾驶教程_视频版 » Turtlebot3自动驾驶入门教程-交通信号识别

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

  • 如果它成功识别它,屏幕将显示交通标志检测的结果

  • 效果图
    请输入图片描述

注意:以上效果图仅供参考,请根据实际环境来设置参数

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: turtlebot3自动驾驶入门教程