收藏 分享(赏)

基于ROS和主动视觉感知的无人智能搬运车设计_黄画恒.pdf

上传人:哎呦****中 文档编号:2250282 上传时间:2023-05-04 格式:PDF 页数:4 大小:1.55MB
下载 相关 举报
基于ROS和主动视觉感知的无人智能搬运车设计_黄画恒.pdf_第1页
第1页 / 共4页
基于ROS和主动视觉感知的无人智能搬运车设计_黄画恒.pdf_第2页
第2页 / 共4页
基于ROS和主动视觉感知的无人智能搬运车设计_黄画恒.pdf_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、本栏目责任编辑:唐一东人工智能Computer Knowledge and Technology电脑知识与技术第19卷第1期(2023年1月)第19卷第1期(2023年1月)E-mail:http:/Tel:+86-551-65690963 65690964ISSN 1009-3044Computer Knowledge and Technology电脑知识与技术Vol.19,No.1,January2023基于ROS和主动视觉感知的无人智能搬运车设计黄画恒,李健,方士闻,徐一帆,冯晨曦,邓茹心,薛万利(天津理工大学,天津 300380)摘要:该文以机器人操作系统(ROS)作为整体框架展开设计

2、一辆AGV智能搬运车(Automated Guided Vehicle),首先通过单片机编程实现搬运车的运动控制及硬件数据的传输,其次在jetson nano运算平台上通过集成传统视觉算法、同步定位与建图算法(SLAM)及A*算法实现车辆对周围环境的感知和运输路线的路径规划,最后通过Visual Studio开发搬运车控制系统软件,在PC端上通过软件实现操纵员远程调度管理搬运车。该智能搬运车设计方案在以“智能物流”为主题的货物搬运挑战赛中完成了研究目标所设定的任务,证实了方案的可行性。关键词:ROS;AGV;SLAM;路径规划;智慧物流中图分类号:TP18文献标识码:A文章编号:1009-30

3、44(2023)01-0010-03开放科学(资源服务)标识码(OSID):1 研究现状20 世纪 50 年代,第一台 AGV 智能搬运车(Automated Guided Vehicle,装备有自动导航装置,能够沿规定的导航路径行驶的运输车)是由美国Barrett电子公司研发的1,它的原理是在仓库中规划布置路线实现货物运输。到了20世纪60年代,AGV智能搬运车技术主要在欧洲得以推广和发展,AGV也首次引入了电磁感应技术,但是仍无法解决AGV车行走范围和轨迹受限的问题,并且维护成本高2。随着技术的不断发展,AGV搬运车开始装备激光雷达,通过激光雷达进行定位3,实现了无轨道运输功能。技术的发展

4、使AGV智能搬运车的研发和应用得到进一步的提升。随着惯性技术的发展,AGV搬运车上开始安装惯导元件和编码器,通过硬件采集偏差信号,进行积分运算得到搬运车行驶的速度和角度信息,确定出搬运车的位置和方向4,使得AGV搬运车的定位更为准确。但长时间使用编码器会产生累计误差造成定位精度下降。为解决精度的问题,随着机器学习等新技术发展,通过视觉定位导航的方案也被提出使用5。由趋势可见,采用多传感器融合的方法是未来AGV搬运车发展的趋势,发挥各传感器的长处,实现更精确的定位6。随着多传感融合导航技术的快速发展及复杂化,诞生了机器人操作系统ROS,ROS的应用使搬运车开发更为便捷7。随着ROS版本更新,使得

5、搬运车导航系统的时效性得到增强8,较好地解决包括与下位机通信在内的各系统间结合的问题,极大简化平台下的复杂任务创建与稳定行为控制,在一定程度上保障AGV车在货物搬运过程中的平稳有序。2 研究目标本研究的最终目标是通过软硬件层次的紧密配合,完成一套可以通过上位机远程调度并可以自行感知交通信息的车辆运输系统,用于货物运输领域(如图1所示)。该研究的 AGV 智能搬运车系统的实现是以jeston nano为运算平台、STM32单片机为运动控制平收稿日期:2022-05-05基金项目:国家自然科学基金(61906135,62020106004,92048301)作者简介:黄画恒(1999),女,广西玉

6、林人,本科,主要研究方向为计算机视觉;李健(2001),男,甘肃宁夏人,本科,主要研究方向为集成电路;方士闻(1999),男,河南南阳人,本科,主要研究方向为人工智能;徐一帆(2002),男,河南新乡人,本科,主要研究方向为计算机视觉;冯晨曦(2004),男,河北衡水人,本科,主要研究方向为计算机视觉;邓茹心(2002),女,四川成都人,本科,主要研究方向为机械制作及其自动化;薛万利(1986),男,研究生导师,博士,主要研究方向为计算机视觉(手语识别与翻译、目标跟踪、图像拼接等)。图1 AGV智能搬运车10DOI:10.14004/ki.ckt.2023.0019人工智能本栏目责任编辑:唐一

7、东Computer Knowledge and Technology电脑知识与技术第19卷第1期(2023年1月)第19卷第1期(2023年1月)台,配备了线性激光雷达、视觉摄像头、imu惯导元件、编码器等传感器。该智能搬运车系统以ROS作为基础框架,分为三个层次:运动控制层、ROS 传输层、ROS决策层。在运动控制层中,通过底层单片机设计,实现无人智能搬运车的运动控制。在ROS传输层中,实现运算平台与硬件、PC端应用程序的数据传输,提供ROS决策层执行所需数据。在ROS决策层中整合主流视觉算法完成AGV的视觉感知。最终操纵员可以通过PC端的调度软件,发送目标位置至搬运车,AGV智能搬运车能自

8、主运行至目标位置。在车辆运行过程中实现交通信息识别、主动避障等环境感知功能。3 主要研究内容3.1 运动控制层运动控制层主要负责控制车辆的行为(例如前行、转向、驻车等),并通过串口发送车体信息至运算平台上的ROS传输层。搬运车采用前轮转向、后轮直流减速有刷电机差速控制的阿克曼运动方式,在运动控制层中采用STM32单片机完成底盘的运动控制。用A4950电机驱动模块驱动电机,采用脉冲宽度调制控制,通过改变占空比,进而得到不同的电机平均速度,从而达到调速的目。通过差速算法控制后轮转向电机和前轮舵机,实现车辆前行、转向、驻车等运动功能。Stm32作为驱动板,用USB-mini接口与运算平台进行串口通信

9、,接收其发出的控制指令,并从IMU和电机编码器上获取到的信息反馈给运算平台。3.2 ROS传输层ROS传输层主要功能为数据传输和处理,可分为四部分,分别是ROS系统和底层单片机控制的数据通信,激光雷达、摄像头等传感器与ROS系统的数据通信,远程调度软件与ROS系统的数据通信以及ROS系统内部的数据通信。ROS和单片机的通信主要通过串口通信实现,ROS集成的串口模块收集从底盘传输的左右轮实时速度值及imu模块测量的数据,用航迹推演法将左右轮速度转化为机器人的x轴方向速度和机器人的旋转速度,然后发布/odom主题,好让ROS的相应package收到这个消息,进行机器人位置的估计。传感器与ROS通信

10、部分,使用USB数据线与工控机相连,通过在ROS系统中建立 ydlidar 雷达串口软连接接收激光雷达上传的数据。远程调度软件与ROS系统的通信主要在局域网内,通过UDP/IP进行软件与ROS系统之间的数据传输,将目的地位置数据上传至ROS系统中,提供路径规划所需数据。视觉部分的通信主要为ROS内部的通信。当摄像头识别红绿灯等信息后,传输对应的字符串,对应搬运车的前进或停止控制指令。ROS系统将各传感器传来的数据交给决策层,为执行决策层提供数据,在决策层中进行数据融合处理,转化为搬运车下一刻行驶的期望速度与转向角度,然后通过串口传给底层单片机,完成车辆的运动控制。3.3 ROS决策层ROS决策

11、层主要功能为建立并执行ROS功能包,决策层的执行依赖于传输层传输的数据。以下为决策层所实现各部分的功能。3.3.1 激光SLAM环境感知SLAM(Simultaneous Localization And Mapping),即时定位与地图构建,用于车辆在环境中的自身定位及记录环境中特征的位置。当搬运车需要实现导航时,可以参考一张全局性质的地图,然后根据地图来确定自身的位置、目的地位置,规划一条大致的路线。通过SLAM可以建出一张全局性质的地图。ROS中SLAM的实现方案较多,在该项目中的搬运车采用了gmapping算法进行建图。通过订阅传输层中用于雷达、底盘与里程计之间的坐标变换消息以及雷达消

12、息,执行gmapping算法功能包,进而在ROS传输层中发布地图数据栅格数据。图2 激光雷达扫描的点云地rviz 是 ROS 系统中三维可视化平台,能够实现ROS传输信息的图形化显示,如图2。在gmapping发布栅格数据后,操纵员可通过rviz订阅该数据,从而实现SLAM环境感知的实时可视化监测。3.3.2 导航任务导航任务基于SLAM建出的图,使车辆以最短或者最快路径到达目的地。它的实现涉及全局地图、自身定位、路径规划、运动控制、环境感知五点内容。导航任务整体框架如图3所示。全局地图是指通过SLAM建出的地图。自身定位就是推算搬运车在全局地图里的位置,SLAM中也包含定位算法实现。搬运车按

13、照规划的路线运动,通过11本栏目责任编辑:唐一东人工智能Computer Knowledge and Technology电脑知识与技术第19卷第1期(2023年1月)第19卷第1期(2023年1月)定位判断搬运车的实际运动轨迹是否符合预期。在导航任务中采用ROS系统的amcl功能包,实现导航过程中搬运车的定位。路径规划为自主导航的核心功能。方案采用ROS的导航功能包集navigation中提供的 move_base 功能包。在SLAM中建立好的地图中指定导航的目标位置goal和方向后,move_base包根据搬运车传输层的传感器信息,推算出的odometry信息,作出路径规划,输出前进速度和

14、转向速度至运动控制层,控制机器人到达指定的目标位置。并且在搬运车运动过程中,连续反馈车体的自身姿态与目标点状态信息。3.3.3 面向交通信息的计算机视觉感知在车辆运行过程中通过图像处理识别红绿灯、车道线的交通信息,并将识别信息发至传输层。在ROS框架中创建基于opencv开发的视觉感知功能包,当摄像头采集图像经过数据处理后,采用平台提供的api接口,检测出交通灯信息及车道线信息。在检测交通灯信息部分,首先需要通过二维码定位交通灯区域,划定交通灯ROI,色域转换后通过阈值筛选,识别高亮的区域,其次通过面积筛选和开闭运算去除干扰点,得到亮灯部分的轮廓。最后通过轮廓中心点的相对ROI的位置判断交通灯

15、的颜色,如图4所示。图4 识别红绿灯在检测车道线部分,首先通过对摄像机标定畸变矫正并进行透视变换得到车道线的鸟瞰图,通过sobel算子对图像边缘特征进行提取,对边缘特征的角点进行提取,最后对角点进行膨胀操作还原车道线大体形状从而实现对车道线的识别,如图5所示。视觉识别后的结果将通过ROS系统传送至传输层,转换为车辆行驶速度及偏向角度,通过串口通信发至底层单片机,完成车体遇红黄灯停止前行,绿灯前行,在车道线范围内行驶等感知反馈功能。3.4 远程调度层远程调度层主要为操作员提供便捷的方式远程监控车辆的运转状态,便于车辆的调度与管理。图5 识别车道线远程调度层建立在上位机的Windows系统,使用V

16、isual Studio作为开发工具,基于MFC库,开发应用程序界面。通过UDP/IP协议socket编程完成搬运车传输层与应用程序之间的数据通信、指令通信。操作员可从应用程序连接搬运车,获取搬运车的实时信息,并且通过应用程序发送目标位置goal指引车辆到达指定地点,实现远程与搬运车的交互功能,远程调度应用程序界面如图6所示。图6 远程调度应用程序界面4 结束语该文构建一辆基于ROS和主动视觉感知的智能搬运车,以ROS作为基础框架,采用多传感器融合的方法,整合主流视觉算法完成AGV的视觉感知,并通过上位机远程调度、底层单片机控制,实现无人智能搬运车的自主运行。该设计研发将应用于智慧物流等产业发展方向,使货物搬运行业向“现代化、智慧化、绿色化”的发展方向持续迈进。(下转第40页)全局代价地图里程计信息自适应蒙特卡洛定位传感器转换底盘控制器地图服务传感器数据输入全局规划恢复行为局部规划局部代价地图move_base_simple/goalgeometry_msgs/PoseStampedal目标位置/tftf/Messageintermal nav_msgs/Pathcmd_vel geo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 专业资料 > 其它

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2