技术领域
本发明属于深度强化学习、路径规划领域,涉及一种基于深度Double-Q网络的Nao机器人路径规划方法。
背景技术
路径规划是指在具有障碍物的环境内按照一定的评价标准,寻找一条从起始状态(包括位置和姿态)到达目标状态(包括位置和姿态)的无碰路径的技术。
目前路径规划算法可大致分为:经典算法和人工智能算法。传统的路径规划算法主要有:模拟退火算法、人工势场算法、禁忌搜索算法等。随着人工智能的兴起,因其具有一定的自我学习,自我更新和记忆能力,很多基于人工智能的路径规划算法被提出,典型的有:蚁群算法、神经网络算法、遗传算法等。上述算法大多需要对机器人周围环境信息有充分了解,然后基于某种规则进行导航规划,虽然这些方法也都取得了不错的效果,但是由于机器人所处的工作环境较为复杂,环境状态多变,多数实际应用环境变化较多,不具备完全获取环境信息的条件,所以需要机器人能够从未知的环境中识别路线,能够应对不同的工作场景,完成路径规划任务。
发明内容
要解决的技术问题
为了避免现有技术的不足之处,本发明提出一种基于深度Double-Q网络的Nao机器人路径规划方法,实现机器人不仅能够在特定的场景识别路径,而且还能具备在不同场景中规划路径的能力,提高机器人的路径规划的适应能力。
本发明针对不确定环境,利用机器人获取的局部信息,实现在室内环境主动避障、规划路径达到设定的目标点,提高了常用的路径规划算法的泛化能力。
技术方案
一种基于深度Double-Q网络的Nao机器人路径规划方法,其特征在于步骤如下:
步骤1、虚拟环境信息预处理:
以Choregraphe软件中Naoqi平台作为训练Nao机器人的虚拟环境,对虚拟环境中的信息做预处理:
1、面向障碍物时,计算Nao机器人相对障碍物的夹角
其中DX
2、根据偏航角和相对距离,对偏航角进行划分,推算虚拟环境的超声波信息:
其中Sonar_info为推算声纳信息;left为左侧声纳推算,right为右侧声纳推算距离;D
步骤2、深度Double-Q网络虚拟仿真环境实验:
设定马尔可夫模型和奖励函数:
S=[pos_x
其中
动作空间选取为:
Action=[forward,backward,left,right,left forward,left backward,rightforward,right backward]
其中动作空间为以45度分分割,分为8个离散动作空间即向前走、向左转45度再前进、向左转90度再前进、向左转135度再前进、向后转,向右转45度再前进、向右转90度再前进、向右转135度再前进;
奖励函数分为两部分:连续奖励指机器人运行过程中实时位置与目标点之间距离的负值;离散奖励指当越过设定的边界或者探测到障碍物距离小于设定的阈值给予惩罚,当与目标点之间的距离小于设置的阈值给予奖励;具体形式如下:
其中,当机器人的位置与目标点之间距离小于0.07则默认其成功到达设定目标点;
依据设定的马尔可夫模型和奖励函数,基于深度Double-Q网络,训练Nao机器人在虚拟环境中进行避障和路径规划,得到训练完成的深度Double-Q网络;
步骤3、模型迁移,Nao机器人实物实验:
将真实机器人获取的状态信息传入其中,利用虚拟环境训练完成的深度Double-Q网络得到Nao机器人所要采取的具体动作,验证其可行性。
所述深度Double-Q网络参数包含4层神经网络,第一层50个神经元,第二层100个神经元,第三层50个神经元,第四层8个神经元;其他超参数有经验缓存区大小为2000;小批量维度为256;梯度下降优化算法Adam算法。
有益效果
本发明提出的一种基于深度Double-Q网络的Nao机器人路径规划方法,针对不确定环境,利用机器人获取的局部信息,实现在室内环境主动避障、规划路径达到设定的目标点,提高了常用的路径规划算法的泛化能力。通过对训练环境数据预处理来逼近真实场景下机器人可获取的局部环境信息以及设置合适的状态空间,动作空间和奖励函数,本方法可以直接利用获取的局部环境信息,在未知的环境中进行有效避障和路径规划,在一定程度上克服了传统算法需要获取充足的环境信息并再次进行建模、探索环境的不足,提高了算法的泛化能力,利于解决未知环境下的路径规划问题。
附图说明
图1:深度Double-Q网络框架图
图2:虚拟环境
图3:虚拟环境运行结果图
图4:深度Double-Q网络与深度Q网络成功次数对比图
图5:Webots仿真环境
图6:Webots仿真环境Nao机器人运行轨迹
图7:真实场景下Nao机器人
图8:真实场景下Nao机器人轨迹图
具体实施方式
现结合实施例、附图对本发明作进一步描述:
本发明内容的技术方案主要分为:
1.建立马尔可夫模型,设定合适的奖励函数
马尔可夫模型主要包含状态空间和动作空间。合适的状态和动作空间选择才可以使得深度Double-Q网络完成学习任务,除此考虑到之后双足机器人运行稳定性这一因素,选择状态空间为
S=[pos_x
其中
动作空间选取为
Action=[forward,backward,left,right,left forward,left backward,rightforward,right backward]
其中动作空间为以45度分分割,分为8个离散动作空间即向前走、向后转、向左转90°再前进、向右转90°再前进、向左转45°再前进、向左转135°再前进、向右转45°再前进、向右转135°再前进。
奖励函数考虑到机器人学习的连续性,分为两部分:连续奖励、离散奖励。连续奖励指机器人运行过程中实时位置与目标点之间距离的负值;离散奖励指当越过设定的边界或者探测到障碍物距离小于设定的阈值给予惩罚,当与目标点之间的距离小于设置的阈值给予奖励。具体形式如下:
其中当机器人的位置与目标点之间距离小于0.07则默认其成功到达设定目标点。
2.基于深度Double-Q网络的路径规划算法
深度Double-Q网络将深度学习与强化学习结合以解决高维状态空间和离散动作空间问题。图1为深度Double-Q网络经典框架,机器人利用评估网络产生所需要执行的动作,并将与环境交互得到的信息存储到经验缓存区;学习更新网络参数时则将经验回放缓存区中的数据随机采样一批经验数据用以计算损失函数,再利用梯度下降法更新评估网络参数;每过固定的步数用评估网络参数更新目标网络参数。
深度Double-Q网络损失函数:
Loss=E(r
3.模型迁移,Nao机器人平台实验
选取合适的仿真环境进行实验,将真实机器人获取的状态信息传入其中,利用虚拟环境训练完成的深度Double-Q网络得到Nao机器人所要采取的具体动作,验证其可行性。利用笔记本作为上位机处理数据并输出所需的执行的动作信息;Nao机器人为下位机接受动作信息并执行以完成路径规划任务。
具体实施例:
本发明的基本思路是利用深度Double-Q网络训练机器人完成路径规划任务,并可以迁移到真实机器人和未知真实环境。
步骤1:虚拟环境信息预处理
Choregraphe软件中Naoqi平台作为训练Nao机器人的虚拟环境,如图2所示。此虚拟环境中Nao机器人的超声波信息无法调用,为了使得虚拟环境与真实环境中机器人所能获取的状态信息一致,因此需要对虚拟环境中的信息做预处理。
在虚拟环境中,Nao机器人可以获取到与障碍物的X、Y方向相对距离,因此基于此对其进行处理:
(1)面向障碍物时,计算Nao机器人相对障碍物的夹角
其中DX
(2)根据偏航角和相对距离推算虚拟环境的超声波信息
根据实物Nao机器人测试结果,对式(2)计算的偏航角进行划分,结合相对距离推算超声波信息:
其中Sonar_info为推算声纳信息;left为左侧声纳推算,right为右侧声纳推算距离;D
基于以上预处理的状态信息可与真实环境中Nao机器人所能获取的信息一致,便于训练好的网络模型在真实环境计算、测试。
步骤2:深度Double-Q网络仿真环境实验
选取经验缓存区大小为2000;小批量维度为256;梯度下降优化算法Adam算法;并依据技术方案中设定的马尔可夫模型和奖励函数,训练机器人在虚拟环境中进行避障和路径规划。考虑到真实Nao机器人传感器只位于机器人正面,因此动作空间具体规定是forward为向前走0.1米,backward为向后转180°后再向前走0.1米,left为向左转90°后再向前走0.1米,right为向右转90°后再向前走,left forward为向左转45°后再向前走0.1米,left backward为向左转135°后再向前走0.1米,right forward为向右转45°后再向前走0.1米,right backward为向右转135°后再向前走0.1米。
Choregragpeh中虚拟环境Nao机器人躲避障碍物的轨迹图如下:
图3为虚拟环境运行结果图,其中图3中绿色五角星为起始点;蓝色带圆点的曲线为虚拟环境Nao机器人运行轨迹;黑色圆形为障碍物;红色圆点为目标点,红色虚线为默认成功的区域。
通过虚拟环境的训练,可以获取深度Double-Q网络参数包含4层神经网络,第一层50个神经元,第二层100个神经元,第三层50个神经元,第四层8个神经元;其中一至三层神经网络激活函数为Relu函数。其他超参数有经验缓存区大小为2000;小批量维度为256。梯度下降优化算法为Adam算法。
在相同网络参数,障碍物和目标点下,基于深度Double-Q网络的路径规划算法和基于深度Q网络的路径规划算法对比如图4所示。可知深度Double-Q网络成功次数更多,因为其通过将选择动作和评估动作分割开来缓解过高估计的问题,更有利于策略的制定。
图5为Webots仿真环境,在Webots仿真平台中的Naosim可以实现调用Nao机器人传感器信息,获取超声波信息与脚底缓冲器信息,因此将训练好的深度Double-Q网络模型在此环境中进行测试以验证算法的有效性。
图6Webots仿真环境Nao机器人运行轨迹;由图5,图6可知,Nao机器人利用虚拟环境训练的深度Double-Q网络可以在未知新环境自主避障,规划路径,具有一定的泛化能力。仿真结果基本上实现了期望的目标要求。也即本方法的有效性得到了验证。
步骤3:模型迁移,Nao机器人实物实验
将训练好的深度Double-Q网络模型用于真实Nao机器人的路径规划,其中Nao机器人的胸口超声波传感器和脚掌前部的缓冲器传感器纳入状态信息用于躲避障碍物。利用Nao机器人配套的python API可以将机器人实时的IMU信息和传感器信息传输到上位机电脑,利用训练完成的深度Doube-Q网络处理信息并反馈一个动作信号给Nao机器人;Nao机器人接受信号,执行动作,进行路径规划。
图7真实场景下Nao机器人,图8真实场景下Nao机器人轨迹图;显然,真实环境Nao机器人运行结果基本上实现了期望的路径规划要求。也即本方法的有效性得到了验证。
机译: 一种基于AI和学习设备的基于AI的深度学习网络的方法
机译: 基于深度神经网络的特征增强基于深度神经网络和修改损耗函数来组合学习的方法和装置,用于扬声器识别到嘈杂的环境
机译: 深度情形下基于深度神经网络的具有容错和波动稳健性的深度神经网络多补丁组合识别面部的方法