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

移动机器人的脱困方法、移动机器人及存储介质与流程

2022-06-05 05:45:29 来源:中国专利 TAG:


1.本发明涉及物联网设备领域,特别是涉及一种移动机器人的脱困方法、移动机器人及存储介质。


背景技术:

2.随着计算机和物联网技术的快速发展,物联网设备在生活中的使用也越来越广泛,其中,清洁机器人等移动机器人是一种实用化程度很高的物联网设备。使用移动机器人较为方便且省时省力,因此移动机器人在各个场景的使用量也越来越大。
3.由于工作环境的场景复杂,移动机器人在工作时经常会被障碍物困住,常用的移动机器人脱困方法是通过碰撞、尝试的方式重新确定移动机器人的位置和/或方向,从而脱离被困场景。
4.但是,碰撞可能造成障碍物的移动,导致障碍物将可通行的路径堵住,移动机器人无法脱困,并且碰撞、尝试的方式需要大量计算,过程复杂。因此,目前的移动机器人脱困方法的脱困效果较差,影响移动机器人的工作效率。


技术实现要素:

5.本发明实施例的目的在于提供一种移动机器人的脱困方法、移动机器人及存储介质,以提高移动机器人的脱困效果,提高移动机器人的工作效率。具体技术方案如下:
6.第一方面,本发明实施例提供了一种移动机器人的脱困方法,所述方法包括:
7.在基于所述移动机器人周围的障碍物信息确定所述移动机器人进入脱困场景后,基于预先存储的所述移动机器人的历史定位信息和历史控制信息,确定所述移动机器人的脱困路径;
8.控制所述移动机器人按照所述脱困路径反向运动,直到所述移动机器人到达非脱困场景。
9.可选的,所述历史定位信息和所述历史控制信息的存储方式,包括:
10.获取所述移动机器人的当前定位信息和当前控制信息;
11.判断已存储的历史定位信息和历史控制信息的存储容量是否大于预设容量;
12.如果所述存储容量不大于所述预设容量,保存所述当前定位信息和当前控制信息;
13.如果所述存储容量大于所述预设容量,将所述历史定位信息中存储时间最早的定位信息以及该存储时间最早的定位信息对应的控制信息删除,并保存所述当前定位信息和当前控制信息。
14.可选的,在所述基于预先存储的所述移动机器人的历史定位信息和历史控制信息,确定所述移动机器人的脱困路径的步骤之前,所述方法还包括:
15.获取所述移动机器人周围的障碍物信息;
16.基于所述移动机器人的当前位置信息以及预先确定的多个目标点的位置信息,确
定所述移动机器人到达每个目标点的路径;
17.根据所述障碍物信息以及所述移动机器人的轮廓信息,确定所述移动机器人按照所述路径运动的过程中是否与障碍物发生碰撞;
18.如果针对每条路径均发生碰撞,则确定所述移动机器人进入脱困场景。
19.可选的,所述获取所述移动机器人周围的障碍物信息的步骤,包括:
20.获取所述移动机器人的全局坐标、所述移动机器人在全局坐标系中的朝向角以及障碍物在所述移动机器人的局部坐标系中的局部坐标;
21.基于所述全局坐标、所述局部坐标以及所述朝向角,计算得到所述障碍物的全局坐标,作为障碍物信息。
22.可选的,所述基于预先存储的所述移动机器人的历史定位信息和历史控制信息,确定所述移动机器人的脱困路径的步骤,包括:
23.基于预先存储的所述移动机器人的历史定位信息和历史控制信息,对所述移动机器人的历史路径进行平滑处理,得到所述移动机器人的脱困路径。
24.可选的,所述基于预先存储的所述移动机器人的历史定位信息和历史控制信息,对所述移动机器人的历史路径进行平滑处理的步骤,包括:
25.针对每个控制周期内的历史控制信息,通过轮系推算方法计算得到所述移动机器人的位姿变化量;
26.基于所述位姿变化量对每个定位周期的历史定位信息进行修正,得到所述移动机器人的修正后的定位信息。
27.可选的,所述控制所述移动机器人按照所述脱困路径反向运动,直到所述移动机器人到达非脱困场景的步骤,包括:
28.控制所述移动机器人按照所述脱困路径反向运动至预设位置,其中,所述预设位置为所述脱困路径上的非脱困场景对应的定位信息所指示的位置,或,
29.控制所述移动机器人按照所述脱困路径反向运动至所述脱困路径的起点位置。
30.第二方面,本发明实施例提供了一种移动机器人,包括:
31.传感器,用于获取所述移动机器人周围的障碍物信息和所述移动机器人的定位信息;
32.处理器,用于根据所述障碍物信息,确定所述移动机器人进入脱困场景后,基于预先存储的所述移动机器人的历史定位信息和历史控制信息,确定所述移动机器人的脱困路径;
33.存储器,用于存储所述移动机器人的历史定位信息和历史控制信息;
34.运动模块,用于驱动所述移动机器人按照所述脱困路径反向运动,直到所述移动机器人到达非脱困场景。
35.可选的,所述处理器,具体用于获取所述移动机器人的当前定位信息和当前控制信息;判断已存储的历史定位信息和历史控制信息的存储容量是否大于预设容量;如果所述存储容量不大于所述预设容量,保存所述当前定位信息和当前控制信息至所述存储器;如果所述存储容量大于所述预设容量,将所述历史定位信息中存储时间最早的定位信息以及该存储时间最早的定位信息对应的控制信息从所述存储器中删除,并保存所述当前定位信息和当前控制信息至所述存储器。
36.可选的,所述处理器,具体用于获取所述移动机器人周围的障碍物信息,基于所述移动机器人的当前位置信息以及预先确定的多个目标点的位置信息,确定所述移动机器人到达每个目标点的路径;根据所述障碍物信息以及所述移动机器人的轮廓信息,确定所述移动机器人按照所述路径运动的过程中是否与障碍物发生碰撞;如果针对每条路径均发生碰撞,则确定所述移动机器人进入脱困场景。
37.可选的,所述处理器,具体用于获取所述移动机器人的全局坐标、所述移动机器人在全局坐标系中的朝向角以及障碍物在所述移动机器人的局部坐标系中的局部坐标;基于所述全局坐标、所述局部坐标以及所述朝向角,计算得到所述障碍物的全局坐标,作为障碍物信息。
38.可选的,所述处理器,具体用于基于预先存储的所述移动机器人的历史定位信息和历史控制信息,对所述移动机器人的历史路径进行平滑处理,得到所述移动机器人的脱困路径。
39.可选的,所述处理器,具体用于针对每个控制周期内的历史控制信息,通过轮系推算方法计算得到所述移动机器人的位姿变化量;基于所述位姿变化量对每个定位周期的历史定位信息进行修正,得到所述移动机器人的修正后的定位信息。
40.可选的,所述运动模块,具体用于驱动所述移动机器人按照所述脱困路径反向运动至预设位置,其中,所述预设位置为所述脱困路径上的非脱困场景对应的定位信息所指示的位置,或,驱动所述移动机器人按照所述脱困路径反向运动至所述脱困路径的起点位置。
41.第三方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的方法步骤。
42.本发明实施例有益效果:
43.本发明实施例提供的方案中,电子设备在基于移动机器人周围的障碍物信息确定移动机器人进入脱困场景后,可以基于预先存储的移动机器人的历史定位信息和历史控制信息,确定移动机器人的脱困路径,进而控制移动机器人按照脱困路径反向运动,直到移动机器人到达非脱困场景。由于移动机器人在进入脱困场景之前必然是在非脱困场景中的,所以反向运动便可以离开脱困场景,无需进行碰撞、尝试等大量计算,可以大大提高移动机器人的脱困效果,从而提高移动机器人的工作效率。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
44.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
45.图1为本发明实施例所提供的一种移动机器人的脱困方法的流程图;
46.图2(a)为基于图1所示实施例的移动机器人在一种脱困场景的示意图;
47.图2(b)为基于图1所示实施例的移动机器人在另一种脱困场景的示意图;
48.图3为基于图1所示实施例的一种存储历史定位信息和历史控制信息的流程图;
49.图4为基于图1所示实施例的一种确定移动机器人进入脱困场景的流程图;
50.图5为基于图4所示实施例中步骤s401的一种具体流程图;
51.图6为基于图1所示实施例的一种对历史路径进行平滑处理的流程图;
52.图7为基于图6所示实施例的历史定位信息和历史控制信息的示意图;
53.图8为基于图6所示实施例的二轮差速运动模型的示意图;
54.图9为基于图6所示实施例的定位信息的融合示意图;
55.图10为基于图6所示实施例的定位信息的修正示意图;
56.图11为基于图6所示实施例的历史路径的平滑效果示意图;
57.图12为本发明实施例所提供的一种移动机器人的脱困装置的结构示意图;
58.图13为基于图12所示实施例的移动机器人的脱困装置的另一种结构示意图;
59.图14为本发明实施例所提供的一种移动机器人的结构示意图。
具体实施方式
60.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本发明所获得的所有其他实施例,都属于本发明保护的范围。
61.为了提高移动机器人的脱困效果,从而提高移动机器人的工作效率,本发明实施例提供了一种移动机器人的脱困方法、装置、移动机器人、计算机可读存储介质以及计算机程序产品,下面首先对本发明实施例所提供的一种移动机器人的脱困方法进行介绍。
62.本发明实施例所提供的移动机器人的脱困方法可以应用于任意能够控制移动机器人进行脱困处理的电子设备,可以包括移动机器人的处理器、控制器等。该电子设备可以设置于移动机器人中,也可以设置于移动机器人外,与移动机器人通信连接以控制移动机器人运动。例如,该电子设备可以为清洁机器人的处理器,可以为商场的导航机器人的控制器,可以为运输货物的搬运机器人的远程控制设备等,在此不做具体限定。为了描述清楚,后续称为电子设备。
63.如图1所示,一种移动机器人的脱困方法,所述方法包括:
64.s101,在基于所述移动机器人周围的障碍物信息确定所述移动机器人进入脱困场景后,基于预先存储的所述移动机器人的历史定位信息和历史控制信息,确定所述移动机器人的脱困路径。
65.s102,控制所述移动机器人按照所述脱困路径反向运动,直到所述移动机器人到达非脱困场景。
66.可见,本发明实施例提供的方案中,电子设备在基于移动机器人周围的障碍物信息确定移动机器人进入脱困场景后,可以基于预先存储的移动机器人的历史定位信息和历史控制信息,确定移动机器人的脱困路径,进而控制移动机器人按照脱困路径反向运动,直到移动机器人到达非脱困场景。由于移动机器人在进入脱困场景之前必然是在非脱困场景中的,所以反向运动便可以离开脱困场景,无需进行碰撞、尝试等大量计算,可以大大提高移动机器人的脱困效果,从而提高移动机器人的工作效率。
67.移动机器人是一种可以移动从而执行各种工作的智能设备,但由于其工作环境的场景复杂,移动机器人在工作时经常会被障碍物困住,常用的移动机器人脱困方式是通过碰撞、尝试的方式,碰撞可能造成障碍物的移动,导致障碍物将可通行的路径堵住,移动机器人无法脱困,碰撞、尝试的方式计算量大,过程复杂,这种脱困方式的脱困效果较差,适用性低。
68.针对清洁机器人来说,为了提高清洁的效率,清洁机器人的外形一般为圆形或d字型,清洁机器人搭载风机等清洁部件,为了平衡清洁机器人的重心,其驱动轮一般不安装在清洁机器人结构的中心,清洁机器人还包括用来控制移动方向的万向轮。这种结构的存在,使得清洁机器人在进行脱困的时候,围绕其驱动轮的中心旋转的过程中,会碰到已经检测到的障碍物,所以无法通过围绕其驱动轮的中心旋转的方式脱困。
69.例如,如图2(a)所示,清洁机器人201为外形为圆形,清洁机器人201包括第一驱动轮2011、第二驱动轮2012以及万向轮2013,桌腿2021、桌腿2022、桌腿2023以及桌腿2024为清洁机器人201的障碍物。清洁机器人201进入桌腿2021、桌腿2022、桌腿2023以及桌腿2024包围形成的空间后,由于其自身的机构限制,清洁机器人201在围绕第一驱动轮2011和第二驱动轮2012中心旋转的过程中,会碰撞四周的障碍物,导致移动机器人201无法脱困。
70.如图2(b)所示,清洁机器人201在另一种脱困场景中,狭窄通道203的通道壁为障碍物,清洁机器人201进入狭窄通道203后,清洁机器人201在围绕第一驱动轮2011和第二驱动轮2012中心旋转的过程中,会接触狭窄通道203的通道壁,导致移动机器人201无法离开脱困场景。
71.为了提高移动机器人的脱困效果,从而提高移动机器人的工作效率,在本发明实施例的步骤s101中,电子设备可以在基于移动机器人周围的障碍物信息确定移动机器人进入脱困场景后,基于预先存储的移动机器人的历史定位信息和历史控制信息,确定移动机器人的脱困路径。
72.在移动机器人的工作过程中,工作场景中可能存在多个障碍物,为了避免碰撞这些障碍物,可以通过探测传感器获取移动机器人周围的障碍物信息。当探测传感器安装在移动机器人的工作场景中时,探测传感器可以获取障碍物的位置信息,并将障碍物的位置信息发送给移动机器人从而传输给电子设备,探测传感器也可以将障碍物的位置信息直接传输给电子设备;当探测传感器安装在移动机器人上时,探测传感器可以将获取的障碍物的位置信息传输给电子设备,在此不做限定。
73.基于移动机器人周围的障碍物信息,电子设备可以使用路径规划算法等方式确定移动机器人是否进入脱困场景。脱困场景为在移动机器人不与障碍物发生碰撞的前提下,无法通过前进或绕驱动轮的中心旋转的方式脱困的场景。在一种实施方式中,电子设备可以基于移动机器人的当前位置信息以及预先确定的多个目标点的位置信息,确定移动机器人到达每个目标点的路径,由于障碍物信息已知,电子设备可以确定移动机器人按照路径运动的过程中是否会与障碍物发生碰撞,如果针对每条路径均会发生碰撞,电子设备可以确定移动机器人进入脱困场景。
74.由于移动机器人进入脱困场景之前,必然是处于非脱困场景的,所以移动机器人如果可以返回进入脱困场景之前的非脱困场景,便可以实现脱困的目的。因此,可以根据移动机器人进入脱困场景之前的历史定位信息和历史控制信息来确定脱困路径,那么为了方
便在确定移动机器人进入脱困场景后确定移动机器人的脱困路径,电子设备可以存储移动机器人的历史定位信息和历史控制信息。
75.其中,历史定位信息为能够标识移动机器人的历史位置的信息,可以包括移动机器人在全局坐标系中的全局坐标和移动机器人在全局坐标系中的朝向角。例如,历史定位信息可以为移动机器人通过雷达检测到的在世界坐标系中的位置坐标和朝向角。历史控制信息为能够标识控制移动机器人的运动的历史信息,可以包括移动机器人的陀螺仪的测量信息、里程计信息、驱动轮转速以及控制周期等。
76.由于历史定位信息能够标识移动机器人的历史位置,历史控制信息能够标识移动机器人的历史动作,所以电子设备可以基于预先存储的移动机器人的历史定位信息和历史控制信息,确定移动机器人的脱困路径。其中,脱困路径即为移动机器人由非脱困场景进入脱困场景的路径,所以在上述步骤s102中,电子设备可以控制移动机器人按照脱困路径反向运动,直到移动机器人到达非脱困场景,即采用倒回动作返回非脱困场景,从而实现脱困的目的。
77.在一种实施方式中,电子设备可以基于移动机器人的脱困路径,计算按照脱困路径反向运动所需的控制指令,控制指令可以包括移动机器人的驱动轮的转速、方向等。从而,电子设备可以控制移动机器人按照脱困路径反向运动,直到移动机器人到达非脱困场景,完成脱困动作,移动机器人可以继续后续工作。
78.采用本发明实施例所提供的方案,电子设备可以在移动机器人进入脱困场景后,确定移动机器人由非脱困场景进入脱困场景的路径,作为脱困路径,并控制移动机器人按照脱困路径反向运动,直到移动机器人到达非脱困场景。电子设备无需进行碰撞、尝试等大量计算,大大提高了移动机器人的脱困效果,从而提高移动机器人的工作效率。
79.作为本发明实施例的一种实施方式,如图3所示,上述历史定位信息和历史控制信息的存储方式,可以包括:
80.s301,获取所述移动机器人的当前定位信息和当前控制信息。
81.由于定位信息能够标识移动机器人的位置,控制信息能够标识移动机器人的动作,所以电子设备可以基于移动机器人的定位信息和控制信息,确定移动机器人由非脱困场景进入脱困场景的路径,作为脱困路径。电子设备可以获取移动机器人的当前定位信息和当前控制信息,当前定位信息可以标识移动机器人的当前位置,包括移动机器人在全局坐标系中的当前的全局坐标和朝向角等,例如,可以通过激光雷达、vslam(vision simultaneous localization and mapping,视觉同步定位与建图)等方式获取移动机器人的当前定位信息,在此不做具体限定。当前控制信息可以标识控制移动机器人的运动,可以包括移动机器人当前的陀螺仪的测量信息、里程计信息、驱动轮转速等。
82.例如,当获取定位信息的时间间隔不大于控制信息的控制周期时,电子设备可以获取移动机器人当前时刻的控制信息,由于定位信息较为准确,电子设备可以仅由移动机器人的定位信息确定移动机器人的历史路径;当获取定位信息的时间间隔大于控制信息的控制周期时,电子设备获取的当前控制信息可以包括在获取当前定位信息和当前定位信息的上一个定位信息之间的控制信息,具体可以包括移动机器人的陀螺仪的测量信息、里程计信息、驱动轮转速以及控制周期等。
83.s302,判断已存储的历史定位信息和历史控制信息的存储容量是否大于预设容
量,如果所述存储容量不大于所述预设容量,执行步骤s303;如果所述存储容量大于所述预设容量,执行步骤s304。
84.由于在确定脱困路径时一般只需要利用当前时刻之前的若干历史定位信息和历史控制信息,而不需要利用移动机器人从开始工作以来的所有历史定位信息和历史控制信息,因此,为了降低信息存储量,提高运算速度,可以采用滑窗的方式来存储历史定位信息和历史控制信息。
85.具体来说,可以预设历史定位信息和历史控制信息的存储容量。电子设备获取移动机器人的当前定位信息和当前控制信息后,可以将滑窗中的历史定位信息和历史控制信息即已存储的历史定位信息和历史控制信息的存储容量与预设容量的大小进行比较,如果历史定位信息和历史控制信息的存储容量不大于预设容量,说明历史定位信息和历史控制信息的存储容量并不高,为了后续可以由足够的历史定位信息和历史控制信息来确定脱困路径,电子设备可以执行步骤s303,即保存当前定位信息和当前控制信息。
86.如果历史定位信息和历史控制信息的存储容量大于预设容量,说明历史定位信息和历史控制信息的存储容量较高,足以用来在移动机器人进入脱困场景后确定脱困路径,那么为了降低信息存储量,提高运算速度,电子设备可以执行步骤s304。
87.s303,保存所述当前定位信息和当前控制信息。
88.如果历史定位信息和历史控制信息的存储容量不大于预设容量,电子设备可以保存当前定位信息和当前控制信息,以增加历史定位信息和历史控制信息的数量,从而确保后续足以用来在移动机器人进入脱困场景后确定脱困路径。
89.s304,将所述历史定位信息中存储时间最早的定位信息以及该存储时间最早的定位信息对应的控制信息删除,并保存所述当前定位信息和当前控制信息。
90.如果历史定位信息和历史控制信息的存储容量大于预设容量,电子设备可以将历史定位信息中存储时间最早的定位信息以及该存储时间最早的定位信息对应的控制信息删除,并保存当前定位信息和当前控制信息,以更新已存储的历史定位信息和历史控制信息,使得已存储的历史定位信息和历史控制信息始终为当前时刻之前一段时间内最新的定位信息和控制信息。
91.例如,历史定位信息和历史控制信息的预设容量为容量a,电子设备获取移动机器人的当前定位信息和当前控制信息后,如果已存储的历史定位信息和历史控制信息的存储容量为容量a,电子设备可以保存当前定位信息和当前控制信息,保存后的历史定位信息和历史控制信息的存储容量为容量b,容量b大于容量a;电子设备再次获取移动机器人的当前定位信息和当前控制信息,此时已存储的历史定位信息和历史控制信息的存储容量为容量b,大于容量a的预设容量,电子设备可以将按照存储时间顺序将第一个历史定位信息和对应的控制信息删除,并保存当前定位信息和当前控制信息,保持已存储的历史定位信息和历史控制信息的存储容量不变。
92.在本实施例中,电子设备可以获取移动机器人的当前定位信息和当前控制信息,并通过滑动窗口的方式存储历史定位信息和历史控制信息。从而保证了已存储的历史定位信息和历史控制信息始终为当前时刻之前一段时间内最新的定位信息和控制信息,在确保脱困路径准确性的基础上,降低了信息存储量,提高了运算速度。
93.作为本发明实施例的一种实施方式,如图4所示,在上述基于预先存储的所述移动
机器人的历史定位信息和历史控制信息,确定所述移动机器人的脱困路径的步骤之前,上述方法还可以包括:
94.s401,获取所述移动机器人周围的障碍物信息。
95.为了确定移动机器人是否进入脱困场景,电子设备可以获取移动机器人周围的障碍物信息。移动机器人的工作场景中可以设置探测传感器,用以获取移动机器人周围的障碍物的位置信息,例如,探测传感器获取到移动机器人的工作场景中的障碍物信息后,可以得到工作场景中障碍物分布的地图,并将该地图发送给电子设备,从而电子设备可以获取该地图对应的障碍物的位置信息。探测传感器可以设置在移动机器人上,电子设备可以通过控制探测传感器获取移动机器人周围的障碍物的位置信息,在此不做限定。
96.s402,基于所述移动机器人的当前位置信息以及预先确定的多个目标点的位置信息,确定所述移动机器人到达每个目标点的路径。
97.移动机器人的当前位置信息可以基于当前定位信息获得,具体可以为移动机器人在全局坐标系中的全局坐标和移动机器人在全局坐标系中的朝向角。目标点为判断移动机器人是否处于脱困场景的过程中,假设的需要移动机器人到达的位置,目标点的数量可以为4个、8个等,在此不做具体限定。电子设备可以获取预先确定的多个目标点的位置信息,例如,移动机器人的当前位置信息确定后,电子设备可以确定移动机器人在全局坐标系中的朝向角方向为正前方向,并确定正前方向、正左方向、正右方向以及正后方向20厘米的位置,作为目标点,从而确定目标点的位置信息。
98.电子设备得到移动机器人的当前位置信息以及预先确定的多个目标点的位置信息后,可以基于移动机器人周围的障碍物信息,采用路径规划算法,计算得出移动机器人到达每个目标点的路径。
99.s403,根据所述障碍物信息以及所述移动机器人的轮廓信息,确定所述移动机器人按照所述路径运动的过程中是否与障碍物发生碰撞。
100.针对移动机器人到达每一个目标点对应的路径,可以基于移动机器人的轮廓信息即移动机器人的包络,计算得到移动机器人沿该路径到达每个目标点的过程中,移动机器人所会覆盖的区域,如果障碍物信息对应的位置在移动机器人所会覆盖的区域内,说明移动机器人按照该路径运动的过程中会与障碍物发生碰撞;如果障碍物信息对应的位置在移动机器人所会覆盖的区域外,说明移动机器人按照该路径运动的过程中不会与障碍物发生碰撞。
101.s404,如果针对每条路径均发生碰撞,则确定所述移动机器人进入脱困场景。
102.如果移动机器人按照每条路径运动时均会与障碍物发生碰撞,说明每一个目标点对于移动机器人来说,在不发生碰撞的前提下均无法到达,那么移动机器人也就无法脱离当前场景,可以确定移动机器人进入脱困场景。进而,电子设备可以基于预先存储的移动机器人的历史定位信息和历史控制信息,确定移动机器人的脱困路径,以实现脱困的目的。
103.如果存在一条或多条路径,使得移动机器人按照该路径运动时不会与障碍物发生碰撞,说明至少存在一个目标点对于移动机器人来说,在不发生碰撞的前提下是可以到达的,那么移动机器人也就可以脱离当前场景,可以确定移动机器人未进入脱困场景,而是位于非脱困场景中。
104.在本实施例中,电子设备可以获取移动机器人周围的障碍物信息,并基于障碍物
信息判断移动机器人按照路径到达每个预先确定的目标点的过程中是否会与障碍物发生碰撞,如果针对每条路径均发生碰撞,则确定移动机器人进入脱困场景。通过该方案可以准确判断移动机器人是否进入脱困场景,如果进入脱困场景则通过脱困方法脱困,避免了移动机器人在工作过程中与障碍物发生碰撞,提高了工作效率。
105.作为本发明实施例的一种实施方式,如图5所示,上述获取所述移动机器人周围的障碍物信息的步骤,可以包括:
106.s501,获取所述移动机器人的全局坐标、所述移动机器人在全局坐标系中的朝向角以及障碍物在所述移动机器人的局部坐标系中的局部坐标。
107.由于移动机器人的定位信息通常是通过雷达等方式获取的全局坐标系下的全局坐标,当移动机器人上设置探测传感器,并通过探测传感器获取移动机器人周围的障碍物信息时,障碍物的定位信息为障碍物在移动机器人的局部坐标系中的局部坐标。移动机器人的定位信息和障碍物的定位信息在不同坐标系中,电子设备无法判断移动机器人按照路径到达目标点的过程中是否会与障碍物发生碰撞,也就无法判断移动机器人是否处于脱困场景,所以需要将障碍物在移动机器人的局部坐标系中的局部坐标转换到全局坐标系中。
108.电子设备可以获取移动机器人的当前定位信息,当前定位信息可以包括移动机器人在全局坐标系中的全局坐标、移动机器人在全局坐标系中的朝向角。移动机器人可以安装探测传感器,以获取障碍物在移动机器人的局部坐标系中的局部坐标,例如,探测传感器可以为有线激光传感器、tof(time of flight,时差法)传感器等,在此不做具体限定。在移动机器人的工作过程中,电子设备可以控制探测传感器对移动机器人移动方向及其周边的障碍物进行检测,并记录障碍物在移动机器人的局部坐标系中的局部坐标。
109.s502,基于所述全局坐标、所述局部坐标以及所述朝向角,计算得到所述障碍物的全局坐标,作为障碍物信息。
110.电子设备可以基于全局坐标、局部坐标以及朝向角,计算得到障碍物的全局坐标。例如,电子设备可以按照以下公式计算得到障碍物的全局坐标:
[0111][0112]
其中,xg为障碍物的全局坐标的横坐标,yg为障碍物的全局坐标的纵坐标,x为移动机器人的全局坐标的横坐标,y为移动机器人的全局坐标的纵坐标,θ为移动机器人的朝向角,xb为障碍物在移动机器人的局部坐标系中的局部坐标的横坐标,yb为障碍物在移动机器人的局部坐标系中的局部坐标的纵坐标。
[0113]
移动机器人的工作场景通常比较固定,因此可以建立移动机器人的工作场景对应的全局地图,电子设备可以得到移动机器人的脱困场景附近区域对应的局部地图,全局地图可以包括工作场景信息和障碍物信息,局部地图为全局地图的一部分。电子设备可以将障碍物的全局坐标作为障碍物信息,并将其记录在移动机器人的脱困场景附近区域对应的局部地图中。在一种实施方式中,电子设备可以建立专用于记录障碍物信息的障碍物地图,并将获取的障碍物的全局坐标记录在障碍物地图中。
[0114]
在本实施例中,电子设备可以获取移动机器人的全局坐标、移动机器人在全局坐标系中的朝向角以及障碍物在移动机器人的局部坐标系中的局部坐标,并计算得到障碍物的全局坐标,作为障碍物信息。通过上述方案可以将移动机器人上的探测传感器获取的障
碍物的局部坐标转换到全局坐标系中,从而确定移动机器人按照路径到达目标点的过程中是否会与障碍物发生碰撞,有利于准确判断移动机器人是否进入脱困场景,并进行快速脱困。
[0115]
作为本发明实施例的一种实施方式,上述基于预先存储的所述移动机器人的历史定位信息和历史控制信息,确定所述移动机器人的脱困路径的步骤,可以包括:
[0116]
基于预先存储的所述移动机器人的历史定位信息和历史控制信息,对所述移动机器人的历史路径进行平滑处理,得到所述移动机器人的脱困路径。
[0117]
由于在移动机器人的运动过程中,出现驱动轮打滑等特殊情况,电子设备获取的历史控制信息中可能存在无用控制信息。在一种实施方式中,电子设备可以通过历史控制信息获取移动机器人在每个控制周期内的位姿变化量,并将位姿变化量累加到对应的历史定位信息上,得到融合定位信息,进而基于历史定位信息和融合定位信息确定移动机器人的历史路径。但是无用控制信息会导致计算得到的位姿变化量误差较大,融合定位信息的误差也就较大,进而影响历史路径的准确性。
[0118]
因此,电子设备可以基于预先存储的移动机器人的历史定位信息和历史控制信息,对移动机器人的历史路径进行平滑处理,得到移动机器人的脱困路径。例如,可以采用卡尔曼滤波的方法对移动机器人的历史路径进行平滑处理,在此不做具体限定。
[0119]
在本实施例中,电子设备可以基于存储的历史定位信息和历史控制信息,平滑移动机器人的历史路径,得到移动机器人的脱困路径。平滑处理减小了驱动轮打滑等特殊情况产生的无用控制信息对历史路径的影响,平滑处理后的脱困路径相比于历史路径更加准确。
[0120]
作为本发明实施例的一种实施方式,如图6所示,上述基于预先存储的所述移动机器人的历史定位信息和历史控制信息,对所述移动机器人的历史路径进行平滑处理的步骤,可以包括:
[0121]
s601,针对每个控制周期内的历史控制信息,通过轮系推算方法计算得到所述移动机器人的位姿变化量。
[0122]
预先存储的移动机器人的历史定位信息和历史控制信息如图7所示,其中,i、i 1、i 2、i 3、i 4、i 5、i 6以及i 7表示预先存储的历史定位信息,1、2、3、4、5、6、7、8以及其它实心圆圈表示预先存储的历史定位信息对应的历史控制信息。针对每个控制周期内的历史控制信息,电子设备可以通过轮系推算方法计算得到移动机器人的位姿变化量。
[0123]
例如,移动机器人的二轮差速运动模型如图8所示,其中,驱动轮801为移动机器人的一个驱动轮,驱动轮802为移动机器人的另一个驱动轮,驱动轮801和802的半径为r,驱动轮801和驱动轮802的轮间距长度的一半为l。当移动机器人的控制周期为t时,若在此控制周期内,移动机器人朝向角由θ1变为θ2,驱动轮801的角速度为ω1,驱动轮802的角速度为ω2,可以计算出驱动轮801的运动距离为l1=ω1rt,驱动轮802的运动距离为l2=ω2rt,以顺时针旋转方向为正方向,电子设备可以按照以下公式计算得到移动机器人的位姿变化量。
[0124]drotate
=(θ
2-θ1)l
[0125]dforward
=min(l
1-d
rotate
,l2 d
rotate
)
[0126]
δx=d
forward
cos(θ1)
[0127]
δy=d
forward
sin(θ1)
[0128]
其中,d
rorate
为该控制周期t内,移动机器人的位姿变化在旋转方向上的贡献量,d
forward
为该控制周期t内,移动机器人前进的距离,δx为该控制周期t内移动机器人的x方向的位姿变化量,δy为该控制周期t内移动机器人的y方向的位姿变化量。
[0129]
在一种实施方式中,移动机器人安装有里程计,电子设备可以读取控制周期内的里程计数据,作为移动机器人的位姿变化量。
[0130]
s602,基于所述位姿变化量对每个定位周期的历史定位信息进行修正,得到所述移动机器人的修正后的定位信息。
[0131]
如图9所示,电子设备计算得到移动机器人的位姿变化量后,可以将每个定位周期的位姿变化量累加到对应的历史定位信息上,得到融合定位信息。
[0132]
例如,电子设备获取的历史定位信息为激光雷达产生的全局坐标系下的全局坐标,记为:
[0133][0134]
其中,表示第n个历史定位信息的全局坐标。
[0135]
在每两个历史定位信息形成的定位周期内,电子设备可以将位姿变化量累加到定位周期的前一个历史定位信息上,从而得到融合定位信息,电子设备可以按照以下公式计算得到融合定位信息:
[0136][0137][0138][0139]
其中,为定位周期内第n1个融合定位信息的横坐标,为定位周期内第n1个融合定位信息的纵坐标,为定位周期内第n1个融合定位信息的朝向角,为定位周期的前一个历史定位信息的横坐标,为定位周期的前一个历史定位信息的纵坐标,为定位周期的前一个历史定位信息的朝向角,为定位周期内每个位姿变化量对应的朝向角变化量。
[0140]
电子设备得到融合定位信息后,可以基于历史定位信息和融合定位信息确定移动机器人的由非脱困场景进入脱困场景的多个定位信息,但由于出现驱动轮打滑等特殊情况,电子设备获取的历史控制信息中可能存在无用控制信息,此时可以使用协方差v表示将位姿变化量累加到历史定位信息上,得到融合定位信息的不确定度,进而对历史定位信息进行修正。
[0141]
例如,如图10所示,为了减小无用控制信息对脱困路径的影响,电子设备可以基于位姿变化量对每个定位周期的历史定位信息进行修正,得到移动机器人的修正后的定位信
息。其中,第一帧历史定位信息的全局坐标为第二帧历史定位信息的全局坐标为在此定位周期内,电子设备可以对与第二帧历史定位信息时间最接近的位姿变化量进行修改,使其控制周期变为t t2-t1,从而使得该位姿变化量与第二帧历史定位信息在时间上保持对齐,并重新将该位姿变化量与定位周期内其它的位姿变化量累加到第一帧历史定位信息上,得到目标融合定位信息电子设备可以按照以下公式计算得到融合定位信息的修正信息:
[0142][0143][0144][0145]
其中,dx为横坐标方向的修正信息,dy为纵坐标方向的修正信息,dθ为朝向角的修正信息,为第二帧历史定位信息的横坐标,为第二帧历史定位信息的纵坐标,为第二帧历史定位信息的偏向角,为目标融合定位信息的横坐标,为所述目标融合定位信息的纵坐标,为目标融合定位信息的偏向角。
[0146]
进而,电子设备可以通过修正信息对每个定位周期的历史定位信息进行修正,得到移动机器人的修正后的定位信息,电子设备可以按照以下公式计算得到修正后的定位信息:
[0147][0148][0149][0150]
其中,为修正后的定位信息的横坐标,为修正后的定位信息的纵坐标,为修正后的定位信息的朝向角,为融合后的定位信息的横坐标,为融合后的定位信息的纵坐标,为融合后的定位信息的朝向角,协方差vi和协方差v
n1
表示位姿变化量累加到历史定位信息得到融合定位信息的不确定度,dx为横坐标方向的修正信息,dy为纵坐标方向的修正信息,dθ为朝向角的修正信息。
[0151]
如图11所示,其中,路径1101为移动机器人的历史路径,路径1102为平滑处理后的移动机器人的历史路径,其中,路径1101和路径1102中较大的空心圆圈表示移动机器人的历史定位信息,路径1101中较小的实心圆圈表示融合定位信息,路径1102中较小的实心圆圈表示修正后的定位信息,可以看出,路径1102相比于路径1101更加平滑。
[0152]
在本实施例中,电子设备可以针对每个控制周期内的历史控制信息,通过轮系推算方法计算得到移动机器人的位姿变化量,并基于位姿变化量对每个定位周期的历史定位信息进行修正,得到修正后的定位信息。修正后的定位信息减小了无用控制信息对脱困路径的影响,脱困路径更加平滑,移动机器人进行脱困处理的效果更好。
[0153]
作为本发明实施例的一种实施方式,上述控制所述移动机器人按照所述脱困路径反向运动,直到所述移动机器人到达非脱困场景的步骤,可以包括:
[0154]
控制所述移动机器人按照所述脱困路径反向运动至预设位置,或,控制所述移动机器人按照所述脱困路径反向运动至所述脱困路径的起点位置。
[0155]
脱困路径为移动机器人由非脱困场景进入脱困场景的路径,包括移动机器人的多个历史定位信息,在这些历史定位信息中,除了移动机器人最新的历史定位信息对应的位置为脱困场景,其余的历史定位信息对应的位置均为非脱困场景,脱困路径的起点位置也为非脱困场景。电子设备可以将脱困路径上除起点位置和移动机器人最新的历史定位信息以外的历史定位信息对应的位置作为预设位置,其中,预设位置为脱困路径上的非脱困场景对应的定位信息所指示的位置。
[0156]
在一种实施方式中,电子设备在控制移动机器人按照脱困路径反向运动时,可以控制移动机器人到达预设位置时停止,确定脱困处理完成,移动机器人可以继续工作。在另一种实施方式中,电子设备可以控制移动机器人按照脱困路径反向运动至脱困路径的起点位置,电子设备可以确定脱困处理完成,移动机器人可以继续工作。
[0157]
在本实施例中,电子设备可以控制移动机器人按照脱困路径反向运动到预设位置或脱困路径的起点位置,从而确定脱困处理完成,移动机器人可以继续工作,无论采用哪种方式进行反向运动,都可以顺利脱离被困场景,且均无需进行碰撞、尝试等大量计算,大大提高了移动机器人的脱困效果,提高移动机器人的工作效率。
[0158]
相应于上述移动机器人的脱困方法,本发明实施例还提供了一种移动机器人的脱困装置,下面对本发明实施例所提供的一种移动机器人的脱困装置进行介绍。
[0159]
如图12所示,一种移动机器人的脱困装置,所述装置包括:
[0160]
脱困路径确定模块1201,用于在基于所述移动机器人周围的障碍物信息确定所述移动机器人进入脱困场景后,基于预先存储的所述移动机器人的历史定位信息和历史控制信息,确定所述移动机器人的脱困路径。
[0161]
运动控制模块1202,用于控制所述移动机器人按照所述脱困路径反向运动,直到所述移动机器人到达非脱困场景。
[0162]
可见,本发明实施例提供的方案中,电子设备在基于移动机器人周围的障碍物信息确定移动机器人进入脱困场景后,可以基于预先存储的移动机器人的历史定位信息和历史控制信息,确定移动机器人的脱困路径,进而控制移动机器人按照脱困路径反向运动,直到移动机器人到达非脱困场景。由于移动机器人在进入脱困场景之前必然是在非脱困场景中的,所以反向运动便可以离开脱困场景,无需进行碰撞、尝试等大量计算,可以大大提高移动机器人的脱困效果,从而提高移动机器人的工作效率。
[0163]
作为本发明实施例的一种实施方式,上述脱困路径确定模块1201可以包括:
[0164]
信息获取单元,用于获取所述移动机器人的当前定位信息和当前控制信息。
[0165]
容量判断单元,用于判断已存储的历史定位信息和历史控制信息的存储容量是否
大于预设容量。
[0166]
第一保存单元,用于如果所述存储容量不大于所述预设容量,保存所述当前定位信息和当前控制信息。
[0167]
第二保存单元,用于如果所述存储容量大于所述预设容量,将所述历史定位信息中存储时间最早的定位信息以及该存储时间最早的定位信息对应的控制信息删除,并保存所述当前定位信息和当前控制信息。
[0168]
作为本发明实施例的一种实施方式,如图13所示,上述装置还可以包括:
[0169]
障碍物信息获取模块1301,用于在所述基于预先存储的所述移动机器人的历史定位信息和历史控制信息,确定所述移动机器人的脱困路径的步骤之前,获取所述移动机器人周围的障碍物信息。
[0170]
路径确定模块1302,用于基于所述移动机器人的当前位置信息以及预先确定的多个目标点的位置信息,确定所述移动机器人到达每个目标点的路径。
[0171]
碰撞判断模块1303,用于根据所述障碍物信息以及所述移动机器人的轮廓信息,确定所述移动机器人按照所述路径运动的过程中是否与障碍物发生碰撞。
[0172]
脱困场景确定模块1304,用于如果针对每条路径均发生碰撞,则确定所述移动机器人进入脱困场景。
[0173]
作为本发明实施例的一种实施方式,上述障碍物信息获取模块1301可以包括:
[0174]
坐标获取单元,用于获取所述移动机器人的全局坐标、所述移动机器人在全局坐标系中的朝向角以及障碍物在所述移动机器人的局部坐标系中的局部坐标。
[0175]
计算单元,用于基于所述全局坐标、所述局部坐标以及所述朝向角,计算得到所述障碍物的全局坐标,作为障碍物信息。
[0176]
作为本发明实施例的一种实施方式,上述脱困路径确定模块1201可以包括:
[0177]
平滑处理单元,用于基于预先存储的所述移动机器人的历史定位信息和历史控制信息,对所述移动机器人的历史路径进行平滑处理,得到所述移动机器人的脱困路径。
[0178]
作为本发明实施例的一种实施方式,上述平滑处理单元可以包括:
[0179]
位姿变化量计算子单元,用于针对每个控制周期内的历史控制信息,通过轮系推算方法计算得到所述移动机器人的位姿变化量。
[0180]
信息修正子单元,用于基于所述位姿变化量对每个定位周期的历史定位信息进行修正,得到所述移动机器人的修正后的定位信息。
[0181]
作为本发明实施例的一种实施方式,上述运动控制模块1202可以包括:
[0182]
运动控制单元,用于控制所述移动机器人按照所述脱困路径反向运动至预设位置,其中,所述预设位置为所述脱困路径上的非脱困场景对应的定位信息所指示的位置,或,
[0183]
控制所述移动机器人按照所述脱困路径反向运动至所述脱困路径的起点位置。
[0184]
本发明实施例还提供了一种移动机器人,如图14所示,包括传感器1401、处理器1402、存储器1403和运动模块1404,其中:
[0185]
传感器1401,用于获取所述移动机器人周围的障碍物信息和所述移动机器人的定位信息。
[0186]
处理器1402,用于根据所述障碍物信息,确定所述移动机器人进入脱困场景后,基
于预先存储的所述移动机器人的历史定位信息和历史控制信息,确定所述移动机器人的脱困路径。
[0187]
存储器1403,用于存储所述移动机器人的历史定位信息和历史控制信息。
[0188]
运动模块1404,用于驱动所述移动机器人按照所述脱困路径反向运动,直到所述移动机器人到达非脱困场景。
[0189]
可见,本发明实施例提供的方案中,处理器根据周围的障碍物信息确定进入脱困场景后,可以基于预先存储的移动机器人的历史定位信息和历史控制信息,确定移动机器人的脱困路径,运动模块可以驱动移动机器人按照脱困路径反向运动,直到移动机器人到达非脱困场景。由于移动机器人在进入脱困场景之前必然是在非脱困场景中的,所以反向运动便可以离开脱困场景,无需进行碰撞、尝试等大量计算,可以大大提高移动机器人的脱困效果,从而提高移动机器人的工作效率。
[0190]
作为本发明实施例的一种实施方式,上述处理器1402,具体可以用于获取所述移动机器人的当前定位信息和当前控制信息;判断已存储的历史定位信息和历史控制信息的存储容量是否大于预设容量;如果所述存储容量不大于所述预设容量,保存所述当前定位信息和当前控制信息至所述存储器1403;如果所述存储容量大于所述预设容量,将所述历史定位信息中存储时间最早的定位信息以及该存储时间最早的定位信息对应的控制信息从所述存储器1403中删除,并保存所述当前定位信息和当前控制信息至所述存储器1403。
[0191]
作为本发明实施例的一种实施方式,上述处理器1402,具体可以用于获取所述移动机器人周围的障碍物信息,基于所述移动机器人的当前位置信息以及预先确定的多个目标点的位置信息,确定所述移动机器人到达每个目标点的路径;根据所述障碍物信息以及所述移动机器人的轮廓信息,确定所述移动机器人按照所述路径运动的过程中是否与障碍物发生碰撞;如果针对每条路径均发生碰撞,则确定所述移动机器人进入脱困场景。
[0192]
作为本发明实施例的一种实施方式,上述处理器1402,具体可以用于获取所述移动机器人的全局坐标、所述移动机器人在全局坐标系中的朝向角以及障碍物在所述移动机器人的局部坐标系中的局部坐标;基于所述全局坐标、所述局部坐标以及所述朝向角,计算得到所述障碍物的全局坐标,作为障碍物信息。
[0193]
作为本发明实施例的一种实施方式,上述处理器1402,具体可以用于基于预先存储的所述移动机器人的历史定位信息和历史控制信息,对所述移动机器人的历史路径进行平滑处理,得到所述移动机器人的脱困路径。
[0194]
作为本发明实施例的一种实施方式,上述处理器1402,具体可以用于针对每个控制周期内的历史控制信息,通过轮系推算方法计算得到所述移动机器人的位姿变化量;基于所述位姿变化量对每个定位周期的历史定位信息进行修正,得到所述移动机器人的修正后的定位信息。
[0195]
作为本发明实施例的一种实施方式,上述运动模块1404,具体可以用于驱动所述移动机器人按照所述脱困路径反向运动至预设位置,其中,所述预设位置为所述脱困路径上的非脱困场景对应的定位信息所指示的位置,或,驱动所述移动机器人按照所述脱困路径反向运动至所述脱困路径的起点位置。
[0196]
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所
述的方法的步骤。
[0197]
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一实施例所述的方法步骤。
[0198]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0199]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0200]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、移动机器人、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0201]
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

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

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

相关文献