FaSim-Isaac¶
FiveAges Sim 的 NVIDIA Isaac Sim 集成。
README: README.md
用途¶
FaSim 是 NVIDIA Isaac Sim 高保真仿真加上与真机同一套 ROS 2 运控:运动能力对齐,并带仿真真值。FaSim-Isaac 是一键资产工作空间:拉取机器人 USD 与场景子模块,可安装 Isaac ROS 2 Jazzy overlay,并启动 Sim。
前提条件¶
NVIDIA Isaac Sim 二进制(GPU 及匹配驱动)
默认路径
ISAACSIM_DIR(~/isaacsim);在config/fa_sim.local.conf或环境变量中覆盖
不要写死某一个 Isaac 次版本号。./init.sh 操作 2 会查询 GitHub 稳定 tag;回退列表见 config/fa_sim.conf,目前是 6.0.1 / 6.0.0 / 5.1.0。
安装¶
git clone git@github.com:fiveages-sim/FaSim-Isaac.git
cd FaSim-Isaac
./init.sh
./run.sh
./init.sh 做什么:
初始化勾选的子模块(
.gitmodules/submodules_visibility.conf;默认 public)可选 Isaac ROS 2 Jazzy 工作空间(
isaac_jazzy_ws/)。用ISAAC_SIM_VERSION=… ./init.sh覆盖版本
./run.sh 做什么:可选 CPU 调频、可选 Zenoh router,然后是菜单 — PhysX / Newton / Headless Streaming。没有 ./run.sh --robot、--headless 或 --env。
本机配置:
cp config/fa_sim.local.template.conf config/fa_sim.local.conf
# edit ISAACSIM_DIR / ISAAC_SIM_DEFAULT_VERSION
ROS 2 连接¶
在另一个终端(机器人名称是 ROS 2 launch 参数,不是 FaSim 标志):
ros2 launch ocs2_arm_controller demo.launch.py hardware:=isaac
结构¶
FaSim-Isaac/
├── init.sh
├── run.sh
├── config/ # fa_sim.conf + optional fa_sim.local.conf
├── robots/ # → robot_usds
├── environment/
│ ├── fiveages_env/ # → fiveages-env-usds
│ └── fa-project-usd/ # → fa-project-usd (private)
└── isaac_jazzy_ws/ # created by init.sh operation 2
子模块¶
路径 |
仓库 |
可见性 |
|---|---|---|
|
robot_usds |
公开 |
|
fiveages-env-usds |
公开 |
|
fa-project-usd |
私有 |
话题桥接¶
FaSim-Isaac 将 Isaac Sim 桥接到 ROS 2:
Isaac 话题 |
ROS 2 话题 |
方向 |
|---|---|---|
关节位置 |
|
Isaac → ROS |
关节指令 |
|
ROS → Isaac |
在 Isaac 中从 robots/ 打开机器人 USD、从 environment/ 打开场景 USD。选择不是 run.sh 的 CLI 参数。
故障排除¶
Isaac Sim 无法启动¶
确认
ISAACSIM_DIR包含isaac-sim.sh(以及fa_sim.conf中的 Newton / streaming 启动脚本)在
config/fa_sim.local.conf中覆盖路径检查 GPU 驱动:
nvidia-smi检查日志:
~/.nvidia-omniverse/logs/
无法连接 ROS 2¶
检查 Domain ID 是否一致
确认已启用 ROS 2 桥接扩展
重启
./run.sh和 ROS 2 节点