Innehållsförteckning:

SCARA Robot: Lär dig mer om Foward och Inverse Kinematics !!! (Plot Twist Lär dig hur du gör ett realtidsgränssnitt i ARDUINO med hjälp av BEHANDLING !!!!): 5 steg (med bilder)
SCARA Robot: Lär dig mer om Foward och Inverse Kinematics !!! (Plot Twist Lär dig hur du gör ett realtidsgränssnitt i ARDUINO med hjälp av BEHANDLING !!!!): 5 steg (med bilder)

Video: SCARA Robot: Lär dig mer om Foward och Inverse Kinematics !!! (Plot Twist Lär dig hur du gör ett realtidsgränssnitt i ARDUINO med hjälp av BEHANDLING !!!!): 5 steg (med bilder)

Video: SCARA Robot: Lär dig mer om Foward och Inverse Kinematics !!! (Plot Twist Lär dig hur du gör ett realtidsgränssnitt i ARDUINO med hjälp av BEHANDLING !!!!): 5 steg (med bilder)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Image
Image
SCARA Robot: Lär dig mer om Foward och Inverse Kinematics !!! (Plot Twist Lär dig hur du gör ett realtidsgränssnitt i ARDUINO med hjälp av BEHANDLING !!!!)
SCARA Robot: Lär dig mer om Foward och Inverse Kinematics !!! (Plot Twist Lär dig hur du gör ett realtidsgränssnitt i ARDUINO med hjälp av BEHANDLING !!!!)
SCARA Robot: Lär dig mer om Foward och Inverse Kinematics !!! (Plot Twist Lär dig hur du gör ett gränssnitt i realtid i ARDUINO med hjälp av BEHANDLING !!!!)
SCARA Robot: Lär dig mer om Foward och Inverse Kinematics !!! (Plot Twist Lär dig hur du gör ett gränssnitt i realtid i ARDUINO med hjälp av BEHANDLING !!!!)

En SCARA -robot är en mycket populär maskin i branschvärlden. Namnet står för både Selective Compliant Assembly Robot Arm eller Selective Compliant Articulated Robot Arm. Det är i grunden en tre graders frihetsrobot, som är de två första förskjutningsrotationerna i XY -planet och den sista rörelsen utförs av en reglage i Z -axeln i slutet av armen. De två frihetsgraderna var planerade att ge mer precision; på grund av kvaliteten på servon som är tillgängliga för oss att använda, hade den inbyggda armen inte så mycket rörlighet som man kan förvänta sig på grund av dess två frihetsgrader. Den elektroniska delen är lätt att förstå. Det är dock svårt att bygga. Eftersom armen behöver tre ställdon har vi tre kanaler. Istället för att programmera med det vanliga Arduino -gränssnittet bestämde vi oss för att använda Processing, som är en mycket liknande programvara som Arduino.

Tillbehör

Materialräkningar: För att bygga prototyperna användes flera material, i följande lista nämns alla dessa material:

  • 3 Servomotorer MG 996R
  • 1 Arduino Uno
  • MDF (3 mm tjocklek)
  • Tandrem GT2 -profil (6 mm delning)
  • Epoxi
  • Muttrar och bultar
  • 3 lager

Steg 1: Prototypen

Prototypen
Prototypen
Prototypen
Prototypen

Det första steget var att göra modellen i en CAD -programvara i det här fallet Solid works är en ganska bra programvara för det, ett annat alternativ kan vara Fusion 360 eller annan CAD -programvara du föredrar. Bilderna som bifogas i steg 1 var den första prototypen på grund av olika fel som vi måste modifiera, och vi slutar med modellvisningen i videon och introduktionen.

Laser Cut användes för att göra prototypen, jag har ingen video av tillverkningsprocessen, men jag har filerna som jag använde. Den måste viktiga delen av detta projekt är kodning av gränssnittet så att du kan skapa din egen modell och använda vår kod till din egen SCARA Robot

Steg 2: Motorkopplingar

Motorkopplingar
Motorkopplingar

Elektroniken är enkel som tillagning av spannmål. Anslut bara allt som visas på bilden (i huvudkoden kommer signalen som skickas till servon från stiften (11, 10 och 11))

Steg 3: Undestand Foward and Inverts Kinematics

Undestand Foward and Inverts Kinematics
Undestand Foward and Inverts Kinematics
Undestand Foward and Inverts Kinematics
Undestand Foward and Inverts Kinematics
Undestand Foward and Inverts Kinematics
Undestand Foward and Inverts Kinematics
Undestand Foward and Inverts Kinematics
Undestand Foward and Inverts Kinematics

Framåt Kinematik

Det sätt på vilket koden fungerar för banorna är följande: När du har valt det här läget måste du välja en form att rita. Du kan välja mellan Line, Triangle, Square och Ellipse. Beroende på valet ändras en variabel som sedan fungerar som ett "case" -argument för en valtyp som programmeras senare i sekvensen. Tack vare flexibiliteten i bearbetning kan vi interagera med gränssnittet med kommandon som är kända av Windows och andra operativsystem, vilket gör det möjligt att tilldela markörens (musens) position till en variabel i programmet, som genom anslutningen till Arduino styr servomotorerna vilka vinklar att köra i vilken sekvens.

Algoritmen för ritning kan reduceras i pseudokoden: tilldela värde till x1, y1 tilldela värde till x2, y2 beräkna skillnaden mellan x1 och x2 beräkna skillnaden mellan y1 och y2 beräkna punkter genom vilka nedåt kommer att passera (triangel, kvadrat, cirkel) (geometri används med dessa två punkter) om (botondibujar == true) fullständig sekvens vid inspelning, sparas variablerna som skickas till servomotorn i en uppsättning av 60 enheter, som genom att trycka på "spela in" -knappen gör att vi kan spara data som erhållits med valfritt läge (manuellt, framåt, omvänt, banor) och replikeras sedan när du trycker på startknappen med en enkel ändring av variabel.

Omvänd kinematik

Det inversa kinematiska problemet består i att hitta de nödvändiga ingångarna för att roboten ska nå en punkt på sin arbetsyta. Med tanke på mekanismen kan mängden möjliga lösningar för en önskad position vara ett oändligt antal. Roboten vi har byggt är en seriell mekanism med två frihetsgrader. Efter en geometrisk analys har två lösningar hittats för just denna mekanism. Figur 13. Invers Kinematics -exempel där: θ1 och θ2 är ingångsvinklarna för de två DoF -seriemekanismroboten och X1 och X2 är positionen i verktygets plan i den slutliga armen. Från bilden ovan:

Det finns också och armbåge UP -konfiguration, men för programmet som skrevs användes det bara armbågen NED -konfigurationen. När inmatningsvinklarna hittats körs den informationen på programmet för direkt kinematik och önskad position uppnås med ett fel på mindre än en centimeter på grund av servon och remmarna.

Steg 4: Manual, Trajectory and Learning Mode

Manual, Trajectory and Learning Mode
Manual, Trajectory and Learning Mode
Manual, Trajectory and Learning Mode
Manual, Trajectory and Learning Mode
Manual, Trajectory and Learning Mode
Manual, Trajectory and Learning Mode

Manuell

För det här läget behöver du bara flytta musen i gränssnittet och roboten följer gränssnittets pekare, du kan programmera detta i programmering som är en underbar plattform

Banor För denna modell använder vi resurserna för den inversa kinematiken och gör de siffror som begärs av klienten som var: Rak linje Fyrkantig triangel Cirkel Figurerna kan ritas på gränssnittet med de former du vill ha. Banan använder inverteringsläget för att beräkna varje punkt på raderna i var och en av figurerna så att det blir lätt att följa figurerna när du klickar på play efter att du har ritat figuren som du lägger som inmatning i gränssnittet

Inlärningsläge

Inlärningsläget överväger alla andra lägen som är manuella, framåt, inversa och banor, så att du kan göra vilket drag du vill in i gränssnittet och sedan ersätta med samma rörelse som tidigare men långsamt när det reproducerar och försöka göra det mer exakt.

Steg 5: Koden

Koden
Koden

Egentligen är koden lite svår att förklara så jag lämnade koden så att du kan läsa ir Om du har några tvivel om det kan du fråga i kommentarerna och jag kommer att förklara för dig (jag kommer att uppdatera detta steg med en fullständig förklaring av koden ha tålamod) för tillfället kan du maila mig för alla tvivel: [email protected]

Rekommenderad: