[ros-users] HTN planning messages

Bhaskara Marthi bhaskara at willowgarage.com
Thu Mar 8 16:23:18 UTC 2012


Hi Stéphane, this would be a good interface to have.  My comments:

2012/3/8 Martin Günther <mguenthe at uos.de>:
> Hi Stéphane,
>
>
> On Thu, 08 Mar 2012 11:28:55 +0100,
> Stéphane Magnenat <stephane.magnenat at mavt.ethz.ch> wrote:
>
>> Dear community,
>>
>> At some point, I would like to integrate planner9 [1,2], my HTN
>> planner, into ROS.
>
> That looks pretty interesting, looking forward to having this in ROS!
>
>> At that occasion, it would be nice if planner9's
>> node could conform to a standard HTN-planner interface. I have been
>> looking for one but did not found any. Currently planner9 can
>> distribute search on multiple nodes using avahi and be called using
>> D-Bus. The interface to D-Bus could be a source of inspiration (at
>> least it works for me), here is a rosmsged version:
>>
>> * HTN/Atom.msg:
>> String relation
>> uint32[] params
>> String value
>>
>> * HTN/State.msg:
>> Atom[] atoms
>>
>> * HTN/Task.msg:
>> String head
>> uint32[] params
>>
>> * HTN/Plan.msg:
>> Task[] actions

What about partially ordered plans?  Also, shouldn't there be a way to
indicate that action a further expands into actions b and c, say?

>>
>> * HTN/StartPlanning.msg:
>> String[] constants # for debug output
>> State initial_state
>> Task task # task to do
>>
Is the constants field necessary?

>> * HTN/PlanningSucceeded:
>> Plan plan
>> uint32 total_iteration_count
>>
>> * HTN/PlanningFailed:
>> uint32 total_iteration_count

Second Martin's suggestion that these be turned into a single
actionlib interface to planners.

>>
>> These messages assume:
>> * constants are represented by integers
>> * relations are represented by strings
>> * values are represented by strings

Is there a reason why constant symbols are integers but relation
symbols are strings?  Might be good to just use strings for everything
so messages are human readable.
- Bhaskara


>> * the goal is specified as a task
>> * the planner node has a description of the planning domain, and only
>> problems are specified dynamically.
>>
>>
>> What do you think? Are there people interested in such interface?
>> Should we make a REP?
>
> I would be interested in such an interface, but I'm not sure if enough
> other people are to justify a REP (comments, anyone?). Maybe you just go
> on and define these messages in a separate message package (what about
> the name htn_msgs or htn_planning_msgs?), and others can adapt it.
>
> We've written a tiny ROS wrapper for JSHOP2 (not yet public), and it
> would be easy to adapt it to your format.
>
> One comment on your messages: StartPlanning, PlanningSucceeded and
> PlanningFailed look like they should best be combined into an actionlib
> action definition. Other than that, the messages look fine to me.
>
> Cheers,
> Martin
>
> --
> Dipl.-Inf. Martin Günther
> Universität Osnabrück
> Institut für Informatik
> Albrechtstr. 28 (Raum 31/503)
> D-49076 Osnabrück
>
> Telefon: +49 (0)541 969 2434
>
> http://www.inf.uos.de/mguenthe/
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>



-- 
Bhaskara Marthi
Research Scientist
Willow Garage Inc.
650-475-2856



More information about the ros-users mailing list