电子工坊

ROS 视觉 3 | 基于HSV巡线行驶

注意!该教程对应ROS套件用户
opencv应用有很多demo,这里拿HSV颜色模型来实现巡线行驶。为什么选HSV,因为HSV色彩空间是当前最常用的,HSV可用到道路、红绿灯、车牌识别等场合

HSV简介

HSV色彩空间将颜色信息存储在 RGB 色点的圆柱表示中。它试图描绘人眼所感知的颜色。下面介绍HSV各个分量的取值范围:

巡线检测与行驶

这里直接开始巡线与检测目标的测试

  1. 在主控端启动灵遨基础驱动
    roslaunch lingao_bringup robot.launch
    
  2. 在主控端启动寻线节点
    roslaunch lingao_follower lingao_line_follow.launch
    
  3. 在远程端打开image_view图像查看
    rosrun rqt_image_view rqt_image_view
    

    选择图片节点/lingao_line_follow_node/hsv_detection

  4. 在远程端打开rqt_reconfigure动态调参

    rosrun rqt_reconfigure rqt_reconfigure
    


    这里可看到Line Detect表示检测到目标

接下来点击robot_run机器人开始跟随线行驶,可设置跟随速度speed

HSV调参

这里介绍使用Opencv的HSV节点调整参数

  1. 启动上面巡线检测节点
  2. 启动Opencv的hsv节点

    roslaunch lingao_opencv lingao_hsv_color_filter.launch 
    
  3. 在本地端启动图像查看
    rosrun rqt_image_view rqt_image_view
    

    选择图片节点/hsv_color_filter/image

  4. 使用reconfigure调参

    rosrun rqt_reconfigure rqt_reconfigure
    

比如下面调整三种颜色

这里有个HSV的Opencv分量表,是通过实验计算的模糊范围,可作为参考,实际h值要乘以2