Mobile GPGPU Acceleration of Embodied Robot Simulation

  • Simon Jones
  • Matthew Studley
  • Alan Winfield
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 519)


It is desirable for a robot to be able to run on-board simulations of itself in a model of the world to evaluate action consequences and test new controller solutions, but simulation is computationally expensive. Modern mobile System-on-Chip devices have high performance at low power consumption levels and now incorporate powerful graphics processing units, making them good potential candidates to host on-board simulations. We use the parallel language OpenCL on two such devices to accelerate the widely-used Stage robot simulator and demonstrate both higher simulation speed and lower energy use on a multi-robot benchmark. To the best of our knowledge, this is the first time that GPGPU on mobile devices have been used to accelerate robot simulation, and moves towards providing an autonomous robot with an embodied what-if capability.


Occupancy Grid Robot Simulator Predicate Function World Grid OpenCL Kernel 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Bongard, J., Zykov, V., Lipson, H.: Resilient machines through continuous self-modeling. Science 314(5802), 1118–1121 (2006)CrossRefGoogle Scholar
  2. 2.
    Cohen-Or, D., Kaufman, A.: 3D line voxelization and connectivity control. IEEE Comput. Graphics Appl. 17(6), 80–87 (1997)CrossRefGoogle Scholar
  3. 3.
    Dorigo, M., Trianni, V., Şahin, E., Groß, R., Labella, T.H., Baldassarre, G., Nolfi, S., Deneubourg, J.-L., Mondada, F., Floreano, D., et al.: Evolving self-organizing behaviors for a swarm-bot. Auton. Robots 17(2–3), 223–245 (2004)CrossRefGoogle Scholar
  4. 4.
    Grasso, I., Radojkovic, P., Rajovic, N., Gelado, I., Ramirez, A.: Energy efficient hpc on embedded socs: optimization techniques for mali GPU. In: 2014 IEEE 28th International Parallel and Distributed Processing Symposium, pp. 123–132. IEEE (2014)Google Scholar
  5. 5.
    Hauert, S., Zufferey, J.-C., Floreano, D.: Reverse-engineering of artificially evolved controllers for swarms of robots. In: IEEE Congress on Evolutionary Computation, CEC 2009, pp. 55–61. IEEE (2009)Google Scholar
  6. 6.
    Kang, S.H., Lee, S-J., Park, I.K.: Parallelization and optimization of feature detection algorithms on embedded gpu. In: International Workshop on Advanced Image Technology (2014)Google Scholar
  7. 7.
    Keckler, S.W., Dally, W.J., Khailany, B., Garland, M., Glasco, D.: Gpus and the future of parallel computing. IEEE Micro 31(5), 7–17 (2011)CrossRefGoogle Scholar
  8. 8.
    Khronos OpenCL Working Group et al: The OpenCL Specification, Version 1.1 (2010)Google Scholar
  9. 9.
    Liu, W., Winfield, A.F.T.: Open-hardware e-puck linux extension board for experimental swarm robotics research. Microprocess. Microsyst. 35(1), 60–67 (2011)CrossRefGoogle Scholar
  10. 10.
    Maghazeh, A., Bordoloi, U.D., Eles, P., Peng, Z.: General purpose computing on low-power embedded gpus: has it come of age? In: 2013 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS XIII), pp. 1–10. IEEE (2013)Google Scholar
  11. 11.
    Manocha, D.: General-purpose computations using graphics processors. Computer 38(8), 85–88 (2005)CrossRefGoogle Scholar
  12. 12.
    Marques, H.G., Holland, O.: Architectures for functional imagination. Neurocomputing 72(4), 743–759 (2009)CrossRefGoogle Scholar
  13. 13.
    Mondada, F., Bonani, M., Raemy, X., Pugh, J., Cianci, C., Klaptocz, A., Magnenat, S., Zufferey, J-C., Floreano, D., Martinoli, A.: The e-puck, a robot designed for education in engineering. In: Proceedings of the 9th conference on autonomous robot systems and competitions, vol. 1, pp. 59–65 (2009)Google Scholar
  14. 14.
    Nvidia: NVIDIA CUDA, Compute Unified Device Architecture Programming Guide. NVIDIA, Santa Clara, CA, USA (2007)Google Scholar
  15. 15.
    O’Dowd, P., Winfield, A.F.T., Studley, M.: Towards accelerated distributed evolution for adaptive behaviours in swarm robotics. In: Belpaeme, T., Bugmann, G., Melhuish, C., Witkowski, M. (eds.) Towards Autonomous Robotic Systems. pp. 169–175. University of Plymouth (2010)Google Scholar
  16. 16.
    O’Dowd, P.J., Winfield, A.F.T., Studley, M.: The distributed co-evolution of an embodied simulator and controller for swarm robot behaviours. In: 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 4995–5000. IEEE (2011)Google Scholar
  17. 17.
    Ohkura, K., Yasuda, T., Matsumura, Y., Kadota, M.: GPU implementation of food-foraging problem for evolutionary swarm robotics systems. In: Dorigo, M., Birattari, M., Garnier, S., Hamann, H., Montes de Oca, M., Solnon, C., Stützle, T. (eds.) ANTS 2014. LNCS, vol. 8667, pp. 238–245. Springer, Heidelberg (2014) Google Scholar
  18. 18.
    Pathania, A., Jiao, Q., Prakash, A., Mitra, T.: Integrated cpu-gpu power management for 3D mobile games. In: Proceedings of the The 51st Annual Design Automation Conference on Design Automation Conference, DAC 2014, pp. 40:1–40:6. ACM, New York (2014)Google Scholar
  19. 19.
    Pinciroli, C., Trianni, V., O’Grady, R., Pini, G., Brutschy, A., Brambilla, M., Mathews, N., Ferrante, E., Caro, G.D., Ducatelle, F. et al: Argos: a modular, multi-engine simulator for heterogeneous swarm robotics. In: 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 5027–5034. IEEE (2011)Google Scholar
  20. 20.
    Şahin, E.: Swarm robotics: from sources of inspiration to domains of application. In: Şahin, E., Spears, W.M. (eds.) Swarm Robotics 2004. LNCS, vol. 3342, pp. 10–20. Springer, Heidelberg (2005) CrossRefGoogle Scholar
  21. 21.
    Vaughan, R.: Massively multi-robot simulation in stage. Swarm Intell. 2(2–4), 189–208 (2008)CrossRefGoogle Scholar
  22. 22.
    Vaughan, R.T., Zuluaga, M.: Use your illusion: sensorimotor self-simulation allows complex agents to plan with incomplete self-knowledge. In: Nolfi, S., Baldassarre, G., Calabretta, R., Hallam, J.C.T., Marocco, D., Meyer, J.-A., Miglino, O., Parisi, D. (eds.) SAB 2006. LNCS (LNAI), vol. 4095, pp. 298–309. Springer, Heidelberg (2006) CrossRefGoogle Scholar
  23. 23.
    Wang, G., Xiong, Y., Yun, J., Cavallaro, J.R.: Accelerating computer vision algorithms using opencl framework on the mobile gpu-a case study. In: 2013 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp. 2629–2633. IEEE (2013)Google Scholar
  24. 24.
    Wang, G., Xiong, Y., Yun, J., Cavallaro, J.R.: Computer vision accelerators for mobile systems based on opencl gpgpu co-processing. J. Sig. Process. Syst. 76(3), 283–299 (2014)CrossRefGoogle Scholar
  25. 25.
    Winfield, A.F.T., Blum, C., Liu, W.: Towards an ethical robot: internal models, consequences and ethical action selection. In: Mistry, M., Leonardis, A., Witkowski, M., Melhuish, C. (eds.) TAROS 2014. LNCS, vol. 8717, pp. 85–96. Springer, Heidelberg (2014) Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Bristol Robotics LaboratoryUniversity of the West of EnglandBristolUK
  2. 2.University of BristolBristolUK

Personalised recommendations