
Мазмұны:
- 1 -қадам: материалдар мен құралдар
- 2 -қадам: автокөлікті құрастырыңыз
- 3 -қадам: дәнекерлеу тізбектері
- 4 -қадам: Ендірілген жүйеге тәуелділіктерді орнатыңыз
- 5 -қадам: Тұрақты IP мекенжайын орнату
- 6 -қадам: кодты Arduino -ға жүктеңіз
- 7 -қадам: Электр тізбегі мен компьютерді көлікке қосыңыз
- 8 -қадам: VR ортасын орнату
- 9 -қадам: Барлығын бірге іске қосыңыз
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:51


Сіз кішірейіп, Innerspace немесе Fantastic Voyage сияқты кемені басқарғыңыз келді ме? Менің ойымша, бұл қысқа мерзімде сізге жақын!
Міне, қадам:
Real-Life қашықтан басқару пульті виртуалды шындық командалық консолінен басқарылады. Бұл дегеніміз, сіз VR гарнитурасын байлап, RC автокөлігінің қосқышын аударыңыз, содан кейін VR режимінде тікелей бейне жіберу арқылы сіздің бетіңізге ұшуға болады.
Мен сіз енгізген нәрселер бар, оларды сіз VR Car -те басқара аласыз.
- Дөңгелектер
- Мүйіз
- Шамдар
Бұлардың барлығында автокөлікті басқаруға ауысуға немесе ауыстыруға болатын VR -де қандай да бір түйме немесе рычаг бар.
Толық репо мен қосымша ақпарат алу үшін менің Github пен веб -сайтымды қараңыз!
1 -қадам: материалдар мен құралдар


Механикалық:
4 доңғалақты жетекті шасси жиынтығы
Электрлік:
- Дөңгелекті кодтаушы
- 3S 1300mAh батарея
- Ардуино Уно
- Arduino мотор қалқаны
- Piezo Electric Buzzer
- Кішкентай жарық диоды
- XT60 қосқыштары
- Boost / Buck түрлендіргіші
Компьютер:
- Кез келген енгізілген компьютерлік жүйе: Raspberry Pi, Jetson Nano және т.б.
- USB камерасы (180 градустық камера)
Құралдар / Қосымша:
- Пісіру темірі
- Кейбір VR қондырғысы - менде Oculus Rift бар
- Мультиметр
2 -қадам: автокөлікті құрастырыңыз



Автокөлікке арналған шассидің құрылысы өте қарапайым. Қозғалтқыштарды негізгі тақтаға олар сізге беретін қойындылар арқылы бекіту керек. Дөңгелектер мен қозғалтқыштарды орнатқаннан кейін, камераны машинаның алдыңғы жағына бекіту үшін сізге бірдеңе қажет болады.
Мен оны орнату үшін камера келген картон қорапты қолдандым. Мен үлкен L пішінін кесіп алдым және камераны мұқият тесу үшін тесік жасадым. Осыдан кейін сіз камераны тесіп, оны орнында ұстау үшін артқы жағына таспа қоюға болады. Егер сіз қаласаңыз, қазірдің өзінде фаралар үшін тесіктер қоюға болады, немесе сымның ұзындығын өлшеу кезінде мұны кейінірек жасауға болады.
Сондай -ақ, дөңгелектердің біріне кодерді бекіту қажет болады. Қайсысы маңызды емес, мен оны артқы сол дөңгелекке қойдым. Магнитті дискіні дөңгелектің нақты білігіне қою керек, ал кодер оның жанындағы көлікке бекітілуі керек. Бұл өте жақсы қабылданады, сондықтан оны дұрыс қоюдың қажеті жоқ, бірақ мүмкіндігінше жақын. Мен кодерімді таспамен және ілгекті бекітіп қойдым. Кодер - бұл біздің машинаның жылдамдығын өлшеу үшін қолданылатын құрал.
3 -қадам: дәнекерлеу тізбектері


Бұл бөлім өте жалықтырады, бірақ күрделі емес. Егер сіз суретті қадағалап, сымды кеспес бұрын бәрін өлшеп алсаңыз, бұл жаман емес.
Сіз мұны істеп жатқанда, кернеуді дұрыс шығару үшін конвертеріңізді калибрлеуіңіз керек. Raspberry Pi мен Jetson Nano екеуі де 5В қабылдайды, бірақ біздің батарея 11.1 вольт. Сонымен, біз электрониканы қуырмайтындығымызға көз жеткізуіміз керек. Мұны істеу үшін, батареяны конвертердің кіріс жағына қосыңыз. Батарея розеткаға қосылып тұрғанда, мультиметрді пайдаланып, конвертердің шығыс жағын өлшеңіз. Кішкене жалпақ бұрағышты қолданып, кернеу түрлендіргішіндегі потенциометрді шығыс кернеуі 5в болғанша қосыңыз. Шығару дұрыс болғаннан кейін потенциометрді енді бұрудың қажеті жоқ.
4 -қадам: Ендірілген жүйеге тәуелділіктерді орнатыңыз

Бұл жерде тым көп емес, бірақ бәрібір өте маңызды.
Біріншіден, сіз қолданатын маршрутизаторға қосылғаныңызға көз жеткізіңіз, осылайша ол енді автоматты түрде қосыла алады.
Содан кейін терминалды ашып, келесі сөздерді теріңіз:
sudo apt жаңарту
sudo apt install openssh-server орнатыңыз
sudo apt install python-pip pip install numpy pip install opencv-python pip install pyzmq
Бұл заттар орнатылғаннан кейін, біз arduino қандай портқа қосылғанына қарамастан, ол әрқашан танылатынына көз жеткізуіміз керек. Сонымен, біз UDEV ережелері деп аталатын нәрсені жазамыз. Бұл сіздің операциялық жүйеңізге арналған ережелер, сіз заттарды қосқанда не болатынын реттейді. Біз arduino қосылған кезде оны анықтап, оған қатынасу үшін атау бергіміз келеді. Бұл атау «arduino_0» болады. Ол үшін біз оны анықтау үшін arduino ішкі сериялық нөмірін қолданамыз.
udevadm ақпараты -a -n /dev /ttyUSB1 | grep '{serial}' | бас -n1
Бұл сериялық нөмірдің мәнін шығарады, жалғастырыңыз және сол мәнді көшіріңіз.
Содан кейін бізге «99-usb-serial.rules» деп аталатын файлды өңдеу керек (немесе жоқ болса) жасау керек. Бұл файл келесі файл жолында тұрады «/etc/udev/rules.d/99-usb-serial.rules». Мен айтқанымдай, егер бұл файл жоқ болса, оны жасаңыз және VALUE_FROM_ABOVE келесі жолға қойыңыз, оның мәні бұрыннан ауыстырылды.
ЖІБЕРУ == «tty», ATTRS {serial} == «VALUE_FROM_ABOVE», SYMLINK+= «arduino_0»
Бұл операциялық жүйеге белгілі бір сериялық нөмірді көрген сайын оны arduino_0 деп атайтынын айтады.
Бұл жерде ең соңғы нәрсе - pushArucoVideoPullCommands.py файлын жүктеу және оны қол жетімді жерге қою. Мен сіздің пайдаланушыға үй каталогын ұсынар едім, өйткені біз ендірілген жүйеге SSH енгізгеннен кейін осында боламыз.
5 -қадам: Тұрақты IP мекенжайын орнату

Қазір бәріне ұнайтын бөлігі - IP -адресация. Бұл жоба жұмыс істеуі үшін код суреттер мен басқару командаларын қайда жіберу керектігін білуі керек, бұл біздің құрылғыларға статикалық IP қажет екенін білдіреді.
Құрылғыны статикалық IP -ге тағайындаудың көптеген әдістері бар, бірақ бізде негізгі станция мен ендірілген жүйені қосатын маршрутизатор болғандықтан, біз оны нақты IP -мекен -жайларды оңай беру үшін пайдалана аламыз.
Маршрутизатордың әкімші бөліміне өтіңіз, әдетте (көптеген маршрутизаторлар үшін) бұл веб -шолғышты ашып, «192.168.1.1» бөліміне өту арқылы жасалады. Ол сізге кіруді сұрайды, және көптеген маршрутизаторлар үшін әдеттегі стандартты пайдаланушы аты мен құпия сөз «әкімші» болып табылады.
Осы жерде «DHCP сервері» деп аталатын нәрсеге өтіңіз. Бұл процесс сіздің маршрутизаторыңызда жұмыс істейді және оған MAC мекенжайы арқылы қандай құрылғылар қосылғанын бақылап отырады, ол әрқашан тұрақты. Бізге қажет құрылғыларды таңдағымыз келеді. туралы, жер станциясының компьютері мен ендірілген жүйе және оларды резервтелген клиент бөліміне қосыңыз. Бұл оларға маршрутизаторға қосылған сайын статикалық IP береді.
Енгізілген жүйенің IP мекенжайын 192.168.1.122 деп орнатқаныңызға көз жеткізіңіз Жердегі станцияның IP мекенжайын кез келген нәрсеге орнатуға болады.
6 -қадам: кодты Arduino -ға жүктеңіз

Arduino кодын жүктеу үшін бізге алдымен мотор қалқанмен жұмыс жасау үшін кітапхананы орнату қажет.
Arduino IDE-де Sketch-> Кітапхананы қосу-> Кітапханаларды басқару бөліміне өтіңіз … Содан кейін Adafruit Motor Shield кітапханасын іздеңіз. Бұл кітапхананы орнатыңыз, содан кейін кодты arduino -ға жүктеңіз, басқа ештеңе қажет емес.
7 -қадам: Электр тізбегі мен компьютерді көлікке қосыңыз

Енді схема құрылды, мұның бәрін көлікке қою уақыты келді. Мен өтірік айтпаймын, бұл заттардың көбі таспамен ғана жабыстырылған, себебі бұл маған тез арада бірігіп соғу үшін оңай болды. Айтуынша, жоғарыда көрсетілген суретте көрсетілгендей орнату тесіктері орнатылған.
Көп нәрсені көліктің үстінде отырғызу өте оңай, сондықтан бос орын болмаса, уайымдамаңыз.
8 -қадам: VR ортасын орнату

Бұл бөлім сізде VR орнатудың түріне байланысты әр түрлі болады. Қалай болғанда да, мен SteamVR -ды осы бағдарламалық жасақтаманы жасау үшін қолдандым, сондықтан сізге оны орнату қажет болуы мүмкін.
Егер сіз SteamVR қолдансаңыз, басқару элементтері әр түрлі контроллерлерге бейімделуі керек. Мен басқару элементтерін «Әрекеттерге» емес, міндетті түрде түймелерге салыстырдым, сондықтан теория бойынша ол барлығына бейімделеді.
Сізге Unity әлемінің көмегімен файлды жүктеу және ашу керек және VR_Bot.exe файлын іске қосуға дайын болу керек.
9 -қадам: Барлығын бірге іске қосыңыз


Сонымен, енді бізде автокөлік қондырғысы бар және жердегі станция қосылып, жүруге дайын, бұл жаман баланы қалай басқарамыз? Жер станциясының көзқарасы бойынша, мұны істеу үшін біз бұрын көрген VR_Bot.exe файлын іске қосамыз.
Сонымен қатар, сіз батареяны енгізілген жүйеге қосып, оны автоматты түрде жүктеп, маршрутизаторға қосуды қажет етеді. Ол жүктелгеннен кейін оған SSH қосылады. Бұған қол жеткізу үшін сізге жердегі станцияда қандай да бір терминал қажет болады, мен GitBash ұсынамын.
SSH Secure Shell дегенді білдіреді және бұл қашықтағы жүйелерге қауіпсіз кіруге арналған хаттама. Біздің жағдайда бұл бізге Жердегі станциядан ендірілген жүйеге кіруге мүмкіндік береді. Қосымша ақпарат алу үшін мына жерді басыңыз.
Сіз ендірілген жүйені орнататын пайдаланушы атын білуіңіз керек. Таңқурай пи үшін әдепкі пайдаланушы аты 'pi' және пароль 'таңқурай' болып табылады.
Орнатқаннан кейін терминалды ашып, келесіні теріңіз:
ssh {Ендірілген жүйенің пайдаланушы аты}@192.168.1.122
Бұл ендірілген жүйеде терминалды ашады.
Онда сіз бұрын көшірілген питон сценарийін орындауыңыз керек.
python /path/to/pushArucoVideoPullCommands.py
Сіз мұны жасағаннан кейін, Ендірілген жүйе суреттерді шығаруды және жердегі станцияға және одан командаларды қабылдай бастайды.
Сіз көлік жүргізуді және көңіл көтеруді жақсы бастайсыз!
Ұсынылған:
BeYourHero көмегімен Raspberry Pi -де виртуалды шындық!: 19 қадам (суреттермен)

BeYourHero көмегімен Raspberry Pi -дегі виртуалды шындық! &Quot; Сіздің кейіпкеріңіз болыңыз " Сіз виртуалды шындықтың келесі буынына енуге дайынсыз деп үміттенемін! Бұл жоба сізге ұнайтын кез келген виртуалды кейіпкерді толық қимылмен басқаруға мүмкіндік береді
Артқа секіру! Arduino мен акклерометрді қолданатын виртуалды шындық ойыны: 9 қадам

Артқа секіру! Ардуино мен аклерометр көмегімен виртуалды шындық ойыны: Бұл оқулықта біз Arduino мен аклерометр көмегімен виртуалды шындық ойынын жасаймыз
Виртуалды шындық үшін бірлікте қисық интерфейс құру: 4 қадам

Виртуалды шындық үшін бірлікте қисық интерфейс құру: Егер сіз виртуалды шындыққа арналған қосымшаның немесе VR ойынының қисық пайдаланушы интерфейсін құрудың ақысыз және қарапайым шешімін іздесеңіз, сіз дәл жердесіз. Бұл блогта сіз Unity UI кеңейтімдерін қолдана отырып, қисық интерфейс элементін бірлікте құруды үйренесіз
Виртуалды шындық гарнитурасы-Google картон: 4 қадам

Виртуалды шындық гарнитурасы-Google картоны: Сәлеметсіздерме балалар, бұл үйде Google Cardboard, виртуалды шындық гарнитурасын жасаудың қарапайым нұсқаулығы. Бұл гарнитурада қорқынышты фильмді көру өте қиын болады, сонымен қатар роликті серуендеу ролигі де ұмытылмас әсер болады
Arduino көмегімен виртуалды шындық костюмі: 7 қадам (суреттермен)

Arduino көмегімен виртуалды шындық костюмі: Мен бұл жобаны қалыпты компьютерлік ойындарды толық VR режимінде ойнау үшін жасадым. Бұл жоба сіздің қозғалыстарыңызды пернетақта пернелерін басуға немесе ұстап тұруға еліктейді Мысалы- алға жылжу кезінде 'w' пернесін басу әрекеті эмуляцияланады. Менде эму