Skip to content

Roman Dolejší - Finálový úkol 1 - City navigator#73

Open
rdolejsi wants to merge 1 commit into
Global-Classes-CZE:mainfrom
rdolejsi:fu-1-city-navigator
Open

Roman Dolejší - Finálový úkol 1 - City navigator#73
rdolejsi wants to merge 1 commit into
Global-Classes-CZE:mainfrom
rdolejsi:fu-1-city-navigator

Conversation

@rdolejsi
Copy link
Copy Markdown

@rdolejsi rdolejsi commented Oct 29, 2024

Finálový úkol, část 1 - jízda na mapě (v ulicích virtuálního města) vychází z úkolu č. 13 a dále rozšiřuje stavovou mašinu a celé řešení o:

Funkční změny

  • podporu dodaných navigačních instrukcí - ty jsou vykonávány až do stavu STOP nebo po jejich vyčerpání (interaktivní varianta pak pokračuje, viz demo v úkolu č. 13)
  • pokud je nalezena křižovatka a navigace má ještě nějaký příkaz k dispozici, počká robot půl sekundy a zobrazí, co chce dělat
  • lze nastavit výchozí pozici ve městě (x, y, orientace)
  • aktuální pozice je zobrazována na displeji - u Micro:Bitu jako vertikální čáry vlevo a vpravo, u Pico:Edu jako X, Y souřadnice

Interní změny oproti úkolu 14

  • třída Behavior obsahuje nově navigační příkazy a pozici ve městě
  • přechody mezi stavy jsou z počátku chráněny, aby robot zbytečně nechytil moc rychle další přechod (lze nastavit tolerance)
  • senzor matching framework zodpovědný za detekce změn senzorů byl doplněn o podporu více variant senzoru v historii

Interní změny

  • podpora zobrazování pozice ve městě (jak na Micro:Bitu, tak na Pico:Edu)

Add-on info

  • celá stavová mašina vychází z DU-14, mé PR#72.
  • Změny oproti DU-14 jsou vidět na mé větvi work v tomto commitu.

Celý průjezd městem má kolem 20 kroků, což samozřejmě představovalo prakticky nadlidské úsilí projet bez jediné chyby. Natočil jsem postupně několik videí s různou úspěšností robota (natáčeno v noci, takže světelné podmínky rozhodně úspěšnosti robota nepřidaly): video 1, video 2, video 3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant