• Tidak ada hasil yang ditemukan

Time-Domain Simulation

Dalam dokumen MANEUVERING AND CONTROL OF MARINE VEHICLES (Halaman 162-167)

150 21 SYSTEM IDENTIFICATION If the coherence is near zero, then the segmental cross-covariances Γpyu(m) are sporadic and have cancelled out; there is no clear relation between the input and the output. This result could be caused by either dis- turbances or sensor noise, both of which are reasonably assumed to be random processes, and uncoupled to the input signal. Alternatively, if the coherence is near one, then the cross-covariances are in agreement and a real input-output relationship exists. With real data, the coher- ence will deteriorate at high frequencies and also at any frequency where disturbances or noise occur.

21.5 Time-Domain Simulation 151

• After a simulation run is complete, the data is interpolated to the same time scale as the observed data, in order to compute the error.

• The initial guess fortheta is a random vector; the Simplex method will take over from this point. In many instances, however,theta is roughly known, and a better starting value can be given.

• The Simplex method may head into invalid parameter space, e.g., nega- tive mass. The error calculation, however, can be easily augmented by a term which penalizes invalid parameters, e.g.,

err = err + 1000*(1-sign(mass)).

• There is no guarantee that a global minimum will be found or even exists.

Starting from different initial guesses forθ may help find better results, but we are still at the mercy of the minimization algorithm, and a very complicated function.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clear all ; clear global ;

global u_obs t_obs y_obs dt theta ; dt = .3 ; % time step

theta = [1 2] ; % true parameter vector t_obs = 0:dt:20*dt ; % observed time vector u_obs = ones(length(t_obs),1) ; % observed input

[t_raw, y_raw] = ode45(’simulate’, [0 max(t_obs)], 0) ; y_obs = spline(t_raw, y_raw, t_obs) ; % observed output [theta_final] = fmins(’get_err’, randn(2,1)) ;

disp(sprintf(’final theta(1): %g.’, theta_final(1))) ; disp(sprintf(’final theta(2): %g.’, theta_final(2))) ; theta = theta_final ;

[t_raw, y_raw] = ode45(’simulate’, [0 max(t_obs)], 0) ; y_sim = spline(t_raw, y_raw, t_obs) ;

figure(1) ; clf ; hold off ;

plot(t_obs, y_obs, t_obs, y_sim, t_obs, u_obs) ;

152 21 SYSTEM IDENTIFICATION

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [err] = get_err(theta_arg) ; global y_obs t_obs theta ;

theta = theta_arg ;

[t_raw, y_raw] = ode45(’simulate’, [0 max(t_obs)], 0) ; y_sim = spline(t_raw, y_raw, t_obs) ;

err = norm(y_sim - y_obs) ;

disp(sprintf(’error: %f.’, err)) ;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [ydot] = simulate(t,y) ; global u_obs dt theta ;

k = theta(1) ; tau = theta(2) ;

ind = floor(t/dt) + 1 ; % we have to choose which u_obs to use:

% a zero-order hold as implemented.

ydot = ( k*u_obs(ind) - y^3 ) / tau ;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

153

22 CARTESIAN NAVIGATION

The bulk of our discussion on maneuvering and control has assumed that the necessary system states can be measured. The marine engineer is in fact faced with choices between many different basic sensor packages, notably compasses, paddle wheels, inertial navigation units, rate gyros, and depth guages, for ex- ample. These listed sensors areself-contained and rely primarily on the phys- ical properties of the natural environment. There is also a class of distributed sensor systems; these generally involve an array of communicating elements, lo- cated remotely from the vehicle. We present the fundamental concepts behind two methodologies in this second class: the global positioning system (GPS) and acoustic navigation, both of which can provide high-accuracy absolute Cartesian navigation.

22.1 Acoustic Navigation

Consider a transponder A, which can transmit an acoustic signal, and also measure, with microsecond accuracy, the time to receive a reply. Next, place a responder B at a distance R away from A; the job of B is just to transmit a signal whenever it receives one, with a (short) predictable response timeTt. Thus, the elapsed time T between a tranmission and consequent reception at A is

T =Tt+ 2R/cw,

wherecw is the speed of sound in water, about 1450m/s. The rangeR follows by inversion:

R= (T −Tt)c2

2 .

Suppose that the location of B is known; then a given measurement of R places A on a sphere around B. It is a case of three unknowns (x, y, z) and one equation:

(xA−xB)2+ (yA−yB)2+ (zA−zB)2 =R2.

154 22 CARTESIAN NAVIGATION The introduction of a another responder C (typically listening and responding at a different frequency than B) places A on the intersection of two spheres, i.e., a circle. There are two equations, but still three unknowns. When A, B, and C lie in a nearly horizontal plane, then the intersection circle lies in a vertical plane; the addition of a depth sensor to our suite would allow us to pin A’s location at one of two points on the circle. Finally, if we know which side A is on, and do not allow for abrupt crossovers, then we have a functional set of measurements for acoustic navigation with just two responders. Thebaselineis the line connecting responders B and C; when A is near this baseline, positional accuracy will be very poor since the two solution spheres are tangent.

Better and better performance can be obtained by increasing the number of responders, and consequently of the baselines and spheres. With three re- sponders, for example, the intersection of a sphere (responder D) and a circle (responders B and C) is two points. Here there are three equations and three unknowns, but the nonlinearity of the equations leads to the non-uniqueness in the solution. A fourth responder or a depth transducer would be needed to completely constrain the solution.

The above discussion is a minimum conceptual explanation of acoustic naviga- tion. There are many other pieces to the approach, including an account of the variation of sound speed cw with water depth, obtaining the Cartesian loca- tions of the responder network, and handling various geometric configurations that give rise to poor or degenerate solutions.

There are two common configurations used for acoustic navigation, named for the length of the baselines relative to the target (transponder A) range.

(Ultra) Short-Baseline The geometry of SBL or USBL puts very short baselines between the responders compared to the target distance. For in- stance, the fixed net is often attached to a vessel or other structure, with base- line lengths on the order of 10-100m. Typical frequencies in use are around 100kHz, with a working range of 100-500mto the target. The wavelength of a 100kHz signal is about 1cmand 5cmis a reasonable estimate of the accuracy for these systems.

Long-Baseline Long-baseline systems typically involve a larger responder net, and the target ranges are similar to the baseline lengths. Very large systems utilize frequencies of 10-15kHz (for a placement accuracy around 2- 5m), and may have ten-kilometer baselines. Frequent sources of error in long- baseline systems are variations of cw, and also in multipath. In the latter

Dalam dokumen MANEUVERING AND CONTROL OF MARINE VEHICLES (Halaman 162-167)

Dokumen terkait