zoukankan      html  css  js  c++  java
  • ROS 自动驾驶-车道检测

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

    13.关闭rqt_rconfigureturtlebot3_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将开始运行。

     

  • 相关阅读:
    Content-Type 之 application/json 与 text/javascript
    利用 filter 机制 给 静态资源 url 加上时间戳,来防止js和css文件的缓存,利于开发调试
    Tomcat 启动报错:No default web.xml
    $.parseJson 在 firefox 下返回 null 的问题
    利用 spring bean 的属性 init-method 解决因为数据库连接没有初始化而导致首次点击页面超慢的问题
    spring项目的 context root 修改之后,导致 WebApplicationContext 初始化两次的解决方法
    proxool 连接池警告分析:appears to have started a thread named [HouseKeeper] but has failed to stop it
    Log4j 输出的日志中时间比系统时间少了8小时的解决方法,log4j日志文件重复输出
    itext 实现pdf打印数字上标和下标
    log4j 实现只输入我们指定包的日志
  • 原文地址:https://www.cnblogs.com/kay2018/p/12633203.html
Copyright © 2011-2022 走看看