ArduBot (6 / 8 steg)

Steg 6: fysik



Nästa steg är tolka de data vi kan samla in.
Bots hela navigeringen sker genom PING sensorn. Denna information visas som en lång sträng av heltal. Det är på oss att använda vår kunskap om vår robot och mekanik som gör denna data relevanta.

En lätt ut skulle vara att bara skicka roboten fram förrän det närmade sig några minimalt säkert avstånd och sedan aktivera det tills avståndet framför den är större än minsafe och upprepa. Jag försökte att ha roligare med min arduino än detta :)

Om vi gör roboten snurra en cirkel och samla datapunkter från vår PING-funktion, kan vi använda dessa data för att representera planritningen av ett rum i Polära koordinater om vi kunde koppla en motsvarande vinkel.

Genom att mäta de vinkelformig hastigheten av en av de robotar center hjul, löser vi för det associerade meta multipliceras med omkrets och mängden tid hjulet snurra. Genom att relatera detta till båglängd kan vi lösa för förändring i vinkel (bild 1).

Ett enklare sätt, mer praktiskt sätt att göra detta vore för att mäta mängden gånger det tar roboten att göra en komplett sätt och insåg att dess vinkelformig hastighet (omega r) multiplicerat med förändring i tid är lika robotarna ändra i vinkel (bild 2).

Bara för skojs skull, kan vi konvertera dessa Polära koordinater till kartesiska koordinater (med användning av våra beräknade Thetavärden) av insåg som synd att den medföljande vinkeln är lika med x komponenten dividerat med avståndet från PING sensor (P1 och P2 på bild 3). Lös för x. Vi kan härleda ett värde för y samma med cosinus.

Att sätta allt ihop kan vi beräkna x- och y-koordinaterna för varje datapunkt fångas av PING sensor (bild 4). Kan börja med 120 poäng för en full avsöka.

Mitt problem är, när jag byta batterierna, roboten kommer att vända i olika takt. På samma sätt som batteriet dör kommer att roboten slå långsammare. Att göra den tid det tar för att göra en full 360 in i en global konstant gör det lättare att mäta och ange korrekt förseningen till programmet.

Är det möjligt för att övervaka nuvarande motorerna drar, men om du använder pulse bredd modulering på din motors, nuvarande kommer att gå i en våg.

Finns det något sätt att rita robotar var mer exakt genom att övervaka dessa data (ström, spänning etc)?

Se Steg
Relaterade Ämnen

Experimental robotic platform

Hej! Mitt namn är Andrew, och jag är datavetenskap student.Jag började arbeta på denna robot för både roligt och som en del av mitt examensarbete.Det hela började när jag köpte en robot kit från en plats som kallas Conrad: länkDet verkade som en bra...

En Arduino infraröd kontrolleras och hinder skatteundandragande Robot

Hej alla,Detta Instructables är uppdelad i två faser, vilket gör den lämplig för både nybörjare och mellanliggande robot designers.Den första fasen omfattar användningen av arduino nano ombord endast som registeransvarige. Med detta ska vi bygga en r...