发明内容
为解决现有技术存在的至少一个问题,本发明能够提供一种基于深度强化学习的机器人导航方法及系统、设备、介质,从而可达到提高机器人智能化水平、降低计算复杂度等一个或多个技术目的。
为实现上述的技术目的,本发明一个或者多个实施例具体提供了一种基于深度强化学习的机器人导航方法。该机器人导航方法可包括但不限于如下至少一个步骤:获取实时观测数据,基于所述实时观测数据构建环境地图以及确定机器人的当前位置和目标点相对位置。生成导航动作信息,并依据所述导航动作信息控制所述机器人从当前位置向所述目标点相对位置移动。经过第一设定时长后判断所述机器人是否到达所述目标点相对位置。根据未到达所述目标点相对位置生成新导航路径,并控制所述机器人沿着所述新导航路径移动,以及再经过第二设定时长后返回所述获取实时观测数据步骤;或者根据到达所述目标点相对位置结束导航。
进一步地,所述根据未到达所述目标点相对位置生成新导航路径包括:
判断在环境地图上是否成功检索到从当前位置到目标点相对位置的可行驶路径,根据检索成功将可行驶路径上的点作为新导航路径的终点,或者根据检索失败将环境地图中未经过区域的点作为新导航路径的终点。
进一步地,所述控制所述机器人从当前位置向所述目标点相对位置移动包括:
利用环境特征数据变化和所述机器人与所述目标点相对位置的距离变化计算好奇心探索因子,基于所述好奇心探索因子控制机器人的活动范围;好奇心探索因子用于表征所述机器人趋向于未经过区域的期望程度。
进一步地,该机器人导航方法还可包括:
对所述实时观测数据进行特征提取处理,以得到环境特征数据。
依据构建的环境地图、机器人的当前位置及所述目标点相对位置确定所述机器人与所述目标点相对位置的距离。
进一步地,该机器人导航方法还包括:
在所述机器人移动过程中计算所述机器人与障碍物之间的当前距离,以及根据所述当前距离小于安全距离控制所述机器人驶向安全区域,所述安全区域范围内任一点与所有障碍物之间的距离均大于所述安全距离。
进一步地,该机器人导航方法还包括:
读取设定的最大移动速度和最大转向速度。
控制所述机器人在移动过程中行驶的速度小于或等于所述最大移动速度,以及转向的速度小于或等于所述最大转向速度。
为实现上述的技术目的,本发明还能够提供一种基于深度强化学习的机器人导航系统,该机器人导航系统可包括但不限于激光传感器、定位建图模块、导航模块以及路径规划模块。
激光传感器,用于获取实时观测数据。
定位建图模块,用于基于所述实时观测数据构建环境地图以及用于确定机器人的当前位置和目标点相对位置。
导航模块,用于生成导航动作信息,以及用于依据所述导航动作信息控制所述机器人从当前位置向所述目标点相对位置移动。
路径规划模块,用于根据未到达所述目标点相对位置生成新导航路径,并用于控制所述机器人沿着所述新导航路径移动。
进一步地,该机器人导航系统还包括:
徘徊监测模块,用于利用环境特征数据变化和所述机器人与所述目标点相对位置的距离变化计算好奇心探索因子;所述导航模块用于基于所述好奇心探索因子控制机器人的活动范围;所述好奇心探索因子用于表征所述机器人趋向于未经过区域的期望程度。
本发明还有一些实施例能够提供一种计算机设备,该计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行本发明任一实施例中所述基于深度强化学习的机器人导航方法的步骤。
本发明还可提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本发明任一实施例中所述基于深度强化学习的机器人导航方法的步骤。
本发明的有益效果为:本发明能够在没有初始地图的环境下控制机器人在导航过程中灵活地避开静态障碍物和动态障碍物,而且计算量较小。本发明创新地结合了全局信息和局部信息,有效避免了常规机器人在局部区域徘徊的问题,所以本发明有效地权衡了导航目的和探索目的,使机器人具有更高的智能化水平,能够在复杂、陌生环境下出色地完成导航任务。
本发明可提供一种基于深度强化学习的机器人避障、定位与路径规划结合的导航系统,可应用于各种具有不同运动方式的移动式机器人上。本发明提供的方案具有移植性较好、应用范围较广等突出优点。
具体实施方式
下面结合说明书附图对本发明具体提供的一种基于深度强化学习的机器人导航方法及系统、设备、介质进行详细的解释和说明。
如图1所示,本发明一个或者多个实施例中可提供一种基于深度强化学习的机器人导航方法。该机器人导航方法包括但不限于如下的至少一个步骤。
获取实时观测数据。本发明能够利用机器人上搭载的激光传感器获取实时观测数据,并开启定位建图模块。当然,本发明使用的观测数据采集装置并不限于激光传感器,以能够实现本发明的观测数据采集目的为准。激光传感器能够采集360维激光传感器观测数据,本发明的观测数据具体可以为距离数据。
基于实时观测数据构建环境地图以及确定机器人的当前位置和目标点相对位置。如图2所示,该机器人导航方法还可包括:读取设定的最大移动速度和最大转向速度,并控制机器人在移动过程中行驶的速度小于或等于最大移动速度,以及控制机器人在移动过程中转向的速度小于或等于最大转向速度。本发明可根据实际需求通过用户手动设定最大移动速度和最大转向速度,或者基于机器人自身性能而自动生成最大移动速度默认值和最大转向速度默认值。
基于当前位置、目标点相对位置以及环境地图生成导航动作信息,并依据导航动作信息控制机器人从当前位置向目标点相对位置移动。更为具体地,控制机器人从当前位置向目标点相对位置移动包括:利用环境特征数据变化和机器人与目标点相对位置的距离变化计算好奇心探索因子,并基于好奇心探索因子控制机器人的活动范围;好奇心探索因子可用于表征机器人趋向于未经过区域的期望程度。其中环境特征数据变化可通过环境特征方差表示,机器人与目标点相对位置的距离变化可通过距离方差表示。方差越小,证明间隔保存的环境特征与到目标点距离互相之间越相似,越处于徘徊状态,应当对应调大对环境的探索程度,本发明调大探索程度的方式可通过调大好奇心探索因子的输入来实现。本发明应用时好奇心探索因子并不需要用户手动设定,而是通过如下公式自适应计算得到。
其中,x表示环境特征方差与距离方差之和,n表示好奇心探索因子,e表示自然底数。
根据上述公式,方差之和越小,好奇心探索因子越接近于1,网络将更关注于对环境的探索而非导航任务。
另外,基于深度强化学习的机器人导航方法还包括:对实时观测数据进行特征提取处理,以得到环境特征数据;依据构建的环境地图、机器人的当前位置及目标点相对位置确定机器人与目标点相对位置的距离。
本发明可经过第一设定时长后判断机器人是否到达目标点相对位置。第一设定时长根据实际情况进行设定,例如可以是60s或180s等。
如果没有到达目标点相对位置,可认为机器人长期未到达目标点相对位置,例如地图环境属于复杂迷宫环境时。则根据未到达目标点相对位置生成新导航路径,并控制机器人沿着新导航路径移动,以及再经过第二设定时长后返回获取实时观测数据步骤。本发明第二设定时长也可根据实际情况进行设定,例如可以是3s或5s等。其中根据未到达目标点相对位置生成新导航路径包括:判断在环境地图上是否成功检索到从当前位置到目标点相对位置的可行驶路径,根据检索成功将可行驶路径上的点作为新导航路径的终点,即可指定路径上的某中间点作为中间目标点;或者根据检索失败将环境地图中未经过区域的点作为新导航路径的终点,即利用未被探索过的区域中的某点作为中间目标点。
如果成功到达目标点相对位置,根据到达目标点相对位置结束导航。
本发明基于深度强化学习的机器人导航方法还包括:在机器人移动过程中计算机器人与障碍物之间的当前距离,以及可根据当前距离小于安全距离(可将系统状态标记为“已碰撞”)时,可基于激光传感器反馈数据控制机器人驶向安全区域,在安全区域范围内任一点与所有障碍物之间的距离均大于安全距离。
如图2、3所示,本发明还能够提供一种基于深度强化学习的机器人导航系统,机器人导航系统可包括但不限于激光传感器、定位建图模块、导航模块、路径规划模块、徘徊监测模块及复苏模块等。
可理解的是,本发明可进行一些准备工作,包括机器人导航系统应用阶段前对导航模块中的导航动作生成网络和内在好奇心网络进行相应的训练。
首先,在模拟器中搭建出仿真训练环境:包括不同类型的静态或动态障碍物,搭载激光传感器的机器人模型。
其次,通过任意可靠的方式获取仿真训练环境中的机器人模型的实时位置,用作训练过程中的定位的参考标准值。
如图4所示,构建导航模块,导航模块包括导航动作生成网络和内在好奇心网络。其中,导航动作生成网络用于根据激光传感器反馈数据生成对应的实际动作(Action),实际动作在训练阶段中被仿真机器人在仿真环境中执行或者在应用阶段中交与实际机器人具体执行,而且该实际动作(Action)在仿真环境中用于作为后述前向环境预测网络的输入而可产生环境预测数据。内在好奇心网络用于生成内在好奇心奖励,该奖励被用来作为总体奖励值的一部分,与导航奖励一起用来训练导航动作生成网络。对于导航奖励,本发明能够实时监控仿真环境中的机器人:当机器人采取一个动作后,在发现到达目标点时将给予一个较大的到达奖励数值,发现靠近或远离目标点或发生碰撞时分别对应地给予靠近奖励(正值)、远离奖励(负值)与碰撞奖励(较大负值)。上述奖励将作为导航奖励,根据好奇心探索因子作为权重与好奇心奖励进行加权,即加权奖励=(1-好奇心探索因子)*导航奖励+好奇心探索因子*好奇心奖励。本发明可将收集每一步的环境、动作与加权奖励,并用于导航动作生成网络训练过程中的近端策略优化(Proximal Policy Optimization)算法,可构建目标函数,以梯度下降法对应修改导航动作生成网络的参数。
如图6所示,搭建并训练内在好奇心网络。利用激光传感器反馈数据(即观测信息)作为输入数据,包括t时刻和t+1时刻的激光传感器反馈数据。构建以及训练三大网络:环境感知网络、反向动作预测网络及前向环境预测网络。环境感知网络可用于提取激光传感器反馈数据中环境信息的有效特征;反向动作预测网络用于预测不同环境特征之间的动作,预测两时刻之间发生的预测动作Action
t′;前向环境预测网络用于根据t时刻的动作Action
t和环境特征
预测动作执行后t+1时刻的预测环境特征
本发明将预测环境特征与实际的环境特征,预测的动作与实际的动作构建误差函数,训练网络,使得网络具有基本的根据动作预测环境的能力与根据环境预测执行动作的能力。在训练结束后,该网络的参数将在后续过程中被固定,环境的预测值与实际值的差异作为好奇心奖励输出。
如图5所示,训练导航动作生成网络。输入数据可包括四部分:激光传感器反馈数据、机器人运动速度属性数据、好奇心探索因子数据及目标点相对位置数据。激光传感器反馈数据经过特征提取后得到的向量可分别与机器人运动速度属性数据、好奇心探索因子数据、目标点相对位置数据进行向量拼接,输入到全连接网络中能够分别生成机器人前进的线速度和角速度的表示值Vmean和Wmean,本发明将两表示值作为均值、方差设为0.2而构建高斯分布,并从中进行采样,生成实际动作表示值,再经过机器人运动速度属性对输出进行缩放,再下发到机器人下位机处,按缩放后的速度控制机器人前进与转向。其中,机器人运动速度属性初始设置为0.5和0.5,代表用户在使用环境中所能接受的最适宜的前进速度Vsuit和转向速度Wsuit,目的是先让导航动作生成网络先重点关注其他变化的输入信息所代表的实际意义,以通过分阶段训练方式逐个适应不同输入代表的实际意义;好奇心探索因子,初始可设置为0,代表开始不进行探索;目标点相对位置数据,相对于机器人本体的距离和角度数据。本实施例可生成一个0~1之间的数字代表前向线速度和另一个-1~1之间的数字代表转向角速度。两数字分别与Vsuit与Wsuit相乘后,交付机器人下位机执行,作为机器人实际执行的前进与转向速度。本发明导航动作生成网络通过近端策略优化方式进行训练。训练完成后,导航动作生成网络可以根据环境特征和目标点相对位置,在机器人运动速度属性与好奇心探索因子设定为默认值的情况下具有优良的局部导航与避障能力。
再次,根据前向环境预测网络的误差作为好奇心奖励,对应在不同的训练过程中指定不同的好奇心探索因子,以反复迭代地训练导航动作生成网络,直至相同的好奇心探索因子对应的累计回报不再上升为止。其中一次训练的各个动作反馈的单步加权奖励之和作为累计回报,单步加权奖励=(1-好奇心探索因子)*导航奖励+好奇心探索因子*好奇心奖励。训练完成后,导航动作生成网络可以根据不同的好奇心探索因子输入,在机器人运动速度属性输入为默认值的情况下具有良好的局部导航和避障能力,并按照不同的程度关注未见过的区域,使机器人具有一定的环境探索能力。
最后,在上述对导航动作生成网络训练的基础上还可调整机器人运动速度属性输入。其中,以0代表用户在使用环境中所能接受的最慢速度,以1代表用户在使用环境中所能接受的最快速度,继续对网络进行训练,并且根据机器人运动速度属性对输出的动作进行缩放,使得导航动作生成网络还可以适应不同的机器人运动速度属性输入,对应生成不同的动作。
如图2、3所示,具体应用阶段如下:
激光传感器用于获取实时观测数据,以达到获取观测信息的目的。并开启定位建图模块。
定位建图模块用于基于实时观测数据构建环境地图以及用于确定机器人的当前位置和目标点相对位置。可基于Gmapping、Cartographer,本发明通过激光传感器的实时数据构建环境地图和提供机器人的自身定位。
开启徘徊监测模块,用于获取环境特征数据,并对保存的环境特征的数目设定最大值,当超出该数目后可以丢弃掉最早的环境特征并保存最新的环境特征。开启徘徊监测模块用于新的特征到达时计算特征方差,作为对环境变化情况的度量。类似地,徘徊监测模块用于间隔地保存机器人与目标点距离、并计算对应的特征方差。相比训练过程中随机指定好奇心探索因子,在应用阶段,好奇心探索因子将不再被随机指定,而是通过徘徊监测模块得到的距离方差与环境方差联合计算,即根据实际情况决定。即徘徊监测模块用于利用环境特征数据变化和机器人与目标点相对位置的距离变化计算好奇心探索因子。
导航模块用于生成导航动作信息,作为系统核心,导航模块用于依据导航动作信息控制机器人从当前位置向目标点相对位置移动。导航模块具体用于对实时观测数据进行特征提取处理,以得到环境特征数据,并用于基于环境特征数据生成导航动作信息。导航模块还用于读取设定的最大移动速度和最大转向速度,以及用于控制机器人在移动过程中行驶的速度小于或等于最大移动速度,且控制转向的速度小于或等于最大转向速度。导航模块可用于对应将网络输出从(0,1)和(-1,1)缩放至(0,Vset),(-Wset,Wset)之间,并交与机器人下位机执行。导航模块还用于基于好奇心探索因子控制机器人的活动范围,使进入徘徊状态的机器人更趋向于探索未知环境;好奇心探索因子用于表征机器人趋向于未经过区域的期望程度。其中,徘徊监测模块具体用于依据构建的环境地图、机器人的当前位置及目标点相对位置确定机器人与目标点相对位置的距离。
路径规划模块可用于根据机器人长时间未到达目标点相对位置生成新导航路径,并用于控制机器人沿着新导航路径移动。路径规划模块能够暂停导航模块、用于根据前述探索过程中建好的环境地图(如栅格地图)进行一次路径规划,在路径规划结束后,具体用于判断在环境地图上是否成功检索到从当前位置到目标点相对位置的可行驶路径。
路径规划模块用于根据可行驶路径检索成功条件,将可行驶路径上的点作为新导航路径的终点,即用于指定可行驶路径路径上的某中间点作为中间目标点;或者,路径规划模块用于根据可行驶路径检索失败条件,将环境地图中未经过区域的点作为新导航路径的终点,即路径规划模块用于利用未被探索过的区域中的某点作为中间目标点。
复苏模块可用于实时监测,并用于在机器人移动过程中计算机器人与障碍物之间的当前距离,用于根据当前距离小于安全距离(可将系统状态标记为“已碰撞”)暂停导航模块以及基于激光传感器反馈数据控制机器人驶向安全区域,具体可先控制机器人原地旋转至正前方朝向安全区域后驶向安全区域,该安全区域范围内任一点与所有障碍物之间的距离均大于安全距离,然后重新恢复系统状态,则将机器人控制权交与导航模块,即重启导航模块。
与现有技术相比,本发明提供的基于深度强化学习的机器人导航方法及系统能够控制机器人在未知动态环境中完成导航任务,到达预期位置。当环境较为复杂、目标点难以直接到达情况下,本发明还能根据反馈信息自适应调整机器人的探索能力,以自动构建新的环境地图和获取全局信息,避免现有机器人易发生角落徘徊等问题,以高效地到达终点位置。另外,本发明能够将训练好的模型直接应用在具有不同速度上限的机器人上,而不需要重复地进行训练,所以本发明可移植性更佳。另外,基于本发明的智能机器人的灵敏性、转向速度、移动速度等可根据用户实际情况而调节。
本发明一个或多个实施例还能够提供一种计算机设备,该计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行本发明任一实施例中基于深度强化学习的机器人导航方法的步骤。该机器人导航方法包括但不限于如下的至少一个步骤。获取实时观测数据。基于实时观测数据构建环境地图以及确定机器人的当前位置和目标点相对位置。生成导航动作信息,并依据导航动作信息控制机器人从当前位置向目标点相对位置移动。更为具体地,控制机器人从当前位置向目标点相对位置移动包括:利用环境特征数据变化和机器人与目标点相对位置的距离变化计算好奇心探索因子,基于好奇心探索因子控制机器人的活动范围;好奇心探索因子用于表征机器人趋向于未经过区域的期望程度。基于深度强化学习的机器人导航方法还包括:对实时观测数据进行特征提取处理,以得到环境特征数据;依据构建的环境地图、机器人的当前位置及目标点相对位置确定机器人与目标点相对位置的距离。其中,该机器人导航方法还包括:读取设定的最大移动速度和最大转向速度,控制机器人在移动过程中行驶的速度小于或等于最大移动速度,以及转向的速度小于或等于最大转向速度。经过第一设定时长后判断机器人是否到达目标点相对位置。如果没有到达目标点相对位置,根据未到达目标点相对位置生成新导航路径,并控制机器人沿着新导航路径移动,以及再经过第二设定时长后返回获取实时观测数据步骤。其中根据未到达目标点相对位置生成新导航路径包括:判断在环境地图上是否成功检索到从当前位置到目标点相对位置的可行驶路径,根据检索成功将可行驶路径上的点作为新导航路径的终点,或者根据检索失败将环境地图中未经过区域的点作为新导航路径的终点。如果成功到达目标点相对位置,根据到达目标点相对位置结束导航。本发明基于深度强化学习的机器人导航方法还包括:在机器人移动过程中计算机器人与障碍物之间的当前距离,以及根据当前距离小于安全距离控制机器人驶向安全区域,安全区域范围内任一点与所有障碍物之间的距离均大于安全距离。
本发明还可提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本发明任一实施例中基于深度强化学习的机器人导航方法的步骤。该机器人导航方法包括但不限于如下的至少一个步骤。获取实时观测数据。基于实时观测数据构建环境地图以及确定机器人的当前位置和目标点相对位置。生成导航动作信息,并依据导航动作信息控制机器人从当前位置向目标点相对位置移动。更为具体地,控制机器人从当前位置向目标点相对位置移动包括:利用环境特征数据变化和机器人与目标点相对位置的距离变化计算好奇心探索因子,基于好奇心探索因子控制机器人的活动范围;好奇心探索因子用于表征机器人趋向于未经过区域的期望程度。基于深度强化学习的机器人导航方法还包括:对实时观测数据进行特征提取处理,以得到环境特征数据;依据构建的环境地图、机器人的当前位置及目标点相对位置确定机器人与目标点相对位置的距离。其中,该机器人导航方法还包括:读取设定的最大移动速度和最大转向速度,控制机器人在移动过程中行驶的速度小于或等于最大移动速度,以及转向的速度小于或等于最大转向速度。经过第一设定时长后判断机器人是否到达目标点相对位置。如果没有到达目标点相对位置,根据未到达目标点相对位置生成新导航路径,并控制机器人沿着新导航路径移动,以及再经过第二设定时长后返回获取实时观测数据步骤。其中根据未到达目标点相对位置生成新导航路径包括:判断在环境地图上是否成功检索到从当前位置到目标点相对位置的可行驶路径,根据检索成功将可行驶路径上的点作为新导航路径的终点,或者根据检索失败将环境地图中未经过区域的点作为新导航路径的终点。如果成功到达目标点相对位置,根据到达目标点相对位置结束导航。本发明基于深度强化学习的机器人导航方法还包括:在机器人移动过程中计算机器人与障碍物之间的当前距离,以及根据当前距离小于安全距离控制机器人驶向安全区域,安全区域范围内任一点与所有障碍物之间的距离均大于安全距离。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读存储介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM,Random Access Memory),只读存储器(ROM,Read-Only Memory),可擦除可编辑只读存储器(EPROM,Erasable Programmable Read-Only Memory,或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM,Compact Disc Read-Only Memory)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA,Programmable Gate Array),现场可编程门阵列(FPGA,Field Programmable Gate Array)等。
在本说明书的描述中,参考术语“本实施例”、“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明实质内容上所作的任何修改、等同替换和简单改进等,均应包含在本发明的保护范围之内。