ROBOWORKS Robofleet Orin Nano x3 ROS روبوټ

لنډیز
دا سند په عمده ډول د wheeltec_multi په نوم د څو روبوټ جوړونې فنکشن کڅوړې کارول تشریح کوي.
دا سند په څلورو برخو ویشل شوی دی:
- لومړۍ برخه په عمده توګه د څو روبوټ جوړونې میتود معرفي کولو په اړه ده؛
- دویمه برخه په عمده ډول د ROS ملټي ماشین مخابراتو تنظیمات تشریح کوي ، پشمول د څو ماشین مواصلاتو ROS جوړول او هغه ستونزې چې ممکن د ROS مخابراتو په پروسه کې ورسره مخ شي؛
- دریمه برخه په عمده توګه د څو ماشین وخت ترکیب عملیاتي مرحلې بیانوي؛
- څلورمه برخه د څو ماشین جوړونې فنکشن کڅوړې ځانګړي کارول توضیح کوي.
د دې سند هدف د څو اجنټ روبوټیک سیسټم پیژندنه ده او کارونکي ته اجازه ورکوي چې د څو روبوټ جوړونې پروژه ژر تر ژره پیل کړي.
د څو اجنټ الګوریتمونو پیژندنه
د څو ایجنټ جوړونې الګوریتمونه
دا ROS بسته د جوړیدو ډرایو په جریان کې د همکارۍ کنټرول کې د څو اجنټانو عادي ستونزه وړاندې کوي. دا ټیوټوریل پدې موضوع کې د راتلونکي پرمختګ لپاره بنسټ جوړوي. د تشکیل کنټرول الګوریتم یو الګوریتم ته اشاره کوي چې ډیری اجنټان کنټرولوي ترڅو د دندې ترسره کولو لپاره ځانګړي جوړښت رامینځته کړي. همکاري د یو کار بشپړولو لپاره د یو ځانګړي محدودیت اړیکې په کارولو سره د ډیری اجنټانو ترمینځ همکارۍ ته اشاره کوي. د پخواني په توګه د څو روبوټ جوړونې ډرایو واخلئample، collaboration پدې مانا ده چې څو روبوټونه په ګډه یو مطلوب جوړښت جوړوي. د دې جوهر دا دی چې د هر روبوټ موقعیتونو تر مینځ یو ځانګړی ریاضياتي اړیکه مطمین ده. د جوړښت میتودونه په عمده توګه د مرکزي جوړښت کنټرول او ویشل شوي جوړښت کنټرول ویشل شوي. د مرکزي جوړښت کنټرول میتودونه په عمده ډول د مجازی جوړښت میتود ، ګرافیکي تیوري میتود او د ماډل وړاندوینې میتود شامل دي. د توزیع شوي جوړښت کنټرول میتودونه په عمده ډول د رهبر - پیروي میتود ، د چلند پراساس میتود او د مجازی جوړښت میتود شامل دي.
دا د ROS کڅوړه د توزیع شوي جوړښت کنټرول میتود کې د مشر - پیروي میتود پلي کوي ترڅو د څو روبوټ جوړونې ډرایو اجرا کړي. په جوړښت کې یو روبوټ د مشر په توګه ټاکل شوی، او نور روبوټ د مشر تعقیب لپاره د غلامانو په توګه ټاکل شوي. الګوریتم د مخکښ روبوټ حرکت حرکت کاروي ترڅو همغږي تنظیم کړي چې د لاندې روبوټونو لخوا د ځانګړي سمت او سرعت سره تعقیب شي. د تعقیب همغږي څخه د موقعیت انحراف په سمولو سره، پیروان به بالاخره د پیروانو او متوقع تعقیب کوارډینټونو ترمنځ انحراف صفر ته راټیټ کړي ترڅو د جوړښت ډرایو اهداف ترلاسه کړي. په دې توګه، الګوریتم نسبتا لږ پیچلی دی.
د خنډ مخنیوی الګوریتم
یو عام خنډ مخنیوی الګوریتم د مصنوعي احتمالي ساحې میتود دی. په فزیکي چاپیریال کې د روبوټ حرکت د مجازی مصنوعي ځواک په ډګر کې د حرکت په توګه ګڼل کیږي. نږدې خنډ د LiDAR لخوا پیژندل شوی. خنډ روبوټ ته د جبر کولو ځواک رامینځته کولو لپاره د تکراري ځواک ساحه چمتو کوي او د هدف نقطه روبوټ ته د جاذبې ځواک رامینځته کولو لپاره جاذبه ساحه چمتو کوي. په دې توګه، دا د روبوټ حرکت د تکرار او جذب ګډ عمل لاندې کنټرولوي.
دا ROS بسته د مصنوعي احتمالي ساحې میتود پراساس یو پرمختګ دی. لومړی، د جوړښت الګوریتم د غلام پیروکار خطي او زاویه سرعت محاسبه کوي. بیا دا د خنډ مخنیوي اړتیاو سره سم خطي او زاویه سرعت زیاتوي یا کموي. کله چې د غلام پیروان او خنډ تر مینځ فاصله نږدې وي ، د غلام پیروکار ته د خنډ د تکرار ځواک ډیر وي. په ورته وخت کې د خطي سرعت بدلون او د زاویه سرعت توپیرونه ډیر دي. کله چې خنډ د غلام پیروان مخې ته نږدې وي، د غلام پیروکار ته د خنډ مخنیوی خورا لوی کیږي (د مخ مخنیوی ترټولو لوی دی او د غاړې مخنیوی ترټولو کوچنی دی). د پایلې په توګه، د خطي سرعت او زاویه سرعت توپیرونه ډیر دي. د مصنوعي احتمالي ساحې میتود له لارې، دا یو حل ته وده ورکوي
کله چې یو روبوټ کولی شي د خنډ په وړاندې غبرګون ودروي. دا د ښه خنډ مخنیوي هدف لپاره کار کوي.
د ملټي اجنټ ارتباطي ترتیب
ملټي ایجنټ اړیکه د څو روبوټ جوړښت بشپړولو لپاره یو له مهمو ګامونو څخه دی. کله چې د څو روبوټونو نسبي موقعیتونه نامعلوم وي، روبوټونه اړتیا لري چې د اړیکو رامینځته کولو اسانتیا لپاره د اړیکو له لارې یو بل سره معلومات شریک کړي. د ROS توزیع شوي جوړښت او د شبکې ارتباطات خورا پیاوړي دي. دا نه یوازې د بین الافغاني اړیکو لپاره، بلکې د مختلفو وسیلو ترمنځ د اړیکو لپاره هم مناسب دی. د شبکې اړیکو له لارې، ټول نوډونه په هر کمپیوټر کې چلولی شي. اصلي دندې لکه د معلوماتو پروسس کول په کوربه اړخ کې بشپړ شوي. د غلام ماشینونه د مختلف سینسرونو لخوا راټول شوي چاپیریال ډیټا ترلاسه کولو مسؤلیت لري. دلته کوربه هغه مدیر دی چې په ROS کې ماسټر نوډ چلوي. اوسنی ملټي ایجنټ مخابراتي چوکاټ د نوډ مدیر او د پیرامیټر مدیر له لارې دی ترڅو د څو روبوټونو ترمینځ اړیکې اداره کړي.

د څو اجنټ مخابراتو تنظیم کولو مرحلې
په ورته شبکه کې د ROS کنټرول تنظیم کړئ
د ورته شبکې لاندې د ماسټر / غلام ROS کنټرولونو تنظیم کولو 2 لارې شتون لري.
1 اختیار:
ماسټر کوربه د ماسټر نوډ مدیر په چلولو سره محلي وائی فای رامینځته کوي. عموما، یو له روبوټ څخه چې د ماسټر په توګه نومول شوی دا وائی فای شبکه رامینځته کوي. نور روبوټونه یا مجازی ماشینونه د دې وائی فای شبکې سره د غلامانو په توګه یوځای کیږي.
انتخاب 2:
سیمه ایز وائی فای شبکه د دریمې ډلې روټر لخوا د معلوماتو ریل مرکز په توګه چمتو کیږي. ټول روباټونه د ورته روټر سره وصل دي. روټر هم د انټرنیټ اتصال پرته کارول کیدی شي. یو له روبوټ څخه د ماسټر په توګه غوره کړئ او د ماسټر نوډ مدیر پرمخ وړئ. نور روبوټونه د غلامانو په توګه ټاکل شوي او د ماسټر نوډ مدیر د ماسټر څخه چلوي.
د کوم انتخاب غوره کولو پریکړه ستاسو د پروژې اړتیاو پورې اړه لري. که چیرې د روبوټونو شمیر چې خبرو اترو ته اړتیا لري په لوی مقدار کې نه وي ، نو اختیار 1 وړاندیز کیږي ځکه چې دا لګښت خوندي کوي او تنظیم کول اسانه دي. کله چې د روبوټونو شمیر په لوی مقدار کې وي، اختیار 2 سپارښتنه کیږي. د ROS ماسټر کنټرول کمپیوټري ځواک محدودیت او د وائی فای محدود بینډ ویت په اسانۍ سره د ځنډ او شبکې اختلالاتو لامل کیدی شي. یو روټر کولی شي دا مسلې په اسانۍ سره حل کړي.
مهرباني وکړئ په یاد ولرئ کله چې د څو اجنټ مخابراتو ترسره کول ، که چیرې مجازی ماشین د ROS غلام په توګه وکارول شي ، نو د دې شبکې حالت باید د پل حالت ته تنظیم شي.
د ماسټر / غلام چاپیریال تغیرات تنظیم کړئ
وروسته له دې چې د ROS ټول ماسټران ټول په ورته شبکه کې دي، د څو اجنټ اړیکو لپاره د چاپیریال تغیرات باید تنظیم شي. دا د چاپیریال متغیر په .bashrc کې ترتیب شوی دی file په اصلي لارښود کې. د پیلولو لپاره د gedit ~/.bashrc کمانډ چل کړئ. مهرباني وکړئ په یاد ولرئ چې دواړه .bashrc fileد څو اجنټ اړیکو کې د مالک او غلام s باید تنظیم شي. هغه څه چې بدلون ته اړتیا لري د IP پتې په پای کې دي file. دوه کرښې ROS_MASTER_URI او ROS_HOSTNAME دي، لکه څنګه چې په 2-1-4 شکل کې ښودل شوي. د ROS کوربه ROS_MASTER_URI او ROS_HOSTNAME دواړه محلي IPs دي. د ROS غلام کې ROS_MASTER_URI .bashrc file د کوربه IP پتې ته د بدلولو اړتیا ته اړتیا لري پداسې حال کې چې ROS_HOSTNAME د محلي IP پتې په توګه پاتې کیږي.

د ROS ملټي ماشین اړیکه د ROS خوشې کولو نسخه لخوا محدوده نده. د څو ماشینونو د مخابراتو په بهیر کې، یو څوک باید د لاندې خبرتیا څخه خبر وي:
- د ROS غلام پروګرام عملیات د ROS ماسټر آلې د ROS ماسټر پروګرام پورې اړه لري.
د ROS ماسټر برنامه باید په غلام وسیله کې د غلام برنامه اجرا کولو دمخه لومړی په ماسټر آلې کې پیل کړي. - د څو ماشینونو مخابراتو کې د ماسټر او غلام ماشینونو IP پتې باید په ورته شبکه کې وي. دا پدې مانا ده چې د IP پته او سبنټ ماسک د ورته شبکې لاندې دي.
- ROS_HOSTNAME د چاپیریال په ترتیب کې file .bashrc د لوکل هوسټ کارولو سپارښتنه نه کیږي. دا سپارښتنه کیږي چې یو ځانګړي IP پته وکاروئ.
- په هغه حالت کې چې د غلام IP پته په سمه توګه نه وي ټاکل شوې، د غلام وسیله لاهم د ROS ماسټر ته لاسرسی کولی شي مګر نشي کولی د کنټرول معلوماتو داخل کړي.
- که چیرې مجازی ماشین د څو اجنټ اړیکو کې برخه واخلي، د دې شبکې حالت باید د پل حالت ته تنظیم شي. جامد IP د شبکې پیوستون لپاره نشي ټاکل کیدی.
- د څو ماشینونو ارتباط نشي کولی view یا د پیغام ډیټا ډولونو موضوعاتو کې ګډون وکړئ چې په ځایی توګه شتون نلري.
- تاسو کولی شئ د کوچني کچو سمولو ډیمو وکاروئ ترڅو تصدیق کړئ چې ایا د روبوټونو ترمینځ اړیکه بریالۍ ده:
a. د ماسټر څخه وتښتئ
roscore #launch ROS خدمتونه
rosrun turtlesim turtlesim_node #لانچ turtlesim انٹرفیس
b. د غلام څخه وتښتئ
rosrun turtlesim turtle_teleop_key # د turtlesim لپاره د کیبورډ کنټرول نوډ لانچ کړئ
که تاسو کولی شئ په غلام کې د کیبورډ څخه د کچی حرکتونه سمبال کړئ، دا پدې مانا ده چې د ماسټر / غلام اړیکه په بریالیتوب سره رامینځته شوې.
په ROS کې د وائی فای اتوماتیک اتصال
لاندې کړنالرې تشریح کوي چې څنګه روبوټ تنظیم کړئ ترڅو په اتوماتيک ډول د کوربه شبکې یا روټر شبکې سره وصل شي.
د جیټسن نانو لپاره د وائی فای اتوماتیک اتصال تنظیم کول
- جیټسن نانو د VNC ریموټ وسیلې له لارې یا مستقیم د کمپیوټر سکرین ته وصل کړئ. په پورتنۍ ښیې کونج کې د وائی فای آیکون باندې کلیک وکړئ بیا "اډیټ اتصالات .." کلیک وکړئ.

- د شبکې اړیکو کې + تڼۍ کلیک وکړئ:

- د "د پیوستون ډول غوره کړئ" کړکۍ لاندې، په ډراپ-ډاون مینو کې کلیک وکړئ او "جوړ کړئ ..." تڼۍ کلیک وکړئ:

- په کنټرول پینل کې، د وائی فای اختیار کلیک وکړئ. د "د پیوستون نوم" او SSID برخو کې د وصل کولو لپاره د وائی فای نوم دننه کړئ. په "موډ" ډراپ ډاون مینو کې "پیرودونکي" غوره کړئ او د "آلې" ډراپ ډاون مینو کې "wlan0" غوره کړئ.

- په کنټرول پینل کې، د "عمومي" اختیار کلیک وکړئ او "په اتوماتيک ډول دې شبکې سره وصل شئ ..." وګورئ. د اتصال لومړیتوب 1 ته "د اتوماتیک فعالولو لپاره د اتصال لومړیتوب" اختیار کې تنظیم کړئ. "ټول کاروونکي ممکن دې شبکې سره وصل شي" انتخاب چیک کړئ. کله چې اختیار د نورو وائی فای لپاره "د اتوماتیک فعالولو لپاره د اتصال لومړیتوب" کې 0 ته ټاکل شوی وي ، نو دا پدې معنی ده چې دا په تیرو وختونو کې غوره وائی فای شبکه ده.

- په کنټرول پینل کې د "وائی فای امنیت" اختیار کلیک وکړئ. د "امنیت" ساحه کې "WPA او WPA2 شخصي" غوره کړئ. بیا د وائی فای پاسورډ دننه کړئ

نوټ:
که چیرې روبوټ نشي کولی د بوټ کولو وروسته په اوتومات ډول د وائی فای شبکې سره وصل شي کله چې د وائی فای لومړیتوب 0 ته ټاکل شوی وي ، دا ممکن د ضعیف وائی فای سیګنال ستونزې له امله رامینځته شي. د دې ستونزې څخه مخنیوي لپاره، تاسو کولی شئ د وائی فای ټول اختیارونه حذف کړئ چې په تیرو وختونو کې وصل شوي. یوازې د وائی فای شبکه وساتئ چې د کوربه یا روټر لخوا رامینځته شوی.
د شبکې تنظیماتو کنټرول پینل کې د "IPv4 ترتیبات" اختیار کلیک وکړئ. د "میتود" په ساحه کې د "لاسي" اختیار غوره کړئ. بیا په "اضافه" کلیک وکړئ، د غلام ماشین IP پته په "پته" ساحه کې ډک کړئ. په "Netmask" ساحه کې "24" ډک کړئ. په "Gateway" کې د IP شبکې برخې ډک کړئ. د IP شبکې برخې وروستي درې عددونه "1" ته بدل کړئ. د دې ګام اصلي موخه د IP پته سمه کول دي. وروسته له دې چې دا د لومړي ځل لپاره بشپړ شي، د IP پته به بدله پاتې وي کله چې وروسته ورته WIFI سره وصل شي.

وروسته له دې چې ټول تنظیمات تنظیم شوي ، د تنظیماتو خوندي کولو لپاره "خوندي" کلیک وکړئ. وروسته له دې چې خوندي کول بریالي شي، روبوټ به په اتوماتيک ډول د کوربه یا روټر شبکې سره وصل شي کله چې دا چلول کیږي.
نوټ:
- دلته ټاکل شوی IP پته باید د IP پتې په څیر وي چې په .bashrc کې ټاکل شوې file په 2.1 برخه کې.
- د ماسټر او هر غلام IP پته باید ځانګړی وي.
- د ماسټر او غلام IP پتې باید د ورته شبکې برخې کې وي.
- تاسو باید کوربه یا روټر ته انتظار وکړئ چې د وائی فای سیګنال واستوي مخکې لدې چې غلام روبوټ فعال شي او په اتوماتيک ډول د وائی فای شبکې سره وصل شي.
- د تنظیم کولو وروسته، که چیرې روبوټ نشي کولی په اتوماتيک ډول د وائی فای سره وصل شي کله چې دا فعال شي، مهرباني وکړئ د شبکې کارت پلګ او ان پلګ کړئ او بیا د نښلولو هڅه وکړئ.
د راسبیري پای لپاره د وائی فای اتوماتیک اتصال تنظیم کول
د راسبیري پای طرزالعمل د جیټسن نانو په څیر دی.
د جیټسن TX1 لپاره د وائی فای اتوماتیک اتصال تنظیم کول
په جیټسن TX1 کې تنظیم تقریبا د جیټسن نانو په څیر دی چې د یو استثنا سره د جیټسن TX1 باید د شبکې تنظیماتو کنټرول پینل کې په "وسیلې" کې د "wlan1" وسیله غوره کړي.

د څو اجنټ همغږي کولو ترتیب
د ملټي ایجنټ جوړولو په پروژه کې، د څو اجنټ وخت همغږي کولو ترتیب یو مهم ګام دی. د جوړیدو په بهیر کې، ډیری ستونزې به د هر روبوټ د غیر متناسب سیسټم وخت له امله رامینځته شي. د ملټي ایجنټ وخت همغږي کول په دوه حالتونو ویشل شوي ، د بیلګې په توګه ، هغه حالت چې دواړه ماسټر او غلام روبوټ له شبکې سره وصل دي او هغه حالت چې دواړه له شبکې څخه منحل شوي.
بریالي ماسټر / غلام شبکې پیوستون
وروسته له دې چې د ملټي ایجنټ مخابرات تنظیم شي ، که ماسټر او غلام ماشینونه په بریالیتوب سره له شبکې سره وصل شي ، دوی به په اوتومات ډول د شبکې وخت همغږي کړي. په دې حالت کې، د وخت همغږي کولو لپاره نور اقداماتو ته اړتیا نشته.
د شبکې د نښلیدو ستونزې حل کول
وروسته له دې چې د څو اجنټ مخابرات تنظیم شي ، که چیرې ماسټر او غلام وسیلې نشي کولی په بریالیتوب سره له شبکې سره وصل شي ، نو اړینه ده چې وخت په لاسي ډول همغږي کړئ. موږ به د وخت ترتیب بشپړولو لپاره د نیټې کمانډ وکاروو.
لومړی، د ټرمینټر وسیله نصب کړئ. د ټرمینټر وسیلې څخه ، د کړکۍ ویشلو وسیله وکاروئ ترڅو د ماسټر او غلام کنټرول ټرمینلونه په ورته ټرمینل کړکۍ کې ځای په ځای کړئ (د ویشلو کړکۍ تنظیم کولو لپاره ښیې کلیک وکړئ ، او په مختلف کړکۍ کې د ssh لخوا ماسټر او غلام ماشینونو ته ننوتل) .
sudo apt-get install terminator # د ټرمینل کړکۍ ویشلو لپاره ټرمینټر ډاونلوډ کړئ
په پورتنۍ ښي خوا کې تڼۍ کلیک وکړئ، اختیار غوره کړئ [ټولو ته نشر]/[ټول نشر کړئ]، لاندې کمانډ دننه کړئ. بیا د ټرمینټر وسیله وکاروئ ترڅو د مالک او غلام لپاره ورته وخت وټاکئ.

sudo date -s "2022-01-30 15:15:00" # د لاسي وخت تنظیم کول
د ملټي اجنټ ROS بسته
د ROS بسته پیژندنه
د غلام نوم ترتیب کړئ
د wheeltec_multi فنکشن کڅوړه کې، دا اړینه ده چې د هر غلام روبوټ لپاره یو ځانګړی نوم ترتیب کړئ ترڅو د غلطیو څخه مخنیوی وشي. د مثال لپارهample، د غلام 1 لپاره نمبر 1 او د غلام 2 لپاره نمبر 2 وغيره.
د مختلف نومونو تنظیم کولو هدف د چلولو نوډونو ګروپ کول او د مختلف نوم ځایونو لخوا توپیر کول دي. د مثال لپارهample، د غلام 1 د رادار موضوع ده: /slave1/scan، او د غلام 1 LiDAR نوډ دی: / slave1/laser.
د غلام همغږي تنظیم کړئ
د wheeltec_multi بسته کولی شي دودیز جوړښتونه پلي کړي. کله چې مختلف جوړښتونو ته اړتیا وي، یوازې د غلام روبوټونو مطلوب همغږي بدل کړئ. غلام_x او غلام_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 څخه لاندې تنظیم شي. هرڅومره چې دا د مالک څخه لرې وي ، د غلام خطي سرعت خورا ډیر وي کله چې مالک مخ واړوي. د اعظمي سرعت د محدودیت له امله ، د غلام سرعت به انحراف شي که چیرې دا اړتیاوې پوره نکړي. د روبوټ جوړښت به ګډوډ شي.
د غلام موقف پیل کول
د غلام لومړني موقعیت د ډیفالټ لخوا په تمه شوي همغږۍ کې دی. د برنامه چلولو دمخه ، یوازې د غلام روبوټ د پیل کولو بشپړولو لپاره خپل متوقع همغږي ته نږدې ځای په ځای کړئ.
دا فنکشن د pose_setter نوډ لخوا پلي کیږي file په wheeltec_multi بسته کې turn_on_wheeltec_robot.launch نومول شوی، لکه څنګه چې په 4-1-3 شکل کې ښودل شوي.

که چیرې کاروونکي غواړي د غلام لومړني موقعیت تنظیم کړي، هغه یوازې اړتیا لري چې د غلام_x او slave_y ارزښتونه تنظیم کړي لکه څنګه چې په wheeltec_slave.launch کې په 4-1-4 شکل کې ښودل شوي. slave_x او slave_y ارزښتونه به turn_on_wheeltec_robot.launch ته انتقال شي او د pose_setter نوډ ته به ورکړل شي. یوازې د برنامه چلولو دمخه روبوټ په دودیز موقعیت کې ځای په ځای کړئ.

د موقعیت ترتیب
په څو اجنټ جوړښت کې، لومړی ستونزه چې حل کیږي د مالک او غلام موقعیت دی. ماسټر به لومړی د 2D نقشه جوړه کړي. د نقشې رامینځته کولو او خوندي کولو وروسته ، د 2D نیویګیشن کڅوړه پرمخ وړئ او د ماسټر موقعیت تنظیم کولو لپاره د 2D نیویګیشن کڅوړه کې د انډول مونټ کارلو موقعیت الګوریتم (amcl موقعیت) وکاروئ.
څرنګه چې ماسټر او غلامان په ورته شبکه کې دي او د ورته نوډ مدیر شریکوي، ماسټر نقشه د 2D نیویګیشن کڅوړې څخه پیل کړې، ټول غلامان کولی شي د ورته نوډ مدیر لاندې ورته نقشه وکاروي. له همدې امله، غلام د نقشې جوړولو ته اړتیا نلري. په wheeltec_slave.launch کې، د مونټ کارلو پوزیشنینګ چل کړئ (amcl پوزیشنینګ)، غلامان کولی شي د ماسټر لخوا رامینځته شوي نقشې په کارولو سره خپل موقعیتونه تنظیم کړي.

څنګه جوړښت رامینځته کول او جوړښت ساتل
د جوړښت حرکت په پروسه کې، د ماسټر حرکت د Rviz، کیبورډ، ریموټ کنټرول او نورو میتودونو لخوا کنټرول کیدی شي. غلام خپل سرعت د slave_tf_listener نوډ له لارې محاسبه کوي ترڅو خپل حرکت کنټرول کړي او د جوړیدو هدف ترلاسه کړي.
د غلام_tf_listener نوډ د غلام سرعت محدودوي ترڅو د نوډ محاسبې لخوا د ډیر سرعت څخه مخنیوی وشي، کوم چې به د یو لړ اغیزو لامل شي. ځانګړی ارزښت په wheeltec_slave.launch کې تعدیل کیدی شي.

د تشکیل الګوریتم اړونده پیرامیټونه په لاندې ډول دي:

په جوړښت کې د خنډ مخنیوی
په څو اجنټ جوړښت کې، ماسټر کولی شي د حرکت_بیس نوډ څخه کار واخلي ترڅو د خنډ مخنیوی بشپړ کړي. په هرصورت، د غلام پیل کول د حرکت_بیس نوډ نه کاروي. په دې وخت کې، د ملټي_ایویډانس نوډ ته اړتیا ده چې په غلام پروګرام کې وبلل شي. د خنډ مخنیوی نوډ په ډیفالټ کې په کڅوړه کې فعال شوی. که اړتیا وي، مخنیوی د خنډ مخنیوی نوډ غیر فعالولو لپاره "غلط" ته ټاکل کیدی شي.

د خنډ مخنیوي نوډ ځینې اړونده پیرامیټونه په لاندې شکل کې ښودل شوي، چیرې چې خوندي_ فاصله د خنډ خوندي فاصله حد دی، او خطر_ فاصله د خنډ خطرناک واټن حد دی. کله چې خنډ په خوندي_ فاصله او د خطر_ فاصله کې وي، نو بنده د خنډ څخه د مخنیوي لپاره خپل موقف تنظیموي. کله چې خنډ د خطر په فاصله کې وي نو بنده به له خنډ څخه لیرې شي.

د عملیاتو طرزالعمل
د اجرا کولو کمانډ دننه کړئ
د څو اجنټ جوړیدو پیل کولو دمخه چمتووالی:
- ماسټر او غلام د ورته شبکې سره وصل کیږي او د څو اجنټ ارتباط په سمه توګه تنظیموي
- ماسټر مخکې له مخکې 2D نقشه جوړوي او خوندي کوي
- ماسټر د نقشې په پیل کې ځای پر ځای شوی، او غلام د پیل کولو موقعیت ته نږدې موقعیت لري (د اصلي غلام جوړونې موقعیت)
- د جیټسن نانو / راسبیري پای ته له لرې ننوتلو وروسته ، د وخت ترکیب ترسره کړئ.
sudo نیټه "2022-04-01 15:15:00"
1 ګام: د ماسټر څخه 2D نقشه خلاص کړئ.
roslaunch turn_on_wheeltec_robot navigation.launch
لومړی ګام: د ټولو غلامانو څخه د جوړولو پروګرام چلول.
roslaunch wheeltec_multi wheeltec_slave.launch
لومړی ګام: د ماسټر څخه د کیبورډ کنټرول نوډ خلاص کړئ یا د ماسټر حرکت ریموټ کنټرول لپاره جویسټیک وکاروئ.
roslaunch wheeltec_robot_rc keyboard_teleop.launch
لومړی ګام: (اختیاري) د Rviz څخه د روبوټ حرکتونه وګورئ.
rviz
نوټ
- ډاډ ترلاسه کړئ چې د برنامه اجرا کولو دمخه د وخت ترکیب عملیات بشپړ کړئ.
- کله چې د څو اجنټ جوړښت ماسټر کنټرول کړئ ، د زاویې سرعت باید ډیر ګړندی نه وي. وړاندیز شوی خطي سرعت 0.2m/s دی، د زاویې سرعت درجه د 0.3rad/s څخه ښکته ده. کله چې بادار بدله کوي، غلام د مالک څخه څومره لیرې وي، د خطي سرعت ډیر اړین دی. په بسته کې د خطي سرعت او زاویه سرعت د محدودیت له امله، کله چې د غلام موټر اړین سرعت ته ونه رسیږي، جوړښت به ګډوډ وي. په ټوله کې، ډیر خطي سرعت کولی شي په اسانۍ سره روبوټ ته زیان ورسوي.
- کله چې د غلام شمیر له یو څخه ډیر وي ، د ROS کوربه محدود آن بورډ وائی فای بینډ ویت له امله ، دا اسانه ده چې د ملټي اجنټ مخابراتو د پام وړ ځنډ او منحل کیدو لامل شي. د روټر کارول کولی شي دا ستونزه په ښه توګه حل کړي.
- د څو روبوټ جوړونې TF ونه (2 غلامان) دي: rqt_tf_tree
- د څو روبوټ جوړښت (2 غلام) د نوډ اړیکو ډیاګرام دی: rqt_graph
اسناد / سرچینې
![]() |
ROBOWORKS Robofleet Orin Nano x3 ROS روبوټ [pdf] د کارونکي لارښود اورین نانو x3، روبوفلیټ ROS روبوټ، روبوفلیټ ROS، روبوټ، روبوفلیټ اورین نانو x3 ROS روبوټ، روبوفلیټ اورین نانو x3، اورین نانو x3 ROS روبوټ، اورین نانو x3 |
