Home
Final Report - Purdue University
Contents
1. translate attached object obj between two positions corresponding to time step t within t_minmax THHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHE this proc translateObject objSatellite t tmin tmax repeat for Satellite if SobjSatellite echo Sthis no data Satellite object connected this data disconnect return if SobjSatellite hasInterface HxSpatialData echo Sthis objSatellite is not a spatial data object this data disconnect return Let procedure know to look in global namespace global xPositionT global yPositionT global zPositionT Drop down to the lat integer of timestep set floorTime expr floor this time getValue set intTime expr int floorTime Set the translation rotation values set xSatellite lindex xPositionT intTime set ySatellite lindex yPositionT SintTime set zSatellite lindex zPositionT intTime preform the translation rotation SobjSatellite setTranslation xSatellite ySatellite zSatellite SobjSatellite touch 1 SobjSatellite fire THHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHBHHHHHHHHBHHHHE USER DO NOT EDIT 4 THHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHBHHHHE proc simcom connect host port global simcom error global tcl platform set ret catch set sock socket host port dog if ret
2. Figure 3 4 a Hohmann transfer with relative frame b Hohmann transfer viewed from reference orbit 15 This means that there will need to be a conversion from the reference frame into the inertial frame It will be done by taking figure 4a and combining it with the inertial frame in figure 3 5 2 Figure 3 5 Inertial frame with reference frame Now it is possible to define the relative frame in terms of the inertial frame This is shown in equations 8 and 9 After this it is possible to rearrange these equations so that the inertial frame can be defined through the reference frame which is shown in equations 13 and 14 cos 0 i sin 0 j Equation 11 sin 0 cos 0 j Equation 12 i cos 0 sin 0 7 Equation 13 j sin 0 cos 0 5 Equation 14 In order to convert the relative change in velocity that was calculated using the HCW equations into the inertial IJK frame the relative velocity in the and directions are multiplied by the corresponding term in equation 13 and 14 The output will therefore be in the i and j components 16 4 Attitude Axisymmetric Rigid Body in Circular Orbit The attitude model used in the earlier part of this project is based on the model for the axisymmetric cylindrical spacecraft The main assumptions are that all spacecraft follow the model for circular orbit and drag can be neglected In general there are two types of cylindrical spacecraft namely th
3. m Simulation for two spacecrafts in orbit The problem with using svn import is that all the files in the imported file name are sent to satellite sim except for the folder that was holding those files For example importing SIM orbit will add all the files that are in SIM orbit S define RUN test Modified data etc but it will not import SIM orbit This problem can be fixed by easily creating a folder SIM orbit in satellite sim first svn mkdir SIM orbit and then import the files in that location An easier method to add files to satellite sim is to simily copy the files into satellite sim cp r HOME trick sims SIM orbit SHOME MySVNProjects satellite sim trick sims and then svn add these files within the folder that these files were copied to svn add SIM orbit Using svn add makes it easier to format and organize the files that are added With multiple team members and code it is important to make SVN as user friendly as possible Added files need to be organized in a manner that is easy to find Red team set up satellite sim so that it is very similar to working in your own directories adding trick models trick sims and a Trick profile To delete files from a project use the command svn delete name of file or svn rm force name of file The command svn delete is mainly used for deleting a single file while svn rm force is used for folders When making a change like deleting a file that change must be committed The
4. Figure 4 11 These are the nutation angles for cases A B and C respectively E St rotar RUN test decis E EM eee 170 1704 160 150 150 140 AA 130 T 120 T 110 110 109 100 90 so 8 Pa 70 10 60 sol so so 40 1 30 3o 20 2 10 104 0 3 0 400 600 900 1000 1200 1400 1600 1800 2000 2200 2400 2900 209 300 E Tal ale elo ol uo 200 100 100 sele 200 Zo 2000 20 So aD On rotor psi d din rotor psi d without rotor with rotor Figure 4 12 These are the nutation angles in testing the effect of the rotor for case C 26 Simulating Attitude in AVIZO For the visualization purposes these quaternions need to be converted into Euler axis and Euler angle This is because the visualization package AVIZO only works with this scheme To begin with the parameters defined in Eqs 14 and 15 2 is introduced in the header file It should be noted that these Euler axis and Euler angles are defined in the orbit frame The lines shown in Fig 4 13 are then added to both the initialization and the derivative files In the end these two additional parameters are then added to the linking code z _ E tE E Equation 14 e E E y 0 2cos 2 Equation 15 A gt lambda 0 A gt euler 0 pow A TA uler 0 A gt euler 1 A gt euler 1 A gt euler 2 A gt euler 2 5 A gt lambda 1 A gt euler 1 pow A TS uler 0 A gt euler 1 A gt euler
5. Procedure To determine the accuracy of the HCW equations the difference in the initial relative velocities between the two orbits are shown in Table 1 Each trial will use the HCW equations to calculate the initial velocity required to for the two spacecraft to rendezvous recording the error between them at the end of the transfer The error from each trial will be compared to the expected position of a circular orbit This will determine the overall accuracy of the HCW equations Table 1 shows the trials that are run for the experiment Initial Initial Velocity Initial Velocity Position in y of spacecraft of spacecraft in km in eccentric circular orbit orbit km s km s 1 6628 14 7 7547 7 7548 2 6628 14 7 7546 7 7548 3 6628 14 7 7545 7 7548 4 6628 14 7 7544 7 7548 5 6628 14 7 7543 7 7548 6 6628 14 7 7542 7 7548 7 6628 14 7 7541 7 7548 8 6628 14 7 7540 7 7548 9 6628 14 7 71539 7 7548 10 6628 14 7 7538 7 7548 Table 6 1 Inputs of the Experiment A visual representation of the procedure can be seen in Figure 3 After each trial the initial relative velocity on the elliptical orbit is decreased changing the shape of the ellipse while the velocity for spacecraft on the circular orbit remains constant 36 Figure 6 1 Visual representation of the Procedure In this experiment the difference in the initial relative velocity is the independent variable and the error between the two spacecraft after using HCW equatio
6. 0 return 1 fconfigure sock buffering none fconfigure sock translation binary Send over endianess if tcl_platform byteOrder littleEndian puts nonewline sock x01 x00 else puts nonewline sock x00 x00 set client id only used in error messages set client_id binary format I 8675309 57 set client tag buffered to 80 bytes set client tag binary format a80 var client puts nonewline sock client id client tag Read off the server s endianess read sock 2 set simcom error 0 return sock proc simcom send cmd sock cmd global simcom error Send command to variable server regsub In cmd cmd set cmd len binary format I string length cmd if catch puts nonewline sock cmd_len set simcom error 1 if catch puts nonewline sock cmd set simcom error 1 3t EDITED TRICK SIMCOM PACKAGE END VIZLAB THHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHBHHHHHHHHHHHHHHHHHHHHHHHHHHHHE 3t USER INSERT APPROPRIATE VARIABLES FROM TRICK THHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHE 58 8 Further Work In order to achieve rendezvous multiple impulses were needed We implemented logic into the TRICK simulation such that a quarter orbit after the release of the spacecraft the chaser would attempt to rendezvous with the target iteratively doing multiple burns at the points of clos
7. 0 4 m s 42 Page SIM orbit RUN test 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000 dyn orbit magrelpos dynorbit relpos 1 km Figure 6 6 Change in Initial Velocity km s 1 m s 43 E E c 9 p o y o Qu Oo 5 c Do z 0 8 0 6 0 4 Difference in Initial Velocities m s Figure 6 7 Quarter Orbit Seperation against Difference in Initial Velocities Post Transfer error m 0 8 0 6 0 4 Difference in Initial Velocities m s Figure 6 8 Post Transfer Error against Difference in Initial Velocities 44 2 o a x o LU c 2 o o o n 4 6 8 10 Difference in Initial Velocities m s Figure 6 9 Ratio of Pre Transfer Seperation to Post Transfer Error As can be seen there is a persistent error that exists in a simulated Hohmann transfer using velocities found through the HCW equations This error decreases nonlinearly with initial separation distance or the difference in release velocities of the cubesats This suggests that in order to get a complete rendezvous using the HCW approximations it is necessary to perform multiple burns each at minimum relative distance Conclusion It is evident that as the difference in velocities between the two spacecraft is increased the final position of the transfer is not on the circular orbit where it should be This shows that there is an error introdu
8. 35000 40000 45000 m rrrrrTrrrrrrrrrTrrrrrrrrrTrrTrrT 40000 30000 20000 10000 o 10000 20000 30000 40000 dyn orbit pos 1 km Figure 3 1 Circular Orbit plotted using Trick The bold lettering signifies a vector with f and k components These vectors are in the UK inertial reference frame where the center of Earth is at 0 0 0 To use this equation initial conditions must be specified namely a position vector and velocity vector For simplification an initial position could be specified where it is only in one direction therefore the velocity will also be in only one direction The initial radius from the center of the origin will be equal to the radius of the Earth 6378 14 km along with the altitude above the surface of the Earth 42164 0 In figure 2 the initial radius vector is r 0 0 km and the initial velocity vector 0 0 isr 0 T 7 km s The initial velocity vector can be calculated using equation 3 as its 0 11 position vector is expressed through an x component This means that the velocity will only be in y direction and pointing to the positive y direction due to a positive x value in the position vector and the orbit travelling in a counter clockwise direction This is illustrated in figure 3 2 E Equation 3 Y v r lo e Figure 3 2 Circular Orbit with axis and vectors 12 Hill Clohessy Wiltshire The Hill Clohessy Wiltshire HCW equations are used to calculate
9. A gt omegadot 0 K1 A gt omega 1 A gt omega 2 JJ 11 SG A gt omega 1 12 OM OM K1 A gt euler 0 A gt euler 1 A gt euler 2 A gt euler 3 A gt euler 2 A gt euler 0 A gt euler 1 A gt euler 3 A gt omegado t 1 K2 A omega 2 A omega 0 JJ I2 SG A gt omega 0 6 OM OM K2 A euler 2 A euler 0 A euler 1 A euler 3 1 2 A euler 1 A euler 1 2 A euler 2 A euler 2 A gt omegado t 2 K3 A gt omega 0 A gt omega 1 6 0M 0M K3 1 2 A euler 1 A gt euler 1 2 A gt euler 2 A gt euler 2 A gt euler 0 A gt euler 1 A gt euler 2 A gt euler 3 A gt euler 0 A gt euler0 0 A gt euler 1 A gt euler0 1 A gt euler 2 A gt euler0 2 A gt euler 3 A gt euler0 3 69 A gt eu 1 erdot 0 A gt euler 1 A gt omega 2 1 2 0M A gt euler 2 A gt omega A gt eu gt euler A gt eu gt euler A gt eu gt euler gt euler 1 1 0 erdot 2 A gt omega 0 1 1 1 erdot 3 2 A FA euler 3 A omega 0 2 2 gt omega 2 1 2 A gt lambda 0 A gt euler 0 pow A gt eu 1 tA gt euler 2 A gt euler 2 0 5 A gt lambda 1 A gt euler 1 pow A gt eu gt euler 1 tA gt euler 2 A gt euler 2 0 5 A gt euler 0 A gt omega A gt lambd
10. THHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIS proc get sim data cycle rate phobos wrl global sat global timelnt global xPositionT global yPositionT global zPositionT simcom send cmd sat socket var cycle cycle rate simcom send cmd sat socket var add dyn orbit pos 0 simcom send cmd sat socket var add dyn orbit pos 1 simcom send cmd sat socket var add dyn orbit pos 2 simcom send cmd sat socket var add dyn orbit2 pos 0 simcom send cmd sat socket var add dyn orbit2 pos 1 simcom send cmd sat socket var add dyn orbit2 pos 2 simcom send cmd sat socket var add attitude1 euler 0 simcom send cmd sat socket var add attitudel eulerN 11 simcom send cmd sat socket var add attitude euler 2 simcom send cmd sat socket var add attitude 1 euler 3 simcom send cmd sat socket var add attitudel euler2 0 simcom send cmd sat socket var add attitudel euler2V IV simcom send cmd sat socket var add attitude1 euler2 2 simcom send cmd sat socket var add attitude1 euler2 3 simcom send cmd sat socket var add dyn orbit vel 0 simcom send cmd sat socket var add dyn orbit vel 1 simcom send cmd sat socket var add dyn orbit vel 2 simcom send cmd sat socket var add dyn orbit2 vel 0 simcom send cmd sat socket var add dyn orbit2 vel 1 simcom send cmd sat socket var add dyn orbit2 vel
11. Additionally through this project SVN version control was developed for the team to use in order to work on code simultaneously 2 SVN Version Control In a group there are multiple codes that are shared and exchanged and it is always important to have the most updated code SVN is a version control system that enables collaborative editing and sharing of data The first step to setup SVN for a new project is to use the command svnadmin create path to repository PROJECT FOLDER NAME Eg svnadmin create home lagrange a marchand files class files team files redteam satellite sim Now that a new project is created team members will want to check out satellite sim to add and share code but before team members can checkout satellite sim it is important that permission is given to the other team members This was one of the first complications that red team encountered when setting up SVN This problem was solved by talking to other teams with SVN working The easy solution to this problem is to change the file mode chmod R 775 satellite sim and to change the group ownership chgrp R jsctrick satellite sim performing both of these commands in the folder that contains satellite sim R allows the files and directories to change recursively and 775 or gtw grants permission to other users who are members of the files group sets up restricted deletion flag or sticky bit and allows the group to write to the file Changing the group to jsc
12. Experiment The equations used to define the moment of inertia I and the second moment of inertia J for a cylindrical object are shown below Equations 1 amp 2 J 2 1 m 2 2 Feis r h To describe a variation of shape from a long thin cylinder to a wide flat disk a range of both moments of inertia were used Table 5 1 Figure 5 1 28 No r m h m V n m kg I fkgm J kgm 1 4 5 1 64 63617 327364 644125 2 3 5 2 77 76969 261374 471435 3 2 5 3 59 58905 136217 184078 4 1 5 4 28 28274 53603 31809 5 0 5 5 4 3927 8427 491 Table 5 1 Experimental Initial Conditions Figure 5 1 Variation of Satellite Shape Using the above as well as the initial conditions given in Table 5 2 and the constants given in Table 5 3 several simulations were carried to find the time history of nutation angle in the system described by the equations of motion below Equation 3 0 2m J O on 1 4 Ja ae 6 8 I 28 221 3 29 Variable Initial Condition 01 6 rad s 02 0 rad s 03 0 rad s 1 0 2 0 3 0 06975647374 4 0 9975640503 v 8 degrees Table 5 2 Initial Conditions Constant Value T 3 141592 Q 0 00116 Table 5 3 Constants The simulation was run for two full orbits for each of the five different objects and the nutation angle history
13. flat or normal to its orbital plane in the case of a long cube satellite 34 6 Experiment 2 Hypothesis Given two spacecraft in low Earth orbit the Hill Clohessy Wiltshire HCW equations are accurate in predicting the velocity required to transfer a spacecraft from an eccentric orbit into a circular orbit Introduction Initially both spacecraft will be in low Earth orbit at an altitude of 250km where the radius of the Earth is 6378 14 km and the gravitational constant is 398600 4418 km s 1 In this experiment the two spacecraft will be released at the same position with slightly different velocities One spacecraft will remain in a circular orbit at an altitude of 250 km and another will have a velocity slightly less than the circular velocity at 250 km and will therefore have an eccentric orbit The Hohmann transfer is going to be implemented to transfer the spacecraft from the initial position to the circular orbit as this transfer is the most fuel efficient The HCW equations will be used to calculate the initial velocity required to implement the Hohmann transfer and this initial velocity will be used in the Trick through the inverse square law equation of motion There is an error when using the velocity calculated in the HCW equations in the inverse square law model This experiment will look at the effect of increasing the initial relative velocity on the final position that is calculated using the inverse square law 35
14. spacecraft attitude2 src is already under version control The warning appeared because the attitude2 files that were put on dropbox were already committed to svn from a previous revision Finding the hidden svn file helped determine this and this problem was resolved by deleting svn and then properly adding the files to the most updated revision This error was a clear example of the problems that can occur when team members are using different methods to store or update code like dropbox When adding a simulation file it is very important that only the necessary files are added and committed to the project Modefied data Run test S define Multiple problems will occur if CP out and the extra files are not removed Red team encountered this problem after running a simulation within satellite sim and then trying to make changes to that simulation When red team tried to commit a change an error message would appear and say that CP out conflicts with these changes To fix this problem SIM orbit was deleted and then added again but this time only committing the necessary files It is also important to know that there is a hidden file auto_checksums within the simulation file and files in RUN test that will also cause problems unless they are removed Sometimes after fixing all the errors there are still team members that are having trouble receiving the most updated code on SVN In these circumstances it is best to have that team member dele
15. 0 Equation 6 This derivation is only considering in plane motion and z is uncoupled therefore it is not considered in this derivation 13 t 2nx dt y y 2nx 2nxo 0 Y yo 2nx 2nxg Substitute into equation 4 X 2nyg 4n x 4n x 31 x 0 X 2nyg n x 4n xo 0 x Xc B Xo 2Y0 x y Sin nt 3x9 Em cos nt att 0 x Xo 2Y0 3xo B Xo Xo E 24 B 4x9 200 n x 2y 2y x sin nt 340 cos nt 4x9 Equation 7 Substitute into equation for y x 2y 2y Y yo 2n sin nt 320 cos nt 4x0 2nxg y 2xgsin nt 6nx 4yg cos nt 6nxo 3yo t t 2 o sin nt 6nxy 4yg cos nt 6nxo 3Vo 0 0 _ 2Xocos nt 2 o A 6nxo 4Yo sin nt Vo 6nxgt 3Yot Y Jo h m n NXo Vo _ 2Xocos nt 6nxo 459 sin nt 2 9 E n Re YO n Equation 8 n Equation 7 and 8 are the general solution however as the spacecraft will be travelling along a Hohmann transfer it is safe to assume nt 7 The general equations will now simplify to equation 9 and 10 14 3nm n ty Xo F d MM 4 Equation 9 7 Vo Z Xo Equation 10 There is one problem when using the HCW equations in the orbital model the HCW equations are defined in the frame of a reference orbit and this frame rotates along this orbit This can be seen in figure 3 4 A X NW H of package as iy ae supply
16. by using the command source Trick profile 07 23 1 Another more permanent method of changing trick profiles is to alter the bashrc file The very first line of the bashre file is source Trick profile 07 23 1 By changing the path from the home trick profile to the one created in SVN simulations can be run in satellite sim without having to do source Trick profile 07 23 1 An overview for setting up SVN and using basic commands like adding and deleting files can be seen in figure 1 svnadmin create path to repository PROJECT FOLDER NAME chmod R 775 PROJECT FOLDER NAME chgrp R jsctrick PROJECT FOLDER NAME mkdir MySVNProjects svn checkout file path to repository PROJECT FOLDER NAME Add Files Delete Files svn delete FILE NAME i WV svn import svn add FOLDER NAME path to your code file path to repositor y svn rm force FOLDER_NAME svn commit m Description svn commit m Description Figure 2 1 SVN Overview 10 3 Orbital Model The orbital model used in the project was calculated by the gravitational inverse square law which can be seen in equation 1 ds H 3 r Ire Equation 1 r Ir trn FI Equation 2 Where 7 is the acceleration vector r is the radius vector r is the norm of the vector r and it is shown in equation 2 u is the gravitational parameter which is 398600 Plot SIM orbit RUN test o 5000 10000 15000 20000 25000 30000
17. errors 0 dropped 0 overruns 0 carrier 0 collisions 0 txqueuelen 1000 RX bytes 268726588892 250 2 GiB TX bytes 523436942266 487 4 GiB Interrupt 33 Link encap Local Loopback inet addr 127 0 0 1 Mask 255 0 0 0 inet6 addr 1 128 Scope Host UP LOOPBACK RUNNING MTU 16436 Metric I RX packets 187943867 errors 0 dropped 0 overruns 0 frame 0 TX packets 187943867 errors 0 dropped 0 overruns 0 carrier 0 collisions 0 txqueuelen 0 RX bytes 235 149938192 219 0 GiB TX bytes 235 149938192 219 0 GiB Figure 7 1 Obtaining the IP address in UNIX In order to find the port number the simulation should be called first The Simulation Control Panel will appear and it will need to be maximized before the port number can be viewed at the bottom An example can be seen below E emo File Actions Freeze Commands Time RET sec 0 00 Real Time sec 0 00 Dump Chkpnt MET 000 00 00 00 GMT 001 00 00 00 Shutdown Load Chkpnt Sin Had me TUS Figure 7 2 Finding the port number for the simulation Before starting the simulation the RealTime button needs to be unclicked so that the simulation does not take 24 hours to run Instead it will be accelerated Alternatively the throttle can be used to control the speed of the simulation The throttle can be found under the Actions menu 47 set hideNewModules 0 create HxScriptObject serverconnect scro ser
18. gt eulerdo A gt eulerdo DOP CQ ho I2 C dia dia dia dia dia dia dia rm rm rm rm rm rm rm ET CF AT CE fT CT AT EF EN ST EE JE CT CT T OR PE DL Er CU DI LI br Co ibh ED CE FECE see ee se se 0 ami WNRODNRO LE En pa e L3 s se Os Cn d amp 2 b2 Fe Co s trick sims SIM attitudel S define sim object sim services include au Sys sim object EX ECUTIVE h tomatic input processor INPUT PROCESSOR I tomatic last exec sim services input processor sim services exec var server sync Inout spacecraft attitudel ATTITUDE1 spacecraft attitudel include attitudel d D EX ECUTIVE E attitudel 66 sim services include executive d amp sys exec ip amp sys exec r r sim services include INTEGRATOR integ spacecraft attitudel include atti initialization spacecraft attitudel attitudel init ATTITUDE1 A amp dyn at derivative spacecraft attitudel attitudel deriv ATTITUDE1 A amp dyn a integration spacecraft attitudel attitudel integ INTEGRATOR I amp dyn integ ATTITUDE1 A amp dyn attitudel dyn integrate 0 1 dyn tudel integ d titudel ttitudel ae r trick sims SIM attitudel R
19. x 0 3 m In terms of its mass it usually weighs 3 kg Using a Body Two 3 1 3 sequence it is possible to have at least three attitude configurations in the beginning of the simulation These three cases are illustrated in Fig 4 7 shown below The moments of inertia information can then be calculated and found to be the ones shown in the subsequent Fig 4 8 a I B E Figure 4 7 This figure shows the three possible initial orientations where the orbit normal is out of the page define K1 0 define Kl 0 8 define K1 0 8 define K2 0 8 define K2 0 define K2 0 8 define K3 0 8 define K3 0 8 define K3 0 define JJ 0 000253125 define JJ 0 000253125 define JJ 0 000253125 define I1 0 005 define I1 0 025 define I1 0 025 define I2 0 025 define I2 0 005 define I2 0 025 define I3 0 025 define I3 0 025 define I3 0 005 define SG 0 05 define SG 0 05 define SG 0 05 Figure 4 8 These are the simulation constants for cases A B and C respectively The relationship between the terms K and K gt can then be plotted on the instability chart The shaded regions indicate unstable or unknown behaviors Due to the CubeSat being more symmetric than a typical rectangular spacecraft these three cases fall on the borderline between 24 certain regions as shown in Fig 9 The results of the numerical integration are also shown in Fig 4 10 At this stage one may predict that case C is going to yield the more stable result Figure 4 9
20. 1 A gt euler 2 A gt euler 2 5 5 A gt lambda 2 A gt euler 2 pow A Seder 0 tas uler 0 A gt euler 1 A gt euler 1 A gt eul a Tw 5 A gt theta 2 acos A gt euler 3 oes Figure 4 13 These lines ed the quaternions into Euler axis and Euler angle 27 5 Experiment 1 Hypothesis If a rod like spacecraft is used then an equivalent stability will be observed as if a disk like spacecraft was used A spacecraft with higher moment of inertia will be as stable as one with a lower moment of inertia Prediction The particles in a cylindrical object within a gravitational field will experience a gravity gradient between the top and bottom halves due to gravity being stronger at the bottom than at the top Theoretically this would mean that a slight deviation from the gravitation vector here defined as the vertical orientation would result in a torque for the object A longer object would have a higher torque and therefore be more unstable However we predict that for a certain range of values this torque is negligible and has little significant effect no more than 1 nutation angle variation We predict this since the variation in gravitational field is extremely small over the span of a nano satellite scale object Formally we state our prediction as such there is no significant 1 variation in nutation angle difference in stability between an object with a moment of inertia of 327364 and one of 644125
21. 2 set counter 0 set timeInt min 0 set timeInt max 0 if gets sat socket sim data 1 echo Thats all folks while gets sat socket sim data 1 I set sat positions sim data format 0f sim data if lindex sat positions 0 0 set timeInt min expr counter 1 echo Waiting for Trick update 55 else Appends data to lists lappend xPositionT lindex sat positions 0 lappend yPositionT lindex sat positions 1 lappend zPositionT lindex sat positions 2 lappend xPositionT lindex sat positions 3 lappend yPositionT lindex sat positions 4 lappend zPositionT lindex sat positions 5 update phobos wrl setTranslation lindex sat positions 0 lindex sat positions 1 lindex sat positions 2 phobos wrl setRotation lindex sat positions 6 lindex sat positions 7 lindex sat positions 8 lindex sat positions 9 phobos wrl touch 1 phobos wrl fire update phobos2 wrl setTranslation lindex sat positions 3 lindex sat positions 4 lindex sat positions 5 phobos wrl setRotation lindex sat positions 6 lindex sat positions 7 lindex sat positions 8 lindex sat positions 9 phobos2 wrl touch 1 phobos2 wrl fire viewer 0 redraw echo sat positions echo echo SC1 Step expr counter timelnt min echo target x lindex sat positions 0 echo target y linde
22. 884 int attitudel init ATTITUDI A omega 0 A omega 1 A gt omega 2 A gt omegado 12 OM OM A gt euler 0 A gt euler 1 El A c 0 gt euler 0 A gt omegado FA euler 1 t 1 S KKKKKK KKK KKK KKK kck ck ck KKK KKK ke ke e ke kv x include lt stdio h gt include math h attitudel h RETURN INOUT Always return zero Attitude 1 structure A omega0 0 A gt omega0 1 A gt omega0 2 Ss A gt omega 1 1 JJ II A gt omega 1 A gt omega 2 A gt euler 2 A gt euler 3 A gt euler 2 A A gt euler 3 S A gt omega 3 T 0 1 JJ II A gt omega 0 A gt omega 2 6 OM OM A gt euler 2 A gt euler 0 A gt euler 1 A gt euler 3 1 2 pow A gt euler 1 2 2 pow A gt euler 2 2 A gt omegadot 2 0 A gt euler 0 A gt euler0 0 A euler 1 A gt euler0 1 A gt euler 2 A gt euler0 2 A gt euler 3 A gt euler0 3 A gt eulerdot 0 A gt euler 1 A gt omega 2 SS OM A gt euler 2 A omega 1 A euler 3 A omega 0 2 64 A gt eulerdot 1 A gt euler 2 A gt omega 0 A gt euler 3 A gt omega 1 A gt euler 0 A gt omega 2 SS 0M 2 A gt eulerdot 2 A euler 3 A gt omega 2 SS OM A gt euler 0 A gt omega 1 A gt euler 1 A gt omega 0 2 A gt eulerdot 3 A gt euler 0 A gt omega 0 A gt eule
23. A gt omega 0 6 OM OM K2 A euler 2 A euler 0 A euler 1 A euler 3 1 2 A euler 1 A euler 1 2 A euler 2 A euler 2 A gt omegadot 2 K3 A omega 0 A omega 1 6 OM OM K3 1 2 A gt euler 1 A gt euler 1 2 A gt euler 2 A gt euler 2 A gt euler 0 A gt euler 1 A gt euler 2 A gt euler 3 A gt eulerdot 0 A gt euler 1 A gt omega 2 1 2 0M A gt euler 2 A gt omega 1 A gt euler 3 A gt omega 0 2 70 A eulerdot 1 A gt euler 2 A gt omega 0 A gt euler 3 A gt omega 1 A gt euler 0 A gt omega 2 1 2 OM 2 A gt eulerdot 2 A gt euler 3 A gt omega 2 1 A gt euler 0 A gt omega 1 A gt euler 1 A gt omega 0 2 A gt eulerdot 3 A gt euler 0 A gt omega 0 A gt euler 1 A gt omega 1 A gt euler 2 A gt omega 2 1 2 A gt lambda 0 A gt euler 0 pow A gt euler 0 A gt euler 0 A gt eul 1 A gt euler 1 A gt euler 2 A gt euler 2 0 5 A gt lambda 1 a gt euler 1 pow A gt euler 0 A gt euler 0 A gt eul 1 A gt euler 1 A gt euler 2 A gt euler 2 A gt lambda 2 A gt euler 2 Di A gt euler 0 A gt euler 0 A gt eul 1 A gt euler 1 A gt euler 2 A gt euler 2 0 5 A gt t
24. Figure 7 12 Translating two spacecraft 52 Attitude In order to include attitude in the visualization model the Trick simulation had to be edited so that it would output two new parameters that Avizo needs in order to vary the attitude of the object the axis of a simple rotation in a 3 element vector format and the rotation angle in degrees The object in Avizo is rotated about the specified axis of rotation using the same method as for translation The setRotation x y z angle command is used to change the attitude of the spacecraft simcom send cmd sat socket var cycle cycle rate simcom send cmd sat socket var add dyn orbit pos OM simcom send cmd sat socket var add dyn orbit pos 1 simcom send cmd sat socket var add dyn orbit pos 2 simcom send cmd sat socket var add dyn orbit2 pos 0 simcom send cmd sat socket var add dyn orbit2 pos 1 simcom send cmd sat socket var add dyn orbit2 pos 2 simcom send cmd sat socket var add attitude euler 0 simcom send cmd sat socket var add attitude euler 1 simcom send cmd sat socket var add attitude1 euler 2 simcom send cmd sat socket var add attitude euler 3 simcom send cmd sat socket var add attitude1 euler2 0 simcom send cmd sat socket var add attitudel euler2 1 simcom send cmd sat socket var add attitude1 euler2 2 simcom send cmd sat socket var add att
25. RED TEAM Final Report AAE 490 Spacecraft Modeling and Simulation Nicoletta Fala Frederik Bossaerts Ryan Tedjasukmana Curtis Langlois Darren Shandler 5 3 2013 Contents 1 Intr ductibnukasum a aaa 5 2 SVN Version Control isi lo il ER 6 3 zOrbital Models diana 11 4 Attitude vassere E 17 5 Experiment ly coro eee 28 Gs JEXPEriment2 saa22s adr lesne Dele EEG 35 72 Misualization shades ed dio 46 8 Further Work oeste tette eiae atate tate 59 9 Lessons Learned Le 61 10 References Lana Se 62 11 Appendici aa RL ir 63 Nomenclature r radius vector km km T velocity vector A km Y acceleration vector gt Y f Tj component of radius in i or k direction re km u gravitational parameter of Earth gt x position in x direction m y position in y direction m Z position in z direction m X velocity in x direction y velocity in y direction m S X acceleration in x direction y acceleration in y direction Z acceleration in z direction E rad n mean motion of the reference orbit RA X initial position in x direction m yo initial position in y direction m Xp initial velocity in x direction yo initial velocity in y direction t time S r radius vector km 0 Origin 0 True Anomaly rad i j in plane inertial reference frame X Y in plane relative reference frame P m Earth R position of spacecraft with re
26. This is the instability chart with the depicted cases A B and C ne ies Plot Plot Stn rotor UM test Ls SI rotor PU tat St rotor RUN tst 1000 2000 M 4000 8000 6000 7006 8000 300 10000 11000 1000 2000 3000 4X0 000 6000 7000 8000 MX 1x0 11000 1000 3000 3000 49 5000 Loco NO Po 3000 10000 11000 Serre t tiron epai reker epi 3 anro seal 2 eet ic termed C1 psroter mlt dps rotor pil 1 Apure mnlti apretar men 3 diguretoriepali apurar eel A B C Figure 4 10 These are the quaternions plots for cases A B and C respectively A better way to represent the stability behavior is to plot the nutation angles for each case using Eqs 12 and 13 P subsequently These angles are plotted as shown in Fig 4 11 Both cases A and B have nutation angles up to 180 deg whereas case C only goes up to 10 deg and thus being the more stable case Another test on these approaches is to turn off the rotation of the rotor using extreme initial conditions such as 5 rad s for the first two angular velocities As seen in Fig 4 12 the nutation angle reduces to 85 deg when the rotor is turned off for the first 3000 s On the other hand the nutation angle reduces to 80 deg when the rotor is spun at 10 rad s for the first 3000 s 25 Equation 12 Equation 13 Piet SOL rotor MN test
27. UN test input include S default dat include Modified data attitudel dr stop 10833 078115827 67 Three Unit CubeSat in Circular Orbit Standalone Codes trick models spacecraft attitude2 include attitude2 h k ifndef define typedef ATTITUDE endif PURPOSE TRICK H Attit titu titu Gat at struct do do do do ble ble ble ble do do do do ble ble ble ble do do ble ble 2 EAD de2 h de2 h om om eu eu ega0 3 egado ler0 4 lerdo omega 3 omegado euler 4 eulerdo lambda 3 theta ER ude 2 Header KOKCKCk k ck kck ck k ck ck KKK KKK ko ke x ke KARA x i r s I r s2 Ini E In Init r s angu r s2 ang Euler Euler Euler uler Eri nit angular velocity t angular acceleration it Euler parameters Euler parameters dot lar velocity ular acceleration parameters parameters dot axis angle trick models spacecraft attitude2 include attitude2 d Default data for attitude 2 ATTITUDE2 0mega0 0 r s 0 05 ATTITUDE2 omega0 1 r s 0 05 ATTITUDE2 omega0 2 r s 1 ATTITUDE2 eulerO 0 0 ATTITUDE2 eulerO 1 0 ATTITUDE2 euler0 2 0 ATTITUDE2 euler0 3 1 trick
28. a 2 A gt euler 2 pow A gt eu gt euler 11 A gt theta return 0 tA gt euler 2 A gt euler 2 0 5 2 0 erdot 1 A gt euler 2 A gt omega 0 A gt euler 3 A gt omega 1 A A gt omega 2 142 OM 2 A euler 3 A gt omega 1 A gt euler 0 A gt omega 1 A A gt euler 1 A gt omega 1 A ler 0 A gt euler 0 A gt euler 1 A r ler 0 A gt euler 0 A gt euler 1 A r ler 0 A gt euler 0 A gt euler 1 A r 2 acos A euler 3 PI 180 trick models spacecraft attitude2 src attitude2 deriv c FKKKKKAKAK TRICK HEADER KKKAKKKKKkk Try Trick integration define define define define define define define define define define PURPOSE KOR KK k kc k kck ck ck kck RARA kc kok ck ke ke e ke kv x include lt stdio h gt include math h include ns K1 0 K2 0 K3 0 JJ EL T2 13 SG OM PI W O OVO oo include attitude2 h 8 8 000253125 025 02 5 005 05 00116 1415926535897 int attitude2 deriv ATTITUDE2 A A gt omegadot 0 K1 A gt omega 1 A gt omega 2 JJ 11 SG A gt omega 1 12 OM OM K1 A gt euler 0 A gt euler 1 A gt euler 2 A gt euler 3 A gt euler 2 A gt euler 0 A gt euler 1 A gt euler 3 A gt omegadot 1 K2 A omega 2 A omega 0 JJ I2 SG
29. ation behaviors 33 Conclusion In conclusion we reject our null hypothesis that a variation of moment of inertia will result in an insignificant change in inherent stability of an orbiting satellite When the ratio of moments of inertia is greater than one the spacecraft is stable A ratio of moments of inertia less than one results in an unstable satellite This indicates that any modeling of rendezvousing satellites would be greatly eased by choosing a craft with a lower lateral and a higher axial moment of inertia It was noted that there is little difference in the magnitude of instability by varying the ratio of moments of inertia once an object becomes unstable Likewise there is little variation in the nutation angle history between the stable conditions with variation of the ratio of moments of inertia Therefore it can also be concluded that the satellite need only have a ratio of moments larger than one in order to simplify the rendezvous process This can be done either through the modification of the shape of the satellites or through altering their initial orientation This means that in order for a successful rendezvous the satellites would be best off being put in mutually stable attitudes through the use of on board controls before attempting to connect to one another From this experiment we can conclude that this stable attitude would exist where the ratio of moments of inertia is greater than one or where the satellite is lying
30. ced when using the velocity calculated through the HCW equations in an inverse square gravity environment This has disproven our hypothesis and the HCW equations cannot predict the velocity required to transfer 45 7 Visualization Linking Trick to Avizo 7 0 The aim of linking Trick to Avizo is to be able to visualize the simulations in real time Prior to the link Avizo would use predetermined data stored in the hx file to visualize the different movements associated with an object Now the data is no longer in the hx file instead it doesn t even exist until the visualization starts communicating with Trick in order to retrieve the data The serverconnect scro file was developed in order to establish the link between the numerical simulation and its visualization It requires the IP address of the server running the simulation and the port number in order to retrieve the data In order to retrieve the right data the variables assigned in the dre file are recalled The command used to obtain the IP address of the server in UNIX is displayed below accompanied by an example 46 sbin ifconfig eth0 Link encap Ethernet HWaddr 00 22 19 0F 9D BB inet addr 128 46 105 20 Bcast 128 46 105 255 Mask 255 255 255 0 inet6 addr fe80 222 19ff fe0f 9dbb 64 Scope Link UP BROADCAST RUNNING MULTICAST MTU 1500 Metric I RX packets 443071472 errors 0 dropped 1 overruns 0 frame 3470 TX packets 541776189
31. communication and multiple versions of code Files were being stored on both SVN and dropbox causing team members to have different versions of the code and making it difficult to know which version is the master code These issues were resolved by simply communicating with other team members In the entry level classes at Purdue there was a lot of emphasis on commenting code and this class was a great example why it is so important Running a simulation requires multiple files and for each team member to fully understand the function of each file it is important to comment code as much as possible When trying to debug code it became difficult when the purpose of an equation was unknown Team members have their own strengths and weaknesses and it is important to acknowledge them Tasks were split up among team members based on the classes that have been taken but sometimes after taking a class a student is constrained to think how they were taught from a textbook or class notes A team member with little experience in an area proved to be useful asking the right question that allowed our team to think outside the scope of the class and truly understand how an equation is applied Everyone thinks differently or goes about a problem in a different way and being open to a different point of view allows us to better understand the problem A great example of this is when red team was trying to use the Hill Clohessy Wiltshire HCW Equations To utili
32. dynamics and orbit mechanics we combined in order to see the combined effect Since one was affecting the other and vice versa the system had to be investigated as a whole The effect of attitude on orientation and the effect of orientation on drag and attitude both had to be included Team Focus The scope of the project was very open ended in order to allow each team to concentrate on what the students were more interested in The red team originally decided to focus on fuel efficiency by optimizing the rendezvous path of two spacecraft This proved to be difficult to do given the time constraints since a variety of methods had to be investigated so it was changed The new focus aimed to determine the AV necessary to transfer orbits based on the location of application along the initial orbit Team Goals The initial goal of the team was to determine the focus for the semester Throughout the semester two experiments were carried out that helped the team navigate towards the end result More specifically there were two sides to the project one was model simulation and the other was visualization In terms of simulation the equations for attitude and the orbit had to be determined Individual models for attitude and orbit were created and tested before they had to be put together in order to work with each other For visualization purposes the main goal involved linking Trick and AVIZO in order to visualize the maneuvers modeled in real time
33. e rod spacecraft and the disk spacecraft The first experiment has concluded that the orientation of the rod spacecraft is more unstable as compared to that of the disk spacecraft Hence the disk configuration is chosen for this experiment as seen in Fig 4 1 Moreover the dynamic and the kinematic equations of motion are given as shown below in equations 1 3 ul following a Body Two 3 1 3 sequence a DI P m Figure 4 1 This is the disk spacecraft on a circular orbit 2 J 2 O s0 1 7 0 0 120 6 8 8 2 5 SO 7 E2 60 6 6 1 265 28 Equation 1 0 17 26 8 03 5 Q 5 0 8 0 26 0 8 0 s Q Equation 2 2 e 0 s Q E0 6 0 26 0 6 0 6 s Q2 s 0 Q Equation 3 The governing factors between the rod and the disk spacecraft are the axial and the lateral moments of inertia In general for the former case the value of is less than the value of J On the other hand for the latter case the value of J is less than the value of I There are no integrator tolerances in Trick s Runge Kutta 4 and this is not something that is expected In terms of the results Figs 4 2 and 4 3 below show the behavior of the quaternions after performing numerical integration with respect to time for an equivalent of two orbits 18 Figure 4 2 This is the rod spacecraft attitude quaterni
34. edn Elsevier MA USA 4 Kane T R et al 1983 Spacecraft Dynamics 5 Howell K C Spring 2012 Spacecraft Attitude Dynamics Class Notes 6 NASA Johnson Space Center Automation Robotics and Simulation Division May 2008 Trick User s Guide 7 Brown T et al August 2011 Avizo the Supreme User s Manual 62 11 Appendix Axisymmetric Rigid Body in Circular Orbit Standalone Codes trick models spacecraft attitudel include attitudel h k TRICK H PURPOSE ifndef define typedef ATTITUDI endif at at SER dou dou dou dou dou dou dou dou dou dou dou dou CI A 1 uct ble ble ble ble ble ble ble ble ble ble ble ble r ELLE EAD om om eu eu om om eu eu titudel h titudel h ega0 3 egadot0 ler0 4 lerdot0 ega 3 egado ler 4 lerdo ER ude 1 Header KKKKK ck kck ck kckck KKK KKK ko ke x ke ke e e kx x lambda0 3 lambda 3 theta0 theta i r s Init angular velocity r s2 Init angular acceleration i Init Euler parameters Init Euler parameters dot r s angular velocity r s2 angular acceleration Euler parameters Euler parameters dot Init Euler axis Euler axis nit Euler angle uler angle HH trick mode
35. est relative position We ran several test cases and were successful in all of them In figure 1 the relative motion of the spacecraft is shown for an initial difference in relative velocities of 10 m s The separation at the time of the first impulse is 16 25 km Figure 2 is in the orbital frame such that the earth is positioned towards the negative x direction dyn orbit relpos 1 km SIM orbit RUN test Figure 8 1 Relative Motion of Spacecraft With Respect to the Target Initial Relative Velocity Separation of 10 m s 59 In figure 2 the red region of figure I is shown This region shows the near rendezvous behavior of the satellites 0 0001 0 00015 dyn orbit relposf I km SIM orbit RUN test Figure 8 2 Close up of Near Rendezvous Region from Figure 8 1 This rendezvous maneuver results in an error of 10 km which is within acceptable limitations being two orders of magnitude lower than the size of the spacecraft Therefore the satellites are considered to be successfully rendezvoused 60 9 Lessons Learned Throughout the semester red team has learned multiple lessons that can be applied in the workforce Working in teams is inevitable in industry and this class helped develop these team working skills Throughout the semester red team experienced common problems that happen in teams Lack of
36. for each was recorded 30 Results The spacecraft was varied from the disk shape to a rod shape by the same increments in both radius and height Figures 2 to 6 below show the nutation angle over a period of two orbits for this variation GE EE emque ee me eei Figure 5 2 First Spacecraft Figure 5 3 Second Spacecraft 31 Figure 5 5 Fourth Spacecraft 32 Options 1704 Plot SIM attitudel RUN test 150 1504 FA IE I PETERET EE ea IE Fe ert ERE ERU 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 2 dyn attitudel psi 0 d Figure 5 6 Fifth Spacecraft These figures show that when the lateral moment of inertia is less than the axial moment of inertia the spacecraft would be more stable On the other hand when the lateral moment of inertia is more than the axial moment of inertia the spacecraft would be unstable with deviations of nutation angle significantly greater than 1 This observation also shows that the stable forms did not differ from each other and also true for the unstable cases The ratio between these moments of inertia can be very similar such that the numerical integration resulted in very similar Euler parameters For the disk spacecraft i e stable this ratio varied from 1 35 to 1 80 In the contrary the rod spacecraft i e unstable had the ratio varied from 0 06 to 0 59 Using the same body reference frame similar resulting Euler parameters would result in very similar nut
37. heta 2 acos A gt euler 3 P1 180 return 0 trick models spacecraft attitude2 src attitude2 integ c FKKKKKAKAK TRICK HEADER KKKKKKKkk PURPOSE Try Trick integration HOR KK KK KK KK KK KK KK OK include sim services include integrator h include include attitude2 h int attitude2 integ INTEGRATOR I ATTITUDE2 A Load current states I gt state 0 A gt omega 0 I gt state 1 A gt omega 1 I gt state 2 A gt omega 2 I gt state 3 A gt euler 0 I gt state 4 A gt euler 1 I gt state 5 A gt euler 2 I gt state 6 A gt euler 3 Load derivates I gt deriv I gt intermediate step 0 A gt omegadot 0 I gt deriv I gt intermediate step 1 A gt omegadot 1 I gt deriv I gt intermediate step 2 A gt omegadot 2 I gt deriv I gt intermediate step 3 A eulerdot 0 I gt deriv I gt intermediate step 4 A gt eulerdot 1 I gt deriv I gt intermediate step 5 A gt eulerdot 2 I gt deriv I gt intermediate step 6 A eulerdot 3 Call the Trick integrator integrate I Unload new states A gt omega 0 I gt state ws I gt intermediate step 0 A omega 1 I gt state ws I gt intermediate step 1 A gt omega 2 I gt state ws I gt intermediate step 2 A gt euler 0 I gt state ws I gt intermediate step 3 71 A gt euler 1 A gt euler 2 A gt euler 3 return I gt state ws I gt i
38. is portNumber setLabel Port Number this portNumber setNumColumns 6 this portNumber set Value 7000 Creates the text field for entering the object names phobos wrl this newPortText targName this targName setLabel Name of Spacecraft this targName set Value phobos wrl 3t phobos2 wrl this newPortText targName2 this targName2 setLabel Name of Spacecraft this targName2 set Value phobos2 wrl rate to read data from server this newPortText cycle rate this cycle rate setLabel Read time interval this cycle rate setNumColumns 5 this cycle rate set Value I Total Number of Steps this newPortText numberSteps this numberSteps setLabel Total Iterations this numberSteps setNumColumns 6 this numberSteps setValue 100 Retrieve Data Button this newPortButtonList openSocket 1 this openSocket setLabel Connection this openSocket setLabel 0 Retrieve Data this openSocket setCmd 0 set timecall this cycle rate get Value global sat global timelnt global xPositionT 54 global yPositionT global zPositionT connect to server set sat socket simcom connect this ipAddress get Value this portNumber get Value get sim data timecall this targName get Value this numberSteps set Value timeInt max this time setMinMax 1 timeInt max HH HH SS get_sim_data collects data from the server and defines it
39. itude1 euler2 3 simcom send cmd sat socket var add dyn orbit vel 0 simcom send cmd sat socket var add dyn orbit vel 1V simcom send cmd sat socket var add dyn orbit vel 2 simcom send cmd sat socket var add dyn orbit2 vel 0 simcom send cmd sat socket var add dyn orbit2 vel 1 simcom send cmd sat socket var add dyn orbit2 vel 2 serverconnect scro script THHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHBHHHHHHHHHHHHHHHHHHHHHHBHHRHHRHHRHHRE Script used to connect Trick and Avizo ft TRHHHHHBHHHBHHHHHHBHHHHHHHHHHHHHHBHHHHHHHHHHHHHHHHHHHHHHHBHHHHHHHHHHHBHNES this proc constructor I clear 53 echo Sat connect program echo eeoa un echo echo To run simulation start the Trick simulator first echo but do not hit start until after the Retrieve Data echo button in Avizo is pressed scro ID this setVar scroTypeTranslateObject 1 Set global variables for access outside of constructor global sat global xPositionT global yPositionT global zPositionT Empties variables set xPositionT 0 set yPositionT 0 set zPositionT 0 master time slider this newPortTime time this time setMinMax 1 300 this time setIncrement I IP Address Box this newPortText ipAddress this ipAddress setLabel Server IP Address this ipAddress setNumColumns 30 this ipAddress setValue 127 0 0 1 Port Number Box this newPortText portNumber th
40. ls spacecraft attitudel include attitudel d Defa ATTITU ATTITU ATTITU ATTITU ATTITU ATTITU ATTITU 50095099890 El e El e El e El e El omega0 El omega0 El omega0 ulerO ulerO ulerO ulerO r s r s r s WONHRONF 65 0 0 6 0 0 0 0 0 9 ult data for attitude 1 69756473744125 97564050259824 trick models spacecraft attitudel include attitudel integ d define NUM_ STI define NUM VA INTEGRATOR sta INTEGRATOR deriv INTEGRATOR sta EP E Le te 12 RIABLES 7 alloc NUM VA alloc NUM ST WS alloc NUM STEP RIABLES EP se int kk for kk 0 kk lt NUM STEP kk INTEGRATOR deriv kk alloc NUM VARIABLES INTEGRATOR state ws kk alloc NUM VARIABLES INTEGRATOR stored data alloc 8 for kk 0 kk lt 8 kk INTEGRATOR stored data kk alloc NUM VARIABLES INTEGRATOR option Runge Kutta 4 INTEGRATOR init True INTEGRATOR first step deriv Yes INTEGRATOR num state NUM VARIABLES undef NUM STEP undef NUM VARIABLES trick models spacecraft attitudel src attitudel init c FKKKKKAKAK TRICK HEADER KKKKKKKKK PURPOSE Initialize attitude 1 include define define define define include JJ 184078 II 136217 OM 0 00116 SS 5 99
41. mega 2 SS OM 2 return 0 trick models spacecraft attitudel src attitudel integ c FKKKKKAKAK TRICK HEADER KKKKKKKKK PURPOSE Try Trick integration KKKKKK KKK KKK RK KARA RRA RARAS include sim services include integrator h include include attitudel h 65 int attitudel integ INTEGRATOR I ATTITUDE1 A Load current states I gt state 0 A gt omega 0 I gt state 1 A gt omega 1 I gt state 2 A gt omega 2 I gt state 3 A gt euler 0 I gt state 4 A gt euler 1 I gt state 5 A gt euler 2 I gt state 6 A gt euler 3 Load derivates I gt deriv I gt intermediate step I gt deriv I gt intermediate step I gt deriv I gt intermediate step I gt deriv I gt intermediate step I gt deriv I gt intermediate step I gt deriv I gt intermediate step I gt deriv I gt intermediate step Call the Trick integrator integrate A gt omega 0 return I Unload new states I gt s I gt s I gt s I gt s I gt s I gt s I gt s ta ta ta ta ta ta ta te ws te ws te ws te ws te ws te ws te ws I gt in I gt in I gt in I gt in I gt in I gt in I gt in I gt intermediate step A gt omegado A gt omegado A gt omegado A gt eulerdo A gt eulerdo A
42. models spacecraft attitude2 include attitude2 integ d define NUM STEP 12 define NUM VARIABLES 7 INTEGRATOR state alloc NUM VARIABLES INTEGRATOR deriv alloc NUM STEP INTEGRATOR state ws alloc NUM STEP int kk for kk 0 kk lt NUM STEP kk INTEGRATOR deriv kk alloc NUM VARIABLES 68 Z 3 GI Q HE HE RATOR state ws undef NUM STEP undef NUM VARIABLES wv a Il t ue E O Q 2 G lt D ps H D UJ E GI n I INTEGRATOR stored data alloc 8 for kk 0 kk lt 8 kk INTEGRATOR stored data kk alloc NUM VARIABLES INTEGRATOR option Runge Kutta 4 INTEGRATOR init True INTEGRATOR first step deriv Yes INTEGRATOR num state NUM VARIABLES trick model s spacecraft attitude2 src attitude2 init c KKKKKKkk h h KAKKKKKKKK TRICK HEADER PURPOSE Initialize attitude 2 KKKKKK k kc k kck ck ck ORK KK KK RK ke e KK include stdio h include lt math h gt include include attitude2 h define K1 0 8 define K2 0 8 define K3 0 define JJ 0 000253125 define I1 0 025 define I2 0 025 define I3 0 005 define SG 0 05 define OM 0 00116 define PI 3 1415926535897 int attitude2 init RETURN Always return zero ATTITUDE2 A INOUT Attitude 2 structure A gt omega 0 A gt omega0 0 A gt omega 1 A omega0 1 A gt omega 2 A omega0 2
43. n echo target x lindex sat positions 0 echo target y lindex sat positions 1 echo target z lindex sat positions 2 Figure 7 10 Displaying position in the Console 51 Multiple Spacecraft In order to add a second spacecraft in a different object the serverconnect scro file had to be edited in order to now start getting more variables from the Trick simulation simcom send cmd sat socket var cycle cycle rate simcom send cmd sat socket var add dyn orbit pos OM simcom send cmd sat socket var add dyn orbit pos 1 simcom send cmd sat socket var add dyn orbit pos 2 simcom send cmd sat socket var add dyn orbit2 pos OY simcom send cmd sat socket var add dyn orbit2 pos 1 simcom send cmd sat socket var add dyn orbit2 pos 2 Figure 7 11 Retrieving position data for two spacecraft The position data of the two spacecraft is stored in adjacent positions in the array with the first spacecraft data coming first The correct elements have to be used each time when translating the different spacecraft as shown below update phobos wrl setTranslation lindex sat positions 0 lindex sat positions 1 lindex sat positions 2 phobos wrl touch 1 phobos wrl fire update phobos2 wrl setTranslation lindex sat positions 3 lindex sat positions 4 lindex sat positions 5 phobos2 wrl touch 1 phobos2 wrl fire
44. n orbit pos 2 simcom send cmd sat socket var add dyn orbit vel 0 simcom send cmd sat socket var add dyn orbit vel IV simcom send cmd sat socket var add dyn orbit vel 2 Figure 7 6 Retrieving data from Trick The following while loop then gets the data from Trick and saves it in sim data in the appropriate format while I gets sat socket sim data 1 I set sat positions sim data format 0f sim data Figure 7 7 Saving data in sim data The next task was to translate the object using the command setTranslation x lt y gt lt z gt This is identical to manually translating an object from the transformation dialog window however now the script does it automatically and it updates constantly so that a continuous movement can be observed 50 2 Absolute Relative Local Relative Global Translation o o 0 Rotation 0 degrees o o 1 Scale factor i 1 1 1 Reset Close Figure 7 8 The Transform Editor Dialog update Phobos wrl setTranslation lindex sat positions 0 lindex sat positions 1 lindex sat positions 2 Phobos wrl touch 1 Phobos wrl fire viewer 0 redraw Figure 7 9 Translating object Additionally the position of the orbiting object is displayed on the Console so that numerical values can be validated echo sat positions echo echo Step expr counter timeInt mi
45. ns is the dependent variable Experiment The initial velocity of the first spacecraft decreased by 0 1 m s after each trial while the initial velocity for the second spacecraft remains constant at 7 7548 km s circular velocity with a radial distance of 6 628 14 km The plots from the experiment can be seen in Figures 4 12 37 Page SIM orbit RUN test 600 800 1000 1200 1400 1600 1800 2000 2200 2400 2 dyn orbit magrelpos 0 01 0 015 0 02 dyn orbit relpos 1 km Figure 6 2 Change in Initial Velocity km s 0 005 m s 38 Page SIM orbit RUN test 200 400 600 800 1000 1200 1400 1600 1800 2000 2200 2400 dyn orbit magrelpos dyn orbit relpos 1 km Figure 6 3 Change in Initial Velocity km s 0 025 m s 39 Page SIM orbit RUN test 0 05 0 1 dyn orbit relpos 1 km 200 400 600 800 1000 1200 1400 1600 1800 2000 2200 dyn orbit magrelpos Figure 6 3 Change in Initial Velocity km s 0 05 m s 40 Page SIM orbit RUN test yn orbit relpos 1 km 1000 1200 1400 1600 1800 2000 2200 2400 T dyn orbit magrelpos Figure 6 4 Change in Initial Velocity km s 0 1 m s 41 Page SIM orbit RUN test ttt tty tt tt Ea 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000 dyn orbit magrelpos yn orbit relpos 1 km Figure 6 5 Change in Initial Velocity km s
46. ntermediate step 4 I gt state ws I gt intermediate step 5 I gt intermediate step I gt state ws I gt intermediate step 6 trick sims SIM attitude2 S define sim object sim sys sim object Services incl EXECUTIVE exe tomatic tomatic last ude o sim services exec var server sync Inout sim services input processor input processor INPUT PROCESSOR I D sim services include executive d amp sys exec ip EX ECUTIVE BL o amp Sys exec spacecraft attitude2 ATTITUDE2 attitude2 spacecraft attitude2 include atti tude2 d sim_services include INTEGRATOR integ spacecraft attitude2 include atti initialization spacecraft attitude2 attitude2 init ATTITUDE2 A amp dyn at derivative spacecraft attitude2 attitude2 deriv ATTITUDE2 A amp dyn a integration spacecraft attitude2 attitude2 integ INTEGRATOR I amp dyn integ ATTITUDE2 A amp dyn attitude2 dyn integrate 0 1 dyn tude2 integ d titude2 ttitude2 Vg r r r trick sims SIM attitude2 RUN test input include S default dat include Modified data attitude2 dr stop 3000 72
47. ocus of the second experiment onward is more emphasized on the orbital aspect of the project the Equations of Motion are taken directly from the Spacecraft Dynamics textbook However these were derived into the quaternion terms to avoid singularities when performing the numerical integration The kinematic Equations of Motion are going to be the same as the one in Eq 2 Moreover the complete dynamic and the kinematic equations of motion are given as shown below in Eqs 4 6 Ul following a Body Two 3 1 3 sequence y J 0 K 0 0 120 K ee 66 1 K 0 0 2 to o 6 K 8 6 1 2e 251 Equation 4 2 K 0 0 6C K 1 28 22 amp amp 6 25 03 s Q o 0 26 0 0 amp 0 5 0Q Equation 5 2 e 0 s Q E0 6 0 26 0 600 s Q2 s 0 Q Equation 6 The following initial conditions are then specified in the attitude2 d file The first two initial angular velocities can be increased to 0 1 rad s for a larger initial perturbation However the third initial angular velocity should not be changed as it is incorporated in the Equations of Motion found in the Trick codes The files are named attitude2 init c and attitude2 deriv c respectively In this model the nutation angle starts at zero Q 0 05 rad s 1 rad s 0 ts es EN 0 e 1 The integration step i
48. onnect scro select serverconnect scro setPickable 1 Figure 7 3 Annotated script for the hx file 48 Data 3 X fTrickAvizoLink V3 serverconnect scro time 0 bb Server IP Address 128 46 105 20 Port Number 7000 Name of Spacecraft Phobos wrl Name of Spacecraft Phobos2 wri Readtimeintervak 1 Total Iterations 100 HA b4 b4 b1 b4 b4 01 A 494 Dj mm Figure 1 4 The Properties box of the serverconnect scro module with values assigned from the hx file Figure 7 5 The arrangement of the models and the serverconnect scro module 49 One Spacecraft To simulate and visualize one spacecraft in orbit around the Earth the serverconnect scro file had to first be developed and included in the simulation file The hx file of the simulation was edited in order to include the new module but also to assign the parameters in the properties box of the module The script shown below connects to Trick and retrieves the data in the dyn orbit pos and the dyn orbit vel vectors The velocity is not currently used in the visualization but the position vector is used to display the position of the object that is in orbit simcom send cmd sat socket var cycle cycle rate simcom send cmd sat socket var add dyn orbit pos 0 simcom send cmd sat socket var add dyn orbit pos 1 simcom send cmd sat socket var add dy
49. ons Figure 4 3 This is the disk spacecraft attitude quaternions The main things to be noted in coding the Trick part are the constants and the initial conditions As mentioned earlier it is evident that the axial and the lateral moments of inertia are to be kept constant However in reality this would change as the spacecraft performs orbital maneuvers and thus reducing the amount of fuel Moreover the Q and the s terms are also kept constant as shown in Fig 4 5 In terms of the initial conditions the term 3 is set to 6 rad s Moreover the initial nutation angle is set to 8 deg which affects the initial values of the quaternions 20 Default data for attitude 1 ATTITUDE1 omega0 0 r s 0 ATTITUDE1 omega0 1 r s 0 ATTITUDE1 omega0 2 r s 6 ATTITUDE1 euler0 0 0 ATTITUDEl eulerO 1 0 069756473744125 ATTITUDEl euler0 2 0 ATTITUDEl euler0 3 0 997564050259824 Figure 4 4 These are the initial conditions of the spacecraft attitude as coded in Trick define JJ 184078 define II 136217 define OM 0 00116 define SS 5 99884 Figure 4 5 These are the constants used throughout the numerical integration scheme 21 The attitude model used in the later part of this project is based on the model for a rectangular box spacecraft The main assumptions are still the same in which all spacecraft follow the model for circular orbit and drag can be neglected Since the f
50. r 1 A gt omega 1 A gt euler 2 A gt omega 2 SS 0M 2 return 0 trick models spacecraft attitudel src attitudel deriv c FKKKKKKAK TRICK HEADER KKKKKKKKK PURPOSE Try Trick integration KKKKKK KKK KKK KKK ck kck ck KKK KKK ke ke e ke ke include stdio h include math h include include attitudel h define JJ 184078 define II 136217 define OM 0 00116 define SS 5 99884 int attitudel deriv ATTITUDE1 A A gt omegadot 0 SS A omega 1 1 JJ II A gt omega 1 A gt omega 2 12 OM OM A gt euler 0 A gt euler 1 A gt euler 2 A gt euler 3 A gt euler 2 A gt euler 0 A gt euler 1 A gt euler 3 A gt omegadot 1 SS A omega 0 1 JJ II A gt omega 0 A gt omega 2 6 OM OM A gt euler 2 A gt euler 0 A gt euler 1 A gt euler 3 1 2 pow A gt euler 1 2 2 pow A gt euler 2 2 A gt omegadot 2 0 A gt eulerdot 0 A gt euler 1 A gt omega 2 SS 0M A gt euler 2 A gt omega 1 A gt euler 3 A gt omega 0 2 A gt eulerdot 1 A gt euler 2 A gt omega 0 A gt euler 3 A gt omega 1 A gt euler 0 A gt omega 2 SS 0M 2 A eulerdot 2 A gt euler 3 A gt omega 2 SS OM A gt euler 0 A gt omega 1 A gt euler 1 A gt omega 0 2 A gt eulerdot 3 A gt euler 0 A gt omega 0 A gt euler 1 A gt omega 1 A gt euler 2 A gt o
51. re are times when the files are not all added or deleted from svn because of a warning or restriction or maybe a team member wants to add and overwrite a code that had previously been added to svn Useful commands in these situations are svn add force file name and svn delete force file name Thankfully at times svn will let you know when commands need to be forced like the example below svn Use force to override this restriction svn anomaly c is not under version control By force adding and deleting it will overwrite add delete files without any problems It should be noted though that using these commands is permanent Once a file is force deleted than it is gone for that team member s copy of the code After making any changes to the project added new files deleted files altered files the changes need to be committed To commit a change use the command svn commit m Description about what was changed It is important Before and after committing changes it is important to see which version of the project you are at by doing svn update With multiple team members making changes at the same time it is important that both of you are not trying to commit changes to the same file at the same time Using the command svn info gives more information about the latest version and svn diff 2 1 shows the changes that were made between the two versions with 2 for example being the second version and one being the first ver
52. s 0 1 s and can be found in the 5 define This is the same as the one found in the dre tc1 For the context of this investigation the integration time is limited to only 3000 s In theory Eq 4 governs the time parameter as a function of the number of orbits Moreover in the attitude2 init c and the attitude2 deriv c files the mean motion Q is initially set as a constant However as the attitude and the orbit models are combined the radius is actually fed into the mean motion parameter as governed by Eq 8 22 t Equation 7 Q Equation 8 In terms of the moment of inertia consider Fig 4 6 and Eqs 9 11 Similarly Eq 9 can then be used to calculate the moment of inertia at any face of interest The ratios of the moments of inertia found in the Equations of Motion are defined in Eq 10 On the other hand Eq 11 is used to calculate the axial moment of inertia of the rotor In actuality the mass changes according to the fuel consumption However in this model the masses are simplified as a constant Lastly the rotor speed is a constant as well This is incorporated in the dynamic Equations of Motion shown in Eq 1 b Figure 4 6 This is a guideline to calculate the moments of inertia I 0 y Equation 9 L I I I B K 22 K 2 3 K h Equation 10 I I L 2 J 3 Equation 11 23 Three Possible Initial Orientations for a 3 Unit CubeSat A typical 3 unit CubeSat has dimensions of 0 1 m x 0 1 m
53. sion It is very important to get in the habitat of committing a file right after adding it Problems can arise if multiple changes are being made in different folders and they have not been committed yet If a mistake is made those changes can be undone by using svn revert but this command only effects local changes and does not undo changes that have already been committed To undo changes that have already been committed it is useful to use the command svn merge 2 name of file svn merge c 2 cannon deriv c It can be checked if files have been committed to svn by looking for a svn file that exists within the folder that you committed It is a hidden file which can be seen by using Is a within the folder An example can be seen below anomaly c hohmann complete c orbit deriv c orbit integ c svn atmospheric c hohmann init c orbit init c rel pos c By deleting the svn file it essentially removes those files from svn Our team experienced an error with svn because of the hidden svn file At the time not all the members were comfortable using svn to add or delete files so dropbox was also used as a way to share files These files were then taken and committed to svn When other team members tried running the updated code on svn it would not compile properly because the other team members did not have any files within attitude2 Trying to force add this folder would cause the warning below svn warning
54. spect to Earth m orbit fixed reference frame b body fixed reference frame o angular velocities rad s OQ initial angular velocities rad s O angular acceleration rad s quaternions quaternions derivatives J axial moment of inertia kg m I lateral moment of inertia kg m Q mean motion rad s S spin input rad s Euler axis 0 Euler angle deg O angular velocities rad s On initial angular velocities rad s O angular acceleration rad s K ratio of moments of inertia E quaternions En initial quaternions E quaternions derivatives J axial moment of inertia of the rotor kg m I lateral moment of inertia of the spacecra t kg m Q mean motion rad s S spin input rad s rotor speed rad s t time s V number of orbits u standard gravitational parameter m s R radius m m mass kg r radius of rotor m orbit fixed reference frame b body fixed reference frame Oh initial angular velocities rad s Ap rotor speed rad s y nutation angle deg 1 Introduction Class Background The project was the result of a two semester course During the first semester the basics of Trick and C were introduced The second semester brought the introduction to the visualization package AVIZO and the project work Through the project programming skills in Trick and C were further developed Through this project attitude
55. te their copy of the SVN code satellite sim and have that team member recheck out these files To make SVN as efficient as possible the most updated code should be able to be run within the SVN project It would be very tedious to copy and transfer files from the SVN project to the home directory to run files In order to run simulations within SVN there needs to be a trick profile To accomplish this task the trick profile that is located in the home directory Trick profile 07 23 1 needs to be copied into satellite sim Each team member has their own individual trick profile so the trick profile that was copied to satellite sim needs to be altered so that each team member can use it Changes that were made to the trick profile can be seen below TRICK HOME home lagrange a marchand files trick 07 23 1 export TRICK HOME TRICK USER HOME SHOME MySVNProjects satellite sim trick sims export TRICK USER HOME TRICK CATALOG HOME SHOME MySVNProjects satellite sim trick catalog export TRICK CATALOG HOME TRICK USER PROFILE SHOME MySVNProjects satellite sim Trick user profile export TRICK USER PROFILE TRICK CFLAGS TRICK CFLAGS ISHOME MySVNProjects satellite sim trick models The trick profile located in the home directory is still what is going to be used when running a simulation unless the user switches to the trick profile that was created in satellite sim Users can switch their trick profiles
56. the change in velocity required to perform a Hohmann transfer A Hohmann transfer is a transfer of 180 degrees that can be used to reach a higher orbit or drop to a lower orbit It is illustrated in figure 3 3 The figure shows the parking orbit which is an initial orbit the transfer orbit and the mission orbit which is the final orbit The dot that connects the initial orbit and the transfer orbit is referred to as the Periapsis of the transfer orbit and the point at which the transfer orbit intersects the final orbit is called the Apoapsis mission orbit Figure 3 3 Hohmann Transfer In order to initiate the transfer orbit an increase in velocity is required and must be tangential to the initial orbit This will create an elliptical orbit and the Periapsis will be at the point where the velocity was increased If the spacecraft does not make any changes in velocity it will remain on the transfer orbit passing through the Periapsis and Apoapsis indefinitely Another change in velocity is required in order to circularize the orbit so that it will remain in the final orbit This change in velocity is required to be implemented at the Apoapsis which is 180 degrees from the Periapsis The HCW equations will be used to calculate the changes in velocity required in order to successfully transfer into the final orbit The HCW equations are derived from equations of motion below X 2ny 3n x 0 Equation 4 P y 2nx 0 Equation 5 Y Z n z
57. trick is an easier solution than manually trying to add team members to the group since everyone who has access to trick are part of the group jsctrick When adding team members manually team members were still unable to checkout files Although changing the group to jsctrick works it does not restrict other teams from accessing red team s folders Now that team members have access to satellite sim the next step is to check out the folder When checking out files it is helpful to have a folder that contains SVN projects mkdir MySVNProjects Within MySVNPorjects folder use the command svn checkout file path to repository PROJECT FOLDER NAME Eg svn checkout file home lagrange a marchand files class files team files redteam satellite sim A new SVN project only needs to be checked out once Now with a checked out version of satellite sim files can be imported or added to it Most svn commandis are similar to C except with the addition of svn svn mv svn rm svn mkdir etc Typing svn help in the command window will display the possible commands that can be performed in SVN For more information on a particular SVN command type svn help subcommand svn help mv One method of adding files to SVN is to use the command svn import path to your code file path to repository PROJECT FOLDER NAME m Description Eg svn import trick sims SIM orbit file home lagrange a marchand files class files team files redteam satellite sim
58. verconnect scro script set Value SCRIPTDIR serverconnect scro Note The previous lines place a new module in the pool name it serverconnect scro and calls the scro module with the same name found in the same directory as the hx file serverconnect scro setIconPosition 285 158 serverconnect scro setVar scroTypeTranslateObject 1 serverconnect scro setVar scroTypeTranslateObject 1 serverconnect scro fire serverconnect scro time setMinMax 1 300 serverconnect scro time setSubMinMax 1 300 serverconnect scro time setValue 1 serverconnect scro time setDiscrete 0 serverconnect scro time setIncrement I serverconnect scro time animationMode once serverconnect scro ipAddress setState 128 46 105 20 serverconnect scro portNumber setState 7000 Note The two lines above assign default values to the ipAddress and portNumber boxes in the module properties It is important to note that the values set in the hx file will override any values that are already set in the scro script serverconnect scro targName setState Object wrl serverconnect scro targName2 setState Object2 wrl Note The two lines above change the names of the objects that will be moved based on the simulation results serverconnect scro cycle rate setState 1 serverconnect scro numberSteps setState 100 serverconnect scro applyTransformToResult 1 serverconnect scro fire serverconnect scro setViewerMask 65535 serverc
59. x sat positions 1 echo target z lindex sat positions 2 echo el lindex sat positions 6 echo e2 lindex sat positions 7 echo e3 lindex sat positions 8 echo angle lindex sat positions 9 echo sat positions echo echo SC2 Step expr counter timeInt min echo target x lindex sat positions 3 echo target y lindex sat positions 4 echo target z lindex sat positions 5 echo el lindex sat positions 6 echo e2 lindex sat positions 7 echo e3 lindex sat positions 8 echo angle lindex sat positions 9 set counter expr counter 1 set timelnt max expr counter timeInt min THHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHBE destructor is called when scro is destroyed TRHHRHHHHHBHHBHHBHBHHBHHHHHHHHHHHHHHHHHHHHHHHHHHHHHBHHBHHNHE this proc destructor THHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHE the compute method is called whenever a port has changed THHHHHHHHHHHHHHHHHHHHHHHHHHHHBHHHHHHHHBHHHHHHHHBHHHHHHHHHHHHHBHHHHHHHBE this proc compute 56 when the time slider is touched translate object if this time isNew f set tminmax this time getMinMax this translateObject this targName get Value this time get Value lindex tminmax 0 lindex tminmax 1 HE f translateObject
60. ze these HCW equations in Trick it required the team to understand its limitations the information that is needed to use it and what information can be retrieved from using these equations This class offered a lot of programming experience exposing the team to Trick simulations TCL and applying C in Trick Trying to visualize these simulations also required the team to learn Avizo Learning a new program or a new programming language can be difficult especially when there are limited resources to learn it Like everything else there is a learning curve In the workforce there will most likely be a new programming language that will have to be mastered The more exposure there is to different programs the easier it will be to learn a new one Overall this class introduced red team to the lessons that would bed learned in industry allowing the team to learn from them at an early stage and know how to deal with these problems when they are seen again in industry This project allowed red team to apply our classes in orbital mechanics and attitude dynamics and see how they interact Having an idea is great but actually implanting it in code and visualizing it made the class worthwhile 61 10 References 1 Chobotv V A 2002 Orbital Mechanics g edn AIAA Education Series VA USA 2 Howell K 2012 Orbit Mechanics Class Notes Purdue University West Lafayette IN USA 3 Curtis H 2010 Orbital Mechanics for Engineering Students one
Download Pdf Manuals
Related Search
Related Contents
Mode d`emploi - CASIO Europe polysello - Productos-Bituminosos-S.A. HP ProtectTools Funktionen comment creer son environnement d`apprentissage personnel Graco 333013B User's Manual Rita-51 USER`S GUIDE Arzum AR232 わずか60秒で デジター=診断 Car compressor Viair 400H (40042) ACTES DU COLLOQUE - Ministère de la santé Copyright © All rights reserved.
Failed to retrieve file