Autonomous Space Robotics Lab

Devon Island
Rover Navigation Dataset

Rover traverse data

[Back] [Overview] [Route] [Details] [Tools] [Downloads]


Overview

Collecting the rover traverse dataset

Stereo imagery, sun vectors, and inclinometer data were collected over a ten-kilometer traverse starting and ending at the Haughton-Mars Research Station on Devon Island. The data collection platform was a pushcart outfitted with typical rover engineering sensors---a Point Grey Research Bumblebee XB3 stereo camera, a Honeywell HMR-3000 inclinometer, and a Sinclair Interplanetary SS-411 digital sun sensor. For ground-truth position, a pair of Magellan ProMark3 GPS units were used to produce post-processed differential GPS data for the whole traverse. The data is partitioned into 23 sections. At the start of each section, a batch of sun vectors and inclinometer readings, together with global position from GPS, were used to estimate the rotation between the sun sensor frame and the topocentric frame. This estimate provides platform orientation at the start of each subsequence, allowing motion estimates to be easily compared to ground-truth data provided by the GPS.


Route

The rover platform travels ten kilometers over this traverse, starting at 10:00am near the Haughton-Mars Project Research Station and returning in a large loop to the start by 6:00pm. The traverse passes through many areas exhibiting the unique, vegetation-free, planetary-analogue terrain that Devon Island is known for---rocky canyons, boulder fields, sandy flats, and significant topographic relief. When collecting the data, every effort was made to ensure that a minimum of man-made objects were in view of the camera. The resulting images, coupled with data from the other sensors and excellent ground-truth position information, make a truly unique dataset relevant both to the mobile robotics and planetary exploration researchers.

[View Devon Island Rover Navigation in Google Maps or download the kmz file to view in Google Earth]

Data Collection Details

In this section we will describe basic calibration data, files available for download, and logging formats.

Data Collection Platform
Frames associated with the sensor head

The platform shown on the above was used to collect the rover traverse data. Frames associated with the platform are shown on the bottom figure.

Frame transformations

There are six frames of interest in this dataset:

Frame x-axis y-axis z-axis
(t) Topocentric East North up
(c) Left camera aligned with horizontal pixels aligned with vertical pixels optical axis
(r) Right camera aligned with horizontal pixels aligned with vertical pixels optical axis
(s) Sun sensor toward connector optical axis
(z) Inclinometer away from connector up
(g) RTK GPS - - -


To represent rotations, we will use an axis-angle representation Given a unit vector axis, a, and an angle, r, the rotation matrix, C, may be built using
where ( )x is the skew-symmetric matrix operator that can be used to implement the cross product:
To express translations, we use the notation to mean the vector from the origin of coordinate frame 'a' to the origin of coordinate frame 'b' (denoted by the superscript), expressed in coordinate frame 'a' (denoted by the subscript). Using this notation, we may build a 4x4 transformation matrix, Tab, that takes points from coordinate frame 'b' to coordinate frame 'a' as
The inter-sensor transformations are provided in the following table. A transformation, Tab, may be constructed from a row of this table by building
where 0 is the zero matrix.

Transformation x [m] y [m] z [m] a1 a2 a3 r [rad]
Tsz 0.18 -0.09 0.00 -0.013 -0.005 -0.999 1.56
Tsc 0.21 -0.17 -0.09 -0.015 -0.790 0.612 -3.11
Tcr 0.24 0.00 0.00 1.000 0.000 0.000 0.00
0.20 -0.12 -0.03 - - - -

Timestamp format

Timestamps in the log files are stored in ISO 8601 format. The first image of the stereo sequence has the following timestamp:

        2008-07-12T09:59:41.812500-05:00
        ---- -- -- -- -- --------- -----
        |    |  |  |  |  |         |
Year   --    |  |  |  |  |         |
Month  -------  |  |  |  |         |
Day    ----------  |  |  |         |
Hour   -------------  |  |         |
Minute ----------------  |         |
Seconds-------------------         |
Time-zone offset--------------------
The time-zone offset, -05:00, is the offset for Central Daylight Time (CDT) on the date that the dataset was recorded. To recover Coordinated Universal Time (UTC), 5 hours must be added to the timestamp. Matlab scripts for parsing ISO time strings are available here.

Images

The full sequence contains 49410 images. The full-color, full-resolution sequence is over 338.1 gigabytes of data. To ease the use of the dataset, we have taken two steps to make this more manageable. First, we have split the full sequence into 23 subsequences. An estimate of the platform's orientation in the topocentric frame is available for the first image of each of these subsequences, allowing easy comparison of motion estimate results to ground truth. Second, we have included three versions of the dataset so that only the specific version needed must be downloaded. The versions are:
  1. Unrectified, color images at 1280x960 resolution
  2. Rectified, color images at 1280x960 resolution
  3. Rectified, greyscale images at 512x384 resolution.
The stereo camera intrinsic parameters and rectification maps were provided by Point Grey Research. The processing provided by the Point Grey Research libraries dewarps and rectifies the raw images so that they appear to come from two pinhole cameras with parallel optical axes, square pixels, and equal focal lengths. Under this model the calibration parameters are provided in the following tables.

Camera calibration, Rectified, 1280x960
Baseline: 0.239977002
Focal Length: 968.999694824
ImageCenter (row, col): 463.537109375 635.139038086
Resolution (rows, cols): 960 1280

Camera calibration, Rectified, 512x384
Baseline: 0.239977002
Focal Length: 387.599884033
ImageCenter (row, col): 185.114852905 253.755615234
Resolution (rows, cols): 384 512

We have provided the rectification lookup tables in the file RectificationLUTs.zip. Each camera has two files lut-{left,right}-x.txt and lut-{left,right}-y.txt. These are space-seperated ASCII files containing the two-dimensional x and y lookup tables for rectification (Lx and Ly) such that:


This is the format needed by the OpenCV remap function. In Matlab, the rectification look up tables may be loaded using the script readRectificationLuts.m and an image may be rectified using the script rectifyImage.m. See the Tools section for more details.

Log file formats

This section lists the log files and describes their formats. For convenience, matlab scripts are provided to parse all log files. See the Tools section for more details. The log files have been bundled into a single zip file: rover-traverse-logs.zip [2.9 MB]

image-times.txt

A text file mapping the image sequence number to the time the image was taken. The columns of this file are as follows:

image index timestamp

known-orientations.txt

At 23 points along the traverse, the platform was stopped to gather a bundle of sun sensor and inclinometer measurements. These were used to estimate the orientation of the platform with respect to the topocentric frame (t) (x: east, y: north, z: up). The file 'known-orientations.txt' contains the results for these 23 locations. The file contains the image index, along with the parameters of the rotation Ctc using the axis-angle convention described above. The columns of this file are:

image index atc1 atc2 atc3 rtc [rad]

The entry atcn is the nth component of the unit-length axis atc, and rtc is the rotation around this axis in radians.

inclinometer.txt

A text file containing inclinometer readings. The inclinometer was logging at 1Hz but the logging was paused at many points throughout the day. The columns in this file are as follows:

timestamp pitch [deg] roll [deg]

To transform the pitch/roll readings into a unit gravity vector (pointing down), g, in the inclinometer frame, let p = pitch and r = roll:
g = [sin(p), -sin(r) cos(p), -cos(r) cos(p)]T

inclinometer-sampled.txt

A text file containing inclinometer readings that have been associated with images. The columns in this file are as follows:

image index pitch [deg] roll [deg] time offset [s]

The time offset is the amount of time between the inclinometer reading and the image capture time.

sun-sensor.txt

A text file containing sun sensor readings. The columns of this file are as follows:

timestamp azimuth angle [deg] zenith angle [deg]

To transform the sun sensor readings into a unit vector, s, pointing to the sun in the sun sensor frame, let a = azimuth angle and b = zenith angle:
s = [sin(b)cos(a), sin(b)sin(a), cos(b)]T

sun-sensor-sampled.txt

A text file containing sun sensor readings that have been associated with images. The columns in this file are as follows:

image index azimuth angle [deg] zenith angle [deg] time offset [s]

The time offset is the amount of time between the sun sensor reading and the image capture time.

gps-latlngele.txt

A text file containing the latitude, longitude, and elevation of the platform, all expressed with respect to the WGS84 ellipsoid. The columns of this file are:

timestamp latitude [deg] longitude [deg] elevation [m]

gps-latlngele-sampled.txt

A text file containing the latitude, longitude, and elevation of the platform, all expressed with respect to the WGS84 ellipsoid, and sampled at the image times. The columns of this file are:

image index latitude [deg] longitude [deg] elevation [m]

gps-utm.txt

A text file containing the UTM Easting, Northing, and elevation of the platform. The UTM zone is 16X and the elevation is expressed with respect to the WGS84 ellipsoid. The columns of this file are:

timestamp latitude [deg] longitude [deg] elevation [m]

gps-topocentric.txt

A text file containing the metric displacement of the camera in the topocentric frame (x points East, y points North, and z points up) relative to the initial position (i.e., the position of the first image is [0,0,0]) and sampled at the image times. The columns of this file are as follows:

image index easting [m] northing [m] elevation [m]



Access Tools

The following tools are provided for the convenience of dataset users.

Matlab Scripts

  • axisAngle2Dcm.m - Convert an axis and rotation angle into a rotation matrix.
  • dcm2AxisAngle.m - Convert a rotation matrix into an axis and rotation angle.
  • crossMx.m - The skew-symmetric matrix that may be used to implement the cross product.
  • deg2rad.m - Converts degrees to radians.
  • rad2deg.m - Converts radians to degrees.
  • datenumToIsoTimeString.m - Converts a matlab datenum into an ISO time string.
  • getIsoTimeStringRegexp.m - Provides a regular expression that may be used to match an ISO time string
  • isoTimeStringToDatenum.m - Converts an ISO time string into a matlab datenum
  • readGpsLatLngEle.m - Reads the GPS latitude/longitude/elevation file.
  • readGpsLatLngEleSampled.m - Reads the sampled GPS latitude/longitude/elevation file.
  • readGpsUTM.m - Reads the GPS latitude/longitude/elevation file.
  • readGpsTopocentric.m - Reads the GPS topocentric file.
  • readImageTimes.m - Reads the image times file.
  • readInclinometer.m - Reads the raw inclinometer data file.
  • readInclinometerSampled.m - Reads the sampled inclinometer data file.
  • readKnownOrientations.m - Reads the file of known orientations.
  • readSunSensor.m - Reads the sun sensor raw data file.
  • readSunSensorSampled.m - Reads the sampled sun sensor data file
  • plotMotionEstimateVsGps.m - Plots a motion estimate against GPS.
  • readRectificationLuts.m - Read the rectification look up tables.
  • rectifyImage.m - Rectify an image using the rectification look up tables.
  • getInterSensorTransformation.m - Build the 4x4 inter-sensor transformation between any pair of sensors.
[Download Matlab Scripts (zip file)]

Downloads

Links to download all files are provided below. Alternately, log in to the ftp site and use and ftp client to download files in batch.
ftp://asrl3.utias.utoronto.ca/Devon-Island-Rover-Navigation/rover-traverse/

Important note: The dataset provides ftp download links. Some browsers no longer enable ftp links by default and you need to change the settings if you want to download using the browser. Using the wget command is an alternative to avoid the browser.

Log files

The log files have been bundled into a single zip file: rover-traverse-logs.zip [2.9 MB]

Images

Download links for each of the three versions of the images are provided below. We have also prepared videos of each subsequence for easy preview of the images.

sequence-00 sequence-01 sequence-02 sequence-03 sequence-04 sequence-05 sequence-06 sequence-07 sequence-08 sequence-09 sequence-10 sequence-11 sequence-12 sequence-13 sequence-14 sequence-15 sequence-16 sequence-17 sequence-18 sequence-19 sequence-20 sequence-21 sequence-22
High-resolution video previews
Subsequence Start image End image Download link
0 1 2087 sequence-00.mpg [167 MB]
1 2088 4488 sequence-01.mpg [192 MB]
2 4489 7451 sequence-02.mpg [237 MB]
3 7452 10207 sequence-03.mpg [220 MB]
4 10208 12265 sequence-04.mpg [165 MB]
5 12266 14996 sequence-05.mpg [215 MB]
6 14997 17625 sequence-06.mpg [206 MB]
7 17626 19789 sequence-07.mpg [173 MB]
8 19790 21508 sequence-08.mpg [138 MB]
9 21509 23802 sequence-09.mpg [182 MB]
10 23803 26633 sequence-10.mpg [226 MB]
11 26634 28568 sequence-11.mpg [154 MB]
12 28569 31334 sequence-12.mpg [221 MB]
13 31335 33806 sequence-13.mpg [198 MB]
14 33807 36016 sequence-14.mpg [177 MB]
15 36017 38795 sequence-15.mpg [222 MB]
16 38796 41317 sequence-16.mpg [202 MB]
17 41318 43418 sequence-17.mpg [168 MB]
18 43419 45112 sequence-18.mpg [135 MB]
19 45113 46680 sequence-19.mpg [125 MB]
20 46681 48123 sequence-20.mpg [108 MB]
21 48124 48977 sequence-21.mpg [59 MB]
22 48978 49410 sequence-22.mpg [32 MB]


Unrectified, color images at 1280x960 resolution
Subsequence Start image End image Download link
0 1 2087 color-raw-1280x960-s00.zip [14.3 GB]
1 2088 4488 color-raw-1280x960-s01.zip [16.4 GB]
2 4489 7451 color-raw-1280x960-s02.zip [20.3 GB]
3 7452 10207 color-raw-1280x960-s03.zip [18.9 GB]
4 10208 12265 color-raw-1280x960-s04.zip [14.1 GB]
5 12266 14996 color-raw-1280x960-s05.zip [18.7 GB]
6 14997 17625 color-raw-1280x960-s06.zip [18.0 GB]
7 17626 19789 color-raw-1280x960-s07.zip [14.8 GB]
8 19790 21508 color-raw-1280x960-s08.zip [11.8 GB]
9 21509 23802 color-raw-1280x960-s09.zip [15.7 GB]
10 23803 26633 color-raw-1280x960-s10.zip [19.4 GB]
11 26634 28568 color-raw-1280x960-s11.zip [13.2 GB]
12 28569 31334 color-raw-1280x960-s12.zip [18.9 GB]
13 31335 33806 color-raw-1280x960-s13.zip [16.9 GB]
14 33807 36016 color-raw-1280x960-s14.zip [15.1 GB]
15 36017 38795 color-raw-1280x960-s15.zip [19.0 GB]
16 38796 41317 color-raw-1280x960-s16.zip [17.3 GB]
17 41318 43418 color-raw-1280x960-s17.zip [14.4 GB]
18 43419 45112 color-raw-1280x960-s18.zip [11.6 GB]
19 45113 46680 color-raw-1280x960-s19.zip [10.7 GB]
20 46681 48123 color-raw-1280x960-s20.zip [9.9 GB]
21 48124 48977 color-raw-1280x960-s21.zip [5.8 GB]
22 48978 49410 color-raw-1280x960-s22.zip [2.9 GB]


Rectified, color images at 1280x960 resolution
Subsequence Start image End image Download link
0 1 2087 color-rectified-1280x960-s00.zip [14.3 GB]
1 2088 4488 color-rectified-1280x960-s01.zip [16.4 GB]
2 4489 7451 color-rectified-1280x960-s02.zip [20.3 GB]
3 7452 10207 color-rectified-1280x960-s03.zip [18.9 GB]
4 10208 12265 color-rectified-1280x960-s04.zip [14.1 GB]
5 12266 14996 color-rectified-1280x960-s05.zip [18.7 GB]
6 14997 17625 color-rectified-1280x960-s06.zip [18.0 GB]
7 17626 19789 color-rectified-1280x960-s07.zip [14.8 GB]
8 19790 21508 color-rectified-1280x960-s08.zip [11.8 GB]
9 21509 23802 color-rectified-1280x960-s09.zip [15.7 GB]
10 23803 26633 color-rectified-1280x960-s10.zip [19.4 GB]
11 26634 28568 color-rectified-1280x960-s11.zip [13.2 GB]
12 28569 31334 color-rectified-1280x960-s12.zip [18.9 GB]
13 31335 33806 color-rectified-1280x960-s13.zip [16.9 GB]
14 33807 36016 color-rectified-1280x960-s14.zip [15.1 GB]
15 36017 38795 color-rectified-1280x960-s15.zip [19.0 GB]
16 38796 41317 color-rectified-1280x960-s16.zip [17.3 GB]
17 41318 43418 color-rectified-1280x960-s17.zip [14.4 GB]
18 43419 45112 color-rectified-1280x960-s18.zip [11.6 GB]
19 45113 46680 color-rectified-1280x960-s19.zip [10.7 GB]
20 46681 48123 color-rectified-1280x960-s20.zip [9.9 GB]
21 48124 48977 color-rectified-1280x960-s21.zip [5.8 GB]
22 48978 49410 color-rectified-1280x960-s22.zip [2.9 GB]


Rectified, greyscale images at 512x384 resolution.
Subsequence Start image End image Download link
0 1 2087 grey-rectified-512x384-s00.zip [0.8 GB]
1 2088 4488 grey-rectified-512x384-s01.zip [0.9 GB]
2 4489 7451 grey-rectified-512x384-s02.zip [1.0 GB]
3 7452 10207 grey-rectified-512x384-s03.zip [1.0 GB]
4 10208 12265 grey-rectified-512x384-s04.zip [0.8 GB]
5 12266 14996 grey-rectified-512x384-s05.zip [1.0 GB]
6 14997 17625 grey-rectified-512x384-s06.zip [1.0 GB]
7 17626 19789 grey-rectified-512x384-s07.zip [0.8 GB]
8 19790 21508 grey-rectified-512x384-s08.zip [0.7 GB]
9 21509 23802 grey-rectified-512x384-s09.zip [0.9 GB]
10 23803 26633 grey-rectified-512x384-s10.zip [1.0 GB]
11 26634 28568 grey-rectified-512x384-s11.zip [0.7 GB]
12 28569 31334 grey-rectified-512x384-s12.zip [1.0 GB]
13 31335 33806 grey-rectified-512x384-s13.zip [0.9 GB]
14 33807 36016 grey-rectified-512x384-s14.zip [0.8 GB]
15 36017 38795 grey-rectified-512x384-s15.zip [1.0 GB]
16 38796 41317 grey-rectified-512x384-s16.zip [0.9 GB]
17 41318 43418 grey-rectified-512x384-s17.zip [0.8 GB]
18 43419 45112 grey-rectified-512x384-s18.zip [0.6 GB]
19 45113 46680 grey-rectified-512x384-s19.zip [0.6 GB]
20 46681 48123 grey-rectified-512x384-s20.zip [0.5 GB]
21 48124 48977 grey-rectified-512x384-s21.zip [0.3 GB]
22 48978 49410 grey-rectified-512x384-s22.zip [0.2 GB]

[Back] [Top] [Overview] [Route] [Details] [Tools] [Downloads]