Orbita3d control stack
Overview
This repository contains all libraries required to control an Orbita3d actuator. It allows:
- to fully control the actuator using Python
- access the full API (Rust package or C-API library)
- integrate the actuator in your ROS robot (URDF and ROS2 humble control hardware interface)
Installation
In order to run this project, you need to have two main prerequisites: Rust and EtherCAT master installed on your machine
- The guide to installing Rust can be found on the official Rust website.
- See how to install EtherCAT master IgH in our installation guide.
The orbita3d control stack can then installed in several differenet ways - see installation for more details
Usage
The package can be used in different ways as well
- Rust API: Rust API to control the actuator - see in docs
- Python API: Python bindings for the C-API library - see in docs
- C-API library: plain C-API library to control the actuator - see in docs
- ROS2 integration: The package can be integrated in a ROS2 system using the provided humble integration package - see in docs
Crate structure
This repository contains the following sub-packages:
Rust packages for control
- orbita3d_kinematics: forward/inverse kinematics model (in Rust)
- orbita3d_controller: low-level communication (serial or ethercat) and control (in Rust)
C-API library and Python bindings
- orbita3d c_api: plain C-API library to control the actuator
- orbita3d python bindings: Python bindings for the C-API library
ROS2 humble integration
- orbita3d_description: URDF/ros2_control description of the actuator
- orbita3d_system_hwi: ros2 control hardware system interface for the actuator
Changelog
See changelog.