To je onda malo slozeniji problem, jer upravljanje ruke se vrsi pomocu tri motora.
Znaci porebno je da se formulise po funkcija za rotaciju svakog zgloba ( fi1(t), fi2(t) i fi3(t)), ali tako da se krajnja tacka krece po zeljenom zakonu puta. Sa jedne strane tri funkcije (koje sam napisao u zagradi), a sa druge dvije (x=x(t) i y=y(t)). Znaci da postoji vise rjesenja funkcija za rotaciju. U ovakvom mehanizmu ruka robota moze da se krece po istoj putanju za vise kombinacija funkcija rotacije. Vjerovatno se matematicki moze doci do tih funkcija u zavisnosti od zadatih x=x(t) i y=y(t). Takodje, u nekom trenutku jedan zglob moze i da miruje, pa da se krece, pa ponovo u drugom trenutku da miruje, to jest da funkcija njegove rotacije bude prekidna. Pitanje je mogu li se zadavati prekidne funkcije u Catia (to ne znam).
Ako je potrebno da se zeljena tacka na ruci robota krece odredjenom trajektorijom mozes problem rijesiti tako sto ces nacrtati trajektoriju i propisati vezu Point Curve Joint
izmedju zeljene tacke na ruci i trajektorije.
Ta veza moze da se "tjera" komandom tako sto ces cekirati Lenght Driven. Zeljenu trajektoriju y=f(x) iz zakona kretanja x=x(t) ; y=y(t) dobijes kada iz obje jednacine izvuces na lijevu stranu t , a potom izjednacis desne strane jednacina.
Komandi veze zadajes funkciju na isti nacin. To je u stvari funkcija s=s(t) Ojlerovog prirodnog koordinatnog sistema.
Ne mogu ti pomoci ako ti je bitno da se brzina tacke i ubrzanje mjenjaju po zakonu x=x(t) ; y=y(t) iz koga se dobila trajektorija. Po tom pitanju konsultuj se sa literaturom iz Kinematike. Potrebno je pronaci takvu funkciju s=s(t) koja pri deriviranju daje identicnu brzinu onoj koja se dobije iz zakona x=x(t) ; y=y(t).
Ako pronadjes tu funkciju problem je rijesen.
I jos nesto: da bi se mehanizam mogao simulirati moraces zadati za dvije Revolute Join da budu Angle Driven. Dobijenim komandama za te veze moraces takodje zadati funkciju ako zelis da rade Simulation With Laws. Pronadji neke funkcije koje ce na najrealniji nacin opisivati kretanje mehanizma. Trebale bi konstantne ugaone brzine zadovoljavati, a Revolute koja je slobodna (koja nije Angle Driven, odnosno koja nema komandu) ce ubrzavati, usporavati i mjenjati smjer rotacije po potrebi, sto ce zavisiti od trajektorije.
Po mom "odokativnom" zakljucku mislim da je najbolje da srednju ili donju Revolute ostavis slobodnu. Ako ostavis zadnju moze ti se desiti da se ruka robota zakrene za 180 i da dodje do kolizije.
Mislim da bi ovo ovako trebalo raditi, jedino je mana sto ces za svaki zakon kretanja crtati trajektoriju i traziti odgovarajucu funkciju s=s(t) (ako iz razloga sto sam naveo ima potrebe za njom).
Zaboravih odmah da napisem kako zadajes funkciju zakona rotacije. Pogledaj na prilozenoj slici slici. Ova bi trebala da odgovara za 2000 obrtaja u sekundi (prepisao sam ovu sintaksu iz help-a), mada mi je sada ovo malo nejasno (vrijeme kroz sekund puta ugao).
[Ovu poruku je menjao SlavishaT dana 15.12.2005. u 17:44 GMT+1]