The GPUService Project is related to the context of research and development of methods for three-dimensional sensor data processing applied to mobile robotics. Such methods are called services on this project and they include 3D point cloud pre-processing algorithms, segmentation of its data, separation and identification of planar zones (ground and roads), and detection of elements of interest (edges and obstacles). Due to the large amount of data to be processed in a short period of time, these services will use parallel processing elements, using the GPU to perform partial or complete processing of the data. The application area of this project will aim to provide services for an autonomous vehicle, pushing the services towards a real-time processing system. The services are divided into the following steps, always seeking to use their intrinsic parallelism:* The first step is to organize an environment for parallel development and deployment in conjunction with the system which is already being used by the autonomous vehicle (integration with ROS - Robotic Operating System);* The second step is the intelligent extraction and representation of sensor data that will be used by the project (Laser sensor Velodyne HDL32 - 32 beams, provides 700,000 3D-points/sec.);* The third step is to extract geometric data of the track (streets) where the car is located;* The fourth step is to partition the data received from the previous steps in order to find objects (clusters) and define some semantic features associated to these objects;* The fifth step is to develop a methodology where the results of the previous steps are used in order to exploit the topology of the environment, or structure the results into a topological map (identifying roads and connections between the tracks, such as curves and intersections) to assist other projects that focus on the control system and vehicle navigation, based on this type of map/environment representation;* All these steps are carried out exploiting the inherent parallelism of each operation, by using GPUs (CUDA).The received sensor data is structured in the form of a point cloud. It allows processing with great potential for exploitation of parallelism based on the local representation of the information. However, its major difficulty is the high rate of data received from the sensor (around 700,000 points / sec), which creates the motivation for this project: to use the full potential of sensor efficiently with the power of the parallel programming GPU / CUDA.
News published in Agência FAPESP Newsletter about the scholarship: