This is a C++ library providing a high-level interface for controlling Elmo motor controllers of the Gold line over EtherCAT (using the CANopen over EtherCAT CoE protocol).
The lower level EtherCAT communication is handled by the soem_interface library.
The elmo_ethercat_sdk is developed on Ubuntu 18.04 LTS with ROS Melodic.
The source code is released under the GPLv3 license. A copy of the license is available in the COPYING file.
Authors: Jonas Junger, Johannes Pankert
Maintainer: Johannes Pankert, [email protected]
Contributors: Fabio Dubois, Lennart Nachtigall, Markus Staeuble, Martin Wermelinger
| Repo | url | License | Content |
|---|---|---|---|
| soem_interface | https://github.com/leggedrobotics/soem_interface.git | GPLv3 | EtherCAT functionalities |
| any_node | https://github.com/leggedrobotics/any_node.git | BSD 3-Clause | multi-threading, signal handling functionalities |
| message_logger | https://github.com/leggedrobotics/message_logger.git | BSD 3-Clause | simple log streams |
- ROS Melodic
- catkin
- yaml-cpp
To build the library from source, clone the latest version from this repository and from the dependencies into your catkin workspace and compile the package using
cd catkin_workspace/src
git clone https://github.com/leggedrobotics/soem_interface.git
git clone https://github.com/leggedrobotics/any_node.git
git clone https://github.com/leggedrobotics/message_logger.git
git clone https://github.com/leggedrobotics/elmo_ethercat_sdk.git
cd ../
catkin build elmo_ethercat
To build the examples, execute the following command inside of your catkin workspace:
catkin build elmo_examples
There is an elmo_examples folder (separate catkin package) with two examples that can be used as a reference. A more detailed documentation of the examples is currently being developed.
The mapping of PDOs currently leads to an unexpected behaviour of the state machine of the Elmo motor controllers. A reliable workaround is to restart the connection after mapping new PDO types. If you use the ElmoEthercatMaster in your project then you do not have to consider this issue since the restarting after the initial configuration is handled automatically.
- This library works with the firmware version 01.01.15.00 (October 2018) for the motor controllers. Other versions are not supported!
Due to the current pandemic, we could not test this version of the elmo_ethercat_sdk on hardware.
Tests will be conducted as soon as possible.