Sail Functions

Sail Module

Directory List

Actuator Analysis AttitudeDynamics
Control Coordinates DemoFuns
Demos/Actuator Demos/Control Demos/Coordinates
Demos/Disturbances Demos/Dynamics Demos/Graphics
Demos/Guidance Demos/Integrated Demos/Missions
Demos/Optimization Demos/SailDesigns Demos/SailEphem
Demos/SailModeling Disturbances GAOT
Graphics Guidance Missions
OptTestFuns Optimization OrbitDynamics
SailData SailEphem SailModeling
Utilities


Actuator

Determine mass positions from a desired center of mass.
Compute commanded gimbal rates based on commanded angles and a fixed rate.
Solve a three-axis control vane problem using fminsearch.
Solve a two-axis control vane problem using Newton's method.
Sail actuation function computing needed CM to produce a given torque.
Compute angle commands for roll control using sail vanes.

Back To Top

Analysis

Compute the sail acceleration needed for a displaced lunar Lagrange halo.
Initial conditions for a Sail halo in the Earth-Moon system.
Compute non-Kepler orbit periods from parameters in planetary radii.
Sail parameters for non-Keplerian orbits near a planet.
Sail lightness and pitch for a sun-centered displaced non-Keplerian orbit.
Optimal orbit rate for minimizing required sail lightness parameter.

Back To Top

AttitudeDynamics

Example system RHS which incorporates FMovingBody.
Moving body dynamics model with instantaneous velocities.
Rigid body right-hand-side for Sail module.
Rewrite of FTB in preferred sail module format
Attitude RHS with time varying inertia of a single body.
Calculate angular momentum of boom system and update the body rates.
Compute the mass data structure.
Gimballed boom dynamics model for fixed gimbal rates.

Back To Top

Control

Sail planet-centered RHS with rho/z control via sail pitch angle.
Correct sail pitch using elevation, dElevation = -dPitch.

Back To Top

Coordinates

Angles to unit vector using McInnes' convention. u will be AWAY from the sun.
Angles and a reference frame to unit vector.
Compute an equivalent torque sequence from an attitude profile.
Compute a rotation matrix for cone and clock from the reference frame
Computes inclination from cartesian elements
Apply a clock angle convention between McInnes, PSS, and JPL.
Apply a selected cone/clock sign convention for angle ranges.
Compute a quaternion from cone and clock angles.
Compute a unit vector from cone and clock angles.
Transforms modified Keplerian elements to equinoctial elements.
Transform to ECI frame from tangential coordinates.
Compute inclination from modified equinoctial coordinates.
Transforms modified equinoctial elements to Keplerian elements.
Transforms modified equinoctial elements to r and v.
Transform from ECI to planet-fixed axes.
Quaternion from inertial to the local rotating sun-sail frame.
Compute the steering rotation keeping the body axis aligned with Y.
Computes cone and clock angles from an inertial to body quaternion.
Cone and clock angles (alpha,delta) to inertial quaternion.
Transforms elements r and v to modified equinoctial.
Convert sail steering angles to a quaternion.
Computes cone and clock angles from a unit vector.

Back To Top

DemoFuns

Right hand side for cartesian orbital equations. Accepts a data structure
Combined point-mass orbit and fixed-rate moving body dynamics model.
S4 Sail simplified deployment dynamics from reference.
The function f = x'*x
Planar heliocentric orbit problem with specular solar disturbance force.
The function f = 100*(x(1)^2-x(2))^2 + (1-x(1))^2
Minimize the function f = 3x^3 + 5x^2 -2x + 3
Nonlinear sail RHS with area control.
Computes the analytical cost for Zermelo's problem.
Computes the analytical lambda for Zermelo's problem.
Cost function of Zermelo's differential equations.

Back To Top

Demos/Actuator

Demonstrate computing moving mass positions
Demonstrate computing angles for a sail with a pair of vanes.
Demonstrate boom dynamics and control using TBModel/FTB functions.
Demonstrate VaneAngles for a CAD model
Demonstrate computing angles for a sail with four vanes.

Back To Top

Demos/Control

Attitude control of a sail using ballast masses in-plane.
Demonstrate gimballed boom control.
Demonstrate gimballed boom actuation with set gimbal commands.
Demonstrate boom dynamics and control using TBModel/FTB functions.
Attitude control of a sail using control vanes.

Back To Top

Demos/Coordinates

Demonstrate McInnes' guidance and coordinate functions.
Demonstrate sail reference frames in different orbits.

Back To Top

Demos/Disturbances

Compare the solar pressure force for flat and billowed circular sails.
Compare the solar pressure force for ideal and nonideal circular sails.
Demonstrate the solar sail disturbance model in Earth orbit.
Demonstrate the solar sail disturbance model in heliocentric orbit.
Compare the solar pressure force for uniform and irregular materials.
Compute sail force over incidence angle.
Demonstrate the solar pressure force function using a striped sail quadrant.

Back To Top

Demos/Dynamics

Example orbit propagation problem from an AIAA student challenge.
Sail attitude evolution under disturbances. No orbit dynamics.
Verify momentum conservation and rate adjustment for gimbal commands.
Simulate a sail halo about a Lunar Lagrange point. The orbit is unstable.
Demonstrate the moving body attitude RHS.
Simulate a non-Keplerian orbit in a cylindrical planet-centered frame.
Simulate a non-Keplerian sail orbit in a cylindrical sun-centered frame.
Demonstrate combined simulation for a sail orbiting the Earth.
Sail orbit contours.

Back To Top

Demos/Graphics

Draw representative patches for a sail rotated by cone/clock angles
Demonstrate sail attitude plots that do not require a CAD model.
Demonstrate sail force plotting functions.
Demonstrate sail simulation plots
Demonstrate DrawSailMeshVectors for different sail models.

Back To Top

Demos/Guidance

Earth-orbit sail analysis with sail aligned to LVLH.
Simulate a geocentric locally optimal trajectory using the control laws
Planar heliopause mission simulation.
Planar heliopause mission simulation.
L1 Diamond formation
Simulate a heliocentric locally optimal trajectory.
Computes optimal semi-major axis and eccentricity control.
Sail SMA change demo

Back To Top

Demos/Integrated

Combined guidance and control demo with fixed rate two-body dynamics.

Back To Top

Demos/Missions

Fly near an invariant parabolic manifold and control to the displaced orbit.
Simulate raising to graveyard orbit from GEO.
Simulate inclination change in GEO orbit.
Demonstrate combined simulation for a sail in a LEO 28.5 degree orbit.
Simulate a solar sail in orbit near the earth and moon.
Demonstrate combined simulation for the Solar Polar Imager mission.
Solar Polar Imager demo with JPL optimal trajectory data.
Demonstrate combined simulation for a sail in ST9 orbit.
Simulate semi-major axis change in a dawn-dusk sun-synchronous orbit.
Demonstrate combined simulation for a sail in interplanetary orbit.

Back To Top

Demos/Optimization

Demonstrate locally optimal trajectories. Uses equinoctial elements.
Test a nonlinear equation solver for computing cone and clock.
Do 10 tests on GAOT, simulated annealing and downhill simplex.
Plot the 5 De Jong functions.
Orbit propagation test.
Demonstrate the Trajectory optimization function for sails in 2D orbits.
Demonstrate 3D optimization.
Demonstrate the trajectory optimization function for low thrust.
Compute the Zermelo cost function as a function of costate.
Demonstrate the Trajectory optimization using the Zermelo problem

Back To Top

Demos/SailDesigns

A billowed, square, nonideal sail in the Y/Z plane.
Build a 6U Sail.
Design a circular nonideal sail with billow using SailMesh.
Cone sail model
CAD model of the Cosmos-1 solar sail.
A specular spherical sail, i.e. ECHO-2
A flat, square, nonideal sail in the Y/Z plane, using CP1 properties
A flat, square, specular sail in the Y/Z plane.
Design a gimbaled boom specular sail model with two bodies.
Design a specular sail model with a control boom and vanes.
Design a specular (plate) sail model with two transverse control masses.
Design a specular (plate) sail model with two control vanes.
A billowed quadrant sail demonstrating SailMesh. Uses CP1 properties.
40 m Scalable Sail, for deployment analysis.
Design a gimbaled boom sail model with two bodies.
Design a nonideal sail model with four control vanes.
A flat, specular sail for GEO simulations.
Design a square sail with four striped quadrants. Uses CP1.

Back To Top

Demos/SailEphem

Demonstrate JPL ephemeris for the solar system.

Back To Top

Demos/SailModeling

S4 (ATK's scalable sail) deployment demo.
Sail dimensions as a function of payload mass

Back To Top

Disturbances

Return a default data structure for SailDisturbance.
Return a default data structure for SailEnvironment.
Transformation matrix for an arbitrary number of single axis rotations.
Convert McInnes optical coefficients to PSS format.
Return a default profile structure for SailDisturbance.
Compute the forces and torques on a solar sail vehicle.
Space environment models. Designed to work with SailDisturbance.
Combined thermal and optical solar pressure force model.

Back To Top

GAOT

Form:
Adjswap mutation performs a swap of two adjacent
Arith crossover takes two parents P1,P2 and performs an interpolation
Return the float number corresponing to the binary representation
Form:
Binary mutation changes each of the bits of the parent
Boundary Mutation changes one of the parameters of the parent and
Determine the number of bits to represent a float number to the
Determines the value of the Corana function at point sol.
Determines the value of the Corana function at point sol.
Function to minimize the Corana function.
Cyclic crossover takes two parents P1,P2 and performs cyclic
The delta function is the non-uniform distributions used by the nonUniform
Calculates distances between vectors of points.
EnhancederXover crossover takes two parents P1,P2 and performs
Er crossover takes two parents P1,P2 and performs edge recombination
Return the binary representation of the float number fval.
Form:
Form:
GA run a genetic algorithm.
Form:
Form:
This evaluation function takes in a potential solution and two options
Introduction to the Genetic Optimization Toolbox
Introduction to the Genetic Optimization Toolbox
Demonstration evaluation function used in gademo1.
Use of the Genetic Optimization Toolbox
This is a reference for writing evaluation, operator, selection and
Heuristic crossover takes two parents P1,P2 and performs an extrapolation
Initializega creates a matrix of random numbers with a number of rows
Initializeoga creates a matrix of random permutations with a number
Inversion mutation inverts the bits or permutation between two
Linearorder crossover takes two parents P1,P2 and performs linear order
Returns 1, i.e. terminates the GA when the maximal_generation is
Multi-Non uniform mutation changes all of the parameters of the parent
Non uniform mutation changes one of the parameters of the parent
NormGeomSelect is a ranking selection function based on the normalized
Returns 1, i.e. terminates the GA, when either the maximal_generation
Form:
Orderbased crossover takes two parents P1,P2 and performs order
Parse is a function which takes in a string vector of blank separated
Partmap crossover takes two parents P1,P2 and performs a partially
Form:
Roulette is the traditional selection function with the probability of
Shift mutation performs displaces one random genein a permutation
Simple crossover takes two parents P1,P2 and performs simple single
Uniform mutation changes one of the parameters of the parent based on
Swap mutation exchanges the positions of two randomly chosen genes in
Three swap mutation performs a three way swap of three randomly
Performs a tournament selection.
Form:
Uniform mutation changes one of the parameters of the parent based on
Uniform crossover takes two parents P1,P2 and performs uniform

Back To Top

Graphics

Plot a patch of a sail oriented to the given cone and clock angles.
Represent the Y/Z plane with a circle with arrows for +X/+Y only.
Draw cone and clock angles in 3D using translucent patches in a new figure.
View a rotated CAD model and the sun vector.
Draw the sail using DrawSCPlanPlugIn and then adjust colors and lighting.
Draw cone and clock angles using one color per frame.
Draw a sail mesh with force vectors at each face.
Propagate and plot the planar trajectory.
Plot a trajectory in 3D with initial and final orbits marked.
Propagate and plot a 3D trajectory using outputs from optimization.
Plot clock angle and relevant vectors in the 2D clock plane.
Plot the solar sail disturbance forces from the force structure.
Plot relationship between force, normal, and sun vectors in 2D
Default plots for the information stored in the sail orbit profile.
Propagate and plot the Zermelo trajectory.
Compute parabolic bounding surfaces for manifolds.
Define default colors for all sail plots.
View a single force vector in two planes using four subplots.
Create and draw sail orbit contours.
Sail vertices for a default sail in the Y/Z plane
Visualize the attitude of a sail in 3D using a patch and sun vector.

Back To Top

Guidance

Guidance law for planet-centered missions.
Generates a constant angle to get a velocity reversal trajectory.
Generates the optimal cone and clock angles for 3D problems.
Generates locally optimal cone and clock angles for 3D problems.
Computes locally optimal solar sail control angles.
Computes locally optimal solar sail control angles for planet-centric.
Guidance law for Solar Polar Imager using locally optimal control.
Form:
Find a sail acceleration to maintain a Sub-L1 station.
Guidance laws for common sun-centered profiles.
Generates the optimal sail angle for planar problems.

Back To Top

Missions

Example problem from AIAA challenge.
Simulate a geocentric locally optimal trajectory.
Simulate a geocentric trajectory with on/off switching.

Back To Top

OptTestFuns

Returns the values of the equations
10 test functions for optimization routines. The available functions are:
There are two optima:
A simple parabola, the function f = x^2
Rosenbrock test function.
Zermelo's differential equation right hand side.

Back To Top

Optimization

GA mutation function where change is bounded within a fraction of the range.
Computes the control angles for a 3D problem given the costates of the
Function to be used for optimization. It computes an err magnitude
Cost function for 2D low thrust trajectory optimization.
Cost function for 3D low thrust trajectory optimization.
Cost function for 2D solar sail trajectory optimization.
Cost function for 3D solar sail trajectory optimization.
Generates the optimal cone and clock angles for 3D problems.
This function is for the planar orbit problem which includes
This function is 3D orbit problem in equinoctial coordinates.
RHS for a Newton solver for sail angles.
GA selection function where a fixed fraction of the population survives.
Applies a genetic algorithm to minimizing a function.
Applies a genetic algorithm to minimizing fun.
Solves for the zeros of a set of n equations.
Implements simulated annealing.
GA crossover function which switches a randomly selected parameter between
Performs trajectory optimization.

Back To Top

OrbitDynamics

General gravity model allowing point mass and harmonic models.
Gravity model allowing a point mass or harmonic models for a single body.
Three-body dynamics in the rotating frame with a solar sail.
Sail orbit RHS in a 3 body dimensionless rotating frame.
Sail orbit RHS in a planet-centered cylindrical rotating frame.
Sail orbit equations in a sun-centered cylindrical rotating frame.
Simulation right hand side. Calls all needed portions in order.
Sail dynamics with Earth and Moon gravity.
Sail dynamics in the Earth-Sun three-body system.
Right-hand-side for sail with fixed cone and clock angles (McInnes).
Initialize the sail simulation gravity model.
Initialize the sail simulation data for common cases.
This function is for the planar orbit problem.
This function is the right-hand-side for the 3D orbit optimization problem.
Right-hand-side for point-mass cartesian orbit with external acceleration.
Right-hand-side for point-mass cartesian orbit with radial acceleration.
Right-hand-side for equinoctial elements.
Right-hand-side for the planar orbit optimization problem.
This function is the right-hand-side for the 3D orbit optimization problem.
Sail variational equations in state space form for a planet-centered orbit.

Back To Top

SailData


Back To Top

SailEphem

Location of planets relative to Sun in ecliptic frame using the almanac.
Location of Earth relative to Sun in the ecliptic frame.
Location of planets relative to Sun in ecliptic frame using JPL ephemerides.

Back To Top

SailModeling

Front and back optical and thermal properties of CP1 (Lambertian)
Find all sail components and calculate their composite normal.
Circular billow height model
Models a single sail quadrant as a section of an oblique cone.
Height function for a square sail with billow.
Inertia derivative of S4 sail.
Generate a flat, square, nonideal sail in the Y/Z plane, using CP1 properties
Disturbances function for modeling deployment of scalable square sail.
Create a mesh with the height determined by a specified function.
Create a striped sail quadrant, with billow, in the x, y plane.
Look up all the sail class components and update their properties.

Back To Top

Utilities

Convert sail characteristic acceleration to loading.
Sail characteristic acceleration to mass or area for a perfect sail.
Apply a profile struct to a CAD model for display purposes.
Converts cylindrical position coordinates to cartesian.
Display sail characteristics for a CAD model.
Converts mu from km^3/sec^2
Sail loading (mass/area) from lightness parameter.
Sail loading parameter to characteristic acceleration.
Sail lightness parameter from loading (mass/area).
Sail characteristic acceleration from mass and area.

Back To Top

SVN Revision: 42334


Back to API main page