martimbrandao / navmesh_explanations

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

navmesh_explanations

Objective

Given the shortest path A between a start and goal location on a navigation mesh, this package computes an explanation for why the shortest path is A instead of B (provided by the user). The explanation is in the form of a set changes to polygon terrain-types that make B optimal.

Citation

If you use this in your research, please cite:

Martim Brandao, Amanda Coles, Daniele Magazzeni, "Explaining path plan optimality: fast explanation methods for navigation meshes using full and incremental inverse optimization", ICAPS 2021.

Requirements

This package uses python3 (for cvxpy).

sudo apt install python3-pip
pip3 install rospkg networkx cvxpy cvxopt similaritymeasures tabulate matplotlib

It also requires the ROS package recast_ros for interfacing with navigation meshes.

Usage

  • Launch recast_ros with your preferred map
  • Launch this package's interface.launch
  • Run this package's test_recast_explanations.py
  • Use right-clicking on the Rviz window to indicate your start point, goal point, and expected-waypoint
  • Select in Rviz which kind of explanation you would like to see by enabling the appropriate topic (topic names should be quite self-explanatory)

About


Languages

Language:Python 90.5%Language:C++ 5.5%Language:CMake 4.0%