SUMMARYAn efficient obstacle detection technique is required so that navigating robots can avoid obstacles and potential hazards. This task is usually simplified by relying on structural patterns. However, obstacle detection constitutes a challenging problem in unstructured unknown environments, where such patterns may not exist. Talukder et al. (2002, IEEE Intelligent Vehicles Symposium, pp. 610-618.) successfully derived a method to deal with such environments. Nevertheless, the method has a high computational cost and researchers that employ it usually rely on approximations to achieve real-time. We hypothesize that by using a graphics processing unit (GPU), the computing time of the method can be significantly reduced. Throughout the implementation process, we developed a general framework for processing dynamically-sized sliding windows on a GPU. The framework can be applied to other problems that require similar computation. Experiments were performed with a stereo camera and an RGB-D sensor, where the GPU implementations were compared to multi-core and single-core CPU implementations. The results show a significant gain in the computational performance, i.e. in a particular instance, a GPU implementation is almost 90 times faster than a single-core one.KEYWORDS: Obstacle detection; Autonomous navigation; Stereo vision; Graphics processing unit (GPU).
IntroductionA mobile robot with autonomous navigation capabilities can serve many practical purposes. It can be a vehicle that drives itself carrying passengers and goods or an agricultural machine that frees individuals from tedious and dangerous tasks. To accomplish such useful feat, robots must sense the environment through sensors, detect transversable regions and move through them precisely and efficiently. However, autonomous navigation involves several technical challenges, which range from dealing with intrinsically noisy sensors to correctly identifying road signs.A crucial component of an autonomous navigation system is the obstacle detection module. Regarding range images, a popular approach is to approximate the ground surface using a planar model. 1, 2 Once the model parameters have been estimated, the distance from any point to the model can be calculated and, based on a threshold, points can be distinguished as either parts of the ground or obstacles. Although reasonable for indoor environments, this approach is not suitable for outdoor ones, where one may expect to find curved and hilly regions.Another popular approach 3, 4 relies on a transformation of the disparity/range image called Vdisparity map, which is essentially a lateral projection of the range image where the longitudinal road profile is expected to appear as a line segment. With the road longitudinal profile extracted,