The VIPER System


In remotely driven systems, loss of situational awareness and fatigue are usually experienced by human operators. Despite the availability of topographical maps, operators are unable to follow rover's position and focus on mission goals. The objective of the VIPER project is to minimize these problems.

The VIsual Position EstimatoR is designed to estimate a rover's position from the images it acquires; the estimates are presented to the operator in a smooth manner.

The final goal of the VIPER system is to indicate how to produce an Augmented Reality Interface that can reduce the cognitive load on users of teleoperated systems. This is accomplished by creating visual cues that will prevent operators from getting lost or disoriented.


The implementation of the position estimator in the VIPER system can be divided into three basic sections:

Image Features

The full skyline is used as the basic structure to be matched in the images and extracted from the maps.

We have found that one image does not contain a large enough set of natural features. A panorama is generated from an image sequence where the camera rotates around its optical center and the desired features are extracted from this panorama.

The following images show an example of the type of features extracted :

The first image contains the original panorama (generated from images of the Atacama desert in Chile). In the second image, the extracted features are shown in red.

Map Features

To determine the rover's location, the features extracted from the images are matched to those obtained from a map of the region where the images were acquired. The rover's location is unknown, but the system assumes that a digital elevation map (DEM) of the region exists and the current rover position is constrained within this map.

Skyline extraction is carried out by rendering the viewable horizons in each point of the map.

Focussing on achieving the final goal, a map visualization system will allow visualization of the current rover's position and display the visual cues necessary for the objectives of the system.

Implementation (ImageMap below)

The AVS development system was chosen as a platform for the development stage as it simplifies debugging and testing. To fully use these capabilities, each part of the system was implemented as a module and these were linked in an AVS network. Information about all modules is available.

To illustrate the concept used in the implementation, the image-map below represents a layout of the Viper system. Further information about each sub-system may be obtained by clicking on its box (some are under construction).


back to Viper system