Skip to main content

باب 7: کیپ اسٹون - روبوٹ کنٹرولر

بس یہی ہے۔ آپ نے جو کچھ بھی سیکھا ہے اس کا یہ کمال ہے: pub/sub، سروسز، کسٹم انٹرفیسز، پیرامیٹرز، لانچ فائلز، ڈیبگنگ۔ اس کیپ اسٹون پروجیکٹ میں، آپ تفصیلات (specification) سے شروع کرتے ہوئے ایک مکمل ملٹی-نوڈ روبوٹ کنٹرول سسٹم بنائیں گے۔

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

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

مدت: 3 اسباق، کل 4.5 گھنٹے تہہ کی تقسیم: L3: 20%، L4: 80% (تفصیلات-پہلے، جمع شدہ مہارتوں کا آرکیسٹریشن) ہارڈ ویئر ٹائر: ٹائر 1 (Turtlesim سمولیشن یا براؤزر میں MockROS) پیشگی ضروریات: ابواب 1-6 (پہلے کا تمام سیکھا ہوا) کیپ اسٹون ڈیلیوریبل: تفصیلات کی دستاویزات کے ساتھ مکمل ملٹی-نوڈ ROS 2 سسٹم

سیکھنے کے مقاصد

اس کیپ اسٹون کے اختتام تک، آپ اس قابل ہو جائیں گے کہ:

  • ایسی تفصیلات لکھیں جو نظام کے ارادے، انٹرفیسز، اور کامیابی کے معیار کو واضح طور پر بیان کریں
  • بغیر کسی واضح قدم بہ قدم ہدایات کے تفصیلات سے نظام کا نفاذ کریں
  • پہلے سے سیکھی ہوئی مہارتوں کو مرکب (Compose) کریں (باب 4 کا pub/sub، باب 5 کی سروسز، باب 6 کے پیرامیٹرز اور لانچ فائلز)
  • انضمام کے مسائل کو منظم طریقے سے ڈیبگ کریں
  • اپنے نفاذ کو ان کی تفصیلات کے خلاف توثیق (Validate) کریں
  • ڈیزائن کے فیصلوں پر غور کریں اور کیے گئے تبادلوں (trade-offs) کو بیان کریں
  • تفصیلات کے معیار کو نفاذ کے معیار کے بنیادی تعین کنندہ کے طور پر پہچانیں

اسباق

سبق 7.1: کیپ اسٹون تفصیلات (90 منٹ)

سب سے پہلے اپنی تفصیلات لکھیں۔ یہ طے کریں کہ آپ کے روبوٹ کنٹرولر کو کیا کرنا چاہیے: یہ کون سے احکامات قبول کرے گا؟ یہ کون سا ڈیٹا شائع کرے گا؟ نوڈز کیسے بات چیت کریں گے؟ کامیابی کیا ہے؟

آپ ایک تفصیلات کے ٹیمپلیٹ کو ان چیزوں سے بھریں گے:

  • ارادہ (Intent): یہ نظام کس مسئلے کو حل کرتا ہے؟
  • نظام کا ڈھانچہ (System Architecture): کتنے نوڈز؟ وہ کیا کرتے ہیں؟
  • انٹرفیسز: ٹاپکس، سروسز، پیرامیٹرز (نوڈز کے درمیان معاہدہ)
  • کامیابی کے معیار (Success Criteria): آپ کیسے جانتے ہیں کہ یہ کام کر گیا؟
  • غیر مقاصد (Non-Goals): کیا واضح طور پر دائرہ کار میں نہیں ہے (ماڈیول 2 کے لیے ملتوی)

بنیادی تصورات:

  • تفصیلات-پہلے سوچنا (کوڈ سے پہلے ارادہ)
  • نظام کے ڈھانچے کی دستاویزات
  • واضح انٹرفیس کی تعریفیں
  • قابل پیمائش کامیابی کے معیار

سبق 7.2: کنٹرولر کی تعمیر (90 منٹ)

اب نفاذ کریں۔ لیکن کلید یہ ہے: آپ کے پاس ایک تفصیلات ہے جو آپ کی رہنمائی کر رہی ہے۔ آپ کوڈ نہیں لکھ رہے اور امید نہیں کر رہے کہ یہ کام کرے گا۔ آپ ایک معاہدے پر عمل درآمد کر رہے ہیں۔

آپ ابواب 4-6 کی تمام مہارتیں استعمال کریں گے:

  • پبلشر/سبسکرائبر نوڈز (باب 4)
  • سروس سرورز (باب 5)
  • کسٹم انٹرفیسز (باب 5)
  • ترتیب (configuration) کے لیے پیرامیٹرز (باب 6)
  • ہر چیز کو منظم کرنے کے لیے لانچ فائلز (باب 6)

بنیادی تصورات:

  • تفصیلات سے نفاذ
  • متعدد ROS 2 مہارتوں کو مرکب کرنا
  • انضمام کی جانچ (Integration testing)
  • تفصیلات کے خلاف ڈیبگنگ

سبق 7.3: جانچ، توثیق، اور غور (90 منٹ)

توثیق کریں کہ آپ کا نفاذ آپ کی تفصیلات سے میل کھاتا ہے۔ کیا یہ کامیابی کے ہر معیار کو پورا کرتا ہے؟ ہر ایک کی جانچ کریں۔ ناکامیوں کو منظم طریقے سے ڈیبگ کریں۔ اس پر غور کریں کہ کیا غیر متوقع طور پر مشکل تھا، کون سے ڈیزائن کے فیصلے اہم تھے، اور آپ ڈیزائن کو کیسے بہتر بناتے؟

یہ غور کی تہہ (reflection layer) ہے—جہاں سیکھنا سمجھ میں بدل جاتا ہے۔

بنیادی تصورات:

  • تفصیلات کی توثیق (کیا نفاذ تفصیلات سے ملتا ہے؟)
  • کامیابی کے معیار کی منظم جانچ
  • انضمام کے مسائل کی ڈیبگنگ
  • ڈیزائن اور سیکھنے پر غور
  • ماڈیول 2 کے تصورات کا پیش منظر

4-تہہ تدریسی طریقہ کار (4-Layer Teaching Method)

تہہ%کیا کور کیا گیا
L1: دستی10%تفصیلات کے ٹیمپلیٹ کی مثال، ڈھانچے کی رہنمائی
L2: AI تعاون10%نفاذ اور ڈیبگنگ میں AI مدد کرتا ہے
L3: ذہانت20%ابواب 4-6 کی مہارتوں کو مرکب کرنا، انضمام کے پیٹرن
L4: تفصیلات-محور80%مکمل تفصیلات-پہلے ترقیاتی چکر

یہ تہہ 4 ہے—4-تہہ تدریسی طریقہ کار کی سب سے گہری تہہ۔ آپ واضح تفصیلات کے ذریعے جمع شدہ ذہانت کو منظم کر رہے ہیں۔

ہارڈ ویئر کی ضروریات

کم از کم ٹائر: ٹائر 1 (لیپ ٹاپ/براؤزر)

ٹائرسامانآپ کیا کر سکتے ہیں
1لیپ ٹاپ + براؤزرکلاؤڈ ROS 2 (TheConstruct) جس میں turtlesim ویژولائزیشن، مکمل پائیتھن ایگزیکیوشن شامل ہے
2+مقامی ROS 2تیز فیڈ بیک کے ساتھ مقامی تنصیب

کیپ اسٹون سمولیشن: Turtlesim (ROS 2 میں بلٹ ان، کسی اضافی تنصیب کی ضرورت نہیں)۔ آپ کا کنٹرولر ایک سمولیٹڈ کچھوے کو چلانے اور استفسارات کا جواب دینے کا حکم دے گا۔

پیشگی ضروریات

  • ابواب 1-6 (پہلے کا تمام سیکھا ہوا—یہ سب کو یکجا کرتا ہے)
  • ROS 2 ڈھانچے کی سمجھ (نوڈز، ٹاپکس، سروسز، پیرامیٹرز)
  • پائیتھن پروگرامنگ (آپ ملٹی-نوڈ سسٹم لکھ رہے ہیں)
  • ڈیبگنگ میں آرام دہ (انضمام کے مسائل عام ہیں؛ آپ انہیں منظم طریقے سے حل کریں گے)

کیپ اسٹون پروجیکٹ کی تفصیلات

یہ وہ ٹیمپلیٹ ہے جسے آپ پُر کریں گے۔ آپ کے نظام کو یہ کرنا چاہیے:

TURTLE ROBOT CONTROLLER SPECIFICATION

Intent:
Create a multi-node system that controls a turtlesim turtle to achieve
autonomous navigation goals. The system accepts goal positions via service,
publishes continuous status, and handles simulated obstacles.

System Architecture:
- Navigator Node: Accepts navigation goals, computes velocity commands
- Status Monitor Node: Publishes robot state (position, velocity, battery)
- Obstacle Detector Node: Simulates obstacle detection, publishes warnings

Interfaces:
Service: /navigate_to (request: x, y, theta; response: success, time_taken)
Topic: /robot/status (RobotStatus message: position, velocity, battery)
Topic: /obstacles (sensor_msgs/LaserScan mock data)

Success Criteria:
- Turtle reaches goal position within 2 seconds
- Status published every 100ms
- System handles 3+ obstacles without crashing
- Launch file starts all nodes with coordinated parameters

Non-Goals:
- Real obstacle avoidance (mock sensor only)
- Real LIDAR simulation (sensor_msgs/LaserScan is simulated)
- Multiple robots (single turtle only)

آپ کا کام: خالی جگہ پُر کریں، تفصیلات کے مطابق نفاذ کریں، توثیق کریں، غور کریں۔

مہارت کا گیٹ: کیپ اسٹون کی کامیابی

جب آپ کیپ اسٹون کامیابی سے مکمل کر لیں گے:

  • تفصیلات واضح ہیں: کوئی دوسرا شخص انہیں آپ کی تفصیلات سے نافذ کر سکتا ہے
  • نفاذ مکمل ہے: تمام 3+ نوڈز چل رہے ہیں اور جڑے ہوئے ہیں
  • مواصلات کام کر رہی ہے: ڈیٹا ٹاپکس اور سروسز کے ذریعے درست طریقے سے بہہ رہا ہے
  • کامیابی کے تمام معیار پورے ہوئے: ہر ایک کی واضح طور پر جانچ کریں
  • نظام لانچ کے قابل ہے: ایک ros2 launch کمانڈ سب کچھ شروع کر دیتی ہے
  • آپ وضاحت کر سکتے ہیں: آپ نے ہر ڈیزائن کا فیصلہ کیوں کیا
  • آپ نے کچھ سیکھا: کیا غیر متوقع طور پر مشکل تھا؟ کیا چیز نے آپ کو حیران کیا؟

آپ نے کیا حاصل کیا

ماڈیول 1 مکمل کر کے، آپ نے:

  1. مجسم ذہانت کو سمجھا (ابواب 1-2)
  2. ROS 2 کے ڈھانچے کو دریافت کیا (باب 3)
  3. پائیتھن میں ROS 2 نوڈز لکھے (ابواب 4-6)
  4. 4 دوبارہ استعمال کے قابل مہارتیں بنائیں:
    • ros2-publisher-subscriber
    • ros2-service-pattern
    • ros2-custom-interfaces
    • ros2-launch-system
  5. تفصیلات سے ایک مکمل نظام ڈیزائن اور بنایا (باب 7)
  6. 4-تہہ تدریسی طریقہ کار کا اطلاق کیا دستی بنیاد سے تفصیلات-محور انضمام تک

آپ اب ایک ROS 2 ڈویلپر ہیں۔ ابھی تک ایڈوانس نہیں—لیکن آپ حقیقی نظام بنانے کے لیے بنیادی باتوں کو گہرائی سے سمجھتے ہیں۔

آگے کیا ہے؟

ماڈیول 2 اس بنیاد پر تعمیر کرتا ہے:

  • URDF: روبوٹ کی ساخت اور حرکت (kinematics) کو بیان کرنا
  • Gazebo سمولیشن: زیادہ حقیقت پسندانہ فزکس سمولیشن
  • پرسیپشن (Perception): کیمرے، LIDAR پروسیسنگ شامل کرنا
  • نیویگیشن اسٹیک: خود مختار راستہ منصوبہ بندی
  • Sim-to-Real منتقلی: سمولیشن سے حقیقی روبوٹ پر تعیناتی

لیکن آپ وہی 4-تہہ پیش رفت کا اطلاق کریں گے: تصوراتی بنیاد → عملی تعاون → دوبارہ قابل استعمال پیٹرن → تفصیلات-محور انضمام۔

نیویگیشن

پچھلا باب: ← باب 6: نظام بنانا

ماڈیول کا جائزہ: ← ماڈیول 1 پر واپس جائیں

سبق 7.1 شروع کریں: کیپ اسٹون تفصیلات →


کیپ اسٹون غور کے سوالات (Reflection Prompts)

جیسے ہی آپ کیپ اسٹون پر کام کرتے ہیں، ان سوالات پر غور کریں:

  1. تفصیلات پہلے: کیا کوڈ لکھنے سے پہلے تفصیلات لکھنے میں مدد ملی؟ کیسے؟
  2. مرکب: باب 4-6 کی کون سی مہارتیں سب سے زیادہ کارآمد تھیں؟ کیا آپ نے انہیں جیسا توقع تھی ویسا استعمال کیا؟
  3. ڈیبگنگ: انضمام کے دوران کیا غلط ہوا؟ آپ نے اسے کیسے ٹھیک کیا؟
  4. ڈیزائن کے تبادلے: آپ نے مختلف مواصلات کے لیے ٹاپکس بمقابلہ سروسز کا انتخاب کیوں کیا؟
  5. نظام کی سوچ: آپ نے باب 4 کے مقابلے میں ڈیزائن کے بارے میں مختلف انداز میں کیسے سوچا؟
  6. آگے کیا ہے: آپ اس نظام کو کیسے بڑھائیں گے؟ ماڈیول 2 کیا شامل کرے گا؟

ان سوالات کے آپ کے جواب ظاہر کرتے ہیں کہ آپ نے کتنی گہرائی سے سیکھا ہے۔


کیپ اسٹون تک پہنچنے پر مبارکباد۔ آپ نے بہت طویل سفر طے کیا ہے۔

صرف 5 ہفتوں میں ROS 2 کیا ہے یہ جانے بغیر (باب 3) سے مکمل نظام بنانے (باب 7) تک۔

اب کچھ شاندار بنائیں۔