jaron's Posts (9)

Sort by

Who's on Twitter?

3689370110?profile=original

Please comment if you'd like to add or remove an entry.

DIY Drones: @DIYDrones

DIY Drones members
Chris Anderson: @chr1sa
Doug Connell: @dougconnell
Garry Qualls: @garryqualls
Gary Mortimer@sUASnews
IKE: @erripman
Jaron: @jarontec
kevin kitchin: @kitchin01
Melih Karakelle: @flytron
Scott James: @MelbourneUAV

Sgt Ric: @Sgt_Ric

Read more…

Android GCS/PFD (proof of concept)


I played with an Android phone and UAV Playground and ported some of my GCS/PFD code.

Setup
- FlightGear flight simulator is controlled by UAVsim
- UAVsim receives FlightGear telemetry data and sends it to an Android device via Bluetooth
- Android device graphically displays the telemetry data
- Android device uses text to speech to announce telemetry data

What's it good for?
It's a proof of concept that should demonstrate what an Android phone is capable of.
It's not a ready to use GCS or PFD and I haven't planned to include the code into a next release of UAV Playground.

My opinion
- The Eclipse Android IDE makes programming an Android device supersimple
- Once you've got the concept behind Android then it's more or less just Java and OpenGL programming
- The performance of the Samsung I5700 (800 MHz + GPU) is surprisingly good at a cost of only $300

What's next?
I'll connect a Bluetooth adapter to an XBee to receive live telemetry data on the Android phone.

Update 08/14/10
Yesterday I made some successful test flights with Intermezzo 100. In the setup I used an ArduPilot, two XBee Pro modules and a BlueSMiRF Gold Bluetooth module from Sparkfun. As this is just a serial connection from the plane to the Android device, I used my SimpleSerialization library for the Arduino to serialize and deserialize the telemetry data.

Read more…

UAV inspired by maple seed

Lockheed Martin has test flown the Samarai prototype UAV monocopter late last year. Its design is inspired by the maple seed and couldn't be more minimalistic.It's got a 760 mm (30") wingspan, is electrically powered and was built by using off-the-shelf components.
Read more…

Telemetry testing

I spent some time on the software for the ground control station lately and did some telemetry flights with my UAV Flying Wing.Nothing special but I thought I'll post this anyway so people know that I'm still alive. The software is a work in progress and I'll post some information about it later.Ground control station- XBee Pro (RP-SMA)- Duck Antenna (RP-SMA)- XBee USB adapterIn flight- Arduino Mega microcontroller- DIY shield for the Arduino- GPS module EM-406A- XBee Pro with wire antenna- XBee Pro adapterThe XBee modules I'm using for the tests are surprisingly easy to setup and use. They act just like a regular serial interface and I'm using my SimpleSerialization library for the Arduino to transfer the telemetry data.

3689327780?profile=original

For visualizing the data in GoogleEarth I'm using the KMLProvider of my UAV Playground project.

3689327678?profile=original

The next step will be the integration of the IMU, but I haven't decided yet which one I'm going to use.
Read more…
I was searching for a way to exchange data between an Arduino/ArduPilot and a Java application. There are already several solutions to do this but none of them really met my requirements. So I decided to write a library that implements a mechanism called serialization/deserialization. The now called SimpleSerialization library allows you to define a data structure (or object) that will be converted into a stream which then can be sent via a serial connection.DownloadsThe distribution: SimpleSerialization-1.0.zipThe project page: code.google.com/p/simpleserialization.What you can do with it- debug an Arduino application in a very convenient way- remote control an Arduino- setup a hardware-in-the-loop simulation- and moreAn example SimpleSerialization application could be to feed an Arduino with GPS data at 5Hz and attitude data at 30Hz. In return the Arduino would send the calculated actuator commands back at a rate of 10Hz. All this data would be exchanged via a single serial connection.Requirements- an Arduino or ArduPilot- a serial connection from a PC to the Arduino- and additional 2KB of flash memory when used with the ArduPilot- the Arduino IDE- a Java IDE (e.g. Processing or Eclipse)


The SimpleSerialization library is part of my UAV Playground project where I explore various aspects of UAVs like microcontrollers, simulators and remote controlled model airplanes.
Read more…

UAV Flying Wing - Scratchbuilt [added video]

Although I'm still gathering information in the field of UAVs by programming the UAV Playground, I have now designed and built this Flying Wing as a future carrier for whatever electronics I'll be using. I've tried to design it as versatile as possible by using a platform where all the electronics is velcroed on (last picture). Like that it should be possible to carry around even bulky pieces of hardware.Specification- Kline-Fogleman KFm3 Airfoil (top steps at 50% and 75% chord)- Wingspan 1240mm- Wing area 24.8dm²- Weight 430g (330g without battery)Electronics- TURNIGY 28-26B 1350Kv motor- Master Airscrew 7x4 propeller- TURNIGY Plush 25A ESC- Rhino LiPo 3S1P 30C 1050 mAh- 2 x HXT900 1.6kg/cm servo

3689313253?profile=original

This is the camera mount and its removable nose cone.

3689313193?profile=original

The back view of the Flying Wing with the motor and the KFm3 Airfoil steps visible.

3689313239?profile=original

Here the canopy is removed and the electronics and an Arduino are visible.Free Design Tools [update]- ProgeCAD 2008 Smart (AutoCAD clone)- Google SketchUp (3D modeling)- WinLaengs4 (CG calculation)- Estimate Electric Motor and Prop ComboFirst Flights [update]The maiden flight was absolutely unproblematic. Only a few minor trim adjustments where necessary and I increased the travel adjust for elevator and aileron to 115%. I also mixed some elevator to the throttle so that the plane now stays level on throttle up. Elevon reflex is set to 3 degrees.The reactions to the stick movements where quiet precise and it always amazes me how stable my Wings fly. Flying a curve with elevons only was a pleasure and you wouldn't have noticed the absence of the rudder in non acrobatic flying.The KFm3 Airfoil is recommended for slow flying planes and although the maximum speed is rather low the flyable speed bandwidth is more than sufficient for a UAV ship.I tested different weight configurations from 450 to 590g and there is definitely more payload potential because even at full load with a 2200mAh lipo and the camera mounted vertical climbing was still possible.Flight time was about 25 minutes with a 2200mAh lipo (1680mAh recharged).

3689313266?profile=original

Aerial Video Central SwitzerlandA manual non stabilized flight in gusty winds. I used a Toshiba Camileo S10 1080p HD video camera weighing 119 grams and costing about 165$.For better quality and less jerking you can download the video from Vimeo (you need an account).A flight in the Swiss mountains [update]Filmed with the Toshiba Camileo S10 in WVGA mode (848x480, 60fps, no stabilization).
Read more…

This might be obvious for you but as an electronics noob it took me a while to figure out how to connect the Sparkfun FTDI Basic Breakout board to the ArduPilot. The different naming of the pins confused me and of course I thought I'd blow up everything if I connect it the wrong way.ArduPilot pinsGND = GroundVCC = Voltage of the Common CollectorGRN/DTR (green) = AutoresetTXO = OutputRXI = InputVCC = Voltage of the Common CollectorCTS = Clear To SendBLK/GND (black) = GroundFTDI board pins (-> ArduPilot)GRN/DTR -> GRNRXI -> TXOTXO -> RXI5V -> VCC (unused)CTS -> CTS (unused)GND -> BLK/GND
Read more…

The UAV Playground is a collection of software components I've written in Java. They extend the Processing Development Environment (PDE) with some functionality that can help you to simulate and test different aspects of UAVs. You can as well use the UAV Playground library outside of the PDE in any Java application.UAV Playground and all the Software it is based on are freely available. The distribution and the source code can be found on the Open Source project page at code.google.com/p/uavplayground.The whole project is a work in progress and will be extended as I work on the exploration of UAVs. I'd appreciate if you leave me a comment or even better contribute to the project.Features- object oriented- modular- extendable- freeHow to use it- install the Processing Development Environemt (PDE)- download the UAV Playground distribution and follow the installation instructions- [install the FlightGear Flight Simulator (optional)]- have a look at the sketches (examples) and browse the api documentation that is included in the jar fileA very basic example- connects to the flight simulator- displays the current altitude and airspeed

3689310624?profile=original

3689310645?profile=original

The UAVsim example- controls the flight simulator via virtual joysticks or...- controls the flight simulator via a PID processor (basic autopilot)- displays various data

Additional examplesUAV Playground - NMEA to KMLUAV Playground 1.1- New GPS NMEA data import via a network connection to FlightGear- New GPS tracking in Google Earth via a HTTP connection to the UAV Playground

3689310658?profile=original

UAV Playground 1.2 [Update] (download)- Completely rewritten autopilot now supports waypoint navigation
Read more…

UAV Playground - NMEA to KML

This blog post is an addition to the UAV Playground project blog. It shows you how to program a very simple UAV Playground application that provides Google Earth with some KML data it receives as NMEA data from FlightGear.[The poor formatting of the code sections is unintended]DownloadUAVplayground-KMLPorvider.zipSource code (ProvideKML.java)
import java.applet.Applet;import jaron.flightgear.FlightGearNMEAReceiver;import jaron.google.GoogleEarthKMLProvider; public class ProvideKML extends Applet {  FlightGearNMEAReceiver receiver;  GoogleEarthKMLProvider provider;  public void init() {    receiver = new FlightGearNMEAReceiver();    provider = new GoogleEarthKMLProvider();    receiver.addTrackpointListener(provider);  }}
Google Earth KML file (Start-GoogleEarth-Tracking.kml)
<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://earth.google.com/kml/2.1">  <NetworkLink>    <name>UAV Playground Network Link</name>    <Link>      <href>http://127.0.0.1:8080/</href&gt;      <refreshMode>onInterval</refreshMode>      <refreshInterval>2</refreshInterval>    </Link>  </NetworkLink></kml>
FlightGear startup file (Start-FlightGear-NMEA.bat)
"%PROGRAMFILES%\FlightGear\bin\Win32\fgfs" ^  "--fg-root=%PROGRAMFILES%\FlightGear\data" ^  "--nmea=socket,out,0.5,127.0.0.1,5557,tcp"
Start the application- Start the Java application as an Applet- Start FlightGear with the above batch file- Start Google Earth by double-clicking on the above KML file or just open the file in Google EarthTo navigate to the track In Google Earth double-click on Places -> Temporary Places -> UAV Playground Network Link -> Tracks -> GPS Tracks.
Read more…