Sledovač čáry - mechanická stránka

Postup stavby, dotazy, úspěchy, slepé uličky a zkušenosti
Odpovědět
Bukino

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

Příspěvek od Bukino »

Rozhodně jsem nemyslel že by jsme měli jít kupovat 3pi :-) pouze mě zaujalo jeho technické řešení. Taky mě mnohem víc baví ten proces, kdyby ne tak už mám 3pi doma ;-)
Že je kruhový senzor horší jsem záměrně nepsal, zatím mě napadly pouze výhody, byl bych velmi rád kdyby mi někdo případně nastínil nějaké nevýhody (jestli nějaké má :-D ). Jako výhody mě napadají že při nájezdu na kolmou zatáčku neztratíme čáru tak rychle a při vhodném poloměru kruhu získáme i lineárnější hodnoty.
Nezabýval se někdo náhodou dvěma senzory na robotu? To by řešilo dost problémů s rychlostí reakcí, detekcí zatáček a polohou robota vůči čáře, ale přidávalo by to hodně na složitosti algoritmu.
Bodie
Příspěvky: 110
Registrován: 05 kvě 2013, 17:52

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

Příspěvek od Bodie »

S kolegou jsme to měli v plánu, ale prozatím se daný projekt se dvěma senzory nepodařilo dotáhnout do konce. Hlavně pak připadá v potaz mnoho způsobů algoritmového řešení a je otázkou, zda má přední senzor sloužit pouze k detekci zatáčky a tudíž zpomalení, nebo k něčemu složitějčímu.
Částečně jsme danou problematiku testovali na Freescale závodním autě, kde jsme používali IR senzor i kameru a z údajů vypočítávali pravděpodobnou polohu čáru v následujících částech trati. Pro pomalou rychlost fungoval tento algoritmus skvěle, avšak ve vyšších rychlostech působil poměrně nestabilně, částečně i kvůli nedotaženému vyčítání hodnot z kamery.
MechEdu

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

Příspěvek od MechEdu »

Dobrý den,
musím také někdy pracovat, tak pro tuto chvíli pouze krátký příspěvek. Nad dvěma senzory, jeden vpředu a druhý vzadu jsem přemýšlel již několikrát, benefity jsou jasné, detekce rovinky a díky její detekci možné zrychlení, pokud za rovinkou je zatáčka (jaké to překvapení :-)) čelní senzor ztratí kontakt, zadní je stále na čáře. Rozteč mezi senzory dává větší čas na možnou reakci (brždění, do zatáčky vede pak robota zadní senzor, který určí směr zatáčení, robot se „srovná na čáru a „velení“ přebírá opět přední senzor).

Nicméně, podle mého existuje „levnější, ve smyslu technickém, nikoliv finančním“ řešení, ke kterému bychom měli postupně dojít.

Rád bych ještě prodiskutoval základní parametry podvozku robota, než se pustíme do dalších úvah. Máme tady šířku zadní nápravy wg, otázka zní, jak nám pomůže, popřípadě zhatí úsilí její velikost? Jak ovlivníme Ts, pokud zmenšíme, popřípadě zvětšíme její rozměr? Je zde taková vazba?

Dále velikost sp, tedy vzdálenost senzoru od zadní nápravy robota. Umíme vyjádřit, jak nám pomáhá?
Děkuji všem diskutujícím, za pěkné příspěvky.
Bukino

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

Příspěvek od Bukino »

Zvětšování šířky nápravy (wg) nám sníží zatížení motorů tedy zmenší jejich mechanickou časovou konstantu, to by znamenalo snížení Ts. Dále se zlepší přesnost otáčení ale sníží se jeho rychlost.
Zvětšení sp zvedne přesnost regulace a budou nutné jemnější regulační zásahy, také nám dovolí si zkracovat zatáčky, ale zvedne nároky na přesnost otáčení podvozku a při velké vzdálenosti mohou nastat problémy s průjezdy zatáček.
Uživatelský avatar
petr-kubac
Příspěvky: 141
Registrován: 24 úno 2013, 14:43
Bydliště: Prostřední Suchá
Kontaktovat uživatele:

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

Příspěvek od petr-kubac »

WOW krásná diskuse - dokonce se složitýými vzorečky

S dovolením bych se na to podíval z jiné strany.
1. co vám brání mít čidel čáry "spoustu" - ATmegy mají 8 AD kanálů - dáte- li jeden pin navíc jako multiplex - můžete snímat klidně 16 kanálů
2. kde je psáno že čidla musí být rovně - klidně si dovedu předsatvit "nahusto" udělaný půlkruh před celou přední "polorovinou" robota.
3. Vzorkování není problém - u AVR mám vyzkouřeno až do 600 kHz - ne že by ta data byla dokonale bez šumu ale pro rozlišení "černá bílá" to úplně stačí - mých hypotetických 16 kanálů bych takhle změřil 37500 krát / sekundu.

Pokud se týče tvaru robota - myslím si že maximum hmoty robota by mělo být co nejblíže těžišti, které má být co nejblíže středu úsečky kde se kola dotýkají podložky.
"radlici " s čidly bych raději moc nevysouval - protože rotační moment roste s 2 mocninou vzdálenosti hmoty od středu rotace - raději bych se snažil vzorkovat rychle jako blázen.
"The best computer language is a solder" - "Nejlepší programovací jazyk je pájka" - Bob Pease
Bodie
Příspěvky: 110
Registrován: 05 kvě 2013, 17:52

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

Příspěvek od Bodie »

To jsou celkem dobré úvahy, nicméně některá ale.
Vysoká rychlost čtení z AD převodníku je super, avšak vědět že se čára vychyluje a reagovat na to je rozdíl a limitující bude ta doba daná slovem "reagovat", takže vlastnosti motorů i schopnost regulátoru. S tím souvisí vzdálenost senzoru čáry od osy kol - čím dál bude, tím sice větší moment setrvačnosti, nicméně bavíme se o +- 2 mm tlustém cuprextitu a pár věcech, takže v porovnání s motory a bateriemi to moc moment setrvačnosti neovlivní, nicméně se vzdáleností bude růst doba, kterou mám na reakci, pokud beru, že nemají z čáry vyjet hnací kola. Když při "dlouhém krku" (senzor dalko před koly) vyletí senzor mimo čáru, nicméně robot začne zatáčet dřív, než budou kola nad zatáčkou, ujede robot ve výsledku kratší vzdálenost než kdyby byl senzor hned u kol a robot perfektně sledoval čáru a nevyjížděl z ní. Jenž čím dál je senzor, tím více se projevuje jakékoliv kmitnutí na výchylce čáry jím naměřené a je složitější vyladit regulátor. Také při "dlouhém" krku narazíte na problém s vracecí zatáčkou s malým poloměrem (třeba poloviční oproti délce krku) nebo s technickou pasáží. Na technické pasáži je lepší senzor, který je blíž kolům a motory s dobrou dynamikou.

Za předpokladu řízení točení kol jen v jednom směru, čili žádné kolo necouvá, podle mých postřehů šířka nápravy udává minimální poloměr, na kterém je robot schopný zatáčet sám o sobě, nicméně vzdálenost senzoru od zadní nápravy (případně středu senzoru od vnitřního kola v zatáčce) udává minimální poloměr čáry, nad kterým je robot schopný jet a držet se nad čárou senzorem.
Tuto skutečnost ještě zkusím trochu rozpracovat a nakreslit si, jestli dojdu třeba i k nějakým vztahům a matematickým zákonitostem.
Uživatelský avatar
petr-kubac
Příspěvky: 141
Registrován: 24 úno 2013, 14:43
Bydliště: Prostřední Suchá
Kontaktovat uživatele:

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

Příspěvek od petr-kubac »

Začínám tušit kde je pes zakopaný :
Pokud čidlo čáry poskytuje jenom binární informaci typu 001 = čára je pod levým čidlem - tak nemá smysl skenovat častěji než při dané rychlosti robota odpovídá 1/2 rozměru samotného čidla ( viz zde uvedená Kotelnikova / Shannonova / Nyquistova podmínka )
pokud je čidlo zapojeno analogově - dá se vyladit tak aby při zakrytí poloviny čidla černou čárou dávalo signál 128 a při zakrytí celého čidla dávalo signál 0 a na bílé podložce 256 - pak stojí za to skenovat s frekvencí 1/512 rozměru čidla při maximální rychlosti

Ne že bych si chtěl přihřívat polívčičku - ale v takovém případě stojí za to i aby čidla byla natolik nahusto aby více než jedno vidělo čáru a taky stojí za to z čidel počítat těžiště čáry. - článek je zde i s legračním obrázkem mého prastarého robota stavěného původně pro podobné experimenty.
Naposledy upravil(a) petr-kubac dne 18 čer 2013, 18:40, celkem upraveno 1 x.
"The best computer language is a solder" - "Nejlepší programovací jazyk je pájka" - Bob Pease
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1606
Registrován: 16 úno 2013, 13:26

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

Příspěvek od Dex »

Já jen dodám, že článkem, který Petr napsal, jsem se inspiroval a dokonce mi to i fungovalo. K dokonalosti to má ale ještě daleko (což není chyba článku! :D).
Ovšem kdyby mne nebavilo "ladit to" tak bych si koupil toho robota od Pololu a hotovo :)
"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 já čáru vyhodnocuju podobně jako je v tom článku, sice s nějakými rozdíly, ale ne tak velkými.
Myslím si ale, že číst s frekvencí, aby byla uražena při dané rychlosti dráha rovna 1/512 velikosti čidla, není to nejlepší řešení. Když to dám do reálu, chci, aby robot jezdil po čáře rychlostí až 1 m/s, QRDčko nebo CNYk má cca 6 mm šířku, tak bych měl číst pozici čáry co 0,01 mm ujeté dráhy, čemuž odpovídá při zvolené rychlosti perioda čtení 0,01 ms. To už je nesmysl, ne? Je pravda, že v této situaci by se čára odchýlila od předchozí pozice maximálně o 0,01 mm, ale na takovou přesnost se s těmito senzory fakt nedostaneme a i když by se na takovouto výchylku reagovalo motorem dobře (a nebo ne, blbost, ten regulátor by s tím nejspíš ani nic neudělal, ba dokonce by měl obsahovat určité pásmo necitlivosti na malé změny), tak reakční doba motoru na danou malou změnu by měla být rovna získané periodě 0,01 ms.

Co se rozměrů robota týče, zkoušel jsem si něco kreslit, a za předpokladu, že kolo může maximálně stát, nikoliv couvat, a snahou je, aby robot měl čáru uprostřed senzoru, je kritickým údajem
odmocnina z ( (0,5 * rozvor nápravy) ^ 2 + (vzdálenost senzoru čáry od nápravy) ^ 2 )
To jest vzdálenost od stojícího vnitřního kola při zatáčení ke středu senzoru. Pokud bude tento údaj roven minimálnímu poloměru zatáček, tak by měl být robot schopný (uvažujme zatím nižší rychlosti) vpořádku projet vracecí zatáčku, serpentiny,... a držet přitom čáru na středu senzoru.
Když je tento údaj vyšší, začne především robot najíždět na čáru tak, že může dojít až k zakrytí všech čidel čárou a to by nejspíš mělo za následek určitou chybu nebo reakci robota velící ať jede rovně.

A mimochodem, kolik je 3pí číselně? Takových nějakých 3*3,141592653589... (nebudu to rozepisovat na těch 40 míst co umím :D ) je to cca 9,475. Vezmeme tento údaj v centimetrch jako vzdálenost kol, polovinu tohoto údaje pak jako vzdálenost senzoru od kol (beru to podle té stavebnice). Pro dříve zmíněný kritický údaj získáme hodnotu 6,66 (lehce ďábelské číslu? :D). To by znamenalo, že při průměru robota o hodnotě 3pí se hodně přiblížím ideálnímu mechanickému konceptu, dle kritéria z mých myšlenek. Když uvážíme, že senzory nejsou úplně na obvodu a kola jsou také zapuštěná, bude to ještě o něco lepší.
AlesH
Příspěvky: 323
Registrován: 25 úno 2013, 08:18

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

Příspěvek od AlesH »

Přiznám se, že k rozvoru kol a předsazení čidel mne nic rozumného nenapadá a dokonce ani přes Google jsem nic nenašel. Intuitivně je mi jasné, že tyto parametry budou mít vliv na chování robota, ale nedokážu to nijak popsat. Doufám, že mi tu poradí někdo zkušenější a znalejší.
Odpovědět