V-REP عبارة عن منصة مرنة وقابلة للتطوير لإنشاء robomodeling. استمرار المقال

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

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

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

بالإضافة إلى التضمين الانتقائي التكيفي للوظائف المختلفة ، يمكن لـ V-REP استخدامها معًا ، مما يجبر أحدهم على التفاعل مع الآخر. على سبيل المثال ، عند نمذجة روبوت بشري ، يمكن لـ V-REP معالجة حركات الساق بالطريقة التالية: أولاً ، يتم حساب الكينماتيكا العكسية لكل ساق (على سبيل المثال ، يتم حساب الموضع الكلي للساق بأكملها من موضع القدم والاتجاه المطلوب) ؛ ثم يتم حساب مواقع المفاصل كأهداف لوحدة الديناميكيات. هذا يسمح لك بضبط حركات البشر بطريقة عالمية للغاية ، لأنه لكل ساق سيتم تعيين حركة التكرار للمسار 6 الأبعاد: يتم تنفيذ بقية الحسابات تلقائيًا.

تشير الوظيفة إلى كائنات نصية محددة أو وحدات حسابية محددة ، يتم وصف كل منها أدناه.

كائنات المحاكاة .

تحتوي نماذج محاكاة V-REP على العديد من الكائنات أو العناصر التي يتم تجميعها في التسلسل الهرمي للشجرة. يدعم V-REP مشاهد المحاكاة التالية:

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

الأشكال : شبكات ثلاثية الأضلاع تستخدم لنمذجة وتصور جسم صلب.

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

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

أجهزة استشعار القوة: هي روابط قوية بين الأشكال التي يمكن أن تسجل القوى المطبقة وعزم الدوران ، والتي يمكن أن تنهار عند تجاوز عتبة معينة.

الرسوم البيانية : يمكن للرسوم البيانية تسجيل مجموعة واسعة من تدفقات البيانات المحددة مسبقا أو بيانات المستخدم. يمكن بعد ذلك عرض تدفقات البيانات مباشرة (المخطط الزمني لنوع بيانات معين) ، أو بالاشتراك مع بعضها البعض لعرض الرسوم البيانية X / Y ، أو المنحنيات ثلاثية الأبعاد.

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

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

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

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

ميلز : يمكن استخدامها لتقليد سطح عمليات القطع على شكل (على سبيل المثال، والطحن، القطع بالليزر، وما إلى ذلك).



وحدات حسابية

نادرًا ما يتم استخدام كائنات المحاكاة بشكل مستقل ، بل تعمل بدلاً من ذلك أو بالاشتراك مع كائنات أخرى (على سبيل المثال ، يكتشف مستشعر القرب الأشكال). بالإضافة إلى ذلك ، يقدم V-REP العديد من وحدات الحساب التي يمكن أن تعمل بشكل مباشر على مشهد محاكاة واحد أو أكثر. فيما يلي وحدات الحساب الرئيسية:

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

وحدة ديناميكية: يسمح لك بتعديل ديناميكيات حساب المواد الصلبة والتفاعلات (التصادم ، التشبث ، إلخ) باستخدام مكتبة Bullet Physics Library و Open Dynamics Engine. لا تزال محاكاة الأنظمة الديناميكية في المرحلة الأولية وغالباً ما تستند إلى مؤشرات تقريبية. لتأكيد النتائج ، من المهم الاعتماد ليس فقط على محرك مادي واحد.

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

وحدة حساب المسافة (وحدة Mech-mech) : تسمح لك بتقليل مسافة الحساب بسرعة بين أي شكل (محدب ، مقعر ، مفتوح ، مغلق ، إلخ) أو مجموعة من الأشكال. تستخدم الوحدة نفس هياكل البيانات المستخدمة في وحدة الكشف عن التصادم.

وحدة تخطيط الحركة : الجدولة اليدوية للمهام الشاملة وغير المقدسة باستخدام نهج قائم على خوارزمية الشجرة العشوائية (RRT) . كما يتم دعم مهام تخطيط المسار الحركي.

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

يتم أيضًا دعم الأسلوب التقليدي لتوسيع الوظائف مع المكونات الإضافية لدعم نموذج محاكاة معين في V-REP.

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

1) نموذج الماسح الضوئي بالليزر

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

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

صورة

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

2) نموذج محاكاة مناور متوازي

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

صورة

3) نموذج محاكاة لشخص ذكي

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

صورة

استنتاج

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

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

كاتب المقالة: marc@coppeliarobotics.com
إريك رومر ، محاضر ، جامعة ولاية كامبيناس ، البرازيل
سوريا سينغ ، أستاذة في جامعة كوينزلاند ، أستراليا
مارك فريز ، الرئيس التنفيذي لشركة Coppelia Robotics ، سويسرا.

ترجمة: أليس خانيفا ، حرم Robotnopark Navigator ، قازان.

Source: https://habr.com/ru/post/ar385725/


All Articles