Home » Turtlebot3自动驾驶教程 » Turtlebot3自动驾驶入门教程-交通杆识别

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_rconfigureturtlebot3_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自动驾驶入门教程