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

  • Hi Tom Hastie,

    Have you tried more with Arduimu on gas planes? How did you manage to damp the vibration issues?

    @Morli: did you try waypoints using Arduimu on gas plane? Did it work reliably?

    Thanks!
  • Yep, I switched my Ublox to 57600baud. I don't have the same model as is sold in the DIYd store, however, it does use a uBlox chip to do all the work, and U-Center interfaced with it fine. I had to enable the correct binary messages, and at the same time there was a way to change the baud rate (it arrived at 9600). I picked 57600 simply because it was available on OpenLog.

    I'll make a post about the resetting OpenLog.
  • @ Tom, Is your Ublox now running at 57600? I didn't know that was an option. I bout mine all ready
    set up from the DIY store. I just assumed that was fixed. I will have to look at the U center. BTW i just ordered the openlog, its back in stock. I plan to put it in my ground station boxand record all data comming from the plane
    and figure out have to parse it later. A 1G sd card would hold around 1000 hrs of flight. You didn't say why your logger was reseting.

    Greg
  • Understood. I just used the U-Center software for the ublox GPS to change the baud rate to 57600 when I setup the binary messages coming out. Is that an option for you?

    Tom
  • Hey Tom,

    38400 is the rate the Ublox uses so every thing else needs to run at that speed. I want to record all the data received on the ground station (Ardustation). I could also store lots of waypoints scripts on it and upload them to the plane in the field. I am trying to eliminate the need for a notebook. Every thing needed would be mounted on my transmitter. I am using the Ublox.
  • Hey Greg,

    I also ran into the fact that OpenLog didn't work at 38400bps out of the box. Right now the way I'm getting around it is by running the GPS/IMU and ArduPilot all at 57600bps.

    For the Ardupilot guys: was 38400 picked for any specific reason?

    Tom
  • Developer
    @Greg - it can be done but looks like a pain! There is a thread around where one of the devboard guys changed it to some other rate, but not 38400 so you can't follow his procedure verbatim. You have to locate the source files, change them and reflash it....
  • Does anyone know how to get the openlog to work at 38400 baud. According to their website the isn't one of the pre-programmed choices. Can the firm ware be changed ?
  • Yep. I just checked the data logs for the Flights from Sunday with my electric Edge 540. In comparison, the rate data is really smooth. The installation was hard mounted in the gas plane with two screws. One of the screws was attached to the diagonal brace, which I'm sure was like mounting the assembly to a trampoline once the whole thing started shaking. The fact that it worked as well as it did is impresive.
  • That level of vibration would really be degrading your results, just wrap the IMU in some foam before securing it to the frame next flight and you'll get much better results, as you know.
This reply was deleted.