• No results found

Data were logged onto a laptop carried in a backpack by the athlete. This was not ideal but for the prototype system it worked. A program was written in C# to synchronise and log data simultaneously from two Xbus units and the GPS receiver. Seven IMUs were attached to the first Xbus and six to the second. Data were logged at both 25Hz and 50Hz depending on which laptop was used. Three minutes of logging resulted in about 2.5 mega-bytes of binary data for a typical ski run. Several laptops had to be used because the batteries did not last long in the cold climate and it was easier to replace the laptop than the laptop batteries while on the snow.

Unfortunately the IMU/GPS software synchronisation mechanism was faulty and the two data streams had to be re-synchronised by post processing the data. A synchronisation point was found that minimised the residual between the GPS velocity and integrated global acceleration from the IMUs (Figure 6.5). This was the same method used to synchronise the Coronet Peak data in 2005 described in Chapter 3. Because the GPS data were at 1Hz and the IMU data were at 25 or 50 Hz, the mean IMU velocity over sliding one-second windows was used to get the mean IMU velocity in the synchronisation procedure. Although this method was successful, the minimum residual point was a broad trough and therefore the synchronisation error could be up to two data points or 0.08 seconds at 25Hz. This level of synchronisation error could effect global trajectory but should have no effect on local limb orientation measurements. It would be more reliable in the future to synchronise the data streams directly through hardware coupling.

Figure ‎6.5: Velocity synchronisation of GPS and IMU data

Figure ‎6.6: System diagnostics using a laptop (Brodie, et al., 2008c)

6.1.2.

Experimental

The IMUs were mapped to the athlete‟s body segments through a calibration procedure described in Chapter 4 on page 70. The athlete was instructed to ski at race pace through the course. At the end of each run data was extracted from the athlete‟s data logger for post processing, which is described in detail in the following sections from 6.2 to 6.7. Data from the athlete were then used to drive animations based on the biomechanical man avatar, an accurate anatomical and inertial representation of the athlete.

6.2. The Global Positioning System

In this section ways to improve GPS data accuracy are investigated along with the nature of the measurement noise in the GPS data. GPS data are required to calculate the athlete‟s global trajectory during ski racing. Experiments from Coronet Peak ski area in 2005 showed that the GPS data collected was not accurate for the biomechanical analysis of alpine ski racing and therefore significant improvements were required to the prototype FMC system.

Previously at Coronet Peak, in Chapter 3 in 2005, the GPS chip‟s internally computed location and velocity data were used in a fusion algorithm to estimate the athlete global trajectory but this was found to be unreliable. The values provided by the GPS chip‟s algorithm were inaccurate when the athlete changed direction rapidly. The GPS data were also noisy and contained systematic errors that made the mean error not equal to zero. Global trajectory errors of greater than 15m were observed for a run through a giant slalom race course, which made it difficult to analyse the athlete‟s race performance from the FMC data. The GPS data is fused with the IMU data to get an accurate estimate of the athlete‟s global trajectory through the giant slalom race course. More details about the fusion process used are provided in Section 6.5, the principals of the algorithm are the same as in Chapter 5 for inline skating. The work done in Chapter 5 showed that the resulting global trajectory error of 0.05m was less than the simulated GPS accuracy of 0.18m based on estimated gate passing times. It is therefore expected that the fusion process will produce data that will be more accurate than either the GPS or IMU data alone.

The accuracy of the measurements of the athlete‟s global trajectories will depend on the accuracy of the underlying GPS data. The fusion algorithm will also perform better if the statistical distributions of noise in the GPS data are known and relatively symmetrical about the mean value. Both the accuracy of the GPS data and the nature of GPS data noise are therefore now investigated. A summary of the findings are presented in section 6.2.3.

The use of the raw GPS pseudo-range and carrier-frequency data as described in sections 6.2.1 and 6.2.2 are now investigated, with respect to producing more accurate estimates of location and velocity. A differential correction is implemented using base station data to correct for systematic atmospheric errors in the pseudo-range and carrier-frequency data. The pseudo-range and carrier-frequency can then be used to compute a differentially corrected GPS receiver location and velocity which are then input into the fusion algorithm. Alternatively the differentially corrected pseudo-range and carrier-frequency data can be directly input into the fusion algorithms. The correction was done because the differentially corrected pseudo-range and carrier-frequency data should have more symmetrical error distributions than the internally computed GPS location and velocity data and so the accuracy of the global trajectory measurements should improve from the previous experiment at Coronet Peak.

GPS pseudo-range and carrier-frequency data were extracted from the SiRF2 receiver using the manufacturers binary communication protocol (SiRF Technology Inc, 2005) and all default internal data smoothing was switched off. The raw binary data were converted to floating point numbers using the vendor‟s protocol. All calculations were post processed using algorithms written by the author in MATLAB.

The raw data were available in the Earth Centred Earth Fixed coordinate system (ECEF), which rotates with the earth. In the ECEF system the origin is the Earth‟s centre. The Z-axis refers to a north-pointing vector through the geographic poles of the earth. The X-axis intersects the Greenwich meridian (where longitude = 0°) and the XY plane makes up the equatorial plane (latitude = 0°).

6.2.1.

Pseudo-range and calculating receiver location

Pseudo-range is a pseudo distance measurement between a satellite and a receiver (commonly known as a GPS). If the pseudo- ranges from four satellites to the receiver are known and the satellite locations are known, then it is possible to calculate a unique location for the receiver by a process commonly termed triangulation (Figure 6.7).

The GPS chip pseudo-range (PR) data are extracted by serial communication and are contained within the messages with an ID of 28 (Message ID, MID 28). Pseudo-ranges, one for each satellite in view, are based on time-of-flight information from each satellite. The pseudo-ranges are normalised to a distance inside the chip by multiplication with the speed of light. But they are not the actual distances between the satellites and the receiver because time of flight information contains the satellite and receiver clock biases and the path from the satellite to the receiver is curved due to atmospheric effects. The clock biases are due to the fact the internal clocks of the satellites and the receiver are not synchronised. In addition the biases are not stable and drift with time (known as clock drift).

Accuracy of GPS location can be improved by differential correction of the pseudo-range data. To do this a stationary base station at a survey location is required. The base station data is used to remove systematic errors from the pseudo-range data due to changing atmospheric effects. If the base station is located within the vicinity of the rover (GPS receiver attached to the athlete) then the atmospheric effects are assumed to be the same.

The first step to obtaining a differential corrected location measurement is to remove the clock biases. The best estimate of the measured range (Range, Equation 6.1) was calculated for each satellite (n=1 to N) for both the GPS receiver attached to the athlete‟s helmet (Rover) and the stationary GPS on a tripod beside the course (Base). The effects of satellite and receiver clock bias were accounted for (Sat_Bias,extracted fromMID 30and Bias, extracted from MID 4). Because of the data format the satellite clock bias was scaled by the speed of light (c=299792458 ms-1) and the receiver clock bias was scaled by c*10-9.

Equation ‎6.1

The Range data (Equation 6.1) contained large errors from local atmospheric effects which can be removed. To remove the atmospheric effects the base station data were used to estimate a differential correction (Range_Corr, Equation 6.2) for each satellite at each point in time. Before the corrections could be estimated the location of the base station was required. As there were no surveyed points nearby on the ski area, the base station location (BLX, BLY, BLZ) was estimated from the median of the GPS location data produced by the GPS base station chip. Estimates of the satellite locations were also required (SLX, SLY, SLZ), and were either extracted from the GPS data (MID 30) or were modelled to further improve accuracy.

Equation ‎6.2

Example pseudo-range corrections for six satellites visible from the ski area are shown in Figure 6.8. The corrections were large and fluctuated. The pseudo-range differential corrections (Range_Corr, Equation 6.2) were then applied to the GPS rover data from the receiver attached to the athlete (Equation 6.3). The unexplained terms in Equation 6.3 are the GPS rover range data (Range_R fromEquation 6.1), and the rover location (RLX, RLY, RLZ). MATLAB‟s non-linear least squares function3 was used to minimise the residual range error (, Equation 6.3) by optimisation the rover location (RLX, RLY, RLZ). At least four satellites

3 By default MATLAB‟s nonlinear least squares minimisation chooses the large-scale algorithm. The algorithm is

a subspace trust region method and is based on the interior-reflective Newton method described by (Coleman & Li, 1994, 1996).

were required to get a fix, three degrees of freedom for the rover location and one for a new estimate of the receiver clock bias (Bias, Equation 6.3).

Figure ‎6.8: Example pseudo-range corrections (six satellites) from skiing

The new clock bias (Bias) was assumed to be the mean residual error, found by taking the mean of the residual error (, Equation 6.3) for all the satellites in view. After the mean value for residual error was removed there were still small residual errors. The additional residual errors were a result of:

 Instabilities in the receiver and satellite clocks.  Noise in the signal processing.

 Rapidly changing inconsistent atmospheric conditions.

 Multipath errors because the GPS rover on the athlete‟s helmet was not always held at a constant orientation with a clear view of the sky. (Parts of the signal reached the receiver indirectly after reflecting off different surfaces, and therefore the signal contains a bias.)

 The base station was not perfectly synchronised to the rover.

Equation ‎6.3