0
$\begingroup$

Rosanswers logo

Hi all,

I'd like to drive four Elmo DC Whistle motor controllers via EtherCAT in ROS.

All my four slave controllers are Gold Solo Whistle and connected in a series chain structure, then connected to a master Multi-Axis Controllers, Gold Maestro in its ECAT1 port. The ROS host PC connected with the Gold Maestro in its EtherNET port. And host PC runs Ubuntu 14.04 with ROS Indigo.

Fig. 1 EOE Connection http://thyrsi.com/t6/636/1545189504x2728278728.jpg

I used the mgruhler/soem package and also give the slaveinfo binary root access to socket commands

sudo setcap cap_net_raw+ep bin/slaveinfo

when I ran the slaveinfo binary, I could not get the correct feedback, but with the following information:


SOEM (Simple Open EtherCAT Master)

Slaveinfo 

Starting slaveinfo 

ec_init on eth0 succeeded. 

Ack=-1 

No slaves found! 

End slaveinfo, close socket

End program

I have no idea how to handle this problem. Since I can connect and control all the motors in Windows with the program, I am thinking if I made some wrong configuration.

  1. Possible issue and where I could not understand. During the initial procedure, I use the ELMO Application Studio to set the Controllers, I could see there is a TCP/IP address for the master to connect, and I check the windows program and found it use this IP to make a connection. But in ROS, we only use eth0 to make a connection. So, I am afraid this may be one issue or one place I could not understand.

  2. Configuration and Communication Protocol. In the ELMO manual, we could find this connection is called as EOE(EtherNet Over EtherCAT). Since I have the Master, Multi-Axis Controllers Gold Maestro, I am not sure if I can still use the SOEM package. Or do I need any special setting in the Master?

  3. Package issue. My last thinking may concert about the SOEM package, since in the ROS ANSWERS, @mgruhler said he has lost in SOEM and did use this package. I am also confused.

However, I ended up using SOEM, not ros_ethercat (I was lost on that one)...

I hope anyone who has drive ELMO in ROS successfully could share me with the Configuration and Packages. I am real new in this part.

Thanks!


Originally posted by Hao Deng on ROS Answers with karma: 23 on 2018-12-18

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

First of, sorry for only answering that late.

I cannot comment on how this would work with a Gold Maestro. I have never used such a setup myself and don't know of the differences to direct access to EtherCat. But I'll give it a go at your questions anyway...

  1. In general EtherCat, you don't address the single devices by the IP. You address them by their EtherCat ID which is all you need. This can be set on some devices, but not all (there they are deduced in the order of chaining somehow, I'm a bit fuzzy on that...) SOEM (Simple Open EtherCAT Mater) itself IS the master, so this is what the clients should connect to. And eth0 should be your ethernet interface on your ROS PC.
  2. In principal, SOEM should support EoE, CoE and basically all EtherCAT functionality. But note that afair (without any Gold Maestro involved) to drive the Elmo Gold drives, you need to use CoE, as this is the only interface implemented on the drives themselves. EoE is to talk to regular Ethernet Devices. Even though you use your ethernet connection on your ROS PC doesn't mean that anything you connect to it is an ethernet device.
  3. in the comment you cite I was referring to being lost in ros_ethercat. I used SOEM and was able to find a working solution for driving multiple (i.e. two) Gold DC Whistle drives directly connected to the PC using SOEM.

FYI, I uploaded a gist which shows an adapted simpletest script that allows to run 2 Gold DC Whistle drives directly connected to a PC. Maybe this will help here...


Originally posted by mgruhler with karma: 12390 on 2019-03-12

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.