我正在努力实现一种名为DIRTREL的轨迹优化算法,该算法本质上是直接转录,具有附加的成本函数。但是,成本函数包含通过围绕决策变量(x,u)线性化系统并采用离散时变LQR获得的K个矩阵。我的问题是,由于Riccati差分方程的递归性质,当我当前的方法以符号方式描述该系统并导致极其冗长的符号方程时(只会随着更多的时间步长而增加长度),因此如何在drake中最有效,简洁地表达这一点,甚至这种象征性的方法是否合适。
更多细节:
成本函数内部:
旁注是我不确定以符号形式计算逆的最易处理的方法,但是我最关心的是我的方法论以及这种符号描述是否合适。
我认为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])
和Riccati方程作为的约束条件S
。我认为DIRTREL的方法可以用较少的决策变量更好地缩放,但是我没有比较这两种方法之间的数值性能。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句