Ładowanie laboratorium 3D…
Ładowanie lekcji…
← Laboratorium: Łazik, tytuł lekcji.Świat 1 · lekcja 4 z 4Wszystkie lekcje ↓

Dlaczego sam plan nie wystarczy.
Prowadzisz te zajęcia? Otwórz tryb projektora
Oto kuszący plan: aby przejechać kwadrat o boku jednego metra, wydaj polecenie „jedź do przodu przez 5 sekund, skręć w lewo przez 1,5 sekundy” — i powtórz je cztery razy. Obliczyliśmy wzory, więc robot powinien narysować idealny kwadrat. Uruchom ten program na prawdziwym robocie, a kształt prawie nigdy się nie zamknie. Robot kończy kilka centymetrów od miejsca, w którym zaczął, albo jeszcze dalej.
Taki sposób sterowania nazywa się sterowaniem w pętli otwartej: polecenia są obliczane z wyprzedzeniem i wysyłane, a nic nie mierzy tego, co naprawdę się wydarzyło. Przeciwieństwem jest sterowanie w pętli zamkniętej, które korzysta ze sprzężenia zwrotnego (pętli z pierwszej lekcji). Pętla otwarta sprawdza się, gdy świat jest przewidywalny. Roboty rzadko działają w przewidywalnym świecie.
Dlaczego „to samo polecenie” daje różne wyniki.
Każdy z tych problemów jest niewielki. Kłopot polega na tym, że małe błędy się sumują (w Świecie 2 pokazujemy to na liczbach).
Przeprowadźmy eksperyment myślowy. Załóżmy, że błąd kierunku sprawia, że każde polecenie „skręć w lewo o 90 stopni” kończy się skrętem o 88 stopni. Po pokonaniu czterech rogów robot skręcił o 352 stopnie, a nie o 360, więc trasa się nie zamyka: brakuje 8 stopni do ustawienia w kierunku punktu startowego, a do tego dochodzi błąd położenia. Robot z układem zamkniętej pętli mierzyłby swój kierunek czujnikiem po każdym skręcie i skręcał dalej, aż czujnik wskazałby 90 stopni.
Rozwiązanie tego problemu jest tematem kolejnych światów. Najpierw robot musi oszacować, gdzie się znajduje (Świat 2). Następnie sterownik wykorzystuje różnicę między „miejscem, w którym chcę być” a „miejscem, w którym — jak sądzę — jestem”, aby się skorygować (Świat 3). Czujniki obserwujące świat zewnętrzny pojawią się w Świecie 4.
Co oznacza „otwarta pętla”?
Dlaczego robot jadący po zaplanowanym kwadracie zwykle nie wraca dokładnie do punktu startu?
Które dodawanie najbardziej bezpośrednio zmniejszyłoby błąd?