كيفية تغيير نظام الإحداثيات المرجعية بسهولة

Technical Articles

ما هو نظام الإحداثيات المرجعية

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

يمثل نظام الإحداثيات هذا عادةً القيمة (0,0,0) بالنسبة للروبوت. وهو أمر بالغ الأهمية لبرمجة حركات الروبوت والتحكم فيها بدقة.

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

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

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

تغيير نظام الإحداثيات المرجعية لبرنامج ما

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

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

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

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

لحل المشكلة هناك طريقتان مختلفتان:

  • طريقة سهلة ولكنها مملة.
  • طريقة صعبة ولكنها أسرع وأذكى.

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

  • تفعيل النظام المرجعي القديم والمسمى قاعدة او Base  في KUKA.
  • تحريك الروبوت إلى النقطة ثم التوقف.
  • تفعيل القاعدة الجديدة.
  • احفظ النقطة مرة أخرى.
  • كرر لكل النقاط.

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

مصفوفة التحويل بين هذين النظامين هي معكوس نظام الإحداثيات المرجعي الجديد مضروبا في النظام المرجعي القديم.

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

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