[ros-users] Dynamic Deployment and Control of Nodes

Ken Conley kwc at willowgarage.com
Thu Oct 14 16:28:12 UTC 2010

It's great to hear you want to contribute some useful new tools.

There is some work that I have on the shelf that should help dovetail with this:

1) New scripting API for roslaunch. The work I'm doing on the rosh is
helping evolve the roslaunch API. I hope to have this landed in
unstable soon. Once the scripting interface is solid, it should be
trivial to add a network API on top (XMLRPC).

2) Interfaces. The plan is to convert the Node API clearsilver specs
on the wiki into actual YAML node specifications. The idea here is

  i) Machine-readable spec of what topics, services, parameters, etc..
a node provides/uses. This is useful for validation, documentation,
GUIs, etc...
  ii) Machine-readable spec that can be used to bootstrap a node initialization
  iii) Standardization of common APIs (e.g. camera interface)

For example, imagine (in pseudocode):

n = Node('camera.interface')
p = n.pubs['camera/image_raw']
image = load_from_disk('foo.jpg')
r = Rate(10)
while ok():

I focused more on rosh this cycle so interfaces are still all concept,
no design or implementation. I hope to work on them after I finish up
my Diamondback work.

I think that the main challenge in deploying this sort of solution is
going to be converting existing code to provide these specifications.
It will take a lot of time. While it is possible to try and
automatically determine this information, there are many cases where
it will fail badly, which isn't good for a "user friendly" GUI.

 - Ken

On Thu, Oct 14, 2010 at 5:54 AM, William Woodall <wjwwood at gmail.com> wrote:
> I am currently beginning development on a "rostoolbox" initially for my own
> use, but with some loftier end goals.  Currently my goal will be to
> implement existing functionality from command line arguments that ros
> provides, including roslaunch, rosrun, and rosparam, into a GUI.  I hope to
> have an interactive view similar to rxgraph's output which could allow for
> dragging to rename topics, interactively adjusting static and dynamic
> parameters, and adding/removing nodes.  Then finally when your done crafting
> your setup you can save out as a launch file.  Like I said, initially I want
> this to just be able to list, create, compile, and install dep's of stacks
> and packages from a GUI, but the sky is really the limit after that as to
> how interactive the system could be.  I would also like to see this
> eventually ported to the roswin32, because for my peers that use Windows
> having a tool like this will almost be required for them to start using ROS
> on Windows.  If you want to do some joint development maybe we could discuss
> this more.
> Thanks,
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> William Woodall
> Graduate Software Engineering
> Auburn University
> w at auburn.edu
> wjwwood at gmail.com
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> On Thu, Oct 14, 2010 at 2:49 AM, Morten Kjærgaard
> <Morten.Kjargaard at prevas.dk> wrote:
>> Hi
>> I am planning on creating a graphical tool to give mode dynamic control of
>> what nodes are started and the names of the topics they subscribe to.
>> This will probably require some changes in the core of my ROS system, but
>> it seems to be possible.
>> The motive is to improve the deployment- and parameter management when
>> creating a new robot system based on existing ROS packages. And make it
>> possible to relate this to a robot model. Instead of only having to rely on
>> static hardcoded launch files.
>> I would like to hear from anyone who has experience with a similar
>> approach or are otherwise interested in a management tool like this.
>> Best regards,
>> ---------------------------
>> Morten Kjaergaard
>> Industrial PhD Student
>> Prevas A/S
>> Frederikskaj 6
>> DK-2450 Koebenhavn SV
>> morten.kjargaard at prevas.dk
>> www.prevas.dk
>> _______________________________________________
>> ros-users mailing list
>> ros-users at code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-users
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users

More information about the ros-users mailing list