สารบัญ:
- ขั้นตอนที่ 1: วัสดุและเครื่องมือ
- ขั้นตอนที่ 2: สร้างรถยนต์
- ขั้นตอนที่ 3: วงจรบัดกรี
- ขั้นตอนที่ 4: ติดตั้งการพึ่งพาบนระบบสมองกลฝังตัว
- ขั้นตอนที่ 5: ตั้งค่าที่อยู่ IP แบบคงที่
- ขั้นตอนที่ 6: อัปโหลดโค้ดไปยัง Arduino
- ขั้นตอนที่ 7: แนบวงจรและคอมพิวเตอร์เข้ากับรถยนต์
- ขั้นตอนที่ 8: ตั้งค่า VR Environment
- ขั้นตอนที่ 9: เรียกใช้ทั้งหมดด้วยกัน
วีดีโอ: รถ RC ที่ควบคุมด้วยความเป็นจริงเสมือน: 9 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
คุณเคยต้องการที่จะย่อตัวลงและขับยานอย่าง Innerspace หรือ Fantastic Voyage หรือไม่? ฉันคิดว่านี่ใกล้เคียงที่สุดเท่าที่คุณจะได้รับในระยะเวลาอันสั้น!
นี่คือสนาม:
รถควบคุมระยะไกลในชีวิตจริงที่ขับจากคอนโซลคำสั่ง Virtual Reality ซึ่งหมายความว่าคุณสวมชุดหูฟัง VR พลิกสวิตช์บนรถ RC จากนั้นนำร่องจาก VR ด้วยฟีดวิดีโอสดตรงไปที่ใบหน้าของคุณ
มีบางสิ่งที่คุณฉันนำมาใช้ซึ่งคุณสามารถควบคุมบน VR Car ได้
- ล้อ
- แตร
- ไฟ
สิ่งเหล่านี้มีปุ่มหรือคันโยกบางอย่างใน VR ที่คุณสามารถพลิกหรือสลับเพื่อขับรถได้
สำหรับ repo แบบเต็มและข้อมูลเพิ่มเติม โปรดดูที่ Github และเว็บไซต์ของฉัน!
ขั้นตอนที่ 1: วัสดุและเครื่องมือ
เครื่องกล:
ชุดแชสซีขับเคลื่อน 4 ล้อ
ไฟฟ้า:
- ตัวเข้ารหัสล้อ
- 3S 1300mAh แบตเตอรี่
- Arduino Uno
- Arduino Motor Shield
- Piezo Electric Buzzer
- LED ขนาดเล็ก
- คอนเนคเตอร์ XT60
- ตัวแปลง Boost / Buck
คอมพิวเตอร์:
- ระบบคอมพิวเตอร์ฝังตัวใดๆ: Raspberry Pi, Jetson Nano เป็นต้น
- กล้อง USB (เด่นกว่า - กล้อง 180 องศา)
เครื่องมือ / พิเศษ:
- หัวแร้ง
- การตั้งค่า VR บางอย่าง - ฉันมี Oculus Rift
- มัลติมิเตอร์
ขั้นตอนที่ 2: สร้างรถยนต์
แชสซีสำหรับรถยนต์นั้นสร้างได้ง่ายมาก คุณเพียงแค่ต้องติดมอเตอร์เข้ากับเมนบอร์ดผ่านแถบที่พวกมันให้มา หลังจากที่คุณติดล้อและมอเตอร์แล้ว คุณจะต้องมีบางอย่างติดกล้องไว้ที่ด้านหน้าของรถด้วย
ฉันใช้กล่องกระดาษแข็งที่กล้องติดตั้งมา ฉันตัดรูปตัว L ขนาดใหญ่ออกแล้วเจาะรูเพื่อให้กล้องสะกิดอย่างละเอียด หลังจากนั้น คุณก็สามารถเสียบกล้องเข้าไป แล้วติดเทปด้านหลังเพื่อเก็บเข้าที่ หากต้องการ คุณยังสามารถเจาะรูไฟหน้าของคุณตอนนี้ด้วย หรือทำในภายหลังเมื่อวัดความยาวของสายไฟ
คุณจะต้องแนบตัวเข้ารหัสล้อเข้ากับล้อใดล้อหนึ่ง อันไหนไม่สำคัญ ผมใส่มันไว้ที่ล้อหลังซ้าย คุณต้องวางดิสก์แม่เหล็กบนเพลาจริงของล้อ และควรติดตัวเข้ารหัสเข้ากับรถข้างๆ มันค่อนข้างเปิดกว้าง ดังนั้นจึงไม่จำเป็นต้องตรงไปตรงมา แต่ให้ใกล้เคียงที่สุด ฉันยึดเอ็นโค้ดเดอร์ไว้ด้วยเทปและซิป ตัวเข้ารหัสคือสิ่งที่เราจะใช้ในการวัดความเร็วของรถของเรา
ขั้นตอนที่ 3: วงจรบัดกรี
ส่วนนี้ค่อนข้างน่าเบื่อ แต่ไม่ซับซ้อน หากคุณทำตามภาพและวัดทุกอย่างก่อนตัดลวด มันก็ไม่ได้แย่เกินไป
ขณะที่คุณทำเช่นนี้ คุณควรปรับเทียบบั๊กคอนเวอร์เตอร์เพื่อเอาท์พุตแรงดันไฟที่ถูกต้อง Raspberry Pi และ Jetson Nano ทั้งคู่ใช้เวลา 5v แต่แบตเตอรี่ของเราอยู่ที่ 11.1v ดังนั้น เราต้องแน่ใจว่าเราไม่ได้ทอดอุปกรณ์อิเล็กทรอนิกส์ของเรา ในการดำเนินการนี้ ให้เสียบแบตเตอรี่ของคุณเข้ากับด้านอินพุตของตัวแปลงบั๊ก ขณะที่เสียบแบตเตอรี่อยู่ ให้ใช้มัลติมิเตอร์เพื่อวัดด้านเอาต์พุตของตัวแปลงบั๊ก ใช้ไขควงปากแบนขนาดเล็กหมุนโพเทนชิออมิเตอร์บนตัวแปลงบั๊กจนกว่าแรงดันไฟขาออกจะเท่ากับ 5 โวลต์ เมื่อเอาต์พุตถูกต้อง คุณจะไม่ต้องหมุนโพเทนชิออมิเตอร์อีกต่อไป
ขั้นตอนที่ 4: ติดตั้งการพึ่งพาบนระบบสมองกลฝังตัว
ไม่มีอะไรให้ทำมากนักที่นี่ แต่ก็ยังมีความสำคัญอย่างเหลือเชื่อ
ขั้นแรก ตรวจสอบให้แน่ใจว่าคุณเชื่อมต่อกับเราเตอร์ที่คุณจะใช้เพื่อให้สามารถเชื่อมต่อได้โดยอัตโนมัตินับจากนี้เป็นต้นไป
จากนั้นเปิดเทอร์มินัลแล้วพิมพ์ดังต่อไปนี้:
sudo apt อัปเดต
sudo apt ติดตั้ง openssh-server
sudo apt ติดตั้ง python-pip pip ติดตั้ง numpy pip ติดตั้ง opencv-python pip ติดตั้ง pyzmq
เมื่อติดตั้งสิ่งเหล่านี้แล้ว เราจำเป็นต้องตรวจสอบให้แน่ใจว่าไม่ว่าจะเสียบ Arduino กับพอร์ตใด ก็จะรับรู้ได้เสมอ ดังนั้นเราจึงเขียนสิ่งที่เรียกว่ากฎ UDEV กฎเหล่านี้เป็นกฎสำหรับระบบปฏิบัติการของคุณที่ควบคุมสิ่งที่เกิดขึ้นเมื่อคุณเสียบปลั๊ก เราต้องการระบุ Arduino เมื่อเสียบปลั๊ก และตั้งชื่อเพื่อเข้าถึงโดย ชื่อนั้นจะเป็น "arduino_0" ในการทำเช่นนี้ เราจะใช้หมายเลขซีเรียลภายในของ Arduino เพื่อระบุ
udevadm info -a -n /dev/ttyUSB1 | grep '{ซีเรียล}' | หัว -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 เฉพาะแก่เราได้อย่างง่ายดาย
ไปที่ส่วนผู้ดูแลระบบของเราเตอร์ โดยทั่วไป (สำหรับเราเตอร์ส่วนใหญ่) ทำได้โดยเปิดเว็บเบราว์เซอร์และไปที่ "192.168.1.1" ระบบจะขอให้คุณลงชื่อเข้าใช้ และชื่อผู้ใช้และรหัสผ่านมาตรฐานทั่วไปสำหรับเราเตอร์ส่วนใหญ่คือ "admin"
เมื่อไปถึงที่นั่นแล้ว ให้นำทางไปยังบางสิ่งที่กล่าวถึง 'DHCP Server' ซึ่งเป็นกระบวนการที่ทำงานบนเราเตอร์ของคุณและติดตามว่าอุปกรณ์ใดที่เชื่อมต่อกับมันด้วยที่อยู่ MAC ซึ่งคงที่อยู่เสมอ เราต้องการเลือกอุปกรณ์ที่เราสนใจ เกี่ยวกับคอมพิวเตอร์สถานีภาคพื้นดินและระบบฝังตัว และเพิ่มไปยังส่วนไคลเอนต์ที่สงวนไว้ สิ่งนี้จะให้ IP แบบคงที่แก่พวกเขาทุกครั้งที่เชื่อมต่อกับเราเตอร์นี้
ตรวจสอบให้แน่ใจว่าคุณตั้งค่า IP ของระบบสมองกลฝังตัวเป็น 192.168.1.122 IP ของสถานีภาคพื้นดินสามารถตั้งค่าอะไรก็ได้
ขั้นตอนที่ 6: อัปโหลดโค้ดไปยัง Arduino
ในการอัปโหลดโค้ด Arduino เราต้องติดตั้งไลบรารี่เพื่อทำงานกับแผงป้องกันมอเตอร์ก่อน
บน Arduino IDE ของคุณ ไปที่ Sketch->Include Library->Manage Libraries… จากนั้น ค้นหา Adafruit Motor Shield Library ติดตั้งไลบรารีนี้ จากนั้นอัปโหลดโค้ดไปยัง Arduino ของคุณ คุณไม่จำเป็นต้องมีสิ่งใดอีก
ขั้นตอนที่ 7: แนบวงจรและคอมพิวเตอร์เข้ากับรถยนต์
เมื่อสร้างวงจรแล้ว ก็ถึงเวลาใส่ทั้งหมดลงในรถ ฉันจะไม่โกหก ของพวกนี้เยอะมากแค่พันเทปไว้เพราะนั่นคือสิ่งที่ง่ายที่สุดสำหรับฉันที่จะตบกันอย่างรวดเร็ว ดังที่กล่าวไปแล้วว่าได้ติดตั้งรูยึดตามที่เห็นในภาพด้านบน
หลายๆ อย่างทำได้ง่ายมาก แค่ปล่อยให้นั่งตรงไหนก็ได้บนตัวรถ ดังนั้น ไม่ต้องกังวลหากไม่มีที่ว่างมากนัก
ขั้นตอนที่ 8: ตั้งค่า VR Environment
ส่วนนี้จะดูแตกต่างออกไปเล็กน้อยขึ้นอยู่กับประเภทของการตั้งค่า VR ที่คุณทำ ไม่ว่าในกรณีใด ฉันใช้ SteamVR เพื่อพัฒนาซอฟต์แวร์นี้ ดังนั้นคุณอาจต้องติดตั้งซอฟต์แวร์นั้น
ตราบใดที่คุณใช้ SteamVR ตัวควบคุมควรปรับให้เข้ากับตัวควบคุมต่างๆ ฉันได้จับคู่การควบคุมกับ "การกระทำ" ไม่จำเป็นต้องเป็นปุ่ม ดังนั้นในทางทฤษฎีแล้ว มันจะปรับให้เข้ากับทุกคน
คุณเพียงแค่ต้องดาวน์โหลดและแตกไฟล์ด้วย build Unity world และพร้อมที่จะเรียกใช้ VR_Bot.exe
ขั้นตอนที่ 9: เรียกใช้ทั้งหมดด้วยกัน
ตอนนี้เราเตรียมรถเรียบร้อยแล้ว และสถานีภาคพื้นดินก็ติดสายและพร้อมที่จะไป เราจะจัดการเด็กเลวคนนี้ได้อย่างไร จากมุมมองของ Ground Station สิ่งที่คุณต้องทำก็คือเรียกใช้ไฟล์ VR_Bot.exe ที่เราเห็นก่อนหน้านี้
ในเวลาเดียวกัน คุณจะต้องเสียบแบตเตอรี่เข้ากับระบบสมองกลฝังตัว จากนั้นให้บูตเครื่องและเชื่อมต่อกับเราเตอร์ของคุณโดยอัตโนมัติ เมื่อบูทขึ้น SSH เข้าไป ในการเข้าถึงสิ่งนี้ คุณจะต้องมีเทอร์มินัลที่สถานีภาคพื้นดิน ฉันแนะนำ GitBash
SSH ย่อมาจาก Secure Shell และเป็นโปรโตคอลสำหรับการเข้าถึงระบบระยะไกลอย่างปลอดภัย ในกรณีของเรา มันจะทำให้เราเข้าถึงระบบสมองกลฝังตัวจากสถานีภาคพื้นดิน คลิกที่นี่เพื่อเรียนรู้เพิ่มเติม
คุณจำเป็นต้องทราบชื่อผู้ใช้ที่คุณใช้ตั้งค่าระบบฝังตัวด้วย สำหรับ raspberry pi ชื่อผู้ใช้เริ่มต้นคือ 'pi' และรหัสผ่าน 'raspberry'
เมื่อติดตั้งแล้ว ให้เปิดเทอร์มินัลแล้วพิมพ์ดังต่อไปนี้:
ssh {ชื่อผู้ใช้ของระบบฝังตัว}@192.168.1.122
ซึ่งจะเป็นการเปิดเทอร์มินัลในระบบสมองกลฝังตัว
คุณเพียงแค่ต้องรันสคริปต์ python ที่เราคัดลอกไว้ก่อนหน้านี้
python /path/to/pushArucoVideoPullCommands.py
หลังจากที่คุณทำเช่นนั้น ระบบสมองกลฝังตัวจะเริ่มสูบภาพและรับคำสั่งเข้าและออกจากสถานีภาคพื้นดิน
คุณก็พร้อมที่จะเริ่มขับรถและสนุกได้เลย!
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง