Title: Design of Guidance and Control Algorithms for Autonomous Rendezvous and Proximity Operations
1Design of Guidance and Control Algorithms for
Autonomous Rendezvous and Proximity Operations
- Jessica Williams
- Department of Aerospace Engineering
- and Engineering Mechanics
- The University of Texas at Austin
- Research Group Meeting
- November 20, 2007
2Research Contract Summary
- The research project, sponsored by General
Dynamics C4 Systems, entails the design and
implementation estimation and control algorithms
for a Chaser vehicle in a reference frame
relative to a Target vehicle. Algorithms are to
be implemented using Simulink, with the intent to
convert models into embedded C code for use on a
real-time flight processor. I was supported by
this contract through Summer 2007. - Work on the estimation task was performed from
2006-2007 and a summary package was delivered in
Summer 2007. Subsequent work has been performed
by Jack Goetz. - Work on the control task has been performed
starting Fall 2007 and comprises the bulk of my
research work.
3Research ContractStatement of Purpose
- In February 2007, two main research contract
objectives were identified - The purposes of this effort are to define a suite
of algorithms that can provide metric knowledge
of a space vehicle (SV) in proximity to a host
vehicle (HV) or to a specified orbit condition
(SOC), and to provide the orbital maneuvering
sequence that will control the relative motion of
the SV during proximity operations about a HV or
to rendezvous with a SOC. - These algorithms will be incorporated into flight
software (FSW) by General Dynamics personnel and
integrated into a testbed that will be utilized
to demonstrate key performance parameters (KPP)
associated with mission scenarios defined by
program pursuit goals.
4Past WorkEstimation
- Work performed in 2006 2007 focused on the
Estimation task. A Kalman filter was designed in
Simulink to estimate the absolute state of a
vehicle in the IJK frame and the relative state
of a vehicle in the RCO (relative) frame.
5Matlab M-FileDescription
Simulation parameters are defined in the Matlab
workspace.
- t Current time
- t0 Initial simulation time
- initstate Initial state of orbit in ECI frame
- sampleRate Rate at which range data is imported
- dPts number of data points processed
- mu Gravitational constant
- Xstar Nominal reference trajectory (position and
velocity) - Xstar0 Initial Nominal reference trajectory
(position and velocity) - xhat0 initial estimate of correction to the
nominal trajectory - xhat Estimate of correction to the nominal
trajectory - xbar Correction to the state (xhat) propagated
forward in time - K Kalman gain
- Pbar Error covariance matrix
- Po Initial Error covariance matrix (cov s2)
- P Error covariance matrix, initialized by P
Po - Htilda Observation-state mapping matrix
- G Observation-state relationship (model)
- Phi State Transition Matrix F
- Y Observation vector (range measurement)
6Simulink ModelData Generation
- Data is generated using CW propagation of the
initial conditions, plus adding zero mean
Gaussian white noise to the relative state
vector. Angles are calculated using quadrant
checks.
Chaser
Target
7Simulink ModelKalman Filter Logic
- The relativeKalman model opens to a parameter
declaration space and a masked subsystem.
A digital clock, which updates at the sampleRate
declared in the workspace, is compared to a ramp
input. If the two are the same (meaning a
measurement update has occurred), the algorithm
logic is true and the estimation process
occurs.
The estimation algorithm is in a masked
subsystem. Inputs to the estimation algorithm are
range and angle data at a given time, as well as
the sample rate of the system.
Parameters declared in workspace are initialized
to be Data Stores in Simulink model. The use of
Data Stores for model parameters is still under
review updating the Data Store Write block after
the Data Store Read block has been read is
causing problems.
This simulation will be run from a call in the
Matlab M-file. Running the simulation
independently does not initialize the model
parameters, and an error message will be
displayed.
8Simulink ModelEstimation Algorithm
- The perform estimation subsystem is shown. Each
block contains either a masked subsystem or an
Embedded Matlab function to perform estimation
algorithm.
(5) Measurement Update
(1) Parameter Routing
(6) View evolution of state updates
(3) Time Update
(4) Kalman Gain Calculation
(2) State Transition Matrix Calculation
(7) Parameter Updates and Workspace Variables
9Simulink ModelResults
- The evolution of the state correction is
displayed. Final parameter values are output to
Matlab workspace for filter performance
evaluation.
The nominal relative state can also be plotted
against the true relative state in the Matlab
workspace following completion of the simulation.
10EstimationProblems and Solutions
- The relative estimator I built had several
problems/errors... These were corrected by Jack
as part of the Fall 2007 research deliverable. - Data Stores in Simulink are not available until
after the simulation has stopped, even within the
simulation itself. Dont use a data store to save
a value you would like to use at the next time
step. Reading/writing to the same data store at a
simulation time step resulted in an error
message... every time. - The estimation algorithms required particular
values at the previous time step. Time delay
blocks are needed to retrieve this information. - The initial guess for the covariance matrix was
way too high... estimated relative position and
velocity would eventually. A smaller covariance
repaired this. - Noise was added to data using zero-mean white
Gaussian noise blocks. It turns out that these
values were correlated.
11Current WorkNavigation and Control
- Current work has focused on navigation/control
aspect of a Chaser vehicle in a relative orbit
about a Target vehicle.
12Current WorkNavigation and Control
- A Linear Quadratic Regulator (LQR) control
algorithm has been designed and implemented to
keep a vehicle within a defined keep-in zone for
stationkeeping maneuvers. This work has been
performed using Simulink. Optimization has not
been included in the routine.
Youll see why later...
13Current WorkInertial Equations of Motion
- The integral equations of motion are derived from
Newtons Law of Gravitation, plus the inclusion
of any disturbing forces and control forces.
Unperturbed motion can be propagated in the IJK
frame
State Vector contains position and velocity of
vehicle in IJK frame
If vehicle is perturbed, the acceleration of the
body can be propagated in the IJK frame using
modified terms
Force is per unit mass
14Current WorkRelative Equations of Motion
- The Clohessy-Wiltshre equations are defined in a
coordinate frame referenced relative to a vehicle
in a circular orbit about a central body (the
Earth).
Equations of motion are obtained by solving the
relative expressions
Procedure entails binomial expansion, eliminating
non first-order terms to obtain the familiar
result
Image courtesy Vallado
15Current WorkRelative Equations of Motion (CW)
- Solving the unperturbed linearized
Clohessy-Wiltshre (CW) equations with zero
external forces (f 0) yields the simplified
matrix results, where the current state in the
relative frame can be determined from the initial
state in the relative frame, the angular rate of
the Target vehicle, and the time elapsed from the
initial state to the current state.
Function of initial conditions!
16Current WorkRelative Equations of Motion
(Parameterized)
- The CW equations can be parameterized as a
function of initial conditions only. This is a
convenient geometric representation of the
Chasers relative orbit about the Target vehicle.
Choosing a 0 creates a closed relative orbit!
Relative coordinates propagate over time as
functions of these parameters
17Current WorkTargeting
- As referenced from Irvin1, a targeting routine
can be designed to transfer a Target vehicle from
one relative orbit to another desired relative
orbit about a Target vehicle.
A control input of R 1012 reaches a nearly
steady-state error after being propagated for
10000 seconds
A control input of R 108 reaches a nearly
steady-state error after being propagated for
3000 seconds.
1Irvin, D., A Study of Linear vs. Nonlinear
Control Techniques for the Reconfiguration of
Satellite Formations, MS Thesis, Air Force
Institute of Technology, Wright Patterson Air
Force Base, Ohio, March 2001.
18Current WorkKeep-In Zone
- The keep-in zone can be defined at any
orientation and location relative to the Target
vehicle.
For the hover orbit, the keep-in zone will be an
ellipsoid defined at an arbitrary orientation
relative to the Target vehicle.
For the stationkeeping problem, the keep-in zone
will be a sphere centered at the Target vehicle
(origin of relative frame).
19Current ResultsTest Simulation Initial
Conditions
- Initial conditions are defined for the Target
vehicle (inertial frame ICs) and for the Chaser
vehicle (relative frame ICs)
Target Inertial state (Classical Orbital
Elements) k 6678
semimajor axis km e 0
eccentricity inc 10pi()/180
inclination rad AP 0pi()/180
argument of perigee rad LAN
0pi()/180 longitude of ascending
node rad v 10pi()/180 true
anomaly rad w sqrt(mu/k3)
mean motion 1/s
Target relative state (Parameterized) rho
1.9 a 0 b 0 theta
45pi()/180 m 1 n 0
The relative orbit parameters have been
particularly chosen to create a relative orbit
that is closed about the Target vehicle when
propagated using the linearized equations of
relative motion. A Lambert targeting routine
could be used to reach this closed relative orbit
in a mission operation simulation.
20Current ResultsTest Scenario
- The scenario was propagated over a 5 day
interval. The vehicle states were propagated in
the inertial frame, with the Chaser inertial
state being converted into a relative state at
each time step for control algorithm input. - 4 cases have been investigated, for a particular
choice of initial conditions, control gain, and
boundary actuation range - No perturbations, no control
- No perturbations, control
- Perturbations, no control
- Perturbations, control
21Current ResultsTest Simulation Uncontrolled Case
- With Gravitational and Drag perturbations
included, the Chaser vehicle drifts away from the
keep-in zone over a 5 day simulation time.
Chaser vehicle drifts away from Target vehicle
over simulation period. Along-track drift is due
to atmospheric drag and is the primary disturbing
force.
Radial ?
Along-track ?
22Current ResultsTest Simulation Controlled Case
- When control input is added, the Chaser vehicle
is kept within or within a maximum bound of the
keep-in region for the simulation time.
Chaser vehicle stays within proximity to Target
vehicle for entire simulation period
Radial ?
Along-track ?
23Current ResultsExample Simulation
In the uncontrolled case, the distance from the
Target vehicle to the Chaser vehicle grows
exponentially over the simulation time, due
primarily to drag effects. When controlled, the
vehicle stays (nearly) within the prescribed
keep-in zone.
Uncontrolled Chaser
Controlled Chaser
24Current ResultsExample Simulation
In the uncontrolled case, the Target relative
state is seen to drift away from a desired
(targeted) state in the relative frame that would
keep the Chaser in proximity to the Target. When
controlled, the Target relative state does not
match exactly, but the difference stays bounded.
Uncontrolled Chaser
Controlled Chaser
25Current ResultsExample Simulation
In the uncontrolled case, the distance between
the vehicles in the IJK frame begins to grow
exponentially. When controlled, this distance
stays bounded.
Uncontrolled Chaser
Controlled Chaser
26Current ResultsExample Simulation
In the uncontrolled case, the error between the
desired relative state and the actual relative
state begins to increase exponentially,
especially in the along-track direction as the
Chaser semimajor axis is brought down by drag.
The error stays bounded in the controlled case.
Uncontrolled Chaser
Controlled Chaser
27Current ResultsOptimization
The LQR may keep the Chaser vehicle within the
keep-in zone for the simulation time, but it may
not be optimal or realistic.
250 m/s ?V over a 5 day simulation! No
mission would implement this
Simulation parameters can be varied to create a
more realistic stationkeeping strategy. Ideally
this will be optimized for a minimum ?V cost
function. For now, more suitable parameters can
be chosen.
28Future WorkHover Orbit Problem
- Future work stems from the Hover Orbit problem
that has been investigated by Irvin and Cobb1.
Optimal impulsive burns were calculated and
implemented in a 2-dimensional relative frame
using CW dynamics. Impulsive maneuvers are
performed only at the hover bubble boundary. -
- This past body of work can be enhanced by
- Implementing maneuvers in 3-D space.
- Performing impulsive burns at optimal locations
on a minimum or maximum hover ellipse region. - Adding perturbations to the simulation model.
1Irvin, D. and Cobb, R. Multiple Leg
Fuel-Optimal Trajectories For Hovering
Satellites, 17th AAS/AIAA Space Flight Mechanics
Meeting Sedona, Arizona, 2007.
Image courtesy Dr. Glenn Lightsey
29Hover OrbitRelation To and Adaptation From
Current Work
- The current LQR routine performs continuous
impulsive actuation at the boundary of a defined
keep-in zone. To accommodate the impulsive
maneuver hover orbit, the hover region shall be
defined at an arbitrary location relative to the
Target vehicle origin. Impulsive (optimal)
maneuvers will be performed at the boundary of
the 3-dimensional hover region.
30Deliverables
- The following packages were delivered to General
Dynamics in support of the research contract. - August 2007
- Absolute estimator Simulink algorithm
- Relative estimator Simulink algorithm
- Documentation
- Model Summary Document
- Read-me Document
- December 2007
- Stationkeeping Simulink algorithm
- Documentation
- Algorithm Description Document
- Algorithm Operation Document
- Algorithm Test Case Document
31Questions?