HiROBO is a high-performance, hybrid robotics SDK that combines a C++ core for heavy computations with a Python asyncio-based framework for flexible control and logic.
- Hybrid Architecture: C++ core for PID loops and motor simulation, exposed to Python via
pybind11. - Async Framework: Built on Python's
asynciofor non-blocking command scheduling. - Command-Based: Structured
Command,Subsystem, andSchedulerarchitecture inspired by WPILib. - Web Dashboard: Integrated web-based simulator for visualizing robot state and telemetry.
- CMake 3.15+
- C++17 compliant compiler (MSVC, GCC, Clang)
- Python 3.8+
-
Create a build directory:
mkdir build cd build -
Configure with CMake:
cmake ..
Note: This will automatically fetch dependencies like
pybind11. -
Build the native modules:
cmake --build .This will compile the C++ extensions (e.g.,
_hirobo_native.pydor.so) and place them in thehirobo/package directory.
To run the robot simulation:
python sim_robot.pyThis will start the robot loop, which includes:
- Physics Simulation: Simulates motor physics and PID control.
- Dashboard Server: Starts a web server for telemetry.
- Robot Logic: Runs user commands and subsystems.
hirobo/: Python package source._hirobo_native: Compiled C++ extension (after build).commands/: Command-based framework classes.hardware/: Hardware abstraction layer.
src/: C++ source files for native extensions.sim_robot.py: Main entry point for the simulation robot.