රොබෝවර්ක්ස්-ලාංඡනය

ROBOWORKS Robofleet MULTI-AGENT ඇල්ගොරිතම

ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-නිෂ්පාදනය

පිරිවිතර

  • නිෂ්පාදනයේ නම: ROBOWORKS
  • අනුවාදය: 20240501
  • සකස් කළේ: වේන් ලියු සහ ජැනට් ලින්
  • දිනය: 1 මැයි 2024

නිෂ්පාදන තොරතුරු

ROBOWORKS යනු රොබෝ සම්බන්ධීකරණය සහ සන්නිවේදනය සඳහා විවිධ ඇල්ගොරිතම ක්‍රියාත්මක කිරීමට ඉඩ සලසන බහු නියෝජිත පද්ධතියකි.

නිතර අසන පැන

ප්‍ර: රොබෝවරයාට ස්වයංක්‍රීයව Wifi වෙත සම්බන්ධ වීමට නොහැකි නම් මා කුමක් කළ යුතුද?

A: රොබෝවරයා ස්වයංක්‍රීයව සම්බන්ධ වීමට අපොහොසත් වුවහොත්, ජාල කාඩ්පත විසන්ධි කර නැවත සම්බන්ධ කිරීමට උත්සාහ කර නැවත සම්බන්ධ වීමට උත්සාහ කරන්න.

සාරාංශය

මෙම ලේඛනය ප්‍රධාන වශයෙන් පැහැදිලි කරන්නේ wheeltec_multi නම් බහු-රොබෝ සෑදීමේ ක්‍රියාකාරී පැකේජයේ භාවිතයයි.

මෙම ලේඛනය කොටස් හතරකට බෙදා ඇත:

  • පළමු කොටස ප්‍රධාන වශයෙන් බහු-රොබෝ සෑදීමේ ක්‍රමය හඳුන්වාදීම ගැන ය;
  • දෙවන කොටස ප්‍රධාන වශයෙන් විස්තර කරන්නේ ROS බහු යන්ත්‍ර සන්නිවේදන සැකසුම්, ROS ඉදිකිරීම් බහු යන්ත්‍ර සන්නිවේදනය සහ ROS සන්නිවේදන ක්‍රියාවලියේදී ඇති විය හැකි ගැටළු ඇතුළුව;
  • තෙවන කොටස ප්‍රධාන වශයෙන් බහු යන්ත්‍ර කාල සමමුහුර්තකරණයේ මෙහෙයුම් පියවර විස්තර කරයි;
  • හතරවන කොටස බහු යන්ත්‍ර සෑදීමේ ක්‍රියාකාරී පැකේජයේ නිශ්චිත භාවිතය විස්තර කරයි.

මෙම ලේඛනයේ අරමුණ බහු-නියෝජිත රොබෝ පද්ධති සඳහා හැඳින්වීමක් වන අතර බහු-රොබෝ සෑදීමේ ව්‍යාපෘතිය ඉක්මනින් ආරම්භ කිරීමට පරිශීලකයින්ට ඉඩ සලසයි.

බහු නියෝජිත ඇල්ගොරිතම සඳහා හැඳින්වීම

බහු නියෝජිත පිහිටුවීමේ ඇල්ගොරිතම

මෙම ROS පැකේජය ගොඩනැගීමේ ධාවකයක් අතරතුර සහයෝගී පාලනයේ බහු-නියෝජිතයන්ගේ සාමාන්‍ය ගැටළුවක් ඉදිරිපත් කරයි. මෙම නිබන්ධනය මෙම මාතෘකාව පිළිබඳ අනාගත සංවර්ධනය සඳහා පදනමක් තබයි. පිහිටුවීමේ පාලන ඇල්ගොරිතම යනු කාර්යයක් ඉටු කිරීම සඳහා විශේෂිත සැකැස්මක් සෑදීම සඳහා බහු නියෝජිතයන් පාලනය කරන ඇල්ගොරිතමයකි. සහයෝගීතාව යනු කාර්යයක් සම්පූර්ණ කිරීම සඳහා යම් යම් සීමාකාරී සම්බන්ධතාවයක් භාවිතා කරමින් බහු නියෝජිතයන් අතර සහයෝගීතාවයයි. බහු-රොබෝ සෑදීමේ ධාවකය හිටපු ලෙස ගන්නample, සහයෝගීතාවය යන්නෙන් අදහස් වන්නේ බහු රොබෝවරු එක්ව අපේක්ෂිත සැකැස්මක් සාදයි. එහි සාරය එක් එක් රොබෝවරයාගේ ස්ථාන අතර තෘප්තිමත් වන නිශ්චිත ගණිතමය සම්බන්ධතාවයකි. සැකසීමේ ක්‍රම ප්‍රධාන වශයෙන් මධ්‍යගත සෑදීම පාලනය සහ බෙදා හැරීම පාලනය කිරීම ලෙස බෙදා ඇත. මධ්‍යගත ගොඩනැගීමේ පාලන ක්‍රමවලට ප්‍රධාන වශයෙන් අථත්‍ය ව්‍යුහ ක්‍රමය, චිත්‍රක න්‍යාය ක්‍රමය සහ ආදර්ශ අනාවැකි ක්‍රමය ඇතුළත් වේ. බෙදා හරින ලද ගොඩනැගීමේ පාලන ක්‍රමවලට ප්‍රධාන වශයෙන් නායක-අනුගාමික ක්‍රමයක්, හැසිරීම් මත පදනම් වූ ක්‍රමයක් සහ අතථ්‍ය ව්‍යුහ ක්‍රමයක් ඇතුළත් වේ.
මෙම ROS පැකේජය බහු-රොබෝ සෑදීමේ ධාවකය ක්‍රියාත්මක කිරීම සඳහා බෙදා හරින ලද පිහිටුවීමේ පාලන ක්‍රමයේ නායක-අනුගාමික ක්‍රමය අදාළ වේ. ගොඩනැගීමේ එක් රොබෝවක් නායකයා ලෙස නම් කර ඇති අතර අනෙක් රොබෝවරු නායකයා අනුගමනය කිරීම සඳහා වහලුන් ලෙස නම් කර ඇත. පහත දැක්වෙන රොබෝවරුන් විසින් නිශ්චිත දිශාවකින් සහ වේගයකින් ලුහුබැඳීමට ඛණ්ඩාංක සැකසීමට ඇල්ගොරිතම ප්‍රමුඛ රොබෝවරයාගේ චලන ගමන් පථය භාවිතා කරයි. ලුහුබැඳීමේ ඛණ්ඩාංක වලින් පිහිටුම් අපගමනය නිවැරදි කිරීමෙන්, අනුගාමිකයින් විසින් ගොඩනැගීමේ ධාවකයේ අරමුණු සාක්ෂාත් කර ගැනීම සඳහා අනුගාමිකයා සහ අපේක්ෂිත ලුහුබැඳීමේ ඛණ්ඩාංක අතර අපගමනය බිංදුවට අඩු කරනු ඇත. මේ ආකාරයෙන්, ඇල්ගොරිතම සාපේක්ෂව අඩු සංකීර්ණ වේ.

බාධා වැළැක්වීමේ ඇල්ගොරිතම

පොදු බාධක වළක්වා ගැනීමේ ඇල්ගොරිතමයක් වන්නේ කෘතිම විභව ක්ෂේත්‍ර ක්‍රමයයි. භෞතික පරිසරයක රොබෝවරයාගේ චලනය අථත්‍ය කෘතිම බල ක්ෂේත්‍රයක චලනයක් ලෙස සැලකේ. ආසන්නතම බාධකය LiDAR මගින් හඳුනා ගැනේ. බාධකය රොබෝවරයාට විකර්ෂණය ජනනය කිරීමට විකර්ෂක බල ක්ෂේත්‍රයක් සපයන අතර ඉලක්ක ලක්ෂ්‍යය රොබෝවරයාට ගුරුත්වාකර්ෂණ බලය ජනනය කිරීමට ගුරුත්වාකර්ෂණ ක්ෂේත්‍රයක් සපයයි. මේ ආකාරයෙන්, එය විකර්ෂණය සහ ආකර්ෂණය යන ඒකාබද්ධ ක්‍රියාව යටතේ රොබෝවරයාගේ චලනය පාලනය කරයි.
මෙම ROS පැකේජය කෘතිම විභව ක්ෂේත්‍ර ක්‍රමය මත පදනම් වූ වැඩිදියුණු කිරීමකි. පළමුව, පිහිටුවීමේ ඇල්ගොරිතමය වහල් අනුගාමිකයාගේ රේඛීය සහ කෝණික ප්‍රවේගය ගණනය කරයි. එවිට බාධක මඟහැරීමේ අවශ්‍යතා අනුව රේඛීය සහ කෝණික ප්‍රවේගය වැඩි හෝ අඩු කරයි. වහල් අනුගාමිකයා සහ බාධකය අතර දුර ආසන්න වන විට, වහල් අනුගාමිකයාට ඇති බාධකයේ විකර්ෂණ බලය වැඩි වේ. මේ අතර, රේඛීය ප්‍රවේගය වෙනස් වීම සහ කෝණික ප්‍රවේග විචලනයන් වැඩි වේ. බාධකය වහල් අනුගාමිකයාගේ ඉදිරිපසට සමීප වූ විට, වහල් අනුගාමිකයාට ඇති බාධකයේ විකර්ෂණය වැඩි වේ (ඉදිරිපස විකර්ෂණය විශාලතම වන අතර පැති විකර්ෂණය කුඩාම වේ). එහි ප්රතිඵලයක් වශයෙන්, රේඛීය ප්රවේගයේ සහ කෝණික ප්රවේගයේ වෙනස්කම් වැඩි වේ. කෘතිම විභව ක්ෂේත්‍ර ක්‍රමය හරහා, රොබෝවෙකුට බාධකයක් ඉදිරියේ ප්‍රතිචාර දැක්වීම නැවැත්විය හැකි විට එය විසඳුමක් වැඩි දියුණු කරයි. මෙය වඩා හොඳ බාධක වළක්වා ගැනීමේ අරමුණ ඉටු කරයි.

බහු නියෝජිත සන්නිවේදන සැකසුම

බහු නියෝජිත සන්නිවේදනය බහු රොබෝ නිර්මාණයක් සම්පූර්ණ කිරීම සඳහා වන ප්‍රධාන පියවරයන්ගෙන් එකකි. බහුවිධ රොබෝවරුන්ගේ සාපේක්ෂ පිහිටීම් නොදන්නා විට, සම්බන්ධතා ඇති කර ගැනීමට පහසුකම් සැලසීම සඳහා රොබෝවරුන්ට සන්නිවේදනය හරහා එකිනෙකාගේ තොරතුරු බෙදා ගැනීමට අවශ්‍ය වේ. ROS-බෙදාහැරි ගෘහ නිර්මාණ ශිල්පය සහ ජාල සන්නිවේදනය ඉතා බලවත් වේ. එය අන්තර්-ක්‍රියාවලි සන්නිවේදනය සඳහා පමණක් නොව විවිධ උපාංග අතර සන්නිවේදනය සඳහාද පහසු වේ. ජාල සන්නිවේදනය හරහා, සියලුම නෝඩ් ඕනෑම පරිගණකයක ධාවනය කළ හැකිය. දත්ත සැකසීම වැනි ප්‍රධාන කාර්යයන් සත්කාරක පැත්තේ අවසන් වේ. විවිධ සංවේදක මගින් එකතු කරන පාරිසරික දත්ත ලබා ගැනීම සඳහා වහල් යන්ත්‍ර වගකිව යුතුය. මෙහි සත්කාරක වන්නේ ROS හි Master node ධාවනය කරන කළමනාකරු වේ. වත්මන් බහු නියෝජිත සන්නිවේදන රාමුව නෝඩ් කළමණාකරුවෙකු සහ බහු රොබෝවරුන් අතර සන්නිවේදනය හැසිරවීමට පරාමිති කළමනාකරු හරහා වේ.ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (1)

බහු නියෝජිත සන්නිවේදනය පිහිටුවීමේ පියවර

  • එකම ජාලය තුළ ROS පාලන සකසන්න
    • එකම ජාලය යටතේ Master/Slave ROS Controls පිහිටුවීමේ ක්‍රම 2ක් ඇත.

විකල්ප 1:

Master Host විසින් Master node manager ධාවනය කිරීමෙන් දේශීය wifi එකක් නිර්මාණය කරයි. සාමාන්‍යයෙන්, මාස්ටර් ලෙස නම් කර ඇති රොබෝවරුන්ගෙන් එක් අයෙකු මෙම වයිෆයි ජාලය නිර්මාණය කරයි. වෙනත් රොබෝවරු හෝ අතථ්‍ය යන්ත්‍ර මෙම wiFi ජාලයට වහලුන් ලෙස සම්බන්ධ වේ.

විකල්ප 2:

දේශීය wiFi ජාලය තෙවන පාර්ශවීය රවුටරයක් ​​මගින් තොරතුරු රිලේ මධ්යස්ථානයක් ලෙස සපයනු ලැබේ. සියලුම රොබෝවරු එකම රවුටරයට සම්බන්ධ වේ. අන්තර්ජාල සම්බන්ධතාවයක් නොමැතිව රවුටරය ද භාවිතා කළ හැකිය. ප්‍රධානියා ලෙස රොබෝවරුන්ගෙන් එකක් තෝරා Master node manager ධාවනය කරන්න. අනෙක් රොබෝවරු වහලුන් ලෙස නම් කර ඇති අතර ප්‍රධාන නෝඩ් කළමනාකරු ස්වාමියාගෙන් ක්‍රියාත්මක කරයි.
තෝරා ගත යුතු විකල්පය තීරණය කිරීම ඔබේ ව්‍යාපෘති අවශ්‍යතා මත රඳා පවතී. සන්නිවේදනය කිරීමට අවශ්‍ය රොබෝවරු සංඛ්‍යාව විශාල ප්‍රමාණයක් නොමැති නම්, විකල්ප 1 එය නිර්දේශ කරනුයේ එය පිරිවැය ඉතිරි කරන සහ සැකසීමට පහසු බැවිනි. රොබෝවරු ගණන විශාල වන විට, විකල්ප 2 නිර්දේශ කෙරේ. ROS ප්‍රධාන පාලනයේ පරිගණක බලයට ඇති බාධාව සහ සීමිත වයිෆයි කලාප පළල පහසුවෙන් ප්‍රමාදයන් සහ ජාල බාධා ඇති කළ හැක. රවුටරයකට මෙම ගැටළු පහසුවෙන් විසඳා ගත හැක. බහු නියෝජිත සන්නිවේදනය සිදු කරන විට, අථත්‍ය යන්ත්‍රය ROS වහලෙකු ලෙස භාවිතා කරන්නේ නම්, එහි ජාල ප්‍රකාරය පාලම් ප්‍රකාරයට සැකසීමට අවශ්‍ය බව කරුණාවෙන් සලකන්න.

Master/Slave පරිසර විචල්‍යයන් වින්‍යාස කරන්න

සියලුම ROS මාස්ටර් එකම ජාලයක සිටීමෙන් පසුව, බහු නියෝජිත සන්නිවේදනය සඳහා පරිසර විචල්‍යයන් සැකසිය යුතුය. මෙම පරිසර විචල්‍යය ප්‍රධාන නාමාවලියෙහි .bashrc ගොනුවේ වින්‍යාස කර ඇත. එය දියත් කිරීමට gedit ~/.bashrc විධානය ක්‍රියාත්මක කරන්න. බහු නියෝජිත සන්නිවේදනයේ ස්වාමියාගේ සහ වහලාගේ .bashrc ගොනු දෙකම වින්‍යාස කළ යුතු බව කරුණාවෙන් සලකන්න. වෙනස් කළ යුතු දේ ගොනුවේ අවසානයේ ඇති IP ලිපින වේ. රූප සටහන 2-1-4 හි පෙන්වා ඇති පරිදි ROS_MASTER_URI සහ ROS_HOSTNAME හි පේළි දෙක වේ. ROS සත්කාරකයේ ROS_MASTER_URI සහ ROS_HOSTNAME දෙකම දේශීය IP වේ. ROS slave .bashrc ගොනුවේ ඇති ROS_MASTER_URI සත්කාරකයේ IP ලිපිනයට වෙනස් කිරීමට අවශ්‍ය වන අතර ROS_HOSTNAME දේශීය IP ලිපිනයක් ලෙස පවතී.ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (2)

ROS බහු යන්ත්‍ර සන්නිවේදනය ROS නිකුතු අනුවාදය මගින් සීමා නොවේ. බහු යන්ත්‍ර සන්නිවේදනයේ ක්‍රියාවලියේදී, පහත සඳහන් කරුණු පිළිබඳව දැනුවත් විය යුතුය:

  1. ROS වහල් වැඩසටහනේ ක්‍රියාකාරිත්වය ROS ප්‍රධාන උපාංගයේ ROS ප්‍රධාන වැඩසටහන මත රඳා පවතී. වහල් උපාංගය මත වහල් වැඩසටහන ක්‍රියාත්මක කිරීමට පෙර ROS මාස්ටර් වැඩසටහන ප්‍රථමයෙන් ප්‍රධාන උපාංගය මත දියත් කළ යුතුය.
  2. බහු යන්ත්‍ර සන්නිවේදනයේ මාස්ටර් සහ වහල් යන්ත්‍රවල IP ලිපින එකම ජාලයක තිබිය යුතුය. මෙයින් අදහස් කරන්නේ IP ලිපිනය සහ උපජාල ආවරණය එකම ජාලයක් යටතේ පවතින බවයි.
  3. පරිසර වින්‍යාස ගොනුවේ ROS_HOSTNAME .bashrc localhost භාවිතා කිරීම නිර්දේශ නොකරයි. විශේෂිත IP ලිපිනයක් භාවිතා කිරීම රෙකමදාරු කරනු ලැබේ.
  4. වහල් IP ලිපිනය නිවැරදිව සකසා නොමැති අවස්ථාවක, වහල් උපාංගයට තවමත් ROS මාස්ටර් වෙත ප්‍රවේශ විය හැකි නමුත් පාලන තොරතුරු ඇතුළත් කළ නොහැක.
  5. අතථ්‍ය යන්ත්‍රය බහු නියෝජිත සන්නිවේදනයට සහභාගී වන්නේ නම්, එහි ජාල ප්‍රකාරය පාලම් ප්‍රකාරයට සැකසීමට අවශ්‍ය වේ. ජාල සම්බන්ධතාවය සඳහා ස්ථිතික IP තෝරාගත නොහැක.
  6. බහු යන්ත්‍ර සන්නිවේදනය කළ නොහැක view හෝ දේශීයව නොපවතින පණිවිඩ දත්ත වර්ගයේ මාතෘකා වලට දායක වන්න.
  7. රොබෝවරුන් අතර සන්නිවේදනය සාර්ථක දැයි තහවුරු කර ගැනීමට ඔබට Little Turtle simulation demo භාවිතා කළ හැක:
    • a. ස්වාමියාගෙන් දුවන්න
      • Rescore #launch ROS සේවා
      • rostrum turtles turtlesim_node #launch turtles අතුරුමුහුණත
    • b. වහලාගෙන් දුවන්න
      • කැස්බෑවන් නැවත ධාවනය කරන්න turtle_teleop_key #ඉබ්බන් සඳහා යතුරුපුවරු පාලන නෝඩය දියත් කරන්න

ඔබට වහල් මත ඇති යතුරු පුවරුවෙන් කැස්බෑ චලනයන් හැසිරවිය හැකි නම්, එයින් අදහස් වන්නේ ස්වාමියා/වහල් සන්නිවේදනය සාර්ථකව ස්ථාපිත වී ඇති බවයි.

ROS හි ස්වයංක්‍රීය WiFi සම්බන්ධතාවය

ධාරක ජාලයට හෝ රවුටර ජාලයට ස්වයංක්‍රීයව සම්බන්ධ වීමට රොබෝව වින්‍යාස කරන්නේ කෙසේද යන්න පහත ක්‍රියා පටිපාටි පැහැදිලි කරයි.

Jetson Nano සඳහා ස්වයංක්‍රීය WiFi සම්බන්ධතා සැකසුම

  1. VNC දුරස්ථ මෙවලම හරහා හෝ කෙලින්ම පරිගණක තිරයට Jetson Nano සම්බන්ධ කරන්න. ඉහළ දකුණු කෙළවරේ ඇති wifi නිරූපකය මත ක්ලික් කර "සම්බන්ධතා සංස්කරණය කරන්න.." ක්ලික් කරන්න.ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (3)
  2. ජාල සම්බන්ධතා වල + බොත්තම ක්ලික් කරන්න:ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (4)
  3. "සම්බන්ධතා වර්ගය තෝරන්න" කවුළුව යටතේ, පතන මෙනුව ක්ලික් කර "Create..." බොත්තම ක්ලික් කරන්න:ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (5)
  4. පාලක පැනලයේ, WiFi විකල්පය ක්ලික් කරන්න. “සම්බන්ධතා නම” සහ SSID ක්ෂේත්‍ර තුළ සම්බන්ධ වීමට WiFi නම ඇතුළත් කරන්න. "ප්‍රකාරය" පතන මෙනුවේ "සේවාලාභියා" තෝරන්න සහ "උපාංගය" පතන මෙනුවේ "wlan0" තෝරන්න.ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (6)
  5. පාලක පැනලයේ, "සාමාන්‍ය" විකල්පය ක්ලික් කර "මෙම ජාලයට ස්වයංක්‍රීයව සම්බන්ධ වන්න..." පරීක්ෂා කරන්න. "ස්වයංක්‍රීය සක්‍රිය කිරීම සඳහා සම්බන්ධතා ප්‍රමුඛතාවය" විකල්පයේ සම්බන්ධතා ප්‍රමුඛතාවය 1 ට සකසන්න. "සියලු පරිශීලකයන් මෙම ජාලයට සම්බන්ධ විය හැක" විකල්පය පරීක්ෂා කරන්න. වෙනත් wifi සඳහා "ස්වයංක්‍රීය සක්‍රිය කිරීම සඳහා සම්බන්ධතා ප්‍රමුඛතාවය" තුළ විකල්පය 0 ලෙස සකසා ඇති විට, මෙයින් අදහස් කරන්නේ මෙය අතීතයේ කැමති WiFi ජාලය බවයි.ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (7)
  6. පාලක පැනලයේ "Wi-Fi ආරක්ෂාව" විකල්පය ක්ලික් කරන්න. "ආරක්ෂක" ක්ෂේත්රයේ "WPA සහ WPA2 පුද්ගලික" තෝරන්න. ඉන්පසු "මුරපදය" ක්ෂේත්රයේ WiFi මුරපදය ඇතුළත් කරන්න.ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (8)

සටහන: wifi priority එක 0 ලෙස සකසා ඇති විට Robot හට boot වීමෙන් පසුව wifi network එකට ස්වයංක්‍රීයව සම්බන්ධ විය නොහැකි නම්, එය දුර්වල wifi signal එකක ගැටලුවක් නිසා ඇති විය හැක. මෙම ගැටළුව මඟහරවා ගැනීම සඳහා, ඔබට අතීතයේ සම්බන්ධ වී ඇති සියලුම wiFi විකල්ප මකා දැමීමට තෝරා ගත හැකිය. ධාරකය හෝ රවුටරය විසින් නිර්මාණය කරන ලද WiFi ජාලය පමණක් තබා ගන්න. ජාල සැකසුම් පාලක පැනලයේ "IPv4 සැකසුම්" විකල්පය ක්ලික් කරන්න. "ක්රමවේදය" ක්ෂේත්රයේ "අත්පොත" විකල්පය තෝරන්න. ඉන්පසු "එකතු කරන්න" ක්ලික් කරන්න, "ලිපිනය" ක්ෂේත්රයේ වහල් යන්ත්රයේ IP ලිපිනය පුරවන්න. "Netmask" ක්ෂේත්රයේ "24" පුරවන්න. "ගේට්වේ" හි IP ජාල කොටස පුරවන්න. IP ජාල කොටසෙහි අවසාන ඉලක්කම් තුන "1" ලෙස වෙනස් කරන්න. මෙම පියවරේ ප්‍රධාන අරමුණ වන්නේ IP ලිපිනය නිවැරදි කිරීමයි. මෙය පළමු වරට සම්පූර්ණ කිරීමෙන් පසුව, පසුව එම WIFI වෙත සම්බන්ධ වන විට IP ලිපිනය නොවෙනස්ව පවතිනු ඇත.ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (9)

සියලුම සැකසුම් වින්‍යාස කිරීමෙන් පසු, සැකසුම් සුරැකීමට "සුරකින්න" ක්ලික් කරන්න. සුරැකීම සාර්ථක වූ පසු, එය බලගන්වන විට රොබෝවරයා ස්වයංක්රීයව ධාරකයේ හෝ රවුටරයේ ජාලයට සම්බන්ධ වේ.

සටහන:

  1. මෙහි සකසන ලද IP ලිපිනය 2.1 වගන්තියේ .bashrc ගොනුවේ සකසා ඇති IP ලිපිනයට සමාන විය යුතුය.
  2. ස්වාමියාගේ සහ එක් එක් වහලාගේ IP ලිපිනය අනන්‍ය විය යුතුය.
  3. මාස්ටර් සහ ස්ලේව් IP ලිපින එකම ජාල කොටසක තිබිය යුතුය.
  4. වහල් රොබෝව සක්‍රිය කර ස්වයංක්‍රීයව WiFi ජාලයට සම්බන්ධ වීමට පෙර ධාරකය හෝ රවුටරය WiFi සංඥා යැවීමට ඔබ බලා සිටිය යුතුය.
  5. සැකසුම වින්‍යාස කිරීමෙන් පසුව, රොබෝවරයාට WiFi සක්‍රිය කර ඇති විට ස්වයංක්‍රීයව සම්බන්ධ වීමට නොහැකි නම්, කරුණාකර ජාල කාඩ්පත පේනුගත කර විසන්ධි කර නැවත සම්බන්ධ වීමට උත්සාහ කරන්න.

Raspberry Pi සඳහා ස්වයංක්‍රීය WiFi සම්බන්ධතා සැකසුම

Raspberry Pi සඳහා ක්රියා පටිපාටිය Jetson Nano හා සමාන වේ.

Jetson TX1 සඳහා ස්වයංක්‍රීය WiFi සම්බන්ධතා සැකසුම

Jetson TX1 හි සැකසුම Jetson Nano හි ඇති ආකාරයටම සමාන වේ එක් ව්‍යතිරේකයක් සමඟ Jetson TX1 ජාල සැකසුම් පාලක පැනලයේ "උපාංගය" තුළ "wlan1" උපාංගය තෝරාගත යුතුය.ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (10)

බහු නියෝජිත සමමුහුර්තකරණ සැකසුම

බහු නියෝජිත පිහිටුවීමේ ව්‍යාපෘතියේ දී, බහු නියෝජිත කාල සමමුහුර්ත කිරීමේ සැකසුම තීරණාත්මක පියවරකි. ගොඩනැගීමේ ක්‍රියාවලියේදී, එක් එක් රොබෝවරයාගේ අසමමුහුර්ත පද්ධති කාලය හේතුවෙන් බොහෝ ගැටලු ඇති වේ. බහු නියෝජිත කාල සමමුහුර්තකරණය අවස්ථා දෙකකට බෙදා ඇත, එනම්, ස්වාමියා සහ වහල් රොබෝවරු යන දෙකම ජාලයට සම්බන්ධ වී ඇති තත්වය සහ දෙකම ජාලයෙන් විසන්ධි වී ඇති තත්වය.

සාර්ථක මාස්ටර්/ස්ලේව් ජාල සම්බන්ධතාවය

බහු නියෝජිත සන්නිවේදනය වින්‍යාස කිරීමෙන් පසු, මාස්ටර් සහ වහල් යන්ත්‍ර සාර්ථකව ජාලයට සම්බන්ධ කළ හැකි නම්, ඒවා ස්වයංක්‍රීයව ජාල කාලය සමමුහුර්ත කරයි. මෙම අවස්ථාවේදී, කාල සමමුහුර්තකරණය සාක්ෂාත් කර ගැනීම සඳහා වැඩිදුර ක්‍රියාමාර්ග අවශ්‍ය නොවේ.

ජාල විසන්ධි කිරීම් දෝශ නිරාකරණය කිරීම

බහු නියෝජිත සන්නිවේදනය වින්‍යාස කිරීමෙන් පසු, මාස්ටර් සහ වහල් උපාංග ජාලයට සාර්ථකව සම්බන්ධ වීමට නොහැකි නම්, කාලය අතින් සමමුහුර්ත කිරීම අවශ්‍ය වේ. කාල සැකසුම සම්පූර්ණ කිරීමට අපි දිනය විධානය භාවිතා කරමු.

පළමුව, terminator මෙවලම ස්ථාපනය කරන්න. ටර්මිනේටර් මෙවලමෙන්, මාස්ටර්ගේ සහ ස්ලේව්ගේ පාලන පර්යන්ත එකම පර්යන්ත කවුළුවට තැබීමට කවුළු බෙදීමේ මෙවලම භාවිතා කරන්න (විභේදක කවුළුවක් සැකසීමට දකුණු-ක්ලික් කරන්න, සහ විවිධ කවුළු වල ssh මඟින් මාස්ටර් සහ ස්ලේව් යන්ත්‍ර වෙත ලොග් වන්න) .

  • sudo apt-get install terminator # ටර්මිනල් කවුළුව බෙදීමට terminator බාගන්න

ඉහළ වම්පස ඇති බොත්තම ක්ලික් කරන්න, [සියල්ලට විකාශනය]/[සියල්ල විකාශනය] විකල්පය තෝරා, පහත විධානය ඇතුළත් කරන්න. ඉන්පසුව ස්වාමියා සහ වහලා සඳහා එකම වේලාව සැකසීමට terminator මෙවලම භාවිතා කරන්න.ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (11)

  • sudo දිනය -s “2022-01-30 15:15:00” # අතින් වේලාව සැකසීම

බහු නියෝජිත රොස් පැකේජය

ROS පැකේජය හැඳින්වීම

වහල් නම සකසන්න

wheeltec_multi ශ්‍රිත පැකේජය තුළ, දෝෂ මඟහරවා ගැනීම සඳහා එක් එක් වහල් රොබෝ සඳහා අනන්‍ය නමක් සැකසීම අවශ්‍ය වේ. උදාහරණයක් ලෙසample, slave1 සඳහා අංක 1 සහ slave2 සඳහා අංක 2, යනාදී වශයෙන් විවිධ නම් සැකසීමේ අරමුණ වන්නේ ධාවන නෝඩ් සමූහගත කිරීම සහ විවිධ නාම අවකාශයන් මගින් ඒවා වෙන්කර හඳුනා ගැනීමයි. උදාහරණයක් ලෙසample, slave 1 හි රේඩාර් මාතෘකාව/slave1/scan, සහ slave 1 හි LiDAR node/slave1/laser වේ.

වහල් ඛණ්ඩාංක පිහිටුවන්න

wheeltec_multi පැකේජයට අභිරුචි සැකසුම් ක්‍රියාත්මක කළ හැක. විවිධ හැඩතල අවශ්‍ය වූ විට, වහල් රොබෝවරුන්ගේ අවශ්‍ය ඛණ්ඩාංක වෙනස් කරන්න. Slave_x සහ slave_y යනු මුල් යොමු ලක්ෂ්‍යය ලෙස ස්වාමියා සමඟ වහලාගේ x සහ y ඛණ්ඩාංක වේ. ස්වාමියාගේ ඉදිරිපස x ඛණ්ඩාංකයේ ධනාත්මක දිශාව වන අතර වම් පැත්ත y ඛණ්ඩාංකයේ ධනාත්මක දිශාව වේ. සැකසුම සම්පූර්ණ වූ පසු, වහලාගේ අපේක්ෂිත ඛණ්ඩාංකය ලෙස TF ඛණ්ඩාංක slave1 නිකුත් කරනු ලැබේ. එක් ස්වාමියා සහ වහලුන් දෙදෙනෙකු සිටී නම්, පහත සැකැස්ම සැකසිය හැක:

  1. තිරස් සැකැස්ම: ඔබට වම් පස ඇති වහලාගේ ඛණ්ඩාංක slave_x:0, slave_y: 0.8 ලෙසත්, දකුණේ වහලාගේ ඛණ්ඩාංක slave_x:0, slave_y:-0.8 ලෙසත් සැකසිය හැක.
  2. තීරු සැකසීම: එක් වහලෙකුගේ ඛණ්ඩාංක සැකසිය හැක්කේ: slave_x:-0.8, slave_y:0, සහ අනෙක් වහලාගේ ඛණ්ඩාංක: slave_x:-1.8, slave_y:0 ​​ලෙස සැකසිය හැක.
  3. ත්‍රිකෝණාකාර සැකැස්ම: එක් වහලෙකුගේ ඛණ්ඩාංක සැකසිය හැක්කේ: slave_x:-0.8, slave_y: 0.8, සහ අනෙක් වහලාගේ ඛණ්ඩාංක: slave_x:-0.8, slave_y:-0.8 ලෙස සැකසිය හැක.

අනෙකුත් ආකෘතීන් අවශ්ය පරිදි අභිරුචිකරණය කළ හැකිය.

සටහන:

  • රොබෝවරුන් දෙදෙනා අතර නිර්දේශිත දුර 0.8 ලෙස සකසා ඇති අතර එය 0.6 ට වඩා අඩු නොවිය යුතුය. වහලුන් සහ ස්වාමියා අතර දුර 2.0 ට වඩා අඩු ලෙස තැබීම නිර්දේශ කෙරේ. එය ස්වාමියාගෙන් දුරස් වන තරමට, ස්වාමියා හැරෙන විට වහලාගේ රේඛීය වේගය වැඩි වේ. උපරිම වේගය සීමා කිරීම නිසා, අවශ්‍යතා සපුරාලන්නේ නැතිනම් වහලාගේ වේගය අපගමනය වේ. රොබෝ සෑදීම අවුල් සහගත වනු ඇත.

වහල් තනතුරේ ආරම්භය

  1. වහලාගේ ආරම්භක ස්ථානය පෙරනිමියෙන් අපේක්ෂිත ඛණ්ඩාංකවල ඇත. වැඩසටහන ක්‍රියාත්මක කිරීමට පෙර, ආරම්භය සම්පූර්ණ කිරීම සඳහා වහල් රොබෝව එහි අපේක්ෂිත ඛණ්ඩාංක ආසන්නයේ තබන්න. රූප සටහන 4-1-3 හි පෙන්වා ඇති පරිදි, wheeltec_multi පැකේජයේ turn_on_wheeltec_robot.launch නම් ගොනුවේ ඇති pose_setter node මඟින් මෙම ශ්‍රිතය ක්‍රියාත්මක වේ.ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (12)

පරිශීලකයාට වහලාගේ ආරම්භක ස්ථානය අභිරුචිකරණය කිරීමට අවශ්‍ය නම්, ඔහුට හෝ ඇයට අවශ්‍ය වන්නේ wheeltec_slave.launch හි රූප සටහන 4-1-4 හි පෙන්වා ඇති පරිදි slave_x සහ slave_y අගයන් සැකසීම පමණි. slave_x සහ slave_y අගයන් turn_on_wheeltec_robot.launch වෙත සම්මත කර pose_setter node වෙත පවරනු ඇත. වැඩසටහන ක්‍රියාත්මක කිරීමට පෙර රොබෝව අභිරුචි ස්ථානයක තබන්න.ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (13)

ස්ථාන වින්‍යාසය

බහු නියෝජිත සැකැස්මකදී, විසඳිය යුතු පළමු ගැටළුව වන්නේ ස්වාමියා සහ දාසයා ස්ථානගත කිරීමයි. ස්වාමියා පළමුව 2D සිතියමක් සාදනු ඇත. සිතියම නිර්මාණය කර සුරැකීමෙන් පසු, 2D සංචාලන පැකේජය ධාවනය කර මාස්ටර් ස්ථානගත කිරීම වින්‍යාස කිරීම සඳහා 2D සංචාලන පැකේජයේ අනුවර්තිත Monte Carlo ස්ථානගත කිරීමේ ඇල්ගොරිතම (amcl ස්ථානගත කිරීම) භාවිතා කරන්න. ස්වාමියා සහ වහලුන් එකම ජාලයක සිටින අතර එකම නෝඩ් කළමණාකරු බෙදා ගන්නා බැවින්, ස්වාමියා 2D සංචාලන පැකේජයෙන් සිතියම දියත් කර ඇති බැවින්, සියලුම වහලුන්ට එකම නෝඩ් කළමනාකරු යටතේ එකම සිතියම භාවිතා කළ හැකිය. එමනිසා, වහලා සිතියමක් සෑදීමට අවශ්ය නොවේ. wheeltec_slave.launch හි, Monte Carlo ස්ථානගත කිරීම (amcl ස්ථානගත කිරීම) ධාවනය කරන්න, ස්වාමියා විසින් නිර්මාණය කරන ලද සිතියම භාවිතා කිරීමෙන් වහලුන්ට ඔවුන්ගේ ස්ථාන වින්‍යාසගත කළ හැක.ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (14)

ගොඩනැගීම සහ ගොඩනැගීම පවත්වා ගන්නේ කෙසේද

ගොඩනැගීමේ ව්යාපාරයේ ක්රියාවලියේදී, ප්රධාන චලනය Rviz, යතුරු පුවරුව, දුරස්ථ පාලක සහ වෙනත් ක්රම මගින් පාලනය කළ හැකිය. වහලා එහි චලනය පාලනය කිරීමට සහ ගොඩනැගීමේ ඉලක්කය සපුරා ගැනීම සඳහා slave_tf_listener නෝඩය හරහා එහි වේගය ගණනය කරයි. slave_tf_listener නෝඩය නෝඩ් ගණනය කිරීම මගින් අධික වේගය වළක්වා ගැනීමට වහල් වේගය සීමා කරයි, එය බලපෑම් මාලාවක් ඇති කරයි. නිශ්චිත අගය wheeltec_slave.launch හි වෙනස් කළ හැක.ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (15)

පිහිටුවීමේ ඇල්ගොරිතමයේ අදාළ පරාමිතීන් පහත පරිදි වේ: ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (16)

බාධා මගහැරීමේ තොරතුරු

බහු-නියෝජිත සැකැස්මකදී, ප්‍රධානියාට බාධා මගහැරීම සම්පූර්ණ කිරීමට Move_base node භාවිතා කළ හැක. කෙසේ වෙතත්, ස්ලේව්ගේ ආරම්භය move_base node භාවිතා නොකරයි. මෙම අවස්ථාවෙහිදී, slave වැඩසටහන තුළ multi_avoidance node ඇමතීමට අවශ්‍ය වේ. පැකේජයේ පෙරනිමියෙන් බාධක වළක්වා ගැනීමේ නෝඩය සක්‍රීය කර ඇත. අවශ්ය නම්, බාධාව වැලැක්වීමේ නෝඩය අක්රිය කිරීම සඳහා වැළැක්වීම "අසත්ය" ලෙස සැකසිය හැක. ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (17)

බාධක වළක්වා ගැනීමේ නෝඩයේ සමහර අදාළ පරාමිතීන් පහත රූපයේ පෙන්වා ඇත, ආරක්ෂිත_දුර යනු බාධක ආරක්ෂිත දුර සීමාව වන අතර අන්තරාය_දුර යනු බාධක භයානක දුර සීමාවයි. බාධකය ආරක්ෂිත දුරක් සහ අනතුරුදායක දුරක් තුළ ඇති විට, දාසයා බාධාව මඟහරවා ගැනීම සඳහා එහි පිහිටීම සකස් කරයි. බාධකය අනතුරේ පවතින විට, දාසයා බාධකයෙන් දුරු වනු ඇත.ROBOWORKS-Robofleet-MULTI-Agent-ALGORITHMS-FIG- (18)

මෙහෙයුම් ක්රියා පටිපාටිය

ක්රියාත්මක කිරීමේ විධානය ඇතුල් කරන්න

බහු නියෝජිත ගොඩනැගීම ආරම්භ කිරීමට පෙර සූදානම් කිරීම්:

  • ස්වාමියා සහ වහලා එකම ජාලයකට සම්බන්ධ වී බහු නියෝජිත සන්නිවේදනය නිවැරදිව සකසයි
  • ස්වාමියා 2D සිතියමක් කල්තියා ගොඩනඟා එය සුරකියි
  • සිතියමේ ආරම්භක ස්ථානයේ ස්වාමියා තබා ඇති අතර, දාසයා ආරම්භක ස්ථානය අසල තබා ඇත (පෙරනිමි වහල් තැනීමේ ස්ථානය)
  • Jetson Nano/Raspberry Pi වෙත දුරස්ථව ලොග් වීමෙන් පසුව, කාල සමමුහුර්තකරණය සිදු කරන්න.

sudo දිනය -s “2022-04-01 15:15:00”

  • පියවර 1: මාස්ටර් වෙතින් 2D සිතියමක් විවෘත කරන්න.

roslaunch turn_on_wheeltec_robot navigation.launch

  • පියවර 2: සියලුම වහලුන් වෙතින් පිහිටුවීමේ වැඩසටහන ක්‍රියාත්මක කරන්න.

roslaunch wheeltec_multi wheeltec_slave.launch

  • පියවර 3: මාස්ටර් වෙතින් යතුරුපුවරු පාලන නෝඩය විවෘත කරන්න හෝ ප්‍රධාන චලනය දුරස්ථ පාලකයට ජොයිස්ටික් භාවිතා කරන්න.

wheeltec_robot_rc keyboard_teleop.launch නැවත දියත් කරන්න

  • පියවර 4: (විකල්ප) Rviz වෙතින් රොබෝ චලනයන් නිරීක්ෂණය කරන්න.

rviz

සටහන: 

  1. වැඩසටහන ක්‍රියාත්මක කිරීමට පෙර කාල සමමුහුර්ත කිරීමේ මෙහෙයුම සම්පූර්ණ කිරීමට වග බලා ගන්න.
  2. බහු-නියෝජිත සෑදීමේ ස්වාමියා පාලනය කරන විට, කෝණික ප්රවේගය ඉතා වේගවත් නොවිය යුතුය. නිර්දේශිත රේඛීය වේගය 0.2m/s වේ, කෝණික වේග උපාධිය 0.3rad/s ට වඩා අඩුය. ස්වාමියා හැරීමක් කරන විට, දාසයා ස්වාමියාගෙන් දුරස් වන තරමට රේඛීය වේගය වැඩි වීමට අවශ්‍ය වේ. පැකේජයේ රේඛීය වේගය සහ කෝණික වේගය මත සීමාව නිසා, වහල් මෝටර් රථයට අවශ්ය වේගයට ළඟා විය නොහැකි විට, ගොඩනැගීම අවුල් සහගත වනු ඇත. සමස්තයක් වශයෙන්, අධික රේඛීය වේගය පහසුවෙන් රොබෝට හානි කළ හැකිය.
  3. වහලුන් සංඛ්‍යාව එකකට වඩා වැඩි වූ විට, ROS සත්කාරකයේ සීමිත ඔන්-බෝඩ් වයිෆයි කලාප පළල හේතුවෙන්, බහු නියෝජිත සන්නිවේදනයේ සැලකිය යුතු ප්‍රමාදයන් සහ විසන්ධි කිරීම පහසු වේ. රවුටරයක් ​​භාවිතා කිරීමෙන් මෙම ගැටළුව හොඳින් විසඳා ගත හැකිය.
  4. බහු-රොබෝ සෑදීමේ TF ගස (2 වහලුන්) වේ: rqt_tf_tree
  5. බහු-රොබෝ සෑදීමේ නෝඩ් සම්බන්ධතා රූප සටහන (2 වහලුන්) වේ: rqt_graph

ලේඛන / සම්පත්

ROBOWORKS Robofleet MULTI-AGENT ඇල්ගොරිතම [pdf] පරිශීලක අත්පොත
රොබෝෆ්ලීට් බහු නියෝජිත ඇල්ගොරිතම, රොබෝෆ්ලීට්, බහු නියෝජිත ඇල්ගොරිතම, නියෝජිත ඇල්ගොරිතම, ඇල්ගොරිතම

යොමු කිරීම්

කමෙන්ට් එකක් දාන්න

ඔබගේ විද්‍යුත් තැපැල් ලිපිනය ප්‍රකාශනය නොකෙරේ. අවශ්‍ය ක්ෂේත්‍ර සලකුණු කර ඇත *