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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/1199.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【超级简单】vscode进入服务器的docker容器

前提 1、已经运行docker容器 2、已经用vscode链接服务器 在vscode中安装的插件 Dev Containers docker 在容器中安装的依赖 yum install openssh-server yum install openssh-clientsvscode进入服务器的docker容器 找到自己的容器,右键点击,找到…

c#多线程 使用lock锁

使用 lock 关键字可以确保在同一时刻只有一个线程可以访问被锁定的代码块,从而避免线程资源竞争。以下是修改后的示例代码: using System; using System.Threading;class Program {static int sharedNumber 0;static int iterations 1000000;static o…

从零开始学习写Shell脚本【第二期,语法说明-变量】

从零开始学习写Shell脚本【第一期,语法说明-变量】 Shell脚本的语法包括变量、控制结构、函数等: 变量的定义:使用符号进行赋值,不需要指定类型。变量的引用:使用$符号加上变量名。例子 # 变量定义 name"John&…

安卓手机APP开发__媒体开发部分__检索元数据

安卓手机APP开发__媒体开发部分__检索元数据 目录 在播放期间 没有播放时 动作照片 在播放期间 媒体的元数据在播放期间能以多种方式来检索。最正常不过的方法 是监听Player.Listener这个监听器的方法onMediaMetadataChanged的事件, 这将提供一个可以使用的Med…

苍穹外卖day1--开发环境搭建

整体结构 前端:管理端(Web) 用户端(小程序) 后端:后端服务(Java) 前端工程基于ngnix运行 启动nginx:双击nginx.exe即可启动nginx服务,访问端口号为80 后端…

Xinstall:实现注册后自动绑定,提升用户体验

在移动互联网时代,App的注册与绑定流程对于用户体验至关重要。繁琐的注册步骤和手动绑定操作往往会让用户望而却步,导致用户流失。为了解决这一问题,Xinstall品牌推出了注册后自动绑定功能,极大提升了用户体验。 Xinstall的自动…

C#语言进阶(一)—委托 第一篇

总目录 C# 语法总目录 系列链接 C#语言进阶(一) 委托 第一篇 C#语言进阶(一) 委托 第二篇 委托 第一篇 委托 第一篇1. 基本用法2.委托作为方法参数3.多播委托 委托 第一篇 委托类似于CPP中的函数指针。它定义了一个方法类型,这个方法类型有返回类型和形参&…

用户的流失预测分析

项目背景 随着电信行业的持续发展,运营商们开始更加关注如何扩大他们的客户群体。研究表明,获取新客户所需的成本要远高于保留现有客户的成本。因此,在激烈的竞争中,保留现有客户成为了一个巨大的挑战。在电信行业中,…

再拓信创版图-Smartbi 与东方国信数据库完成兼容适配认证

近日,思迈特商业智能与数据分析软件 [简称:Smartbi Insight] V11与北京东方国信科技股份有限公司 (以下简称东方国信)CirroData-OLAP分布式数据库V2.14.1完成兼容性测试。经双方严格测试,两款产品能够达到通用兼容性要…

TBWeb开发版V3.2.6免授权无后门Chatgpt系统源码下载及详细安装教程

TBWeb系统是基于 NineAI 二开的可商业化 TB Web 应用(免授权,无后门,非盗版,已整合前后端,支持快速部署)。相比稳定版,开发版进度更快一些。前端改进:对话页UI重构,参考C…

数据可视化(六):Pandas爬取NBA球队排名、爬取历年中国人口数据、爬取中国大学排名、爬取sina股票数据、绘制精美函数图像

Tips:"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量加持💪,快来和我一起分享这份快乐吧😊! 喜欢我的博客的话,记得…

面试(05)————Redis篇

目录 一、项目中哪些地方使用了redis 问题一:发生了缓存穿透该怎么解决? 方案一:缓存空数据 方案二:布隆过滤器 模拟面试 问题二: 发生了缓存击穿该怎么解决? 方案一:互斥锁 方案二&#xff…

Python数据可视化:频率统计条形图countplot()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 Python数据可视化: 频率统计条形图 countplot() [太阳]选择题 请问关于以下代码表述正确的选项是? import seaborn as sns import matplotlib.pyplot as plt data { …

断言(Assertion)在IT技术中的确切含义— 基于四类典型场景的分析

当“断言”(Assertion)一词成为IT术语时,语义的混沌性和二义性也随之而生。那么,何为断言?断言何为?实际上,只需分析四种典型场景,确切答案和准确描述就将自然显现。 在SAML&#xf…

上海计算机学会2020年7月月赛C++丙组T2感应门

题目描述 感应门会在有人经过的时候自动打开,冷却 d 秒后自动关闭。如果有人在感应门打开的状态下通过,那么冷却时间会重置,重新冷却 d 秒后再关闭。 在一段时间内,有 n 个人陆续通过了感应门,他们通过感应门的时间点…

Scikit-Learn

机器学习中的重要角色 Scikit-Leran(官网:https://scikit-learn.org/stable/),它是一个基于 Python 语言的机器学习算法库。Scikit-Learn 主要用 Python 语言开发,建立在 NumPy、Scipy 与 Matplotlib 之上,…

【python】使用python和selenium实现某平台自动化上传作品的全步骤

第一,我们需要下载python并安装 下载地址:https://www.python.org/downloads/release/python-3123/ 3.x版本的python自带pip工具,因此不需要额外下载。 ModuleNotFoundError: No module named seleniumpip用于下载python适用的各类模块&…

Proxy 代理

意图 为其它对象提供一种代理以控制这个对象的访问。 结构 Proxy保存一个引用使得代理可以访问实体;提供一个与Subject的接口相同的接口,使代理可以用来替代实体;控制实体的存取,并可能负责创建和删除它;其他功能依赖…

关于游戏IP的小讨论

大家好,我是阿赵。   我们平常玩的游戏,很多都是有知识产权(Intellectual Property,简称IP)的。比如游戏内容是某著名动漫、电视剧或者小说之类。阿赵我最近一年多以来,正在做一个日本著名动画IP的游戏。   这个日本动漫,在我…

用户体验至上:独立站脱颖而出的关键要素解析

在数字化时代,独立站成为了许多品牌和企业展示自身形象、推广产品、建立客户联系的重要平台。然而,要想在众多的独立站中脱颖而出,吸引并留住用户,良好的用户体验至关重要。本文Nox聚星将和大家探讨如何做好独立站的用户体验&…