一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于ROS2的移动机器人控制系统的制作方法

2022-06-08 03:16:28 来源:中国专利 TAG:

基于ros2的移动机器人控制系统
技术领域
1.本实用新型涉及机器人技术领域,具体地,涉及一种基于ros2的移动机器人控制系统。


背景技术:

2.机器人操作系统(ros)是一种开源中间件,经历了快速发展,已广泛应用于机器人行业,可以提供一系列复杂的机器人操作功能,比如进程间通信、功能包管理、底层硬件通信等。同时还集成了非常多的开源算法和开源平台,比如仿真平台gazebo、可视化平台rviz等,极大缩短了机器人开发的时间。但是ros不满足实时运行要求,只能在少数操作系统上运行,运行时需要大量资源。此外,ros无法保证容错率、截止时间等。为了满足完整生命周期下的项目管理,ros2进行重大升级,满足了分布式系统对安全性、扩展性、容错性和实时性的要求,同时通过减少库的大小和内存占用实现在小型嵌入式系统中的应用,并且已通过美国航空航天局(national aeronautics and space administration,nasa)的验证。
3.申请号为201810138667.6的中国实用新型专利公开了一种基于ros的自动导航机器人通用控制系统,其技术方案是建立基于ros的导航框架,但其主要应用场景为室内,无法实现室外环境的建图导航,同时ros的实时性较差,无法满足完整生命周期下的项目管理。
4.专利文献cn113510720a(申请号:cn202110665852.2)公开了一种实时分布式协作机器人控制系统,该控制系统与机器人本体连接,包括linux操作系统单元、实时内核单元、数据分发服务单元、机器人控制单元、ethercat现场总线单元。然而该专利只能在少数操作系统上运行,占用大量资源。


技术实现要素:

5.针对现有技术中的缺陷,本实用新型的目的是提供一种基于ros2的移动机器人控制系统。
6.根据本实用新型提供的基于ros2的移动机器人控制系统,包括:地面站pc、机器人上位机端和机器人下位机端;
7.所述地面站pc与所述机器人上位机端之间采用无线连接;
8.所述机器人上位机端与所述机器人下位机端之间采用通用异步收发传输器uatr进行有线连接。
9.优选的,所述机器人下位机端处于控制系统的最底层位置,通过将获取到的运动指令转换成对轮毂电机的控制指令,并给电机驱动器发送相应命令带动轮毂电机运动,同时将编码器及传感器数据反馈给机器人上位机端。
10.优选的,所述机器人下位机端基于stm32f1芯片进行设计,通过uart通信协议与机器人上位机端进行通信。
11.优选的,所述机器人下位机端包括模拟数字转换器和定时器,所述模拟数字转换
器和定时器相连接,所述模拟数字转换器与电压传感器相连接,所述定时器与编码器相连接;
12.所述模拟数字转换器用于采集电压传感器信息;
13.所述定时器用于电机控制,输入为编码器数据,输出为脉冲宽度调制波形。
14.优选的,所述机器人上位机端处于控制系统的中层位置,包括与机器人下位机端和传感器的数据通信接口、机器人状态参数初始化接口、数据预处理接口、仿真接口、运动学分析接口以及上层算法实现接口。
15.优选的,所述机器人上位机端包括数据传输模块和传感器数据读取及处理模块,所述数据传输模块和传感器数据读取及处理模块相连接,所述传感器数据读取及处理模块与机器人的传感器相连接;
16.所述数据传输模块通过uart通信协议与机器人下位机端进行通信,订阅局部路径规划输出的速度指令或地面站pc直接输出的速度指令,打包后发送给机器人下位机端,同时读取机器人下位机端传输的编码器信息;
17.所述传感器数据读取及处理模块通过串口读取imu姿态传感器、gps传感器、双目相机、激光雷达以及机器人下位机端回传的编码器信息。
18.优选的,所述机器人上位机端包括地图构建模块和定位模块,所述地图构建模块和定位模块相连接;
19.所述地图构建模块:对于地形预设为平坦的环境,利用gmapping算法实现建图和定位,输入信息包括激光雷达数据、里程计数据以及相应的坐标转换关系,输出结果为基于二维栅格格式的地图信息;对于地形预设为复杂的环境,使用基于外观的实时建图算法rtab-map进行建图和定位,输入信息包括双目相机图像、里程计数据以及相应的坐标转换关系,输出结果为三维点云信息、映射到二维的栅格格式的地图信息;
20.所述定位模块:根据地图构建模块得到的地图信息,获取机器人在地图中的姿态和位置,利用自适应蒙特卡洛定位算法amcl进行定位,通过将机器人的传感器数据和原始栅格地图进行映射,得到机器人在全局地图中各个位置的匹配概率,匹配概率越大表明所处位置的概率越大。
21.优选的,所述机器人上位机端包括全局路径规划模块和局部路径规划模块;
22.所述全局路径规划模块在当地面站pc指定一个目标点后,采用a*算法进行路径搜索,在地图中计算出一条从起点到目标点的最优轨迹;
23.所述局部路径规划模块通过全局路径规划模块计算出的一条全局路径后,结合当前机器人传感器提供的环境信息,使用动态窗口算法dwa进行动态避障,并输出最终控制机器人运动的速度信息。
24.优选的,所述地面站pc处于控制系统的最上层位置,提供通信及遥控界面和自主导航界面。
25.优选的,所述通信及遥控界面用于实时显示机器人运行过程中的速度、角速度信息、电池电压及剩余容量信息、运行时反馈信息及实时图像信息、基于ros2主从机通信的参数配置和遥控模式下参数配置;
26.所述自主导航界面用于显示二维栅格地图、三维点云数据、设置初始化位置、设置目标位置、设置返航点及开始返航指令、机器人运行位置坐标及目标返航点坐标。
27.与现有技术相比,本实用新型具有如下的有益效果:
28.本实用新型通过采用分层式控制系统框架,集成多种传感器和控制终端,降低了各个层级间的耦合性,降低后期系统修改升级的成本。
附图说明
29.通过阅读参照以下附图对非限制性实施例所作的详细描述,本实用新型的其它特征、目的和优点将会变得更明显:
30.图1为本实用新型结构示意图;
31.图2为分层式控制系统框架图;
32.图3为机器人下位机端消息传递流向示意图;
33.图4为机器人上位机端消息传递流向示意图;
34.图5为通信及遥控界面;
35.图6为自主导航界面。
具体实施方式
36.下面结合具体实施例对本实用新型进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本实用新型,但不以任何形式限制本实用新型。应当指出的是,对本领域的普通技术人员来说,在不脱离本实用新型构思的前提下,还可以做出若干变化和改进。这些都属于本实用新型的保护范围。
37.实施例:
38.如图1,本实用新型提供了一种基于ros2的移动机器人控制系统,包括:地面站pc、机器人上位机端和机器人下位机端;所述地面站pc与所述机器人上位机端之间采用无线连接;所述机器人上位机端与所述机器人下位机端之间采用通用异步收发传输器uatr进行有线连接。
39.所述机器人下位机端处于控制系统的最底层位置,通过将获取到的运动指令转换成对轮毂电机的控制指令,并给电机驱动器发送相应命令带动轮毂电机运动,同时将编码器及传感器数据反馈给机器人上位机端。所述机器人下位机端基于stm32f1芯片进行设计,通过uart通信协议与机器人上位机端进行通信。所述机器人下位机端包括模拟数字转换器和定时器,所述模拟数字转换器和定时器相连接,所述模拟数字转换器与电压传感器相连接,所述定时器与编码器相连接;所述模拟数字转换器用于采集电压传感器信息;所述定时器用于电机控制,输入为编码器数据,输出为脉冲宽度调制波形。
40.所述机器人上位机端处于控制系统的中层位置,包括与机器人下位机端和传感器的数据通信接口、机器人状态参数初始化接口、数据预处理接口、仿真接口、运动学分析接口以及上层算法实现接口。所述机器人上位机端包括数据传输模块和传感器数据读取及处理模块,所述数据传输模块和传感器数据读取及处理模块相连接,所述传感器数据读取及处理模块与机器人的传感器相连接;所述数据传输模块通过uart通信协议与机器人下位机端进行通信,订阅局部路径规划输出的速度指令或地面站pc直接输出的速度指令,打包后发送给机器人下位机端,同时读取机器人下位机端传输的编码器信息;所述传感器数据读取及处理模块通过串口读取imu姿态传感器、gps传感器、双目相机、激光雷达以及机器人下
位机端回传的编码器信息。所述机器人上位机端包括地图构建模块和定位模块,所述地图构建模块和定位模块相连接;所述地图构建模块:对于地形预设为平坦的环境,利用gmapping算法实现建图和定位,输入信息包括激光雷达数据、里程计数据以及相应的坐标转换关系,输出结果为基于二维栅格格式的地图信息;对于地形预设为复杂的环境,使用基于外观的实时建图算法rtab-map进行建图和定位,输入信息包括双目相机图像、里程计数据以及相应的坐标转换关系,输出结果为三维点云信息、映射到二维的栅格格式的地图信息;所述定位模块:根据地图构建模块得到的地图信息,获取机器人在地图中的姿态和位置,利用自适应蒙特卡洛定位算法amcl进行定位,通过将机器人的传感器数据和原始栅格地图进行映射,得到机器人在全局地图中各个位置的匹配概率,匹配概率越大表明所处位置的概率越大。所述机器人上位机端包括全局路径规划模块和局部路径规划模块;所述全局路径规划模块在当地面站pc指定一个目标点后,采用a*算法进行路径搜索,在地图中计算出一条从起点到目标点的最优轨迹;所述局部路径规划模块通过全局路径规划模块计算出的一条全局路径后,结合当前机器人传感器提供的环境信息,使用动态窗口算法dwa进行动态避障,并输出最终控制机器人运动的速度信息。
41.所述地面站pc处于控制系统的最上层位置,包括可视化界面模块,提供通信及遥控界面和自主导航界面。所述通信及遥控界面用于实时显示机器人运行过程中的速度、角速度信息、电池电压及剩余容量信息、运行时反馈信息及实时图像信息、基于ros2主从机通信的参数配置和遥控模式下参数配置;所述自主导航界面用于显示二维栅格地图、三维点云数据、设置初始化位置、设置目标位置、设置返航点及开始返航指令、机器人运行位置坐标及目标返航点坐标。
42.具体的,本实用新型基于机器人操作系统(robot operating system 2,ros2)搭建控制平台,采用分层式设计方法,将控制系统划分为地面站pc、机器人上位机端和机器人下位机端三部分,基于多种传感器可实现室内外复杂环境建图定位及自主导航的复杂功能。
43.分层式控制系统框架如图2所示,将层次划分为地面站pc、机器人上位机端和机器人下位机端三部分。机器人下位机端是最底层的部分,通过将获取到的运动指令转换成轮毂电机的控制信号,实现对机器人平台的运动控制,同时获取运动平台的反馈数据,打包发送给机器人上位机端。机器人上位机端是控制系统最重要的组成部分,主要包括与下位机、各个传感器的数据通信接口,机器人状态参数初始化接口,数据预处理接口,仿真接口,运动学分析接口以及上层算法实现接口。地面站pc处于控制系统的最上层,主要为工作人员提供一个可视化及手动控制界面。
44.机器人下位机端主要负责将机器人上位机端传输过来的运动指令转换成对各个电机的控制指令,并给电机驱动器发送相应命令带动轮毂电机运动,同时将编码器及传感器数据反馈给机器人上位机端。消息传递流向如图3所示。下位机基于stm32f1芯片进行设计,利用uart(universal asynchronous receiver&transmitter)通信协议与机器人上位机端进行通信,adc采集电压传感器信息,定时器输出pwm进行电机控制,定时器输入捕获编码器数据等。
45.基于ros2的机器人上位机端主要负责上层算法的实现,主要包括传感器信息采集、数据预处理、算法实现以及数据传输功能,消息传递流向如图4所示。其中各个节点的主
要功能如下:
46.1.数据传输:通过uart通信协议与下位机stm32进行通信,订阅局部路径规划输出的速度指令或地面站pc直接输出的速度指令,打包后发送给下位机,同时读取下位机传输的编码器信息。
47.2.传感器数据读取及处理:通过串口读取imu姿态传感器、gps传感器、双目相机、激光雷达以及下位机回传的编码器信息。
48.3.构建地图:为适应不同环境的需要,本文使用两种建图定位算法对不同特征的环境实现地图抽象。对于较为平坦的环境,利用gmapping算法实现建图和定位。此算法的输入信息包括激光雷达数据、里程计数据以及相应的坐标转换关系,输出结果为基于二维栅格格式的地图信息。对于地形比较复杂的环境,使用基于外观的实时建图(real-timeappearance-basedmapping,rtab-map)算法进行建图和定位。输入信息包括双目相机图像、里程计数据以及相应的坐标转换关系,输出结果为三维点云信息、映射到二维的栅格格式的地图信息。
49.4.定位:当给定地图信息后,需要获取机器人在此地图中的准确姿态和位置。利用自适应蒙特卡洛定位(adaptive monte carlo localization,amcl)算法进行定位,通过将移动机器人传感器提供的数据以及前期建立的原始栅格地图进行映射,得到移动机器人在全局地图中各个位置的匹配概率,某一位置的概率越大表明有更大可能处于当前位置。
50.5.全局路径规划:当地面站pc指定一个目标点后,全局路径规划算法需要在地图中计算出一条从起点到目标点的最优轨迹。采用a*算法进行路径搜索。
51.6.局部路径规划:通过全局路径规划算法计算出一条全局路径后,结合当前机器人传感器提供的环境信息,完成避障和控制。使用动态窗口(dynamic window approach,dwa)算法进行动态避障。局部路径规划的输出即最终控制机器人运动的速度信息。
52.地面站pc主要负责提供数据显示以及命令下发的操作,具体功能如图5和图6所示。通信及遥控界面可实时显示机器人运行过程中的速度、角速度信息,电池电压及剩余容量信息,运行时反馈信息及实时图像信息,基于ros2主从机通信的参数配置,遥控模式下参数配置。自主导航界面可显示二维栅格地图、三维点云数据,控制按键包括设置初始化位置、设置目标位置、设置返航点及开始返航指令,同时可以观测到机器人运行位置坐标及目标返航点坐标。
53.在本技术的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
54.以上对本实用新型的具体实施例进行了描述。需要理解的是,本实用新型并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本实用新型的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献