drake - drake:搜索系统的固定点和修剪点
问题描述
我在德雷克有一个 LeafSystem,动态 \dot{x} = f(x,u) 用 DoCalcTimeDerivatives 编写。该系统的固定点和修剪点并非易事。因此,我认为需要编写一个非线性优化问题来找到固定点:
找到 x, u; st f(x,u)=0
或者
找到 x,u; 最小 f(x,u)^2
我想知道,我应该如何利用我已经在 LeafSystem 的 DoCalcTimeDerivatives 中编写的动态,并编写一个非线性优化来搜索 x 和 u 以找到 drake 中的固定点和修剪点?德雷克中的一些现有示例将不胜感激!
解决方案
为您的案例编写起来很简单(对于一般情况,编写起来稍微困难一些……它在我的 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
推荐阅读
- javascript - Javascript在函数中增加一个变量
- class - Kotlin - What is the point of private variables inside private companion objects?
- javascript - 将字符串中的所有浮点数相乘
- java - 使用三个堆栈的回文 - 仅输出是“是回文”(java逻辑错误)
- python-3.x - 无法让 Selenium 定位元素
- powershell - Get-Content .csv 并将其用作路径名的变量
- java - 无法创建 PoolableConnectionFactory [JSP Servlets 和 MySQL]
- initialization - 如何将 liquibase changelogSyncSQL 或 changelogSync 运行到标签和/或标签?
- python - 散景 - 绘制上轴和右轴
- typescript - 尝试使用 webpack 和 TypeScript 构建多页应用程序时出现 MIME 类型错误