Tom Yochum's Posts (7)

Sort by

Using ArduPilot as an aerial minesweeper?

I read in Aviation Week (Nov 16th issue) about the International Astronautical Federation and the Minseeker Foundation teaming up to study landmine detection from space. Landmines are a terrible leftover from war in many developing countries. There are an estimated 100 million landmines in the world, and they kill or maim 15,000 to 20,000 people each year. Many international organizations are working on ways to efficiently remove these landmines.This got me thinking about the feasability of using an inexpensive UAV as a minesweeping platform.The biggest hurdle, or course, is developing a payload that could detect landmines from the air. I figure if someone thinks they could do this from low earth orbit, they could make a smaller package that could do it from 100 feet. Does anyone know of anyone doing research into this sort of thing? Anyone have a grad student friend looking for a research project? I am sure there is research money out there to fund this sort of project.What would be required from an aircraft perspective? Again the payload size and weight would ultimately dictate the airframe, propulsion, and other parameters. But what about the avionics? Could ArduPilot provide the navigation, sensor orientation and geolocation information with sufficient accuracy? Could it maintain a desired altitude above ground (using a laser or sonar altitude sensor)?Is this just a science-fiction fantasy?Tom
Read more…

Almost off the ground...

Brian and I are almost ready to get our autopilot project "off the ground".We received a free airplane from a friend of mine who now lives in Japan. (A lot cheaper to buy a new one than ship the old one.) The plane came with a glow engine but we converted it to electric. (Sorry for the crummy iPhone pictures!)Before:

After:

I added an access hatch to the front to create an "avionics bay".

We just got our uBlox GPS and Brian got it working last night. Here it is with our Arduino board and Sparkfun IMU.

We have developed a tightly-coupled GPS/INS algorithm to provide highly-accurate position, velocity, and attitude data. We hope to have the aircraft up and flying soon so we can collect flight data. The algorithm has been developed using simulation data, but I would like some real-world data to do the final tuning.We have several options for the guidance and control aspect of the autopilot once the tightly-coupled algorithm is finished. One option is to develop our own single-board system, with air data sensors, IMU, failsafe/MUX, etc. (I am inspired by the work shown here, especially by Brian Wolfe!) We would have to develop our own software as well.The other option is to create a sensor-only board with air data sensors and IMU, and modify an Ardupilot to accept the position/velocity/attitude data. That way we don't need to re-invent the wheel, so to speak.Our ultimate goal is to create an aerobatic-capable autopilot, so we will most likely design our own single-board autopilot eventually. I am hoping to create an adaptive control system that will "learn" how to fly an airplane. I'm just scratching the surface on that endevour, and I'm not sure I'm smart enough to pull it off!We will update again once we get airborne.
Read more…

Modeling the brushless motor

I am trying to put together a Simulink 6-DOF model of a complete UAV. I have the aerodynamic data for the Rascal UAV from this paper. The only thing left to model is the electric motor. I need to create a model that takes in the throttle setting and outputs the current draw, rotation speed, and motor torque. I found some papers on the math of an AC motor, but I couldn't make heads or tails of it. Does anyone know of a good paper that outlines the math? Or better yet, a free Matlab or Simulink model?Thanks.
Read more…

IMU alignment code progress

We received our IMU!Brian is busy making it talk to the Arduino board. Meanwhile, I have been working on the alignment code. The alignment proccess uses the IMU's sensors to determine its orientation (roll, pitch, and heading) while stationary. I spent the last few days writing code based upon this document. Sorry, it's not free. Based upon the equations given in the paper, I wrote a Kalman filter that iteratively converges to the true orientation while the IMU is stationary. I wrote the Kalman code in Matlab and created a Simulink model to provide the sensor inputs. But that is as far as I got. Apparently, the student version of Simulink has a limit of 300 blocks.So I spent all that time and was so excited to see this thing run, and I got nothing. I wanted to pitch my laptop off the balcony.So now I need to do a bunch of work to turn complicated sets of Simulink blocks into a single Matlab block just to get the number of blocks below 300. I have also asked for a quote to upgrade to a new version of Matlab/Simulink, but I already know that is out of my budget.I hope to upload some simulation results as soon as I get the code running.Tom
Read more…

Things are moving forward!

Brian and I are moving forward at a good pace. As he wrote in his blog, we have our processor board in hand and the IMU is on its way. Yeah!I have been busy with a few tasks:1. Aircraft selection.I am pretty set on buying the AXN Floater Jet. It is inexpensive, durable (foam construction with pusher prop), and comes with aileron control. I will probably put in the order this weekend unless there are objections from Brian.2. AHRS developmentWe would like to use our IMU as the basis for an AHRS (attitude-heading reference system). An AHRS is basically an inertial navigator without the position information. To get this to work I first need an alignment algorithm. The IMU would need to be stationary while the accelerometers and gyros make measurements. The accelerometers sense the gravity vector, and this information is used to determine the pitch and roll. The gyros measure the earth's rotation and, with the help of the pitch and roll information, determine the heading relative to true north. I understand the theory, but I haven't worked out the math yet. It should be a fun problem!Once the AHRS is aligned, the accelerometer and gyro data is continuously integrated using the strapdown equations to provide the orientation of the aircraft. I have much of the AHRS code written already from a previous project. If it works remains to be seen! :-)3. Simulation developmentI did some searching and found a wonderful resource: Aerosim blockset for Simulink. It is free for educational and non-profit users. It has all the 6-DOF equations, aerodynamic equations, environmental equations, etc, for modeling an aircraft. Yeah!Now I need to get all the information about the aircraft we purchase into this model. Well, once we order an aircraft. There are a few parameters that I'm not sure how to estimate. Does anyone have a good way of estimating the moments of inertia of an RC aircraft? Also, I could use some help modeling the engine (power consumption, torque, rotation speed, etc).Once we have a simulation we can begin control law development. I am hoping to use modern control with full-state feedback. We'll see how that goes once we get there.Another feature that Brian and I would like to implement is hardware-in-the-loop simulations using Simulink. However, I don't have the Simulink add-ons for the communication. Does anyone know of some free/inexpensive software that does this?I should get back to my "real" job. As always, advice and feedback is greatly appreciated!Tom
Read more…

Picking a first aircraft

We are looking for a first airplane to buy and we could use some advice from all you experts out there.First of all, we need something inexpensive and sturdy because we will be learning to fly RC aircraft. Secondly, we are limiting ourselves to electric for the simplicity. We would also like something with ailerons so we can use roll steering once we start programming the autopilot.We have a few ideas, but we are open to other suggestions:

GWS Estarter Park Flyer EP ARF w/EPS300C

Multiplex Easy Star

Hobbico SuperStar EP ARF w/AileronsPlease let us know what you think!Tom
Read more…

In the beginning...

My name is Tom Yochum and my neighbor (Brian Hudson) and I are starting a project to create our own UAV from an RC aircraft. This blog will be used to help document our trials and tribulations.About us.Brian is a Microsoft guy, which makes him really smart. He has a computer engineering degree from USC, and he knows everything we will need to know about embedded computing, board design, and coding. Well, at least I think he knows everything.I graduated with an aeronautical engineering degree from the University of Washington with an emphasis on control system design. I now work for the avionics manufacturer Universal Avionics as a system engineer. I primarily work on navigation and guidance for the Universal Flight Management System (FMS). I have experience with aircraft modeling and simulation, aircraft navigation, Kalman filter development, and control law development.Between the two of us we think we have all the tools we need to convert an RC aircraft into a fully-autonomous UAV. We are still determining the full scope of our project, but we have some ideas about our final product. These include:Autonomous takeoffs and landingsPre-programmed aerobatic manouvers (loops, rolls, tailstands, etc.)Payload capability (a camera, perhaps?)Bi-directional datalink to a ground stationAs a first step, we are likely going to follow in the footsteps of the efforts outlined here in this excellent website. We are making plans to purchase aircraft and processors now. Our first aircraft will do basic waypoint navigation only. More advanced features will be added incrementally.We look forward to sharing our triumphs and failures with all of you.Tom
Read more…