摘要:针对移动机器人存在地图构建不精准、自动导航速度慢的问题,提出了一种基于开源ROS的移动机器人自动导航方案。该方案构建移动机器人模型,利用摄像头和雷达传感器采集关键环境信息,采用SLAM算法精准构建三维地图;通过Monte Carlo算法对粒子滤波概率进行计算实现定位服务,navigation功能包实现行进路径规划,实现移动机器人的自主导航即设定目的地。实验结果表明,所设计机器人能够自行计算并规划避障路线到达目标位置,具有一定的工程应用价值。
随着集成电路和通信技术的迅速发展,人民生活水平的逐渐提高,机器人越来越多地出现在人们的视野当中,无论是教育行业、医疗行业、先进制造行业或是其他社会各行各业[1,2,3],都对机器人有着前所未有的需求,机器人的智能化发展体现出多维升级的态势。人们对机器人功能需求日益复杂化,对代码复用性、模块化的发展提出迫切要求,机器人应用技术发展还有很大的拓展空间。2007年,Willow Garageh首次提出开源机器人操作系统(Robot Operating System,ROS)。ROS具有高度灵活性的软件架构,专门服务于机器人软件程序编写以及底层硬件驱动,包含了大量工具软件、库代码和约定协议,旨在降低跨机器人平台创建复杂机器人行为过程的难度,提高产品迭代升级效率。
ROS机器人引起学者的广泛关注,并涌现出众多研究成果。文献[4]提出了一种育婴机器人模型结构,为机器人在育婴服务方面提供方案;文献[5]提出一种利用调度软件控制消杀机器人实现定点导航功能,优化后疫情时代医院消杀工作,但以上方案存在地图构建不精确以及导航速度慢的问题。基于此,本文提出一种移动机器人自动导航方案,提高机器人运行效率。
1、系统架构设计
本文利用视觉模块、定位服务和路径规划技术,实现基于ROS的移动机器人自动导航设计,如图1所示。首先实现移动机器人的模型搭建,将机器人描述格式文件(Unified Robot Description Format,URDF)集成至gazebo模拟器,通过rviz实现移动机器人模型尺寸可视化;采用gmapping算法构建三维地图并在rviz工具中显示,navigation功能包中自适应蒙特卡洛算法(Adaptive Monte Carlo Localization,AMCL)和导航算法,实现移动机器人定位服务和导航功能。最后通过设置2D Nav Goal目标点,使机器人在自动行进中采集并构建地图,绘制地图保存至map_server文件。实验结果证明所设计机器人能精准完成自动导航功能,证实方案的可行性。
图1系统框架
2、移动机器人设计
2.1模型设计
为提高代码复用率,通过URDF和xacro创建机器人模型,实现底盘、驱动轮、支撑轮等基础外形,以及摄像头和雷达等必要设备。使用collision、inertial和material标签,分别提供碰撞检测的依据,用于力学相关的仿真计算以及设置颜色,然后编写封装惯性矩阵算法。最后集成至launch文件,通过直接加载xacro文件,运行launch文件能够在rviz中显示的移动机器人模型,如图2所示。
2.2地图构建
利用SLAM中gmapping算法构建地图,蒙特卡洛(adaptive Monte Carlo Localization,AMCL)算法实现地图服务,通过ACML算法可以实现机器人的概率定位,即从已有地图当中使用电子滤波器获取机器人在某一时刻所处的位置信息。编写相关节点launch文件,包含订阅和发布的话题、初始化全局定位的服务等,调用此服务获取地图数据、机器人、地图和里程计坐标系的参数以及坐标变换,根据机器人里程计数据和激光雷达数据绘制栅格地图。部分代码:
图2可视化模型 启动gazebo仿真环境,再启动地图绘制的launch文件。启动键盘控制节点,用于控制移动机器人运动建图,在rviz中可以显示gmapping发布的栅格地图数据,如图3所示。在具体的现实应用当中,需要将栅格地图存储于计算机磁盘中,地图的保存和读取采用map_saver和map_server两个节点,将磁盘中栅格地图做保存和读取操作。
图3自主定位和地图构建
2.3路径规划
ROS中move_base功能包提供了基于动作的路径规划实现。基于该功能包编写launch文件,
然后,编写机器人的尺寸、距离障碍物的安全距离、传感器信息,全局和局部代价地图参数配置以及局部规划器参数配置,设定机器人的最大和最小速度限制值和加速度的阈值。最后,编写集成地图服务、AMCL、move_base与rviz文件实现导航功能。
3、系统测试
为验证所提系统方案,本文分别进行仿真和实验测试。在长为8 m、宽为6 m的房间设置一定的路障,测试地图构建及自动导航功能。实验环境为Ubuntu 20.04系统,ROS版本为Noetic,i5处理器。
3.1自动导航仿真测试
实际生活中环境较为复杂,往往存在多种形状的障碍物。本文在launch中启动gazebo并添加移动机器人模型后,在地图中随机放置正方体、圆柱体等形状来模拟障碍物。打开rviz,在displays中选择Map、Laser Scan、Odometry,使激光雷达的范围可视化。通过设置目标点使机器人自主构建地图,并保存至硬盘,如图4a所示。导航时,加载扫描地图,采用蒙特卡洛算法定位机器人位置和姿态,即可实现自动导航功能,如图4b所示。
图4室内导航仿真测试
3.2自动导航实验测试
实验小车如图5所示,具体配置为:越野底盘XT-RC R31/8,前后轮带有差速器。有感无刷电机M1-KV2150,姿态传感器型号为IMU-03A,激光雷达LS01X,测量量程解析度0.1%,同时配备工业级摄像头XT-Camera-U1,提高地图构建精度。
图5机器人实物
根据机器人实物配置,采用ros_arduino_bridge功能包编写Arduino,从而控制电机驱动系统和底盘,实现机器人前进、后退等状态控制。图6a为机器人构建地图过程,并以此实现机器人自动导航功能,如图6b所示。
图6室内导航实验测试
4、结束语
自动导航是移动机器人的关键技术,涉及大量复杂的底层硬件代码和计算处理。本文通过基于ROS仿真实现自主移动和绘制建图,经过模型搭建与集成、地图构建、定位服务、路径规划,实现了机器人朝特定地点的自动导航功能。后续我们将基于硬件平台深入研究,实现机器人在更加复杂环境下的自动导航。
参考文献:
[1]王昱琪,熊绍托,齐岩松,等物流分拣机器人设计[J]科技风, 2022(36):1-3.
[2]严毓培,尹雪梅,汤佩豫,等.-种仓库搬运机器人的设计与实现[J].电子产品世界,2022,29(12):16-23,93.
[3]彭雪斌,易艺,周联浩,等基于ROS的大棚除草机器人设计[J].计算机测量与控制, 2022,30(11):199-203,212.
[4]刘玉佼,杨- -潇,徐淑琼,等基于ROS的育婴机器人设计与仿真[J]现代信息科技, 2022,6(23):160-164, 169.
[5]宋盘鹏,赵倩基于ROS和SL AM的无人消杀机器人系统设计[J].自动化仪表, 2023,44(1):61-65,71.
文章来源:苏瑞芳,刘富,陈拓等.基于ROS的移动机器人自动导航设计[J].工业控制计算机,2023,36(08):72-73+76.
基金资助:国家自然基金(62104267);浙江省大学生新苗人才计划(2022R474A001);国家级创新创业学院建设校级教改研究项目(CY20221101);金华市公益性技术应用研究项目(20224014);
分享:
铁路轨道交通是国民经济的重要组成部分,是我国现代交通事业的重要支撑。近年来,中国铁路运输事业蓬勃发展,铁路轨道交通制造业也迎来了发展的历史机遇。然而,传统的生产模式已经无法满足市场需求,制造业的数字化转型成为推动铁路轨道交通制造业发展的必然选择。
2024-01-05为全面提升变电站运维集控强度、设备管理细度、生产信息化程度和队伍建设力度,国家电网公司推进集控主站建设,构建“集中集控+无人值班”“设备主人+全科医生”的变电运维新模式,从而实现集控主站管理功能、业务能力和支撑手段的全面升级,有效保障了电网设备安全稳定运行。
2023-08-22随着集成电路和通信技术的迅速发展,人民生活水平的逐渐提高,机器人越来越多地出现在人们的视野当中,无论是教育行业、医疗行业、先进制造行业或是其他社会各行各业,都对机器人有着前所未有的需求,机器人的智能化发展体现出多维升级的态势。人们对机器人功能需求日益复杂化,对代码复用性、模块化的发展提出迫切要求,机器人应用技术发展还有很大的拓展空间。
2023-08-22Modbus协议是一种工业控制的现场总线协议,由于其功能完善、使用简单、数据易于处理,因而被广泛选用为一种通信标准。三菱E700变频器能够从RS485端子使用Modbus-RTU通讯协议,进行通讯运行控制和参数设定。三菱FX3U可以通过通信特殊适配器实现与Modbus协议设备通信,控制该设备运行,并采集设备运行的实时数据。
2023-08-22人气:3532
人气:3093
人气:2945
人气:2923
人气:2880
我要评论
期刊名称:工业设计研究
期刊人气:522
主管单位:四川省教育厅
主办单位:人文社会科学重点研究基地,工业设计产业研究中心
出版地方:四川
专业分类:工业
创刊时间:2013年
发行周期:年刊
期刊开本:大16开
见刊时间:1-3个月
影响因子:0.172
影响因子:0.257
影响因子:0.215
影响因子:0.214
影响因子:0.253
400-069-1609
您的论文已提交,我们会尽快联系您,请耐心等待!
你的密码已发送到您的邮箱,请查看!