本发明专利技术提供了一种基于ROS2的移动机器人控制系统,包括:地面站PC、机器人上位机端和机器人下位机端;所述地面站PC与所述机器人上位机端之间采用无线连接;所述机器人上位机端与所述机器人下位机端之间采用通用异步收发传输器UATR进行有线连接。本发明专利技术通过采用ROS2机器人操作系统作为主控操作系统,解决了常规ROS实时性差,只能在少数操作系统上运行,占用大量资源等问题,满足了分布式系统对安全性、扩展性、容错性和实时性的要求。容错性和实时性的要求。容错性和实时性的要求。
【技术实现步骤摘要】
基于ROS2的移动机器人控制系统
[0001]本专利技术涉及机器人
,具体地,涉及一种基于ROS2的移动机器人控制系统。
技术介绍
[0002]机器人操作系统(ROS)是一种开源中间件,经历了快速发展,已广泛应用于机器人行业,可以提供一系列复杂的机器人操作功能,比如进程间通信、功能包管理、底层硬件通信等。同时还集成了非常多的开源算法和开源平台,比如仿真平台Gazebo、可视化平台Rviz等,极大缩短了机器人开发的时间。但是ROS不满足实时运行要求,只能在少数操作系统上运行,运行时需要大量资源。此外,ROS无法保证容错率、截止时间等。为了满足完整生命周期下的项目管理,ROS2进行重大升级,满足了分布式系统对安全性、扩展性、容错性和实时性的要求,同时通过减少库的大小和内存占用实现在小型嵌入式系统中的应用,并且已通过美国航空航天局(National Aeronautics and Space Administration,NASA)的验证。
[0003]申请号为201810138667.6的中国专利技术专利公开了一种基于ROS的自动导航机器人通用控制系统,其技术方案是建立基于ROS的导航框架,但其主要应用场景为室内,无法实现室外环境的建图导航,同时ROS的实时性较差,无法满足完整生命周期下的项目管理。
[0004]专利文献CN113510720A(申请号:CN202110665852.2)公开了一种实时分布式协作机器人控制系统,该控制系统与机器人本体连接,包括Linux操作系统单元、实时内核单元、数据分发服务单元、机器人控制单元、EtherCAT现场总线单元。然而该专利只能在少数操作系统上运行,占用大量资源。
技术实现思路
[0005]针对现有技术中的缺陷,本专利技术的目的是提供一种基于ROS2的移动机器人控制系统。
[0006]根据本专利技术提供的基于ROS2的移动机器人控制系统,包括:地面站PC、机器人上位机端和机器人下位机端;
[0007]所述地面站PC与所述机器人上位机端之间采用无线连接;
[0008]所述机器人上位机端与所述机器人下位机端之间采用通用异步收发传输器UATR进行有线连接。
[0009]优选的,所述机器人下位机端处于控制系统的最底层位置,通过将获取到的运动指令转换成对轮毂电机的控制指令,并给电机驱动器发送相应命令带动轮毂电机运动,同时将编码器及传感器数据反馈给机器人上位机端。
[0010]优选的,所述机器人下位机端基于STM32F1芯片进行设计,通过UART通信协议与机器人上位机端进行通信。
[0011]优选的,所述机器人下位机端包括模拟数字转换器和定时器;
[0012]所述模拟数字转换器用于采集电压传感器信息;
[0013]所述定时器用于电机控制,输入为编码器数据,输出为脉冲宽度调制波形。
[0014]优选的,所述机器人上位机端处于控制系统的中层位置,包括与机器人下位机端和传感器的数据通信接口、机器人状态参数初始化接口、数据预处理接口、仿真接口、运动学分析接口以及上层算法实现接口。
[0015]优选的,所述机器人上位机端包括数据传输模块和传感器数据读取及处理模块,所述数据传输模块和传感器数据读取及处理模块相连接,所述传感器数据读取及处理模块与机器人的传感器相连接;
[0016]所述数据传输模块通过UART通信协议与机器人下位机端进行通信,订阅局部路径规划输出的速度指令或地面站PC直接输出的速度指令,打包后发送给机器人下位机端,同时读取机器人下位机端传输的编码器信息;
[0017]所述传感器数据读取及处理模块通过串口读取IMU姿态传感器、GPS传感器、双目相机、激光雷达以及机器人下位机端回传的编码器信息。
[0018]优选的,所述机器人上位机端包括地图构建模块和定位模块,所述地图构建模块和定位模块相连接;
[0019]所述地图构建模块:对于地形预设为平坦的环境,利用Gmapping算法实现建图和定位,输入信息包括激光雷达数据、里程计数据以及相应的坐标转换关系,输出结果为基于二维栅格格式的地图信息;对于地形预设为复杂的环境,使用基于外观的实时建图算法RTAB
‑
MAP进行建图和定位,输入信息包括双目相机图像、里程计数据以及相应的坐标转换关系,输出结果为三维点云信息、映射到二维的栅格格式的地图信息;
[0020]所述定位模块:根据地图构建模块得到的地图信息,获取机器人在地图中的姿态和位置,利用自适应蒙特卡洛定位算法AMCL进行定位,通过将机器人的传感器数据和原始栅格地图进行映射,得到机器人在全局地图中各个位置的匹配概率,匹配概率越大表明所处位置的概率越大。
[0021]优选的,所述机器人上位机端包括全局路径规划模块和局部路径规划模块;
[0022]所述全局路径规划模块在当地面站PC指定一个目标点后,采用A*算法进行路径搜索,在地图中计算出一条从起点到目标点的最优轨迹;
[0023]所述局部路径规划模块通过全局路径规划模块计算出的一条全局路径后,结合当前机器人传感器提供的环境信息,使用动态窗口算法DWA进行动态避障,并输出最终控制机器人运动的速度信息。
[0024]优选的,所述地面站PC处于控制系统的最上层位置,提供通信及遥控界面和自主导航界面。
[0025]优选的,所述通信及遥控界面用于实时显示机器人运行过程中的速度、角速度信息、电池电压及剩余容量信息、运行时反馈信息及实时图像信息、基于ROS2主从机通信的参数配置和遥控模式下参数配置;
[0026]所述自主导航界面用于显示二维栅格地图、三维点云数据、设置初始化位置、设置目标位置、设置返航点及开始返航指令、机器人运行位置坐标及目标返航点坐标。
[0027]与现有技术相比,本专利技术具有如下的有益效果:
[0028](1)通过采用ROS2机器人操作系统作为主控操作系统,解决了常规ROS实时性差,只能在少数操作系统上运行,占用大量资源等问题,满足了分布式系统对安全性、扩展性、容错性和实时性的要求;
[0029](2)通过采用分层式控制系统框架,降低了各个层级间的耦合性,降低后期系统修改升级的成本;
[0030](3)通过采用多传感器融合技术,可以实现在不同复杂地形地貌环境的建图、定位及导航功能。
附图说明
[0031]通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:
[0032]图1为分层式控制系统框架图;
[0033]图2为机器人下位机端消息传递流向示意图;
[0034]图3为机器人上位机端消息传递流向示意图;
[0035]图4为通信及遥控界面;
[0036]图5为自主导航界面。
具体实施方式
[0037]下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于ROS2的移动机器人控制系统,其特征在于,包括:地面站PC、机器人上位机端和机器人下位机端;所述地面站PC与所述机器人上位机端之间采用无线连接;所述机器人上位机端与所述机器人下位机端之间采用通用异步收发传输器UATR进行有线连接。2.根据权利要求1所述的基于ROS2的移动机器人控制系统,其特征在于,所述机器人下位机端处于控制系统的最底层位置,通过将获取到的运动指令转换成对轮毂电机的控制指令,并给电机驱动器发送相应命令带动轮毂电机运动,同时将编码器及传感器数据反馈给机器人上位机端。3.根据权利要求1所述的基于ROS2的移动机器人控制系统,其特征在于,所述机器人下位机端基于STM32F1芯片进行设计,通过UART通信协议与机器人上位机端进行通信。4.根据权利要求1所述的基于ROS2的移动机器人控制系统,其特征在于,所述机器人下位机端包括模拟数字转换器和定时器;所述模拟数字转换器用于采集电压传感器信息;所述定时器用于电机控制,输入为编码器数据,输出为脉冲宽度调制波形。5.根据权利要求1所述的基于ROS2的移动机器人控制系统,其特征在于,所述机器人上位机端处于控制系统的中层位置,包括与机器人下位机端和传感器的数据通信接口、机器人状态参数初始化接口、数据预处理接口、仿真接口、运动学分析接口以及上层算法实现接口。6.根据权利要求1所述的基于ROS2的移动机器人控制系统,其特征在于,所述机器人上位机端包括数据传输模块和传感器数据读取及处理模块,所述数据传输模块和传感器数据读取及处理模块相连接,所述传感器数据读取及处理模块与机器人的传感器相连接;所述数据传输模块通过UART通信协议与机器人下位机端进行通信,订阅局部路径规划输出的速度指令或地面站PC直接输出的速度指令,打包后发送给机器人下位机端,同时读取机器人下位机端传输的编码器信息;所述传感器数据读取及处理模块通过串口读取IMU姿态传感器、GPS传感器、双目相机、激光雷达以及机器人下位机端回传的编码器信息。7.根据权利要求1所述的基于ROS2的移动机器人控制系...
【专利技术属性】
技术研发人员:殷跃红,朱俊达,黄磊,袁玉峰,
申请(专利权)人:上海交通大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。