Turtlebot3自动驾驶2020入门教程-车道识别
Turtlebot3自动驾驶2020入门教程-车道识别
说明:
- 本教程主要介绍如何进行车道识别的校准和测试
校准步骤
- [Remote PC] 新终端,启动roscore
$ roscore
- [TurtleBot SBC] 新终端,启动相机
$ roslaunch turtlebot3_autorace_camera turtlebot3_autorace_camera_pi.launch
- [Remote PC] 新终端,启动内标定程序
$ roslaunch turtlebot3_autorace_camera intrinsic_camera_calibration.launch
- [Remote PC] 新终端,启动外标定程序
$ roslaunch turtlebot3_autorace_camera extrinsic_camera_calibration.launch mode:=action
- [Remote PC] 新终端,启动车道识别标定程序
$ roslaunch turtlebot3_autorace_detect detect_lane.launch mode:=calibration
[Remote PC] 新终端,打开rqt
$ rqt
在rqt窗口左上角菜单栏选择
plugins
->visualization
->Image view
新建图像窗口分别订阅订阅三个话题:
/detect/image_yellow_lane_marker/compressed
、/detect/image_lane/compressed
和/detect/image_white_lane_marker/compressed
[Remote PC] 打开参数配置工具
$ rosrun rqt_reconfigure rqt_reconfigure
如果一切正常,左右屏幕将显示黄线和白线的过滤图像,中心屏幕将显示机器人应该去的路径
调整滤镜参数以显示正确的线条和方向
由于实际物理环境包括房间内的光亮等,车道的彩色滤波的校准过程有时会非常困难
首先校准色调低 - 高值。 色调值表示颜色,每种颜色,如黄色,白色,都有自己的色调值区域
然后校准饱和度低 - 高值。 每种颜色也有自己的饱和度
最后,校准亮度低 - 高值。 将亮度高值设置为255,清晰过滤的线条图像将为您提供清晰的通道结果
注意事项:
由于车道识别极其容易受到环境光线影响,校准时应将机器人放置在不同位置测试车道检测效果,比如手持机器人绕行车道几圈来测试识别效果
参数调整好,启动车道识别程序来检验下能否正常识别车道线
[TurtleBot SBC] 新终端,启动TB3
$ roslaunch turtlebot3_bringup turtlebot3_robot.launch
- [Remote PC] 新终端,车道识别控制程序
$ roslaunch turtlebot3_autorace_driving turtlebot3_autorace_control_lane.launch
可以将机器人放在不同的位置来检查识别效果
[Remote PC] 最终校准好的参数值保存在PC端的
turtlebot3_autorace_detect/param/lane/lane.yaml
的参数文件里
$ rosed turtlebot3_autorace_detect lane.yaml
## 以下内容为参考内容,请根据实际环境来设置参数
---
detect:
lane:
white:
hue_l: 74
hue_h: 102
saturation_l: 0
saturation_h: 162
lightness_l: 102
lightness_h: 255
yellow:
hue_l: 0
hue_h: 75
saturation_l: 70
saturation_h: 255
lightness_l: 95
lightness_h: 255
测试步骤
关闭前面标定打开的程序
[Remote PC] 新终端,启动roscore
$ roscore
- [TurtleBot SBC] 新终端,启动相机
$ roslaunch turtlebot3_autorace_camera turtlebot3_autorace_camera_pi.launch
- [TurtleBot SBC] 新终端,启动TB3
$ roslaunch turtlebot3_bringup turtlebot3_robot.launch
- [Remote PC] 新终端,启动内标定程序
$ roslaunch turtlebot3_autorace_camera intrinsic_camera_calibration.launch mode:=action
- [Remote PC] 新终端,启动车道识别程序
$ roslaunch turtlebot3_autorace_detect detect_lane.launch mode:=action
- [Remote PC] 新终端,车道识别控制程序
$ roslaunch turtlebot3_autorace_driving turtlebot3_autorace_control_lane.launch
演示视频
- 校准视频
- 测试视频
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号