drake:搜索系统的固定点和修剪点

时间:2018-04-30 20:15:44

标签: drake

我在drake中有一个LeafSystem,其中dynamic \ dot {x} = f(x,u)用DoCalcTimeDerivatives编写。这个系统的固定点和修剪点并不容易找到。因此,我需要写一个非线性优化问题来找到固定点:

找到x,你; S.T. F(X,U)= 0

找到x,你; min f(x,u)^ 2

我想知道,我应该如何利用我已经在LeafSystem的DoCalcTimeDerivatives中编写的动力学,并编写非线性优化来搜索x和u以找到drake中的固定点和修剪点?德雷克的一些现有例子将不胜感激!

1 个答案:

答案 0 :(得分:1)

为你的案例编写很简单(对于一般案例来说只是稍微难一点......它在我的TODO列表中)。

假设您的工厂支持符号,那么查看轨迹优化将让您了解如何编写约束: https://github.com/RobotLocomotion/drake/blob/master/systems/trajectory_optimization/direct_transcription.cc#L212 (autodiff版本就在下面):

fwiw,旧的matlab版本的一般情况如下: https://github.com/RobotLocomotion/drake/blob/last_sha_with_original_matlab/drake/matlab/solvers/FixedPointProgram.m