Experimental Data

This page contains documentation of helicopter flight tests.

Flight test 6th December 2007

Test Purpose

To try to set-up yaw rate PI controller and gather performance data

System Configuration

  • HW revision: 4.0
  • MCC SW version: 6.6
  • Controller version: 4.0
  • DAM SW version: 5.3
  • SCU SW version: 1.1
  • GS SW version: 6.0

DAM Setup

  • Angular rates filtering: Butterworth low-pass, cutoff frequency 10Hz, 4th order @ 64Hz sampling
  • Accelerations filtering: Butterworth low-pass, cutoff frequency 3Hz, 4th order @ 64Hz sampling

Data Explanation

General

The flight data are available here (registration required). The file contains the vehicle performance data for each flight, the text file containing the controller parameters, the header file explaining the data files contents and two m-files (one for visualization of the yaw rate controller performance and the other for accelerations visualization - see the remarks below). Data File Format 6.0 was used in this test.

Flights Description

Flight Number Purpose Course of the Flight
1 Verification of the telemetry and overall system functionality First flight of the day. Nominal performance.
2 Yaw rate controller tuning P=0.03 I=0 D=0 b=1 Same setup as was the last flight of the previous test. Used to verify data acquired during the last test.
3 Yaw rate controller tuning P=0.03 I=5 D=0 b=1 The I component was added to get rid of the constant control error in the steady state. Very good controller performance. Excellent tail holding (0 rad/s reference), much better then the original modeller controller (CSM ICG-400). Achieved even very good angle holding, only minor drifting. This credits good gyro signal processing (drift and offset compensation and data filtering). The step response and constant spin holding is significantly worse, the system is oscillating pretty much, although the oscillations are dampened and the control loop tends to stabilize.
4 Yaw rate controller tuning P=0.03 I=15 D=0 b=1 Trying to find critical I gain. Deliberately high I to obtain performance data documenting the I gain influence. Clearly too high I gain setting, experienced huge unstable tail oscillations.
5 Yaw rate controller tuning P=0.03 I=9 D=0 b=1 Still too high I gain, experienced unstable tail oscillations.
6 Yaw rate controller tuning P=0.03 I=7 D=0 b=1 Still too high I gain, tail oscillates excessively in pirouetting.
7 Yaw rate controller tuning P=0.025 I=5 D=0 b=1 Trying to reduce overall controller gain a little. Not very satisfactory, experienced “waggy” tail.
8 Yaw rate controller tuning P=0.03 I=5 D=0 b=0.5 Trying to determine the b parameter influence (see PID Control Library 4.0. Apparently worse step response (bigger oscillations) compared to flight no. 3, which is a bit surprising.
9 Yaw rate controller tuning P=0.03 I=3 D=0 b=0.5 Trying to determine the b parameter influence. The I gain was reduced in the attempt to reduce step response oscillations. Clearly, no way to go :-( .
10 Yaw rate controller tuning P=0.04 I=5 D=0 b=0.2 Trying to determine the b parameter influence. Higher P gain with significantly low b weight. Subjectively similar performance to flight no. 3, although data seem to be worse.
11 Yaw rate controller tuning P=0.04 I=5 D=0 b=1 Overall gain seems too high.
12 Yaw rate controller tuning P=0.04 I=6 D=0 b=1 Overall and I gain seems too high. Oscillates relatively lot.

Concluding Remarks

A productive test overall, although no completely satisfactory yaw rate controller setup was found. The weather was good, with no influence on the test. The setup of the flight no. 3 (P=0.03, I=5, D=0, b=1) seems to be the most promising, although the step response is not very satisfactory. Will try to introduce the D component next time to suppress the oscillations.

Completely erratic accelerometers readings were experienced today. Had no influence on the test, as the data were not used for control purposes. Clearly, this is due to excessive airframe vibrations. Not going to mitigate that though, as this was probably one of the last tests (if not the very last) with the old Freya 60 helicopter used as the RAMA carrier. Will switch to a brand new Freya 90 EVO for the next test, which should produce much less vibrations (and also at slightly other frequencies), which should solve the problem.

Flight test 29th November 2007

Test Purpose

To try to set-up yaw rate PI controller and gather performance data

System Configuration

  • HW revision: 4.0
  • MCC SW version: 6.6
  • Controller version: 4.0
  • DAM SW version: 5.3
  • SCU SW version: 1.1
  • GS SW version: 6.0

DAM Setup

  • Angular rates filtering: Butterworth low-pass, cutoff frequency 10Hz, 4th order @ 64Hz sampling
  • Accelerations filtering: Butterworth low-pass, cutoff frequency 3Hz, 4th order @ 64Hz sampling

Data Explanation

General

The flight data are available here (registration required). The file contains the vehicle performance data for each flight, the text file containing the controller parameters, the header file explaining the data files contents and two m-files (one for visualization of the yaw rate controller performance and the other for accelerations visualization - see the remarks below). Data File Format 6.0 was used in this test.

Flights Description

Flight Number Purpose Course of the Flight
1 Verification of the telemetry and overall system functionality First flight of the day. Nominal performance.
2 Yaw rate controller tuning P=0.05 I=0 D=0 b=1 Trying to find the critical gain of the system and to evaluate step response.
3 Helicopter tuning Trying to get rid of excessive vibrations and modeller gyroscope gain tuning. Were not successful.
4 Yaw rate controller tuning P=0.07 I=0 D=0 b=1. Trying to find the critical gain of the system and to evaluate step response.
5 Yaw rate controller tuning P=0.1 I=0 D=0 b=1. Trying to find the critical gain of the system and to evaluate step response. Excessive tail oscillations - P gain clearly too high.
6 Yaw rate controller tuning P=0.03 I=0 D=0 b=1. Verifying optimal P gain, determined empirically.

Concluding Remarks

The test was cut short due to uncooperative weather (freezing temperatures and gutsy wind). Control System performance was nominal, although excessive airframe vibrations of the helicopter were experienced, as by previous tests. This compromises IMU performance very much, even rendering the accelerometers data unusable.

The accelerometers are working nominally on the ground, but after liftoff, when vibrations get stronger, they show erratic readings and the data provided by them are clearly deteriorated very much (run the accelerations visualization script).

The yaw rate controller setup was inconclusive, because of limited testing time and unacceptable weather conditions. However, basic P settings were found.

Overall, the test was not very satisfactory.

Data File Format 6.0

The data from the vehicle telemetry are stored on-line into a text datafile, which can be easily processed in Matlab. Each line of the datafile corresponds to one sample - i.e. the current state of the vehicle at the given moment. The data are stored uniformly at the frequency of 32Hz, although the real sampling rate of each device may differ. In reality, the servo/control stick positions are sampled at 32Hz, The controller runs at 32Hz, the IMU (Inertial Measurement Unit, providing accelerations and angular rates) is sampled at 64Hz, magnetometers at 128Hz and GPS at 1Hz. The higher sampling rates of the IMU/magnetometers is used only internally in the DAM (Data Acquisition Module) for data preprocessing (i.e. filtering, by Butterworth low-pass filter), but are then downsampled to 32Hz and at this frequency provided to the MCC (Main Control Computer). And at this uniform frequency also the telemetry works, therefore each data are recorded at the rate of 32Hz, and each line of the datafile corresponds to one sample. Please note, that the GPS data are always the same for 32 samples - that is because the GPS data are sampled at 1Hz, but are recorded uniformly with other data at 32Hz.

Each column of the datafile corresponds to one recorded vehicle parameter. In version 6.0, 61 parameters overall are recorded, therefore, there are 61 columns in the datafile. Description of each column follows:

Datafile 6.0 Column Description

Column Index Data Type Meaning
1 uint_32 Sample Number (Timestamp) - The samples should be numbered continuously in increasing order, with no number omitted nor repeated. This is used to check data consistency.
2 uint_8 Servo Mask - Determines which actuators (servos) are controlled automatically in the ACM (Auto Control Mode). It is a bit mask, with bits 0-4 corresponding to throttle, roll, pitch, yaw and collective servos respectively. The bits 5-7 have no meaning. When respective bit is 1, corresponding actuator is controlled automatically (by MCC) in ACM. When 0, it remains under manual control even in the ACM.
3-8 uint_16 Control Stick Positions - positions of throttle, roll, pitch, yaw and collective control sticks, and the GY-401 command (modeller gyroscope controlling the tail in MCM - Manual Control Mode)
9-11 double Desired Angular Rates - Desired vehicle roll, pitch and yaw rates in rad/s. Used as the reference for rate controllers. Computed from respective control sticks positions.
12-16 uint_16 Servo Positions - positions of throttle, roll, pitch, yaw and collective actuators (servos).
17-19 double Controller Internal States - Internal states (summator values) of the roll, pitch and yaw rate controllers. Those are values prior action computation.
20-22 double Controller Internal States Updated - Internal states (summator values) of the roll, pitch and yaw rate controllers, updated after the action computation in the given sample.
23 uint_8 Servo Battery Voltage - in 0.1V, therefore, to obtain the true voltage, divide this number by 10.
24 uint_8 Electronic Battery Voltage - in 0.1V, therefore, to obtain the true voltage, divide this number by 10.
25-27 double Vehicle Angles - Roll, pitch and yaw vehicle angles.
28-30 double Vehicle Angular Rates Filtered - Roll, pitch and yaw angular rates, in rad/s. Filtered by Butterworth low-pass filter.
31-33 double Vehicle Angular Rates - Roll, pitch and yaw angular rates, in rad/s. Unfiltered, raw data.
34-36 double Vehicle Accelerations Filtered - x, y and z vehicle accelerations, in mg (miligs). Filtered by Butterworth low-pass filter.
37-39 double Vehicle Accelerations - x, y and z vehicle accelerations, in mg (miligs). Unfiltered, raw data.
40-42 double Magnetic Field Intensity - Magnetic field intensity in x, y and z vehicle axes, in miligauss. Unfiltered, raw data.
43 double Latitude - Vehicle geographical latitude, in degrees.
44 double Longitude - Vehicle geographical longitude, in degrees.
45 float Altitude - Vehicle elipsoid altitude, in meters.
46 float Mean Sea Level Height - in meters.
47 float Estimated Position Error - in meters.
48 float Estimated Position Error Horizontal - in meters.
49 float Estimated Position Error Vertical - in meters.
50-52 float Vehicle Velocity Components - Longitudinal, Latitudinal and Altitudinal vehicle velocity, in m/s.
53 double GPS Time of the Week - GPS real-time clock, in seconds.
54 int_16 UTC Leap Seconds.
55 int_32 Garmin Days - Days since December 31, 1989.
56 int_16 GPS Regime - 0 or 1-no fix, 2-2D, 3-3D, 4-2D differential, 5-3D differential.
57-59 uint_8 SCU, IMU and GPS Error Codes - 0-nominal function, 1-general error, 2-data parity error, 3-data range error, 4-frame error, 5-ETX frame error.
60 uint_32 Data packet Composition Error. Determines whether no data were missing in the time of data packet composition. It is a bitwise variable, each bit corresponding to respective data. Bit meaning: 0-Stick Pos 1, 1-Stick Pos 2, 2-Rates des val, 3-Servo pos, 4- batt voltage, 5-roll rate filtered, 6-pitch rate filtered, 7-yaw rate filtered, 8-roll rate raw, 9-pitch rate raw, 10-yaw rate raw, 11-accel x filtered, 12-accel y filtered, 13-accel z filtered, 14-accel x raw, 15-accel y raw, 16-accel z raw, 17-magnetic field intensity x raw, 18-magnetic field intensity y raw, 19-magnetic field intensity z raw, 20-controller internal state, 21-controller internal state updated
61 uint_8 Control Mode - 0-MCM (Manual Control Mode), 1-ACM (Automatic Control Mode).

Ondra Špinka 10/04/2008 13:26

 
experiments_data.txt · Last modified: 14/04/2008 09:37 by ondra
 
Recent changes RSS feed Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki