Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Elfin robot range assigment #27

Closed
wants to merge 1 commit into from
Closed

Elfin robot range assigment #27

wants to merge 1 commit into from

Conversation

calvama
Copy link

@calvama calvama commented Oct 28, 2019

No description provided.

@gavanderhoorn
Copy link
Member

Thanks for the PR.

Could you clarify two things for me please:

  1. have you read the Application Procedure section of REP-I4? It describes the procedure to follow when considering requesting new ranges of message identifiers. A PR like this one would be the end of that procedure.
  2. are you (intending to) use(ing) simple_message and industrial_robot_client? If yes: please clarify why. If no: in that case there is no need to reserve a range of message identifiers, as those are only used with the Simple Message protocol. They are not used in any ROS API.

For new robots I would not recommend using Simple Message.

@gavanderhoorn
Copy link
Member

gavanderhoorn commented Oct 28, 2019

Please note that REP-I4 directs application requests to the "ROS-Industrial mailing list".

This no longer exists.

RFAs should be sent to the ROS-Industrial category on ROS Discourse.


I've submitted #28 to fix this.

@calvama
Copy link
Author

calvama commented Oct 28, 2019

Thanks for the PR.

Could you clarify two things for me please:

  1. have you read the Application Procedure section of REP-I4? It describes the procedure to follow when considering requesting new ranges of message identifiers. A PR like this one would be the end of that procedure.
  2. are you (intending to) use(ing) simple_message and industrial_robot_client? If yes: please clarify why. If no: in that case there is no need to reserve a range of message identifiers, as those are only used with the Simple Message protocol. They are not used in any ROS API.

For new robots I would not recommend using Simple Message.

  1. Ups, no sorry.
  2. Yes, we are intending to use simple_message and industrial_robot_client as recommended here: http://wiki.ros.org/Industrial/Industrial_Robot_Driver_Spec. Specifically: "New robot implementations are encouraged to consider using this client".

Why do you not recommend using Simple Message?

@gavanderhoorn
Copy link
Member

Why do you not recommend using Simple Message?

In short: because it's a very limited protocol and modern robot controllers typically have much better external motion interfaces available (such as Ethercat, CAN(open), a custom UDP or TCP based protocol, etc). Those are almost always more performant, supported by the manufacturer, real-time capable/safe (especially UDP based protocols, or real-time safe fieldbuses such as Ethercat) and can use existing tooling, libraries and experience.

See ROS Answers/335913 for a somewhat longer recent discussion about this.

2\. Yes, we are intending to use `simple_message` and `industrial_robot_client` as recommended here: http://wiki.ros.org/Industrial/Industrial_Robot_Driver_Spec. Specifically: "New robot implementations are encouraged to consider using this client".

Please note: that particular section is very old (admittedly this is not visible to you) and "new drivers" refers to drivers created after industrial_robot_client was just introduced. Up till then (ie: when that section was written), all robot driver (supported in ROS-Industrial) used different, custom protocols. Hence the recommendation to move away from that and implement new ones using the (then) "new" Simple Message and Industrial Robot Client.


Summarising: if you have the option, I would recommend to not use Simple Message.

@calvama
Copy link
Author

calvama commented Oct 28, 2019

Ok, we won't use Simple Messagge. Can we consider the rest of Driver Spec page up to date? (topics and services to be implementes/remapped)

@gavanderhoorn
Copy link
Member

Ok, we won't use Simple Messagge.

Then I'll close this PR.

Can we consider the rest of Driver Spec page up to date? (topics and services to be implementes/remapped)

Yes, I would say so. SOP for me is to just implement "regular" ROS APIs for drivers and then add remaps if/when needed.

For support packages, I would suggest to take a look at the ros-industrial/fanuc repository.

You may also want to read Coordinate Frames for Serial Industrial Manipulators. It's not been accepted yet (submission planned), but it documents best practices wrt frame names, locations and semantics for industrial robot models in ROS.

@gavanderhoorn
Copy link
Member

Closing as based on the discussion, Simple Message will not be used for the driver.

@calvama calvama deleted the patch-1 branch October 29, 2019 08:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants