网站首页 > 技术文章 正文
针对移动机器人激光导航定位取卸货过程,发生的货物位置偏差大而导致的取卸货不成功的情况,本文给出了一种解决方法,即视觉辅助运用模板匹配,提取感兴趣区域,边缘检测提取轮廓找中心点来检测货物托盘所在的位置,再通过数据通信转换,将视觉检测结果传输给移动机器人,从而可保证其能够连续稳定地进行取卸货。
目前AGV导航定位使用中较为普遍的技术是激光定位技术。激光传感器被固定在AGV顶部,扫描与其在一个固定平面上的反光板与移动机器人的距离,并依据反馈的距离数据构建成导航地图。在导航过程中,AGV规划的前往地图中上位机下发的已知的目标地点执行任务,同时AGV实时反馈位置信息和任务执行情况,如图1。
过程中由于货物的存放可能存在人为改变,或是AGV某一次存放位置偏差较大等,这会造成下一次AGV装配过程的失败,执行效率降低的同时存在一定不安全性,因此本文提出在实际应用中利用激光导航定位的同时,结合视觉传感器获取信息丰富的特点,对视觉信息进行基于灰度值的模版匹配算法与轮廓边缘检测算法找出待取货物下托盘的中心位置,来保证AGV能够进行正常的任务操作。
一、系统结构
系统主要包含三个模块:1.AGV系统调度;2.视觉辅助;3.数据通信。AGV系统硬件结构,如图2。
激光定位选择比较成熟的基于反光板的定位算法,物料管理系统下发任务,AGV管理监控计算机将任务具体下发分配给AGV,车到相应站台执行任务。视觉辅助运用模板匹配,提取感兴趣区域,边缘检测提取轮廓找中心点来检测货物托盘所在的位置,数据通信部分则主要进行通信转换,将视觉检测结果传输给AGV,AGV依据得到数据,对车位置进行相应调整,同时包含一些对HMI与相机实时通信交互。
1.激光雷达
测激光雷达采用倍加福与科尔摩根共同开发的LS2000,是脉冲测距技术的二维激光扫描仪,具有很高的重复精度和较短的响应时间,其扫描角度360°,测量距离可达30米,10~50Hz扫描频率,激光传感器安置在车体顶部,激光导航基于使用反光板的自由制导。使用反光板更新位置,根据跟踪车辆运动的里程表(编码器数据),车辆位置会不断更新。使用反射器的量值更新位置。导航始终处于活动状态。激光扫描的2D平面数据信息来进行激光导航定位与地图构建。
2.单目相机
用易福门O3D303的3D摄相机,能够提供352×264的RGB图像及深度图像,每次测量输出 23000 个距离和灰度值,可进行距离、液位或体积的视觉评估,我们这里主要用于距离视觉评估,孔径角为60×45,有效深度范围0.3~8.0m,通过以太网接口进行通信。其在车体上安装,如图3。
3.通信系统
AGV与相机的通信用贝加莱的触摸屏进行数据转换,HMI与车之间用CAN通信,触摸屏和相机之间用UDP通信,图4通信流程图给出了彼此之间具体的通信步骤和遇到问题的一些处理方式,数据传输采用实时通讯,以保证相机的正常工作和相机与屏之间通信的正常,从而保证整个系统成功运行。
4.OpenCV
OpenCV 是一个开源的代码部分用C/C++编写的计算机视觉库,能够运行在 Windows、Mac、Linux等操作系统上,其对 Python、Ruby、Java 等语言均具有良好兼容性,具有相应接口,OpenCV用一个简单的计算机视觉框架帮助程序开发人员高效地开发出相关的程序。
二、图像处理
1.模板匹配
模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配部分的技术,这种方法原理简单,具有较高匹配精度,遍历图像中的每一个位置,比较模板与各位置相似程度,当匹配度量值足够高时,就认为在搜索图中找到了目标。模板匹配的实现函数:matchTemplate(srcImage ,templateImage , result , MatchMethod );其实现流程图与模板和搜索结果如图5、图6、图7,MatchMethod采用标准相关性系数匹配,其采用相关系数(标准化的协方差)作为相似性度量。
2.边缘检测与定位中心点
基于模板匹配出的感兴趣区域,将其从搜索结果图中单独提取出来进行边缘检测,边缘检测系统由加载感兴趣区域、模糊化降噪、Canny算子边缘检测、寻找轮廓、绘制轮廓、定位轮廓中心点组成。对于寻找到的所有轮廓,通过设定阈值移除过大或过小轮廓,最终得到矩形轮廓,进而对矩形区域寻找中心点,提取绘制的轮廓,如图8。
三、实验结果与分析
在已有激光导航系统中加入视觉定位数据,并在室内环境进行测试,实验目的是测试在货物存放已有误差的条件下,视觉定位数据信息发送给激光导航的AGV,AGV依据它进行位置调整后进行取卸货。首先带有任务的AGV到达指定位置等待视觉系统拍照处理,对处理后的灰度图进行模板匹配、将匹配出的模板部分提取出来进行边缘检测轮廓提取,最后根据检测的矩形轮廓找寻到要定位的中心点,并经过坐标转换求得车相对中心点的偏移,最终得到的检测结果如图9,
实验结果如图10。
可见,视觉系统可以较为精准的得出偏移信息,实现了AGV更为有效精准的任务执行流程。
四、总结与展望
激光定位能够实现较高精度水平的定位,但在上位机已经下达所需要取卸货位置后,AGV会严格按照任务命令执行,到达位置是在误差范围内固定的,存在装载失败、取不到货物的情况,AGV 输送系统的主要特点把物流优化到最佳状况做到效率最优化,故加入视觉辅助信息,极大增强货物存卸位置的灵活性,极大提高了工作效率,减少了现场调试人员的任务工作量,视觉信息的补充使得最终移动机器人可以快速准确地完成工作,为任务快速高效完成提供助力。
- 上一篇: 自动点赞工具软件的技术实现(艾思软件)
- 下一篇: 「技术分享」截图录屏-截长图的实现原理
猜你喜欢
- 2024-09-27 Linux 理解K8S Deployment配置的详细解释输出
- 2024-09-27 XSLT 元素 x元素是啥
- 2024-09-27 「airTest」 airTest入门与原理 airtest assert
- 2024-09-27 用人脸识别抓取王思聪吃热狗——真香
- 2024-09-27 必学组合函数INDEX和MATCH,真的比VLOOKUP函数好用?分情况,未必
- 2024-09-27 python模拟哔哩哔哩滑块登入验证的实现
- 2024-09-27 opencv多目标匹配 opencv多目标识别
- 2024-09-27 Python OpenCV 的知识体系梳理 opencv-python-tutorial
- 2024-09-27 「技术分享」截图录屏-截长图的实现原理
- 2024-09-27 自动点赞工具软件的技术实现(艾思软件)
你 发表评论:
欢迎- 最近发表
-
- 在 Spring Boot 项目中使用 activiti
- 开箱即用-activiti流程引擎(active 流程引擎)
- 在springBoot项目中整合使用activiti
- activiti中的网关是干什么的?(activiti包含网关)
- SpringBoot集成工作流Activiti(完整源码和配套文档)
- Activiti工作流介绍及使用(activiti工作流会签)
- SpringBoot集成工作流Activiti(实际项目演示)
- activiti工作流引擎(activiti工作流引擎怎么用)
- 工作流Activiti初体验及在数据库中生成的表
- Activiti工作流浅析(activiti6.0工作流引擎深度解析)
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)