سبق 12.4: ros_gz مہارتیں بنانا (Creating ros_gz Skills)
اسباق سے دوبارہ استعمال کے قابل ذہانت تک
اسباق 12.1-12.3 کے دوران، آپ نے ایک مخصوص ورک فلو میں مہارت حاصل کی:
- سبق 12.1: ROS 2 سے Gazebo تک برج (bridge) کو ترتیب دینا
- سبق 12.2: لانچ فائل سے روبوٹ کو اسپان (spawn) کرنا
- سبق 12.3: سینسر فیڈ بیک کے ساتھ کنٹرول لوپ کو نافذ کرنا
لیکن آپ نے یہ صرف ایک بار کیا۔ جب آپ اپنا اگلا روبوٹ بنائیں گے تو کیا ہوگا؟ کیا آپ وہی تمام اقدامات دہرائیں گے؟ یا آپ کے پاس دوبارہ استعمال کے قابل نمونے (reusable patterns) ہوں گے؟
یہ تہہ 3: ذہانت کا ڈیزائن (Intelligence Design) ہے۔ آپ عملی علم (جو آپ نے کر کے سیکھا) کو واضح علم (مستقبل کے منصوبوں کی رہنمائی کرنے والی مہارتیں) میں تبدیل کرتے ہیں۔
ایک مہارت (skill) صرف کوڈ سے کہیں زیادہ ہے۔ یہ اس بارے میں دستاویز شدہ دلیل ہے:
- اس نمونے کو کب لاگو کرنا ہے (یہ کن مسائل کو حل کرتا ہے؟)
- فیصلے کیسے کرنے ہیں (اہم انتخاب کے نکات کیا ہیں؟)
- بعض انتخاب کیوں اہم ہیں (تبادلے (tradeoffs) کیا ہیں؟)
ایک اچھی مہارت کیا بناتی ہے؟
تین نمونوں کا موازنہ کریں:
❌ کوڈ کا ٹکڑا (دوبارہ قابل استعمال نہیں)
# ایک مخصوص روبوٹ کے لیے ہارڈ کوڈ کیا گیا
publisher = self.create_publisher(Twist, '/cmd_vel', 10)
msg = Twist()
msg.linear.x = 0.5
self.publisher.publish(msg)
❌ دستاویزات (عام)
کنٹرول لوپ کو نافذ کرنے کے لیے:
1. رفتار کے احکامات کے لیے پبلشر بنائیں
2. سینسر ڈیٹا کو سبسکرائب کریں
3. باقاعدہ وقفے پر احکامات شائع کریں
✅ مہارت (دلیل سے فعال)
PERSONA: ایک روبوٹکس انجینئر کی طرح سوچیں جو ایک کنٹرول سسٹم ڈیزائن کر رہا ہے
جسے مختلف روبوٹس اور مختلف سینسر کنفیگریشنز کے لیے کام کرنا چاہیے۔
QUESTIONS:
- کنٹرول فریکوئنسی کیا ہے؟ (سست روبوٹس کے لیے 10Hz، پھرتیلے کے لیے 50Hz)
- کون سے سینسر فیصلوں کو چلاتے ہیں؟ (LIDAR، کیمرا، IMU—وہ کیسے متصادم ہوتے ہیں؟)
- کیا حفاظتی حدود (safety constraints) موجود ہیں؟ (زیادہ سے زیادہ رفتار، ایمرجنسی اسٹاپ کی شرائط)
- حقیقی روبوٹ کے بغیر جانچ کیسے کریں؟ (سِمولیشن کی درستگی (fidelity) اہم ہے)
PRINCIPLES:
1. علیحدگی (Decoupling): سینسر ریڈنگ، فیصلہ سازی کی منطق، اور موٹر کے احکامات الگ الگ ہیں
2. فریکوئنسی کی ہم آہنگی (Frequency Alignment): تمام حصے ایک ہی فریکوئنسی پر چلتے ہیں
3. حفاظت پہلے: سٹاپ پر ڈیفالٹ کریں، غلطیوں پر فیل-سیف
4. سِمولیشن کی درستگی: پہلے Gazebo میں، پھر حقیقی ہارڈ ویئر پر جانچ کریں
مہارت بہتر کیوں ہے:
- Persona صحیح ذہنی موقف کو فعال کرتا ہے
- Questions آپ کو اپنے مخصوص سیاق و سباق پر غور کرنے پر مجبور کرتے ہیں
- Principles مختلف روبوٹس پر فیصلوں کی رہنمائی کرتے ہیں
ایک اچھی مہارت آپ کے دوسرے روبوٹ کے لیے بغیر کسی تبدیلی کے کام کرتی ہے۔
مہارت کی ساخت: Persona + Questions + Principles
ایک دوبارہ قابل استعمال مہارت کی یہ ساخت ہوتی ہے:
1. مہارت کا نام اور مقصد
Skill: ros2-gazebo-bridge
Purpose: کسی بھی روبوٹ کی قسم اور سینسر کنفیگریشن کے لیے ROS 2 اور Gazebo کے درمیان ٹاپک کے ترجمے کو ترتیب دینا
When to use: جب بھی ROS 2 نوڈز کو Gazebo سِمولیشن سے جوڑنا ہو۔
2. پرسنہ (ذہنی موقف)
PERSONA: ایک سسٹمز انٹیگریٹر کی طرح سوچیں جو پرانے مڈل ویئر (ROS 2) کو
جدید فزکس سِمولیشن (Gazebo) سے جوڑ رہا ہے۔ آپ کا مقصد
رکاوٹوں کو کم کرنا اور دوبارہ استعمال کو زیادہ سے زیادہ کرنا ہے۔
پرسونا جواب دیتا ہے: اچھے فیصلے کرنے میں کون سا ذہنیت مددگار ہے؟
یہ نہیں: "آپ ایک ماہر ہیں" (بہت مبہم)
بلکہ: "کراس-روبوٹ دوبارہ استعمال کے لیے بہتر بنانے والے سسٹمز انٹیگریٹر کی طرح سوچیں"
3. سوالات (انتخابی نکات)
ANALYSIS QUESTIONS:
1. سینسر میپنگ
- سِمولیشن میں کون سے سینسر موجود ہیں؟ (کیمرا، LIDAR، IMU، رابطہ)
- ڈاؤن اسٹریم نوڈز کن ROS ٹاپک کے ناموں کی توقع رکھیں گے؟
- میسج ٹائپ کی میپنگ کیا ہے؟ (geometry_msgs → gz.msgs)
2. کمانڈ فلو
- رفتار کے احکامات کہاں سے شروع ہوتے ہیں؟ (teleop، خودمختاری نوڈ، ٹیسٹ اسکرپٹ)
- پبلشرز کس میسج ٹائپ کو بھیجتے ہیں؟ (Twist, Quaternion, Float64)
- Gazebo کس چیز کی توقع رکھتا ہے؟ (میچنگ Gazebo میسج ٹائپ)
3. فریکوئنسی اور ٹائمنگ
- احکامات کو کس فریکوئنسی پر اپ ڈیٹ ہونا چاہیے؟ (کم از کم 10Hz، عام طور پر 50Hz)
- کیا سینسر کی شرحیں کمانڈ کی شرحوں کے ساتھ مطابقت پذیر ہیں؟
- کیا آپ کو غیر مطابقت پذیر ٹاپکس کے لیے بفرنگ کی ضرورت ہے؟
4. ڈیبگنگ اور نگرانی
- برج کے کام کرنے کی تصدیق آپ کیسے کرتے ہیں؟ (ٹاپک ایکو، پلاٹ)
- اگر برج کریش ہو جائے تو کیا ہوتا ہے؟ (روبوٹ فوری طور پر رک جاتا ہے)
- آپ میسج ڈراپس یا تاخیر کی نگرانی کیسے کرتے ہیں؟
5. جانچ کی حکمت عملی
- کیا آپ خالص سِمولیشن میں پہلے جانچ کر سکتے ہیں؟
- کم سے کم ٹیسٹ کیا ہے: ایک روبوٹ، ایک سینسر؟
- ایک سے پانچ روبوٹس تک آپ کیسے پیمانہ کرتے ہیں؟
سوالات جواب دیتے ہیں: کون سے فیصلے کامیابی کا تعین کرتے ہیں؟
4. اصول (فیصلہ سازی کے فریم ورک)
PRINCIPLES:
1. YAML بمقابلہ کمانڈ لائن
تمام برجوں کو ایک ہی YAML ترتیب میں محفوظ کریں، ٹرمینلز میں بکھرے ہوئے نہیں۔
منطق (Rationale): تولیدی صلاحیت (Reproducibility)، ورژن کنٹرول، ٹیم ہینڈ آف میں آسانی۔
2. میسج ٹائپ کی ہم آہنگی (Symmetry)
دو طرفہ برجوں کے لیے، یقینی بنائیں کہ ROS اور Gazebo ٹائپس برابر ہوں۔
منطق: ٹائپ کے بے میل ہونے سے خاموش ڈیٹا کرپشن کو روکتا ہے۔
3. فریکوئنسی کی ہم آہنگی
تمام سینسر اور احکامات ایک ہی فریکوئنسی پر چلتے ہیں۔ کوئی سینسر 10Hz پر اور
احکامات 50Hz پر نہیں۔
منطق: فریکوئنسی کی حدود پر ہم آہنگی کے مسائل پیدا ہوتے ہیں۔
4. واضح فال بیک (Explicit Fallback)
دستاویز کریں کہ برج کی ناکامی پر کیا ہوتا ہے (کیا روبوٹ رک جاتا ہے؟ کیا یہ بہک جاتا ہے؟)۔
منطق: حفاظت کے لیے اہم سسٹمز کو قابل پیش گوئی ناکامی کے طریقوں کی ضرورت ہوتی ہے۔
5. سچ کا واحد ذریعہ (Single Source of Truth)
میسج ٹائپس کو .yaml میں ایک بار بیان کریں، نام سے حوالہ دیں، کبھی ہارڈ کوڈ نہ کریں۔
منطق: سینسر کنفیگریشنز کو تبدیل کرتے وقت کیڑے (bugs) کم کرتا ہے۔
اصول جواب دیتے ہیں: کون سی رہنما خطوط عام غلطیوں کو روکتے ہیں؟
مہارت: ros2-gazebo-bridge (مکمل مثال)
یہ ایک پروڈکشن-گریڈ مہارت ہے جسے آپ اپنا سکتے ہیں:
ros2-gazebo-bridge
مقصد: کسی بھی روبوٹ اور سینسر سوٹ کے لیے ROS 2 سے Gazebo ٹاپک برج کو ترتیب دینا۔
استعمال کب کریں: جب بھی ROS 2 ایپلیکیشن کو Gazebo سِمولیشن کے ساتھ بات چیت کرنے کی ضرورت ہو۔
پرسونا: ایک سِمولیشن ماہر کی طرح سوچیں جو ROS 2 معانی (semantics) کو گہرائی سے جانتا ہے اور Gazebo کے میسج ماڈل کو بھی اسی طرح جانتا ہے۔ آپ کا مقصد: ان کے درمیان بغیر کسی سمانتک نقصان کے ترجمہ کرنا۔
تجزیہ کے سوالات (Analysis Questions):
-
آپ کی سِمولیشن میں کون سے سینسر ہیں؟
- ہر سینسر ایک Gazebo اندرونی ٹاپک پر شائع ہوتا ہے
- آپ کو اس ڈیٹا کو ROS 2 تک پہنچانا ہوگا (GZ_TO_ROS سمت)
- ہر سینسر کو اس کے متعلقہ ROS میسج ٹائپ پر میپ کریں
-
آپ کا روبوٹ کن احکامات کو قبول کرتا ہے؟
- رفتار کے احکامات؟ (Twist)
- جوائنٹ پوزیشن کے احکامات؟ (JointState)
- گرپر کے احکامات؟ (کچھ کسٹم؟)
- ہر کمانڈ ٹائپ کا ایک مخصوص ROS میسج ہوتا ہے
-
میسج ٹائپ کی میپنگ کیا ہے؟
- ہمیشہ: ROS پیکیج/msg/Type ↔ gz.msgs.Type
- مثالیں:
- geometry_msgs/msg/Twist ↔ gz.msgs.Twist
- sensor_msgs/msg/Image ↔ gz.msgs.Image
- sensor_msgs/msg/LaserScan ↔ gz.msgs.LaserScan
-
سمت کیا ہے؟
- GZ_TO_ROS: Gazebo شائع کرتا ہے، ROS 2 استعمال کرتا ہے (سینسر)
- ROS_TO_GZ: ROS 2 شائع کرتا ہے، Gazebo استعمال کرتا ہے (احکامات)
- BIDIRECTIONAL: دونوں سمتیں (نادِر، بنیادی طور پر مطابقت پذیر حالت کے لیے)
-
آپ کی جانچ کی حکمت عملی کیا ہے؟
- ایک سینسر → متعدد سینسر → متعدد روبوٹس؟
- ہر برج کو ان کے مجموعے سے پہلے آزادانہ طور پر جانچیں؟
- آپ کیسے تصدیق کرتے ہیں کہ میسجز بہہ رہے ہیں؟
اصول (Principles):
-
YAML مرکزی کاری: ایک YAML فائل تمام برجوں کی فہرست بناتی ہے۔ کوئی بکھرے ہوئے کمانڈ لائنز نہیں۔
-
ٹائپ کی حفاظت: اگر کوئی برج غلط میسج ٹائپس استعمال کرتا ہے، تو یہ خاموشی سے ناکام ہو جاتا ہے۔ ہمیشہ
ros2 interface showکے ساتھ ٹائپس کی تصدیق کریں۔ -
فریکوئنسی کی تصدیق: ٹاپک کی فریکوئنسی آپ کے کنٹرول لوپ سے ملنی چاہیے۔ LIDAR 10Hz پر + احکامات 50Hz پر = تاخیر کے مسائل۔
-
پہلے ڈیبگنگ: پیچیدہ منظرناموں تک پیمانہ کرنے سے پہلے، سادہ کیس (ایک سینسر، ایک کمانڈ) کے آخر سے آخر تک کام کرنے کی تصدیق کریں۔
-
فیل-سیف: اگر برج کریش ہو جاتا ہے، تو روبوٹ محفوظ حالت میں ڈیفالٹ ہو جاتا ہے (صفر رفتار، جاری حرکت نہیں)۔
اپنی مہارت بنانا
سبق 12.1-12.3 میں آپ نے جو نمونہ دریافت کیا ہے، اسے چنیں۔ ایک ایسی مہارت بنائیں جسے مستقبل کے منصوبے دوبارہ استعمال کر سکیں۔
مرحلہ 1: نمونہ کی شناخت کریں
سبق 12.1-12.3 سے، کیا چیز بار بار سامنے آئی؟
مثالیں:
- "ہر بار جب میں نے ایک روبوٹ کو اسپان کیا، میں نے لانچ فائل کے اس نمونے کی پیروی کی"
- "ہر رکاوٹ سے بچنے والے نوڈ میں یہ تین اجزاء تھے: LIDAR ریڈر، فیصلہ سازی کی منطق، رفتار پبلشر"
- "برج کو ڈیبگ کرنا ہمیشہ ایک ہی چیک لسٹ پر عمل کرتا تھا"
مرحلہ 2: مہارت کا نام رکھیں
نمونے کی وضاحت کرنے والا نام منتخب کریں:
ros2-gazebo-bridge(یہ کیا کرتا ہے)robot-spawning-launch(یہ کیا فعال کرتا ہے)closed-loop-obstacle-avoidance(مخصوص رویہ)sensor-fusion-decision-logic(تکنیکی نمونہ)
مرحلہ 3: پرسنہ دستاویز کریں
ایک پیراگراف لکھیں جو اس ذہنی موقف کی وضاحت کرے جس کی کسی کو اس مہارت کو اچھی طرح سے لاگو کرنے کے لیے ضرورت ہے:
PERSONA: ایک خودمختاری انجینئر کی طرح سوچیں جو کنٹرول سسٹم بنا رہا ہے
جسے ہارڈ ویئر کے مختلف تغیرات پر کام کرنا چاہیے۔ آپ کا مقصد سینسر ان پٹ،
فیصلہ سازی کی منطق، اور موٹر کے احکامات کو الگ کرنا ہے تاکہ ہر ایک کا آزادانہ طور پر
جائزہ لیا جا سکے اور متبادل کے لیے تبدیل کیا جا سکے۔
مرحلہ 4: تجزیہ کے سوالات لکھیں
اس مہارت کو لاگو کرتے وقت کسی کو کن فیصلوں کی ضرورت ہوتی ہے؟
ایسے 4-5 سوال درج کریں جو سیاق و سباق کے لحاظ سے سوچنے پر مجبور کریں:
1. کون سے سینسر دستیاب ہیں؟ (جو فیصلہ سازی کے ان پٹ کا تعین کرتے ہیں)
2. کنٹرول فریکوئنسی کیا ہے؟ (جو نظام کی جوابدہی کا تعین کرتی ہے)
3. ناکامی کا انداز کیا ہے؟ (رکنا، بہکنا، دوبارہ کوشش کرنا)
4. آپ تدریجی طور پر جانچ کیسے کرتے ہیں؟ (ایک سینسر → تمام سینسر → متعدد روبوٹس)
مرحلہ 5: اصول بیان کریں
کون سی رہنما خطوط عام غلطیوں کو روکتے ہیں؟
مختصر منطق کے ساتھ 3-5 اصول درج کریں:
1. سینسر-فیصلہ-موٹر علیحدگی: ریڈنگ، کمپیوٹنگ، اور پبلشنگ کو الگ الگ طریقوں میں رکھیں۔
منطق: ہر جزو کا آزادانہ طور پر جائزہ لینا اور ڈیبگ کرنا آسان ہے۔
2. فیل-سیف ڈیفالٹس: اگر کوئی سینسر دستیاب نہ ہو تو، محفوظ حالت پر ڈیفالٹ کریں
(عام طور پر: چلنا بند کر دیں)۔
منطق: "بہترین اندازے" والے رویے سے بچنا جو غلط ہو سکتا ہے۔
کراس-پروجیکٹ دوبارہ استعمال (Cross-Project Reusability)
ایک مہارت دوبارہ قابل استعمال ہوتی ہے جب وہ کم سے کم موافقت کے ساتھ آپ کے اگلے منصوبے کے لیے کام کرتی ہے۔
ایک ہی روبوٹ، مختلف دنیا:
- مہارت: ros2-gazebo-bridge
- تبدیلی: مختلف YAML ترتیب (مختلف دنیا، مختلف سینسر پوزیشنیں)
- دوبارہ استعمال: 100% (ایک ہی کوڈ، مختلف پیرامیٹرز)
مختلف روبوٹ، ایک ہی کام:
- مہارت: closed-loop-obstacle-avoidance
- تبدیلی: روبوٹ کے مخصوص حد (thresholds) (0.5m بمقابلہ 0.3m رکاوٹ کا فاصلہ)
- دوبارہ استعمال: 95% (ایک ہی منطق، ٹیون شدہ پیرامیٹرز)
مختلف کام، ایک ہی نمونہ:
- مہارت: decision-logic-template
- تبدیلی: مختلف اصول (رکاوٹ سے بچنا → ہدف کی تلاش → راستے پر عمل کرنا)
- دوبارہ استعمال: 90% (ایک ہی ڈھانچہ، مختلف اصول)
پلیٹ فارم سطح کی مہارتیں: کچھ نمونے اتنے عام ہیں کہ وہ تمام روبوٹکس کتابوں پر لاگو ہوتے ہیں:
ros2-middleware-concepts(میسجنگ، نوڈز، ٹاپکس)simulation-first-verification(ہارڈ ویئر سے پہلے سِمولیشن میں جانچ)sensor-fusion-architecture(متعدد ان پٹس کو یکجا کرنا)
یہ مشترکہ پلیٹ فارم کی مہارتیں بن جاتی ہیں جو کتابوں میں قدر میں اضافہ کرتی ہیں۔
اپنی پہلی مہارت بنانا
سبق 12.1-12.3 میں آپ نے جو نمونے سیکھے ہیں، ان میں سے ایک کا انتخاب کریں۔ ایک ایسی مہارت بنائیں جسے مستقبل کے منصوبے دوبارہ استعمال کر سکیں۔
مرحلہ 1: ایک نمونہ منتخب کریں سبق 12.1-12.3 سے ایک چنیں جو اہم لگا ہو:
- برج کی ترتیب (12.1)
- روبوٹ اسپاننگ (12.2)
- کنٹرول لوپ ڈیزائن (12.3)
مرحلہ 2: اسے نام دیں
Skill name: [کچھ-وضاحتی]
Purpose: [ایک جملے میں یہ کیا فعال کرتا ہے]
When to use: [یہ کن مسائل کو حل کرتا ہے؟]
مرحلہ 3: پرسنہ لکھیں
PERSONA: ایک [کردار] کی طرح سوچیں جو [مقصد] رکھتا ہے۔
آپ کو [کیا اہم ہے] کی فکر ہے۔
مرحلہ 4: 4 سوالات لکھیں
ANALYSIS QUESTIONS:
1. [آپ کی مہارت کے لیے مخصوص فیصلہ کا نکتہ]
- ذیلی سوال
- ذیلی سوال
2. [فیصلہ کا نکتہ 2]
- ذیلی سوال
مرحلہ 5: اصول لکھیں
کون سی رہنما خطوط عام غلطیوں کو روکتے ہیں؟
1. [رہنما خطوط مع منطق]
2. [رہنما خطوط مع منطق]
3. [رہنما خطوط مع منطق]
مثال کی تکمیل:
Skill: closed-loop-obstacle-avoidance
Purpose: کسی بھی روبوٹ کو LIDAR فیڈ بیک کا استعمال کرتے ہوئے محفوظ طریقے سے رکاوٹوں کا پتہ لگانے اور ان سے بچنے کے قابل بنانا۔
When to use: خودمختار نیویگیشن سسٹم بنانا جنہیں جامد رکاوٹوں سے ٹکرانے سے بچنا چاہیے۔
PERSONA: ایک حفاظتی انجینئر کی طرح سوچیں جو جانتا ہے کہ راستے میں رکاوٹیں زیادہ اہم ہیں بجائے اس کے کہ زیادہ سے زیادہ رفتار تک پہنچنا۔ آپ کا مقصد ایسا رویہ بنانا ہے جو کارکردگی پر ٹکرانے سے بچنے کو ترجیح دے۔
ANALYSIS QUESTIONS:
1. حفاظتی حدیں (Safety Thresholds)
- آپ کس فاصلے پر وارننگ دیتے ہیں؟ (مثلاً 1.0m)
- آپ کس فاصلے پر رکتے ہیں؟ (مثلاً 0.5m)
- یہ فاصلے علاقے (terrain) سے کیسے متاثر ہوتے ہیں؟
2. رکاوٹ پر رویہ
- وہیں رک جائیں؟
- پیچھے ہٹیں اور مڑیں؟
- سائیڈ وے سلائیڈ کریں؟
- ہر ایک کی روبوٹ کی قسم کے لیے مختلف اثرات ہوتے ہیں۔
3. جانچ اور توثیق (Testing and Validation)
- آپ حدوں کی حفاظت کی تصدیق کیسے کرتے ہیں؟
- اگر LIDAR ناکام ہو جائے تو کیا ہوگا؟ (فال بیک رویہ)
- آپ جسمانی روبوٹ پر محفوظ طریقے سے جانچ کیسے کرتے ہیں؟
4. دوسرے رویوں کے ساتھ انضمام
- کیا رکاوٹ سے بچنا دوسرے اہداف کو منسوخ کرتا ہے؟
- کیا روبوٹ کو حکم دینے پر رکاوٹوں کو نظر انداز کرنے کی اجازت ہے؟
- متعدد مسابقتی رویوں کی درجہ بندی آپ کیسے کرتے ہیں؟
PRINCIPLES:
1. فیل-سیف ڈیفالٹس: اگر رکاوٹ کا فاصلہ غیر یقینی ہے، تو فرض کریں کہ رکاوٹ موجود ہے۔ غیر ضروری طور پر رکنا ٹکرانے سے بہتر ہے۔
2. واضح حدیں: کوڈ کے تبصروں میں منطق کے ساتھ تمام فاصلے اور رفتار کی حدود دستاویز کریں۔ جادوئی نمبر کیڑے (bugs) ہیں۔
3. سینسر فیوژن: مضبوط رویے کے لیے صرف LIDAR پر انحصار نہ کریں۔ دوسرے سینسرز (کیمرا، رابطہ) کو یکجا کریں۔
4. تدریجی جانچ: رکاوٹ سے بچنے کے رویے سے رکاوٹ کا پتہ لگانے کو الگ سے جانچیں۔ ہر حصے کے کام کرنے کی تصدیق کریں اس سے پہلے کہ انہیں یکجا کریں۔
AI کے ساتھ کوشش کریں
سیٹ اپ: ChatGPT یا Claude کھولیں اور اپنی مہارت کے ڈیزائن کو بہتر بنائیں۔
Prompt 1 (مہارت میں بہتری):
میں ROS 2-Gazebo برج کی ترتیب کے لیے ایک مہارت دستاویز کر رہا ہوں۔
یہ میرا پہلا مسودہ ہے:
PERSONA: [آپ کا پرسنہ]
QUESTIONS: [آپ کے سوالات]
PRINCIPLES: [آپ کے اصول]
مجھ سے کون سے سوالات چھوٹ رہے ہیں؟ کون سے اصول میرے مستقبل کے مجھے عام غلطیوں سے بچا سکتے ہیں؟
Prompt 2 (کراس-پروجیکٹ توثیق):
میں نے تفاضلی ڈرائیو روبوٹس کے لیے کام کرنے والی رکاوٹ سے بچنے کی مہارت دستاویز کی ہے۔ اسے مندرجہ ذیل کے لیے کام کرنے کے لیے مجھے کیا تبدیل کرنے کی ضرورت ہوگی:
- پاؤں کی جگہ بندی والے ہیومنوائڈ روبوٹس؟
- فضائی ڈرونز جنہیں اوپر/نیچے رکاوٹوں سے بچنے کی ضرورت ہے؟
- بڑے پھیلاؤ والے مینیپولیٹر بازو؟
دکھائیں کہ کیا ایک جیسا رہتا ہے اور کیا تبدیل ہوتا ہے۔
Prompt 3 (مہارت کا مجموعہ):
میرے پاس یہ تین مہارتیں ہیں:
1. ros2-gazebo-bridge (برج کی ترتیب)
2. robot-spawning (لانچ فائل کے نمونے)
3. closed-loop-control (فیصلہ سازی کی منطق)
میں انہیں "full-robot-simulation-workflow" جیسی اعلیٰ سطح کی مہارت میں کیسے یکجا کروں گا؟ اس اعلیٰ سطح کی مہارت کو کن نئے فیصلوں کو حل کرنے کی ضرورت ہوگی؟
متوقع نتائج:
- AI آپ کی مہارت سے غائب سوالات کی نشاندہی کرتا ہے
- AI مختلف روبوٹ اقسام میں مہارتوں کو اپنانے میں مدد کرتا ہے
- AI پیچیدہ بنانے کے لیے سادہ مہارتوں کو یکجا کرنے (skill composition) کی تجویز دیتا ہے
مہارتیں کیوں اہم ہیں
مہارتیں وہ طریقے ہیں جن سے انفرادی سیکھنے سے تنظیمی علم تک ذہانت بڑھتی ہے:
بغیر مہارتوں کے (طریقہ کار کا نقطہ نظر):
- پروجیکٹ 1: رکاوٹ سے بچاؤ بنائیں (20 گھنٹے)
- پروجیکٹ 2: دوبارہ رکاوٹ سے بچاؤ بنائیں (20 گھنٹے)
- پروجیکٹ 3: دوبارہ رکاوٹ سے بچاؤ بنائیں (20 گھنٹے)
- کل: 60 گھنٹے کا دہرایا گیا کام
مہارتوں کے ساتھ (ذہانت کا ڈیزائن):
- پروجیکٹ 1: رکاوٹ سے بچاؤ بنائیں + مہارت دستاویز کریں (25 گھنٹے)
- پروجیکٹ 2: مہارت استعمال کریں، نئے روبوٹ کے مطابق بنائیں (5 گھنٹے)
- پروجیکٹ 3: مہارت استعمال کریں، نئے سینسر کے مطابق بنائیں (3 گھنٹے)
- کل: 33 گھنٹے، اور مہارت مستقبل کے منصوبوں کے لیے بھی کام کرتی ہے
مہارتیں انفرادی سیکھنے اور تنظیمی علم کے درمیان پل ہیں۔
اگلے اقدامات
آپ نے ROS 2-Gazebo انضمام کے لیے تہہ 2 (AI تعاون) اور تہہ 3 (ذہانت کا ڈیزائن) مکمل کر لیا ہے۔ باب 13 ان مہارتوں کو ایک کیپ اسٹون پروجیکٹ میں منظم کرے گا۔
اس سبق سے کیا سامنے آیا: دوبارہ قابل استعمال ذہانت دوبارہ قابل استعمال کوڈ سے زیادہ قیمتی ہے۔ ایک اچھی طرح سے دستاویز شدہ مہارت مختلف سیاق و سباق میں فیصلہ سازی کے ذریعے آپ کی رہنمائی کرتی ہے۔ مہارتیں بڑھتی ہیں—ہر نئی مہارت اگلی مہارت کو بنانا آسان بناتی ہے۔
کلیدی تصورات کا چیک پوائنٹ
کیپ اسٹون پر جانے سے پہلے، تصدیق کریں کہ آپ سمجھتے ہیں:
- مہارت بمقابلہ کوڈ: مہارتیں صرف نفاذ نہیں، بلکہ دلیل کو دستاویز کرتی ہیں
- پرسونا: کس طرح ذہنی موقف فیصلہ سازی کو تشکیل دیتا ہے
- تجزیہ کے سوالات: سیاق و سباق کے لحاظ سے سوچنے پر مجبور کرنا
- اصول: فیصلہ سازی کے فریم ورک جو غلطیوں کو روکتے ہیں
- کراس-پروجیکٹ دوبارہ استعمال: مہارتیں مختلف روبوٹس پر کیسے پیمانہ کرتی ہیں
- مہارت کا مجموعہ: سادہ مہارتوں سے اعلیٰ سطح کی مہارتیں بنانا
اگر یہ واضح ہیں، تو آپ باب 13: کیپ اسٹون پروجیکٹ کے لیے تیار ہیں۔
ضمیمہ: مہارت کا ٹیمپلیٹ
اپنی مہارتوں کو دستاویز کرنے کے لیے اس ٹیمپلیٹ کا استعمال کریں:
# Skill: [نام]
**Purpose**: [ایک جملہ جو بیان کرتا ہے کہ یہ مہارت کیا فعال کرتی ہے]
**When to use**: [یہ مہارت کن مسائل کو حل کرتی ہے؟]
**When NOT to use**: [یہ کن مسائل کے لیے نہیں ہے؟]
---
## Persona
ایک [کردار] کی طرح سوچیں جو [ذہنی موقف بیان کرتا ہے]۔
آپ کا مقصد [بنیادی مقصد] ہے۔
آپ کو [سب سے زیادہ کیا اہم ہے] کی فکر ہے۔
---
## Analysis Questions
اس مہارت کو لاگو کرتے وقت کامیابی کا تعین کن فیصلوں سے ہوتا ہے؟
### Category 1: [فیصلہ کا علاقہ]
1. [سوال 1]
- [ذیلی سوال]
- [ذیلی سوال]
2. [سوال 2]
### Category 2: [فیصلہ کا علاقہ]
1. [سوال 1]
---
## Principles
کون سی رہنما خطوط عام غلطیوں کو روکتے ہیں؟
### Principle 1: [نام]
[اصول کا بیان]
**Rationale**: [یہ کیوں اہم ہے]
**Counterexample**: [اس کے بغیر کیا غلط ہوتا ہے]
---
## Cross-Project Reusability
یہ مہارت کیسے پیمانہ کرتی ہے؟
- **ایک ہی سیاق و سباق، مختلف تفصیلات**: [% دوبارہ استعمال]
- **مختلف سیاق و سباق، ایک ہی کام**: [% دوبارہ استعمال]
- **مختلف کام، ایک ہی نمونہ**: [% دوبارہ استعمال]
---
## Example Application
[دکھائیں کہ اس مہارت کو حقیقی منصوبے میں کیسے لاگو کیا جائے]
---
## Related Skills
[یہ کن دوسری مہارتوں کے ساتھ یکجا ہوتی ہے؟]
اس ٹیمپلیٹ کا استعمال کریں تاکہ کسی بھی نمونے کو دستاویز اور شیئر کیا جا سکے جسے آپ دستاویز کرنا چاہتے ہیں۔