Web nejen o robotice

Robotické operační systémy

Reklama:

Robotické operační systémy představují základní softwarovou vrstvu, která umožňuje řízení robotů a jejich komplexních funkcí. Tyto systémy lze rozdělit do několika kategorií podle jejich nasazení, architektury a hardwarových požadavků.

Hlavní kategorie robotických operačních systémů

ROS (Robot Operating System) a ROS 2

Robot Operating System není klasický operační systém v tradičním slova smyslu, ale robustní middleware framework běžící nad standardním operačním systémem, typicky nad Linuxem Ubuntu. ROS byl vyvinut v roce 2007 organizací Open Robotics a stal se de facto standardem v robotickém průmyslu.1 2 3

Hlavní charakteristiky ROS:

  • Poskytuje abstrakci hardwaru, nízkoúrovňové ovládání zařízení a implementaci běžně používaných funkcionalit1
  • Využívá grafovou architekturu, kde zpracování probíhá v uzlech (nodes), které mohou přijímat, odesílat a multiplexovat senzorická data1
  • ROS sám o sobě není RTOS (real-time operating system), ačkoliv je možné ho integrovat s real-time kódem1
  • Podporuje více programovacích jazyků včetně Pythonu a C++4
  • Obsahuje rozsáhlý ekosystém s tisíci balíčky a knihovnami4

ROS 2 - nová generace: ROS 2 představuje kompletní přepis architektury s důrazem na průmyslové nasazení. Hlavní vylepšení zahrnují:5 6

  • Podporu real-time aplikací
  • Vylepšené bezpečnostní mechanismy (autentizace a šifrování)6
  • Multiplatformní kompatibilitu (Linux, Windows, macOS)6
  • Data Distribution Service (DDS) middleware pro robustnější komunikaci7 6
  • Lepší škálovatelnost a výkon6

Minimální hardwarové požadavky:

  • Pro ROS 2 Humble: Raspberry Pi 4B s minimálně 2 GB RAM (doporučeno 4-8 GB)8
  • Pro ROS 2 Iron: Funkční na Raspberry Pi 3 B+, ačkoliv s omezeným výkonem9
  • Procesor: Vícejadrový ARM nebo x86 procesor
  • Úložiště: Minimálně 32 GB (doporučeno pro úplnou instalaci)8
  • Pro simulace a vizualizaci se doporučuje výkonné GPU10 11

Embedded Linux pro robotiku

Embedded Linux představuje vysoce přizpůsobitelnou platformu pro robotické aplikace. Využívá se především tam, kde je potřeba flexibilita a široká podpora síťových funkcí.12 13

Yocto Project: Yocto Project je open-source framework pro vytváření vlastních Linux distribucí pro embedded zařízení. Poskytuje nástroje jako OpenEmbedded build systém, BitBake a Poky referenční distribuci.14 15 16

Využití v robotice:

  • Umožňuje vytvářet optimalizované operační systémy přesně podle potřeb robota14
  • Podporuje ROS 2 Humble a další robotické frameworky14
  • Široká podpora pro různé hardwarové architektury16

Minimální požadavky pro Embedded Linux:

  • RAM: Od 64 MB (základní systémy) do 512 MB+ (komplexní aplikace)13
  • Flash/ROM: 32 MB až několik GB podle konfigurace13
  • Procesor: ARM Cortex-A/M, x86, MIPS, PowerPC12

Real-Time Operating Systems (RTOS)

RTOS jsou specializované operační systémy navržené pro aplikace s přísnými časovými požadavky. V robotice se používají tam, kde je kritická deterministická odezva systému.17 18

FreeRTOS

FreeRTOS je nejpopulárnější open-source RTOS s minimální paměťovou stopou.1920

Vlastnosti:

  • Preemptivní multitasking s podporou kooperativního plánování21
  • Podpora pro 8-bitové, 16-bitové i 32-bitové mikrokontroléry22
  • Využití v IoT zařízeních a robotických projektech23 20

Hardwarové požadavky:

  • ROM: 4-12 kB pro samotné jádro24 21
  • RAM: 250 bajtů + 400 bajtů/úloha21
  • Minimálně 8 kB RAM pro jednoduché aplikace25 26

VxWorks

VxWorks je komerční hard real-time operační systém od Wind River Systems.2728

Využití:

  • Kosmické mise (Mars Rovers, James Webb Space Telescope)28
  • Průmyslová robotika a automatizace29 30
  • Chirurgické roboty (Saroa Surgical System)30
  • Letecká technika (Boeing 787)28

Podporované platformy:

  • ARM, x86, PowerPC, RISC-V28
  • Asymetrické (AMP) i symetrické (SMP) multiprocessing28

Hardwarové požadavky:

  • Minimálně 200 kB paměti31
  • Procesory s MMU (Memory Management Unit)32

Zephyr RTOS

Zephyr je open-source RTOS vyvinutý Linux Foundation s důrazem na malou paměťovou stopu.33 31

Vlastnosti:

  • Modulární a škálovatelný design33
  • Podpora přes 600 desek napříč různými CPU architekturami33
  • Zabudované bezpečnostní mechanismy33
  • Podpora Wi-Fi, Ethernet, Bluetooth, LoRaWAN33

Hardwarové požadavky:

  • Minimálně 8 kB paměti34 31
  • Reference ROM: 2-3 kB pro minimální konfiguraci34
  • Procesory: ARM Cortex-M, ARC, RISC-V, x86, Xtensa33

RTEMS (Real-Time Executive for Multiprocessor Systems)

RTEMS je open-source RTOS používaný v kosmických misích a kritických aplikacích.35 36

Využití:

  • NASA mise: Mars Rover, Parker Solar Probe, Juno37 38
  • ESA mise: Galileo GPS satelity, ExoMars38
  • Průmyslová automatizace a bankovnictví39

Vlastnosti:

  • POSIX-compliant35 37
  • Podpora pro 18 procesorových architektur36 37
  • Symetrický multiprocessing (SMP)39 37

Podporované architektury:

  • ARM, PowerPC, Intel x86, SPARC, RISC-V, MIPS37 35

Hardwarové požadavky:

  • Minimálně 50 kB paměti39
  • 16-bitové až 64-bitové procesory39

QNX Neutrino RTOS

QNX je komerční mikrokernel RTOS od BlackBerry.40 32

Vlastnosti:

  • Mikrokernelová architektura pro vysokou spolehlivost32
  • Hard real-time výkon32
  • Certifikace pro bezpečnostně kritické aplikace (IEC 61508 SIL 3)41

Využití v robotice:

  • Průmyslová automatizace41
  • Autonomní roboty41 32
  • Zemědělské systémy41

Hardwarové požadavky:

  • Procesory x86 nebo ARMv8/ARMv932
  • Menší paměťová stopa než Linux díky menšímu kernelu32

ThreadX (Eclipse ThreadX)

ThreadX, dříve Azure RTOS, je nyní open-source RTOS pod správou Eclipse Foundation.42 43

Vlastnosti:

  • Deterministický výkon s minimální latencí42
  • Malá paměťová stopa42
  • Podpora SMP a AMP42
  • Nasazen na více než 12 miliardách zařízení43 44

Aplikace:

  • IoT zařízení44
  • Průmyslové systémy42
  • Medicínské přístroje42

NuttX

NuttX je POSIX-compliant RTOS s důrazem na standardy.45 46

Vlastnosti:

  • Škálovatelný od 8-bit do 64-bit architektur46 45
  • Virtuální souborový systém (VFS)46
  • Podpora pro loadable kernel modules46
  • Real-time plánování (FIFO, RR, SPORADIC)46

Podporované platformy:

  • ARM, AVR, MIPS, RISC-V, x86, Xtensa46

Hardwarové požadavky:

  • Minimálně 32 kB Flash, 8 kB RAM47
  • Pro pokročilé funkce (USB, Ethernet, IPv6) je lepší použít MCU s alespoň 128 kB Flash47

RIOT OS

RIOT je open-source operační systém pro IoT a embedded zařízení s důrazem na nízkou spotřebu.48 49

Vlastnosti:

  • Mikrokernelová architektura49
  • Plná podpora multithreadingu a real-time schopnosti49
  • Podporuje programování v C, C++ a Rust48 22
  • Částečná POSIX kompatibilita22 49

Hardwarové požadavky:

  • 8-bitové, 16-bitové a 32-bitové mikrokontroléry22 49
  • Podporuje přes 200 desek (AVR, MSP430, ESP8266, ESP32, ARM Cortex-M)22

Contiki a Contiki-NG

Contiki je operační systém navržený pro zařízení s výrazně omezenými zdroji.50 51

Vlastnosti:

  • Zabudovaný TCP/IP stack50
  • Podpora IPv6 a 6LoWPAN50
  • Protothread mechanismus pro efektivní multitasking51

Hardwarové požadavky:

  • RAM: 10 kB50
  • ROM: 30 kB50
  • S GUI: přibližně 30 kB RAM50

Mbed OS

Mbed OS je open-source operační systém od ARM pro IoT zařízení.52 53

Vlastnosti:

  • RTOS jádro založené na CMSIS-RTOS RTX52
  • Vícevrstvé zabezpečení včetně Mbed TLS52
  • Podpora Bluetooth LE, 6LoWPAN, Ethernet, Wi-Fi52
  • Licence Apache 2.052

Hardwarové požadavky:

  • ARM Cortex-M mikrokontroléry53 52
  • USB drag-and-drop programování52

micro-ROS

micro-ROS je specializovaná implementace ROS 2 pro mikrokontroléry.54 55

Vlastnosti:

  • Plná podpora ROS 2 komunikačních paradigmat56
  • Zero dynamic memory usage možnost pro hard real-time aplikace56
  • Transport agnostický56

Hardwarové požadavky:

  • Minimálně 32 kB RAM54 56
  • 32-bitové architektury56
  • Příklady podporovaných platforem:54
    • ESP32: 520 kB RAM, 4 MB Flash
    • Raspberry Pi Pico RP2040: 264 kB RAM
    • STM32F746: 320 kB RAM, 1024 kB Flash
    • Renesas EK RA6M5: 512 kB RAM, 2 MB Flash

Spotřeba paměti:

  • Publisher aplikace: ~400 B celkové paměti57
  • Subscriber aplikace: ~8700 B celkové paměti (s defaultním nastavením)57
  • Client/service aplikace: ~8800 B celkové paměti57
  • Stack lze redukovat na přibližně 2 kB58

Operační systémy pro vyšší výpočetní výkon

Ubuntu pro robotiku

Ubuntu je nejpoužívanější operační systém pro vývoj robotických aplikací.59 60

Ubuntu Core:

  • Optimalizovaná verze Ubuntu pro edge zařízení a IoT60
  • Kontejnerizované Snap balíčky60
  • Transaktní over-the-air aktualizace60
  • Pokročilé bezpečnostní funkce (secure boot, strict confinement)60

Výhody pro robotiku:

  • Nejlepší podpora ROS a ROS 261 59
  • Široká komunita vývojářů59
  • Pravidelné aktualizace a dlouhodobá podpora LTS verzí59

Hardwarové požadavky:

  • Minimálně 2 GB RAM (doporučeno 4-8 GB)8
  • Procesor: ARM nebo x86/x6460
  • Úložiště: Minimálně 8 GB pro základní systém60

Android pro robotiku

Android se používá pro řízení robotů přes mobilní zařízení nebo jako OS pro interaktivní roboty.62 63

Využití:

  • Dálkové ovládání robotů přes Bluetooth nebo Wi-Fi64 62
  • Interaktivní sociální roboty (např. Pepper robot)65
  • Senzorická data z mobilních zařízení pro roboty63

Android Things:

  • Verze Androidu navržená speciálně pro IoT zařízení66
  • Podpora pro smart speakers a připojené spotřebiče66

Windows IoT

Windows IoT je rodina operačních systémů Microsoftu pro embedded systémy.67 68

Windows 10 IoT Core:

  • Odlehčená verze Windows 10 pro malá zařízení67
  • Podpora pro x86, x64, ARM32, ARM6467
  • Využití v kiosках, testovacím vybavení a robotice67

Windows 10 IoT Enterprise:

  • Plná verze Windows 10 pro průmyslové aplikace68 69
  • Long-Term Servicing Channel (LTSC) pro stabilitu69
  • Podpora pro Robot Operating System (ROS)69

Hardwarové požadavky:

  • IoT Core: Raspberry Pi 3/4, MinnowBoard MAX67
  • IoT Enterprise: Standardní PC hardware69

Srovnání hlavních charakteristik

Real-time schopnosti

Hard real-time:

Soft real-time:

  • FreeRTOS19
  • ThreadX42
  • NuttX46

Non real-time:

  • ROS (běžící nad Linuxem)1
  • Ubuntu59
  • Android62

Licence

Open-source:

  • ROS/ROS 2: Apache 2.0, BSD6
  • FreeRTOS: MIT19
  • Zephyr: Apache 2.031
  • RTEMS: GPL38
  • RIOT: LGPL48 49
  • NuttX: BSD47
  • Mbed OS: Apache 2.052
  • Eclipse ThreadX: Permissive open-source43

Komerční:

  • VxWorks: Proprietární28
  • QNX: Komerční licence40

Výběr vhodného operačního systému

Při výběru robotického operačního systému je třeba zvážit následující faktory:

Pro výzkum a prototypování:

  • ROS 2 na Ubuntu poskytuje nejlepší ekosystém nástrojů a knihoven2 59
  • Snadný přístup k simulačním nástrojům jako Gazebo3 70
  • Široká komunita a dokumentace2

Pro průmyslové nasazení:

  • VxWorks nebo QNX pro kritické aplikace30 32
  • ROS 2 s real-time rozšířeními pro menší kritičnost5 6
  • Ubuntu Core pro OTA aktualizace a správu flotily60

Pro embedded systémy s omezenými zdroji:

  • FreeRTOS pro jednoduché aplikace19
  • Zephyr pro IoT zařízení s bezpečnostními požadavky33
  • micro-ROS pro integraci s ROS 2 ekosystémem54 56

Pro výukové účely:

  • Ubuntu s ROS 271 59
  • Arduino platformy pro začátečníky4
  • Mbed OS pro ARM-based projekty52

Budoucnost robotických operačních systémů

Vývoj směřuje k:

  • Lepší integraci AI a strojového učení do robotických platforem59
  • Vylepšené bezpečnostní mechanismy pro připojené roboty6 33
  • Standardizace komunikačních protokolů (DDS)7 6
  • Edge computing a cloudové integrace72 32
  • Hardwarová akcelerace pro zpracování obrazu a AI inferenci14

Robotické operační systémy se neustále vyvíjejí a nabízejí stále širší možnosti pro různé aplikace – od jednoduchých embedded systémů s několika kilobajty paměti až po komplexní autonomní systémy s multiprocesorovými platformami a gigabajty RAM.


  1. https://en.wikipedia.org/wiki/Robot_Operating_System 

  2. https://www.theconstruct.ai/about-ros-robot-operating-system/ 

  3. https://www.mathworks.com/help/ros/gs/robot-operating-system-ros-basic-concepts_mw_1b4db38c-9199-4217-82cc-3680b8dda407.html 

  4. https://thinkrobotics.com/blogs/learn/top-7-open-source-robotics-platforms 

  5. https://agrobofood.github.io/agrobofood-case-studies/case_studies/Robot-Software-Platforms.html 

  6. https://robotnik.eu/ros-2-robot-operating-system-overview-and-key-points-for-robotics-software/ 

  7. https://www.electronicdesign.com/markets/automation/article/21215225/electronic-design-ros-vs-ros-2-differences-and-practical-applications 

  8. https://jarvis.goat-robotics.com/docs/Installation/ROS2 installation/ 

  9. https://www.reddit.com/r/ROS/comments/1atreo7/ros2_iron_hardware_requirements/ 

  10. https://discourse.openrobotics.org/t/pc-hardware-for-ros-project-development-simulation/10910 

  11. https://answers.ros.org/question/370953 

  12. https://blog.felgo.com/embedded/embedded-operating-systems 

  13. https://jaycarlson.net/embedded-linux/ 

  14. https://news.accelerationrobotics.com/yocto-ros2-hardware-acceleration/ 

  15. https://www.robotsops.com/comprehensive-tutorial-yocto-project-in-robotops/ 

  16. https://www.yoctoproject.org 

  17. https://www.ibm.com/think/topics/real-time-operating-system 

  18. https://aiut.com/en/blog/rtos-the-heart-of-industrial-automation-systems/ 

  19. https://www.freertos.org/Community/Blogs/2020/micro-ros-on-freertos 

  20. https://thinkrobotics.com/blogs/learn/introduction-to-freertos-on-esp32 

  21. https://www.highintegritysystems.com/openrtos/rtos-features/ 

  22. https://github.com/RIOT-OS/RIOT 

  23. https://forums.freertos.org/t/practical-rtos-project-ideas-for-real-world-applications/17981 

  24. https://www.freertos.org/Why-FreeRTOS/FAQs/Memory-usage-boot-times-context 

  25. https://www.reddit.com/r/ECE/comments/6uwx1p/how_much_memory_does_a_uc_need_for_a_rtos/ 

  26. https://forums.freertos.org/t/freertos-memory-requirements/15928 

  27. https://www.windriver.com/resource/ros-2-for-vxworks-developer-brief 

  28. https://en.wikipedia.org/wiki/VxWorks 

  29. https://www.windriver.com/resource/deeper-dives-robots-get-real-time-running-tsn-applications-on-vxworks 

  30. https://www.electronicspecifier.com/industries/robotics/vxworks-aids-surgical-robot-development/ 

  31. https://en.wikipedia.org/wiki/Zephyr_(operating_system) 

  32. https://www.therobotreport.com/blackberry-qnx-provides-guidance-on-minimizing-jitter-latency-in-robotics/ 

  33. https://www.einfochips.com/blog/zephyr-rtos-a-game-changer-for-embedded-systems/ 

  34. https://stackoverflow.com/questions/52723496/what-is-the-minimum-amount-of-ram-requirement-for-zephyr 

  35. https://en.wikipedia.org/wiki/RTEMS 

  36. https://www.rtems.org 

  37. https://www.rtems.org/about/ 

  38. https://www.rtems.com/aboutrtems 

  39. https://embedded-brains.de/en/rtems-en/ 

  40. https://blackberry.qnx.com/en/products/foundation-software/qnx-rtos 

  41. https://blackberry.qnx.com/en/industries/robotics 

  42. https://www.omi.me/blogs/overview/threadx-azure-rtos-overview-how-to-install-pros-cons-price 

  43. https://techcommunity.microsoft.com/blog/iotblog/microsoft-contributes-azure-rtos-to-open-source/3986318 

  44. https://github.com/eclipse-threadx/rtos-docs 

  45. https://www.industrialshields.com/blog/arduino-industrial-1/first-steps-with-apache-nuttx-rtos-and-esp32-plc-571 

  46. https://events.nuttx.apache.org/wp-content/uploads/2019/11/AAssis_nx2019.pdf 

  47. https://www.embedded.com/what-is-the-nuttx-rtos-and-why-should-you-care/ 

  48. https://www.riot-os.org 

  49. https://en.wikipedia.org/wiki/RIOT_(operating_system) 

  50. https://en.wikipedia.org/wiki/Contiki 

  51. https://www.ijstr.org/final-print/oct2020/An-Overview-Of-Iot-Operating-System-Contiki-Os-And-Its-Communication-Models.pdf 

  52. https://os.mbed.com/mbed-os/ 

  53. https://www.arm.com/products/development-tools/embedded-and-software/mbed-os 

  54. https://micro.ros.org/docs/overview/hardware/ 

  55. https://micro.ros.org/docs/concepts/benchmarking/memo_prof/ 

  56. https://docs.vulcanexus.org/en/humble/rst/microros_documentation/index.html 

  57. https://discourse.openrobotics.org/t/micro-ros-memory-profiling-is-out/16928 

  58. https://github.com/micro-ROS/micro_ros_stm32cubemx_utils/issues/35 

  59. https://www.linuxjournal.com/content/what-future-ubuntu-robotics-and-ai-integration 

  60. https://ubuntu.com/robotics 

  61. https://ubuntu.com/robotics/what-is-ros 

  62. http://www.ijcsit.com/docs/Volume 7/vol7issue2/ijcsit2016070271.pdf 

  63. https://www.eti.uni-siegen.de/ezls/lehre/studiendiplomarbeiten/controlofmobilerobotwithandroidplatform/control_of_mobile_robot_with_android_platform.pdf 

  64. https://www.engineersgarage.com/android-phone-controlled-robot-using-arduino/ 

  65. https://www.robotlab.com/blog/comparison-of-peppers-os-versions 

  66. https://embeddedhash.in/operating-systems-for-embedded-systems/ 

  67. https://betawiki.net/wiki/Windows_10_IoT_Core 

  68. https://en.wikipedia.org/wiki/Windows_IoT 

  69. https://www.candtsolution.com/news_events-detail/windows-10-iot-enterprise-vs-windows-embedded/ 

  70. https://www.openrobotics.org 

  71. https://niryo.com/ubuntu-innovation-in-robotics-research-and-education/ 

  72. https://www.lenovo.com/us/en/glossary/embedded-linux/ 

  73. https://www.ros.org 

  74. https://cyberneticsrobo.com/blog/robot-operating-systems-for-robotics/ 

  75. https://www.igus.eu/automation/robot-control-system/robot-software 

  76. https://www.reddit.com/r/embedded/comments/15zqq96/is_learning_embedded_systems_the_right_way_to_get/ 

  77. https://robodk.com 

  78. https://wiki.ros.org 

  79. https://www.swiftorial.com/swiftlessons/robotics-embedded-systems/advanced-topics-future-trends/robotics-operating-systems-comparison 

  80. https://www.youtube.com/watch?v=MWKnMPX0Yjg 

  81. https://developer.nvidia.com/isaac/ros 

  82. https://cpr-robots.com/robot-control 

  83. http://ai.stanford.edu/~mquigley/papers/icra2009-ros.pdf 

  84. https://www.ijert.org/the-role-of-embedded-systems-in-robotics-a-comprehensive-review 

  85. https://discourse.openrobotics.org/t/ros2-hardware-selection-for-beginner/33762 

  86. https://www.reddit.com/r/embedded/comments/1532441/what_are_some_simple_projects_using_freertos_and/ 

  87. https://pantacor.com/embedded-linux/guide-to-building-embedded-linux-systems-for-iot-with-containers/ 

  88. https://www.linkedin.com/advice/3/what-hardware-required-ros-installation-setup-robotics-rlhzc 

  89. https://roscon.ros.org/2013/wp-content/uploads/2013/06/ros_and_embedded_systems.pdf 

  90. https://micro.ros.org/docs/tutorials/core/first_application_rtos/freertos/ 

  91. https://olive-robotics.com/docs2/ros-2/ 

  92. https://www.mobilisis.com.hr/embedded-linux-development 

  93. https://www.instructables.com/Tiny-Desktop-Robot-With-ESP32-and-FreeRTOS/ 

  94. https://docs.ros.org/en/humble/Installation.html 

  95. https://www.sciencedirect.com/science/article/abs/pii/S0736584507001287 

  96. https://www.zephyrproject.org 

  97. https://ieeexplore.ieee.org/document/10053493/ 

  98. https://www.windriver.com/resource/computer-vision-and-robotics-use-case 

  99. https://www.reddit.com/r/ROS/comments/tacpke/what_is_the_difference_between_ros_and_rtos_and/ 

  100. https://www.windriver.com/resource/robotics-the-era-of-ai 

  101. https://www.reddit.com/r/embedded/comments/11kmqw0/experiences_using_zephyr_rtos_for_embedded/ 

  102. https://www.suse.com/c/what-is-a-real-time-operating-system/ 

  103. https://www.zephyrproject.org/getting-the-best-of-all-worlds-with-zephyr-rtos/ 

  104. https://www.geeksforgeeks.org/operating-systems/real-time-operating-system-rtos/ 

  105. https://conclusive.tech/glossary/introduction-to-zephyr-rtos-features-examples-and-benefits/ 

  106. https://promwad.com/news/rtos 

  107. https://www.academia.edu/88378719/Industrial_Robot_Multirate_Control_with_the_VxWorks_Real_Time_Operating_System 

  108. https://www.qnx.com/solutions/industries/automotive/driver_assistance.html 

  109. https://onlinedocs.microchip.com/oxy/GUID-EDFB1AB8-CD6B-446F-8E25-F2167287A1AF-en-US-4/GUID-2AD6AC66-AB70-4E20-B1EF-00555DCC0F66.html 

  110. https://blogs.blackberry.com/en/2024/02/rtos-in-automotive-production 

  111. https://threadx.io 

  112. https://azuremarketplace.microsoft.com/cs-cz/marketplace/apps/blackberry1736978014039.qnx_neutrino_rtos_710_arm64_and_x86?tab=overview 

  113. https://www.rtems.com 

  114. https://github.com/eclipse-threadx/threadx 

  115. https://www.arm.com/partners/catalog/blackberry-qnx 

  116. https://summerofcode.withgoogle.com/archive/2024/organizations/rtems-project 

  117. https://www.advantech.com/en-us/resources/faq/getting-started-with-ros-on-yocto 

  118. https://networksimulationtools.com/contiki-os-cooja-simulator-iot-simulation/ 

  119. https://theembeddedkit.io/yocto/ 

  120. https://www.sciencedirect.com/science/article/pii/S2352711022000620 

  121. https://www.contiki-os.org 

  122. https://thinkrobotics.com/blogs/learn/micro-ros-on-stm32-complete-how-to-guide-for-ros-2-on-mcus 

  123. https://somcosoftware.com/en/blog/yocto-linux-build-your-own-embedded-linux-distribution