The last month has been spent largely on the downlink software development and tuning the Sky Eye. It actually wasn’t as much work as I thought it would be and in the end only took about 5-6 hours. It’s also still far from perfect, but it does like quite pretty. Here is a set of loiter loops recorded this morning under 10-15MPH winds:
The biggest remaining variance left is altitude. When the plane banks sharply on the downwind turn, it loses altitude. This results in a pretty sinewave of altitude errors. I’m tuning this now but I doubt I will be able to get rid of all of it without reducing the possible bank angles. At the weight it is flying at and it’s relatively low speed, the Sky Eye drops precipitously in a 45 degree bank.
The big problem is a lack of thrust I think. It will not accept a bigger prop due to it’s design and just doesn’t turn the small thing enough to generate a ton of thrust. I am actually currently looking at a Sky Hunter for future projects, but for the time being I will finish this project. I am very near the point where I can start running the 30 mile course. I am planning on running a 30 mile set of autonomous circuits this weekend. If that goes well, I will plan on doing a followed 30 mile route next week.
I have to say, that was much much easier than I thought it would be. A few points about APM 2.5 that I could not find ANYWHERE online but made this whole project drastically easier:
APM 2.5 uses a FTDI chip for USB/Serial connections. This is fully supported natively with Android.
When Android is plugged into the FTDI port, APM will still fly the plane just fine.
APM has long had the capability to “Continue” it’s mission when it loses radio contact. This means it is not going to be necessary for me to modify the APM code to allow functionality without a radio.
Anyhow, I will discuss my Android-based telemetry in the near future; but here is the innovation:
I am now able to communicate directly with my plane while it is flying from a standard Mission Planner ground station using a HSPA cellular link controlled by an Android smartphone onboard the plane. No 3DR or Zigbee telemetry, no range concerns, it just works.
At fully loaded weight, the Sky Eye has a low margin between cruising speed and stall speed. After some time playing with the autopilot onboard in stabilization mode, I’ve seen the autopilot drive the airframe into a stall twice now, and both times it was not pretty.
It does not help that at this weight, the Sky Eye has developed a vicious spin. I have not yet been able to get it to recover in under 1.5 revolutions after a power on stall, and the altitude loss during those spins is dramatic.
So knowing this, I opted to get an airspeed sensor to augment ArduPilots total energy control system (TECS) loop such that a stall is much less likely. I originally opted to install it in the nose, but realized shortly after that I am fond of laying the aircraft on the ground mounted on its nose and one wing tip. The small airspeed center does NOT like carrying the airplanes mass. I have thus opted for a wing installation. Here it is:
I have to say, I am immensely impressed with the accuracy of this unit given that the whole setup was only $30. If you are thinking about an airspeed sensor for you plane – DO IT. It is absolutely worth the money. It looks pretty darned cool, to boot.
Also pictured here is my new GPS location. I was having reception trouble when it was mounted underneath the wooden board so I was forced to move it up on the top of the fuselage. Here the GPS works great but the magnetometer has intermittent problems due to close proximity to the canopy magnets. It works much better nonetheless though.
A design log for an ArduPilot UAV designed to use an onboard Android smartphone for command & control.