# ocs2

> 权威词条地址：https://robotics.hellobike.com/sdks/leggedrobotics-ocs2
> 所属分类：sdks | 最近核验日期：2026-09-29 | 技术层级：L3

## 核心摘要

leggedrobotics 在 GitHub 开源的算法库，主要语言 C++。 Optimal Control for Switched Systems

## 结构化工程参数

| 参数项 | 数值 / 配置 |
| :--- | :--- |
| `layers` | ["L3"] |
| `links` | [{"title": "GitHub", "url": "https://github.com/leggedrobotics/ocs2"}] |
| `updated` | 2026-09-29 |
| `repo` | https://github.com/leggedrobotics/ocs2 |
| `language` | ["c++"] |
| `pinned_versions` | [{"version_or_sha": "main / 最新稳定分支，可匹配对应ROS版本使用", "tested_env": "Ubuntu 20.04 LTS + ROS Noetic / Ubuntu 22.04 LTS + ROS 2 Humble / GCC 9.4+ / CMake 3.16+", "notes": "克隆仓库后使用catkin_make或colcon编译，核心入口为ocs2_core模块的OptimalControlProblem类，可自定义动力学与约束接入求解。"}] |
| `incompatible_envs` | ["不支持Windows原生编译，WSL环境需配置正确的ROS依赖方可使用", "低于Ubuntu 20.04的系统版本缺少默认依赖，兼容性差不推荐使用"] |
| `repo_stats` | {"stars": 1527, "forks": 327, "as_of": "2026-10-13"} |
| `tool_type` | library |
| `overview_sources` | ["https://github.com/leggedrobotics/ocs2"] |

## 技术详解与生态说明

ocs2是leggedrobotics团队开源的切换系统最优控制算法库，主要采用C++开发，核心功能模块覆盖切换系统最优控制求解、模型预测控制（MPC）生成，支持约束条件下的动态轨迹规划与控制律计算，可处理带模态切换的机器人系统控制需求。

该算法库适配机器人运动控制层级，可集成于足式、机械臂等需要动态模态切换的机器人控制栈中，开发者可通过C++接口调用其求解器模块，结合自身机器人动力学模型完成控制逻辑开发，也可对接ROS等机器人中间件实现快速部署。

## 原始核验来源 (Sources)

- [GitHub leggedrobotics/ocs2](https://github.com/leggedrobotics/ocs2)