veysiadn / elmo_ethercat_sdk

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Elmo EtherCAT SDK

Overview

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, pankertj@ethz.ch

Contributors: Fabio Dubois, Lennart Nachtigall, Markus Staeuble, Martin Wermelinger

Installation

Dependencies

Catkin Packages

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

System Dependencies (Ubuntu 18.04 LTS)

Building from Source

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

Examples on how to use the elmo_ethercat_sdk

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.

Known bug

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.

Firmware version

  • This library works with the firmware version 01.01.15.00 (October 2018) for the motor controllers. Other versions are not supported!

DISCLAIMER

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.

About

License:GNU General Public License v3.0


Languages

Language:C++ 96.0%Language:CMake 4.0%