Ladataan 3D-laboratoriota…
Ladataan oppituntia…
← Rover-laboratorioMaailma 1 · oppitunti 4/4Kaikki oppitunnit ↓

Miksi pelkkä suunnitelma ei riitä.
Opetatko tätä? Avaa projektoritila
Tässä on houkutteleva suunnitelma: ajaa yhden metrin sivuista neliötä antamalla komento "forward for 5 seconds, turn left for 1.5 seconds" neljä kertaa. Olemme laskeneet kaavat, joten robotin pitäisi piirtää täydellinen neliö. Kun ajat sen oikealla robotilla, kuvio sulkeutuu lähes koskaan. Robotti päätyy muutaman senttimetrin päähän lähtöpaikastaan tai vielä kauemmas.
Tällaista ohjausta kutsutaan avoimeksi säätöpiiriksi: komennot lasketaan etukäteen ja lähetetään, eikä mikään mittaa, mitä oikeasti tapahtui. Vastakohta on suljettu säätöpiiri, joka käyttää takaisinkytkentää (ensimmäisen oppitunnin silmukka). Avoin säätöpiiri toimii hyvin, kun maailma on ennustettava. Robotit joutuvat harvoin ennustettavaan maailmaan.
Miksi "sama komento" antaa erilaisia tuloksia.
Jokainen näistä on pieni asia. Ongelma on, että pienet virheet kasaantuvat (Maailma 2 antaa niille luvut).
Kokeile ajatuskoetta. Oletetaan, että suuntavirheen vuoksi jokainen komento ”käänny vasemmalle 90 astetta” tuottaa 88 asteen käännöksen. Neljän kulman jälkeen robotti on kääntynyt 352 astetta, ei 360:tä, joten reitti ei sulkeudu: se on 8 astetta jäljessä lähtösuuntaansa nähden, ja aseman virhe tulee vielä sen päälle. Suljetun silmukan robotti mittaisi suuntansa anturilla jokaisen käännöksen jälkeen ja jatkaisi kääntymistä, kunnes anturin lukema on 90 astetta.
Ratkaisu on seuraavien maailmojen teema. Ensin robotin on muodostettava estimaatti asemastaan (maailma 2). Sitten säädin käyttää eroa sen välillä, ”missä haluan olla” ja ”missä luulen olevani”, korjatakseen toimintaansa (maailma 3). Ulkomaailman anturit tulevat mukaan maailmassa 4.
Mitä ”avoin silmukka” tarkoittaa?
Miksi suunnitellun neliön ajava robotti ei yleensä saa reittiään sulkeutumaan?
Mikä lisäys pienentäisi virhettä suorimmin?