Safe Local Exploration for Replanning in Cluttered Unknown Environments
Helen Oleynikova, Zachary Taylor, Roland Siegwart, and Juan Nieto Autonomous Systems Lab, ETH Z¨urich
ETH发表在2018IROS上的
问题描述
考虑无人机在复杂、未知、非结构化环境中的导航,主要解决的问题是:基于优化的局部规划器不能处理局部最小值,或者通过加一个optimistic的全局规划器来解决,所以这篇文章提出的解决方案是:基于优化的保守的局部规划器,与一个局部探索策略结合,后者来选择中间目标,并且他们通过实验证明这种方法会比一个optimistic的全局规划器效果更好,也比单纯的当陷入局部最小值后做单个探索步骤更好
核心问题是:如何设计一个补充性的发现目标的方法,来解决当局部规划器陷入局部最小值的问题
方法
局部轨迹优化
用的是之前论文提到的方法,把轨迹当做高阶的多项式样条,把动力学约束(最大速度和加速度)作为软约束,优化方程是一个复合成本函数,consisting of minimizing a derivative of position such as jerk or snap, combined with the collision gradient cost,包含了位置的导数,比如jerk或者snap,并且和碰撞梯度成本结合
- Jd:最小化jerk或者snap的
- Jc:沿着路径的成本的线性积分的近似值
- Jg:目标的一个软的成本
优化问题的初始状态应该没有或几乎没有碰撞。本文设置了一个固定的计划范围rp,它是距当前状态的允许的最大距离。 但是,将全局目标gg投影到此半径的球面上通常会导致端点被遮挡。
提出了两种移动这个端点到一个可到达的可作为样条终点的策略:
- 直线: 从投影后的点(通常被遮挡)往起点移动,直到第一个free的点
- 基于梯度:沿着梯度到一个free的点,如果方法陷入局部最小值,再用直线的方法
轨迹只规划了xyz,yaw是free的
地图表示
略过
中间目标选择
当local optimization 失败的话,需要选择新的目标点,这篇文章比较了五个选择新目标点的方式:
- 随机选取 当轨迹初始位置的周围一个半径的球内随机选取一个点
- an optimistic (unknown = free) RRT* 比较好的模拟了其他方法的全局规划器。生成一个到目标的稀疏的可见图,然后track图中的第一个点,如果到达第一个点,则跟着图到终点,如果什么时候局部规划器又卡住了,那么重新用RRT*生成一个图
- a conservative or pessimistic RRT* (unknown = occupied)
- 从exploration借鉴的"next-best-view"planner(NBVP) 这个方法也是用RRT建树,选择information gain最大的branch来execute,但是与目标无关
- 本文的exploration 策略,结合了NBVP和追踪目标,以及视野范围
其实才到重点。。。。
与NBVP类似,也是在相机的视锥里计算信息增益,但是不同的是不会建立rrt图,而是在视锥里采样,并且不用视锥法
在起点的周围随机产生N的点,然后计算从当前位置到Xn的yaw,对于这些点,计算信息增益:相机的视锥里unknown的格子
并且不会每个格子都检查,然而采样检查,实验证明5%的采样率只有不到1%的估计误差,但是速度能快三倍
另外对每个各自也评估到全局目标点的距离,并进行归一化,转换为一个reward
reward最高的被选为下一个间隔目标
系统框架
用的是双目相机,地图框架是voxblox,生成的esdf地图(unknown=occupied)用来做局部轨迹优化,tsdf图(unknown=free)用来当局部优化失败时选择目标点
实验结果
积极的RRT效果最差,因为未知的区域被认为是可通行的,所以总会一次次地选择不可行的路径
NBVP好一点
保守的RRT相对表现不错,因为它只找距离目标最近的free的点