百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
O

ocs2

> 编程语言
开源

切换系统的最优控制

1.5K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

切换系统的最优控制

OCS2(Optimal Control for Switched Systems)是一个 C++ 工具箱,用于制定和解决非线性最优控制问题,重点是用于机器人领域的实时 Model Predictive Control (MPC)。

OCS2 通过增强拉格朗日法或松弛阈值方法处理一般路径约束。为了方便在机器人任务中应用 OCS2,它提供了额外的工具,可从 URDF 模型中设置系统动力学(如运动学或动力学模型)和成本/约束(如自碰撞避免和末端效应器跟踪)。该库还提供了自动微分工具,用于计算系统动力学、约束和成本的导数。为了方便在机器人平台上部署,OCS2 提供了用于 ROS 接口的工具。该工具箱高效且数值稳定的实现,再加上其人性化的接口,为在具有有限板载计算能力的众多机器人应用中使用它铺平了道路。

**ROS 2 端口可用:**使用分支 ros2。

  • 多个求解器
  • SLQ:连续时间约束 DDP(SLQ/DDP 系列)
  • iLQR:离散时间约束 DDP
  • SQP:多次射击 SQP(通过 HPIPM/BLASFEO 解决的 QP 子问题)
  • SLP:顺序线性规划(PIPG)
  • IPM:多次射击非线性内部点方法
  • 切换系统 OCP 支持:模式计划和跳转映射(单域和多域问题)。
  • 约束:强约束/松约束,使用增强拉格朗日法和松弛阈值方法。
  • 导数:分析导数接口 + 自动微分(CppAD)和可选代码生成(CppADCodeGen)。
  • 机器人工具:URDF → 模型辅助工具(Pinocchio)、运动学、质心模型、自碰撞约束(HPP-FCL)。
  • ROS 集成:消息、节点和可视化/绘图工具,用于在机器人上部署 MPC。
  • 机器人示例:端到端 MPC 示例(以及 ROS Wrapper)用于双积分器、滑梯杆、球机器人、四旋翼无人机、移动机械手、多腿机器人。

Issues· 54 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C++controlmpcoptimal-controlrobotics

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言