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

ros_control combination with actionlib

asked 2019-02-04 15:40:29 -0500

twannoo10 gravatar image

updated 2019-02-06 08:27:42 -0500

Hi there,

This is probably a noob question, but after spending some hours trying to figure this out and asking google, I decided to ask it nonetheless.

I am building an interface to a robot that does not have any ros packages yet, I have an interface that reads from a command topic and writes to a state topic. Now I want to use a action server to connect this interface to moveit (which has an action client how I understood it so far?) and other motion planners. But before I continue down this road writing an action server, I wanted to ask if actionlib is the way to go for this.

Many thanks in advance!

EDIT: Thank you for your help. Not any ros packages was poorly phrased from my side. I am using the ABB YuMi, though with the 'new' EGM and RWS libraries. I based my code upon https://github.com/kth-ros-pkg/yumi/ and changed it where necessary. I implemented an actionserver now, but looking at source code tells me that ros_control could also takes care of this, so I've done double work essentially, since they use ros_control as well in their package. Hence I think I have created the issue I was trying to solve myself. I will try and use the ros_control stack instead of my own creation for now.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2019-02-05 02:16:30 -0500

gvdhoorn gravatar image

updated 2019-02-06 09:06:58 -0500

You only implicitly refer to ros_control in your question body ("I have an interface that reads from a command topic and writes to a state topic"), so I won't address that bit.

Now I want to use a action server to connect this interface to moveit (which has an action client how I understood it so far?)

Yes, one of the controllers you can configure MoveIt to use makes use of an action client to communicate with whatever entity exposes a FollowJointTrajectory action server (whether that entity is a ros_control stack or something else doesn't matter, as long as the interface is the same).

But before I continue down this road writing an action server, I wanted to ask if actionlib is the way to go for this.

Having such a FollowJointTrajectory action server makes sense, even if you don't want to use your robot/driver with MoveIt, as it provides a convenient way for clients to command your robot (in joint space).

For a simple setup I would recommend to take a look at the SimpleActionServer, as that takes care of a lot of details for you (but doesn't support concurrent goals and some other more fancy features).


Edit:

I am using the ABB YuMi, though with the 'new' EGM and RWS libraries.

Yes, I figured.

I based my code upon https://github.com/kth-ros-pkg/yumi/ and changed it where necessary. I implemented an actionserver now, but looking at source code tells me that ros_control could also takes care of this, so I've done double work essentially, since they use ros_control as well in their package. Hence I think I have created the issue I was trying to solve myself. I will try and use the ros_control stack instead of my own creation for now.

That would be a nice way to approach this.

I've worked with KTH for a bit on the ros_control side of this YuMi hardware_interface but the work has stalled for now. I'd be interested in getting that restarted and am coordinating with ABB Corporate Research in Sweden. If you're interested, can you contact me off-list?

edit flag offensive delete link more

Comments

If you can tell us a bit more about the type of robot and the sort of interfaces you have available, perhaps we can give you a more actionable (heh) answer.


There might even already be an implementation that you're not aware of.

gvdhoorn gravatar image gvdhoorn  ( 2019-02-05 02:18:53 -0500 )edit

Question Tools

Stats

Asked: 2019-02-04 15:40:29 -0500

Seen: 555 times

Last updated: Feb 06 '19