4 运动动力学约束下的路径搜索

Introduction

T: 考虑机器人的动力学约束
Kinodynamic: kinematic + Dynamic

运动学规划问题是在同时受到运动学约束(如避障)和动力学约束(如速度、加速度和力的模量界限)的情况下综合机器人运动。动力学解是从时间到广义力或加速度的映射。
——《动力学运动规划》,Bruce Donald, Patrick Xavier, John Canny, John Reif

  • 不同的限制
  • 最大力(加速度)
    Y:
    Straight-line connections between pairs of states are typically not valid trajectories due to the system’s differential constraints.
    由于系统的微分约束,状态对之间的直线连接通常不是有效的轨迹。
    在这里插入图片描述
  • coarse-to-fine process(由粗到精)
  • 轨迹只会局部规划
  • 不可行路径对非完整系统没有意义
    如大部分车不能平移,如下图所示,不能够走下面
    在这里插入图片描述
    在这里插入图片描述
    无人机的一开始的速度是在向右,但是按路径规划左边路径更短,其实应该沿着速度方向向右飞

单轮

在这里插入图片描述

差动轮

在这里插入图片描述

简化的汽车模型

在这里插入图片描述
r应该标记为v

Workflow

basic idea

We have many weapons to attack graph search.
•假设机器人的质量点不再令人满意。
•我们现在需要一个具有可行运动连接的图。

  • 我们手动创建(构建)一个所有边都由机器人可执行的图。
    • 反向,离散机器人的状态空间,连接,如栅格地图
    • 正向。离散机器人的控制空间,如PRM
  • 这是所有动动力规划的基本动机。
  • 状态点阵规划(State lattice planning)是最直接的一种。

build the graph,sample in control vs state space

在这里插入图片描述
说明:s为状态变量,u 为控制变量

如果在控制空间没有任务导向性,在已知被控对象的条件下,固定输入的控制量u uu和积分时间T,由此进行前向积分可以得到被控对象从任意的初始状态 s_0过度到终止状态s f,前向积分可以对被控对象在任意时间T之后的状态进行预测,进而得到一系列的状态集合,这就是控制空间中的采样。由于u 和T是任意给定的,在控制空间中的采样往往没有明确的目的性,采样结果只能分布在某些状态附近,无法精确采样到某一个给定状态,如下图所示:
在这里插入图片描述在这里插入图片描述

选择一个𝑢,固定一个时间段𝑇,正向模拟系统(数值积分)。

  • 正向模拟
  • 确定的u,T
  • 无任务导向(缺点)
  • 容易实施
  • 低效率

选择状态s_f,寻找从s_0到s_f的轨迹

  • 反向计算:
  • 需要知道T,u(或者估计假设等)
  • 很难实施
  • 具有任务导向性

sample in control space

在这里插入图片描述
选择加速度作为控制输入,紫色的线代表(feasible motion)T=1s(假设)时间内机器人的状态轨迹,为啥会呈现抛物线形状,这是由于物体匀加速运动导致的;jerk:加速度求导 x求三次导
A nilpotent:幂零矩阵(会在A的某次方为零,方便计算)

在这里插入图片描述
e^At:状态转移矩阵
F(t):零输入响应
G(t):零状态响应
Um:给定输入
S(t):状态响应
其实就是匀加速运动在高维状态的叠加
对采样结果进行进一步的离散化,控制空间中的最终采样结果如下图:
在这里插入图片描述
The lattice graph obtained by searching
搜索得到的点阵图
需要要有目标性,不需要完整的搜索
在搜索过程中,可以根据需要建立图形。
•当节点被新发现时 ,创建节点(状态)和边(初始运动)。
•节省计算时间/空间。

在这里插入图片描述
步骤:

  • 搜索树按某种规则找到一个周期T内的状态S
  • 选择一个控制的输入
  • 固定一个较短的时间,堆等式进行积分
  • 加入没有碰撞的动作到搜索树

在这里插入图片描述

构建一个点阵图:
• 给定一个原点。
• 对于原点周围的8个邻居节点,找到可行路径。
• 向外扩展到24个邻居。
• 完整点阵
参考:Generating Near Minimal Spanning Control Sets for Constrained Motion Planning in Discrete State Spaces,Mihail Pivtoraiko and Alonzo Kelly

两层Lattice graph
第一层不同,不同的初始状态

comparison

论文:State Space Sampling of Feasible Motions for High-Performance Mobile Robot Navigation in Complex Environments,
Thomas M. Howard, Colin J. Green, and Alonzo Kelly
在这里插入图片描述

  • 在初始角速度方向上轨迹密度更大,受初始化影响很大
  • 不同输入的输出非常相似。
  • 从图中可以看出,控制空间中的采样没有目的性,离散控制量得到的运动路径是不合格的,会使机器人运动到合理的运动环境之外,得到的局部轨迹仅仅有一部分可以使用;状态空间中的采样可以保证局部轨迹可用。

Boundary Value Problem(BVP)

  • BVP是状态采样点阵规划的基础。
  • 没有通用的解决方案。只能逐个设计。
  • 经常进行复杂的数值优化。
    Y:需要求解状态空间采样的问题。
    根据边界条件求解方程
    在这里插入图片描述

optimal BVP

问题:从一个状态(初始)到另一个状态(结束),如何最小化jerk平方和的积分:
(jerk加加速度)
在这里插入图片描述
k表示某个轴,
根据庞特里亚的极小值原理,我们首先引入协态:根据system model来定义
定义哈密尔顿函数在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
首先定义cost function ,然后定义Hamilton中间变量 λ \lambda λ,使用极小值原理选取u使得H函数最小

参考
A Computationally Efficient Motion Primitive for Quadrocopter Trajectory Generation, Mark W. Mueller, Markus Hehn, and Raffaello D’Andrea
Dynamic Programming and Optimal Control, D. P. Bertsekas

example optimal state

先简化为1轴的问题,最小化无人机的jerk
在这里插入图片描述
这里计算关于 λ \lambda λ导数时可能会下意识地直接求H关于 λ \lambda λ,但其实应该求关于s的导数
在这里插入图片描述
这样便可以得到一组可行解 α , β , γ \alpha, \beta, \gamma α,β,γ为待定系数
λ \lambda λ代入到Hamilton公式中即可得到最优J
这里需要注意输入为J ,而v,a的最优值确定(s(t)=(p,v*,a*))**
此时关注
在这里插入图片描述
即可,求导极值为0,计算得到最优的输入,通过积分求得相应最优状态。
如果没有边界条件,没有final state,但有一定到达的硬约束。根据s(T)=s_f来求解
在这里插入图片描述
最后转换为多项式求根
如果有一些变量不需要给定,求最优也能行
同时,可以将代价函数J 转变为关于时间T 的函数,对代价函数求极小值可以求得最优的时间T 如下:
在这里插入图片描述
将两点的边界状态代入状态方程,可以求得α , β , γ 的值,OBVP问题求解完成:
在这里插入图片描述
最终求多项式的根T
在这里插入图片描述
reference

example

Optimal Rough Terrain Trajectory Generation for Wheeled Mobile Robots, Thomas M. Howard Alonzo Kelly
A Computationally Efficient Motion Primitive for Quadrocopter Trajectory。
Path Planning for Autonomous Vehicles in Unknown Semi-structured Environments , Dmitri Dolgov , Sebastian Thrun,
Michael Montemerlo , James Diebel。
https://pythonrobotics.readthedocs.io/en/latest/modules/path_planning.html#optimal-trajectory-in-a-frenet-frame。
参考论文Generation, Mark W. Mueller, Markus Hehn , and Raffaello D’Andrea
Dynamic Programming and Optimal Control, D. P. Bertseka

轨迹库

根据评分函数来确定那个轨迹较合适

Heuristic heuristic

原则:只解决一个简单的问题,
两种做法
•假定不存在障碍
•假设不考虑动力学

Planning in Frenet-serret Frame

参考文献
Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame, Moritz Werling, Julius Ziegler, Sören Kammel, and Sebastian Thrun。
Optimal trajectories for time-critical street scenarios using discretized terminal manifolds , Moritz Werling, Sören Kammel , Julius Ziegler and Lutz Gröll。

作业

OBVP 问题求解

ref

https://zhuanlan.zhihu.com/p/483647239
https://www.shenlanxueyuan.com/course/633

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值