Cheetah-Software
Cheetah-Software
智能硬件
高级
🧩 软硬件结合
已发布
项目简介
暂无简介
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框架,提供基础库的单元测试。
技术规格
| 支持机器人 | |
|---|---|
| 编程语言 | |
| 构建系统 | |
| 仿真依赖 | |
| 通信协议 | |
| 数学库 | |
| 可选优化器 | |
| 测试框架 | |
| 操作系统 |
项目资源
物料清单 (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 模型
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| C++编译器 (g++) | 编译C++代码 | ✅ 是 |
| CMake | 构建系统 | ✅ 是 |
| Git | 版本控制与代码下载 | ✅ 是 |
| 终端/SSH客户端 | 远程连接Mini Cheetah | ▢ 推荐 |
| 文本编辑器/IDE | 代码编辑 | ▢ 推荐 |
能力画像
记忆与知识检索
逻辑推演
表达与交流
感知与观察
数理与计算
动手与操作
狂热与坚持
创造与创新
所需技能
🔧 **动手能力**:需要能够搭建Linux开发环境,配置依赖库,以及通过以太网连接和部署代码到Mini Cheetah机器人。
💻 **编程能力**:需要扎实的C++编程基础,理解CMake构建系统,熟悉面向对象设计和模块化编程。
⚡ **电子电路**:无需深入电子知识,但需要了解机器人控制的基本概念(如关节控制、状态估计)。
适用场景
**四足机器人控制算法研究**:在仿真环境中开发和测试步态规划、平衡控制等算法。
**机器人软件开发学习**:学习MIT Cheetah系列机器人的软件架构和实时控制实现。
**Mini Cheetah机器人用户**:为Mini Cheetah机器人编写和部署自定义控制程序。
**机器人仿真与部署流程**:研究从仿真到实物机器人的代码迁移和调试流程。