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.图1是本技术机器人在行驶区域的一个实施例的示意图;
43.图2是本技术机器人脱困方法的一个实施例的流程示意图;
44.图3是本技术机器人脱困方法的机器人进入狭窄环境的示意图;
45.图4是本技术机器人脱困方法的机器人的行驶路段的示意图;
46.图5是本技术机器人脱困方法的机器人的历史行驶路段l的示意图;
47.图6是本技术机器人脱困方法的机器人的行驶路径上存在障碍物时的安全路径规划图;
48.图7是本技术机器人脱困装置的另一个实施例的结构示意图;
49.图8是本技术机器人的一个实施例中控制器的硬件结构示意图。
具体实施方式
50.下面结合具体实施例对本技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本技术,但不以任何形式限制本技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进。这些都属于本技术的保护范围。
51.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
52.需要说明的是,如果不冲突,本技术实施例中的各个特征可以相互结合,均在本技术的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示
出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
53.除非另有定义,本说明书所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本说明书中在本技术的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本技术。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
54.此外,下面所描述的本技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
55.本技术实施例提供的机器人脱困方法和装置可以应用于机器人,本技术的机器人可以是特殊形状的机器人,如方形机器人,或者是旋转不方便的机器人均可,在此不限定。如图1所示,以方形机器人为例,机器人100包括控制器,机器人100在工作的时候,在区域a中行走,在区域a中,包括障碍物区域b(包括障碍物b1、障碍物b2和障碍物b3)、狭窄区域c(包括狭窄区域c1和狭窄区域c2)和空旷区域d,狭窄区域c是相对于机器人100自身尺寸而言的区域,如果机器人100不能顺利地在区域上旋转或掉头,或容易引起碰撞或剐蹭,则将该区域定义为狭窄区域,此时,需要通过本技术的机器人脱困方法进行高效脱困。
56.可以理解的是,机器人100为可移动的机器人,例如,方形的扫地机器人,方便清扫墙边位置,或者为方形的配送机器人,并且,机器人100还包括各种类型的传感器,例如,激光雷达、惯性测量单元(imu)和轮式里程计(odom)等传感器,以获取光流、声纳、相机等信息,确保机器人能正常行走,并且,可以检测到机器人100周围的实时环境信息,控制器对实时环境信息进行分析处理。
57.请参见图2,为应用于本技术的机器人脱困方法的实施例的流程示意图,所述方法可以由机器人100中的控制器执行,该方法包括步骤s201-步骤s204。
58.s201:记录机器人前进行驶进入狭窄环境的历史行驶路段。
59.以方形机器人为例,如图3所示,机器人100在某一个区域内按照事先规划的路线行走,如区域a,在行驶的区域a内,包括空旷区域d和狭窄区域c(包括狭窄区域c1和狭窄区域c2)。可以理解的是,机器人100在空旷区域d以正常模式行走,如果在进入狭窄区域c1中能够正常行走,则以正常模式行走,在狭窄区域c2中不能继续前进时,进入脱困模式,在脱困成功后,进入正常模式。
60.在一些实施例中,为了检测机器人前进行驶进入的环境是狭窄环境还是空旷环境,所述方法还可以包括:
61.在所述机器人行走的时候,控制所述机器人在当前环境进行碰撞检测或路宽检测,获得检测结果;
62.根据所述检测结果,确定所述机器人的当前环境为狭窄环境或空旷环境。
63.具体地,机器人100在行走的时候,为了检测机器人100所在的当前环境,可以通过碰撞检测或路宽检测,根据检测结果,确定当前环境的路段是否可以旋转或者掉头,如果可以旋转或者掉头,则可以确定机器人100的当前环境为空旷环境,如在空旷区域d,如果不可以旋转或者掉头,或容易引起碰撞或剐蹭,则可以确定机器人100所处的当前环境是狭窄环境,如在狭窄区域c1或狭窄区域c2。
64.在确定机器人100所处的当前环境为空旷环境时,采用正常模式行走;当确定机器
人100所处的当前环境为狭窄环境但是能正常行驶时,采用正常模式行走。
65.如果机器人100前进行驶进入狭窄环境时,为了避免进入狭窄环境后无法前进而需要脱困,记录机器人前进行驶进入狭窄环境的历史行驶路段。
66.在其中一些实施方式中,所述记录机器人前进行驶进入狭窄环境的历史行驶路段,包括:
67.获取所述机器人前方的第二环境信息,并根据所述第二环境信息确定在预设距离范围内的前方是否存在所述狭窄环境;
68.若存在所述狭窄环境,则控制所述机器人前进驶入所述狭窄环境,并记录前进行驶进入和在所述狭窄环境行驶的行驶路段作为所述历史行驶路段。
69.具体地,首先,获取机器人前方的第二环境信息,并根据所述第二环境信息确定在预设距离范围内的前方是否存在狭窄环境,若存在所述狭窄环境,即存在狭窄区域c1和/或狭窄区域c2,则控制所述机器人前进驶入所述狭窄环境,并记录前进行驶进入和在所述狭窄环境行驶的行驶路段作为所述历史行驶路段。如图4所示,前进行驶进入的行驶路段为l1,在狭窄环境行驶的行驶路段为l2、l3和l4,将l1、l2、l3和l4合并为历史行驶路段。
70.在其中一些实施方式中,所述记录前进行驶进入和在所述狭窄环境行驶的行驶路段作为所述历史行驶路段,包括:
71.在前进行驶进入和在所述狭窄环境行驶的过程中,获取路面宽敞情况;
72.根据所述路面宽敞情况和所述机器人行驶的行驶路段,确定出所述历史行驶路段。
73.具体地,在记录前进行驶进入和在所述狭窄环境行驶的行驶路段作为所述历史行驶路段的时候,可以在前进行驶进入和在所述狭窄环境行驶的过程中,获取路面宽敞情况,路面宽敞情况可以通过雷达获得,且路面宽敞情况用于表示路面的宽度,然后根据所述路面宽敞情况和所述机器人行驶的行驶路段,确定出所述历史行驶路段。
74.进一步地,所述根据路面宽敞情况和所述机器人行驶的行驶路段,确定出所述历史行驶路段,包括:
75.在所述行驶路段中确定出多个采样路径点;
76.根据所述路面宽敞情况分别对所述多个采样路径点进行修正,以使每一所述采样路径点位于路宽的中间部分;
77.对所述多个采样路径点进行连接并经过路径平滑处理,以获得所述历史行驶路段。
78.具体地,在确定历史行驶路段的时候,在行驶路段中确定出多个采样路径点,如图4所示,在行驶路段l1、l2、l3和l4中确定出多个采样路径点,分别为采样路径点a1、采样路径点b1、采样路径点c1和采样路径点d1;然后,根据路面宽敞情况分别对多个采样路径点进行修正,以使每一采样路径点位于路宽的中间部分,如图5所示,将各个采样路径点修正以后,获得位于路宽的中间部分的采样路径点,分别为采样路径点a2、采样路径点b2、采样路径点c2、采样路径点d2;最后对多个采样路径点进行连接、路径平滑处理,获得历史行驶路段l。
79.s202:若检测到所述机器人在所述狭窄环境不能前进时,获取所述机器人后方的第一环境信息。
80.当检测到机器人100行走到的环境为狭窄环境不能前进时,如图5所示,机器人100进入区域c2以后无法继续前进,控制机器人100进入脱困处理,在脱困的时候,获取机器人100后方的第一环境信息。机器人100可以通过自身的相机和传感器,比如激光雷达、惯性测量单元(imu)和轮式里程计(odom)等传感器,获取光流、声纳、相机等信息,从而获取机器人100后方的第一环境信息。
81.s203:根据所述第一环境信息和所述历史行驶路段确定脱困位置,基于所述机器人的当前位置和所述脱困位置规划输出安全路径。
82.在确定机器人在狭窄环境不能前进时,如图5所示,进入到狭窄区域c2内时,机器人100无法前进,说明机器人100需要脱困,获取机器人100后方的第一环境信息,然后根据机器人100后方的第一环境信息和所述历史行驶路段l确定脱困位置,进一步规划输出安全路径。
83.在其中一些实施方式中,为了让机器人安全脱困,需要检测障碍物,因此,所述根据所述第一环境信息和所述历史行驶路段确定脱困位置,基于所述机器人的当前位置和所述脱困位置规划输出安全路径,可以包括:
84.根据所述第一环境信息确定在行驶路径上是否存在障碍物;
85.若在所述行驶路径上不存在障碍物,则以所述历史行驶路段的一个路径点作为脱困位置;
86.基于所述机器人的当前位置和所述脱困位置规划输出所述安全路径,其中,所述安全路径为部分或全部的所述历史行驶路段。
87.具体地,由于机器人100的前方不能行驶,因此,机器人100可以考虑从其后方行驶以实现脱困,根据机器人100后方的第一环境信息确定在行驶路径上是否存在障碍物,若在所述行驶路径上不存在障碍物,则说明历史行驶路段l可能可以行驶通过,以所述历史行驶路段l的一个路径点(比如路径点a2)作为脱困位置,基于所述机器人的当前位置和所述脱困位置规划输出所述安全路径,其中,所述安全路径为部分或全部的所述历史行驶路段。
88.可选地,作为脱困位置的路径点可以为所述历史行驶路段中距离所述机器人当前位置最远的路径点。如图5所示,路径点a2为历史行驶路段的多个路径点中,距离机器人当前位置最远的路径点。根据实时环境信息,可以判断路径点a2是否有障碍物,如果路径点a2没有障碍物,则说明路径点a2是可以通行的路径点;如果路径点a2有障碍物,则说明路径点a2是不可通行的路径点。
89.在其中一些实施方式中,基于所述机器人的当前位置和所述脱困位置规划输出所述安全路径,其中,所述安全路径为部分或全部的所述历史行驶路段,包括:
90.以所述机器人的当前位置为所述安全路径的起点,且以所述脱困位置为所述安全路径的终点,规划所述安全路径,且所述安全路径避开障碍物信息对应的障碍物。
91.对应地,若在所述行驶路径上存在障碍物,则在所述障碍物与所述机器人当前位置之间确定可选脱困位置;
92.若所述可选脱困位置位于所述狭窄环境,则在进入所述狭窄环境之前的空旷区域内确定出脱困位置,所述可选脱困位置用于分段规划输出所述安全路径,所述可选脱困位置位于所述安全路径。
93.具体地,若在所述行驶路径上存在障碍物,则说明需要寻可选脱困位置,可以在
障碍物与所述机器人当前位置之间确定可选脱困位置,图6所示,行驶路径上存在障碍物f,那么,可以在障碍物f与机器人当前位置之间确定可选脱困位置。
94.进一步地,如果可选脱困位置位于所述狭窄环境内,如位于区域c1中,则在进入所述狭窄环境c1之前的空旷区域d内确定出脱困位置,比如路径点a,所述可选脱困位置用于分段规划输出所述安全路径,所述可选脱困位置位于所述安全路径,如图6所示,之前的空旷区域可以为区域d,可选地,脱困位置为路径点a。
95.在其中一些实施方式中,所述在进入所述狭窄环境之前的空旷区域内确定出脱困位置,所述可选脱困位置用于分段规划输出所述安全路径,所述可选脱困位置位于所述安全路径,也可以包括:
96.缩短所述历史行驶路段,直到到可通行的路径点作为所述脱困位置,且所述路径点为缩短后的所述历史行驶路段中距离所述机器人当前位置最远的路径点。
97.具体地,为了到历史行驶路段中的可通行的路径点,可以缩短所述历史行驶路段,例如,原始的历史行驶路段包括路径点a2、路径点b2、路径点c2、路径点d2。距离机器人100当前位置最远的路径点为路径点a2为不可通行的路径点时(被障碍物f占用),缩短历史行驶路段,则缩短后的历史行驶路段包括路径点b2、路径点c2和路径点a,然后,到距离机器人100当前位置最远的路径点为路径点a,判断路径点a是否为可通行的路径点,如果是,则将路径点a确定为脱困位置。
98.s204:控制所述机器人根据所述安全路径后退行驶,以脱离所述狭窄环境。
99.具体地,在规划好安全路径后,根据所述安全路径后退行驶,从而及时有效脱离狭窄环境,不需要在当前位置长时间等待或者原地旋转,从而有效提高机器人的工作效率。
100.在一些实施方式中,在所述脱离所述狭窄环境之后,所述方法还包括:
101.当检测到所述机器人行走到的环境为空旷环境时,控制所述机器人退出脱困模式,并进入正常模式行走。
102.具体地,当机器人脱离所述狭窄环境之后,机器人行走至空旷环境时,比如处于空旷区域d,则说明机器人已经完成脱困,此时,控制机器人退出脱困模式,进入正常模式行走。
103.本技术的实施例,记录机器人前进行驶进入狭窄环境的历史行驶路段;若检测到所述机器人在所述狭窄环境不能前进时,则说明机器人需要进行脱困处理,此时,获取机器人后方的第一环境信息;然后根据第一环境信息和所述历史行驶路段确定脱困位置,基于所述机器人的当前位置和所述脱困位置规划输出安全路径;控制所述机器人根据所述安全路径后退行驶,以脱离所述狭窄环境。当机器人在狭窄环境无法继续前进的时候,进行安全路径规划,以使机器人能够根据安全路径后退行驶,从而有效提高机器人脱离狭窄环境的效率;并且,规划的安全路径能够在周围环境动态变化时,可以有效避免直接后退而撞击障碍物引起剐蹭,保证机器人在脱困过程中的安全,有效提高机器人在狭窄环境下的工作效率,降低机器人对工作环境的要求。并且地,机器人在前进行驶进入狭窄环境并受困时,机器人通过后退行驶退出狭窄环境,避免在狭窄环境中旋转而引起碰撞或剐蹭,保证机器人在脱困过程中的安全。
104.本技术实施例还提供了一种机器人脱困装置,请参阅图7,其示出了本技术实施例提供的一种机器人脱困装置的结构,该机器人脱困装置700包括:
105.记录模块701,用于记录机器人前进行驶进入狭窄环境的历史行驶路段;
106.获取模块702,用于若检测到所述机器人在所述狭窄环境不能前进时,获取所述机器人后方的第一环境信息;
107.规划模块703,用于根据所述第一环境信息和所述历史行驶路段确定脱困位置,基于所述机器人的当前位置和所述脱困位置规划输出安全路径;
108.脱困模块704,用于控制所述机器人根据所述安全路径后退行驶,以脱离所述狭窄环境。
109.本技术的实施例,记录机器人前进行驶进入狭窄环境的历史行驶路段;若检测到所述机器人在所述狭窄环境不能前进时,则说明机器人需要进行脱困处理,此时,获取机器人后方的第一环境信息;然后根据第一环境信息和所述历史行驶路段确定脱困位置,基于所述机器人的当前位置和所述脱困位置规划输出安全路径;控制所述机器人根据所述安全路径后退行驶,以脱离所述狭窄环境。当机器人在狭窄环境无法继续前进的时候,进行安全路径规划,以使机器人能够根据安全路径后退行驶,从而有效提高机器人脱离狭窄环境的效率;并且,规划的安全路径能够在周围环境动态变化时,可以有效避免直接后退而撞击障碍物、或者在大角度旋转中因为传感器盲区而引起碰撞或剐蹭,保证机器人在脱困过程中的安全,有效提高机器人在狭窄环境下的工作效率,降低机器人对工作环境的要求。并且地,机器人在前进行驶进入狭窄环境并受困时,机器人通过后退行驶退出狭窄环境,避免在狭窄环境中旋转而引起碰撞或剐蹭,保证机器人在脱困过程中的安全。
110.在一些实施例中,记录模块701,还用于:
111.获取所述机器人前方的第二环境信息,并根据所述第二环境信息确定在预设距离范围内的前方是否存在所述狭窄环境;
112.若存在所述狭窄环境,则控制所述机器人前进驶入所述狭窄环境,并记录前进行驶进入和在所述狭窄环境行驶的行驶路段作为所述历史行驶路段。
113.在一些实施例中,记录模块701,还用于:
114.在前进行驶进入和在所述狭窄环境行驶的过程中,获取路面宽敞情况;
115.根据所述路面宽敞情况和所述机器人行驶的行驶路段,确定出所述历史行驶路段。
116.在一些实施例中,记录模块701,还用于:
117.在所述行驶路段中确定出多个采样路径点;
118.根据所述路面宽敞情况分别对所述多个采样路径点进行修正,以使每一所述采样路径点位于路宽的中间部分;
119.对所述多个采样路径点进行连接并经过路径平滑处理,以获得所述历史行驶路段。
120.在一些实施例中,规划模块703,还用于:
121.根据所述第一环境信息确定在行驶路径上是否存在障碍物;
122.若在所述行驶路径上不存在障碍物,则以所述历史行驶路段的一个路径点作为脱困位置;
123.基于所述机器人的当前位置和所述脱困位置规划输出所述安全路径,其中,所述安全路径为部分或全部的所述历史行驶路段。
124.在一些实施例中,机器人脱困装置700还包括脱困位置确定模块705,用于:
125.若在所述行驶路径上存在障碍物,则在进入所述狭窄环境之前的空旷区域内确定出脱困位置;
126.基于所述机器人的当前位置和所述脱困位置规划输出所述安全路径。
127.在一些实施例中,脱困位置确定模块705,还用于:
128.若在所述行驶路径上存在障碍物,则在所述障碍物与所述机器人当前位置之间确定可选脱困位置;
129.若所述可选脱困位置位于所述狭窄环境,则在进入所述狭窄环境之前的空旷区域内确定出脱困位置,所述可选脱困位置用于分段规划输出所述安全路径,所述可选脱困位置位于所述安全路径。
130.需要说明的是,上述装置可执行本技术实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在装置实施例中详尽描述的技术细节,可参见本技术实施例所提供的方法。
131.图8为机器人的一个实施例中机器人100的控制器的硬件结构示意图,如图8所示,控制器包括:
132.一个或多个处理器111、存储器112。图8中以一个处理器111、一个存储器112为例。
133.处理器111、存储器112可以通过总线或者其他方式连接,图8中以通过总线连接为例。
134.存储器112作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本技术实施例中的机器人脱困方法对应的程序指令/模块(例如,附图7所示的记录模块701、获取模块702、规划模块703、脱困模块704、脱困位置确定模块705)。处理器111通过运行存储在存储器112中的非易失性软件程序、指令以及模块,从而执行控制器的各种功能应用以及数据处理,即实现上述方法实施例的机器人脱困方法。
135.存储器112可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据人员进出检测装置的使用所创建的数据等。此外,存储器112可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器112可选包括相对于处理器111远程设置的存储器,这些远程存储器可以通过网络连接至机器人。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
136.所述一个或者多个模块存储在所述存储器112中,当被所述一个或者多个处理器111执行时,执行上述任意方法实施例中的机器人脱困方法,例如,执行以上描述的图2中的方法步骤s201至步骤s204;实现图7中的模块701-705的功能。
137.上述产品可执行本技术实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本技术实施例所提供的方法。
138.本技术实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图8中的一个处理器111,可使得上述一个或多个处理器可执行上述任意方法实施例中的机器人脱
困方法,例如,执行以上描述的图2中的方法步骤s201至步骤s204;实现图7中的模块701-705的功能。
139.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
140.通过以上的实施例的描述,本领域普通技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
141.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
技术特征:
1.一种机器人脱困方法,其特征在于,所述方法包括:记录机器人前进行驶进入狭窄环境的历史行驶路段;若检测到所述机器人在所述狭窄环境不能前进时,获取所述机器人后方的第一环境信息;根据所述第一环境信息和所述历史行驶路段确定脱困位置,基于所述机器人的当前位置和所述脱困位置规划输出安全路径;控制所述机器人根据所述安全路径后退行驶,以脱离所述狭窄环境。2.根据权利要求1所述的方法,其特征在于,所述记录机器人前进行驶进入狭窄环境的历史行驶路段,包括:获取所述机器人前方的第二环境信息,并根据所述第二环境信息确定在预设距离范围内的前方是否存在所述狭窄环境;若存在所述狭窄环境,则控制所述机器人前进驶入所述狭窄环境,并记录前进行驶进入和在所述狭窄环境行驶的行驶路段作为所述历史行驶路段。3.根据权利要求2所述的方法,其特征在于,所述记录前进行驶进入和在所述狭窄环境行驶的行驶路段作为所述历史行驶路段,包括:在前进行驶进入和在所述狭窄环境行驶的过程中,获取路面宽敞情况;根据所述路面宽敞情况和所述机器人行驶的行驶路段,确定出所述历史行驶路段。4.根据权利要求3所述的方法,其特征在于,所述根据路面宽敞情况和所述机器人行驶的行驶路段,确定出所述历史行驶路段,包括:在所述行驶路段中确定出多个采样路径点;根据所述路面宽敞情况分别对所述多个采样路径点进行修正,以使每一所述采样路径点位于路宽的中间部分;对所述多个采样路径点进行连接并经过路径平滑处理,以获得所述历史行驶路段。5.根据权利要求1所述的方法,其特征在于,所述根据所述第一环境信息和所述历史行驶路段确定脱困位置,基于所述机器人的当前位置和所述脱困位置规划输出安全路径,包括:根据所述第一环境信息确定在行驶路径上是否存在障碍物;若在所述行驶路径上不存在障碍物,则以所述历史行驶路段的一个路径点作为脱困位置;基于所述机器人的当前位置和所述脱困位置规划输出所述安全路径,其中,所述安全路径为部分或全部的所述历史行驶路段。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:若在所述行驶路径上存在障碍物,则在进入所述狭窄环境之前的空旷区域内确定出脱困位置;基于所述机器人的当前位置和所述脱困位置规划输出所述安全路径。7.根据权利要求6所述的方法,其特征在于,所述若在所述行驶路径上存在障碍物,则在进入所述狭窄环境之前的空旷区域内确定出脱困位置,包括:若在所述行驶路径上存在障碍物,则在所述障碍物与所述机器人当前位置之间确定可选脱困位置;
若所述可选脱困位置位于所述狭窄环境,则在进入所述狭窄环境之前的空旷区域内确定出脱困位置,所述可选脱困位置用于分段规划输出所述安全路径,所述可选脱困位置位于所述安全路径。8.一种机器人脱困装置,其特征在于,所述装置包括:记录模块,用于记录机器人前进行驶进入狭窄环境的历史行驶路段;获取模块,用于若检测到所述机器人在所述狭窄环境不能前进时,获取所述机器人后方的第一环境信息;规划模块,用于根据所述第一环境信息和所述历史行驶路段确定脱困位置,基于所述机器人的当前位置和所述脱困位置规划输出安全路径;脱困模块,用于控制所述机器人根据所述安全路径后退行驶,以脱离所述狭窄环境。9.一种机器人,其特征在于,所述机器人包括:至少一个处理器,以及存储器,所述存储器与所述处理器通信连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以实现如权利要求1至7任一项所述的机器人脱困方法的步骤。10.一种非易失性计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被机器人执行时,以实现如权利要求1至7任一项所述的机器人脱困方法的步骤。
技术总结
本申请实施例涉及机器人领域,公开了一种机器人脱困方法、装置、机器人及存储介质。所述方法包括:记录机器人前进行驶进入狭窄环境的历史行驶路段;若检测到所述机器人在所述狭窄环境不能前进时,获取所述机器人后方的第一环境信息;根据所述第一环境信息和所述历史行驶路段确定脱困位置,基于所述机器人的当前位置和所述脱困位置规划输出安全路径;控制所述机器人根据所述安全路径后退行驶,以脱离所述狭窄环境。本申请在周围环境动态变化时,可以有效避免直接后退而撞击障碍物、或者在大角度旋转中因为传感器盲区而引起碰撞或剐蹭,保证机器人在脱困过程中的安全,有效提高机器人的工作效率。作效率。作效率。
技术研发人员:
罗沛 郑智豪
受保护的技术使用者:
深圳优地科技有限公司
技术研发日:
2022.07.29
技术公布日:
2022/10/11