How magiclabrobotics/magicbot-gen1_sdk works
magicbot-gen1_sdk is a C++20 SDK for controlling and monitoring a MagicLab Gen1 humanoid robot, with a Python SDK documented as providing the same functionality. The user workflow is to initialize and connect through MagicRobot, obtain a subsystem controller, then issue commands or subscribe to robot data. Its documented capabilities include high-, low- and upper-body motion, audio, sensors, SLAM, navigation and state monitoring. The headers define the public interfaces and shared data types; the implementation behind them is not shown, so subsystem-to-robot communication links are omitted.
Main entry points: magic_robot.h Robot Facade · magic_type.h Robot Data Types · magic_motion.h High-Level Motion · magic_audio.h Audio
Components 13
SDK Entry
- Robot Facade
include/magic_robot.h
Robot Control
- High-Level Motion
include/magic_motion.h - Low-Level Motion
include/magic_motion.h - Upper-Body Motion
include/magic_motion.h - Audio
include/magic_audio.h
Sensing And Mapping
- Sensors
include/magic_sensor.h - SLAM And Mapping
include/magic_slam_navigation.h - Navigation
include/magic_slam_navigation.h - State Monitor
include/magic_state_monitor.h
Shared Interfaces
- Robot Data Types
include/magic_type.h - Error Codes
include/magic_err.h
Other components
- SDK User
- Robot Service
Connections 18
- SDK User → Robot Facade: initializes and connects
include/magic_robot.h - Robot Facade → Robot Service: connects via gRPC
include/magic_robot.h - Robot Facade → High-Level Motion: provides controller
include/magic_robot.h - Robot Facade → Low-Level Motion: provides controller
include/magic_robot.h - Robot Facade → Upper-Body Motion: provides controller
include/magic_robot.h - Robot Facade → Audio: provides controller
include/magic_robot.h - Robot Facade → Sensors: provides controller
include/magic_robot.h - Robot Facade → SLAM And Mapping: provides controller
include/magic_robot.h - Robot Facade → Navigation: provides controller
include/magic_robot.h - Robot Facade → State Monitor: provides monitor
include/magic_robot.h - High-Level Motion → Robot Data Types: uses command types
include/magic_motion.h - Low-Level Motion → Robot Data Types: uses joint types
include/magic_motion.h - Upper-Body Motion → Robot Data Types: uses joint types
include/magic_motion.h - Audio → Robot Data Types: uses audio types
include/magic_audio.h - Sensors → Robot Data Types: uses sensor types
include/magic_sensor.h - SLAM And Mapping → Robot Data Types: uses mapping types
include/magic_slam_navigation.h - Navigation → Robot Data Types: uses navigation types
include/magic_slam_navigation.h - State Monitor → Robot Data Types: uses state types
include/magic_state_monitor.h