جدول المحتويات:

سيارة RC يتم التحكم فيها بالواقع الافتراضي: 9 خطوات
سيارة RC يتم التحكم فيها بالواقع الافتراضي: 9 خطوات

فيديو: سيارة RC يتم التحكم فيها بالواقع الافتراضي: 9 خطوات

فيديو: سيارة RC يتم التحكم فيها بالواقع الافتراضي: 9 خطوات
فيديو: كيف تصنع سيارة كرتونية تتحكم فيها آليا 2024, شهر نوفمبر
Anonim
Image
Image

هل سبق لك أن رغبت في الانكماش وتجريب مركبة مثل Innerspace أو Fantastic Voyage؟ حسنًا ، أعتقد أن هذا أقرب ما يكون إليك في غضون مهلة قصيرة!

هنا هو الملعب:

سيارة Real-Life تعمل بالتحكم عن بعد يتم تجريبها من وحدة تحكم قيادة للواقع الافتراضي. هذا يعني أنك تقوم بالربط على سماعة رأس VR ، وقلب مفتاحًا على سيارة RC ، ثم يمكنك القيادة من VR مع بث فيديو مباشر مباشرة إلى وجهك.

هناك أشياء قمت بتنفيذها ويمكنك التحكم بها في سيارة الواقع الافتراضي.

  1. عجلات
  2. بوق
  3. أضواء

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

للحصول على الريبو الكامل والمزيد من المعلومات ، تحقق من جيثب وموقع الويب الخاص بي!

الخطوة 1: المواد والأدوات

المواد والأدوات
المواد والأدوات
المواد والأدوات
المواد والأدوات

ميكانيكي:

طقم هيكل دفع رباعي

الكهرباء:

  • التشفير العجلة
  • بطارية 3S 1300mAh
  • اردوينو اونو
  • درع محرك اردوينو
  • الجرس الكهربائي بيزو
  • LED صغير
  • موصلات XT60
  • دفعة / باك المحول

الحاسوب:

  • أي نظام كمبيوتر مضمن: Raspberry Pi و Jetson Nano وما إلى ذلك.
  • كاميرا USB (مفضل - كاميرا 180 درجة)

أدوات / إضافي:

  • لحام حديد
  • بعض إعداد VR - لديّ Oculus Rift
  • المقياس المتعدد

الخطوة الثانية: بناء السيارة

بناء سيارة
بناء سيارة
بناء سيارة
بناء سيارة
بناء سيارة
بناء سيارة

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

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

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

الخطوة 3: دوائر اللحام

دوائر اللحام
دوائر اللحام
دوائر اللحام
دوائر اللحام

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

أثناء القيام بذلك ، يجب عليك أيضًا معايرة محول باك الخاص بك لإخراج الجهد الصحيح. يأخذ كل من Raspberry Pi و Jetson Nano 5 فولت ، لكن بطاريتنا تبلغ 11.1 فولت. لذلك ، نحن بحاجة للتأكد من أننا لا نقلي إلكترونياتنا. للقيام بذلك ، قم بتوصيل البطارية في جانب الإدخال من محول باك. أثناء توصيل البطارية ، استخدم جهاز القياس المتعدد لقياس جانب الإخراج لمحول باك. استخدم مفكًا صغيرًا مسطح الرأس لتشغيل مقياس الجهد على محول باك حتى يصبح جهد الخرج 5 فولت. بمجرد أن يكون الإخراج صحيحًا ، لن تضطر إلى تشغيل مقياس الجهد بعد الآن.

الخطوة 4: تثبيت التبعيات على النظام المضمن

تثبيت التبعيات على النظام المضمن
تثبيت التبعيات على النظام المضمن

ليس هناك الكثير للقيام به هنا ، ولكن لا يزال مهمًا للغاية.

أولاً ، تأكد من الاتصال بالموجه الذي ستستخدمه حتى يتمكن من الاتصال تلقائيًا من الآن فصاعدًا.

ثم افتح Terminal واكتب ما يلي:

sudo apt التحديث

sudo apt install openssh-server

sudo apt install python-pip pip install numpy pip install opencv-python pip install pyzmq

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

udevadm info -a -n / dev / ttyUSB1 | grep '{serial}' | رئيس -n1

سيؤدي هذا إلى إخراج قيمة للرقم التسلسلي ، والمضي قدمًا ونسخ هذه القيمة.

نحتاج بعد ذلك إلى تحرير (أو إنشاء إذا لم يكن موجودًا) ملفًا يسمى "99-usb-serial.rules". هذا الملف موجود في مسار الملف التالي "/etc/udev/rules.d/99-usb-serial.rules". كما ذكرت ، إذا كان هذا الملف غير موجود ، فما عليك سوى إنشاؤه ولصقه في السطر التالي مع استبدال VALUE_FROM_ABOVE بالقيمة السابقة.

SUBSYSTEM == "tty" ، ATTRS {serial} == "VALUE_FROM_ABOVE" ، SYMLINK + = "arduino_0"

هذا يخبر نظام التشغيل أنه كلما رأى هذا الرقم التسلسلي المحدد يطلق عليه arduino_0.

آخر شيء تفعله هنا هو تنزيل pushArucoVideoPullCommands.py ووضعه في مكان يسهل الوصول إليه. أود أن أوصي بالدليل الرئيسي للمستخدم الخاص بك ، حيث سننتهي عندما نقوم بـ SSH في النظام المضمن لاحقًا.

الخطوة 5: إعداد عنوان IP الثابت

قم بإعداد عنوان IP الثابت
قم بإعداد عنوان IP الثابت

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

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

انتقل إلى قسم المسؤول في جهاز التوجيه الخاص بك ، وعادةً (بالنسبة لمعظم أجهزة التوجيه) يتم ذلك عن طريق فتح مستعرض ويب والانتقال إلى "192.168.1.1". سيطلب منك تسجيل الدخول ، واسم المستخدم القياسي وكلمة المرور لمعظم أجهزة التوجيه هو "admin".

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

تأكد من ضبط عنوان IP الخاص بالنظام المضمن على 192.168.1.122 يمكن تعيين عنوان IP الخاص بالمحطة الأرضية على أي شيء.

الخطوة 6: قم بتحميل الكود إلى Arduino

قم بتحميل الكود إلى Arduino
قم بتحميل الكود إلى Arduino

لتحميل كود اردوينو ، نحتاج أولاً إلى تثبيت مكتبة للعمل مع درع المحرك.

في Arduino IDE الخاص بك ، انتقل إلى Sketch-> Include Library-> Manage Libraries… ثم ابحث عن Adafruit Motor Shield Library. قم بتثبيت هذه المكتبة ، ثم قم بتحميل الكود إلى اردوينو الخاص بك ، ولا يلزمك أي شيء آخر.

الخطوة 7: إرفاق الدوائر والكمبيوتر بالسيارة

إرفاق الدوائر والكمبيوتر بالسيارة
إرفاق الدوائر والكمبيوتر بالسيارة

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

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

الخطوة 8: إعداد بيئة الواقع الافتراضي

إعداد بيئة الواقع الافتراضي
إعداد بيئة الواقع الافتراضي

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

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

تحتاج فقط إلى تنزيل الملف وفك ضغطه باستخدام بناء عالم الوحدة والاستعداد لتشغيل VR_Bot.exe.

الخطوة 9: قم بتشغيلها معًا

قم بتشغيلها معًا
قم بتشغيلها معًا
قم بتشغيلها معًا
قم بتشغيلها معًا

الآن ، بعد أن جهزنا السيارة ، والمحطة الأرضية كلها متصلة وجاهزة للانطلاق ، كيف يمكننا فعلاً تشغيل هذا الولد الشرير؟ حسنًا ، من وجهة نظر المحطة الأرضية ، كل ما عليك فعله هو تشغيل ملف VR_Bot.exe الذي رأيناه سابقًا.

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

SSH تعني Secure Shell وهو بروتوكول للوصول إلى الأنظمة البعيدة بأمان. في حالتنا ، سيمنحنا الوصول إلى النظام المضمن من المحطة الأرضية. انقر هنا لمعرفة المزيد.

تحتاج إلى معرفة اسم المستخدم الذي قمت بإعداد نظامك المضمن به. بالنسبة إلى Raspberry Pi ، اسم المستخدم الافتراضي هو "pi" وكلمة المرور "raspberry".

بمجرد التثبيت ، افتح Terminal واكتب ما يلي:

ssh {Embedded System's username}@192.168.1.122

سيؤدي هذا إلى فتح محطة طرفية في النظام المضمن.

بمجرد الوصول إلى هناك ، تحتاج فقط إلى تنفيذ نص Python الذي قمنا بنسخه سابقًا.

python /path/to/pushArucoVideoPullCommands.py

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

أنت بعد ذلك جيد لبدء القيادة والاستمتاع!

موصى به: