GPU-Implementation of a Sequential Monte Carlo Technique for the Localization of an Ackerman Robot - García, Olmer; Acosta, David; Diaz, Cesar (Applied Informatics, 2018)
This article presents the parallel implementation, using a graphical processing unit (GPU), of a Sequential Monte Carlo Method, which is a sophisticated model estimation technique based on simulations, also known as Particle Filter. The particle filter is applied to the localization of a simulated Ackerman mobile robot with a simplified kinematic model. The inputs for the model are the linear displacement of the car and the steering angle, subject to additive white Gaussian noise disturbances. The car model integrates a simulated GPS and a compass which also present Gaussian noise. The program was designed using a client/server architecture, considering that the energy constraints of embedded systems used in mobile robotics favor the separation of the tasks of visualization and localization. The client is a web program responsible for the task of visualization, developed in HTML5 using JS and AJAX, and the server implements the particle filter algorithm using the libraries CUDA and Thrust, improving considerably the performance time of the particle filter. The performance is approximately 9 times faster in GPU over CPU in the tested architecture. This opens the possibility to embed this type in simulations in real-time systems.