A ROS2-Based EtherCAT communication interface for robotics.
AIM EtherCAT provides a complete, open-source solution for real-time robot control. From high-level ROS 2 integration to low-level firmware and hardware design, our ecosystem is designed to be flexible, configuration-driven, and easy to deploy.
We aim to provide an efficient way to quickly test and verify control algorithms, even if you are not a developer and are totally unfamiliar with coding.
Since this framework provides ROS2 topic interfaces, you can not only use your custom nodes to do the control, but also use MATLAB Simulink ROS2 Toolbox to write all the control algorithms in the Simulink!
Tip
(机械调车再也不是梦,自己画的车就该自己调)
Our project is divided into three core components that work seamlessly together:
- Master: A ROS 2 wrapper for SOEM that provides a communication interface.
- Slave: Custom STM32 firmware/hardware acting as a low-level controller/control command executor.
- Configuration: A web-based tool to generate configuration files, dynamically setting up the task list for slaves.
- ROS 2 Master Node
- Configuration Generator
- Hardware Designs
- Slave Board Firmwares
To build a robot using our communication interface, simply follow this workflow:
- Hardware Setup: Connect your slave boards and peripherals/devices (RCs, Sensors, Actuators).
- Configuration: Use the web configuration generator to define your topology (Slaves, SNs) and assign tasks.
- Run: Launch the ROS 2 Master node. It will automatically configure the slaves based on your YAML definition.
We welcome contributions! Whether it's adding support for new sensors/actuators in the Slave firmware, optimizing the SOEM wrapper, or improving the Web UI.
Contribution guidelines to be updated.
- Hang (scyhx9@nottingham.ac.uk)