Choose a robot type
Every simulator shows how the drive works: which motors there are, which PWM and direction the H-bridges get, and how the robot moves as a result. Drive with the buttons or with W/A/S/D. All simulators share the same obstacle course, so you can compare them.
API documentation · every robot and every command, from Python or live from the browser →
Tutorial 1 · reinforcement learning: the fastest lap through the corridor →
Tutorial 2 · learning to drive the ε track from the robot's camera →
Tutorial 3 · YOLO segmentation finds the path, RL keeps the robot in the middle →
Tutorial 4 · a sorting job: the quadruped learns which skill to use when →
Tutorial 5 · the robot arm learns to touch a point: SAC + Hindsight Experience Replay →
Tutorial 6 · the OpenMANIPULATOR-X stands blocks up in a row and learns the right height →
Tutorial 7 · the ROS 2 command line (nodes, topics, services, parameters, actions, launch, bags) on the TurtleBot 4 →
Tutorial 8 · ROS 2 in Python: workspaces, packages, colcon, publishers, services, custom messages, parameters →
Legged robots
Legs instead of wheels (or both): servos, inverse kinematics and balance.
Snake robot
No wheels to drive and no legs: it moves only by changing its shape and letting friction push back.
Robot arms
A robot that stays where it is and works with its hands: joints, inverse kinematics, a gripper and a camera at the wrist.
UFACTORY xArm 5 Lite / 6 / 7 / 850
On a table with coloured blocks: four models from 5 to 7 joints, 70 or 85 cm reach
Real robots, real interfaces
Robots you can buy, with their real dimensions, driven only with the commands the real robot accepts: WebRTC or unitree_sdk2 for the Unitree robots, ROS 2 for the TurtleBot 4, ROSbot XL, Leo Rover, Roboworks, UGV Rover, Panther, SUMMIT-XL and RB-KAIROS, the makers' Python libraries or SDKs for the JetBot, JetRacer, XGO, AgiBot D1 and Booster K1, the WebSocket API of the LimX TRON 1 and the OpenCat serial protocol for the Petoi Bittle X. Every button shows the line (Python or ros2) that does the same on the real robot.
Roboworks Rosbot 2 / Mecabot 2
ROS 2 education kits: car steering or mecanum wheels, LSLiDAR and Astra camera
Waveshare UGV Rover
Six-wheel ROS 2 rover with LiDAR and a pan-tilt camera, also driven by ESP32 JSON
Robotnik RB-KAIROS+ / RB-VOGUI+
Mobile manipulators: an omnidirectional base with a UR5e arm that picks blocks from a table
Who gets over what?
Every simulator has the same obstacle course: pick an obstacle under “Obstacle course” and the robot is put right in front of it. This table is the result of driving each robot straight into each obstacle with its default settings. Click a robot's picture to watch it on the hardest obstacle it gets over, hover over a ✗ to see why it got stuck. Some robots do better after tuning: the humanoid with a higher step height, for example. In the corridor every robot drives by itself (autopilot): robots that can move sideways slide round the corner, robots that turn on the spot turn there, car-like robots steer through the bend.
| Robot | 1. 1 cm cable | 2. 3 cm threshold | 3. 6 cm step | 4. 12 cm curb | 5. Stairs 3 × 7 cm | 6. 15° ramp | 7. 30° ramp | 8. Gaps 5 + 12 cm | 9. Gravel | 10. 60 cm corridor + turn | Score |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ | ✓ | ✓ | 6/10 | |
| ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ | ✓ | ✗ | 5/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✓ | ✓ | 4/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✓ | 3/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✓ | 3/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✓ | ✓ | 4/10 | |
| ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 9/10 | |
| ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | ✓ | ✓ | 6/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✓ | 3/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | ✓ | ✓ | 5/10 | |
| ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 9/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | 2/10 | |
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | 9/10 | |
| ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | ✓ | ✓ | 6/10 | |
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | 9/10 | |
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 10/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ | ✓ | ✓ | 5/10 | |
| ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ | 2/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ | 3/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ | ✓ | ✓ | 5/10 | |
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | 9/10 | |
| ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | 8/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | 2/10 | |
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | 9/10 | |
| ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | 8/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✓ | ✓ | 4/10 | |
| ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 9/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✓ | ✓ | 4/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✓ | ✗ | 3/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✓ | 3/10 | |
| ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✓ | ✓ | 5/10 | |
| ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✓ | 2/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✓ | 3/10 | |
| ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✓ | ✓ | 4/10 | |
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | 9/10 | |
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | 9/10 | |
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 10/10 | |
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | 9/10 | |
| ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ | ✓ | ✓ | 6/10 | |
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 10/10 | |
| ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | 7/10 | |
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | 9/10 | |
| ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | 8/10 | |
| ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | 4/10 | |
| ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ | ✓ | ✗ | 5/10 |







































