FlexUMI 基于 FastUMI,将其扩展、适配至更多的实物机械臂、仿真环境与算法模型
FlexUMI 包含从硬件适配、数据采集、模型训练、到实机/仿真部署的全流程与框架
已集成 Realman Gen72 机械臂✅,Isaac Sim 仿真平台✅,Piper 机械臂/Pika 方案❎,Dora-kit❎
- 1. 🗂 项目结构
- 2. 🧪 环境安装
- 3. 🧱 实物闭环流程
- 4. 🧪 仿真闭环流程
- 5. ❓ 常见问题及解答 (FAQ)
- 6. 🗺 路线图
- 7. 🧩 现状和不足
- 8. 🤝 贡献指南
- 9. 📐 代码提交规范
- 10. 📄 许可证
- 11. 📬 联系方式
FlexUMI/
├─ assets/ # 资源文件
│ ├─ ckpt/ - 模型权重
│ ├─ media/ - 图片/视频素材
│ ├─ models/ - 3D 模型文件
│ └─ urdf/ - urdf 文件
├─ data/ # 数据文件
│ ├─ input/ - 模型训练输入数据
│ ├─ output/ - 模型推理输出数据
│ └─ raw/ - 原始采集数据
├─ docs/ # 说明文档
├─ examples/ # 案例
├─ scripts/ # 相关脚本
├─ src/ # 核心代码
│ ├─ collection/ - 数采相关代码
│ ├─ hardware/ - 硬件相关代码
│ ├─ policies/ - 模型相关代码
│ ├─ simulation/ - 仿真相关代码
│ └─ utils/ - 实用函数
└─ tests/ # 测试脚本
- Ubuntu 20.04
- Python 3.10.4
- CUDA
- ROS1 noetic
git clone https://github.com/CortexNest/FlexUMI.git
cd FlexUMIconda create -n FlexUMI python=3.10.4
conda activate FlexUMIpip install -r requirements.txtpre-commit install# 确保当前工作目录(cwd)目前处于项目根目录,conda环境为FlexUMI
# 此脚本将在当前conda环境下添加包含cwd绝对路径的pth文件,后续若移动了项目需要再次添加
bash scripts/add_project_root.sh(1) 设置 ROS1 的软件源
使用一下命令添加 ROS1 的仓库
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'添加 ROS1 的 GPG 密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654(2) 安装 ROS1 Noetic
sudo apt update
sudo apt install ros-noetic-ros-base(3) 将 ROS1 添加到环境变量
echo "source /opt/ros/noetic/setup.sh" >> ~/.bashrc source ~/.bashrc(4) 验证 ROS1 的安装
启动 ros 服务器,如果没报错则说明成功安装
roscoreconda activate FlexUMI
pip install Robotic_Arm==1.0.1(1) Piper 机械臂 SDK 安装
conda activate FlexUMI
pip3 install python-can
pip3 install piper_sdk
sudo apt update && sudo apt install can-utils ethtool(2) Pika ros 安装
推荐使用:
- Librealsense v2.53.1 (T265 不支持后续版本)
- realsense2_camera v2.3.2
(1) 安装 ROS 包
sudo apt install python3-catkin-tools python3-rospkg python3-rosdep python3-rosinstall-generator
sudo apt install ros-noetic-geometry-msgs ros-noetic-sensor-msgs ros-noetic-nav-msgs
sudo apt install ros-noetic-cv-bridge
sudo apt install ros-noetic-usb-cam(2) 安装 Intel RealSense 依赖
-
或者只安装必要依赖:
sudo apt install ros-noetic-realsense2-camera sudo apt-key adv --keyserver keys.gnupg.net --recv-key 04A3CF2E sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo $(lsb_release -cs) main" sudo apt update sudo apt install librealsense2-dkms librealsense2-utils librealsense2-dev librealsense2-dbg
为了运行仿真环境,需要安装 Isaac Sim 4.5,参考:Isaac Sim Installation
(1) 下载 isaac sim 二进制文件
wget https://download.isaacsim.omniverse.nvidia.com/isaac-sim-standalone%404.5.0-rc.36%2Brelease.19112.f59b3005.gl.linux-x86_64.release.zip
# 解压到 ~/isaac_sim
unzip isaac-sim-standalone@4.5.0-rc.36+release.19112.f59b3005.gl.linux-x86_64.release.zip -d ~/isaac_sim(2) 将 isaac sim 添加到 PATH
echo 'export ISAAC_SIM_ROOT=~/isaac_sim' >> ~/.bashrc
echo 'export PATH="$ISAAC_SIM_ROOT:$PATH"' >> ~/.bashrc
source ~/.bashrc测试是否安装成功:
isaac-sim.sh
# 或者在 FlexUMI 项目根目录执行: bash scripts/sim/run_isaac.sh如果没有报错,并且出现了 isaac sim 的 GUI 界面,则说明安装成功
(3) 安装依赖包 需要安装一些依赖包到 isaac sim 的环境中
$ISAAC_SIM_ROOT/python.sh -m pip install omegaconf==2.3.0 \
hydra-core==1.3.2 \
debugpy \
rospkg==1.6.0 \
h5py==3.13.0 \
pyparsing==2.4.6 \
pyyaml==5.3.1 \
empy==3.3.2 \
scipy项目使用 pre-commit 在提交代码前自动运行检查:
pre-commit run --all-files # 手动运行所有检查硬件、数据采集与数据处理过程基于 FastUMI 仓库,进行了少许改动。
参考 硬件采购与安装流程
参考 数据采集流程
参考 数据处理流程
目前已整合算法模型:
参考 训练推理流程
ACT 模型推理执行的效果
参考 仿真闭环教程
可以把遇到的问题及解决方案放到这
- 适配 Realman Gen72 机械臂与乐百夹爪
- 集成 Isaac Sim 仿真平台
- 集成 ACT 算法
- 集成 DP 算法
- 集成 Dora-kit
- 基于 Dora 框架使用 Realman Gen72 机械臂执行推理
- 适配 Piper 机械臂/Pika 方案
- 集成 Pika 采集方案
- 适配 Piper 机械臂与 Pika 夹爪
- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
- 提交前请确保通过所有代码检查
- 遵循项目的代码风格指南
- 添加适当的类型注解
- 编写清晰的文档字符串
- 添加必要的单元测试
本项目采用 MIT 许可证 - 详见 LICENSE 文件
项目维护者 - @CortexNest
