VPN வழியாக ROS 2: கண்டுபிடிப்பு தரவு பாதை அல்ல
கண்டுபிடிப்பு சகாக்களைக் கண்டால் பேலோடுகள் வரும் என்பது நிரூபணமாகாது. DDS-ஐ மாற்றும் அல்லது ரூட்டரைச் சேர்ப்பதற்கு முன் RMW, அறிவிக்கப்பட்ட இறுதிப்புள்ளிகள் மற்றும் ஒரு பணிச்சுமையைச் சரிபார்க்கவும்.
VPN-இன் எதிர் முனைகளில் உள்ள இரண்டு ROS 2 முனைகள் ஒன்றுக்கொன்று தலைப்புகளைப் பட்டியலிட முடியும், இருப்பினும் ஒரு செய்திகூட வழங்க முடியாது. கண்டுபிடிப்பும் பயனர் தரவும் தனித்தனி பாதைகளைக் கொண்ட தனித்தனி பரிமாற்றங்கள், மேலும் கண்டுபிடிப்பு சேவையகம் பேலோடுகளை அனுப்பாது. ஒன்றைச் சரிபார்த்து மற்றொன்றை எடுத்துக்கொள்வதே, சுரங்கப்பாதை தரவை ஒருபோதும் எடுத்துச் செல்லாதபோது குழுக்கள் மிடில்வேரை மாற்றக் காரணமாகிறது. கீழேயுள்ள நடைமுறை எதையும் மாற்றுவதற்கு முன் இரு முடிவுகளையும் பிரிக்கிறது.
கண்டுபிடிப்பு சேவையகம் உண்மையில் எதைச் சுமக்கிறது
Fast DDS-இல் Discovery Server இறுதிப்புள்ளிகள் பற்றிய தகவலை விநியோகிக்கிறது: யார் வெளியிடுகிறார், யார் சந்தாதாரராகிறார், ஒவ்வொருவரும் எந்த QoS எதிர்பார்க்கிறார். சகாக்கள் ஒருவரையொருவர் அறிந்த பிறகு, பயனர் தரவு அந்த சேவையகம் வழியாக அல்லாமல் நேரடியாக அவர்களுக்கிடையே பயணிக்கிறது. சேவையகத்தை அடைவது அறிமுகங்களின் தரகர் பதிலளிக்கிறார் என்பதை மட்டுமே நிரூபிக்கிறது. வழிநடத்தப்பட்ட VPN இன்னும் சகாக்கள் அறிவிக்கும் முகவரிகளுக்கிடையே இரு திசைகளிலும் செயல்படும் பாதையைக் கோருகிறது.
இந்த வேறுபாடு பகுதி தோல்விகளையும் விளக்குகிறது, அங்கு இருக்கும் சகாக்கள் தரவைப் பரிமாறிக்கொண்டே இருக்கும்போது புதிய கண்டுபிடிப்பு செயலிழக்கிறது. அவற்றை இரண்டு தனித்தனி விசாரணைகளாகக் கருதுங்கள்.
முனைகள் உண்மையில் பயன்படுத்தும் RMW-ஐப் படியுங்கள்
ROS 2 வெவ்வேறு மிடில்வேரை ஏற்ற முடியும், உங்கள் ஷெல்லில் ஏற்றுமதி செய்யப்பட்ட மாறி வேறு இடத்தில் தொடங்கப்பட்ட செயல்முறைகளை அடையாது. உங்கள் முனைய வரலாற்றுக்குப் பதிலாக இயங்கும் அமைப்பைக் கேளுங்கள்.
printenv RMW_IMPLEMENTATION
ros2 doctor --report | head -n 20அமைக்கப்படாத மாறி பொதுவாக நிறுவப்பட்ட இயல்புநிலையைக் குறிக்கிறது, இது ஒரே பரிசோதனையில் இயந்திரங்களுக்கிடையே வேறுபடலாம். பயன்படுத்தப்படும் விநியோகம் மற்றும் மிடில்வேரையும் அறிக்கை பெயரிடுகிறது, எனவே அவை பொருந்தும் எனக் கருதுவதற்கு முன் சுரங்கப்பாதையின் இரு பக்கங்களிலும் அவற்றை ஒப்பிடுங்கள். ROS கட்டளை வரி டீமன் நிலையை தற்காலிகச் சேமிப்பில் வைத்திருக்கிறது, எனவே சூழலை மாற்றிய பிறகு அதை மீண்டும் தொடங்குங்கள், பழைய கட்டமைப்புக்கு காலாவதியான டீமன் பதிலளிக்க விடாதீர்கள். அமர்வு திறந்திருக்கும்போது இரு ஹோஸ்ட்களின் விநியோகம் மற்றும் RMW-ஐ சோதனைக் குறிப்புகளில் எழுதுங்கள்.
கண்டுபிடிப்பையும் தரவையும் இரு முடிவுகளாகச் சோதியுங்கள்
பாதிப்பில்லாத தலைப்பைத் தேர்ந்தெடுத்து அறிமுகத்தை வழங்கலிலிருந்து தனித்து அளவிடுங்கள். info கட்டளை இறுதிப்புள்ளிகள் மற்றும் QoS-ஐப் பட்டியலிடுகிறது, echo ஒரு செய்தி உண்மையில் இணைப்பைக் கடக்கிறதா என்பதை நிரூபிக்கிறது.
ros2 topic info /chatter --verbose
ros2 topic echo /chatter --onceinfo வெளியீட்டில் இறுதிப்புள்ளிகள் தோன்றுவது கண்டுபிடிப்பின் முடிவு. செய்தி சந்தாதாரரை அடைவது போக்குவரத்தின் முடிவு, இரண்டாவது மட்டுமே பயன்பாட்டிற்குத் தேவையான பாதையைச் சோதிக்கிறது. கண்டுபிடிப்பு வேலை செய்து echo நேரம் முடிந்தால், கண்டுபிடிப்பு சேவைக்குப் பதிலாக அறிவிக்கப்பட்ட முகவரிகள் மற்றும் திரும்பும் பாதையை ஆராயுங்கள். ஒவ்வொரு ஹோஸ்ட்டிலிருந்தும் இரு கட்டளைகளையும் இயக்குங்கள், ஏனெனில் சமச்சீரற்ற VPN பாதை பெரும்பாலும் ஒரு பக்கத்திலிருந்து மட்டுமே வெளிப்படுகிறது.
ஒரு நேரத்தில் ஒரு சார்பை மாற்றுங்கள்
தரவு பாதை தோல்வியடையும் போது, ஒரே அமர்வில் மிடில்வேர், கண்டுபிடிப்பு பயன்முறை மற்றும் செய்தி அளவை மாற்றுவதைத் தவிர்க்கவும், ஏனெனில் பின்னர் எந்த முடிவையும் கூற முடியாது. Zenoh RMW சட்டபூர்வமான மாற்று, ஆனால் அதன் ரூட்டர் சுரங்கப்பாதை வழியாக அணுகக்கூடிய மற்றொரு சார்பாக மாறுகிறது.
export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 run rmw_zenoh_cpp rmw_zenohdஅந்த RMW-இன் கீழ் ரூட்டர் Jazzy-இன் இயல்புநிலை ஏற்பாட்டில் கண்டுபிடிப்பை எடுத்துச் செல்கிறது, அங்கு மல்டிகாஸ்ட் கண்டுபிடிப்பு முடக்கப்பட்டுள்ளது, எனவே இந்தச் சார்பு மற்றொரு மிடில்வேரிலிருந்து கடன் வாங்கிய அனுமானத்தில் அல்ல, உங்கள் குறிப்புகளில் இருக்க வேண்டும். ஒரு அமைப்பை மாற்றும்போது பணிச்சுமையை நிலையாக வைத்திருங்கள், பின்னர் echo சோதனையை மீண்டும் செய்து திசை, செய்தி வீதம் மற்றும் இணைப்பு நிலைகளைப் பதிவு செய்யுங்கள். உண்மையான முன்னேற்றத்தை அதிர்ஷ்டவசமான மறுஇணைப்பிலிருந்து பிரிக்க ஒப்பீட்டை இருமுறை இயக்குங்கள். ஒரு மாற்றம் கண்டுபிடிப்பை மேம்படுத்தி வழங்கல் அதேபோல் இருந்தால், நீங்கள் அறிமுகச் சேவையை நகர்த்தியுள்ளீர்கள், தரவு பாதையை அல்ல.