我在drake中有一个LeafSystem,用DoCalcTimeDerivatives编写了动力学\dot{x} = f(x,u)。这个系统的不动点和修剪点是很难找到的。因此,我认为需要写一个非线性优化问题才能找到不动点:
找到x,u;s.t.f(x,u)=0
或
求x,u;min f(x,u)^2
我想知道,我应该如何利用我在DoCalcTimeDerivatives of LeafSystem中已经写过的动力学,写一个非线性优化来搜索x和u,找到drake中的不动点和修剪点?一些在德雷克现有的例子将是非常感谢!
发布于 2018-05-01 00:51:53
为你的情况写文章很简单(一般情况下只需稍微困难一点.在我的TODO单子上)。
假设您的工厂支持符号化,那么查看轨迹优化将使您了解如何编写约束:transcription.cc#L212 (自动关闭版本如下):
fwiw,旧的matlab版本的一般情况如下:matlab/drake/matlab/solvers/FixedPointProgram.m
https://stackoverflow.com/questions/50107597
复制相似问题