milt1337 created page: Lesson10 authored by Peter Hallum's avatar Peter Hallum
......@@ -86,7 +86,50 @@ Efter at have målt partikelfilteret på en lige strækning gjorde vi det samme
![rsz_img_0801](http://gitlab.au.dk/uploads/peter91/laser-explosion-lego/7ad4a72a65/rsz_img_0801.jpg)
> Figur 5: Opbygning af robot med sonic sensor
For at undgå et objekt foran robotten har vi brugt en sonic sensor. Vi har valgt at monterer den på en motor, så vi kan måle på objektet uden
For at undgå et objekt foran robotten har vi brugt en sonic sensor. Vi har valgt at monterer den på en motor, så vi kan måle på objektet som robotten skal udenom, uden at skulle dreje på selve robotten (og derved øges dens positions usikkerhed yderligere).
Koden er delt op i to tråde der kører på samme tid. I kodestykke 2, ser vi den anden tråd startes. Derfter vi hjælp af poseProvideren udregnes den længde robotten skal køre ligeud for at nå den ønskede position. Hvis ultrasonic sensoren finder en objekt foran robotten påbegynder den sekvensktielt at køre uden om objektet. I kodestykke 3 ses netop dette. Når svinget er påbegyndt kan den anden tråde ikke bestemme over piloten (fordi isTurning er sat til true).
```
t.start();
Motor.A.rotateTo(0);
while (true) {
float distance = desiredPose.getX() - poseProvider.getPose().getX();
if (distance >= 0 && !isTurning) {
show(poseProvider.getPose());
pilot.travel(distance);
}
}
```
> Kodestykke 2: PilotSquare.java - poseProvider bruges til at udregne den længden robotten skal køre ligeud for at nå til den ønskede position.
```
if (us.getDistance() < 13) {
isTurning = true;
float yCor = poseProvider.getPose().getY();
pilot.rotate(90);
Motor.A.rotateTo(-90);
while (us.getDistance() < 30) {
pilot.travel(5);
}
pilot.travel(10);
pilot.rotate(-90);
pilot.travel(15);
while (us.getDistance() < 30) {
pilot.travel(5);
}
pilot.travel(15);
pilot.rotate(-90);
Motor.A.rotateTo(0);
float distance = poseProvider.getPose().getY() - yCor;
pilot.travel(distance);
pilot.rotate(90);
isTurning = false;
}
```
[![Et eller andet smart](https://i.ytimg.com/vi/hMDamLZT3vo/mqdefault.jpg)] (https://www.youtube.com/watch?v=hMDamLZT3vo&feature=youtu.be)
> Video 4: Undgå objekter og husker position.
......
......