
Kerüld meg az üveget a vonalon
Itt az a feladat, hogy a vonalon haladva kerüljük meg az akadályokat, majd menjünk vissza a vonalra.
Ez elég komplex feladat.
Kell hozzá vonalkövetés, akadály felismerése és megkerülése, valamint vissza kell találni megint a vonalra. Ráadásul még a pálya legvégén vissza kell fordulni.
Itt az eredmény
Látszik, hogy a pálya végén való visszafordulás nem sikerült elsőre. Igazából ugyanaz az algoritmus fut a visszafordulásra, mint a vonal megtalálására az akadály megkererülése után.
Az akadály megkerülése csak abból áll, hogy egy bizonyos szögben befordulunk majd szép ívben körbe megyünk amíg a vonalhoz nem érünk. Ezután beindul a vonalkereső algoritmus.
Az elején egy kicsit nehéz volt az akadály megkerülést megcsinálni, mert poros a talaj, ezért sokszor túl sokat vagy nem eleget fordult el a robot. Próbálkoztam azzal is, hogy annyit forduljon el, hogy már ne lássa közelinek az akadályt. Ezzel az volt a gond, hogy nem fordult el eléggé.
Végül azt kellett még összehangolni, hogy az akadályelkerülő és vonalmegtaláló is ugyanarra forduljon. Az akadályt mindig balról kerüli meg a robot és a vonalmegtaláló algoritmus is balra fordul be.
https://github.com/makerobot/mBot/blob/master/follow_line_and_go_around_obstacle.sb2