Robot USD model files for ROS2 Control simulation.
Note: Some robot assets are distributed as Git submodules. You must run the submodule init/update below so that each repository is checked out at the path expected by this project (see §2.1). Otherwise those assets are missing or empty, and dependent scenes or USD references will not load correctly.
# Clone the repository
git clone git@github.com:fiveages-sim/robot_usds.git
cd robot_usds
# Initialize and update submodules
git submodule update --init --recursiveThe following models are Git submodules (vendored repositories, checked in as gitlinks at fixed paths in this superproject). Paths are relative to the robot_usds repository root; init/update must populate these exact locations (not arbitrary folders) so that relative paths between USDs resolve. After a plain git clone, the submodule directories are empty or absent until you run the commands in §2.
| Path | Upstream repository | branch in .gitmodules* |
|---|---|---|
humanoid/FiveAges_W1 |
fiveages-sim/fa-w1-usds | main |
humanoid/FiveAges_W2 |
fiveages-sim/fa-w2-usds | main |
humanoid/Agibot_G2 |
fiveages-sim/agibot-g2-usds | — |
manipulators/Marvin |
fiveages-sim/marvin-usds | main |
humanoid/Ubtech |
fiveages-sim/ubtech-usds | main |
humanoid/Galbot |
fiveages-sim/galbot-usds | main |
*A branch value is the remote branch recorded for that submodule. If empty, the superproject still pins a specific commit; use git submodule update to check out the recorded revision.
- Gripper
- ChangingTek AG2F120S
- ChangingTek AG2F90
- Galaxea G1
- Inspire EG2 4C2
- Jodell RG75
- OmniPicker
- Robotiq 85
- Dexterous Hand
- BrainCo Revo1
- BrainCo Revo2
- LinkerHand o6
- LinkerHand o7
- Manipulator
- ARX (
manipulators/ARX/)- ARX R5 (
ARX_R5) - ARX X5 (
ARX_X5) - ARX5 Agilex (
ARX5_Agilex) - ARX5 Gripper 2023 (
ARX5_Gripper_2023) - ARX5 Gripper 2025 (
ARX5_Gripper_2025)
- ARX R5 (
- DobotCR5
- Dobot CR5 Dual Arm
- Elite EC66
- Galaxea
- A1
- A1X
- A1Y
- Agilex
- Piper
- Marvin (Tianji AI series)
- Realman RM75
- ARX (
- Humanoid
- Agibot G1
- Agibot G2
- Ai2 Bot2
- ARX Lift (
humanoid/ARX_Lift) - ARX X7S (
humanoid/ARX_X7S) - Astribot S1
- Dobot Atom
- FiveAges W1
- FiveAges W2
- Galbot (
humanoid/Galbotsubmodule)- Galbot One (
Galbot_One) - Galbot Zero (
Galbot_Zero) - Galbot S1 (
Galbot_S1) - Galbot G1 (
Galbot_G1)
- Galbot One (
- Galaxea R1
- Galaxea R1 Pro
- Realman Aidal
- Ubtech
- Mobile Base
- Agilex Ranger Mini
- Agilex Tracer
- Agilex Tracer V2
- Mobile Manipulator
- Agilex Aloha Spilt
- Agilex Aloha V1
- Agilex Aloha V2
- ARX Lift2S (
mobile_manipulator/ARX_Lift2S) - Galaxea R1 Lite
- Sensors
- d405
- d415
- d435
- dabai
- mid360
- oradar ms500
- orbbec 336
- orbbec 336L
- orbbec dabai dw
- usb camera 01
- Stands
- Dual Stand1
- Dual Stand2
The core directory is robots, which contains the following subfolders and resources:
robots/
grippers/ # Gripper models and their configurations
dexhands/ # Dexterous hand models and their configurations
manipulators/ # Manipulator models, environment samples, and configurations
humanoid/ # Humanoid robot models and configurations
mobile_base/ # Mobile base models and configurations
mobile_manipulator/ # Mobile manipulator models and configurations
sensors/ # Sensor models
stands/ # Stand / fixture models
README.md
LICENSESome scenes under manipulators/*/envs/ depend on external environment assets (textures, shared assets, etc.).
To use environment assets, create an environment folder at the same level as robots, then clone fiveages_env inside it:
# Go to the parent directory of robots (adjust the path as needed)
cd /home/fiveages/Documents/usd
mkdir -p environment
cd environment
# Clone the environment assets repository
git clone git@github.com:fiveages-sim/fiveages-env-usds.git fiveages_envAfter cloning, your directory layout should look like:
/home/fiveages/Documents/usd/
robots/
environment/
fiveages_env/With this layout, scenes that depend on environment assets can correctly reference content from environment/fiveages_env.

















