Cheetah-Software
Cheetah-Software
智能硬件
1/5
🧩 软硬件结合
已发布
项目简介
暂无简介
Cheetah-Software 是一个面向四足机器人研究与开发的开源项目,主要服务于麻省理工学院(MIT)的 Cheetah 3 和 Mini Cheetah 两款高性能机器人平台。该项目提供了完整的机器人控制与仿真软件栈,帮助研究人员和工程师在真实硬件和虚拟环境之间无缝切换,进行运动控制算法的开发与验证。
项目特点
**双模式运行**:支持纯仿真运行和真实机器人运行,方便算法开发与验证。
**模块化架构**:代码分为common(通用库)、robot(机器人程序)、sim(仿真程序)三个独立模块。
**跨平台构建**:基于CMake构建系统,支持Linux环境。
**Mini Cheetah专用支持**:提供专门的编译选项(`-DMINI_CHEETAH_BUILD=TRUE`)和远程部署脚本。
**LCM通信**:使用LCM(Lightweight Communications and Marshalling)实现模块间高效数据交换。
**单元测试**:集成Google Test框架,提供基础库的单元测试。
技术规格
| 支持机器人 | Cheetah 3, Mini Cheetah |
|---|---|
| 编程语言 | C++ |
| 构建系统 | CMake |
| 仿真依赖 | Qt 5.10 |
| 通信协议 | LCM |
| 数学库 | Eigen |
| 可选优化器 | Ipopt |
| 测试框架 | Google Test |
| 操作系统 | Linux (Ubuntu推荐) |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Mini Cheetah机器人 | 1 | — | 如需实物运行 |
| 以太网线 | 1 | — | 连接Mini Cheetah |
| Ubuntu/Linux系统 | 1 | — | 开发环境 |
| Qt 5.10 | 1 | — | 仿真依赖 |
| LCM | 1 | — | 通信库 |
| Eigen | 1 | — | 数学库 |
| mesa-common-dev | 1 | — | OpenGL支持 |
| freeglut3-dev | 1 | — | GLUT工具 |
| libblas-dev liblapack-dev | 1 | — | 线性代数库 |
3D 模型
能力画像
⚪ 记忆与知识检索: 2/5
🔵 逻辑推演: 4/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 2/5
⚪ 数理与计算: 5/5
⚪ 动手与操作: 3/5
⚪ 狂热与坚持: 4/5
⚪ 创造与创新: 4/5
所需技能
🔧 **动手能力**:需要能够搭建Linux开发环境,配置依赖库,以及通过以太网连接和部署代码到Mini Cheetah机器人。
💻 **编程能力**:需要扎实的C++编程基础,理解CMake构建系统,熟悉面向对象设计和模块化编程。
⚡ **电子电路**:无需深入电子知识,但需要了解机器人控制的基本概念(如关节控制、状态估计)。
适用场景
**四足机器人控制算法研究**:在仿真环境中开发和测试步态规划、平衡控制等算法。
**机器人软件开发学习**:学习MIT Cheetah系列机器人的软件架构和实时控制实现。
**Mini Cheetah机器人用户**:为Mini Cheetah机器人编写和部署自定义控制程序。
**机器人仿真与部署流程**:研究从仿真到实物机器人的代码迁移和调试流程。