zoukankan      html  css  js  c++  java
  • 2021.07.08-多车轨迹优化-理论

    论文:《Efficient Trajectory Planning for Multiple Non-holonomic Mobile Robots via Prioritized Trajectory Optimization》 Juncheng Li

    最近看到了好多用这种套路作轨迹优化的,无人机也有,无人车也有,单车也有,多车也有:

    初始路径-->安全走廊-->非线性/凸优化问题-->求解器求解

    Introduction

    本文提出了一种创新的方法,在富含障碍物的环境,为non-holonomic移动机器人多车生成避障的最优轨迹。

    为了提高计算效率,decoupled planning方法被提出[6],就是序列优先级。每个agent的轨迹需要避免与之前的agent的轨迹发生冲突。

    文献[7][8]提出的轨迹优化方法,利用sequential planning,显著提高了计算效率。这些decoupled planning methods都很快,但是存在

    的问题是--不完备。有些场景下的可行解,可能发现不了。

    在富含障碍物的环境,单机轨迹规划有大量的研究,套路分为前端路径规划和后端轨迹优化。(这里提到了很多高飞老师的研究。)

    多机轨迹规划,也采用两段的套路(可以保证完备),(这里提到的研究还是无人机的,无人车的研究这么少么?)

    多无人机可以用quadratic program (QP) problem表示,然后优化。

    无人机的多车轨迹规划,是作用在线性动力学linear dynamics的,因此轨迹优化可以表示为QP问题,这个是凸优化,容易求解。

    但是在现代工业,很多差速驱动的机器人,是非线性动力学nonlinear dynamics,轨迹优化只能表示为非凸的非线性问题(NLP)。

    分布式的规划方法,计算效率高,但是不能保证无死锁并且在迷宫形的环境性能很差。基于上述问题的考虑,我们的方法可以生成安全,可行,接近最优的多机器人轨迹。

    在前端和后端两个阶段,机器人的非线性运动模型都被考虑进去,以保证轨迹的可行。我们提出了一种优先级轨迹优化方法,使得计算效率提高,可以用于大规模的机器人群体。

    本文是在连续空间集中式多non-holonomic机器人轨迹规划的第一次尝试,主要贡献如下:

    • 大规划无滑移多机器人轨迹规划。
    • 优先级优化方法提高了计算效率。(这个在李柏的书里也有专门的介绍)

    问题描述:

    0.碰撞模型

    每个robot定义为一个半径为R的圆形,根据圆形占据的栅格是否碰撞来确定。

    如果一个圆形不够精确,那可以用两个圆形,这些是无人车里常用的方法。

    1.初始路径构成waypoints

    这里初始路径是(x, y, theta)的集合。

    2.kinematic model

    本文采用差速轮的unicycle model,状态为(x, y, theta),机器人通过线性速度和角速度控制。

    3.最大速度,最大角速度

    看到这里,真正的差速轮是没有转弯半径限制的,如果想限制,那只能在这里加了。v / w > R。

    具体方法:

     

     A. Discrete Path Planning

    将占据栅格地图转化为一种2-D grid graph。相比于传统的栅格地图,我们考虑了位置和朝向。x,y变成了x, y, theta。

    首先就要构建这个图了。假设图的栅格尺寸为D,dT表示机器人移动一个边需要的时间。考虑到机器人的运动学约束:

    确定了D和dT,就可以构建这个图。

    离散路径的冲突处理,采用ECBS来处理。这里冲突定义两类,一个是节点之间,一个是边之间。(不是优先级吗?怎么初始路径还需要ECBS呢?可能优先级是针对轨迹优化的)

     

    采用ECBS获取无冲突的离散路径(那就是说,作者把ECBS的下层搜索修改了?)

    在轨迹优化过程,两个robots之间每个时间步的路径点距离都会被检测,所以每一个robot的离散路径长度都相等(这里想表达的应该是路径短的robot到达终点后,持续存在!持续到跟最长的那个路径相等)。

    B.安全走廊构建:

    这个安全走廊构建方法有很多,刘思康,高飞,李柏,港科大,等等,有很多构建方法。

    每个robot的离散路径,里边即waypoints rk,每两个waypoints之间的线段用Ik = < rk-1----->rk >表示。在每个线段附近生成无碰撞的凸多面体Sk。

    需要满足以下条件:

    凸多面体跟障碍物没有交集

     相邻多面体之间必须有交集

    本文参考了《Efficient multi-agent trajectory planning with feasibility guarantee using relative bernstein polynomial》中关于走廊生成的方法。

    分别在x轴和y轴方向扩张到最大空间。但是对角线的线段,是有可能没有凸多面体的,需要加密waypoints,满足一下条件即可确保走廊连续(即确定最大waypoints间隔):

    每一段重新分割成h小段, 路径长度为M, 新的采样包含waypoints个数H = 1 + h * ( M - 1 )

    Ri是机器人碰撞半径。

    如果下一段线段被上一个凸多面体完全包围,那就不用再求了。

    C.轨迹优化问题:

    问题描述:

    一些参数:

    简化问题:

    目标函数分为两部分:

    1.连个连续的控制输入之间的差值需要惩罚;应该是这里是差分驱动,控制输入为速度,所以没有用比较常用的minimum snap。

    2.最优轨迹与参考轨迹之间的差值。这里作者说的是因为初始的参考轨迹已经是可行路径啦,所以要惩罚这个偏离。额,感觉这里有问题,没必要贴近初始轨迹。

    4.Prioritized Trajectory Optimization

    对于大规模的机器人队伍,上边的问题求解是不够有效的。我们提出了优先级的轨迹优化方法。

    robots分为一些groups,优先级低的求解时,把高优先级的轨迹作为障碍物要避免碰撞。

    如果优先级排的不好,可能导致低级的robot轨迹优化失败,我们提出了分组和优先级排序的方法

    仿真:

    A.实施细节

    Ubuntu 16.04 with Intel i5-6300HQ @2.30GHz CPU and 12GB of RAM

    地图:OctoMap地图表示占据栅格地图

    求解器:内点法非线性求解器IPOPT

    参数:碰撞模型半径0.15m,栅格图尺寸D=1m(在这么大的栅格上是必须的吗),移动一个edge耗时∆T=1.6s,最大线速度1m/s,最大角速度1rad/s。构建安全走廊时,每一段线分为h=5个小段。

    B.计算效率和解质量

    环境大下:10 m X 12 m,包含6个3 X 0.6m的货架

    ECBS次优系数:1.5

    与coupled方法(不分优先级)作对比,可以看出,求解时间减少,但是最优性依然保证!!

    C.成功率

    实验:

    碰撞模型半径:R=0.3m

    最大线速度:0.6m/s

    最大角速度:0.6m/s

    移动一个edge的时间间隔:∆T=2.65s

    其他参数同仿真

    将优化的轨迹上传,使用MPC-based 轨迹跟踪控制方法来执行轨迹。

  • 相关阅读:
    JS window对象 Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本。
    JS window对象 返回下一个浏览的页面 forward()方法,加载 history 列表中的下一个 URL。
    JS window对象 取消计时器clearTimeout() setTimeout()和clearTimeout()一起使用,停止计时器。 语法: clearTimeout(id_of_setT
    JS window对象 History 对象 history对象记录了用户曾经浏览过的页面(URL),并可以实现浏览器前进与后退相似导航的功能。语法: window.history.[属性|方法]
    JS window对象 返回前一个浏览的页面 back()方法,加载 history 列表中的前一个 URL。 语法: window.history.back();
    JS window对象 计时器setTimeout() setTimeout()计时器,在载入后延迟指定时间后,去执行一次表达式,仅执行一次。 语法: setTimeout(代码,延迟时间);
    JS window对象取消计时器clearInterval() clearInterval() 方法可取消由 setInterval() 设置的交互时间。
    ELK问题处理
    nginx 日志变量含义
    nginx ssl 更换问题
  • 原文地址:https://www.cnblogs.com/gaowensheng/p/14988663.html
Copyright © 2011-2022 走看看