第17卷第5期 智能系统学报 Vol.17 No.5 2022年9月 CAAI Transactions on Intelligent Systems Sep.2022 D0:10.11992/tis.202107059 网络出版地址:https:/ns.cnki.net/kcms/detail/23.1538.TP.20220623.1044.004html 基于深度强化学习的室内视觉局部路径规划 朱少凯,孟庆浩,金晟,戴旭阳 (天津大学电气自动化与信息工程学院机器人与自主系统研究所,天津300072) 摘要:传统的机器人局部路径规划方法多为已有先验地图的情况设计,导致其在与视觉(simultaneous localiza tion and mapping,SLAM)结合的导航中效果不佳。为此传统的机器人局部路径规划方法多为已有先验地图的情 况设计,导致其在与视觉SLAM结合的导航中效果不佳。为此,本文提出一种基于深度强化学习的视觉局部路 径规划策略。首先,基于视觉同时定位与建图(SLAM)技术建立周围环境的栅格地图,并使用A*算法规划全局 路径;其次,综合考虑避障、机器人行走效率、位姿跟踪等问题,构建基于深度强化学习的局部路径规划策略, 设计以前进、左转、右转为基本元素的离散动作空间.以及基于彩色图、深度图、特征点图等视觉观测的状态空 间,利用近端策略优化(proximal policy optimization,PPO)算法学习和探索最佳状态动作映射网络。Habitat仿真 平台运行结果表明,所提出的局部路径规划策略能够在实时创建的地图上规划出一条最优或次优路径。相比 于传统的局部路径规划算法,平均成功率提高了53.9%,位姿跟踪丢失率减小了66.5%,碰撞率减小了30.1%。 关键词:视觉导航;深度学习;强化学习;局部路径规划;避障;视觉SLAM;近端策略优化:移动机器人 中图分类号:TP391文献标志码:A文章编号:1673-4785(2022)05-0908-11 中文引用格式:朱少凯,孟庆浩,金晟,等.基于深度强化学习的室内视觉局部路径规划.智能系统学报,2022,17(5): 908-918. 英文引用格式:ZHU Shaokai,,MENG Qinghao,JIN Sheng,etal.Indoor visual local path planning based on deep reinforcement learning[J].CAAI transactions on intelligent systems,2022,17(5):908-918. Indoor visual local path planning based on deep reinforcement learning ZHU Shaokai,MENG Qinghao,JIN Sheng,DAI Xuyang (Institute of Robotics and Autonomous Systems,School of Electrical and Information Engineering,Tianjin University,300072, China) Abstract:Traditional robot local path planning methods are mostly designed for situations with prior maps,thus lead- ing to poor results in navigation when combined with visual simultaneous localization and mapping(SLAM).Therefore, this paper proposes a visual local path planning strategy based on deep reinforcement learning.First,a grid map of the surrounding environment is built based on the visual SLAM technology,and the global path is planned using the A*al- gorithm.Second,considering the problems of obstacle avoidance,robot walking efficiency,and pose tracking,a local path planning strategy is constructed based on deep reinforcement learning to design the discrete action space with for- ward movement,left turn,and right turn as the basic elements,as well as the state space based on visual observation maps,such as color,depth,and feature point maps.The proximal policy optimization(PPO)algorithm is used to learn and explore the best state-action mapping network.The running results of the habitat simulation platform show that the proposed local path planning strategy can design an optimal or sub-optimal path on a map generated in real time.Com- pared with traditional local path planning algorithms,the average success rate of the proposed strategy is increased by 53.9%,and the average tracking failure rate and collision rate are reduced by 66.5%and 30.1%,respectively. Keywords:visual navigation:deep learning:reinforcement learning:local path planning;obstacle avoidance;visual SLAM;proximal policy optimization(PPO);mobile robot 收稿日期:2021-07-27.网络出版日期:2022-06-24 视觉导航是一类新兴的导航技术,具有使用 基金项目:中国博士后科学基金项目(2021M692390):天津市自 成本低、获取信息丰富的优点,成为近些年来机 然科学基金项目(20 JCZDJC00150,20 JCYBJC00320). 通信作者:金最.E-mail:shengjin@ju.edu.cn. 器人领域的研究热点之一。路径规划是移动
DOI: 10.11992/tis.202107059 网络出版地址: https://kns.cnki.net/kcms/detail/23.1538.TP.20220623.1044.004.html 基于深度强化学习的室内视觉局部路径规划 朱少凯,孟庆浩,金晟,戴旭阳 (天津大学 电气自动化与信息工程学院 机器人与自主系统研究所,天津 300072) 摘 要:传统的机器人局部路径规划方法多为已有先验地图的情况设计,导致其在与视觉 (simultaneous localization and mapping, SLAM) 结合的导航中效果不佳。为此传统的机器人局部路径规划方法多为已有先验地图的情 况设计,导致其在与视觉 SLAM 结合的导航中效果不佳。为此,本文提出一种基于深度强化学习的视觉局部路 径规划策略。首先,基于视觉同时定位与建图 (SLAM) 技术建立周围环境的栅格地图,并使用 A*算法规划全局 路径;其次,综合考虑避障、机器人行走效率、位姿跟踪等问题,构建基于深度强化学习的局部路径规划策略, 设计以前进、左转、右转为基本元素的离散动作空间,以及基于彩色图、深度图、特征点图等视觉观测的状态空 间,利用近端策略优化 (proximal policy optimization, PPO) 算法学习和探索最佳状态动作映射网络。Habitat 仿真 平台运行结果表明,所提出的局部路径规划策略能够在实时创建的地图上规划出一条最优或次优路径。相比 于传统的局部路径规划算法,平均成功率提高了 53.9%,位姿跟踪丢失率减小了 66.5%,碰撞率减小了 30.1%。 关键词:视觉导航;深度学习;强化学习;局部路径规划;避障;视觉 SLAM;近端策略优化;移动机器人 中图分类号:TP391 文献标志码:A 文章编号:1673−4785(2022)05−0908−11 中文引用格式:朱少凯, 孟庆浩, 金晟, 等. 基于深度强化学习的室内视觉局部路径规划 [J]. 智能系统学报, 2022, 17(5): 908–918. 英文引用格式:ZHU Shaokai, MENG Qinghao, JIN Sheng, et al. Indoor visual local path planning based on deep reinforcement learning[J]. CAAI transactions on intelligent systems, 2022, 17(5): 908–918. Indoor visual local path planning based on deep reinforcement learning ZHU Shaokai,MENG Qinghao,JIN Sheng,DAI Xuyang (Institute of Robotics and Autonomous Systems, School of Electrical and Information Engineering, Tianjin University, 300072, China) Abstract: Traditional robot local path planning methods are mostly designed for situations with prior maps, thus leading to poor results in navigation when combined with visual simultaneous localization and mapping (SLAM). Therefore, this paper proposes a visual local path planning strategy based on deep reinforcement learning. First, a grid map of the surrounding environment is built based on the visual SLAM technology, and the global path is planned using the A* algorithm. Second, considering the problems of obstacle avoidance, robot walking efficiency, and pose tracking, a local path planning strategy is constructed based on deep reinforcement learning to design the discrete action space with forward movement, left turn, and right turn as the basic elements, as well as the state space based on visual observation maps, such as color, depth, and feature point maps. The proximal policy optimization (PPO) algorithm is used to learn and explore the best state–action mapping network. The running results of the habitat simulation platform show that the proposed local path planning strategy can design an optimal or sub-optimal path on a map generated in real time. Compared with traditional local path planning algorithms, the average success rate of the proposed strategy is increased by 53.9%, and the average tracking failure rate and collision rate are reduced by 66.5% and 30.1%, respectively. Keywords: visual navigation; deep learning; reinforcement learning; local path planning; obstacle avoidance; visual SLAM; proximal policy optimization (PPO); mobile robot 视觉导航是一类新兴的导航技术,具有使用 成本低、获取信息丰富的优点,成为近些年来机 器人领域的研究热点之一[1-4]。路径规划是移动 收稿日期:2021−07−27. 网络出版日期:2022−06−24. 基金项目:中国博士后科学基金项目 (2021M692390);天津市自 然科学基金项目 (20JCZDJC00150, 20JCYBJC00320). 通信作者:金晟. E-mail:shengjin@tju.edu.cn. 第 17 卷第 5 期 智 能 系 统 学 报 Vol.17 No.5 2022 年 9 月 CAAI Transactions on Intelligent Systems Sep. 2022
·909· 朱少凯,等:基于深度强化学习的室内视觉局部路径规划 第5期 机器人实现自主视觉导航的关键技术之一,分为 法依赖于真实先验位姿。在实际的视觉导航任务 全局路径规划算法和局部路径规划算法。常用 中,机器人需要依靠视觉传感器来获取位姿和环 的全局路径规划算法有A◆算法和D*算法可 境地图。因此,如何合理地设计局部路径规划机 等。局部路径规划算法根据全局路径和部分环境 制,使局部路径规划能够和视觉SLAM方法更好 信息,输出机器人运动控制指令,使机器人大致 地配合,最大限度地避免碰撞和位姿跟踪丢失、 沿着全局路径的轨迹移动。动态窗口法(dynamic 提升导航成功率是这类方法的关键,也是至今仍 window algorithm,DWA)作为一种广泛使用的局 未被探索的问题。 部路径规划算法,具有良好的避障能力,且计算 针对以上问题,本文在视觉SLAM和全局路 量小、实时性高,是机器人操作系统(robot operat-. 径规划算法的基础上,提出一种基于深度强化学 ing system,ROS)的默认局部路径规划算法。 习的室内视觉局部路径规划策略。该策略在强化 但是,当环境变得复杂时,DWA算法容易陷入局 学习PPO(proximal policy optimization)算法的基 部极小值点,同时无法保证规划出的路径是最优 础上,充分考虑了机器人避障、防止视觉SLAM 的。时间弹性带(timed elastic band.TEB)算法是 跟踪丢失以及机器人行走效率等多方面因素,设 另一种广泛使用的局部路径规划算法,采用图优 计奖励函数和网络结构,在大量的场景下学习最 化的方法迭代求解局部路径规划问题,有较高的 佳状态-动作映射网络,提高移动机器人导航成 操作性9。模型预测控制(model predictive control, 功率。既避免了部分传统路径规划算法调参复杂 MPC)能根据机器人当前的运动状态预测其未来 的问题,又具有很好的泛化性,且与视觉SLAM 几个时间步的轨迹,通过二次规划方法来优化, 模块契合。最终,在三维物理仿真平台Habitat例 求出一个最优局部路径规划解o。但是,TEB和 中利用机器人对该局部路径规划策略进行相关仿 MPC算法有非常多的参数需要设置,所以在复杂 真分析,证实了所提出策略的有效性。 的环境应用时需要配备较高性能的计算机和花大 本文的创新点主要包括:1)提出了一种基于 量时间手工调参。综上所述,传统的局部路径规 深度强化学习的移动机器人室内视觉局部路径规 划方法存在参数调整耗时,缺乏对新环境的泛化 划算法,合理地设计了环境交互机制与观测的状 能力等问题。此外,当与视觉SLAM协同工作时, 态空间:2)研究了多样的奖励函数,加快了算法 传统局部路径规划算法仅仅考虑机器人运动代价 的收敛速度,提高了模型的性能,最大限度地避 等因素,没有考虑机器人在视觉SLAM过程中易 免了碰撞和位姿跟踪的丢失、可尽快到达局部目 在低纹理区域跟踪丢失的问题,以上原因导致传 标点。3)将局部路径规划模型融入总体导航框 统局部路径规划算法应用于基于视觉SLAM的 架,与视觉SLAM模块、全局路径规划、仿真平台 导航时表现较差。 相互配合,有助于长距离室内复杂场景下的点导航。 深度强化学习自提出以来逐渐得到国内外学 1问题描述 者的广泛关注,其相关理论和应用研究都得到了 不同程度的发展。由于其“交互式学习”和“试 机器人在室内导航的过程中,在低纹理区域 错学习”的特点,适用于很多问题的决策,已成为 易发生视觉SLAM跟踪失败现象。因此,考虑机 机器人控制领域的研究热点,其中也包括局部路 器人快速接近局部目标点的同时,还要兼顾低纹 径规划任务。张福海等]以激光雷达作为环境 理区域、障碍物等诸多不利因素对于视觉导航任 感知器,并构造了基于Q-learning的强化学习模 务造成的影响。本文设计的局部目标点导航策 型,将其应用在了局部路径规划任务中,提高了 略,可以实现规避障碍物、保证跟踪稳定性以避 移动机器人对未知环境的适应性。Guldenring等W 免视觉SLAM失败、成功到达局部目标点的目的。 利用激光雷达来获取动态环境信息,并根据环境 局部路径规划策略是与视觉SLAM模块、全 数据基于PPO的强化学习算法进行局部路径规 局路径规划、仿真平台相互配合的,它们的关系 划。Balakrishnan等l在A*全局路径规划算法基 如图l所示。首先,选用Habitat仿真平台,机器 础上,利用深度强化学习训练了一种局部路径规 人在该平台中能以实体的形式存在。该平台能实 划策略,以到达局部目标点。然而,该方法依赖 时地提供机器人在当前位置所采集到的彩色图、 于真实先验地图。Chaplot等u同样训练了一种 深度图,并实时检测机器人是否发生碰撞等。对 基于深度强化学习的局部路径规划策略,并与全 于每一个导航任务,仿真平台会给定机器人的初 局策略相结合,以完成视觉探索任务。但是该方 始位置和机器人距离全局目标点的相对位置。其
机器人实现自主视觉导航的关键技术之一,分为 全局路径规划算法和局部路径规划算法[5]。常用 的全局路径规划算法有 A*算法[ 6 ] 和 D*算法[ 7 ] 等。局部路径规划算法根据全局路径和部分环境 信息,输出机器人运动控制指令,使机器人大致 沿着全局路径的轨迹移动。动态窗口法 (dynamic window algorithm, DWA) 作为一种广泛使用的局 部路径规划算法,具有良好的避障能力,且计算 量小、实时性高,是机器人操作系统 (robot operating system, ROS) 的默认局部路径规划算法[8]。 但是,当环境变得复杂时,DWA 算法容易陷入局 部极小值点,同时无法保证规划出的路径是最优 的。时间弹性带 (timed elastic band, TEB) 算法是 另一种广泛使用的局部路径规划算法,采用图优 化的方法迭代求解局部路径规划问题,有较高的 操作性[9]。模型预测控制 (model predictive control, MPC) 能根据机器人当前的运动状态预测其未来 几个时间步的轨迹,通过二次规划方法来优化, 求出一个最优局部路径规划解[10]。但是,TEB 和 MPC 算法有非常多的参数需要设置,所以在复杂 的环境应用时需要配备较高性能的计算机和花大 量时间手工调参。综上所述,传统的局部路径规 划方法存在参数调整耗时,缺乏对新环境的泛化 能力等问题。此外,当与视觉 SLAM 协同工作时, 传统局部路径规划算法仅仅考虑机器人运动代价 等因素,没有考虑机器人在视觉 SLAM 过程中易 在低纹理区域跟踪丢失的问题,以上原因导致传 统局部路径规划算法应用于基于视觉 SLAM 的 导航时表现较差。 深度强化学习自提出以来逐渐得到国内外学 者的广泛关注,其相关理论和应用研究都得到了 不同程度的发展[11-12]。由于其“交互式学习”和“试 错学习”的特点,适用于很多问题的决策,已成为 机器人控制领域的研究热点,其中也包括局部路 径规划任务。张福海等[13] 以激光雷达作为环境 感知器,并构造了基于 Q-learning 的强化学习模 型,将其应用在了局部路径规划任务中,提高了 移动机器人对未知环境的适应性。Guldenring 等 [14] 利用激光雷达来获取动态环境信息,并根据环境 数据基于 PPO 的强化学习算法进行局部路径规 划。Balakrishnan 等 [15] 在 A*全局路径规划算法基 础上,利用深度强化学习训练了一种局部路径规 划策略,以到达局部目标点。然而,该方法依赖 于真实先验地图。Chaplot 等 [16] 同样训练了一种 基于深度强化学习的局部路径规划策略,并与全 局策略相结合,以完成视觉探索任务。但是该方 法依赖于真实先验位姿。在实际的视觉导航任务 中,机器人需要依靠视觉传感器来获取位姿和环 境地图。因此,如何合理地设计局部路径规划机 制,使局部路径规划能够和视觉 SLAM 方法更好 地配合,最大限度地避免碰撞和位姿跟踪丢失、 提升导航成功率是这类方法的关键,也是至今仍 未被探索的问题。 针对以上问题,本文在视觉 SLAM 和全局路 径规划算法的基础上,提出一种基于深度强化学 习的室内视觉局部路径规划策略。该策略在强化 学习 PPO[17] (proximal policy optimization) 算法的基 础上,充分考虑了机器人避障、防止视觉 SLAM 跟踪丢失以及机器人行走效率等多方面因素,设 计奖励函数和网络结构,在大量的场景下学习最 佳状态–动作映射网络,提高移动机器人导航成 功率。既避免了部分传统路径规划算法调参复杂 的问题,又具有很好的泛化性,且与视觉 SLAM 模块契合。最终,在三维物理仿真平台 Habitat[18] 中利用机器人对该局部路径规划策略进行相关仿 真分析,证实了所提出策略的有效性。 本文的创新点主要包括:1)提出了一种基于 深度强化学习的移动机器人室内视觉局部路径规 划算法,合理地设计了环境交互机制与观测的状 态空间; 2)研究了多样的奖励函数,加快了算法 的收敛速度,提高了模型的性能,最大限度地避 免了碰撞和位姿跟踪的丢失、可尽快到达局部目 标点。3)将局部路径规划模型融入总体导航框 架,与视觉 SLAM 模块、全局路径规划、仿真平台 相互配合,有助于长距离室内复杂场景下的点导航。 1 问题描述 机器人在室内导航的过程中,在低纹理区域 易发生视觉 SLAM 跟踪失败现象。因此,考虑机 器人快速接近局部目标点的同时,还要兼顾低纹 理区域、障碍物等诸多不利因素对于视觉导航任 务造成的影响。本文设计的局部目标点导航策 略,可以实现规避障碍物、保证跟踪稳定性以避 免视觉 SLAM 失败、成功到达局部目标点的目的。 局部路径规划策略是与视觉 SLAM 模块、全 局路径规划、仿真平台相互配合的,它们的关系 如图 1 所示。首先,选用 Habitat 仿真平台,机器 人在该平台中能以实体的形式存在。该平台能实 时地提供机器人在当前位置所采集到的彩色图、 深度图,并实时检测机器人是否发生碰撞等。对 于每一个导航任务,仿真平台会给定机器人的初 始位置和机器人距离全局目标点的相对位置。其 ·909· 朱少凯,等:基于深度强化学习的室内视觉局部路径规划 第 5 期
第17卷 智能系统学报 ·910· 次,机器人通过视觉SLAM模块与三维重建技术2刘 2基于深度强化学习的路径规划 得到室内三维环境的稠密点云地图,然后将一定 高度范围内的点云投影之后,获得用于导航的二 2.1模型建立 维栅格地图。此外,视觉SLAM模块还能实时提 大多数强化学习可以用部分可观测马尔科夫 供机器人在当前位置所采集到的ORB(oriented 决策过程(POMDP)描述,POMDP用一个五元组 FAST and rotated BRIEF)特征点图Pa并实时监测 (S,A,PR,y)来表示。其中S为机器人状态空间, 机器人当前的位姿跟踪状态(跟踪正常/跟踪丢 A为机器人动作空间,P为从一个状态到另一个 失)。然后,在得到的二维栅格地图基础上,使用 状态的转换概率,R为奖励,Y表示折扣因子。常 A*算法规划全局路径。局部目标点位置的确定 用演员-评论家(actor-.critic,AC)算法来解决该部 依赖于全局路径,如图2所示,以机器人当前位置 分可观测的马尔科夫决策问题。AC算法基于策 为圆心,半径为r的圆与全局路径的交点即为局 略梯度方法,并通过最大化平均回报来直接更新 部路径规划目标点。最后,局部路径规划策略的 策略。在执行策略参数π时,累积每个时间步动 目标是使机器人从起点成功移动到局部目标点的 作的预期奖励来计算价值函数,如式(1)所示。 位置,同时兼顾避障、避免跟踪失败的目的。在 随后,按式(2)的贝尔曼方程迭代直至策略参数 本文中,局部路径规划策略的输入是当前时刻的 收敛至最优。 观测(包括:彩色图、深度图、特征点图、当前位 V"(s)=EyR(s,π(s) (1) 置与局部目标点之间的距离和方向),输出是机 "(s1)=argmax(R(s,.(s,))+ 器人当前时刻所采取的动作。训练目标是避免发 (2) 生碰撞和视觉SLAM跟踪丢失的同时,采取尽量 Pnlr》-vid- 少的动作运动到局部目标点。当机器人到达局部 式(1)和(2)中,E为求期望函数,S,代表1时刻机 目标点或机器人行动步数达到步数限制时,则开 器人观测状态,R(s,π(s》为当前策略在状态S,下 始规划下一个局部目标点,以此循环,直到机器 的奖励值,V(s)为最优状态值函数,y为折扣因 人到达全局目标点。当机器人在行走过程中发生 子。P(s,S41|π(s》为状态转移概率。对于从状态 碰撞或视觉SLAM跟踪丢失时,则认为导航任务 s,可以到达的任何状态S1,π”(S)为能够使得状 失败。 态S1获得最优价值的策略。 2.2框架设计 Habitat仿真器 深度强化学习中,智能体(Agent)负责与环境 静态障碍 全局目标点 交互,是算法的应用对象。外部环境(Ev)是客 RGB图 全局路径 观测 深度图「 改进 规划器 观存在,用于制定奖惩规则和交互机制。本文将 RGB图像 ORB-SLAM 局部 局部路径规划问题转换到深度强化学习的框架中 深度图 相对位置 特征点图 相标点 观测空间 进行求解。在交互过程中,需要定义相应的接口 机器人模型 状态 标准,主要有step、reset、.render3个函数。 动作 局部路径 1)step函数:负责制定Agent与Env的交互机 规划器 PPO-agent 制和奖惩规则,在基于深度强化学习的局部路径 图1总体导航架构 规划策略根据当前状态s求解出动作后,该函数 Fig.1 Overall navigation framework 能够返回执行后的奖励,以及是否结束的标志 位done。此外,该函数能返回下一时刻的状态 S+1。该函数是将局部路径规划问题转换到深度 强化学习问题的关键,是算法设计中最重要的函 数,(s,a,,s+i,done)构成了局部路径规划策略训 练所需要的基本数据单元。 全局 起始点 2)reset函数:定义一个回合(episode)为Agent 目标点 与Env的一次完整交互。Agent通过与Env多次 交互积累经验,从而学到好的局部路径规划策 图2局部导航示意图 略。回合结束的判断标志位为done,当其为True Fig.2 Schematic diagram of the local navigation 时,回合结束。此时,Agent和Env需要通过该re
次,机器人通过视觉 SLAM 模块与三维重建技术[19-21] 得到室内三维环境的稠密点云地图,然后将一定 高度范围内的点云投影之后,获得用于导航的二 维栅格地图。此外,视觉 SLAM 模块还能实时提 供机器人在当前位置所采集到的 ORB (oriented FAST and rotated BRIEF) 特征点图[22] 并实时监测 机器人当前的位姿跟踪状态(跟踪正常/跟踪丢 失)。然后,在得到的二维栅格地图基础上,使用 A*算法规划全局路径。局部目标点位置的确定 依赖于全局路径,如图 2 所示,以机器人当前位置 为圆心,半径为 r 的圆与全局路径的交点即为局 部路径规划目标点。最后,局部路径规划策略的 目标是使机器人从起点成功移动到局部目标点的 位置,同时兼顾避障、避免跟踪失败的目的。在 本文中,局部路径规划策略的输入是当前时刻的 观测(包括:彩色图、深度图、特征点图、当前位 置与局部目标点之间的距离和方向),输出是机 器人当前时刻所采取的动作。训练目标是避免发 生碰撞和视觉 SLAM 跟踪丢失的同时,采取尽量 少的动作运动到局部目标点。当机器人到达局部 目标点或机器人行动步数达到步数限制时,则开 始规划下一个局部目标点,以此循环,直到机器 人到达全局目标点。当机器人在行走过程中发生 碰撞或视觉 SLAM 跟踪丢失时,则认为导航任务 失败。 全局目标点 全局路径 规划器 状态 动作 观测空间 局部 目标点 静态障碍 特征点图 Habitat 仿真器 观测 RGB 图像 深度图 相对位置 机器人模型 碰撞检测 运动控制 RGB 图 深度图 改进 ORB-SLAM 局部路径 规划器 PPO-agent 图 1 总体导航架构 Fig. 1 Overall navigation framework 局部目标点 全局 起始点 目标点 图 2 局部导航示意图 Fig. 2 Schematic diagram of the local navigation 2 基于深度强化学习的路径规划 2.1 模型建立 (S,A,P,R, γ) γ π 大多数强化学习可以用部分可观测马尔科夫 决策过程 (POMDP) 描述,POMDP 用一个五元组 来表示。其中 S 为机器人状态空间, A 为机器人动作空间,P 为从一个状态到另一个 状态的转换概率,R 为奖励, 表示折扣因子。常 用演员–评论家 (actor-critic, AC) 算法来解决该部 分可观测的马尔科夫决策问题。AC 算法基于策 略梯度方法,并通过最大化平均回报来直接更新 策略。在执行策略参数 时,累积每个时间步动 作的预期奖励来计算价值函数,如式 (1) 所示。 随后,按式 (2) 的贝尔曼方程迭代直至策略参数 收敛至最优。 V ∗ (st) = E [ ΣγR(st , π(st))] (1) π ∗ (st+1) = argmax( R(st , π(st))+ w xk=1 P(st ,st+1 | π(st))·V ∗ (st+1)dst+1 ) (2) R(st , π(st)) V ∗ (st) P(st ,st+1 | π(st)) π ′′ (st+1) 式 (1) 和 (2) 中,E 为求期望函数,st 代表 t 时刻机 器人观测状态, 为当前策略在状态 st 下 的奖励值, 为最优状态值函数,γ 为折扣因 子。 为状态转移概率。对于从状态 st 可以到达的任何状态 st+1, 为能够使得状 态 st+1 获得最优价值的策略。 2.2 框架设计 深度强化学习中,智能体 (Agent) 负责与环境 交互,是算法的应用对象。外部环境 (Env) 是客 观存在,用于制定奖惩规则和交互机制。本文将 局部路径规划问题转换到深度强化学习的框架中 进行求解。在交互过程中,需要定义相应的接口 标准,主要有 step、reset、render 3 个函数。 si a1 a1 ri st+1 (si ,at ,rt ,si+1,done) 1) step 函数:负责制定 Agent 与 Env 的交互机 制和奖惩规则,在基于深度强化学习的局部路径 规划策略根据当前状态 求解出动作 后,该函数 能够返回执行 后的奖励 ,以及是否结束的标志 位 done。此外,该函数能返回下一时刻的状态 。该函数是将局部路径规划问题转换到深度 强化学习问题的关键,是算法设计中最重要的函 数, 构成了局部路径规划策略训 练所需要的基本数据单元。 2) reset 函数:定义一个回合 (episode) 为 Agent 与 Env 的一次完整交互。Agent 通过与 Env 多次 交互积累经验,从而学到好的局部路径规划策 略。回合结束的判断标志位为 done,当其为 True 时,回合结束。此时,Agent 和 Env 需要通过该 re- 第 17 卷 智 能 系 统 学 报 ·910·
·911· 朱少凯,等:基于深度强化学习的室内视觉局部路径规划 第5期 st函数重新初始化,开始新一轮的交互。为了保 右转3个动作,每个动作执行时间为1S,左转和 证Agent和Env的可持续性交互,回合结束在机 右转的角速度为0.3rad/s,前进速度为0.lml/s。 器人到达局部目标点、发生碰撞、视觉SLAM跟 踪失败、到达每回合的最大步数限制时触发。 3)render函数:局部路径规划策略需要与视 觉SLAM模块、全局路径规划、仿真平台相互配 合。为了便于算法调试,使用render函数来输出 可视化窗口显示机器人当前的状态及所处环境, 如彩色图(RGB)、深度图(Depth)、全局地图、路径 规划等。 (a)跟踪正常 (b)跟踪失败 step函数、reset函数、render函数构成了Env 图3ORB特征点跟踪图 部分。step函数负责Agent与Env之间的交互, Fig.3 Pictures of ORB feature point tracking 其中嵌套了负责重置的reset函数和负责显示功 充分考虑了机器人避障、防止视觉SLAM在 能的render函数。 低纹理区域跟踪丢失以及机器人行走效率等多方 2.3可观测状态与奖励函数设计 面因素,把奖励函数分为6个部分。其中,避障、 step函数是基于深度强化学习的局部路径规 距离、视觉SLAM的奖励函数部分分别用rbv、rs 划策略实施的重点,其中涉及到两个关键问题: ram表示,1、2、3为相应部分奖励的系数。该 一是如何描述可观测状态空间,另一个是如何设 3部分奖励函数已能够满足点导航的基本需求。 计奖励函数。前者反映了机器人在局部路径规划 然而,由于算法初期网络训练不充分,机器人在 的实施过程中需要注意的环境信息,后者能指导 面对障碍和低纹理区域时会选择错误的动作导致 局部路径规划策略向目标方向更新。 碰撞、跟踪失败。在很多次试错之后,PPO算法 在机器人的局部路径规划任务中,Agent所能 的Actor网络才会在面对障碍时选择正确的动 观测到的状态S来源于自身所装备的RGB-D相 作,此时算法才开始收敛。所以仅依靠上述3部 机以及视觉SLAM模块,具体可用一个五元组(s 分的奖励函数训练局部路径规划算法会存在训练 Septh,Sas,Sangles,Smpt)来表示。其中Seb和Seph来源 时间长、算法收敛速度慢的缺点。为了加快算法 于RGB-D相机,分别表示彩色图和深度图;Ss表 收敛速度,提高模型性能,本文又设计了角度、特 示机器人与局部目标点的相对距离,计算方法如 征点数及到达局部目标点的奖励,分别使用、 式(3)所示;see为机器人当前朝向角与机器人和 rus表示,入4、s、6为系数。为方便表示,Sus表示 局部目标点连线角度的差值,设机器人在二维栅 机器人运行状态,其值域为{0,1,2,3},分别表示机 格地图上的坐标为(x,),朝向角为B,局部目标 器人正常运行、碰撞、视觉SLAM跟踪丢失和到 点坐标为(x2,,se计算方式如式(4): 达局部目标点。 5as=V(x2-)尸+G2-y)月 (3) 1)避障 避障是导航的基本要求,机器人撞到障碍物 Sangle=arccos cos(B)(y2-y1)+sin(B)(x2-x1) (4) 就意味着本次导航任务的失败,机器人运动过程 Sm为采样时刻当前帧的特征点图的位置矩 发生碰撞,会产生一个较大的负值奖励。具体设 阵,包含了特征点在图像帧上的位置和数量信 计如式(⑤): 息。在ORB-SLAM221算法中,ORB特征点的匹 入1, Ssts =1 配是实现前端视觉里程计的基础,特征点在图像 10,其他 (5) 中的位置和数量包含了视觉SLAM跟踪稳定的 2)距离 信息。如图3所示,图3(b)由图(a)采样位置向 导航过程中需要逐步减小与局部目标点的距 左旋转30°后得到。在图3(a)所示采样位置视觉 离,故根据执行当前策略动作后与局部目标点距 SLAM跟踪成功,在图3(b)所示采样位置则跟踪 离的变化量设计相应奖励函数。设当前时刻机器 丢失。由图3(a)可知,特征点集中于右半部分, 人坐标为(x,y,),执行当前策略得出的动作a,后 左半部分特征较为稀疏,相机此时左转视觉 坐标为(x+1,y+1),局部目标点坐标为(xa,)。可 SLAM跟踪失败的风险较高。定义动作空间A(a, 以简单在笛卡尔坐标系上计算得到执行动作后, aa,),其3个元素分别代表机器人左转、前行和 距目标点的距离变化量为
set 函数重新初始化,开始新一轮的交互。为了保 证 Agent 和 Env 的可持续性交互,回合结束在机 器人到达局部目标点、发生碰撞、视觉 SLAM 跟 踪失败、到达每回合的最大步数限制时触发。 3) render 函数:局部路径规划策略需要与视 觉 SLAM 模块、全局路径规划、仿真平台相互配 合。为了便于算法调试,使用 render 函数来输出 可视化窗口显示机器人当前的状态及所处环境, 如彩色图 (RGB)、深度图 (Depth)、全局地图、路径 规划等。 step 函数、reset 函数、render 函数构成了 Env 部分。step 函数负责 Agent 与 Env 之间的交互, 其中嵌套了负责重置的 reset 函数和负责显示功 能的 render 函数。 2.3 可观测状态与奖励函数设计 step 函数是基于深度强化学习的局部路径规 划策略实施的重点,其中涉及到两个关键问题: 一是如何描述可观测状态空间,另一个是如何设 计奖励函数。前者反映了机器人在局部路径规划 的实施过程中需要注意的环境信息,后者能指导 局部路径规划策略向目标方向更新。 在机器人的局部路径规划任务中,Agent 所能 观测到的状态 S 来源于自身所装备的 RGB-D 相 机以及视觉 SLAM 模块,具体可用一个五元组 (srgb, sdepth, sdis, sangle, smpt) 来表示。其中 srgb 和 sdepth 来源 于 RGB-D 相机,分别表示彩色图和深度图;sdis 表 示机器人与局部目标点的相对距离,计算方法如 式 (3) 所示;sangle 为机器人当前朝向角与机器人和 局部目标点连线角度的差值,设机器人在二维栅 格地图上的坐标为 (x1 , y1 ),朝向角为 β,局部目标 点坐标为 (x2 , y2 ),sangle 计算方式如式 (4): sdis = √ (x2 − x1) 2 +(y2 −y1) 2 (3) sangle = arccos( cos(β)(y2 −y1)+sin(β)(x2 − x1) sdis ) (4) smpt 为采样时刻当前帧的特征点图的位置矩 阵,包含了特征点在图像帧上的位置和数量信 息。在 ORB-SLAM2[23] 算法中,ORB 特征点的匹 配是实现前端视觉里程计的基础,特征点在图像 中的位置和数量包含了视觉 SLAM 跟踪稳定的 信息。如图 3 所示,图 3 (b) 由图 (a) 采样位置向 左旋转 30°后得到。在图 3(a) 所示采样位置视觉 SLAM 跟踪成功,在图 3(b) 所示采样位置则跟踪 丢失。由图 3(a) 可知,特征点集中于右半部分, 左半部分特征较为稀疏,相机此时左转视 觉 SLAM 跟踪失败的风险较高。定义动作空间 A(al , af , ar ),其 3 个元素分别代表机器人左转、前行和 右转 3 个动作,每个动作执行时间为 1 s,左转和 右转的角速度为 0.3 rad/s, 前进速度为 0.1 m/s。 (a) 跟踪正常 (b) 跟踪失败 图 3 ORB 特征点跟踪图 Fig. 3 Pictures of ORB feature point tracking 充分考虑了机器人避障、防止视觉 SLAM 在 低纹理区域跟踪丢失以及机器人行走效率等多方 面因素,把奖励函数分为 6 个部分。其中,避障、 距离、视觉 SLAM 的奖励函数部分分别用 robv、rdis、 rslam 表示,λ1、λ2、λ3 为相应部分奖励的系数。该 3 部分奖励函数已能够满足点导航的基本需求。 然而,由于算法初期网络训练不充分,机器人在 面对障碍和低纹理区域时会选择错误的动作导致 碰撞、跟踪失败。在很多次试错之后,PPO 算法 的 Actor 网络才会在面对障碍时选择正确的动 作,此时算法才开始收敛。所以仅依靠上述 3 部 分的奖励函数训练局部路径规划算法会存在训练 时间长、算法收敛速度慢的缺点。为了加快算法 收敛速度,提高模型性能,本文又设计了角度、特 征点数及到达局部目标点的奖励,分别使用 rangle、rnmpt、 rbonus 表示,λ4、λ5、λ6 为系数。为方便表示,ssts 表示 机器人运行状态,其值域为{0,1,2,3},分别表示机 器人正常运行、碰撞、视觉 SLAM 跟踪丢失和到 达局部目标点。 1) 避障 避障是导航的基本要求,机器人撞到障碍物 就意味着本次导航任务的失败,机器人运动过程 发生碰撞,会产生一个较大的负值奖励。具体设 计如式 (5): rasv = { λ1 , ssts = 1 0, 其他 (5) 2) 距离 导航过程中需要逐步减小与局部目标点的距 离,故根据执行当前策略动作后与局部目标点距 离的变化量设计相应奖励函数。设当前时刻机器 人坐标为(xt , yt),执行当前策略得出的动作 at 后 坐标为(xt+1 , yt+1),局部目标点坐标为 (xd , yd )。可 以简单在笛卡尔坐标系上计算得到执行动作后, 距目标点的距离变化量为 ·911· 朱少凯,等:基于深度强化学习的室内视觉局部路径规划 第 5 期
第17卷 智能系统学报 ·912· △d= V(x-x)+-y4)-V-x+n-ya) TRPO算法相比,PPO算法计算复杂度更低,算法 (6) 的训练速度更快,可实施性更强。算法的基本框 对应的奖励函数为 架如图4所示。 rds=2△d (7) 更新 3)视觉SLAM跟踪 在训练过程中,若机器人视觉SLAM跟踪稳 定运行,执行某一动作后,若视觉SLAM跟踪能 Actor网络 环境 保持运行,不给予奖励,若执行动作后跟踪丢失, 则导航失败,给予一个较大的负值奖励,即如式(8) ,存储 所示: m=人心,5=2 Critic网络 容器 10,其他 (8) Se de re Seti. 4)角度 正确的导航方向是机器人能到达目标点的前 提,为防止机器人在调整方向时出现奖励稀疏的 图4基于Actor-Critie框架的PPO算法示意图 Fig.4 Schematic diagram of PPO algorithm based on Act- 问题,根据机器人动作执行前后其与局部目标点 or-Critic framework 的相对角度的变化量给予奖励。设当前时刻机器 基于Actor-.Critic框架的PPO算法包含Act 人与局部目标点的相对角度为a,执行当前策略 or和Critic双网络。Actor网络负责生成策略,其 得出的动作后变为a,对应奖励为 网络参数为OA。Critic网络通过计算优势函数 Tangle =A (lal-la+) (9) An来评估当前策略,其网络参数为0e。Actor网络 5)特征点数 目标函数如式(13)所示。 本文使用的ORB-SLAM2算法进行同时定位 LcliP (0A)=E[re,An,clip(ro,1-s,1+)A] (13) 与建图。对ORB特征点的数量与视觉SLAM具 有很强的关联性,当前帧中的特征点数高于一定 -器 (14) 数量时,视觉SLAM跟踪丢失的风险很低,而低 式中:clip为剪切函数,e为剪切参数;e为n次采 于一定数值时,跟踪丢失的风险将会急剧上升。 样的期望函数。π,(anIn)是待优化的策略网络, 设执行动作前后,当前帧ORB特征点的数量分别 πAu(an|sn)为当前用于收集数据的策略网络,通过 为nmpt,和nmpt+,则对应奖励为 重要性采样来估计新策略。两者比值越接近1, 说明新旧策略更新偏移越小。更新过程中,PPO I'nmpt =s Ig nmpt+ (10) nmpt, 算法利用式(13)中的剪切函数来限制策略的更新 6)达成目标奖励 幅度。当新旧策略更新偏移量过大时,使用剪切 为了使局部路径策略更快向局部目标点收 项代替,这样确保新旧策略的偏离程度不至于太 敛,在训练过程中,若机器人顺利到达局部目标 大,让Actor网络以一种相对平稳的方式进行更 点,意味着当前策略更加接近目标策略,给予额 新,收敛速度更快。 外的正奖励值,加快算法的训练速度,故设计如 Actor网络根据当前状态生成机器人当前动 式(11)所示奖励函数。 作,机器人执行当前动作后产生新状态并获得奖 6,S=3 励为一次完整交互过程,按训练批次的大小将多 nos={0.其他 (11) 次交互数据进行存储,用于更新Actor网络和Critic 综上,综合奖励函数为 网络,获得相对最优的网络参数。 r=Toby +rdis rangle rampt rslam rbonus (12) 2.5网络结构 2.4PPO算法 PPO算法包含了Actor和Critic两个神经网 本文采用PPO算法来训练局部路径规划算 络。Actor网络结构如图5所示,整个网络包含了 法,这是一种基于策略梯度的算法,采用Actor- 一个Resnet18网络P,4个全连接层(fully connected, Critic架构集成了双网络的算法结构,并改进了基 FC)和一个Softmax层。PPO算法的观测状态空 于置信域策略优化的强化学习算法P((trust region 间为SSeb,Sdepth,Sais,Sangles,Smp),RGB图像Sgb、深度 policy optimization,.TRPO)的步长选择机制。与 图像Sdepi及ORB特征点图矩阵Smpt整合而成的
∆d = √ (xt − xd) 2 +(yt −yd) 2− √ (xt+1 − xd) 2 +(yt+1 −yd) 2 (6) 对应的奖励函数为 rdis = λ2∆d (7) 3) 视觉 SLAM 跟踪 在训练过程中,若机器人视觉 SLAM 跟踪稳 定运行,执行某一动作后,若视觉 SLAM 跟踪能 保持运行,不给予奖励,若执行动作后跟踪丢失, 则导航失败,给予一个较大的负值奖励,即如式 (8) 所示: rslam = { −λ3, ssts = 2 0, 其他 (8) 4) 角度 正确的导航方向是机器人能到达目标点的前 提,为防止机器人在调整方向时出现奖励稀疏的 问题,根据机器人动作执行前后其与局部目标点 的相对角度的变化量给予奖励。设当前时刻机器 人与局部目标点的相对角度为 αt,执行当前策略 得出的动作后变为 αt+1,对应奖励为 rangle = λ4 (|αt |−|αt+1|) (9) 5) 特征点数 本文使用的 ORB-SLAM2 算法进行同时定位 与建图。对 ORB 特征点的数量与视觉 SLAM 具 有很强的关联性,当前帧中的特征点数高于一定 数量时,视觉 SLAM 跟踪丢失的风险很低,而低 于一定数值时,跟踪丢失的风险将会急剧上升。 设执行动作前后,当前帧 ORB 特征点的数量分别 为 nmptt 和 nmptt+1,则对应奖励为 rnmpt = λ5 lg( nmptt+1 nmptt ) (10) 6) 达成目标奖励 为了使局部路径策略更快向局部目标点收 敛,在训练过程中,若机器人顺利到达局部目标 点,意味着当前策略更加接近目标策略,给予额 外的正奖励值,加快算法的训练速度,故设计如 式 (11) 所示奖励函数。 rbonus = { λ6 , S sts = 3 0, 其他 (11) 综上,综合奖励函数为 r = robv +rdis +rangle +rnmpt +rslam +rbonus (12) 2.4 PPO 算法 本文采用 PPO 算法来训练局部路径规划算 法,这是一种基于策略梯度的算法,采用 ActorCritic 架构集成了双网络的算法结构,并改进了基 于置信域策略优化的强化学习算法[24] (trust region policy optimization, TRPO) 的步长选择机制。与 TRPO 算法相比,PPO 算法计算复杂度更低,算法 的训练速度更快,可实施性更强。算法的基本框 架如图 4 所示。 sn an 存储 sn+1 An 更新 rn Actor 网络 环境 Critic 网络 容器 {sn , an , rn , sn+1, …} 图 4 基于 Actor-Critic 框架的 PPO 算法示意图 Fig. 4 Schematic diagram of PPO algorithm based on Actor-Critic framework θA 基于 Actor-Critic 框架的 PPO 算法包含 Actor 和 Critic 双网络。Actor 网络负责生成策略,其 网络参数为 。Critic 网络通过计算优势函数 An 来评估当前策略,其网络参数为 θc。Actor 网络 目标函数如式 (13) 所示。 L clip (θA) = En [ rθA An, clip( rθA ,1−ε,1+ε ) An ] (13) rθA = πθA (an | sn) πθAold (an | sn) (14) ε πθA (an | tn) πAold (an | sn) 式中:clip 为剪切函数,ε 为剪切参数; 为 n 次采 样的期望函数。 是待优化的策略网络, 为当前用于收集数据的策略网络,通过 重要性采样来估计新策略。两者比值越接近 1, 说明新旧策略更新偏移越小。更新过程中,PPO 算法利用式 (13) 中的剪切函数来限制策略的更新 幅度。当新旧策略更新偏移量过大时,使用剪切 项代替,这样确保新旧策略的偏离程度不至于太 大,让 Actor 网络以一种相对平稳的方式进行更 新,收敛速度更快。 Actor 网络根据当前状态生成机器人当前动 作,机器人执行当前动作后产生新状态并获得奖 励为一次完整交互过程,按训练批次的大小将多 次交互数据进行存储,用于更新 Actor 网络和 Critic 网络,获得相对最优的网络参数。 2.5 网络结构 PPO 算法包含了 Actor 和 Critic 两个神经网 络。Actor 网络结构如图 5 所示,整个网络包含了 一个 Resnet18 网络[25] ,4 个全连接层 (fully connected, FC) 和一个 Softmax 层。PPO 算法的观测状态空 间为 S(srgb, sdepth, sdis, sangle, smpt),RGB 图像 srgb、深度 图像 sdepth 及 ORB 特征点图矩阵 smpt 整合而成的 第 17 卷 智 能 系 统 学 报 ·912·