具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
穷举法:根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。若某个情况验证符合题目的全部条件,则为本问题的一个解;若全部情况验证后都不符合题目的全部条件,则本题无解。穷举法也称为枚举法。
MDP:马尔可夫决策过程(Markov Decision Process,MDP),MDP考虑了动作,即系统下个状态不仅和当前的状态有关,也和当前采取的动作有关。
Boltzman分布机制:即玻尔兹曼分布,是典型随机神经网络选择,其状态用概率来确定。
Q-learning算法:即增强学习算法,是基于有限状态和有线模型的学习算法,用于机器学习,通过无监督训练(unsupervised training)来学习一个未知环境。
泛化:当某一反应与某种刺激形成条件联系后,这一反应也会与其它类似的刺激形成某种程度的条件联系,这一过程称为泛化。
人工势场法:是将机器人在周围环境中的运动,设计成一种抽象人造引力场中的运动,目标点对移动机器人产生“引力”,障碍物对移动机器人产生“斥力”,最后通过求合力来控制移动机器人的移动。
模糊逻辑:建立在多值逻辑基础上,运用模糊集合的方法来研究模糊性思维、语言形式及其规律的科学。
根据本发明实施例,提供了一种路径规划的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的路径规划方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取目标机器人的当前位置和候选目标点的位置,其中,当前位置和候选目标点的位置均在预设规划路径中,且在预设规划路径中,候选目标点的位置位于当前位置之后,作为目标机器人由当前位置出发将要到达的下一个位置的候选位置;
步骤S104,根据当前位置和候选目标点的位置,确定候选目标点的位置是否是目标机器人将要到达的下一个位置,若是,执行步骤S106,若否,返回步骤S102;
步骤S106,将候选目标点的位置作为实际规划路径中当前位置的下一个位置。
通过上述实施方式,目标机器人可以获取目标机器人的当前位置和候选目标点的位置,其中,当前位置和候选目标点的位置均在预设规划路径中,且在预设规划路径中,候选目标点的位置位于当前位置之后,作为目标机器人由当前位置出发将要到达的下一个位置的候选位置,并根据当前位置和候选目标点的位置,确定候选目标点的位置是否是目标机器人将要到达的下一个位置,若是,则将候选目标点的位置作为实际规划路径中当前位置的下一个位置,若不是,可以返回到获取目标机器人的当前位置和候选目标点的位置的步骤,并重新确定候选目标点的位置是否是目标机器人将要到达的下一个位置,直至候选目标点的位置是目标机器人将要到达的下一个位置。根据上述实施方式,目标机器人可以不断的获取当前位置和候选目标点的位置,做出路径选择,从而根据已获取到的路径信息,做出合理的路径规划,解决了路径规划效率低的技术问题。
对于上述实施方式,其可以应用于各种机器人中,该机器人包括智能机器人、军用机器人以及服务机器人等。机器人可以根据探测到的环境信息做出路径选择。
可选的,目标机器人可以是可以选择路径的智能机器人,该目标机器人上可以设置多个传感器,通过该传感器可以实时的获取到目标机器人周围的环境信息,其中,环境信息可以包括多种,如障碍物位置信息和候选目标点的位置信息,以及目标机器人到候选目标点之间的路径信息。其中,该路径信息可以包括目标机器人到障碍物的距离,以及障碍物和候选目标点的距离信息等。
可选的,上述实施方式中的传感器可以包括多种,例如:声纳传感器、红外线传感器、速度传感器等,通过各个传感器可以检测到目标机器人到障碍物、候选目标点之间的距离,也可以通过目标机器人中的传感器检测到障碍物的大小和障碍物的边缘。
对于上述实施例,目标机器人在进行路径规划前,可以先确定出目标机器人当前位置信息和最终要到达的终点位置信息,并根据当前位置和终点位置做出合理的路径规划。
另一种可选的实施方式,在步骤S102提供的技术方案中,获取目标机器人的当前位置和候选目标点的位置,其中,当前位置和候选目标点的位置都在预设规划路径中,且在预设规划路径中,候选目标点的位置位于当前位置之后,作为目标机器人由当前位置出发将要到达的下一个位置的候选位置。其中,候选目标点可以为目标机器人下一次可以选择的行进目标点,通过获取目标机器人的当前位置和候选目标点的位置确定,从而确定目标机器人下一步可以行走的方向。可选的,目标机器人可以行走的方向可以包括多个,例如,正前方、左前方以及右前方等。
可选的,上述的候选目标点可以为多个,候选目标点相对于目标机器人当前位置可以有不同的方向,目标机器人在选择候选目标点时,可以确定候选目标点到目标机器人的距离,也可以确定候选目标点到最终要到达的终点之间的距离。
可选的,在步骤S104提供的技术方案中,根据当前位置和候选目标点的位置,确定候选目标点的位置是否是目标机器人将要到达的下一个位置。其中,在确定候选目标点的位置是否为目标机器人将要到达的下一个位置时,可以获取目标机器人到各个候选目标点之间的距离,同时需要获取到目标机器人到候选目标点之间的障碍物信息(如障碍物的大小、障碍物的边缘),并根据获取到的信息,确定出候选目标点的位置是否是目标机器人将要到达的下一个位置。
可选的,在确定出候选目标点的位置是目标机器人将要到达的下一个位置后,执行步骤S106提供的技术方案,将候选目标点的位置作为实际规划路径中当前位置的下一个位置。若确定出候选目标点的位置不是目标机器人将要到达的下一个位置,则返回步骤S102,重新确定其他候选目标点的位置是否是目标机器人将要到达的下一个位置,即可以根据当前位置和候选目标点的位置,再次判断其他候选目标点的位置是否是目标机器人将要到达的下一个位置。直到确定出目标机器人想要达到的下一个位置。
另一种可选的实施方式,根据当前位置和候选目标点的位置,确定候选目标点的位置是否是目标机器人将要到达的下一个位置包括:获取当前位置和候选目标点的位置之间的障碍物的信息,其中,障碍物的信息包括障碍物的边缘位置,边缘位置为障碍物中靠近预设规划路径的边缘的位置;基于障碍物的边缘位置,确定目标机器人与障碍物的环境状态信息;根据环境状态信息,确定候选目标点的位置是否是目标机器人将要到达的下一个位置。
可选的,上述实施方式中的障碍物可以包括静态障碍物和动态障碍物,其中,静态障碍物可以为不行动的障碍物,其相对于目标机器人是不移动的,其位置是相对固定的,例如,石头;对于动态障碍物,其可以是实时改变位置的障碍物,例如,移动的小车。目标机器人中的传感器可以实时的获取到预定范围内的障碍物信息,该预定范围可以是目标机器人周围的一个范围,例如,以目标机器人为圆心的半径为5米的圆形区域。目标机器人可以不断地获取到周围的环境信息,并将获取的信息存储起来。
其中,目标机器人可以根据已经获取到的环境信息建立一个环境模型,其中,在该环境模型中,存储有已经走过的路径信息和障碍物信息,并根据传感器最近探测到的环境信息更新环境模型。可选的,目标机器人对动态障碍物的信息需要及时的更新。
其中,在获取障碍物信息时,可以获取障碍物的大小和障碍物的位置信息,也可以获取到障碍物的边缘位置的信息,该障碍物的边缘位置可以是靠近候选目标点的边缘位置。
另一种可选的实施方式,在获取到障碍物信息后,可以基于障碍物信息,确定目标机器人与障碍物的环境状态信息,其中,目标机器人与障碍物的环境状态信息至少包括下述至少之一:成功状态;安全状态;危险状态;失败状态。并根据获取到的环境状态信息,确定候选目标点的位置是否是目标机器人将要到达的下一个位置。
可选的,基于障碍物的边缘位置,确定目标机器人与障碍物的环境状态信息包括:确定当前位置与障碍物的边缘位置之间的距离;若距离小于第一预定距离,确定目标机器人与障碍物的环境状态信息为失败状态;若距离不小于第一预定距离、且小于第二预定距离,确定目标机器人与障碍物的环境状态信息为危险状态;若距离不小于第二预定距离、且小于第三预定距离,确定目标机器人与障碍物的环境状态信息为安全状态;若距离不小于第三预定距离、且小于第四预定距离,确定目标机器人与障碍物的环境状态信息为成功状态;其中,第一预定距离小于第二预定距离,第二预定距离小于第三预定距离,第三预定距离小于第四预定距离。
其中,第一预定距离可以为很短,例如0.1米,即该障碍物可能在目标机器人到候选目标点之间的路径上,使得目标机器人无法通过该路径到达该候选目标点,此时,若检测到目标机器人与障碍物的边缘位置之间距离小于第一预定距离,则可以判定目标机器人不能到达该候选目标点,即失败状态。可选的,第二预定距离可以为大于第一预定距离并小于第三预定距离的数值,例如,0.6米,即该障碍物的边缘可能在目标机器人到候选目标点之间的路径上,若目标机器人想要到达该候选目标点,需要绕开该障碍物的边缘,此时,目标机器人若要到达候选目标点为危险状态。
另一种可选的实施方式,第三预定距离可以为预先设置的阈值,该第三预定距离可以是大于第二预定距离并小于第四预定距离的数值,例如,1.2米,即检测到的障碍物的边缘距离该目标机器人到达候选目标点的路径较近,但是,该障碍物不妨碍目标机器人到达该候选目标点,此时,可以确定目标机器人到达候选目标点为安全状态。可选的,第四预定距离可以为预先设置的数值,其可以大于第三预定距离,例如,2米,即障碍物距离该目标机器人到达候选目标点的路径较远,此时,障碍物对于目标机器人的路径选择没有影响,可以确定此时目标机器人到达候选目标点为成功状态。
其中,目标机器人在选择下一个将要到达的位置时,可以对到达各个候选目标点的路径进行分析。
对于上述实施方式,可以通过模糊逻辑对环境状态进行离散化处理,可选的,可以将目标机器人与障碍物边缘之间的距离根据大小模糊为:近距、中距以及远距。其中,近距表示目标机器人距离障碍物的边缘较近,近距表示的范围可以在第一预定距离到第二预定距离之间;中距表示目标机器人距离障碍物的边缘大于近距但小于远距,中距表示的范围可以在第二预定距离到第四预定距离之间;远距表示目标机器人距离障碍物的边缘大于中距,远距表示的范围可以是大于第四预定距离。
可选的,机器人可以通过传感器返回的模糊距离判断出该目标机器人到达候选目标点是否可以行走,例如,在传感器返回的是远距信息时,可以判断出障碍物的边缘距离目标机器人较远,不会妨碍机器人前进,若传感器返回的近距信息,可以判断出障碍物的边缘距离目标机器人较近,若机器人继续前进,可能会与障碍物相撞,该障碍物可能妨碍到目标机器人前进。
可选的,基于障碍物的边缘位置,确定目标机器人与障碍物的环境状态信息还可以包括:基于当前位置和障碍物的边缘位置,确定从当前位置到达障碍物的边缘位置的第一向量,其中,第一向量的长度为第一长度,第一向量的方向为第一方向;根据当前位置和候选目标点的位置,确定从当前位置到达候选目标点的位置的第二向量,其中,第二向量的长度为第二长度,第二向量的方向为第二方向;在第一长度大于第二长度的情况下,确定目标机器人与障碍物的环境状态信息为成功状态;在第一长度不大于第二长度的情况下,检测第一方向与第二方向的夹角;若夹角大于第一预定夹角,则确定目标机器人与障碍物的环境状态信息为安全状态;若夹角大于第二预定夹角、且小于等于第一预定夹角,则确定目标机器人与障碍物的环境状态信息为危险状态;若夹角小于等于第一预定夹角,则确定目标机器人与障碍物的环境状态信息为失败状态,其中,第二预定夹角小于第一预定夹角。
对于上述实施方式,是通过检测目标机器人当前位置相对于障碍物边缘的第一向量和目标机器人当前位置相对于候选目标点的第二向量之间的夹角,确定出目标机器人到达候选目标点之间的环境状态。在该实施方式中,若第一向量的所代表的第一长度大于第二向量所表示的第二长度,则可以得到障碍物相对于候选目标点的位置到达目标机器人之间的距离较远,障碍物完全不会妨碍到目标机器人到达候选目标点,此时,可以确定目标机器人到达该候选目标点为成功状态。可选的,在第一长度不大于第二长度的情况下,可以检测第一方向与第二方向的夹角,若夹角大于第一预定夹角,则确定目标机器人与障碍物的环境状态信息为安全状态,其中,该第一预定夹角可以是较大的数值,例如30度,第一方向与第二方向的夹角大于第一预定夹角,则可以确定出障碍物不会妨碍到目标机器人到达候选目标点。
其中,第二预定夹角小于第一预定夹角,若夹角大于第二预定夹角、且小于等于第一预定夹角,则确定目标机器人与障碍物的环境状态信息为危险状态,第二预定夹角可以是较小的夹角数值,例如,10度,在第一向量和第二向量的夹角大于第二预定夹角、且小于第一预定夹角时,此时,障碍物的边缘可能在目标机器人到候选目标点的路径上,妨碍到了目标机器人到达该候选目标点此时,可以确定其为危险状态。另一种可选的实施方式,在夹角小于等于第一预定夹角,则确定目标机器人与障碍物的环境状态信息为失败状态,此时目标机器人不能到达候选目标点。
另一种可选的实施方式,在确定候选目标点的位置是目标机器人将要到达的下一个位置之后,还可以记录当前位置到下一个位置的路径信息,其中,路径信息包括当前位置到下一个位置的距离信息、当前位置到下一个位置之间的障碍物信息、当前位置到障碍物之间的距离信息。目标机器人可以根据记录的路径信息,更新上述的环境模型。
可选的,在目标机器记录当前位置到下一个位置的路径信息时,可以确定出路径的评价值,该评价值可以是根据上述环境状态信息得到,即目标机器人到达了下一个位置后,可以对走过的路径进行相应的反馈,例如:-1、0、1等,该评价值可以是上述的环境状态信息对应的,例如,在失败状态时,评价值为-1;安全状态时,评价值为1;危险状态时,评价值为0;成功状态时,评价值为2。
可选的,根据环境状态信息,确定候选目标点的位置是否是目标机器人将要到达的下一个位置包括:确定从当前位置到达各个候选目标点的位置中,目标机器人所需执行的候选动作;将每个候选目标点对应的候选动作和环境状态信息,确定每个候选目标点的评价值;获取多个候选目标点对应的评价值中的最大值;根据当前位置对应的环境状态信息和当前动作、以及最大值,确定候选目标点的位置是否是目标机器人将要到达的下一个位置。
其中,目标机器人所需执行的候选动作,可以是目标机器人与各个候选目标点的动作选择,例如,前进、左转以及右转等。根据该候选动作以及上述的环境状态信息(即成功状态、安全状态、危险状态或者失败状态),得到每个候选目标的评价值,通过获取多个候选目标点对应的评价值中的最大值,根据当前位置对应的环境状态信息和当前动作、以及最大值,确定候选目标点的位置是否是目标机器人将要到达的下一个位置,即可以选择评价值中的最大值,并结合目标机器人当前位置做出动作选择,以到达下一个位置。
通过上述实施方式,目标机器人可以通过评价值、当前位置对应的环境状态信息和当前动作确定出候选目标点的位置是否是目标机器人将要到达的下一个位置,从而实时的更新路径信息,然后,通过已走过的路径信息不断地优化路径选择,最终,可以到达终点。
可选的,目标机器人在开始进行路径规划时,需要对多个候选目标点进行选择,不断地根据已经走过的路径,做出路径选择。在该实施方式中,目标机器人在将候选目标点的位置作为实际规划路径中当前位置的下一个位置之后,可以从当前位置移动到选择的下一个位置,并记录当前位置到下一个位置的路径信息。即目标机器人可以不断学习到已经走过的路径,根据学习到的路径信息做出路径动作选择。
可选的,根据当前位置对应的环境状态信息和当前动作、以及最大值,确定候选目标点的位置是否是目标机器人将要到达的下一个位置包括:通过如下公式确定候选目标点的位置是否是目标机器人将要到达的下一个位置:
Q(state,action)=R(state,action)+Gamma*MaxQ(next state,all actions),
其中,state为目标机器人当前位置,action为可选动作,Gamma为常量,R(state,action)为根据当前位置做出的动作选择,next state为候选目标点的位置,all actions为所有的动作选择,MaxQ(next state,all actions)为目标机器人根据候选目标点的位置选择的所有动作的评价值中的最大值,Q(state,action)为根据当前位置对应的环境状态信息和当前动作、以及最大值,确定最优的候选目标点为下一个位置。
目标机器人可以通过上述方式,不断地学习,机器人将会从一个目标点到另一个目标点,不断地检测,直到它到达路径的终点。目标机器人在选择路径的时候,可以根据评价值的大小做出最优路径规划,选择评价值较大所表示的路径,不断更新路径的评价值,最终可以确定出从开始位置到终点位置之间的最优路径,该最优路径可以是有效避开障碍物的路径。
其中,在使用上述公式确定下一个位置时,可以建立一个矩阵,在该矩阵中,并建立相应的路径规划参数,例如,目标点A可以到目标点B,则可以确定其参数为1,目标点A不可以到目标点C,则可以确定其参数为-1,其中,该矩阵的具体实现步骤可以包括:设置当前目标点为起始目标点;从当前目标点开始,找到有最高评价值的动作;设置当前目标点为下一个目标点(即最高评价值所对应的候选目标点目标点);重复上述实施方式,直到当前目标点为终点。
可选的,在获取当前位置和障碍物之间的距离时,可以根据传感器探测到目标机器人当前位置和障碍物之间的距离确定距离,在目标机器人通过传感器检测到目标机器人当前位置和障碍物之间的距离后,可以在反馈给目标机器人中的处理端处理时,可以模糊其具体地距离,反馈相应的距离信息给处理端。其中,处理端可以分析当前目标机器人和周围环境状态。
通过上述实施方式,目标机器人可以在不断学习的过程中进行路径规划,可以在未知环境中,对环境做出试探并从评价中得到知识,改进行动策略以达到预期目的。
下面是根据本发明的具体实施例。
本发明实施方式,用于机器人路径规划,其是基于强化学习在未知环境中进行路径规划,强化学习的优势在于通过和环境交互地试错,不断地学习。本发明实施例提出将强化学习和模糊逻辑相互结合,利用模糊逻辑对环境状态进行离散化处理,以保证状态划分的合理性,并利用强化学习选择策略完成机器人的未知环境中避障路径规划。
可选的,在利用模糊逻辑对环境状态进行离散化处理时,可以先确定机器人与障碍物的距离,其中,机器人与障碍物之间的距离分为近距、中距、以及远距。
可选的,强化学习可以包括如下部分:
环境模型:机器人可以根据传感器返回的信息,建立一个当前已知环境的模型,在该模型中,可以记录机器人当前位置信息、方向信息、当前机器人的行进速度、传感器探测到障碍物信息以及机器人所要到达的目标点。其中,机器人当前位置信息可以为机器人地理位置;传感器探测到的障碍物信息包括障碍物与机器人的距离以及该障碍物相对于机器人的方向。在该实施方式中,障碍物可以包括静态障碍物和动态障碍物,对于静态障碍物,机器人可以根据一次探测到的障碍物位置信息,确定出如何避障,对于动态障碍物,机器人可以根据传感器实时探测到的障碍物位置信息,更新环境模型,从而更好的进行路径规划。
惩罚函数:由于Q-learning算法是基于有限状态和有限动作的MDP模型,输入或输出必须是有限离散状态,在本发明实施方式中,可以对增强学习进行泛化处理,将机器人的状态设为s,动作设为a。可选的,可以设定机器人与目标点的距离为d,可以设定在d=1时,机器人与终端的距离为成功距离,d=2为冲突距离,d=3为危险距离,d=4为失败距离,环境状态可以包括成功状态,安全状态,危险状态以及失败状态,可以在成功状态时返回数值2,安全状态时返回数值2,危险状态时返回数值0,失败状态时返回数值-1。
其中,可以根据机器人与目标点之间的距离关系,得到机器人当前位置相对于终点位置的状态,并根据检测到的机器人与目标点之间的环境状态,选择下一个目标点。
通过上述实施方式,可以不断的根据惩罚函数确定出得到路径的优化值。
Q值函数:通过下述公式可以实现该路径的选择:
Q(state,action)=R(state,action)+Gamma*MaxQ(next state,all actions)
其中,state即为机器人状态,action为动作,Q(state,action)为Q值函数所表示的矩阵一个元素的值,R(state,action)为R矩阵中相应元素的值,Gamma为学习变量,MaxQ(next state,all actions)为机器人下一状态所有动作的评价值中的最大值。机器人可以通过上述方式,不断地学习,机器人将会从一个状态到另一个状态,不断地探索,直到它到达目标状态。我们称每一次这样的探索为一个场景。每个场景就是目标机器人从起始状态到达目标状态的过程。每次目标机器人到达了目标状态,该实施方式可以进入到下一个场景中。状态s执行动作a的评价函数,且此后按最优动作序列执行时的强化信号折扣,仅仅是跟踪从起始状态到目标状态的状态序列来使用矩阵Q。这个算法在矩阵Q中为当前状态找到有最高评价值的下一步动作。
可选的,上述Q矩阵使用方式可以包括:首先,初始化机器人状态,然后可以将机器人的当前状态设置为初始化状态;从当前状态开始,找到有最高Q值的动作;可以将最高Q值所表示的状态表示为下一状态,并设置当前状态为下一状态;判断当前状态是否为目标状态,若是,则不用再寻找机器人的状态,若否,继续执行上述从当前状态开始,寻找最高Q值的动作,直到当前状态为目标状态。通过上述实施方式,可以返回从起始状态到目标状态的状态序列。
动作选择策略:为了尽可能选择多的动作同时考虑Q值函数最大的动作,本发明实施方式采用Boltzmann分布机制选取Q值最大的动作进行机器人避障。其中,动作选择包括前进,左转,右转。
通过上述实施方式,可以利用模糊逻辑对环境状态进行离散化处理,保证了状态划分的合理,然后可以根据实时更新的环境模型,利用强化学习完成机器人在未知环境中避障路径规划。
图2是根据本发明实施例的另一种可选的路径规划方法的流程图二,如图2所示,该方法包括如下步骤:
步骤S201,机器人初始化当前状态。
步骤S203,判断当前状态是否为目标状态。
若否,执行步骤S205,若是,执行步骤S209。
步骤S205,从当前状态中查询到最高的评价值,并找到该最高评价值对应的动作。
步骤S207,设置当前状态为下一状态。
步骤S209,机器人到达下一状态对应的目标点。
本发明实施例,机器人在进行路径规划时,可以先初始化当前状态,该当前状态可以是机器人当前位置和所述的环境状态,然后,机器人可以判断当前状态是否为目标状态,若判断出当前状态不是目标状态时,从当前状态中查询到最高的评价值,并找到该最高评价值对应的动作,然后设置当前状态为下一状态,若判断出当前状态为目标状态,则机器人可以到达下一状态对应的目标点。即机器人可以在选择路径时,根据当前状态和评价值来确定将要到达的下一个目标点。
该实施方式中,采用增强学习的路径规划方法,随着机器人不断的移动,不断获取机器人周围的环境信息,并通过不断地选取状态和更新路径信息,可以计算得出当前状态下最优的路径,保证了机器人在未知环境中能进行有效避障,并优化路径选择,机器人可以在连续处理状态空间时,寻找到最优路径。
图3是根据本发明实施例的另一种可选的路径规划装置的结构图,如图3所示,该装置包括:第一获取单元31,用于获取目标机器人的当前位置和候选目标点的位置,其中,当前位置和候选目标点的位置均在预设规划路径中,且在预设规划路径中,候选目标点的位置位于当前位置之后,作为目标机器人由当前位置出发将要到达的下一个位置的候选位置;第一确定单元33,用于根据当前位置和候选目标点的位置,确定候选目标点的位置是否是目标机器人将要到达的下一个位置;第二确定单元35,第二确定单元,用于在候选目标点的位置是目标机器人将要到达的下一个位置的情况下,将候选目标点的位置作为实际规划路径中当前位置的下一个位置;及在候选目标点的位置不是目标机器人将要到达的下一个位置的情况下,返回第一获取单元,并重新确定直至候选目标点的位置是目标机器人将要到达的下一个位置。
通过上述实施方式,目标机器人可以通过第一获取单元31获取目标机器人的当前位置和候选目标点的位置,其中,当前位置和候选目标点的位置均在预设规划路径中,且在预设规划路径中,候选目标点的位置位于当前位置之后,作为目标机器人由当前位置出发将要到达的下一个位置的候选位置,并通过第一确定单元33根据当前位置和候选目标点的位置,确定候选目标点的位置是否是目标机器人将要到达的下一个位置,并通过第二确定单元35在候选目标点的位置是目标机器人将要到达的下一个位置的情况下,将候选目标点的位置作为实际规划路径中当前位置的下一个位置;及在候选目标点的位置不是目标机器人将要到达的下一个位置的情况下,返回第一获取单元,并重新确定直至候选目标点的位置是目标机器人将要到达的下一个位置。根据上述实施方式,目标机器人可以不断的获取当前位置和候选目标点的位置,做出路径选择,从而根据已获取到的路径信息,做出合理的路径规划,解决了路径规划效率低的技术问题。
可选的,第一确定单元包括:第一获取模块,用于获取当前位置和候选目标点的位置之间的障碍物的信息,其中,障碍物的信息包括障碍物的边缘位置,边缘位置为障碍物中靠近预设规划路径的边缘的位置;第一确定模块,用于基于障碍物的边缘位置,确定目标机器人与障碍物的环境状态信息;第二确定模块,用于根据环境状态信息,确定候选目标点的位置是否是目标机器人将要到达的下一个位置。
另一种可选的实施方式,第一确定模块包括:第一确定子模块,用于确定当前位置与障碍物的边缘位置之间的距离;第二确定子模块,用于若距离小于第一预定距离,确定目标机器人与障碍物的环境状态信息为失败状态;第三确定子模块,用于若距离不小于第一预定距离、且小于第二预定距离,确定目标机器人与障碍物的环境状态信息为危险状态;第四确定子模块,用于若距离不小于第二预定距离、且小于第三预定距离,确定目标机器人与障碍物的环境状态信息为安全状态;第五确定子模块,用于若距离不小于第三预定距离、且小于第四预定距离,确定目标机器人与障碍物的环境状态信息为成功状态;其中,第一预定距离小于第二预定距离,第二预定距离小于第三预定距离,第三预定距离小于第四预定距离。
其中,第二确定模块包括:第六确定子模块,用于确定从当前位置到达各个候选目标点的位置中,目标机器人所需执行的候选动作;第七确定子模块,用于将每个候选目标点对应的候选动作和环境状态信息,确定每个候选目标点的评价值;第二获取模块,用于获取多个候选目标点对应的评价值中的最大值;第八确定子模块,用于根据当前位置对应的环境状态信息和当前动作、以及最大值,确定候选目标点的位置是否是目标机器人将要到达的下一个位置。
可选的,装置还包括:记录单元,用于在确定候选目标点的位置是否是目标机器人将要到达的下一个位置之后,记录当前位置到下一个位置的路径信息,其中,路径信息包括当前位置到下一个位置的距离信息、当前位置到下一个位置之间的障碍物信息、当前位置到障碍物之间的距离信息。
根据本发明实施例的另一方面,还提供了一种机器人,其特征在于,包括:上述实施方式中任一项的路径规划装置。
本发明实施例采用增强学习的路径规划方法,随着机器人不断的移动,不断获取机器人周围的环境信息,并通过不断地选取候选目标点和更新路径信息,可以计算得出当前状态下最优的路径,保证了机器人在未知环境中能进行有效避障,并优化路径选择,机器人可以在连续处理状态空间时,寻找到最优路径。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。