Skip to content
CS39440 - Major Project - Estimation of Terrain Shape Using a Monocular Vision-based System
Branch: develop
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.

Estimation of Terrain Shape Using a Monocular Vision-based System (CS39440 Major Project)

Build Status Stories in Ready Coverage Status Code Climate


Accurate navigation allows for robot requiring autonomous motion capabilities to make safe, yet objective decisions on how best to traverse from a starting location to a target location over typically uneven and/or poorly modelled terrain.

The identification and subsequent avoidance of obstacles is naturally a crucial ability for an autonomous mobile robot to possess in order to help to maximise its own chances of survival.

Combining recent advances in camera technology with appropriate computer vision algorithms and technique, the proposed project aims to design and implement a vision-based software application capable of estimating the gradient conditions of the terrain currently in front of a moving robot as it follows a route through its environment.

Through this system, it should be possible to identify the presence of both positive, and negative obstacles (e.g. rocks and pits respectively), providing a reasonable indication of their general size and location.

In addition, it is predicted that such a system will also be able to provide an estimation of the speed and change in rotation/orientation of the robot as it traverses along a path. These will be calculated as by-products of the terrain inference mechanism, and could form part of a larger visual odometry system.


Please note: Instructions should be followed at a project-level (i.e. not at repo root). Please cd into the appropiate project folder within the src folder.

  1. Install dependencies using pip.

    Please note: Due to Cython requiring installation prior to running, this step must be followed (i.e. do not simply try to install dependencies as part of the installation).

     pip install -r requirements.txt
  2. Compile 'C' extension modules (.pyx) using Cython.

     python build_ext --inplace
  3. Install project module.

     python install
You can’t perform that action at this time.