بحث

السبت، 17 ديسمبر 2011

مقدمة عن الروبوت Robot




الروبوت Robot






 


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




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


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







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






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


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


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


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



مجموعة من الروبوتات تقوم بوظائف معينة

























شرح بعض الدروس لكيفية برمجة الروبوت nxt بالفيديو



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
















حساس الصوت

حساس الصوت Sound Sensors

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




حساس المسافه


حساس المسافه Ultrasonic Sensors

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

تحديد المسافه

من المعروف علمياً بأن سرعه الصوت حوالى     m/s34 في الهواء ، حساس المسافه يستخدم هذه المعطيات ، مع معرفه الوقت المستغرق في الارسال والاستقبال لتحديد المسافه بدقه عاليه حسب المعادله التاليه : 
       
             (  الزمن " وقت المستغرق بين الارسال والاستقبال * سرعة الصوت   m/s34) )/  2  )












حساس الضوء


حساس الضوء Light Sensors :

حساس الضوء يقوم بأرسال حزمه من الموجات الضوئيه على السطح  واستقبال انعكاس هذه الموجات من على السطح المرسله عليه ، وتحويلها الى قيمه تماثليه " قيمه عدديه " حيث من المعروف ان انعكاس الضوء من على السطح الابيض يكون اكثر من انعكاس الضوء من على السطح الاسود ، اي ان اللون الابيض يمثل قيمه تماثليه " عدديه " اكبر من القيمه التماثليه  المنعكسه من الضوء على السطح الاسود " .
ويقوم بإعاده إرسالها الى جهاز NXT  ، وعن طريقه قراءه قيم اللون يمكن للمبرمج التحكم بحركه الروبوت .




حساس اللمس


مفتاح التوصيل الكهربائي

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

تدفق التيار او وقفه يتم الاحساس به والتعرف عليه بواسطه جهاز NXT  ، حيث يمثل تدفق التيار القيمه 1 التي تعادل وجود جهد كهربائى قيمته 5 فولت ، ووقف تدفق التيار يمثل القيمه 0 التى تعادل وجود 0 فولت كهربائى ، سامحاً للمبرمج التحكم في حركة الروبوت .



المحرك الذكي



المحرك التفاعلي       " حساس الدوران "

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

الحساسات أو المستشعرات




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



 
 1 - حساس الدوران " في الاجزاء الداخليه للمحرك " Smart Motors
وهذه القطع من القطع المهمة جدا في الروبوت ، حيث تقوم هذه المحركات بتحريك الروبوت . كالتقدم للامام او التراجع للخلف .


2 - حساس اللمس  .Touch Sensors 


حساس اللمس هذا الحساس يقوم بتحسس ما اذا قام جسم بملامسة هذا الحساس ، وهو في مقدمته كبسة ( زر ) خفيفة جدا وضغطها سهل ، حتى اذا لامس أي جسم لهذه الكبسة . فانها تُضغط وترسِل اشارة للروبوت بان هناك جسم لمس هذا الحساس.

3 - حساس المسافه .Ultrasonic Sensors
حساس الاستشعار عن بعد " المسافه "وهذا الحساس هو من اهم الحساسات وهو يتحسس ما اذا كان امام هذا الحساس جسم . فيستطيع كشفه .

4 - حساس الضوء .Light Sensors
يعتبر من الحساسات المهمة . وهو يستكشف ما اذا كان هناك لون ما امام الروبوت ، وايضا يمكنه كشف لون الجسم ( اخضر ام احمر ام اصفر ) .... الخ .

5- حساس الصوت . Sound Sensors
حساس الصوت هذا الحساس هو حساس الصوت . فاذا كان هناك صوت في الغرفة او قريب من الروبوت ، يرسل اشارة للروبوت بان هناك صوت تم التقاطه من خلال هذا الروبوت .



تصميم الروبوت

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






لغات البرمجة




البرنامج الخاص بالمعالج الذكي .

اصدرت ليغو العديد من البرامج الخاصة بالمعالج الذكي والتى تتيح له التخاطب والتواصل مع العديد من لغات البرمجة ، ولكل لغة برمجة البرنامج الخاص بها ، والتى يتم تحميله داخل المعالج الذكي لكى يستطيع التخاطب والتواصل معه .

البرامج الخاصة بلغات البرمجة

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

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

1 – اسم البرنامج : NBC
نوع اللغة : Assembly
بيئة نظام التشغيل : Windows و Mac و Linux
المستهدفين : المبرمجين المحترفين

2- اسم البرنامج : NXC
نوع اللغة : " not exactly " C
بيئة نظام التشغيل : Windows و Mac و Linux
المستهدفين : مبرمجين C

3- اسم البرنامج : RobotC
نوع اللغة : C
بيئة نظام التشغيل : Windows
المستهدفين : مبرمجين C

4- اسم البرنامج : NI LabVIEW Toolkit
نوع اللغة : Graphic " رسومي "
بيئة نظام التشغيل : Windows و Mac
المستهدفين : مطورين NXT-G

 



  لغة البرمجة NXT-G
من اشهر لغات البرمجة واكثرها استخداما واسهلها وهو الملائم للبرمجة الاساسية  ويمكن شرائها بشكل منفصل  من اصدار National Instruments LabVIEW  ، وهو لا يستخدم كتابة النصوص لعمل البرمجة وصياغة الاوامر للروبوت ، وانما يستخدم  اوامر على شكل رسومات يتم تنسيقها في مربعات وتجميعها لعمل البرمجة واصدار الاوامر للروبوت عن طريق قص ولصق ومن ثم تحديد القيم المطلوبه ، وان شاء الله سنقوم بشرح والعمل عليها خلال الدروس القادمة .

  مميزات لغة البرمجة NXT-G

1 – سهوله تنصيبه على جميع انواع الويند وز ودعمه لنظام التشغيل ماك .
2- سهوله نقل البيانات عن طريق USB  او عن طريق البلوتوث .
3- يوفر وسيلة سهله لللاستخدام ، فقط سحب واسقاط داخل البيئة الرسوميه .
4 – كل البيانات والمعلومات بالاضافة الى الاسلاك تظهر على الرسومات .

 عيوب مميزات لغة البرمجة NXT-G

1-     محدودة التعقيد .
2-     بطئه في الاداء .