Вы находитесь на странице: 1из 5

MDTS

GUIDED WEAPONS

G. Leng

GUIDANCE LAB EXERCISE The basic lab exercise assumes that you have some experience with Matlab and computer programming. More proficient programmers may wish to do the additional exercise in section 3.2. 1. Objective The objective of the lab is to compare the direct approach and the adjoint approach for calculating miss distances. 2. Theory 2. 1 Problem definition Given a system of linear equations dx /dt = [ A(tF - t ) ] x + f (t) t 0 < t < tF

Find the final state vector x ( tF ) as a function of the run time tF 2. 2 Key Idea We can avoid multiple simulation runs by considering the adjoint system dy / dt then d( yT x ) / dt or yT( tF ) x (tF ) = = - [ A(tF - t ) ]T y yT f =
tF

yT( 0 ) x (0 )

yT(s) f (s) ds

Suppose x1 (t F ) corresponds to the miss distance then we set y (tF) to {1, 0, 0, ... 0}. If the input f(s) is an impulse function (0) then the integral is zero. Hence the miss distance is x1 (tF ) = yT( 0 ) x (0 )

We can obtain yT( 0 ) by integrating the adjoint system backwards in time with the "initial condition" {1, 0, 0, ... 0} i.e. we integrate the time reversed ( = tF - t) adjoint system d z / d = [ A() ]T z

with z(0) = {1,0,0,...0} and generate the miss distance in one simulation run as x1 (tF ) = zT( tF ) x (0 )

MDTS

GUIDED WEAPONS

G. Leng

2. 3 Example The miss distance model for a missile with a first order acceleration lag, against a target undergoing a step acceleration manoeuvre in a tail chase scenario are: dx/dt dv/dt dam / dt dat / dt = = = = v at - am (-am + ac )/T 0 + (0) x, v, missile lateral displacement & velocity

For PN guidance ac = N ( x / (tF - t)2 + v / (tF - t) ). Hence the time reversed adjoint equations are : dz1/ d dz2/ d dz3/ d dz4/ d = = = = z1 - z2 z2 N/(T 2) z3 + N/(T ) z3 - 1/T z3

with the initial condition z (0) = { 1, 0 , 0 , 0}. For a guidance gain N = 4, missile acceleration lag T = 1s and a target step maneuver of 1g., the computed absolute miss distance is shown for zero initial lateral displacement, velocity and acceleration (missile is initially on an interception course). You may wish to compare this approach with the "recipe" in the text.

MDTS

GUIDED WEAPONS

G. Leng

3. Procedure 3.1 Basic Lab exercise 1. Create a directory on your PC and place the following 4 Matlab programmes (downloaded from the course website) in it i) Direct.m ii) DirectEqn.m iii) Adjoint.m iv) AdjointEqn.m 2. Start Matlab on your PC and change Matlab's path to your directory by typing at the prompt << cd c:\your_directory_name 3. For the direct computation of miss distances, run the Matlab programme Direct.m by typing direct at the prompt. Enter different values for the flight (engagement) time for each run. Record the computed miss distance for each flight time. You can set the guidance gain = 4, missile lag parameter = 1 and target acceleration = 1 (g's). Feel free to vary the values but keep the same settings for every run. 4. Now run the programme Adjoint.m to do the miss distances computation in one run.. Type adjoint at the prompt. Use the same settings as in part 3. Note that you need only specify a maximum limit on the flight time (Try tf = 10 s ). and the method will generate the miss distances for all flight times up to your specified limit. Compare the graphical results with your recorded values. 5. Use the adjoint programmes to explore the effect of disturbances in initial relative position, velocity, missile lag and target latax on the miss distance. 3.2 Additional Lab Exercise If you are proficient in Matlab programming, try modifying the programmes for different target manoeuvres and engagement scenarios. You are most welcomed to hand in your modified programmes for sharing with the class. 4. Matlab code 4.1 Direct.m
% MDTS-GW module : Lab exercise % Direct.m computes the missile miss distance directly for a specified time of flight. % The miss distance is the final value of the relative displacment. % The programme assumes the following % 1) Missile latax response is modelled by a first order lag % 2) Target latax is modelled by a step input % 3) Tail chase engagement scenario % G. Leng AEG/NUS 2002 % guidance gain, acceleration lag, target latax and flight time global Np T at tf

MDTS

GUIDED WEAPONS

G. Leng

% SI units g = 9.8; % get guidance gain Np = input('input guidance gain : '); % get missile acceleration lag T = input('acceleration lag : '); % start time at t = 0 to = 0.0; % flight time tf = input('time of flight : '); % initial conditions - (relative distance, relative velocity) % zero ic implies on track for interception xo = 0; Vo = 0; amo = 0; % target step maneuver ato = input('target acceleration in units of g : '); at = ato*g; % solve direct eqns for PN % note the need to avoid singularities % set ic for x - states are (x, v, am, at) yo = [0,0,0,at]; [t, y] = ode45('DirectEqn', [to tf-0.00001], yo); % relative (miss) distance at t = tf abs(y(length(y),1))

4.2 DirectEqn.m
function ydot = DirectEqn(t, y) % Direct equations for the miss distance analysis of a PN guided, % first order lag missile against a evasive target (step latax) in a % tail chase scenario % Direct eqns are for states in the order (x, v, am, at) global Np T at tf % assumes a tail chase scenario tgo = tf-t; ydot = zeros(4,1); ydot(1) = y(2); ydot(2) = -y(3) + y(4); ydot(3) = Np/(T*tgo*tgo)*y(1) + Np/(T*tgo)*y(2) - y(3)/T ; ydot(4) = 0;

4.3 Adjoint.m
% MDTS-GW module : Lab exercise % Adjoint.m computes the missile miss distance using the method of adjoints. % The programme assumes the following % 1) Missile latax response is modelled by a first order lag % 2) Target latax is modelled by a step input

MDTS % 3) Tail chase engagement scenario % G. Leng AEG/NUS 2002 % guidance gain and acceleration lag global Np T % SI units g = 9.8; % get guidance gain Np = input('input guidance gain : '); % get missile acceleration lag T = input('acceleration lag : '); % start time to avoid singularity at t = 0 to = 0.000001; % flight time tf = input('max time of flight : ');

GUIDED WEAPONS

G. Leng

% initial conditions - (missile lateral distance, lateral velocity, heading) % zero iC implies on track for interception xo = 0; Vo = 0; amo = 0; % target step maneuver ato = input('target acceleration in units of g : '); ato = ato*g; % solve adjoint eqns for PN % set adjoint ic for miss distance x - states are (x, v, am, at) yo = [1,0,0,0]; [t, y] = ode45('AdjointEqn', [to tf], yo); % miss distance vs flight time plot( t, abs(xo*y(:,1) + Vo*y(:,2) + amo*y(:, 3) + ato*y(:,4) ));

4.4 AdjointEqn.m
function ydot = AdjointEqn(t, y) % Adjoint equations for the miss distance analysis of a PN guided, % first order lag missile against a evasive target (step latax) in a % tail chase scenario % % Adjoint eqns are for states in the order (x, v, am, at) global Np T % assumes a tail chase scenario ydot = zeros(4,1); ydot(1) = Np/(T*t^2)*y(3); ydot(2) = y(1) + Np/(T*t)*y(3); ydot(3) = -y(2) - y(3)/T; ydot(4) = y(2);

Вам также может понравиться