ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Hao Deng's profile - activity

2021-01-12 04:18:55 -0500 marked best answer Ethercat interface to elmo motor controller

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

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!

2019-02-01 07:56:26 -0500 received badge  Famous Question (source)
2019-01-16 01:13:02 -0500 received badge  Enthusiast
2018-12-23 20:14:36 -0500 received badge  Notable Question (source)
2018-12-19 06:40:47 -0500 received badge  Student (source)
2018-12-19 01:26:22 -0500 received badge  Popular Question (source)
2018-12-18 22:07:04 -0500 marked best answer robot_ip in industrial_robot_client

Hey, dear all, Recently, I am integrating ros industrial with dual Staubli TX90 arm. Actually, a package for the single arm has been developed at staubli_experimental. We have tested and ran well each controller. But my case is: I need to communicate and control dual arm. And each controller has its own ip address. for instant, left_arm[192.168.169.1], right_arm[192.168.169.2].

Here are what I have done:

  1. I studied motoman_driver, and in its case, the industrial::smpl_msg_connection::SmplMsgConnection connet with one robot_ip can connect two controllers. Since I have not used motoman sda series ever, I guess motoman has integrated two controller hardware in one ethernet port.
  2. I am rewriting the original staubli-ROS-I to support for dual arm connecting. I intend to use two connect and motoman-like group to manage the states and commands.

And I am here to asking:

  1. For anyone who have used motoman sda or have experiments with motoman_driver: Is it right that motoman has only one hardware ethernet ip address to connect two controllers? So the motoplus or controller app will send all states or receive command in one port? How they can pub all states in only one /joint_states?
  2. For anyone who have experiments with ROS-I: Is it right to go that I use use two connect with two standalone ip address? How to handle two controller states and commands in one topic, /joint_states, and /joint_trajectory_command? For Q2, I am synchronously coding, it is a really heavy work. I hope anyone could give me advice or a yes to go.
2018-12-18 22:07:04 -0500 received badge  Scholar (source)
2018-12-18 22:04:44 -0500 received badge  Famous Question (source)
2018-12-18 22:03:46 -0500 commented question Ethercat interface to elmo motor controllers

@mgruhler I post my problem here. And hope you can notice and help me.

2018-12-18 22:01:41 -0500 edited question Ethercat interface to elmo motor controller

Ethercat interface to elmo motor controller Hi all, I'd like to drive four Elmo DC Whistle motor controllers via EtherC

2018-12-18 22:01:41 -0500 received badge  Editor (source)
2018-12-18 22:00:35 -0500 edited question Ethercat interface to elmo motor controller

Ethercat interface to elmo motor controller Hi all, I'd like to drive four Elmo DC Whistle motor controllers via EtherC

2018-12-18 21:59:46 -0500 asked a question Ethercat interface to elmo motor controller

Ethercat interface to elmo motor controller Hi all, I'd like to drive four Elmo DC Whistle motor controllers via EtherC

2018-12-18 20:53:43 -0500 commented question Ethercat interface to elmo motor controllers

@mgruhler My hardware connection is like this: I have four Gold Solo Whistle and one Gold Maestro, connected in EOE. My

2017-06-19 04:01:45 -0500 received badge  Notable Question (source)
2017-06-16 07:03:49 -0500 received badge  Popular Question (source)
2017-06-15 22:29:04 -0500 asked a question robot_ip in industrial_robot_client

robot_ip in industrial_robot_client Hey, dear all, Recently, I am integrating ros industrial with dual Staubli TX90 arm