[ros-users] Joint controller manager

Adolfo Rodríguez Tsouroukdissian adolfo.rodriguez at pal-robotics.com
Mon Jan 28 16:49:21 UTC 2013

On Mon, Jan 28, 2013 at 5:10 PM, Edwards, Shaun M. <sedwards at swri.org>wrote:

>  Adolfo,****
> ** **
> When I originally read your email, I thought it was coming out of Willow.
> There are some aspects of the new arm path planning library (MoveIt) that
> point to a revamped controller manager.  Unfortunately, I don’t know any
> more than you do.

Hey Shaun,

MoveIt can use three ROS Services: [load|unload|switch]_controller in case
a different controller configuration is necessary. My understanding is that
this is an optional requirement. For triggering motions MoveIt uses the
FollowJointTrajectory action. If you provide these interfaces, MoveIt will
probably be happy. This is an example scenario where a generic manager
would make it very easy to expose all of these interfaces. It is one of the
most common examples I cite when explaining and justifying this work

> ****
> ** **
> As far as your architecture, I notices that you are utilizing the ROS
> action interface.

The proposed architecture can use ROS actions, but does not require to.
It's up to you. In fact all ROS dependencies exist to provide common
interfaces to the outside world, but they are all in fact optional. You
could even deploy a system without any ROS dependencies if you wanted to.

> Is there any way to allow for a streaming interface.  I’m thinking of a
> visual servo application, where you need to close the loop and adjust an
> actuator position based on some higher level information.  The action
> interface does not allow for this.

Yes!,  the interface between the controllers and the manager is enforced,
while interface between the controller and its users is not. This is
already the case for the pr2_controller_manager, by the way.

If you see the clients in the diagram, the client-specific code lives in
the light-gray boxes. There goes whatever computation, configuration and
communication policies you see fit. For example, you might choose to
configure your controller from ROS parameters, Orocos properties, your
custom legacy xml format, it's entirely up to you. The same applies to the
interface you expose for controller commands. You might use actionlib, or
topics, or something entirely different. Furthermore, there are certain
controllers whose reference signal updates at rates that cannot be
deterministically serviced by ROS topics. In such cases you can choose to
use Orocos ports, shared memory, etc.


Adolfo Rodríguez Tsouroukdissian
Senior robotics engineer
adolfo.rodriguez at pal-robotics.com

c/ Pujades 77-79, 4º4ª
08005 Barcelona, Spain.
Tel. +34.93.414.53.47
Skype: adolfo.pal-robotics
Facebook <http://www.facebook.com/palrobotics1> -
Twitter<http://twitter.com/#%21/palrobotics>- PAL
Robotics YouTube Channel <http://www.youtube.com/user/PALRobotics>

AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos, pueden
contener información privilegiada y/o confidencial que está dirigida
exclusivamente a su destinatario. Si usted recibe este mensaje y no es el
destinatario indicado, o el empleado encargado de su entrega a dicha
persona, por favor, notifíquelo inmediatamente y remita el mensaje original
a la dirección de correo electrónico indicada. Cualquier copia, uso o
distribución no autorizados de esta comunicación queda estrictamente

CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may
contain confidential information which is privileged and intended only for
the individual or entity to whom they are addressed.  If you are not the
intended recipient, you are hereby notified that any disclosure, copying,
distribution or use of this e-mail and/or accompanying document(s) is
strictly prohibited.  If you have received this e-mail in error, please
immediately notify the sender at the above e-mail address.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20130128/e4202b5d/attachment-0004.html>

More information about the ros-users mailing list