Maxon Motor EPOS 4 - Cyclic Synchronous Modes - EtherCAT in ROS
Hello everyone,
I am working on a 5-joint motorized robotic arm, where each joint has to be controlled in current, speed and position (feedback with optical encoders) in a cyclic synchronous mode, so that a higher-level controller performs the path planning (IK solvers) synchronized for multiple axes. The setpoints for position, speed and current are constantly updated.
Higher-level controller has to perform 1-to-1 cyclic set/read values operations to all motor drivers. Typical update rates are in the range of a few milliseconds - up to 100Hz.
I am thinking to use MAXON EPOS 4 Positioning Drivers and I was wondering which is the best option to connect Maxon EPOS 4 to a linux-based higher level controller to operate in Cyclic Synchronous Modes.
I believe that Maxon only provides CANopen c++ libraries to work with SDO, while for cyclic modes PDO is needed and a CANopen master needs to be programmed, so I decided to try with EtherCAT.
According to EtherCAT I was not able to find a solid and robust library that could directly interface the EPOS 4. Given that I need to develop my own library (according to Maxon datasheets) I was wondering what you suggest, ros_Ethercat/ros_control or SOEM approach? Is there any example to interface etherCAT in ROS? Is there anyone who tried it?
Thank you Stex
Can you clarify how this is related to ROS? This is not a generic robotics support forum, so we try to keep everything as much as possible on topic.
Sorry, I was not clear, I am looking for a ROS-based library like SOEM to interface with Maxon Motor Driver through etherCAT, if anyone tried it.
Hi Stex,
I am trying to do exactly what you mentioned here in your post. Were you able to develop what you set about to do? Could you guide me on how to do this, and if you could share the files of the project.
Thank you,
Regards,
@stex2005@Rejin , What do you have reached for that? I'm making an Articulated Robot that will be used in industry, it has delta drivers that can communicate through EtherCAT protocol. I want to control it using ROS. I have found a lot of ways that made me confused such as SOEM package, Hardware_ethercat package, and connecting EtherCAT master devices What should I do? And what are the hardware components that I will need to buy? what I have are a PC with ROS installed (or a Jetson controller), industrial drivers with EtherCAT protocol, and motors