Sisukord:
Video: Localino jälgib Roomba IRobot'i, kaardistab keskkonda ja võimaldab juhtimist .: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:50
WiFi-UART-silla ehitamiseks saate vaadata seda githubi repot:
Alustuseks on sellel kena alus. Lugege kindlasti juhendit hästi, sest Roomba VCC suurendab laadimise ajal kuni 20 volti! Kui lisate ESP8266 ilma korraliku buck-muundurita, mis töötab isegi kuni 20 V ja muundab alla 3,3 V, kahjustate oma ESP-d.
Kasutage kindlasti ka nivoolülitit (nt pingejaguri abil), et nihutada 5 V UART loogikatasemed Roombalt 3,3 V -le, mida kasutab ESP.
Veel üks oluline detail on see, et buck -muunduril peaks olema 300 mA, kuid palju vähem või palju rohkem (sõltuvalt buck -muundurist endast). Seal on mõned, mis suudavad palju rohkem voolu teha, kuid põhjustavad Roomba krahhi, kuna tõmbavad käivitamisel liiga palju voolu. Saime teada, et Pololu 3.3V, 300mA astmelise pinge regulaator (D24V3F3) töötab lihtsalt ideaalselt. Alternatiivsed versioonid, mille võimsus on 500 mA / 600 mA, põhjustasid Roomba UART -liidese krahhi. Põhimõtteliselt reageeris Roomba nupuvajutusele, kuid mitte käskudele UART -liidese kaudu. Kui see juhtus, pidime eemaldama Roomba aku ja taaskäivitama Roomba koos ühendatud WiFi-UART-sillaga. Kuid ainult D24V3F3 töötas hästi.
Lisaks sellele tehnilisele detailile peate koodile lisama täiendavaid käske, mille leiate Roomba avatud liidese spetsifikatsioonidest. Peate lisama kõik käsud, millele soovite oma roomba reageerida (näiteks tagurpidi, edasi, kiirus jne).
näited arduino IDE -st:
tühine goForward () {char c = {137, 0x00, 0xc8, 0x80, 0x00}; // 0x00c8 == 200 Serial.print (c); }
tühine goBackward () {char c = {137, 0xff, 0x38, 0x80, 0x00}; // 0xff38 == -200 Serial.print (c); }
tühine spinLeft () {char c = {137, 0x00, 0xc8, 0x00, 0x01}; Seeriatrükk (c); }
tühine spinRight () {char c = {137, 0x00, 0xc8, 0xff, 0xff}; Seeriatrükk (c); }
kui kirjutate lua keeles, näeb see natuke teistsugune välja, näide VASAKU pöörde kohta näeks välja selline:
kui (_GET.pin == "LEFT"), siis prindi ('\ 137'); -VOR
tmr.viivitus (100);
print ('\ 00'); -Kiirus = 200 = 0x00C8 -> 0 ja 200
tmr.viivitus (100);
print ('\ 200'); - Kiirus
tmr.viivitus (100);
print ('\ 254'); - Raadius = 500 = 0x01F4 = 0x01 0xF4 = 1 244
tmr.viivitus (100);
print ('\ 12'); - Pööra
lõpp
Veenduge, et peaksite oma Roomba avatud liidese kirjeldust parandama. Saadaval on vähemalt kaks avatud liidese spetsifikatsiooni.
Roomba 5xx seeria jaoks:
Roomba 6xx seeria jaoks:
Kui olete oma WiFi-UART-silla üles ehitanud ja käsklusi testinud, astusite suure sammu edasi. See video näitab rakenduse ja lähenemisviisi toimimist. Olime natuke laisad, veebiliidesel puuduvad kõik muud juhtimiskäsud, nagu edasi, tagasi, kiirus, parem, vasak ja nii edasi, kuid saate käske väljastada http kaudu. Igatahes on see lihtsalt demonstratsioon, et Roomba kaugjuhtimispult töötab koos lihtsa riist- ja tarkvaraga, kasutades ESP8266.
Nüüd, kui saate oma Roombat juhtida eemalt arvutirakendusest, jääb puudu vaid siseruumide lokaliseerimine. Me vajame seda tagasisideahela sulgemiseks, sest meie eesmärk oli robot teatud suunas suunata. Teeme ära.
3. samm: siseruumides paikneva lokaliseerimissüsteemi seadistamine
Tagasisideahela sulgemiseks kasutame siseruumides paiknevat lokaliseerimissüsteemi. Selleks kasutame Localino. Localino süsteem koosneb "ankrutest" ja "siltidest". Ankrud on paigutatud ruumis kindlatesse kohtadesse ja leiavad liikuva sildi (mis on paigutatud Roombale). Asukoha töötlemine toimub arvutirakenduses. Sellest on suur eelis, sest saate Roomba juhtida ka samast arvutist! Localino veebisaidilt on saadaval tasuta lähtekood, see on kirjutatud pythonis ja saadaval on ka reaalajas voog, mis pakub märgendi XYZ-koordinaate. Andmevoog on saadaval UDP -võrgu kaudu, kuid saate lisada ka MQTT -d või muid meelepäraseid asju. Kui teate Pythoni, on teid hunnikutega raamatukogudest, mis teid aitavad.
Selles videos demonstreeritakse Roomba lokaliseerimist. Seetõttu on meil ruumis fikseeritud kohtades 4 ankrut, mis võimaldavad Roomba 3D -positsioneerimist. Üldiselt vajaksime ainult 3 ankrut, sest Roomba Z-teljel tõenäoliselt ei liigu, seega piisab 2D-st. Kuid kuna ankrud asuvad vahelduvvoolu põhipistikute kõrgusel (mis on umbes 30 cm maapinnast), põhjustaks 2D seadistus vähe asukohavigade vigu. Nii otsustasime omada 4 ankrut ja lokaliseerida 3D -vormingus.
Nüüd, kui meil on Roomba positsioon, on meie järgmine samm Roomba juhtimine samast rakendusest. Idee on kasutada põhitõde ja hinnata roboti jaoks täiuslikku puhastusteed. Localino abil saame tagasisideahela sulgeda ja robotit arvutirakendusest juhtida.
Seadistusmärkused
Asetage Localino ankrud ruumi sisse erinevatesse x, y asenditesse ja kolm neist samasse z -asendisse. Asetage üks neljast ankrust ruumi erineval kõrgusel z. Veenduge, et Roominoga liigutav Localino silt hõlmaks hästi.
Kõigil ankrutel on unikaalne ankru ID, mis kuvatakse Localino vöötkoodil ja mida saab lugeda tööriista „localino configuration” abil.
Pange tähele positsioone X, Y, Z ja ankru ID -sid. See on vajalik Localino protsessoritarkvara jaoks ja seda tuleb kohandada kaustas „LocalinoProcessor” olevas failis „localino.ini”.
Ankrud peaksid olema suunatud Z suunas üles või alla (kui XY ala on kaetud), kuid mitte kaetud ala suunas. Samuti ei tohiks ankrud olla kaetud metalli ega muu traadita signaali häiriva materjaliga. Kui see pole võimalik, peaks mis tahes materjali ja ankru vahel olema ka teatav õhupilu.
… Veel tulemas.
Samm: kohandage Pythoni tarkvara
püsige lainel. veel tulemas.
Soovitan:
S.H.I.E.L.D - kas keegi jälgib sind?: 4 sammu (piltidega)
S.H.I.E.L.D - kas keegi jälgib sind ?: Ma nägin palju videoid piinlikest inimestest, kui nad ei märganud, et nende mikrofon või kaamera on sisse lülitatud, ja see andis mulle idee selle projekti jaoks. Kirjutasin C# -sse lihtsa rakenduse, mis tuvastab kaamera või mikrofoni kasutamise
Inimene jälgib robotit, kasutades Arduino Unot alla 20 $: 9 sammu
Inimese jälgimisrobot, kasutades Arduino Uno alla 20 $: nii tegin selle roboti umbes aasta tagasi ja mulle meeldis, et see võib teid igal pool ja igal pool jälgida. see on koerale parim alternatiiv. see on siiani minuga. Mul on ka youtube kanal, kus näete selle tegemise protsessi vi
IRobot Create-Mars Expedition Rover Mark I: 4 sammu
IRobot Create-Mars Expedition Rover Mark I: See juhend õpetab teile, kuidas seadistada iRobot Create MatLabi kodeeringu abil. Teie robotil on võimalus otsida mineraale, eristades kujundeid, manööverdada ebatasasel maastikul kaljuandurite abil ja tal on võime
Õppige SERVO juhtimist (lühidalt): 6 sammu
Õppige SERVO juhtimist (lühidalt): Selles moodulis saate teada arduinoga ühilduva mikro- või miniservo juhtimisest. Servomootorit kasutatakse üldiselt kõigis automatiseerimisprojektides, millel on liikuvaid osi. See mängib väga olulist rolli roll robootikas, täpne liikumine
Pange tasuta mängud oma LG keskkonda: 5 sammu
Pange oma LG Env2 -le tasuta mängud: teil on LG env2, kuid te ei soovi mängule raha kulutada? siin on juhend, kuidas oma telefoni mänge panna