This is a port of the Fast Downward PDDL Planner for Android.
This project implements the interface provided by the library
com.softbankrobotics.pddl:pddl-planning
.
This planner can be used as a library, or as an Android service, in a stand-alone app.
In both cases you will need to use the interface library
com.softbankrobotics.pddl:pddl-planning
.
It is available on Maven Central, but not in JCenter.
The build.gradle
at the root of your project should mention:
allprojects {
repositories {
mavenCentral()
}
}
And your module's dependency should include:
implementation 'com.softbankrobotics.pddl:pddl-planning:1.4.1'
Add it to your module's dependencies:
implementation 'com.softbankrobotics.pddl:fast-downward-android:2.2.0'
Use setupFastDownwardPlanner
to get a PlanSearchFunction
,
that can be used along with the utilities provided by com.softbankrobotics:pddl-planning
.
Example:
val searchPlan: PlanSearchFunction = setupFastDownwardPlanner(context)
// [...]
searchPlan(domain, problem)
To use it as a stand-alone Android service application:
- build the
app
module, and install it on the device. It will show up under the settings, in the applications section, but not in the main launcher app, because it has no main activity. - use
createPlanSearchFunctionFromService
with the rightIntent
to target this app's service to get aPlanSearchFunction
:val intent = Intent(ACTION_SEARCH_PLANS_FROM_PDDL) intent.`package` = "com.softbankrobotics.fastdownward" val searchPlan: PlanSearchFunction = createPlanSearchFunctionFromService(context, intent) // [...] searchPlan(domain, problem)
This project has submodules. After cloning it, do not forget to run:
git submodule update --init
This is a standard Android Studio project, but it includes C++ dependencies and might take long to build.
This project is distributed under the GPLv3 license.
Derivative logo was authorized for this project, please contact Fast Downward for reuse.