Turtlebot3自动驾驶入门教程-交通杆识别
纠错,疑问,交流: 请进入讨论区或 请点击进入页面,扫码加入微信群或Q群进行交流
获取最新文章: 扫一扫加入“创客智造”公众号
欢迎加入我们的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厘米的前方车道上且沿着车道线往交通杆方向前进
- 该项测试的目标是
机器人在移动时能够持续且正常地检测到交通杆
纠错,疑问,交流: 请进入讨论区或 请点击进入页面,扫码加入微信群或Q群进行交流
获取最新文章: 扫一扫加入“创客智造”公众号
欢迎加入我们的turtlebot3交流群,微信扫描右侧二维码立即进群交流


















