Friday, May 3, 2013

15. What's the next program in #UAV designing?

We are planning for a auto take-off and auto-landing. While Auto take-off won't be such a problem, auto landing will be since we have to ensure enough amount of battery for landing and control the gyros and the throttle very specifically so that our U.A.V. might not crash.

14. What is MatrixPilot? A Glance.

MatrixPilot is the latest firmware for the UAV Dev Board. It is based on William Premerlani's MatrixNav and AileronAssist firmwares, adds many important and fun new features, and allows much more configurability.

Supported Air Frames:

MatrixPilot can be used to control a wide variety of airframes:
  • Standard Airplane: Stabilize and navigate using elevator, and either ailerons, rudder, or both. This is the Airframe type to use if you're upgrading from AileronAssist or MatrixNav.
  • Delta Wing: Similar to the Standard Airplane, but all control is performed through the 2 "elevon" control surfaces.
  • V-Tail: Similar to the Standard Airplane, but rudder and elevator channels are mixed for a V-Tail configuration.

More Radio Inputs and Servo Outputs:

MatrixPilot currently supports a few different configurations of Radio Inputs, and Servo Outputs. Out of the box, you can plug in 4 Input channels and 3 Servo Outputs. You can extend that either by wiring up cables to the spare pins for a total of 5 Inputs and 6 Outputs, or by using a single PPM input, which allows you up to 8 Inputs and 9 Outputs.

Each Input channel can be configured as one of the following:

  • Throttle
  • Aileron
  • Elevator
  • Rudder
  • Mode Switch: Control the state of the firmware between manual, auto (you can still add your control on top of the stabilization), and return-to-launch (you can still add your control on top of the stabilization and navigation)
  • Camera Pitch, and Camera Yaw controls for manually aiming an on-board camera
  • OSD Switch: Turn the OSD on and off
  • Passthrough: Allows passing up to 4 RC channels directly through to corresponding output channels. This can be helpful when you're using PPM RC input, and you need to control something like flaps which are not controlled natively yet by MatrixPilot.

Each Output channel can be configured as one of the following:

  • Throttle
  • Aileron
  • Elevator
  • Rudder
  • 2nd Aileron (separately reversible from the main aileron output)
  • Camera Roll, Camera Pitch, and Camera Yaw controls for stabilizing and targeting an on-board camera
  • Trigger to control things like turning on LEDs, releasing a tow-line, taking a photo, etc.
  • Passthrough

Each of the 3 hardware switches on the board can also be configured to reverse any of the output channels.
Connecting the Extra Input and Output Channels.

The board includes built-in connections for 4 Radio Input and 3 Servo Output channels.

To use the 5th Input channel, and the 4th, 5th, and 6th Output channels, see the Connecting Extra Channels page. Or to use PPM Input for a total of 8 Inputs and 9 Outputs, see the PPM Input page.

Telemetry:

MatrixPilot has support for outputting telemetry data in one of a few different formats. If you add an XBee radio, or something similar, you can monitor your plane's status from the ground while flying.

  • UDB and UDB_Extra: These formats are compatible with a tool we've developed called Flan (FLight ANalyzer), which helps you visualize flights in Google Earth, and explore flight details in a spreadsheet.
  • ArduStation: This format is compatible with the ArduPilot ground station, and the ArduStation hardware ground station.
  • OSD_Remzibi: This format can be wired directly into the Remzibi On-Screen-Display to show important data on an overlay on top of your live, first-person video feed coming from the plane, if you're rigged up for that.

Camera Stabilization:

MatrixPilot includes the ability to stabilize a camera, and even to have the UDB automatically target the camera at a specific locations in 3D space as you fly around.

13. Back on track at last, found the solution to our UAV simulation problem!

Well here is the summary of the whole root of the Problem and its solution:

What we faced:

Its the own designed DSPIC30F4011 board (UDB3), which is designed for Simulation in Xplane specifically . We are using the latest code version. It simulates all the modes well without telemetry (with Serial_None in options.h). But if we enable any telemetry in options.h, micro-controller works well in manual and stabilized mode and in Auto-Pilot mode it gets reset.

We discussed this at the Gentlenav Group at Google Discussion Forum: You can access it below:


So coming back what the actual problem was?

We were using the older version of MPLab IDE (Version 8.36) which did not use legacy-libc file (meaning you could not use it in this version). This file is generally required to reduce the processing power of cpu accessed by the printf and scanf functions in the programs. Due to this the printf and scanf functions increased the micro-controller's cpu processing upto 65% which led to the micro-controller/G.P.S. resetting whenever we switched to the Auto-Pilot mode (ideal cpu processing is around 8%).

How did we solve it?

With the suggestions from - 
uavdevboard › GPS resetting in AutoPilot Mode - We switched to MPLab IDE Version 8.9 which used the legacy-libc file and thus we were able to reduce the processing of the cpu of our micro-controller to 10%.

(How to enable legacy-libc? Go to MPLab - Project - Build Options - Project - MPLAB Link30 - Use alternate settings - add/type " -legacy-libc' at the end)


We simulated our program again and this time when we switched to the Auto-Pilot simultaneously with the telemetry it worked just fine.

Special thanks to Robert, Pete and Bill at Gentlenav's Google Discussion Group and Morli at the DIY Drones discussion forum!!!

You may also access this conversation below:


12. Reading now-a-days

Now a days reading - A coupled estimation and control analysis for attitude stabilisation of mini aerial vehicles, by - Robert Mahony, Sung-Han Cha & Tarek Hamel.

11. MoBee - Video rights belong to Havard

The Harvard Monolithic Bee is a millimeter-scale flapping wing robotic insect produced using Printed Circuit MEMS (PC-MEMS) techniques. This video describes the manufacturing process, including pop-up book inspired assembly. This work was funded by the NSF, the Wyss Institute, and the ASEE.