{
  "robots": {
    "crazyflie": {
      "description": "Bitcraze Crazyflie 2 Nano-Quadcopter",
      "category": "aerial",
      "joints": 1,
      "asset": {
        "dir": "bitcraze_crazyflie_2",
        "model_xml": "cf2.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "cf2_mj_description"
      },
      "aliases": [
        "cf2",
        "bitcraze_crazyflie"
      ]
    },
    "skydio_x2": {
      "description": "Skydio X2 Autonomous Drone",
      "category": "aerial",
      "joints": 1,
      "asset": {
        "dir": "skydio_x2",
        "model_xml": "x2.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "skydio_x2_mj_description"
      }
    },
    "arx_l5": {
      "description": "ARX L5 (6-DOF lightweight arm)",
      "category": "arm",
      "joints": 11,
      "asset": {
        "dir": "arx_l5",
        "model_xml": "arx_l5.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "arx_l5_mj_description"
      }
    },
    "dynamixel_2r": {
      "description": "Dynamixel 2R Educational Arm (2-DOF)",
      "category": "arm",
      "joints": 2,
      "asset": {
        "dir": "dynamixel_2r",
        "model_xml": "dynamixel_2r.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "dynamixel_2r_mj_description"
      }
    },
    "fr3": {
      "description": "Franka Research 3 (7-DOF + gripper)",
      "category": "arm",
      "joints": 8,
      "asset": {
        "dir": "franka_fr3",
        "model_xml": "fr3.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "fr3_mj_description"
      },
      "aliases": [
        "franka_fr3"
      ]
    },
    "fr3_v2": {
      "description": "Franka Research 3 v2 (7-DOF + gripper, updated)",
      "category": "arm",
      "joints": 7,
      "asset": {
        "dir": "franka_fr3_v2",
        "model_xml": "fr3v2.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "fr3_v2_mj_description"
      },
      "aliases": [
        "franka_fr3_v2"
      ]
    },
    "hope_jr": {
      "description": "HopeJR Arm (high-DOF anthropomorphic arm, Feetech)",
      "category": "arm",
      "hardware": {
        "lerobot_type": "hope_jr_arm"
      }
    },
    "kinova_gen3": {
      "description": "Kinova Gen3 (7-DOF lightweight)",
      "category": "arm",
      "joints": 7,
      "asset": {
        "dir": "kinova_gen3",
        "model_xml": "gen3.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "gen3_mj_description"
      }
    },
    "koch": {
      "description": "Koch v1.1 Low Cost Robot Arm (6-DOF, Dynamixel)",
      "category": "arm",
      "joints": 7,
      "asset": {
        "dir": "low_cost_robot_arm",
        "model_xml": "low_cost_robot_arm.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "low_cost_robot_arm_mj_description"
      },
      "hardware": {
        "lerobot_type": "koch_follower"
      },
      "aliases": [
        "koch_follower",
        "koch_v1.1",
        "low_cost_robot_arm"
      ]
    },
    "kuka_iiwa": {
      "description": "KUKA LBR iiwa 14 (7-DOF collaborative)",
      "category": "arm",
      "joints": 11,
      "asset": {
        "dir": "kuka_iiwa_14",
        "model_xml": "iiwa14.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "iiwa14_mj_description"
      },
      "aliases": [
        "kuka_iiwa_14"
      ]
    },
    "omx": {
      "description": "OMX Robot Arm (ROBOTIS, CAN bus motors)",
      "category": "arm",
      "hardware": {
        "lerobot_type": "omx_follower"
      },
      "aliases": [
        "omx_follower",
        "omx_robot",
        "robotis_omx"
      ]
    },
    "rebot_b601": {
      "description": "Seeed Studio reBot B601-DM (6-DOF + gripper, Damiao CAN motors)",
      "category": "arm",
      "joints": 7,
      "hardware": {
        "lerobot_type": "rebot_b601_follower",
        "requires_lerobot_from_source": true
      },
      "aliases": [
        "rebot_b601_follower",
        "seeed_rebot_b601",
        "b601_dm"
      ]
    },
    "openarm": {
      "description": "Enactic OpenArm (7-DOF, DAMIAO motors, CAN bus)",
      "category": "arm",
      "joints": 9,
      "asset": {
        "dir": "enactic_openarm",
        "model_xml": "openarm.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "openarm_v1_mj_description"
      },
      "aliases": [
        "enactic_openarm",
        "open_arm",
        "openarm_v10"
      ],
      "hardware": {
        "lerobot_type": "openarm_follower"
      }
    },
    "panda": {
      "description": "Franka Emika Panda (7-DOF + gripper)",
      "category": "arm",
      "joints": 7,
      "asset": {
        "dir": "franka_emika_panda",
        "model_xml": "panda.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "panda_mj_description"
      },
      "gripper": {
        "actuators": [
          "actuator8"
        ],
        "closed": "low",
        "open": "high"
      },
      "legacy_urdf": "panda/panda.urdf",
      "aliases": [
        "bimanual_panda_gripper",
        "bimanual_panda_hand",
        "franka",
        "franka_emika_panda",
        "franka_panda",
        "libero_panda",
        "oxe_droid",
        "single_panda_gripper"
      ]
    },
    "piper": {
      "description": "AgileX Piper (6-DOF + gripper)",
      "category": "arm",
      "joints": 11,
      "asset": {
        "dir": "agilex_piper",
        "model_xml": "piper.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "piper_mj_description"
      },
      "aliases": [
        "agilex_piper"
      ]
    },
    "sawyer": {
      "description": "Rethink Robotics Sawyer (7-DOF)",
      "category": "arm",
      "joints": 7,
      "asset": {
        "dir": "rethink_robotics_sawyer",
        "model_xml": "sawyer.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "sawyer_mj_description"
      },
      "aliases": [
        "rethink_sawyer"
      ]
    },
    "so100": {
      "description": "TrossenRobotics SO-ARM100 (6-DOF, Feetech servos)",
      "category": "arm",
      "joints": 6,
      "asset": {
        "dir": "trs_so_arm100",
        "model_xml": "so_arm100.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "so_arm100_mj_description"
      },
      "hardware": {
        "lerobot_type": "so100_follower"
      },
      "gripper": {
        "actuators": [
          "Jaw"
        ],
        "closed": "low",
        "open": "high"
      },
      "legacy_urdf": "so100/so100.urdf",
      "aliases": [
        "so100_4cam",
        "so100_dualcam",
        "so100_follower",
        "so_arm100",
        "trs_so_arm100"
      ]
    },
    "so101": {
      "description": "RobotStudio SO-101 (6-DOF, upgraded SO-100)",
      "category": "arm",
      "joints": 6,
      "asset": {
        "dir": "robotstudio_so101",
        "model_xml": "so101_new_calib.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "so_arm101_mj_description"
      },
      "hardware": {
        "lerobot_type": "so101_follower"
      },
      "gripper": {
        "actuators": [
          "6"
        ],
        "closed": "low",
        "open": "high"
      },
      "aliases": [
        "robotstudio_so101",
        "so101_dualcam",
        "so101_follower",
        "so101_tricam"
      ]
    },
    "ur10e": {
      "description": "Universal Robots UR10e (6-DOF industrial)",
      "category": "arm",
      "joints": 6,
      "asset": {
        "dir": "universal_robots_ur10e",
        "model_xml": "ur10e.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "ur10e_mj_description"
      }
    },
    "ur5e": {
      "description": "Universal Robots UR5e (6-DOF industrial)",
      "category": "arm",
      "joints": 8,
      "asset": {
        "dir": "universal_robots_ur5e",
        "model_xml": "ur5e.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "ur5e_mj_description"
      }
    },
    "vx300s": {
      "description": "Trossen ViperX 300s (6-DOF + gripper)",
      "category": "arm",
      "joints": 19,
      "asset": {
        "dir": "trossen_vx300s",
        "model_xml": "vx300s.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "viper_mj_description"
      },
      "aliases": [
        "oxe_widowx",
        "trossen_vx300s",
        "viper_x300s"
      ]
    },
    "wx250s": {
      "description": "Trossen WidowX 250s (6-DOF + gripper)",
      "category": "arm",
      "joints": 16,
      "asset": {
        "dir": "trossen_wx250s",
        "model_xml": "wx250s.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "widow_mj_description"
      },
      "aliases": [
        "widowx_250s",
        "trossen_wx250s"
      ]
    },
    "xarm7": {
      "description": "UFactory xArm 7 (7-DOF + gripper)",
      "category": "arm",
      "joints": 13,
      "asset": {
        "dir": "ufactory_xarm7",
        "model_xml": "xarm7.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "xarm7_mj_description"
      },
      "aliases": [
        "ufactory_xarm7"
      ]
    },
    "yam": {
      "description": "i2rt YAM Arm (8-DOF)",
      "category": "arm",
      "joints": 8,
      "asset": {
        "dir": "i2rt_yam",
        "model_xml": "yam.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "yam_mj_description"
      },
      "aliases": [
        "i2rt_yam"
      ]
    },
    "z1": {
      "description": "Unitree Z1 (6-DOF + gripper)",
      "category": "arm",
      "joints": 8,
      "asset": {
        "dir": "unitree_z1",
        "model_xml": "z1_gripper.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "z1_mj_description"
      },
      "aliases": [
        "unitree_z1"
      ]
    },
    "aloha": {
      "description": "ALOHA Bimanual (2x ViperX 300s, 14-DOF + 2 grippers)",
      "category": "bimanual",
      "joints": 28,
      "asset": {
        "dir": "aloha",
        "model_xml": "aloha.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "aloha_mj_description"
      },
      "hardware": {
        "lerobot_type": "bi_so_follower"
      },
      "aliases": [
        "agibot_dual_arm",
        "agibot_dual_arm_dexhand",
        "agibot_dual_arm_full",
        "agibot_dual_arm_gripper",
        "agibot_genie1",
        "bi_so_follower",
        "galaxea_r1_pro"
      ]
    },
    "bi_openarm": {
      "description": "Bi-manual OpenArm (dual-arm coordination)",
      "category": "bimanual",
      "hardware": {
        "lerobot_type": "bi_openarm_follower"
      },
      "aliases": [
        "bi_openarm_follower",
        "dual_openarm",
        "openarm_bimanual"
      ]
    },
    "bi_rebot_b601": {
      "description": "Bi-manual reBot B601-DM (dual 6-DOF + gripper, Damiao CAN motors)",
      "category": "bimanual",
      "hardware": {
        "lerobot_type": "bi_rebot_b601_follower",
        "requires_lerobot_from_source": true
      },
      "aliases": [
        "bi_rebot_b601_follower",
        "dual_rebot_b601"
      ]
    },
    "trossen_wxai": {
      "description": "Trossen WidowX AI Bimanual",
      "category": "bimanual",
      "joints": 17,
      "asset": {
        "dir": "trossen_wxai",
        "model_xml": "trossen_ai_bimanual.xml",
        "scene_xml": "scene.xml",
        "auto_download": false
      },
      "aliases": [
        "trossen_ai_bimanual"
      ]
    },
    "reachy_mini": {
      "description": "Pollen Reachy Mini (6-DOF Stewart head + antennas, 9 actuators)",
      "category": "expressive",
      "joints": 21,
      "asset": {
        "dir": "reachy_mini",
        "model_xml": "mjcf/reachy_mini.xml",
        "scene_xml": "mjcf/scene.xml",
        "source": {
          "type": "github",
          "repo": "pollen-robotics/reachy_mini",
          "subdir": "src/reachy_mini/descriptions/reachy_mini"
        }
      },
      "aliases": [
        "pollen_reachy_mini",
        "reachy",
        "reachy-mini",
        "reachymini"
      ]
    },
    "ability_hand": {
      "description": "PSYONIC Ability Hand (5-finger prosthetic, 11-DOF)",
      "category": "hand",
      "joints": 11,
      "asset": {
        "dir": "mujoco_xml",
        "model_xml": "scene.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "ability_hand_mj_description"
      },
      "aliases": [
        "psyonic_ability_hand"
      ]
    },
    "aero_hand": {
      "description": "Tetheria Aero Hand Open (16-DOF dexterous)",
      "category": "hand",
      "joints": 16,
      "asset": {
        "dir": "tetheria_aero_hand_open",
        "model_xml": "left_hand.xml",
        "scene_xml": "scene_left.xml",
        "robot_descriptions_module": "aero_hand_open_mj_description"
      },
      "aliases": [
        "tetheria_aero_hand",
        "aero_hand_open"
      ]
    },
    "allegro_hand": {
      "description": "Wonik Allegro Hand (16-DOF dexterous)",
      "category": "hand",
      "joints": 16,
      "asset": {
        "dir": "wonik_allegro",
        "model_xml": "left_hand.xml",
        "scene_xml": "scene_left.xml",
        "robot_descriptions_module": "allegro_hand_mj_description"
      },
      "aliases": [
        "wonik_allegro"
      ]
    },
    "leap_hand": {
      "description": "LEAP Hand (16-DOF dexterous)",
      "category": "hand",
      "joints": 41,
      "asset": {
        "dir": "leap_hand",
        "model_xml": "left_hand.xml",
        "scene_xml": "scene_left.xml",
        "robot_descriptions_module": "leap_hand_mj_description"
      }
    },
    "robotiq_2f85": {
      "description": "Robotiq 2F-85 Gripper (2-finger adaptive)",
      "category": "hand",
      "joints": 16,
      "asset": {
        "dir": "robotiq_2f85",
        "model_xml": "2f85.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "robotiq_2f85_mj_description"
      },
      "aliases": [
        "robotiq"
      ]
    },
    "robotiq_2f85_v4": {
      "description": "Robotiq 2F-85 v4 Gripper (updated model)",
      "category": "hand",
      "joints": 6,
      "asset": {
        "dir": "robotiq_2f85_v4",
        "model_xml": "2f85.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "robotiq_2f85_v4_mj_description"
      }
    },
    "shadow_dexee": {
      "description": "Shadow DexEE Dexterous End-Effector (12-DOF)",
      "category": "hand",
      "joints": 12,
      "asset": {
        "dir": "shadow_dexee",
        "model_xml": "shadow_dexee.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "shadow_dexee_mj_description"
      }
    },
    "shadow_hand": {
      "description": "Shadow Dexterous Hand (24-DOF)",
      "category": "hand",
      "joints": 45,
      "asset": {
        "dir": "shadow_hand",
        "model_xml": "left_hand.xml",
        "scene_xml": "scene_left.xml",
        "robot_descriptions_module": "shadow_hand_mj_description"
      }
    },
    "adam_lite": {
      "description": "PNDbotics Adam Lite Humanoid (26-DOF)",
      "category": "humanoid",
      "joints": 26,
      "asset": {
        "dir": "pndbotics_adam_lite",
        "model_xml": "adam_lite.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "adam_lite_mj_description"
      },
      "aliases": [
        "pndbotics_adam_lite"
      ]
    },
    "apollo": {
      "description": "Apptronik Apollo Humanoid (34-DOF)",
      "category": "humanoid",
      "joints": 34,
      "asset": {
        "dir": "apptronik_apollo",
        "model_xml": "apptronik_apollo.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "apollo_mj_description"
      },
      "aliases": [
        "apptronik_apollo"
      ]
    },
    "asimov_v0": {
      "description": "Asimov V0 Bipedal Legs (12-DOF + 2 passive toes)",
      "category": "humanoid",
      "joints": 15,
      "asset": {
        "dir": "asimov_v0",
        "model_xml": "xmls/asimov.xml",
        "scene_xml": "xmls/asimov.xml",
        "source": {
          "type": "github",
          "repo": "asimovinc/asimov-v0",
          "subdir": "sim-model"
        }
      },
      "aliases": [
        "asimov"
      ]
    },
    "booster_t1": {
      "description": "Booster T1 Humanoid (24-DOF)",
      "category": "humanoid",
      "joints": 24,
      "asset": {
        "dir": "booster_t1",
        "model_xml": "t1.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "booster_t1_mj_description"
      }
    },
    "cassie": {
      "description": "Agility Cassie Bipedal Robot",
      "category": "humanoid",
      "joints": 28,
      "asset": {
        "dir": "agility_cassie",
        "model_xml": "cassie.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "cassie_mj_description"
      },
      "aliases": [
        "agility_cassie"
      ]
    },
    "elf2": {
      "description": "BXI Elf2 Humanoid (25-DOF)",
      "category": "humanoid",
      "joints": 26,
      "asset": {
        "dir": "xml",
        "model_xml": "elf2_dof25.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "elf2_mj_description"
      },
      "aliases": [
        "bxi_elf2"
      ]
    },
    "fourier_n1": {
      "description": "Fourier N1 / GR-1 Humanoid (26-DOF)",
      "category": "humanoid",
      "joints": 26,
      "asset": {
        "dir": "fourier_n1",
        "model_xml": "n1.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "n1_mj_description"
      },
      "aliases": [
        "fourier_gr1",
        "fourier_gr1_arms_only",
        "fourier_gr1_arms_waist",
        "fourier_gr1_full_upper_body",
        "gr1"
      ]
    },
    "jvrc": {
      "description": "JVRC-1 Humanoid (HRP-based, 45-DOF)",
      "category": "humanoid",
      "joints": 45,
      "asset": {
        "dir": "jvrc_mj_description",
        "model_xml": "xml/jvrc1.xml",
        "scene_xml": "xml/jvrc1.xml",
        "robot_descriptions_module": "jvrc_mj_description"
      },
      "aliases": [
        "jvrc1"
      ]
    },
    "op3": {
      "description": "ROBOTIS OP3 Humanoid (20-DOF)",
      "category": "humanoid",
      "joints": 21,
      "asset": {
        "dir": "robotis_op3",
        "model_xml": "op3.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "op3_mj_description"
      },
      "aliases": [
        "robotis_op3"
      ]
    },
    "open_duck_mini": {
      "description": "Open Duck Mini V2 (16-DOF expressive biped, Feetech servos)",
      "category": "humanoid",
      "joints": 16,
      "asset": {
        "dir": "open_duck_mini_v2",
        "model_xml": "open_duck_mini_v2.xml",
        "scene_xml": "scene.xml",
        "source": {
          "type": "github",
          "repo": "apirrone/Open_Duck_Mini",
          "subdir": "mini_bdx/robots/open_duck_mini_v2"
        }
      },
      "aliases": [
        "bdx",
        "mini_bdx",
        "open_duck",
        "open_duck_mini_v2",
        "open_duck_v2"
      ]
    },
    "rby1": {
      "description": "Rainbow Robotics RB-Y1A Mobile Manipulator (31-DOF)",
      "category": "humanoid",
      "joints": 31,
      "asset": {
        "dir": "mujoco",
        "model_xml": "model.xml",
        "scene_xml": "model.xml",
        "robot_descriptions_module": "rby1_mj_description"
      },
      "aliases": [
        "rby1a",
        "rainbow_rby1"
      ]
    },
    "reachy2": {
      "description": "Pollen Reachy 2",
      "category": "humanoid",
      "hardware": {
        "lerobot_type": "reachy2"
      }
    },
    "talos": {
      "description": "PAL Robotics TALOS Humanoid (32-DOF)",
      "category": "humanoid",
      "joints": 45,
      "asset": {
        "dir": "pal_talos",
        "model_xml": "talos.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "talos_mj_description"
      },
      "aliases": [
        "pal_talos"
      ]
    },
    "toddlerbot_2xc": {
      "description": "Toddlerbot 2xC Humanoid (45-DOF)",
      "category": "humanoid",
      "joints": 45,
      "asset": {
        "dir": "toddlerbot_2xc",
        "model_xml": "toddlerbot_2xc.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "toddlerbot_2xc_mj_description"
      }
    },
    "toddlerbot_2xm": {
      "description": "Toddlerbot 2xM Humanoid (45-DOF)",
      "category": "humanoid",
      "joints": 45,
      "asset": {
        "dir": "toddlerbot_2xm",
        "model_xml": "toddlerbot_2xm.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "toddlerbot_2xm_mj_description"
      }
    },
    "unitree_g1": {
      "description": "Unitree G1 Humanoid (29-DOF + dexterous hands)",
      "category": "humanoid",
      "joints": 46,
      "asset": {
        "dir": "unitree_g1",
        "model_xml": "g1.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "g1_mj_description"
      },
      "hardware": {
        "lerobot_type": "unitree_g1"
      },
      "legacy_urdf": "unitree_g1/g1.urdf",
      "aliases": [
        "g1",
        "g1_wbc",
        "unitree_g1_full_body",
        "unitree_g1_locomanip",
        "unitree_g1_wbc"
      ]
    },
    "unitree_h1": {
      "description": "Unitree H1 Humanoid (19-DOF)",
      "category": "humanoid",
      "joints": 20,
      "asset": {
        "dir": "unitree_h1",
        "model_xml": "h1.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "h1_mj_description"
      },
      "aliases": [
        "h1"
      ]
    },
    "unitree_h1_2": {
      "description": "Unitree H1-2 Humanoid (52-DOF, with hands)",
      "category": "humanoid",
      "joints": 52,
      "asset": {
        "dir": "h1_2_description",
        "model_xml": "h1_2.xml",
        "scene_xml": "h1_2.xml",
        "robot_descriptions_module": "h1_2_mj_description"
      },
      "aliases": [
        "h1_2"
      ]
    },
    "aliengo": {
      "description": "Unitree Aliengo Quadruped (12-DOF)",
      "category": "mobile",
      "joints": 13,
      "asset": {
        "dir": "aliengo",
        "model_xml": "xml/aliengo.xml",
        "scene_xml": "xml/aliengo.xml",
        "robot_descriptions_module": "aliengo_mj_description"
      },
      "aliases": [
        "unitree_aliengo"
      ]
    },
    "anymal_b": {
      "description": "ANYbotics ANYmal B Quadruped (12-DOF)",
      "category": "mobile",
      "joints": 13,
      "asset": {
        "dir": "anybotics_anymal_b",
        "model_xml": "anymal_b.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "anymal_b_mj_description"
      },
      "aliases": [
        "anybotics_anymal_b"
      ]
    },
    "anymal_c": {
      "description": "ANYbotics ANYmal C Quadruped (12-DOF)",
      "category": "mobile",
      "joints": 13,
      "asset": {
        "dir": "anybotics_anymal_c",
        "model_xml": "anymal_c.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "anymal_c_mj_description"
      },
      "aliases": [
        "anybotics_anymal_c"
      ]
    },
    "earthrover": {
      "description": "EarthRover Mini Plus (mobile outdoor navigation)",
      "category": "mobile",
      "hardware": {
        "lerobot_type": "earthrover_mini_plus"
      },
      "aliases": [
        "earth_rover",
        "earthrover_mini_plus",
        "frodobots"
      ]
    },
    "go1": {
      "description": "Unitree Go1 Quadruped (12-DOF)",
      "category": "mobile",
      "joints": 13,
      "asset": {
        "dir": "unitree_go1",
        "model_xml": "go1.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "go1_mj_description"
      },
      "aliases": [
        "unitree_go1"
      ]
    },
    "lekiwi": {
      "description": "LeKiwi mobile manipulator (6-DOF arm on 3-omniwheel base, 9 actuators)",
      "category": "mobile",
      "joints": 9,
      "asset": {
        "dir": "lekiwi",
        "model_xml": "lekiwi/lekiwi.xml",
        "scene_xml": "scene.xml",
        "source": {
          "type": "github",
          "repo": "Ekumen-OS/lekiwi",
          "subdir": "packages/lekiwi_sim/lekiwi_sim/assets"
        }
      },
      "hardware": {
        "lerobot_type": "lekiwi"
      }
    },
    "robot_soccer_kit": {
      "description": "Robot Soccer Kit (multi-robot soccer, 65-DOF total)",
      "category": "mobile",
      "joints": 65,
      "asset": {
        "dir": "robot_soccer_kit",
        "model_xml": "robot_soccer_kit.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "rsk_mj_description"
      },
      "aliases": [
        "rsk"
      ]
    },
    "spot": {
      "description": "Boston Dynamics Spot (with arm)",
      "category": "mobile",
      "joints": 20,
      "asset": {
        "dir": "boston_dynamics_spot",
        "model_xml": "spot_arm.xml",
        "scene_xml": "scene_arm.xml",
        "robot_descriptions_module": "spot_mj_description"
      },
      "aliases": [
        "boston_dynamics_spot"
      ]
    },
    "stretch": {
      "description": "Hello Robot Stretch (original, mobile manipulator)",
      "category": "mobile_manip",
      "joints": 18,
      "asset": {
        "dir": "hello_robot_stretch",
        "model_xml": "stretch.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "stretch_mj_description"
      },
      "aliases": [
        "hello_robot_stretch_original"
      ]
    },
    "stretch3": {
      "description": "Hello Robot Stretch 3 (mobile manipulator)",
      "category": "mobile_manip",
      "joints": 41,
      "asset": {
        "dir": "hello_robot_stretch_3",
        "model_xml": "stretch.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "stretch_3_mj_description"
      },
      "aliases": [
        "hello_robot_stretch",
        "hello_robot_stretch_3"
      ]
    },
    "tiago_dual": {
      "description": "PAL Robotics TIAGo++ Dual-Arm Mobile (26-DOF)",
      "category": "mobile_manip",
      "joints": 26,
      "asset": {
        "dir": "pal_tiago_dual",
        "model_xml": "tiago_dual.xml",
        "scene_xml": "scene_position.xml",
        "robot_descriptions_module": "tiago++_mj_description"
      },
      "aliases": [
        "tiago++",
        "pal_tiago_dual"
      ]
    },
    "unitree_a1": {
      "description": "Unitree A1 Quadruped",
      "category": "mobile",
      "joints": 16,
      "asset": {
        "dir": "unitree_a1",
        "model_xml": "xml/a1.xml",
        "scene_xml": "xml/a1.xml",
        "robot_descriptions_module": "a1_mj_description"
      },
      "aliases": [
        "a1"
      ]
    },
    "unitree_go2": {
      "description": "Unitree Go2 Quadruped",
      "category": "mobile",
      "joints": 40,
      "asset": {
        "dir": "unitree_go2",
        "model_xml": "go2.xml",
        "scene_xml": "scene.xml",
        "robot_descriptions_module": "go2_mj_description"
      },
      "aliases": [
        "go2"
      ]
    },
    "google_robot": {
      "description": "Google Robot (mobile base + arm, RT-X)",
      "category": "mobile_manip",
      "joints": 10,
      "asset": {
        "dir": "google_robot",
        "model_xml": "robot.xml",
        "scene_xml": "scene.xml",
        "auto_download": false
      },
      "aliases": [
        "oxe_google"
      ]
    },
    "hope_jr_hand": {
      "description": "HopeJR Hand (dexterous anthropomorphic hand, Feetech)",
      "category": "hand",
      "hardware": {
        "lerobot_type": "hope_jr_hand"
      },
      "aliases": [
        "hopejr_hand",
        "hope_junior_hand"
      ]
    },
    "lekiwi_client": {
      "description": "LeKiwi networked client (drives a remote LeKiwi host over ZMQ)",
      "category": "mobile_manip",
      "hardware": {
        "lerobot_type": "lekiwi_client"
      },
      "aliases": [
        "lekiwi_remote",
        "lekiwi_net"
      ]
    }
  }
}
