Estimation of Terrain Shape Using a Monocular Vision-based System (CS39440 Major Project)
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
Install dependencies using pip.
Please note: Due to Cython requiring installation prior to running
setup.py, this step must be followed (i.e. do not simply try to install dependencies as part of the
pip install -r requirements.txt
Compile 'C' extension modules (
.pyx) using Cython.
python setup.py build_ext --inplace
Install project module.
python setup.py install