Სარჩევი:

ნახტომი მოძრაობით კონტროლირებადი დისტანციური ძიებისა და განკარგვის რობოტი: 5 ნაბიჯი
ნახტომი მოძრაობით კონტროლირებადი დისტანციური ძიებისა და განკარგვის რობოტი: 5 ნაბიჯი

ვიდეო: ნახტომი მოძრაობით კონტროლირებადი დისტანციური ძიებისა და განკარგვის რობოტი: 5 ნაბიჯი

ვიდეო: ნახტომი მოძრაობით კონტროლირებადი დისტანციური ძიებისა და განკარგვის რობოტი: 5 ნაბიჯი
ვიდეო: 35 საშინელი მოჩვენების ვიდეო: 2023 წლის მეგა კრებული [V1] 2024, ივლისი
Anonim
Image
Image

როგორც Leap Motion #3D Jam– ში ჩემი შესვლის ნაწილი, აღფრთოვანებული ვიყავი Raspberry Pi– ზე დაფუძნებული ამ უკაბელო ჟესტით კონტროლირებადი ძებნის/გადარჩენის რობოტის შექმნაზე. ეს პროექტი აჩვენებს და იძლევა მინიმალისტურ მაგალითს იმის შესახებ, თუ როგორ შეიძლება გამოყენებულ იქნას უკაბელო 3D ხელის ჟესტები ფიზიკური პერსონალის გასაკონტროლებლად და მათთან ურთიერთობისთვის.

ვინაიდან ეს პროექტი იყენებს პოპულარულ WebIOPi IoT ჩარჩოს Raspberry Pi– ზე, ის შეიძლება ადვილად გაფართოვდეს, როგორც წესი, ნებისმიერი სენსორის/აპარატურის/ელექტრონიკის გასაკონტროლებლად და ინტერფეისით, რომლის დაკავშირებაც შესაძლებელია Raspberry Pi– სთან.

ზოგიერთმა შესაძლო სცენარმა, რომელსაც მე ვთვლი, რომ შემქმნელებმა შეიძლება გამოიყენონ ეს პროექტი, როგორც საფუძველი ჩარჩოს შესაქმნელად:

1. დისტანციური ჟესტით მოქმედი ბომბის განადგურების რობოტი (შესაძლოა OWI მკლავის გამოყენებით და ა.შ.)

2. ექიმის დისტანციური ქირურგიული ოპერაცია

3. ჟესტებით კონტროლირებადი ინტერაქტიული ხელოვნების ექსპონატები ან საგანმანათლებლო შინაარსი

4. უსასრულო სხვა შესაძლებლობები/ინტეგრაცია (მე შეზღუდული ვარ ჩემი ფანტაზიით:))

ნაბიჯი 1: მიმოხილვა

WebIOPi ჩარჩოს გაგება
WebIOPi ჩარჩოს გაგება

ეს პროექტი საშუალებას აძლევს მომხმარებელს ინტერაქტიულად გააკონტროლოს რობოტი 3D ხელის ჟესტების გამოყენებით კომპიუტერთან დაკავშირებული ნახტომის საშუალებით.

ჟოლოს პი რობოტს ასევე აქვს USB ვებკამერა, რომელიც პირდაპირ ვიდეოს გადასცემს მომხმარებელს, რომელიც ჩანს ვებ ბრაუზერში. LeapMotion JavaScript ბიბლიოთეკა, რომელიც ჩართულია ამ ვებ გვერდზე, ამუშავებს ხელის ჟესტებს და აგზავნის საკონტროლო სიგნალებს რობოტში, რომელიც შემდეგ მოძრაობს შესაბამისად.

რობოტზე ჟოლო Pi არის კონფიგურირებული როგორც ცხელი წერტილი (AP რეჟიმი) მასთან დაკავშირებული USB WiFi დონლის დახმარებით. ეს საშუალებას აძლევს ჩვენს კომპიუტერებს/მოწყობილობებს უშუალოდ დაუკავშირონ Raspberry Pi- ს და გააკონტროლონ ვებგვერდის საშუალებით. Raspberry Pi ასევე შეიძლება იყოს კონფიგურირებული კლიენტის რეჟიმში მუშაობისთვის, სადაც ის უკაბელოდ უკავშირდება WiFi როუტერის AP- ს, რომელსაც უკვე აქვს კომპიუტერი/მოწყობილობები.

ეს პროექტი ემყარება WebIOPi (https://webiopi.trouch.com/), რომელიც არის პოპულარული IoT ჩარჩო Raspberry Pi– სთვის. შეფუთული Weaved IoT ნაკრების გამოყენებით (ან პორტის გადაგზავნისას როუტერზე), ამ რობოტს შეუძლია დისტანციურად აკონტროლოს და/ან მიიღოს მონაცემები მსოფლიოს ნებისმიერი ნაწილიდან.

პროექტის შესაქმნელად გამოყენებული იქნა შემდეგი კომპონენტები:

  1. ჟოლო Pi B (100% წინ თავსებადია Raspberry Pi B+)
  2. Logitech USB ვებკამერა (უმნიშვნელო 1.3 მეგაპიქსელი)
  3. L293D Motor Driver IC და Breakout Shield
  4. USB WiFi Dongle for Raspberry Pi
  5. USB Power Bank ჟოლოს Pi
  6. გარე 4V/1.5A ბატარეა რობოტ მოტორსის მართვისთვის

ნაბიჯი 2: პროექტის შექმნა

WebIOPi- ის დაყენება, პერსონალური კოდის წერა და ვებკამერის კონფიგურაცია:

WebIoPi ინსტალაციის ინსტრუქცია, ჩარჩო საფუძვლები და მრავალი მაგალითი ხელმისაწვდომია პროექტის გვერდზე აქ:

იმისათვის, რომ ვებ გვერდზე ჩადებული LeapMotion ფუნქციები გააქტიურდეს GPIO მოქმედებები Raspberry Pi– ზე, ჩვენ გამოვიყენეთ მაკროები, რომელთა დეტალები მოცემულია აქ:

მე ასევე დავწერე დაწყებითი ჩანაწერები ზემოაღნიშნული პროცესის შესახებ, რომელიც შეიძლება მიმაგრდეს.

ვებკამერის დაყენება და კონფიგურაცია

ჩვენ ვიყენებთ MJPG-Streamer– ს იმისთვის, რომ Raspberry Pi– დან ვიდეო არხის გადატანა ბრაუზერში, Pi– ზე დაკავშირებულ USB ვებკამერაზე. გთხოვთ მიჰყევით აქ მითითებულ დაყენებას და შექმნის ინსტრუქციას https://blog.miguelgrinberg.com/post/how-to-build-… რათა მიიღოთ MJPG-Streamer Raspberry Pi– ზე.

Raspberry Pi– ის კონფიგურაცია როგორც AP/Hotspot

იმისათვის, რომ Raspberry Pi როგორც ჰოსტპოტი დაყენდეს, მიჰყევით აქ მოცემულ ინსტრუქციას: https://elinux.org/RPI-Wireless-Hotspot. მე დავაკონფიგურირე Raspberry Pi– ს სტატიკური IP 192.168.42.1, რაც არის ის, რაც ჩვენ ჩავწერეთ ბრაუზერში მას შემდეგ, რაც Pi ჩავტვირთავთ AP რეჟიმში.

WebIOPi, MJPG-Streamer და WiFi hotspot სერვისი კონფიგურირებულია ჩატვირთვისას ავტომატურად გაშვების მიზნით და ეს გვაძლევს საშუალებას პირდაპირ გავხსნათ ვებ ბრაუზერი და რობოტთან დაკავშირება ჩატვირთვის შემდეგ. Rc.local ფაილი, რომელიც ხელმისაწვდომია რეპოში, გამოიყენება ვებკამერის ჩატვირთვისას.

ნაბიჯი 3: შექმნის/გაყვანილობის ინსტრუქციები

Raspberry Pi– ს 4 GPIO, კერძოდ GPIO 9, 11, 23 და 24 უკავშირდება L293D Motor Driver IC– ს, რომელიც ატარებს ძრავებს შესაბამისად ვებ – გვერდიდან მაკრო მოთხოვნების მიღების შემდეგ, რომელსაც ემსახურება Webiopi ჩარჩო. USB WiFi დონგლი და USB Logitech ვებკამერა უკავშირდება 2 USB პორტს, რომელიც ხელმისაწვდომია Raspberry Pi– ზე. 5V 4000 Mah Power ბანკი ამარაგებს Pi- ს მთავარ ენერგიას. 4V 1.5A ტყვიის მჟავა ბატარეა გამოიყენება ძრავების მართვისთვის.

შენიშვნა: ვინაიდან დენის ბანკის მაქსიმალური გამომავალი დენი, რომელიც მე გამოვიყენე, იყო უმნიშვნელოდ 1000 Mah, მე მომიწია გარე ტყვიის მჟავის ბატარეის გამოყენება ძრავების მართვისთვის. თუ თქვენ გაქვთ დენის ბანკი, რომელიც იძლევა> = 2000Mah, შეგიძლიათ პირდაპირ მართოთ ძრავები 5V სარკინიგზოდან Pi- ზე (მე ამას არ გირჩევთ ძლევამოსილ ძრავებზე)

პროექტის LeapMotion Javascript API, WebIOPi და MJPG-Streamer 3 ძირითადი ქვეგანყოფილება და მათი ძირითადი სამუშაო/კონფიგურაცია მოკლედ არის აღწერილი ქვემოთ.

ნაბიჯი 4: WebIOPi ჩარჩოს გაგება

ბრაუზერში ნაჩვენები ხერხი იწერება HTML- ში (ფაილის სახელი: index.html) და Javascript- ში, ხოლო უკანა მხარე, რომელიც ამუშავებს GPIO- ს, დაწერილია პითონში (ფაილის სახელი: script.py). WebIOPi ჩარჩოზე მორგებული WebApp– ის შექმნის შესახებ დეტალური ჩანაწერები თან ერთვის Bitbucket რეპოს შენიშვნებს.

პითონის სკრიპტში განსაზღვრული მორგებული მაკროები შეიძლება გააქტიურდეს HTML ფაილიდან.

მაგ: webiopi (). CallMacro ("go_forward"); ეს არის პერსონალური ზარი მაკრო go_forward– ისთვის, რომელიც განსაზღვრულია პითონის სკრიპტით და რომელიც ახორციელებს ორივე მოტორსის წინსვლის პროცესს წინსვლის მიმართულებით.

დირექტორიის იერარქია, სადაც ფაილები ინახება Pi– ზე, ნაჩვენებია თანდართულ სურათზე.

Robot საქაღალდე შეიცავს ამ ქვესაქაღალდეებს:

  • html: შეიცავს index.html
  • პითონი: შეიცავს სკრიპტს. py
  • mjpg-streamer-r63: შეიცავს ასაშენებელ ფაილებს და შესრულებადია ვებკამერის გასაშვებად

MJPG-Streamer: USB ვიდეოკამერის პირდაპირი ვიდეო ნაკადი სტანდარტულად მუშაობს Pi- ს 8080 პორტზე. ნაკადის ხელით სანახავად, გადადით ბრაუზერში RASPBERRYPI_IP: 8080 ვებკამერის ჩართვის შემდეგ.

LeapMotion კოდი:

კოდის ფრაგმენტები LeapMotion SDK– ში მოყვანილი მაგალითებიდან ჩანერგილი იყო index.html ფაილში. LeapMotion– ის leap.js ფაილი უნდა დაემატოს პროექტის დირექტორიაში Raspberry Pi– ს html საქაღალდეში.

LeapMotion– ის მიერ გაგზავნილი palmPosition პარამეტრი გამოიყენება იმის დასადგენად, თუ რომელი მაკრო უნდა დაიწყოს Raspberry Pi– ზე.

ნაბიჯი 5: პროექტის გაშვება

უბრალოდ ჩართეთ Raspberry Pi და დაელოდეთ დაახლოებით ერთ წუთს. თქვენ ნახავთ ახალ ცხელ წერტილს RaspberryPi გამოჩნდება. დაუკავშირდით ამ ცხელ წერტილს და გახსენით ეს სტატიკური IP მისამართი ბრაუზერში: 192.168.42.1:8000. 8000 არის WebIOPi– ის ნაგულისხმევი პორტი.

Raspberry Pi ასევე შეიძლება იყოს კონფიგურირებული, რომ დაუკავშირდეს ადგილობრივ WiFi ქსელს, როგორც კლიენტში, ცხელ წერტილად გამოჩენის ნაცვლად. შემდეგ თქვენ უნდა განსაზღვროთ როუტერის მიერ Raspberry Pi- ს მინიჭებული დინამიური IP და შემდეგ ბრაუზერში დააწკაპუნოთ, რომ ითამაშოთ ბოტით.

თქვენ შეგიძლიათ დატოვოთ კომენტარი, თუ დაგჭირდებათ დახმარება ან გაქვთ რაიმე შეკითხვა პროექტის შესახებ. ბედნიერი ნახტომი!

მთელი კოდის მიმაგრებულია. თქვენ შეგიძლიათ დატოვოთ კომენტარი, თუ დაგჭირდებათ დახმარება შენობის რომელიმე ნაწილში. ბედნიერი ნახტომი!

გირჩევთ: