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从下拉列表中选择主题。屏幕将显示交通标志检测的结果。