Hi David,
I have not flown in windy conditions. Only with a light breeze.
The normal behavior in the case of loss of GPS is for the
autopilot to use the failsafe roll, pitch and throttle settings defined in the
airframe file. The resetting of the flight plan back to “Geo Init”
indicates that there was a power failure and the autopilot restarted. This would
cause the ArduIMU to re-calibrate itself in-flight (if the ENABLE_AIR_START setting
was set to the default value of 0 in the ArduIMU configuration) resulting most
likely in erratic behaviour.
Some food for thought.
Cheers,Mark
From: address@hidden
[mailto:address@hidden On Behalf
Of David Conger
Sent: Thursday, 11 November 2010 1:02 AM
To: address@hidden
Subject: Re: [Paparazzi-devel] radio control
Hi All, Hi Mark,
Interesting. I am very interested in the conditions you flew
in. Calm? Wind?
I just flew again today. Last night was perfect in zero
wind. Today two snap rolls into steep dives were observed for not apparent
reason. During the flight it also went to Geo-init and seemed to lose GPS
signal mid flight. The spins were during prolonged circles about 30 degrees to
the right. Then a snap to the left and spiral down. From the ground it appeared
the autopilot was not all that able to cope with the gusty turbulent
conditions.
I have logs and really would like to explain what happened.
Is there a graph I can plot from the logs to see the IMU behavior best? I think
now mounting the IMU directly against the u-blox module maybe a bad idea. The
GPS took a long time to get a fix and in flight lost signal...sending he flight
plan to the top in Geo Init ... and holding.
I have confidence this is a tuning or some issue that can be
recovered from. However I may fly only in calm conditions in the future. I do
have an onboard video I will post to YouTube so others can see the spins. Here
is the link: http://www.youtube.com/watch?v=cgOdE9ITyFY
Log of the flight. Take off in Manual. Then a switch to
AUTO2 once level with some altitude. It the plan goes quickly into the right
handed circle and about 1/3 the way around you see it go into a fast spiral to
the Left. I recover and fly a little in AUTO1 then go into AUTO2. It picks up
the circle again and after about 5sec it does the same thing but I do not
recover. The spin was too severe and fast for me to orient and take
control.
The Merlin survived with light damage. It will fly again
after some patches.
After replaying the logs I see the GPS resets and the plane
goes to Geo Init about 3 seconds after I recover from the first spin. The
conditions were windy but the airspeed indicator was pretty close in the
estimation this time. Maybe last night with zero wind it had more problems
determining the wind speed? I did notice it still had issues (not as severe)
with displaying the direction the aircraft was pointed but not as bad as last
night.
That’s great news and congratulations on your progress.
BTW, I have connected the ArduIMUv2 to my TWOG and put in my
Funjet. It flies great at an airspeed of ~ 20m/s. I have not yet dared to
try it at 40 m/s!
Also, thanks to the ZHAW students for developing this great
addon to the Paparazzi system and to Reto for his efforts to make the Paparazzi
community aware of it.
From: address@hidden [mailto:address@hidden On Behalf Of David Conger
Sent: Wednesday, 10
November 2010 4:46 AM
To: address@hidden
Subject: Re:
[Paparazzi-devel] radio control
I have good news. Inexplicably the 3-pos switch started
working. The only think I could remember changing is removing the RUDDER entry
in the airframe file under the servo assignments. I discovered it working at
the flying field. I was going to go into AUTO by powering off the Tx and MANUAL
by powering on the Tx. I actually did this. Then to show my partner the 3-pos
switch was not working I toggled it and noticed it actually did something. I
don't mind happy surprises so I'm not going to question it. It just works.
Unfortunately in this first flight the aircraft when put in
AUTO1 would sharply dive immediately. I tried at least 5-8 times all with the
same results. It was getting dark but I decided on a second flight. This time I
let the IMU calibrate for at least 30 seconds with the plan horizontal. I took
off and when I went to AUTO1 ... it flew. I dared try AUTO2 and it worked!!!
Stable flight. I couldn't let it fly long as it was well past sunset and I
could not allow it to go very far. However absolutely AUTO1 and AUTO2 were
stable.
Tomorrow we hope to fly some more during daylight but I
wanted to just report this good news.
On Nov 9, 2010, at 4:01 PM, David Conger wrote:
This is probably due to my using the tuning_ins.xml file as
suggested. There are no MANUAL, AUTO1, AUTO2 defined in there that I can see.
Similar to BOOZ.
Is there documentation around the settings file? I would be
a bit nervous using the on/off switch on the Tx to control engaging the
autopilot on/off
I don't mind learning but I think this is not an issue with
my having ground connected to the ESC anymore.. :)
On Nov 8, 2010, at 10:53 PM, Michel GORRAZ wrote:
Hi,
Nothing to do with you R/C issue, sorry, but noticed you've connected the GND
of PPM connector between ESC and Tiny.
You shouldn't do that because if for some reason the GND power cable of ESC get
loose (in flight or test), you will burn your Tiny.
(all motor current will pass thru the small cable, molex connector and Tiny's
PCB...)
@+
Michel
In case it is helpful to see an
answer here's more details:
Aircraft: Multiplex Merlin
Autopilot: Tiny13
4 servos (2x Aileron, Elev, Rudder) . Turnigy micro digital servos: http://hobbycity.com/hobbyking/store/uh_viewItem.asp?idProduct=8511
Rx: Berg4L modified to output PPM to the autopilot
All servos connected to the autopilot (ppm, 5v, gnd)
ArduIMU v2 with SDC, SCL, GND, 5V connected to Autopilot and attached (double
sided tape) to the bottom of the Tiny13
MultiPlex power pack for motor and prop
10A ESC (it was smaller in size than the 18A one that came from
Multiplex)..only GND and PPM connected to the Tiny13
My airframe file looks like:
<!DOCTYPE airframe SYSTEM "airframe.dtd">
<!-- Merlin, Himax HC2212-1180
Tiny 1.1
ArduIMU Sensor
XBee modem
LEA 5H GPS
-->
<airframe name="Merlin 1">
<firmware name="fixedwing">
<target name="sim"
board="pc">
<define
name="AGR_CLIMB"/>
<define
name="LOITER_TRIM"/>
<define
name="ALT_KALMAN"/>
<define
name="WIND_INFO"/>
<define
name="WIND_INFO_RET"/>
</target>
<target name="ap"
board="tiny_1.1">
<define
name="AGR_CLIMB"/>
<define
name="LOITER_TRIM"/>
<define
name="ALT_KALMAN"/>
<define
name="WIND_INFO"/>
<define
name="WIND_INFO_RET"/>
<define
name="USE_I2C0"/>
</target>
<subsystem name="radio_control"
type="ppm"/>
<subsystem name="telemetry"
type="transparent"/>
<subsystem name="control"/>
<subsystem name="gps"
type="ublox_lea5h"/>
<subsystem name="navigation"/>
<subsystem name="i2c"/>
</firmware>
<firmware name="setup">
<target name="tunnel"
board="tiny_1.1"/>
<target name="usb_tunnel_0"
board="tiny_1.1"/>
<target name="usb_tunnel_1"
board="tiny_1.1"/>
<target name="setup_actuators"
board="tiny_1.1"/>
</firmware>
<modules>
<load name="ins_arduimu.xml"/>
</modules>
<!-- commands section -->
<servos>
<servo name="AILERON_RIGHT" no="3"
min="1900" neutral="1500" max="1100"/>
<servo name="AILERON_LEFT" no="6"
min="1900" neutral="1500" max="1100"/>
<servo name="ELEVATOR"
no="2" min="1100" neutral="1500"
max="1900"/>
<servo name="MOTOR"
no="1" min="1000" neutral="1000"
max="2000"/>
<servo name="RUDDER"
no="0" min="1000" neutral="1000"
max="2000"/>
</servos>
<commands>
<axis name="THROTTLE"
failsafe_value="0"/>
<axis name="ROLL"
failsafe_value="0"/>
<axis name="PITCH"
failsafe_value="0"/>
</commands>
<rc_commands>
<set command="THROTTLE" value="@THROTTLE"/>
<set command="ROLL"
value="@ROLL"/>
<set command="PITCH"
value="@PITCH"/>
</rc_commands>
<section name="MIXER">
<define name="AILERON_DIFF"
value="0.8"/>
</section>
<command_laws>
<set servo="MOTOR" value="@THROTTLE"/>
<set servo="ELEVATOR" value="@PITCH"/>
<let var="roll" value="@ROLL"/>
<set servo="AILERON_LEFT" value="($roll > 0 ?
1 : AILERON_DIFF) * $roll"/>
<set servo="AILERON_RIGHT" value="($roll > 0
? AILERON_DIFF : 1) * $roll"/>
</command_laws>
<section name="AUTO1" prefix="AUTO1_">
<define name="MAX_ROLL" value="0.85"/>
<define name="MAX_PITCH" value="0.6"/>
</section>
<!--<section name="adc"
prefix="ADC_CHANNEL_">
<define name="IR1" value="ADC_1"/>
<define name="IR2" value="ADC_2"/>
<define name="IR_TOP" value="ADC_0"/>
<define name="IR_NB_SAMPLES"
value="16"/>
</section> -->
<section name="INS" prefix="INS_">
<define name="ROLL_NEUTRAL_DEFAULT"
value="0" unit="deg"/>
<define name="PITCH_NEUTRAL_DEFAULT"
value="0" unit="deg"/>
</section>
<section name="BAT">
<define name="MILLIAMP_AT_FULL_THROTTLE"
value="20000"/>
<define name="CATASTROPHIC_BAT_LEVEL"
value="9.3" unit="V"/>
<define name="CRITIC_BAT_LEVEL"
value="10.3" unit="V"/>
</section>
<section name="MISC">
<define name="MINIMUM_AIRSPEED" value="10."
unit="m/s"/>
<define name="NOMINAL_AIRSPEED" value="12."
unit="m/s"/>
<define name="MAXIMUM_AIRSPEED" value="18."
unit="m/s"/>
<define name="CARROT" value="5."
unit="s"/>
<define name="KILL_MODE_DISTANCE"
value="(1.5*MAX_DIST_FROM_HOME)"/>
<define name="CONTROL_RATE" value="60"
unit="Hz"/>
<!-- <define name="XBEE_INIT"
value=""ATPL2\rATRN1\rATTT80\r""/> -->
<!-- <define name="NO_XBEE_API_INIT"
value="TRUE"/> -->
<define name="ALT_KALMAN_ENABLED"
value="FALSE"/>
<define name="TRIGGER_DELAY"
value="1."/>
<define name="DEFAULT_CIRCLE_RADIUS"
value="120."/>
</section>
<section name="VERTICAL CONTROL"
prefix="V_CTL_">
<define name="POWER_CTL_BAT_NOMINAL" value="11.1"
unit="volt"/>
<!-- outer loop proportional gain -->
<define name="ALTITUDE_PGAIN"
value="-0.06"/>
<!-- outer loop saturation -->
<define name="ALTITUDE_MAX_CLIMB"
value="2."/>
<!-- auto throttle inner loop -->
<define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE"
value="0.45"/>
<define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE"
value="0.25"/>
<define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE"
value="0.85"/>
<define name="AUTO_THROTTLE_LOITER_TRIM"
value="1000"/>
<define name="AUTO_THROTTLE_DASH_TRIM"
value="-1200"/>
<define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT"
value="0.2" unit="%/(m/s)"/>
<define name="AUTO_THROTTLE_PGAIN"
value="-0.023"/>
<define name="AUTO_THROTTLE_IGAIN"
value="0.1"/>
<define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN"
value="0.05"/>
<!-- auto pitch inner loop -->
<define name="AUTO_PITCH_PGAIN"
value="-0.06"/>
<define name="AUTO_PITCH_IGAIN"
value="0.08"/>
<define name="AUTO_PITCH_MAX_PITCH"
value="0.35"/>
<define name="AUTO_PITCH_MIN_PITCH"
value="-0.35"/>
<define name="THROTTLE_SLEW" value="0.1"/>
</section>
<section name="HORIZONTAL CONTROL"
prefix="H_CTL_">
<define name="COURSE_PGAIN"
value="-1.0"/>
<define name="ROLL_MAX_SETPOINT"
value="0.60" unit="radians"/>
<define name="PITCH_MAX_SETPOINT"
value="0.5" unit="radians"/>
<define name="PITCH_MIN_SETPOINT"
value="-0.5" unit="radians"/>
<define name="ROLL_PGAIN"
value="6000."/>
<define name="AILERON_OF_THROTTLE"
value="0.0"/>
<define name="PITCH_PGAIN"
value="-9000."/>
<define name="PITCH_DGAIN" value="1.5"/>
<define name="ELEVATOR_OF_ROLL"
value="1500"/>
<!--define name="ROLL_ATTITUDE_GAIN"
value="-5900"/>
<define name="ROLL_RATE_GAIN"
value="-2900"/-->
</section>
<section name="NAV">
<define name="NAV_PITCH" value="0."/>
<define name="NAV_GLIDE_PITCH_TRIM"
value="0"/>
</section>
<section name="AGGRESSIVE" prefix="AGR_">
<define name="BLEND_START"
value="50"/><!-- Altitude Error to Initiate Aggressive Climb
CANNOT BE ZERO!!-->
<define name="BLEND_END"
value="15"/><!-- Altitude Error to Blend Aggressive to Regular
Climb Modes CANNOT BE ZERO!!-->
<define name="CLIMB_THROTTLE"
value="0.9"/><!-- Gaz for Aggressive Climb -->
<define name="CLIMB_PITCH" value="0.35"/><!--
Pitch for Aggressive Climb -->
<define name="DESCENT_THROTTLE"
value="0.05"/><!-- Gaz for Aggressive Decent -->
<define name="DESCENT_PITCH"
value="-0.35"/><!-- Pitch for Aggressive Decent -->
<define name="CLIMB_NAV_RATIO"
value="0.8"/><!-- Percent Navigation for Altitude Error Equal
to Start Altitude -->
<define name="DESCENT_NAV_RATIO"
value="1.0"/>
</section>
<section name="FAILSAFE" prefix="FAILSAFE_">
<define name="DELAY_WITHOUT_GPS" value="2"
unit="s"/>
<define name="DEFAULT_THROTTLE" value="0.3"
unit="%"/>
<define name="DEFAULT_ROLL" value="0.17"
unit="rad"/>
<define name="DEFAULT_PITCH" value="0.08"
unit="rad"/>
<define name="HOME_RADIUS" value="100"
unit="m"/>
</section>
</airframe>
I'm using the settings file: conf/settings/tuning_ins.xml
I'm using the radio file: conf/radios/T7cap.xml
I'm not sure if I forgot anything but the radio is the same as used with a TWOG
and Booz without issue. The biggest problem is an inability to get the mode
switched using the transmitter.
Regards,
David Conger
On Nov 8, 2010, at 4:54 PM, David Conger wrote:
> Hello,
>
> I have a very strange issue. With a TWOG and my T7CAP everything was just
fine. The 3-pos switch worked well. With Booz it works well. Flying is just
fine.
>
> The problem is the same everything (Berg4L receiver, same config) but with
a Tiny13 it doesn't work. By "doesn't work" I mean the 3-pos switch
has no effect. Also the autopilot acts strangely. I powered it on without
the T7CAP on and the autpilot acted as if it was in AUTO2 as expected. What
doesn't work is powering on the T7CAP I expect full MANUAL mode. That didn't
happen. On powering up the T7CAP some of the controls (i.e. right aileron) was
no responding to the Tx. The 3-pos switch had no effect. Very odd.
>
> I read about ppm being modified. Could this be related?
>
> -David Conger
>
> On Oct 19, 2010, at 9:25 AM, Gautier Httenberger wrote:
>
>> Hi all,
>>
>> I have made some changes in the RC mechanism. It is now using
something really close to what exist on rotorcraft for fixed wing. The idea is
to merge the two in a near future.
>>
>> What is available on FW are:
>> <subsystem name="radio_control" type="ppm"/>
(regular ppm decoding, working with tiny/twog, need to be tested on lisa)
>> <subsystem name="radio_control"
type="datalink"/> (rc is coming from the datalink, the
ground part need a bit more work to be user friendly...)
>>
>> The old files for decoding ppm frames will be deleted soon.
>>
>> Please report any troubles with this need radio control system.
>>
>> Gautier
>>
>> _______________________________________________
>> Paparazzi-devel mailing list
>> address@hidden
>> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
>
>
> _______________________________________________
> Paparazzi-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
_______________________________________________
Paparazzi-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
_______________________________________________
Paparazzi-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
|