Skip to content

zhangaigh/traversability_estimation-1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository contains complementary material for the corresponding submission.

Version of the document submission with high-quality figures.

Document with difference report

Abstract

Mobile ground robots operating on unstructured terrain must predict which areas of the environment they are able to pass in order to plan feasible paths. We address traversability estimation as a heightmap classification problem: we build a convolutional neural network that, given an image representing the heightmap of a terrain patch, predicts whether the robot will be able to traverse such patch from left to right. The classifier is trained for a specific robot model (wheeled, tracked, legged, snake-like) using simulation data on procedurally generated training terrains; the trained classifier can be applied to unseen large heightmaps to yield oriented traversability maps, and then plan traversable paths. We extensively evaluate the approach in simulation on six real-world elevation datasets, and run a real-robot validation in one indoor and one outdoor environment.

Repository content:

  1. Media material of the experiments on the real robot and real elevation maps,
  2. Data files (heightmaps and csv) to generate the training and evaluation datasets,
  3. and the source code to each module of our traversability estimation framework:
    • simulation and data generation,
    • heightmap generation,
    • dataset generation,
    • definition, training and evaluation of the CNN classifier,
    • generation of traversability representations such as oriented traversability maps and minimal traversability maps,
    • and visualization of the results as 3D renderings

    verify the software requirements to test the code

Media

This is a selection of available media of our traversability estimation framework:

Reachability overlay and paths for selected points on the Slope map

{% include vimeoPlayer.html id=247479519 %}

Minimal traversability overlay on the Sullens map

{% include vimeoPlayer.html id=247478850 %}

Demonstration of the experiments on the real Pioneer 3AT robot

{% include vimeoPlayer.html id=224311562 %}

Minimal traversability overlay on the Quarry map

{% include vimeoPlayer.html id=224311774 %}

Oriented traversability overlays for 32 orientations on the Quarry map

{% include vimeoPlayer.html id=224311892 %}

Pioneer 3AT on simulated procedurally generated heightmaps

{% include vimeoPlayer.html id=224451017 %}

A larger number of visualizations can be generated/found in the code>visualization section of this repository.

Data

This folder contains the heightmaps (gray-scale images) and the csv files with the data from each simulated trajectory.

Code

In this folder we provide several sub-folders for each module of our traversability estimation framework:

Simulation

Code for simulating the Pioneer 3AT robot on a generated heightmap.

This code can be accessed as a docker image that setups all the needed libraries:

docker pull romarcg/traversability-ros-ubuntu-gazebo

or by copying the simulation folder files to an existing ros+gazebo setup.

Heightmap generation

Contains a document explaining in detail the procedural generation of heightmaps and a script that implements such procedure.

Here are some examples of the generated heightmaps:

Dataset generation

Contains a script that takes a csv file and builds a dataframe that is used to generate the training/evaluation/real-evaluation dataset.

Training

Contains a script that builds the CNN architecture, takes the dataset generated by the previous script and starts the network training (this task may take several hours). In addition, a report of common metrics is provided as evaluation of the trained CNN.

The model generated by this script is saved to be used in future scripts.

An already trained model file is provided to avoid the training step.

Evaluation

This script computes oriented traversability maps and minimal traversability maps using the trained model on unseen (testing) heightmaps.

Visualization

This script processes traversability maps and generates 3D renderings to interactively examine a heightmap and its estimated map.

A set of already generated traversability maps is provided as sample files to avoid regenerating them.

Software requirements

In order to use the provided scripts, these are the list of requirements:

  • python 3.5.3
  • numpy 1.12.1
  • matplotlib 2.0.0
  • pandas 0.19.2
  • tensorflow-gpu 1.0
  • keras 2.0.3
  • scikit-learn 0.18.1
  • scikit-image 0.13.0
  • joblib 0.11
  • mayavi

About

Complementary material for the submission RAL-ICRA 2017

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 78.3%
  • C++ 5.4%
  • CSS 5.1%
  • CMake 4.3%
  • Ruby 3.7%
  • HTML 1.4%
  • Other 1.8%