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

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

Příspěvek od Bodie »

Jasně, je fajn že se dají obdobné věci koupit, na druhou stranu je děsně lákavé si to vyzkoušet ručně :-)
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

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

Příspěvek od jrt »

Však jsme vám nabídl spoustu alternativ pro vlastní výrobu... ;)
jrt
Bodie
Příspěvky: 110
Registrován: 05 kvě 2013, 17:52

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

Příspěvek od Bodie »

Však jsem to ani v nejmenším nepopřel.
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

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

Příspěvek od jrt »

Ještě to tak! :D :D :D
jrt
MechEdu

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

Příspěvek od MechEdu »

Zdravím,
dovolte, abych shrnul diskusi z minulých dnů. Shodli jsme se na tom, že maximální rychlost robota Vr (m/s) je závislá na tzv. PLC scanu, nebo jinak řečeno času trvání hlavní programové smyčky Ts (s), šířky čáry l (m) a poloměru zatáčky r (m).

Bodie odvodil výraz, kde závislost těchto proměnných je vyjádřena. Zde bych Bodiho, požádal, aby výraz zobecnil, kdy l bude ve výrazu nominální šířka čáry.

Pro další postup, jsem si dovolil nakreslit obrázek, který pojmenovává další parametry, které jak doufám budeme nadále zkoumat a hledat mezi nimi vazby.

Kde:

Dk průměr kola (m)
wg šířka zadní nápravy (simulace Wheel gauge) (m)
sp vzdálenost senzoru (simulace Senzor position) (m)
sw šířka senzoru (simulace Senzor module width) (m)
d rozteč čidel senzoru (m)
b vzdálenost osy ostruhového kolečka od zadní nápravy (m)

V dalších dnech budeme hledat závislost mezi geometrií robota a dobou Ts. Pro jistotu zopakuji algoritmus, který ovládá našeho robota:

1 Načti hodnoty ze senzoru
2 Vypočti akční veličinu regulačního algoritmu
3 Nastav výkon motorů na základě hodnot akční veličiny
4 Počkej určený čas, aby řízená soustava měla čas reagovat na regulační zásah
5 Opakuj od řádku 1

Řádky 1-3, nemají s geometrií robota nic společného, nicméně čas, který budeme muset počkat, než se regulační zásah projeví, určitě ano. Tento čas bude tvořit podstatnou část času trvání Ts.

Tak do práce, nebojte se diskutovat, sdělovat „mezi“ výsledky, domněnky, názory. Jedná se o týmovou práci.
TriBotForum.png
Bukino

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

Příspěvek od Bukino »

Dle mě nejvíce záleží na rychlosti na reakční zásah, čím rychleji budeme schopni zareagovat tím kratší dobu budeme muset na konci smyčky čekat a tím větších rychlostí můžeme (dle vašich úvah ;-) ) dosáhnout. Maximální rychlost ale bude stále omezená odstředivou silou v zatáčce, je rozdíl otočit a zastavit na desetikoruně 100 nebo 500 gramů. Rychlost regulačního zásahu je ovlivněná rozložením hmoty kolem středu otáčení robota, tzn. když dáme baterku mezi motory do středu otáčení tak docílíme mnohem rychlejších reakcí než když bude daleko od středu otáčení. Další dle mě důležitá věc je tvar senzoru čáry, jestli jsou čidla v přímce nebo rozmístěna na kružnici. Při umístění na kružnici se docela dost změní celá geometrie robota, třeba potřebné rychlosti pro detekci čáry a (ne)linearita hodnot ze senzoru.
A na robotickém dni mě zaujala geometrie robota 3pi od fy Pololu, myslím si že nemá moc daleko k ideálnímu linefolloweru.
MechEdu

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

Příspěvek od MechEdu »

Dobrý den,

ano, 3PI robot je podle mého názoru na čáře nepřekonatelný, nicméně než si všichni začnou kupovat 3PI robota, je potřeba si odpovědět na jednu zásadní otázku, co nás na hobby robotice baví? Je to plácnout robota na start a koukat, jak to za 20s to bezpečně projede, mnohdy s "defaultním" sw, nebo proces objevování, zkoumání a poznávání?

Mám za to, že 99% lidí to dělá právě z důvodu poznání, ať už metodou pokus/omyl, nebo analytickou, ale daleko více než "cíl" je baví "proces". Tedy zde platí "i cesta může být cíl".

Mimo jiné, doufám že tuto diskusi dotáhne do konce, potvrdíme mé tvrzení, že název 3PI, není odkaz na "obvod" robota, ale daleko důležitější sdělení...
Bodie
Příspěvky: 110
Registrován: 05 kvě 2013, 17:52

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

Příspěvek od Bodie »

Tak v příloze je upravený výpočet pro obecnou tloušťku čáry l.

Určitě musím souhlasit že mě z velké části baví stabva a zkoumání zákonitostí co,proč,jak, ale bez nějakých výsledků zase člověk mnohdy ztratí nadšení.
Navíc je hloupé být porážen defautním programem :D

No, toliko malá odbočka. Co se tvaru senzoru čáry týče, tak bych nesouhlasil s tím, že kruhový je horší nebo náročnější než rovný. Mnoho robotů při zatáčení nereagují tak, že by úplně zastavili vnitřní kolo přesně ve chvíli, kdy je čára na senzoru jakoby rovně před kolem. V takovémto případě by totiž byla u rovného senzoru zachována konstantní vzdálenost od osy, kolem které se bude robot otáčet a vše by bylo vpořádku. Pokud se ale tedy chová jinak, tak bude linearita údaje ze senzoru čáry spíš lepší u zakulaceného senzoru. Navíc bude-li zakulacen ve stejném poloměru, jako je poloměr zatáček, tak při najetí do ní bude čára stále ještě nějaký úsek kolmá na senzor, i když jinde než v jeho středu a při vyhodnocování například vidím čáru stejně širokou.
celkově pokud bude senzor čáry dost široký a rovný, bude údaj z něho více nelineární a čára bude zakrýva větší plochu.

A kromě kromě rozložení hmoty na robotovi, neboli momentu setrvačnosti (záleží na hmotnosti jednotlivých částí a jejich vzdálenosti od rotační osy robotu, která se může pohybovat po ose hnacích kol i mimo samotného robota), bude rychlost reakce záviset také na motorech a jejich mechanické časové konstantě, která v základu dává náhled na dynamické vlastnosti motoru, jelikož po přivedení skokové změny na motor (připojení napětí např.) dojde k ustálení rychlosti motoru za dobu tří až pěti časových konstant (čím déle, tím přesněji). Přo zatížení motoru se určitě prodlouží (a obvykle teda k motoru nezískáte perfektní dokumentaci s těmito parametry), ale dá se odměřit, pokud máte na robotovi enkodéry. V plné výbavě (baterie, všechny komponenty,...) položíte robota do prostoru, zapnete motory na určitou rychlost (třeba naplno), čítáte impulzy z enkodérů a co např. milisekundu z nich vyhodnocujete rychlost motoru. Tyto údaje je pak potřeba ukládat či zasílat do PC a následně z nich vytvořit graf v závislosti na čase. Teď asi trochu moc odborný termín, ale pokud je robot soustavou prvního řádu, na vykreslené charakteristice není inflexní bod a časovou konstantu určím tak, že z počátku vedu tečnu k charakteristice a v místě, kde protne hodnotu, na které se později rychlost ustálí, spustím kolmici na časovou osu a mám časovou konstantu.
Obrázek
U soustav vyšších řádů je to složitější a mají více časových konstant, nicméně z průběhu a ze znalosti času, ve kterém jste měřili rychlost motoru (tedy zde 1 ms) můžete usoudit, za jak dlouho se ustálí rychlost motoru nebo po jaké době od přivedení napětí se na něm projeví alespoň nějaká změna.

Po prozkoumání těchto vlastností robotu lze určit nebo získat alespoň představu o tom, jak krátký může být jeden řídící cyklus. Ono můžu do motoru posílat jiné pwm 10x za ms, ale určitě to nebude mít žádný efekt a robot nebude reagovat rychleji, než když budu pwm měnit co milisekundu nebo ještě více.
Důležité je to také při používání regulátorů na rychlost kol jakožto podřazené regulační smyčky, kdy perioda vykonávání práce regulátoru a mechanické časové konstanty motoru určují možnou velikost regulačních konstant (aneb když budu regulátor pouštět co ms ale změna v rychlosti motoru se projeví výrazněji až po 100 ms, pusím mít zvolit nižší hodnotu P než když motor zareaguje do 10 ms)
Ale to už od mechaniky odbočujeme k řízení a regulaci a to snad jindy ;-)
Přílohy
zatacka2.jpg
AlesH
Příspěvky: 323
Registrován: 25 úno 2013, 09:18

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

Příspěvek od AlesH »

Prozkoumal jsem zatáčku nezávisle a dospěl jsem k naprosto stejnému vzorečku, jako Bodie. Zkusil jsem si ten vzorec zadat v excelu do tabulky a chová se to podle očekávání. Možná maximální rychlost je tím vyšší, čím je vyšší vzorkovací frekvence, čím je větší poloměr čáry a čím je čára širší. Závislost na vzdálenosti bočního čidla od středu (hodnota "d") je ale nelineární. Maximum je přesně na polovině tloušťky čáry (tedy když se boční čidlo za normálních okolností [jízda rovně po středu čáry] dotýká okraje čáry. Číselné výsledky tabulky a odpovídající graf dávám do přílohy.

Jinak obecně souhlasím s názorem, že tohle rozebíráme možná až příliš detailně, protože pro vítězství jsou u sledovače čáry důležitější jiné parametry, než je "geometrie". Ale OK, proberme to kompletně.

Zatím si z této diskuze beru dva závěry:
1. vzorkuj čidla čáry jak nejrychleji můžeš (pak ti neutečou žádné změny polohy čáry ani ve vysoké rychlosti robota)
2. rozteč bočních čidel udělej tak, aby byla těsně přes šířku čáry (tak zaznamenáš zatáčku i ve vysoké rychlosti robota)
zatacka-graf1.2c.png
Naposledy upravil(a) AlesH dne 18 čer 2013, 07:50, 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 »

Moc hezky udělaný graf :-)

akorát k tomu druhému bodu, předpokládám, že to bude fungovat když z čidel budeme číst pouze digitálně. Osobně na sledovači používám analogové vyhodnocování hodnot a prozatím jsem čidla dával jedno vedle druhého. QRDčka jsou široká cca. 6 mm, takže je to i vzdálenost čidel, relativně ideální a jelikož se vyhodnocuje analogově, při změně poměru černé a bílé pod čidlem to zjistím, takže i při nájezdu do zatáčky.

Celkově jsme dospěl k závěru, že algoritmus při sledování čáry zmůže hodně. Ale při vysoké rychlosti sledování a dost vyladěném algoritmu se do hry vracejí mechanické parametry robotu, takže se určitě někdy bude hodit probrat je pěkně od začátku :-)
Odpovědět