Skip to content
Energy-Aware Planetary Navigation Dataset
Python CMake C++
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.


Energy-aware navigation dataset for planetary rovers, collected at the Canadian Space Agency's Mars Emulation Terrain. This dataset amounts to more than 1,200 metres of driving and includes:

  • Driving power consumption and solar irradiance on the rover's top plane;
  • Panoramic stereo color imagery and high-resolution forward-facing single-channel imagery;
  • Tri-axial inertial measurements (acceleration & angular velocities);
  • Individual wheel encoder data and corresponding 2D odometry estimates;
  • Ground-truth GPS-based position and enhanced pose estimation from GPS and visual data fusion;
  • Geo-referenced maps of the environment (RGB mosaic, elevation/slope/aspect models).


Authors: Olivier Lamarre, Oliver Limoyo, Filip Marić, Dr. Jonathan Kelly
Affiliation: Space and Terrestrial Autonomous Robotic Systems (STARS) Laboratory, University of Toronto
Maintainer: Olivier Lamarre (email)

This dataset is described in details in our paper The Canadian Planetary Emulation Terrain Energy-Aware Rover Navigation Dataset, submitted to The International Journal of Robotics Research. Citation instructions will follow soon.


The data can be downloaded from the dataset's official web page, which contains the data both in human-readable and rosbag format. This repository provides tools to interact with the rosbag files.

Data fetching and plotting alone in generic Python formats can be accomplished using our custom fetching script (which wraps the rosbag module). Advanced data visualization and interaction is enabled using our lightweight ROS package (tested with ROS Kinetic on Ubuntu 16.04).



  1. ROS installation (ROS Kinetic tested);
  2. Python 3 (version 3.7 tested). We recommend using a Python environment manager like pyenv;


  1. Clone this repository (including the submodules) in the src directory of your catkin workspace:

    cd ~/catkin_ws/src
    git clone --recurse-submodules
  2. In a Python 3 environment, the required Python 3 modules can be installed using pip and our requirements file:
    pip install -r requirements.txt

  3. Install the required dependencies (husky_msgs and robot_localization ROS packages):

    sudo apt-get update
    sudo apt-get install ros-kinetic-husky-msgs ros-kinetic-robot-localization
  4. Build the enav_ros package:

    cd ~/catkin_ws
    # If you are using catkin build:
    catkin build enav_ros
    source ~/catkin_ws/setup.bash
    # Alternatively, using catkin_make:
    catkin_make --pkg enav_ros
    source ~/catkin_ws/setup.bash


Documentation on how to fetch & plot the data collected by the rover or how to show our aerial maps (along with sample Python scripts) can be found in the enav_utilities subdirectory. Similarly, instructions related to data visualization using our lightweight ROS package can be found in the enav_ros subdirectory.


(Coming soon)

You can’t perform that action at this time.