Hi Stéphane, this would be a good interface to have. My comments: 2012/3/8 Martin Günther : > Hi Stéphane, > > > On Thu, 08 Mar 2012 11:28:55 +0100, > Stéphane Magnenat 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@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > -- Bhaskara Marthi Research Scientist Willow Garage Inc. 650-475-2856