Mục lục:

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
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

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

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
Video: Đình Hiền Review: Con robot phun ra khói siêu ngầu. #shorts 2024, Tháng mười một
Anonim
Image
Image

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

Hiểu Khung WebIOPi
Hiểu Khung WebIOPi

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:

  1. Raspberry Pi B (tương thích 100% về phía trước với Raspberry Pi B +)
  2. Webcam USB của Logitech (nhỏ 1,3 Megapixel)
  3. IC điều khiển động cơ L293D và lá chắn đột phá
  4. USB WiFi Dongle cho Raspberry Pi
  5. Ngân hàng điện USB cho Raspberry Pi
  6. 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: