How vector-wangel/xlerobot works
XLeRobot is an embodied-AI mobile manipulation robot project, with software for real-robot operation, teleoperation, simulation, and browser-based remote control. The main user journey is to provide commands through a controller or browser, route them through a robot-specific or remote-control interface, and operate the robot or its simulation; VR provides a separate teleoperation path. The graph includes documented capabilities whose implementation was not sampled, but omits speculative connections between them. Some subsystem paths identify exact directories because their individual runtime files were not inspected.
Main entry points: App.tsx Control Dashboard · main.py Web Server · vr_ws_server.py VR WebSocket · vr_monitor.py VR Monitor
Components 28
Real Robot
- XLeRobot
software/src/robots/xlerobot/xlerobot.py - Two-wheel Robot
software/src/robots/xlerobot_2wheels/xlerobot_2wheels.py - Mecanum Robot
software/src/robots/xlerobot_mecanum/xlerobot.py - Robot Client
software/src/robots/xlerobot/xlerobot_client.py - Two-wheel Client
software/src/robots/xlerobot_2wheels/xlerobot_2wheels_client.py - Mecanum Client
software/src/robots/xlerobot_mecanum/xlerobot_client.py
Teleoperation
- VR Teleoperation
software/src/teleporators/xlerobot_vr/xlerobot_vr.py - VR Monitor
software/src/teleporators/xlerobot_vr/vr_monitor.py - VR WebSocket
XLeVR/xlevr/inputs/vr_ws_server.py - VR Configuration
XLeVR/xlevr/config.py - Browser VR UI
XLeVR/web-ui/vr_app.js - Joy-Con Input
software/joyconrobotics/joyconrobotics.py
Simulation
- ManiSkill Simulation
simulation/Maniskill/agents/xlerobot/xlerobot.py - ManiSkill Host
simulation/Maniskill/run_xlerobot_sim_host.py - MuJoCo Simulation
simulation/mujoco/xlerobot_mujoco.py
Remote Control
- Control Dashboard
web_control/client/src/App.tsx - Socket Controls
web_control/client/src/hooks/useSocket.ts - Control Console
web_control/client/src/components/features/BottomControlConsole.tsx - Multi-tab Panel
web_control/client/src/components/features/MultiTabPanel.tsx - Robot Video
web_control/client/src/components/features/RobotVideoCanvas.tsx - Web Server
web_control/server/main.py - Remote Core
web_control/server/core/remote_core.py
Control Internals
- Robot Protocol
web_control/server/core/protocol.py - Video Streaming
web_control/server/api/streaming.py - Data Recording
software/src/record.py - Joy-Con Drivers
software/joyconrobotics/joycon.py
Other components
- Operator
- Remote Operator
Connections 26
- Operator → Browser VR UI: controls via VR
README.md - Browser VR UI → VR WebSocket: sends controller data
- VR WebSocket → VR Monitor: provides goals
XLeVR/xlevr/inputs/vr_ws_server.py - VR Monitor → VR Teleoperation: supports teleoperation
software/src/teleporators/xlerobot_vr/xlerobot_vr.py - VR Configuration → VR WebSocket: configures
XLeVR/xlevr/inputs/vr_ws_server.py - Operator → Joy-Con Input: controls with Joy-Con
README.md - Joy-Con Input → Joy-Con Drivers: uses drivers
software/joyconrobotics/joyconrobotics.py - Operator → XLeRobot: operates
README.md - Operator → Two-wheel Robot: operates
README.md - Operator → Mecanum Robot: operates
README.md - Robot Client → XLeRobot: commands remotely
- Two-wheel Client → Two-wheel Robot: commands remotely
- Mecanum Client → Mecanum Robot: commands remotely
- Operator → ManiSkill Host: runs simulation
README.md - ManiSkill Host → ManiSkill Simulation: loads agent
simulation/Maniskill/run_xlerobot_sim_host.py - Operator → MuJoCo Simulation: runs simulation
README.md - Remote Operator → Control Dashboard: uses dashboard
web_control/client/src/App.tsx - Control Dashboard → Socket Controls: uses socket controls
web_control/client/src/App.tsx - Control Dashboard → Control Console: renders console
web_control/client/src/App.tsx - Control Dashboard → Multi-tab Panel: renders panels
web_control/client/src/App.tsx - Control Dashboard → Robot Video: renders video
web_control/client/src/App.tsx - Socket Controls → Web Server: connects by Socket.IO
- Web Server → Remote Core: dispatches commands
web_control/server/main.py - Web Server → Video Streaming: uses video manager
web_control/server/main.py - Remote Core → Robot Protocol: encodes commands
web_control/server/core/remote_core.py - Remote Operator → Data Recording: records robot data
README.md