论文阅读 Safe Local Exploration for Replanning in Cluttered Unknown Environments

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,并且和碰撞梯度成本结合

论文阅读 Safe Local Exploration for Replanning in Cluttered Unknown Environments

  • 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的格子
论文阅读 Safe Local Exploration for Replanning in Cluttered Unknown Environments并且不会每个格子都检查,然而采样检查,实验证明5%的采样率只有不到1%的估计误差,但是速度能**倍
另外对每个各自也评估到全局目标点的距离,并进行归一化,转换为一个reward
论文阅读 Safe Local Exploration for Replanning in Cluttered Unknown Environmentsreward最高的被选为下一个间隔目标

系统框架

论文阅读 Safe Local Exploration for Replanning in Cluttered Unknown Environments用的是双目相机,地图框架是voxblox,生成的esdf地图(unknown=occupied)用来做局部轨迹优化,tsdf图(unknown=free)用来当局部优化失败时选择目标点

实验结果

积极的RRT效果最差,因为未知的区域被认为是可通行的,所以总会一次次地选择不可行的路径
NBVP好一点
保守的RRT
相对表现不错,因为它只找距离目标最近的free的点