Bygga en robot som följer muspekaren (1 / 35 steg)
Steg 1: Matematik: konvertera penna ställning till servo vinklar
Detta avsnitt förklarar hur positionen för muspekaren på skärmen på datorn omvandlas till vinklar för servomotorer så att skriva slutet av ledade armar replikerar rörligheten för muspekaren.
Det är inte nödvändigt att förstå detta till lyckosam komplett intructable, som jag kommer att ge bitar av kod som genomföra omvandlingen av markörens position till servomotor vinklar.
Analysera en enda servomotor
Om vi analyserar en installation med en enda arm och servomotor (figur ovan):
Ring O beskärningen av våra refererande. Den är placerad på servomotor axel rotation.
Kalla P vi vill nå på skriva planet eller pennans placering.
Ring (x, y) koordinaterna för s.
Ring en längden på segmenten vapen. (Obs: om alla arm segment är lika långa, beräkningarna är mycket lättare).
Ring J positionen för det gemensamma där två arm segmenten är anslutna.
Ring r avståndet OP: r = (x ² + y²)1/2
Ring θvinkeln mellan OP och x-axeln: θ = atan2(y,x)
I triangeln OJP:
Avståndet OJ = en
Avståndet JP = en
Ring φ vinkeln PÔJ : φ = arccos (r / (2a))
Kallar α vinkeln som måste matas till servomotor att nå P-läget:
α = θ + φ
Α = atan2(y,x) + acos ((x ² + y²)1/2 / (2a))
Observera att utfodring denna vinkel till en enda servomotor inte kommer att begränsa pennans position till en punkt. Det kommer att begränsa J till en enda punkt men lämnar P gratis att flytta på en cirkel med radie en runt J. lägga den andra servomotor gör det möjligt att begränsa Perssons position mer.
Att lägga till de andra servomotor
Vi kan upprepa beräkningarna görs i föregående stycke, förutom denna gång vi vill nå P, ses i den refererande av den andra servomotor, som är förskjuten från den refererande vi använde tidigare.
Ring d avståndet mellan axlarna av de två servomotorer.
Koordinaterna för P i den refererande av den andra servomotor är: (x + y, d)
Konfigurationen av armarna på de andra servomotor är liknande men speglade, så att vi:
Ringa α2 meta som måste matas till den andra servomotor att nå P-läget:
α2 = θ2 - φ2
Α2 = atan2(y,x+d) - acos (((x+d) ² + y²)1/2 / (2a))
Utfodring av vinklarna α och α2 två servomotorer kommer att begränsa P vara i skärningspunkten mellan två cirklar = två poäng. Vi kan begränsa domänen för P så att pennan kommer inledningsvis att placeras på den översta av dessa två punkter och aldrig få chansen att byta till andra skärningspunkten.
Detta sätt kan vi helt styra positionen för pennan genom att mata två vinklar till servomotorer.
Bilderna ovan visar formerna av domänen kan nås på skriftlig plan för olika värden på armlängd (en) och servomotor offset (d).