Robot Configurations#
UrbanVerse provides a unified interface for working with multiple robot embodiments. Robots differ in mobility type (wheeled, holonomic, quadruped, humanoid), action interface, and physical configuration. The robot is selected via:
cfg = EnvCfg(robot_type="coco_wheeled")
UrbanVerse automatically loads the correct configuration, action space, and environment modifier based on the provided name.
Supported Robots#
Wheeled Robots#
COCO Wheeled Delivery Robot:
Identifier:
coco_wheeledConfig module:
urbanverse.robots.coco.COCOCfgAction space:
COCOVelocityActionCfg(continuous linear & angular velocities)Environment modifier:
COCONavModifyEnvDefault spawn height:
z ≈ 0.40
NVIDIA Carter (Holonomic Omnidirectional):
Identifier:
nvidia_carterConfig module:
urbanverse.robots.carter.CarterCfgAction space:
CarterVelocityActionCfg(vx, vy, yaw-rate)Environment modifier:
CarterNavModifyEnvDefault spawn height:
z ≈ 0.45
TurtleBot3:
Identifier:
turtlebot3Config module:
urbanverse.robots.turtlebot3.TurtlebotCfgAction space:
TurtlebotActionCfgEnvironment modifier:
TurtlebotModifyEnvDefault spawn height:
z ≈ 0.18
Quadruped Robots#
Unitree Go2:
Identifier:
unitree_go2Config module:
urbanverse.robots.unitree_go2.Go2CfgAction space:
Go2NavActionCfg(joint or velocity-based)Environment modifier:
Go2NavModifyEnvDefault spawn height:
z ≈ 0.30
ANYmal (C / D):
Identifier:
anymalConfig module:
urbanverse.robots.anymal.ANYmalCfgAction space:
ANYmalActionCfgEnvironment modifier:
ANYmalNavModifyEnvDefault spawn height:
z ≈ 0.32
Humanoid Robots#
Booster Robotics T1 (Humanoid):
Identifier:
booster_t1Config module:
urbanverse.robots.booster_t1.T1CfgAction space:
T1HumanoidActionCfg(joint-angle or torque-based, depending on mode)Environment modifier:
T1NavModifyEnvDefault spawn height:
z ≈ 1.0
Unitree G1 (Humanoid):
Identifier:
unitree_g1Config module:
urbanverse.robots.unitree_g1.G1CfgAction space:
G1NavActionCfgEnvironment modifier:
G1NavModifyEnvDefault spawn height:
z ≈ 0.74
Dynamic Robot Loading Logic#
UrbanVerse loads robot components automatically:
robot_type = cfg.robot_type.lower()
if robot_type == "coco_wheeled":
from urbanverse.robots.coco import COCOCfg, COCOVelocityActionCfg, COCONavModifyEnv
robot_cfg = COCOCfg
action_cfg = COCOVelocityActionCfg
modify_env_fn = COCONavModifyEnv
elif robot_type == "nvidia_carter":
from urbanverse.robots.carter import CarterCfg, CarterVelocityActionCfg, CarterNavModifyEnv
robot_cfg = CarterCfg
action_cfg = CarterVelocityActionCfg
modify_env_fn = CarterNavModifyEnv
elif robot_type == "turtlebot3":
from urbanverse.robots.turtlebot3 import TurtlebotCfg, TurtlebotActionCfg, TurtlebotModifyEnv
robot_cfg = TurtlebotCfg
action_cfg = TurtlebotActionCfg
modify_env_fn = TurtlebotModifyEnv
elif robot_type == "unitree_go2":
from urbanverse.robots.unitree_go2 import Go2Cfg, Go2NavActionCfg, Go2NavModifyEnv
robot_cfg = Go2Cfg
action_cfg = Go2NavActionCfg
modify_env_fn = Go2NavModifyEnv
elif robot_type == "anymal":
from urbanverse.robots.anymal import ANYmalCfg, ANYmalActionCfg, ANYmalNavModifyEnv
robot_cfg = ANYmalCfg
action_cfg = ANYmalActionCfg
modify_env_fn = ANYmalNavModifyEnv
elif robot_type == "booster_t1":
from urbanverse.robots.booster_t1 import T1Cfg, T1HumanoidActionCfg, T1NavModifyEnv
robot_cfg = T1Cfg
action_cfg = T1HumanoidActionCfg
modify_env_fn = T1NavModifyEnv
elif robot_type == "unitree_g1":
from urbanverse.robots.unitree_g1 import G1Cfg, G1NavActionCfg, G1NavModifyEnv
robot_cfg = G1Cfg
action_cfg = G1NavActionCfg
modify_env_fn = G1NavModifyEnv
Robot Spawn Initialization#
UrbanVerse ensures each robot spawns safely on the navigable ground plane extracted from the scene.
xy, yaw = sample_valid_robot_pose(scene)
robot_cfg.init_state.pos = [xy.x, xy.y, default_height]
robot_cfg.init_state.yaw = yaw
Guarantees:
safe sidewalk/road placement
no collision at spawn
consistent behavior across UrbanVerse-160 / CraftBench / user-generated scenes
Summary#
UrbanVerse now supports wheeled, holonomic, quadruped, humanoid robots.
Robot selection uses a single field:
robot_type="unitree_g1".System automatically loads config, action space, and env modifiers.
Fully compatible with UrbanVerse-160, CraftBench, and UrbanVerse-Gen scenes.