Isaac 场景与 USD¶
本栈的合成数据采集是 Isaac Sim 线路。Gazebo 不在这条流水线里。
场景资产在 FaSim-Isaac。机器人 USD 是 robot_usds 超级仓库(FaSim 子模块 robots/)。环境与私有项目 USD 与这棵树并列,不在它内部。
FaSim-Isaac(场景宿主)¶
Repository: fiveages-sim/FaSim-Isaac
FaSim-Isaac 是一键 Isaac 资产工作区:克隆 USD 子模块、可安装 Isaac ROS 2 Jazzy overlay、并启动 Sim。优先用脚本,不要手拼目录树。
git clone git@github.com:fiveages-sim/FaSim-Isaac.git
cd FaSim-Isaac
./init.sh
./run.sh
摘自 FaSim README:
./init.sh操作 1 — 初始化.gitmodules/submodules_visibility.conf里的子模块。public 默认勾选;private 默认不勾(需要仓库权限)。重复运行是追加(只对勾选项update --init)。./init.sh操作 2 — 可选 Isaac ROS 2 Jazzy 工作空间:下载匹配的 Isaac ROS workspaces,把jazzy_ws解到isaac_jazzy_ws/,装 rosdep/colcon 依赖、编译,并写入~/.bashrc。版本菜单查询 GitHub 稳定 tag;config/fa_sim.conf回退列表目前含6.0.1/6.0.0/5.1.0。可用ISAAC_SIM_VERSION=… ./init.sh覆盖。./run.sh— 启动 Isaac Sim。默认安装路径是ISAACSIM_DIR(~/isaacsim,除非复制config/fa_sim.local.template.conf→config/fa_sim.local.conf)。菜单为 PhysX / Newton / Headless Streaming。
数据采集示例 README(feature/sim-grasp-datagen 上的 examples/IsaacSim/README.md)目前写的是 Ubuntu 24.04、ROS 2 Jazzy、Isaac Sim 6.0。路径/版本放在 FaSim 配置里,不要手改 launch。
该 README 中的布局:
FaSim-Isaac/
├── init.sh
├── run.sh
├── config/ # fa_sim.conf + optional fa_sim.local.conf
├── robots/ # → robot_usds
├── environment/
│ ├── fiveages_env/ # → fiveages-env-usds (public scenes)
│ └── fa-project-usd/ # → fa-project-usd (private project USD)
└── isaac_jazzy_ws/ # created by init.sh operation 2
在 Isaac 中打开 robots/(robot_usds)里目标机器人 USD 并运行仿真。按示例 README 所链的 NVIDIA Isaac ROS 2 workspace 文档 启用 ROS 2 simulation-control 与 prim 服务(/set_simulation_state、物体位姿 prim service)。
包细节:FaSim-Isaac 参考。
robot_usds(仅机器人 USD)¶
Repository: fiveages-sim/robot_usds
本章按 robot_usds 引用的 USD(以及作为 FaSim robots/ 子模块)来写。主路径: FaSim ./init.sh 操作 1 初始化该子模块(默认 public 项)。
手动回退
若在 FaSim 外单独克隆 robot_usds,子模块目录在以下步骤之前是空的:
git clone git@github.com:fiveages-sim/robot_usds.git
cd robot_usds
git submodule update --init --recursive
其中记录的 Git 子模块:
路径 |
上游 |
|---|---|
|
fiveages-gen1-robot-usds |
|
fiveages-gen2-robot-usds |
|
fiveages-gen3-robot-usds |
|
ubtech-usds |
|
galbot-usds |
FaSim submodules_visibility.conf 把 Galbot 标成 public,FiveAges Gen* / Ubtech 树标成 private。robot_usds 树内(非子模块)类别包括夹爪、灵巧手、机械臂、移动底盘、移动操作臂和传感器 — 去仓库里看;不要发明额外 USD 根。
FiveAges Gen1 / Gen2 / Gen3 是 humanoid/FiveAges/ 下的轮臂 USD 世代(README:Gen1→W1,Gen2→W2/S2)。它们不是双足人形。
完整树:robot_usds 参考、USD 子模块。
环境与私有项目 USD
环境资产是 robots/ 的同级目录,不是 robot_usds 子模块。
目录树 |
可见性 |
角色 |
|---|---|---|
|
公开 |
共享 Isaac 场景: |
|
私有 |
内部任务场景用的项目专用 USD。没有权限时 |
robot_usds README:若在 FaSim 之外用 robot_usds,把 environment/fiveages_env 放在 robots/ 旁边,场景 USD 才能引用。
不要把私有项目 USD 当成公开机器人模型,也不要写本章所依据的公开 robot_usds gallery 文本里没有的产品代号。
流水线下一步
Isaac 在跑且 ROS 2 话题/服务已通时,运动与录制经 ros2_robot_interface 与机器人通信,由 robot_action_composer 编排。继续看 接口与编排。