2024-01-22-Drake 运动学轨迹优化类(kinematic_trajectory_optimization)(二)

Drake 运动学轨迹优化类(kinematic_trajectory_optimization)(二)

1. 背景

本文继续上文的话题,继续分析kinematic_trajectory_optimization类的具体代码实现。

这部分的代码位于下面两个文件中:

planning\trajectory_optimization\kinematic_trajectory_optimization.h
planning\trajectory_optimization\kinematic_trajectory_optimization.cc

回顾上一篇文章的讨论,我们知道,该类的主要目的是解决如下问题:

min T , q ( ⋅ ) J ( T , q ( ⋅ ) ) subject to q ( t 0 ) = q 0 ,   q ( t f ) = q f q ˙ ( t 0 ) = q ˙ 0 ,   q ˙ ( t f ) = q ˙ f q ¨ ( t 0 ) = q ¨ 0 ,   q ¨ ( t f ) = q ¨ f q ˙ m i n ≤ q ˙ ( t ) ≤ q ˙ m a x q ¨ m i n ≤ q ¨ ( t ) ≤ q ¨ m a x obstacle avoidance kinematics, dynamics constrains (1) \begin{aligned} & \underset{T,q(\cdot)}{\text{min}} & & J(T,q(\cdot)) \\ & \text{subject to} & & q(t_0) = q_0, \space q(t_f) = q_f \\ & & & \dot{q}(t_0) = \dot{q}_0, \space \dot{q}(t_f) = \dot{q}_f \\ & & & \ddot{q}(t_0) = \ddot{q}_0, \space \ddot{q}(t_f) = \ddot{q}_f \\ & & & \dot{q}_{min} \leq \dot{q}(t) \leq \dot{q}_{max} \\ & & & \ddot{q}_{min} \leq \ddot{q}(t) \leq \ddot{q}_{max} \\ & & & \text{obstacle avoidance} \\ & & & \text{kinematics, dynamics constrains} \end{aligned} \tag{1} T,q()minsubject toJ(T,q())q(t0)=q0, q(tf)=qfq˙(t0)=q˙0, q˙(tf)=q˙fq¨(t0)=q¨0, q¨(tf)=q¨fq˙minq˙(t)q˙maxq¨minq¨(t)q¨maxobstacle avoidancekinematics, dynamics constrains(1)

并且有以下关系:

q ‾ ( τ ) = q ‾ ( t T ) = q ( t ) q ˙ ( t ) = d q d t = d q d τ d τ d t = q ‾ ˙ ( τ ) T q ¨ ( t ) = d 2 q d t 2 = d d t ( d q d t ) = d d τ ( d q d τ ) d τ d t = q ‾ ¨ ( τ ) T 2 (2) \begin{aligned} \overline{q}(\tau) &= \overline{q}(\frac{t}{T})=q(t)\\ \dot{q}(t) &= \frac{dq}{dt} = \frac{dq}{d\tau}\frac{d\tau}{dt} = \frac{\dot{\overline{q}}(\tau)}{T} \\ \ddot{q}(t) &= \frac{d^2q}{dt^2} = \frac{d}{dt}(\frac{dq}{dt}) = \frac{d}{d\tau}(\frac{dq}{d\tau})\frac{d\tau}{dt} = \frac{\ddot{\overline{q}}(\tau)}{T^2} \end{aligned} \tag{2} q(τ)q˙(t)q¨(t)=q(Tt)=q(t)=dtdq=dτdqdtdτ=Tq˙(τ)=dt2d2q=dtd(dtdq)=dτd(dτdq)dtdτ=T2q¨(τ)(2)

经过转化,我们可以得到如下形式的优化问题:

min T , q ‾ 0 : n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值