milt1337 created page: Lesson10 authored by Peter Hallum's avatar Peter Hallum
...@@ -88,7 +88,7 @@ Efter at have målt partikelfilteret på en lige strækning gjorde vi det samme ...@@ -88,7 +88,7 @@ Efter at have målt partikelfilteret på en lige strækning gjorde vi det samme
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). 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). 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). Ultrasonic sensoren måler for hver femte centimeter om den at kørt forbi objektet. I video 4 kan det ses hvordan robotten succesfuld kører unden om en kaffekande.
``` ```
t.start(); t.start();
...@@ -130,6 +130,7 @@ if (us.getDistance() < 13) { ...@@ -130,6 +130,7 @@ if (us.getDistance() < 13) {
isTurning = false; isTurning = false;
} }
``` ```
> Kodestykke 3: PilotSquare.java - isTurning bliver sat til true, hvilket forhindre den anden tråd i at kontrollere pilot-objektet. Derefter udføres svinget.
[![Et eller andet smart](https://i.ytimg.com/vi/hMDamLZT3vo/mqdefault.jpg)] (https://www.youtube.com/watch?v=hMDamLZT3vo&feature=youtu.be) [![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. > Video 4: Undgå objekter og husker position.
... ...
......