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

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

相关推荐
西猫雷婶15 分钟前
pytorch基本运算-导数和f-string
人工智能·pytorch·python
Johny_Zhao16 分钟前
华为MAAS、阿里云PAI、亚马逊AWS SageMaker、微软Azure ML各大模型深度分析对比
linux·人工智能·ai·信息安全·云计算·系统运维
顽强卖力17 分钟前
第二十八课:深度学习及pytorch简介
人工智能·pytorch·深度学习
述雾学java18 分钟前
深入理解 transforms.Normalize():PyTorch 图像预处理中的关键一步
人工智能·pytorch·python
武子康18 分钟前
大数据-276 Spark MLib - 基础介绍 机器学习算法 Bagging和Boosting区别 GBDT梯度提升树
大数据·人工智能·算法·机器学习·语言模型·spark-ml·boosting
要努力啊啊啊21 分钟前
使用 Python + SQLAlchemy 创建知识库数据库(SQLite)—— 构建本地知识库系统的基础《一》
数据库·人工智能·python·深度学习·自然语言处理·sqlite
武子康21 分钟前
大数据-277 Spark MLib - 基础介绍 机器学习算法 Gradient Boosting GBDT算法原理 高效实现
大数据·人工智能·算法·机器学习·ai·spark-ml·boosting
中杯可乐多加冰1 小时前
【解决方案-RAGFlow】RAGFlow显示Task is queued、 Microsoft Visual C++ 14.0 or greater is required.
人工智能·大模型·llm·rag·ragflow·deepseek
一切皆有可能!!6 小时前
实践篇:利用ragas在自己RAG上实现LLM评估②
人工智能·语言模型