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

Nodes of robotic system and actions

asked 2015-02-03 07:01:24 -0600

iSaran gravatar image

updated 2015-02-03 07:02:13 -0600

Maybe I do not fully understand how actionlib works, but I have a pretty basic question. Suppose you have a robotic system, with an arm, a hand attached to the arm, a video camera etc, that we want to work together. Scenario: The camera see the object, the arm moves towards the objects and the hand is touching the object (we are getting sensor feedback from the hand). Finally, the hand grasps the object.

What is the model for this using actions? 3 clients-1server? or 1 client-3servers for each component? In the schema 3 clients-1server, can we control the arm and the hand simultaneously or we have to cancel a goal to the arm, to send another for the hand?

As far as I know an action_server represents a node, so I suppose we need 3 servers. But how can we coordinate the actions between the servers?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-02-03 07:37:58 -0600

dornhege gravatar image

It would be 3 servers and 3 clients (one for each server, but they could be in the same node). 3 servers, because there are 3 different actions that will need 3 different clients to call them.

As for simultaneous control: That is fully supported by actionlib. However it is limited by what you actually want to do. For example object detection probably needs to run before moving the arm. Technically grasping and moving the arm are independent if you can synchronize the control, so they do what you want. These are more algorithmic/robotics limitations than actionlib's.

edit flag offensive delete link more


Thanks for your nice and clear response. So, I need to implement a communication channel between the clients in order they know what each other do (ie the hand client to know what feedback from the arm has the arm client). Perhaps, a topic?

iSaran gravatar image iSaran  ( 2015-02-03 10:23:47 -0600 )edit

That depends on what your software does. There is not problem at all in having multiple clients in the same node. So you don't need an external communication.

dornhege gravatar image dornhege  ( 2015-02-03 11:01:43 -0600 )edit

Thank you, you made it very clear.

iSaran gravatar image iSaran  ( 2015-02-03 15:01:03 -0600 )edit

Question Tools


Asked: 2015-02-03 07:01:24 -0600

Seen: 128 times

Last updated: Feb 03 '15