[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Paparazzi-devel] Changes in the CVS head

From: Pascal Brisset
Subject: [Paparazzi-devel] Changes in the CVS head
Date: Mon, 10 Dec 2007 22:36:53 +0100
User-agent: Thunderbird (X11/20071022)


your next update will probably require some modifications in your airframe configurations files. Some cleaning has been done, mainly in the infrared module (infrared.c) which has been simplified: - the dynamic estimation on the contrast (e.g. "lls") and the initial contrast calibration feature (just after boot) have been removed;
- the "IR360" mode is now the default single mode;
- the configuration of the sensors should :-) be easier.
Some other old code has been removed: wavecard modem (link agent and airborne code), harware ground audio modem (link agent), RC transmitter events,...

Some examples for the infrared sensor configuration can be found in the updated airframe files.

1) The sensor neutrals are now defined on the sensor channels: ADC_ROLL_NEUTRAL and ADC_PITCH_NEUTRAL are replaced by ADC_IR1_NEUTRAL and ADC_IR2_NEUTRAL. These two values should be around 512 and are tuned with the "cupboard test": Put the aircraft in a close box (a cupboard) and read the values of the IR_SENSORS message (ir1, ir2 and vertical); Set the neutrals (they are subtracted from the measurement) to get null values. E.g. if you read 5 for the ir1 value with ADC_IR1_NEUTRAL equal to 512, change it to 517.

2) Two installation setups are predefined for the horizontal sensor, "aligned" and "tilted". - If the sensor is aligned with the airframe (example in twinstar6.xml), set the corresponding flag:
   <define name="HORIZ_SENSOR_ALIGNED" value="1"/>
and declare the longitudinal channel as ADC_IR2 and the lateral one as ADC_IR1. Set the IR_IR1_SIGN (resp. IR_IR2_SIGN) to -1 if needed: In the IR_SENSORS message, the lateral value must be positive when it is warmer on the right side; the longitudinal value must be positive when it is warmer on the back side.
- If the sensor is tilted at 45° (example in microjet6.xml), set
   <define name="HORIZ_SENSOR_TILTED" value="1"/>
and declare the rear-left -- front-right sensor as IR1, the rear-right -- front-left as IR2. IR1_SIGN and IR2_SIGN must give positive values when it's warm on the right side.

If your sensor is tilted at 30° :-) or if you want to keep your old working configuration, the RollOfIrs() and PitchOfIrs() macros (example in microjet5.xml) are still working.

3) The three infrared axis should approximatively give the same maximum values (level for the vertical sensor, tilted on the right wing for the lateral value, nose-up for the longitudinal value). The following factors can be set to adjust these values:
   <define name="LATERAL_CORRECTION" value="1."/>
   <define name="LONGITUDINAL_CORRECTION" value="1."/>
   <define name="VERTICAL_CORRECTION" value="1."/>
E.g., if 200 is the maximum value on the vertical axis, 300 on the lateral axis and 100 on the longitudinal axis, we must set:
    <define name="LATERAL_CORRECTION" value="0.66"/>
   <define name="LONGITUDINAL_CORRECTION" value="2."/>
   <define name="VERTICAL_CORRECTION" value="1."/>

4) To take into account the fact that your horizontal sensor is probably not strictly aligned with the airframe, you will need to adjust the ROLL_NEUTRAL (positive to roll right) and PITCH_NEUTRAL (positive to pitch up) angles. It can be done only in flight.

5) Finally, an asymmetric (left/right, front/rear) correction can be added with a last set of factors:
   <define name="CORRECTION_UP" value="1.0"/>
   <define name="CORRECTION_DOWN" value="1.0"/>
   <define name="CORRECTION_LEFT" value="1.0"/>
   <define name="CORRECTION_RIGHT" value="1.0"/>
These corrections are set on the angles.

All this should go in the wiki asap ...

This new code has not been heavily tested so don't hesitate to ask for help.

Happy update


reply via email to

[Prev in Thread] Current Thread [Next in Thread]