Lots of news to share, look for updates soon. We have some new members on the team, and will be doing good things shortly.
I will also fill in some details on the blog about my trip to Ireland for CPA 2011.
-Ian
Lots of news to share, look for updates soon. We have some new members on the team, and will be doing good things shortly.
I will also fill in some details on the blog about my trip to Ireland for CPA 2011.
-Ian
Well, the good news first. We have made headway on obtaining our compass heading through the GPS chip. We have adjusted our parser to discriminate the NMEA strings based on their “tag” (default config. spits out 3 different strings) and to pull out the true heading. It is kinda cloudy today in meadville so we got a satellite lock but I don’t think that it was a great one.
The bad news is that the airplane still has the tendency to nose down and to the left. We did a little bit more ground testing today to rule out the presence of crippling motor noise. We didn’t notice much change of the leveling reflexes between throttle off and throttle on (1-100%). We did a little manual linkage adjustment because the trim on the radio was slightly off from the trim on the autopilot (very possibly leading to a left turn). We also doubled the amount of elevator throw that the airplane has when trying to correct an improper pitch condition.
Hopefully the weather clears up soon so that we can fly…
Ian
The UAV flew again yesterday afternoon for some more flight code testing. We now have a level flight sequences and turning sequences running on a timer. Level flight needed a little tuning as it had a tendency to roll to the left, and then dive. I updated the zero position of the sensors, and will make sure that our sensor is perfectly level. Turns seemed to work ok, but it was hard to tell with our level flight issues. We will be testing again this afternoon starting at 1:00 P.M at Robertson Field.
Once we get level flight and turns debugged our goals for the near future involve implementing our airspeed sensor and including throttle control into the auto pilot. Getting a working GPS is on the agenda too, but that is going to involve some help from Drew to get serial working how we need it to.
We have some flight video from last night on a camera that we borrowed from the library, but we are having trouble getting it off of the camera. We are close though…
Just a quick idea of how it flew… It flew great under both R/C control, as well as autonomous control. As of now we only have level flight stabilization (roll and pitch), with no yaw correction. There was only minimal oscillation about the axes when put into autonomous mode, which means that we have the sensitivity set pretty well.
The first landing didn’t go so hot… Since we had a bit more weight up front with the sensors, it seemed as though the airplane was a bit nose heavy and came down faster than usual. Flying at Robertson makes it hard to get a nice long glide slope, which allows the pilot to get the plane slowed down in time for landing. On approach, the front wheel got caught in the grass and snapped the front part of the plane off. The wing also broke in the middle where the spars join up, but broke pretty cleanly so it should be a quick fix. The first two pictures are of the broken fuselage and wing, and the third picture is of the fuselage being fixed.
Just giving everyone a heads up that we will be attempting our first autonomous test flights tonight at 6 P.M (weather permitting of course) at the Robertson Sports Complex Soccer Field. Anyone who is interested in seeing the airplane fly is welcome to attend. We will be testing our autonomous level flight stabilization, and possibly testing code that involves a few autonomous turns.
One of the previous blog posts mentioned a possible problem with the data that we had collected from our X-axis accelerometer. While trying to characterize all of the axes with higher precision using a homemade protractor setup we noticed that even our Y-axis data was skewed. Prior to testing we updated the build of the Transterpreter and Plumbing that we were using to make sure that we were current.
My computer had been running slowly lately so around lunchtime I decided that I would take a break to update my linux distrobution to Ubuntu 10.04. After reinstalling the Transterpreter and Plumbing, all axes on the Razor IMU seemed to be working properly. Below are some graphs of how our data looks now.
The best explanation for our problems is that the code in the transterpreter has been constantly changing, and we may have had a different ADC reference voltage each time we tested. Now that we have good data from our accelerometers it is time to implement the complementary filter which we will document soon.
We flew the airplane for the first time Saturday the 10th of July around 6:00 P.M. Once we took part in the wonderful picnic that Prof. Jadud provided us it was time to walk the airplane down to the west end of Robertson field. The airplane was noted to be slightly tail heavy in a pre-flight inspection, but the decision was made to continue with the maiden. The first three flights were rather unpleasant as the tail heavy condition was more severe than expected. Slowly weight was added between flights, and then the airplane was brought in for the evening. Damage was incurred on the nose gear as it was not robust enough to land with.
The plane was also flown twice on Sunday the 11th around 8:00 P.M. More weight was added to the nose, and the battery mount was modified to get it closer to the front of the airplane. Results of the modification and addition of weight prove to be successful as the plane flies much more stable.
On our Razor IMU there are three different MEM sensors: a 3-axis accelerometer, a 2-axis gyro, and a single axis gyro. We have been doing our best to get decent unfiltered data out of our IMU to understand better how it works and where the problems lie. The gyros give us relatively clean instantaneous angular acceleration data that we will be able to convert into a definite position around the X, Y or Z axis once we get our filtering processes implemented. The accelerometers have been giving us a bit more grief…
Ideally the accelerometers should give us a good idea of the angle we are above or below the horizon in each axis. This is achieved by mapping the units that are spit out by the analog to digital converter, to a range from -1 to +1. This range is necessary to make sure that when using the arccosine function (to find the angle) that we do not have any values in our calculations that give us a result that is undefined. This seems to work well with the Y axis accelerometer, but is not the case with the X axis.
When looking at the Y axis accelerometer data: at +90 degrees (above the horizon) we get an ADC value of about 610, at 0 degrees we have a value of about 512, and at -90 degrees (below the horizon) we have an adc value of about 410. This gives us about the same range of sensitivity both above and below the horizon. This is not the case with the X axis. As shown in Figure 1, the range that we have below the horizon is non linear, and is about twice the range that we have below the horizon. At +90 degrees on the X axis we have an ADC value of about 412, at 0 an ADC value of about 512, and at -90 degrees an ADC value of about 768. This behavior is not what we expected to see. We expected that both the X and Y axes should behave similarly considering that they are both in the same plane.

Figure 1: The X accelerometer seems to have a "dead spot" and non-linear values around 80 degrees below the horizon
We will have to wait and see if this is a defect in the accelerometer chip, or if it is just a trend that we will be able to filter out with our Kalman Filter that we are currently implementing.
A video that we took of this trend is below. The values on the screen are a bit hard to read, but correspond with Figure1.
The fuselage, like the wing, was built using both pink insulation foam, and the foam core poster board.
First the two side panels were cut out of the pink insulation foam. A bottom plate of white posterboard was cut out andthe two side panels were glued to the bottom plate.

A wooden plate was glued to the bottom of the fuselage to allow the attachment of the landing gear. A plate was also glued to the inside of the fuselage to prevent the nuts from pulling through the foam. The landing gear was then bolted in place.

A balsa wood box was built to allow the front nose wheel to be held in place. Plastic bushings were glued into the wood to make sure that the nose wheel turns smoothly.

A wooden box was crafted to allow attachment of the motor. The design of the rear of the fuselage was changed slightly as the motor was larger than expected.
The tail was built using 3/8 inch square hardwood rods, and carbon fiber strips glued to the top to reduce flex. The horizontal member of the tail was cut from pink insulation foam and the vertical members are white posterboard. Both horizontal and vertical stabilizers have carbon reinforcement. The tail was made removable with four bolts and plastic wingnuts. Wooden plates were glued inside and on the bottom surface of the wing to make the foam sturdy enough to handle the stress from the tail. In the next post we will show the next batch of goodies that arrived in the mail.
To catch everyone up on some of the details of the Flying Gator build I will walk through some of the construction steps (with pictures) that were involved. The motor, batteries, speed control, and charger should be here from Hobby King in a couple days, and the Razor IMU unit should show up later today so there will be more updates when those arrive.
The first day that we officially started working for the summer, I jumped right into the construction of the wing. I had originally intended to just make a modified wing for the slow stick, but couldn’t resist doing more. The wing and fuselage were constructed using both 3/8″ pink insulation foam from Home Depot, as well as white foam core poster board that is available at the Dollar Tree (thats right a dollar a sheet!).
Wing Construction
Aircraft wings have three main structural components: Ribs, Spars, and Sheeting. The ribs form the profile of the wing, and many are used from the root to the tip of the wing. The airfoil shape that was used in the construction of our UAV is the Clark-Y. This airfoil has very nice flying characteristics and allows for a very stable wing. Spars run from length of the wing to provide support, and a place to connect the wings together at the root. Our spars are fifty cent Home Depot yard sticks that have lightening holes drilled in them. The sheeting is the “covering” of the wing. There is sheeting both on the top of the wing as well as the bottom. In typical construction the bottom sheeting is foundation of the wing, and the ribs and spars are build on top. Once the ribs and spars are completed the top sheeting is formed over the airfoil to give us a nice aerodynamic shape.
Each wing panel was built separately so that the wings could be connected at the correct angle. The wing spar was glued directly to the bottom wing sheeting and then left to dry. The adhesive used was gorilla glue, which is great for use on foam due to the expanding action. Gorilla glue also sands very nicely which makes it easy to shape.
The ribs were then cut out of the pink insulation foam using a template obtained through the airfoil generation software, Profili 2.0. The ribs are 12 inches in length
The ribs were cut in half and the trailing edge pieces were glued into place. Ribs were spaced at five inches except for at the tip, the root, and where the tail booms are to be attached.
The front half of the rib was then glued into place.
Once both wing panels were built (making sure not to build two right wing panels!) they were connected with a small amount of dihedral. Dihedral is the V shape that the wing has which gives the plane a very stable flying character.
In the next post I will include details on the fuselage construction as well as information on the removable tail that we built.