Optimizing a mobile robot control system using GPU acceleration

Nat Tuck, Michael McGuinness, Fred Martin, Juha Röning, David P. Casasent
2012 Intelligent Robots and Computer Vision XXIX: Algorithms and Techniques  
This paper describes our attempt to optimize a robot control program for the Intelligent Ground Vehicle Competition (IGVC) by running computationally intensive portions of the system on a commodity graphics processing unit (GPU). The IGVC Autonomous Challenge requires a control program that performs a number of different computationally intensive tasks ranging from computer vision to path planning. For the 2011 competition our Robot Operating System (ROS) based control system would not run
more » ... rtably on the multicore CPU on our custom robot platform. The process of profiling the ROS control program and selecting appropriate modules for porting to run on a GPU is described. A GPU-targeting compiler, Bacon, is used to speed up development and help optimize the ported modules. The impact of the ported modules on overall performance is discussed. We conclude that GPU optimization can free a significant amount of CPU resources with minimal effort for expensive user-written code, but that replacing heavily-optimized library functions is more difficult, and a much less efficient use of time.
doi:10.1117/12.909231 fatcat:rsffzfp3fjef3ip5ovrplnz5su