基于改进的ddpg算法的机器人路径导航方法及系统
技术领域
本发明涉及路径规划
技术领域
,特别是涉及基于改进的DDPG算法的机器人路径导航方法及系统。背景技术
本部分的陈述仅仅是提到了与本发明相关的
背景技术
,并不必然构成现有技术。随着人工智能技术的发展,机器人已经从原来的工业生产领域逐渐进入我们的日常生活中。尤其近几年来在服务业领域有着蓬勃发展的势头。人类社会对移动机器人的需求也越来越强烈。而对机器人的路径规划是机器人领域需要解决的关键问题。移动机器人的路径规划是一个复杂的问题,需要自主移动的机器人根据约束条件能够找到一条从初始位置到目标位置的一条无障碍路径。随着机器人所面对的环境越来越复杂,要求机器人需要具有在更高的水平上预期障碍物并避免与之碰撞的能力。
传统的导航解决方案例如遗传算法、模拟退火算法等在导航方面有较好的效果。但是这些方法都是假定环境已知的情况下,设计出一套普适的解决方案。随着机器人应用于各行各业,机器人所处的环境也变得越来越复杂。之前的一些解决方案就不能很好的解决这些问题。结合了强化学习和深度学习的深度强化学习方法近些年来被广泛应用于机器人路径导航领域。深度学习在特征提取和事物感知等方面具有独特的优势,已广泛应用于计算机视觉等领域。强化学习具有较好的决策能力,能够在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标。深度学习与强化学习相结合的深度强化学习成功解决了复杂环境中机器人导航问题。深度确定性策略梯度(DDPG)算法是最早提出来的深度强化学习网络之一。作为深度强化学习中的经典算法,DDPG算法针对的是连续的、高纬度行为空间的策略学习方法。相比于之前的强化学习方法,DDPG算法在连续控制问题上有着较大的优势,已经被应用于机器人路径导航、自动驾驶、机械臂控制等众多领域。
但是,对超参数的敏感性以及趋于发散的奖励值一直以来是DDPG难以很好解决的问题之一。在强化学习中奖励值R的反馈通常是人为进行的硬编码,由于每一步的奖励无法简单的预判,奖励函数的设计通常是稀疏的,这就导致了机器人无法获得即时的反馈,学习能力不高。
在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:
基于现有技术实现的机器人路径导航,存在导航不够精确的问题。
发明内容
为了解决现有技术的不足,本发明提供了基于改进的DDPG算法的机器人路径导航方法及系统;
第一方面,本发明提供了基于改进的DDPG算法的机器人路径导航方法;
基于改进的DDPG算法的机器人路径导航方法,包括:
获取机器人当前状态信息和目标位置;
将机器人当前状态信息及目标位置,输入到训练后的改进的DDPG网络中,得到最优可执行动作数据;
机器人根据最优可执行动作数据,完成无碰撞的路径导航;
其中,所述改进的DDPG网络基于DDPG网络,将DDPG网络的奖励值计算利用好奇心奖励机制模型来完成;所述好奇心奖励机制模型,包括:若干个依次串联的LSTM模型;所述依次串联的LSTM模型中,所有LSTM模型的输入端与Actor当前网络的输出端连接,最后一个LSTM模型的输出端与CNN模型的输入端连接,CNN模型的输出端与Actor当前网络的输入端连接。
第二方面,本发明提供了基于改进的DDPG算法的机器人路径导航系统;
基于改进的DDPG算法的机器人路径导航系统,包括:
获取模块,其被配置为:获取机器人当前状态信息和目标位置;
输出模块,其被配置为:将机器人当前状态信息及目标位置,输入到训练后的改进的DDPG网络中,得到最优可执行动作数据;
导航模块,其被配置为:机器人根据最优可执行动作数据,完成无碰撞的路径导航;
其中,所述改进的DDPG网络基于DDPG网络,将DDPG网络的奖励值计算利用好奇心奖励机制模型来完成;所述好奇心奖励机制模型,包括:若干个依次串联的LSTM模型;所述依次串联的LSTM模型中,所有LSTM模型的输入端与Actor当前网络的输出端连接,最后一个LSTM模型的输出端与CNN模型的输入端连接,CNN模型的输出端与Actor当前网络的输入端连接。
第三方面,本发明还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述第一方面所述的方法。
第四方面,本发明还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
与现有技术相比,本发明的有益效果是:
本发明利用好奇心产生的内部奖励与算法的外部奖励总和作为机器人与环境交互产生的总奖励。在奖励函数模块嵌入了长短期记忆人工神经网络(LSTM)与卷积神经网络(CNN)。将过去的多个状态输入LSTM网络,输出对下一个状态的预测,下一个状态的预测值与实际状态之间的差值作为内部奖励。在人类社会中,人们对接下来发生的事情的与预测往往是根据以往的经验,这里将LSTM网络嵌入到好奇心机制中正是借鉴了这个人类思维特点。同时使用CNN网络对上一个网络产生的下一个状态进行动作的反向预测。好奇心一直被一些科学家认为是智能的基本属性之一,基于好奇心的机器人路径导航可以使机器人更加智能,即使在奖励稀疏甚至是无外部奖励的情况下,机器人也可以像人类一样进行摸索。
本发明借鉴人类的思维特征,在奖励函数模块中嵌入好奇心机制。同时将最近的batch个状态作为经验数据输入到机器人的好奇心机制中,利用了具有长短期记忆功能的LSTM网络对下一个状态进行预测,使基于好奇心的预测可以保持其时序性。同时将预测的下一个状态与实际下一个状态之差作为内部奖励值,可以解决原有的DDPG算法奖励稀疏的问题。
本发明使用了具有特征提取功能的CNN网络,将LSTM网络预测出的下一个状态St+1'与实际的状态St作为输入,输出对动作At的预测值At',将实际的动作At与CNN网络预测出的动作At'之间的差值作为一个约束条件。利用梯度的反向传播同时训练LSTM网络和CNN网络。添加CNN模块后可以提取出对动作有关键影响的状态特征。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明实施例提供的一种基于改进好奇心及DDPG算法的机器人路径导航方法的算法框架图;
图2是本发明实施例好奇心机制嵌入的LSTM模型算法示意图;
图3是本发明实施例好奇心机制嵌入的CNN模块算法示意图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例提供了基于改进的DDPG算法的机器人路径导航方法;
如图1所示,基于改进的DDPG算法的机器人路径导航方法,包括:
S101:获取机器人当前状态信息和目标位置;
S102:将机器人当前状态信息及目标位置,输入到训练后的改进的DDPG网络中,得到最优可执行动作数据;
S103:机器人根据最优可执行动作数据,完成无碰撞的路径导航;
其中,所述改进的DDPG网络基于DDPG网络,将DDPG网络的奖励值计算利用好奇心奖励机制模型来完成;所述好奇心奖励机制模型,包括:若干个依次串联的LSTM模型;所述依次串联的LSTM模型中,所有LSTM模型的输入端与Actor当前网络的输出端连接,最后一个LSTM模型的输出端与CNN模型的输入端连接,CNN模型的输出端与Actor当前网络的输入端连接。
如图3所示,所述CNN模型,包括依次连接的三个卷积层。
其中,所述改进的DDPG网络基于DDPG网络,对DDPG网络的经验回放池新增一个堆栈结构;经验回放池中存储两批数据,一个是原来的随机采样获得的样本,一个是堆栈结构获得的时序样本。堆栈结构获得的时序样本,用于好奇心奖励机制模型训练时使用。随机采样获得的样本,用于DDPG网络的Actor模块和Critic模块训练时使用。
进一步地,当前状态信息,包括:机器人当前位置、机器人当前角速度、机器人当前线速度和机器人当前所处环境信息。
进一步地,S102:将机器人当前状态信息及目标位置,输入到训练后的改进的DDPG网络中,得到最优可执行动作数据;具体包括:
将机器人当前状态信息及目标位置,输入到训练后的改进的DDPG网络中,改进的DDPG网络的Actor模块生成最优可执行动作数据。
进一步地,S102:将机器人当前状态信息及目标位置,输入到训练后的改进的DDPG网络中,得到最优可执行动作数据;其中,改进的DDPG网络,包括:
依次连接的Actor模块、经验回放池和Critic模块;
其中,Actor模块,包括依次连接的Actor当前网络和Actor目标网络;
其中,Critic模块,包括依次连接的Critic当前网络和Critic目标网络;
其中,Actor当前网络与好奇心奖励机制模型的所有的LSTM模型连接;Actor当前网络还与好奇心奖励机制模型的CNN模型的输出端连接。
进一步地,S102:将机器人当前状态信息及目标位置,输入到训练后的改进的DDPG网络中,得到最优可执行动作数据;其中,训练后的改进的DDPG网络的训练步骤包括:
S1021:构建训练集;所述训练集包括已知机器人导航路径的机器人每个时刻的状态;
S1022:将训练集输入到改进的DDPG网络中,完成改进的DDPG网络的Actor模块的训练、Critic模块的训练以及好奇心奖励机制模型的训练。
进一步地,所述完成好奇心奖励机制模型的训练,训练步骤包括:
S10221:机器人选择在状态St下对应的动作At,并通过与环境交互产生下一个状态St+1和奖励值R;
S10222:将机器人与环境交互产生的经验数据(St,At,R,St+1,done)存入经验回放池中,经验回放池中新增一个堆栈结构,以便按照时序性存取经验数据,done代表是否完成机器人导航;
S10223:将堆栈结构中带有时序性的经验数据输入LSTM网络,如图2所示,首个LSTM模型只输入对应时刻的机器人状态信息;非首个LSTM模型的输入均由两部分组成,一部分是对应时刻的机器人状态信息,另外一部分是前一时刻的LSTM模型的输出值;最后一个LSTM模型输出下一时刻机器人状态预测值St+1';
S10224:将实际的下一个状态St+1与预测出的下一个状态St+1'之间的差值作为内部奖励ri,同时将内部奖励ri与原有的外部奖励re之和作为机器人探索环境的总奖励R;将实际的下一个状态St+1与预测出的下一个状态St+1'之间的差值作为训练过程中的第一个约束条件;
S10225:将当前时刻机器人状态St和下一时刻机器人状态预测值St+1',输入到卷积神经网络CNN中,输出反向预测动作At';
S10226:反向预测出的动作At'与实际的动作At之间的差值作为训练过程中的第二个约束条件,利用梯度的反向传播训练好奇心奖励机制模型,完成好奇心奖励机制模型的训练。
应理解的,S10222中所述的保持样本之间的时序性是独立于原来的随机采样机制的。为了避免在训练时出现过度拟合(overfit)问题,需要打破样本之间的关联性,DDPG在进行网络的训练时往往使用随机采样的方式选择一组数据进行网络的训练。在这里为了获取具有时序性的样本用于LSTM网络的训练,本发明独立于随机采样模块之外设置一个堆栈结构,利用堆栈“先进先出”特点保持样本的时序性,在栈顶存入数据,取数据时从栈顶取一个批次(batch)大小的数据样本。存入经验数据时,将数据存入堆栈机制与原有的队列机制。取数据时,对于队列机制,保持原有的随机采样方式,用于训练网络Actor模块和Critic模块。对于堆栈机制,保持堆栈取数据的特点,保证了取出最近具有时序性的经验数据。
应理解的,S10223中人们在对接下来发生的事情预判往往是依照之前的经验,借鉴人们的这个思维特点,将具有时序性的状态序列输入LSTM网络,利用LSTM的记忆功能预测下一个状态St+1'。具体计算方式如下:
St+1′=L(St-n,St-(n-1),...,St-2,St-1,St;θ)
其中,S代表某个时刻的状态,θ代表LSTM网络的参数。具有时序性的状态序列经过LSTM后得到了下一个状态的预测值St+1';
应理解的,S10224中将预测出的下一个状态St+1'与实际上与环境交互得到的下一个状态St+1之间的差值作为内部奖励值,同时为了避免LSTM网络预测出荒谬解,在这里将实际的下一个状态St+1与对下一个状态的预测值St+1'之间的差值作为LSTM网络训练的约束条件。具体计算如下:
ri=||St+1′-St+1||
R=re+ri
Min(||St+1′-St+1||)
其中,ri是基于改进好奇心机制产生的实际的下一个状态St+1与对下一个状态的预测值St+1'之间的差值,作为内部奖励。re是DDPG算法的外部奖励,R是基于改进好奇心算法的内部奖励与外部奖励之和,作为总奖励值。Min(||St+1′-St+1||)是LSTM网络的约束条件。
应理解的,S10225和S10226中利用CNN网络的特征提取功能将状态St和经过好奇心预测出的状态St+1'输入CNN网络中反向预测出动作At',同时将使实际的动作At与预测的动作At'之间的差值作为另一个约束条件,利用CNN网络可提取出来对动作有关键影响作用的状态特征。具体计算如下:
At′=H(St,St+1′;w)
Min(At,A′t)
其中,w是CNN网络的参数,At'是通过CCN网络产生的对动作At的预测值。
通过第一个约束条件与对预测的动作产生的第二个约束条件可同时通过梯度的反向传播训练LSTM网络和CNN网络。
同时嵌入了具有特征提取功能的CNN网络,将LSTM网络预测出的下一个状态与实际的上一个状态作为CNN网络的输入,CNN网络输出对动作的预测值。将实际的动作与CNN网络预测出的动作之间的差值作为一个约束条件。利用梯度的反向传播同时训练LSTM网络和CNN网络。添加CNN模块后可以提取出对动作有关键影响的状态特征。
从经验回放池中使用随机采样的方式选取一个batch大小的经验数据用于训练Critic网络与Actor网络,通过梯度反向传播进行参数的更新;
实际网络和target网络之间使用软更新的方式,将网络参数每隔一定时间从实际网络复制到target网络。
LSTM网络,如图2所示,借鉴人类的思维特征,在人类社会中,人们对接下来发生的事情的与预测往往是根据以往的经验,本发明在奖励函数模块嵌入好奇心机制。同时将最近的batch个状态作为经验数据输入到机器人的好奇心机制中,利用了具有长短期记忆功能的LSTM网络对下一个状态进行预测,将具有时序性的状态序列输入LSTM,利用LSTM的记忆功能预测下一个状态使基于好奇心的预测,可以保持其时序性。同时将预测的下一个状态与实际下一个状态之差作为内部奖励值,同时为了避免LSTM预测出荒谬解,状态的真实值与下一个状态预测值之间的差值作为约束条件。
CNN网络模块,如图3所示,在好奇心机制中同时嵌入了具有特征提取功能的CNN网络,将LSTM网络预测出的下一个状态与实际的上一个状态作为输入,输出对动作的预测值,将实际的动作与CNN网络预测出的动作之间的差值作为一个约束条件。利用梯度的反向传播同时训练LSTM网络和CNN网络。添加CNN模块后可以提取出对动作有关键影响的状态特征。
实施例二
本实施例提供了基于改进的DDPG算法的机器人路径导航系统;
基于改进的DDPG算法的机器人路径导航系统,包括:
获取模块,其被配置为:获取机器人当前状态信息和目标位置;
输出模块,其被配置为:将机器人当前状态信息及目标位置,输入到训练后的改进的DDPG网络中,得到最优可执行动作数据;
导航模块,其被配置为:机器人根据最优可执行动作数据,完成无碰撞的路径导航;
其中,所述改进的DDPG网络基于DDPG网络,将DDPG网络的奖励值计算利用好奇心奖励机制模型来完成;所述好奇心奖励机制模型,包括:若干个依次串联的LSTM模型;所述依次串联的LSTM模型中,所有LSTM模型的输入端与Actor当前网络的输出端连接,最后一个LSTM模型的输出端与CNN模型的输入端连接,CNN模型的输出端与Actor当前网络的输入端连接。
此处需要说明的是,上述获取模块、输出模块和导航模块对应于实施例一中的步骤S101至S103,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。
所提出的系统,可以通过其他的方式实现。例如以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。
实施例三
本实施例还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述实施例一所述的方法。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元及算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
实施例四
本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。