一种基于多传感器的清洁机器人沿边清扫控制方法与流程

专利2024-06-20  64



1.本发明涉及清洁机器人技术领域,具体为一种基于多传感器的清洁机器人沿边清扫控制方法。


背景技术:

2.当前家用小型的扫地机器人对于沿边清扫控制方法技术较为成熟,且能广泛落地;而对于大型的商用场景的商用清洁机器人来说,在沿边清扫控制方法上显著缺失,其难点在于,商用场景不允许发生明显的硬碰撞,商用大型清洁机器人由于体积大,惯性大,制动距离更长,所以其所需控制方法必须更完善精准。
3.现有的麦岩清洁机器人沿边清扫控制方法:在硬件上:受家用小型机扫地机的启发,在边刷上加入了软碰撞传感器,提升了边刷清扫覆盖范围,在边刷的两侧加入了压力传感器,保证边刷不会过度剐蹭墙体,在机器人前、左、右三侧配置了大量超声传感器,在机器人上方放置了激光雷达,融合了里程计信息,实现了多传感器融合算法,保证机器人进行沿边清洁时始终与墙体保持固定距离;在软件上:实现了多传感器融合,以ros环境为基础,将多传感器信息加入到代价地图costmap中,作为障碍物参考,算法实现了始终保持与墙体固定距离的沿边跟随行走模式,并记录了机器人自身在世界地图中的坐标系位置,便于用户控制商用机器人沿边清扫模式的开始与结束,或者是在一个大场景中,对全部墙体的沿边清扫模式路径规划,或者用户自定义的,对某一段边缘墙体单独进行沿边清扫模式的路径规划,生成路径后,调用规划器执行,收集相应传感器信息,保证商用清洁机器人在绝对不发射碰撞或剐蹭的同时,能最大效率的提升清洁覆盖面积,以及对墙体边缘,方形角落的清洁任务。
4.但现有处理设备存在以下不足:如中国专利cn110946509a,家用小型扫地机的底层逻辑是机器可以发生碰撞,而商用的不允许有任何硬碰撞的逻辑,因为服务与大型商用场景,采用的是大型清洁机器人,一旦发生硬碰撞,就有可能造成财产损失或安全隐患。
5.而且由于家用小型扫地机的机器人机身结构多为圆形,在清洁方形场景时,大部分都会漏掉方形的墙角区域,又因为家用小型扫地机结构太小,而且使用的边刷无论是大小、转速,电机频率都都不足。使得清洁区域和清洁效果,没有达到理想效果。
6.所以我们提出了一种基于多传感器的清洁机器人沿边清扫控制方法,以便于解决上述中提出的问题。


技术实现要素:

7.本发明的目的在于提供一种基于多传感器的清洁机器人沿边清扫控制方法,以解决上述背景技术提出的问题。
8.为实现上述目的,本发明提供如下技术方案:一种基于多传感器的清洁机器人沿边清扫控制方法,包括多传感器融合、上下位机通信、行为控制和ros机器人开发;
s1、首先根据几何原理、线性代数原理、数学原理,构建清洁机器人多传感器的数学模型;s2、多传感器融合包含三部分:位于极光壹号(aurora no.1)清洁机器人上方的主激光雷达,位于极光壹号(aurora no.1)清洁机器人右侧下方位置的测距激光雷达,超声波测距模块;s3、为了使清洁机器人增加对周围环境的感知数据,各传感器即为机器人的感知器官,感知越多,行为控制模式的效果越好,保证清洁机器人对算法的执行正确率。
9.优选的,上位机:工控机硬件及工控机内部搭建的系统环境和部署的算法软件,上位机同时接收安卓端的信号,用户使用app对整个机器人系统发布总任务,上位机将总任务规划为具体的子任务或子命令,在接收传感器传递的环境变量参数消息后,根据子任务、软件算法逻辑,进行逻辑判断后,与下位机进行通信,并对下位机发布命令信号,下位机:接收上位机发布的命令信号,编译后,通过伺服器进行各部分电机的驱动,上下位机的通信,是整个机器人系统功能实现的基础,包含以下几个重要步骤:s1、上位机经过算法逻辑判断后,生成相应的命令信号数据包,经过软件指定的接口话题发布对下位机的命令信号,在发布完成后保持监听,等待下位机的信号反馈。
10.s2、下位机经过规定好的软件接口,专门接收来自上位机的命令信号,同时将该信号编译为嵌入式软件的数据流信息格式,发布给具体的各部分执行任务的伺服驱动电机,然后反馈给上位机信号,表示本次任务发布结束,进入待机状态,保持对上位机接口的监听,等待下一次命令信号的发布。
11.s3、上位机接收任务结束的反馈后,再次根据传感器收集到的环境变量信息,进入软件算法逻辑判断中,判定机器人下次任务的是否进行,如何进行等规划,如果逻辑判断总任务已经达成,则不会再更新下一次子任务。
12.s4、当所有的子任务全部执行完毕后,判断总任务是否达成,达成则机器人进行待机状态,等待安卓端用户操作;如果判断总任务没有达成,则机器人将重新进行软件算法的逻辑判断,直达总任务判定达成。
13.优选的,s1、首先沿边算法会让机器人找到前方距离自身最近的障碍物点,并规划运动速度,直行走到距离障碍物0.75m的位置,到达该位置后,会先判断确认一次自身位置是否是沿边行为的起点。
14.s2、判断自身位置为沿边行为的起点后,开始执行具体的沿边算法逻辑判断,先执行左转行为,保证机器人自身行走方向与障碍物墙体保持平行(因为本人编写的沿边算法基于右手法则,在封闭空间内,执行逆时针方向的沿边循环,因此第一次靠近墙体后,机器人必然执行左转行为),保持平行后,清洁机器人沿边进行移动,过程中时刻保证机器人自身机械构体边缘相距障碍物墙体3-5cm的距离。
15.s3、对于如何让机器人始终保持与墙体之间固定距离,即本沿边软件算法的核心部分。首先是机器人传感器的利用,采取了三个范围作为判定墙体障碍物的约束条件,分别是主激光雷达的右前方范围测量数据、主激光雷达的右侧垂直墙体范围测量数据,机器人右侧下方测距激光雷达测量数据。(机器人组装要求,主激光雷达的0
°
方向,和机器人前方保持一致)约束条件类似pid控制算法,通过三个约束,规定了机器人沿边行为的范围,以及发布给下位机的命令通信;最终呈现以下效果:离墙过远机器人会自动靠近障碍物墙体;离
墙过近会自动远离;当墙体障碍物出现通道拐弯时,机器人自动跟随墙体转弯;当墙体前方阻挡,整体呈现直角时,机器人自动沿着墙体进行逆时针行走,期间保持与固定距离;单次任务从起点开始到终点结束,但沿边算法软件持续保持待机,直到下一次安卓端发布总命令信号,再次执行沿边算法子任务。
16.优选的,包括反馈线性化法(处理非线性动态,非完整约束等),反步法(力控制速度,速度控制位置分级控制),底层位置速度回路反馈跟踪(跟踪速度/位置指令));模块功能:极光壹号(aurora no.1)机器人按照沿边算法从任务的起点沿边行走到任务的终点,期间保证机器人机械构体边缘与墙保持相距3-5cm。
17.优选的,模块功能:规避沿边行为执行中可能会出现的不明障碍物,避免机器人出现剐蹭或膨胀的现象,模块实现原理:约束条件控制,采用激光雷达, 激光测距线性雷达,超声波模块,方法:预留安全距离;在线判断碰撞风险执行决策,逻辑判断闭环大致与沿边算法核心逻辑一致,机器人在遇到前方不明障碍物会进行左转绕行的判断。
18.优选的,整套沿边软件算法是基于ros机器人系统平台开发,运行规则,接口定义,函数类型均依托于ros开发平台,具体代码由python编写。同时该沿边软件算法适配与清洁机器人的沿边清洁功能,与ros主机通信、安卓端等模块进行分布网络式联动,没有具体的代码配合或重合,只是根据各部分节点对应的接口,相互传递各种数据信号联动。
19.涉及节点:激光雷达节点(/rplidar_s2、/scan); 底盘驱动节点(zoo_bringup);沿边算法核心节点(follow_the_wall)。
20.对应的接口话题、数据类型及传递函数:雷达('/scan', laserscan, scan_callback)底盘驱动('cmd_vel', twist, queue_size=1)任务坐标('/mrrobot/point', twist, pointcallback)机器人自身坐标监听('/map', '/base_link', rospy.time(), rospy.duration(1.0))。
21.s1、在上下位机通信模块中,实现了对伺服电机的驱动命令执行,接收来自其它节点发布的线速度、角速度、加速度等命令信号,并将其编译成数据流发送给底盘;s2、当zoo_bringup节点驱动,与底盘的通信建立成功后,能实时获取到odom坐标系下,当前机器人的实时位置数据,此时图中为x=0,y=0,z=0,说明该机器人在处于起始位置没有移动;s3、每台机器人都带有主激光雷达传感器以及视觉模块,毫米波雷达等传感器,主激光雷达传感器是多线传感器,能够生成点云数据,点云数据能够和视觉传感器回传的图像信息进行深度融合,在识别周围障碍物的同时,依靠沿边算法贴近障碍物,并保证与墙体障碍物始终保持固定距离,防止发生剐蹭和碰撞;s4、4.3.沿边算法节点核心(follow_the_wall)该节点模块启动后,首先持续对机器人坐标系进行监听,当没有任何任务发布时,机器人坐标位置为(0,0),同时程序处于待机状态,不进行算法逻辑判断,也不发布任何命令信号;s5、发布终点坐标信号后,沿边算法对终点坐标进行接受,接口为话题”/mrrobot/point”,数据消息类型为geomet_msgs/twist,然后以angular中的x,y进行发布。
22.沿边算法核心节点follow_the_wall接受到终点坐标信号后,开始执行算法逻辑判断,在软件终端上打印出:1)终点坐标信息(1.0,1.0)。
23.2)同时(-1.8627632540317378,-0.6500536291184762)代表机器人自身当前位置,在odom坐标系下的实时显示,格式为(x,y)数值小数点后12位数。
24.3)range:0.84m,该字段表示机器人当前位置离右侧墙体障碍物的最近距离。
25.4)alwaysgostraight.该字段表示机器人在当前距离下,按照逻辑判断应该执行的具体命令信号,该字段代表直行行走的命令信号。
26.在算法逻辑判断中有四项基础判断,左转、右转、直行、后退,在沿边算法软件进行逻辑判断时,根据传感器检测到的障碍物信息,综合四项基础判断,做出基于环境变量信息的综合行为判断,例如:左转+左转+直行+右转+后退+直行,以此作为一个沿边行走的综合判断行为,综合了四项基础判断后,对于复杂的障碍物轮廓的环绕,生成的综合行为判断,并将这一连串的行为判断,以命令信号形式,发送给zoo_bringup驱动节点模块,以此驱动下位机底盘,执行复杂的行为命令;s6、此时接收到的终点坐标为(2.0,0.0),当机器人到达终点坐标时,算法逻辑对于终点坐标和机器人自身位置相互判定,生成命令信号shutdown,表示机器人此时已经到达了终点位置,机器人沿边行为停止。
27.同时沿边算法核心会发布一个信号给/mrrobot/along_wall_return节点,(该信号以twist的数据形式,具体为linear:x:1.0),以此告诉ros主节点,本次沿边任务执行完毕,接下来可进行其它功能。上图各个字段含义如下:1)shutdown该字段表示任务终止,结束任务,shutdown的优先级为最高。
28.2)(2.0,0.0)该字段表示,本次任务接收到的终点坐标3)(1.9512724643577481,-0.7062256815510368)该字段表示,机器人当前位置,在odom坐标系下的具体表示4)frontobstacledetected.turningaway.该字段表示,前方障碍物堵死,执行转向绕行障碍物,但因为机器人已经位于终点坐标位置,所以任务已终止,该逻辑判断不再执行,只执行shutdown逻辑判断,机器人停止运行沿边算法核心节点提供的功能。
29.5)linear: x:1.0 y:0.0 z:0.0该字段表示沿边算法驱动机器人到达终点后,发送给ros主节点的标志信息,相当于机器人告诉主节点:“我到达终点了,可以执行其它任务。”;s6、从可视化软件中可看到,机器人当前位置,红色箭头表示正在执行的命令信号,此图为直行,黑色表示实际的障碍物轮廓,绿色表示激光雷达照到的范围信息,该图可视化执行的是,当range:0.84m为算法逻辑判断条件时,算法经过逻辑判断,生成了alwaysgostraight的命令信号指令,并在可视化界面上显示,同时传递命令信号给zoo_bringup驱动节点模块,以此控制下位机执行直行行走的命令。
30.与现有技术相比,本发明的有益效果是:
1、本发明采用多传感器融合,结合几何原理、线性代数原理、数学原理,构建清洁机器人多传感器的数学模型。
31.2、本发明采用上下位机通信,上位机为工控机,内含搭建环境、软件算法;下位机为底盘控制板,底盘控制系统主要由电机驱动、伺服器、嵌入式软件驱动以及各自硬件元器件构成。
32.3、本发明采用行为控制,机器人开发的一种模式,使得机器人根据传感器接收到的信息,依据已完成的算法逻辑,执行算法逻辑内部与周围环境信息相对应的行为,例如:在本算法中,机器人遇到障碍物会绕行,并始终与障碍物保持固定距离,将沿边这一行为,控制在算法规定的范围内。
33.4、本发明采用ros机器人开发,软件的开发基于ros机器人开发系统平台,各部分算法软件均以节点形式,分布在ros机器人通信网络中,使得整套机器人开发,各部分均可实现模块化。
34.5、本方案填补商用清洁机器人领域沿边清扫控制的缺失、多传感器融合、清洁覆盖面积更广、效能更高、算法保证并实现了基于多传感器下的与墙体始终保持固定距离并且不剐蹭或撞墙。
附图说明
35.图1为本发明一种基于多传感器的清洁机器人沿边清扫控制方法的算法流程图。
具体实施方式
36.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施条例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.请参阅图1所示,本发明提供一种技术方案:一种基于多传感器的清洁机器人沿边清扫控制方法,包括多传感器融合、上下位机通信、行为控制和ros机器人开发;s1、首先根据几何原理、线性代数原理、数学原理,构建清洁机器人多传感器的数学模型;s2、多传感器融合包含三部分:位于极光壹号(aurora no.1)清洁机器人上方的主激光雷达,位于极光壹号(aurora no.1)清洁机器人右侧下方位置的测距激光雷达,超声波测距模块;s3、为了使清洁机器人增加对周围环境的感知数据,各传感器即为机器人的感知器官,感知越多,行为控制模式的效果越好,保证清洁机器人对算法的执行正确率。
38.优选的,上位机:工控机硬件及工控机内部搭建的系统环境和部署的算法软件,上位机同时接收安卓端的信号,用户使用app对整个机器人系统发布总任务,上位机将总任务规划为具体的子任务或子命令,在接收传感器传递的环境变量参数消息后,根据子任务、软件算法逻辑,进行逻辑判断后,与下位机进行通信,并对下位机发布命令信号,下位机:接收上位机发布的命令信号,编译后,通过伺服器进行各部分电机的驱动,上下位机的通信,是整个机器人系统功能实现的基础,包含以下几个重要步骤:
s1、上位机经过算法逻辑判断后,生成相应的命令信号数据包,经过软件指定的接口话题发布对下位机的命令信号,在发布完成后保持监听,等待下位机的信号反馈。
39.s2、下位机经过规定好的软件接口,专门接收来自上位机的命令信号,同时将该信号编译为嵌入式软件的数据流信息格式,发布给具体的各部分执行任务的伺服驱动电机,然后反馈给上位机信号,表示本次任务发布结束,进入待机状态,保持对上位机接口的监听,等待下一次命令信号的发布。
40.s3、上位机接收任务结束的反馈后,再次根据传感器收集到的环境变量信息,进入软件算法逻辑判断中,判定机器人下次任务的是否进行,如何进行等规划,如果逻辑判断总任务已经达成,则不会再更新下一次子任务。
41.s4、当所有的子任务全部执行完毕后,判断总任务是否达成,达成则机器人进行待机状态,等待安卓端用户操作;如果判断总任务没有达成,则机器人将重新进行软件算法的逻辑判断,直达总任务判定达成。
42.优选的,s1、首先沿边算法会让机器人找到前方距离自身最近的障碍物点,并规划运动速度,直行走到距离障碍物0.75m的位置,到达该位置后,会先判断确认一次自身位置是否是沿边行为的起点。
43.s2、判断自身位置为沿边行为的起点后,开始执行具体的沿边算法逻辑判断,先执行左转行为,保证机器人自身行走方向与障碍物墙体保持平行(因为本人编写的沿边算法基于右手法则,在封闭空间内,执行逆时针方向的沿边循环,因此第一次靠近墙体后,机器人必然执行左转行为),保持平行后,清洁机器人沿边进行移动,过程中时刻保证机器人自身机械构体边缘相距障碍物墙体3-5cm的距离。
44.s3、对于如何让机器人始终保持与墙体之间固定距离,即本沿边软件算法的核心部分。首先是机器人传感器的利用,采取了三个范围作为判定墙体障碍物的约束条件,分别是主激光雷达的右前方范围测量数据、主激光雷达的右侧垂直墙体范围测量数据,机器人右侧下方测距激光雷达测量数据。(机器人组装要求,主激光雷达的0
°
方向,和机器人前方保持一致)约束条件类似pid控制算法,通过三个约束,规定了机器人沿边行为的范围,以及发布给下位机的命令通信;最终呈现以下效果:离墙过远机器人会自动靠近障碍物墙体;离墙过近会自动远离;当墙体障碍物出现通道拐弯时,机器人自动跟随墙体转弯;当墙体前方阻挡,整体呈现直角时,机器人自动沿着墙体进行逆时针行走,期间保持与固定距离;单次任务从起点开始到终点结束,但沿边算法软件持续保持待机,直到下一次安卓端发布总命令信号,再次执行沿边算法子任务。
45.优选的,包括反馈线性化法(处理非线性动态,非完整约束等),反步法(力控制速度,速度控制位置分级控制),底层位置速度回路反馈跟踪(跟踪速度/位置指令));模块功能:极光壹号(aurora no.1)机器人按照沿边算法从任务的起点沿边行走到任务的终点,期间保证机器人机械构体边缘与墙保持相距3-5cm。
46.优选的,模块功能:规避沿边行为执行中可能会出现的不明障碍物,避免机器人出现剐蹭或膨胀的现象,模块实现原理:约束条件控制,采用激光雷达, 激光测距线性雷达,超声波模块,方法:预留安全距离;在线判断碰撞风险执行决策,逻辑判断闭环大致与沿边算法核心逻辑一致,机器人在遇到前方不明障碍物会进行左转绕行的判断。
47.优选的,整套沿边软件算法是基于ros机器人系统平台开发,运行规则,接口定义,
函数类型均依托于ros开发平台,具体代码由python编写。同时该沿边软件算法适配与清洁机器人的沿边清洁功能,与ros主机通信、安卓端等模块进行分布网络式联动,没有具体的代码配合或重合,只是根据各部分节点对应的接口,相互传递各种数据信号联动。
48.涉及节点:激光雷达节点(/rplidar_s2、/scan); 底盘驱动节点(zoo_bringup);沿边算法核心节点(follow_the_wall)。
49.对应的接口话题、数据类型及传递函数:雷达('/scan', laserscan, scan_callback)底盘驱动('cmd_vel', twist, queue_size=1)任务坐标('/mrrobot/point', twist, pointcallback)机器人自身坐标监听('/map', '/base_link', rospy.time(), rospy.duration(1.0))。
50.s1、在上下位机通信模块中,实现了对伺服电机的驱动命令执行,接收来自其它节点发布的线速度、角速度、加速度等命令信号,并将其编译成数据流发送给底盘;s2、当zoo_bringup节点驱动,与底盘的通信建立成功后,能实时获取到odom坐标系下,当前机器人的实时位置数据,此时图中为x=0,y=0,z=0,说明该机器人在处于起始位置没有移动;s3、每台机器人都带有主激光雷达传感器以及视觉模块,毫米波雷达等传感器,主激光雷达传感器是多线传感器,能够生成点云数据,点云数据能够和视觉传感器回传的图像信息进行深度融合,在识别周围障碍物的同时,依靠沿边算法贴近障碍物,并保证与墙体障碍物始终保持固定距离,防止发生剐蹭和碰撞;s4、4.3.沿边算法节点核心(follow_the_wall)该节点模块启动后,首先持续对机器人坐标系进行监听,当没有任何任务发布时,机器人坐标位置为(0,0),同时程序处于待机状态,不进行算法逻辑判断,也不发布任何命令信号;s5、发布终点坐标信号后,沿边算法对终点坐标进行接受,接口为话题”/mrrobot/point”,数据消息类型为geomet_msgs/twist,然后以angular中的x,y进行发布。
51.沿边算法核心节点follow_the_wall接受到终点坐标信号后,开始执行算法逻辑判断,在软件终端上打印出:1)终点坐标信息(1.0,1.0)。
52.2)同时(-1.8627632540317378,
ꢀ‑
0.6500536291184762)代表机器人自身当前位置,在odom坐标系下的实时显示,格式为(x, y)数值小数点后12位数。
53.3)range: 0.84m ,该字段表示机器人当前位置离右侧墙体障碍物的最近距离。
54.4)always go straight. 该字段表示机器人在当前距离下,按照逻辑判断应该执行的具体命令信号,该字段代表直行行走的命令信号。
55.在算法逻辑判断中有四项基础判断,左转、右转、直行、后退,在沿边算法软件进行逻辑判断时,根据传感器检测到的障碍物信息,综合四项基础判断,做出基于环境变量信息的综合行为判断,例如:左转+左转+直行+右转+后退+直行,以此作为一个沿边行走的综合判断行为,综合了四项基础判断后,对于复杂的障碍物轮廓的环绕,生成的综合行为判断,并将这一连串的行为判断,以命令信号形式,发送给zoo_bringup驱动节点模块,以此驱动
下位机底盘,执行复杂的行为命令;s6、此时接收到的终点坐标为(2.0,0.0),当机器人到达终点坐标时,算法逻辑对于终点坐标和机器人自身位置相互判定,生成命令信号shutdown,表示机器人此时已经到达了终点位置,机器人沿边行为停止。
56.同时沿边算法核心会发布一个信号给/mrrobot/along_wall_return节点,(该信号以twist的数据形式,具体为linear:x:1.0),以此告诉ros主节点,本次沿边任务执行完毕,接下来可进行其它功能。上图各个字段含义如下:1)shutdown该字段表示任务终止,结束任务,shutdown的优先级为最高。
57.2)(2.0,0.0)该字段表示,本次任务接收到的终点坐标3)(1.9512724643577481,-0.7062256815510368)该字段表示,机器人当前位置,在odom坐标系下的具体表示4)frontobstacledetected.turningaway.该字段表示,前方障碍物堵死,执行转向绕行障碍物,但因为机器人已经位于终点坐标位置,所以任务已终止,该逻辑判断不再执行,只执行shutdown逻辑判断,机器人停止运行沿边算法核心节点提供的功能。
58.5)linear: x:1.0 y:0.0 z:0.0该字段表示沿边算法驱动机器人到达终点后,发送给ros主节点的标志信息,相当于机器人告诉主节点:“我到达终点了,可以执行其它任务。”;s6、从可视化软件中可看到,机器人当前位置,红色箭头表示正在执行的命令信号,此图为直行,黑色表示实际的障碍物轮廓,绿色表示激光雷达照到的范围信息,该图可视化执行的是,当range:0.84m为算法逻辑判断条件时,算法经过逻辑判断,生成了alwaysgostraight的命令信号指令,并在可视化界面上显示,同时传递命令信号给zoo_bringup驱动节点模块,以此控制下位机执行直行行走的命令。
59.其整个机构所达到的效果为:本发明采用多传感器融合,结合几何原理、线性代数原理、数学原理,构建清洁机器人多传感器的数学模型;本发明采用上下位机通信,上位机为工控机,内含搭建环境、软件算法;下位机为底盘控制板,底盘控制系统主要由电机驱动、伺服器、嵌入式软件驱动以及各自硬件元器件构成;本发明采用行为控制,机器人开发的一种模式,使得机器人根据传感器接收到的信息,依据已完成的算法逻辑,执行算法逻辑内部与周围环境信息相对应的行为,例如:在本算法中,机器人遇到障碍物会绕行,并始终与障碍物保持固定距离,将沿边这一行为,控制在算法规定的范围内;本发明采用ros机器人开发,软件的开发基于ros机器人开发系统平台,各部分算法软件均以节点形式,分布在ros机器人通信网络中,使得整套机器人开发,各部分均可实现模块化;本方案填补商用清洁机器人领域沿边清扫控制的缺失、多传感器融合、清洁覆盖面积更广、效能更高、算法保证并实现了基于多传感器下的与墙体始终保持固定距离并且不剐蹭或撞墙。
60.尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本
发明的保护范围之内。

技术特征:
1.一种基于多传感器的清洁机器人沿边清扫控制方法,其特征在于:包括多传感器融合、上下位机通信、行为控制和ros机器人开发;s1、首先根据几何原理、线性代数原理、数学原理,构建清洁机器人多传感器的数学模型;s2、多传感器融合包含三部分:位于极光壹号(aurora no.1)清洁机器人上方的主激光雷达,位于极光壹号(aurora no.1)清洁机器人右侧下方位置的测距激光雷达,超声波测距模块;s3、为了使清洁机器人增加对周围环境的感知数据,各传感器即为机器人的感知器官,感知越多,行为控制模式的效果越好,保证清洁机器人对算法的执行正确率。2.根据权利要求1所述的一种基于多传感器的清洁机器人沿边清扫控制方法,其特征在于:上位机:工控机硬件及工控机内部搭建的系统环境和部署的算法软件,上位机同时接收安卓端的信号,用户使用app对整个机器人系统发布总任务,上位机将总任务规划为具体的子任务或子命令,在接收传感器传递的环境变量参数消息后,根据子任务、软件算法逻辑,进行逻辑判断后,与下位机进行通信,并对下位机发布命令信号,下位机:接收上位机发布的命令信号,编译后,通过伺服器进行各部分电机的驱动,上下位机的通信,是整个机器人系统功能实现的基础,包含以下几个重要步骤:s1、上位机经过算法逻辑判断后,生成相应的命令信号数据包,经过软件指定的接口话题发布对下位机的命令信号,在发布完成后保持监听,等待下位机的信号反馈;s2、下位机经过规定好的软件接口,专门接收来自上位机的命令信号,同时将该信号编译为嵌入式软件的数据流信息格式,发布给具体的各部分执行任务的伺服驱动电机,然后反馈给上位机信号,表示本次任务发布结束,进入待机状态,保持对上位机接口的监听,等待下一次命令信号的发布;s3、上位机接收任务结束的反馈后,再次根据传感器收集到的环境变量信息,进入软件算法逻辑判断中,判定机器人下次任务的是否进行,如何进行等规划,如果逻辑判断总任务已经达成,则不会再更新下一次子任务;s4、当所有的子任务全部执行完毕后,判断总任务是否达成,达成则机器人进行待机状态,等待安卓端用户操作;如果判断总任务没有达成,则机器人将重新进行软件算法的逻辑判断,直达总任务判定达成。3.根据权利要求1所述的一种基于多传感器的清洁机器人沿边清扫控制方法,其特征在于:行为控制算法目前是机器人研究领域需要重点发展突破的方向,具体含义即根据具体环境信息、机器人功能设计,让机器人自主在环境信息不断改变的过程中,按照软件算法设计好的逻辑,具体执行相应的行为如下:s1、首先沿边算法会让机器人找到前方距离自身最近的障碍物点,并规划运动速度,直行走到距离障碍物0.75m的位置,到达该位置后,会先判断确认一次自身位置是否是沿边行为的起点;s2、判断自身位置为沿边行为的起点后,开始执行具体的沿边算法逻辑判断,先执行左转行为,保证机器人自身行走方向与障碍物墙体保持平行(因为本人编写的沿边算法基于右手法则,在封闭空间内,执行逆时针方向的沿边循环,因此第一次靠近墙体后,机器人必然执行左转行为),保持平行后,清洁机器人沿边进行移动,过程中时刻保证机器人自身机
械构体边缘相距障碍物墙体3-5cm的距离;s3、对于如何让机器人始终保持与墙体之间固定距离,即本沿边软件算法的核心部分;首先是机器人传感器的利用,采取了三个范围作为判定墙体障碍物的约束条件,分别是主激光雷达的右前方范围测量数据、主激光雷达的右侧垂直墙体范围测量数据,机器人右侧下方测距激光雷达测量数据;(机器人组装要求,主激光雷达的0
°
方向,和机器人前方保持一致)约束条件类似pid控制算法,通过三个约束,规定了机器人沿边行为的范围,以及发布给下位机的命令通信;最终呈现以下效果:离墙过远机器人会自动靠近障碍物墙体;离墙过近会自动远离;当墙体障碍物出现通道拐弯时,机器人自动跟随墙体转弯;当墙体前方阻挡,整体呈现直角时,机器人自动沿着墙体进行逆时针行走,期间保持与固定距离;单次任务从起点开始到终点结束,但沿边算法软件持续保持待机,直到下一次安卓端发布总命令信号,再次执行沿边算法子任务。4.根据权利要求1所述的一种基于多传感器的清洁机器人沿边清扫控制方法,其特征在于:包括反馈线性化法(处理非线性动态,非完整约束等),反步法(力控制速度,速度控制位置分级控制),底层位置速度回路反馈跟踪(跟踪速度/位置指令));模块功能:极光壹号(aurora no.1)机器人按照沿边算法从任务的起点沿边行走到任务的终点,期间保证机器人机械构体边缘与墙保持相距3-5cm。5.根据权利要求1所述的一种基于多传感器的清洁机器人沿边清扫控制方法,其特征在于:模块功能:规避沿边行为执行中可能会出现的不明障碍物,避免机器人出现剐蹭或膨胀的现象,模块实现原理:约束条件控制,采用激光雷达, 激光测距线性雷达,超声波模块,方法:预留安全距离;在线判断碰撞风险执行决策,逻辑判断闭环大致与沿边算法核心逻辑一致,机器人在遇到前方不明障碍物会进行左转绕行的判断。6.根据权利要求1所述的一种基于多传感器的清洁机器人沿边清扫控制方法,其特征在于:整套沿边软件算法是基于ros机器人系统平台开发,运行规则,接口定义,函数类型均依托于ros开发平台,具体代码由python编写;同时该沿边软件算法适配与清洁机器人的沿边清洁功能,与ros主机通信、安卓端等模块进行分布网络式联动,没有具体的代码配合或重合,只是根据各部分节点对应的接口,相互传递各种数据信号联动;涉及节点:激光雷达节点(/rplidar_s2、/scan); 底盘驱动节点(zoo_bringup);沿边算法核心节点(follow_the_wall);对应的接口话题、数据类型及传递函数:雷达('/scan', laserscan, scan_callback)底盘驱动('cmd_vel', twist, queue_size=1)任务坐标('/mrrobot/point', twist, pointcallback)机器人自身坐标监听('/map', '/base_link', rospy.time(), rospy.duration(1.0))。7.根据权利要求1所述的一种基于多传感器的清洁机器人沿边清扫控制方法,其特征在于:s1、在上下位机通信模块中,实现了对伺服电机的驱动命令执行,接收来自其它节点发
布的线速度、角速度、加速度等命令信号,并将其编译成数据流发送给底盘;s2、当zoo_bringup节点驱动,与底盘的通信建立成功后,能实时获取到odom坐标系下,当前机器人的实时位置数据,此时图中为x=0,y=0,z=0,说明该机器人在处于起始位置没有移动;s3、每台机器人都带有主激光雷达传感器以及视觉模块,毫米波雷达等传感器,主激光雷达传感器是多线传感器,能够生成点云数据,点云数据能够和视觉传感器回传的图像信息进行深度融合,在识别周围障碍物的同时,依靠沿边算法贴近障碍物,并保证与墙体障碍物始终保持固定距离,防止发生剐蹭和碰撞;s4、4.3.沿边算法节点核心(follow_the_wall)该节点模块启动后,首先持续对机器人坐标系进行监听,当没有任何任务发布时,机器人坐标位置为(0,0),同时程序处于待机状态,不进行算法逻辑判断,也不发布任何命令信号;s5、发布终点坐标信号后,沿边算法对终点坐标进行接受,接口为话题”/mrrobot/point”,数据消息类型为geomet_msgs/twist,然后以angular中的x,y进行发布;沿边算法核心节点follow_the_wall接受到终点坐标信号后,开始执行算法逻辑判断,在软件终端上打印出:1)终点坐标信息(1.0,1.0);2)同时(-1.8627632540317378,-0.6500536291184762)代表机器人自身当前位置,在odom坐标系下的实时显示,格式为(x,y)数值小数点后12位数;3)range:0.84m,该字段表示机器人当前位置离右侧墙体障碍物的最近距离;4)alwaysgostraight.该字段表示机器人在当前距离下,按照逻辑判断应该执行的具体命令信号,该字段代表直行行走的命令信号;在算法逻辑判断中有四项基础判断,左转、右转、直行、后退,在沿边算法软件进行逻辑判断时,根据传感器检测到的障碍物信息,综合四项基础判断,做出基于环境变量信息的综合行为判断,例如:左转+左转+直行+右转+后退+直行,以此作为一个沿边行走的综合判断行为,综合了四项基础判断后,对于复杂的障碍物轮廓的环绕,生成的综合行为判断,并将这一连串的行为判断,以命令信号形式,发送给zoo_bringup驱动节点模块,以此驱动下位机底盘,执行复杂的行为命令;s6、此时接收到的终点坐标为(2.0,0.0),当机器人到达终点坐标时,算法逻辑对于终点坐标和机器人自身位置相互判定,生成命令信号shutdown,表示机器人此时已经到达了终点位置,机器人沿边行为停止;同时沿边算法核心会发布一个信号给/mrrobot/along_wall_return节点,(该信号以twist的数据形式,具体为linear:x:1.0),以此告诉ros主节点,本次沿边任务执行完毕,接下来可进行其它功能;上图各个字段含义如下:1)shutdown该字段表示任务终止,结束任务,shutdown的优先级为最高;2)(2.0,0.0)该字段表示,本次任务接收到的终点坐标3)(1.9512724643577481,-0.7062256815510368)该字段表示,机器人当前位置,在odom坐标系下的具体表示
4)frontobstacledetected.turningaway.该字段表示,前方障碍物堵死,执行转向绕行障碍物,但因为机器人已经位于终点坐标位置,所以任务已终止,该逻辑判断不再执行,只执行shutdown逻辑判断,机器人停止运行沿边算法核心节点提供的功能;5)linear: x:1.0 y:0.0 z:0.0该字段表示沿边算法驱动机器人到达终点后,发送给ros主节点的标志信息,相当于机器人告诉主节点:“我到达终点了,可以执行其它任务”;s6、从可视化软件中可看到,机器人当前位置,红色箭头表示正在执行的命令信号,此图为直行,黑色表示实际的障碍物轮廓,绿色表示激光雷达照到的范围信息,该图可视化执行的是,当range:0.84m为算法逻辑判断条件时,算法经过逻辑判断,生成了alwaysgostraight的命令信号指令,并在可视化界面上显示,同时传递命令信号给zoo_bringup驱动节点模块,以此控制下位机执行直行行走的命令。

技术总结
本发明公开了一种基于多传感器的清洁机器人沿边清扫控制方法,包括多传感器融合、上下位机通信、行为控制和ROS机器人开发;S1、首先根据几何原理、线性代数原理、数学原理,构建清洁机器人多传感器的数学模型;S2、多传感器融合包含三部分:位于极光壹号(AURORA NO.1)清洁机器人上方的主激光雷达,位于极光壹号(AURORA NO.1)清洁机器人右侧下方位置的测距激光雷达,超声波测距模块;S3、为了使清洁机器人增加对周围环境的感知数据,各传感器即为机器人的感知器官,本方案填补商用清洁机器人领域沿边清扫控制的缺失、多传感器融合、清洁覆盖面积更广、效能更高、算法保证并实现了基于多传感器下的与墙体始终保持固定距离并且不剐蹭或撞墙。剐蹭或撞墙。剐蹭或撞墙。


技术研发人员:朱思宇 李宇浩
受保护的技术使用者:麦岩智能科技(北京)有限公司
技术研发日:2022.07.04
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-8219.html

最新回复(0)