Sadržaj:
- Korak 3: Postavite svoj sistem lokalizacije u zatvorenom prostoru
- Korak 4: Prilagodite softver Python
Video: Localino prati Roomba IRobot, mapira okoliš i omogućuje kontrolu .: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Da biste izgradili WiFi-UART most, možete pogledati ovaj github repo:
Ima lijepu osnovu za početak. Pažljivo pročitajte smjernice jer Roomba VCC tijekom punjenja povećava do 20 volti! Ako dodate ESP8266 bez odgovarajućeg pretvarača dolara koji radi čak i do 20 V i pretvara u dolje u 3,3 V, oštetit ćete svoj ESP.
Također se pobrinite da upotrijebite prekidač nivoa (npr. Pomoću razdjelnika napona) za prebacivanje 5V UART logičkih nivoa s Roombe na 3.3V, koje koristi ESP.
Još jedan važan detalj je da bi konverter dolara trebao imati 300mA, ali mnogo manje ili mnogo više (ovisno o samom konverteru dolara). Postoje neki koji mogu učiniti mnogo više struje, ali uzrokuju rušenje Roombe jer crpe previše struje tijekom pokretanja. Otkrili smo da Pololu 3.3V, 300mA Regulator napona (D24V3F3) radi savršeno. Alternativne verzije koje imaju 500mA / 600mA uzrokovale su pad Roomba UART sučelja. U osnovi, Roomba je reagirala na pritisak gumba, ali ne i na naredbe putem UART sučelja. Kad se to dogodilo, morali smo izvaditi Roombinu bateriju i hladno ponovno pokrenuti Roombu s priključenim WiFi-UART mostom. Međutim, samo je D24V3F3 radio dobro.
Osim tehničkih detalja, kodu morate dodati dodatne naredbe koje možete pronaći u specifikacijama otvorenog sučelja Roombe. Morat ćete dodati sve naredbe na koje želite da vaša roomba reagira (na primjer, unatrag, naprijed, brzinu itd.).
primjeri unutar arduino IDE -a:
void goForward () {char c = {137, 0x00, 0xc8, 0x80, 0x00}; // 0x00c8 == 200 Serial.print (c); }
void goBackward () {char c = {137, 0xff, 0x38, 0x80, 0x00}; // 0xff38 == -200 Serial.print (c); }
void spinLeft () {char c = {137, 0x00, 0xc8, 0x00, 0x01}; Serial.print (c); }
void spinRight () {char c = {137, 0x00, 0xc8, 0xff, 0xff}; Serial.print (c); }
ako napišete lua izgleda malo drugačije, primjer za skretanje LIJEVO bi izgledao ovako:
if (_GET.pin == "LEFT") then print ('\ 137'); --VOR
tmr.delay (100);
print ('\ 00'); -Brzina = 200 = 0x00C8 -> 0 i 200
tmr.delay (100);
print ('\ 200'); - Brzina
tmr.delay (100);
print ('\ 254'); - Polumjer = 500 = 0x01F4 = 0x01 0xF4 = 1 244
tmr.delay (100);
print ('\ 12'); - Skreni
kraj
Provjerite morate li ispraviti otvoreni opis sučelja za svoju Roombu. Dostupne su najmanje dvije specifikacije otvorenog sučelja.
za Roomba 5xx seriju:
za Roomba 6xx seriju:
Nakon što ste izgradili svoj WiFi-UART most i testirali naredbe, napravili ste veliki korak dalje. Ovaj video prikazuje da aplikacija i pristup funkcioniraju. Bili smo pomalo lijeni, web sučelju nedostaju sve ostale upravljačke naredbe, poput naprijed, nazad, brzina, desno, lijevo i tako dalje, ali naredbe možete izdati putem http -a. U svakom slučaju, to je samo demonstracija da daljinski upravljač Roombe radi s lakim komadom hardvera i softvera koristeći ESP8266.
Budući da Roombom možete daljinski upravljati iz računalne aplikacije, jedino što nedostaje je lokalizacija u zatvorenom prostoru. Ovo nam je potrebno da zatvorimo povratnu spregu, jer nam je cilj bio usmjeriti robota u određenom smjeru. Uradimo ovo.
Korak 3: Postavite svoj sistem lokalizacije u zatvorenom prostoru
Da bismo zatvorili petlju povratnih informacija, koristimo unutarnji sistem lokalizacije. Za to koristimo Localino. Localino sistem se sastoji od "sidra" i "oznaka". Sidra se postavljaju na fiksne lokacije u prostoriji i lociraju položaj pokretne oznake (koja se postavlja na Roombu). Obrada lokacije se vrši u PC aplikaciji. To je velika prednost, jer Roombom možete upravljati i s istog računara! Besplatni izvorni kod dostupan je na lokalnoj web stranici, napisan je na pythonu, a dostupan je i stream u stvarnom vremenu koji nudi XYZ koordinate oznake. Prijenos podataka dostupan je putem UDP mreže, ali možete dodati i MQTT ili bilo koju drugu otmjenu stvar koja vam se sviđa. Ako poznajete Python, postoje hrpe biblioteka koje vam mogu pomoći.
U ovom videu prikazana je lokalizacija Roombe. Stoga imamo 4 sidra postavljena u prostoriji na fiksnim lokacijama, koja omogućuju 3D pozicioniranje Roombe. Općenito, bila bi nam potrebna samo 3 sidra, jer se Roomba vjerojatno neće kretati po Z-osi, pa bi 2D bilo dovoljno. No, budući da se sidra nalaze na visini glavnih utikača naizmjenične struje (što je približno 30 cm iznad zemlje), 2D postavljanje uzrokovalo bi male greške u procjeni položaja. Stoga smo odlučili imati 4 sidra i lokalizirati ih u 3D -u.
Budući da imamo poziciju Roombe, naš sljedeći korak je kontrola Roombe iz iste aplikacije. Ideja je iskoristiti prizemnu istinu i procijeniti savršenu putanju čišćenja robota. Korištenjem Localina možemo zatvoriti povratnu spregu i upravljati robotom iz PC aplikacije.
Napomene o postavljanju
Postavite Localino sidra u prostoriju na različite položaje x, y, a tri od njih u isti položaj z. Postavite jedno od četiri sidra na različitim visinama z po prostoriji. Pobrinite se da postoji dobra pokrivenost od oznake Localino, koja će se kretati s Roombom.
Sva sidra imaju jedinstveni ID sidra, koji je prikazan na crtičnom kodu Localino -a i može se očitati pomoću alata „localino konfiguracija“.
Zabilježite pozicije u X, Y, Z i ID -ove sidra. To je potrebno za softver Localino procesora i mora se prilagoditi u datoteci “localino.ini” u mapi “LocalinoProcessor”
Sidra trebaju biti usmjerena prema gore ili prema dolje u Z (kada je pokriveno područje XY), ali ne u smjeru pokrivenog područja. Sidra također ne smiju biti prekrivena metalom ili bilo kojim drugim materijalom koji ometa bežični signal. Ako to nije moguće, trebao bi postojati i određeni zračni razmak između bilo kojeg materijala i sidra.
… slijedi još.
Korak 4: Prilagodite softver Python
budite u toku. slijedi još.
Preporučuje se:
Arduino - Robot za rješavanje labirinta (mikro miš) Robot koji prati zid: 6 koraka (sa slikama)
Arduino | Robot za rješavanje labirinta (MicroMouse) Zidni robot: Dobro došli, ja sam Isaac i ovo je moj prvi robot "Striker v1.0". Ovaj robot je dizajniran za rješavanje jednostavnog labirinta. U konkurenciji smo imali dva labirinta i robota uspio ih je identificirati. Bilo koje druge promjene u labirintu mogu zahtijevati promjenu
Osoba prati korpu: 8 koraka
Osoba koja prati korpu: Roboti svakodnevno privlače sve veću pažnju u mnogim industrijama. Od danas roboti preuzimaju većinu trivijalnih poslova na kojima je nekad bila potrebna ljudska pažnja. Počnimo s nekim jednostavnim - Botom koji vas prati dok idete
Led-trepereći Hack-O-Lantern koji prati pjesmu: 6 koraka
Hack-O-Lantern koji prati pjesmu prateći pjesmu!: Napravite jack-o-lantern koji svira i bljeska višebojne LED diode omiljenoj pjesmi za Noć vještica
Kid's Quad hakiranje u vozilo koje se samostalno vozi, prati liniju i otkriva prepreke: 4 koraka
Kid's Quad hakiranje u vozilo koje se samostalno vozi, prati liniju i otkriva prepreke. U današnjem Instructable -u pretvorit ćemo električni dječji quad od 1000 W (da, znam da je puno!) U vozilo koje se samostalno vozi, prati liniju i izbjegava prepreke! Demo video: https: //youtu.be/bVIsolkEP1kZa ovaj projekt trebat će nam sljedeći materijali
Wi-Fi omogućuje gotovo sve: 4 koraka
Wi-Fi omogućuje gotovo sve: Ako nikada prije niste koristili Blynk, trebali biste to provjeriti. Ova kreacija može se koristiti za mnoge stvari - ne samo za lava lampu. Mogli ste uključiti aparat za kafu ujutro ili napraviti automatsko noćno svjetlo. Zaista, samo sam