Mobil Robot Arm DoArm S7 av wifi Arduino uno r3 (5 / 7 steg)

Steg 5: Kontroll för robotarm



4.1 människa-dator interaktion

Eftersom ESPduino redan är inbyggda funktionen Telnet, vi kan inse människa-dator interaktion, du kör-staten, nuvarande position, aktuell hastighet och så vidare, av Telnet. På samma gång, kan vi sätta den rörelse modellen för singel eller flera axlar och rörelse läge.

När ESPduino ansluts till den trådlösa routern, kan datorn ansluta IP-adressen ESPduino med Telnet (, SecureCRT). Anslut porten är 23, som visas i figur 6.

Vi kan styra robotarm av genom Telnet,
följande kommandon, som definieras enligt följande.

"h": skriva ut hjälpinformationen som;

"z": Låt de axlar för robotarm tillbaka till noll läge (dvs första standardplatsen anges i avsnitten ovan), som definieras när vi ställer in D-H matrisen. Sedan efter makt är invändning läget 0 för varje axel, som visas i figur 7.

"p": Skriv ut det aktuella läget för roboten
arm, som visas i följande bild. Informationen omfattar statligt, inställningen hastighet, nuvarande vinkel för varje axel, objekt vinkel och nuvarande ställning matris för slutet manöverdonet.

"d": kontrollera eller ställa in den aktuella lufthastigheten, som velocity betyget definieras som 1 ~ 10, där "1" är den lägsta hastigheten och "10" är den snabbaste hastigheten.

"c": håll den aktuella positionen för slutet manöverdonet, och sedan låta manöverdonet flytta den x-, y-och z-axeln i kartesiska koordinater, respektive. Unite är mm.

"t": håll den aktuella positionen för manöverdonet, och sedan låta manöverdonet flytta den x-, y-och z-axeln i verktyget koordinater, respektive. Unite är mm.

"s": enkelverkande rörelse. I början, varje axel är på noll plats, och vinkeln anges som 0, räckvidden är-90 grad ~ 90 graders. Positiva och negativa avgörs av höger regel.

"w": flytta till designade läge.

"g": kontrollera griparen (tass). Till exempel menas g:45 att låta tass öppna 45 graders vinkel control servo.

Liknar den smarta 3-färger LED, DoArm källkoden finns web konfiguration och OTA uppdaterad funktion, som visas i figur 7.

4.2 etikett och initiering

När du ansluter servo förlängningskabeln till drivna styrelsen slumpmässigt, för det första, låt varje axel av robot arm motsvarande kanal på driven styrelsen, respektive. Bekräfta därefter, utflykten för noll plats; Slutligen bekräfta tillåtet-flyttningen räckvidd.

1) bekräfta kanalnummer på driven styrelse för varje robotarm

När du ansluter servo förlängningskabeln till drivna styrelsen, är det mycket svårt att skilja numret motsvarar kanalnumret i styrelsen. Därför, vi sätter bara servo förlängningskabeln till styrelsen slumpmässigt, som visas i figur 8.

Figur 8 Servo förlängningskabel driven styrelse

I källkoden, låt den funktion initParseData() ange bias [6] som {0,0,0,0,0,0} och rörliga utrymmet för varje axel ligger inom 90 ° ~ 90 °.

bias flytta avstånd för varje område

flyta bias [6] = {0, 0, 0, 0, 0, 0};

arm.setServoBias (bias, 6);

flytta utrymme för varje axel

arm.setServoRange (-90, 90, -90, 90, -90, 90, -90, 90, -90, 90, -90, 90,);

Låt arm.setChannel() vara den faktiska tillgång. I figur 8 visas access-kanal är 1,3,4,9,11,13, respektive, sedan låta

arm.setChannel (1, 3, 4, 9, 11, 13);

Kompilera koden och ladda ner ESPduino, öppna gränssnittet människa-dator med hjälp av Telnet, Använd kommandot "s:x, y" bekräfta motsvarande förhållandet för varje område. Till exempel

Genom att använda "s:1, 10", låt axel 5 flytta och sedan kanal "1" skriver in i den 5: e axeln;

Genom att använda "s:2, 10", låt axel 6 flytta och sedan kanal "3" skriva in den 6: e axeln;

Genom att använda "s:3, 10", låt axel 4 flytta och sedan kanal "4" skriva in den 4: e axeln;

Genom att använda "s:4, 10", låt axel 2 flytta och sedan kanal "9" skriva in den 2: a axeln;

Genom att använda "s:5, 10", låt axel 1 flytta och sedan kanal "11" skriva in den 1: a axeln;

Genom att använda "s:6, 10", låt axel 3 flytta och sedan kanal "13" skriva in den 3: e axeln;

Då kan vi få sista rätt motsvarande förhållandet mellan axeln för robotarm och kanalen i driven styrelsen, som visas i följande funktion.

arm.setChannel (11, 9, 13, 4, 1, 3);

eftersom griparen är endast en, låt det infoga en ledig kanal, och konfigurera den genom att

arm. setGripperChannel () 。

ställa in kanalnumret för gripdon

arm.setGripperChannel(14);

2) bekräfta utflykt (för noll platsen för varje axel)

Bekräfta motsvarande förhållandet mellan axeln och kanalen, källkoden behövs för att åter sammanställas efter och hämta in ESPduino att köra igen. Genom att använda Telnet-kommandot, kan vi bekräfta utflykt bias för varje område.

För det första är uppsättning hastigheten som lägsta nivå, kommandot d:1, 1

Figur 9 ange lägsta hastighet nivå

Sedan med "s:x, y" att låta enda axel för att flytta noll. I allmänhet är noll platsen (medelläge) o. med "s:x, y" bekräfta om axeln ligger på noll plats. Om inte, sedan kommandot "s" för att låta denna axel till noll plats. Till exempel betecknas "s:1, 65" att denna axel måste flytta 65 graders får noll plats. I detta fall anges kommandot enligt följande.

utflykt för medelläge

flyta bias [6] = {65, 5, -8, 5, 0, 0};

arm.setServoBias (bias, 6);

Sedan efter kompilera, kommer robotarm att återvinnas till noll plats automatiskt, som visas i figur 10.

Figur 10 DoArm på ursprungliga status

3) bekräfta rörliga utrymmet för varje axel

Efter bekräftelse för noll plats, vi kan bekräfta det rörliga utrymmet för varje axel med hjälp av "s:x, y" med Telnet människa-dator interaktion. På grund av begränsningarna, vinkel scopet för servo anges defaultly som 90 ° ~ 90 °. I detta fall är rörliga räckvidd som följer. Observera att, om rörliga räckvidd är överträffas, sedan servo skulle stoppas.

flytta utrymme för varje axel i detta fall

arm.setServoRange (-90, 30, -30, 60, -40, 35, -90, 90, -50, 90,-80, 80);

(4) kontroll för gripdon

Kontroll axlar för gripdon är separat till de andra 6, så att vi kan använda "g:x" kommando för att kontrollera griparen, som visas i figur 11.

a position för gripdon vid 0 graders

(b) placerar för gripdon vid 20 graders

c positionen för gripdon vid 45 graders

Figur 11 kontroll för gripdon

4.3 enda axel kontroll

I Telnet gränssnittet, vi kan kommandot "s:x, y" för att kontrollera den inre axeln, där x betecknar den designade rörliga axeln, är 1 ~ 6; y betecknar den absoluta vinkeln, räckvidden är den tillåts av varje axel med float typ. Efter varje åtgärd, kan det aktuella läget för robotarm visas automatiskt.

Figur 12 utdata för enda axel rörelse

4.4 gemensamt kontroll

Gemensamt betecknar kontroll 6 axlar rörelse samtidigt. Den har 3 lägen: 1. fortsätter rörelsen av fast plats; 2. förflyttning av slutet manöverdon i kartesiska koordinater; 3. förflyttning av slutet ställdon i verktyget samordnar.

(1) fortsätter rörelsen av fast plats

Vi tillhandahåller metoder arm.setWaitPosition () och arm.gotoWaitPosition(), som är det fasta anslutningspunkt, och flyttar till denna plats, respektive. I vår källkod ger vi källkoden för 9 gemensamt kontrollera. DoArm kan flyttas genom "w:x", där "x" är 0 ~ 8. Särskilt, kommandot "w:9" kan börja 9 fortsätta rörelser. Denna video kan ses på:

http://v.Youku.com/v_show/id_XMTQ5ODk0NzEyMA==.html?from=Y1.7-1.2

(2) förflyttning av slutet manöverdon i kartesiska koordinater

Omvänd kinematik funktionen calcReverseKinematics() kan fås för att beräkna den utformade samt omvänd vinkel position för robot arm slutet manöverdonet. Särskilt, ger Telnet interaktion kommandot tillsammans med x, y, z-axeln i kartesiska koordinater; dvs, "c:x, y, z", där x, y, z betecknar tillökning tillsammans med x, y, z-axeln med unite mm och flyter typ.

Till exempel om låt avsluta manöverdonet flytta 20mm tillsammans med z-axeln, är kommandot "c:0, 0, 20", och sedan återvända "c:0, 0, -20". Robotarm skulle flytta 20mm i vertikal orientering och sedan flytta 20mm i omvänd riktning. Slutligen, armen skulle återgå till den ursprungliga platsen. Vid denna tid är noll. När fick den kommandot "c:0, 0, 20", är platsen (0.000,2.358,-11.361,0.000,9.003,0.000); efter detta, om kör den kommandot "c:0, 0, -20", är platsen (0.000,-0.000, 0.000, 0.000,-0.000, 0.000), som visas i figur 13.

Figur 13 rörelse i kartesiska koordinater

(3) förflyttning av slutet ställdon i verktyget koordinater

Liknar rörelsen i kartesiska koordinater, skillnaden är att manöverdonet steg i verktyget koordinaterna (motsvarande O6). Kommandot är "t:x, y, z", där x, y och z är increasements tillsammans med x, y, z-axeln med unite mm och flyta typ.

Till exempel, låt slutet manöverdonet flytta 20mm på den ursprungliga statusen tillsammans med X-axeln. Kommandot är "t:20, 0, 0", och återgå till den ursprungliga platsen är "t:-20,0,0". Sedan skulle slutet manöverdonet vara det första flytta 20mm tillsammans med x-axeln, och sedan återvända 20mm motsatt riktning. Vi kan analysera resultaten i Telnet gränssnittet. Från den ursprungliga platsen 0.000, när fick den kommandot "t:20, 0, 0", är platsen (0.000,2.358,-11.361,0.000,9.003,0.000); efter det, om kör den kommandot "t:-20,0,0", är platsen (0.000,-0.000, 0.000, 0.000,-0.000, 0.000).

Figur 14 rörelse i verktyget samordnar

Se Steg
Relaterade Ämnen

Parker1 WiFi / 4 G Mobile Robot

Parker1 är en billig WiFi / 4G mobil robot med vision förmåga. Den körs med två populära öppen källkod, Arduino kompatibel kod för lätt robot programmering och OpenWrt router OS för olika anslutningar över WiFi, 4G etc.Låt användarna få spela på Park...

Arduino Robot Arm

jag hade lovat i ett tidigare inlägg att dela med dig en arduino robot arm projektet vid ett senare tillfälle. Tja, är den dagen idag! Men istället för att använda en joystick för att styra arduino robotarm, kommer jag att pre program armrörelser. Va...

Arduino Robot Arm bartender

"- Men vänta, du säger,"Jag trodde RobotGeek redan publicerat ett instructable om att använda en robotarm för att leverera drinkar!" Som vi sagt, "Ja, men inte så här." Det senaste projektet kunde skålen ut en drink till flera per...

Robot Arm Arduino App

Vi behövde en plattform för att testa våra nya MICILE / Arduino användargränssnitt. Robot hand och arm kändes som något komplext nog att verkligen ge begreppet en omfattande träning. Projektet tillät oss att använda en MICILE tablett, en Arduino Uno...

Mobil drivs arduino Uno robot med hjälp av DTMF

HejDetta är min första instructable. Så skulle jag försöka få dig att förstå hur man gör det. Nuförtiden, vill vi Visa våra vänner hur intelligent kan vi vara så detta är en perfekt modell måste du göra. Det är inte en autonom robot men du kan kalla...

Autonoma mobil Robot med ROS clumsybot

vår inomhus autonoma mobil robot med ROS, Rtabmap, raspberry pi 2, kinect, ubuntu14.04 ltsVårt Examensarbetevår inomhus autonoma mobil robot med ROS, Rtabmap, raspberry pi 2, kinect, ubuntu14.04 lts vi installerar ubuntu 14.04 LTS och ROS indigo på l...

Hur man gör en låg kostnad Mobile Robot plattform

Detta Instructable handlar om att bygga en robot bas för att stödja dina experiment.Detta Instructable är avsedd för alla att komma igång på en mobil plattform för låg spänning. Andra läsare kan hitta något intressant här också, din antall Maj varier...

Gör en självbalanserande Robot med Arduino UNO

Själv balansera Robot är mycket intressant. Många vänner runt omkring oss försökte göra en, men de encounted en hel del chanllenges bland annat bristen på strukturerna som lätt-till-montering, de lämpliga elektroniska kretsarna och program. Så jag be...

Giant Robot Arm "meArm" Remix

Jag designade en större, starkare och längre version av "meArm" robotarm. Robotarmar är kul att titta på och roligare att spela med. Denna konstruktion ger dig den extra fördelen av att bygga din egen robotarm. Använda en 3d-skrivare och delar f...

Mobil robot kontrollerad med bluetooth

Denna gång gick jag om att bygga en liten mobil robot som kan styras med min Android-telefoner bluetooth. Roboten använder en Bolutek BC04 bluetooth-modul som kopplats ihop till en Arduino UNO.Steg 1: BC04 Bluetooth-modulenModulen BC04 kan vara koppl...

MeArm Robot Arm - din Robot - V1.0

Detta är den senaste versionen av bygga instruktionerna för MeArm Robot Arm. MeArm kom först till instructables April 2014 när vi hävdade ett andra pris i tävlingen robotar. Sedan dess har vi sett runt 10 000 byggda över hela världen! En handfull vis...

Pocket Sized Robot Arm MeArm V0.4

MeArm är en Pocket Sized Robot Arm. Det är ett projekt som startade i februari 2014, som har haft en fantastiskt snabb resa till dess nuvarande tillstånd tack vare det öppna utveckling som en öppen hårdvara projekt. Version 0.3 var med på Instructabl...

Bygga din egen Max 95 mobil Robot bas

Syftet med denna handledning är att visa hur den ursprungliga Max ' 95 mobil robot bas konstruerades med mestadels delar från din lokala järnaffär. Max ' 95 är en 12 "x 12" mobil robot bas.Zagros Robotics säljer flera modeller av mobil robot bas...

Omni hjulet mobil robot - IoT

I denna anvisning som jag kommer att presentera dig design av omni hjulet mobil robot kontrolleras via wi-fi. Den väsentliga skillnaden jämfört med konventionella kontroll som bluetooth eller radiokontroll är att roboten är ansluten till lokalt nätve...

Chefbot: En DIY autonoma mobil robot för att servera mat på Hotell

Som titeln säger, ska vi se hur man bygger en autonom mobil robot kallas Chefbot som är för servering av mat och dryck i hotell och restauranger.Detta var ett hobbyprojekt och jag byggde denna robot efter att ha sett en robot som kallas Turtlebot2. H...

Giant dator-kontrollerade robot Arm gjort av gamla pappkartonger

The papp Robot är en enorm dator styrd Robot Arm med A nå bara blyg av 6 fot. Den har två konfigurationer:1. klo – tre fingrade klo som gör att du kan plocka upp uppstoppade djur och smutsiga strumpor från golvet utan att behöva böja sig ner. Möjligh...

Kalibrera servon för fäste/robot Arm

Hej alla.Jag arbetar på en Arduino baserad Robot Arm. Vissa delar anlände, vissa inte, och jag hade vissa problem med de som kom, än jag gjorde detta projekt.Du behöver-Skärbräda-Servon och parentes/klor för dem.-Jumper tråd-16 * 2 LCD (eller bättre)...

Raspberry Pi och Wiimote kontrollerade Robot Arm

jag fick en robotarm som födelsedagspresent, men efter omkring den första handkontrollen som följde med det blev lite tråkig att använda. Köpte senare jag USB-styrenheten som gjordes för roboten, men återigen konserverad programvaran var begränsad oc...

Min sjunde projekt: Robot Arm Set

Jag har använt Smart Tank chassi tidigare 4 projekt och jag vill göra något mycket annorlunda. Efter sökning i google och överväga olika tyger för ett par dagar, jag hittade den Robot Arm Set. Det ser awesome! Det ger servon, servo hjul och förlängni...