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

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

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

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

برنامج الروبوت الصناعي
يتكون برنامج الروبوتات الصناعية من كائنات البيانات وقوائم التعليمات المعروفة باسم تدفق البرنامج (قائمة التعليمات). فمثلا،

اذهب إلى Jig1

هي تعليمات للروبوت للذهاب إلى البيانات الموضعية المسماة Jig1. بالطبع يمكن أن تحتوي البرامج أيضًا على بيانات ضمنية على سبيل المثال

أخبر محور 1 تحرك 30 درجة.

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

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

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

فيما يلي بعض الأمثلة على لغات برمجة الروبوت المنشورة.

المهمة في سهل الانجليزية:
الانتقال إلى P1 (وضع آمن عام)
الانتقال إلى P2 (نهج P3)
الانتقال إلى P3 (موضع لاختيار الكائن)
القابض القابض
الانتقال إلى P4 (نهج P5)
الانتقال إلى P5 (موضع لوضع الكائن)
القابض المفتوح
الانتقال إلى P1 والانتهاء
كانت VAL واحدة من “لغات الروبوت” الأولى واستخدمت في Unimate robots. وقد استخدمت المتغيرات من VAL من قبل الشركات المصنعة الأخرى بما في ذلك تكنولوجيا Adept. يستخدم Stäubli حاليًا VAL3.
مثال على البرنامج:
برنامج PICKPLACE
1. تنقل P1
2. تحرك P2
3. تنقل P3
4. CLOSEI 0.00
5. تحرك P4
6. تنقل P5
7. OPENI 0.00
8. تحرك P1
.النهاية
مثال على برنامج Stäubli VAL3:
ابدأ
movej (P1، tGripper، mNomSpeed)
movej (APPRO (P3، trAppro)، tGripper، mNomSpeed)
movel (P3، tGripper، mNomSpeed)
وثيقة (tGripper)
movej (APPRO (P5، trAppro)، tGripper، mNomSpeed)
movel (P5، tGripper، mNomSpeed)
مفتوحة (tGripper)
movej (P1، tGripper، mNomSpeed)
النهاية
trAppro هو متغير التحول الديكارتية. إذا استخدمناها مع أمر appro ، فلا نحتاج إلى تعليم النقطة P2 و P4 ، ولكننا نقوم بشكل ديناميكي بتحويل نهج إلى موضع الاختيار ومكان توليد المسار.
Epson RC + (على سبيل المثال لاقط الفراغ)
وظيفة PickPlace
القفز P1
الوثب P2
القفز P3
على الفراغ
انتظر .1
القفز P4
القفز P5
من فراغ
انتظر .1
القفز P1
صد
ROBOFORTH (لغة تعتمد على FORTH).
: اختر المكان
P1
P3 GRIP WITHDRAW
P5 UNGRIP WITHDRAW
P1
.
(مع Roboforth يمكنك تحديد مواقف النهج للأماكن بحيث لا تحتاج P2 و P4.)

من الواضح أن الروبوت يجب أن لا يستمر في الخطوة التالية حتى يتم إغلاق القابض تماما. التأكيد أو الوقت المسموح به هو ضمني في الأمثلة المذكورة أعلاه من CLOSEI و GRIP بينما يتطلب الأمر On الفراغ تأخيرًا زمنيًا لضمان شفط مرضٍ.

Related Post

لغات برمجة الروبوت الأخرى

لغة برمجة مرئية
تعتبر لغة البرمجة LEGO Mindstorms EV3 لغة بسيطة يتفاعل معها مستخدموها. هي واجهة مستخدم رسومية (GUI) مكتوبة مع LabVIEW. النهج هو البدء بالبرنامج بدلاً من البيانات. يتم إنشاء البرنامج عن طريق سحب الرموز إلى منطقة البرنامج وإضافة أو إدراج في التسلسل. لكل رمز يمكنك تحديد المعلمات (البيانات). على سبيل المثال ، بالنسبة لرمز محرك السيارات ، يمكنك تحديد أي المحركات ومقدار تحركها. عند كتابة البرنامج ، يتم تنزيله في Lego NXT ‘brick’ (microcontroller) للاختبار.

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

لغات البرمجة في الروبوتات الصناعية
اسم لغة روبوت للعلامة التجارية
ABB RAPID
كومو PDL2
فانوك كاريل
كاواساكي
كوكا كرل
Stäubli VAL3
ييسكاوا اعلام
يتم تصميم لغات البرمجة بشكل عام لبناء هياكل البيانات والخوارزميات من الصفر ، في حين أن لغات البرمجة النصية مخصصة أكثر للتوصيل ، أو “الإلتصاق” ، المكونات والإرشادات معًا. وبالتالي ، فإن مجموعة تعليم لغة البرمجة النصية عادة ما تكون قائمة مبسطة لأوامر البرنامج التي تستخدم لتبسيط عملية البرمجة وتوفير تطوير سريع للتطبيقات.

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

كلما (face.visible)
{
headPan.val + = camera.xfov * face.x
وأمبير.
headTilt.val + = camera.yfov * face.y
}

سيعمل الكود المذكور أعلاه على تحريك محركات headPan و headTilt بشكل متوازٍ لجعل رأس الروبوت يتابع الوجه الإنساني المرئي على الفيديو الذي تلتقطه الكاميرا عند مشاهدة وجه من قبل الروبوت.

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

اعتبارات السلامة
تمثل أخطاء البرمجة اعتبارًا خطيرًا للسلامة ، خاصة في الروبوتات الصناعية الكبيرة. قوة وحجم الروبوتات الصناعية تعني أنها قادرة على إلحاق إصابات خطيرة إذا تم برمجتها بشكل غير صحيح أو استخدامها بطريقة غير آمنة. بسبب كتلة الروبوتات الصناعية وسرعاتها العالية ، فإنه من غير الآمن دائمًا أن يبقى الإنسان في منطقة عمل الروبوت أثناء التشغيل التلقائي. يمكن للنظام البدء بالحركة في أوقات غير متوقعة ، ولن يتمكن الإنسان من الاستجابة بسرعة كافية في العديد من المواقف ، حتى إذا كان مستعدًا للقيام بذلك. وهكذا ، حتى إذا كان البرنامج خاليًا من أخطاء البرمجة ، يجب الحرص على جعل الروبوت الصناعي آمنًا للعمال البشريين أو التفاعل البشري ، مثل تحميل أو تفريغ أجزاء ، أو تنظيف جزء من المربى ، أو إجراء صيانة. المعيار الأمريكي الوطني للأنظمة الروبوتية والروبوتية ANSI / RIA R15.06-1999 – متطلبات الأمان (مراجعة ANSI / RIA R15.06-1992) كتاب من جمعية الصناعات الروبوتية هو المعيار المقبول بشأن سلامة الروبوت. وهذا يشمل المبادئ التوجيهية لتصميم الروبوتات الصناعية ، وتنفيذ أو دمج واستخدام الروبوتات الصناعية في أرضية المصنع. وتغطى العديد من مفاهيم السلامة مثل مراقبي السلامة ، والسرعة القصوى خلال وضع التدريس ، واستخدام الحواجز المادية.

مشاريع البرمجيات الروبوتات
فيما يلي قائمة مفتوحة المصدر وبرامج مجانية لمشاريع الروبوتات.

CLARAty – بنية الطبقات المقترنة للاستقلالية الروبوتية. وهو جهد تعاوني بين أربع مؤسسات: مختبر الدفع النفاث التابع لوكالة ناسا ، ومركز أبحاث ناسا أميس ، وجامعة كارنيجي ميلون ، وجامعة مينيسوتا.
dLife – مكتبة جافا حرة / مفتوحة المصدر للروبوتات ، منظمة العفو الدولية والرؤية. يدعم Pioneer ، Khepera II & amp؛ ثانيا ، الروبوتات هيمبول ، Aibo و Finch فضلا عن المحاكاة لاعب / المرحلة.
الإطار التجريبي للروبوتات – برنامج لإجراء تجارب مع عدة روبوتات ثلاثية الأبعاد ، مع دعم لأحدث التقنيات ، التي تقع على رأس المشغل / المرحلة والمفتاح / السيرة الذاتية.
MARIE – Mobile Integralous Robotics Integration Environment – هي برمجيات حرة تستخدم مقاربة قائمة على المكونات لبناء أنظمة برمجيات الروبوتات عن طريق دمج مكونات البرامج الموجودة والجديدة.
مايكروسوفت – مايكروسوفت Robotics Developer Studio
OpenRDK – إطار برمجي مفتوح المصدر للروبوتيات لتطوير وحدات مقترنة بشكل فضفاض. فهو يوفر إدارة التزامن شفافة ، عملية بينية (عبر مآخذ التوصيل) وداخل العملية (عبر الذاكرة المشتركة) اتصال قائم على السبورة وتقنية ربط تسمح لمنفذ بيانات مدخلات / مخارج بيانات تصميم نظام مفاهيمي. يتم توفير وحدات للاتصال بمحاكاة وبرامج تشغيل الروبوت العامة.
OpenRTM-aist – منصة برمجية تم تطويرها على أساس معيار الوسيطة RT. تم تطويره من قبل المعهد الوطني للعلوم الصناعية المتقدمة والتكنولوجيا في اليابان.
OROCOS – يوفر مشروع Open Robot Control Software مجموعة من البرامج المجانية لأدوات التحكم الآلي في الذراع الآلية والآلية.
OPRoS – Open Platform Robotic Services هو مشروع مفتوح المصدر لتطوير الروبوت. يوفر حلًا يشتمل على نظام روبوت وأدوات تطوير واجهة المستخدم الرسومية مع شفرة المصدر لمكونات جهاز الروبوت.
RoboDK – منصة عدة تطوير الروبوت لمحاكاة الروبوتات الصناعية. يسمح لك RoboDK ببرمجة أي روبوت باستخدام Python ويتعامل مع بناء الجملة الخاص بالعلامة التجارية بناءً على وحدة التحكم في الروبوت.
مكتبة Robotics هي مكتبة مفتوحة المصدر C ++ تغطي علم الحركة ، والتخطيط ، والتصور ، وبرامج تشغيل الأجهزة لعدة روبوتات.
صندوق أدوات الروبوتات لـ MATLAB – هذه هي البرمجيات الحرة التي توفر وظائف لتمثيل تشكل (تحولات متجانسة ، زوايا أويلر و RPY ، رواسب) ، روبوتات ذراع (ديناميكيات وديناميكيات أمامية / معكوسة) وروبوتات متحركة (التحكم والتوطين والتخطيط)
مشروع روسوم ، GW لوكاس ، مشروع الروبوتات مفتوح المصدر.
مشروع Player / Stage – هو نظام روبوت مجاني ومحاكاة للبرامج المجانية ، ويستخدم في أبحاث الروبوتات والتدريس في جميع أنحاء العالم.
Pyro، Python Robotics – روبوتات شعبية البرمجيات الحرة المستخدمة في الجامعات والكليات.
RoboMind – البرامج التعليمية لتعلم أساسيات الروبوتات والبرمجة.
نظام تشغيل روبوت – نظام تشغيل روبوت هو منصة مفتوحة المصدر للبرمجة الروبوتية باستخدام بايثون و C ++. يتم دعم Java و Lisp و Lua و Pharo ولكن لا يزال في مرحلة تجريبية.
نواة روبوت الاستخبارات

البرمجة غير المباشرة
تعد Visual Components عبارة عن برنامج محاكاة حدث ثلاثي الأبعاد تجاري يتيح محاكاة تدفق المواد والروبوتات على منصة واحدة. يمكن توسيع الوظائف مع إمكانات البرمجة دون اتصال واتصال PLC.
“The Basics – Robot Software”. مجتمع سياتل للروبوتات.
“Mobile Robonom Software (MARS)”. شركة جورجيا تك للأبحاث.
“قاعدة بيانات التكنولوجيا”. robot.spawar.navy.mil.
برنامج Robotics Robotics في مختبر ايداهو القومي

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

Share