Სარჩევი:

ვირტუალური რეალობის კონტროლირებადი RC მანქანა: 9 ნაბიჯი
ვირტუალური რეალობის კონტროლირებადი RC მანქანა: 9 ნაბიჯი

ვიდეო: ვირტუალური რეალობის კონტროლირებადი RC მანქანა: 9 ნაბიჯი

ვიდეო: ვირტუალური რეალობის კონტროლირებადი RC მანქანა: 9 ნაბიჯი
ვიდეო: ვირტუალური რეალობა VR - LuckBoy 2024, ნოემბერი
Anonim
Image
Image

გსურდათ ოდესმე შემცირება და პილოტირება ისეთი ხელნაკეთობების მსგავსად, როგორიცაა Innerspace ან Fantastic Voyage? ისე, მე ვფიქრობ, რომ ეს ისეთივე ახლოსაა, როგორც თქვენ აპირებთ მოკლე შეტყობინების მიღებას!

აი მოედანზე:

რეალური ცხოვრების დისტანციური მართვის მანქანა, რომელიც პილოტირებულია ვირტუალური რეალობის ბრძანების კონსოლიდან. ეს ნიშნავს, რომ თქვენ აკრავთ VR ყურსასმენს, გადაატრიალებთ გადამრთველს RC მანქანაზე, შემდეგ შეგიძლიათ პილოტირება გაუწიოთ VR პირდაპირ ვიდეო გადაცემას პირდაპირ თქვენს სახეზე.

არის რაღაცეები, რაც მე განვახორციელე, რომელთა კონტროლიც შეგიძლია VR მანქანაზე.

  1. Დისკები
  2. რქა
  3. შუქები

ყველა მათგანს აქვს რაიმე სახის ღილაკი ან ბერკეტი VR– ში, რომლის გადატრიალება ან გადართვა შეგიძლიათ მანქანის მართვისთვის.

სრული რეპოსთვის და მეტი ინფორმაციისთვის, შეამოწმეთ ჩემი Github და ჩემი ვებ გვერდი!

ნაბიჯი 1: მასალები და ინსტრუმენტები

მასალები და ინსტრუმენტები
მასალები და ინსტრუმენტები
მასალები და ინსტრუმენტები
მასალები და ინსტრუმენტები

მექანიკური:

4 ბორბლიანი წამყვანი შასის ნაკრები

ელექტრო:

  • ბორბლის კოდირება
  • 3S 1300 mAh ბატარეა
  • არდუინო უნო
  • არდუინოს საავტომობილო ფარი
  • პიეზო ელექტრო ბუზერი
  • პატარა LED
  • XT60 კონექტორები
  • Boost / Buck კონვერტორი

კომპიუტერი:

  • ნებისმიერი ჩამონტაჟებული კომპიუტერული სისტემა: Raspberry Pi, Jetson Nano და ა.
  • USB კამერა (სასურველია - 180 გრადუსიანი კამერა)

ინსტრუმენტები / დამატებითი:

  • გასაყიდი რკინა
  • ზოგიერთი VR დაყენება - მე მაქვს Oculus Rift
  • მულტიმეტრი

ნაბიჯი 2: მანქანის შექმნა

ააშენე მანქანა
ააშენე მანქანა
ააშენე მანქანა
ააშენე მანქანა
ააშენე მანქანა
ააშენე მანქანა

ავტომობილის შასი ძალიან მარტივი კონსტრუქციაა. თქვენ უბრალოდ უნდა მიამაგროთ ძრავები მთავარ დაფაზე იმ ჩანართების საშუალებით, რომლებსაც ისინი გაძლევთ. მას შემდეგ რაც ბორბლებს და ძრავებს მიამაგრებთ, თქვენ ასევე დაგჭირდებათ რაღაც, რომ კამერა მანქანის წინა მხარეს მიამაგროთ.

მე გამოვიყენე მუყაოს ყუთი, რომლითაც კამერა შემოვიდა მის დასაყენებლად. მე ამოვიღე დიდი L ფორმატი და გავჭრა ხვრელი კამერისთვის, რომ საფუძვლიანად გამოეღო. ამის შემდეგ, თქვენ შეგიძლიათ უბრალოდ ჩააგდოთ კამერა და უკანა ნაწილში ჩასვათ ფირზე, რათა შეინარჩუნოთ იგი. თუ გსურთ, თქვენ ასევე შეგიძლიათ განათავსოთ ხვრელები თქვენი ფარები ახლავე, ან ამის გაკეთება მოგვიანებით მავთულის სიგრძის გაზომვისას.

თქვენ ასევე დაგჭირდებათ ბორბლის კოდირების მიმაგრება ერთ ბორბალზე. არ აქვს მნიშვნელობა რომელი, მე მას მარცხენა უკანა ბორბალზე ვდებ. თქვენ უნდა დააყენოთ მაგნიტური დისკი ბორბლის ფაქტიურ ლილვზე, ხოლო კოდირება უნდა დაერთოს მის გვერდით მანქანას. ის საკმაოდ მიმზიდველია, ამიტომ არ არის საჭირო მასზე მაღლა დგომა, მაგრამ რაც შეიძლება ახლოს. მე დავიმაგრე ჩემი კოდირება ფირზე და zip ჰალსტუხი. კოდირება არის ის, რასაც ჩვენ გამოვიყენებთ ჩვენი მანქანის სიჩქარის გასაზომად.

ნაბიჯი 3: შედუღების სქემები

შედუღების სქემები
შედუღების სქემები
შედუღების სქემები
შედუღების სქემები

ეს ნაწილი საკმაოდ დამღლელია, მაგრამ არა რთული. თუ თვალყურს ადევნებთ სურათს და გაზომავთ ყველაფერს სანამ მავთულს გაწყვეტთ, არც ისე ცუდია.

სანამ ამას აკეთებთ, თქვენ ასევე უნდა დააკალიბროთ თქვენი მამალი კონვერტორი სწორი ძაბვის გამოსასვლელად. Raspberry Pi და Jetson Nano ორივე იღებს 5 ვ, მაგრამ ჩვენი ბატარეა არის 11.1 ვ. ამრიგად, ჩვენ უნდა დავრწმუნდეთ, რომ არ გავწუროთ ჩვენი ელექტრონიკა. ამისათვის შეაერთეთ თქვენი ბატარეა მამლის გადამყვანის შეყვანის მხარეს. სანამ ბატარეა ჩართულია, გამოიყენეთ თქვენი მულტიმეტრი, რათა გაზომოთ მამლის გადამყვანის გამომავალი მხარე. გამოიყენეთ პატარა ბრტყელი თავსაბურავი, რომ გადააკეთოთ პოტინიომეტრი ბუკ კონვერტორზე, სანამ გამომავალი ძაბვა არ გახდება 5 ვ. მას შემდეგ რაც გამოსავალი სწორია, თქვენ აღარ მოგიწევთ პოტინიომეტრის გადატრიალება.

ნაბიჯი 4: დააინსტალირეთ დამოკიდებულებები ჩაშენებულ სისტემაზე

დააინსტალირეთ დამოკიდებულებები ჩაშენებულ სისტემაზე
დააინსტალირეთ დამოკიდებულებები ჩაშენებულ სისტემაზე

არც ისე ბევრია აქ გასაკეთებელი, მაგრამ მაინც წარმოუდგენლად მნიშვნელოვანი.

პირველი, დარწმუნდით, რომ დაუკავშირდებით იმ როუტერს, რომელსაც იყენებთ, რათა ამიერიდან მას ავტომატურად დაუკავშირდეს.

შემდეგ გახსენით ტერმინალი და ჩაწერეთ შემდეგი:

sudo apt განახლება

sudo apt install installsh-server

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

როდესაც ეს ყველაფერი დაინსტალირდება, ჩვენ უნდა დავრწმუნდეთ, რომ არ აქვს მნიშვნელობა რა პორტშია ჩართული arduino, ის ყოველთვის აღიარებულია. ამრიგად, ჩვენ ვწერთ იმას, რასაც UDEV წესები ჰქვია. ეს არის წესები თქვენი ოპერაციული სისტემისთვის, რომელიც არეგულირებს იმას, რაც ხდება როდესაც რამეს შეაერთებთ. ჩვენ გვინდა, რომ არდუინო გამოვყოთ როდესაც ის არის ჩართული და მივცეთ სახელი მას წვდომისთვის. ეს სახელი იქნება "arduino_0". ამისათვის ჩვენ გამოვიყენებთ arduino– ს შიდა სერიულ ნომერს მისი იდენტიფიცირებისთვის.

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 IDE– ზე გადადით Sketch-> Include Library-> Libraries Manage… შემდეგ მოძებნეთ Adafruit Motor Shield ბიბლიოთეკა. დააინსტალირეთ ეს ბიბლიოთეკა, შემდეგ ატვირთეთ კოდი თქვენს არდუინოში, სხვა არაფერია საჭირო.

ნაბიჯი 7: მიამაგრეთ წრე და კომპიუტერი მანქანას

მიამაგრეთ წრე და კომპიუტერი მანქანას
მიამაგრეთ წრე და კომპიუტერი მანქანას

ახლა, როდესაც წრე აშენებულია, დროა ეს ყველაფერი მანქანაზე დავაყენოთ. მე არ ვაპირებ მოტყუებას, ბევრი ასეთი რამ მხოლოდ ფირზეა შეკრული, რადგან ეს იყო ჩემთვის ყველაზე მარტივი, რომ სწრაფად დამეჯახა. როგორც ითქვა, დამონტაჟებულია სამონტაჟო ხვრელები, როგორც ჩანს ზემოთ სურათზე.

ნივთების უმეტესობა საკმაოდ ადვილია, რომ იჯდეს სადმე მანქანის თავზე, ასე რომ, არ ინერვიულოთ, თუ ბევრი ადგილი არ არის.

ნაბიჯი 8: VR გარემოს დაყენება

VR გარემოს დაყენება
VR გარემოს დაყენება

ეს განყოფილება ცოტათი გამოიყურება იმისდა მიხედვით, თუ რა სახის VR კონფიგურაცია გაქვთ. ნებისმიერ შემთხვევაში, მე გამოვიყენე SteamVR ამ პროგრამული უზრუნველყოფის შესაქმნელად, ასე რომ შეიძლება დაგჭირდეთ მისი დაინსტალირება.

სანამ თქვენ იყენებთ SteamVR– ს, კონტროლი უნდა მოერგოს სხვადასხვა კონტროლერს. მე დავნიშნე კონტროლი "ქმედებები" არა აუცილებლად ღილაკებზე, ასე რომ, თეორიულად, ის ყველასთვის მოერგება.

თქვენ უბრალოდ უნდა გადმოწეროთ და გახსნათ ფაილი build Unity world– ით და მზად იყოთ VR_Bot.exe– ს გასაშვებად.

ნაბიჯი 9: გაუშვით ეს ყველაფერი ერთად

გაუშვით ეს ყველაფერი ერთად
გაუშვით ეს ყველაფერი ერთად
გაუშვით ეს ყველაფერი ერთად
გაუშვით ეს ყველაფერი ერთად

ასე რომ, ახლა, როდესაც ჩვენ მივიღეთ მანქანის დაყენება და სახმელეთო სადგური მიმაგრებულია და წასასვლელად მზად ვართ, როგორ გავუშვათ სინამდვილეში ეს ცუდი ბიჭი? სახმელეთო სადგურის თვალსაზრისით, თქვენ მხოლოდ ამის გაკეთება გჭირდებათ იმისათვის, რომ გაუშვათ VR_Bot.exe ფაილი, რომელიც ადრე ვნახეთ.

ამავე დროს, თქვენ დაგჭირდებათ ბატარეის ჩართვა ჩაშენებულ სისტემაში და ავტომატურად ჩატვირთვა და დაკავშირება თქვენს როუტერთან. ერთხელ ის ჩატვირთულია, SSH მასში. ამის შესასვლელად, დაგჭირდებათ სახმელეთო სადგურის ტერმინალი, გირჩევთ GitBash.

SSH ნიშნავს უსაფრთხო Shell და ეს არის პროტოკოლი დისტანციურ სისტემებზე უსაფრთხოდ წვდომისათვის. ჩვენს შემთხვევაში, ის მოგვცემს წვდომას ჩაშენებულ სისტემაზე სახმელეთო სადგურიდან. დააწკაპუნეთ აქ რომ გაიგოთ მეტი.

თქვენ უნდა იცოდეთ მომხმარებლის სახელი, რომლითაც დააინსტალირეთ თქვენი ჩაშენებული სისტემა. ჟოლოს პი -სთვის მომხმარებლის სახელი არის "pi" და პაროლი "ჟოლო".

ინსტალაციის შემდეგ გახსენით ტერმინალი და ჩაწერეთ შემდეგი:

ssh {ჩაშენებული სისტემის მომხმარებლის სახელი}@192.168.1.122

ეს გახსნის ტერმინალს ჩაშენებულ სისტემაში.

იქ ყოფნისას, თქვენ უბრალოდ უნდა შეასრულოთ პითონის სკრიპტი, რომელიც ადრე გადავიწერეთ.

პითონი/path/to/pushArucoVideoPullCommands.py

ამის გაკეთების შემდეგ, ჩაშენებული სისტემა დაიწყებს სურათების ამოტუმბვას და მიიღებს ბრძანებებს სახმელეთო სადგურზე და მისგან.

მაშინ კარგია, როცა დაიწყებ მართვას და გართობას!

გირჩევთ: