More ArduIMU Fun

Had a few more flights with the ArduIMU yesterday.

I should mention, that with regards to RC flying, my main interest is competing in IMAC (Scale Aerobatics). Basically it's flying giant scale aircraft through predefined aerobatic patterns for judges. Last year I competed in intermediate (3rd of 5 difficulty levels) and this year I'll be moving up to Advanced (4th of 5 levels).

Arising from this interest, my long term goal would be to get an autopilot doing aerobatics.

Anyways, yesterday was the first flight of the spring with my contest aircraft, shown here.

After the first flight, to confirm that everything was still working, I couldn't help but put the ArduIMU/GPS on board for some data collection.


What I really wanted to know was if typical IMAC aerobatic manuevers could be detected by the sensors used on the IMU. If the sensors railed as soon as I departed level flight, then we might have to rethink things a little. On the second flight with the IMU on board, I put the plane through the Intermediate contest sequence from last year. By flying a known sequence it makes it easy to figure out what the aircraft was doing at each point of the flight, and to determine if the sensor data is appropriate.

The initial data analysis is favourable. I am using the ArduIMU code associated with the recent Ardupilot 2.5.1 work with a few tweaks to work with my equipment. I also added the gyro rate information to the ASCII data stream to give me a better idea of what's going on inside the ArduIMU.

Here are a couple of snapshots from the data:


The starting of the engine is clearly visible in the Roll Rate data. The engine is hand propped. A few flips with choke on to get it primed, and then a few flips with choke off and she's running:


You can see that the engine introduces alot of vibration noise into the rate gyros. I'm not too worried at this point because:
- I had the system hard mounted without much padding.
- I will be installing this in my smaller electric aircraft to start.

If I ever get cocky enough to Ardupilot a gas plane, I might have to add some filtering to the rate gyros to damp out this vibration.


The last maneuver in the sequence is a rolling circle. Basically, you need to fly a circle, while rolling the plane. You need to do 4 rolls in total, so after each 90 degree heading change the aircraft should have completed one more full roll. In my opinion, it's by far the most difficult maneuver they force us to do. Anyways, the data shows just how bad my "roller" is:

There's more stuff in there, but the fact that I can make sense of the outputs gives me hope that I can teach the Ardupilot to do the same :)


Thoughts, and To Do List:
1. GPS signal seems to go wonky as the aircraft rolls inverted (even for short periods). Still haven't decided if this is an issue, since during aerobatics, the attitude and attitude rate is more important than the lat/long. The key will be to make sure that the Attitude and Rate numbers aren't peturbed by momentary GPS jumps.

2. Definitely want to integrate the static airpressure system into the data record (I'm not sure I trust the GPS altitude numbers)

3. Add accelerometer data to the output stream. It would be intesting to see if I can track the gravity vector as I do a slow roll across the field.

4. Right now the data log is time stamped with the GPS Time of Week (TOW) value. Since the ArduIMU is spitting out sensor data faster than my GPS is updating the TOW, I'm ending up with multiple datapoints with the same time value. I think I will switch the timestamp source from TOW to "timeNow" (Arduino milliseconds since boot) to try to prevent this.

That's all for today. More to come.

Tom

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • You may want to add another antenna to your GPS one for the top and bottom, this was an issue on real aircraft when first fitted with GPS. High bank angles much less a roll would cause the signal loss.
  • Oh, and don't worry. I have no plans to make my 35% autonomous. We'll talk about that after a few hundred autonomous flights on my electric.

    Tom
  • Thanks for the encouragement.

    I agree on the statments about the GPS. The existing GPS I have IS a ublox chipset (I am using the ublox binary parser), it just doesn't have the helical antenna. I borrowed the GPS from a fellow UAVer. He had the GPS in his parts bin from his paparazzi days. Since he was willing to lend it to me I thought I'd save some cash up front and start experimenting with the IMU.

    I'll also be watching the Ardupilot Mega closely. I have a suspicion I might need more processing power than is available on the 328... but time will tell.

    Tom
  • Developer
    Compass and baro will be part of ArduPilot Mega. Should work well for you, uBlox can be set up for <4 g flight dynamics too.
    I would not have the nerve to put it in AUTO, To nice to cr.....
  • 3D Robotics
    This is awesome!! Also: Jason is right--you're not using the right GPS module for what you want to do. You'll definitely be happier with the uBlox.
  • Developer
    I admit I couldn't believe how small the IMU is in your setup! I wish it were that small.
    I think you would benefit from the uBlox GPS. It's far better suited to what you're doing.

    Does anyone know how to best fly patterns like this? What are some approaches?
    Jason
  • Check this too: http://vimeo.com/9211807
  • Developer
    The credit for the filtering work on the gyros belongs to Jose Julio. He has done a lot of great work on ArduIMU since Jordi ported the code.
  • Tom,

    Thanks for sharing your results!
    I am also interesting in autonomous acrobatics. I am working on a tightly-coupled GPS/INS sensor that should provide accurate lat/lon/alt during maneuver-induced GPS outages. I am also working on an optimal full-state feedback autopilot that should allow guidance to pitch rates, roll rates, etc.
    I would love to continue hearing about your testing!

    Tom
  • Hi Tom.,
    Good work , you are almost pioneering a new route to unknown land. Using normal mattress foam helps a lot in vibration damping , I have tried few other foams in my gas powered extra 330 but the simplest of solution gave me the best result( did not crash ;-) ) , good work , keep the data/feedback coming , I am sure lot of drones will appreciate your testing.
This reply was deleted.