Robot Pepa 2

Nový pokusný animatronický robot pro pobavení dětí a hlavně tatínka. Robot Pepa 2 je také ten hlavní důvod proč články na Robozoru poněkud zamrzly. Prostě jsem si hrál s novou hračkou a na Robozor nebyl čas. Pokusím se něco dalšího přidat.

Tak jsem se pustil do stavby robota Pepy II. Stále pro něj nemám lepší jméno. Inspirován projektem PINO (http://www.openpino.org/) jsem se pustil do stavby animatronického robota, který se svou konstrukcí aspoň trošku podobá člověku. Stáhnout si video robota PINO si můžete i tady (4,7Mb). Říkal jsem si, že by zatím stačil nemobilní společník se kterým bych si mohl hrát na stole. Rozebral jsem původního Pepu I a sáhl ke zbytkům stavebnice Merkur.
Po několika víkendových pokusech se základním skeletem jsem postavil hrubou kostru a rozhodoval se pro „stupně volnosti“. Celkem na to padlo zatím 15 servomotorů Hitec 322 Eco. Můžete je koupit třeba tady:
http://www.direkt-obchody.cz/hitec_serva.htm,
cena je v době, kdy píšu tento článek, 359,- včetně daně.
Počítám ještě s rozšířením možností „rukou“ robota. Ale zatím rozchodím co mám. Serva mají „sílu“ asi 3kg na centimer a to není mnoho. Aby robot neměl problémy s pohybem, musel jsem dost počítat a přestavovat mechanickou konstrukci. Nakonec přišlo na lámání chleba. Buď koupit silnější (a značně držší 2 až 3 tisíce) serva, nebo uchytit zadeček robota k podstavě a tak odlehčit spodní části robota. Druhá varianta zvítězila. Robot ztratil mobilitu úplně, ale zato může vykopávat obě nohy jako správný karatista aniž ztratí rovnováhu.

Serva jsou řízena do série zapojenými dvěma servokontroléry SOS-AT (http://www.rotta.cz/). Takto mohu jednou sériovou linkou řídit najednou až 16 servomotorů. Napájení servomotorů je nutno mít oddělené od napájení servokontrolérů. Na serva používám 1,5 ampérový regulovatelný zdroj a musím říct, že běží opravdu na doraz. Musím někde sehnat aspoň 3 ampéry. Servokontroléry napajím 4 x 1,2V (1600mA) akumulátorů. Jejich odběr je malý.

Nakonec přišel na řadu software. Ovládání serva ve Visual Basicu je vcelku snadné. Stačí do formuláře vložit comm control pro komunikaci se sériovým portem a provést jeho nastavení:

Private Sub Form_Load( )
MSComm1.Settings = „9600,N,8,1“ ‚Rychlost=9600, Žádná parita, 8-bits data, 1 stopbit.
MSComm1.CommPort = 1 ‚Nastaví comport číslo 1
MSComm1.PortOpen = True ‚Otevře port pro použití
End Sub

Potom stačí poslat instrukce na jednotlivá serva:

Private Sub Move()
MSComm1.Output = Chr$(255) ‚Pošle synchronizační znak
MSComm1.Output = Chr$(0) ‚Pošle číslo serva pro který bude následující příkaz. Nezapomínejte, že serva se značí 0-7 (celkem 8 serv). Toto je tedy pro první servo.
MSComm1.Output = Chr$(170) ‚Pošle posici serva. Hodnoty mohou být od 0 do 254.
End Sub

Serva mohou mít 90 stupňů (45st na každou stranu) nebo i 180 stupňů (90st na každou stranu). Dle typu. Hitec 322 Eco serva, která používám já, mají 180 stupňů.

S tímto základem si můžete postavit svůj vlastní animatronický software. Nicméně pro někoho může být zajímavé se podívat po již hotových produktech a tady je jejich přehled tak jak jsem je objevoval na inetu.

http://www.howtoandroid.com/RobotControl-PerlTk.html
Program pro linux (velmi jednoduchý) napsaný v PerlTK.

http://members.aol.com/iamflb/Sweet_1.htm
Sweet servo 16 vypadalo zajímavě ale nedostal jsem se k němu.

http://www.rentron.com/Robo-Ware.htm
Mám a současnou verzi nedoporučuji. Za tu cenu dostanete i lepší.

obr 1

http://www.seetron.com/ssc_an1.htm
Jednoduchá knihovna která používá výše uvedený algoritmus.

http://www.brookshiresoftware.com/
VSA mám a je nejlepší jaký jsem zatím našel. Včetně exportu dat na který dělám free přehrávač. Více se o něm zmíním později.

obr 2
Animatronická zařízení se hojně užívá ve filmovém průmyslu. Pomocí ní je možno rozpohybovat různé příšerky. Dobrým startem jak získat více informací o animatronice a projektech kolem ní je následující stránka.
http://www.androidworld.com/prod18.htm

Existuje hodně velice zajímavých projektů postavených na této technologii. Mne opravdu uchvátilo „dřevěné zrdcadlo“.
http://formen.ign.com/news/24815.html.

Zrcadlo používá:
830 serv
108 kontrolerů
11 jich je na 1 comu
PC ma 2 comporty onboard + 8 outboard
refresh je 15obrázku/s
byl potreba 100 amerovy zdroj na 5V!
na naše peníze by jste jen za materiál utratili asi 400tisíc (neuvažuji množstevní slevy).

Pro to, aby jste alespoň trochu efektivně animovali stvoření s 15ti servy, nestačí posílat jednotlivé polohy serv přímo z kódu. Je dobré mít nějaký editor tak, aby byl vidět rozsah pohybů na časové ose. Ideálně v synchronizaci s nějakou hudbou. Na toto se velmi dobře hodí sofware od Brookshire software jak jsem doporučoval výše. Jejich VSA (Visual servo automation) za 55,95$ je docela dobře udělaný s možnostmi, které přidávají, oproti konkurenci, na hodnotě. Například synchronizaci s hudbou mají i jiné produkty, ale asi jen tento synchronizuje i dnes rozšířené mp3. Dále je kompatibilní nejen s kontrolerem MiniSSC (to je ten náš), ale i s Pontech SV203 http://www.pontech.com/products/sv200bc/index.htm. Nakonec s ním můžete ovládat i Mondotronics‘ Serial Motor Interface (SMI) http://www.robotstore.com/ (což je interface pro DC motorky), protože využívá stejné instrukce jako MiniSSC.
Možná by se mohl najít někdo, kdo by takový a možná i lepší animatronický software naprogramoval jako freeware či jako opensource projekt. Nakonec je pro mne ideální vlastnost VSA a totiž export jednotlivých příkazů do csv souboru. Bude pak snadné pro tento soubor udělat jednoduchý přehrávač a ten začlenit přímo do softwaru robota.

Ještě něco málo k servokontrolérům, které jsou kompatibilní s MiniSSC. Návod včetně programu k jednočipu najdete na http://vlastikd.fbi.cz/bastl/servocontrol.htm. Pokud chcete koupit již hotové zařízení můžete se obrátit na http://www.rotta.cz, kde za cenu cca 700,- prodávají AT-SOS (což je adresovatelný servokonrolér pro 8 serv kompatibilní s MiniSSC). Pokud jste někde napůl cesty, kdy si to chcete bastlit sami a nejste zrovna kamarádi s programováním jednočipů zkuste http://www.cyberchip.bezstarosti.cz/. Zde je další alternativa zapojení a autor vám pošle (podle svých slov na stránce) naprogramovaný Atmel za 350,-. Protože se jedná o vcelku rozšířený standard (serva), je informací o řízení serv na inetu docela dost.

Ještě několik obrázků robota Pepy 2:

obr 4

obr 5

obr 6

obr 7

obr 8

obr 9

obr 10

obr 11

obr 12

obr 13

obr 14

obr 15

obr 16

obr 17

obr 18

obr 19

obr 20

obr 21