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

机器人路径动态规划方法、装置及机器人与流程

2022-06-11 12:23:29 来源:中国专利 TAG:


1.本发明涉及人工智能领域,具体而言,涉及一种机器人路径动态规划方法、装置、及机器人。


背景技术:

2.在移动机器人路径规划中,区域覆盖路径规划在多种领域中都有被用到,例如:扫地机器人,消杀机器人,移动安防机器人,配送机器人,割草机器人,擦玻璃机器人,移动商务机器人,农业机器人,特种作业机器人,军工机器人等。
3.早期的移动机器人在做区域覆盖路径规划时,比较简单,通常由旋转行进和直线行进两个动作组成:当机器人遇到障碍物后,就旋转一定的角度,继续走直线,直到超出规定的时间。这种区域覆盖方式效率低,遗漏面积大,在早期的扫地机器人中比较常见。
4.随着惯性导航技术的应用,移动机器人具备了定位功能,区域覆盖规划有了新的方向,可以规划出避开已知障碍物的路径,例如,弓字(或称为之字)路径规划方式等。
5.然而,由于目前移动机器人的应用场景逐渐多元化,家居环境,公共办公环境,室外环境,需要应对的需求也日渐多样,上述区域覆盖规划方式已经不能满足需求。
6.相关技术中的区域覆盖规划方式,主要有以下几个方面问题:
7.1、弯道较多,且都是急转弯,导致机器人在转弯时具有较高的旋转速度。这对机器人的slam模块会产生不可忽视的影响。当机器人的体积,重量较大时,就会产生较大的惯性,带动负载产生较大的晃动,大大降低了机器人的稳定性。可以考虑通过降低机器人转弯时的速度改善以上情况,但这样又会引入频繁的加速和减速的问题,同时也会降低工作效率。
8.2、工作效率较低。相关技术中的区域覆盖规划方式,通常由直线组成,没有曲线,单条路径长度较短,且延展方向具有单向性(每次都只能向一个固定的方向延展,到尽头后就要停下来重新确立起点和方向)。
9.3、应用平台单一。相关技术中的区域覆盖规划方式,在以差速控制模型的机器人底盘上具有较好的适应性;在汽车控制模型的底盘上就会受机器人转弯半径的约束,致使清扫间距受限,降低工作效率。
10.因此,目前亟待提出一种新的区域覆盖动态规划路径方案,以解决上述问题,提高机器人的作业工作效率。


技术实现要素:

11.本发明的主要目的在于公开了一种机器人路径动态规划方法、装置、及机器人,以至少解决采用相关技术中的区域覆盖规划方式,导致机器人稳定性不高且工作效率低下等问题。
12.根据本发明的一个方面,提供了一种机器人路径动态规划方法。
13.根据本发明的机器人路径动态规划方法包括:根据预定路线或者预定位置,在机
器人的作业范围内确定上述机器人作业的第一条路径,将上述第一条路径的信息发送至机器人的运动控制模块,以使上述运动控制模块控制机器人跟踪上述第一条路径;结合机器人的实时位置、实时角度、预定偏移角度,以及上述机器人与最近障碍物或最近历史路径的实时距离,调整机器人的运动姿态使得机器人沿着与最近历史路径或者最近障碍物保持预定距离的路径行进,在机器人行进过程中实时检测覆盖信息,如果相邻区域均为已覆盖区域,则重新搜索起始点,控制上述机器人导航至搜索到的起始点,循环执行此步骤,直至上述机器人无法找到新的起始点。
14.根据本发明的另一方面,提供了一种机器人路径动态规划装置。
15.根据本发明的机器人路径规划装置包括:确定模块,用于根据预定路线或者预定位置,在机器人的作业范围内确定上述机器人作业的第一条路径;发送模块,用于将上述第一条路径的信息发送至机器人的运动控制模块,以使上述运动控制模块控制机器人跟踪上述第一条路径;动态规划模块,用于结合机器人的实时位置、实时角度、预定偏移角度,以及上述机器人与最近障碍物或最近历史路径的实时距离,调整机器人的运动姿态使得机器人沿着与最近历史路径或者最近障碍物保持预定距离的路径行进,在机器人行进过程中实时检测覆盖信息,如果相邻区域均为已覆盖区域,则重新搜索起始点,控制上述机器人导航至搜索到的起始点,循环执行此步骤,直至上述机器人无法找到新的起始点。
16.根据本发明的又一方面,提供了一种机器人。
17.根据本发明的机器人包括:存储器及处理器,上述存储器,用于存储计算机执行指令;上述处理器,用于执行上述存储器存储的计算机执行指令,使得上述机器人执行如上述任一项上述的方法。
18.根据本发明,提出了一种新的区域覆盖动态规划路径方案,先根据预定路线或者预定位置,在机器人的作业范围内确定上述机器人作业的第一条路径,之后结合机器人的实时位置、实时角度、预定偏移角度,以及上述机器人与最近障碍物或最近历史路径的实时距离,调整机器人的运动姿态使得机器人沿着与最近历史路径或者最近障碍物保持预定距离的路径行进,直至检测到的相邻区域均为已覆盖区域,则重新搜索起始点,控制上述机器人导航至搜索到的起始点,循环执行此步骤,直至上述机器人无法找到新的起始点,作业流程结束。采用本技术的路径动态规划方法,解决了相关技术中的区域覆盖规划方式,导致机器人稳定性不高且工作效率低下等问题,提高了机器人稳定性和工作效率。并且可以根据实时信息对机器人的路径动态规划调整,因此适用于工作环境中有较多动态障碍物的复杂场景。
附图说明
19.图1是根据本发明实施例的机器人路径规划方法的流程图;
20.图2是根据本发明实例的多数据填充后的栅格地图的示意图;
21.图3是根据本发明实施例的机器人路径规划装置的结构框图;
22.图4是根据本发明实施例的机器人的结构示意图。
具体实施方式
23.下面结合说明书附图对本发明的具体实现方式做一详细描述。
24.图1是根据本发明实施例的机器人路径规划方法的流程图。如图1所示,该机器人路径规划方法包括:
25.步骤s101:根据预定路线或者预定位置,在机器人的作业范围内确定上述机器人作业的第一条路径,将上述第一条路径的信息发送至机器人的运动控制模块,以使上述运动控制模块控制机器人跟踪上述第一条路径;
26.步骤s102:结合机器人的实时位置、实时角度、预定偏移角度,以及上述机器人与最近障碍物或最近历史路径的实时距离,调整机器人的运动姿态使得机器人沿着与最近历史路径或者最近障碍物保持预定距离的路径行进,在机器人行进过程中实时检测覆盖信息,如果相邻区域均为已覆盖区域,则重新搜索起始点,控制上述机器人导航至搜索到的起始点,循环执行此步骤,直至上述机器人无法找到新的起始点。
27.采用图1所示的方法,提出了一种新的区域覆盖动态规划路径方案,先根据预定路线或者预定位置,在机器人的作业范围内确定上述机器人作业的第一条路径,之后结合机器人的实时位置、实时角度、预定偏移角度,以及上述机器人与最近障碍物或最近历史路径的实时距离,调整机器人的运动姿态使得机器人沿着与最近历史路径或者最近障碍物保持预定距离的路径行进,直至检测到的相邻区域均为已覆盖区域,则重新搜索起始点,控制上述机器人导航至搜索到的起始点,循环执行此步骤,直至上述机器人无法找到新的起始点,作业流程结束。采用本技术的路径规划方法,解决了相关技术中的区域覆盖规划方式,导致机器人稳定性不高且工作效率低下等问题,提高了机器人稳定性和工作效率。并且可以根据实时信息对机器人的路径动态规划调整,因此适用于工作环境中有较多动态障碍物的复杂场景。
28.在优选实施过程中,上述机器人具备两种沿边能力:
29.1、实体沿边的能力。机器人需要具备探测障碍物距离的传感器,例如,扫地机器人上的沿边传感器,可以帮助机器人实现沿着墙体前进的功能。
30.2、虚拟沿边的能力。例如,在地图中划定一片区域,机器人可以按顺时针或者逆时针的方向沿着区域边界前进。
31.优选地,根据预定路线或者预定位置,在机器人的作业范围内确定上述机器人作业的第一条路径之前,还可以包括以下处理:新建用于存储已覆盖区域信息的覆盖区域地图;在上述运动控制模块控制机器人跟踪上述第一条路径时,或者调整机器人的运动姿态使得机器人沿着与最近历史路径或者最近障碍物保持预定距离的路径行进时,还包括:将上述机器人当前作业已覆盖区域信息实时存储至上述覆盖区域地图中。
32.在优选实施过程中,新建覆盖区域地图(例如,栅格地图)covermap,用于记录已作业覆盖区域,具体地,可以将已覆盖区域对应的栅格属性置为 cover,将未覆盖区域的栅格属性置为unknown,covermap的栅格属性在初始化时全置为unknown。将边界数据填充到covermap中,填充为side,边界以外的区域填充为outside。
33.机器人在执行作业过程中(例如,在上述运动控制模块控制机器人跟踪上述第一条路径时,或者调整机器人的运动姿态使得机器人沿着已覆盖区域或者障碍物的边界行进时),将以机器人当前位置为中心n层以内的栅格属性都置为cover。其中,n的值是机器人单次覆盖宽度的一半,例如,机器人单次覆盖宽度为10个栅格,则n的值为5。机器人在沿着障碍物走时把障碍物信息填充到covermap中,置为obs并膨胀n层,n的值为机器人的安全半
径,需要根据机器人的属性信息(例如,形状、结构等)来确定。
34.优选地,如图2所示,根据预定路线或者预定位置,在机器人的作业范围内确定上述机器人作业的第一条路径之前,还可以包括以下处理:基于参考点建立世界坐标系,并基于上述世界坐标系构建世界地图,其中,上述参考点包括:充电桩位置、初始化对象位置、机器人作业启动位置;基于上述世界坐标系和上述世界地图,构建栅格地图,其中,上述栅格地图包括:未知区域信息、障碍物区域信息、障碍物膨胀区域信息、空闲区域信息;确定机器人的作业范围。
35.在优选实施过程中,首先需要确定参考点,例如,可以通过以下方式确定参考点:
36.方式一:机器人从充电桩上启动,以充电桩上的红外信号点为参考点,机器人作业完成后再回到充电桩上充电/待机;具体实施过程中,充电桩附近不可放置干扰机器人移动的物体。
37.方式二:机器人以初始化对象(初始化对象可以为包含自然特征、固定特征等各类特征标识的物体,例如,平面标记板等。初始化对象标记物上的标识可以是apriltag,也可以是其他类型的标识,如artag,artoolkit,aruco 等)位置作为起始点,如果机器人作业完成后如果无法找到充电桩,则可以返回至初始化对象附近。具体实施过程中,初始化对象附近也不可放置干扰机器人移动的物体。
38.方式三:机器人可以在任意位置启动作业,因此可以以机器人作业启动位置作为参考点,机器人工作过程中如果没有发现充电桩位置,机器人完成任务后可以返回至该机器人作业启动位置。
39.在优选实施过程中,可以基于上述世界坐标系和上述世界地图,构建栅格地图。其中,栅格地图是一个有序的数据阵列,是像素的集合,由很多小方块像素组成,各个像素之间互不影响,栅格地图分为二维(2d)栅格地图和三维(3d)栅格地图,3d栅格地图存储的数据量较多,比2d栅格地图需要更大的存储空间,数据访问时的效率相对较低,对于非空间移动机器人一般采用2d栅格地图,对于地面移动机器人来说,由于2d栅格地图已经满足需求,下面均以2d栅格地图为例进行说明。
40.栅格地图的存储形式包括但不限于以下几种:
41.第一种:节省存储空间的有:链式,游程,块状,四叉树等。缺点是随机读写效率较低。
42.第二种:读写效率较高的有:静态图。缺点是占有的存储空间大小固定,比较消耗存储资源。
43.第三种:兼顾存储和读写的方式:动态图。占有的存储空间随地图有效数据的大小变化,还是会浪费少部分存储资源,读写速度和静态图相等。
44.从机器人的角度出发,可以将地图中的空间属性划分为:未知(unknown) 区域(机器人未到过的区域),障碍物区域(obs,不可通过区域),障碍物膨胀区域(obsexpand,非障碍物但不可通过区域),空闲区域(free,机器人可以通过的区域),地图上的栅格值可以用来代表以上几类区域信息,有时还会在地图上标注其他特殊标记。例如,栅格值254表示障碍物区域,栅格值100代表障碍物膨胀区域,栅格值0代表空闲区域。
45.具体实施过程中,可以通过以下方式建图:
46.首先,获取建图的参考数据:机器人通过传感器感知外界信息,可以采用多传感
器,包括:红外传感器、超声波传感器、碰撞传感器等,此类传感器可以在近距离检测障碍物;激光雷达,单目或者双目摄像头,结构光,tof,这类传感器可以远距离检测障碍物;其中激光雷达和摄像头的检测范围相对较大,机器人在建图时一般主要参照这两种传感器的数据,根据机器人功能平台的差异,其他传感器的数据也可以用来建图。对于安全需求较高的机器人,可以在机器人不同部位安装多种传感器,确保传感器的检测范围可以覆盖机身,将各个传感器数据纵向映射到2d平面填充到栅格地图中;也可根据机器人机身高度,建立3d栅格地图,在使用时对3d栅格图降维处理,将3d 栅格地图压缩为2d栅格地图。
47.其次,执行数据填充操作,包括:先对传感器数据进行滤波降噪处理;从传感器得到的数据都是具有距离和方位的矢量数据,通过矢量数据栅格化处理后,就可以得到目标点(障碍物)相对于传感器的栅格坐标。将目标点的栅格坐标平移到机器人所在的栅格坐标后,就可以得到目标点相对于地图原点的栅格坐标。将地图中目标点的栅格属性置为障碍物区域,将障碍物周围的非障碍物区域置为膨胀区域,将目标点到机器人所在的栅格坐标之间的非膨胀区域置为空闲区域。对于误差而言,栅格地图的误差包含两种:传感器的测量误差和栅格化自身的误差。误差的大小取决于传感器的精度和栅格地图的分辨率,传感器测量精度越高,地图分辨率就越高,地图所反馈的信息误差越小,但地图的数据量越大,在做决策时所消耗的时间越长。一般情况下,传感器的精度是固定的,无法改变;地图的分辨率是可以根据实际需求设定的,但一般不会高于传感器的测量误差。结合多传感器数据填充后的栅格地图,可以参见图2所示的示例,其中,该栅格地图包括:未知区域20 (图中阴影区域)、障碍物区域21(图中白色区域)、障碍物膨胀区域22(图中灰色区域)、空闲区域23(图中黑色区域)。
48.通常情况下,由于不同的机器人平台,对地图的需求是多样的,对于建好的地图,还需要执行地图优化修正。优化修正的方式包括但不限于:降噪,平滑,拉直,地图方向校正等处理。
49.优选地,基于参考点建立世界坐标系,并基于上述世界坐标系构建世界地图包括以下至少之一:响应用户操控机器人在目标区域内移动的操作,直至完成上述世界地图的构建;当上述机器人在上述目标区域内自主移动建图,直至完成上述世界地图的构建;当上述机器人跟踪预设特定标识或者移动物体移动建图,直至完成上述世界地图的构建;响应云端操作,当一个或多个上述机器人在上述目标区域内移动时建图,直至完成上述世界地图的构建。即,可以采用上述的任意一种方式,或者任意两种方式的组合,或者任意两种方式的组合,或者上述四种方式的组合,来实现基于参考点建立世界坐标系,并基于上述世界坐标系构建世界地图。
50.在优选实施过程中,可以采用以下至少之一的方式执行机器人建图操作:
51.1、响应用户操控机器人在目标区域内移动的操作,直至完成上述世界地图的构建;例如,使用遥控、手柄、直接推动等方式,让机器人在目标区域内移动,直到完成建图。或者,由机器人跟踪指定目标(例如,用户)完成对工作环境的扫描建图,适用于人机混合作业,跨种类机器人混合作业的场景。
52.2、机器人自主建图的方式:机器人在目标区域内自主移动,直到完成建图。具体包括以下处理:(1)机器人启动;(2)机器人对周围环境进行扫描;(3)机器人在最近的未知区域附近找一个目标点;(4)机器人通过导航到达目标点,然后回到步骤(2)继续执行;(5)直
到在步骤(3)找不到目标点,完成建图。
53.3、目标物体引导:在机器人的工作场景中放置具有指向性的特定标识(例如,二维码等等),或者为机器人设定特定物体特征(例如,平面标记板等等),机器人会跟踪上述标识或特征对周围环境进行扫描建图。
54.4、云端控制:当一个或多个上述机器人在上述目标区域内移动时建图,通过云端对机器人进行远程/集中控制。可以实现对机器人的集群管理,适用于大型场地多机协同作业建图的场景。
55.需要说明的是,上述几种方式可以使用其中任意一种,任意两种的组合,任意三种的组合,以及四种方式相结合来建图。
56.其中,上述建图内容可以是不同机器人依据具体工作环境和用途,在建图时需要扫描记录、以备使用的多种信息。例如:机器人轨迹信息、场景障碍物信息、机器人业务操作信息、环境特征信息、语义识别信息、跌落信息等。
57.优选地,确定机器人作业范围可以包括以下至少之一:
58.响应用户操控机器人移动的操作,将上述机器人的移动轨迹对应的栅格围成的范围作为上述作业范围;
59.响应用户通过人机交互界面对地图的设置操作,将用户设置的路线围成的范围作为上述作业范围;
60.在上述机器人在上述目标区域内自主移动完成上述栅格地图的构建之后,在上述栅格地图中查找与起始点相连的空闲区域,并将上述空闲区域的位置信息保存到第一列表中;遍历上述第一列表,将上述第一列表中的位置信息对应的位置向非空闲区域进行n层膨胀,并将第n层的栅格确定为机器人作业范围的最外层栅格,遍历上述栅格地图,将全部上述最外层栅格的位置信息存储至第二列表中,其中,上述n为边界深度,n由定位误差、建图误差、机器人关联信息确定;
61.上述机器人根据预定标记物或者预定特征信息,在上述栅格地图中划定上述作业范围。
62.即,可以采用上述其中的任一种方式、也可以采用上述其中的任两种方式的组合、也可以采用上述其中的任三种方式的组合、或者采用四种方式的组合,来确定机器人作业范围。
63.在优选实施过程中,在执行响应用户通过人机交互界面对地图的设置操作,将用户设置的路线围成的范围作为上述作业范围时,需要先获取地图(例如,栅格地图)。如果当前没有已经构建好的地图,则获取地图的方式包括:采用上述建图方式构建地图。当然,如果当前已经有构建好的地图,则获取地图的方式包括:直接导入已经构建的地图。即机器人不需重新建图,可以直接使用已经构建的地图。例如,在一个场景中有多个机器人,只需其中一个机器人建图,其他机器人均可以共享该地图数据;或者,同一个机器人需要在多个场景中工作,机器人在一个场景中完成建图后就可以把地图存储下来,以备下次使用。此外,多机集群工作时,各个机器人可以相互分享地图;也可将每个机器人所建的地图上传至云端,在云端后台对上传的多张地图进行合并,然后将合并后的地图再分发给机器人集群。
64.并且,机器人一般都是在有限的空间范围内工作,要为机器人确定工作范围。具体地,可以采用以下至少之一的方式确定机器人作业范围:
65.方式一:响应用户操控机器人移动的操作,将上述机器人的移动轨迹对应的栅格围成的范围作为上述作业范围;例如,由用户引导机器人沿指定区域边界绕行一圈,以机器人的轨迹对应的栅格围成的范围作为作业范围,机器人在以后的工作过程中,不允许超出该移动轨迹。这种方式划出的作业范围具有一定的局限性,有些机器人无法进入的区域就不能被纳入到机器人的工作范围内。
66.方式二:响应用户通过人机交互界面对地图的设置操作,将用户设置的路线围成的范围作为上述作业范围;例如,机器人在已知封闭区域内完成自主建图后,通过人机交互界面,在地图上手动划定边界。这种方式可以灵活地划定边界。
67.方式三:机器人在已知封闭区域内完成自主建图后,自主确定作业范围。划出的范围较为全面,可以最大限度的划定机器人的工作范围。具体包括以下步骤:
68.步骤1:采用上述建图方式自主建图,完成栅格地图(下文以worldmap 表示)的构建。
69.步骤2:自主确定边作业范围:
70.(1)在worldmap中查找机器人可以到达的区域,并存储到ilist中。
71.(2)确定边界深度n(栅格数)。其中,n1是建图最大误差和机器人定位最大误差的和;n2是机器人的机身半径;n3是机器人的控制误差。n 的值可以通过以下方式确定:将n1,n2,n3的和转为栅格数量并加1。
72.(3)遍历ilist1,将ilist1中的坐标向非空闲区域(非free区域)进行n 层膨胀,并将第n层的栅格值标记为flgside1。
73.(4)遍历worldmap,将flgside1的栅格坐标存储到tlist1中。tlist1中的数据即上述边界的数据。
74.方式四:在机器人工作的环境中设置特殊标记,或者对机器人设定特定自然特征,机器人依据标记物或者预定特征信息,在上述栅格地图中划定上述作业范围。
75.需要说明的是,可以采用上述任一种方式、任两种方式的组合、任三种方式的组合、四种方式的组合,来确定机器人作业范围。例如,在机器人完成自主建图并自主确定边界后,可以响应用户通过人机交互界面对地图的设置操作,对边界信息进行调整等。
76.优选地,在基于上述世界坐标系和上述世界地图,构建栅格地图之后,还可以包括以下至少之一:
77.响应用户禁区设置操作,在上述栅格地图中设置禁止上述机器人进入的禁区;
78.响应用户虚拟墙设置操作,在上述栅格地图设置禁止机器人通行的虚拟墙;
79.响应用户核心(重点)覆盖区域设置操作,在上述栅格地图中设置需要机器人实现作业全覆盖或者多次覆盖的区域;
80.响应用户忽略覆盖区域设置操作,在上述栅格地图中设置需要机器人通行,但无需实现覆盖的区域;
81.响应用户安全覆盖区域设置操作,在上述栅格地图中设置机器人通行时需要与障碍物保持预定安全距离的区域;即,机器人在该区域作业时不允许与障碍物靠的太近,要保持设定的安全距离。
82.响应用户对特定区域的设置操作,在上述栅格地图中按照区域属性信息设置特定区域。例如,地毯区,洼地区,凸起区,限高区,限宽区,限重区,静音区,干燥区,积水区,非平
整路面区,阴暗区,强光区,静态物体区,动态物体区;机器人在通过这些区域时,会根据设定的区域属性对工作方式做出调整。
83.优选地,根据预定路线或者预定位置,在机器人的作业范围内确定上述机器人作业的第一条路径可以包括以下之一的方式:
84.方式一:将上述机器人作业范围的最外层栅格组成的路线确定为上述机器人作业的第一条路径。
85.在优选实施过程中,机器人沿着作业范围的最外层栅格组成的路线按设定的方向前进,在遇到障碍物时转为沿障碍物,再次返回至作业范围的最外层栅格组成的路线时再转为沿该边界前进,直到走到历史路径为止。
86.方式二:以上述机器人的当前位置为中心,以上述机器人的最小转弯半径为半径形成路线,将该路线作为上述机器人作业的第一条路径。
87.在优选实施过程中,以机器人当前位置为中心,以机器人最小转弯半径为半径形成的圆边为第一条路径。机器人可以先以当前方向前进,行进至圆边后,调整机器人的方向,使之与圆相切的方向,然后前进。机器人行进过程中如果发现障碍物时,则转换为沿障碍物的边界前进,直至走到历史路径为止。
88.方式三:以上述机器人的当前位置为起始点,以上述机器人的最小转弯半径为半径形成路线,将该路线作为上述机器人作业的第一条路径。
89.在优选实施过程中,以机器人当前位置为起始点,以机器人最小转弯半径为半径形成的圆边为第一条路径,机器人行进过程中,发现障碍物时,则转换为沿障碍物的边界前进。
90.方式四:以上述机器人最近的障碍物的边界点为起始点,沿着该障碍物的边界行进的路线为上述机器人作业的第一条路径。
91.在优选实施过程中,以机器人最近的障碍物的边界点为起始点,机器人开始沿障碍物前进,先找到离机器人最近的障碍物,然后导航至障碍物的边界上,机器人沿着障碍物的边界前进。
92.方式五:确定上述机器人沿当前方向行进所至的障碍物或者区域的边界,将沿着该障碍物或者区域的边界行进的路线作为上述机器人作业的第一条路径。
93.在优选实施过程中,机器人沿当前方向行进,直至行进到障碍物或者作业范围的边界,然后开始沿障碍物或者作业范围的边界行进。
94.优选地,上述步骤s102中,结合机器人的实时位置、实时角度、预定偏移角度,以及上述机器人与最近障碍物或最近历史路径的实时距离,调整机器人的运动姿态使得机器人沿着与最近历史路径或者最近障碍物保持预定距离的路径行进可以进一步包括以下处理:根据机器人的属性参数确定上述机器人的预定偏移角度;根据上述实时角度与上述预定偏移角度之和确定参考方向;以上述机器人的实时位置为基准点,沿上述参考方向确定上述机器人到最近障碍物或最近历史路径的实时距离;结合上述机器人的实时位姿信息、上述参考方向、上述实时距离,调整上述机器人的运动姿态使得机器人沿着与最近历史路径或者最近障碍物保持预定距离的路径行进。
95.在优选实施过程中,机器人的当前实时位置为(x,y),当前实时角度为yaw,确定一个满足需求的偏移角度dlt(可以根据机器人的属性信息(例如,机器人的形状、结构等)确
定该值)。以机器人的当前实时位置(x,y) 为基准点,以yaw dlt为参考方向dir,查找距离机器人当前位置最近的已覆盖区域或者障碍物的边界,确定该边界上距离上述机器人当前位置最近的位置点,计算出机器人当前实时位置到该位置点的距离l,结合机器人的当前实时位姿(位置信息和方向信息),参考方向dir,距离l调整机器人的运动姿态使得机器人保持预定距离的路径或者最近障碍物保持预定距离的路径行进。机器人沿着与最近历史路径或者最近障碍物保持预定距离的路径按顺时针或者逆时针方向前进,在机器人行进的同时,需要实时检测覆盖信息,在 covermap上记录覆盖区域,直至当前的相邻区域都是已覆盖区域。
96.优选地,上述步骤s102中,上述重新搜索起始点可以进一步包括:搜索距离上述机器人当前位置最近的已覆盖区域或者障碍物的最外层,并确定搜索到的最外层上距离上述机器人当前位置最近的位置点;统计与上述位置点相连的未覆盖区域的最外层的长度,以及该未覆盖区域的面积;当上述未覆盖区域的最外层的长度大于或等于预定第一阈值,和/或,上述未覆盖区域的面积大于或等于预定第二阈值,则将上述位置点确定为上述起始点。
97.在优选实施过程中,在机器人行进过程中实时检测覆盖信息,如果相邻区域均为已覆盖区域,则表明当前这块区域已经覆盖完毕,需要搜索其他未覆盖区域进行作业。具体地,可以搜索距离机器人当前位置最近的已覆盖区域的边界或者障碍物的边界,并确定搜索到的边界上距离机器人当前位置最近的位置点,统计与该位置点相连的未覆盖区域的边界长度以及该未覆盖区域的面积,如果上述未覆盖区域的边界的长度大于或等于预定第一阈值,和/ 或,上述未覆盖区域的面积大于或等于预定第二阈值,则将上述位置点确定为上述起始点。即,当未覆盖区域的边界的长度大于或等于预定第一阈值,将上述位置点确定为上述起始点;或者,当未覆盖区域的面积大于或等于预定第二阈值,将上述位置点确定为上述起始点;或者,当未覆盖区域的边界的长度大于或等于预定第一阈值,且未覆盖区域的面积大于或等于预定第二阈值时,将上述位置点确定为上述起始点。
98.当未覆盖区域的边界的长度小于预定第一阈值,且未覆盖区域的面积小于预定第二阈值时,则需要重新查找起始点,可以在排除上面的未覆盖区域和障碍物后,继续搜索距离机器人当前位置最近的另一已覆盖区域的边界或者另一障碍物的边界,并确定搜索到的边界上距离机器人当前位置最近的位置点,统计与该位置点相连的未覆盖区域的边界长度以及该未覆盖区域的面积,如果上述未覆盖区域的边界的长度大于或等于预定第一阈值,和/或,上述未覆盖区域的面积大于或等于预定第二阈值,则将上述位置点确定为上述起始点。如果经过多次搜索,确定无法找到合适的起始点,则机器人作业流程结束。
99.优选地,在机器人作业过程中,还可以包括以下至少之一处理:
100.在上述机器人作业过程中,对于同一区域内,不同时间点的空间信息发生变化时,上述运动控制模块控制上述机器人执行脱困决策处理,在上述机器人无法实现脱困的情况下,上述机器人执行异常申报处理;
101.在上述机器人作业过程中,对于不同区域内,相同时间点的空间信息发生变化时,上述机器人依据历史记录信息以及当前传感器的观测数据,执行相应决策处理。
102.在优选实施过程中,机器人决策规划的先决条件是感知,能感知,才能应对。机器人的智能化程度取决于感知能力。传感器探测,物联网数据共享,机器学习,状态预测,这些都是机器人的感知能力,但并不是所有机器人平台都具备这些能力。当机器人遇到超出感
知能力以外的情况,机器人就很难做出合理有效的应对了。
103.在同一地点,不同时间点的空间信息发生的改变,导致机器人的正常工作流程被打断,这种情况是无法做出合理的决策规划的。例如:机器人进入一个房间后,房间的门被关闭,机器人想要离开当前房间,但机器人无法知道门下一次开启的时间。房间的门在不同时间点的开关状态可能不同,机器人可以检测到门的开启或关闭,但机器人无法知道门在下一个时间节点的开关状态。如果要求机器人在房间内等待门开启,那么又会引入新的问题:机器人应该在房间内的什么位置等待;机器人在等待期间是否影响到房间内其他物体(例如其他机器人)的正常工作;机器人是否会被其他物体(例如其他机器人)当作障碍物;机器人等待期间是否需要变换位置;机器人是否能及时感知到门被打开,机器人如何获知需要等待的时间,在等待期间机器人电量不足如何处理等等问题,在没有合理应对方式实现脱困的情况下,机器人可以发出警报,等待人工介入,从而避免让机器人从时间维度上做决策规划。
104.在同一时间点,不同空间信息发生的改变,机器人的决策规划也具有一定的局限性。受传感器的探测范围的影响,机器人对空间环境的感知是受限的,只能检测局部环境的变化,对于超出机器人感知范围以外的环境变化,机器人只能依据历史信息做出决策规划。机器人在执行决策任务时,可以依据当前的感知信息,对决策规划做出实时调整。例如,规划出的路径上检测出新的障碍物,机器人可以尝试绕开障碍物,发现不能绕开时,则重新规划路径。
105.优选地,上述方法还包括:在机器人完成全部作业后(例如,覆盖路径无法再生成,且补漏路径也无法再生成,可以认为完成全部作业),对于上述机器人作业覆盖区域进行统计,得到机器人实际作业覆盖区域的面积,根据实际作业覆盖区域的面积与上述预先确定的机器人作业范围的面积,计算得到上述机器人的作业覆盖率。
106.优选地,上述方法还包括:在机器人完成全部作业时的位置,执行路径规划操作,规划得到上述机器人返回至充电桩位置、初始化对象位置、或者机器人作业启动位置的路径;上述机器人根据规划后的路径返回至充电桩位置、初始化对象位置、或者机器人作业启动位置,并将当前保存的地图信息、实际作业覆盖区域的面积信息、机器人作业关联信息(例如,机器人作业状态信息、作业时长信息、耗材信息等)发送至本地或者云端备份。
107.根据本发明实施例,还提供了一种机器人路径规划装置。
108.图3是根据本发明实施例的机器人路径动态规划装置的结构框图。如图3 所示,该机器人路径规划装置包括:确定模块30,用于根据预定路线或者预定位置,在机器人的作业范围内确定上述机器人作业的第一条路径;发送模块32,用于将上述第一条路径的信息发送至机器人的运动控制模块,以使上述运动控制模块控制机器人跟踪上述第一条路径;动态规划模块34,用于结合机器人的实时位置、实时角度、预定偏移角度,以及上述机器人与最近障碍物或最近历史路径的实时距离,调整机器人的运动姿态使得机器人沿着与最近历史路径或者最近障碍物保持预定距离的路径行进,在机器人行进过程中实时检测覆盖信息,如果相邻区域均为已覆盖区域,则重新搜索起始点,控制上述机器人导航至搜索到的起始点,循环执行此步骤,直至上述机器人无法找到新的起始点。
109.采用图3所示的装置,提出了一种新的区域覆盖动态规划路径方案,确定模块30先根据预定路线或者预定位置,在机器人的作业范围内确定上述机器人作业的第一条路径,
动态规划模块34结合机器人的实时位置、实时角度、预定偏移角度,以及上述机器人与最近障碍物或最近历史路径的实时距离,调整机器人的运动姿态使得机器人沿着与最近历史路径或者最近障碍物保持预定距离的路径行进,直至检测到的相邻区域均为已覆盖区域,则重新搜索起始点,控制上述机器人导航至搜索到的起始点,循环执行此步骤,直至上述机器人无法找到新的起始点,作业流程结束。采用本技术的路径规划方法,解决了相关技术中的区域覆盖规划方式,导致机器人稳定性不高且工作效率低下等问题,提高了机器人稳定性和工作效率。并且可以根据实时信息对机器人的路径动态规划调整,因此适用于工作环境中有较多动态障碍物的复杂场景。
110.需要说明的是,上述装置中各模块,各单元的优选实施方式,可以参照图1至图2的描述,此处不再赘述。
111.根据本发明实施例,还提供了一种机器人。
112.图4是根据本发明实施例的机器人的结构框图。如图4所示,根据本发明的机器人包括:存储器40及处理器42,上述存储器40,用于存储计算机执行指令;上述处理器42,用于执行上述存储器存储的计算机执行指令,使得上述机器人执行如上述实施例提供的机器人的路径动态规划方法。
113.处理器42可以为中央处理器(central processing unit,cpu)。处理器 52还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
114.存储器40作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的机器人重定位方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理。
115.存储器40可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器40可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
116.上述一个或者多个模块存储在上述存储器40中,当被上述处理器42执行时,执行如图1至图2所示实施例中的机器人路径动态规划方法。
117.上述机器人的具体细节可以对应参阅图1至图2所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
118.综上所述,借助本发明提供的上述实施方式,提出了一种新的区域覆盖动态规划路径方案,先根据预定路线或者预定位置,在机器人的作业范围内确定所述机器人作业的第一条路径,结合机器人的实时位置、实时角度、预定偏移角度,以及所述机器人与最近障碍物或最近历史路径的实时距离,调整机器人的运动姿态使得机器人沿着与最近历史路径或者最近障碍物保持预定距离的路径行进,直至检测到的相邻区域均为已覆盖区域,则重
新搜索起始点,控制所述机器人导航至搜索到的起始点,循环执行此步骤,直至所述机器人无法找到新的起始点,作业流程结束。本发明实施例提供的方案规划出的路线,平滑度较好,作业覆盖效率高,解决了相关技术中的区域覆盖规划方式,导致机器人稳定性不高且工作效率低下等问题,提高了机器人稳定性和工作效率。本方案不受机器人转弯半径的约束,可以适用于多种移动机器人平台。本方案可以根据实时信息对机器人的路径动态规划调整,因此适用于工作环境中有较多动态障碍物的复杂场景。
119.以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
再多了解一些

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

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

相关文献