
5. Útvonalkövetés
5. Útvonalkövetés
Útvonalkövetés
A robot feladata: kövesse a fehér alapon futó fekete vonalat a fényszenzor segítségével.
🌈 Mit tud a fényszenzor?
Kétféle üzemmód:
- Színérzékelés – 8 színt különböztet meg (a 9. az "egyéb").
- Fényerő mérés (0–100) – sötét felület → alacsony érték – világos felület → magas érték
A feladatban színérzékelést használunk.
🔄 Első lépés: egyszeri elágazás
Induláskor a robot megnézi:
- Ha fekete színt lát → balra fordul
- Ha nem fekete → jobbra fordul
A motorok sebessége legyen kicsi (pl. 10%), és a robot kb. 100 fokot fordul. Ez még csak egy egyszeri döntés, nem útvonalkövetés.
🔁 Folyamatos vonalkövetés: végtelen ciklus
Ahhoz, hogy a robot folyamatosan reagáljon, az elágazást végtelen ciklusba tesszük:
- Fekete → balra fordul
- Nem fekete → jobbra fordul
Így a robot kígyózó mozgással követi a vonal egyik szélét.
⚙️ Miért nem jó a fix szögű fordulás?
Ha azt mondjuk: "fordulj 100 fokot", akkor:
- a robot nem vizsgálja közben a szenzort,
- csak a mozgás végén dönt újra.
Ezért a fordulást motorsebesség-különbséggel kell megoldani:
- egyik motor gyorsabban forog
- másik lassabban → így a robot folyamatosan kanyarodik, és közben figyel.
🧭 Melyik oldalon követi a vonalat?
A jelenlegi beállítás:
- fekete → jobb motor gyorsabb → robot balra fordul → tehát a robot a vonal bal szélét követi.
Ha a másik oldalt szeretnéd követni:
- cseréld fel az IF–ELSE ágakat, vagy
- fordítsd meg a motorok sebességének előjelét.
🎯 Hogyan lehet pontosabb a követés?
A pontosságot a motorok sebességkülönbsége határozza meg:
- kicsi különbség → nagy ívű fordulás → könnyen lecsúszik a vonalról
- nagy különbség → élesebb kanyar → pontosabb követés
Keskeny vagy kanyargós útvonalnál:
- lassabb sebesség,
- nagyobb sebességkülönbség a jó megoldás.
🧱 Akadályok kezelése
A végtelen ciklus helyett használhatsz:
- távolságérzékelőt, hogy a robot megálljon vagy megforduljon akadálynál.
Példa: "Kövesd a vonalat akadályig → fordulj meg → menj vissza."
🔄 Fontos: a fényszenzor helyzete
Az alaprobotnál a szenzor jobb oldalon van. Ezért ha akadálynál pont 180°-ot fordul, a szenzor messze kerül a vonaltól, és nem talál vissza.
Megoldás:
- ne pontosan 180°-ot forduljon,
- hanem annyit, hogy a szenzor a fordulás után a vonal jó oldalára kerüljön.
Így a robot a visszaúton is automatikusan rátalál a vonalra.
Vissza
