hatponboard, the HATP core
This page presents hatponboard, the HATP core the is responsible for answering planning requests.
|
1. Install hatponboard
To get a detailed install instructions on how to install hatponboard please refer to the install page.
To install hatponboard with the old way, using msgconnector, please see the page about the deprecated version.
2. Use hatpnboard
hatponboard is actually composed of two ros modules:
- hatponboard: the core responsible for answering to planning requests.
- hatponboard-database: exposes the initial state retrieved either from the domain description or another database such as Toaster.
In order to correctly start HATP you must first start the database and then start the core. In order to ease this process a script has been created and is presented in the run page. Otherwise to start the modules by hand, the two others sections presents all their parameters.
2.1. hatponboard-database, initial state provider
This module aims at providing the initial state for HATP to plan from. It can retrieve this state either from the domain description or another database module such as toaster (then the hatponboard-database act a bit like a bridge).
To select the mode you must use the following parameter:
/hatponobard_database/mode: domain/toaster. Where the initial state is retrieved. Default is domain. When using toaster, specify database with /database (see below). Domain mode uses the database compiled from the domain file. Toaster mode connects the database to toaster to retrieve the initial state.
Only in the case where you use the toaster mode then you can set an additional parameter which allows to select the toaster database to use:
/hatponobard_database/toaster_mode: ONLY WITH TOASTER, tell the database to use: planning/current. Selects the table from the toaster database: either planning or current (must specify agent).
Finally, if you combine both toaster and current modes then you can specify the agent to retrieve the value from (in the toaster database):
/hatponobard_database/toaster_agent: ONLY WITH TOASTER and database 'current', tell agent.
See the different ways of setting a parameter in this reference table.
2.2. hatponboard, HATP core
To start hatponboard, the database must be running (See previous section), and then simply call:
rosrun hatponboard hatponboard
It accepts one parameter, the level of verbosity. You can not set it using the command line since it is not in the /hatponboard/ scope. However you can use either the rosparam server or via a launch file.
/hatp/verbosity: [0,1,2,3] Selects the level of verbosity (can be set on command line with _verbosity:=...)
See the different ways of setting a parameter in this reference table.
3. Changelog
3.1. Version 0.9
- Invalidate all previous tags since a first 'stable' version has only just been reached.
- Separate the core library into its own project.
- Start the code documentation (Doxygen).
- Create a set of scripts to ease the handling of HATP and its parser.
3.2. Version 2.0
Integrate HATP with GTP, the Geometric Task Planner. Allows HATP to produce geometrically feasible plans, for more details see [1].
- Allow to ask only for the first plan.
3.3. Version 2.1.0
- INTEGRATION IN ROS.
- Change the 'empty' clause to 'goal' to be more true to its actual meaning.
- Create a 'projects' clause to explicit the link with GTP.
- Switch from GTP-mhp to GTP-move3d.
- Detach the ILGTP library (responsible of the connection with GTP) and move it into hatponboard.
Integrate HATP with the Assembly Planner from University of Seville (https://github.com/technik/assemblyTool).
4. References
[1] - Combining Symbolic and Geometric Planning to Synthesize Human-Aware Plans: Toward More Efficient Combined Search, IROS 2015, M. Gharbi and R. Lallement and R. Alami
5. License, Troubleshooting and Maintainer
HATP is distributed under 2-clause BSD license. (See here for details.)
The page to report problems or for pull request: Openrobots/hatponboard.
Current maintainer(s):
Raphaël Lallement: raphael.lallement [at] laas.fr, Website.