Sledovač čáry - mechanická stránka

Postup stavby, dotazy, úspěchy, slepé uličky a zkušenosti
Odpovědět
Bodie
Příspěvky: 110
Registrován: 05 kvě 2013, 17:52

Sledovač čáry - mechanická stránka

Příspěvek od Bodie »

Zdravím všechny,
jelikož nedávno proběhl Robotický den a následně ve středu měnší akce - Robotická fidlovačka ve Zlíně, a na obou soutěžích byla kategorie sledovačů, dostal jsem se k myšlence, jak by měla vypadat ideální konstrukce takového robota?
Při bližším zkoumání se ta myšlenka dost větví:
-měl by být robot větší nebo spíš malý
-jaký je ideální rozvor kol
-jaká je vhodná vzdálenost senzoru čáry od osy kol
-kolik je potřeba senzorů, resp jak dlouhý úsek by měl být senzor čáry schopen zachytit
-nejlepší tvar senzoru
-přední opěrný bod - pevný, otočké kolečko, kulička
-hmotnost robotu
-přilnavost kol
a asi i další.

Osobně jsem již pár sledovačů postavil a i když se na internetu dá nejčastěji narazit na názor, že senzor čáry má být co nejdál od kol, aby měl robot čas reagovat, sám začínám mít pocit, že to není až tak pravda a položení senzoru blíž kol má také své výhody. Třeba při stejném kmitnutí/otočení robotu nemusí být senzor tak široký, resp. čím dál je stejný senzor od kol, tím menší zakmitnutí stačí k jeho posunutí mimo čáru. A podle pár měření, nákresů a úvah udává vzdálenost senzoru od kola (případně středu senzoru od kola při kvalitní regulaci) minimální poloměr, který robot projede, aniž by se čára výrazně vychýlila od středu senzoru (jedno kolo stojí).

Dá se vůbec postavit "ideální" sledovač, nebo bude vždy na různých tratích - technická vs rychlá - lepší různé konstrukční provedení?

A ještě samotný detal ke kolům - teoreticky při použití totožného materiálu a rovné pneumatiky bez vzorku - má nějakou výhodu udělat kola širší? K této otázce ale nepište že bude robot lépe zabírat, protože při větší ploše bude lépe držet na podložce. To jak dobře zabere (nebo jestli se "utrhne" a proklouzne) totiž záleží na smykovém tření mezi pneumatikou a podložkou a toto tření záleží pouze na kolmé tlakové síle (hmotnost robotu resp. jeho část) a koeficientu smykového tření, který je pro dané dva materiály konstantní, takže žádná závislost na ploše, to už se učí na základce. Pocitově by asi většina lidí řekla že širší kola budou lepší, ale proč? :-)

Tak pište všechny své postřehy, názory, domněnky, důkazy a podobně, ať to tady trochu rozhýbeme i co se debat o robotech týče ;-)

Zdraví Bodie
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1519
Registrován: 16 úno 2013, 14:26

Re: Sledovač čáry - mechanická stránka

Příspěvek od Dex »

Konečně pořádná diskuze! :)

Pro začátek koukněte na http://www.ostan.cz/LineFollowerSimulator/ kde je moc pěkný simulátor sledovače v Javě.

Zítra odjíždím ale po víkendu přidám fotky svého robůtka. Lištu se senzory má posuvnou právě kvůli experimentům.
"all your robots are belong to us"
robodoupe.cz
Bodie
Příspěvky: 110
Registrován: 05 kvě 2013, 17:52

Re: Sledovač čáry - mechanická stránka

Příspěvek od Bodie »

Tak by bylo zajímavé udělat nějaké testy a vyhodnotit závěry týkající se pozice senzoru ;-)

A Ondrův simulátor samozřejmě znám velmi dobře, dělal jsem si v něm pokusy a tam právě vyšlo jako lepší mít senzor více vepředu a i širší rozvor kol, robot pak jezdil v zatáčkách kratší vzdálenost. Ale při vyšší rychlosti už to moc dobře nejde simulovat a musí přijít realita.
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1519
Registrován: 16 úno 2013, 14:26

Re: Sledovač čáry - mechanická stránka

Příspěvek od Dex »

Ještě jsem ráno stihl udělat dvě fotky mobilem.
MadVelvet01.jpg
MadVelvet02.jpg
Vzdálenost, která je vidět na fotkách byla v mém případě experimentálně ověřena jako optimální :)
"all your robots are belong to us"
robodoupe.cz
MechEdu

Re: Sledovač čáry - mechanická stránka

Příspěvek od MechEdu »

Dobrý den,
opravdu po hodně dlouhé době, dobře položená otázka. Vyřešení celého problému spočívá v celkovém pochopení jednotlivých parametrů simulačního programu. A právě zde leží kámen úrazu, jelikož popsání a pochopení každého z parametrů zahrnuje svým rozsahem studium několika dobrých učebnic.

Nicméně, na začátek analytického návrhu si položme otázku, jak rychle má jed robot, aby danou soutěž vyhrál. Druhým klíčovým parametrem je minimální poloměr zatáčky, kterou má robot danou rychlostí projed, třetím základním vstupním parametrem je doba tzv. PLC scanu, tedy doba trvání jedné programové smyčky ovládacího programu.

Pokud se podíváte na simulaci, je tam parametr „update freqvency“, tento parametr prakticky odpovídá právě času trvání jednoho PLC scanu. Pokud necháte původní hodnotu tedy 30Hz, pak doba PLC scanu je 33ms.

Pro další postup si musíme odpovědět, co vše se musí odehrát v těch 33ms.
1. Načíst hodnoty ze senzorů
2. Vypočítat tzv. akční veličinu regulačního algoritmu
3. Nastavit výkon motorů na základě hodnot akční veličiny
4. Počkat určitou dobu, aby řízená soustava měla čas reagovat na regulační zásah
5. Provést skok na řádek 1

Nyní si dejme domácí úkol, spočítejme maximální rychlost robota, pokud pravidla „hypotetické“ soutěže zní: Trať může mít „kolmou“ zatáčku. Šířka čáry je 12mm.

Máme již hotového robota, jehož PLC scan je 33ms s čárovým senzorem s třemi čidly. Stavy čidel popisují: 010 jsme na středu, 110 kolmá zatáčka vlevo, 011 kolmá zatáčka vpravo. Dále víme, že existuje tzv. Shannonův-Kotelnikův teorém.

Pokračování příště, pokud alespoň jeden diskutující spočítá maximální rychlost, kterou může jed náš „virtuální“ robot, aby neminul zatáčku.
Hodně štěstí … :-)
AlesH
Příspěvky: 323
Registrován: 25 úno 2013, 09:18

Re: Sledovač čáry - mechanická stránka

Příspěvek od AlesH »

V uvedeném příkladu mi zjednodušeně vychází, že maximální rychlost je cca 36 cm/s (12 mm * 30 vzorků/s => 360 mm/s = 36 cm/s). S rezervou by to samozřejmě muselo být trochu méně (cca 30 cm/s). Zlepšit se to dá zvýšením vzorkovací frekvence čtení čidel čáry. Za sebe ale ještě dodávám, že tou spočítanou rychlostí musí jet robot jen na hranici té zatáčky. Na rovinkách může jet stejný robot mnohem rychleji (pokud např. z odometrie ví, že zatáčka je ještě daleko). Podle dobré odometrie dokonce může robot teoreticky zatočit i "naslepo" (ještě před zatáčkou, nebo i po nedetekci "odbočky").

Otázka na optimální mechanické řešení sledovače čáry se mi taky líbí. Ze své zkušenosti musím ještě konstatovat, že reálně hodně záleží i na hladkosti jízdní plochy, protože od určité rychlosti robot prostě začne v zatáčkách klouzat (i když bude přilnavost kol vysoká [a i když vzorkovací frekvence čidel bude pro sledování čáry stačit]). Tohle "mechanické klouzání" se asi analyticky bude řešit dost těžko (alespoň já netuším, jak tu hranici klouzání určit [výpočet je na mne moc složitý, takže raději experimentuji]).
Naposledy upravil(a) AlesH dne 14 čer 2013, 23:21, celkem upraveno 2 x.
Bodie
Příspěvky: 110
Registrován: 05 kvě 2013, 17:52

Re: Sledovač čáry - mechanická stránka

Příspěvek od Bodie »

Tak já bych řekl že může jet (sice "jede", ale infinitiv s "t") maximálně rychlostí menší než 0,1818 m/s.
Pokud totiž vezmu tloušťku čáry jakožto úsek, který robot ujede vpřed, a rychlost zpracování celého cyklu a tyto dva údaje vydělím, získám rychlost 0,3636 m/s. Jenže při této rychlosti by mohlo dojít přesně k hraničnímu sejmutí 010 před zatíčkou a 000 po zatáčce. Když k tomu vezmu Shannon-Kotelnikův teorém, získám dříve uvedenou podmínku.
Nevím však, zda to s tím teorémem bylo myšleno takto či nikoliv, protože při logických úvahách stačí, když se bude robo pohybovat rychlostí pod 0,3636 m/s a mám zajištěno, že se trefí na odbočku a ze senzoru přečte 110 nebo 011. Ovšem než proběhne celá reakce/smyčka programu, tak bude čidlo venku a začne se vracet.

Ať Ti, co teorém neznají, nemusejí hledat, v základu se jedná o to, že když vzorkuju signál, tak vzorkovací frekvence musí být minimálně větší než dvojnásobek frekvence nejvyšší harmonické složky vzorkovaného signálu, abych byl schopný tento signál z naměřených dat obnovit a nedošlo k jeho chybné rekonstrukci. Jednodušeji, mám-li sinusovku a měřím na ní vzorky, musí být vzorkovací frekvence víc než dvojnásobkem frekvence sinusovky, na jednu periodu musí připadat více než 2 vzorky (myšleno dva a chlup). Samozřejmě u digitalizace signálu s epreferuje vzorkovací frekvence alespoň řádově vyšší než frekvence signálu.
Bodie
Příspěvky: 110
Registrován: 05 kvě 2013, 17:52

Re: Sledovač čáry - mechanická stránka

Příspěvek od Bodie »

K tomu klouzání, jedno moje video

http://youtu.be/VxcvV2w7Wg0

v druhé části na rovné trati to jde v zatáčkách trochu vidět.
EDIT: tak zrovna tady to asi moc vidět není, nicméně při ještě vyšší rychlosti projížděl ty zatáčky trochu smykem.
Nicméně stejný robot se stejným programem měl na Robotickém dni problémy a ze začátku skákal ze stolu. Částečně i proto, že právě povrch trati byl hladší, než na kterém testuji.

Co se počítání týče, zkusím nastínění. Robot má určitou hmotnost m,pohybuje se určitou rychlostí v a zatáčí s určitým minimálním poloměrem r. V zatáčce budeme uvažovat dvě, resp. tři síly:
Tíha robotu - Fg = m * g
Odstředivá síla - Fo = m * (v^2) / r
Třecí síla (smykové tření mezi koly a podložkou) - Ft = μ * Fn, kde μ je součinitel smykového tření závislý na materiálech a Fn je kolmá tlaková síla, v našem případě tedy tíhová síla.
Odstředivá síla bude působit směrem ven ze zatášky, třecí síla proti tomuto pohybu. Dokud bude třecí síla vyšší než odstředivá, bude robot držet. Po úpravě je podmínka na rychlost
v < odmocnina( μ * r )

Ale tohle jsou jen velmi jednoduché úvahy. Hádám, že když robot náhle ztratí čáru, obvykle sebou dost trhne a bude potřeba uvažovat další faktory. Nicméně ta základní podstatná myšlenka by tu měla jít skrytě vidět - zvednu-li sílu Fn jinak než hmotností robotu (u formulí je to přítlačné křídlo), řekněme K krát, podmínka bude mít tvar v < odmocnina( μ * r * K )
MechEdu

Re: Sledovač čáry - mechanická stránka

Příspěvek od MechEdu »

Dobrý den,
reakce na příspěvek jsou, tedy má cenu v úsilí pokračovat. Nejprve opravy některých názorů a tvrzení:
Schopnost robota zrychlovat na rovinkách není podmíněna jeho odometrií, ale ve své podstatě schopností senzorického subsystému.

Shannonův-Kotelnikův teorém, dovolím si trochu jednoduší a pochopitelnější výklad. Teorém říká, „abychom byli schopni zaznamenat s naprostou jistotou změny na „vstupu“ musíme tyto vstupy „vzorkovat“ minimálně „dvakrát rychleji“, než může nastat změna vlastní vstupní veličiny.

Příklad na našem robotu. Rychlost robota je 1 m/s (1000 mm/s), šířka čáry 12mm. Robot tedy za 1ms ujede 1mm, abychom 100% zaznamenali kolmou zatáčku, musí „mít“ robot pak PLC scan 6ms nebo menší. Tedy robot by zcela jistě zatáčku minul, musíme tedy spočítat jakou rychlostí může jed (jet?).

Výraz:
Ts PLC scan (ms)
l šířka čáry (mm)
v rychlost robota (rychlost změny vstupní veličiny mm/s)

Tp=l/(2*v)

Úpravou pak v=l/(Tp*2)
Dosazením hodnot z původního zadání:
v=12/(33*2)=0,18 mm/ms což je 18 cm/s což je 0,18m/s

Maximální rychlost našeho virtuálního robota pro danou soutěž je 0,18m/s při PLC scanu 33ms.

Naštěstí organizátoři soutěží toto vše znají, proto kolmé zatáčky do soutěže nedávají. Zatáčky mají tvar kruhové úseče s jasně definovaným minimálním poloměrem, což je důležitá podmínka ke stanovení rozměru čárového senzoru.

Uměl by někdo z diskutujících odpovědět na otázku jaká je vazba mezi minimálním poloměrem zatáčky, rychlostí robota a rozměrem čárového senzoru? Hodnota v simulátoru odpovídá položce „senzor module with“.
Poznámka pod čarou: Robot na videu rozhodně nezatáčí smykem. Úkolem každého kolového vozidla je udržet mezi „pneumatikou“ a vozovkou tzv. statické tření, jakmile dojde již k dynamickému tření, jste ve smyku, což je stav nežádoucí. Toto neplatí u autíček na autodráze, popřípadě u „levných“ čtyřkolek kde úkolem řidiče je stanovit takovou rychlost zatáčení, aby vnější kolo mělo statické tření s vozovkou a vnitřní kolo dynamické. Jinak by nezatočili, jelikož nemají diferenciál.
AlesH
Příspěvky: 323
Registrován: 25 úno 2013, 09:18

Re: Sledovač čáry - mechanická stránka

Příspěvek od AlesH »

No, výpočet sice vypadá efektně, ale obávám se, že nepřesná může být ta základní úvaha o tom, že "perioda" má délku 12 mm. Podle mého názoru se celá "perioda" skládá z 12 mm čáry a 12 mm bílé plochy, takže v takovém případě i při "dvojnásobném vzorkování" mi opět max. rychlost vychází těch cca 36 cm/s.

Domnívám se, že i přesný výpočet by měl odpovídat základní logice a ta mi říká, že do té černé čáry mi stačí se "trefit" jen jednou. Určitě nepotřebuji dvě "černá" měření po sobě, abych zachytil "odbočku".

Vazbu mezi poloměrem zatáčky, rychlostí a rozměrem čidel zatím neznám, ale zamyslím se nad tím :)
Odpovědět