Biorobotics Laboratory BioRob

Stereo Vision Library for Obstacle Avoidance Applications

The aim of the project is to provide mobile robots with binocular vision perception. In this scope our work is focused on two animal-like robots, developed at the BIRG laboratory of the EPFL. We designed all the tools required to produce a highly reliable depth map specific for obstacle avoidance applications. We completely managed the whole reconstruction process, from hardware assembling to software implementation. First we built an appropriate hardware composed of two scientific firewire cameras mounted on an aluminum support. Cameras sensors exposition is synchronized trough an external trigger signal. The cameras synchronism plays a crucial role specially when points of view change permanently. This is the case when using a mobile robot. To achieve a perfect synchronization we have designed a driver controlling the external trigger pulse so that hardware and software cooperate consistently. Such architecture is able to manage any delay that could affect the acquisition threads. Finally, for the data analysis part, we proposed a new stereo algorithm especially designed to be used for robot navigation applications. It is fast and very robust, and allows to suppress the need of empirically set threshold values. The stereo library is self-adapting and is able to manage environment luminosity modifications. A texture quality filter is used to drop image portions yielding to a probable mismatch. This technique increases the algorithm performance and its reliability. We also propose a new consistency check, which is especially designed to allow close objects detection. All stereo algorithms are bounded by a minimal and maximal measurable distance. To overcome the minimal distance limit a detection model based on neural networks is proposed. Neural networks are used to identify the objects being out of the minimal range. A floor detection filter is also introduced, whose purpose is to filter out all floor depth measurement. This is useful since floor should not be detected as an obstacle.

for further information download the report


Robot obstacle avoidance demo