4.2冰达机器人:视觉实例-机器人视觉循线、视觉实例-调整循线颜色

4.2.10a视觉实例-机器人视觉循线

本节内容演示一个机器人视觉的视觉循线实例

准备工作:布置一块区域作为循线场所,如下图所示。用蓝色胶带在地面贴一条路线(机器人极限转弯半径0.5m,不要贴得过于曲折),将机器人摄像头调整为倾向地面30度左右,机器人放置到路线上。

机器人端启动摄像头roslaunch robot_vision robot_camera.launch

机器人端启动视觉循线roslaunch robot_vision line_follow.launch

PC用两个终端打开两个rqt_image_view工具,分别订阅/image_raw/compressed和/result_image/compressed

左侧图像是循线的结果,红色点是机器人定位到线的中心位置,右侧为正常摄像头图像。

在右侧窗口改为订阅/mask_image/compressed就可以显示机器人找到的线的位置

机器人端启动底盘roslaunch base_control base_control.launch

机器人就会自动开始沿着线走到线的末端。

4.2.10b视觉实例-调整循线颜色

本节内容介绍循线颜色的调整,在上一节中演示了一个机器人视觉的视觉循线实例,在例程中默认使用的是蓝色线条。接下来介绍如果想用其他颜色的线要如何调整。

首先在蓝色线旁边布置一条其他颜色的线,这里以红色为例

机器人端启动摄像头roslaunch robot_vision robot_camera.launch

机器人端启动循线节点并传入test_mode参数:

roslaunch robot_vision line_follow.launch test_mode:=true

PC端用两个终端打开两个rqt_image_view工具,分别订阅/mask_image/compressed和/result_image/compressed

可以看到左侧图像有一个红色准心,这是整个图像的中心。而右侧图像就是机器人找到的蓝色线。

在启动循线时我们传入了test_mode参数,这个参数会让不断输出左侧图像中红色准心处的HSV色彩空间值。例如现在显示的就是地面的HSV值。

将机器人的位置移动一下,让准心对准红色路线,此时信息已经变成红色线路的HSV值。

PC启动动态调参工具rosrun rqt_reconfigure rqt_reconfigure

HSV参数的上限必须严格限制在检测到的参数范围,因为我这里使用的红线上面还带有白色log,所以下限适当放宽提高获取图像的效果。可以看到现在/mask_image/compressed话题输出的图像就只显示处红色线条的位置了。

因为动态调参的结果是一次性的,只在这一次应用中有效,如果想要持续生效需要直接修改机器人端的launch文件。

roscd robot_vision/launch

vim line_follow.launch

将line_follow.launch文件中的HSV值直接改成红色线路的值

机器人端启动摄像头roslaunch robot_vision robot_camera.launch

机器人端启动视觉循线roslaunch robot_vision line_follow.launch

PC用两个终端打开两个rqt_image_view工具,分别订阅/mask_image/compressed和/result_image/compresse

这里重新循线后就只显示红色线路了。我这里因为光线变化,显示效果受到影响,大家自己操作的时候遇到了可以重新修改参数调节。

相关推荐

  1. 视觉迹小车(旭日x3派、摄像头、迹)

    2024-04-23 22:50:03       44 阅读
  2. 视觉迹小车(旭日x3派、opencv)

    2024-04-23 22:50:03       39 阅读
  3. 机器视觉企业实战

    2024-04-23 22:50:03       47 阅读
  4. 机器视觉机器视觉实验一——图像边缘检测

    2024-04-23 22:50:03       54 阅读
  5. 机器视觉系统-什么是颜色/波长

    2024-04-23 22:50:03       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-23 22:50:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-23 22:50:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-23 22:50:03       87 阅读
  4. Python语言-面向对象

    2024-04-23 22:50:03       96 阅读

热门阅读

  1. 4月23日加油站+分发糖果

    2024-04-23 22:50:03       36 阅读
  2. 冒泡排序算法及其Python实现

    2024-04-23 22:50:03       34 阅读
  3. 程序员如何搞副业?

    2024-04-23 22:50:03       40 阅读
  4. 书生浦语训练营第2期-第5节笔记

    2024-04-23 22:50:03       37 阅读
  5. 类的声明与成员函数的实现--Car类

    2024-04-23 22:50:03       36 阅读
  6. C++ 核心编程 - 函数提高

    2024-04-23 22:50:03       41 阅读
  7. Gitea:轻量级、开源的Git仓库管理平台

    2024-04-23 22:50:03       35 阅读
  8. 按键驱动和中断方式的按键驱动

    2024-04-23 22:50:03       34 阅读
  9. C# 四种定时器的用法

    2024-04-23 22:50:03       32 阅读
  10. jsoncpp解析文件

    2024-04-23 22:50:03       37 阅读