Tailoring a ROS Educational Programming Language Architecture

  • Karen Tatarian
  • Samuel Pereira
  • Micael S. CouceiroEmail author
  • David Portugal
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 829)


With its impressive rise in popularity within education at all levels, Robotics is a rapidly growing field merging science, technology, engineering and mathematics (STEM). Nevertheless, the lack of standards in educational robotics has led to several issues, namely little (or almost no) code reuse between educational robotics curriculum from different schools, large dependency on proprietary solutions, and endless paradigm shifting between text, visual and flow programming languages. This paper proposes a novel educational programming language architecture to teach students how to program robots. The architecture combines the Robot Operating System (ROS) quasi-standard with the Snap! visual programming language, targeting students from primary education to high school. As opposed to the limited alternatives available in ROS, the solution proposed does not require the acquisition of any robotic platform, running directly on the browser, and benefiting from the power of the internet to program ROS-enabled real and simulated robots.


Educational robotics Programming ROS architecture 



We sincerely thank the community for the contributions on the free and open-source frameworks adopted in this work, particularly:,, and


  1. 1.
    Benitti, F.B.V.: Exploring the educational potential of robotics in schools: a systematic review. Comput. Educ. 58(3), 978–988 (2012)CrossRefGoogle Scholar
  2. 2.
    Alimisis, D.: Educational robotics: open questions and new challenges. Themes Sci. Technol. Educ. 6(1), 63–71 (2013)Google Scholar
  3. 3.
    Kim, S.H., Jeon, J.W.: Programming Lego mindstorms NXT with visual programming. In IEEE International Conference on Control, Automation and Systems (2007)Google Scholar
  4. 4.
    Michieletto, S., Ghidoni, S., Pagello, E.: Why teach robotics using ROS? J. Autom. Mobile Robot. Int. Syst. 8(1), 60–68 (2014)Google Scholar
  5. 5.
    Quigley, M., Conley, K., Gerkey, B., Faust, J., et al.: ROS: an open-source robot operating system. In: ICRA Workshop on Open Source Software, vol. 3, no. 3.2, (2009)Google Scholar
  6. 6.
    Mavrotheris, E., Meletiou-Mavrotheris, M.: SMASH: an innovative training approach for parent education in mathematics and science. In: Proceedings of the 6th Hellenic Conference for Information and Communication Technologies in Education, pp. 349–356 (2008)Google Scholar
  7. 7.
    Joseph, L.: Mastering ROS for Robotics Programming. Packt Publishing, Birmingham (2015)Google Scholar
  8. 8.
    Noori, F.M., Portugal, D., Rocha, R.P., Couceiro, M.S.: On 3D simulators for multi-robot systems in ROS: MORSE or Gazebo?. In: Proceedings of the 15th IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR), Shanghai, China (2017)Google Scholar
  9. 9.
    Araújo, A., Portugal, D., Couceiro, M.S., Rocha, R.P.: Integrating arduino-based educational mobile robots in ROS. J. Int. Robot. Syst. 77(2), 281–298 (2015)CrossRefGoogle Scholar
  10. 10.
    Couceiro, M.S., Figueiredo, C.M., Luz, J.M.A., Ferreira, N.M., Rocha, R.P.: A low-cost educational platform for swarm robotics. Int. J. Robots, Educ. Art 2(1), 1–15 (2012)CrossRefGoogle Scholar
  11. 11.
    Kuipers, M.: Localization with the iRobot create. In: Proceedings of the 47th Annual Southeast Regional Conference, p. 33. ACM (2009)Google Scholar
  12. 12.
    Zaman, S., Slany, W., Steinbauer, G.: ROS-based mapping, localization and autonomous navigation using a pioneer 3-DX robot and their relevant issues. In: IEEE Saudi International Electronics, Communications and Photonics Conference, SIECPC 2011 (2011)Google Scholar
  13. 13.
    Crick, C., Jay, G., Osentoski, S., Pitzer, B., Jenkins, O.C.: Rosbridge: ROS for non-ROS users. In: Robotics Research, pp. 493–504. Springer, Heidelberg (2017)Google Scholar
  14. 14.
    Toris, R., Kammerl, J., Lu, D.V., et al.: Robot web tools: efficient messaging for cloud robotics. In: Proceedings of the 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 4530–4537. IEEE (2015)Google Scholar
  15. 15.
    Bellas, F., Naya, M., Varela, G., et al.: The Robobo project: bringing educational robotics closer to real-world applications. In: International Conference on Robotics and Education, RiE 2017, pp. 226–237. Springer (2017)Google Scholar
  16. 16.
    Zubrycki, I., Kolesiński, M., Granosik, G.: Graphical programming interface for enabling non-technical professionals to program robots and internet-of-things devices. In: International Work-Conference on Artificial Neural Networks, pp. 620–631. Springer (2017)Google Scholar
  17. 17.
    Yumi, N., Yuki, S., Tetsuya, O.: An effective visual programming tool for learning and using robotics middleware. Proceedings of the 2016 IEEE/SICE International Symposium on System Integration, Sapporo, Japan (2016)Google Scholar
  18. 18.
    Weintrop, D., Wilensky, U.: To block or not to block, that is the question: students’ perceptions of blocks-based programming. Proceedings of the 14th International Conference on Interaction Design and Children, Boston, Massachusetts, pp. 199–208 (2015)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Karen Tatarian
    • 1
  • Samuel Pereira
    • 2
  • Micael S. Couceiro
    • 2
    • 3
    Email author
  • David Portugal
    • 2
  1. 1.American University of BeirutBeirutLebanon
  2. 2.Ingeniarius, Lda.CoimbraPortugal
  3. 3.Institute of Systems and RoboticsUniversity of Coimbra - Pólo IICoimbraPortugal

Personalised recommendations