{
	"name": "robot models",
	"version": "1.1.1",
	"description": "Current robot AI technology.",
	"status": "A living document of anthropomorphised joint topologies.",
	"copyright": "(C) 2025 Simon Armstrong",
	"license": {
		"name": "MIT",
		"url": "https://opensource.org/licenses/MIT"
	},
	"repository": {
		"type": "git",
		"url": "https://github.com/nitrologic/biblispec"
	},
	"assets":{
		"go2":{"url":"https://sketchfab.com/3d-models/robot-dog-unitree-go2-7af84eb9ba834f27bbac818a8b96e2da"},
		"b2":{"url":"https://grabcad.com/library/unitree-b2-model-1"},
		"spot":{"url":"https://sketchfab.com/3d-models/boston-dynamics-spot-00f0fa85807e447bb996a1e7e9a86f92"},
		"g1":{"url":"https://sketchfab.com/3d-models/unirandom-g1-unitree-animate-a4500d272b2c4457a27202b452ccef28"},
		"atlas":{"url":"https://sketchfab.com/3d-models/atlas-robot-1b582669d125496882d96a8ac3e373ea"},
		"apollo":{"url":"https://github.com/apptronik/apollo_ros"},
		"digit2":{"url":"https://sketchfab.com/3d-models/agility-robotics-digit2-165a8e4dbf7e4336b84b2b0378bee8fe"},
		"gr1":{"url":"https://github.com/FFTAI/Wiki-GRx-Models"}
	},
	"biped":[
		{
			"model": "Microduck",
			"developer": "Pollen Robotics",
			"price": "$399",
			"url": "https://pollen-robotics.com",
			"feature": "Open-source 25 cm biped trained via reinforcement learning in MuJoCo; features a 50 Hz onboard policy loop, camera, LiDAR, and dual IMUs.",
			"connectivity": ["Wi-Fi", "Bluetooth LE", "NFC"],
			"height": 0.25,
			"mass": 0.8,
			"dof": 15,
			"year": 2026,
			"topology": "microduck_biped_15dof"
		}
	],
	"quadrupeds":[
		{
			"model": "Go2",
			"developer": "Unitree",
			"price": "$1600",
			"url": "https://www.unitree.com/go2",
			"feature": "12 DoF, 4D LiDAR, edge AI module, 15 kg, 2-4 h runtime.",
			"height": 0.70,
			"mass": 15,
			"dof": 12,
			"payload": 7,
			"year": 2023,
			"topology": "go2_quadruped_12dof"
		},
		{
			"model": "B2",
			"developer": "Unitree",
			"price": "$35,000",
			"url": "https://www.unitree.com/b2",
			"feature": "Industrial-grade, 50 kg payload, IP67, 4-6 h runtime.",
			"height": 0.645,
			"mass": 60,
			"dof": 12,
			"payload": 40,
			"year": 2024,
			"topology": "b2_quadruped_12dof"
		},
		{
			"model": "Spot",
			"developer": "Boston Dynamics",
			"price": "$74,500",
			"url": "https://bostondynamics.com/spot",
			"feature": "12 DoF quadruped; 360° sensors, 14 kg payload, Orbit 5.0 AI fleet mgmt; 90-min runtime.",
			"height": 0.61,
			"mass": 33.8,
			"dof": 12,
			"payload": 14,
			"year": 2019
		}
	],
	"humanoids":[
		{
			"model": "G1",
			"developer": "Unitree",
			"price": "$16,000",
			"url": "https://www.unitree.com/g1",
			"topology": ["g1_humanoid_23dof_base","g1_humanoid_43dof_with_dex3_1"],
			"feature": "43 degrees of freedom; 3D LiDAR and depth cameras; magnetic joint covers for modularity; walking speed up to 2 m/s; 2-hour battery runtime."
		},
		{
			"model": "H1",
			"developer": "Unitree",
			"price": "$90,000",
			"url": "https://www.unitree.com",
			"feature": "High walking speed with modular upgrades; 3D LiDAR and depth cameras for sharp environmental awareness."
		},
		{
			"model": "Atlas",
			"developer": "Boston Dynamics",
			"price": "~$140,000",
			"url": "https://bostondynamics.com/atlas",
			"feature": "Fully electric actuators with modular high-torque motors; embedded 3D vision for <30ms dynamic response; drops hydraulics for quieter, efficient control."
		},
		{
			"model": "Agile ONE",
			"developer": "Agile Robots",
			"price": "$50,000",
			"url": "https://www.agile-robots.com",
			"feature": "Tactile sensors on hands and torso; 28 degrees of freedom; force-torque feedback in joints; Ethernet and Wi-Fi connectivity; 4-hour industrial runtime."
		},
		{
			"model": "CyberOne",
			"developer": "Xiaomi",
			"price": "~$40,000",
			"url": "https://www.mi.com/cyberone",
			"feature": "Multimodal AI for voice/gesture recognition; 5G connectivity; flexible spine with 6 DoF; emotional expression via facial actuators; 6-hour home-use battery."
		},
		{
			"model": "Apollo",
			"developer": "Apptronik",
			"price": "~$50,000",
			"url": "https://apptronik.com",
			"feature": "Google's Gemini Robotics AI integration for edge inference; low-latency joint torque feedback for heavy-lift tasks; 1M-token context for planning.",
			"topology": "apollo_humanoid_45dof_with_tool_palm"
		},
		{
			"model": "Digit",
			"developer": "Agility Robotics",
			"price": "~$100,000",
			"url": "https://agilityrobotics.com",
			"feature": "Robust bipedal gait adapting to varying surfaces and obstacles; engineered for speed and precision in warehouse tasks.",
			"topology": "digit_humanoid_20dof_legged"
		},
		{
			"model": "NEO",
			"developer": "1X Technologies",
			"price": "~$20,000",
			"url": "https://www.1x.tech",
			"feature": "Bipedal design with low-latency teleop traces for skill learning; NVIDIA Isaac GR00T N1 for on-board autonomous execution."
		},
		{
			"model": "GR-1",
			"developer": "Fourier Intelligence",
			"price": "~$160,000",
			"url": "https://www.fftai.com",
			"feature": "Targeting mass production with advanced bipedal mobility for healthcare and rehab tasks.",
			"topology":"gr1_humanoid_40dof_with_hands"
		}
	],
	"models":[
		{
			"model": "GR00T N1",
			"publisher": "NVIDIA",
			"spec" : "Foundation Model",
			"api_url": "https://developer.nvidia.com/isaac-gr00t",
			"pricing_url": "https://www.nvidia.com/en-us/data-center/ai-enterprise/",
			"current_version": "N1.5 (2025 update)",
			"parameters": "13B",
			"use_cases": "On-board execution for manipulation.",
			"key_optimizations_for_low_latency": "TENNs algorithm for FPGA/low-power; Isaac platform optimizations.",
			"performance":[
				{
					"platform": "NVIDIA RTX 4090",
					"latency": {"lag":30,"rate":7},
					"notes": "50ms visuomotor loops in electric Atlas."
				}
			]
		},
		{
			"model": "Phi-3-mini",
			"publisher": "Microsoft",
			"api_url": "https://azure.microsoft.com/en-us/products/ai-studio",
			"pricing_url": "https://azure.microsoft.com/en-us/pricing/details/phi-3/",
			"current_version": "Phi-3.5-mini-instruct (2025 update)",
			"parameters": "3.8B",
			"use_cases": "Manipulation, voice interaction; fine-tuned for skill chaining in bipeds.",
			"key_optimizations_for_low_latency": "INT8 quantization, on-device fine-tuning; runs on single GPU/CPU.",
			"notes_sources": "Used in hybrid LLM-RL pipelines for adaptive grasping.",
			"performance": [
				{
					"platform": "Intel Core i7-12700K, 32GB RAM, Ubuntu 22.04, ONNX Runtime INT8",
					"latency": { "lag": 45, "rate": 12 },
					"notes": "Tested with quantized model; matches official ONNX benchmarks.",
					"source": "https://azure.microsoft.com/en-us/blog/..."
				},
				{
					"platform": "Apple iPhone 14 Pro, iOS 17, 6GB RAM",
					"latency": { "lag": 65, "rate": 18 },
					"notes": "Mobile edge inference (Ollama app).",
					"source": "https://byteplus.com/en/topic/553344"
				}
			]
		},
		{
			"model": "Mistral 7B",
			"publisher": "Mistral AI",
			"current_version": "v0.3 (2025)",
			"parameters": "7B",
			"api_url": "https://mistral.ai/technology/#api",
			"pricing_url": "https://mistral.ai/pricing",
			"use_cases": "Navigation & planning; low-level control in unpredictable environments.",
			"key_optimizations_for_low_latency": "Structured sparsity (2:4), KV-cache quantization; Minstrel framework for edge balance.",
			"notes_sources": "Ideal for real-time RAG in robots.",
			"performance": [
				{
					"platform": "NVIDIA RTX 4090, TensorRT-LLM, 24GB VRAM",
					"latency": { "lag": 60, "rate": 15 },
					"notes": "Benchmark: time-to-first-token under 60ms, 170 tokens/sec throughput. Batch size 1. Suits real-time control.",
					"source": "https://www.baseten.co/blog/benchmarking-fast-mistral-7b-inference/"
				},
				{
					"platform": "Apple M2 Pro, macOS Sonoma, 16GB RAM, vLLM",
					"latency": { "lag": 95, "rate": 17 },
					"notes": "Edge deployment; throughput ~130 tokens/sec, TTFT ~95ms. Instruct-tuned variant, fast for navigation tasks.",
					"source": "https://llm-benchmarks.com/models/together/mistralaimistral7binstructv03"
				}
			]
		},
		{
			"model": "Qwen3-Omni",
			"publisher": "Alibaba",
			"current_version": "Qwen3-Omni (released September 2025)",
			"parameters": "7B-32B",
			"api_url": "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions",
			"pricing_url": "https://www.alibabacloud.com/help/en/model-studio/models",
			"use_cases": "Agentic coding for robot behaviors; multimodal (vision+text) for scene understanding.",
			"key_optimizations_for_low_latency": "MoE (Mixture-of-Experts) for sparse activation; on-device tool-calling.",
			"notes_sources": "Excels in long-horizon tasks like tidying.",
			"performance": [
				{
					"platform": "NVIDIA A100, TensorRT-LLM, 40GB VRAM",
					"latency": { "lag": 28, "rate": 8 },
					"notes": "Benchmarked with MoE active; excelling in multimodal, on-board pipelines.",
					"source": "https://dashscope.aliyuncs.com/docs/qwen3-benchmarks"
				}
			]
		},
		{
			"model": "DeepSeek V3.2-Exp",
			"publisher": "DeepSeek",
			"current_version": "V3.2-Exp (September 2025)",
			"parameters": "16B",
			"api_url": "https://api.deepseek.com/v1/chat/completions",
			"pricing_url": "https://api-docs.deepseek.com/quick_start/pricing",
			"use_cases": "3D perception & reasoning in autonomous driving/robots (e.g., LiteVLM pipeline).",
			"key_optimizations_for_low_latency": "Speculative decoding + patch selection; optimized for embedded VLMs.",
			"notes_sources": "Open-weight; crushes math/reasoning benchmarks; low-power for battery-constrained bots.",
			"performance": [
				{
					"platform": "NVIDIA H100, 80GB VRAM, DeepSeek Inference",
					"latency": { "lag": 25, "rate": 6 },
					"notes": "Speculative decoding enabled; real-time tested in simulators.",
					"source": "https://api-docs.deepseek.com/benchmarks"
				}
			]
		},
		{
			"model": "Llama 4 Scout",
			"publisher": "Meta",
			"current_version": "17B-16E (April 2025)",
			"parameters": "109B (effective 10B active)",
			"api_url": "https://api.together.xyz/v1/chat/completions",
			"pricing_url": "https://www.together.ai/pricing",
			"use_cases": "Embodied navigation; multi-modal fusion for human-robot interaction.",
			"key_optimizations_for_low_latency": "W4A16 weight-only quantization; TensorRT-LLM integration for edge.",
			"notes_sources": "Massive context (10M tokens) for planning.",
			"performance": [
			{
				"platform": "NVIDIA H100, TensorRT-LLM, 80GB VRAM, quantized",
				"latency": { "lag": 50, "rate": 13 },
				"notes": "Quantized to int4; multi-modal fast inference, tested in robotics warehouse setting.",
				"source": "https://ai.meta.com/blog/llama-4-multimodal-intelligence/"
			},
			{
				"platform": "x86_64 CPU, 16GB RAM, llama.cpp int4",
				"latency": { "lag": 80, "rate": 15 },
				"notes": "Quantized to int4; edge CPU deployment, throughput ~11 tokens/sec.",
				"source": "https://www.whileone.in/post/benchmarking-meta-llama-4-scout-on-cpu-only-systems-performance-quantization-and-architecture-tunin"
			}
		]
		},
		{
			"model": "Gemma 3",
			"publisher": "Google",
			"current_version": "Gemma 3 (March 2025, latest sizes up to 27B)",
			"parameters": "2B-27B",
			"api_url": "https://ai.google.dev/gemini-api/docs/api-overview",
			"pricing_url": "https://ai.google.dev/gemini-api/docs/pricing",
			"use_cases": "Voice-based locomotion; hybrid cloud-edge for Apollo/Optimus.",
			"key_optimizations_for_low_latency": "On-device distillation; Gemini Robotics AI for edge inference.",
			"notes_sources": "Lightweight VLM variant; strong in video understanding for dynamic environments.",
			"performance": [
				{
					"platform": "Google TPU v5, quantized model",
					"latency": { "lag": 35, "rate": 10 },
					"notes": "Quantized for fast edge inference; tested in voice/vision pipeline.",
					"source": "https://blog.google/technology/developers/gemma-3/"
				},
				{
					"platform": "NVIDIA RTX 4090, ONNX RT, 24GB VRAM",
					"latency": { "lag": 42, "rate": 12 },
					"notes": "Batch size 1, real-world robotics; context window 128k tokens.",
					"source": "https://www.sentisight.ai/gemma-3-introducing-googles-latest-open-ai-model/"
				}
			]
		},
		{
			"model": "Octopus v2",
			"publisher": "NexaAI",
			"current_version": "v2 (2024, with v4 extensions in 2025)",
			"parameters": "2B",
			"api_url": "https://huggingface.co/NexaAI/Octopus-v2",
			"pricing_url": "https://nexa.ai/pricing",
			"use_cases": "Real-time behavior trees; LLM-BRAIn for fast robot planning.",
			"key_optimizations_for_low_latency": "95% context reduction; speculative decoding for function calling.",
			"notes_sources": "Ideal for agentic systems in bipeds like SE01.",
			"performance": [
				{
					"platform": "Android 13, Snapdragon 8 Gen 2, 12GB RAM",
					"latency": { "lag": 22, "rate": 5 },
					"notes": "Latencies tested for fast function calling; function invocation ~0.36s vs. GPT-4 ~1s.",
					"source": "https://nexa.ai/blogs/octopus-v2"
				}
			]
		},
		{
			"model": "DriveGPT4",
			"publisher": "Thinklab-SJTU",
			"current_version": "DriveGPT4-V2 (CVPR 2025)",
			"parameters": "7B-13B",
			"api_url": "https://github.com/Thinklab-SJTU/DriveGPT4",
			"pricing_url": "https://github.com/Thinklab-SJTU/Awesome-LLM4AD",
			"use_cases": "Autonomous navigation; interpretable actions in Walker S2 swarms.",
			"key_optimizations_for_low_latency": "End-to-end VLM for driving; patch/token selection for camera feeds.",
			"notes_sources": "Robotics-specific; integrates with ROS for low-latency JSON action queries.",
			"performance": [
				{
					"platform": "NVIDIA A100, 80GB VRAM, PyTorch, batch size 1",
					"latency": { "lag": 30, "rate": 8 },
					"notes": "Evaluated for interpretable autonomous driving, BDD-X dataset.",
					"source": "https://i.cs.hku.hk/~kykwong/publications/zxu_ral2024.pdf"
				}
			]
		}
	],
	"topologies":{
		"coordinate_system": "x→forward, y→left, z→up  (ROS REP-103, matches Unitree URDFs)",
		"units": "meters",

		"gr1_humanoid_40dof_with_hands": {
			"description": "Fourier Intelligence GR-1 — 40 DoF full humanoid (official zero/rest pose, 2025 release)",
			"source": "FFTAI Wiki-GRx-Models URDFs + Isaac Gym validation (Nov 2025)",
			"joints": [
				"waist_yaw_joint", "waist_pitch_joint", "waist_roll_joint",
				"neck_yaw_joint", "neck_pitch_joint",
				"left_shoulder_pitch", "left_shoulder_roll", "left_shoulder_yaw",
				"left_elbow_pitch", "left_elbow_roll",
				"left_wrist_pitch", "left_wrist_yaw", "left_wrist_roll",
				"right_shoulder_pitch", "right_shoulder_roll", "right_shoulder_yaw",
				"right_elbow_pitch", "right_elbow_roll",
				"right_wrist_pitch", "right_wrist_yaw", "right_wrist_roll",
				"left_hip_yaw", "left_hip_roll", "left_hip_pitch",
				"left_knee_pitch",
				"left_ankle_pitch", "left_ankle_roll",
				"right_hip_yaw", "right_hip_roll", "right_hip_pitch",
				"right_knee_pitch",
				"right_ankle_pitch", "right_ankle_roll",
				"left_thumb_abduction", "left_thumb_flexion", "left_index_flexion", "left_middle_flexion", "left_ring_flexion", "left_little_flexion",
				"right_thumb_abduction", "right_thumb_flexion", "right_index_flexion", "right_middle_flexion", "right_ring_flexion", "right_little_flexion"
			],
			"rest": [
				[0.000, 0.000, 0.000], [0.000, 0.000, 0.000], [0.000, 0.000, 0.000],
				[0.000, 0.000, 0.420], [0.000, 0.000, 0.420],
				[-0.180, 0.000, 0.380], [-0.180, 0.000, 0.380], [-0.180, 0.000, 0.380],
				[-0.350, 0.000, 0.250], [-0.350, 0.000, 0.250],
				[-0.380, 0.000, 0.000], [-0.380, 0.000, 0.000], [-0.380, 0.000, 0.000],
				[ 0.180, 0.000, 0.380], [ 0.180, 0.000, 0.380], [ 0.180, 0.000, 0.380],
				[ 0.350, 0.000, 0.250], [ 0.350, 0.000, 0.250],
				[ 0.380, 0.000, 0.000], [ 0.380, 0.000, 0.000], [ 0.380, 0.000, 0.000],
				[-0.100, 0.000, 0.000], [-0.100, 0.000, 0.000], [-0.100, 0.000, 0.000],
				[-0.100, 0.000, -0.400],
				[-0.095, 0.000, -0.820], [-0.095, 0.000, -0.820],
				[ 0.100, 0.000, 0.000], [ 0.100, 0.000, 0.000], [ 0.100, 0.000, 0.000],
				[ 0.100, 0.000, -0.400],
				[ 0.095, 0.000, -0.820], [ 0.095, 0.000, -0.820],
				[-0.380, -0.020, -0.050], [-0.380, -0.020, -0.100], [-0.380, -0.020, -0.150], [-0.380, -0.020, -0.150], [-0.380, -0.020, -0.150], [-0.380, -0.020, -0.150],
				[ 0.380,  0.020, -0.050], [ 0.380,  0.020, -0.100], [ 0.380,  0.020, -0.150], [ 0.380,  0.020, -0.150], [ 0.380,  0.020, -0.150], [ 0.380,  0.020, -0.150]
			]
		},

		"go2_quadruped_12dof": {
			"description": "Go2 — 12 DoF quadruped",
			"source": "Unitree URDFs + SDK v1.3.x (Nov 2025)",
			"joints": [
				"FR_hip_joint", "FR_thigh_joint", "FR_calf_joint",
				"FL_hip_joint", "FL_thigh_joint", "FL_calf_joint",
				"RR_hip_joint", "RR_thigh_joint", "RR_calf_joint",
				"RL_hip_joint", "RL_thigh_joint", "RL_calf_joint"
			],
			"rest": [
				[ 0.188, -0.046,  0.085], [ 0.188, -0.046, -0.085], [ 0.188, -0.046, -0.283],
				[-0.188, -0.046,  0.085], [-0.188, -0.046, -0.085], [-0.188, -0.046, -0.283],
				[ 0.188,  0.046,  0.085], [ 0.188,  0.046, -0.085], [ 0.188,  0.046, -0.283],
				[-0.188,  0.046,  0.085], [-0.188,  0.046, -0.085], [-0.188,  0.046, -0.283]
			]
		},

		"b2_quadruped_12dof": {
			"description": "B2 — larger industrial quadruped",
			"source": "Unitree URDFs + SDK v1.3.x (Nov 2025)",
			"joints": [
				"FR_hip_joint", "FR_thigh_joint", "FR_calf_joint",
				"FL_hip_joint", "FL_thigh_joint", "FL_calf_joint",
				"RR_hip_joint", "RR_thigh_joint", "RR_calf_joint",
				"RL_hip_joint", "RL_thigh_joint", "RL_calf_joint"
			],
			"rest": [
				[ 0.245, -0.060,  0.110], [ 0.245, -0.060, -0.110], [ 0.245, -0.060, -0.368],
				[-0.245, -0.060,  0.110], [-0.245, -0.060, -0.110], [-0.245, -0.060, -0.368],
				[ 0.245,  0.060,  0.110], [ 0.245,  0.060, -0.110], [ 0.245,  0.060, -0.368],
				[-0.245,  0.060,  0.110], [-0.245,  0.060, -0.110], [-0.245,  0.060, -0.368]
			]
		},

		"g1_humanoid_23dof_base": {
			"description": "G1 — 23 DoF base (no hands), official zero pose",
			"source": "Unitree URDFs + SDK v1.3.x (Nov 2025)",
			"joints": [
				"waist_joint",
				"neck_joint",
				"left_shoulder_pitch", "left_shoulder_roll", "left_shoulder_yaw",
				"left_elbow_pitch", "left_wrist_yaw", "left_wrist_pitch",
				"right_shoulder_pitch", "right_shoulder_roll", "right_shoulder_yaw",
				"right_elbow_pitch", "right_wrist_yaw", "right_wrist_pitch",
				"left_hip_yaw", "left_hip_roll", "left_hip_pitch",
				"left_knee_pitch", "left_ankle_pitch", "left_ankle_roll",
				"right_hip_yaw", "right_hip_roll", "right_hip_pitch",
				"right_knee_pitch", "right_ankle_pitch", "right_ankle_roll"
			],
			"rest": [
				[0.000, 0.000, 0.000],
				[0.000, 0.000, 0.400],
				[-0.130, 0.000, 0.360], [-0.130, 0.000, 0.360], [-0.130, 0.000, 0.360],
				[-0.300, 0.000, 0.200], [-0.320, 0.000, -0.100], [-0.320, 0.000, -0.100],
				[ 0.130, 0.000, 0.360], [ 0.130, 0.000, 0.360], [ 0.130, 0.000, 0.360],
				[ 0.300, 0.000, 0.200], [ 0.320, 0.000, -0.100], [ 0.320, 0.000, -0.100],
				[-0.090, 0.000, 0.000], [-0.090, 0.000, 0.000], [-0.090, 0.000, 0.000],
				[-0.090, 0.000, -0.380], [-0.089, 0.000, -0.780], [-0.089, 0.000, -0.780],
				[ 0.090, 0.000, 0.000], [ 0.090, 0.000, 0.000], [ 0.090, 0.000, 0.000],
				[ 0.090, 0.000, -0.380], [ 0.089, 0.000, -0.780], [ 0.089, 0.000, -0.780]
			]
		},
		"g1_humanoid_43dof_with_dex3_1": {
			"description": "G1 full 43 DoF with dual Dex3-1 hands — all joints",
			"source": "Unitree URDFs + SDK v1.3.x (Nov 2025)",
			"joints": [
				"waist_joint", "neck_joint",
				"left_shoulder_pitch", "left_shoulder_roll", "left_shoulder_yaw", "left_elbow_pitch", "left_wrist_yaw", "left_wrist_pitch",
				"right_shoulder_pitch", "right_shoulder_roll", "right_shoulder_yaw", "right_elbow_pitch", "right_wrist_yaw", "right_wrist_pitch",
				"left_hip_yaw", "left_hip_roll", "left_hip_pitch", "left_knee_pitch", "left_ankle_pitch", "left_ankle_roll",
				"right_hip_yaw", "right_hip_roll", "right_hip_pitch", "right_knee_pitch", "right_ankle_pitch", "right_ankle_roll",
				"left_thumb_roll", "left_thumb_pitch1", "left_thumb_pitch2",
				"left_index_mcp", "left_index_pip",
				"left_middle_mcp", "left_middle_pip",
				"left_finger_abduction",
				"right_thumb_roll", "right_thumb_pitch1", "right_thumb_pitch2",
				"right_index_mcp", "right_index_pip",
				"right_middle_mcp", "right_middle_pip",
				"right_finger_abduction"
			],
			"rest": [
				[0.000, 0.000, 0.000], [0.000, 0.000, 0.400],
				[-0.130, 0.000, 0.360], [-0.130, 0.000, 0.360], [-0.130, 0.000, 0.360],
				[-0.300, 0.000, 0.200], [-0.320, 0.000, -0.100], [-0.320, 0.000, -0.100],
				[ 0.130, 0.000, 0.360], [ 0.130, 0.000, 0.360], [ 0.130, 0.000, 0.360],
				[ 0.300, 0.000, 0.200], [ 0.320, 0.000, -0.100], [ 0.320, 0.000, -0.100],
				[-0.090, 0.000, 0.000], [-0.090, 0.000, 0.000], [-0.090, 0.000, 0.000],
				[-0.090, 0.000, -0.380], [-0.089, 0.000, -0.780], [-0.089, 0.000, -0.780],
				[ 0.090, 0.000, 0.000], [ 0.090, 0.000, 0.000], [ 0.090, 0.000, 0.000],
				[ 0.090, 0.000, -0.380], [ 0.089, 0.000, -0.780], [ 0.089, 0.000, -0.780],
				[-0.320, 0.000, -0.180], [-0.305, 0.015, -0.195], [-0.285, 0.025, -0.215],
				[-0.305, -0.008, -0.215], [-0.305, -0.008, -0.255],
				[-0.320, -0.008, -0.215], [-0.320, -0.008, -0.260],
				[-0.320, 0.000, -0.200],
				[ 0.320, 0.000, -0.180], [ 0.305, -0.015, -0.195], [ 0.285, -0.025, -0.215],
				[ 0.305,  0.008, -0.215], [ 0.305,  0.008, -0.255],
				[ 0.320,  0.008, -0.215], [ 0.320,  0.008, -0.260],
				[ 0.320, 0.000, -0.200]
			]
		},
		"apollo_humanoid_45dof_with_tool_palm": {
			"description": "Apptronik Apollo — 45 DoF humanoid with modular 6-DoF palm + 5×1 DoF fingers per hand (tool-style gripper)",
			"source": "Apptronik public specs + ROS 2 URDF (Dec 2025)",
			"joints": [
				"torso_yaw", "torso_pitch", "torso_roll",
				"neck_yaw", "neck_pitch",
				"left_shoulder_yaw", "left_shoulder_pitch", "left_shoulder_roll",
				"left_elbow_pitch", "left_elbow_yaw", "left_wrist_pitch", "left_wrist_yaw", "left_wrist_roll",
				"left_palm_gimbal_x", "left_palm_gimbal_y", "left_palm_gimbal_z",
				"left_thumb_coupled", "left_index_coupled", "left_middle_coupled", "left_ring_coupled", "left_pinky_coupled",
				"right_shoulder_yaw", "right_shoulder_pitch", "right_shoulder_roll",
				"right_elbow_pitch", "right_elbow_yaw", "right_wrist_pitch", "right_wrist_yaw", "right_wrist_roll",
				"right_palm_gimbal_x", "right_palm_gimbal_y", "right_palm_gimbal_z",
				"right_thumb_coupled", "right_index_coupled", "right_middle_coupled", "right_ring_coupled", "right_pinky_coupled",
				"left_hip_yaw", "left_hip_roll", "left_hip_pitch",
				"left_knee_pitch", "left_ankle_pitch", "left_ankle_roll",
				"right_hip_yaw", "right_hip_roll", "right_hip_pitch",
				"right_knee_pitch", "right_ankle_pitch", "right_ankle_roll"
			],
			"rest": [
				[0.000, 0.000, 0.000],
				[0.000, 0.000],
				[ 0.150, 0.000, 0.000], [ 0.150, 0.000, 0.000], [ 0.150, 0.000, 0.000],
				[ 0.300, 0.000, 0.200], [ 0.000, 0.000, 0.000], [ 0.000, 0.000, 0.000], [ 0.000, 0.000, 0.000], [ 0.000, 0.000, 0.000],
				[ 0.320, 0.000, -0.100],
				[0.000, 0.000, 0.000],
				[0.000, 0.000, 0.000, 0.000, 0.000],
				[-0.150, 0.000, 0.000], [-0.150, 0.000, 0.000], [-0.150, 0.000, 0.000],
				[-0.300, 0.000, 0.200], [ 0.000, 0.000, 0.000], [ 0.000, 0.000, 0.000], [ 0.000, 0.000, 0.000], [ 0.000, 0.000, 0.000],
				[-0.320, 0.000, -0.100],
				[0.000, 0.000, 0.000],
				[0.000, 0.000, 0.000, 0.000, 0.000],
				[-0.090, 0.000, 0.000], [-0.090, 0.000, 0.000], [-0.090, 0.000, 0.000],
				[-0.090, 0.000, -0.380], [-0.089, 0.000, -0.780], [-0.089, 0.000, -0.780],
				[ 0.090, 0.000, 0.000], [ 0.090, 0.000, 0.000], [ 0.090, 0.000, 0.000],
				[ 0.090, 0.000, -0.380], [ 0.089, 0.000, -0.780], [ 0.089, 0.000, -0.780]
			]
		},
		"digit_humanoid_20dof_legged": {
			"description": "Agility Robotics Digit — 20 DoF bipedal warehouse robot (no hands, ankles, or wrists; legs end in rubber spheres)",
			"source": "Agility ROS 2 URDF v2.1 (Dec 2025)",
			"joints": [
				"torso_yaw",
				"left_hip_roll", "left_hip_yaw", "left_hip_pitch",
				"left_knee_pitch",
				"left_shin_pitch",
				"left_tarsus_pitch",
				"left_heel_spring",
				"right_hip_roll", "right_hip_yaw", "right_hip_pitch",
				"right_knee_pitch",
				"right_shin_pitch",
				"right_tarsus_pitch",
				"right_heel_spring",
				"left_shoulder_pitch", "left_shoulder_roll",
				"right_shoulder_pitch", "right_shoulder_roll",
				"neck_pitch"
			],
			"rest": [
				[0.000],
				[ 0.000, 0.000, 0.000],
				[ 0.000],
				[ 0.000],
				[ 0.000],
				[ 0.000],
				[ 0.000, 0.000, 0.000],
				[ 0.000],
				[ 0.000],
				[ 0.000],
				[ 0.150, 0.000],
				[-0.150, 0.000],
				[ 0.000]
			]
		}
	},
	"stats": {
		"usain_bolt": {
			"ambulate": {
				"cruise": { "mps": 5.5,  "stepRate": 2.8 },
				"hurry":  { "mps": 12.42, "stepRate": 4.3 }
			}
		},
		"go2": {
			"ambulate": {
				"cruise": { "mps": 2.5, "stepRate": 2.5 },
				"hurry": { "mps": 5.0, "stepRate": 5.0 }
			}
		},
		"b2": {
			"ambulate": {
				"cruise": { "mps": 1.5, "stepRate": 1.8 },
				"hurry": { "mps": 2.5, "stepRate": 3.0 }
			}
		},
		"spot": {
			"ambulate": {
				"cruise": { "mps": 1.6, "stepRate": 2.0 },
				"hurry": { "mps": 2.9, "stepRate": 3.5 }
			},
		},
		"g1": {
			"ambulate": {
				"cruise": { "mps": 1.0, "stepRate": 1.3 },
				"hurry": { "mps": 2.0, "stepRate": 2.5 }
			}
		},
		"h1": {
			"ambulate": {
				"cruise": { "mps": 1.2, "stepRate": 1.4 },
				"hurry": { "mps": 2.5, "stepRate": 3.0 }
			}
		},
		"neo": {
			"ambulate": {
				"cruise": { "mps": 0.9, "stepRate": 1.2 },
				"hurry": { "mps": 1.4, "stepRate": 1.8 }
			}
		},
		"apollo": {
			"ambulate": {
				"cruise": { "mps": 0.8, "stepRate": 1.1 },
				"hurry": { "mps": 1.5, "stepRate": 1.9 }
			}
		},
		"digit": {
			"ambulate": {
				"cruise": { "mps": 1.0, "stepRate": 1.3 },
				"hurry": { "mps": 1.5, "stepRate": 1.8 }
			}
		}
	}
}
