Balancující robot
Napsal: 24 čer 2015, 11:44
Abych nepsal do různých otázek tak založím toto téma.
Můj robot by měl umět balancovat na dvou kolech, umět používat kameru a pomocí opencv řídit směr a další věci.
K tomu mám doma :
Kostru z překližkových desek které jsou provrtané v rozích kudy vede šroubovice pomocí které se nastaví kde přesně bude jednotlivé patro.
Patra budou 4 : První je pro motory a gyro (zespodu). Z vrchní strany budou akumulátory. Druhé patro zespodu bude mít elektrické rozvody, tj. stabilizaci napětí a rozvody včetně napájení aku a vypínačů. na horní straně pak bude CPU a celé řízení. Třetí patro je prozatím uvažováno jako stabilizační (aby celá kostra líp seděla) ale v plánu je i ruka na zvednutí robota. Čtvrté patro je prozatím obsazeno jen z vrchu kde je pan/tild a řízení serv.
Jako motory jsou použity bipolární krokové motory NEMA17 které jsou v držácích. Mezi nimi je umístněn MPU-6050.
Akumulátory budou teprve rozhodnuty. Buď v páru 2x 3článek LiPo a nebo 12V gelový akumulátor.
Převodníků elektřiny bude více. pro CPU slouží 5V/3A 2xUSB. Pro zbytek elektroniky pak 5A konvertor napětí nebo případně tento. Rozvody jsou zapojené do čokoládek a využity jsou klasické vypínače.
Jako CPU je využito Raspberry PI B+ které s OpenCV se bude starat o "mozek". Zároveň bude sloužit jako komunikační cesta svou wifi. Na RPi pak bude štít který přidá funkcionalitu arduina které bude řídit balanc a motory. Pro motory pak bude použit štít který bude řídit motory pomocí dvou driverů A4988. Pro jejich chlazení připravuji pasivní chladiče z můstků základní desky počítače. neměli by se tak přehřívat.
Pan/tild čili krk a hlavu řídí dvě 9gr serva zapojená do 16 kanálového řadiče pro řízení modelářských serv které cestou I2C budou řídit otáčení hlavou která bude sestavena z desky tacpronu s dvěmi kukadly z HC-SR04 a mezi nimi bude čočka kamery.
V současnosti si hraji s motory připojenými na arduino uno a jeho cnc shield se dvěmi A4988. Včera pošta našla a dodala kameru ale se základním tj.10 cm ribbon kabelem. To jsem nevychytal takže čekám na 50cm dlouhý kabel. Radši delší než kratší. Mám kódy pro čtení hodnot z MPU-6050 včetně výpočtu kalmanova filtru. Mám i knihovnu včetně kódu pro řízení PID procesu, ale zatím se v tom nějak nevyznám tzn. že nechápu jaké hodnoty mám do knihovny PID poslat a co mi z toho vyleze. Motory se pomocí stepper knihovny řídí jednoduchými příkazy které zahrnují jednoduché parametry : akcelerace, maximální rychlost, o kolik kroků, jakou rychlostí. Zatím co jsem našel vzorové řešení tak ty byly pro DC motory kdy PID proces musel stále dorovnávat stylem dopředu/dozadu, přidej/uber balanc robota. S kamerou jsem si včera trochu hrál, dnes si budu zkoušet steamování videa do počítače tj. abych viděl to co vidí robot. Potřebuji totiž raspberry s kamerou přemístit někam kde je víc světla a ne roh kde mám počítač. A tam mu naštelovat čočku. Případně najít kde se zapíná nějaký autofokus. Nicméně tato kamera umí vidět i na hodně daleko. Jakmile tohle rozchodím tak si budu zkoušet napři facedetect. A pak detekování předmětů. Rozeznávání barev a detekování. Kódy v pythonu mám, chyběla jen kamera.
Až bude umět robot stát, otáčet se a jezdit tak mu přidám možnost umět jezdit podle čáry. K tmu buď použiju opencv (ale to by bylo matematicky náročné) a nebo použiju 4 kanálový detektor čáry. K sledování úbytku v baterii pak bude použit měřič napětí na základě kterého pak spočítám kolik toho zbývá v baterce. Podle maximálních proudů pak rozhodnu jestli bude v robotovi stačit 12V gelovka (mám 4,5Ah, 7Ah) a nebo jestli bude třeba použít lipolku. V případě gelovek by pak mohl robot sám jezdit do nabíjecí stanice (měl by dvě aku.K tomu bych, ale potřeboval dost přesný dálkoměr.
Ten štít pro raspberry nemají už 3tí týden na skladu, už jsem si tam i stěžoval. Slíbili mi, že jakmile se objeví na skladě tak první hned půjde ke mě. Štít pro motory je na cestě do Evropy. Doufám, že se na poště neztratí. Neměl by, platil jsem u něj poštovné. Ale s českou poštou nemám dobré zkušenosti.
Můj robot by měl umět balancovat na dvou kolech, umět používat kameru a pomocí opencv řídit směr a další věci.
K tomu mám doma :
Kostru z překližkových desek které jsou provrtané v rozích kudy vede šroubovice pomocí které se nastaví kde přesně bude jednotlivé patro.
Patra budou 4 : První je pro motory a gyro (zespodu). Z vrchní strany budou akumulátory. Druhé patro zespodu bude mít elektrické rozvody, tj. stabilizaci napětí a rozvody včetně napájení aku a vypínačů. na horní straně pak bude CPU a celé řízení. Třetí patro je prozatím uvažováno jako stabilizační (aby celá kostra líp seděla) ale v plánu je i ruka na zvednutí robota. Čtvrté patro je prozatím obsazeno jen z vrchu kde je pan/tild a řízení serv.
Jako motory jsou použity bipolární krokové motory NEMA17 které jsou v držácích. Mezi nimi je umístněn MPU-6050.
Akumulátory budou teprve rozhodnuty. Buď v páru 2x 3článek LiPo a nebo 12V gelový akumulátor.
Převodníků elektřiny bude více. pro CPU slouží 5V/3A 2xUSB. Pro zbytek elektroniky pak 5A konvertor napětí nebo případně tento. Rozvody jsou zapojené do čokoládek a využity jsou klasické vypínače.
Jako CPU je využito Raspberry PI B+ které s OpenCV se bude starat o "mozek". Zároveň bude sloužit jako komunikační cesta svou wifi. Na RPi pak bude štít který přidá funkcionalitu arduina které bude řídit balanc a motory. Pro motory pak bude použit štít který bude řídit motory pomocí dvou driverů A4988. Pro jejich chlazení připravuji pasivní chladiče z můstků základní desky počítače. neměli by se tak přehřívat.
Pan/tild čili krk a hlavu řídí dvě 9gr serva zapojená do 16 kanálového řadiče pro řízení modelářských serv které cestou I2C budou řídit otáčení hlavou která bude sestavena z desky tacpronu s dvěmi kukadly z HC-SR04 a mezi nimi bude čočka kamery.
V současnosti si hraji s motory připojenými na arduino uno a jeho cnc shield se dvěmi A4988. Včera pošta našla a dodala kameru ale se základním tj.10 cm ribbon kabelem. To jsem nevychytal takže čekám na 50cm dlouhý kabel. Radši delší než kratší. Mám kódy pro čtení hodnot z MPU-6050 včetně výpočtu kalmanova filtru. Mám i knihovnu včetně kódu pro řízení PID procesu, ale zatím se v tom nějak nevyznám tzn. že nechápu jaké hodnoty mám do knihovny PID poslat a co mi z toho vyleze. Motory se pomocí stepper knihovny řídí jednoduchými příkazy které zahrnují jednoduché parametry : akcelerace, maximální rychlost, o kolik kroků, jakou rychlostí. Zatím co jsem našel vzorové řešení tak ty byly pro DC motory kdy PID proces musel stále dorovnávat stylem dopředu/dozadu, přidej/uber balanc robota. S kamerou jsem si včera trochu hrál, dnes si budu zkoušet steamování videa do počítače tj. abych viděl to co vidí robot. Potřebuji totiž raspberry s kamerou přemístit někam kde je víc světla a ne roh kde mám počítač. A tam mu naštelovat čočku. Případně najít kde se zapíná nějaký autofokus. Nicméně tato kamera umí vidět i na hodně daleko. Jakmile tohle rozchodím tak si budu zkoušet napři facedetect. A pak detekování předmětů. Rozeznávání barev a detekování. Kódy v pythonu mám, chyběla jen kamera.
Až bude umět robot stát, otáčet se a jezdit tak mu přidám možnost umět jezdit podle čáry. K tmu buď použiju opencv (ale to by bylo matematicky náročné) a nebo použiju 4 kanálový detektor čáry. K sledování úbytku v baterii pak bude použit měřič napětí na základě kterého pak spočítám kolik toho zbývá v baterce. Podle maximálních proudů pak rozhodnu jestli bude v robotovi stačit 12V gelovka (mám 4,5Ah, 7Ah) a nebo jestli bude třeba použít lipolku. V případě gelovek by pak mohl robot sám jezdit do nabíjecí stanice (měl by dvě aku.K tomu bych, ale potřeboval dost přesný dálkoměr.
Ten štít pro raspberry nemají už 3tí týden na skladu, už jsem si tam i stěžoval. Slíbili mi, že jakmile se objeví na skladě tak první hned půjde ke mě. Štít pro motory je na cestě do Evropy. Doufám, že se na poště neztratí. Neměl by, platil jsem u něj poštovné. Ale s českou poštou nemám dobré zkušenosti.