Klepsydra-logo

Klepsydra ROS2 Multi Core Ring Buffer Executor

Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-product-image

Fa'amatalaga o oloa

Fa'amatalaga

  • Mamafa, faʻapitoa, ma fetaui ma le tele o faiga faʻaogaina
  • ROS2 Executor plugin e mafai ona faʻagaoioia e oʻo atu i le 10 taimi sili atu faʻamatalaga ma oʻo atu i le 50% faʻaitiitiga i le faʻaaogaina o le CPU.
  • GPU (Graphic Processing Unit) mo le maualuga o le parallelization ma le faʻateleina o le gaosiga o faʻamaumauga ma le faʻaogaina o le GPU
  • Klepsydra AI
  • Klepsydra SDK
  • Klepsydra GPU
  • Avanoa gafatia
  • Klepsydra ROS2 executor plugin i le lalolagi atoa

Fa'atonuga o le Fa'aaogaina o Mea

  1. Si'osi'omaga: Fa'agasologa Fa'atasi
    O le oloa ua mamanuina e foia ai luitau e fesoʻotaʻi ma le faʻaogaina o luga o le laupapa i avanoa avanoa, lea e popole ai le faʻaogaina o le CPU, le tele o faʻamaumauga, ma manaʻoga. E ofoina atu se fofo mo meafaigaluega faʻaonaponei ma polokalama tuai e ala i le taulimaina lelei o voluma faʻamaumauga.
  2. Faatusatusa ma Fetufaai
    "Faatusatusa ma Swap" o se algorithm o loʻo faʻaaogaina i multithreading e ausia ai le faʻamaopoopoina. E fa'atusatusa mea o lo'o i totonu o se nofoaga e manatua ai ma se tau ua tu'uina atu ma, pe afai e tutusa, suia mea o lo'o i totonu o lena nofoaga manatua i se tau fou ua tu'uina atu. O lenei ta'aloga o lo'o faia e pei o se ta'aloga atomika e tasi. O loʻo faʻaaogaina e le oloa lenei algorithm o se vaega o lona faʻatinoga.

Le lelei ma le le lelei o Polokalama e leai se loka
O lo'o fa'aogaina e le 'oloa faiga fa'apolokalame e leai se loka, lea e iai le advantages ma disadvantages

  • Tulaga lelei:
    • Fa'aitiitia le fa'aogaina o le PPU
    • Fa'atino lelei le tele o fa'amaumauga
  • Le lelei:
    • Lavelave i le faatinoga
    • Mana'omia le lagolago mai masini fa'avae (o le tele o masini fa'aonaponei e lagolagoina polokalame e leai se loka)

ROS2 Fa'atonu
O le oloa e aofia ai le ROS2 Executor o loʻo faʻatulagaina le talosaga ROS2 e ala i le puleaina o toe foʻi mai o saofaga, feʻau, tautua, taimi, ma nodes. Na te fa'aaogaina fe'au mai laina pito i lalo ole DDS ma tu'u atu mo le fa'atinoina i se tasi o filo. E mafai ona fa'atulagaina le fa'atonu e fa'atino fa'asologa toe fo'i fa'asolosolo pe fa'atasi.

Fa'atonu ROS2 fa'aonaponei
O le oloa o loʻo tuʻufaʻatasia faʻaonaponei ROS2 Executors e tuʻuina atu taʻiala faʻatinoina eseese.

  • Fa'atonu Fa'ato'a Nofo Tasi: Fa'atino toe fo'i fa'asolosolo fa'asolosolo ma su'esu'e fa'avaitaimi le fausaga o talosaga e fa'afou ai nodes, saofaga, tautua, ma isi.
  • Fa'atonu Fa'asolo Fa'asolo: Fa'atino toe fo'i fa'atasi ma su'esu'e fa'avaitaimi le fausaga o talosaga e fa'afou ai le fa'amatalaga o le fa'afitauli.

Fa'ata'ita'i Fa'atonu
O le oloa e faʻaalia ai se faʻataʻitaʻiga faʻafefe e ese mai le faʻaogaina o filo i le tele o itu

  • E le toe fausia le lisi e mafai ona fa'atinoina mo su'esu'ega uma.
  • O nodes uma, vaega e toe fo'i i tua, timers, saofaga, ma isi mea e faia i le taimi o le fausiaina.
  • O saofaga uma i totonu o se node e faʻatinoina i luga o le filo lava e tasi, e tusa lava po o le a le aofaʻi o 'au e faʻaaogaina mo le seti faʻafefe.
  1. Klepsydra Streaming Executor
    O le fa'ata'ita'iga fa'ata'ita'i a le oloa ua fa'atulagaina fa'apitoa e fa'atautaia ai mataupu fa'asalalau e fa'aaoga ai paga fa'asalalau-faitalafu. E lelei le tu'uina atu o fe'au i le au fai saofaga i nodes uma, maua mai le middleware e ala i le rmw. O le fa'alavelave fa'alavelave e fa'atautaia nei autu, fa'amautinoa le sologa lelei o fa'amaumauga.
  2. Malo o Klepsydra
    O le Klepsydra Realm o se vaega o le faʻatonuina o loʻo galue o se faʻatulagaina. E fa'amaopoopoina le fa'ataunu'uina o tagata gaosi ma tagata fa'atau i totonu o le fa'asologa fa'afefe.
  3. Tufuga
    O le tagata gaosi oloa e nafa ma le fausiaina o faʻamatalaga o le a faʻaaogaina e le au fai saofaga. E lagolagoina e le oloa le tele o tagata gaosi oloa i le seti faʻafefe.
  4. Tagata fa'atau
    O le tagata fa'atau e nafa ma le fa'agaioiina ma le fa'aogaina o fa'amaumauga na gaosia e le au gaosi oloa. E lagolagoina e le oloa le tele o tagata fa'atau i le seti fa'afefe.

Fesili e Fai soo (FAQ)

  1. O a faiga fa'aoga e fetaui ma le oloa?
    O le oloa e fetaui lelei ma faiga fa'aoga masani.
  2. O le a le tele o faʻamatalaga e mafai ona faʻatusatusa i le gaosiga o oloa faʻatusatusa i metotia masani?
    O le oloa e mafai ona faʻaogaina i luga ole 10 taimi sili atu faʻamatalaga ma e oʻo atu ile 50% faʻaitiitiga ile faʻaogaina ole CPU pe a faʻatusatusa i auala masani.
  3. E fa'aogaina e le oloa le fa'atusa GPU?
    Ioe, o lo'o fa'aogaina e le oloa le GPU (Graphic Processing Unit) mo le fa'atusa maualuga, lea e fa'ateleina ai le fa'asologa o fa'amaumauga ma le fa'aogaina o le GPU.

Ose Faiga Fa'apitoa mo Fa'atonuga mo le Tele-Core ROS2 Talosaga: O le Fa'atonu Fa'atonu ROS2 Fa'amama Fa'asolo

Fonotaga a le ROS Stuttgart 2023

Dr Pablo Ghiglino ( pablo.ghiglino@klepsydra.com )

Le ROS2 Streaming Executor

FA'ASA'OGA: FA'A'O'O'OGA FA'ATASI

  • Lu'itau ile fa'agaioiga ile va'aKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (1)
  • Meafaigaluega fa'aonaponei ma polokalama tuai:
    • O komipiuta e sili atu le tele o fa'amaumauga e maualalo ma feololo
    • Le fa'aogaina o punaoa
    • Malosi tele mo le maualalo o fa'amaumauga

Taunuuga mo Avanoa talosaga

  • Fa'ato'a fa'aletonu misiona ona o polokalame
  • O le avanoa i faʻamatalaga faʻamatalaga mai le lalolagi e alu le taimi.
  • Satelite tauivi e ausia manaoga manaKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (2)

Faatusatusa ma SWAP

  • Fa'atusatusa-ma-swap (CAS) o se fa'atonuga e fa'aoga i le tele o filo e maua ai le fa'atasi. E fa'atusatusa mea o lo'o i totonu o se nofoaga e manatua ai ma se tau ua tu'uina atu ma, se'i vagana ua tutusa, fa'afetaui mea o lo'o i totonu o lena nofoaga manatua i se tau fou ua tu'uina atu. E faia lenei mea e pei o se galuega atomika e tasi.
  • Faatusatusa-ma-Swap o se vaega taua o le IBM 370 tusiata mai le 1970.
  • Maurice Herlihy (1991) faʻamaonia e mafai e le CAS ona faʻaaogaina le tele o nei algorithms nai lo le faitau atomic, tusitusi, ma le fetch-and-add.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (3)

TULAGA MA LE LEAGA O POLOKALAME E LEAI LOKAKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (4)

Fa'alelei

  • Faʻaitiitia le faʻaaogaina o le CPU e manaʻomia
  • Fa'asao maualalo ma maualuga atu fa'amaumauga
  • Fa'ateleina le fa'atupula'ia

Cons

  • Faiga fa'akomepiuta faigata tele
  • Manaomia le gaosiga ma faʻatonuga CAS (90% o le maketi o loʻo i ai, e ui lava)

Klepsydra Ring-buffer

Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (5)

O LE GALUEGA
Mamafa, faʻapitoa ma fetaui ma le tele o faiga faʻaogaina

  • SDK – Pusa Atina'e Polokalama
    Fa'ateleina le fa'agaioia o fa'amaumauga i le pito mo fa'aoga lautele ma fa'agaioiga fa'agaioiga malosi
  • AI - Faʻamatalaga Faʻamatalaga
    Ole afi ole feso'ota'iga neural maualuga (DNN) e fa'atino ai so'o se AI po'o masini a'oa'oga i le pito
  • ROS2 Executor plugin
    Fa'atonu mo le ROS2 e mafai ona fa'agasolo i le 10 taimi sili atu fa'amaumauga ma o'o atu i le 50% fa'aitiitiga i le fa'aaogaina o le CPU.
  • GPU (Vaega Fa'akalafi)
    Tulaga maualuga o le GPU e faʻateleina ai le faʻasologa o faʻamaumauga ma le faʻaogaina o le GPUKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (6)

Tulaga: ROS1 i Avanoa

  • Fa'amanuiaga:
  • Fa'atagaina le tuto'atasi, fa'aaliga, ma le fa'atonu i le vateateaKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (1)
  • Fetuuna'i, fa'apitoa, ma lagolagoina e se fa'alapotopotoga tele.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (2)
  • Examples:
    • NASA's Robonaut 2 (R2) - Fesoasoani i tagata vaalele i luga o le ISS
    • NASA's Astrobee - Ta'aloga tuto'atasi ile ISS
    • SPHERES - Satelite lapotopoto mo suʻesuʻega ile ISS
    • Dextre - Robotic lima mo le faʻaogaina ma toe faʻaleleia i luga o le ISS
    • Google Lunar XPRIZE - Faʻaaogaina mo misiona o le masinaKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (3)

Si'osi'omaga: Space-ROS

  • ROS fa'avae i su'esu'ega avanoa ma robotics
    Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (4)
  • Ose vaega agavaa mo Avanoa fa'aoga
  •  Examples:
    Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (5)
    • Robotic fesoasoani mo tagata vaalele
    • Su'esu'ega o le paneta ma rovers tuto'atasi
    • Fa'agaioiga satelite ma fa'atonutonu
      Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (6)
    • Tuto'atasi va'a va'alele
    • Au'aunaga ma toe lipea i luga ole ala
      Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (7)
  • Fa'amanuiaga:
    • Fa'atagaina le tuto'atasi, feso'ota'iga, ma le va'aiga
    • Fa'atelevave le atina'eina ma le fa'agaioiga o le vateatea.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (8)

ROS2 Executor Fa'amatala

E fa'amaopoopo ma fa'atulaga e le fa'atonu le talosaga a le ROS2 e ala i le fa'atonutonuina o toe fa'afo'i o le lesitala, fe'au, tautua, taimi ma nodes. I le ROS2, e le tausia e le tagata faʻatonu lana lava laina o feʻau ma toe foʻi mai, ae faʻaaoga feʻau mai laina DDS o loʻo i lalo, ona tuʻuina atu lea mo le faʻatinoina i se tasi o filo.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (9)

Fa'aonaponei

ROS2 Fa'atonu

  • Tasi fa'atino filo e tasi: E fesiligia e se filo e tasi le middleware ma fa'atino fa'asologa toe fo'i. Ona suʻeina lea o le fausaga ma faʻafouina nodes, saofaga, auaunaga, ma isi.
  • O le Static single threaded executor, lea e na'o le tasi e fa'atino ai le su'esu'eina ma le fa'amatalaga o le fausaga, i le taimi o le fausiaina. O nodes uma, vaega toe fo'i i tua, timers, saofaga ma isi mea e faia a'o le'i ta'ua le vili().
  • O le tele-threaded executor e fatuina se numera o filo o le a faʻatino ai toe foʻi i tua. E tutusa ma le faʻatinoina o filo e tasi, o le a suʻesuʻeina i lea taimi ma lea taimi le fausaga o le talosaga ma faʻafouina le faʻamatalaga o le faʻafitauli.

Le executor streaming Overview

  • E fa'aogaina e le Streaming Executor le Klepsydra Event Loop e momoli ai fe'au i le au fai saofaga i nodes uma, e sau mai le middleware e ala i le rmw. O le fa'alavelave fa'alavelave e fa'atautaia nei autu e fa'aoga ai pa'aga a le tagata fa'asalalau-faitalafu.
  • O le fa'ata'ita'i fa'ata'ita'iga e fa'apena fo'i le amio fa'atasi ma le fa'atinoina o filo i le tele o itu. Muamua, e le toe fausia le lisi faʻatinoina mo faʻamatalaga uma. O nodes uma, vaega toe fo'i, timers, saofaga ma isi mea e faia i le taimi o le fausiaina. Lona lua, o saofaga uma i totonu o se node e faʻatinoina i luga o le filo lava e tasi, e tusa lava po o le a le numera o 'au e faʻaaogaina mo le faʻaogaina o le faʻaogaina.

Klepsydra Streaming Executor

Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (7)

O le fa'ata'ita'iga fa'atafe

E faapefea ona aoga?

  • E faia se paga tagata tala'i-faitala'i mo autu ta'itasi e mana'omia e le node ROS2.
  • I totonu, ta'i pa'aga ta'itasi-faitalafu e fa'ailoaina i ta'iala se lua: le igoa node ma le igoa autu. I se isi faaupuga, lua nodes eseese lolomi i le autu lava e tasi o le a pulea tutoatasi.
  • O pa'aga uma o lo'o fa'asalalau-talatala e feso'ota'i ma autu e fa'atatau i le node e tasi o lo'o fa'afoeina e le fa'alavelave e tasi.Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (10)

O le fa'ata'ita'iga fa'ata'ita'iga Ta'itasi-autu vs tele-autuKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (8)

  • Le advantagO le faʻatonuga faʻafefe e leai se manaʻoga mo le tele o faʻasalalauga pulega o le au fai saofaga ona oi latou uma o loʻo pulea e le filo o le faʻalavelave faʻalavelave faʻafuaseʻi, lea e taatele i le tasi-core ma multi-core.
  • O le mea muamua e galue i se faiga tutusa ma le faʻatinoina o le filo e tasi, talu ai o tagata fai saofaga uma i nodes uma e faʻaaogaina e le filo lava e tasi.

Fa'ailoga Fa'atinoga: Le Fa'atonu-Fa'atonu

Fa'ailoga Fa'atinoga

  • Klepsydra Streaming Fa'ailoga Fa'atonu:
    • O le faʻailoga sa faʻavae i luga o le Autoware reference system. E fa'ata'ita'iina se fa'ata'ita'iga fa'ata'ita'i.
    • O fua uma na faia e faʻaaoga ai le Raspberry Pi 4B faʻatasi ma: ROS galactic, Ubuntu 20.04 ma le 4 GB o le mamoe poʻa, faʻasolosolo taimi ole 1.50GHz.
    • Fa'atulagaina fetaui o le faiga fa'asino, ma e aunoa ma le fa'aesea o le CPU
  • Fa'ata'ita'iga na fa'ata'ita'iina:
    • Rasipi PI 4 (fa'asinomaga mo le RTWG)
    • Unibap's iX10 (NASA ma Blue Origin Testbed)
    • Teledyne e2v LS1046

Fa'ailoga Fa'atinoga

Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (9)

Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (10)

Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (12)

  • O le sini mo le genetic algorithm o le faʻaitiitia o le averesi o le latency o le ala taua.
  • O lona uiga, o le taimi e alu ai talu mai le lolomiina o Lidar Data seia oʻo ina maeʻa e le Object Collision Estimator lana galuega.
  • O le ata o loʻo faʻaalia ai le auala taua na taumafai a matou suʻesuʻega e faʻamalieina

O le fa'ata'ita'iga fa'atafe
Klepsydra Streaming Distribution Optimizer (SDO)

  • E sili ona lelei le fesuiaiga o le tele-core o le streaming executor pe a sili atu le faʻasoaina o uta o nodes i totonugalemu ma mafai ona faia se eseesega tele i tulaga o le taofiofia, faʻaogaina o le eletise ma faʻamaumauga.
  • Ae ui i lea, o le faʻafanua o cores e le faʻatauvaʻa ma e manaʻomia se faiga faʻapitoa. O se auala e mafai ai o le fa'amalamalamaina o se galuega fa'atatau e fuaina ai le fa'atinoga o le faiga fa'avae i luga o le fa'atonuga autu.
  • E mafai ona fa'aogaina se genetic algorithm e fa'amalieina ai le fa'atonuga autu e ala i le fa'ata'ita'i fa'ata'ita'iina o fa'aputuga eseese ma filifili mea e fa'atino lelei e tusa ai ma le galuega fa'atatau. E fa'aauau pea lenei faiga se'ia maua se fa'atulagaga sili ona lelei.
  • O lenei faiga e mafai ai ona sili atu le faʻaogaina o le tele-core system ma faʻamautinoa o loʻo tufatufa atu le uta i le auala sili ona lelei.

I'uga Aotelega

  • Mo galuega laiti node, o le lavelave faaopoopo e le faaliliu i ni taunuuga sili atu. O le filo e tasi, e matua faigofie lava, e sili atu nai lo isi o le au faʻatinoina.
  • Faʻateleina le mamafa o galuega, o le Streaming Executor o le faʻatonu sili lea ona sosoo ai ma le Static Single Threaded Executor.
  • Na fa'amoemoeina o le Streaming Executor e sili atu le lelei nai lo le filo e tasi, talu ai e le suia e le talosaga lona topology a'o tamoe. Ua faaalia ai o le tulaga moni lava leaKlepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (13)
  • I'uga mo Raspberry PI4
  • Faʻapena faʻatuputeleina faʻatinoga na maua mo Unibap's iX10 ma Teledyne's LS1046Klepsydra-ROS2-Multi-Core-Ring-Buffer-Executor-01 (14)

Fa'ai'uga

Aotelega

  • O lenei tusiga o loʻo tuʻuina atu ai se faʻataʻitaʻiga fou i le faʻataʻitaʻiina o le ROS2 faʻataʻitaʻiga faʻataʻitaʻiga e tuʻufaʻatasia uma le faʻaogaina o le ROS2 executor executor e leai se loka, ma le faʻaogaina o genetic algorithms e faʻamalieina ai le tufatufaina atu o le utaina o le robotic applications i totonu o pusa avanoa i le komepiuta faʻamoemoe.
  • O lenei tu'ufa'atasiga ua fa'amaonia e aoga tele mo faiga e mamafa le uta fa'atatau, pei o le faiga fa'asino o lo'o fa'amatalaina i luga. Ole aoga autu ole su'esu'ega na tu'uina atu o lona fetuutuuna'i i fa'aoga eseese: eseese ROS2 node topologies e mafai ona fa'avavevave e fa'aoga ai le fa'agaioia fa'aoso fa'atasi ai ma le fa'ata'ita'iina o kenera, o se tasi lea o lu'itau e sili ona talanoaina i le ROS2.

Galuega i le Lumanai

Aotelega

  • Ae mo le galuega i le lumanaʻi o lenei suʻesuʻega, e tele vaega e tatau ona aofia ai i le faʻatonuga faʻafefe:
    • lagolago i le lotomaualalo ma taʻavale,
    • tatala puna tatala o le tasi-autu streaming executor ma
    • le fa'aogaina o le sensor multiplexer fa'apea fo'i le fa'alavelave fa'alavelave mo autu ma le tele o tagata fai saofaga.
    • RISC-V su'ega fausaga

Pepa / Punaoa

Klepsydra ROS2 Multi Core Ring Buffer Executor [pdf] Taiala mo Tagata Fa'aoga
ROS2 Tele Autu Mama Fa'atino Fa'apolopolo, ROS2, Tele Autu Mama Fa'apolokalame Fa'atonu, Fa'amama Fa'amama, Fa'atonu Fa'apolopolo, Fa'atino

Fa'asinomaga

Tuu se faamatalaga

E le fa'asalalauina lau tuatusi imeli. Fa'ailogaina fanua mana'omia *