ROS 2 کا تعارف
ROS 2 (Robot Operating System 2) روبوٹکس کے لیے ایک ماڈلر، عطیہ یافتہ مواصلاتی ڈھانچہ ہے جو م Distributed روبوٹ سافٹ ویئر ڈویلپ کرنے کے لیے استعمال ہوتا ہے۔ یہ ایک middleware ہے جو مختلف پروسیسز کے درمیان پیغامات کے تبادلے کو سنبھالتا ہے، چاہے وہ ایک ہی مشین پر ہوں یا متعدد متصل مشینوں/ڈیوائسز پر ہوں۔
سیکھنے کے مقاصد
اس ہفتے کے اختتام پر، آپ کو یہ کرنا آ جائے گا:
- ROS 2 اکوسسٹک اور اس کے استعمال کی تاریخ کو سمجھنا
- ROS 2 کے بنیادی تصورات کا جائزہ: نوڈس، ٹوپکس، سروسز، ایکشنز، اور پیرامیٹرز
- ROS 2 تنصیب اور ترتیب کا عمل
- ROS 2 کی اصطلاحات اور ذیلی نظام کا جائزہ
- ابتدائی ROS 2 سافٹ ویئر آرکیٹیکچر کا تصور
ROS 2 کیا ہے؟
ROS 2 ایک اوپن سورس، ماڈلر، عطیہ یافتہ مواصلاتی ڈھانچہ ہے جسے سافٹ ویئر ڈویلپرز کے لیے ڈیزائن کیا گیا ہے جو روبوٹس کے لیے ڈیویلپ کرتے ہیں۔ یہ middleware ہے جو مختلف پروسیسز کے درمیان پیغامات کے تبادلے کو سنبھالتا ہے، چاہے وہ ایک ہی مشین پر ہوں یا متعدد متصل مشینوں/ڈیوائسز پر ہوں۔
ROS 2 کے ذریعے، ڈویلپرز کو مواصلات کے مسائل کا خیال کیے بغیر، ایپلی کیشنز کو تیار کرنا ممکن ہے، جن کو hardware abstraction، device drivers، libraries، visualizers، message-passing، package management وغیرہ کی ضرورت ہوتی ہے۔
ROS 2 مقابل ROS 1
ROS 2، ROS 1 کے بعد ہے، جو 2007 میں وجود میں آیا۔ ROS 1 کو تیز کارکردگی، میزبان کی قابلیت، بہتر سیکیورٹی اور صنعتی استعمال کے مطابق بنایا گیا ہے۔ ROS 2 DDS (Data Distribution Service) پر مبنی ہے، جو ایک OMG (Object Management Group) سٹیک ہے جو سسٹمز کو ٹوکن کے ساتھ ایک دوسرے سے بات کرنے دیتا ہے، جو صنعتی، تجرباتی اور تجربہ کار ماحول کے لیے موزوں ہے۔
بنیادی تصورات
ROS 2 کا کام کرنا ایک قسم کے ماڈلر کے ساتھ ہوتا ہے جہاں سافٹ ویئر کے مختلف حصے (جسے "nodes" کہا جاتا ہے) ایک دوسرے کے ساتھ مواصلات کرتے ہیں۔ یہاں کچھ بنیادی تصورات ہیں:
- Nodes: ایک node سافٹ ویئر ماڈیو ہے جو ROS 2 graph کا حصہ ہے۔ یہ کچھ کمپیوٹیشنل کام کرتا ہے اور ROS 2 کے ذریعے مواصلات کر سکتا ہے۔
- Topics: topics nodes کے درمیان پیغامات کے بہاؤ کو ظاہر کرتے ہیں۔ ایک node کسی topic پر data publish کر سکتا ہے اور دوسرا node اس topic سے data subscribe کر سکتا ہے۔
- Services: کسی دوسرے node کے ساتھ مواصلات کا دو طرفہ عمل ہے جہاں ایک node درخواست بھیجتا ہے اور دوسرا node جواب دیتا ہے۔
- Actions: طویل المدت کے کاموں کے لیے استعمال ہوتے ہیں جہاں آپ کو درخواست بھیجنے، کام کی منزل، اور نتیجہ کی ضرورت ہوتی ہے۔
- Parameters: nodes کی تشکیل کے لیے استعمال ہوتے ہیں۔
ROS 2 تنصیب
ROS 2 Rolling Ridley کی تنصیب کے لیے، درج ذیل اقدامات کریں:
- آپ کا آپریٹنگ سسٹم اپ ٹو ڈیٹ کریں
- ROS 2 کی ذخیرہ گاہ شامل کریں
- ROS 2 میٹا پیکیج انسٹال کریں
- ROS 2 کو سیٹ اپ کرنے کے لیے ماحول متغیرات سیٹ کریں
ROS 2 تنصیب گائیڈ کے مطابق میں مزید تفصیلات دیکھ سکتے ہیں۔
ROS 2 ماحول کی ترتیب
ROS 2 کو استعمال کرنے کے لیے، آپ کو ایک ROS 2 workspace تشکیل دینے کی ضرورت ہے:
# ROS 2 ماحول متغیرات سیٹ کریں
source /opt/ros/rolling/setup.bash
# نیا workspace تشکیل دیں
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws
# colcon build استعمال کرکے workspace کو بنائیں
colcon build
# workspace کو ماحول میں شامل کریں
source install/setup.bash
خلاصہ
ROS 2، روبوٹکس ڈویلپمنٹ کے لیے ایک جامع ڈھانچہ فراہم کرتا ہے جو ماڈیولر اور قابل اعتماد سافٹ ویئر کی تعمیر کی اجازت دیتا ہے۔ اس کے بنیادی تصورات کو سمجھنا، مختلف nodes، topics، services، actions، اور parameters کے ساتھ کام کرنا، ROS 2 کے ساتھ کام کرنے کے لیے ضروری ہے۔
ROS 2 کے ذریعے، آپ جسمانی AI سسٹمز کی تعمیر کے لیے ضروری software infrastructure کی بنیاد رکھ سکتے ہیں۔