Klepsydra ROS2 Multi Core Ring Buffer Executor
Tlhahisoleseding ya Sehlahiswa
Litlhaloso
- E bobebe, e modular, 'me e lumellana le lits'ebetso tse sebelisoang haholo
- Plugin ea ROS2 Executor e khona ho sebetsana le data e fetang makhetlo a 10 ka phokotso ea 50% ea tšebeliso ea CPU.
- GPU (Setsi sa Ts'ebetso ea Graphic) bakeng sa ho bapisa ho holimo le ho eketseha ha sekhahla sa ts'ebetso ea data le ts'ebeliso ea GPU
- Klepsydra AI
- Klepsydra SDK
- Klepsydra GPU
- Bokhoni ba ho phallela
- Klepsydra ROS2 executor plugin ts'ebeliso ea lefats'e ka bophara
Litaelo tsa Tšebeliso ea Sehlahisoa
- Boemo: Parallel Processing
Sehlahisoa sena se etselitsoe ho sebetsana le liphephetso tse amanang le ts'ebetso ea boto lits'ebetsong tsa sebaka, moo ts'ebeliso ea CPU, bophahamo ba data, le litlhoko tsa matla li amehang. E fana ka tharollo bakeng sa lisebelisoa tsa sejoale-joale le software ea khale ka ho sebetsana le li-volume tsa data tse mahareng hantle. - Bapisa le ho Fetolana
"Bapisa le ho fapanyetsana" ke algorithm e sebelisoang ho multithreading ho fihlela tumellano. E bapisa likahare tsa sebaka sa memori le boleng bo fanoeng, 'me, ha feela li tšoana, li fetola likahare tsa sebaka seo sa mohopolo ho boleng bo bocha bo fanoeng. Ts'ebetso ena e etsoa e le ts'ebetso e le 'ngoe ea athomo. Sehlahisoa se sebelisa algorithm ena e le karolo ea ts'ebetso ea eona.
Melemo le Melemo ea ho Lock-Free Programming
Sehlahisoa se sebelisa mekhoa ea mananeo a notletsoeng, a nang le advantages le disadvantages
- Melemo:
- Tšebeliso ea CPU e fokotsehile
- Ho sebetsana ka katleho le bophahamo ba data
- Mathata:
- Ho rarahana ho kenngwa tshebetsong
- E hloka tšehetso ho tsoa ho lisebelisoa tse ka tlase (li-hardware tsa sejoale-joale li ts'ehetsa mananeo a se nang senotlolo)
ROS2 Mophethahatsi
Sehlahisoa se kenyelletsa ROS2 Executor e hlophisang ts'ebeliso ea ROS2 ka ho laola li-callback tsa lipeeletso, melaetsa, lits'ebeletso, li-timers le li-node. E sebelisa melaetsa e tsoang meleng e ka tlaase ea DDS e bohareng ebe e e romela hore e phethoe ho e 'ngoe ea likhoele. Moahloli a ka hlophisoa ho etsa li-callback ka tatellano kapa ka ho bapisa.
Baphethahatsi ba ROS2 ba maemo a holimo
Sehlahisoa se kenyelletsa Baphethahatsi ba boemo bo holimo ba ROS2 ba fanang ka maano a fapaneng a ts'ebetso.
- Mophethahatsi ea nang le Khoele a le Mong: E etsa li-callback ka tatellano 'me nako le nako e lekola sebopeho sa ts'ebeliso ho ntlafatsa li-node, lipeeletso, lits'ebeletso, jj.
- Mophethahatsi oa likhoele tse ngata: E etsa li-callback ka ho tsamaisana 'me nako le nako e hlahloba sebopeho sa ts'ebeliso ho ntlafatsa tlhaloso ea bothata.
Mophethi oa Phallo
Sehlahisoa se hlahisa moetsi oa phallo ea fapaneng le ea fetisitsoeng ka likhoele ka likarolo tse 'maloa.
- Ha e ntlafatse lenane le sebetsang bakeng sa phetisetso e ngoe le e ngoe.
- Li-node tsohle, lihlopha tsa callback, li-timers, lipehelo, joalo-joalo li entsoe ka nako ea kaho.
- Lipeeletso tsohle tse ka har'a node li etsoa khoeleng e le 'ngoe, ho sa tsotelehe palo ea li-cores tse sebelisetsoang ho qala ho phallela.
- Mophethahatsi oa Phallo ea Klepsydra
Sehlahisoa sa phallo ea lihlahisoa se etselitsoe ka ho khetheha ho sebetsana le lihlooho tsa ho phallela ho sebelisa lipara tsa baphatlalatsi. E fana ka melaetsa ka katleho ho ba ngolisitseng li-node tsohle, tse amoheloang ho tloha bohareng ba lisebelisoa ka rmw. Loop ea ketsahalo e laola lihlooho tsena, e netefatsa hore data e phalla hantle. - Sebaka sa Klepsydra
Sebaka sa Klepsydra ke karolo ea moahloli oa phallo ea sebetsang e le mohlophisi. E hokahanya ts'ebetso ea bahlahisi le bareki ka har'a sethala sa ho phallela. - Moetsi
Moetsi o ikarabella bakeng sa ho hlahisa data e tla sebelisoa ke ba ngolisitseng. Sehlahisoa se tšehetsa bahlahisi ba bangata ho setupong sa ho phallela. - Moreki
Moreki o na le boikarabello ba ho sebetsa le ho sebelisa data e hlahisoang ke bahlahisi. Sehlahisoa se tšehetsa bareki ba bangata ho setupong sa ho phallela.
Lipotso tse atisang ho botsoa (FAQ)
- Ke litsamaiso life tse sebetsang tse lumellanang le sehlahisoa?
Sehlahisoa se lumellana le lisebelisoa tse sebelisoang hangata. - Ts'ebetso ea sehlahisoa e ka ba le data e kae ha e bapisoa le mekhoa ea setso?
Sehlahisoa se khona ho sebetsana le lintlha tse fihlang ho makhetlo a 10 ka phokotso ea 50% ea tšebeliso ea CPU ha e bapisoa le mekhoa ea setso. - Na sehlahisoa se sebelisa ho bapisa GPU?
E, sehlahisoa se sebelisa GPU (Graphic Processing Unit) bakeng sa ho bapisa ho holimo, ho eketsang sekhahla sa ts'ebetso ea data le ts'ebeliso ea GPU.
Mokhoa oa ho ntlafatsa ntle le Marang-rang bakeng sa Likopo tsa Multi-Core ROS2: Multi-Core Ring-Buffer ROS2 Executor
ROS Meetup Stuttgart 2023
Ngaka Pablo Ghiglino ( pablo.ghiglino@klepsydra.com )
Mophethahatsi oa Phallo ea ROS2
TŠEBELETSO: TŠEBELETSO E PAPALE
- Mathata a ho sebetsa ka botong
- Hardware ea sejoale-joale le software ea khale:
- Likhomphutha li ngata haholo ka data e tlase ho isa ho e mahareng
- Tšebeliso e mpe ea lisebelisoa
- Matla a feteletseng bakeng sa ts'ebetso ea data e tlase
Liphetho bakeng sa lits'ebetso tsa Space
- Ho hloleha ha maikemisetso khafetsa ka lebaka la software
- Ho fihlella data ea sensor ho tsoa Lefatšeng ho ja nako.
- Lisathelaete li sokola ho fihlela litlhoko tsa matla
BAPANG LE PHAPALA
- Bapisa le ho fapanyetsana (CAS) ke taeo e sebelisoang ho multithreading ho fihlela synchronization. E bapisa likahare tsa sebaka sa memori le boleng bo fanoeng, 'me, ha feela li tšoana, li fetola likahare tsa sebaka seo sa mohopolo ho boleng bo bocha bo fanoeng. Sena se etsoa joalo ka ts'ebetso e le 'ngoe ea athomo.
- Bapisa-le-Swap esale e le karolo ea bohlokoa ea meralo ea IBM 370 ho tloha ka 1970.
- Maurice Herlihy (1991) o pakile hore CAS e ka kenya tšebetsong li-algorithms tse ngata ho feta ho bala, ho ngola, ho lata le ho eketsa atomic.
MELEMO LE MOSETSAHELO TSA HO SEBELISA LENANEO LE MAHALA
Melemo
- Ho hlokahala tšebeliso e fokolang ea CPU
- Tekanyetso e tlase le ts'ebetso e phahameng ea data
- Keketseho e kholo ea determinism
Mebe
- Mokhoa o thata haholo oa ho etsa mananeo
- E hloka processor e nang le litaelo tsa CAS (90% ea 'maraka e na le tsona, leha ho le joalo)
Klepsydra Ring-buffer
SEHLAHISO
E bobebe, e modular ebile e lumellana le lits'ebetso tse sebelisoang haholo
- SDK – Software Development Kit
Matlafatsa ts'ebetso ea data pheletsong bakeng sa lits'ebetso tse akaretsang le li-algorithms tse matla tsa processor - AI - Artificial Intelligence
Enjene e phahameng ea ts'ebetso e tebileng ea neural network (DNN) ho tsamaisa AI efe kapa efe kapa mojule oa ho ithuta oa mochini pheletsong - Plugin ea ROS2 Executor
Mophethahatsi oa ROS2 o khona ho sebetsana le data e fihlang makhetlo a 10 ka phokotso ea 50% ea tšebeliso ea CPU. - GPU (Setsi sa Ts'ebetso ea Litšoantšo)
Phapang e phahameng ea GPU ho eketsa sekhahla sa ts'ebetso ea data le ts'ebeliso ea GPU
Boemo: ROS1 sebakeng
- Melemo:
- E nolofalletsa boipuso, temoho, le taolo sebakeng
- E feto-fetoha, e tloaelehileng, 'me e tšehetsoa ke sechaba se seholo.
- Examples:
- Robonaut ea NASA 2 (R2) – Bonohe ba linaleli ba thusoang ho ISS
- Astrobee ea NASA - Ts'ebetso e ikemetseng ho ISS
- LIKHALA - Li-satellite tsa spherical bakeng sa lipatlisiso ho ISS
- Dextre - Letsoho la robotiki bakeng sa ho qhekella le ho lokisa ho ISS
- Google Lunar XPRIZE - E sebelisoa bakeng sa misio ea lunar rover
Moelelo: Space-ROS
- Moralo oa ROS tlhahlobo ea sebaka le liroboto
- E na le karolo e itseng e tšoanelehang bakeng sa tšebeliso ea Space
- Examphanyane:
- Bathusi ba liroboto bakeng sa bonohe ba linaleli
- Patlisiso ea lipolanete ka li-rover tse ikemetseng
- Ts'ebetso ea satellite le taolo
- Ho emisa sepakapaka se ikemetseng
- Litšebeletso le litokiso tsa on-orbit
- Melemo:
- E nolofalletsa boikemelo, puisano, le temoho
- E potlakisa nts'etsopele le ts'ebetso ea thomo ea sebaka.
Mophethi oa ROS2 O Hlalositsoe
Moahloli o hokahanya le ho hlophisa ts'ebeliso ea ROS2 ka ho laola li-callback tsa lipeeletso, melaetsa, lits'ebeletso, li-timers le li-node. Ho ROS2, moahloli ha a boloke letoto la melaetsa le li-callbacks, empa ho e-na le hoo o sebelisa melaetsa e tsoang meleng e ka tlaase ea DDS e bohareng, ebe o e romela hore e phethoe ho e 'ngoe ea likhoele.
Maemo a phahameng haholo
Baphethahatsi ba ROS2
- Sephethahatsi se le seng sa khoele: Khoele e le 'ngoe e botsa middleware ebe e etsa li-callback ka tatellano. E ntan'o hlahloba sebopeho le ho ntlafatsa li-node, lipeeletso, litšebeletso, joalo-joalo.
- Sephethi se le seng sa Static, moo tlhahlobo le tlhaloso ea sebopeho li etsoang hang feela, nakong ea kaho. Li-node tsohle, lihlopha tsa callback, li-timers, lipehelo joalo-joalo li bōptjoa pele spin() e bitsoa.
- The Multi-threaded executor e etsa palo ea likhoele tse tla phethisa li-callback ka ho bapa. Joalo ka sephethahatsi se le seng sa khoele, nako le nako e tla hlahloba sebopeho sa ts'ebeliso ebe e ntlafatsa tlhaloso ea bothata.
Mophethahatsi oa ho phallela Overview
- Mophethahatsi oa Phallo o sebelisa Klepsydra Event Loop ho fana ka melaetsa ho ba ngolisitseng ho li-node tsohle, tse tsoang ho middleware ka rmw. Loop ea liketsahalo e laola lihlooho tsena ka lipara tsa baphatlalatsi.
- Mophethahatsi oa phallo o sebetsa ka mokhoa o ts'oanang le oa static single threaded ka likarolo tse 'maloa. Taba ea pele, ha e lokise lethathamo le ka sebelisoang bakeng sa phetetso e ngoe le e ngoe. Li-node tsohle, lihlopha tsa callback, li-timers, lipehelo joalo-joalo li entsoe ka nako ea kaho. Taba ea bobeli, lipeeletso tsohle ka har'a node li etsoa khoeleng e le 'ngoe, ho sa tsotelehe palo ea li-cores tse sebelisetsoang ho seta ho phallela.
Mophethahatsi oa Phallo ea Klepsydra
Moetsi oa ho phallela
E sebetsa joang?
- Sehlopha sa baphatlalatsi se entsoe bakeng sa sehlooho se seng le se seng se hlokoang ke node e fanoeng ea ROS2.
- Ka hare, sehlopha se seng le se seng sa mohatisi se khetholloa ka mekhahlelo e 'meli: lebitso la node le lebitso la sehlooho. Ka mantsoe a mang, li-node tse peli tse fapaneng tse phatlalatsang sehlooho se le seng li tla laoloa ka boikemelo.
- Lipara tsohle tsa baphatlalatsi tse amanang le lihlooho tsa node e le 'ngoe li laoloa ke loop e tšoanang ea ketsahalo.
Sebapali sa ho phallela Single-core vs multi-core
- Advantage ea ho phallela e executor ke hore ha ho na tlhokahalo ea tsamaiso ea multithreading ea ba ngolisitseng ka lebaka la hore kaofela ha bona ba laoloa ke khoele ea loop ea ketsahalo e amanang le eona, e leng ntho e tloaelehileng ho batho ba le bang le ba bangata.
- Ea pele e sebetsa ka mokhoa o ts'oanang le moahloli ea tsitsitseng ea khoele e le 'ngoe, kaha ba ngolisitseng bohle libakeng tsohle ba kopuoa ke khoele e tšoanang.
Benchmark ea Ts'ebetso: Ref-System
- Morero oa Sehlopha sa Ts'ebetso ea Nako ea 'Nete ke ho buella le ho sebetsa taolong ea memori, pub / sub, DDS ea nako ea nnete, le lisebelisoa tse lumellang ho ts'oara, ho hlahisa le ho ntlafatsa. https://github.com/ros-realtime )
- Reference_system sephutheloana se ile sa ntlafatsoa ho fana ka metheo ea moaho ho theha lits'ebetso tse rarahaneng tse ka sebelisoang ho lekola likarolo kapa ts'ebetso ka tsela e tloaelehileng le e phetoang. ( https://github.com/ros-realtime/reference-system )
- Morero oa pele oa ho sebelisa referense_system ena ke autoware_reference_system ( https://github.com/ros-realtime/referencesystem/blob/main/autoware_reference_system/README.md )
Benchmark ea Ts'ebetso
- Tlhophiso ea li-benchmarks tsa phallo ea Klepsydra:
- Benchmark e ne e ipapisitse le sistimi ea litšupiso ea Autoware. E etsisa mokhoa oa sebele oa ho khanna.
- Litekanyo tsohle li nkiloe ho sebelisoa Raspberry Pi 4B e nang le: ROS galactic, Ubuntu 20.04 le 4 GB ea pheleu, khafetsa ea 1.50GHz.
- Setupo se lumellanang sa sistimi ea litšupiso, 'me ntle le ho itšehla thajana ha CPU
- Li-processor tse lekiloeng:
- Raspberry PI 4 (prosesa ea litšupiso bakeng sa RTWG)
- Unibap's iX10 (NASA le Blue Origin Testbed)
- Teledyne e2v LS1046
Benchmark ea Ts'ebetso
- Sepheo sa algorithm ea liphatsa tsa lefutso ke ho fokotsa latency e tloaelehileng ea tsela ea bohlokoa.
- Ke hore, nako e nkang ho tloha ha ho phatlalatsoa Lidar Data ho fihlela Object Collision Estimator e phethela mosebetsi oa eona.
- Setšoantšo se bontša tsela ea bohlokoa eo lipatlisiso tsa rona li lekileng ho e ntlafatsa
Moetsi oa ho phallela
Klepsydra Streaming Distribution Optimiser (SDO)
- Phapang e fapaneng ea mantlha ea sebatli sa phallo e sebetsa hantle ha kabo ea mojaro ea li-node har'a li-cores e ntlafalitsoe mme e ka etsa phapang e kholo ho latela latency, tšebeliso ea matla le phepelo ea data.
- Leha ho le joalo, 'mapa oa li-cores ha se ntho e nyenyane ebile e hloka mokhoa o hlophisitsoeng. Mokhoa o ka khonehang ke oa ho hlalosa sepheo sa ts'ebetso e lekanyang ts'ebetso ea sistimi ho ipapisitsoe le tlhophiso ea mantlha.
- Joale algorithm ea liphatsa tsa lefutso e ka sebelisoa ho ntlafatsa tlhophiso ea mantlha ka ho lekola khafetsa maemo a fapaneng le ho khetha tse sebetsang hantle ho latela sepheo. Ts'ebetso ena e tsoela pele ho fihlela sephetho se nepahetseng se fumaneha.
- Mokhoa ona o lumella hore ho sebelisoe mekhoa e mengata ka katleho le ho netefatsa hore mojaro o ajoa ka tsela e nepahetseng ka ho fetisisa.
Kakaretso ea Liphetho
- Bakeng sa mosebetsi o monyenyane oa li-node, ho rarahana ho eketsehileng ha ho fetole liphello tse molemo. The static single threaded, kaha e bonolo haholo, e feta baphethi ba bang kaofela.
- Ka ho eketsa mosebetsi, Phallo ea Phallo ke mophethahatsi ea molemo ka ho fetisisa ea lateloang ke Static Single Threaded Executor.
- Ho ne ho lebeletsoe hore Phallo ea Phallo e sebetse hantle ho feta ea khoele e le 'ngoe, kaha ts'ebeliso ha e fetole topology ea eona ha e ntse e sebetsa. Ho bontšoa hore ehlile ho joalo
- Liphetho tsa Raspberry PI4
- Keketseho e ts'oanang ea ts'ebetso e fumanoeng bakeng sa Unibap's iX10 le Teledyne's LS1046
Liqeto
Kakaretso
- Sengoliloeng sena se fana ka mokhoa o mocha oa ho ntlafatsa mofuta oa ts'ebetso oa ROS2 o kopanyang ts'ebetso ea moahloli oa ROS2 e sa notleloang, le ts'ebeliso ea li-algorithms tsa liphatsa tsa lefutso ho ntlafatsa kabo ea mojaro oa ts'ebeliso ea liroboto ho li-cores tse fumanehang komporong e lebisitsoeng.
- Motsoako ona o netefalitsoe hore o sebetsa hantle haholo bakeng sa sistimi e nang le moroalo o boima oa computational, joalo ka sistimi e hlalositsoeng kaholimo. Molemo o ka sehloohong oa lipatlisiso tse hlahisitsoeng ke ho ikamahanya le maemo ho likopo tse fapaneng: li-topology tse fapaneng tsa ROS2 tsa node li ka potlakisoa ka ho sebelisa mochine oa ho phallela hammoho le optimization ea liphatsa tsa lefutso, e leng e 'ngoe ea mathata ao ho buuoang ka 'ona ho ROS2.
Mosebetsi o Tlang
Kakaretso
- Mabapi le mosebetsi oa nakong e tlang oa patlisiso ena, ho na le likarolo tse 'maloa tse lokelang ho kenyelletsoa ho sephethi sa phallo:
- tšehetso ea ho ikokobetsa le ho sisinyeha,
- ho lokolloa ha mohloli oa mohloli o le mong oa phallo ea phallo le
- tšebeliso ea sensor multiplexer hammoho le loop ea liketsahalo bakeng sa lihlooho tse nang le ba ngolisitseng ba 'maloa.
- Tlhahlobo ea meralo ea RISC-V
Litokomane / Lisebelisoa
![]() |
Klepsydra ROS2 Multi Core Ring Buffer Executor [pdf] Bukana ea Mosebelisi ROS2 Multi Core Ring Buffer Executor, ROS2, Multi Core Ring Buffer Executor, Ring Buffer Executor, Buffer Executor, Executor |