Tilstedeværende: Daniel, Lars Christian og Line
Varighed: 3 timer
Plan: Vores plan for i dag er at lave en to-deling af gruppen, den ene svarer på spørgsmålet fra opgaven og de to andre begynder at implementere navigationen.
1. Opgave
Goal: Undersøge hvordan navigationen fungerer via. en tush bagpå bilen.
Navigation
Vi målte afstanden mellem hjulene på bilen = 11 cm, og diameteren = 5 cm. Udfra dette kunne vi instantiere pilot-klassen. Vi havde lidt problemere med at finde den korrekte konstruktor for klassen, da den eneste vi kunne se ikke tog nogen parametre. I stedet fandt vi og brugte klassen tachoPilot til at instantiere en pilot. Vi fik vores bil til at køre 10 mm og så dreje, dette ændrede vi til 10 cm og så dreje 90 grader.
Vi testede om vi kunne få den til at dreje 4 gange så vi tegnede en kvadrat, vores første forsøg kan ses her:
Som det kan ses (den røde streg) kører vi ikke helt i en kvadrat, vi får ikke drejet 90 grader i rotationerne. Vi ændrede værdierne for hjul diameteren og afstanden mellem hjulene for at tilpasse vinklerne så vi fik drejet 90 grader i svingene.
Navigation while avoiding objects
How can you make the car move from place to place by means of the leJOS navigation system while the car avoids objects in front of it ?
Ved at bruge de klasser vi lavede i sidste uge til at håndtere forskellig opførsel. Ved at lave en tråd til "avoid front" der overtager styringen fra navigation når der er noget foran den.
Improved Navigation
In [2] there is a formula that shows how the position and direction are updated during the moves of a mobile robot. In [5], another update formula is used. What is the difference, what is the most accurate? Try to figure out how lejos updates the position and direction. Can you use [5] to improve that? Or?
I [2] bliver retningen udregnet ved flg formel:
deltaHeading = (rightCounts leftCounts) * radiansPerCount
og positionen med denne:
deltaDistance = (leftCounts + rightCounts) / 2.0 * distancePerCount
I[5] bliver retningen udregnet via:
w = (vr -vl) / l
Hvor vr er og vl er hastigheden af hhv. højre og venstr hjul.
Positionen bliver udregnet via:
x’ cos(wdt) -sin(wdt) 0 x-ICCx ICCx
y’ = sin(wdt) cos(wdt) 0 y-ICCy + ICCy
Den største forskel på formlerne er måden at rotere på. I [2] roterer man om sin egen akse, mens man i [5] rotere omkring et punkt væk fra robotten.
Ingen kommentarer:
Send en kommentar