Mục lục:

Xe RC điều khiển thực tế ảo: 9 bước
Xe RC điều khiển thực tế ảo: 9 bước

Video: Xe RC điều khiển thực tế ảo: 9 bước

Video: Xe RC điều khiển thực tế ảo: 9 bước
Video: Xe Điều Khiển Mô Hình Tốc Độ Thật Khủng Khiếp 2024, Tháng mười một
Anonim
Image
Image

Bạn đã bao giờ muốn được thu nhỏ và lái một chiếc tàu như Innerspace hoặc Fantastic Voyage? Chà, tôi nghĩ điều này gần như là bạn sẽ nhận được thông báo ngắn hạn!

Đây là sân:

Một chiếc ô tô điều khiển từ xa trong Đời thực được điều khiển từ bảng điều khiển thực tế ảo. Điều này có nghĩa là bạn đeo Tai nghe VR, Lật công tắc trên Ô tô RC, sau đó có thể điều khiển từ VR với nguồn cấp dữ liệu video trực tiếp thẳng đến khuôn mặt của bạn.

Có những thứ mà tôi đã triển khai mà bạn có thể kiểm soát trên VR Car.

  1. Bánh xe
  2. sừng
  3. Đèn chiếu sáng

Tất cả những thứ này đều có một số loại nút hoặc cần gạt trong VR mà bạn có thể lật hoặc chuyển để lái xe.

Để có repo đầy đủ và thêm thông tin, hãy xem Github và trang web của tôi!

Bước 1: Vật liệu và công cụ

Vật liệu và Công cụ
Vật liệu và Công cụ
Vật liệu và Công cụ
Vật liệu và Công cụ

Cơ khí:

Bộ khung dẫn động 4 bánh

Điện:

  • Bộ mã hóa bánh xe
  • Pin 3S 1300mAh
  • Arduino Uno
  • Lá chắn động cơ Arduino
  • Bộ rung điện Piezo
  • LED nhỏ
  • Kết nối XT60
  • Bộ chuyển đổi Boost / Buck

Máy vi tính:

  • Bất kỳ hệ thống máy tính nhúng nào: Raspberry Pi, Jetson Nano, v.v.
  • Máy ảnh USB (thích hợp - máy ảnh 180 độ)

Công cụ / Thêm:

  • Sắt hàn
  • Một số thiết lập VR - Tôi có Oculus Rift
  • Đồng hồ vạn năng

Bước 2: Xây dựng ô tô

Cấu tạo xe
Cấu tạo xe
Cấu tạo xe
Cấu tạo xe
Cấu tạo xe
Cấu tạo xe

Khung gầm cho chiếc xe là siêu dễ dàng để xây dựng. Bạn chỉ cần gắn động cơ vào bo mạch chính thông qua các tab mà họ cung cấp cho bạn. Sau khi bạn đã gắn bánh xe và mô tơ, bạn cũng sẽ cần một thứ gì đó để gắn camera vào phía trước ô tô.

Tôi đã sử dụng hộp các tông mà máy ảnh đi kèm để gắn nó. Tôi cắt một hình chữ L lớn và khoét một lỗ để máy ảnh chọc thủng một cách triệt để. Sau đó, bạn có thể luồn máy ảnh qua và dán một ít băng keo vào phía sau để giữ cố định. Nếu muốn, bạn cũng có thể khoét lỗ cho đèn pha của mình ngay bây giờ hoặc làm điều đó sau khi đo chiều dài dây.

Bạn cũng sẽ cần gắn bộ mã hóa bánh xe vào một trong các bánh xe. Không thành vấn đề, tôi đặt nó ở bánh sau bên trái. Bạn cần đặt đĩa từ trên trục thực của bánh xe, và bộ mã hóa nên được gắn vào ô tô bên cạnh. Nó khá dễ tiếp thu, vì vậy nó không cần phải cập nhật ngay nhưng càng gần càng tốt. Tôi đã bảo vệ bộ mã hóa của mình bằng băng dính và dây buộc zip. Bộ mã hóa là thứ chúng ta sẽ sử dụng để đo tốc độ xe của mình.

Bước 3: Mạch hàn

Mạch hàn
Mạch hàn
Mạch hàn
Mạch hàn

Phần này khá tẻ nhạt, nhưng không phức tạp. Nếu bạn làm theo hình ảnh và đo lường mọi thứ trước khi bạn cắt dây, nó không quá tệ.

Trong khi thực hiện việc này, bạn cũng nên hiệu chỉnh bộ chuyển đổi buck của mình để xuất ra điện áp chính xác. Raspberry Pi và Jetson Nano đều sử dụng 5v in, nhưng pin của chúng tôi ở mức 11,1v. Vì vậy, chúng ta cần đảm bảo rằng chúng ta không chiên các thiết bị điện tử của mình. Để thực hiện việc này, hãy cắm pin của bạn vào đầu vào của bộ chuyển đổi buck. Trong khi cắm pin, hãy sử dụng đồng hồ vạn năng của bạn để đo phía đầu ra của bộ chuyển đổi buck. Sử dụng tuốc nơ vít đầu phẳng nhỏ để vặn chiết áp trên bộ chuyển đổi buck cho đến khi điện áp đầu ra là 5v. Khi đầu ra chính xác, bạn sẽ không phải vặn chiết áp nữa.

Bước 4: Cài đặt phụ thuộc vào hệ thống nhúng

Cài đặt phụ thuộc vào hệ thống nhúng
Cài đặt phụ thuộc vào hệ thống nhúng

Không quá nhiều việc phải làm ở đây, nhưng vẫn cực kỳ quan trọng.

Trước tiên, hãy đảm bảo rằng bạn kết nối với bộ định tuyến sẽ sử dụng để nó có thể kết nối tự động từ bây giờ.

Sau đó, mở một thiết bị đầu cuối và nhập thông tin sau:

cập nhật apt sudo

sudo apt install openssh-server

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

Khi những thứ này đã được cài đặt, chúng ta cần đảm bảo rằng, dù arduino được cắm vào cổng nào, nó vẫn luôn được nhận dạng. Vì vậy, chúng tôi viết những gì được gọi là quy tắc UDEV. Đây là các quy tắc dành cho hệ điều hành của bạn chi phối những gì xảy ra khi bạn cắm mọi thứ vào. Chúng tôi muốn xác định arduino khi nó được cắm vào và đặt tên cho nó để truy cập. Tên đó sẽ là "arduino_0". Để làm điều này, chúng tôi sẽ sử dụng số sê-ri nội bộ của arduino để xác định nó.

udevadm thông tin -a -n / dev / ttyUSB1 | grep '{nối tiếp}' | đầu -n1

Thao tác này sẽ tạo ra một giá trị cho số sê-ri, hãy tiếp tục và sao chép giá trị đó.

Sau đó, chúng tôi cần chỉnh sửa (hoặc tạo nếu nó không tồn tại) một tệp có tên "99-usb-serial.rules". Tệp này nằm trong đường dẫn tệp sau "/etc/udev/rules.d/99-usb-serial.rules". Giống như tôi đã đề cập, nếu tệp đó không tồn tại, chỉ cần tạo nó và dán vào dòng sau với VALUE_FROM_ABOVE được thay thế bằng giá trị của bạn từ trước đó.

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

Điều này cho hệ điều hành biết rằng bất cứ khi nào nó nhìn thấy số sê-ri cụ thể này để gọi nó là arduino_0.

Điều cuối cùng cần làm ở đây là tải xuống pushArucoVideoPullCommands.py và đặt nó ở nơi nào đó dễ truy cập. Tôi muốn giới thiệu thư mục chính cho người dùng của bạn, vì đó là nơi chúng tôi sẽ kết thúc khi chúng tôi SSH vào hệ thống nhúng sau này.

Bước 5: Thiết lập địa chỉ IP tĩnh

Thiết lập địa chỉ IP tĩnh
Thiết lập địa chỉ IP tĩnh

Bây giờ là phần mà mọi người yêu thích, địa chỉ IP. Để dự án này hoạt động, mã cần biết nơi gửi hình ảnh và lệnh điều khiển đến và điều đó có nghĩa là thiết bị của chúng ta cần có IP tĩnh.

Có nhiều cách để gán IP tĩnh cho thiết bị của bạn, nhưng vì chúng tôi có bộ định tuyến kết nối trạm mặt đất và hệ thống nhúng, chúng tôi có thể sử dụng nó để cung cấp cho chúng tôi địa chỉ IP cụ thể rất dễ dàng.

Điều hướng đến phần quản trị bộ định tuyến của bạn, thông thường (đối với hầu hết các bộ định tuyến), điều này được thực hiện bằng cách mở trình duyệt web và truy cập "192.168.1.1". Nó sẽ yêu cầu bạn đăng nhập, tên người dùng và mật khẩu tiêu chuẩn thông thường cho hầu hết các bộ định tuyến là "admin".

Khi ở đó, hãy điều hướng đến một thứ có đề cập đến "Máy chủ DHCP". Đây là một quá trình chạy trên bộ định tuyến của bạn và theo dõi những thiết bị nào được kết nối với nó bằng Địa chỉ MAC của chúng, địa chỉ này luôn không đổi. Chúng tôi muốn chọn thiết bị mà chúng tôi quan tâm về, máy tính trạm mặt đất và hệ thống nhúng, và thêm chúng vào phần máy khách dành riêng. Thao tác này sẽ cấp cho chúng một ip tĩnh bất cứ khi nào chúng được kết nối với bộ định tuyến này.

Đảm bảo rằng bạn đặt IP của Hệ thống nhúng thành 192.168.1.122 IP của trạm mặt đất có thể được đặt thành bất kỳ thứ gì.

Bước 6: Tải mã lên Arduino

Tải mã lên Arduino
Tải mã lên Arduino

Để tải lên mã arduino, trước tiên chúng ta cần cài đặt một thư viện để làm việc với lá chắn động cơ.

Trên Arduino IDE của bạn, đi tới Sketch-> include Library-> Manage Libraries… Sau đó, tìm kiếm Adafruit Motor Shield Library. Cài đặt thư viện này, sau đó tải mã lên arduino của bạn, không cần yêu cầu gì khác.

Bước 7: Gắn mạch & máy tính vào ô tô

Gắn mạch & máy tính vào ô tô
Gắn mạch & máy tính vào ô tô

Bây giờ mạch đã được xây dựng, Đã đến lúc đưa tất cả lên xe. Tôi sẽ không nói dối, rất nhiều thứ này chỉ được giữ lại bằng băng dính bởi vì đó là thứ dễ dàng nhất để tôi có thể tát vào nhau một cách thực sự nhanh chóng. Điều đó đang được nói, các lỗ gắn kết được trang bị như được thấy trong hình trên.

Hầu hết mọi thứ đều khá dễ dàng chỉ cần để ngồi ở đâu đó trên đầu xe, vì vậy, đừng lo lắng nếu không có nhiều không gian.

Bước 8: Thiết lập Môi trường VR

Thiết lập Môi trường VR
Thiết lập Môi trường VR

Phần này sẽ trông khác một chút tùy thuộc vào loại thiết lập VR mà bạn đã thực hiện. Dù thế nào đi nữa, tôi đã sử dụng SteamVR để phát triển phần mềm này, vì vậy bạn có thể cần phải cài đặt phần mềm đó.

Miễn là bạn đang sử dụng SteamVR, các điều khiển sẽ thích ứng với các bộ điều khiển khác nhau. Tôi đã ánh xạ các điều khiển đến "Tác vụ" không nhất thiết phải là các nút, vì vậy, về lý thuyết, nó sẽ thích ứng với mọi người.

Bạn chỉ cần tải xuống và giải nén tệp với thế giới Unity xây dựng và sẵn sàng chạy VR_Bot.exe.

Bước 9: Chạy tất cả cùng nhau

Chạy tất cả cùng nhau
Chạy tất cả cùng nhau
Chạy tất cả cùng nhau
Chạy tất cả cùng nhau

Vì vậy, bây giờ chúng tôi đã thiết lập ô tô, và trạm mặt đất đã kết nối và sẵn sàng để đi, làm thế nào để chúng tôi thực sự điều hành cậu bé xấu số này? Vâng, theo quan điểm của Trạm mặt đất, tất cả những gì bạn phải làm là chạy tệp VR_Bot.exe mà chúng ta đã thấy trước đó.

Đồng thời, bạn sẽ cần cắm pin vào Hệ thống nhúng và để nó tự động khởi động và kết nối với bộ định tuyến của bạn. Khi nó được khởi động, hãy SSH vào nó. Để truy cập điều này, bạn sẽ cần một số loại thiết bị đầu cuối ở trạm mặt đất, tôi khuyên bạn nên sử dụng GitBash.

SSH là viết tắt của Secure Shell và nó là một giao thức để truy cập các hệ thống từ xa một cách an toàn. Trong trường hợp của chúng tôi, nó sẽ cung cấp cho chúng tôi quyền truy cập vào Hệ thống nhúng từ Trạm mặt đất. Click vào đây để tìm hiểu thêm.

Bạn cần biết tên người dùng mà bạn thiết lập hệ thống nhúng của mình. Đối với raspberry pi, tên người dùng mặc định là 'pi' và mật khẩu là 'raspberry'.

Sau khi cài đặt, hãy mở một thiết bị đầu cuối và nhập thông tin sau:

ssh {Tên người dùng của Hệ thống nhúng}@192.168.1.122

Thao tác này sẽ mở ra một thiết bị đầu cuối trong Hệ thống nhúng.

Khi đó, bạn chỉ cần thực thi tập lệnh python mà chúng tôi đã sao chép trước đó.

python /path/to/pushArucoVideoPullCommands.py

Sau khi bạn làm điều đó, Hệ thống nhúng sẽ bắt đầu bơm hình ảnh và nhận lệnh đến và đi từ trạm mặt đất.

Sau đó, bạn đã tốt để bắt đầu lái xe và vui chơi!

Đề xuất: