Skip to main content

ماڈیول 1: ROS 2 کی بنیادیں

جائزہ

فزیکل ای اور ہیومنوائڈ روبوٹکس ٹیکسٹ بک کے ماڈیول 1 میں خوش آمدید۔ یہ ماڈیول روبوٹ آپریٹنگ سسٹم 2 (ROS 2) میں جامع بنیاد فراہم کرتا ہے، جو جدید روبوٹکس ڈویلپمنٹ کے لئے صنعت کا معیاری مڈل ویئر ڈھانچہ ہے۔ آپ ہیومنوائڈ روبوٹس کے لئے مضبوط کنٹرول سسٹم بنانے کے لئے ضروری تصورات، اوزار، اور نمونوں کو سیکھیں گے۔

ROS 2 اصل ROS فریم ورک کا مکمل دوبارہ ڈیزائن ہے، جس میں روبوٹکس ڈویلپمنٹ کے ایک دہائی کے اسباق کو شامل کیا گیا ہے۔ یہ ROS 1 کی اہم حدود کو حل کرتا ہے— بشمول ریل ٹائم کارکردگی، سیکیورٹی، اور متعدد روبوٹس کا رابطہ— جسے پیداواری روبوٹکس سسٹم کے لئے ترجیحی انتخاب بنا دیتا ہے، تحقیقی ہیومنوائڈز سے لے کر صنعتی تعاونی روبوٹس تک۔

سیکھنے کے نتائج

اس ماڈیول کے اختتام پر، آپ کے اہل ہوں گے:

  1. ROS 2 آرکیٹیکچر مالک بننا: شائع کریں-سبسکرائب رابطہ ماڈل، سروس بیسڈ تعاملات، اور ڈیٹا ڈسٹری بیوشن سروس (DDS) مڈل ویئر کو سمجھیں جو ROS 2 کی تقسیم شدہ کمپیوٹنگ صلاحیتوں کو چلاتا ہے۔

ROS 2 آرکیٹیکچر شکل 1.1: ROS 2 آرکیٹیکچر - پرتدار ساخت جو DDS مڈل ویئر، کلائنٹ لائبریریز (rclcpp/rclpy)، اور ایپلی کیشن نوڈس کو ٹاپکس کے ذریعے مواصلت کرتے ہوئے دکھاتی ہے

  1. روبوٹ کنٹرول سسٹم بنانا: Python میں ماڈیولر ROS 2 نوڈس تخلیق کریں جو ہیومنوائڈ روبوٹ جوائنٹس کو کنٹرول کرتے ہیں، سینسر ڈیٹا کو پروسیس کرتے ہیں، اور پیچیدہ متعدد ڈگری کے آزادی والی تحریکوں کو مربوط کرتے ہیں۔

  2. ہیومنوائڈ روبوٹس کی ماڈلنگ: URDF (متحدہ روبوٹ کی وضاحت فارمیٹ) اور Xacro کا استعمال کرتے ہوئے درست روبوٹ کی وضاحت تیار کریں، کنیمیٹک چینز، کولیژن جیومیٹریز، اور شبیہہ اور کنٹرول کے لئے وژوئل نمائندگی کی وضاحت کریں۔

  3. کنٹرول کی حکمت عملی نافذ کرنا: ہیومنوائڈ جوائنٹس کے لئے پوزیشن، ویلوسٹی، اور ایفروٹ کنٹرولرز کو مینیج کرنے کے لئے ros2_control فریم ورک نافذ کریں، مستحکم بائی پیڈل چال کے لئے ضروری فیڈ بیک لوپس نافذ کریں۔

  4. شبیہہ اور ہارڈ ویئر کا انضمام: معیاری ہارڈ ویئر ایب سٹریکشن انٹرفیسز کے ذریعے شبیہہ شدہ ہیومنوائڈ ماڈلز اور جسمانی ہارڈ ویئر کے درمیان بے داغ منتقلی کے لئے کوڈ تیار کریں۔

شرائط

اس ماڈیول میں کامیاب ہونے کے لئے، آپ کو ہونا چاہیے:

  • پروگرامنگ کی مہارتیں: متوسط Python مہارت (فنشنز، کلاسز، آبجیکٹ اورینٹڈ پروگرامنگ)
  • لینکس بنیادیں: بنیادی ٹرمنل نیویگیشن، فائل اجازتیں، apt کے ساتھ پیکج مینجمنٹ
  • ریاضی: 3D کوآرڈینیٹ سسٹم، روٹیشن میٹرکسز، اور بنیادی لینیئر الجبرا کی سمجھ
  • روبوٹکس کے تصورات: روبوٹ جوائنٹس، ڈگریز آف فریڈم، اور فارورڈ کنیمیٹکس کی واقفیت (مددگار ہے لیکن ضروری نہیں)

ہیومنوائڈ روبوٹکس کے لئے ROS 2 کیوں؟

ہیومنوائڈ روبوٹس منفرد چیلنجز پیش کرتے ہیں جو ROS 2 کو خاص طور پر مناسب بنا دیتے ہیں:

ریل ٹائم کارکردگی: ہیومنوائڈ توازن کنٹرول کو ڈیٹرمنسٹک، کم تاخیر والے رابطے کی ضرورت ہوتی ہے۔ ROS 2 کا DDS مڈل ویئر ریل ٹائم ڈیٹا ڈیلیوری کے لئے سروس کی اقسام (QoS) پالیسیز فراہم کرتا ہے— اہم جب کوئی ہیومنوائڈ کو گرنے سے بچنے کے لئے ملی سیکنڈز کے اندر ردعمل ظاہر کرنا ہو۔

تقسیم شدہ کمپیوٹنگ: ایک ہیومنوائڈ روبوٹ کا کمپیوٹیشنل بوجھ ادراک (وژن، گہرائی سینسنگ)، منصوبہ بندی (موشن ٹریجیکٹریز)، اور کنٹرول (جوائنٹ سروز) میں پھیلا ہوتا ہے۔ ROS 2 کی تقسیم شدہ نوڈس کے لئے قدرتی تعاون مختلف پروسیسرز یا حتیٰ کہ الگ الگ کمپیوٹرز پر ان عملوں کو چلانے کی اجازت دیتا ہے، کارکردگی کو زیادہ سے زیادہ کرتے ہوئے۔

ہارڈ ویئر ایب سٹریکشن: ros2_control فریم ورک متنوع ایکٹو ایٹرز کے لئے ایک متحدہ انٹرفیس فراہم کرتا ہے— چاہے آپ زیادہ ٹارک سرو موٹرز، لکیری ایکٹو ایٹرز برائے ٹیلی اسکوپنگ جوائنٹس، یا محفوظ انسان-روبوٹ تعامل کے لئے مطیع ایکٹو ایٹرز کا استعمال کر رہے ہوں۔ یہ ایب سٹریکشن مختلف ہیومنوائڈ پلیٹ فارمز پر کوڈ دوبارہ استعمال کے قابل بنا دیتا ہے۔

سیکیورٹی اور حفاظت: جدید ہیومنوائڈ روبوٹس انسانی ماحول میں کام کرتے ہیں، جس کے لئے محفوظ رابطہ چینلز اور قابل اعتماد ناکامی کے نمونے کی ضرورت ہوتی ہے۔ ROS 2 میں DDS سیکیورٹی پلگ انز، ٹائپ سیف میسج پاسنگ، اور لائف سائیکل مینجمنٹ شامل ہیں— تعاونی روبوٹکس کے لئے اہم ہے۔

صنعتی ا adoption: سرکردہ ہیومنوائڈ روبوٹکس کمپنیز (بوسٹن ڈائی نیمکس کا ایٹلس ٹیم، ایگلٹی روبوٹکس، ٹیسلا کا آپٹیمس پروگرام) ڈویلپمنٹ اور ٹیسٹنگ کے لئے ROS 2 کا استعمال کرتے ہیں۔ ROS 2 سیکھنا آپ کو پیشہ ورانہ روبوٹکس ڈویلپمنٹ کے لئے تیار کرتا ہے۔

ماڈیول کی ساخت

یہ ماڈیول 3 ہفتوں میں ترقی پذیر سیکھنے کے راستے پر عمل کرتا ہے:

ہفتہ 3: بنیادی تصورات

  • ROS 2 آرکیٹیکچر اور انسٹالیشن
  • نوڈس تخلیق کرنا اور مینج کرنا
  • شائع کنندگان اور سبسکرائبرز کے ساتھ ٹاپک بیسڈ رابطہ

ہفتہ 4: اعلی رابطہ

  • سروس بیسڈ درخواست-جواب نمونے
  • طویل مدتی کاموں کے لئے ایکشن سرورز (مثلاً "جگہ پر چلنا")
  • متحرک پیرامیٹر کنفیگریشن

ہفتہ 5: روبوٹ ماڈلنگ اور کنٹرول

  • ہیومنوائڈ کنیمیٹکس کے لئے URDF ماڈلنگ
  • ros2_control فریم ورک نافذ کرنا
  • مکمل کام کرتا ہیومنوائڈ روبوٹ کی مثال

ہر چیپٹر میں تفصیلی ان لائن تبصروں کے ساتھ ہاتھ سے کوڈ کی مثالیں، عملی مشقیں، اور مسئلہ حل کرنے کی ہدایات شامل ہیں۔ ہفتہ 5 تک، آپ نے ایک مکمل شبیہہ شدہ ہیومنوائڈ روبوٹ بنایا ہو گا جو کنٹرول کمانڈز کو جواب دیتا ہے۔

شروع کرنا

یقینی بنائیں کہ آپ کے پاس ہے:

  • Ubuntu 22.04 LTS چلانے والا ایک کمپیوٹر (native انسٹالیشن یا ورچوئل مشین)
  • کم از کم 4GB RAM اور 20GB مفت ڈسک کی جگہ
  • پیکج انسٹالیشن کے لئے سوڈو اعزازات
  • ایک کوڈ ایڈیٹر (VS کوڈ تجویز کردہ ROS ایکسٹینشنز کے ساتھ)

تیار ہیں شروع کرنے کے لئے؟ ہفتہ 3: ROS 2 کی بنیادیں پر آگے بڑھیں تاکہ اپنے ڈویلپمنٹ ماحول کو انسٹال کریں اور اپنا پہلا ROS 2 ورک سپیس تخلیق کریں۔