-
Notifications
You must be signed in to change notification settings - Fork 1
Home
APPARATE is an application package to code, simulate, and visualize various path planning algorithms, such as A*, Real-time A* or incremental path planners like D* or Moving Target. To do so, the framework provides an interface to implement pathfinding algorithms and to run them, get statistics, and visualize them. The simulator uses Moving-AI+ maps.
APPARATE is a suitable tool for testing incremental algorithms; it allows dynamic changes to the environment (like adding water areas or moving the target location), via a script or the GUI interface. Also, APPARATE is able to change the path-planning algorithms on-the-fly and can handle large maps.
APPARATE can be used for teaching purposes for students to code advanced search and execution algorithms and develop their own ones. See AOPD-2012 for an example.
You can check a video of APPARATE in action by clicking on this image
APPARATE contains three packages:
- jpathplan: set of generic classes to define path planners.
- gui: all the classes to implement the simulation and visualization.
- agents: agents that can do actions in the map, by outputting one action per simulation cycle. Agents can use path-planners.
Two related projects (and repos) are:
- Map Creator: To be able to create text map files easier (e.g., from an image file done in GIMP).
-
Extra Agents and Path Planners: Additional, more complex, agents, many of them using powerful path-planners.
- NOTE: This repo is private and requires permission.
For bugs, issues, and extensions please open an issue.
Have fun developing your agents!!!
- Compiling and Running APPARATE: for instructions on how to build and run agents in the framework.
- Configuration File: Format of the configuration file to run the simulator.
- Information on Maps: includes map extensions and dynamic scripts.
- Some Search Algorithms: for some pointers to interesting search and path planning algorithms and techniques.
- The HRTimer class for high-resolution timing via native interface JNI. Useful for algorithms like Deadline Aware Search (DAS) that require timing.
- Changelog: on major releases.
- Sebastian Sardina (project supervisor, developer, and contact - ssardina@gmail.com).
- Abhijeet Anand (developed JPathPlan library as part of his 2011 Minor Thesis, which provides the generic framework to develop path planners).
- Andy Heng Xie (developed first GUI version as part of a summer project).
- Nitin Yadav
- Geoff Sutcliffe and Rhys van der Waerden (for the
HRTimer
utility)
We thank Prof. Jorge Baier from Universidad Catolica of Chile for providing his original path-planning simulator in which we built on our system.
This project is using the GPLv3 for open source licensing for information and the license visit GNU website (https://www.gnu.org/licenses/gpl-3.0.en.html).
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.