ماهو الروبوت وكيف يعمل ؟

الصورة الرمزية لـ عبد الله نجاوي
what is robot image geekgenes

عند ذكر الروبوت فالغالبية ستتخيل شكل قريب من الإنسان ,حيث له على الأقل رأس أكتاف وأيدي وربما أرجل وبعض الأحيان عجلات ,وهذا التصور طبعا نتيجة ما نراه في الأفلام والأنمي حيث يتم تصوير الروبوت بشكل إنسان وله قدرات محددة ,صحيح أن ما جاء في الأفلام كان مجرد خيال لكن الكثير من الخيال في الأفلام أصبح حقيقة في أيامنا هذه.

في الحقيقة لا يوجد تعريف أو شكل محدد للروبوت ,لكن يمكن التعرف بسهولة عليه فمثلا لو وجدت ألة تقوم بمهمة بشكل منتظم وقابل للبرمجة أو إعادة البرمجة فيمكنك إطلاق لقب روبوت على هذا الخليط من المكونات المجمعة.

من الصعب معرفة أين ظهر أول روبوت لكن المؤكد أن صناعة الروبوتات ازدهرت في فترة التورة الصناعية ,حيث كانت هناك حاجة ماسة للقيام ببعض المهام الصعبة والمعقدة ,وهذا ماكان ضروريا لتحقيق النمو وانفجار الصناعات ,فهناك بعض المهام التي يصعب على الإنسان القيام بها ,مثلا الصناعات الثقيلة والسلاح وغيرها من الصناعات التي تتطلب قوة وقدرة كبيرة على التحمل, هناك أيضا صناعات لا تتطلب قوة كبيرة مثل صناعة الملابس أو الدواء ,لكن في المقابل هذه المجالات تتطلب إنتاج كميات كبيرة وبسرعة ,وهذا ما لايستطيع العامل البشري القيام به ,لهذا يتم الإعتماد على الروبوت لقيام بهذه المهام السهلة والمملة أيضا لكن يقوم بها بدون توقف وبسرعة كبيرة ودقة أيضا.

ربما ستهتم بهذا الموضوع حول الذكاء الاصطناعي والإنسان

فالروبوت ببساطة يمكن أن يأخد أي شكل وليس بالضرورة أن يكون قريب من الإنسان ,ولو قمت بمقارنة عدد الروبوتات القريبة من شكل الإنسان والغير قريبة منه ,فستجد أن الروبوتات الغير شبيهة بالإنسان هي الكثيرة ,بل لا مجال للمقارنة أصلا.

Wall E robot

مكونات الروبوت

هناك مصطلح Robotics ركز جيدا فهناك فرق بين هذا المصطلح وبين Robot ,فمصطلح روبوتيكس يقصد به العلم المتعلق بصناعة الروبوت ,وهو مجموعة من العلوم والمعارف منها الفيزياء الرياضيات والحاسوب ,فكل هذه العلوم والمعارف تستخدم بدرجات مختلفة لصناعة الروبوت.

بصفة عامة فمكونات الروبوت هي كالتالي :

  • جسم الروبوت : وهو الجزء الذي يجمع جميع المكونات الأخرى
  • الأطراف : وهو الأداة التي تمكن الروبوت من الوصول لمختلف العناصر المادية في محيطه
  • حاسوب : وهي الوحدة المسؤولة عن التحكم في الروبوت
  • حساسات : تمكن الحساسات الروبوت من جمع أو التقاط مجموعة من العناصر الازمة لكي يقوم على أساسها بالقيام بالمهام
  • كاميرا : وهي تلعب إلى حد ما نفس الدور الذي تلعبه الحساسات ,وفي بعض الأحيان يتم الجمع بين الكاميرا والحساسات في نفس الروبوت
  • مصدر الطاقة : تختلف مصادر الطاقة ,فقط يتم توصيل الروبوت بالطاقة عن طريق الأسلاك أو امتلاك بطارية منفصلة أو حتى عن طريق الطاقة الشمسية.

إليك هذا السيناريو بحيث لدينا روبوت يملك حساس يقوم بقياس المسافات ,وأيضا يملك عجلات تمكنه من التحرك فوق أرضية مسطحة بالإضافة لبقية العناصر الأخرى ,لنفترض أننا سنطلب من هذا الروبوت التحرك في محيط ما بدون الإصطدام بالحائط .

لكي يقوم هذا الروبوت بعمله بشكل جيد يجب أن يستخدم الحساسات لقياس المسافة بينه وبين الحاطء أو أي يجسم ممكن أن يصطدم معه , بحيث تجعله يغير الإتجاه عند الإقتراب من أي جسم بمسافة محددة ,لنجعل هذه المسافة نصف متر مثلا.

سيقوم الأن الروبوت بالتحرك عن طريق تزويد المحركات بالطاقة , حساسات الروبوت قامت فعلا بكشف جميع الأجسام المحيطة ,هذا الحساس مرتبط بحاسوب مصغر يوجد في الروبوت ,هذا الحاسوب سيقوم بشكل مستمر بمراقبة المسافة بين الروبوت والأجسام المحيطة وعند الإقتراب من جسم ما لمسافة نصف متر ,سيقوم الحاسوب بإرسال أمر للمحرك بتغيير الإتجاه.

سنجد هنا أنه لدينا مدخلات “Inputs” ومخرجات “Outputs” ,المدخلات وهي المسافة التي يقوم الحساس بالتقاطها ,والمخرجات هي ردود الفعل التي يقوم بها الروبوت ,طبعا لا يمكن أن تكون هناك مخرجات بدون حاسوب يقوم بمعالجة المدخلات.

مفهوم المدخلات والمخرجات أو Inputs و Outputs هما مصطلحين أساسيين لبرمجة الروبوت.

تصميم, بناء وبرمجة الروبوت

إن قمت بعد الأشكال التي يمكن أن تصل لها أو توقعها لأشكال الروبوت ,بكل بساطة ستجد أن الأشكال لا متناهية فكل شكل يتغير حسب نوعية العمل الذي تريد القيام به وطبيعة مكان العمل ,فالروبوت يمكن استخدامه داخل ورشة أو في مزرعة ,وقد تستخدمه داخل منجم وربما في الفضاء أو السماء وحتى في أعماق البحار ,فالروبوتات تستخدم في كل مكان وأشكالها مختلفة لتناسب طبيعة العمل , لهذا يجب أولا تحديد طبيعة العمل وأيضا البيئة التي سيعمل بها هذا الروبوت .

فقد يحتاج لعجلات أو أقدام وربما عجلات مجنزرة للسير في أرضية صعبة ,ربما في مهام أخرى قد تحتاج لأجنحة مثلا تصميم روبوت للقيام بمهمات جمع المعلومات وهو أقرب ما يكون لطائرة بدون طيار والأشكال كثيرة ومتنوعة وتتغير حسب الحاجة ,لهذا تعتمد الشركات الكبيرة على برامج الحاسوب لتصميم ومحاكات الروبوتات ,ومنها أيضا يمكن اختيار بقية العناصر من مصادر الطاقة والمحرك وغيرها, وهذا طبعا قبل تصنيعها للحصول على أفضل النتائج الممكنة.

المراحل أكثر تعقيدا مما يتم ذكره هنا , فلكل تفصيل تفاصيل أخرى وهذه الصياغة هي فقط لتقريب وتسهيل المفاهيم.

بعدها تأتي مرحلة البرمجة , ولبرمجة الروبوتات هناك الكثير من لغات البرمجة من أشهرها لغات PBASIC و C/C++ و Java و أيضا Python , حيث تعتبر C/C++  و PBASIC من أشهرها لأنها بكل بساطة مدعومة من أغلب الشركات المصنة لل ميكروكنترولر أو “Microcontrollers” وهي قطع إلكترونية يمكن برمجتها .

Microcontrollers image

من هنا يمكن أن نفهم أنه ليس بالضرورة يمكن أن تختار اللغة التي تريد بل اللغة التي تدعمها الشركة المصنعة للميكروكنترولر.

دورات لتعلم تصميم وبرمجة الروبوت

في الأنترنت هناك الكثير من المصادر والدورات والمقالات لتعلم برمجة الروبوت و ال Microcontrollers تحديدا, من أشهر الميكروكنترولر الموجودة ستجد ال Arduino وهو عبارة عن حاسوب صغير يمكن برمجته من الحاسوب عن طريق بعض IDE حيث من باستخدامه يمكنك جعل الروبوت الخاص بك يتفاعل مع محيطه , نقاط القوة في الاردوينو كثيرة , منها أنه سهل التعامل معه مدعوم بشكل جيد ,ويسهل الحصول عليه كما أن ثمنه جد مناسب ,زد على كل هذا أن الدورات التي تشرح الاردوينو كثيرة وباللغة العربية.

من القنوات التي تقدم دورات في Arduino

تعتبر هذه القنوات من الأفضل عربيا حيث تقدم محتوى عالي الجودة ,بحيث يتم التطرق لجميع التفاصيل الخاصة ببناء الروبوتات عن طريق الاردوينو , بالتالي هذه القنوات العربية ستكون أفضل صديق لك في رحلة للتعلم.