Skip to content

HiRobo-Tech/sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HiROBO Robotics SDK

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.

Features

  • Hybrid Architecture: C++ core for PID loops and motor simulation, exposed to Python via pybind11.
  • Async Framework: Built on Python's asyncio for non-blocking command scheduling.
  • Command-Based: Structured Command, Subsystem, and Scheduler architecture inspired by WPILib.
  • Web Dashboard: Integrated web-based simulator for visualizing robot state and telemetry.

Prerequisites

  • CMake 3.15+
  • C++17 compliant compiler (MSVC, GCC, Clang)
  • Python 3.8+

Building the project

  1. Create a build directory:

    mkdir build
    cd build
  2. Configure with CMake:

    cmake ..

    Note: This will automatically fetch dependencies like pybind11.

  3. Build the native modules:

    cmake --build .

    This will compile the C++ extensions (e.g., _hirobo_native.pyd or .so) and place them in the hirobo/ package directory.

Usage

To run the robot simulation:

python sim_robot.py

This 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.

Project Structure

  • 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.

About

SDK of HiRobo. Made using C++ and Python.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •