Tj Bordelon's Posts (11)

Sort by

CyPhy Works in Danvers, MA is hiring!

3689721231?profile=original

10 years ago I was flying and posting videos here developing my own autopilots and autonomous vehicles. Eventually this lead into a full time career in drones and ultimately landed me here at CyPhy works! Maybe others out there want to do this for a living? We're hiring!

Cyphy Works is in Danvers, MA-- We're looking for Senior level software engineers with controls experience.  People who write C/C++ and make things fly. What better place to find you guys than here?

This is a position to work on the software powering our PARC vehicle, a tethered aerial reconnaissance and communications platform:

https://www.cyphyworks.com/products/parc/

If you're interested, send your resume to jobs@cyphyworks.com.

Read more…

FreeSpace Autopilot Crash!


I rarely crash. Maybe I've been lucky? I had been ignoring a bug for the longest time only to have it occur just as I was over the trees ready to land. There was no time to recover.

Toward the end of the video you can see the crash. The plane is trying to follow a runway beam but winds up oscillating back and forth and eventually tip stalls. The only thing that saved me from ending up on the roof of the barn was accidentally flipping on the autopilot for 1/4 of a second as I was in a panic flipping every switch.

My beamfollow is what I suspect caused the crash. It works like this:

1) The "beam" is created and basically defines a path to follow. It is assigned a bearing.
2) I get the distance from the aircraft to the beam. 30m out the bearing command is perpendicular to the beam. As the aircraft gets nearer and nearer, the bearing command converges to the actual beam bearing
3) The aircraft follows the beam bearing by feeding the bearing error into the bank command (The aircraft simply banks toward the bearing)

If the aircraft is going decently fast, there aren't any issues. But something oscillates when I go slow, and especially when I just hover in the wind making no progress as in this video.

So the two bugs are:

1) Beamfollow oscillations induced by low airspeed
2) Altitude was lost making all the turns, making recovery impossible.
3) Probably flying 30 feet above the treetops in gusty winds made for all sorts of funky air currents.

I've learned 2 things from all this:

1) Don't ignore strange behavior. It WILL happen near the ground one day.
2) FAILSAFE MODES! Plane should recognize dangerously low altitudes or oscillations and enter a wings level climb and alert the user.

The damage? Stripped aileron servo gears, Cracked left aileron, busted pitot tube, chipped prop, and a few cracks on the fuse. She'll fly again in a few weeks!
Read more…


Super early demo of my video overlay code. This is a post process that occurs after the mission to overlay the data on top of the video from my cheap Chinese camera. Note that the video is not in sync with the data, and is off by approx 250 ms. This is due to a reboot that occurred during the flight (cause unknown).

The code that draws the instruments is the same code that runs on my ground station. That happens to be displaying on a 256x128x1 vacuum flourescent display, hence the rather low resolution instruments.

This is the same flight I posted earlier, but with the video overlay.
Read more…

Ever fly on days you know you shouldn't? Trees were swaying, and my gut was saying no. But I guess you never know until you try. I'd have to say that I couldn't fly in this wind. The ground track of the aircraft was so unintuitive, especially on landing. At times it was just hoovering overhead making minimal progress.

Days like this that really test your autopilot.

Anyway, this video shows my full auto-landing sequence, complete with the dive from 180 feet down to 50, and final flare with reverse thrust. The throttle you hear on landing is reverse, not forward thrust.

Entire flight is automated. Takeoff, flight to 3 waypionts, and finally landing. Enjoy :)
Read more…

Fried motors

Doomed flight is here:



Hobbypartz.com has great prices and great motors. I think. But for some reason I seem to be having some very bad luck frying motors lately.

I've been running one of their 450TH motors rated for 230 watts (http://www.hobbypartz.com/45oubrmo6.html) at exactly 230 watts, and haven't had much issue with very short bursts at the 230 figure of 40 seconds or less for takeoffs.

BUT-- For the first time I flew full throttle the entire flight, mostly due to winds, and the motor and controller both fried. That's 20 amps through at 25 amp controller, 3 cell lipo, which is roughly 230 watts. This outrunner motor is out in the open air, so it shouldn't be overheating.

I know the rule is probably to run way under the motor's rating, but what do you guys think? Is it unreasonable to expect a 230 watt motor should run 230 watts for at least a few minutes? This is the 3rd motor that has done this to me, and I am starting to think that I should be running 80% of maximum as a rule and see if that gets me any better luck.

One possibility though. I have to limit max throttle to 75% to keep the current at the maximum of 20 amps. Could running a controller in this way cause problems?

Thanks for any ideas!
Read more…

Landing patterns and reverse thrust!


I don't know how long of a distance it takes for most of you to land, but when diving in below the treeline from 200 feet I pick up tremendousspeed on my EasyStar to the point of hitting 50 mph and overshootingthe runway, ending up in the trees.

Of course I can land in 500 feet easy, but making my autopilot do it wasnot. I was curious if anyone wanted to chime in on how they solvedtheir landing issues and minimizing the length of space required.

I was able to get mine down to 500 feet diving in from 200 feet and leveling off. The attached photo is my landing pattern.

1) Circle the landing zone, sample the winds
2) Go downwind
3) Turn for final approach
4) DIVE! with a feedback loop on airspeed able to do reverse thrust
5) flare and land.

My reverse thrust is done with a car speed controller. I can get +1 lbthrust as well as -1 lb of thrust. (Wasn't expecting that either.) Thisis just by running a typical 5x5 prop backwards!

The end result is that I slow down from 50 mph to 20 mph in a few seconds after the dive.

Read more…

The FreeSpace IMU

Finally, the article I wrote is out in the May 2010 issue of Circuit Cellar Magazine. Unfortunately I have yet to get my hands on it. From http://www.circuitcellar.com/magazine/; it's $2 to buy or go to Barnes and Noble and get yourself a copy of the magazine.


The FreeSpace IMU: A Quaternion-Based Algorithm for Attitude Estimation by TJ Bordelon


An unmanned robotic vehicle requires a working inertial measurement unit (IMU), which outputs an estimation of the attitude, or orientation, of a vehicle in 3-D space. For attitude estimation, you need MEMS sensors (e.g., gyros, accelerometers, and magnetometers) and a sufficient algorithm to “fuse” them together. This article covers a simple quaternion-based algorithm for an IMU project. p. 14


ccover2.jpg


Read more…

Waiting to test new EZSTAR landing code!

Here in Boston, we have snow and wind. Not good for testing landing code. I hope to have some time in a few weeks to test and post the results of my new landing code. The old landing code can be seen in this video. Unfortunately coming in for a single approach like this has the EZ-STAR touching down at 28mph, and taking about 800 feet to land. The new landing code which I flew a few weeks ago does it in 300 feet.The new idea is to circle in a radius of 125 feet, exit the loiter once the plane has descended to roughly 40 feet altitude, deploy flaps, and use throttle to control altitude while holding a fixed angle of attack. This worked 4/5 times for perfect touchdowns at 15 mph!! The 5th time crashed because the battery died unexpectedly. (I ignored the low battery alert so that's my fault.)I know some of you out there argue auto land is a waste of time, but I like the idea of my plane having a failsafe that will take it to the nearest waypoint and land. Imagine what happens if a dog pees on your ground station! Things like this do happen, and autoland will save you.
Read more…
I just added a pitot to my ezstar (http://bordelon.net/ezstar) and did a flight. Naturally the plots of the airspeed sensor and GPS velocity (projected onto the X axis... straight thru the nose) did not seem to match. But should they? I figured any wind would skew the results, so how do you know you're calibrated?I first tried to make a "manometer" with a tube of water but that seemed to just make a mess and was off by 50% in the end.I finally just flew with the manometer guess, and made 10 or so circles in the air. On landing, I took the data and scaled things to match as best as I could. Here's the result:

So they don't match. But there was a slight breeze that day. I then had an idea! What about plotting the wind speed (pitot - gps) vs bearing. I dumped a bunch of points to the plot and got this:

Mind you it wasn't symmetric about 0, so I played with the scale to make it so. I believe this was the best and most accurate thing I did to calibrate. Because once I did this, I then went and flew in 20 mph winds... and guess what! I got this:

I also verified that the direction of maximum/minimum "wind" was the exact bearing and speed of the wind I measured just before takeoff.So what's the problem? Well, I talked to a few guys I used to work with on a UAV project and this just confused them. So I figure I"d ask you guys out the'e what you do to make sure your pitot is calibrated, and if any of you have a good method for wind estimation. Does my technique look like what you do?
Read more…

A good video of my system in action...

This Saturday I had 15 mph winds gusting to 25 mph.. Still landed without issue. Wind is coming from the top of the image towards the bottom. You can see the aircraft try to land down the runway (right to left) but fighting the wind made the path a bit weird. But impressive given that the wind was something I wouldn't have flown in myself. Here's the plot:I have to say that windy flights are far more impressive. I had a nice crowd watching the airplane land in the crazy winds. One guy complimented me on my flying skills, at which point I had to tell him I wasn't flying at all ;-)

Here's today's video. Only 5mph today, but this is the only video I have showing a full flight from takeoff to land. Unfortunately my flare angle was accidentally set to -5 degrees!So with a working autopilot... windy days are actually more fun. I'm 90% there. Still a bug where my integral terms wind up if it can't punch through the wind. 2 good flights, one not so good.
Read more…

Finally, my autopilot is "finished"....

But is is ever? I define finished as in it works every time I go fly now. I go to the field, turn on my plane and it takes off, flies to waypoints, and lands with no user intervention. It's done this now for the last 4 times I've been to the field! So it feels more "finished" than ever.I didn't use any kits or open source stuff, and built everything from scratch. Except the EZ-Star of course! I also use my own sensor fusion algorithm, which is to be featured in Circuit Cellar early next year. It's inertial based, and all the boards are from the chips up, no modules.

antenna_setup.JPG

PLUS: I don't use a PC, so now I don't have to worry about overheating or Java updates crashing my plane!

GCS_Screen.JPG

Check out my setup here: http://bordelon.net/ezstar.html
Read more…