Laba nood oo ROS 2 ah oo ku yaal darafyada iska soo horjeeda ee VPN ayaa liis garan kara mowduucyada midba midka kale, haddana ma gaarsiin karaan hal fariin. Ogaanshaha iyo xogta isticmaalaha waa isweydaarsiyo gaar ah oo leh waddooyin gaar ah, server-ka ogaanshahana ma gudbiyo xamuulka. In mid la hubiyo oo midka kale la maleeyo ayaa sababa in kooxuhu beddelaan middleware marka tunnel-ku waligiis aanu qaadin xogta. Nidaamka hoose wuxuu kala soocaa labada natiijo ka hor inta aan wax la beddelin.

Waxa server-ka ogaanshaha dhab ahaan qaado

Fast DDS, Discovery Server wuxuu qaybiyaa macluumaadka ku saabsan barta kama dambaysta ah: yaa daabacaya, yaa rukhsanaya iyo QoS noocee ah mid kastaa filayo. Marka asxaabtu is bartaan, xogta isticmaalaha waxay si toos ah u dhex martaa iyaga, halkii ay ka soo mari lahayd server-kaas. Gaarista server-ka waxay caddaynaysaa in dhexdhexaadiyaha isbarashada uu ka jawaabo, wax badan ma aha. VPN la maray wali wuxuu u baahan yahay waddo shaqaysa labada jiho inta u dhaxaysa cinwaannada ay asxaabtu ku dhawaaqaan.

Farqigaas wuxuu sidoo kale sharraxayaa guuldarrooyinka qayb ahaan, halkaas oo asxaabta jirta ay sii wadaan isweydaarsiga xogta halka ogaanshaha cusubi uu joojiyo shaqaynta. Ula dhaqan laba baaritaan oo gaar ah.

Akhri RMW-ga ay noodadhu dhab ahaan isticmaalaan

ROS 2 waxa uu rarayaa middleware kala duwan, iyo doorsoome lagu dhoofiyay shell-kaaga ma gaaro hababka meel kale laga bilaabay. Weydii nidaamka socda halkii aad ka weydiin lahayd taariikhda terminal-kaaga.

printenv RMW_IMPLEMENTATION
ros2 doctor --report | head -n 20

Doorsoome aan la dejin macneheedu waa inta badan default-ka la rakibay, kaas oo ku kala duwanaan kara mishiinnada isla tijaabada. Warbixintu waxay sidoo kale sheegtaa qaybinta iyo middleware-ka la isticmaalayo, markaa isbarbardhig labada dhinac ee tunnel-ka ka hor inta aadan u malayn inay is waafaqaan. Daemon-ka khadka amarka ROS wuxuu kaydiyaa xaaladda cache, markaa dib u bilow ka dib beddelka deegaanka halkii aad ka tagi lahayd daemon duugoobay inuu ka jawaabo qaabeynta hore. Ku qor qaybinta iyo RMW labada martigeliyaha qoraallada tijaabada inta kalfadhi furan yahay.

Tijaabi ogaanshaha iyo xogta sidii laba natiijo

Dooro mowduuc aan waxyeello lahayn oo cabbir isbarashada si ka duwan gudbinta. Amarka info wuxuu liis garayaa barta kama dambaysta ah iyo QoS, halka echo uu caddeeyo in hal fariin dhab ahaan ka gudubto xiriirka.

ros2 topic info /chatter --verbose
ros2 topic echo /chatter --once

Ka soo muuqashada barta kama dambaysta ah ee soo-saarka info waa natiijada ogaanshaha. Imaatinka fariin u socota rukhsadka waa natiijada gaadiidka, oo kaliya kan labaad ayaa tijaabiya waddada uu codsigu u baahan yahay. Marka ogaanshahu shaqeeyo oo echo wakhtigiisu dhammaado, baadh cinwaannada la dhawaaqay iyo waddada soo noqodka halkii aad baadhi lahayd adeegga ogaanshaha. Ka socodsii labada amarro martigeliye kasta, sababtoo ah waddada VPN aan is-qeybsanayn waxay inta badan is muujisaa hal dhinac oo keliya.

Beddel hal ku-tiirsanaan mar kasta

Marka waddada xogtu guuldarraysto, ka fogaansho inaad beddesho middleware, qaabka ogaanshaha iyo cabbirka fariinta isla kalfadhiga, sababtoo ah wixii ka dambeeya wax natiijo ah lama aasi karo. Zenoh RMW waa beddel sharci ah, laakiin router-keedu wuxuu noqdaa ku-tiirsanaan kale oo ay tahay in lagu gaaro tunnel-ka.

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run rmw_zenoh_cpp rmw_zenohd

RMW-gaas hoostiisa router-ku wuxuu qaadaa ogaanshaha qaabka caadiga ah ee Jazzy, multicast ogaanshahana waa damisnaan halkaas, markaa ku-tiirsanaantu waxay ku habboon tahay qoraalladaada halkii ay ka ahaan lahayd malo laga soo amaahday middleware kale. Hayso xamuulka shaqada oo go'an inta aad beddesho hal dejin, ka dib ku celi tijaabada echo oo diiwaan geli jihada, heerka fariimaha iyo xaaladaha xiriirka. Laba jeer socodsii isbarbardhigga si aad u kala soocdo horumar dhab ah iyo dib u xiriir nasiib leh. Haddii isbeddelku horumariyo ogaanshaha halka gudbintu isla eg tahay, waxaad dhaqaajisay adeegga isbarashada, ma aha waddada xogta.

Maqaallo la xiriira