Sisällysluettelo:
Video: Localino seuraa Roomba IRobotia, kartoittaa ympäristöä ja sallii hallinnan .: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Voit rakentaa WiFi-UART-sillan tarkistamalla tämän github-repon:
Sillä on mukava perusta aloittaa. Muista lukea ohjeet hyvin, koska Roomba VCC -laite kasvaa latauksen aikana jopa 20 volttiin! Jos lisäät ESP8266: n ilman asianmukaista buck-muunninta, joka toimii jopa 20 V: iin asti ja muuntaa alas 3,3 V: ksi, vahingoitat ESP: täsi.
Varmista myös, että käytät tasonsäädintä (esim. Käyttämällä jännitteenjakajaa) siirtääksesi 5 V: n UART -logiikkatasot Roombasta 3,3 V: iin, joita ESP käyttää.
Toinen tärkeä yksityiskohta on se, että buck -muuntimen pitäisi olla 300 mA, mutta paljon vähemmän tai paljon enemmän (riippuen itse buck -muuntimesta). Jotkut voivat tehdä paljon enemmän virtaa, mutta aiheuttaa Roomban kaatumisen, koska ne imevät liikaa virtaa käynnistyksen aikana. Huomasimme, että Pololu 3.3V, 300mA Step-Down Voltage Regulator (D24V3F3) toimii aivan täydellisesti. Vaihtoehtoiset versiot, joissa on 500mA / 600mA, aiheuttivat Roomban UART -käyttöliittymän kaatumisen. Pohjimmiltaan Roomba reagoi painikkeen painallukseen, mutta ei UART -liitännän kautta annettuihin komentoihin. Kun tämä tapahtui, meidän oli poistettava Roomba-akku ja käynnistettävä Roomba uudelleen kylmäkäynnistyksellä WiFi-UART-sillan kanssa. Kuitenkin vain D24V3F3 toimi hyvin.
Tämän teknisen yksityiskohdan lisäksi sinun on lisättävä koodiin lisäkomentoja, jotka löydät Roomban avoimen käyttöliittymän määrityksistä. Sinun on lisättävä kaikki komennot, joihin haluat Roomban reagoivan (esimerkiksi taaksepäin, eteenpäin, nopeus jne.).
esimerkkejä arduino IDE: stä:
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}; Sarjanjälki (c); }
void spinRight () {char c = {137, 0x00, 0xc8, 0xff, 0xff}; Sarjanjälki (c); }
Jos kirjoitat lua -kielellä, se näyttää hieman erilaiselta, esimerkki VASEN -käännöksestä näyttäisi tältä:
jos (_GET.pin == "VASEN"), tulosta ('\ 137'); -VOR
tmr -viive (100);
tulosta ('\ 00'); -Nopeus = 200 = 0x00C8 -> 0 ja 200
tmr -viive (100);
tulosta ('\ 200'); - Nopeus
tmr -viive (100);
tulosta ('\ 254'); - Säde = 500 = 0x01F4 = 0x01 0xF4 = 1 244
tmr -viive (100);
tulosta ('\ 12'); -- Vuoro
loppuun
Varmista, että sinun on korjattava Roomban avoimen käyttöliittymän kuvaus. Käytettävissä on vähintään kaksi avoimen käyttöliittymän määritystä.
Roomba 5xx -sarjalle:
Roomba 6xx -sarjalle:
Kun olet rakentanut WiFi-UART-sillan ja testannut komentojasi, otit suuren askeleen eteenpäin. Tämä video osoittaa, että sovellus ja lähestymistapa toimivat. Olimme hieman laiskoja, web -käyttöliittymästä puuttuu kaikki muut ohjauskomennot, kuten eteenpäin, taaksepäin, nopeus, oikea, vasen ja niin edelleen, mutta voit antaa komennot http: n kautta. Joka tapauksessa se on vain osoitus siitä, että Roomban kauko -ohjain toimii helpon laitteiston ja ohjelmiston kanssa ESP8266: n avulla.
Nyt kun voit ohjata Roombaasi etäyhteydellä PC -sovelluksesta, puuttuu vain sisätilojen lokalisointi. Tarvitsemme tämän palautesilmukan sulkemiseksi, koska tavoitteemme oli ohjata robotti tiettyyn suuntaan. Tehdään tämä.
Vaihe 3: Asenna sisätilojen lokalisointijärjestelmä
Palautussilmukan sulkemiseksi käytämme sisätilojen lokalisointijärjestelmää. Käytämme tähän Localinoa. Localino -järjestelmä koostuu "ankkureista" ja "tunnisteista". Ankkurit on sijoitettu kiinteisiin paikkoihin huoneen sisällä ja paikantavat liikkuvan tunnisteen (joka on sijoitettu Roomban päälle). Sijainnin käsittely suoritetaan PC -sovelluksessa. Tästä on suuri etu, koska voit myös ohjata Roombaa samalta tietokoneelta! Localino-verkkosivustolta on saatavana ilmainen lähdekoodi, se on kirjoitettu pythonilla ja saatavilla on myös reaaliaikainen virta, joka tarjoaa tunnisteen XYZ-koordinaatit. Datavirta on saatavana UDP -verkon kautta, mutta voit myös lisätä MQTT: tä tai mitä tahansa muita hienoja asioita, joista pidät. Jos tiedät Pythonin, on kasoja kirjastoja, jotka auttavat sinua.
Tässä videossa esitetään Roomban lokalisointi. Siksi huoneeseen on asennettu 4 ankkuria kiinteisiin paikkoihin, jotka mahdollistavat Roomban 3D -paikannuksen. Yleensä tarvitsemme vain 3 ankkuria, koska Roomba ei todennäköisesti liiku Z-akselilla, joten 2D riittää. Mutta koska ankkurit sijaitsevat vaihtovirtatulppien korkeudella (joka on noin 30 cm maanpinnan yläpuolella), 2D -asetus aiheuttaisi vähän sijainnin arviointivirheitä. Joten päätimme hankkia 4 ankkuria ja lokalisoida 3D: n.
Nyt kun meillä on Roomban asema, seuraava askel on ohjata Roombaa samasta sovelluksesta. Ajatuksena on käyttää totuutta ja arvioida robotin täydellinen puhdistusreitti. Localinon avulla voimme sulkea palautesilmukan ja ohjata robottia PC -sovelluksesta.
Asennushuomautuksia
Aseta Localino -ankkurit huoneen sisälle eri x, y -asentoihin ja kolme niistä samaan z -asentoon. Aseta yksi neljästä ankkurista eri korkeudelle z huonetta kohti. Varmista, että Roomban kanssa liikkuva Localino -tunniste peittää hyvin.
Kaikilla ankkureilla on yksilöllinen ankkuritunnus, joka näkyy Localinon viivakoodissa ja joka voidaan lukea “localino configuration” -työkalulla.
Huomaa X: n, Y: n ja Z: n sijainnit ja ankkuritunnukset. Tämä vaaditaan Localino -prosessoriohjelmistolle, ja se on mukautettava "localino.ini" -tiedostoon kansiossa "LocalinoProcessor"
Ankkurien tulee osoittaa ylös- tai alaspäin Z: ssä (kun XY -alue on peitetty), mutta ei katetun alueen suuntaan. Ankkureita ei myöskään saa peittää metallilla tai millään muulla langatonta signaalia häiritsevällä materiaalilla. Jos tämä ei ole mahdollista, materiaalin ja ankkurin väliin tulee myös jäädä tietty rako.
…lisää tulossa.
Vaihe 4: Sovita Python -ohjelmisto
pysy kanavalla. lisää tulossa.
Suositeltava:
Henkilö, joka seuraa ostoskoria: 8 vaihetta
Henkilö seuraa ostoskoria: Robotit saavat yhä enemmän huomiota monilla aloilla joka päivä. Nykyään robotit ottavat haltuunsa suurimman osan triviaaleista töistä, joissa kerran vaadittiin ihmisen huomiota. Aloitetaan yhdellä yksinkertaisella - botilla, joka seuraa sinua
5 in 1 Arduino -robotti - Seuraa minua - Rivin jälkeen - Sumo - Piirustus - Esteiden välttäminen: 6 vaihetta
5 in 1 Arduino -robotti | Seuraa minua | Rivin jälkeen | Sumo | Piirustus | Esteiden välttäminen: Tämä robotin ohjauskortti sisältää ATmega328P -mikrokontrollerin ja L293D -moottoriajurin. Se ei tietenkään eroa Arduino Uno -levystä, mutta se on hyödyllisempi, koska se ei tarvitse toista suojaa moottorin käyttämiseen! Se on vapaa hyppäämisestä
Seuraa minua - Raspberry Pi Smart Drone -opas: 9 vaihetta
Seuraa minua - Raspberry Pi Smart Drone Guide: Oletko aina miettinyt, kuinka tehdä drone A -Z: stä? Tämä opetusohjelma näyttää, kuinka voit tehdä 450 mm: n nelikopterin vaihe vaiheelta osien ostamisesta antrobotin testaamiseen ensimmäisellä lennolla. Lisäksi Raspberry Pi: n ja PiCameran avulla voit
MyPetBot (Bot, joka seuraa sinua): 10 vaihetta (kuvilla)
MyPetBot (botti, joka seuraa sinua): Ai on yksi matematiikan kauneimmista sovelluksista. Se on pohjimmiltaan joukko matriisitoimintoja, jotka on optimoitu vastaamaan etsimääsi tulosta. Onneksi on olemassa monia avoimen lähdekoodin työkaluja, joiden avulla voimme käyttää sitä. Alunperin ha
Seuraa COVID-19-puhkeamista ESP8266: 11 vaihetta (kuvilla)
Seuraa ESP8266: n COVID-19-puhkeamista: Tämä pieni gadget auttaa sinua pysymään ajan tasalla koronavirusepidemiasta ja maasi tilanteesta. Tämä on IoT-pohjainen projekti, joka näyttää reaaliaikaiset tiedot tapauksista, kuolemista ja toipuneista ihmisistä koronaviruksen (COVID-19) vuoksi