Skip to main content

Enabling Real-Time Processing for ROS2 Embedded Systems

  • Chapter
  • First Online:
Robot Operating System (ROS)

Abstract

Our research aims to integrate FreeRTPS, a portable and minimalist RTPS (Real-Time Publisher-Subscriber), an implementation that provides an option for embedded ROS2 (Robot Operating System), applications where RAM(Random Access Memory)/ROM(Read-Only Memory) size is a critical factor, with FreeRTOS, a free real-time operating system for microcontrollers and small microprocessors. As a result, we have a portable system that enables sensing and the possibilities of real-time processing, while communicating with ROS2 nodes in small and low-cost devices. Even having tools to implement internal real-time processing the system not ensure that the communication with other nodes will have real time constraints, once that we look for processing and not communication real-time. Real-time processing is an important component especially in Robotics where many applications require some data processing as it comes in, what means that they need processing with time requirements. The chapter shows some concepts, how the system was developed, how to implement it on the STM32F4 microcontroller and some tests to show its capabilities. The main system was developed under Ubuntu 16.04, with a STM32F4 microcontroller, and the portability test was made under Microsoft Windows 10, with a Texas Instruments LM3S Stellaris board. All presented components are published on the wiki ROS link: http://wiki.ros.org/FreeRTPS%2BFreeRTOS.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 99.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 199.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. J. Kay, Introduction to Real-time Systems (2017), http://design.ros2.org/articles/realtime_background.html

  2. J.A. Stankovic, Misconceptions about real-time computing: a serious problem for next-generation systems. Computer 21(10), 10–19 (1988). https://doi.org/10.1109/2.7053. ISSN: 0018-9162

  3. M. Quigley, Bridging ROS to Embedded Systems: A Survey (2017), https://roscon.ros.org/2013/wp-content/uploads/2013/06/ros_and_embedded_systems.pdf

  4. M. Quigley, ROS 2 on ‘small’ Embedded Systems (2017), https://roscon.ros.org/2015/presentations/ros2_on_small_embedded_systems.pdf

  5. J. Kay, A. Tsouroukdissian, Real-Time Performance in ROS2 (2017), https://roscon.ros.org/2015/presentations/RealtimeROS2.pdf

  6. T. Nagle., C. Philips, Digital Control Systems - Analysis and Design (Pearson Prentice Hall, 1995)

    Google Scholar 

  7. F.E. Páez et al., FreeRTOS user mode scheduler for mixed critical systems, in 2015 Sixth Argentine Symposium and Conference on Embedded Systems (CASE) (2015)

    Google Scholar 

  8. Escalonamento em Sistemas de Tempo Real (2018), http://www.ece.ufrgs.br/~fetter/ele213/sched.pdf

  9. rosserial (2017), http://wiki.ros.org/rosserial

  10. rosbridge suite (2017), http://wiki.ros.org/rosbridge_suite

  11. uROSnode: a middleware targeted to embedded systems (2017), https://github.com/openrobots-dev/uROSnode

  12. rosc (2017), http://wiki.ros.org/rosc

  13. FreeRTPS (2017), https://github.com/ros2/freertps/wiki

  14. R.M.A. de Almeida, Troca de contexto segura em sistemas operacionais utilizando técnicas dedetecção e correção de erros. Ph.D thesis. Universidade Federal de Itajubá, 2013

    Google Scholar 

  15. César Augusto Marcelino dos Santos. Sistema Dinâmico de Economia de Energia em RTOS. MA thesis. Universidade Federal de Itajubá (2017)

    Google Scholar 

  16. A. Silberschatz, P.B. Galvin, G. Gagne, Operating System Concepts, 9th edn. (Wiley, New Jersey, 2009)

    Google Scholar 

  17. H.M. Deitel, P.J. Deitel, D.R. Choffnes, Sistemas Operacionais (Pearson Education, 2005). ISBN: 85-7605-011-0

    Google Scholar 

  18. Multitasking (2017), http://www.freertos.org/implementation/a00004.html

  19. License Details (2017), http://www.freertos.org/a00114.html

  20. FreeRTOS FAQ - What is This All About? (2017), http://www.freertos.org/FAQWhat.html#WhyUseRTOS

  21. FreeRTOS+UDP (2017), http://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_UDP/FreeRTOS_Plus_UDP.shtml

  22. W.F. Lages. Sistemas de Tempo Real. Editora UFRGS (2014). ISBN: 978-85-386-0234-7

    Google Scholar 

  23. K. Ogata, Engenharia de controle moderno (Pearson Prentice Hall, 2011). ISBN: 9788576058106

    Google Scholar 

  24. Q. Li, C. Yao, Real-Time Concepts for Embedded Systems (CMP Books, Taylor & Francis, 2003). ISBN: 9781578201242

    Google Scholar 

  25. E. de Souza Leal, Projeto de uma controladora Single Loop com arquitetura ARM. MA thesis. Universidade Federal de Itajubá (2012)

    Google Scholar 

  26. M.S. Fadali., A. Visioli, Digital Control Engineering: Analysis and Design, Analysis and Design Series. (Elsevier Science, 2009). ISBN: 9780080922867

    Google Scholar 

  27. W. Woodall, ROS on DDS (2017), http://design.ros2.org/articles/ros_on_dds.html

  28. Why ROS2 (2017), http://design.ros2.org/articles/why_ros2.html

  29. ROS 2 middleware interface (2017) http://design.ros2.org/articles/ros_middleware_interface.html

  30. Proposal for Implementation of Real-time Systems in ROS 2 (2017), http://design.ros2.org/articles/realtime_proposal.html

  31. RTPS Introduction (2017), http://www.eprosima.com/index.php/resources-all/rtps

  32. Prerequisites (2017), https://github.com/ros2/freertps/wiki/Prerequisites

  33. Introdução ao JSON (2017), http://www.json.org/json-pt.html

  34. Program Real-Time ROS Nodes on STM32 (2017), https://github.com/bosch-ros-pkg/stm32

  35. ROS 2.0 NuttX prototype (2017), https://github.com/bosch-ros-pkg/ros2_embedded_nuttx

  36. STM32F4DISCOVERY (2017), http://www.st.com/en/evaluation-tools/stm32f4discovery.html

  37. STM32F407VG, High-performance foundation line, ARM Cortex-M4 core with DSP and FPU, 1 Mbyte Flash, 168 MHz CPU, ART Accelerator, Ethernet, FSMC (2017), http://www.st.com/en/microcontrollers/stm32f407vg.html

  38. STMicroelectronics STM32F4DIS-BB (2017), https://www.digikey.com/product-detail/en/stmicroelectronics/STM32F4DIS-BB/497-13545-ND/3878236

  39. Stellaris R LM3S6965 Evaluation Board, User’s Manual (2017), http://www.ti.com/lit/ug/spmu029a/spmu029a.pdf

  40. Stellaris LM3S Microcontroller (2017), http://www.ti.com/product/LM3S6965

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lucas da Silva Medeiros .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer International Publishing AG, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

da Silva Medeiros, L., Julio, R.E., Almeida, R.M.A.d., Bastos, G.S. (2019). Enabling Real-Time Processing for ROS2 Embedded Systems. In: Koubaa, A. (eds) Robot Operating System (ROS). Studies in Computational Intelligence, vol 778. Springer, Cham. https://doi.org/10.1007/978-3-319-91590-6_14

Download citation

Publish with us

Policies and ethics