Innehållsförteckning:
Video: Localino spårar Roomba IRobot, kartlägger miljön och tillåter kontroll: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
För att bygga WiFi-UART-bron kan du kolla in denna github-repo:
Det har en bra grund att börja med. Se till att du läser riktlinjerna väl, eftersom Roomba VCC under laddning ökar upp till 20 volt! Om du lägger till en ESP8266 utan en ordentlig buck-converter som fungerar även upp till 20V och ned-konverterar till 3.3V, kommer du att skada din ESP.
Se också till att använda en nivåväxel (t.ex. med hjälp av en spänningsdelare) för att flytta 5V UART -logiknivåerna från Roomba till 3,3V, som används av ESP.
En annan viktig detalj är att buck -omvandlaren ska ha 300mA, men ännu mycket mindre eller mycket mer (beroende på buck -omvandlaren själv). Det finns några där ute som kan göra mycket mer ström, men får Roomba att krascha eftersom de drar för mycket ström under uppstart. Vi fick reda på att Pololu 3.3V, 300mA Step-Down Voltage Regulator (D24V3F3) fungerar helt perfekt. De alternativa versionerna som har 500mA / 600mA fick Roomba UART -gränssnittet att krascha. I grund och botten reagerade Roomba vid knapptryckning, men inte på kommandon via UART -gränssnittet. När detta hände var vi tvungna att ta bort Roomba-batteriet och kallstarta om Roomba med WiFi-UART-bron ansluten. Men bara D24V3F3 fungerade bra.
Bortsett från den tekniska detaljen måste du lägga till ytterligare kommandon i koden som du hittar i Roomba -specifikationerna för öppet gränssnitt. Du måste lägga till alla kommandon som du vill att din roomba ska reagera på (till exempel bakåt, framåt, hastighet, etc.).
exempel inom arduino IDE:
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); }
om du skriver i lua ser det lite annorlunda ut, ett exempel för en VÄNSTER -sväng skulle se ut så här:
if (_GET.pin == "VÄNSTER") skriv sedan ut ('\ 137'); --VOR
tmr.fördröjning (100);
print ('\ 00'); -Hastighet = 200 = 0x00C8 -> 0 och 200
tmr.fördröjning (100);
print ('\ 200'); -- Hastighet
tmr.fördröjning (100);
print ('\ 254'); - Radie = 500 = 0x01F4 = 0x01 0xF4 = 1 244
tmr.fördröjning (100);
print ('\ 12'); -- Sväng
slutet
Se till att du måste korrigera det öppna gränssnittets beskrivning för din Roomba. Det finns minst två öppna gränssnittsspecifikationer tillgängliga.
för Roomba 5xx -serien:
för Roomba 6xx -serien:
När du har byggt din WiFi-UART-bro och testat kommandona tog du ett stort steg längre. Denna video visar att applikationen och tillvägagångssättet fungerar. Vi var lite lata, webbgränssnittet saknar alla andra kontrollkommandon, som framåt, bakåt, hastighet, höger, vänster och så vidare, men du kan utfärda kommandona via http. Hur som helst är det bara en demonstration av att fjärrkontrollen på Roomba fungerar med en enkel maskinvara och mjukvara med hjälp av en ESP8266.
Nu när du kan fjärrstyra din Roomba från en PC -applikation saknas det bara inomhuslokaliseringen. Vi behöver detta för att stänga återkopplingsslingan, eftersom vårt mål var att styra roboten till en viss riktning. Nu kör vi.
Steg 3: Konfigurera ditt inomhuslokaliseringssystem
För att stänga återkopplingsslingan använder vi ett inomhuslokaliseringssystem. Vi använder Localino för detta. Localino -systemet består av "ankare" och "taggar". Ankarna placeras på fasta platser inuti rummet och lokaliserar positionen för den rörliga taggen (som är placerad på Roomba). Platsbearbetningen görs i en PC -applikation. Det är en stor fördel, eftersom du också kan styra Roomba från samma dator! Det finns gratis källkod tillgänglig från Localino-webbplatsen, den är skriven i python och det finns också en realtidsström tillgänglig som erbjuder taggen XYZ-koordinater. Dataströmmen är tillgänglig via UDP -nätverk, men du kan också lägga till MQTT eller andra snygga saker som du gillar. Om du känner till Python finns det massor av bibliotek som hjälper dig.
I den här videon demonstreras lokaliseringen av Roomba. Därför har vi fyra ankare installerade i rummet på fasta platser, vilket möjliggör 3D -positionering av Roomba. I allmänhet skulle vi bara behöva 3 ankare, eftersom Roomba förmodligen inte kommer att röra sig i Z-axeln, därför skulle 2D vara tillräckligt. Men eftersom ankarna är placerade på AC -kontaktdonets höjd (som är cirka 30 cm över marken) skulle en 2D -inställning orsaka små positionsuppskattningsfel. Så vi bestämde oss för att ha 4 ankare och lokalisera i 3D.
Nu när vi har Roombas position är vårt nästa steg att styra Roomba från samma applikation. Tanken är att använda markens sanning och uppskatta en perfekt rengöringsväg för roboten. Med hjälp av Localino kan vi stänga återkopplingsslingan och styra roboten från PC -applikationen.
Inställningsanmärkningar
Placera Localino ankare inuti rummet i olika x, y positioner och tre av dem på samma z position. Placera ett av fyra ankare på en annan höjd z per rum. Se till att det finns bra täckning från Localino -taggen, som kommer att flytta med Roomba.
Alla ankare har ett unikt ankare -ID, som visas på streckkoden för Localino och kan läsas av med verktyget "localino -konfiguration".
Notera positionerna i X, Y, Z och ankar -ID: n. Detta krävs för Localino -processorprogramvaran och måste anpassas i filen "localino.ini" i mappen "LocalinoProcessor"
Förankringarna ska peka uppåt eller nedåt i Z (när XY -området är täckt), men inte i riktning mot det täckta området. Förankringarna ska inte heller täckas av metall eller annat trådlöst signalstörande material. Om detta inte är möjligt bör det också finnas ett visst luftgap mellan material och ankare.
…det kommer mera.
Steg 4: Anpassa Python -programvaran
håll utkik. det kommer mera.
Rekommenderad:
ESP8266 RGB LED STRIP WIFI -kontroll - NODEMCU Som IR -fjärrkontroll för Led Strip kontrollerad över Wifi - RGB LED STRIP Smartphone -kontroll: 4 steg
ESP8266 RGB LED STRIP WIFI -kontroll | NODEMCU Som IR -fjärrkontroll för Led Strip kontrollerad över Wifi | RGB LED STRIP Smartphone Control: Hej killar i den här självstudien kommer vi att lära oss hur man använder nodemcu eller esp8266 som en IR -fjärrkontroll för att styra en RGB LED -remsa och Nodemcu kommer att styras av smartphone via wifi. Så i princip kan du styra RGB LED STRIP med din smartphone
Hur man kopierar spel Sparar till en Microsoft eller tredje part MU LÄTT: 9 steg
Hur man kopierar spel som sparas till en Microsoft eller tredje part MU på det enkla sättet: Originalhandledning HÄR Det finns gott om Softmod -tutorials där ute och alla är bra men att få spara filer på Xbox HDD är en smärta, jag gjorde ett live cd som gör det enkelt att göra just det. Detta är inte en komplett softmod -handledning, den här
Hur man sparar lagring på din iPhone: 13 steg
Hur man sparar lagring på din iPhone: Kör din iPhone långsammare än vanligt? Du kanske försökte ta en bild men det gick inte eftersom lagringsutrymmet var fullt. Att spara din iPhone -lagring kan låta överväldigande, men det är väldigt enkelt, snabbt och kommer att lösa många av dina iPhone -problem
Hur man sparar en sprucken VHS -film. 6 steg (med bilder)
How to Save a Cracked VHS Movie .: Hej och välkommen till min senaste Instructable. I den renässans som VHS -band har just nu. Vare sig det är upp-cykel eller nytt ändamål eller människor som bara vill titta på dem. Låt mig börja med att säga detta Instructable of for the later. Så här fixar du sal
SAFE ?, en robot som sparar tillhörigheter: 6 steg (med bilder)
SAFE ?, en robot som räddar tillhörigheter .: Hej och Välkommen till denna instruerbara! .Roboten: SAFE? kan vara en cool som du vill skapa den. Den här vänliga roboten kan du göra oss till förmån att rädda våra tillhörigheter. Dessutom i denna version av SAFE? vi kunde inte bestämma