52
112Equation Chapter 2 Section 1FAKULTET STROJARSTVA I BRODOGRADNJE SVEUČILIŠTE U ZAGREBU Numeričke metode dinamike konstrukcijskih sustava Računalna dinamika konstrukcijskih sustava Seminarski rad Prof. dr. sc. Zdravko Terze, dipl. ing. Rotacija krutog tijela - satelita pomoću reakcijskih diskova

Gyro satelite rotation via MBDyn

Embed Size (px)

DESCRIPTION

Rotation of satelite actuated by reaction wheels. In croatian

Citation preview

Page 1: Gyro satelite rotation via MBDyn

112Equation Chapter 2 Section 1FAKULTET STROJARSTVA I BRODOGRADNJE

SVEUČILIŠTE U ZAGREBU

Numeričke metode dinamike konstrukcijskih sustava

Računalna dinamika konstrukcijskih sustava

Seminarski rad Prof. dr. sc. Zdravko Terze, dipl. ing.

Rotacija krutog tijela - satelita pomoću reakcijskih diskova

Ime i prezime: Joško Frančeski

Matični broj: 0035172669

Page 2: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

Zagreb, 2015.

Joško Frančeski 2

Page 3: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

Sadržaj:Popis slika ..........................................................................................................................................2

Popis tablica: ......................................................................................................................................3

1. Uvod ...............................................................................................................................................4

1.1 Orijentacija satelita ................................................................................................................5

2. Model satelita sa reakcijskim kotačima ........................................................................................6

3. Numerička simulacija satelita ........................................................................................................7

3.1 Data blok ................................................................................................................................8

3.2 Problem blok ..........................................................................................................................9

3.3 Control data blok .................................................................................................................10

3.4 Postavljanje varijabli modela i referentnih koordinatnih sustava ......................................11

3.5 Nodes blok ...........................................................................................................................14

3.5 Elements blok .......................................................................................................................15

3.6 Dijagrami gibanja reakcijskih diskova ..................................................................................18

4. Rezultati simulacije ......................................................................................................................21

4.1 Gibanje satelita u slučaju rotacije reakcijskog diska II ........................................................21

4.2 Gibanje satelita u slučaju rotacije rotacijskih diskova II i III ...............................................23

4.2 Gibanje satelita u slučaju rotacije rotacijskih diskova II, III i IV ..........................................24

5. Zaključak ......................................................................................................................................25

Literatura .............................................................................................................................................26

PRILOG I – MBDyn kod za prvi slučaj ..................................................................................................27

PRILOG II – MBDyn kod za drugi slučaj ................................................................................................31

PRILOG III – MBDyn kod za treći slučaj ................................................................................................35

Popis slika ..........................................................................................................................................2

Popis tablica: ......................................................................................................................................3

1. Uvod ...............................................................................................................................................4

1.1 Orijentacija satelita ................................................................................................................5

2. Model satelita sa reakcijskim kotačima ........................................................................................6

3. Numerička simulacija satelita ........................................................................................................7

3.1 Data blok ................................................................................................................................7

3.2 Problem blok ..........................................................................................................................8

3.3 Control data blok ...................................................................................................................8

3.4 Postavljanje varijabli modela i referentnih koordinatnih sustava ........................................9

3.5 Nodes blok ...........................................................................................................................11

3.5 Elements blok .......................................................................................................................12

Joško Frančeski 1

Page 4: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

4. Rezultati simulacije ......................................................................................................................14

Literatura .............................................................................................................................................17

Joško Frančeski 2

Page 5: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

Popis slika:Slika 1 Model satelita sa tri reakcijska diska ......................................................................................4Slika 2 Dijagram brzine rotacije reakcijskog diska II .........................................................................18Slika 3 Dijagram brzina rotacija reakcijskih diskova II i III ................................................................19Slika 4 Dijagram brzina rotacije reakcijskih diskova II, III i IV ...........................................................20Slika 5 Brzina rotacije diska II u globalnom koordinatnom sustavu .................................................21Slika 6 Moment reakcijskog diska II ..................................................................................................21Slika 7 Promjena kuta poniranja i usmjerenja tokom rotacije satelita ............................................22Slika 8 Promjena kuta valjanja tokom rotacije satelita ....................................................................22Slika 9 Promjena kuteva valjanja, poniranja i usmjerenja tokom rotacije satelita .........................23Slika 10 Promjena kuteva valjanja, poniranja i usmjerenja tokom rotacije satelita .......................24Slika 1 Model satelita sa tri reakcijska diska .........................................................................................4Slika 5 Rotacija satelita u t=[0,0.1, ... 5], s ...........................................................................................16

Joško Frančeski 3

Page 6: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

Popis tablica:Tablica 1 Inercijski i geometrijski parametri satelita ............................................................................4Tablica 1 Inercijski i geometrijski parametri satelita ...............................................................................4

Joško Frančeski 4

Page 7: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

1. UvodU radu je namjera analizirati rotaciju krutog tijela nastalu djelovanjem reakcijskih

diskova. Simulacija gibanja satelita će se provesti u programskom paketu MBDyn [1]. Predmet simulacije je konstrukcijski sustav prema slici (Slika 1) [2], kojeg sačinjava tijelo satelita i 3 reakcijska diska koji su postavljeni na tri međusobno okomite strane satelita. Osi rotacije diskova prolaze kroz središte tijela satelita koje je ujedno i centar mase tijela satelita.

Slika 1 Model satelita sa tri reakcijska diska

Inercijski i geometrijski parametri satelita dani su u tablici (Tablica 1):

Tablica 1 Inercijski i geometrijski parametri satelita

I, tijelo satelita II, III, IV, reakcijski kotačiMasa[αMϕ] 10 1

Statički moment[αs] 0 0Eulerov tenzor[αE] diag(2.223, 4.408, 7.334) diag(0.003, 0.141, 0.141)

Joško Frančeski 5

Page 8: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

Udaljenosti [l1, l2, l3] (0.9167, 1.25, 1.5833) -

1.1 Orijentacija satelitaOrijentacija satelita i kontrola orijentacije satelita su presudan čimbenik uspješnog

obavljanja misije satelita. Ovisno o misiji satelita, moguća je potreba za fiksnom orijentacijom s obzirom na Zemlju, ili potreba za okretanjem satelita u željenom smjeru i zatim održavanje tog smjera. Kako bi se zadovoljile potrebe za točnom orijentacijom u satelite se ugrađuju sustavi za mjerenje orijentacije i aktuatori za promjenu orijentacije.

Aktuatori koji se koriste za stabilizaciju i davanje momenta potrebnog za rotaciju satelita se mogu izvesti u više načina:

Mali raketni motori raspoređeni po tijelu satelita (RCS – reaction control system), osim kotrole orijentacije koriste se i za kontrolu visine satelita

Stabilizacija rotacijom čitavog satelita. Koristi se kod satelita koji čitav radni vijek moraju održavati istu orijentaciju. Manje ispravke orijentacije se vrše pomoću drugih sustava.

Momentni i reakcijski diskovi. To su zamašnjaci pokretani elektromotorima. Žiroskopi u kojima se rotor žiroskopa okreće konstantnom brzinom i preko 2 okvira su

spojeni na tijelo satelita. Ostali načini poput solarnih jedara, iskorištavanja gravitacijskog gradijenta ili

magnetnog polja zemlje.

Reakcijski disk (eng. Reaction wheel) je tip zamašnjaka koji se primarno koristi kod svemirskih letjelica za kontrolu orijentacije bez korištenja goriva. Reakcijski disk radi kao zamašnjak pogonjen električnim motorom, čija se brzina rotacije po potrebi mijenja, te pri promjeni brzine rotacije reakcijskog diska, dolazi do proporcionalne rotacije svemirske letjelice u suprotnom smjeru, prema zakonu o očuvanju momenta količine gibanja. Rotacija svemirske letjelice na ovaj način moguća je samo oko centra mase, te nije moguće izvršiti translaciju u prostoru [3]. Nominalna brzina vrtnje reakcijskih diskova je oko nule, no zbog vanjskih utjecaja se može mijenjati, te da bi rekacijski disk mogao nastaviti s radom, povremeno je potrebno nakupljenu energiju izbaciti putem nekog manevra. Reakcijske kotače je potrebno razlikovati od momentnih kotača (eng Momentum wheel), koji rotiraju konstatnom kutnom brzinom. Isti uređaj može raditi kao i reakcijski i momentni kotač, razlika je u načinu rada.

Joško Frančeski 6

Page 9: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

2. Model satelita sa reakcijskim kotačima

Model je napravljen prema slici (Slika 1) i podatcima u tablici (Tablica 1). Model je izrađen u programskom paketu Mbdyn [1], koji ne koristi grafičko suučelje već se bazira na upisivanju potrebnih informacija putem komandne linije. U programskom paketu MBDyn analiza krutih tijela se vrši tako da se zadaju orijentacije i položaji točaka, čvorova, koji se ponašaju kao referentni koordinatni sustavi za potrebe vezanja podataka o elementu (kruto ili deformabilno tijelo, greda, zglob, itd) koji dolazi u tu točku prostora. Pomoću tih elemenata se zadaju i vanjski utjecaji na čitav konstrukcijski sustav (unošenjem gibanja, sila ili momenata) kao i sile koje utječu na čitav sustav (gravitacija, tlak, itd). Zbog toga, za ovaj zadatak nije bitna točna geometrija svih komponenata satelita već je potrebno poznavati točne udaljenosti centra mase satelita i centara mase reakcijskih diskova, kao i orijentacije reakcijskih diskova s obzirom na orijentaciju satelita, što su sve podatci zadani u tablici (Tablica 1).

Inercijska svojstva tijela satelita i reakcijskih diskova zadana su pomoću Eulerovog tenzora E. Prema tehničkom priručniku za programski paket Mbdyn [4] inercijska svojstva tijela potrebno je zadati u obliku komponenata tenzora inercije J.

Eulerov tenzor inercije u odnosu na točku o u trodimenzionalnom prostoru definiran prema [5] preko izraza:

, 222\* MERGEFORMAT (.)

pri čemu je r = x – o vektor položaja proizvoljne točke x tijela u odnosu na točku o, a dm je diferencijal mase. Tenzor inercije tijela J u odnosu na točku o se prema [5] definira kao:

, 323\* MERGEFORMAT (.)

pri čemu je . Ako se izrazi (2.1) i (2.2) usporede, vidljivo je da se tenzor inercije J može izraziti pomoću Eulerovog tenzora preko izraza:

. 424\* MERGEFORMAT (.)

Za zadane vrijednosti u tablici (Tablica 1) pomoću izraza (2.3) se izračunaju tenzori inercije tijela satelita i reakcijskih diskova:

525\* MERGEFORMAT (.)

Joško Frančeski 7

Page 10: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

626\* MERGEFORMAT (.)

3. Numerička simulacija satelita713Equation Chapter (Next) Section 1Računalna simulacija se vrši u programskom

paketu MBDyn, razvijenom za operativni sustav Linux. Programski paket nema grafičko sučelje, već se problem modelira u komandnoj liniji, utipkavanjem komandnih izraza prema MBDyn Input priručniku [6], kako će biti opisano u sljedećim poglavljima.

Struktura ulazne datoteke je podijeljena na blokove, što je posljedica toga da skoro svaki modul programskog paketa treba podatke i odgovoran je za unos podataka koji mu trebaju. Svaka izjava slijedi sljedeću sintaksu:

<card> ::= <description> [: <arglist>];

Arglist je lista argumenata razdvojena zarezom, i ovisi o description dijelu. Description govori card-u na koji kod se mora pozvati, dok je card osnovni podatak, bio to node, element, itd.

Svaki blok je okružen izjavama begin i end, te se podatci o tom bloku upisuju unutar tih izjava:

begin: <block name>;

#sadržaj bloka

end: <block name>;

Znak # označava početak string-a komentara te ga parser ignorira. Komentar završava prijelazom u novi red.

Struktura ulazne datoteke je sastavljena od 5 – 7 blokova. 5 osnovnih blokova koji su uvijek obavezni i 2 opcionalna koja ovise o problemu koji se riješava. Blokovi uvijek moraju slijediti isti raspored radi pozivanja na prethodno definirane varijable. U bilo kojem dijelu koda je moguće zadati nazive i iznose konstanti, nazive varijabli i referentne koordinatne sustave. Potrebno je paziti da su konstante, varijable ili referentni koordinatni sustavi upisani prije prvog trenutka kada se poziva na njih. Izgled koda uz pojašnjenja će biti dan prvo na sintaksi i onda na primjeru rotacije satelita sa 1 pokretanim reakcijskim diskom.

Potpuni kodovi za svih 6 simulacijskih slučajeva će biti dani u prilozima 1 – 6.

Joško Frančeski 8

Page 11: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

3.1 Data blokData blok je osnovni blok koji služi pokretanju simulacije i u koji se upisuje tip

problema koji se riješava u simulaciji. Trenutno programski paket podržava samo problem početnih vrijednosti i problem inverzne dinamike koji je trenutno u razvoju.

begin: data;

problem: <problem name>; #odabire se problem koji se riješava

end: data;

begin: data;

problem: initial value;

end: data;

Joško Frančeski 9

Page 12: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

3.2 Problem blokProblem blok opisuje podatke o trajanju simulacije, veličini koraka, traženoj točnosti,

te se u njemu može zadati tip solvera koji se koristi. Problem blok se referira na data blok tako da se koristi problem unesen u data bloku.

begin: initial value;

#podatci specifični za problem

end: initial value;

begin: initial value;

initial time: 0.;

final time: 4.;

time step: 1.e-3;

max iterations: 10;

tolerance: 1.e-4;

end: initial value;

Iz strukture initial value bloka može se isčitati da se radi o problemu kojem je zadano početno vrijeme u 0 sekundi, krajnje vrijeme u 4 sekunde sa početnim vremenskim korakom od 0,001 sekunde. U svakom vremenskom koraku maksimalni broj iteracija je 10 uz toleranciju (rezidual) od 0.0001. Osim ovih vrijednosti, moguće je definirati minimalnu i maksimalnu vrijednost vremenskog koraka putem strategy kartice (ili u slučaju fiksnog vremenskog koraka, definirati da se ne mijenja), definirati povratnu vezu putem reziduala, aktivirati linearne ili nelinearne riješavače. Ukoliko se ne upiše ime riješavača parser pretpostavlja korištenje Naive riješavača.

Joško Frančeski 10

Page 13: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

3.3 Control data blokbegin: control data;

# podatci o modelu

end: control data;

begin: control data;

output frequency: 80;

structural nodes: 4;

rigid bodies: 4;

joints: 3;

end: control data;

Control data blok kaže da je zadana frekvencija zapisivanja u izlaznu datoteku svakih 80 vremenskih koraka, što znači da će izlazna datoteka zapisati 4000/80= 50 nizova podataka o svakom structural node-u i o svakom joint-u. Također kaže da imamo 4 strukturna čvora, 4 kruta tijela i 3 zgloba koji zajedno tvore jedan konstrukcijski sustav. Svi mogući kontrolni podatci se mogu pronaći u priručniku za upis podataka, poglavlje 5 [6]. U ovom segmentu koda se upisuju Assembly povezane kartice, koje opisuju broj čvorova, elemenata i zglobova modela, rotaciju ukupnog sustava, tolerancije sklopa zglobova i maksimalne iteracije dozvoljene u početnom sklapanju sustava. Osim Assembly povezanih kartica, upisuju se i General purpose kartice. Pomoću tih kartica je moguće zadati ime simulacije, ispisati sve stupnjeve slobode, zadati izradu restart datoteke, promijeniti strukturu izlazne datoteke, promijeniti frekvenciju pisanja u izlaznu datoteku, mijenjati pretpostavljeni tip orijentacije, i dalje prema priručniku.

Pretpostavljena orijentacija u programskom paketu MBDyn je uvijek 123 forma Eulerovih kuteva, poznati i kao Cardanovi kutevi. 123 predstavlja slijed kojim se vrši rotacija, dakle prvo oko osi 1, zatim oko osi 2 i konačno oko osi 3. Uz euler 123, moguće je postaviti prikaz orijentacije sa euler 313 i euler 321 kutevima, vektorom orijentacije te matricom orijentacije. Ova orijentacija utječe na zapis orijentacije u izlaznoj datoteci.

Joško Frančeski 11

Page 14: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

3.4 Postavljanje varijabli modela i referentnih koordinatnih sustava

U slučaju složenih problema u kojima se želi mogućnost vršenja jednostavnih izmjena sustava uobičajeno je između control bloka i node bloka postaviti varijable modela, njihove numerirane nazive i potrebne referentne koordinatne sustave, kako bi parser, mogao kasnije koristiti te nazive i koordinatne sustave i pozivati se na njih. Razlikuju se dva osnovna tipa brojeva u ovom dijelu, real, koja zadaje vrijednost u brojevima kojima dodjeluje naziv, te integer koja služi za numeriranje. Odjeljak References služi za postavljanje referentnih koordinatnih sustava na koje se može pozivati u kodu kasnije radi jednostavnijeg i preglednijeg pisanja i uređivanja koda.

Ovdje neće biti prikazan čitav dio koda već samo detalji potrebni kako bi se dali svi potrebni opisi.

#Constants

set: real M_sat =10.;

set: real M_wh =1.;

#Variable

set: integer Ref_sat =1;

set: integer Ref_wh_1 =2;

set: integer Ref_wh_2 =3;

...

set: integer Node_sat =1;

set: integer Node_wh_1 =2;

set: integer Node_wh_2 =3;

#Reference coordinate systems

reference: Ref_sat,

null,

eye,

null,

null;

reference: Ref_wh_1,

reference, Ref_sat, 0.9167, 0., 0.,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_wh_2,

reference, Ref_sat, 0., 1.25, 0.,

Joško Frančeski 12

Page 15: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

reference, Ref_sat, 1, 0., 1., 0., 3, 0., 0., 1.,

reference, Ref_sat, null,

reference, Ref_sat, null;

...

reference: Ref_ang_3,

reference, Ref_sat, 0., 0., 1.5833,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

Constants opisuje konstante koje se koriste u ovom modelu. Upisane su masa tijela satelita i masa kotača satelita (broj, real).

Variable opisuje brojeve koji se koriste za imena različitih čvorova, elemenata, zglobova i referentnih koordinatnih sustava. Unutar istog tipa objekta (čvor), potrebno je zadati različiti naziv (broj, integer), no različiti objekti mogu imati isti naziv (broj, integer).

Reference coordinate systems opisuje referentne koordinatne sustave korištene u ovom modelu. Referentni koordinatni sustavi poštuju hijerarhijsko stablo, dakle, ukoliko se treći koordinatni sustav referentira na prvi preko drugoga, prvo se čita prvi, na koji se dodaju promjene drugog koordinatnog sustava i konačno promjene koje uvodi treći koordinatni sustav.

reference: Ref_sat, -> ime

null, -> pozicija

eye, -> orijentacija

null, -> brzina translacije

null; -> brzina rotacije

Reference označava da se radi o referentnom koordinatnom sustavu. Ref_sat je ime koje je prethodno zadano i čitanjem koda se vidi da glasi 1. Prva linija označava relativan položaj koordinatnog sustava. S obzirom da se ne referentira ni na jedan drugi koordinatni sustav, relativan položaj koordinatnog sustava Ref_sat se gleda u odnosu na globalni koordinatni sustav. Null je komandna riječ za matricu ispunjenu nulama, koji označava da nema pomaka u odnosu na globalni koordinatni sustav. Eye označava dijagonalnu jediničnu matricu, koja označava da nema promjene orijentacije u odnosu na globalni koordinatni sustav. Iduće dvije linije označavaju matrice translacijske i kutne brzine referentnog koordinatnog sustava u odnosu na roditeljski, u ovom slučaju globalni koordinatni sustav.

reference: Ref_wh_2,

reference, Ref_sat, 0., 1.25, 0.,

reference, Ref_sat, 1, 0., 1., 0., 3, 0., 0., 1.,

reference, Ref_sat, null,

Joško Frančeski 13

Page 16: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

reference, Ref_sat, null;

Ref_wh_2 je drugi reakcijski disk, koji gleda u smjeru osi y koordinatnog sustava satelita prema slici (Slika 1). Prema liniji pozicije, pomaknut je u iznosu od 1.25 u smjeru osi y naspram središta referentnog koordinatnog sustava Ref_sat. Prema liniji orijentacije, os 1 gleda u smjeru osi 2 referentnog koordinatnog sustava Ref_sat, dok os 3 zadržava svoju orijentaciju iz referentnog koordinatnog sustava Ref_sat. Čitanjem tako postavljene rotacije parser zakreće koordinatni sustav Ref_wh_2 po pravilu desne ruke. Iz linije translacijske i kutne brzine, vidi se da se koordinatni sustav Ref_wh_2 ne giba u odnosu na koordinatni sustav Ref_sat.

Joško Frančeski 14

Page 17: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

3.5 Nodes blokNodes blok služi za upisivanje koji se tipovi čvorova koriste te njihovih stupnjeva

slobode gibanja (dynamic sa 6 stupnjeva slobode gibanja ili sa 3 pozicijska stupnja slobode te static). U ovom problemu korišten je tip čvora structural dynamic. U opisu čvora upisuje se njegova pozicija, orijentacija, brzina i kutna brzina s obzirom na globalni koordinatni sustav ili referentni koordinatni sustav.

begin: nodes;

#podatci o čvorovima

end: nodes;

begin: nodes;

structural: Node_sat, dynamic, -> ime i tip čvora

reference, Ref_sat, null, -> pozicija

reference, Ref_sat, eye, -> orijentacija

reference, Ref_sat, null, -> translacijska brzina

reference, Ref_sat, null; -> kutna brzina

structural: Node_wh_1, dynamic,

reference, Ref_wh_1, null,

reference, Ref_wh_1, eye,

reference, Ref_wh_1, null,

reference, Ref_wh_1, null;

...

Kod za čvorove čita se analogno kodu za referentne koordinatne sustave, jer čvorovi zahtjevaju iste podatke.

Joško Frančeski 15

Page 18: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

3.5 Elements blokElements blok je podijeljen na tipove elemenata koji se mogu koristiti u analizama. U

Control bloku se zadaje koji se tipovi elemenata koriste. U ovom slučaju koriste se rigid bodies i joints. Rigid bodies tip elementa služi za zadavanje svojstava krutih tijela, i traži podatke o masi, pomaku centra mase od centra koordinatnog sustava, te tenzor inercije J. Pomoću Joint tipa elementa zadaju se kinematička ograničenja čvoru ili između čvorova. Određeni joint elementi mogu sadržavati i ograničenja putem drive caller-a, funkcije koja zadaje određeno kretanje. U zadanom problemu koriste se dva tipa zgloba, revolute hinge i axial rotation. Revolute hinge je zglob koji povezuje dva čvora i dozvoljava relativno gibanje samo slobodnom ili pokretanom rotacijom oko osi 3 u referentnom koordinatnom sustavu zgloba, kojeg je potrebno dvaput definirati, po jednom za svaki čvor. Uvođenjem ovog zgloba u sustav, ukida se 5 stupnjeva slobode gibanja. Sustav satelita sa jednim diskom se sastoji od 2*6 =12 SSG, što znači da ostaje 7 SSG. Zbog toga što se referentni koordinatni sustav diska poziva na referentni koordinatni sustav tijela satelita, tijelo satelita zadržava sve svoje stupnjeve slobode gibanja, dok disk uvijek ostaje u svom relativnom položaju utvrđenom putem referentnog koordinatnogu sustava, izuzev u tome da može slobodno rotirati oko osi 3 referentnog koordinatnog sustava zgloba, koja se podudara sa osi tijela satelita na kojo leži disk. Axial rotation zglob je indentičan revolute hinge zglobu, osim što daje mogućnost pozivanja pogonske funkcije drive caller i zadavanja kutne brzine oko osi 3 zgloba.

begin: elements;

#podatci o elementima

end: elements;

begin: elements;

body: Body_sat, -> tip elementa, ime elementa,

Node_sat, -> ime čvora na koji se element veže

10., -> masa čvora

null, -> udaljenost centra mase od središta RKS

diag, 11.742, 9.557, 6.631; -> tenzor inercije

body: Body_wh_1, Node_wh_1,

1.,

null,

diag, 0.282, 0.144, 0.144;

...

joint: Jo_ang_1, -> tip elementa, ime elementa

axial rotation, -> podtip zglobnog elementa

Node_sat, -> prvi čvor na koji se zglob veže

reference, Ref_ang_1, null, -> pozicija u odnosu na prvi čvor

Joško Frančeski 16

Page 19: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

hinge, reference, Ref_ang_1, 1, 0.,0.,-1., 3, 1., 0., 0., -> orijentacija u odnosu na prvi čvor

Node_wh_1, -> drugi čvor na koji se zglob veže

reference, Ref_ang_1, null,-> pozicija u odnosu na drugi čvor

hinge, reference, Ref_ang_1, 1, 0.,0.,-1., 3, 1., 0., 0., -> orijentacija u odnosu na drugi čvor

ramp, 10.*pi, 0.,1.,0.; -> funkcija gibanja

joint: Jo_ang_2, -> tip elementa, ime elementa

revolute hinge, -> podtip zglobnog elementa

Node_sat, -> prvi čvor na koji se zglob veže

reference, Ref_ang_2, null, -> pozicija u odnosu na prvi čvor

hinge, reference, Ref_ang_2, 1, 1.,0.,0., 3, 0., 1., 0., -> orijentacija u odnosu na prvi čvor

Node_wh_2, -> drugi čvor na koji se zglob veže

reference, Ref_ang_2, null, ,-> pozicija u odnosu na drugi čvor

hinge, reference, Ref_ang_2, 1, 1.,0.,0., 3, 0., 1., 0.; -> orijentacija u odnosu na drugi čvor

...

end: elements;

Drive caller koji se koristi u slučaju zgloba axial rotation opisuje kutnu brzinu ovisnu o vremenu i tipu funkcije. U zadanom problemu, korištena su 2 tipa funkcije, sinusna i ramp funkcija. Ove funkcije su odabrane kako bi se rezultati mogli usporediti sa rezultatima rada [7] koji analizira isti problem, ali u programskom paketu MSC ADAMS [8].

Kartica ramp drive callera se sastoji od sljedećih segmenata:

<drive caller> ::= ramp,

<slope>,

<initial time>, {forever | final time},

<initial value>;Funkcija (3.1) opisuje algoritam rada ramp drive-a. Ukoliko se ne upiše final time, parser pretpostavlja trajanje forever i dobije množenje slope-a sa trenutnim vremenom t + initial value.

838\*MERGEFORMAT (.)

Joško Frančeski 17

Page 20: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

Kartica sine drive-a se sastoji od sljedećih segmenata:

<drive_caller> ::= sine ,

<initial_time> ,

<angular_velocity> ,

<amplitude> ,

{ [ - ] <number_of_cycles> | half | one | forever } ,

<initial_value>;

Angular velocity je vrijednost koju je potrebno izračunati i iznosi , gdje je T period sinusne funkcije. Kodne riječi za trajanje su upisivanje real tipa broja za broj ciklusa, half za pola ciklusa i one za jedan puni ciklus, te forever za rad do kraja trajanja simulacije.

Funkcija (3.2) opisuje algoritam rada sine drive-a.

939\* MERGEFORMAT (.)

Joško Frančeski 18

Page 21: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

3.6 Dijagrami gibanja reakcijskih diskova

Gibanje satelita je zadano u šest slučajeva, te je shodno tome provedeno šest simulacija. U prva sva slučaja dolazi samo do rotacije reakcijskog diska II, koji rotira oko osi x satelita. U druga dva slučaja dolazi do rotacija reakcijskih diskova II i III, te u zadnja dva slučaja rotiraju sva tri reakcijska diska.

Na slici (Slika 2) prikazan je dijagram rotacije diska II u slučaju ramp i sine drive-a. Kosina ramp drive-a je 10π a amplituda sine drive-a je 12π uz period od 4 sekunde.

ramp, 10.*pi, 0.,1.,0.;

sine, 0.,1.5707, 12.*pi, forever, 0.;

0 0.5 1 1.5 2 2.5 3 3.5 4-50

-40

-30

-20

-10

0

10

20

30

40

50

Omega_x_ramp Omega_x_sin

Vrijeme, s

Kutn

a br

zina,

°/s

Slika 2 Dijagram brzine rotacije reakcijskog diska II

Na slici (Slika 3) prikazan je dijagram brzina rotacija rotacijskih diskova II i III, označenih sa x i y ovisno oko koje osi referentnog koordinatnog sustava satelita se rotiraju. Ramp drive za oba diska ima jednaku kosinu kao i u prvom slučaju, dok je sine drive za reakcijski disk III zadan sa negativnom amplitudom istog iznosa.

ramp, 10.*pi, 0.,1.,0.;

sine, 0.,1.5707, 12.*pi, forever, 0.;

sine, 0.,-1.5707, 12.*pi, forever, 0.;

Joško Frančeski 19

Page 22: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

0 0.5 1 1.5 2 2.5 3 3.5 4-50

-40

-30

-20

-10

0

10

20

30

40

50

Omega_x_ramp = Omega_y_ramp Omega_x_sinOmega_y_sin

Vrijeme, s

Kutn

a br

zina,

°/s

0 0.5 1 1.5 2 2.5 3 3.5 4-50

-40

-30

-20

-10

0

10

20

30

40

50

Omega_x_ramp = Omega_y_ramp Omega_x_sinOmega_y_sin

Vrijeme, s

Kutn

a br

zina,

°/s

Slika 3 Dijagram brzina rotacija reakcijskih diskova II i III

Na slici (Slika 4) prikazan je dijagram brzina rotacija rotacijskih diskova II, III i IV, označenih sa x, y i z ovisno o koordinatnoj osi referentnog koordinatnog sustava satelita oko koje rotiraju. Kosine ramp drive-a za rotacije diskova II, III i IV iznose 6 π, -6 π i 4 π, dok amplitude sine drive-a za rotacije diskova II, III i IV iznose 12 π, -12 π i 10 π s time da su periode za rotacijske diskove II i III 4 sekunde, a za rotacijski disk IV 2 sekunde.

ramp, 6.*pi, 0.,1.,0.;

Joško Frančeski 20

Page 23: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

ramp, -6.*pi, 0.,1.,0.;

ramp, 4.*pi, 0.,1.,0.;

sine, 0.,1.5707, 12.*pi, forever, 0.;

sine, 0.,-1.5707, 12.*pi, forever, 0.;

sine, 0.,0.7854, 10.*pi, forever, 0.;

0 0.5 1 1.5 2 2.5 3 3.5 4-50

-40

-30

-20

-10

0

10

20

30

40

50

Omega_x_ramp Omega_y_ramp Omega_z_rampOmega_x_sin Omega_y_sin Omega_z_sin

Vrijeme, s

Kutn

a br

zina,

°/s

Slika 4 Dijagram brzina rotacije reakcijskih diskova II, III i IV

Joško Frančeski 21

Page 24: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

4. Rezultati simulacijePokretanjem predstavljenog koda iz terminala operativnog sustava Linux

dolazi do čitanja i riješavanja koda. Nakon učitavanja podataka, solver javlja grešku:Initial assembly failed because no pivot element could be found for column 63 (PlaneHingeJoint(3): reaction couple my); aborting ...

Greška se referencira na dvije stvari, pivot element za koje se pretragom interneta može vidjeti da je postojeći problem koji je u nekim slučajevima moguće riješiti dodatkom linije linear solver: naive, colamd, pivot factor, 1.e-9;, te variranjem iznosa pivot faktora, no to nije riješilo ovaj problem. Idući dio koda, kolumna 63 je prazna kolumna i ograničenje na koje se tekst greške poziva, PlaneHingeJoint, je zastarjelo ograničenje koje više ne postoji u programu već je zamijenjeno Revolute hinge-om, te nije ni korišteno. Također, za taj dio greške nije bilo moguće naći informacije.

Kod je obrisan, te je započeto pisanje koda iznova, bez referiranja na prijašnju verziju, no sa pokretanjem solvera dolazi ponovno do iste greške (varira kolumna u kojoj se traži pivot element).

Za pokušaj riješavanja ovog problema potrebno je kontaktirati prof. dr. sc. Pierangelo Masarati i ostale istraživače koji koriste ovaj programski paket putem predviđene liste za e-poštu.

Problem rotacije satelita simuliran je i riješen od strane više nezavisnih istraživača [2], [9], u svrhu istraživanja optimalne kontrole krutih tijela s rotorima. Za taj problem razmatra se kretanje tijela od stanja mirovanja do stanja mirovanja, te se traže optimalni momenti koji bi vodili tijelo iz početnog u krajnje stanje. Na slici (Slika 5) prikazani su rezultati rada istraživača [5].

[3.6] Gibanje satelita u slučaju rotacije reakcijskog diska II

U ovom slučaju razmatra se gibanje satelita u slučaju zadanim slikom (Slika 2), rotacijom jednog reakcijskog diska. Na slici (Slika 5) prikazana je brzina rotacije diska II u globalnom koordinatnom sustavu.

Joško Frančeski 22

Page 25: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

0 0.5 1 1.5 2 2.5 3 3.5 4

-5.00E+01

-4.00E+01

-3.00E+01

-2.00E+01

-1.00E+01

0.00E+00

1.00E+01

2.00E+01

3.00E+01

4.00E+01

5.00E+01

Series2 Series4

Vrijeme, s

Kutn

a br

zina,

°/s

Slika 5 Brzina rotacije diska II u globalnom koordinatnom sustavu

Na slici (Slika 6) prikazani su momenti oko osi x koji nastaju djelovanjem rotacija diska II. Može se primjetiti da su momenti proporcionalni promjeni brzine rotacije diska.

0 0.5 1 1.5 2 2.5 3 3.5 4

-2.00E+01

-1.50E+01

-1.00E+01

-5.00E+00

0.00E+00

5.00E+00

1.00E+01

1.50E+01

2.00E+01

Moment_x_ramp Moment_x_sin

Vrijeme, s

Mom

ent,

N/m

^2

Slika 6 Moment reakcijskog diska II

Slike (Slika 7) i (Slika 8) prikazuju komponente rotacija satelita u smjeru osi x, y i z u globalnom koordinatnom sustavu. Komponente su označene pomoću aeronautičke nomenklature, gdje roll, valjanje, predstavlja rotaciju oko osi x, pitch, poniranje, rotaciju oko osi y i yaw, usmjerenje, rotaciju oko osi z.

Joško Frančeski 23

Page 26: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

0 0.5 1 1.5 2 2.5 3 3.5 4

-1.00E+00

-5.00E-01

0.00E+00

5.00E-01

1.00E+00

1.50E+00

Pitch_ramp Pitch_sin Yaw_ramp Yaw_sin

Vrijeme, s

kut,

°

Slika 7 Promjena kuta poniranja i usmjerenja tokom rotacije satelita

0 0.5 1 1.5 2 2.5 3 3.5 4

-1.20E+02

-1.00E+02

-8.00E+01

-6.00E+01

-4.00E+01

-2.00E+01

0.00E+00

2.00E+01

Roll_ramp Roll_sin

Vrijeme, s

Kut,

°

Slika 8 Promjena kuta valjanja tokom rotacije satelita

Na slici (Slika 7) vidljivo je da dolazi do promjene kutova poniranja i usmjerenja satelita, što je posljedica toga da iako osi rotacije diskova prolaze kroz centar mase satelita, ne prolaze kroz centar mase konstrukcijskog sustava kojeg tvore satelit i tri rotacijska diska, čime se pojavljuju momenti rotacije oko preostale dvije osi.

Joško Frančeski 24

Page 27: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

4.1 Gibanje satelita u slučaju rotacije rotacijskih diskova II i III

U ovom slučaju razmatra se gibanje satelita u slučaju zadanim slikom (Slika 3), rotacijom reakcijskih diskova II i III. Momenti reakcijsih diskova su proporcionalni promjeni kutne brzine, analogno prvom slučaju, te nisu prikazani. Na slici (Slika 9) su prikazane promjene kutnih brzina satelita za zadani slučaj.

0 0.5 1 1.5 2 2.5 3 3.5 4-2.00E+02

-1.50E+02

-1.00E+02

-5.00E+01

0.00E+00

5.00E+01

1.00E+02

Roll_ramp Pitch_ramp Yaw_rampRoll_sin Pitch_sin Yaw_sin

Vrijeme,s

Kut,

°

Slika 9 Promjena kuteva valjanja, poniranja i usmjerenja tokom rotacije satelita

Može se primjetiti da u slučaju sinusne pobude gdje su sinusoide zadane prema slici (Slika 3) jednake no suprotnih smjerova, dolazi do vraćanja orijentacije satelita u stanje početne orijentacije.

Joško Frančeski 25

Page 28: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

4.2 Gibanje satelita u slučaju rotacije rotacijskih diskova II, III i IV

U ovom slučaju razmatra se gibanje satelita u slučaju zadanim slikom (Slika 4), rotacijom svih reakcijskih diskova satelita. Ponovno se razmatra stanje za slučaj ramp i sinusne pobude kako je prikazano na slici (Slika 10)

0 0.5 1 1.5 2 2.5 3 3.5 4-2.00E+02

-1.50E+02

-1.00E+02

-5.00E+01

0.00E+00

5.00E+01

1.00E+02

1.50E+02

2.00E+02

Roll_ramp Pitch_ramp Yaw_rampRoll_sin Pitch_sin Yaw_sin

Vrijeme, s

Kut,

°

Slika 10 Promjena kuteva valjanja, poniranja i usmjerenja tokom rotacije satelita

Joško Frančeski 26

Page 29: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

Joško Frančeski 27

Page 30: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

ZaključakU ovom radu analizirana je rotacija satelita uzrokovane promjenom brzine rotacije

reakcijskih diskova. Model satelita zadan prema [2] sastojao se od tijela satelita i tri reakcijska diska postavljena na tri međusobno okomite strane satelita tako da se njihove osi rotacije poklapaju sa glavnim osima tromosti satelita. Masene i inercijske karakteristike tijela satelita i reakcijskih diskova, kao i udaljenosti centara masa tijela i reakcijski diskova su bile zadane. U ovom slučaju za reakcijske diskove se smatra uređaje koji izmjenjuju kinetički moment satelita tako da se ukupni kinetički moment sustava ne mijenja, jer ne dolazi do vanjskih sila. Numerička simulacija je napravljena u programskom paketu MBDyn, koji je besplatan program otvorenog koda napisan za korištenje u operacijskom sustavu Linux, čije korištenje zahtjeva upisivanje koda u komandnoj liniji, jer ne postoji grafičko suučelje. U radu je dan kratak uvod s pojašnjenjima korištenja programskog paketa, sa detaljnijim pregledom elemenata korištenih za potrebe riješavanja zadanog problema. Analizirani su slučajevi gibanja satelita uzrokovanog rotacijom jednog, dva ili sva tri reakcijska diska tako da je na početku svake analize brzina rotacije diskova bila jednaka nuli, što znači da je u početnom stanju ukupni kinetički moment satelita bio jednak nuli. Zbog zakona o očuvanju kutne količine gibanja, kao i činjenice da nema vanjskih sila koje djeluju na konstrukcijski sustav, ukupni kinetički moment tokom rotacije ostaje konstantan i jednak nuli, no dolazi do izmjene kinetičkog momenta između diskova i tijela satelita. U slučajevima sinusne pobude za rotaciju diska II i rotaciju diskova II i III prikazano je da se rotacija satelita zaustavi i satelit se vrati u stanje mirovanja ako se rotacija reakcijskih diskova zaustavi, što je u skladu sa navedenim zakonom o očuvanju kinetičkog momenta.

Joško Frančeski 28

Page 31: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

Literatura

[1] P. M. P. Mantegazza, »MBDyn v1.5.6,« Dipartimento di Ingegneria Aerospaziale, University "Politecnico di Milano", Milano, 2014..

[2] C. B. P. Becker, »Application of a gyrostatic rigid body formulation in the context of direct transcription method for optimal control in multybody dynamics,« Multybody Dynamics, vol 35 of the series Computational Methods in Applied Sciences, pp. 237 - 253, 2014..

[3] »Wikipedia,« 13. 07. 2015.. [Mrežno]. Available: https://en.wikipedia.org/wiki/Reaction_wheel. [Pokušaj pristupa 12. 08. 2015.].

[4] P. Masarati, MBDyn Theory and Developer's Manual Version 1.X-Devel, Milano: Dipartimento di Ingegneria Aerospaziale, University "Politecnico di Milano", May 4, 2013..

[5] A. P. A. DiCarlo, »Fast Computation of inertia through affinely extended Euler tensor,« u Computer-Aided Design 38, 2008, pp. 1145 - 1153.

[6] P. Masarati, MBDyn input file format version 1.5.6, Milano: Dipartimento di Ingegneria Aerospaziale, University "Politecnico di Milano", 2014.

[7] N. Horvat, »Rotacija satelita pomoću reakcijskih diskova, seminarski rad,« Zagreb, 2015..

[8] »ADAMS - MSC Software,« [Mrežno]. Available: http://www.mscsoftware.com/product/adams.

[9] S. O.-B. S. M. J. E. O. M. Leyendecker, »Discrete Mechanics and Optimal Control for Constrained Systems (DMOCC),« Optimal Control Applications and Methods, p. 56, 2008.

Joško Frančeski 29

Page 32: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

PRILOG I – MBDyn kod za prvi slučajbegin: data;

problem: initial value;

end: data;

begin: initial value;

initial time: 0.;

final time: 4.;

time step: 1.e-3;

max iterations: 10;

tolerance: 1.e-4;

end: initial value;

begin: control data;

output frequency: 80;

structural nodes: 4;

rigid bodies: 4;

joints: 3;

end: control data;

set: real M_sat =10.;

set: real M_wh =1.;

set: integer Ref_sat =1;

set: integer Ref_wh_1 =2;

set: integer Ref_wh_2 =3;

set: integer Ref_wh_3 =4;

set: integer Ref_ang_1 =5;

set: integer Ref_ang_2 =6;

set: integer Ref_ang_3 =7;

set: integer Node_sat =1;

set: integer Node_wh_1 =2;

set: integer Node_wh_2 =3;

set: integer Node_wh_3 =4;

set: integer Body_sat =1;

set: integer Body_wh_1 =2;

set: integer Body_wh_2 =3;

set: integer Body_wh_3 =4;

set: integer Jo_ang_1 =5;

set: integer Jo_ang_2 =6;

Joško Frančeski 30

Page 33: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

set: integer Jo_ang_3 =7;

reference: Ref_sat,

null,

eye,

null,

null;

reference: Ref_wh_1,

reference, Ref_sat, 0.9167, 0., 0.,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_wh_2,

reference, Ref_sat, 0., 1.25, 0.,

reference, Ref_sat, 1, 0., 1., 0., 3, 0., 0., 1.,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_wh_3,

reference, Ref_sat, 0., 0., 1.5833,

reference, Ref_sat, 1, 0., 0., 1., 2, 0, 1., 0.,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_ang_1,

reference, Ref_sat, 0.9167, 0., 0.,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_ang_2,

reference, Ref_sat, 0., 1.25, 0.,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_ang_3,

reference, Ref_sat, 0., 0., 1.5833,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

Joško Frančeski 31

Page 34: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

begin: nodes;

structural: Node_sat, dynamic,

reference, Ref_sat, null,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

structural: Node_wh_1, dynamic,

reference, Ref_wh_1, null,

reference, Ref_wh_1, eye,

reference, Ref_wh_1, null,

reference, Ref_wh_1, null;

structural: Node_wh_2, dynamic,

reference, Ref_wh_2, null,

reference, Ref_wh_2, eye,

reference, Ref_wh_2, null,

reference, Ref_wh_2, null;

structural: Node_wh_3, dynamic,

reference, Ref_wh_3, null,

reference, Ref_wh_3, eye,

reference, Ref_wh_3, null,

reference, Ref_wh_3, null;

end: nodes;

begin: elements;

body: Body_sat, Node_sat,

10.,

null,

diag, 11.742, 9.557, 6.631;

body: Body_wh_1, Node_wh_1,

1.,

null,

diag, 0.282, 0.144, 0.144;

body: Body_wh_2, Node_wh_2,

1.,

null,

diag, 0.282, 0.144, 0.144;

Joško Frančeski 32

Page 35: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

body: Body_wh_3, Node_wh_3,

1.,

null,

diag, 0.282, 0.144, 0.144;

joint: Jo_ang_1,

axial rotation,

Node_sat,

reference, Ref_ang_1, null,

hinge, reference, Ref_ang_1, 1, 0.,0.,-1., 3, 1., 0., 0.,

Node_wh_1,

reference, Ref_ang_1, null,

hinge, reference, Ref_ang_1, 1, 0.,0.,-1., 3, 1., 0., 0.,

ramp, 10.*pi, 0.,1.,0.; #-> Ramp pobuda

# sine, 0.,1.5707, 12.*pi, forever, 0.; -> Sinusna pobuda

joint: Jo_ang_2,

revolute hinge,

Node_sat,

reference, Ref_ang_2, null,

hinge, reference, Ref_ang_2, 1, 1.,0.,0., 3, 0., 1., 0.,

Node_wh_2,

reference, Ref_ang_2, null,

hinge, reference, Ref_ang_2, 1, 1.,0.,0., 3, 0., 1., 0.;

joint: Jo_ang_3,

revolute hinge,

Node_sat,

reference, Ref_ang_3, null,

hinge, reference, Ref_ang_3, eye,

Node_wh_3,

reference, Ref_ang_3, null,

hinge, reference, Ref_ang_3, eye;

end: elements;

Joško Frančeski 33

Page 36: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

PRILOG II – MBDyn kod za drugi slučajbegin: data;

problem: initial value;

end: data;

begin: initial value;

initial time: 0.;

final time: 4.;

time step: 1.e-3;

max iterations: 10;

tolerance: 1.e-4;

end: initial value;

begin: control data;

output frequency: 80;

structural nodes: 4;

rigid bodies: 4;

joints: 3;

end: control data;

set: real M_sat =10.;

set: real M_wh =1.;

set: integer Ref_sat =1;

set: integer Ref_wh_1 =2;

set: integer Ref_wh_2 =3;

set: integer Ref_wh_3 =4;

set: integer Ref_ang_1 =5;

set: integer Ref_ang_2 =6;

set: integer Ref_ang_3 =7;

set: integer Node_sat =1;

set: integer Node_wh_1 =2;

set: integer Node_wh_2 =3;

set: integer Node_wh_3 =4;

set: integer Body_sat =1;

set: integer Body_wh_1 =2;

set: integer Body_wh_2 =3;

set: integer Body_wh_3 =4;

set: integer Jo_ang_1 =5;

set: integer Jo_ang_2 =6;

Joško Frančeski 34

Page 37: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

set: integer Jo_ang_3 =7;

reference: Ref_sat,

null,

eye,

null,

null;

reference: Ref_wh_1,

reference, Ref_sat, 0.9167, 0., 0.,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_wh_2,

reference, Ref_sat, 0., 1.25, 0.,

reference, Ref_sat, 1, 0., 1., 0., 3, 0., 0., 1.,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_wh_3,

reference, Ref_sat, 0., 0., 1.5833,

reference, Ref_sat, 1, 0., 0., 1., 2, 0, 1., 0.,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_ang_1,

reference, Ref_sat, 0.9167, 0., 0.,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_ang_2,

reference, Ref_sat, 0., 1.25, 0.,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_ang_3,

reference, Ref_sat, 0., 0., 1.5833,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

begin: nodes;

Joško Frančeski 35

Page 38: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

structural: Node_sat, dynamic,

reference, Ref_sat, null,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

structural: Node_wh_1, dynamic,

reference, Ref_wh_1, null,

reference, Ref_wh_1, eye,

reference, Ref_wh_1, null,

reference, Ref_wh_1, null;

structural: Node_wh_2, dynamic,

reference, Ref_wh_2, null,

reference, Ref_wh_2, eye,

reference, Ref_wh_2, null,

reference, Ref_wh_2, null;

structural: Node_wh_3, dynamic,

reference, Ref_wh_3, null,

reference, Ref_wh_3, eye,

reference, Ref_wh_3, null,

reference, Ref_wh_3, null;

end: nodes;

begin: elements;

body: Body_sat, Node_sat,

10.,

null,

diag, 11.742, 9.557, 6.631;

body: Body_wh_1, Node_wh_1,

1.,

null,

diag, 0.282, 0.144, 0.144;

body: Body_wh_2, Node_wh_2,

1.,

null,

diag, 0.282, 0.144, 0.144;

body: Body_wh_3, Node_wh_3,

1.,

null,

Joško Frančeski 36

Page 39: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

diag, 0.282, 0.144, 0.144;

joint: Jo_ang_1,

axial rotation,

Node_sat,

reference, Ref_ang_1, null,

hinge, reference, Ref_ang_1, 1, 0.,0.,-1., 3, 1., 0., 0.,

Node_wh_1,

reference, Ref_ang_1, null,

hinge, reference, Ref_ang_1, 1, 0.,0.,-1., 3, 1., 0., 0.,

ramp, 10.*pi, 0.,1.,0.;

#sine, 0.,1.5707, 12.*pi, forever, 0.;

joint: Jo_ang_2,

axial rotation,

Node_sat,

reference, Ref_ang_2, null,

hinge, reference, Ref_ang_2, 1, 1.,0.,0., 3, 0., 1., 0.,

Node_wh_2,

reference, Ref_ang_2, null,

hinge, reference, Ref_ang_2, 1, 1.,0.,0., 3, 0., 1., 0.,

ramp, 10.*pi, 0.,1.,0.;

#sine, 0.,-1.5707, 12.*pi, forever, 0.;

joint: Jo_ang_3,

revolute hinge,

Node_sat,

reference, Ref_ang_3, null,

hinge, reference, Ref_ang_3, eye,

Node_wh_3,

reference, Ref_ang_3, null,

hinge, reference, Ref_ang_3, eye;

end: elements;

Joško Frančeski 37

Page 40: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

PRILOG III – MBDyn kod za treći slučajbegin: data;

problem: initial value;

end: data;

begin: initial value;

initial time: 0.;

final time: 4.;

time step: 1.e-3;

max iterations: 10;

tolerance: 1.e-4;

end: initial value;

begin: control data;

output frequency: 80;

structural nodes: 4;

rigid bodies: 4;

joints: 3;

end: control data;

set: real M_sat =10.;

set: real M_wh =1.;

set: integer Ref_sat =1;

set: integer Ref_wh_1 =2;

set: integer Ref_wh_2 =3;

set: integer Ref_wh_3 =4;

set: integer Ref_ang_1 =5;

set: integer Ref_ang_2 =6;

set: integer Ref_ang_3 =7;

set: integer Node_sat =1;

set: integer Node_wh_1 =2;

set: integer Node_wh_2 =3;

set: integer Node_wh_3 =4;

set: integer Body_sat =1;

set: integer Body_wh_1 =2;

set: integer Body_wh_2 =3;

set: integer Body_wh_3 =4;

set: integer Jo_ang_1 =5;

set: integer Jo_ang_2 =6;

Joško Frančeski 38

Page 41: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

set: integer Jo_ang_3 =7;

reference: Ref_sat,

null,

eye,

null,

null;

reference: Ref_wh_1,

reference, Ref_sat, 0.9167, 0., 0.,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_wh_2,

reference, Ref_sat, 0., 1.25, 0.,

reference, Ref_sat, 1, 0., 1., 0., 3, 0., 0., 1.,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_wh_3,

reference, Ref_sat, 0., 0., 1.5833,

reference, Ref_sat, 1, 0., 0., 1., 2, 0, 1., 0.,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_ang_1,

reference, Ref_sat, 0.9167, 0., 0.,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_ang_2,

reference, Ref_sat, 0., 1.25, 0.,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

reference: Ref_ang_3,

reference, Ref_sat, 0., 0., 1.5833,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

begin: nodes;

Joško Frančeski 39

Page 42: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

structural: Node_sat, dynamic,

reference, Ref_sat, null,

reference, Ref_sat, eye,

reference, Ref_sat, null,

reference, Ref_sat, null;

structural: Node_wh_1, dynamic,

reference, Ref_wh_1, null,

reference, Ref_wh_1, eye,

reference, Ref_wh_1, null,

reference, Ref_wh_1, null;

structural: Node_wh_2, dynamic,

reference, Ref_wh_2, null,

reference, Ref_wh_2, eye,

reference, Ref_wh_2, null,

reference, Ref_wh_2, null;

structural: Node_wh_3, dynamic,

reference, Ref_wh_3, null,

reference, Ref_wh_3, eye,

reference, Ref_wh_3, null,

reference, Ref_wh_3, null;

end: nodes;

begin: elements;

body: Body_sat, Node_sat,

10.,

null,

diag, 11.742, 9.557, 6.631;

body: Body_wh_1, Node_wh_1,

1.,

null,

diag, 0.282, 0.144, 0.144;

body: Body_wh_2, Node_wh_2,

1.,

null,

diag, 0.282, 0.144, 0.144;

body: Body_wh_3, Node_wh_3,

1.,

null,

Joško Frančeski 40

Page 43: Gyro satelite rotation via MBDyn

Fakultet strojarstva i brodogradnje

diag, 0.282, 0.144, 0.144;

joint: Jo_ang_1,

axial rotation,

Node_sat,

reference, Ref_ang_1, null,

hinge, reference, Ref_ang_1, 1, 0.,0.,-1., 3, 1., 0., 0.,

Node_wh_1,

reference, Ref_ang_1, null,

hinge, reference, Ref_ang_1, 1, 0.,0.,-1., 3, 1., 0., 0.,

ramp, 6.*pi, 0.,1.,0.;

#sine, 0.,1.5707, 12.*pi, forever, 0.;

joint: Jo_ang_2,

axial rotation,

Node_sat,

reference, Ref_ang_2, null,

hinge, reference, Ref_ang_2, 1, 1.,0.,0., 3, 0., 1., 0.,

Node_wh_2,

reference, Ref_ang_2, null,

hinge, reference, Ref_ang_2, 1, 1.,0.,0., 3, 0., 1., 0.,

ramp, -6.*pi, 0.,1.,0.;

#sine, 0.,-1.5707, 12.*pi, forever, 0.;

joint: Jo_ang_3,

axial rotation,

Node_sat,

reference, Ref_ang_3, null,

hinge, reference, Ref_ang_3, eye,

Node_wh_3,

reference, Ref_ang_3, null,

hinge, reference, Ref_ang_3, eye,

ramp, 4.*pi, 0.,1.,0.;

#sine, 0.,0.7854, 10.*pi, forever, 0.;

end: elements;

Joško Frančeski 41