Minimum Snap轨迹规划详解(1)轨迹规划入门

1. 轨迹规划是什么?

在机器人导航过程中,如何控制机器人从A点移动到B点,通常称之为运动规划。运动规划一般又分为两步:

  1. 路径规划:在地图(栅格地图、四\八叉树、RRT地图等)中搜索一条从A点到B点的路径,由一系列离散的空间点(waypoint)组成。
  2. 轨迹规划:由于路径点可能比较稀疏、而且不平滑,为了能更好的控制机器人运动,需要将稀疏的路径点变成平滑的曲线或稠密的轨迹点,也就是轨迹。

2. 轨迹是什么?

轨迹一般用n阶多项式(polynomial)来表示,即

p(t)=p0+p1t+p2t2...+pntn=i=0npiti

其中 p0,p1,...,pn 为轨迹参数(n+1个),设参数向量 p=[p0,p1,...,pn]T ,则轨迹可以写成向量形式,
p(t)=[1,t,t2,...,tn]p

对于任意时刻 t ,可以根据参数计算出轨迹的位置P(osition),速度V(elocity),加速度A(cceleration),jerk,snap等。
v(t)=p(t)=[0,1,2t,3t2,4t3,...,ntn1]pa(t)=p′′(t)=[0,0,2,6t,12t2,...,n(n1)tn2]pjerk(t)=p(3)(t)=[0,0,0,6,24t,...,n!(n3!)tn3]psnap(t)=p(4)(t)=[0,0,0,0,24,...,n!(n4!)tn4]p

一个多项式曲线过于简单,一段复杂的轨迹很难用一个多项式表示,所以将轨迹按时间分成多段,每段各用一条多项式曲线表示,形如:

p(t)=[1,t,t2,...,tn]p1   t0t<t1[1,t,t2,...,tn]p2   t1t<t2...[1,t,t2,...,tn]pk   tk1t<tk

k 为轨迹的段数, pi=[pi0,pi1,...,pin]T 为第i段轨迹的参数向量。

此外,实际问题中的轨迹往往是二维、三维甚至更高维,通常每个维度单独求解轨迹。

3. Minimum Snap轨迹规划

轨迹规划的目的:求轨迹的多项式参数 p1,...,pk
我们可能希望轨迹满足一系列的约束条件,比如:希望设定起点和终点的位置、速度或加速度,希望相邻轨迹连接处平滑(位置连续、速度连续等),希望轨迹经过某些路径点,设定最大速度、最大加速度等,甚至是希望轨迹在规定空间内(corridor)等等。
通常满足约束条件的轨迹有无数条,而实际问题中,往往需要一条特定的轨迹,所以又需要构建一个最优的函数,在可行的轨迹中找出“最优”的那条特定的轨迹。
所以,我们将问题建模(fomulate)成一个约束优化问题,形如:

minf(p)s.t.  Aeqp=beq,        Aieqpbieq
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值