ROBOWORKS റോബോഫ്ലീറ്റ് മൾട്ടി-ഏജൻറ് അൽഗോരിതങ്ങൾ
സ്പെസിഫിക്കേഷനുകൾ
- ഉൽപ്പന്നത്തിൻ്റെ പേര്: ROBOWORKS
- പതിപ്പ്: 20240501
- തയ്യാറാക്കിയത്: വെയ്ൻ ലിയു & ജാനറ്റ് ലിൻ
- തീയതി: 1 മെയ് 2024
ഉൽപ്പന്ന വിവരം
റോബോട്ട് ഏകോപനത്തിനും ആശയവിനിമയത്തിനുമായി വിവിധ അൽഗോരിതങ്ങൾ നടപ്പിലാക്കാൻ അനുവദിക്കുന്ന ഒരു മൾട്ടി-ഏജൻറ് സംവിധാനമാണ് ROBOWORKS.
പതിവുചോദ്യങ്ങൾ
ചോദ്യം: റോബോട്ടിന് വൈഫൈയിലേക്ക് സ്വയമേവ കണക്റ്റ് ചെയ്യാൻ കഴിയുന്നില്ലെങ്കിൽ ഞാൻ എന്തുചെയ്യണം?
A: റോബോട്ട് യാന്ത്രികമായി കണക്റ്റുചെയ്യുന്നതിൽ പരാജയപ്പെടുകയാണെങ്കിൽ, നെറ്റ്വർക്ക് കാർഡ് അൺപ്ലഗ് ചെയ്ത് വീണ്ടും പ്ലഗ് ചെയ്ത് വീണ്ടും കണക്റ്റുചെയ്യാൻ ശ്രമിക്കുക.
സംഗ്രഹം
വീൽടെക്_മൾട്ടി എന്ന് പേരിട്ടിരിക്കുന്ന മൾട്ടി-റോബോട്ട് ഫോർമേഷൻ ഫംഗ്ഷൻ പാക്കേജിൻ്റെ ഉപയോഗമാണ് ഈ പ്രമാണം പ്രധാനമായും വിശദീകരിക്കുന്നത്.
ഈ പ്രമാണം നാല് ഭാഗങ്ങളായി തിരിച്ചിരിക്കുന്നു:
- ആദ്യഭാഗം പ്രധാനമായും മൾട്ടി-റോബോട്ട് രൂപീകരണ രീതിയുടെ ആമുഖത്തെക്കുറിച്ചാണ്;
- രണ്ടാം ഭാഗം പ്രധാനമായും ROS മൾട്ടി-മെഷീൻ കമ്മ്യൂണിക്കേഷൻ സജ്ജീകരണങ്ങൾ വിവരിക്കുന്നു, ROS നിർമ്മാണ മൾട്ടി-മെഷീൻ ആശയവിനിമയവും ROS ആശയവിനിമയ പ്രക്രിയയിൽ നേരിട്ടേക്കാവുന്ന പ്രശ്നങ്ങളും ഉൾപ്പെടുന്നു;
- മൂന്നാമത്തെ ഭാഗം പ്രധാനമായും മൾട്ടി-മെഷീൻ ടൈം സിൻക്രൊണൈസേഷൻ്റെ പ്രവർത്തന ഘട്ടങ്ങൾ വിവരിക്കുന്നു;
- നാലാമത്തെ ഭാഗം മൾട്ടി-മെഷീൻ ഫോർമേഷൻ ഫംഗ്ഷൻ പാക്കേജിൻ്റെ പ്രത്യേക ഉപയോഗം വിശദീകരിക്കുന്നു.
ഈ ഡോക്യുമെൻ്റിൻ്റെ ഉദ്ദേശ്യം മൾട്ടി-ഏജൻ്റ് റോബോട്ടിക് സിസ്റ്റങ്ങളുടെ ഒരു ആമുഖമാണ് കൂടാതെ മൾട്ടി-റോബോട്ട് രൂപീകരണ പദ്ധതി വേഗത്തിൽ ആരംഭിക്കാൻ ഉപയോക്താക്കളെ അനുവദിക്കുന്നു.
മൾട്ടി-ഏജൻറ് അൽഗോരിതങ്ങൾക്കുള്ള ആമുഖം
മൾട്ടി-ഏജൻറ് രൂപീകരണ അൽഗോരിതങ്ങൾ
ഈ ROS പാക്കേജ് ഒരു ഫോർമേഷൻ ഡ്രൈവ് സമയത്ത് സഹകരണ നിയന്ത്രണത്തിൽ മൾട്ടി-ഏജൻ്റുകളുടെ ഒരു സാധാരണ പ്രശ്നം അവതരിപ്പിക്കുന്നു. ഈ വിഷയത്തെക്കുറിച്ചുള്ള ഭാവി വികസനത്തിന് ഈ ട്യൂട്ടോറിയൽ ഒരു അടിത്തറയിടുന്നു. ഒരു ടാസ്ക് നിർവ്വഹിക്കുന്നതിന് ഒരു പ്രത്യേക രൂപീകരണം രൂപീകരിക്കുന്നതിന് ഒന്നിലധികം ഏജൻ്റുമാരെ നിയന്ത്രിക്കുന്ന ഒരു അൽഗോരിതം രൂപീകരണ നിയന്ത്രണ അൽഗോരിതം സൂചിപ്പിക്കുന്നു. ഒരു ടാസ്ക് പൂർത്തിയാക്കാൻ ഒരു നിശ്ചിത പരിമിതി ബന്ധം ഉപയോഗിച്ച് ഒന്നിലധികം ഏജൻ്റുമാർ തമ്മിലുള്ള സഹകരണത്തെയാണ് സഹകരണം സൂചിപ്പിക്കുന്നത്. ഒരു മുൻ എന്ന നിലയിൽ മൾട്ടി-റോബോട്ട് ഫോർമേഷൻ ഡ്രൈവ് എടുക്കുകampലെ, സഹകരണം എന്നാൽ ഒന്നിലധികം റോബോട്ടുകൾ ഒരുമിച്ച് ആവശ്യമുള്ള രൂപീകരണം ഉണ്ടാക്കുന്നു എന്നാണ്. ഓരോ റോബോട്ടിൻ്റെയും സ്ഥാനങ്ങൾക്കിടയിൽ സംതൃപ്തമായ ഒരു നിശ്ചിത ഗണിത ബന്ധമാണ് അതിൻ്റെ സാരാംശം. രൂപീകരണ രീതികൾ പ്രധാനമായും കേന്ദ്രീകൃത രൂപീകരണ നിയന്ത്രണം, വിതരണം ചെയ്ത രൂപീകരണ നിയന്ത്രണം എന്നിങ്ങനെ തിരിച്ചിരിക്കുന്നു. കേന്ദ്രീകൃത രൂപീകരണ നിയന്ത്രണ രീതികളിൽ പ്രധാനമായും വെർച്വൽ ഘടന രീതി, ഗ്രാഫിക്കൽ തിയറി രീതി, മോഡൽ പ്രവചന രീതി എന്നിവ ഉൾപ്പെടുന്നു. ഡിസ്ട്രിബ്യൂട്ടഡ് രൂപീകരണ നിയന്ത്രണ രീതികളിൽ പ്രധാനമായും ലീഡർ-ഫോളോവർ മെത്തേഡ്, ബിഹേവിയർ അധിഷ്ഠിത രീതി, വെർച്വൽ സ്ട്രക്ചർ രീതി എന്നിവ ഉൾപ്പെടുന്നു.
മൾട്ടി-റോബോട്ട് ഫോർമേഷൻ ഡ്രൈവ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിനായി ഈ ROS പാക്കേജ് ഡിസ്ട്രിബ്യൂട്ട് ഫോർമേഷൻ കൺട്രോൾ മെത്തേഡിലെ ലീഡർ-ഫോളോവർ രീതി പ്രയോഗിക്കുന്നു. രൂപീകരണത്തിലെ ഒരു റോബോട്ടിനെ നേതാവായി നിയുക്തമാക്കിയിരിക്കുന്നു, മറ്റ് റോബോട്ടുകളെ നേതാവിനെ പിന്തുടരാൻ അടിമകളായി നിയോഗിക്കപ്പെടുന്നു. ഒരു നിശ്ചിത ദിശയിലും വേഗതയിലും താഴെപ്പറയുന്ന റോബോട്ടുകൾക്ക് കോർഡിനേറ്റുകൾ ട്രാക്ക് ചെയ്യുന്നതിനായി അൽഗോരിതം മുൻനിര റോബോട്ടിൻ്റെ ചലന പാത ഉപയോഗിക്കുന്നു. ട്രാക്കിംഗ് കോർഡിനേറ്റുകളിൽ നിന്നുള്ള സ്ഥാന വ്യതിയാനങ്ങൾ ശരിയാക്കുന്നതിലൂടെ, ഫോളോവേഴ്സ് ഫോളോവേഴ്സും പ്രതീക്ഷിക്കുന്ന ട്രാക്കിംഗ് കോർഡിനേറ്റുകളും തമ്മിലുള്ള വ്യതിചലനം പൂജ്യമായി കുറയ്ക്കും. ഈ രീതിയിൽ, അൽഗോരിതം താരതമ്യേന സങ്കീർണ്ണമല്ല.
തടസ്സം ഒഴിവാക്കുന്നതിനുള്ള അൽഗോരിതങ്ങൾ
ഒരു പൊതു തടസ്സം ഒഴിവാക്കൽ അൽഗോരിതം കൃത്രിമ പൊട്ടൻഷ്യൽ ഫീൽഡ് രീതിയാണ്. ഒരു ഭൗതിക പരിതസ്ഥിതിയിൽ റോബോട്ടിൻ്റെ ചലനം ഒരു വെർച്വൽ ആർട്ടിഫിഷ്യൽ ഫോഴ്സ് ഫീൽഡിലെ ഒരു ചലനമായി കണക്കാക്കപ്പെടുന്നു. ഏറ്റവും അടുത്തുള്ള തടസ്സം ലിഡാർ തിരിച്ചറിയുന്നു. തടസ്സം റോബോട്ടിന് വികർഷണം സൃഷ്ടിക്കാൻ ഒരു വികർഷണ ശക്തി ഫീൽഡ് നൽകുന്നു, കൂടാതെ ടാർഗെറ്റ് പോയിൻ്റ് റോബോട്ടിലേക്ക് ഗുരുത്വാകർഷണബലം സൃഷ്ടിക്കുന്നതിന് ഒരു ഗുരുത്വാകർഷണ മണ്ഡലം നൽകുന്നു. ഈ രീതിയിൽ, വികർഷണത്തിൻ്റെയും ആകർഷണത്തിൻ്റെയും സംയുക്ത പ്രവർത്തനത്തിന് കീഴിൽ ഇത് റോബോട്ടിൻ്റെ ചലനത്തെ നിയന്ത്രിക്കുന്നു.
ഈ ROS പാക്കേജ് ആർട്ടിഫിഷ്യൽ പൊട്ടൻഷ്യൽ ഫീൽഡ് രീതിയെ അടിസ്ഥാനമാക്കിയുള്ള ഒരു മെച്ചപ്പെടുത്തലാണ്. ഒന്നാമതായി, രൂപീകരണ അൽഗോരിതം സ്ലേവ് ഫോളോവറിൻ്റെ രേഖീയവും കോണീയവുമായ വേഗത കണക്കാക്കുന്നു. തടസ്സം ഒഴിവാക്കുന്നതിനുള്ള ആവശ്യകതകൾക്കനുസരിച്ച് അത് രേഖീയവും കോണീയവുമായ പ്രവേഗം കൂട്ടുകയോ കുറയ്ക്കുകയോ ചെയ്യുന്നു. സ്ലേവ് ഫോളോവറും പ്രതിബന്ധവും തമ്മിലുള്ള ദൂരം അടുത്തിരിക്കുമ്പോൾ, സ്ലേവ് ഫോളോവറിനോടുള്ള പ്രതിബന്ധത്തിൻ്റെ വികർഷണ ശക്തി കൂടുതലായിരിക്കും. അതേസമയം, ലീനിയർ പ്രവേഗത്തിൻ്റെയും കോണീയ പ്രവേഗ വ്യതിയാനങ്ങളുടെയും മാറ്റം കൂടുതലാണ്. തടസ്സം സ്ലേവ് ഫോളോവറിൻ്റെ മുൻഭാഗത്തോട് അടുക്കുമ്പോൾ, സ്ലേവ് ഫോളോവറിനോടുള്ള പ്രതിബന്ധത്തിൻ്റെ വികർഷണം വലുതായിത്തീരുന്നു (മുന്നിലെ വികർഷണം ഏറ്റവും വലുതും സൈഡ് വികർഷണം ഏറ്റവും ചെറുതുമാണ്). തൽഫലമായി, രേഖീയ പ്രവേഗത്തിൻ്റെയും കോണീയ പ്രവേഗത്തിൻ്റെയും വ്യതിയാനങ്ങൾ കൂടുതലാണ്. ആർട്ടിഫിഷ്യൽ പൊട്ടൻഷ്യൽ ഫീൽഡ് രീതിയിലൂടെ, ഒരു റോബോട്ടിന് ഒരു തടസ്സത്തിന് മുന്നിൽ പ്രതികരിക്കുന്നത് നിർത്താൻ കഴിയുമ്പോൾ അത് ഒരു പരിഹാരം മെച്ചപ്പെടുത്തുന്നു. ഇത് മികച്ച തടസ്സങ്ങൾ ഒഴിവാക്കുന്നതിനുള്ള ഉദ്ദേശ്യം നിറവേറ്റുന്നു.
മൾട്ടി-ഏജൻറ് കമ്മ്യൂണിക്കേഷൻ സജ്ജീകരണം
ഒരു മൾട്ടി-റോബോട്ട് രൂപീകരണം പൂർത്തിയാക്കുന്നതിനുള്ള പ്രധാന ഘട്ടങ്ങളിലൊന്നാണ് മൾട്ടി-ഏജൻ്റ് ആശയവിനിമയം. ഒന്നിലധികം റോബോട്ടുകളുടെ ആപേക്ഷിക സ്ഥാനങ്ങൾ അജ്ഞാതമാകുമ്പോൾ, കണക്ഷനുകൾ സ്ഥാപിക്കുന്നതിന് റോബോട്ടുകൾ ആശയവിനിമയത്തിലൂടെ പരസ്പരം വിവരങ്ങൾ പങ്കിടേണ്ടതുണ്ട്. ROS-ഡിസ്ട്രിബ്യൂട്ടഡ് ആർക്കിടെക്ചറും നെറ്റ്വർക്ക് ആശയവിനിമയങ്ങളും വളരെ ശക്തമാണ്. ഇൻ്റർ-പ്രോസസ് കമ്മ്യൂണിക്കേഷന് മാത്രമല്ല, വ്യത്യസ്ത ഉപകരണങ്ങൾ തമ്മിലുള്ള ആശയവിനിമയത്തിനും ഇത് സൗകര്യപ്രദമാണ്. നെറ്റ്വർക്ക് ആശയവിനിമയത്തിലൂടെ, എല്ലാ നോഡുകൾക്കും ഏത് കമ്പ്യൂട്ടറിലും പ്രവർത്തിക്കാനാകും. ഡാറ്റ പ്രോസസ്സിംഗ് പോലുള്ള പ്രധാന ജോലികൾ ഹോസ്റ്റ് ഭാഗത്ത് പൂർത്തിയാക്കി. വിവിധ സെൻസറുകൾ ശേഖരിക്കുന്ന പാരിസ്ഥിതിക വിവരങ്ങൾ സ്വീകരിക്കുന്നതിന് അടിമ യന്ത്രങ്ങൾ ഉത്തരവാദികളാണ്. ROS-ൽ മാസ്റ്റർ നോഡ് പ്രവർത്തിപ്പിക്കുന്ന മാനേജരാണ് ഇവിടെ ഹോസ്റ്റ്. നിലവിലുള്ള മൾട്ടി-ഏജൻറ് കമ്മ്യൂണിക്കേഷൻ ചട്ടക്കൂട് ഒരു നോഡ് മാനേജറും ഒന്നിലധികം റോബോട്ടുകൾക്കിടയിലുള്ള ആശയവിനിമയങ്ങൾ കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഒരു പാരാമീറ്റർ മാനേജരുമാണ്.
മൾട്ടി-ഏജൻ്റ് കമ്മ്യൂണിക്കേഷൻസ് സജ്ജീകരിക്കുന്നതിനുള്ള ഘട്ടങ്ങൾ
- ഒരേ നെറ്റ്വർക്കിൽ ROS നിയന്ത്രണങ്ങൾ സജ്ജീകരിക്കുക
- ഒരേ നെറ്റ്വർക്കിന് കീഴിൽ Master/Slave ROS നിയന്ത്രണങ്ങൾ സജ്ജീകരിക്കുന്നതിന് 2 വഴികളുണ്ട്.
ഓപ്ഷൻ 1:
മാസ്റ്റർ നോഡ് മാനേജർ പ്രവർത്തിപ്പിച്ച് മാസ്റ്റർ ഹോസ്റ്റ് ഒരു ലോക്കൽ വൈഫൈ സൃഷ്ടിക്കുന്നു. സാധാരണയായി, മാസ്റ്ററായി നിയോഗിക്കപ്പെട്ട റോബോട്ടുകളിൽ ഒരാളാണ് ഈ വൈഫൈ നെറ്റ്വർക്ക് സൃഷ്ടിക്കുന്നത്. മറ്റ് റോബോട്ടുകളോ വെർച്വൽ മെഷീനുകളോ ഈ വൈഫൈ നെറ്റ്വർക്കിൽ അടിമകളായി ചേരുന്നു.
ഓപ്ഷനുകൾ 2:
പ്രാദേശിക വൈഫൈ നെറ്റ്വർക്ക് ഒരു വിവര റിലേ കേന്ദ്രമായി ഒരു മൂന്നാം കക്ഷി റൂട്ടർ നൽകുന്നു. എല്ലാ റോബോട്ടുകളും ഒരേ റൂട്ടറുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നു. ഇൻ്റർനെറ്റ് കണക്ഷൻ ഇല്ലാതെയും റൂട്ടർ ഉപയോഗിക്കാം. റോബോട്ടുകളിൽ ഒന്ന് മാസ്റ്ററായി തിരഞ്ഞെടുത്ത് മാസ്റ്റർ നോഡ് മാനേജർ പ്രവർത്തിപ്പിക്കുക. മറ്റ് റോബോട്ടുകളെ അടിമകളായി നിയോഗിക്കുകയും മാസ്റ്ററിൽ നിന്ന് മാസ്റ്റർ നോഡ് മാനേജർ പ്രവർത്തിപ്പിക്കുകയും ചെയ്യുന്നു.
ഏത് ഓപ്ഷൻ തിരഞ്ഞെടുക്കണം എന്ന തീരുമാനം നിങ്ങളുടെ പ്രോജക്റ്റ് ആവശ്യകതകളെ ആശ്രയിച്ചിരിക്കുന്നു. ആശയവിനിമയം നടത്തേണ്ട റോബോട്ടുകളുടെ എണ്ണം വലിയ അളവിൽ ഇല്ലെങ്കിൽ, ഓപ്ഷൻ 1 ശുപാർശ ചെയ്യുന്നു, കാരണം ഇത് ചെലവ് ലാഭിക്കുകയും സജ്ജീകരിക്കാൻ എളുപ്പവുമാണ്. റോബോട്ടുകളുടെ എണ്ണം വലിയ അളവിൽ ഉള്ളപ്പോൾ, ഓപ്ഷൻ 2 ശുപാർശ ചെയ്യുന്നു. ROS മാസ്റ്റർ നിയന്ത്രണത്തിൻ്റെ കമ്പ്യൂട്ടിംഗ് പവറിൻ്റെ നിയന്ത്രണവും പരിമിതമായ ഓൺബോർഡ് വൈഫൈ ബാൻഡ്വിഡ്ത്തും എളുപ്പത്തിൽ കാലതാമസത്തിനും നെറ്റ്വർക്ക് തടസ്സങ്ങൾക്കും കാരണമാകും. ഒരു റൂട്ടറിന് ഈ പ്രശ്നങ്ങൾ എളുപ്പത്തിൽ പരിഹരിക്കാനാകും. മൾട്ടി-ഏജൻ്റ് കമ്മ്യൂണിക്കേഷൻ നടത്തുമ്പോൾ, വെർച്വൽ മെഷീൻ ഒരു ROS സ്ലേവായി ഉപയോഗിക്കുകയാണെങ്കിൽ, അതിൻ്റെ നെറ്റ്വർക്ക് മോഡ് ബ്രിഡ്ജ് മോഡിലേക്ക് സജ്ജീകരിക്കേണ്ടതുണ്ട്.
മാസ്റ്റർ/സ്ലേവ് എൻവയോൺമെൻ്റ് വേരിയബിളുകൾ കോൺഫിഗർ ചെയ്യുക
എല്ലാ ROS മാസ്റ്ററുകളും ഒരേ നെറ്റ്വർക്കിലാണെങ്കിൽ, മൾട്ടി-ഏജൻ്റ് ആശയവിനിമയത്തിനുള്ള എൻവയോൺമെൻ്റ് വേരിയബിളുകൾ സജ്ജീകരിക്കേണ്ടതുണ്ട്. ഈ എൻവയോൺമെൻ്റ് വേരിയബിൾ പ്രധാന ഡയറക്ടറിയിലെ .bashrc ഫയലിൽ ക്രമീകരിച്ചിരിക്കുന്നു. അത് സമാരംഭിക്കുന്നതിന് gedit ~/.bashrc കമാൻഡ് പ്രവർത്തിപ്പിക്കുക. മൾട്ടി-ഏജൻ്റ് കമ്മ്യൂണിക്കേഷനിൽ യജമാനൻ്റെയും സ്ലേവിൻ്റെയും .bashrc ഫയലുകൾ കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ടെന്ന കാര്യം ശ്രദ്ധിക്കുക. മാറ്റേണ്ടത് ഫയലിൻ്റെ അവസാനത്തെ ഐപി വിലാസങ്ങളാണ്. ചിത്രം 2-1-4-ൽ കാണിച്ചിരിക്കുന്നതുപോലെ, ROS_MASTER_URI, ROS_HOSTNAME എന്നിവയാണ് രണ്ട് വരികൾ. ROS ഹോസ്റ്റിൻ്റെ ROS_MASTER_URI, ROS_HOSTNAME എന്നിവ രണ്ടും പ്രാദേശിക ഐപികളാണ്. ROS സ്ലേവ് .bashrc ഫയലിലെ ROS_MASTER_URI ഹോസ്റ്റിൻ്റെ IP വിലാസത്തിലേക്ക് മാറ്റേണ്ടതുണ്ട്, അതേസമയം ROS_HOSTNAME ഒരു പ്രാദേശിക IP വിലാസമായി തുടരും.
ROS മൾട്ടി-മെഷീൻ കമ്മ്യൂണിക്കേഷൻ ROS റിലീസ് പതിപ്പിനാൽ പരിമിതപ്പെടുത്തിയിട്ടില്ല. മൾട്ടി-മെഷീൻ ആശയവിനിമയ പ്രക്രിയയിൽ, ഇനിപ്പറയുന്നവയെക്കുറിച്ച് ഒരാൾ അറിഞ്ഞിരിക്കണം:
- ROS സ്ലേവ് പ്രോഗ്രാമിൻ്റെ പ്രവർത്തനം ROS മാസ്റ്റർ ഉപകരണത്തിൻ്റെ ROS മാസ്റ്റർ പ്രോഗ്രാമിനെ ആശ്രയിച്ചിരിക്കുന്നു. സ്ലേവ് ഉപകരണത്തിൽ സ്ലേവ് പ്രോഗ്രാം എക്സിക്യൂട്ട് ചെയ്യുന്നതിന് മുമ്പ് ROS മാസ്റ്റർ പ്രോഗ്രാം ആദ്യം മാസ്റ്റർ ഉപകരണത്തിൽ ലോഞ്ച് ചെയ്യണം.
- മൾട്ടി-മെഷീൻ ആശയവിനിമയത്തിലെ മാസ്റ്റർ, സ്ലേവ് മെഷീനുകളുടെ IP വിലാസങ്ങൾ ഒരേ നെറ്റ്വർക്കിൽ ആയിരിക്കണം. IP വിലാസവും സബ്നെറ്റ് മാസ്കും ഒരേ നെറ്റ്വർക്കിന് കീഴിലാണെന്നാണ് ഇതിനർത്ഥം.
- എൻവയോൺമെൻ്റ് കോൺഫിഗറേഷൻ ഫയലിലെ ROS_HOSTNAME .bashrc ലോക്കൽ ഹോസ്റ്റ് ഉപയോഗിക്കാൻ ശുപാർശ ചെയ്യുന്നില്ല. ഒരു പ്രത്യേക ഐപി വിലാസം ഉപയോഗിക്കാൻ ശുപാർശ ചെയ്യുന്നു.
- സ്ലേവ് ഐപി വിലാസം ശരിയായി സജ്ജീകരിച്ചിട്ടില്ലെങ്കിൽ, സ്ലേവ് ഉപകരണത്തിന് ഇപ്പോഴും ROS മാസ്റ്ററിലേക്ക് ആക്സസ് ചെയ്യാൻ കഴിയും, എന്നാൽ നിയന്ത്രണ വിവരങ്ങൾ നൽകാനാവില്ല.
- വിർച്ച്വൽ മെഷീൻ മൾട്ടി-ഏജൻ്റ് ആശയവിനിമയത്തിൽ പങ്കെടുക്കുകയാണെങ്കിൽ, അതിൻ്റെ നെറ്റ്വർക്ക് മോഡ് ബ്രിഡ്ജ് മോഡിലേക്ക് സജ്ജീകരിക്കേണ്ടതുണ്ട്. നെറ്റ്വർക്ക് കണക്ഷനായി സ്റ്റാറ്റിക് ഐപി തിരഞ്ഞെടുക്കാൻ കഴിയില്ല.
- മൾട്ടി-മെഷീൻ ആശയവിനിമയം സാധ്യമല്ല view അല്ലെങ്കിൽ പ്രാദേശികമായി നിലവിലില്ലാത്ത സന്ദേശ ഡാറ്റാ തരത്തിലുള്ള വിഷയങ്ങൾ സബ്സ്ക്രൈബുചെയ്യുക.
- റോബോട്ടുകൾ തമ്മിലുള്ള ആശയവിനിമയം വിജയകരമാണോ എന്ന് പരിശോധിക്കാൻ നിങ്ങൾക്ക് ലിറ്റിൽ ടർട്ടിൽ സിമുലേഷൻ ഡെമോ ഉപയോഗിക്കാം:
- a. യജമാനനിൽ നിന്ന് ഓടുക
- വീണ്ടെടുക്കുക #ലോഞ്ച് ROS സേവനങ്ങൾ
- rostrum turtles turtlesim_node #launch turtles ഇൻ്റർഫേസ്
- b. അടിമയിൽ നിന്ന് ഓടുക
- ആമകളെ വീണ്ടും പ്രവർത്തിപ്പിക്കുക turtle_teleop_key #ആമകൾക്കുള്ള കീബോർഡ് നിയന്ത്രണ നോഡ് ലോഞ്ച് ചെയ്യുക
- a. യജമാനനിൽ നിന്ന് ഓടുക
സ്ലേവിലെ കീബോർഡിൽ നിന്ന് നിങ്ങൾക്ക് ആമയുടെ ചലനങ്ങൾ കൈകാര്യം ചെയ്യാൻ കഴിയുമെങ്കിൽ, യജമാനൻ/സ്ലേവ് ആശയവിനിമയം വിജയകരമായി സ്ഥാപിക്കപ്പെട്ടു എന്നാണ് അർത്ഥമാക്കുന്നത്.
ROS-ൽ ഓട്ടോമാറ്റിക് വൈഫൈ കണക്ഷൻ
ഹോസ്റ്റ് നെറ്റ്വർക്കിലേക്കോ റൂട്ടർ നെറ്റ്വർക്കിലേക്കോ യാന്ത്രികമായി കണക്റ്റുചെയ്യുന്നതിന് റോബോട്ടിനെ എങ്ങനെ കോൺഫിഗർ ചെയ്യാമെന്ന് ചുവടെയുള്ള നടപടിക്രമങ്ങൾ വിശദീകരിക്കുന്നു.
ജെറ്റ്സൺ നാനോയ്ക്കായി സ്വയമേവയുള്ള വൈഫൈ കണക്ഷൻ സജ്ജീകരണം
- വിഎൻസി റിമോട്ട് ടൂൾ വഴിയോ കമ്പ്യൂട്ടർ സ്ക്രീനിലേക്ക് നേരിട്ടോ ജെറ്റ്സൺ നാനോയെ ബന്ധിപ്പിക്കുക. മുകളിൽ വലത് കോണിലുള്ള വൈഫൈ ഐക്കണിൽ ക്ലിക്ക് ചെയ്ത് "കണക്ഷനുകൾ എഡിറ്റ് ചെയ്യുക.." ക്ലിക്ക് ചെയ്യുക.
- നെറ്റ്വർക്ക് കണക്ഷനുകളിലെ + ബട്ടൺ ക്ലിക്ക് ചെയ്യുക:
- "ഒരു കണക്ഷൻ തരം തിരഞ്ഞെടുക്കുക" വിൻഡോയ്ക്ക് കീഴിൽ, ഡ്രോപ്പ്-ഡൗൺ മെനുവിൽ ക്ലിക്ക് ചെയ്ത് "സൃഷ്ടിക്കുക..." ബട്ടൺ ക്ലിക്കുചെയ്യുക:
- നിയന്ത്രണ പാനലിൽ, വൈഫൈ ഓപ്ഷൻ ക്ലിക്ക് ചെയ്യുക. "കണക്ഷൻ നാമം", SSID ഫീൽഡുകൾ എന്നിവയിൽ കണക്റ്റുചെയ്യാൻ വൈഫൈ നാമം നൽകുക. "മോഡ്" ഡ്രോപ്പ്ഡൗൺ മെനുവിൽ "ക്ലയൻ്റ്" തിരഞ്ഞെടുത്ത് "ഡിവൈസ്" ഡ്രോപ്പ്ഡൗൺ മെനുവിൽ "wlan0" തിരഞ്ഞെടുക്കുക.
- നിയന്ത്രണ പാനലിൽ, "പൊതുവായ" ഓപ്ഷൻ ക്ലിക്ക് ചെയ്ത് "ഈ നെറ്റ്വർക്കിലേക്ക് യാന്ത്രികമായി കണക്റ്റുചെയ്യുക..." പരിശോധിക്കുക. "ഓട്ടോ-ആക്ടിവേഷനുള്ള കണക്ഷൻ മുൻഗണന" ഓപ്ഷനിൽ കണക്ഷൻ മുൻഗണന 1 ആയി സജ്ജമാക്കുക. "എല്ലാ ഉപയോക്താക്കളും ഈ നെറ്റ്വർക്കിലേക്ക് കണക്റ്റ് ചെയ്തേക്കാം" എന്ന ഓപ്ഷൻ പരിശോധിക്കുക. മറ്റ് വൈഫൈയ്ക്കായി “ഓട്ടോ-ആക്ടിവേഷനുള്ള കണക്ഷൻ മുൻഗണന” എന്നതിൽ ഓപ്ഷൻ 0 ആയി സജ്ജീകരിക്കുമ്പോൾ, ഇതിനർത്ഥം ഇത് മുൻകാലങ്ങളിൽ തിരഞ്ഞെടുത്ത വൈഫൈ നെറ്റ്വർക്ക് ആയിരുന്നു എന്നാണ്.
- നിയന്ത്രണ പാനലിലെ "വൈഫൈ സെക്യൂരിറ്റി" ഓപ്ഷൻ ക്ലിക്ക് ചെയ്യുക. "സെക്യൂരിറ്റി" ഫീൽഡിൽ "WPA & WPA2 പേഴ്സണൽ" തിരഞ്ഞെടുക്കുക. തുടർന്ന് "പാസ്വേഡ്" ഫീൽഡിൽ വൈഫൈ പാസ്വേഡ് നൽകുക.
കുറിപ്പ്: വൈഫൈ മുൻഗണന 0 ആയി സജ്ജീകരിക്കുമ്പോൾ ബൂട്ട് ചെയ്തതിന് ശേഷം റോബോട്ടിന് സ്വയമേവ വൈഫൈ നെറ്റ്വർക്കിലേക്ക് കണക്റ്റുചെയ്യാൻ കഴിയുന്നില്ലെങ്കിൽ, അത് ദുർബലമായ വൈഫൈ സിഗ്നലിൻ്റെ പ്രശ്നം മൂലമാകാം. ഈ പ്രശ്നം ഒഴിവാക്കുന്നതിന്, മുമ്പ് കണക്റ്റുചെയ്തിട്ടുള്ള എല്ലാ വൈഫൈ ഓപ്ഷനുകളും ഇല്ലാതാക്കാൻ നിങ്ങൾക്ക് തിരഞ്ഞെടുക്കാം. ഹോസ്റ്റ് അല്ലെങ്കിൽ റൂട്ടർ സൃഷ്ടിച്ച വൈഫൈ നെറ്റ്വർക്ക് മാത്രം സൂക്ഷിക്കുക. നെറ്റ്വർക്ക് ക്രമീകരണ നിയന്ത്രണ പാനലിലെ "IPv4 ക്രമീകരണങ്ങൾ" ഓപ്ഷൻ ക്ലിക്ക് ചെയ്യുക. "രീതി" ഫീൽഡിൽ "മാനുവൽ" ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക. തുടർന്ന് "ചേർക്കുക" ക്ലിക്ക് ചെയ്യുക, "വിലാസം" ഫീൽഡിൽ സ്ലേവ് മെഷീൻ്റെ IP വിലാസം പൂരിപ്പിക്കുക. "നെറ്റ്മാസ്ക്" ഫീൽഡിൽ "24" പൂരിപ്പിക്കുക. "ഗേറ്റ്വേ" എന്നതിലെ IP നെറ്റ്വർക്ക് സെഗ്മെൻ്റ് പൂരിപ്പിക്കുക. IP നെറ്റ്വർക്ക് സെഗ്മെൻ്റിൻ്റെ അവസാന മൂന്ന് അക്കങ്ങൾ "1" ആയി മാറ്റുക. ഈ ഘട്ടത്തിൻ്റെ പ്രധാന ലക്ഷ്യം IP വിലാസം ശരിയാക്കുക എന്നതാണ്. ഇത് ആദ്യമായി പൂർത്തിയാക്കിയ ശേഷം, അതേ വൈഫൈയിലേക്ക് പിന്നീട് കണക്റ്റ് ചെയ്യുമ്പോൾ IP വിലാസം മാറ്റമില്ലാതെ തുടരും.
എല്ലാ ക്രമീകരണങ്ങളും ക്രമീകരിച്ച ശേഷം, ക്രമീകരണങ്ങൾ സംരക്ഷിക്കാൻ "സംരക്ഷിക്കുക" ക്ലിക്ക് ചെയ്യുക. സേവിംഗ് വിജയകരമായ ശേഷം, അത് പവർ ചെയ്യുമ്പോൾ റോബോട്ട് ഹോസ്റ്റിൻ്റെ അല്ലെങ്കിൽ റൂട്ടറിൻ്റെ നെറ്റ്വർക്കിലേക്ക് യാന്ത്രികമായി കണക്റ്റുചെയ്യും.
കുറിപ്പ്:
- ഇവിടെ സെറ്റ് ചെയ്തിരിക്കുന്ന ഐപി വിലാസം സെക്ഷൻ 2.1 ലെ .bashrc ഫയലിൽ സജ്ജീകരിച്ചിരിക്കുന്ന IP വിലാസം തന്നെ ആയിരിക്കണം.
- യജമാനൻ്റെയും ഓരോ അടിമയുടെയും IP വിലാസം അദ്വിതീയമായിരിക്കണം.
- മാസ്റ്റർ, സ്ലേവ് ഐപി വിലാസങ്ങൾ ഒരേ നെറ്റ്വർക്ക് സെഗ്മെൻ്റിലായിരിക്കണം.
- സ്ലേവ് റോബോട്ട് പവർ ചെയ്യാനും വൈഫൈ നെറ്റ്വർക്കിലേക്ക് സ്വയമേവ കണക്റ്റ് ചെയ്യാനും കഴിയുന്നതിന് മുമ്പ് ഹോസ്റ്റ് അല്ലെങ്കിൽ റൂട്ടർ വൈഫൈ സിഗ്നൽ അയയ്ക്കുന്നതിനായി നിങ്ങൾ കാത്തിരിക്കണം.
- ക്രമീകരണം കോൺഫിഗർ ചെയ്ത ശേഷം, വൈഫൈ ഓണായിരിക്കുമ്പോൾ റോബോട്ടിന് സ്വയമേവ കണക്റ്റ് ചെയ്യാൻ കഴിയുന്നില്ലെങ്കിൽ, നെറ്റ്വർക്ക് കാർഡ് പ്ലഗ് ചെയ്ത് അൺപ്ലഗ് ചെയ്ത് വീണ്ടും കണക്റ്റുചെയ്യാൻ ശ്രമിക്കുക.
റാസ്ബെറി പൈയ്ക്കായി സ്വയമേവയുള്ള വൈഫൈ കണക്ഷൻ സജ്ജീകരണം
റാസ്ബെറി പൈയുടെ നടപടിക്രമം ജെറ്റ്സൺ നാനോയ്ക്ക് സമാനമാണ്.
Jetson TX1-നുള്ള യാന്ത്രിക വൈഫൈ കണക്ഷൻ സജ്ജീകരണം
ജെറ്റ്സൺ ടിഎക്സ് 1-ലെ സജ്ജീകരണം ജെറ്റ്സൺ നാനോയിലേതിന് സമാനമാണ്.
മൾട്ടി-ഏജൻറ് സിൻക്രൊണൈസേഷൻ സെറ്റപ്പ്
മൾട്ടി-ഏജൻറ് രൂപീകരണ പ്രോജക്റ്റിൽ, മൾട്ടി-ഏജൻറ് സമയ സമന്വയ ക്രമീകരണം ഒരു നിർണായക ഘട്ടമാണ്. രൂപീകരണ പ്രക്രിയയിൽ, ഓരോ റോബോട്ടിൻ്റെയും അസിൻക്രണസ് സിസ്റ്റം സമയം കാരണം നിരവധി പ്രശ്നങ്ങൾ ഉണ്ടാകാം. മൾട്ടി-ഏജൻ്റ് ടൈം സിൻക്രൊണൈസേഷൻ രണ്ട് സാഹചര്യങ്ങളായി തിരിച്ചിരിക്കുന്നു, അതായത്, മാസ്റ്റർ, സ്ലേവ് റോബോട്ടുകൾ നെറ്റ്വർക്കിലേക്ക് കണക്റ്റുചെയ്തിരിക്കുന്ന സാഹചര്യം, നെറ്റ്വർക്കിൽ നിന്ന് രണ്ടും വിച്ഛേദിക്കപ്പെട്ട സാഹചര്യം.
വിജയകരമായ മാസ്റ്റർ/സ്ലേവ് നെറ്റ്വർക്ക് കണക്ഷൻ
മൾട്ടി-ഏജൻറ് കമ്മ്യൂണിക്കേഷൻ കോൺഫിഗർ ചെയ്ത ശേഷം, മാസ്റ്റർ, സ്ലേവ് മെഷീനുകൾ നെറ്റ്വർക്കിലേക്ക് വിജയകരമായി കണക്റ്റ് ചെയ്യാൻ കഴിയുമെങ്കിൽ, അവ യാന്ത്രികമായി നെറ്റ്വർക്ക് സമയം സമന്വയിപ്പിക്കും. ഈ സാഹചര്യത്തിൽ, സമയ സമന്വയം കൈവരിക്കുന്നതിന് കൂടുതൽ പ്രവർത്തനങ്ങളൊന്നും ആവശ്യമില്ല.
നെറ്റ്വർക്ക് ഡിസ്-കണക്ഷനുകളുടെ ട്രബിൾഷൂട്ടിംഗ്
മൾട്ടി-ഏജൻറ് കമ്മ്യൂണിക്കേഷൻ കോൺഫിഗർ ചെയ്ത ശേഷം, മാസ്റ്റർ, സ്ലേവ് ഉപകരണങ്ങൾ നെറ്റ്വർക്കിലേക്ക് വിജയകരമായി കണക്റ്റുചെയ്യാൻ കഴിയുന്നില്ലെങ്കിൽ, സമയം സ്വമേധയാ സമന്വയിപ്പിക്കേണ്ടത് ആവശ്യമാണ്. സമയ ക്രമീകരണം പൂർത്തിയാക്കാൻ ഞങ്ങൾ തീയതി കമാൻഡ് ഉപയോഗിക്കും.
ആദ്യം, ടെർമിനേറ്റർ ടൂൾ ഇൻസ്റ്റാൾ ചെയ്യുക. ടെർമിനേറ്റർ ടൂളിൽ നിന്ന്, മാസ്റ്ററുടെയും സ്ലേവിൻ്റെയും കൺട്രോൾ ടെർമിനലുകൾ ഒരേ ടെർമിനൽ വിൻഡോയിൽ സ്ഥാപിക്കാൻ വിൻഡോ സ്പ്ലിറ്റിംഗ് ടൂൾ ഉപയോഗിക്കുക (ഒരു സ്പ്ലിറ്റ് വിൻഡോ സജ്ജീകരിക്കാൻ വലത്-ക്ലിക്ക് ചെയ്യുക, വ്യത്യസ്ത വിൻഡോകളിൽ ssh വഴി മാസ്റ്റർ, സ്ലേവ് മെഷീനുകളിലേക്ക് ലോഗിൻ ചെയ്യുക) .
- sudo apt-get install terminator # ടെർമിനൽ വിൻഡോ വിഭജിക്കാൻ ടെർമിനേറ്റർ ഡൗൺലോഡ് ചെയ്യുക
മുകളിൽ ഇടതുവശത്തുള്ള ബട്ടണിൽ ക്ലിക്ക് ചെയ്യുക, [എല്ലാവരിലേക്കും ബ്രോഡ്കാസ്റ്റ് ചെയ്യുക]/[എല്ലാം ബ്രോഡ്കാസ്റ്റ് ചെയ്യുക] എന്ന ഓപ്ഷൻ തിരഞ്ഞെടുത്ത് ഇനിപ്പറയുന്ന കമാൻഡ് നൽകുക. യജമാനനും സ്ലേവിനുമായി ഒരേ സമയം സജ്ജീകരിക്കാൻ ടെർമിനേറ്റർ ടൂൾ ഉപയോഗിക്കുക.
- sudo date -s “2022-01-30 15:15:00” # മാനുവൽ സമയ സജ്ജീകരണം
മൾട്ടി-ഏജൻറ് റോസ് പാക്കേജ്
ROS പാക്കേജ് ആമുഖം
അടിമ നാമം സജ്ജമാക്കുക
വീൽടെക്_മൾട്ടി ഫംഗ്ഷൻ പാക്കേജിൽ, പിശകുകൾ ഒഴിവാക്കാൻ ഓരോ സ്ലേവ് റോബോട്ടിനും തനതായ പേര് സജ്ജീകരിക്കേണ്ടത് ആവശ്യമാണ്. ഉദാample, സ്ലേവ്1 എന്നതിനുള്ള നമ്പർ 1, സ്ലേവ്2 എന്നതിനുള്ള നമ്പർ 2 മുതലായവ. വ്യത്യസ്ത പേരുകൾ ക്രമീകരിക്കുന്നതിൻ്റെ ഉദ്ദേശ്യം റണ്ണിംഗ് നോഡുകൾ ഗ്രൂപ്പുചെയ്യുകയും അവയെ വ്യത്യസ്ത നെയിംസ്പെയ്സ് ഉപയോഗിച്ച് വേർതിരിക്കുകയും ചെയ്യുക എന്നതാണ്. ഉദാample, സ്ലേവ് 1 ൻ്റെ റഡാർ വിഷയം/slave1/സ്കാൻ ആണ്, കൂടാതെ സ്ലേവ് 1 ൻ്റെ LiDAR നോഡ്/slave1/laser ആണ്.
സ്ലേവ് കോർഡിനേറ്റുകൾ സജ്ജീകരിക്കുക
wheeltec_multi പാക്കേജിന് ഇഷ്ടാനുസൃത രൂപീകരണങ്ങൾ നടപ്പിലാക്കാൻ കഴിയും. വ്യത്യസ്ത രൂപീകരണങ്ങൾ ആവശ്യമായി വരുമ്പോൾ, സ്ലേവ് റോബോട്ടുകളുടെ ആവശ്യമുള്ള കോർഡിനേറ്റുകൾ പരിഷ്ക്കരിക്കുക. Slave_x, slave_y എന്നിവ സ്ലേവിൻ്റെ x, y കോർഡിനേറ്റുകളാണ്, യജമാനനെ യഥാർത്ഥ റഫറൻസ് പോയിൻ്റായി. മാസ്റ്ററുടെ മുൻഭാഗം x കോർഡിനേറ്റിൻ്റെ പോസിറ്റീവ് ദിശയാണ്, ഇടത് വശം y കോർഡിനേറ്റിൻ്റെ പോസിറ്റീവ് ദിശയാണ്. ക്രമീകരണം പൂർത്തിയായ ശേഷം, സ്ലേവിൻ്റെ പ്രതീക്ഷിക്കുന്ന കോർഡിനേറ്റ് ആയി ഒരു TF കോർഡിനേറ്റ് സ്ലേവ്1 ഇഷ്യൂ ചെയ്യും. ഒരു യജമാനനും രണ്ട് അടിമകളും ഉണ്ടെങ്കിൽ, ഇനിപ്പറയുന്ന രൂപീകരണം സജ്ജമാക്കാൻ കഴിയും:
- തിരശ്ചീന രൂപീകരണം: നിങ്ങൾക്ക് ഇടത് വശത്തുള്ള സ്ലേവിൻ്റെ കോർഡിനേറ്റുകൾ slave_x:0, slave_y: 0.8 എന്നും സ്ലേവിൻ്റെ കോർഡിനേറ്റുകൾ വലതുവശത്ത് slave_x:0, slave_y:-0.8 എന്നിങ്ങനെയും സജ്ജമാക്കാം.
- നിര രൂപീകരണം: ഒരു അടിമയുടെ കോർഡിനേറ്റുകൾ ഇനിപ്പറയുന്നതായി സജ്ജീകരിക്കാം: slave_x:-0.8, slave_y:0, മറ്റൊരു സ്ലേവിൻ്റെ കോർഡിനേറ്റുകൾ: slave_x:-1.8, slave_y:0 എന്നിങ്ങനെ സജ്ജമാക്കാം.
- ത്രികോണ രൂപീകരണം: ഒരു അടിമയുടെ കോർഡിനേറ്റുകൾ ഇനിപ്പറയുന്നതായി സജ്ജീകരിക്കാം: slave_x:-0.8, slave_y: 0.8, മറ്റൊരു സ്ലേവിൻ്റെ കോർഡിനേറ്റുകൾ: slave_x:-0.8, slave_y:-0.8.
മറ്റ് രൂപീകരണങ്ങൾ ആവശ്യാനുസരണം ഇഷ്ടാനുസൃതമാക്കാവുന്നതാണ്.
കുറിപ്പ്:
- രണ്ട് റോബോട്ടുകൾക്കിടയിലുള്ള ശുപാർശിത ദൂരം 0.8 ആയി സജ്ജീകരിച്ചിരിക്കുന്നു, 0.6 ൽ താഴെയാകരുതെന്ന് ശുപാർശ ചെയ്യുന്നു. അടിമകളും യജമാനനും തമ്മിലുള്ള ദൂരം 2.0-ൽ താഴെയായി സജ്ജീകരിക്കാൻ ശുപാർശ ചെയ്യുന്നു. അത് യജമാനനിൽ നിന്ന് എത്ര അകലെയാണോ, യജമാനൻ തിരിയുമ്പോൾ അടിമയുടെ രേഖീയ വേഗത വർദ്ധിക്കുന്നു. പരമാവധി വേഗതയുടെ പരിമിതി കാരണം, ആവശ്യകതകൾ നിറവേറ്റുന്നില്ലെങ്കിൽ അടിമയുടെ വേഗത വ്യതിചലിക്കും. റോബോട്ട് രൂപീകരണം താറുമാറാകും.
അടിമ സ്ഥാനത്തിൻ്റെ ആരംഭം
- സ്ലേവിൻ്റെ പ്രാരംഭ സ്ഥാനം ഡിഫോൾട്ടായി പ്രതീക്ഷിക്കുന്ന കോർഡിനേറ്റുകളിൽ ആണ്. പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ്, സ്ലേവ് റോബോട്ടിനെ അതിൻ്റെ പ്രാരംഭ കോർഡിനേറ്റുകൾക്ക് സമീപം സ്ഥാപിക്കുക. ചിത്രം 4-1-3-ൽ കാണിച്ചിരിക്കുന്നതുപോലെ, wheeltec_multi പാക്കേജിലെ turn_on_wheeltec_robot.launch എന്ന ഫയലിലെ pose_setter നോഡാണ് ഈ ഫംഗ്ഷൻ നടപ്പിലാക്കുന്നത്.
സ്ലേവിൻ്റെ പ്രാരംഭ സ്ഥാനം ഇഷ്ടാനുസൃതമാക്കാൻ ഉപയോക്താവിന് താൽപ്പര്യമുണ്ടെങ്കിൽ, wheeltec_slave.launch-ൽ ചിത്രം 4-1-4-ൽ കാണിച്ചിരിക്കുന്നതുപോലെ slave_x, slave_y മൂല്യങ്ങൾ സജ്ജീകരിച്ചാൽ മതിയാകും. slave_x, slave_y മൂല്യങ്ങൾ turn_on_wheeltec_robot.launch-ലേക്ക് കൈമാറുകയും pose_setter നോഡിലേക്ക് അസൈൻ ചെയ്യുകയും ചെയ്യും. പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് റോബോട്ടിനെ ഒരു ഇഷ്ടാനുസൃത സ്ഥാനത്ത് സ്ഥാപിക്കുക.
സ്ഥാനം കോൺഫിഗറേഷൻ
ഒരു മൾട്ടി-ഏജൻറ് രൂപീകരണത്തിൽ, പരിഹരിക്കപ്പെടേണ്ട ആദ്യത്തെ പ്രശ്നം യജമാനൻ്റെയും അടിമയുടെയും സ്ഥാനനിർണ്ണയമാണ്. മാസ്റ്റർ ആദ്യം ഒരു 2D മാപ്പ് നിർമ്മിക്കും. മാപ്പ് സൃഷ്ടിച്ച് സംരക്ഷിച്ച ശേഷം, 2D നാവിഗേഷൻ പാക്കേജ് പ്രവർത്തിപ്പിക്കുക, മാസ്റ്ററിൻ്റെ പൊസിഷനിംഗ് കോൺഫിഗർ ചെയ്യുന്നതിന് 2D നാവിഗേഷൻ പാക്കേജിലെ അഡാപ്റ്റീവ് മോണ്ടെ കാർലോ പൊസിഷനിംഗ് അൽഗോരിതം (amcl പൊസിഷനിംഗ്) ഉപയോഗിക്കുക. യജമാനനും സ്ലേവുകളും ഒരേ നെറ്റ്വർക്കിലായതിനാൽ ഒരേ നോഡ് മാനേജർ പങ്കിടുന്നതിനാൽ, മാസ്റ്റർ 2D നാവിഗേഷൻ പാക്കേജിൽ നിന്ന് മാപ്പ് സമാരംഭിച്ചു, എല്ലാ സ്ലേകൾക്കും ഒരേ നോഡ് മാനേജറിന് കീഴിൽ ഒരേ മാപ്പ് ഉപയോഗിക്കാം. അതിനാൽ, അടിമക്ക് ഒരു ഭൂപടം സൃഷ്ടിക്കേണ്ട ആവശ്യമില്ല. wheeltec_slave.launch-ൽ, മോണ്ടെ കാർലോ പൊസിഷനിംഗ് (amcl പൊസിഷനിംഗ്) പ്രവർത്തിപ്പിക്കുക, മാസ്റ്റർ സൃഷ്ടിച്ച മാപ്പ് ഉപയോഗിച്ച് അടിമകൾക്ക് അവരുടെ സ്ഥാനങ്ങൾ ക്രമീകരിക്കാൻ കഴിയും.
രൂപീകരണം എങ്ങനെ സൃഷ്ടിക്കാം, രൂപീകരണം നിലനിർത്താം
രൂപീകരണ പ്രസ്ഥാനത്തിൻ്റെ പ്രക്രിയയിൽ, Rviz, കീബോർഡ്, റിമോട്ട് കൺട്രോൾ, മറ്റ് രീതികൾ എന്നിവ ഉപയോഗിച്ച് മാസ്റ്റർ പ്രസ്ഥാനം നിയന്ത്രിക്കാനാകും. സ്ലേവ് അതിൻ്റെ ചലനം നിയന്ത്രിക്കുന്നതിനും രൂപീകരണത്തിൻ്റെ ലക്ഷ്യം നേടുന്നതിനുമായി slave_tf_listener നോഡിലൂടെ അതിൻ്റെ വേഗത കണക്കാക്കുന്നു. നോഡ് കണക്കുകൂട്ടൽ വഴി അമിത വേഗത ഒഴിവാക്കാൻ slave_tf_listener നോഡ് സ്ലേവ് സ്പീഡ് പരിമിതപ്പെടുത്തുന്നു, ഇത് ആഘാതങ്ങളുടെ ഒരു പരമ്പരയ്ക്ക് കാരണമാകും. Wheeltec_slave.launch-ൽ നിർദ്ദിഷ്ട മൂല്യം പരിഷ്ക്കരിക്കാനാകും.
രൂപീകരണ അൽഗോരിതത്തിൻ്റെ പ്രസക്തമായ പാരാമീറ്ററുകൾ ഇനിപ്പറയുന്നവയാണ്:
തടസ്സം ഒഴിവാക്കൽ വിവരങ്ങൾ
ഒരു മൾട്ടി-ഏജൻറ് രൂപീകരണത്തിൽ, തടസ്സം ഒഴിവാക്കുന്നത് പൂർത്തിയാക്കാൻ മാസ്റ്ററിന് move_base നോഡ് ഉപയോഗിക്കാം. എന്നിരുന്നാലും, സ്ലേവിൻ്റെ ആരംഭം മൂവ്_ബേസ് നോഡ് ഉപയോഗിക്കുന്നില്ല. ഈ ഘട്ടത്തിൽ, സ്ലേവ് പ്രോഗ്രാമിൽ multi_avoidance നോഡ് വിളിക്കേണ്ടതുണ്ട്. പാക്കേജിൽ ഡിഫോൾട്ടായി തടസ്സം ഒഴിവാക്കൽ നോഡ് പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നു. ആവശ്യമെങ്കിൽ, തടസ്സം ഒഴിവാക്കൽ നോഡ് പ്രവർത്തനരഹിതമാക്കുന്നതിന് ഒഴിവാക്കൽ "തെറ്റായി" സജ്ജമാക്കാം.
തടസ്സം ഒഴിവാക്കൽ നോഡിൻ്റെ ചില പ്രസക്തമായ പാരാമീറ്ററുകൾ ചുവടെയുള്ള ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നു, ഇവിടെ സുരക്ഷിത_ദൂരം തടസ്സമില്ലാത്ത സുരക്ഷിത ദൂര പരിധിയും അപകട_ദൂരം തടസ്സം അപകടകരമായ ദൂര പരിധിയുമാണ്. തടസ്സം സുരക്ഷിതമായ ദൂരത്തിലും അപകട ദൂരത്തിലും ആയിരിക്കുമ്പോൾ, തടസ്സം ഒഴിവാക്കാൻ അടിമ അതിൻ്റെ സ്ഥാനം ക്രമീകരിക്കുന്നു. തടസ്സം അപകടത്തിലായിരിക്കുമ്പോൾ, അടിമ തടസ്സത്തിൽ നിന്ന് ഓടിപ്പോകും.
ഓപ്പറേഷൻ നടപടിക്രമം
എക്സിക്യൂഷൻ കമാൻഡ് നൽകുക
മൾട്ടി-ഏജൻറ് രൂപീകരണം ആരംഭിക്കുന്നതിന് മുമ്പുള്ള തയ്യാറെടുപ്പുകൾ:
- യജമാനനും അടിമയും ഒരേ നെറ്റ്വർക്കിലേക്ക് കണക്റ്റുചെയ്ത് മൾട്ടി-ഏജൻ്റ് ആശയവിനിമയം ശരിയായി സജ്ജീകരിക്കുന്നു
- മാസ്റ്റർ മുൻകൂട്ടി ഒരു 2D മാപ്പ് നിർമ്മിക്കുകയും അത് സംരക്ഷിക്കുകയും ചെയ്യുന്നു
- മാപ്പിനെ മാപ്പിൻ്റെ ആരംഭ പോയിൻ്റിൽ സ്ഥാപിച്ചിരിക്കുന്നു, കൂടാതെ സ്ലേവിനെ ഇനീഷ്യലൈസേഷൻ സ്ഥാനത്തിന് സമീപം സ്ഥാപിക്കുന്നു (സ്ഥിര സ്ലേവ് രൂപീകരണ സ്ഥാനം)
- ജെറ്റ്സൺ നാനോ/റാസ്ബെറി പൈയിലേക്ക് വിദൂരമായി ലോഗിൻ ചെയ്ത ശേഷം, സമയ സമന്വയം നടത്തുക.
sudo date -s “2022-04-01 15:15:00”
- ഘട്ടം 1: മാസ്റ്ററിൽ നിന്ന് ഒരു 2D മാപ്പ് തുറക്കുക.
roslaunch turn_on_wheeltec_robot navigation.launch
- ഘട്ടം 2: എല്ലാ അടിമകളിൽ നിന്നും രൂപീകരണ പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കുക.
roslaunch wheeltec_multi wheeltec_slave.launch
- ഘട്ടം 3: മാസ്റ്ററിൽ നിന്ന് കീബോർഡ് കൺട്രോൾ നോഡ് തുറക്കുക അല്ലെങ്കിൽ മാസ്റ്റർ ചലനത്തെ വിദൂരമായി നിയന്ത്രിക്കാൻ ജോയ്സ്റ്റിക്ക് ഉപയോഗിക്കുക.
വീൽടെക്_റോബോട്ട്_ആർസി കീബോർഡ്_ടെലിയോപ്.ലോഞ്ച് വീണ്ടും സമാരംഭിക്കുക
- ഘട്ടം 4: (ഓപ്ഷണൽ) Rviz-ൽ നിന്നുള്ള റോബോട്ട് ചലനങ്ങൾ നിരീക്ഷിക്കുക.
rviz
കുറിപ്പ്:
- പ്രോഗ്രാം എക്സിക്യൂട്ട് ചെയ്യുന്നതിന് മുമ്പ് സമയ സമന്വയ പ്രവർത്തനം പൂർത്തിയാക്കുന്നത് ഉറപ്പാക്കുക.
- ഒരു മൾട്ടി-ഏജൻറ് രൂപീകരണത്തിൻ്റെ മാസ്റ്റർ നിയന്ത്രിക്കുമ്പോൾ, കോണീയ വേഗത വളരെ വേഗത്തിലാകരുത്. ശുപാർശ ചെയ്യുന്ന ലീനിയർ വേഗത 0.2m/s ആണ്, കോണീയ വേഗത ഡിഗ്രി 0.3rad/s-ന് താഴെയാണ്. യജമാനൻ ഒരു വഴിത്തിരിവ് നടത്തുമ്പോൾ, അടിമ യജമാനനിൽ നിന്ന് എത്രത്തോളം അകന്നിരിക്കുന്നുവോ അത്രയധികം രേഖീയ വേഗത ആവശ്യമാണ്. പാക്കേജിലെ രേഖീയ വേഗതയുടെയും കോണീയ വേഗതയുടെയും പരിധി കാരണം, സ്ലേവ് കാറിന് ആവശ്യമായ വേഗതയിൽ എത്താൻ കഴിയാതെ വരുമ്പോൾ, രൂപീകരണം കുഴപ്പത്തിലാകും. മൊത്തത്തിൽ, അമിതമായ രേഖീയ വേഗത റോബോട്ടിനെ എളുപ്പത്തിൽ നശിപ്പിക്കും.
- അടിമകളുടെ എണ്ണം ഒന്നിൽ കൂടുതലാണെങ്കിൽ, ROS ഹോസ്റ്റിൻ്റെ പരിമിതമായ ഓൺ-ബോർഡ് വൈഫൈ ബാൻഡ്വിഡ്ത്ത് കാരണം, മൾട്ടി-ഏജൻ്റ് ആശയവിനിമയത്തിൻ്റെ കാര്യമായ കാലതാമസത്തിനും വിച്ഛേദിക്കുന്നതിനും കാരണമാകുന്നത് എളുപ്പമാണ്. ഒരു റൂട്ടർ ഉപയോഗിച്ച് ഈ പ്രശ്നം നന്നായി പരിഹരിക്കാൻ കഴിയും.
- മൾട്ടി-റോബോട്ട് രൂപീകരണത്തിൻ്റെ TF ട്രീ (2 അടിമകൾ) ഇതാണ്: rqt_tf_tree
- മൾട്ടി-റോബോട്ട് രൂപീകരണത്തിൻ്റെ (2 സ്ലേവുകൾ) നോഡ് റിലേഷൻഷിപ്പ് ഡയഗ്രം ഇതാണ്: rqt_graph
പ്രമാണങ്ങൾ / വിഭവങ്ങൾ
![]() |
ROBOWORKS റോബോഫ്ലീറ്റ് മൾട്ടി-ഏജൻറ് അൽഗോരിതങ്ങൾ [pdf] ഉപയോക്തൃ മാനുവൽ റോബോഫ്ലീറ്റ് മൾട്ടി ഏജൻ്റ് അൽഗോരിതംസ്, റോബോഫ്ലീറ്റ്, മൾട്ടി ഏജൻ്റ് അൽഗോരിതംസ്, ഏജൻ്റ് അൽഗോരിതംസ്, അൽഗോരിതംസ് |