Share Email Print

Proceedings Paper

Optimizing a mobile robot control system using GPU acceleration
Author(s): Nat Tuck; Michael McGuinness; Fred Martin
Format Member Price Non-Member Price
PDF $17.00 $21.00

Paper Abstract

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 comfortably 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.

Paper Details

Date Published: 23 January 2012
PDF: 8 pages
Proc. SPIE 8301, Intelligent Robots and Computer Vision XXIX: Algorithms and Techniques, 83010Z (23 January 2012); doi: 10.1117/12.909231
Show Author Affiliations
Nat Tuck, Univ. of Massachusetts Lowell (United States)
Michael McGuinness, Univ. of Massachusetts Lowell (United States)
Fred Martin, Univ. of Massachusetts Lowell (United States)

Published in SPIE Proceedings Vol. 8301:
Intelligent Robots and Computer Vision XXIX: Algorithms and Techniques
Juha Röning; David P. Casasent, Editor(s)

© SPIE. Terms of Use
Back to Top
Sign in to read the full article
Create a free SPIE account to get access to
premium articles and original research
Forgot your username?