[ros-users] Looking for a behavior handling executive: OpenPRS

Felix Ingrand felix at laas.fr
Wed Feb 23 23:51:32 UTC 2011


Just to add another one to the long list of high level executives available over ROS, I just take this opportunity to mention that I just finished a first implementation to connect OpenPRS to ROS primitives.

Basically, the plan is to use OpenPRS with ROS Actions/Topics/Services the same way we use it with GenoM modules (requests/posters), to control our robots.

You will find information on OpenPRS here: 

Currently, the link between OpenPRS and a particular ROS Action requires to write some code (mostly copy/paste from another action), but most of it could be automatically generated (as we already do with OpenPRS and GenoM using Transgen).

In a nutshell, OpenPRS is not like SMACH, state machine oriented. It is more like a logical programing language with unification (like prolog), with imperative procedures (OPs), with a goal and event semantic, and a fact "database". Goal are pursued by executing plans/procedures and events can trigger procedures too. There is plenty of parallelism (multiple intentions/multiple procedures-threads), and some kind of graphical language to follow what is going on.

If you are interested (or if others are interested), drop me a note, I will point your to the git directory for this code.

On 17 févr. 2011, at 17:20, Alex Brown wrote:

> Thank you to Tim and Lorenz for your suggestions.  I shall look at both. 
> For those interested,  Tim has his masters thesis on-line with a nice review 
> of earlier behavior engine implementations as well as overall robot control 
> frameworks.
> Alex
> -----Original Message----- 
> From: Tim Niemueller
> Sent: Wednesday, February 16, 2011 1:23 PM
> To: User discussions
> Subject: Re: [ros-users] Looking for a behavior handling executive
> Hello Alex.
> Recently I have ported the Lua-based Fawkes Behavior Engine to ROS.
> Might be worth a look. It is based on hybrid state machines and
> emphasizes description over programming (by exploiting Lua's powerful
> table structure), but still provides a full programming language to
> provide a useful plumbing layer with re-usable behavior entities, that
> can be combined to more complex ones.
> http://www.ros.org/wiki/behavior_engine
> I'm currently writing documentation on how to get started designing and
> describing/programming behaviors, beyond installation and running the thing.
> Tim
> -- 
> KBSG - Knowledge-Based Systems Group            AllemaniACs RoboCup Team
> ========================================================================
> http://robocup.rwth-aachen.de                     RWTH Aachen University
> http://kbsg.rwth-aachen.de                               Ahornstrasse 55
> http://www.fawkesrobotics.org                             D-52056 Aachen
> _______________________________________________
> 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

You think you are making economical rational decisions...

More information about the ros-users mailing list