我正致力于实现一个名为DIRTREL的轨迹优化算法,它本质上是直接转录,并增加了成本函数。然而,成本函数包含了通过线性化决策变量(x,u)和离散时变LQR得到的K矩阵。我的问题是,如何最有效、最简洁地用drake来表达这一点,因为我目前的方法象征性地描述了这个系统,并且由于Riccati差分方程的递归性质,导致了极长的符号方程(这只会随着时间的增加而增加),以及这种符号方法是否合适。
欲知更多详情:
在成本职能内:
一方面,我不确定哪种最容易处理的方法来象征性地计算逆,但我最关心的是我的方法,以及这种象征性的描述是否合适。
发布于 2020-07-12 21:53:40
我认为有几个关于DIRTREL的细节值得讨论:
S[n]依赖于线性化的动力学Ai, Bi.我认为在DIRTREL中,你需要解决一个非线性优化问题,它需要成本的梯度。因此,要计算成本的梯度,需要S[n]的梯度,这需要Ai, Bi的梯度。因为Ai和Bi是动态函数f(x, u)的梯度,所以需要计算动力学的二阶梯度。S作为一个决策变量,因此我们的决策变量是x, u, S,其中约束既包括动力学约束x[n+1] = f(x[n], u[n]),又包括S上的Riccati方程。我认为DIRTREL的方法以较少的决策变量进行了更好的扩展,但我还没有比较这两种方法的数值性能。https://stackoverflow.com/questions/62866004
复制相似问题