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

الشروط المستهدفة لنظام التعريب
أحد مبادئ Eurobot Open هو الحكم الذاتي. الحكم الذاتي من كل ما وراء الملعب. يجب إجراء جميع العمليات الحسابية واتخاذ القرارات والتوطين إما في \ على الروبوتات أو على مواقع خاصة في هذا المجال.
حجم الحقل 2x3 متر ، والخطأ في حجم وموضع العناصر الموجودة عليه من حقل إلى حقل عادة ما يكون في غضون 3-5 مم.
في الصورة أدناه ، يوجد مخطط لحقل Eurobot 2019 مع مناطق محددة يمكننا وضع شيء آخر غير الروبوتات.

- 6 - منطقة التجربة (واحدة من المهام الإضافية)
- 10 - مناطق المنارة
- 11 - برج خاص لتركيب جهاز تتبع مركزي (يشار إليه فيما يلي باسم CCC). تقع فوق الحقل على ارتفاع 1 متر
- أيضًا على الروبوتات نفسها ، يمكننا تثبيت إشارات.
بالنسبة لجميع هذه المناطق وأبعاد الروبوتات نفسها ، توجد قيود صارمة على الوزن والحجم ، وبسبب هذا ، من المستحيل صنع وحدة كبيرة إنتاجية كبيرة تناسب كل شيء. وهناك أيضًا حد 3 دقائق للتحضير للإطلاق. خلال هذا الوقت ، يجب على شخص أو اثنين من أعضاء الفريق إخراج الروبوتات وكل ما يتعلق بهم وترتيب وتكوين والاستعداد للإطلاق. من الواضح أنه كلما قلت الحاجة للضبط والضبط ، قل احتمال ارتكابك خطأ أو تغريمك قبل بدء المعركة.
والثاني آخر مربع كامل من هذا القبيلنحن نحلل الخيارات
مع إدراك قدراتنا والرغبة في الحصول على دقة تحديد المواقع لا تقل عن بضعة ملليمترات ، دعونا نرى ما يمكننا استخدامه عمومًا لحل هذه المشكلة:
- تتيح لك قياس المسافات باستخدام العجلات الموجودة على محرك الأقراص مباشرة أو عجلات قياس إضافية قراءة المسافة التي قطعها الروبوت وتحديد موضعه بالنسبة لنقطة البداية. العديد من فرق Eurobot تستخدمها كطريقة تعريب أساسية. هذا هو واحد من أسرع مصادر معلومات الحركة للروبوت. ومع ذلك ، في الممارسة العملية ، خصوصًا عند القيادة على عجلات متعددة الاستخدامات (مساحة تلامس أصغر من العجلات الكلاسيكية ولعب البكرات وأخطاء تصنيع أكبر) ، تعتبر قياس المسافات عرضة لمشكلة الخطأ التراكمي ، والتي تحتاج إلى تصحيح بطريقة ما. يمكنك محاذاة السطح مع الإحداثيات المعروفة ، أو يمكنك التعقيد باستخدام نظام إضافي. أيضًا ، إذا كنت تستخدم الترميز على عجلات القيادة ، فهناك مشكلة انزلاق العجلات أثناء المناورات الحادة وفي تصادمات الروبوت. يمكن أن تتخلص عجلات القياس من هذه المشكلة ، لكن يصعب وضعها في روبوت صغير.

عجلة متعددة الاستخدامات ذات قياس ذاتي مع تعليق مستقل ومع تشفير مغناطيسي ، استخدمناه في عام 2018
- تتميز Lidars بمزايا كبيرة: نحصل على رؤية دائرية تقريبًا ونضع مسافات أمام العقبات. من السلبيات ، تجدر الإشارة إلى السعر المرتفع ، وصعوبة محاولة التمييز بين الأشياء الصغيرة البعيدة عن القمامة ، وخوارزمية التعريب المعقدة نسبيًا. تتميز الأرفف الرخيصة (مثل rplidar) بمعدل تحديث منخفض إلى حد ما ودقة زاوي ، كما أنها تخضع للضوء من غيرها من lidars ، rangefinders ، إلخ. في الروبوتات ، يصعب العثور على lidar على المستوى الجانبي لاستخدام خوارزميات SLAM الكلاسيكية ، ولكن على المقدمة تحتوي قواعد الارتفاع لأنظمة التعريب على عدد قليل من الكائنات الثابتة للربط. ومع ذلك ، فقد كان فريق Skoltech يتزلج بنجاح لعدة سنوات باستخدام hokuyo ust-10lx وفي العام الماضي احتل المركز الثاني في المباراة النهائية الأوروبية لمسابقة Eurobot في فرنسا.
- نظرنا أيضًا في نظم بالقصور الذاتي ، لكن في حالتنا لم تكن مناسبة بشكل جيد. التسارع هو صاخبة ، جيروسكوب العائمة ، يمكنك نسيان استخدام البوصلة في الداخل. حتى استخدام مرشح Kalman لا يحقق الدقة المطلوبة. اتضح أنه لا يمكن استخدام IMU إلا بفعالية للتصحيح في فترة زمنية قصيرة للغاية. أقصى قدر من المعلومات المفيدة التي استطعنا الحصول عليها باستخدام pixhawk2 هي الزاوية خلال منعطف حاد (من تصادم ، على سبيل المثال).
- GPS لا يعمل في الداخل ، والدقة دون RTK متر.
- توطين الموجات فوق الصوتية . يمكن العثور على أحد التطبيقات هنا: m.habr.com/en/post/451408 . للأسف ، فإن دقة مهامنا ليست عالية جدًا (+ -2 سم) ، أو أن الحديث المتبادل يؤثر بشدة ، أو إذا كنت تستخدم مستشعرات تحمي من هذا ، يتم الحصول على تردد اقتراع منخفض. يستخدم أحد الفرق في روسيا هذا الحل بنجاح متفاوت ، ويقوم فريق German Turag بنجاح على تقنية مماثلة تم تطويرها داخل المختبر.
- القياس البصري البصري لا يقدم معلومات عن موقف المعارضين بسبب حقيقة أنه لا توجد نقاط كثيرة في هذا المجال والتي سيكون من الممكن التشبث بها بشكل موثوق.
- \ Tof كاميرات ستيريو لها زاوية ضيقة ، والتي لا تسمح إما لتغطية الحقل عندما تكون موجودة على جهاز التتبع المركزي ، أو للحصول على عرض دائري أو مقبول على الأقل عند تثبيته على الروبوت.
- العلامات الائتمانية التي اخترناها والتي سنبحثها بمزيد من التفاصيل.
علامات ائتمانية
التنقل بين العلامات موجود منذ وقت طويل. نظريا بحت ، يمكن أن يكون ما يسمى علامة أي كائن. ولكن هناك العديد من المشاكل عند استخدام:
- القيود بسبب دقة الكاميرا ؛
- عدم موثوقية الاكتشاف عند استخدام اللون كمصدر رئيسي للمعلومات ؛
- الحاجة إلى تحديد اتجاه العلامة ؛
- العلامات منخفضة التباين تعمل بشكل جيد فقط في ضوء جيد ؛
- مطلوب قوة معالجة عالية من المعدات (في الوقت الحقيقي تجهيز الإطارات الواردة).
للتحايل على المشاكل المذكورة أعلاه ، عادة ما تحتاج إلى استخدام شيء بسيط لا لبس فيه للتعرف عليها ، على سبيل المثال ، دائرة ملونة أو مربع (وأحب بطة صفراء).
أنواع مختلفة من العلاماتفي الواقع ، بالإضافة إلى تحديد موضع العلامة ، غالبًا ما تكون هناك حاجة لتحديد تفردها ، على سبيل المثال ، لاكتشاف العديد من الكائنات في وقت واحد. للقيام بذلك ، يمكنك تغيير اللون أو الشكل ، ولكن بعد ذلك سنواجه انخفاضًا سريعًا في موثوقية الاكتشاف.
هذه المشكلة شائعة جدًا وهناك العديد من معايير العلامات. الأكثر شهرة منهم هو رمز الاستجابة السريعة ، ولكن نادراً ما يستخدم لمشاكل التعريب بسبب التكرار والحاجة إلى دقة عالية. وكقاعدة عامة ، تكون جميع العلامات ثنائية اللون (غالبًا b / w) ، ذات شكل بسيط (غالبًا ما تكون مربعة) وترمز المعرّف في حد ذاته بطريقة ما. أشهر علامات التوطين هي Aruco و April Tag و ARToolKit.
أي شخص مهتم بمعرفة المزيد عنها يعد
مقالة مثيرة للاهتمام تقارن أيضًا موثوقية اكتشافها.
في حالتنا ، لدينا العديد من الجوانب الإيجابية لاستخدام العلامات:
- مع إمكانية تثبيت كاميرا ثابتة بزاوية رؤية جيدة ووضع علامات ، لا يتطلب ذلك العثور على أجهزة يصعب العثور عليها وربما يصعب تنفيذها ؛
- يمكن للكاميرا عن بعد تقييم موضع كل الأشياء التي يمكننا وضع علامات عليها ؛
- لا يتم إجراء العمليات الحسابية على الجهاز الموجود على متن الروبوت ، ولكن يتم تنفيذها على جهاز كمبيوتر منفصل (ولكن هناك مشكلة في الموثوقية والتأخير في نقل البيانات) ؛
- القدرة على حل أي مشكلة أخرى مرتبطة بالرؤية.
بعد تحليل الأنظمة المذكورة أعلاه ، استقرنا على اكتشاف العلامات. لقد سمح لنا ذلك ليس فقط بتحرير الأورام الغريبة لدينا على الروبوتات ، ولكن أيضًا للسماح لهم برؤية الوضع بأكمله في الحقل من وجهة نظر عين الطير.
كيف يعمل من خارج منطقة الجزاء
تعد "موثوقية" اكتشاف العلامة مصطلحًا نسبيًا. تتطلب المهام المختلفة مستويات مختلفة من الدقة والاستقرار. يعتمد تضمين هذه المعلمات على مستشعر الفيديو والعدسات وظروف الإضاءة وما إلى ذلك.

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

لذلك تظهر الصور التالية إطارين متتاليين مع نتائج الكشف عن علامة: يتم تغيير اتجاه المحور Z (الأزرق) بمقدار 180 درجة.

www.youtube.com/watch؟v=xzG2jQfxLlYالوصول إلى حالة تنافسية
تغيير الخوارزمية
لتحديد موقع الروبوت في الحقل بدقة ، تحتاج إلى معرفة الموضع الزاوي للكاميرا ، والتحول العام لنظام الإحداثيات وموقع الكاميرا بالنسبة إلى موضع الحقل. للقيام بهذا التحويل ، قمنا بتطوير الخوارزمية الخاصة بنا. نظرًا لأن الشخص يعلق مركز التحكم المركزي يدويًا ، بالإضافة إلى اختلاف الحقول قليلاً عن بعضها البعض ، فلا يمكن دائمًا الحصول على نفس موضع الكاميرا. للإزاحة الزاوية للكاميرا ذات الصلة بالمجال تأثير سلبي للغاية على اكتشاف موضع الروبوتات. الحل الأساسي هو تحديد العديد من العلامات الثابتة التي يمكننا ضبطها قبل المباراة للمعايرة.
توفر مكتبة Aruco في opencv القدرة على تحديد موضع علامة 6dof بالنسبة إلى الكاميرا. في البداية حاولنا استخدامه ، لكن اتضح أنه غير مستقر وغير دقيق. في حالتنا ، عندما يكون موضع الكاميرا معروفًا ، يكون ثابتًا ، وتتحرك الروبوتات (والعلامات المرتبطة بها) على متن طائرة لا تمر عبر نقطة مرفق الكاميرا ، فمن المنطقي أن نقتصر على مهمة اكتشاف موضع ثلاثي الأبعاد (z-const ، x-y ، + دوران حولها) محور واحد z) خلال تثليث نقطة على مستوي بزاوية مرئية.
من المتوقع أن يقلل البعد وزيادة قاعدة التثليث (حجم العلامة مقابل المسافة من مستوى العلامات إلى الكاميرا) من المشكلة التي يتعين حلها من مستوى عدم اليقين والضوضاء في نتائج الكشف.
للقيام بذلك ، بدلا من الوظيفة القياسية
cv::aruco::estimatePoseSingleMarkers(markerCorners, 0.05, cameraMatrix, distCoeffs, rvecs, tvecs);
التي ، بناءً على الزوايا الموجودة للعلامات ، تحدد الموضع 6dof من العلامة ، فقد كتبنا مقدِّر موضعنا ، وفقًا للمبادئ التالية:
- ومن المعروف موقف الكاميرا 3D مقدما.
- ومن المعروف ارتفاع علامة مقدما.
- نتيجة للاكتشاف ، تُعرف البيكسلات (v ، u) لأركان العلامة الأربعة ؛
- نتيجة لمعايرة الكاميرا ، يتم تعريف مصفوفة الكاميرا 4x4 ؛
- بمعرفة "مصفوفة الكاميرا" ، وموضع الكاميرا واتجاهها ، وموقع زوايا البكسل الخاصة بالعلامة ، يمكنك الحصول على إسقاط موضع الزوايا في الفضاء ثلاثي الأبعاد على المستوى z الذي توجد عليه رؤوس العلامة (يتم تحديد ارتفاع العلامة حسب عددها) ؛
- عند القيام بالخطوة السابقة لجميع زوايا العلامات الأربعة ومعدل البيانات التي تم الحصول عليها ، يمكن الحصول على إحداثيات ثلاثية الأبعاد لرؤوس العلامات في نظام إحداثيات الكاميرا ؛
- عند تطبيق التحويل من كاميرا SK إلى SK في الملعب ، يتم الحصول على إحداثيات العلامة في حقل SK.
حل مشاكل الإضاءة والأداء
يعتمد استقرار وسرعة اكتشاف العلامات بشدة على ظروف الإضاءة البيئية وهيكل الخلفية ، وكلما زاد تباين الكائنات في الإطار ، كلما طالت مدة المعالجة. نظرًا لأن قواعد الإضاءة والخلفية لـ Eurobot غير منظمة بأي شكل من الأشكال ، فإنها يمكن أن تتغير بشكل كبير من وقت لآخر ، وقد يكون هناك حقول أخرى ، أشخاص في الخلفية. على وجه الخصوص ، يمكن توقع التعرض الإضافي من روبوتات العدو أو وميض الكاميرا أو الأضواء الكاشفة التي تسقط في مجال رؤية الكاميرا.
لتقليل تأثير الإضاءة البيئية على استقرار اكتشاف العلامات ، تم تطوير "تصميم" خاص تم فيه استخدام علامات aruco المقلوبة. يتم استبدال الجزء المظلم بفيلم عاكس ، ويتم تثبيت الإضاءة الخلفية LED النشطة مباشرة على الكاميرا. تتم معالجة الصور بطريقة سلبية ، بينما يكون تباين الخلفية أقل بكثير من تباين علاماتها.
تتيح لك زيادة تباين العلامة تحديد المناطق ذات الاهتمام بشكل فعال على الإطار والبحث عن علامات فقط فيها ، وليس خلال الإطار ، مما يحسن الإنتاجية بشكل كبير.
مقارنة اختلافات التباين بين العلامة القياسية والعلامة ذات السطح العاكسنختار الحديد
نظرًا لأن ظروف الإضاءة غير محددة ، ويمكن أن تكون سرعات الروبوت كبيرة جدًا ، منذ البداية كنا نبحث عن كاميرا ذات مصراع عالمي ، وليس مع مصراع Rolling. الفرق هو أن العمومي يجمع معلومات حول سطوع البيكسلات في نفس الوقت ، والملف المتداول سطراً سطراً ، وقد يكون هناك تشوهات في الشكل الهندسي للكائنات المتحركة.
الكاميرا الأكثر تكلفة هي oCam-1mgn ، والتي استخدمناها لمدة عامين. ومع ذلك ، فهو أبيض وأسود ودقة 1Mpx فقط ، والذي يقع في الحد السفلي من دقة مقبولة (عدد البكسل في الصورة ، لكل 1 "بكسل" من العلامة).
في البداية ، تم اعتبار الكاشف على نفس اللوحة الفردية مثل الروبوتات نفسها - odroid xu4 ، وكانت سرعة العمل حوالي 20 إطارًا في الثانية ، ومع ذلك ، فإن الرغبة في تعليق وظائف إضافية في مركز التحكم المركزي وفهم الحاجة إلى كاميرا أفضل أدت إلى استبدال الكمبيوتر بجهاز Intel أكثر قوة Nuc ، والكاميرا ... الكاميرا التي ما زلنا نلتقطها للموسم الجديد.
نبدأ المشروع
من المفترض كذلك أن لديك بالفعل تكوين ROS Kinetic أو Melodic.
أول ما عليك فعله هو تنزيل وتثبيت OpenCV 3 و Eigen3 والمشروع
https://bitbucket.org/eurobot1718/ocam_usb_cam (لكاميرا Ocam) ، أو استخدام مشروع آخر مشابه في البنية لنشر البيانات في المواضيع.
نقوم باستنساخ المستودع بمشروع كاشف arude:
https://gitlab.com/eurobot2019/aruco_detector و gui لذلك
https://github.com/alexpostnikov/aruco-guiبعد تثبيت المشاريع ، تحتاج إلى معايرة الكاميرا والحصول على مصفوفة التشتت ومصفوفة تشويه الكاميرا ، ثم لف كل شيء في ملف yaml "camera_params.yml". مثال بسيط هو استخدام رقعة الشطرنج.
اربط بالتنفيذ في C ++ ، حيث تحتاج فقط إلى جمع وتحديد معلمات اللوحة والكاميرا ، وكذلك اسم ملف الإخراج.
الإعدادات الرئيسية موجودة في ملف aruco_detector_params.yml:
- len_of_cube_markers و width_marker طول وعرض العلامات بالأمتار ؛
- markers_height - مقارنة العلامة وارتفاعها ؛
- علامات - صفيف يصف ما إذا كانت علامة معينة تنتمي إلى روبوت معين. يشير إلى العلامات في اتجاه عقارب الساعة. وفي حالة المعارضين ، نظرًا لأن اتجاههم ليس مهمًا بالنسبة لنا ، فإن ترتيب العلامات في التكوين ليس مهمًا أيضًا. تحتاج فقط إلى تحديد رمز علامة. لدينا أيضًا علامات على الغطاء العلوي ، يتم تمييز أرقامها بشكل منفصل ؛
- static_markers_ids - العلامات التي يتم البحث عنها أثناء عملية المعايرة ؛
- markers_position - قاموس مع إزاحة وتدوير كل علامة بالنسبة إلى مركز الروبوت ؛
- لا يمكن لمس سطوع السطوع - يتم استخدامه في المعايرة التلقائية الأولية للضوء ؛
- camera_position_yellow ومعلمة مماثلة بمثابة الإعدادات الافتراضية في حالة فشل المعايرة.
مصفوفة التحويل من نظام إحداثيات الكاميرا إلى نظام الإحداثيات الميداني موجودة في ملف convert_from_cam_to_map.xml
بعد كل الإعدادات ، تحتاج أخيرًا إلى تشغيله. يتم تعيين المسارات إلى الملف مع المعلمات ، والجانب الافتراضي والمسار إلى جهاز الفيديو في aruco_detector_debug.launch ، والتي سنبدأ. ولكن من أجل الإطلاق الكامل ، من الأفضل استخدام البرنامج النصي bash script aruco.bash ، والذي ، بالإضافة إلى جهاز الكشف ، يطلق واجهة المستخدم الرسومية (127.0.0.1►000). هنا يمكننا اختيار الجانب ، وبدء المعايرة والتحكم في النظام. في النافذة الثانية ، تكون مناطق الاهتمام والعلامات التي تم العثور عليها مرئية.

الآن في الموضوعات: "/ escape_robot1 / aruco" ، "/ crime_robot2 / aruco" ، "/ big_robot / aruco" ، "/ small_robot / aruco" سيتم نشر موضع الروبوتات التي تم العثور عليها.
الصيحة! تمكنا من الحصول على إحداثيات الروبوتات. هذا فقط ، كما ترون ، هم مخطئون. هذا لأنه قبل الاستخدام ، من الضروري معايرة موضع الكاميرا بالنسبة إلى الحقل. لهذا فمن الضروري
- اضبط المكعبات في زوايا الحقل ، في حين أنه من المهم أن يتم تشغيلها بواسطة الجوانب المحددة في التكوين
- اضبط إمالة الكاميرا بحيث تسقط كل المساحة المطلوبة في الإطار
- ضبط سطوع الإضاءة الخلفية حتى اكتشاف علامة موثوق
- في واجهة المستخدم الرسومية ، حدد الجانب المطلوب وانقر فوق "معايرة"
- ثم يجب تغيير الحالة من "مكعبات البحث الثابتة" إلى "مكعبات البحث"
نجعل علامات و TsUS
وفقًا للقواعد ، يمكننا تلوين روبوتاتنا كما نريد ، وبالإضافة إلى ذلك ، نستخدم مكانًا خاصًا على روبوتاتنا وغيرها من روبوتاتنا ، حيث يمكنك وضع شيء يصل حجمه إلى 10 × 10 × 8 سم. يوجد مكان خاص على غلاف الروبوت ، وله ارتفاع ثابت ورؤية أفضل لمركز التحكم المركزي ، إلا عندما يكون الروبوت تحت الكاميرا.
ارتفاع وأبعاد المنارات على الروبوتلذلك ، باعتبارنا العلامات الرئيسية لأجهزة الروبوت الخاصة بنا ، فإننا نستخدم مواز موازاة 10x10x108 سم تم لصقها على 4 جوانب من aruco ، بالإضافة إلى علامات إضافية على الجانب العلوي من الروبوتات لدينا لتوطينها في منطقة معقدة أسفل الكاميرا.
بما أننا لا نستطيع التمسك بأي شيء بغطاء العدو ، فقد قررنا عمل علامات على شكل هرم مقطوع لتوسيع نطاق الرؤية. وكما ترون - أصبحت العلامة أفضل بكثير.

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

توجد هنا نماذج لطباعة المكعب والهرم وجبل التزاوج
.تم لصق هذا المكعب بعاكس (نستخدم اللون الأبيض AVERY
عرض DENNISON V6700B بعرض 50 ملم ، على الرغم من أنه أغلى ثمناً ، إلا أنه يعمل عدة مرات أفضل من الصينيين الرخيصين) ، ويتم لصق العلامات نفسها فوقها. أسهل طريقة للقيام بذلك هي قطع علامات على المخطط ، على الرغم من أنه يمكنك قصها من الورق أو الفيلم لبضع ساعات من التهدئة (تتكون المجموعة من 16 علامة).
إليك مجموعة أدوات العام الماضي.
مختلف "الأجيال" من علاماتناكما يمكن استخدامها كعلامات ثابتة للمعايرة. للقيام بذلك ، ضعهم في زوايا الحقل البعيدة ثم انقر فوق معايرة.
تجميع جهاز تتبع مركزي
ما هو مطلوب:
مجلس الكمبيوتر واحد. هذه الرسومات مصممة لموقع Intel NUC ، ولكن قد تفكر في وضعها في العلبة ، على سبيل المثال ، odroid xu4 أو التوت pi4.
أوكام . في الواقع الكاميرا ، والتي كل شيء يسير. لقد قمنا بتغيير العدسة القياسية إلى
2.5 ملم للحصول على زاوية رؤية واسعة
شاشة العرض (waveshare 7inch HDMI LCD (B)) . بفضل مساعدتها ، يتم إجراء المعايرة وعدد من العمليات الأخرى.
قطاع الصمام. تستخدم لإلقاء الضوء على سطح علامات عاكسة. من الأفضل استخدام ألمع المتاحة.
بطارية 16.8 فولت يبو. نحن نستخدم 4s5200mAh. هذه هي نفس البطاريات الموجودة على الروبوت ، لأنها مريحة وتستمر لفترة طويلة.
تنحى محول العاصمة العاصمة. لتشغيل قطاع الصمام. يتم تشغيل Nuc وجهاز التوجيه مباشرة بواسطة البطارية ، نظرًا لأن جميع وحدات الطاقة موجودة بالفعل.
أجزاء مطبوعة. هذا ، على وجه الخصوص ، جبل الكاميرا ، وعرض وزوايا لتجميع القضية:
https://yadi.sk/d/swUJUwxTnTVYFwتفاصيل السكن. في حالتنا ، كانت ورقة الكربون 2 مم. لكن هذا ليس هو الخيار الأفضل ، حيث أنه موصل بالكربون ، يصعب معالجته وليس خفيفًا ، على سبيل المثال ، زجاج شبكي - ربما يكون الخيار الأسهل. على الرغم من أصعب بكثير. العثور على الرابط أعلاه.
جهاز التوجيه (ZYXEL keenetic إضافي). اضطررنا لإزالته من العلبة حتى نلائم الحجم والوزن. لكن في الحالة العامة ، لا نوصي بشدة بهذا.
الكثير من الأشياء الصغيرة. مسامير M3 * 8 ~ 40pcs ، رفوف لوحات الدوائر المطبوعة 3 × 10 ~ 12pcs ، الأسلاك ، مفكات البراغي ، الواغو ، إلخ.
جمعية
تحتاج أولاً إلى إعداد الزوايا المطبوعة والضغط عليها. قد يكون هناك عدد قليل من المواد الملائمة وسيحتاج الأمر إلى لصقها قليلاً أو استخدام
المكسرات المنصهرةبعد ذلك ، تحتاج إلى تثبيت هذا الجزء في الأساس. يوفر وضعًا واضحًا لمركز التحكم المركزي في مكانه.

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


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

نضع جهاز كمبيوتر واحد لوحة وجهاز التوجيه. في حالتنا ، هذه هي NUC و ZYXEL keenetic اضافية.


ونحصل على نظام التتبع المجمّع. يبقى فقط لضبط إمالة الكاميرا.
تصحيح الترجمة في 2018ما هي النتيجة
لذلك أخبرنا كل الأسرار التي تسمح لنا بتكرار نظامنا بأيدينا. باستخدامه ، يمكنك بسرعة وبدون أي تعديلات جعل نظامك لتوطين الروبوت في حقل Eurobot. ومع الحد الأدنى من التعديلات ، أصبح نظام التتبع عالميًا وموثوقًا به إلى حد ما من أجل شيء ما. ومع ذلك ، تجدر الإشارة إلى أنه عند استخدام aruco 8x8 ، بحجم علامة 10x8 سم وكاميرا في 1Mpx ، لا يمكن زيادة دائرة نصف قطر الكشف بشكل خاص ، ومع ذلك ، إذا كانت لدينا قيود صارمة على الحجم والأداء ، فنحن عمومًا نستخدم معدات أكثر إثارة للاهتمام.
هذا العام ، ذكرت القواعد استخدام aruco 4x4 ، وكذلك نطاقاتها غير المتقاطعة لكل جانب من الحقل. في المستقبل القريب ، نخطط لدمج هذا في حلنا حتى لا نخاف في المستقبل من تقاطع أرقام العلامات. آخر يجب أن يكون ، ولكن ما لم يتم بعد هو المعايرة اليدوية في هذا المجال.
في المقال التالي ، سوف نتحدث عن المستوى الأدنى من الروبوتات ، وكيف يتم النظر في حركيات الروبوتات ، وكيف نتحكم في الخوادم والمحركات والأقماع عند العمل مع freertos.
اريد ان اقول شكرا
أليكسي بوستنيكوف (الذي ربما كان يستحق نشره جميعًا) - بشكل عام ، كل التعليمات البرمجية في هذه المقالة والمساعدة المباشرة في كتابة المقال.
إيجور ألكساندروف - لجميع الرسومات والنماذج ، والمساعدة في كتابة المقال و 34 فواصل.
تمارا سينيلنيكوفا - للمساعدة في كتابة المقال.
وبقية الفريق!
يتبقى أقل من 4 أشهر قبل بدء المسابقة ، لكن فريق سبيربنك يوروبوت لا يزال مفتوحًا أمام المشاركين الجدد. برقية لدينا:
https://t.me/SetUpSberالمقالات السابقة:
ما هو شائع بين مسدس ، غسالات وروبوت مستقلكومة الملاحة الخاصة. أفضل من روس؟