Tutorials

Table of Contents : Introduction to the Open-Sessame Framework : Tutorial Answers Page

The following sections are sets of tutorials meant to lead the user through the basics of using the Open-Sessame Framework all the way to creating a full spacecraft simulation application. Each section is a listing of a textual description of the problem to be solved, followed by a reference to the answer sheet. Don't cheat! Following the successful completion of each lesson, the user should move onto the next lesson until all the tutorials are complete.

Running Tutorials:
To build and run a tutorial, (after writing your file, e.g. myFile.cpp) follow the following instructions:
  1. Put the .cpp file in the spacecraft/src/test directory:
     cp myFile.cpp spacecraft/src/test 
                cd spacecraft/src/test
    or use whatever method you choose for getting it there (ftp, sftp, scp, drag -n- drop, mv, etc.)
  2. Build the program by running the generalized makefile with the target of your source file, minus the cpp extension:
     make myFile 
  3. Run the program in the same directory (the executable will be the same as the source file minus the extension):
     ./myFile 
  4. Debug the code (unless your implementation was perfect, then check your answers)

Rotation Tutorials

  1. Create a Quaternion that has the initial parameters (0.5,0.5,0.5,0.5).
  2. Output this quaternion to the console in both quaternion and Modified Rodriguez Parameters (MRP) form.
  3. Create a Direction Cosine Matrix corresponding to a 321 rotation with angles: 10, -30, 150 degrees.
  4. Create 2 "Rotation"s that are intialized by the quaternion and Direction Cosine Matrix.
  5. Determine the successive rotation of these two rotations and output to the console in DCM form.
  6. Verify that the answer you got was the correct (expected) one.

Tutorial Answers Page

Utility Tutorials

  1. Create an ssfTime object, set the epoch to the current real time, and the stored 'current' time to 50 seconds later. Output both of these in DateTime and JulianDate format to the console.
  2. Plot a Matrix of values corresponding to the for using the Open-Sessame GnuPlot interface.
  3. Create a linear interpolation of the function using a step-size of 0.1

Tutorial Answers Page

Attitude Tutorials

  1. Create an AttitudeState object instance that is initialized to an aligned rotation in the Orbit-Inertial Frame (attitudeframe not yet implemented fully).
  2. Integrate an attitude for 50 seconds using the following conditions:
  3. Store the attitude to a text file.
  4. Plot the attitude history using GnuPlot.
  5. Store the attitude in DirectionCosineMatrix format in a MatLab file.

Attitude Tutorial Answer

Orbit Tutorials

  1. Create an OrbitState object instance that is initialized to the current state of the spacestation in inertial coordinates.
  2. Convert to ECEF coordinates and output to the console.
  3. Integrate an orbit for 2 orbits using the following conditions:
  4. Store the position and velocity to a text file.
  5. Plot the orbit position vector using GnuPlot.
  6. Store the orbit Keplerian parameters in a MatLab file.

Orbit Tutorial Answer

Coupled Attitude & Orbit Tutorials

  1. Create an Environment object of the Earth using the above (Orbit & Attitude) disturbance force & torque functions.
  2. Create a Propagator that will propagate the above Orbit & Attitude objects and using the Environment object.
  3. Propagate the orbit and attitude for 2 orbits.
  4. Plot the position and attitude using gnuplot.
  5. Propagate another 2 orbits.
  6. Add the new states to the previously made plots.

Coupled Tutorial Answers


Generated on Wed Aug 6 12:59:10 2003 for Open-Sessame Framework by doxygen1.3