Mục lục:
- Bước 1: Tổng quan
- Bước 2: Xây dựng dự án
- Bước 3: Xây dựng / Hướng dẫn đấu dây
- Bước 4: Hiểu Khung WebIOPi
- Bước 5: Chạy dự án
Video: Rô bốt tìm kiếm và xử lý từ xa được điều khiển bằng chuyển động Leap: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Là một phần trong bài viết của tôi cho Leap Motion # 3D Jam, tôi rất vui khi được xây dựng Robot Tìm kiếm / Cứu hộ được điều khiển bằng cử chỉ không dây này dựa trên Raspberry Pi. Dự án này trình bày và cung cấp một ví dụ tối giản về cách các cử chỉ tay 3D không dây có thể được sử dụng để điều khiển và tương tác với các công cụ vật lý.
Vì dự án này sử dụng khuôn khổ WebIOPi IoT phổ biến trên Raspberry Pi nên nó có thể rất dễ dàng mở rộng để điều khiển và giao diện thường là bất kỳ Cảm biến / Phần cứng / Điện tử nào có thể được giao tiếp với Raspberry Pi.
Một số tình huống có thể xảy ra mà tôi hình dung ra mà các Nhà sản xuất đồng nghiệp có thể sử dụng dự án này làm khuôn khổ cơ sở của họ để xây dựng:
1. Robot xử lý bom được vận hành bằng cử chỉ từ xa (có thể sử dụng Cánh tay OWI, v.v.)
2. Hoạt động phẫu thuật từ xa của bác sĩ
3. Nội dung giáo dục hoặc triển lãm nghệ thuật tương tác được điều khiển bằng cử chỉ
4. Khả năng / tích hợp vô hạn khác (Tôi bị giới hạn bởi trí tưởng tượng của mình:))
Bước 1: Tổng quan
Dự án này cho phép người dùng điều khiển một cách tương tác Robot bằng cử chỉ tay 3D thông qua Chuyển động nhảy vọt được kết nối với PC.
Robot Raspberry Pi trên bo mạch cũng có một Webcam USB để truyền trực tiếp video trực tiếp trở lại người dùng có thể xem được trên Trình duyệt web. Thư viện JavaScript LeapMotion được nhúng vào Trang web này xử lý các cử chỉ tay và gửi tín hiệu điều khiển trở lại Robot, sau đó sẽ di chuyển tương ứng.
Raspberry Pi trên Robot được định cấu hình thành Điểm phát sóng (chế độ AP) với sự trợ giúp của USB WiFi dongle được kết nối với nó. Điều này cho phép PC / Thiết bị của chúng tôi kết nối trực tiếp với Raspberry Pi và điều khiển thông qua trang web. Raspberry Pi cũng có thể được định cấu hình để hoạt động ở chế độ máy khách, trong đó nó kết nối không dây với AP của Bộ định tuyến WiFi mà PC / Thiết bị đã được kết nối.
Dự án này dựa trên WebIOPi (https://webiopi.trouch.com/) là một khuôn khổ IoT phổ biến cho Raspberry Pi. Bằng cách sử dụng Bộ IoT dệt đi kèm (hoặc thông qua chuyển tiếp cổng trên Bộ định tuyến), Robot này có thể được điều khiển từ xa và / hoặc nhận dữ liệu từ bất kỳ nơi nào trên thế giới.
Các thành phần sau được sử dụng để xây dựng dự án:
- Raspberry Pi B (tương thích 100% về phía trước với Raspberry Pi B +)
- Webcam USB của Logitech (nhỏ 1,3 Megapixel)
- IC điều khiển động cơ L293D và lá chắn đột phá
- USB WiFi Dongle cho Raspberry Pi
- Ngân hàng điện USB cho Raspberry Pi
- Pin 4V / 1.5A bên ngoài để điều khiển Động cơ Robot
Bước 2: Xây dựng dự án
Cài đặt WebIOPi, Viết mã tùy chỉnh và cấu hình Webcam:
Hướng dẫn cài đặt WebIoPi, kiến thức cơ bản về khung và nhiều ví dụ có sẵn tại trang dự án ở đây:
Để có được các chức năng LeapMotion được nhúng trên trang web kích hoạt các hành động GPIO trên Raspberry Pi, chúng tôi đã sử dụng Macro, thông tin chi tiết được tìm thấy tại đây:
Tôi cũng đã viết một số ghi chú bắt đầu về quá trình trên có thể được tìm thấy đính kèm.
Cài đặt và cấu hình Webcam
Chúng tôi đang sử dụng MJPG-Streamer để truyền nguồn cấp dữ liệu video từ Raspberry Pi trở lại Trình duyệt thông qua Webcam USB được kết nối trên Pi. Vui lòng làm theo hướng dẫn thiết lập và xây dựng được chỉ ra tại đây https://blog.miguelgrinberg.com/post/how-to-build-… để MJPG-Streamer hoạt động trên Raspberry Pi.
Định cấu hình Raspberry Pi làm AP / Hotspot
Để thiết lập Raspberry Pi làm Hostpot, vui lòng làm theo hướng dẫn được cung cấp tại đây: https://elinux.org/RPI-Wireless-Hotspot. Tôi đã định cấu hình IP tĩnh của Raspberry Pi là 192.168.42.1, đây là những gì chúng tôi sẽ nhập vào trình duyệt khi Pi khởi động vào chế độ AP.
Dịch vụ WebIOPi, MJPG-Streamer và WiFi hotspot đã được định cấu hình để tự động chạy khi khởi động và điều này cho phép chúng tôi trực tiếp mở trình duyệt Web và kết nối với Robot sau khi khởi động. Tệp rc.local có sẵn trong repo được sử dụng để chạy Webcam khi khởi động.
Bước 3: Xây dựng / Hướng dẫn đấu dây
4 GPIO của Raspberry Pi cụ thể là GPIO 9, 11, 23 & 24 được kết nối với IC điều khiển động cơ L293D để điều khiển động cơ tương ứng sau khi nhận được yêu cầu macro từ Trang web do khung Webiopi cung cấp. USB WiFi dongle và USB Logitech Webcam được kết nối với 2 cổng USB có trên Raspberry Pi. Nguồn điện 5V 4000 Mah cung cấp nguồn điện chính cho Pi. Một pin Axit Chì 4V 1,5A được sử dụng để truyền động cho Động cơ.
Lưu ý: Vì dòng điện đầu ra tối đa của bộ nguồn mà tôi sử dụng là 1000 Mah, nên tôi phải sử dụng pin Axit Chì bên ngoài để điều khiển động cơ. Nếu bạn có một bộ dự trữ năng lượng> = 2000Mah, bạn có thể trực tiếp điều khiển động cơ từ đường ray 5V trên Pi (tôi không khuyên bạn nên điều này cho động cơ đói điện)
3 tiểu mục chính của dự án LeapMotion Javascript API, WebIOPi và MJPG-Streamer và cách làm việc / thiết lập cơ bản của chúng được trình bày ngắn gọn bên dưới.
Bước 4: Hiểu Khung WebIOPi
Giao diện người dùng được hiển thị trên Trình duyệt được ghi bằng HTML (Tên tệp: index.html) & Javascript trong khi phần phụ trợ điều khiển các GPIO được viết bằng Python (Filename: script.py). Các ghi chú chi tiết về việc tạo WebApp tùy chỉnh dựa trên khung WebIOPi được đính kèm dưới dạng ghi chú trong kho Bitbucket.
Các macro tùy chỉnh được xác định trong tập lệnh Python có thể được kích hoạt từ tệp HTML.
Vd: webiopi (). CallMacro ("go_ntic"); Đây là một lệnh gọi tùy chỉnh tới một macro go_ntic được xác định trong tập lệnh Python để xử lý quá trình xử lý cả hai Động cơ theo hướng chuyển tiếp.
Hệ thống phân cấp Thư mục nơi các tệp được lưu trữ trên Pi được hiển thị trong hình ảnh đính kèm.
Thư mục Robot chứa các thư mục con sau:
- html: chứa index.html
- python: chứa script.py
- mjpg-streamer-r63: chứa các tệp xây dựng và tệp thực thi để chạy Webcam
MJPG-Streamer: Luồng Video Trực tiếp từ Webcam USB chạy trên cổng 8080 của Pi theo mặc định. Để xem luồng theo cách thủ công, hãy điều hướng đến RASPBERRYPI_IP: 8080 trên trình duyệt sau khi bật Webcam.
Mã LeapMotion:
Các đoạn mã từ các ví dụ được cung cấp trong SDK LeapMotion đã được nhúng vào tệp index.html. Tệp leap.js của LeapMotion phải được thêm vào thư mục html trong thư mục dự án trên Raspberry Pi.
Tham số palmPosition do LeapMotion gửi được sử dụng để xác định macro nào sẽ kích hoạt trên Raspberry Pi.
Bước 5: Chạy dự án
Chỉ cần BẬT nguồn Raspberry Pi và đợi khoảng một phút. Bạn sẽ thấy một hotpsot RaspberryPi mới xuất hiện. Kết nối với điểm phát sóng này và mở địa chỉ IP tĩnh này trong trình duyệt: 192.168.42.1:8000. 8000 là cổng mặc định của WebIOPi.
Raspberry Pi cũng có thể được định cấu hình để kết nối với mạng WiFi cục bộ dưới dạng kết nối thay vì hiển thị dưới dạng điểm phát sóng. Sau đó, bạn cần xác định IP động được Bộ định tuyến gán cho Raspberry Pi và sau đó nhấn nó trong Trình duyệt để chơi với Bot.
Bạn có thể để lại bình luận nếu bạn cần bất kỳ trợ giúp nào hoặc có bất kỳ câu hỏi nào về dự án. Chúc bạn nhảy vui vẻ!
Toàn bộ mã nguồn đã được đính kèm. Bạn có thể để lại bình luận nếu bạn cần bất kỳ sự trợ giúp nào về bất kỳ phần nào của việc xây dựng dự án. Chúc bạn nhảy vui vẻ!
Đề xuất:
Điều khiển bằng cử chỉ đơn giản - Điều khiển đồ chơi RC của bạn bằng chuyển động của cánh tay: 4 bước (có hình ảnh)
Điều khiển bằng cử chỉ đơn giản - Điều khiển đồ chơi RC của bạn bằng chuyển động của cánh tay: Chào mừng bạn đến với 'ible' # 45 của tôi. Cách đây một thời gian, tôi đã tạo một phiên bản RC hoàn chỉnh của BB8 bằng cách sử dụng các phần Lego Star Wars … https://www.instructables.com/id/Whats-Inside-My-R…Khi tôi thấy nó thú vị như thế nào Force Band do Sphero tạo ra, tôi nghĩ: " Ok, tôi c
Động cơ bước được điều khiển Động cơ bước không có vi điều khiển (V2): 9 bước (có hình ảnh)
Động cơ bước được điều khiển bằng động cơ bước Không cần vi điều khiển (V2): Trong một trong những Hướng dẫn trước đây của tôi, tôi đã chỉ cho bạn cách điều khiển động cơ bước bằng cách sử dụng động cơ bước mà không cần vi điều khiển. Đó là một dự án nhanh chóng và thú vị nhưng nó đi kèm với hai vấn đề sẽ được giải quyết trong Có thể hướng dẫn này. Vì vậy, hóm hỉnh
Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: 5 bước
Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: Đây là các hướng dẫn để tạo ô tô được điều khiển từ xa của riêng bạn, được điều khiển bằng bộ điều khiển Xbox 360 không dây
ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước
ESP8266 RGB LED STRIP Điều khiển WIFI | NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi | Điều khiển bằng điện thoại thông minh RGB LED STRIP: Xin chào các bạn trong hướng dẫn này, chúng ta sẽ học cách sử dụng gật đầu hoặc esp8266 làm điều khiển từ xa IR để điều khiển dải LED RGB và Nodemcu sẽ được điều khiển bằng điện thoại thông minh qua wifi. Vì vậy, về cơ bản bạn có thể điều khiển DÂY CHUYỀN LED RGB bằng điện thoại thông minh của mình
Robot Arduino có khoảng cách, hướng và mức độ xoay (Đông, Tây, Bắc, Nam) được điều khiển bằng giọng nói sử dụng mô-đun Bluetooth và chuyển động của robot tự động: 6 bước
Robot Arduino có khoảng cách, hướng và mức độ xoay (Đông, Tây, Bắc, Nam) được điều khiển bằng giọng nói sử dụng mô-đun Bluetooth và chuyển động của robot tự động: Tài liệu hướng dẫn này giải thích cách chế tạo Robot Arduino có thể di chuyển theo hướng cần thiết (Tiến, lùi , Trái, Phải, Đông, Tây, Bắc, Nam) yêu cầu Khoảng cách tính bằng Centimet bằng lệnh Thoại. Robot cũng có thể được di chuyển tự động