Skip to content
A C++ implementation of the IRL algorithms RTIRL and RLT. These algorithms replace the MDP framework by a RRT* planner.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A C++ implementation of the IRL algorithms RTIRL[1] and RLT[2]. These algorithms replace the MDP framework by a RRT* planner[3]. So, their goal is to learn the weights of the RRT* cost function that lead the planner to behave similarly to the demonstrations.

The C++ library has interface (planning.h) that must be implemented in order to connect the learning with the desired RRT* planner and load properly the data for learning. In this case, the library of RRT* planners upo_rrt_planners and ROS has been used to implement the interface and perform the learning.


  • Include other learning algorithms like Maximum Margin Planning (MMP) that uses an A* planner.

The package is a work in progress used in research prototyping. Pull requests and/or issues are highly encouraged.

[1] N. Pérez-Higueras, F. Caballero, and L. Merino, "Learning robot navigation behaviors by demonstration using a rrt* planner", in International Conference on Social Robotics. Springer International Publishing, 2016, pp. 1–10.

[2] K. Shiarlis, J. Messias, and S. Whiteson, "Rapidly exploring learning trees", in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA). Singapore, Singapore: IEEE, May 2017. [Online]. Available:

[3] S. Karaman and E. Frazzoli, "Sampling-based algorithms for optimal motion planning", The International Journal of Robotics Research, vol. 30, no. 7, pp. 846–894, 2011.

You can’t perform that action at this time.