العودة إلى المدونة
مكتبات Noorjax

مكتبة الذراع الروبوتية

هذه المكتبة تعمل فقط مع AnyLogic 8.9.4 وما فوق.

يمكنك تحميل المكتبة هنا:

تحميل

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

https://www.paypal.com/donate/?hosted_button_id=GW77FD5WVVAR8

توثيق مساعدة الذراع الروبوتية

يمكنك إيجاد نسخة فيديو من هذا التوثيق، للإصدار 1.0.0 في الفيديو التالي:

إخلاء مسؤولية مهم

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

إذا كنت تريد ميزات جديدة، يمكننا تطويرها بتكلفة. تواصل معنا لهذا الأمر.

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

الوصف العام

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

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

Robot: يمثل الرسوم المتحركة ثلاثية الأبعاد للروبوت. تتكون الذراع الروبوتية من

  • قاعدة تدور حول المحور Z

  • ذراع علوية تدور بالنسبة للقاعدة

  • ساعد يدور بالنسبة للذراع العلوية.

  • قابس يدور الوكيل الملتقط لوضعه بشكل صحيح على الوجهة.

  • Move By Robot: هي كتلة المخطط الانسيابي التي تُستخدم بالتزامن مع وكيل Robot. تسمح بتعريف الحركات المنطقية والمهام التي سيقوم بها الروبوت للوكيل المعالج.

الكائنات الأخرى التي ستراها في المكتبة يجب ألا تُستخدم.

كيفية تثبيت المكتبة

أولاً قم بتحميل المكتبة (انظر بداية هذا التوثيق) واحفظها في مكان آمن:

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

كيفية استخدام المكتبة بعد التثبيت

  • لاستخدام كائن Robot، اسحب وأسقط كائن “Robot” إلى مساحة العمل الخاصة بك (main أو أي وكيل آخر ستعيش فيه ذراعك الروبوتية).

  • لاستخدام كائن “Move By Robot”، يمكنك أيضًا سحبه وإسقاطه، وربط هذه الكتلة بمنطق العملية الخاص بك.

كائن Robot

نعرّف أيقونة الروبوت، كالوكيل الذي يمثل الروبوت الفعلي:

نعرّف عرض الروبوت، كالعرض الفعلي للروبوت

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

  • طول القاعدة: 3.3 متر، تتوافق مع المسافة من الأرض إلى نقطة دوران الذراع العلوية.

  • طول الذراع العلوية: 3.9 متر، تتوافق مع المسافة بين نقطتي الدوران

  • طول الساعد: 3.8 متر، تتوافق مع المسافة بين نقطة الدوران والقابس.

أيقونة Robot

لتعريف خصائص الروبوت، انقر على أيقونة “Robot” في مساحة العمل الخاصة بك وقم بتهيئة المعلمات وفقًا للتصور المطلوب للروبوت (تأكد من أن عرض الروبوت ظاهر، إن لم يكن كذلك، انقر على “show the presentation” في القسم المتقدم من خصائص أيقونة الروبوت). كما يجب استخدام هذا الوكيل دائمًا كوكيل فردي وليس كمجموعة وكلاء (AnyLogic لا يسمح لنا بإزالة هذا الخيار).

الزوايا الأولية

  • زاوية القاعدة الأولية (بالدرجات). هي الزاوية الأولية للقاعدة على المحور Z

  • زاوية الذراع العلوية الأولية (بالدرجات). الزاوية الأولية للذراع العلوية. الصفر يعني عدم ثني المفصل.

  • زاوية الساعد الأولية (بالدرجات). هذا الدوران نسبي للذراع العلوية. صفر درجة تعني عدم ثني المفصل.

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

  • زاوية القاعدة: أي زاوية بين -180 و 180 درجة.

  • الذراع العلوية: أي زاوية بين 0 و 90 درجة.

  • الساعد: أي زاوية بين 0 و 90 درجة.

الإحصائيات

  • خطوة الوقت (بالثواني): تحدد كم مرة يتم تحديث مواضع الرسوم المتحركة. خطوة وقت عالية تجعل المحاكاة تعمل بشكل أسرع، على حساب جعل الرسوم المتحركة تبدو غريبة.

السرعة

  • سرعة دوران القاعدة (درجة/ثانية): سرعة دوران القاعدة حول المحور z.

  • سرعة دوران الساعد (درجة/ثانية): سرعة دوران الساعد بالنسبة للذراع العلوية

  • سرعة دوران الذراع العلوية (درجة/ثانية): لا تحتاج لشرح

المقياس

المقياس الإضافي: يمكن استخدام هذا إذا كنت تريد تغيير أبعاد الروبوت. للأسف، AnyLogic يجعل هذا صعبًا بعض الشيء في الحساب، لكن إليك الشرح. الحجم الأصلي للساعد هو 3.8 متر، لنسمّه “FOS”. ماذا لو أردت أن يكون طول الساعد 1.5 متر فقط؟

  • أولاً تحقق من مقياس الوكيل الذي توجد فيه أيقونة الروبوت. نريد معرفة كم بكسل يعادل متر واحد. لنسمّ هذا الرقم “P”.

  • ثانيًا حدد الطول الذي تريده للساعد بالأمتار، لنسمّه “FNS”

  • لحساب المقياس الإضافي “AS”، تحتاج لاستخدام المعادلة التالية: AS=FNS3.810/P. الـ 3.8 يتوافق مع طول الساعد، و 10 يتوافق مع مقياس الروبوت (وهو غير مرئي لك، استخدم 10 دائمًا).

  • لذلك إذا أردت أن يكون طول ساعدك 1.5 متر ومقياس الوكيل الذي يوجد فيه الروبوت هو 1 متر = 20 بكسل، فإن AS=1.5*38/20 = 2.85.

ستحتاج لتغيير المعادلة الافتراضية

بالرقم الخاص بالمقياس الإضافي

تحتاج أيضًا لتغيير القيم في عرض الروبوت. لهذا، انقر على عرض الروبوت، اختر “scale is defined explicitly” في قسم “position and size” من الخصائص واستخدم نفس المقياس الذي استخدمته في قيمة المقياس الإضافي لأيقونة الروبوت لجميع المقاييس الثلاثة: scale X و scale Y و scale Z.

كتلة عملية Move By Robot

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

ارتفاع الوكيل

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

إذا كان لديك مثلاً وكيل من نوع Box له معلمة أو متغير يُسمى height، ستحتاج إلى القيام بما يلي:

((Box)agent).height

من منظور كتلة move by robot، جميع الوكلاء من نوع “Agent” لذلك تحتاج إلى إجراء التحويل من agent إلى box لتتمكن من استخدام خصائص الوكيل.

سعة الطابور

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

هل يوجد وقت تحميل/تفريغ

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

وكيل Robot

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

أولوية المهمة

يحدد هذا من منظور الروبوت، أولوية كتلة العملية بالنسبة للأخرى. إذا كان لديك روبوت واحد و 3 كتل move by robot، سيختار الروبوت نقل الكائنات أولاً من كتلة move by robot ذات الأولوية الأعلى. إذا كانت جميع الأولويات متساوية، سيستخدم FIFO. لاحظ أنه لا يمكنك اختيار أولوية الوكلاء، الأولويات مرتبطة فقط بكتل العملية.

الوجهة

يجب تحديد الوجهة بإحداثيات x و y و z (بالبكسل)، وهذه هي الطريقة الوحيدة لتحديد وجهة لأي كائن.

الإجراءات - عند الدخول

يمكنك استخدام هذا كأي كتلة عملية أخرى، مع الفرق أنه يجب تحديد نوع وكيلك، مثلاً إذا كان لديك وكيل box يتحرك عبر هذه الكتلة، بدلاً من agent.counter++; ستفعل:

((Box)agent).counter++;

التحرير

في هذا القسم يمكنك تحديد ما إذا كان الروبوت يبقى في مكانه، أو يعود إلى الزوايا الأولية.

الأسئلة الشائعة

لا أفهم زوايا الدوران الأولية؟

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

أحصل على حركات غريبة مع الروبوت

تأكد من أنك تستخدم نطاقات الزوايا الأولية الموصى بها (انظر أعلاه). فكر أيضًا في تغيير خطوة الوقت عند زيادة سرعة دوران المفاصل للحصول على الدقة المطلوبة.

أحتاج مساعدة، لا أستطيع معرفة كيفية استخدام هذا.

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

هل يمكنني استخدام هذا تجاريًا؟

نعم. إذا ربحت الملايين باستخدام هذه الذراع الروبوتية، وشعرت بالسوء حيال ذلك، أرسل لنا رسالة ويمكنك أن تدفع ما تراه مناسبًا أو استخدم هذا الرابط https://www.paypal.com/donate/?hosted_button_id=GW77FD5WVVAR8. تواصل معنا قبل الدفع إذا كنت تحتاج فاتورة. إذا لم ترد الدفع، فلا تدفع. لكن تأكد من مساعدة أشخاص آخرين محتاجين في المستقبل.

هل يمكنني استخدام هذا أكاديميًا؟

تأكد من وضع شيء في دراستك بأنك حصلت على مساعدتنا (الشكر والتقدير أمر لطيف). أرسل لنا بحثك النهائي وسننشره في مكان ما. إذا أردت، يمكنك التبرع عبر PayPal باستخدام هذا الرابط: https://www.paypal.com/donate/?hosted_button_id=GW77FD5WVVAR8.

الروبوت يتصادم مع الكائنات من حوله. كيف يمكنني حل هذا؟

الروبوت ليس لديه كشف التصادم لذلك لا يمكنك ذلك.

أحتاج ميزة جديدة

تواصل معنا للحصول على عرض سعر.

أريد إزالة شعار Noorjax من الذراع الروبوتية

لا يمكن فعل ذلك مجانًا. تواصل معنا للحصول على عرض سعر.

جودة العرض ثلاثي الأبعاد يمكن أن تكون أفضل

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

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

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

لا تعجبني ذراعكم الروبوتية

اصنع واحدة بنفسك إذن… ليس الأمر بتلك الصعوبة :)

#Simulations