عمل خريطة باماكن الالغام بمسابقة اكتشاف الالغام هو من احد التحديات البرمجية للمتسابقين وسنقوم بعض عدة افكار تساعد الفريق على عمل الخريطة وايضا امثلة لذلك وبالاجتهاد بعد ان تاخذ هذذه الامثله والافكار يمكنك ان تحول الروبوت اليدوى الى روبوت اوتوماتيك حيث يقوم بمسح المنطقه وارسال البيانات والتحكم  فيه من محطة الاستقبال والتحكم !!

يكون الحقل المراد مسحه فى المسابقة عبارة عن منطقة فى الصحراء مقسمة الى 19 مربع * 19 مربع وكل مربع 1*1 متر والمطلوب منك ان تقوم بمسح هذه المنطقة وتحديد المربعات الخطرة واللتى تحتوى على الغام وايضا تحديد نوع الللغم سواء ظاهر او مدفون !!
Minesweepers_1

المطلوب هو عمل خريطة باماكن الالغام كما بالصورة او خريطة مشابهه لها

fig1

 اول حاجة هنتكلم عن السينسور اللى ممكن تستخده وايه المقترحات !! يوجد العديد ولكن سنقوم بطرح ما اتذكره 

  •  Encoder
  • IMU – Inertial Measurement Unit
  • Digital Magnetic Compass
  • GPS  – Global Positioning System
  • Camera 
  • kinect camera
  • Ultrasonic
  • GPR – Ground-penetrating radar
  • Metal detector sensor 

ازاى تعمل الخريطة دى بطريقة بسيطة وسهلة بس مش هتكون دقيقة وهيكون فى اخطاء باستخدام الانكودر وسينسور اكتشاف المعادن واى سينسور لتحديد المسافة للتعرف ع نوع اللغم

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

  • Circumference = pi * Diameter
  • Distance traveled = Wheel rotations * circumference
  • Distance traveled = (Degrees turned / 360) * circumference
  • Distance traveled = (Encoder ticks / 360) * circumference
  • Encoder ticks = (360 / circumference) * Distance to travel

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

هذه الصورة اثناء اختبار اداء سينسور المعادن مع الالتراسونيك

BBBBBB

وهذه اثناء الجولة الاخيرة فى البرتغال 

compmap

تسبب هذه الطريقة بالعديد من الاخطاء والمشاكل ولتحسينها يمكنك استخدام مكتبات مثل 
Arduino PID

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

واقترح لمن يريد استخدام هذه الطريقة بتثبيت كاميرا واحدة تكشف الملعب كاملا وتثبيت 4 كرات بنفس الحجم على اطراف الملعب وتثبيت واحدة اخرى خامسة على الروبوت وبالمقارنة بين احجام الكرات والتى ستعطى دائرة من كل الاتجاهات فى حالة ثبوت مستوى المحور الافقى  وعدد البكسلات فى الصورة سيكون المجهول هو بعد الروبوت ومعلوم عدد البكسلات وحجم الكرات حيث ان البعد بين اى كرتين هو 19 متر ما عدا الكرة المثبتة على الروبوت 

وتتحقق المعادلة : البعد المعلوم (19 متر) * عدد البكسلات المعلوم (من معالجة الصورة) = البعد المجهول * عدد البكسلات المعلوم (من معالجة الصورة) بهذا يمكن حسااب المسافات ودى صورة توضيحية لملعب 5*5 والروبوت بالمتر الثالث فى العمود الثانى 

Pyramid vs Tetrahedron base configuration

يوجد عدة طرق اخرى يمكنكم الوصول اليها من خلال الانترنت .. 

ثالثا : باستخدام ادوات الملاحة مثل 
GPS & IMU and Digital Magnetic Compass

اولا نبدأ بال جى بى اس وله عيوب اكثر من مميزاته حيث ان نسبة الخطأ المتاحة للاستخدام المدنى تصل 50 اى 100 سم واحيانا الى 9 م وهذا لا يتناسب مع ظروف المسابقة 

ثانيا ال IMU or  Digital Magnetic Compass + encoder 
ساضع لكم طرق استخدامه مع اللاب فيو والماتلاب وهذا يمكنكم من صنع الخريطة ع نفس البرنامج اما الاردوينو ف يمكنكم كما فعلنا بالاعلى باستقبال البيانات عن طريق السيريال وصناعة الخريطة فقط على الكمبيوتر 

Arduino with Digital Magnetic Compass

IMU-9DOF Arduino read to Labview

x-IMU with matlab

تقدر تعدل ف الاكواد وتظبط بيها الخريطة بتاعتك بالشكل اللى انت عاوزه ولو غلبت خالص دور ازاى تقراهم وتطبع القراءة سيريال بلاردوينو واعمل زى اول طريقة فوق ..

رابعا ياستخدام نظام تشغيل الروبوتات ولغة بايثون او لغة بايثون وحدها لمن لا يريد التعقيد 

ROS – Robot Operating System

هو نظام مفتوح المصدر ويمكنك الاعتماد على العديد من المكتبات به ولقوته يمكنك عمل روبوت اوتوماتيكى بكل سهوله فى هذا اللينك طريقة عمل روبوت اوتوماتيكى وايضا بقليل من التعديلات يمكنك عمل الخريطة وليست الخريطة فقط بل عمل محاكاه ف الوقت نفسه 

 تمكنك لغة بايثون من التعامل مع النظام بسهولة كما يمكنك عمل الخرائط بها بعيدا عن النظام ولكن سيتطلب الامر منك كمبتدئ بعض الوقت 

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

اخيرا يمكنك الاستعانة بتقنيات 
3D vision or stereo vision or kinetic camera

ولغة بايثوون او لاب فيو او ماتلاب لصنع صورة ثلاثية الابعاد او حتى ثنائية لوكن ستكتسف كل الالغام الظاهرة وستكون النتيجة مشابهه لما فى الفيديوهات !!

ويمكن الحصول ع ملفات الطريقة الثانية من هنا   

اولا لعمل هذا السينسور سنقوم بتقسيم المقال الى ثلاثة اجزاء  

الجزء الاول وهو شراء المكونات وتصنيع الدائرة  ..

الجدول التالى به جميع المكونات المتستخدمة فى البوردة

ويمكنك تحميله من هنا

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

AA

الجزء الثانى وهو رفع الكود على معالج الاردوينو الدقيق 

بعد تصنيع الدائرة حان وقت برمجتها .. وهى خطوة بسيطة سنقوم بتحميل ملف ال Hex

كما فى هذه المقال تفصيلا ويمكنك الحصول على الملف من هنا

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


اذا كان هناك غموض او استفسار يمكنكم التواصل للمساعدة !!
ساقوم بوضع بعض المصادر التى اعتمدت عليها خلال سنتين وللحصول عليها يمكننى ارسالها فى صورة ملف html لكم : 

اولا : للاستفسار عن اى معلومة هناك شخصان لن يتاخرا بمساعدة اى شخص وهما م.محمد شاهين وم.محمد سامى 

http://krazatchu.ca/

http://www.easytreasure.co.uk/bfo.html
http://320volt.com/en/mikrodenetleyici-kontrollu-metal-dedektoru-projeleri/http://dzlsevilgeniuslair.blogspot.com/2013/07/diy-arduino-based-metal-detector.htmlhttps://dl.dropboxusercontent.com/u/2248531/blog/metal_detector/metal_detector.ino

https://www.youtube.com/watch?v=aSqmFWtoXYw

https://www.youtube.com/watch?v=es_h70Ky-tM

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

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

hhh

الان نحن امام عدة خيارت اما استخدام التصنيع الرقمى وتصنيع اللوحة عن طريق ماكينة صنع اللوحات
CNC Machines :

Laser Machines :

PCB Etching Machine

استخدام الطرق التقليدية التى يمكن تنفيذها بالمنزل وهى :
طريقة المكواة والطباعة على الاوراق 

اولا : نقوم بطباعة اللوحة على ورق كوشيه اخف ورق ممكن 90 جرام او اقل نستطيع الحصول عليه من المكتبات ويكون شبيه بورق المجلات لامع من الوجهين وهو من افضل الاوراق التى تستطيع ان تستخدمها

ملحوظة : برجاء الطباعة باستخدام طابعة ليزر وليست طابعات الاحبار ذات الاحبار السائلة 
ستكون النتيجة كما بالصورة :
DSCN1961

بعد ذلك سنقوم بتجهيز اللوحة النحاسية اولا نقوم بتنظيفها جيدا وقد اثبت سلك تنظيف المواعين جدارة بهذه النقطة 

بعد ذلك نقوم بظبط الورقة المطوعة على اللوحة النحاسية ثم نقوم بوضعها تحت المكواه من خمسة الى عشرة دقائق بالاستمرار بالحركة والضغط عليها الى ان نتاكد ان الحبر التصق بها تماما 

بعد ذلك سنقوم بوضعها فى ماء بصابون الى ان نتاكد ان الورق قد ذاب حينها سنقوم بنزع الورق وستبقى طبقة الحبر فقط 

بعد ان قمنا بنزع طبقة الورق وتنظيف الشوائب الورقية الملتصقة بالللوحة وقمنا بالتاكد من عدم وجود قطع او اى خطا وان وجد يمكن تصحيحه بالقلم الدوكو 

DSCN1976

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

DSCN1980

سوف يقوم الحمض كلوريد الحديدك التفاعل مع النحاس الغير مغطى بالحبر ويقشطه ويتكون راسب قليل فهذا يعطي شكلًا أفضل للدائرة ويعزل فيها المسارات التي يمر بها التيار

ملحوظة هامة جدَا: حمض كلوريد الحديديك ليس مادة كاوية ولكنه مادة سامة جدًا لذلك يجب أن يُحفظ بعيدًا عن متناول الأطفال كما أنه إذا إنسكب على أي مكان أو أي ملابس فان البقعة التي يتركها ليس لها حل

نقوم بتنظيف الحبر من على اللوحة باستخدام الاسيتون او الثنر واتنظيف اللوحة جيدا 

DSCN1987

وبهذا تكون قد امتلكت دائرة الكترونية مطبوعة تستطيع بعد ذلك تخريمها (هناك مثقاب صغير خاص بالدوائر المطبوعة تجده عند محلات بيع الإلكترونيات) ولحام المكونات الالكترونية عليها طبقًا للدائرة التي ترغب في تصنيعها

DSCN1981

DSCN2003

DSCN2012

DSCN2008

  • طريقة المواد الحساسة للضوء 
  •  هذه المرة يجب طباعة الدائرة الإلكترونية التي رسمتها على البرنامج على رقم بروجيكتور شفاف وسيتضح الضرورة فيما بعد
  •  نحضر علبة من مادة حساسة للضوء من أحد المحلات التي تهتم ببيع المكونات الإلكترونية ونقوم برش اللوح النحاسي الذي نريد بها بشكل جيد ومستقيم وفي اتجاه واحد
  • نترك المادة تجف على اللوح النحاسي لمدة لا تقل عن 12 ساعة في غرفة مظلمة تمامًا فكما قلنا أن المادة حساسة للضوء في الأصل
  •  بعد أن تجف المادة تمامًا نثبت الدائرة المطبوعة على الورق البروجيكتور على اللوح النحاسي بشكل جيد ولكن هذه المرة تحت ضوء فولريسنت مركز أو أحد اللمبات الموفرة المستخدمة في الأسواق هذه الأيام مدة لا تقل أيضًا عن 12 ساعة (من الأفضل أن نضع اللوح النحاسي تحت الضوء مباشرة عن طريق عمل كرتونة تتدلى منها اللمبة المستخدمة)
  • المادة المستخدمة حساسة للضوء مما يجعل المادة الغير مغطاه بحبر الطباعة تتفاعل معه وتكون مادة أخرى في حين لا يتأثر الجزء المغطى
  •  بعد المدة المحددة نرفع الدائرة عن اللوح النحاسي ونضعها في محلول هيدروكسيد الصوديوم (البوطاس كما تعرفه ربات البيوت) سيتفاعل مع المادة التي تتعرضت للضوء ولن يؤثر على التي كانت مغطاه من قبل مما يرفعها عن اللوح النحاسي
  •  نكرر عملية كشط النحاس كما في طريقة المكواه عن طريق وضعها في محلول كلوريد الحديديك
  •  بهذا تحصل على دائرة مطبوعة إلكترونية تستطيع بعدها أن تقوم بتخريمها ووضع المكونات الإلكترونية عليها

تم الاستعانة ب جوجل للحصول ع بعض الصور وايضا الطريقة الاخيرة منقولة من هنا .

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


اولا : بيتم الامر
باستخدام
win AVR و هو برنامج مجانى للتحكم فى الAVR ويمكنك الحصول عليه من هذا الرابط

ثانيا : بعد تنصيب
البرنامج
نقوم
بفتح
 command windowوذلك عن طريق windows key+R ثم كتابة cmd 


 

Start >> Command prompt او


1

ثالثا : ل فتح برنامج win AVR من خلال نافذة سطر الاوامر
اول شىء يظهر هو المسار العام  default pathويكون فى
شكل

\C:\Users\Eng Ahmed Sobhy>cd

للخروج من الملف نقوم بكتابة الامر cd\ حيث نقوم بالرجوع الى المسار المراد
الرجوع اليه
سيصبح المسار الحالى هو C:\>

2

ولمعرفة الملفات الموجودة فى المسار الحالى بنكتب dir

ولو كان عدد الملفات كبير بنستخدم امر  dir/p


دلوقتى سنفتح win avr الذى تم تنصيبه على الـ C باستخدام
امر
cd winavr-20100110 و نفتح ملف bin بنفس الامر او يمكننا فتح ملف bin من مرة واحدة

عن طريق الامر cd winavr-20100110/bin

رابعا: استخدام امر  avrdude

نقوم بفتح ملف  avrdude.exe
يمكننا كتابة avrdud.exe ثم enter فيفتح تلقائيا او يمكننا كتابة avrdude فقط ثم
بالضغط على
tab ننتقل
للملف المقابل فى الكلمة
 (.conf .exe)

2

الان قمنا بفتح avrdude ولدينا عدد من الاوامر

-p لتعريف جهاز الavr
-b لتحديد ال baudrate
-B لتحديد bitclock
-C لتحديد ملف الضبط
-c لتحديد نوع المبرمجة فى حالتنا نحن نستخدم  arduino ))
-D عدم السماح بالمسح الاوتوماتيكى لفلاش الذاكرة
-i التأخير فى ساعة ال  isp
-P رقم الport  الموصول بالاردوينو  يمكن معرفته من خلال device manager ))
-F اعدادت متقدمة فى الضبط
-e مسح البيانات من على الشريحة
-Oعمل معايرة للمذبذب oscillator
-U مجموعة من الاوامر تكتب فى ترتيب خاص لتحديد الملف المنسوخ من و الى الجهاز
-n عدم كتابة اى شىء على الشريحة
-v عد المطابقة
-u الغاء وضع الامان  Safe mode
-t اعدادات متقدمة فى الضبط

و هناك بقية اخرى ولكنها اعدادات متقدمة .. تلك الاوامر ستظهر لك عندم تفتح  avrdude

اهم امرين هما 

 حرق ملف ال hex على الارديونو 

استخراج ملف ال hex من على الاردوينو

 أولا لحرق الملف سنكتب امر و ليكن blink من ال  arduino examples

1
و احنا بندوس على verify حندوس على shift سيعطينا المسار الخاص بال hex file

فى المثال الملف موجود على  D:\Blink.cpp.hex
و الاردوينو موصل ب  com6
لحرق الملف حنكتب الامر التالى 
avrdude -c arduino -P com6 -p atmega328p –Uflash:w:d:\Blink.cpp.hex:i

سيظهر مؤشر خطى سيكتمل فى ثانية او ثانيتين .. ثم يعطينا رسالة بنجاح
العملية
 

و الled  ستضئ و تطفىء كما فى مثال
ال
blink

ثانيا استخراج ملف ال hex من على الاردوينو

سنتأكد من رقم ال port

وسنختار اسم الملف و ليكن  sketch

و سنختار المسار الى حيحفظ فيه الملف وليكن  d:\

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

avrdude -c arduino -P com6 -p atmega328p –Uflash:r:d:\sketch.hex:i

سيظهر مؤشر خطى سيكتمل فى ثانية او ثانيتين .. ثم يعطينا رسالة بنجاح
العملية
 

و سيصبح لدينا ملف جديد بالاسم الذى اخترناه و هو ملف ال hex و يمكننا
حرقه على اردوينو اخر

ملحوظة بين الامرين اختلاف بسيط فىUflash و هما
حرف ال
r و ال  w

r= read w=write 

المصادر :

هذى المقالة كتبها محمد شاهين وقمت بالاستعانة بها لضرورتها فى المقال القادم

https://www.facebook.com/neo.novel

http://forum.arduino.cc/index.php?topic=123805.0

https://www.youtube.com/watch?v=LJ6MKTyo6Tg

كيفية عمل روبوت

Posted: June 17, 2015 in Uncategorized

كيفية عمل روبوت ..

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

أولا نبدأ بالجزء الميكانيكى

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

بعدما تقوم بهذه الخطوة عليك أنت تقوم بتحويل نموذجك إلى نموذج ثلاثى الأبعاد وذلك باستخدام أحد برامج ال cad
مثل ال solid works
Inventor
واذا كنت غير محترف يمكن استخدام برنامج
google sketchup

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

اوحتى يمكنك استخدام الطابعة ثلاثية الابعاد :]
وفى النهاية يكون الروبوت قد تم تصنيعه بالطرق الصحيحة واللتى تتجنب فيها الاخطاء

كذلك يمكن محاكاة حركة الروبوت وايضا يمكنك محاكاة الروبوت باستخدام اللاب فيو والنموذج اللذى رسمته على السوليد وركس وهذى هى الطريقة لحين شرحها تفصيلا
وبم اننا بصدد مسابقة اكتشاف الالغام ف البعض سيقوم بعمل اشكال مختلفه من الروبوتات وسنكون ف الحاجة لعمل
chain robot
وهذه ابسط الطرق لعمل ذلك دون الوقوع فى المشاكل المتعدد لهذه الطريقة
اولا عليك ان تقوم بحسابات التروس وفى الموقع التالى يمكنك انت تجد معظم التروس وطرق حسابها
هنا الموقع
ثانيا عليك بتحويلها لرسمة ثلاثية الابعاد ومحاكاة الحركة للتاكد من صحة الحسابات وايضضا من دقة الحركة وسلاستها
اخيرا يمكنك ايضا تصنيعها اما بماكينات التصنيع الرقمى او باستخدام الطابعة ثلاثية الابعاد

وبم اننا تكلمنا على الجزء الميكانيكى فسوف ارفق لكم تصميمى لمسابقة اكتشاف الالغام لعام 2014 وهذه كانت تجربه شيقة تجمع ما بين الطريقتين الطريقة الهندسية وطريقة الصنايعية وقد تعلمت منها الكثير .. وعليكم ان تاخذو تصميمى من باب الاسترشاد وليس كمصدر اساسى حتى لا تقتلو الابداع بداخلكم فيمكنكم عمل اعظم منه بمراحل :]
هنا التصميم

تم اقتباس الصور لتسهيل الشرح من هنا

خلق الإنسان من خمس مكونات رئيسية هي:

الهيكل الجسدي

النظام العضلي لتحريك الهيكل

النظام الحسي المتلقي للمعلومات عن الجسد وما يحيط به

مصدر طاقة لتنشيط العضلات والأنظمة الحسية

النظام العقلي المشغل للعضلات عن طريق جمع المعلومات من الأنظمة الحسية

صنع الروبوت من مكونات تشبه المكونات التي صنع منها الإنسان، فله هيكل جسدي متحرك، محرك، نظام استشعاري، مصدر للطاقة، ونظام حاسوبي “عقل” يتحكم في كل هذه المكونات، لكن الروبوتات في الأساس هي من صنع الإنسان، آلات تقوم بعمل ما يقوم به الإنسان والحيوان أيضًا.

Embed from Getty Images

 أنا لا أستطيع أن أضع تعريفًا للروبوت، لكن أعرفه بمجرد رؤيته ” يقول (جوزيف إنجلبيرجر)، أحد رواد صناعة الروبوتات.

و يستخدم صانعو الروبوتات تعريفًا دقيقًا وشاملًا لكل الأمثلة الممكنة في عالم الروبوتات، وهو أن الروبوت هو كل شيء له عقل مُبرمج يحرك جسمًا.

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

أساسيات الروبوت

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

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

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

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

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

بعض التصميمات تستخدم عجلات مشققة مثبتة في وصلة من الروبوت، ويوجد مصباح “ليد” على جانب معين من العجلة يشع حزمة ضوئية تسير من خلال شقوق العجلة ليستقبلها مستشعر ضوئي على الجانب الآخر من العجلة، عندما يُحرك الروبوت الوصلة المتصلة بها العجلة وتدور، تقطع الأشعة الضوئية  شقوق العجلة، فيقرأ المستشعر الومضات الضوئية المختلفة ويرسل بها بيانات إلى الحاسوب، ويمكن حينها للحاسوب أن يخبرنا بالمسافة التي قطعها الروبوت.

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

الروبوت الذراعي

هو الروبوت الصناعي، أكثر أنواع الروبوتات استخدامًا في الصناعة، الروبوت النموذجي منه مصنوع من سبع قطاعات معدنية متصلة ببعضها بست وصلات، يتحكم الحاسوب بالروبوت عن طريق محركات الخطوة step motors متصلة بكل وصلة من الوصلات الست (بعض الأذرع الضخمة تستخدم نظامًا هيدروليكيًا أو نظام الضغط الهوائي)، وهذا المحرك يسمح للحاسوب بتحريك الذراع بدقة عالية  مكررًا نفس الحركة مرارًا وتكرارًا، بالإضافة لذلك يستخدم الروبوت مستشعر حركة ليضمن أنه يتحرك بشكل صحيح.

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

Embed from Getty Images

وظيفة ذراعك هي تحريك يدك من مكان لآخر، وهذا نفسه هو وظيفة الروبوت الذراعي وهي تحريك المُستجيب (مصطلح في علوم الأحياء ويعني العضلة أو العضو المُستجيب لمؤثر ما وخاصة النبضة العصبية)، ويمكن إلحاق أي نوع من المُستجيبات بالذراع لتناسب التطبيق الذي تريد، والمُستجيب الشائع للروبوت الذراعي هو النسخة المبسطة من يد الإنسان والتي يمكنها أن تمسك وتحمل الأشياء المختلفة، وعادةً هذه اليد لها مستشعر ضغط يخبر الحاسوب بمدى ملائمة ما يقبضه الروبوت، وهذا يمنع الروبوت من السقوط أو التحطم مهما كان ما يحمله.

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

معظم الروبوتات الصناعية تعمل في خطوط تجميع السيارات، يمكن للروبوت عمل أعمال كهذه بكفاءة أكبر من الإنسان حيث الدقة العالية، تثقب دائمًا في نفس المكان وتربط المسامير دائمًا بنفس العزم مهما كان وقت العمل الذي تستهلك فيه، الروبوتات الصناعية مفيدة أيضًا في صناعة الحواسب الآلية حيث الدقة البالغة في تجميع الرقاقات.

Embed from Getty Images

الروبوتات المتنقلة

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

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

Embed from Getty Images

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

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

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

الروبوتات المستقلة

روبوتات يمكنها إدراة شؤونها بنفسها دون تحكم خارجي. تعتمد الفكرة الأساسية على برمجة الروبوت للاستجابة للمؤثرات الخارجية، ويعد روبوت  bump-and-go نموذجًا مبسطًا لهذا النوع من الروبوتات، لدى هذا الروبوت مستشعر لكشف العقبات، يرسل هذا المستشعر أزيزه في خط مستقيم وعند الاصطدام بعقبة في طريقة يرجع التأثير إلى المستشعر ويقوم حاسوب الروبوت بإخبار الروبوت حينها بالتراجع ليغير اتجاهه إلى اليمين – على سبيل المثال – وينطلق إلى الأمام ثانيةً، كاستجابة لكل صدمة ترتد إلى المستشعر من العقبات، فإن الروبوت يغير طريقة في أي لحظة ليتفادى العقبات.

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

Embed from Getty Images

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

و بعض الروبوتات المستقلة يمكنها فقط العمل في بيئة معينة دون غيرها وفي نطاق محدود، على سبيل المثال: روبوت Lawn-mowing  يعتمد هذا الروبوت على حدود موضوعة سلفًا  تحدد لها النطاق المسموح المشي فيه، أيضًا روبوتات تنظيف المكاتب كذلك، ويضاف لهذه الروبوتات خرائط للمبنى لتقوم بالمهام المحددة بدقة في هذا النطاق.

Embed from Getty Images

الكثير من الروبوتات المستقلة المتطورة قادرة على التكيف مع البيئات غير المألوفة، فتعمل على ربط كل بيئة بردود فعل معينة، على سبيل المثال: الروبوت المتجول Rover Robot ، يمكن لهذا الروبوت أن يُكوّن خريطة لبقعة ما اعتمادًا على قدرته على الرؤية، وإذا أظهرت الخريطة أن الطريق وعر ويصعب سلوكه يقرر حينها الروبوت تغيير مساره لطريق آخر، هذا النوع من الأنظمة مفيدٌ جدًا للروبوتات الاستكشافية التي تقوم بعمليات في كواكب أخرى.

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

التكيف

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

حتى الآن معظم الروبوتات تشبه إلى حد كبير أجهزة المطبخ، يصنعها المهندسون من الألف إلى الياء لأغراض محددة وفقط، ولا يمكنها التكيف بشكل جذري مع تطبيقات جديدة. لكن الوضع تغير قليلًا مع ظهور شركة تدعى Evolution Robotics  وصارت رائدة في مجال الروبوتات القابلة للتكيف في “الهاردوير والسوفت وير” معًا، تعمل هذه الشركة على صناعة وتطوير روبوتات جاهزة للبرمجة والتكيف مع البيئات المختلفة، تأتي هذه الروبوتات بنظام برامج مفتوحة صمم ليوافق وظائف متعددة وشائعة، على سبيل المثال: يصمم المهندسون الروبوتات جاهزة للبرمجة لتكون قادرة على عدة أشياء منها الاستجابة للأوامر الصوتية وتجاوز العقبات وما شابه، هذه القدرات ليست جديدة على الروبوتات لكن المميز هنا بشأن هذا الروبوت أنه يتيح هذه القدرات مجتمعة لتتكيف مع مختلف الوظائف، أيضًا تأتي مع هذه الروبوتات بعض مكونات العتاد، في الغالب يأتى مع الروبوتات المكونات الآتية: مستشعرات الأشعة تحت الحمراء، محركات، ميكروفون، وكاميرا فيديو، بالإضافة لقطع معدنية من الألومنيوم متعلقة بالهيكل الخارجي وعجلات.

هذا النوع من الروبوتات يسمى Kit، ثمن الروبوت سبعمائة دولار فما فوق (أى ما يوازي خمسة آلاف وثلاثمائة جنيه مصري) هذا يعني أنها ليست برخيصة الثمن، لكنها خطوة مهمة جدًا في مستقبل الروبوتات، فعندما تريد أن تصمم روبوت لينظف منزلك – على سبيل المثال – سيكون كل ما عليك هو كتابة برنامج بسيط لهذا وفقط.

الروبوتات والذكاء الاصطناعي

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

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

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

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

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

Kismet وجميع الروبوتات التي تحاكي البشر في معامل MIT تستخدم نظام تحكم غير تقليدي، وهنا تتحكم الروبوتات في مهمات بسيطة من خلال حواسب بسيطة بدلًا من مباشرة كل شيء بواسطة حاسوب مركزي.

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

بهذا يساعد تصميم الروبوتات في فهم العلوم التشريحية للحيوانات والإنسان، ويساعد أيضًا الذكاء الاصطناعي في فهم معرفة كيفية عمل الذكاء الطبيعي، وأحيانا يكون هذا في حد ذاته هو الهدف الأوحد لبعض مصممي الروبوتات.

و يتنبأ بعضهم بأن التطور المتنامي في مجال الروبوتات سيحولنا في النهاية إلى نصف بشر ونص آلات وسيتمكن الناس من تحميل عقولهم على روبوتات قوية ليعيشوا آلاف السنين، هذا مرعب جدًا بقدر ما هو مذهل.

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

المقال منقول للفائدة وتمهيدا لما سيلى شرحه

المصادر :

Gettyimages

How Robots Work

sasapost.com