Efektīva LEGO EV3 Līnijsekošana un PID Kontrole
Sensoru kalibrēšana
Precīza sākuma atslēga
Lai robots spētu stabili sekot līnijai, tam ir nepieciešami precīzi dati. Mēs nevaram paļauties uz fiksētām vērtībām, jo apgaismojums telpā var mainīties, trases virsma var nedaudz atšķirties vai pat sensora leņķis var būt nedaudz citāds. Tāpēc pirmais solis vienmēr ir sensoru kalibrēšana.
Mēs izmantosim krāsu sensoru režīmā. Šajā režīmā sensors izstaro sarkanu gaismu un mēra, cik daudz no tās tiek atstarots atpakaļ. Gaišas virsmas, piemēram, balts papīrs, atstaro daudz gaismas, dodot augstu rādījumu. Tumšas virsmas, kā melna līnija, absorbē lielāko daļu gaismas, tāpēc rādījums ir zems.
Dinamiskā kalibrēšana
Kalibrēšanas procesā robotam ir jāiemācās, kā izskatās konkrētās trases 'melnā' un 'baltā' krāsa. Mēs uzrakstīsim programmu, kas ļauj lietotājam vispirms novietot sensoru virs melnās līnijas, lai nolasītu minimālo gaismas vērtību, un pēc tam virs baltās virsmas, lai nolasītu maksimālo. Šīs divas vērtības saglabāsim mainīgajos, piemēram, black_value un white_value.
Šī pieeja nodrošina, ka robots pielāgojas konkrētajiem apstākļiem katru reizi, kad tas tiek palaists. Sacensībās, kur apgaismojums var mainīties starp treniņiem un fināla braucieniem, šāda pielāgošanās spēja ir kritiski svarīga.
Labs kalibrēšanas process ir atšķirība starp robotu, kas nobrauc trasi vienu reizi no desmit, un robotu, kas to paveic deviņas reizes no desmit.
Kad esam ieguvuši minimālo un maksimālo vērtību, varam aprēķināt slieksni (threshold). Tas ir viduspunkts starp melno un balto. Šī vērtība palīdzēs robotam pieņemt vienkāršu lēmumu: ja sensora rādījums ir zemāks par slieksni, tas atrodas uz melnās līnijas; ja augstāks, tad uz baltās virsmas.
Datu normalizācija
Vienkāršs slieksnis ir labs sākums, taču sarežģītākiem algoritmiem, piemēram, , ir nepieciešami dati standartizētā diapazonā. Šeit palīdz normalizācija, process, kurā mēs pārveidojam sensora rādījumus, lai tie vienmēr būtu, piemēram, no 0 līdz 100. Šajā skalā 0 pārstāvētu ideālu melno krāsu (kādu to redzēja kalibrēšanas laikā), bet 100 – ideālu balto.
Izmantojot normalizētus datus, tavs kods kļūst universālāks. Tas darbosies neatkarīgi no tā, vai kalibrētās vērtības ir 10 un 60 vai 25 un 90. Algoritms vienmēr strādās ar paredzamu diapazonu no 0 līdz 100, padarot robota kustību plūdenāku un precīzāku.
Kāpēc ir nepieciešams kalibrēt robota krāsu sensoru pirms līnijas sekošanas?
Patiesi vai aplami: krāsu sensors atstarotās gaismas intensitātes režīmā uzrādīs augstāku vērtību uz melnas līnijas nekā uz baltas virsmas.
Pareiza kalibrēšana ir pamats jebkuram veiksmīgam līnijsekotājam. Veltot laiku, lai to izdarītu pareizi, jūs ietaupīsiet daudz pūļu, atkļūdojot robota uzvedību trasē.
