Sadržaj:
- Korak 3: Postavite svoj sustav 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 promjena: 2024-01-30 09:37
Kako biste izgradili WiFi-UART most, možete pogledati ovaj github repo:
Ima lijepu osnovu za početak. Dobro 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 upotrijebite prekidač razine (npr. Pomoću razdjelnika napona) za prebacivanje 5V UART logičkih razina s Roombe na 3.3V, koje koristi ESP.
Drugi važan detalj je da bi pretvarač dolara trebao imati 300mA, ali puno manje ili mnogo više (ovisno o samom pretvaraču dolara). Postoje neki koji mogu učiniti mnogo više struje, ali uzrokovati 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 sustava Roomba UART sučelja. U osnovi je Roomba reagirala na pritisak gumba, ali ne i na naredbe putem UART sučelja. Nakon što se to dogodilo, morali smo izvaditi Roombinu bateriju i hladno ponovno pokrenuti Roombu s priključenim WiFi-UART mostom. Međutim, samo je D24V3F3 dobro radio.
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}; Serijski.ispis (c); }
void spinRight () {char c = {137, 0x00, 0xc8, 0xff, 0xff}; Serijski.ispis (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.odgoda (100);
print ('\ 00'); -Brzina = 200 = 0x00C8 -> 0 i 200
tmr.odgoda (100);
print ('\ 200'); - Brzina
tmr.odgoda (100);
print ('\ 254'); - Polumjer = 500 = 0x01F4 = 0x01 0xF4 = 1 244
tmr.odgoda (100);
print ('\ 12'); -- Skretanje
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 pokazuje da primjena i pristup funkcioniraju. Bili smo pomalo lijeni, web sučelju nedostaju sve ostale naredbe za upravljanje, poput naprijed, natrag, brzina, desno, lijevo i tako dalje, ali naredbe možete izdati putem http. U svakom slučaju, to je samo demonstracija da daljinski upravljač Roombe radi s lakim komadom hardvera i softvera pomoću ESP8266.
Budući da daljinskim upravljanjem Roombom možete upravljati iz računalne aplikacije, jedino što nedostaje je lokalizacija u zatvorenom prostoru. To nam je potrebno da zatvorimo povratnu spregu, jer nam je cilj bio usmjeriti robota u određenom smjeru. Napravimo to.
Korak 3: Postavite svoj sustav lokalizacije u zatvorenom prostoru
Kako bismo zatvorili petlju povratnih informacija, koristimo unutarnji sustav lokalizacije. Za to koristimo Localino. Localino sustav sastoji se od "sidra" i "oznaka". Sidra su postavljena na fiksna mjesta u prostoriji i lociraju položaj pomične oznake (koja se postavlja na Roombu). Obrada lokacije vrši se u računalnoj aplikaciji. To je velika prednost jer i Roombom možete upravljati s istog računala! Besplatni izvorni kod dostupan je s web stranice Localino, 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 mjestima, koja omogućuju 3D pozicioniranje Roombe. Općenito, bila bi nam potrebna samo 3 sidra, jer se Roomba vjerojatno neće kretati po osi Z, stoga bi 2D bilo dovoljno. No, budući da se sidra nalaze na visini AC utikača (što je približno 30 cm iznad zemlje), 2D postavljanje uzrokovalo bi male pogreške u procjeni položaja. Stoga smo odlučili imati 4 sidra i lokalizirati ih u 3D.
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. Pomoću Localina možemo zatvoriti povratnu spregu i upravljati robotom iz računalne aplikacije.
Napomene o postavljanju
Lokalna sidra postavite unutar prostorije 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 Localina i može se očitati pomoću alata "localino konfiguracija".
Zabilježite položaje 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, također bi trebao postojati određeni zračni razmak između bilo kojeg materijala i sidra.
… slijedi još.
Korak 4: Prilagodite softver Python
ostanite s nama. još slijedi.
Preporučeni:
Svijetleći sat sa zračnim mjehurićima; Omogućuje ESP8266: 7 koraka (sa slikama)
Svijetleći sat sa zračnim mjehurićima; Pokreće ESP8266: “užareni sat s mjehurićima zraka” prikazuje vrijeme i neke grafike osvijetljenim mjehurićima zraka u tekućini. Za razliku od LED matričnog zaslona, lagano lebdeći, užareni zračni mjehurići daju mi nešto za opuštanje. Početkom 90-ih zamišljao sam "zaslon s mjehurićima". Otvori
556 Vrijeme omogućuje unos sata u 2 dekadna brojača koji će pokretati 20 LED -ova: 6 koraka
556 Vrijeme omogućuje unos sata na 2 desetljetna brojača koji će pokretati 20 LED -ova: Ova instrukcija će pokazati kako će mjerač vremena 556 osigurati unose sata na brojače za 2 desetljeća. Brojači desetljeća će pokretati 20 LED -ova. LED diode će treptati u nizu od 10
Lotus LED svjetiljka (održivi prirodni okoliš): 4 koraka
Lotosova LED svjetiljka (održivi prirodni okoliš): Sažetak: Svjetiljka oblika sličnog poznatom lotosovom cvijetu. Ideja iza svjetiljke je da se može koristiti u različitim konfiguracijama, ovisno o željama krajnjih korisnika, jer će dobiti žarko svjetlo kada (Lotus flo
Cómo Conectar NodeMCU + RFID Y Omogućuje jedinstvo: 4 koraka
Cómo Conectar NodeMCU + RFID Y Zabilježite Datos a Unity: Los pines que se conectara al nodeMCU y el RFID RST = GPIO5 SDA (SS) = GPIO4 MOSI = GPIO13 = D7 MISO = GPIO12 = D6 SCK = GPIO14 = D5 GND = GND 3,3 V = 3De esta manera se podr á generaler la lectura de datos de las ta
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 se kreacija može koristiti za mnoge stvari - ne samo za lava lampu. Mogli biste uključiti aparat za kavu ujutro ili napraviti automatsko noćno svjetlo. Zaista, samo sam