本片文章主要说明介绍了如何使用车道检测功能以及如何通过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是指颜色,如
yellow
,white
,具有自己的色相值区域(请参阅hsv贴图)。 - 然后校准饱和度saturation_l、saturation_h值。每种颜色都有各自的饱和度场。
- 最后,校准亮度lightness_l、lightness_h值,由于在源代码中具有自动调整功能,因此将亮度低值校准是没有意义的。只需将亮度高值lightness_h设置为255。清晰过滤的线图像将使您获得清晰的车道结果。
13.关闭rqt_rconfigure和turtlebot3_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将开始运行。