Enea, SMACH is the recommended way to coordinate complex systems. actions using actionlib are commonly used as states within SMACH. actions are as you say very similar to services in their use but have more control and feedback. SMACH is designed to work as a coordination engine, strongly based on a state machine. SMACH has been designed that it is trivial to use an action as a state within a SMACH state machine. Thus we use SMACH and actionlib at the same time. Tully On Wed, Sep 15, 2010 at 5:52 AM, Enea Scioni wrote: > > HI all, > > I'm following this topic but I'm also a bit confused.. > In order to manage the whole system, composed as hundreds nodes, should I > use SMACH (instead actionlib)? > What is the " best practice " that ROS suggest? When should I use actionlib > and when SMACH? > > Starting from the documentation (and my experiments), in a nutshell I see > actionlib more similar to a ROS Service, but with added features, as > possibilities to receive a feedback, delete the request and so on; to do > that actionlib use/implement an "internal" state machine in order to manage > the communication protocol on topic between the Action Server and Action > Client. > Is it true or I'm making a mistake? > > Regards, > Enea Scioni > -- > View this message in context: > http://ros-users.122217.n3.nabble.com/actionlib-design-questions-tp1468507p1479561.html > Sent from the ROS-Users mailing list archive at Nabble.com. > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > -- Tully Foote Systems Engineer Willow Garage, Inc. tfoote@willowgarage.com (650) 475-2827