Kodutöö. Geomeetrilised kujundid

Nüüd oskad kirjutada koodi, mis robotit meie soovi järgi sõitma paneb. Kasuta seda oskust, et panna robot erinevaid kujundeid joonistama!

Samm-sammuliste juhiste vaatamiseks kliki harjutuse vahepealkirjadele.

Sinu ülesandeks on panna robot autonoomselt (st mitte seda klaviatuurilt ise sõidutades) sõitma järgmisi trajektoore. (Iga kujund võib olla koodifail, mida eraldi käivitatakse.)

Kõigepealt testi koodi fake_driver simulaatori abil RVizis (ressursside kokkuhoiuks mitte Gazebo abil!) ja seejärel pane kood tööle ka päris robotil.

Arvesta, et päris robot käitub fake_driveri simulatsiooniga võrreldes oluliselt teistmoodi. Seda seepärast, et fake_driver simulaator on väga lihtne idealistlik simulatsioon, kus robotil pole massi, ratastele ei arvestata hõõrdetegurit ega pole arvestatud ühegi muu päris maailma kitsendusega. Seega sobib fake_driver simulaator väga hästi oma sõlme koodide üldstruktuuride paika seadmiseks ja kõikvõimalikest veateadetest jagu saamiseks. Ent kujundite läbi sõitmiseks vajalikud täpsed ajavahemikud tuleb mitmel juhul päris roboti peal uuesti üle vaadata.

Pane robot liikuma ruudukujuliselt, nõnda, et ta vaataks vaid ühte suunda. Ruudu ühe külje joonistamine peaks olema sujuv kogu ulatuses ja võtma aega vähemalt 2 sekundit.

Siin on video robotist, kes sõidab õiget kujundit:

.

Siin on video simuleeritud robotist:

.

Pane robot liikuma ruudukujuliselt, nõnda, et ta liiguks alati selles suunas, kuhu vaatab ta esiots. Ruudu ühe külje joonistamine peaks olema sujuv kogu ulatuses ja võtma aega vähemalt 2 sekundit.

Siin on video robotist, kes sõidab õiget kujundit:

.

Siin on video simuleeritud robotist:

.

Pane robot liikuma ringikujuliselt. Roboti liikumine peaks olema sujuv ja ta ei tohiks vahepeal seisma jääda.

Siin on üks näide ringi joonistamisest:

.

Siin on video simuleeritud robotist:

.

Pane robot joonistama “külili kaheksat”. Roboti liikumine peaks jällegi olema mittekatkendlik ning kogu “kaheksa” joonistamine peaks aega võtma kauem kui 3 sekundit.

Siin on üks näide “kaheksa” joonistamisest:

.

Siin on video simuleeritud robotist:

.