⚙ MG400 TutorialHandledning
Open the simulator →Öppna simulatorn →

Programming the Dobot MG400

A guide to how an industrial robot arm moves, how it knows where things are, and how you program it with blocks.

Work through the chapters in order. Each one has something to try — either in a small interactive figure on this page or in the simulator — and a few check yourself questions at the end. Keep the simulator open in another tab while you read.

Programmera Dobot MG400

En guide till hur en industrirobotarm rör sig, hur den vet var saker finns och hur du programmerar den med block.

Gå igenom kapitlen i ordning. Varje kapitel har något att prova – antingen i en liten interaktiv figur här på sidan eller i simulatorn – och några testa dig själv-frågor i slutet. Ha gärna simulatorn öppen i en annan flik medan du läser.

1. Meet the MG400

The MG400 is a small industrial robot arm made by the Chinese company Dobot. It is built to sit on a desk and do the same kind of jobs as big factory robots, just with lighter things: picking and placing parts, sorting, assembling, testing phones and handling samples in a lab.

PropertyValueWhat it means
Axes (joints)4Four motors, each turning one joint.
Reach440 mmHow far from the centre of the base the tool can get.
Payload750 gThe heaviest thing it may carry, tool included.
Repeatability±0.05 mmSent to the same point 1000 times, it lands within 0.05 mm every time.

At the end of the arm sits a tool (also called an end effector). In the simulator the tool is a suction cup that picks things up with vacuum. A real MG400 can also have a gripper, a pen holder or a camera.

1. Möt MG400

MG400 är en liten industrirobotarm från det kinesiska företaget Dobot. Den är byggd för att stå på ett bord och göra samma sorts jobb som stora fabriksrobotar, fast med lättare saker: plocka och placera detaljer, sortera, montera, testa mobiltelefoner och hantera prover i ett labb.

EgenskapVärdeVad det betyder
Axlar (leder)4Fyra motorer som vrider varsin led.
Räckvidd440 mmHur långt från fotens mitt verktyget kan nå.
Lastförmåga750 gDet tyngsta den får bära, verktyget inräknat.
Repeterbarhet±0,05 mmSkickas den till samma punkt 1000 gånger hamnar den inom 0,05 mm varje gång.

Längst ut på armen sitter ett verktyg (kallas också gripdon eller end effector). I simulatorn är verktyget en sugkopp som lyfter saker med vakuum. En riktig MG400 kan också ha en gripklo, en pennhållare eller en kamera.

The parts of the MG400, seen from the side.
MG400:s delar sedd från sidan.

Why only four axes?

Many factory robots have six axes so they can tilt the tool in any direction. The MG400 is a 4-axis robot: its tool always points straight down. That is all you need for picking things off a table, and it makes the robot simpler, cheaper and very precise. The trick that keeps the tool vertical is a parallel linkage — the thin rod you can see running alongside the upper arm.

Varför bara fyra axlar?

Många fabriksrobotar har sex axlar så att de kan luta verktyget åt alla håll. MG400 är en robot med 4 axlar: verktyget pekar alltid rakt nedåt. Mer behövs inte för att plocka saker från ett bord, och det gör roboten enklare, billigare och väldigt noggrann. Det som håller verktyget lodrätt är en parallellänk – den smala staget som löper bredvid överarmen.

2. The four joints

Each joint is called J plus a number, counted from the base outwards. Every joint has limits: it can only turn so far before it hits its end stop.

JointWhereMovementRange
J1BaseTurns the whole arm left and right−160° … 160°
J2ShoulderTilts the upper arm forwards and backwards−25° … 85°
J3ElbowTilts the forearm up and down−25° … 105°
J4WristSpins the tool around its own vertical axis−180° … 180°

J2 is measured from vertical: 0° means the upper arm points straight up. Because of the parallel linkage, J3 is measured from horizontal: 0° means the forearm is level, no matter what J2 is doing. Larger J3 tips the forearm downwards.

2. De fyra lederna

Varje led heter J plus ett nummer, räknat från foten och utåt. Varje led har gränser: den kan bara vridas en viss bit innan den når sitt ändläge.

LedVarRörelseOmråde
J1FotenVrider hela armen åt vänster och höger−160° … 160°
J2SkuldranLutar överarmen framåt och bakåt−25° … 85°
J3ArmbågenLutar underarmen uppåt och nedåt−25° … 105°
J4HandledenSnurrar verktyget runt sin egen lodräta axel−180° … 180°

J2 mäts från lodrätt: 0° betyder att överarmen pekar rakt upp. Tack vare parallellänken mäts J3 från vågrätt: 0° betyder att underarmen är plan, oavsett vad J2 gör. Större J3 lutar underarmen nedåt.

  1. Move only J2. Which coordinates change — X, Z or both?
  2. Move only J3. Does the tool still point straight down?
  3. Find a pose where the tool touches the table (Z = −150).
  4. Drag the orange tool tip around. Where can it not go?
  1. Flytta bara J2. Vilka koordinater ändras – X, Z eller båda?
  2. Flytta bara J3. Pekar verktyget fortfarande rakt ned?
  3. Hitta en ställning där verktyget nuddar bordet (Z = −150).
  4. Dra den orange verktygsspetsen runt. Vart kan den inte komma?

3. Coordinates: where is the tool?

Telling the robot "turn J1 to 32°, J2 to 18°…" is awkward. Usually we describe where the tool tip should be instead, using four numbers: X, Y, Z and R. Distances are in millimetres, angles in degrees.

  • X — forwards, away from the robot.
  • Y — to the robot's left. Negative Y is to its right.
  • Z — up. Negative Z is downwards.
  • R — how much the tool is rotated around the vertical axis.

The origin (0, 0, 0) is inside the base, at the height of the shoulder joint. That is why the table is below zero: in the simulator the table surface is at Z = −150, and a cube lying on the table has its top at Z = −125 (the cubes are 25 mm).

3. Koordinater: var är verktyget?

Att säga till roboten "vrid J1 till 32°, J2 till 18° …" är krångligt. Oftast beskriver vi i stället var verktygsspetsen ska vara med fyra tal: X, Y, Z och R. Avstånd anges i millimeter och vinklar i grader.

  • X – framåt, bort från roboten.
  • Y – åt robotens vänster. Negativt Y är åt höger.
  • Z – uppåt. Negativt Z är nedåt.
  • R – hur mycket verktyget är vridet runt den lodräta axeln.

Origo (0, 0, 0) ligger inne i foten, i höjd med skulderleden. Därför ligger bordet under noll: i simulatorn är bordsytan på Z = −150, och en kub som ligger på bordet har sin ovansida på Z = −125 (kuberna är 25 mm).

0, 0 +X +Y (230, −110) (300, 120) ▲ the robot faces this way — you stand behind it ▲ roboten tittar åt det här hållet – du står bakom den
Seen from above. The red cube is 230 mm in front of the robot and 110 mm to its right, so its Y is negative. Grid squares are 50 mm.
Sett ovanifrån. Den röda kuben ligger 230 mm framför roboten och 110 mm till höger om den, så dess Y är negativt. Rutorna är 50 mm.

Click anywhere on the table or on a cube. A box in the corner shows the coordinates of the point you clicked and whether the robot can reach it. Use this whenever you need the position of something.

Klicka var som helst på bordet eller på en kub. En ruta i hörnet visar koordinaterna för punkten du klickade på och om roboten når dit. Använd det här när du behöver veta var något ligger.

Check yourself: a point is 300 mm in front of the robot and 50 mm to its right, on top of a cube lying on the table. What are X, Y and Z?

X = 300, Y = −50 (right is negative), Z = −125 (table −150 plus the 25 mm cube).

Testa dig själv: en punkt ligger 300 mm framför roboten och 50 mm till höger, ovanpå en kub som ligger på bordet. Vad är X, Y och Z?

X = 300, Y = −50 (höger är negativt), Z = −125 (bordet −150 plus kubens 25 mm).

4. From angles to positions — and back

The robot's motors only understand joint angles, but we like to think in X, Y, Z. So the robot's controller constantly translates between the two.

  • Forward kinematics: joint angles → tool position. This is the easy direction: given four angles there is always exactly one answer. It is just geometry with the lengths of the arm parts.
  • Inverse kinematics: tool position → joint angles. This is what happens when you ask for MovJ to X 230 Y −110 Z −125. It is harder, and sometimes there is no answer.

There are three reasons a position can be impossible:

  1. Too far away — the arm is not long enough, even fully stretched.
  2. Joint limit — the arm could reach in theory, but a joint would have to turn past its end stop. This often happens close to the base and low down.
  3. Collision — the position exists but something is in the way, for example the table.

All the positions the tool can reach together make up the robot's workspace. In the joint explorer above it is the blue shaded area; in the simulator it is the blue ring on the table.

4. Från vinklar till positioner – och tillbaka

Robotens motorer förstår bara ledvinklar, men vi människor tänker hellre i X, Y och Z. Därför översätter robotens styrsystem hela tiden mellan de två.

  • Framåtkinematik: ledvinklar → verktygets position. Det är den lätta riktningen: med fyra vinklar finns det alltid exakt ett svar. Det är bara geometri med armdelarnas längder.
  • Inverskinematik (bakåtkinematik): verktygets position → ledvinklar. Det är vad som händer när du ber om MovJ to X 230 Y −110 Z −125. Det är svårare, och ibland finns det inget svar.

Det finns tre skäl till att en position kan vara omöjlig:

  1. För långt bort – armen är inte tillräckligt lång, inte ens helt utsträckt.
  2. Ledgräns – armen skulle kunna nå i teorin, men en led skulle behöva vridas förbi sitt ändläge. Det händer ofta nära foten och långt ned.
  3. Kollision – positionen finns men något är i vägen, till exempel bordet.

Alla positioner som verktyget kan nå bildar tillsammans robotens arbetsområde. I ledutforskaren ovan är det det blåskuggade området; i simulatorn är det den blå ringen på bordet.

In the explorer in chapter 2, moving the sliders is forward kinematics. Dragging the tool tip is inverse kinematics — the page works out the joint angles for you, and tells you when it can't.
I utforskaren i kapitel 2 är reglagen framåtkinematik. Att dra verktygsspetsen är inverskinematik – sidan räknar ut ledvinklarna åt dig och säger till när det inte går.
Check yourself: why can the robot not pick up a cube lying on the table right next to its base?

To get the tool that low and that close, the elbow (J3) would have to bend further than its 105° limit. The position is within the arm's length, but outside the workspace because of a joint limit.

Testa dig själv: varför kan roboten inte plocka en kub som ligger på bordet precis bredvid foten?

För att få ned verktyget så lågt och så nära skulle armbågen (J3) behöva böjas mer än sin gräns på 105°. Positionen är inom armens längd men utanför arbetsområdet på grund av en ledgräns.

5. MovJ and MovL: two ways to move

When the robot goes from point A to point B, the end point is the same whichever command you use — but the path in between is not.

MovJ — joint move

The robot works out the joint angles at A and at B, then turns every joint at the same time so that they all arrive together. This is the fastest and smoothest move for the motors, but the tool travels along a curve that is hard to predict. Use MovJ for big moves through free space, high above everything.

MovL — linear move

The tool travels in a straight line from A to B. To do that the controller has to solve the inverse kinematics many times per second along the way. Use MovL whenever you are close to things: going down to pick, lifting, putting down. A straight line can fail if it passes through a place the robot cannot reach — such as right next to the base.

5. MovJ och MovL: två sätt att röra sig

När roboten åker från punkt A till punkt B blir slutpunkten densamma vilket kommando du än använder – men vägen dit skiljer sig.

MovJ – ledrörelse

Roboten räknar ut ledvinklarna i A och i B och vrider sedan alla leder samtidigt så att de kommer fram på samma gång. Det är den snabbaste och mjukaste rörelsen för motorerna, men verktyget följer en kurva som är svår att förutse. Använd MovJ för stora förflyttningar i fritt utrymme, högt ovanför allt.

MovL – linjär rörelse

Verktyget åker i en rak linje från A till B. För att klara det måste styrsystemet lösa inverskinematiken många gånger per sekund längs vägen. Använd MovL när du är nära saker: på väg ned för att plocka, när du lyfter och när du ställer ned. En rak linje kan misslyckas om den går genom ett ställe roboten inte når – till exempel precis intill foten.

  1. Play both moves. Which path is longer? Which one would you trust near other objects?
  2. Drag A and B so that the straight line passes close to the robot base. What happens to MovL?
  3. Put A and B on the same side of the robot, close together. Do the paths still differ much?
  1. Spela upp båda rörelserna. Vilken väg är längst? Vilken skulle du lita på nära andra föremål?
  2. Dra A och B så att den raka linjen går nära robotens fot. Vad händer med MovL?
  3. Lägg A och B på samma sida om roboten, nära varandra. Skiljer sig vägarna fortfarande mycket?

Other motion blocks

BlockWhat it does
JointMovJYou give the four joint angles directly instead of X, Y, Z, R. Useful for poses that are easier to describe as angles, like "arm pointing left".
RelMovLMoves in a straight line relative to where the tool is now. ΔZ 50 means "50 mm higher than now". Good for lifting straight up.
go homeMovJ to a safe start position, (260, 0, 40, 0).
set speedSpeed ratio, 1–100 %. Start slow when testing a new program on a real robot.

Andra rörelseblock

BlockVad det gör
JointMovJDu anger de fyra ledvinklarna direkt i stället för X, Y, Z, R. Bra för ställningar som är lättare att beskriva med vinklar, som "armen pekar åt vänster".
RelMovLÅker i rak linje relativt där verktyget är just nu. ΔZ 50 betyder "50 mm högre än nu". Bra för att lyfta rakt upp.
go homeMovJ till en säker startposition, (260, 0, 40, 0).
set speedHastighetsfaktor, 1–100 %. Börja långsamt när du testar ett nytt program på en riktig robot.
Check yourself: the tool is 100 mm above a cube. Should you use MovJ or MovL to go down to it — and why?

MovL. Close to objects you need to know exactly which way the tool travels; a straight line down cannot swing sideways into the cube or its neighbours.

Testa dig själv: verktyget är 100 mm ovanför en kub. Ska du använda MovJ eller MovL för att åka ned till den – och varför?

MovL. Nära föremål måste du veta exakt vilken väg verktyget tar; en rak linje nedåt kan inte svänga ut åt sidan och slå i kuben eller dess grannar.

6. The pick-and-place pattern

Almost every robot program that moves things uses the same eight steps. Learn this pattern and you can solve most tasks in the simulator.

6. Mönstret plocka-och-placera

Nästan alla robotprogram som flyttar saker använder samma åtta steg. Lär dig mönstret så kan du lösa de flesta uppgifterna i simulatorn.

safe height säker höjd 1 2 3 4 5 6 7 8 A B
  1. MovJ to a point above the cube, at a safe height.
  2. MovL straight down until the cup touches the top of the cube (Z = −125 for a cube on the table).
  3. suction cup ON, then wait 200 ms so the vacuum has time to build up.
  4. MovL straight up to the safe height.
  5. MovJ to a point above the target.
  6. MovL straight down.
  7. suction cup OFF, then wait so the cube really lets go.
  8. MovL straight up again — never drag the tool sideways along the table.

The safe height must be above everything in the cell, including cubes you have already stacked. Steps 1, 4, 5 and 8 are sometimes called approach and retract points.

Stacking? Each cube adds 25 mm. Putting a cube down on top of one cube means going down to Z = −100, on top of two cubes Z = −75, and so on.
  1. MovJ till en punkt ovanför kuben, på säker höjd.
  2. MovL rakt ned tills sugkoppen nuddar kubens ovansida (Z = −125 för en kub på bordet).
  3. suction cup ON, sedan wait 200 ms så att vakuumet hinner byggas upp.
  4. MovL rakt upp till säker höjd.
  5. MovJ till en punkt ovanför målet.
  6. MovL rakt ned.
  7. suction cup OFF, sedan wait så att kuben verkligen släpper.
  8. MovL rakt upp igen – dra aldrig verktyget i sidled längs bordet.

Den säkra höjden måste ligga över allt i arbetscellen, även kuber du redan har staplat. Steg 1, 4, 5 och 8 brukar kallas inflygnings- och utflygningspunkter (approach och retract).

Ska du stapla? Varje kub lägger till 25 mm. Att ställa en kub ovanpå en annan kub betyder att åka ned till Z = −100, ovanpå två kuber Z = −75 och så vidare.

Open task 1 · Pick & place and choose Load example… → Pick & place. Find each of the eight steps in the program, then press ▶ Run.

Öppna uppgift 1 · Pick & place och välj Load example… → Pick & place. Hitta vart och ett av de åtta stegen i programmet och tryck sedan på ▶ Run.

7. Programming with blocks

The simulator uses block programming: you snap blocks together instead of typing code. Every program starts with when ▶ Run is clicked. Blocks that are not connected under it turn grey and are ignored.

CategoryUse it for
MotionMoving the robot: MovJ, MovL, RelMovL, JointMovJ, go home.
PointsMoving to points you have saved (chapter 8).
SuctionTurning the suction cup on and off, and checking if it is holding something.
SensorsAsking where a cube or zone is, or where the robot is right now.
ControlWaiting, setting the speed, printing messages to the Log.
Logic, Loops, Math…Ordinary programming: if-statements, repeats, calculations, variables and functions.

Loops save work

Building a tower means putting each cube down 25 mm higher than the last one. Instead of copying blocks, use a loop and a calculation. In normal code the idea looks like this:

7. Programmera med block

Simulatorn använder blockprogrammering: du sätter ihop block i stället för att skriva kod. Varje program börjar med when ▶ Run is clicked. Block som inte sitter fast under det blir grå och hoppas över.

KategoriAnvänds till
MotionAtt flytta roboten: MovJ, MovL, RelMovL, JointMovJ, go home.
PointsAtt åka till punkter du har sparat (kapitel 8).
SuctionAtt slå på och av sugkoppen och kolla om den håller något.
SensorsAtt fråga var en kub eller zon finns, eller var roboten är just nu.
ControlAtt vänta, ställa in hastigheten och skriva meddelanden i loggen (Log).
Logic, Loops, Math …Vanlig programmering: villkor, upprepningar, beräkningar, variabler och funktioner.

Loopar sparar arbete

Att bygga ett torn betyder att varje kub ska ställas ned 25 mm högre än den förra. I stället för att kopiera block kan du använda en loop och en beräkning. I vanlig kod ser idén ut så här:

for level in 0, 1, 2:
    place_z = -125 + 25 * level      # -125, -100, -75
    ...pick the next cube...
    MovL(300, 130, place_z, 0)

Functions: write it once

The pick-and-place pattern is the same every time — only the coordinates change. Put it in a function (category Functions) with inputs such as px, py, tx, ty and call it once per cube. The example Sort with sensors + function does exactly that.

Sensors make programs robust

In task 4 the cubes are in different places every time. A program with fixed numbers only works once. Instead, use X of red cube and Y of red cube as the inputs to your moves. In a real factory this information would come from a camera (machine vision).

When something goes wrong

  • The block that is running is highlighted, so you can follow the program.
  • If the robot crashes or cannot reach a point, the program stops, the base light turns red and the guilty block gets a ⚠ warning explaining why. Details are in the Log tab.
  • Lower the Sim speed to watch closely, or raise it to test quickly.

Funktioner: skriv det en gång

Plocka-och-placera-mönstret är likadant varje gång – det är bara koordinaterna som ändras. Lägg det i en funktion (kategorin Functions) med indata som px, py, tx, ty och anropa den en gång per kub. Exemplet Sort with sensors + function gör precis så.

Sensorer gör programmen robusta

I uppgift 4 ligger kuberna på nya ställen varje gång. Ett program med fasta tal fungerar bara en gång. Använd i stället X of red cube och Y of red cube som indata till rörelserna. I en riktig fabrik skulle informationen komma från en kamera (maskinseende).

När något går fel

  • Blocket som körs just nu markeras, så att du kan följa programmet.
  • Om roboten krockar eller inte når en punkt stoppas programmet, lampan på foten blir röd och det skyldiga blocket får en ⚠ varning som förklarar varför. Detaljer finns under fliken Log.
  • Sänk Sim speed för att titta noga, eller höj den för att testa snabbt.

8. Jogging and teaching points

Real robot programmers rarely type in coordinates. Instead they jog the robot — nudge it step by step — to exactly the right spot and teach (save) that position. In the simulator, the Jog & teach tab does this:

  • Tool (Cartesian) buttons move the tool along X, Y, Z or rotate R. Joints buttons turn one joint at a time.
  • Step sets how far each click moves: big steps to get close, 1 mm steps for the last bit.
  • + MovJ / MovL block here adds a block with the current position to the end of your program.
  • 📍 Save as point stores the position as P1, P2… Use it with the MovJ to point block. If a point needs adjusting, press Update and every block that uses it follows.

On the real MG400 you can also press a button on the arm and move it by hand to teach positions.

8. Jogga och lära in punkter

Riktiga robotprogrammerare skriver sällan in koordinater. I stället joggar de roboten – flyttar den lite i taget – till exakt rätt ställe och lär in (sparar) positionen. I simulatorn gör du det under fliken Jog & teach:

  • Knapparna under Tool (Cartesian) flyttar verktyget längs X, Y, Z eller vrider R. Knapparna under Joints vrider en led i taget.
  • Step anger hur långt varje klick flyttar: stora steg för att komma nära, 1 mm-steg för sista biten.
  • + MovJ / MovL block here lägger till ett block med nuvarande position sist i programmet.
  • 📍 Save as point sparar positionen som P1, P2 … Använd den med blocket MovJ to point. Om en punkt behöver justeras trycker du på Update, så följer alla block som använder den med.

På en riktig MG400 kan du också trycka på en knapp på armen och flytta den för hand för att lära in positioner.

9. From simulator to real robot

Safety first. A real robot does not stop just because your program is wrong. Before running anything on a real MG400:
  • Know where the emergency stop is and keep it within reach.
  • Keep hands, hair and objects out of the workspace while the robot is enabled.
  • Run new programs at low speed (10–20 %) the first time.
  • Check that every point is reachable and that the safe height clears everything in your cell.

The Python tab in the simulator turns your blocks into a Python program for Dobot's TCP/IP interface. The robot is controlled over the network: one connection (port 29999) for settings such as enabling the robot and the suction output, another (port 30003) for movements.

Things that differ in the real world:

  • Heights. Your table is probably not at Z = −150. Teach the real positions by jogging.
  • Sensors. The real robot cannot magically know where the red cube is. You need a camera, or fixed positions.
  • Tolerances. Real cubes are not perfectly placed and suction cups need to press slightly down to seal.
  • The suction cup is connected to a digital output (DO). Check which one on your robot.

9. Från simulator till riktig robot

Säkerheten först. En riktig robot stannar inte bara för att ditt program är fel. Innan du kör något på en riktig MG400:
  • Ta reda på var nödstoppet sitter och ha det inom räckhåll.
  • Håll händer, hår och föremål utanför arbetsområdet när roboten är aktiverad.
  • Kör nya program på låg hastighet (10–20 %) första gången.
  • Kontrollera att alla punkter går att nå och att den säkra höjden går fri från allt i din arbetscell.

Fliken Python i simulatorn gör om dina block till ett Pythonprogram för Dobots TCP/IP-gränssnitt. Roboten styrs över nätverket: en anslutning (port 29999) för inställningar som att aktivera roboten och sugkoppens utgång, och en annan (port 30003) för rörelser.

Saker som skiljer sig i verkligheten:

  • Höjder. Ditt bord ligger troligen inte på Z = −150. Lär in de riktiga positionerna genom att jogga.
  • Sensorer. Den riktiga roboten kan inte på magisk väg veta var den röda kuben är. Du behöver en kamera eller fasta positioner.
  • Toleranser. Riktiga kuber ligger inte perfekt och sugkoppar behöver tryckas ned lite för att täta.
  • Sugkoppen är kopplad till en digital utgång (DO). Kontrollera vilken på din robot.

10. Challenges

The simulator checks the first four tasks automatically and shows ✓ Task complete! when you succeed.

  1. Pick & place — move the red cube into the red zone.
  2. Build a tower — stack all three cubes in the grey zone. Extra: do it with a loop.
  3. Sort by colour — every cube into its own zone. Extra: write a function and call it three times.
  4. Sort with sensors — same as 3, but the cubes move every time you reset. Your program must work every time.
  5. Free play: turn the red cube 90° before putting it down (hint: change R while holding it).
  6. Free play: build a tower of all four cubes, then take it apart again into a row.
  7. Speed run: solve task 3 as fast as possible. Where can you use MovJ instead of MovL without crashing?

10. Utmaningar

Simulatorn kontrollerar de fyra första uppgifterna automatiskt och visar ✓ Task complete! när du lyckas.

  1. Pick & place – flytta den röda kuben till den röda zonen.
  2. Build a tower – stapla alla tre kuberna i den grå zonen. Extra: gör det med en loop.
  3. Sort by colour – varje kub till sin egen zon. Extra: skriv en funktion och anropa den tre gånger.
  4. Sort with sensors – som 3, men kuberna flyttas varje gång du återställer. Programmet måste fungera varje gång.
  5. Fri lek (Free play): vrid den röda kuben 90° innan du ställer ned den (tips: ändra R medan du håller den).
  6. Fri lek: bygg ett torn av alla fyra kuberna och plocka sedan isär det till en rad.
  7. Speedrun: lös uppgift 3 så snabbt som möjligt. Var kan du använda MovJ i stället för MovL utan att krocka?

11. Glossary

11. Ordlista

EnglishSvenskaMeaningBetydelse
joint / axisled / axelA part of the arm that a motor turns.En del av armen som en motor vrider.
basefotThe fixed bottom of the robot.Robotens fasta nederdel.
upper arm / forearmöverarm / underarmThe two long links of the arm.Armens två långa delar.
tool, end effectorverktyg, gripdonWhatever is mounted at the end of the arm.Det som sitter längst ut på armen.
suction cupsugkoppTool that holds things with vacuum.Verktyg som håller saker med vakuum.
reachräckviddHow far the tool can get from the base.Hur långt från foten verktyget når.
payloadlastförmågaMaximum weight the robot may carry.Största vikten roboten får bära.
repeatabilityrepeterbarhetHow exactly it returns to the same point.Hur exakt den återvänder till samma punkt.
workspacearbetsområdeAll positions the tool can reach.Alla positioner verktyget kan nå.
joint limitledgräns, ändlägeHow far a joint is allowed to turn.Hur långt en led får vridas.
originorigoThe point (0, 0, 0).Punkten (0, 0, 0).
forward kinematicsframåtkinematikJoint angles → tool position.Ledvinklar → verktygets position.
inverse kinematicsinverskinematikTool position → joint angles.Verktygets position → ledvinklar.
joint move (MovJ)ledrörelseAll joints turn together; the path is curved.Alla leder vrids samtidigt; vägen blir krökt.
linear move (MovL)linjär rörelseThe tool moves in a straight line.Verktyget åker i rak linje.
approach / retract pointinflygnings- / utflygningspunktA safe point above where you pick or place.En säker punkt ovanför där du plockar eller placerar.
jogjoggaMove the robot manually in small steps.Flytta roboten för hand i små steg.
teach a pointlära in en punktSave the current position to use in a program.Spara nuvarande position för att använda i ett program.
emergency stopnödstoppButton that stops the robot immediately.Knapp som stoppar roboten direkt.
digital output (DO)digital utgångAn on/off signal, e.g. for the suction pump.En på/av-signal, t.ex. till sugpumpen.