ROS 自动驾驶-车道检测

本片文章主要说明介绍了如何使用车道检测功能以及如何通过rqt校准摄像机。

车道检测

车道检测软件包允许Turtlebot3在两个车道之间行驶,而不受外部影响,详细操作步骤如下:


1.将TurtleBot3放在黄色和白色车道之间。

注意:确保黄色通道位于机器人的左侧,白色通道位于机器人的右侧。

2.在Remote PC上新终端,启动roscore 

roscore

3.在SBC上新终端,开启相机

roslaunch turtlebot3_autorace_traffic_light_camera turtlebot3_autorace_camera_pi.launch

4.在Remote PC上新终端,运行相机固有的校准启动文件

export AUTO_IN_CALIB=action
export GAZEBO_MODE=false
roslaunch turtlebot3_autorace_traffic_light_camera turtlebot3_autorace_intrinsic_camera_calibration.launch

5.在Remote PC上新终端,运行外部相机校准启动文件

export AUTO_EX_CALIB=action
roslaunch turtlebot3_autorace_traffic_light_camera turtlebot3_autorace_extrinsic_camera_calibration.launch

6.在Remote PC上新终端,运行车道检测启动文件 

export AUTO_DT_CALIB=calibration
roslaunch turtlebot3_autorace_traffic_light_detect turtlebot3_autorace_detect_lane.launch

 7.Remote PC上新终端,执行rqt 

rqt

 8.单击plugins > visualization > Image view 将出现多个窗口

 9.选择在每个图像视图中的三个主题:

  • /detect/image_yellow_lane_marker/compressed
  • /detect/image_lane/compressed
  • /detect/image_white_lane_marker/compressed

 左(黄线)和右(白线)屏幕显示已过滤的图像

10.在Remote PC上新终端,执行rqt_reconfigure 

rosrun rqt_reconfigure rqt_reconfigure

11.单击detect lane,然后调整参数以进行线条颜色过滤。

 12.打开文件turtlebot3_autorace_detect/param/lane/lane.yaml文件将您需要修改后的值写入文件。这将使相机在下次启动时按照此处设置的方式设置其参数。
提示:由于物理环境(例如房间中的光线亮度等)的影响,有时有时很难进行线色过滤的校准过程。要快速制作所有内容,可以参考turtlebot3_autorace_detect/param/lane/lane.yaml里面的参数值,然后开始校准。
  • 首先校准色相hue_l、hue_h值。hue是指颜色,如yellowwhite,具有自己的色相值区域(请参阅hsv贴图)。
  • 然后校准饱和度saturation_l、saturation_h值。每种颜色都有各自的饱和度场。
  • 最后,校准亮度lightness_l、lightness_h值,由于在源代码中具有自动调整功能,因此将亮度低值校准是没有意义的。只需将亮度高值lightness_h设置为255。清晰过滤的线图像将使您获得清晰的车道结果。

13.关闭rqt_rconfigureturtlebot3_autorace_detect_lane

车道识别实际测试

14.Remote PC打开新终端并在上使用命令

export AUTO_DT_CALIB=action 
roslaunch turtlebot3_autorace_traffic_light_detect turtlebot3_autorace_detect_lane.launch

15.检查结果是否正确显示。

Remote PC打开新终端并在上使用命令

roslaunch turtlebot3_autorace_traffic_light_control turtlebot3_autorace_control_lane.launch

16.Remote PC打开新终端并在上使用命令

roslaunch turtlebot3_bringup turtlebot3_robot.launch

使用命令后,TurtleBot3将开始运行。

 

 

posted @ 2020-04-04 18:44  kay880  阅读(2071)  评论(0编辑  收藏  举报