جدول المحتويات:
- الخطوة 1: تجميع السيارة
- الخطوة 2: تركيب المحركات
- الخطوة 3: إنشاء تصميم Vivado Block
- الخطوة 4: التواصل مع LiDAR
- الخطوة 5: ملء الشبكة بالعقبات
- الخطوة السادسة: التواصل مع المحركات
- الخطوة 7: تخطيط المسار
فيديو: مركبة مستقلة: 7 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
هذا المشروع عبارة عن روبوت يتنقل بشكل مستقل ويحاول الوصول إلى موقع الهدف مع تجنب العقبات في طريقه. سيتم تجهيز الروبوت بمستشعر LiDAR الذي سيتم استخدامه لاكتشاف الأشياء في محيطه. عندما يتم اكتشاف الكائنات ويتحرك الروبوت ، سيتم تحديث خريطة الوقت الفعلي. سيتم استخدام الخريطة لحفظ مواقع العوائق التي تم تحديدها. بهذه الطريقة ، لن يقوم الروبوت بإعادة محاولة المسار الفاشل إلى موضع الهدف. سيحاول بدلاً من ذلك المسارات التي لا تحتوي على عوائق أو مسارات لم يتم التحقق منها بعد بحثًا عن عقبات.
سوف يتحرك الروبوت بواسطة عجلتين تعملان بمحرك DC وعجلتين متحركتين. سيتم توصيل المحركات بأسفل منصة دائرية. سيتم التحكم في المحركات بواسطة اثنين من السائقين. سيتلقى سائقو المحركات أوامر PWM من معالج Zynq. تُستخدم جميع أجهزة التشفير الموجودة على كل محرك لتتبع وضع المركبات واتجاهها. سيتم تزويد النظام بأكمله ببطارية LiPo.
الخطوة 1: تجميع السيارة
يتم تشغيل الروبوت بواسطة محركين مثبتين على العجلات الجانبية ثم يتم دعمه بشكل إضافي بواسطة عجلتين ، واحدة في الأمام والأخرى في الخلف. تم تصنيع المنصة وحوامل المحرك من صفائح الألمنيوم المعدنية. تم شراء محور المحرك لتوصيل العجلات بالمحرك. ومع ذلك ، يلزم عمل مقرن وسيط مخصص لأن نمط ثقب المحور كان مختلفًا عن نمط ثقب العجلة.
كان المحرك المحدد عبارة عن محرك Port Escap 12V DC مع ترميز مدمج. يمكن شراء هذا المحرك على موقع ئي باي بسعر معقول جدًا (انظر فاتورة المواد). كلمات البحث "12V Escap 16 Coreless Geared DC Motor with Encoders" على موقع ئي باي للعثور على المحرك. عادة ما يكون هناك عدد لا بأس به من البائعين للاختيار من بينهم. يتم عرض المواصفات والدبابيس للمحركات في الرسوم البيانية أدناه.
بدأ تجميع الروبوت بنموذج CAD لتصميم الهيكل. يُظهر النموذج أدناه المنظر العلوي لملف تعريف الشكل ثنائي الأبعاد المصمم للهيكل.
يُقترح أن يتم تصميم الهيكل كملف تعريف ثنائي الأبعاد بحيث يمكن تصنيعه بسهولة. قمنا بقص لوح من الألومنيوم مقاس 12 بوصة × 12 بوصة في شكل الهيكل باستخدام قاطع بنفث الماء. يمكن أيضًا قطع منصة الهيكل بمنشار شريطي.
الخطوة 2: تركيب المحركات
الخطوة التالية هي جعل المحرك يتصاعد. يُقترح أن تكون حوامل المحرك مصنوعة من صفائح الألمنيوم المعدني بزاوية 90 درجة. باستخدام هذا الجزء ، يمكن توصيل المحرك ناتئًا على وجه واحد من الصفائح المعدنية باستخدام الاثنين
يمكن ربط فتحات M2 للمحرك والوجه الآخر بالمنصة. يجب حفر ثقوب في حامل المحرك بحيث يمكن استخدام البراغي لربط المحرك على حامل المحرك وتركيب المحرك على المنصة. يمكن رؤية حامل المحرك في الشكل أعلاه.
بعد ذلك ، يتم وضع Pololu Motor Hub (انظر قائمة المواد) على عمود المحرك ويتم إحكام ربطه بمسمار التثبيت المزود ومفتاح Allen. لا يتطابق نمط الفتحة لمحور محرك Pololu مع نمط الفتحة لعجلة VEX ، لذا يجب عمل قارنة وسيطة مخصصة. يُقترح أن يتم استخدام صفائح الألمنيوم المعدنية الخردة المستخدمة في صنع منصة الهيكل في صنع قارنة التوصيل. يظهر نمط الثقب وأبعاد هذين الزوجين في الشكل أدناه. لا يهم القطر الخارجي والشكل (لا يلزم أن يكونا دائرة) لمقرنة الألمنيوم المخصصة طالما أن جميع الثقوب مناسبة للجزء.
الخطوة 3: إنشاء تصميم Vivado Block
- ابدأ بإنشاء مشروع Vivado جديد وحدد Zybo Zynq 7000 Z010 كجهاز مستهدف.
- انقر بعد ذلك على إنشاء تصميم كتلة جديد ، وأضف Zynq IP. انقر نقرًا مزدوجًا على Zynq IP واستورد إعدادات XPS المتوفرة لـ Zynq. ثم قم بتمكين UART0 مع MIO 10..11 ضمن علامة تبويب تكوينات MIO ، وتأكد أيضًا من تمكين Timer 0 و Watchdog timer.
- إضافة اثنين من AXI GPIOS لتصميم الكتلة. بالنسبة لـ GPIO 0 ، قم بتمكين القناة المزدوجة واضبط كلاهما على جميع المخرجات. اضبط عرض GPIO للقناة من 1 إلى 4 بتات وللقناة 2 إلى 12 بت ، ستُستخدم هذه القنوات لضبط اتجاه المحرك وإرسال كمية العلامات التي يقيسها المشفر إلى المعالج. بالنسبة إلى GPIO 1 ، اضبط قناة واحدة فقط على جميع المدخلات بعرض قناة 4 بت. سيتم استخدام هذا لتلقي البيانات من أجهزة التشفير. اجعل جميع منافذ GPIO خارجية.
- بعد ذلك أضف مؤقتين من AXI. اجعل منافذ pwm0 على كلا المؤقتين خارجيين. ستكون هذه هي pwms التي تتحكم في السرعة التي تدور بها المحركات.
- أخيرًا ، قم بتشغيل أتمتة الكتلة وأتمتة الاتصال. تحقق من أن تصميم الكتلة لديك يطابق التصميم المقدم.
الخطوة 4: التواصل مع LiDAR
يستخدم هذا LiDAR بروتوكول SCIP 2.0 للتواصل من خلال UART ، يصف الملف المرفق البروتوكول بأكمله.
للتواصل مع LiDAR سنستخدم UART0. يُرجع LiDAR 682 نقطة بيانات تمثل كل منها المسافة إلى كائن في تلك الزاوية. يقوم LiDAR بالمسح بعكس اتجاه عقارب الساعة من -30 درجة إلى 210 درجة بخطوة 0.351 درجة.
- يتم إجراء جميع الاتصالات إلى LiDAR بأحرف ASCI ، راجع بروتوكول SCIP للتنسيق المستخدم. نبدأ بإرسال أمر QT لتشغيل LiDAR. نرسل بعد ذلك الأمر GS عدة مرات ونطلب 18 نقطة بيانات في وقت واحد للقدم في UARTS 64 بايت FIFO. يتم بعد ذلك تحليل البيانات التي يتم إرجاعها من LiDAR وتخزينها في مجموعة SCANdata العالمية.
- كل نقطة بيانات مخزنة هي 2 بايت من البيانات المشفرة. سيؤدي تمرير هذه البيانات إلى وحدة فك التشفير إلى إرجاع مسافة بالمليمترات.
ستجد في ملف main_av.c الوظائف التالية للتواصل مع LiDAR
sendLIDARcmd (أمر)
- سيؤدي هذا إلى إرسال سلسلة الإدخال إلى LiDAR عبر UART0
recvLIDARdata ()
- سيستقبل هذا البيانات بعد إرسال أمر إلى LiDAR وتخزين البيانات في RECBuffer
requestDistanceData ()
- سترسل هذه الوظيفة سلسلة من الأوامر لاسترداد جميع نقاط البيانات البالغ عددها 682. بعد تلقي كل مجموعة من 18 نقطة بيانات ، يتم استدعاء parseLIDARinput () لتحليل البيانات وتخزين نقاط البيانات بشكل متزايد في بيانات SCAN.
الخطوة 5: ملء الشبكة بالعقبات
GRID المخزن عبارة عن صفيف ثنائي الأبعاد حيث تمثل كل قيمة فهرس موقعًا. البيانات المخزنة في كل فهرس هي إما 0 أو 1 ، لا توجد عقبة وعقبة على التوالي. يمكن تغيير المسافة المربعة بالمليمترات التي يمثلها كل فهرس بتعريف GRID_SCALE في ملف vehicle.h. يمكن أيضًا تغيير حجم المصفوفة ثنائية الأبعاد للسماح للمركبة بمسح مساحة أكبر عن طريق تعديل تعريف GRID_SIZE.
بعد مسح مجموعة جديدة من بيانات المسافة من تحديث LiDAR ، يتم استدعاء الشبكة (). سيؤدي ذلك إلى تكرار كل نقطة بيانات مخزنة في مصفوفة بيانات المسح الضوئي لتحديد الفهارس الموجودة في الشبكة التي بها عوائق. باستخدام الاتجاه الحالي للسيارة ، يمكننا تحديد الزاوية التي تتوافق مع كل نقطة بيانات. لتحديد مكان وجود العائق ، اضرب ببساطة المسافة المقابلة في cos / sin الزاوية. ستؤدي إضافة هاتين القيمتين إلى موقع المركبات الحالي x و y إلى إرجاع الفهرس في شبكة العائق. سيسمح لنا تقسيم المسافة التي تم إرجاعها بواسطة هذه العملية بواسطة GRID_SCALE بتغيير حجم المسافة المربعة لكل مؤشر.
توضح الصور أعلاه البيئة الحالية للمركبة والشبكة الناتجة.
الخطوة السادسة: التواصل مع المحركات
للتواصل مع المحركات ، نبدأ بتهيئة GPIOs للتحكم في الاتجاه الذي يدور فيه المحرك. ثم تتيح لنا الكتابة مباشرة إلى العنوان الأساسي لـ PWMs في AXI Timer تعيين أشياء مثل الفترة ودورة العمل التي تتحكم مباشرة في السرعة التي يدور بها المحرك.
الخطوة 7: تخطيط المسار
سيتم تنفيذها في المستقبل القريب.
باستخدام وظيفة الشبكة والمحرك الموصوفة سابقًا ، من السهل جدًا تنفيذ خوارزميات مثل A *. أثناء تحرك السيارة ، ستستمر في فحص المنطقة المحيطة وتحديد ما إذا كان المسار الذي تسير عليه لا يزال صالحًا
موصى به:
مركبة Super FAST RC ذات التأثير الأرضي (Ekranoplan): 5 خطوات (بالصور)
مركبة Super FAST RC ذات التأثير الأرضي (Ekranoplan): أنت تعرف كيف ، أثناء الهبوط ، تحلق الطائرات على ارتفاع بضعة أقدام فوق الأرض لفترة من الوقت قبل أن تضرب عجلاتها المدرج بالفعل؟ هذا ليس فقط لمنح الركاب هبوطًا سلسًا ولكنه أيضًا نتيجة طبيعية للتأثير الأرضي ، حيث
طائرة بدون طيار مستقلة مزودة بكاميرا تعمل بالأشعة تحت الحمراء لمساعدة المستجيبين الأوائل: 7 خطوات
طائرة بدون طيار مستقلة مزودة بكاميرا تعمل بالأشعة تحت الحمراء لمساعدة المستجيبين الأوائل: وفقًا لتقرير منظمة الصحة العالمية ، تقتل الكوارث الطبيعية كل عام حوالي 90 ألف شخص وتؤثر على ما يقرب من 160 مليون شخص في جميع أنحاء العالم. تشمل الكوارث الطبيعية الزلازل ، وأمواج تسونامي ، والانفجارات البركانية ، والانهيارات الأرضية ، والأعاصير ، و
حلقات NeoPixel متعددة مستقلة: 3 خطوات
حلقات NeoPixel المستقلة المتعددة: لذلك قمت ببناء هذا المشروع لرؤية عمل 12 LED Pixel. لقد وجدت هذا مع 16 هنا. ورأيت هذا السوار المتكامل ، لكنني أردت أن أرى كيف ستعمل الخواتم المختلفة والأحجام المختلفة بشكل مستقل عن بعضها البعض. لذا بدلاً من ربط Dig
مركبة ذات عجلة واحدة ذاتية التوازن ذاتية الصنع: 8 خطوات (بالصور)
مركبة ذات عجلة واحدة ذاتية التوازن ذاتية الصنع: مهتمة ببعض اتجاهات منتجات الموازنة الذاتية مثل segway و solowheel.yes ، يمكنك الذهاب إلى أي مكان بركوب العجلة الخاصة بك دون تعب. ولكن من الرائع أن تحصل عليه بنفسك. حسنًا ، لنقم ببنائه
كيفية ضبط مركبة سكة حديدية عالية السكة على المسار: 10 خطوات (بالصور)
كيفية ضبط مركبة سكة حديدية عالية السكة على المسار: احتياطات السلامة: يجب على الشخص الذي يركب الشاحنة عالية السكة على السكة والشخص الذي يساعده ارتداء ملابس عالية الوضوح (مثل سترة ، سترة ، معطف) حتى يمكن رؤيته من خلال حركة قدوم محتملة. يجب أيضًا ارتداء قبعة صلبة وقفازات من أجل