Turtlebot3自动驾驶入门教程-交通杆识别
说明
- 介绍如何识别水平的交通杆
操作步骤
水平交通杆在水平面上找到3个红色矩形,并计算水平是打开还是关闭,以及机器人离交通杆有多远
将机器人放在车道上放置再关闭的水平交通杆面前
[Remote PC] 新终端,启动roscore
$ roscore
- [TurtleBot SBC] 新终端,启动摄像头
$ roslaunch turtlebot3_autorace_camera turtlebot3_autorace_camera_pi.launch
- [TurtleBot SBC] 新终端,启动action模式下的内标定程序
$ export AUTO_IN_CALIB=action
$ roslaunch turtlebot3_autorace_camera turtlebot3_autorace_intrinsic_camera_calibration.launch
- [Remote PC] 新终端,启动action模式下的外标定程序
$ export AUTO_EX_CALIB=action
$ roslaunch turtlebot3_autorace_camera turtlebot3_autorace_extrinsic_camera_calibration.launch
- 主要调整feature detector / color filter 来优化对象识别
- [Remote PC]新终端,启动calibration模式的交通杆识别程序
$ export AUTO_DT_CALIB=calibration
$ roslaunch turtlebot3_autorace_detect turtlebot3_autorace_detect_level.launch
- [Remote PC] 新终端,启动rqt
$ rqt
左上角菜单栏上选择
plugins
->visualization
->Image view
分别打开多个图像窗口选择不同topic
打开新窗口,选择topic:
/detect/image_level_color_filtered
打开新窗口,选择topic:
/detect/image_level
如果一切正常,三个屏幕将显示红色矩形的过滤图像,另一个将绘制连接矩形的线条
在校准模式下,屏幕将显示白色,而另一个屏幕可能显示明显的结果
从这里,您应该调整滤镜参数以显示正确的线条和方向
[Remote PC] 新终端,启动参数设置程序
$ rosrun rqt_reconfigure rqt_reconfigure
调整
/detect_level
中的参数值更改滤色器的值将显示每种颜色屏幕上过滤视图的更改
之后,将值覆盖到PC上
turtlebot3_autorace_detect/param/level/
文件夹中的level.yaml
文件将在下次启动使用新参数值
效果图:
注意:以上效果图仅供参考,请根据实际环境来设置参数
交通杆识别测试
[Remote PC] 覆盖校准文件后,关闭
rqt_rconfigure
和turtlebot3_autorace_detect_level
[Remote PC] 新终端,启动action模式的交通杆识别程序
$ export AUTO_DT_CALIB=action
$ roslaunch turtlebot3_autorace_detect turtlebot3_autorace_detect_level.launch
- [Remote PC] 新终端,启动rqt_image_view,订阅对应话题
$ rqt_image_view
- [Remote PC] 新终端,启动键盘控制
$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
- 查看结果是否正确
注意:
- 正常识别到交通杆时,rqt界面会显示一条连接三个点的蓝线
- 进行该项测试时,机器人应该放在离交通杆40-50厘米的前方车道上且沿着车道线往交通杆方向前进
- 该项测试的目标是
机器人在移动时能够持续且正常地检测到交通杆
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号