[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 2.0.0.6 (X11/20071022) |
Hi,
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
--Pascal
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Paparazzi-devel] Changes in the CVS head,
Pascal Brisset <=