TurtleBot3自动驾驶Noetic-4.交通标志识别

TurtleBot3 可以通过比较源图像和摄像头图像的算法检测各种迹象,并在行驶时执行编程任务。

按照以下说明测试交通标志检测。

注意:交通标志中的更多边缘会增加 SIFT 算法的识别结果。

打开一个新终端并启动 Autorace Gazebo 模拟。将使用roslaunch命令 roscore自动启动。

roslaunch turtlebot3_gazebo turtlebot3_autorace_2020.launch

打开一个新终端并启动远程操作节点。沿着车道行驶 TurtleBot3,并在摄像头清楚地看到交通标志的地方停车。

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

打开一个新终端并启动 rqt_image_view。

rqt_image_view

选择/camera/image_compensated主题以显示摄像机图像。

从图像中捕获每个交通标志rqt_image_view并裁剪不需要的部分。为获得最佳性能,建议使用赛道中使用的原始交通标志图像。

将图像保存在 turtlebot3_autorace_detect 包/turtlebot3_autorace_2020/turtlebot3_autorace_detect/image/中。

文件名应与源代码中使用的名称匹配。

construction.png, intersection.png, left.png, right.png, parking.png, stop.png,tunnel.png文件名默认使用。

打开一个新终端并启动内在校准节点。

roslaunch turtlebot3_autorace_camera intrinsic_camera_calibration.launch

打开一个新终端并启动外部校准节点。

roslaunch turtlebot3_autorace_camera extrinsic_camera_calibration.launch

打开一个新终端并启动交通标志检测节点。任务

参数 的特定任务必须在下面选择。

intersection, construction, parking, level_crossing,tunnel

roslaunch turtlebot3_autorace_detect detect_sign.launch mission:=SELECT_MISSION

注意:将SELECT_MISSION关键字替换为上述可用选项之一。

例如

交叉路口示例:执行以下指令:

roslaunch turtlebot3_autorace_detect detect_sign.launch mission:=intersection

打开一个新终端并启动 rqt 图像视图插件。

rqt_image_view

/detect/image_traffic_sign/compressed从下拉列表中选择主题。屏幕将显示交通标志检测的结果。

noetic_detect_intersection.png