jolau / ethercat_motion_controller

ROS1 motion controller for Maxon EPOS4 moter controller over EtherCAT.

Home Page:https://www.jolau.ch/projects/varileg-enhanced/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Package Name

Overview

Motion controller for Maxon EPOS4 over EtherCAT.

Keywords: EtherCAT, EPOS4, motor controller, maxon

License

The source code is released under a BSD 3-Clause license.

Author: Jonas Lauener, mail@jolau.ch

The varileg_lowlevel_controller package has been tested under ROS Kinetic and Ubuntu 16.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

EtherCAT

EPOS4 EtherCAT

Installation

Building from Source

Dependencies

Building

To build from source, clone the latest version from this repository into your catkin workspace and compile the package using

cd ~/git
git clone https://github.com/ethz-asl/ros_package_template.git
cd ~/catkin_workspace/src
ln -s ~/git/varileg_lowlevel_controller
cd ../
catkin build varileg_lowlevel_controller

Usage

Describe the quickest way to run this software, for example:

Run the main node with

roslaunch varileg_lowlevel_controller varileg_lowlevel_controller_setcap.launch

Config files

Config file folder config:

  • config.yaml Set the names of the Ethernet ports. Can be found by using command ifconfig. Also defines topic names.
  • joint_config.yaml Configure mapping of joints to EPOS's NodeID. Set parameters of each joint.

Launch files

  • varileg_lowlevel_controller varileg_lowlevel_controller_setcap.launch: Start the main node with root rights by starting varileg_lowlevel_controller_setcap.sh and then finally varileg_lowlevel_controller.launch

    Arguments:

    • password Root password. Default: varileg.
    • motor_current Max. motor current in mA. Default: 2000.
    • frequency Frequency [Hz] of the update loop. Trajectory point have to come with same frequency. Default: 100.
  • varileg_lowlevel_controller epos_example_setcap.launch: Starts a simple testing node, great for developing. Usage similiar to above.

Nodes

Subscribed Topics

Published Topics

Services

  • set_device_state (varileg_msgs/SetDeviceState.srv)

    Set the targeted device state of a joint. Will be tried to reach with the next update cycle.

  • set_device_state (varileg_msgs/SetOperatingMode.srv)

    Change the operating mode of a joint. Will be tried to be changed with the next update cycle. Joint needs to be in SWITCH ON DISABLED state.

Actions

About

ROS1 motion controller for Maxon EPOS4 moter controller over EtherCAT.

https://www.jolau.ch/projects/varileg-enhanced/


Languages

Language:C 84.2%Language:C++ 13.5%Language:CMake 1.2%Language:Objective-C 0.5%Language:Makefile 0.5%Language:Shell 0.1%