Lynvolgrobotte: die fisika en die kode

'n Lynvolgrobot lees weerkaatste lig, maak daarvan 'n drempelbesluit oor op-lyn of af-lyn, en stuur met 'n beheerlus. Hier is die fisika, die kode, en waarom verstelling die werklike les is.
'n Lynvolgrobot werk deur te lees hoeveel lig van die vloer onder hom af weerkaats, te besluit of elke sensor bo die donker lyn of die ligte oppervlak is, en dan te stuur om die lyn gesentreer te hou. Die fisika is weerkaatsing. Die kode is 'n klein beheerlus wat 'n paar honderd keer per sekonde loop. Kry albei reg en die robot vou hom om 'n skerp draai; kry die verstelling verkeerd en hy waggel weg teen 'n tafelpoot vas. Hierdie gids stap deur hoe dit werk, die twee algemene stuurmetodes, en waarom die verstelling die deel is wat werklik ingenieurswese leer.
Hoe die sensor die lyn lees
Die kerndeel is 'n infrarooi weerkaatsingsensor. Dit koppel 'n klein infrarooi LED aan 'n fototransistor wat meet hoeveel van daardie lig terugkom. 'n Donker lyn absorbeer die meeste van die infrarooi, dus kom min terug. 'n Ligte vloer weerkaats die meeste daarvan, dus kom baie terug. Die sensor sit 'n paar millimeter bo die grond en rapporteer 'n analoogwaarde, gewoonlik gelees as 'n getal uit 'n analoog-na-digitaal-omsetter (ADC).
Die meeste beginnerrobotte gebruik twee of meer van hierdie sensors langs mekaar, aan weerskante van die lyn. Wanneer die lyn onder die linkersensor indryf, val die linkerlesing. Wanneer dit regs dryf, val die regterlesing. Daardie verskil is die hele grondslag van stuur. Twee praktiese waarhede tel hier: sensorhoogte verander die lesing, en omgewingslig lek in. 'n Robot wat onder klaskamerligte getoets is, kan anders optree langs 'n sonnige venster, en daarom kom kalibrasie hierna.
Om 'n lesing in 'n besluit te omskep
'n Rou ADC-getal is op sy eie nie bruikbaar nie, want dit dryf saam met die oppervlak, die beligting en selfs 'n swakker wordende battery. Die oplossing is drempelbepaling. Jy vee die sensors stadig oor sowel die lyn as die vloer, teken die laagste en hoogste lesings aan, en stel die drempel op die middelpunt. Enigiets onder die drempel tel as op die lyn, enigiets bo tel as op die vloer, of andersom na gelang van jou bedrading.
Hierdie kalibrasiestap is nie opsioneel nie. Doen dit op die werklike baan, in die werklike vertrek, elke keer as jy trek. Mat swart isolasieband op 'n ligte vloer gee 'n skoon kontras; blink band of 'n donker teëlvloer gee 'n swak een. Tien minute se kalibrasie spaar later 'n uur se verwarde ontfouting.
Twee maniere om te stuur: bang-bang en proporsioneel
Die eenvoudigste beheer is bang-bang, ook aan-af genoem. Die logika lees: as die linkersensor die lyn sien, draai links; as die regtersensor die lyn sien, draai regs; anders ry reguit. Dit is maklik om te skryf en maklik om te verstaan, maar dit stuur in harde rukke. Die robot sigsag met 'n reguit lyn af en moet kruip om op draaie te bly, want dit weet net ooit aan of af, nooit hoe ver af nie.
Proporsionele beheer los dit op deur die analooglesings te gebruik in plaas van 'n ja-of-nee. Jy bereken 'n fout, byvoorbeeld error = left - right, en laat die draaisterkte daarmee saam skaal: turn = Kp * error. 'n Klein fout lewer 'n sagte regstelling; 'n groot fout lewer 'n sterk een. Die enkele getal Kp, die proporsionele wins, bepaal hoe aggressief die robot reageer. Dit is die eerste werklike smaak van beheerteorie, en dit is genoeg om 'n robot te laat gly om 'n baan waaroor bang-bang sou ratel. Om die I- en D-terme by te voeg vir 'n volledige PID-lus is 'n natuurlike volgende stap sodra proporsioneel stewig voel.
Verstelling is die werklike les
Die kode hierbo is kort. Byna al die leerwerk lê in die verstelling daarvan, en dit is 'n voordeel, nie 'n las nie. Verstelling is waar leerders die ingenieursmetode ontmoet: verander een veranderlike, toets, kyk, herhaal. Werk in hierdie volgorde daardeur:
- Kalibreer op die werklike baan onder die werklike ligte voordat jy aan enigiets anders raak.
- Stel 'n basisspoed stadig genoeg dat jy die robot kan dophou en gryp.
- Begin
Kpklein en verhoog dit tot die robot die lyn volg in plaas van weg te dryf. - As dit begin ossilleer en van kant tot kant swaai, verlaag
Kp'n bietjie of laat sak die basisspoed. - Toets op die skerpste draai op die baan, nie die maklike reguit stuk nie. Die reguit stuk lieg vir jou.
Hou 'n notaboek en verander een ding op 'n slag. 'n Leerder wat neerskryf dat 'n hoë wins die robot laat swaai het, leer meer as een wat lukraak aan getalle karring totdat dit toevallig werk.
Algemene mislukkings en hoe om hulle te ontfout
Die meeste lynvolgerprobleme val in 'n handjievol patrone. Pas die simptoom by die waarskynlike oorsaak voordat jy enige kode oorskryf:
- Robot ignoreer die lyn heeltemal: die drempel is verkeerd, die sensors is te hoog gemonteer, of die battery is laag genoeg om die LED's te verswak.
- Wilde sigsagbeweging:
Kpof die basisspoed is te hoog. Verminder een op 'n slag. - Vlieg af op skerp hoeke: te vinnig, of die twee sensors sit te na aan mekaar om die draai vroeg genoeg raak te sien.
- Dryf na een kant op 'n reguit stuk: die twee motors is nie perfek gepaar nie. Voeg 'n klein vaste regstelling aan een kant by.
- Werk in die oggend, faal ná middagete: sonlig het die lesings verander. Herkalibreer vir die nuwe beligting.
- Elke sensor lees omtrent dieselfde: gaan die bedrading en die penommers na, en bevestig die band is mat, nie blink nie.
Om dit in 'n klaskamer te probeer
'n Lynvolger is een van die beste eerste robotikaprojekte, want die hele lus, waarneem en dan besluit en dan doen, is sigbaar in 'n enkele rit oor die vloer. Die rowerbouprojek op die sheenbot∞-bord gee leerders die weerkaatsingsensors en motorbeheer wat hulle nodig het op een bord, en volledige stelle is by die winkel beskikbaar. As jy dit eerder onderrig wil hê, bied die akademie in Kaapstad weeklikse klasse en vakansiewerkswinkels aan waar lynvolging 'n gereelde bouprojek is.
Kern daarvan
Weerkaatsingswaarneming vertel die robot waar die lyn is, drempelbepaling maak daarvan 'n duidelike besluit, en proporsionele beheer maak van die besluit gladde stuurwerk. Die kode is doelbewus klein. Die werklike vaardigheid is die geduldige verstelling, een verandering op 'n slag, wat 'n waggelende robot 'n draai laat hou, en daardie vaardigheid dra oor na byna elke ander projek. Vir meer bouverslae, sien die sheen.bot nuuskamer.
Gereelde vrae
Hoeveel sensors het 'n lynvolger nodig?
Twee is genoeg om te stuur, want stuur hoef net te weet of die lyn links of regs weggedryf het. Om meer sensors by te voeg, vyf is algemeen, laat die robot presieser oordeel hoe ver af hy is en skerper draaie hanteer, wat proporsionele beheer gladder maak.
Waarom volg my robot die lyn in een vertrek, maar nie in 'n ander nie?
Omgewingslig en vloerkleur verander hoeveel infrarooi terugkaats, dus is die drempel wat in een vertrek gekalibreer is, verkeerd in 'n ander. Herkalibreer op die nuwe oppervlak en onder die nuwe beligting elke keer as jy die robot skuif.
Is proporsionele beheer dieselfde as PID?
Proporsioneel is die P van PID en is die eerste en belangrikste term. PID voeg 'n integraalterm by om bestendige drywing uit te kanselleer en 'n afgeleide term om oorskiet te demp. Die meeste tienerprojekte werk goed op proporsioneel alleen, en voeg dan die ander twee as 'n opgradering by.



