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.
-
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 thesetup.py
installation).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