Crate rusty_planner

source ·
Expand description

This is documentation for the rusty_planner crate.

AI Planning & Reasoning library for Rust

This is a library written in Rust containing Artificial Intelligence algorithms - in particular those from the field of planning & reasoning. The goal is to support the following algorithms in the long run:

Note: This library is still work in progress - and mostly for me to get familiar with Rust. Use at your own risk; refactorings & bigger changes might still happen.

To make use of the distributed decision-making algorithms, please ensure to enable the multi_agent feature.

Motivation

While Deep Learning algorithms are currently a hot topic, it is also necessary to have planning & reasoning capabilities to build truly autonomous systems. Be it for robots moving around, ways to automatically plan how ships should berth, in which order airplanes should land on airports, etc.. There are countless examples of how these algorithms can help solve real world problems & deliver efficient solutions. Recommended reads include Artificial Intelligence: A Modern Approach by Stuart Russell & Peter Norvig; Furthermore NASA’s JPL Artificial Intelligence group has done tons of research in this area - especially their methods of controlling autonomous space probes using planners & execution components are interesting; Imagine how cool it would be if those concept would be embedded in future control planes…

Modules

  • Module implementing the Anytime Dynamic A* algorithm.
  • Module implementing the D* lite algorithm.
  • Module implementing an iterative repair algorithm.
  • Module implementing a UCT style Monte-Carlo Tree Search algorithm.
  • Module with some generic traits used by various algorithms.