TidyBot++ ROS2 机器人平台
tidybot_ros
⭐⭐⭐⭐☆ (4/5)
🧩 软硬件结合
已发布
项目简介
ROS 2 interface and imitation learning pipeline for the Tidybot++ mobile manipulator
TidyBot++ ROS2 Platform 是一个专为 TidyBot++ 移动操作机器人设计的完整 ROS 2 控制平台,由密歇根大学安娜堡分校的 ROAHM 实验室开发。该项目将策略学习管道无缝集成到仿真和真实环境中,并通过 ROS 2 节点封装所有通信,为机器人操作任务提供了端到端的解决方案。
项目特点
**完整的 ROS 2 集成**:所有核心功能(驱动、规划、策略、数据)均封装为 ROS 2 节点,便于模块化开发和扩展。
**多环境支持**:支持在 Gazebo 仿真、NVIDIA Isaac Sim 高保真仿真以及真实硬件上无缝切换和部署。
**多种遥操作模式**:支持基于 WebXR 的智能手机遥操作和 Xbox 游戏手柄遥操作,方便数据采集。
**数据采集与转换流水线**:提供从 ROS bag 到 HDF5 格式的数据转换工具,与原始 TidyBot++ 项目的数据结构兼容,便于训练扩散策略。
**策略部署流水线**:支持远程推理,可通过 SSH 隧道连接 GPU 服务器,在机器人上实时运行训练好的策略(如扩散策略和视觉-语言-动作模型)。
**双容器架构(Isaac Sim)**:采用独立的 TidyBot 容器和 Isaac Sim 容器,通过 FastDDS 通信,实现高保真仿真。
技术规格
| 机器人平台 | |
|---|---|
| 移动基座 | |
| 机械臂 | |
| 末端执行器 | |
| 传感器 | |
| 操作系统 | |
| 中间件 | |
| 仿真环境 | |
| 容器化 | |
| 通信协议 | |
| 遥操作 | |
| 数据格式 | |
| 运动规划 |
项目资源
roahmlab/tidybot_ros
/tidybot2.github.io
/www.roahmlab.com
docker/README.md
tidybot_description/README.md#%F0%9F%8E%AE-isaac-sim-integration
tidybot_policy/README.md#%F0%9F%8E%AE-policy-deployment
jimmyyhwu/tidybot2?tab=readme-ov-file#policy-training
jimmyyhwu/tidybot2?tab=readme-ov-file#policy-inference
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| TidyBot++ 移动操作机器人 | 1 | — | 包含全向基座、Kinova Gen3 机械臂、Robotiq 2F-85 夹爪 |
| RGBD 摄像头 (腕部/基座) | 2 | — | 可选外部摄像头 |
| 开发机器 (GPU 服务器) | 1 | — | 用于策略训练和推理 |
| Canivore-USB 模块 | 1 | — | 用于 CAN 总线通信 |
| Xbox Series X 游戏手柄 | 1 | — | 可选,用于遥操作 |
| 智能手机/平板 | 1 | — | 用于 WebXR 遥操作 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| Docker | 容器化部署和运行 | ✅ 是 |
| ROS 2 (Humble) | 机器人中间件 | ✅ 是 |
| NVIDIA Isaac Sim | 高保真仿真 | ▢ 推荐 |
| Gazebo | 仿真环境 | ✅ 是 |
| MoveIt2 | 运动规划 | ✅ 是 |
| Kinova Kortex API | 机械臂驱动 | ✅ 是 |
| Python 3.12 | 策略和工具脚本 | ✅ 是 |
| Git | 版本控制 | ✅ 是 |
| SSH | 远程连接 GPU 服务器 | ✅ 是 |
| 3D 打印机 | 打印机器人结构件 | ▢ 推荐 |
| 焊台 | 焊接电子元件 | ▢ 推荐 |
能力画像
记忆与知识检索
1/5
逻辑推演
3/5
表达与交流
1/5
感知与观察
3/5
数理与计算
4/5
动手与操作
4/5
狂热与坚持
4/5
创造与创新
4/5
项目图库
所需技能
🔧 **动手能力**:需要具备组装和调试移动操作机器人的能力,包括连接 CAN 总线、摄像头、机械臂等硬件设备,以及处理 Docker 容器和网络配置。
💻 **编程能力**:需要精通 Python 和 ROS 2,能够编写和调试启动文件、节点和配置文件。熟悉 Linux 命令行、Docker 和 Git 是必需的。了解策略训练和推理(如扩散策略)会很有帮助。
⚡ **电子电路**:需要了解 CAN 总线通信、USB 设备权限设置(udev 规则)以及基本的硬件连接知识。
适用场景
**移动操作机器人研究**:用于开发、测试和部署移动操作机器人的控制算法和策略。
**模仿学习与策略学习**:提供了一个完整的数据采集、转换和策略部署流水线,适合进行模仿学习(如扩散策略、VLA)的研究。
**机器人仿真与部署**:支持从仿真到真实硬件的无缝迁移,适用于机器人算法的快速原型验证。
**遥操作与远程控制**:通过 WebXR 或游戏手柄进行远程操作,适用于远程机器人实验或数据采集。