Chris Anderson's Posts (2718)

Sort by
3D Robotics

Lego GPS autopilot code now in beta!

Big news: we've finally got a version of the Lego UAV that's based on GPS! The previous versions used a compass sensor as a proof of concept, but we've now upgraded it to use a third-party GPS receiver, connecting to the Mindstorms NXT brick by Bluetooth. This allows us to employ proper waypoints and to navigate to specific geographic locations, including returning home. Right now the code is in an early beta, but the key bits work. You can download the RobotC code here.

Special thanks go to a number of people. Dick Swan, the creator of RobotC, was the first to create a Bluetooth interface to a GPS device. Steve Hassenplug created an excellent GPS parser for his Green Monster outdoor wheeled Lego robot and was kind enough to share the code. And Ralph Hempel, the creator of pbLua, helped a lot in the early stages of solving the Bluetooth interface problem. Although we ended up going with RobotC, not Lua, in the end, he showed the way.

Coming up next: I've got to tweak the code to work properly in the air, and film a demonstration using real-time telemetry and aerial video to show how well it follows its waypoints when under autopilot control. And after that? Well, we've got some prototype hardware the promises to remove the mechanical complexity of the Lego-to-control-surfaces problem entirely. It would also allow us to bring the elevator under autopilot control, allowing us to do a proper altitude hold. Finally, there's a possibility that we may be able to also do aircraft stabilization with Mindstorms using inertial sensors, which would allow us to eliminate the FMA Co-Pilot that we're currently using. I can't say more about this yet, because it's using unreleased hardware, but stay tuned.

We've only just begun!
Read more…
3D Robotics

Cellphone UAV code now in beta, available here

In my focus on the Lego UAV, I forgot to mention that I've also uploaded the Visual Basic source code for our cellphone autopilot. It's in pretty good shape, and just needs a little more tweaking for reliable airbone use. If you're comfortable with Visual Studio and Windows Mobile, this is a great starting point for cellphone-based aerial control, communications and imaging. The code is here.

Anybody recognize where I stole the image that is on the program's opening splash screen? (Shown here on the Windows emulator. Weirdly, the emulator blocks screen shots, so I had to photography the screen. Apols for the poor quality...)

Read more…
3D Robotics

Impressive new quadrotor UAV with camera board

You may have missed it in the discussion threads at left, but Howard Gordon has been doing some terrific work combining his robot and camera control boards with UAV platforms. The latest uses the quadcopter platform that the X-UFO/X3D guys in Germany developed. Check out his full post here.

Keep us posted on your progress, Howard! (Here's hoping you'll offer the components for sale, too, once you've got it done.)

Read more…
3D Robotics

A budget for a high-end amateur UAV

An amateur UAV maker in Los Angeles built a UAV designed to fly 21 miles, from Long Beach to Catalina Island and back. It was notable especially for having the motor moved to a pylon above the wing and a pan-tilt gimbal camera put in the nose instead (see picture). This thread about it on RC Groups is a great introduction to high-end UAV making, diminished only by being a few years old (and I don't know if they ever had the courage to attempt the flight. Given the costs--nearly $4,000--it would have been an expensive loss at sea if anything went wrong)

Anyway, in this post he provides a spreadsheet of all his costs. It's very instructive, and most of those costs have not changed in the past three years. Small sample below; full version here.

Navigational Unit
PicoPilot NAT U-NAV 900.00
JR R2000 MTA Hobbies 199.00
VeeTail Mixer VeeTail 35.00
SmartFly HD Regulator SmartFly 38.00
1172.00
Telemetry Unit
Vizion OSD w/ Current Sensor DPCAV 109.00
TinyTrak3 SMT Byonics 48.00
SmartFly HD Regulator SmartFly 38.00
Z-Log Altimeter Hexpert Systems 49.00
244.00
Camera System
KX-131 Cased Black Widow 149.00
2.4Hz 600mW TX/RX Black Widow 189.00
Futaba Gyro MTA Hobbies 69.00
407.00

Airframe
Telemaster Electro Hobby Lobby 159.00
HS-5245MG (x8) Servo City 394.00
Du-Bro Landing Gear Hobby People 12.00
Monocote (x4) Hobby People 48.00
613.00
Read more…
3D Robotics

Tom Pycke, who is one of the more sophisticated UAV hobbyists, has a good post showing how to use the open-source Flight Gear simulator program to test your autopilot code.

He begins:

"A lot of people think they need great electronics skills, a lot of time, and embedded programming skills to experiment with Kalman filtering of IMU-data. Think again! The key to all your success stories is simulation!

One of the easiest tools that can help you with those simulations, is a great flight sim called Flight gear. It uses advanced aerodynamics simulation libraries, among which some were created by the NASA. Good enough for our purposes! On top of that, you can easily configure Flightgear to log all the data you need. I updated my config file to log the following variables:

  • Roll
  • Pitch
  • Acceleration along the 3 axis
  • Gyro reading along the 3 axis
  • Heading
  • Airspeed"

He includes sample VB code, too (yes, you can code a Kalman in VB!). Read it all here.

Read more…
3D Robotics

MAKE magazine on DIY blimp UAVs

The cover of MAKE magazine this month is a how-to on "blubberbots", which are small indoor blimp UAVs (story only for subscribers for the moment--subscribe! It's worth it). You can buy a kit from the MAKE store for $99 that will allow you to build a limited UAV--it heads towards lights and has a bump sensor to retreat when it hits walls. But how much harder would it be to give them real navigation abiliites, triangulating off IR beacons or even using GPS (if your roof isn't too thick)?

Oh, and the back page feature of that issue is on me and my Lego UAV (blush).

Here's a picture of the CPU and motor assembly from the creator's website, where there are several other Autonomous Light Air Vessels (ALAVs) and robtics projects:

carriage.jpg

Read more…
3D Robotics

Antarctic mini-UAVs--will they come back?!?

These scientists describe their UAV project at the South Pole. Sound familiar?

"Flying a mission is always a little scary. Tom, the project engineer and pilot, stands by with his remote control and flies it a little until a stable flight is acheived, then we engage the autopilot. The plane then turns and heads off into the distance, disappearing from view after about half a mile, and dropping out of radio contact with its computer base station after four miles or so. That part of the mission is the most scary, as we've nothing to do but wait for fifteen minutes biting our nails as the plane follows its plan.

We breath a sigh of relief when we regain the signal and see some coordinates on the screen, but only declare success once we've seen the machine, taken it smoothly back down to the snow, and downloaded the data its recorded."

Read more…
3D Robotics

Play around with Lego Mindstorms NXT enough and at some point you'll inevitably get frustrated with NXT-G, its graphical programming language of "blocks" that you drag around and connect with "wires". It's great for teaching kids the basics, but once they embark on anything remotely ambitious they're bound to run into trouble. Whether it's the crazy sprawl of blocks over the work area (even a simple loop can require screens of slow horizontal scrolling), the lack of floating point math or, perhaps worst of all, the total absence of debugging tools, sooner or later you're going to start longing for a proper programming language that uses, you know, text and stuff.

"if...then...else", "while", even "for...next" -- you won't know how much you actually like those constructs until you don't have them. For anyone who's ever programmed, there's nothing better for understanding programming logic than properly tabbed and commented code, all in a column of text as God intended. And for your kids, there's no time like the present to introduce real programming, using coding conventions that will be as relevant in the decades to come as they were in decades past.

The good news is that there are lots of replacement text-based languages for Mindstorms NXT, from Java to Lua (or, if you want to stick with visual programming, you can also use LabView, the professional-grade language that NXT-G is based on). Even better news: I'm here to tell you that one stands out from all the rest.

It's RobotC and it's simply fantastic. If you're not a C programmer, don't worry--aside from a few grammatical conventions, it could be BASIC. But where it really stands out is in the programming environment. RobotC's integrated development environment (IDE) includes real-time syntax checking, compiling and contextual help and auto-complete of functions and variables. It has an awesome debugger, allowing you to step through your program, set break points and watch variables, or just watch the code executing on the NXT brick. And its collection of instructional and sample programs is unmatched in the Mindstorms world.

To give you of sense of this, here's my Lego UAV code in NXT-G (here and here) and in RobotC (here).

RobotC got its start at Carnegie-Mellon, the nation's top robotics school, and the pedigree shows. But special credit should go to Dick Swan, who authored much of the current program. (Dick, get a home page so I can link to you!)

For the stuff that we're now doing, including integrating GPS via Bluetooth, there's nothing for Mindstorms NXT that can match RobotC for flexibility and ease of use. Plus if you want to teach your kids real programming, why not introduce them to a real programming language? C leads to C+, C++ and C#, which is a lot more than you can say for Java ;-)

(Aside: as I was re-teaching myself how to program in C, I was reminded about the funny logic of computers. -100 is > than -90. Is this true in all languages?)

Read more…
3D Robotics

See DIY Drones on PBS tonight!

The mini-documentary on amateur UAVs that we were filming at our fly-in at the Alameda Naval Airstation earlier this year will be broadcast as the lead-off feature in Wired Science tonight, Wed Oct 24. It's 8:00pm in most markets, but check your local listings for

You can see a preview of it here. It features my own Lego UAV, the Pict'Earth team, and Adam William's automous helicopter, along with a full report from NASA Ames, where we explore large heli UAVs (including a Blackhawk!) and a range of other drones used for scientific sensing and research in autonomous flight.
Read more…
3D Robotics

My labs incident makes the local paper

"Wired editor flies into security kerfuffle" reads the front-page article in the Contra Costa Times. Here's an excerpt:

"Not even the bucolic Berkeley hills are immune to security concerns in a post-Sept. 11 world, as the editor in chief of Wired magazine has discovered.

Chris Anderson, a 45-year-old Berkeley resident and aerial-reconnaissance enthusiast, sparked a minor security scare Sunday when his remote-controlled plane - equipped with a camera - crashed into a tree at Lawrence Berkeley Laboratory.

Security personnel apparently didn't notice the plane until Anderson asked for help retrieving it, but they've taken notice since.

UC Berkeley police are investigating and federal authorities may be notified about the breach at the hillside lab, which is owned by the U.S. Department of Energy and managed by the university. Unlike UC-managed labs at Livermore and Los Alamos, Berkeley is not involved with nuclear weapons and does not conduct classfied research.

It does have important equipment that needs to be protected, said Dan Lunsford, who manages lab security.

"I think, post-9/11, when we see an event that is out of the ordinary, those are things that gain our interest," Lunsford said. "The greatest thing right now in the war on terrorism is prevention."

Anderson, who lives within walking distance of the lab, does not appear to have broken any laws, Lunsford said. In fact, Anderson said, firefighters helped him get the 4 [ed: that should actually be around 40] -ounce foam plane back when he came calling at the lab's front gate.

"They were incredibly nice about it," he said.

The flight was an attempt to take photos of the unusual architecture of the lab's cyclotron, a mostly round particle accelerator. The photos were to be posted on his personal Web site, diydrones.com, devoted to unmanned aerial vehicles, or drones.

Instead, Anderson, whose children took turns piloting the plane, ended up with a partial photo of the cyclotron and a blog entry titled: "Lesson: Don't fly planes over secure national labs!"

Anderson, who worked at Los Alamos lab in New Mexico, acknowledged he should have known better than to take the close-up aerial photos.

"I promise not to fly over secure national labs anymore," he said."

Read more…
3D Robotics

I had the wackiest near-catastrophe this weekend. My kids and I were running aerial mapping patterns over the Lawrence Berkeley Labs cyclotron (which is very distinctive from the air) and testing some ISO settings on the Pentax A30. Because we were over a built-up area and had to hand launch and recover from a hillside, we were using the Mutiplex EasyStar, which is just an RC plane, not a UAV. Which means that it's all up to the pilot to keep things in hand.

Unfortunately I was the pilot for one run where the sun was in exactly the wrong position and I got momentarily blinded. When I found the EasyStar again I couldn't tell what it's orientation was. Needless to say, ten seconds later it was in the top of the highest tree inside the gate of a super-secure National Laboratory. Yikes.

I dropped the kids off at home and went to the main gate of the lab and explained what happened. To my astonishment, they neither laughed at me nor arrested me. Instead, the head of security escorted me to the cyclotron and we started looking around. I went and got the transmitter and gunned the motor, and eventually we were able to find the plane by following the sound. Sure enough, it was 60 ft off the ground in the tree and really wedged in.

There wasn't much to be done, but at least we'd located it. I left my contact details and we agreed to have me come by the next weekend and see if the wind had budged it at all. Then I went home.

Half an hour later I got a call from the lab. "How would you feel about us using a hose to knock it down?" Needless to say, the risk of water damage seemed a lot better than losing the whole thing, camera, GPS, radio and all. "Go for it!" I said and dashed down the hill again to see what I could do.

When I got there it looked like the scene of a real airplane crash. A lab fire engine with lights flashing was at the base of the tree and searchlights had pinpointed the plane. Hoses snaked across the road and emergency radios were squawking. A fireman was braced against the truck and was about to let loose a high-pressure stream at the plane.

It actually turned out to be harder than it looked, given how high the plane was and how dense the tree was. They had to replenish the water tank once from a fire hydrant before they finally knocked it to the ground. The foam wings and tail were torn off (that's okay--they're just $20 to replace), but the fuselage and the all-important electronics were all there. I thanked everyone profusely and took it all home to dry things out and gauge the damage.

Right now the radio, motor and GPS look fine. The camera is going to have to dry out more before I can tell if it's going to be okay [UPDATE: It's fine!] , and so too for the LiPo battery. But I'm so pleased to get the rest back that I hardly care. Meanwhile, the image data on the card was really pretty good (a PTGui stitch of one pass is above).

Thanks LBL guards and firemen! I promise not to fly planes over your super-secure lab again!

Read more…
3D Robotics

Check out this great post from the winners of the Australian amateur UAV contest--the guys at Dionysus Designs, a Chico, CA-based team who focus on advanced RC technology, aerial photography and now amateur UAVs. They built their own airframes, then modded a beautiful powered glider (shown here neatly packed into a golf case to make the trip) to win best in show. Loads of helpful links in that post, too. Get in touch guys! We can use that sort of initiative here ;-)

Meanwhile, if you want other shots of contestents and UAVs from what sounds like a really sucessful contest, check out the photo archive here.

Read more…
3D Robotics

Testing two GPS loggers: thumbs up and thumbs down

If you're planning to turn your UAVs (or just R/C planes) into aerial mapping machines, you're going to want a GPS data logger. What they do is give position information that you can match with each of your shots, so you can properly align them into a mosaic and place it on Google Maps. Companies such as Pict'Earth can take a GPS log file and a zip file of a few hundred shots and turn them into a beautiful orthorectified Google Earth overlay like this.

I've used two GPS loggers: the i-Blue 747 Bluetooth device from Transytems, and the Trackstick II. The first I can recommend highly; the second I can't recommend at all. Here are the facts so you can make up your own mind.

1) The i-Blue 747 can be found for $70 at Amazon. It's got 16MB of memory, tracks 32 satellites and has Bluetooth so you can use it for real-time telemetry and even have it drive an autopilot. It comes with rechargeable lithium batteries and is really small (approx 2.9" x 1.75" x 0.75"). The software does all the basics, including letting you download a saved GPS session to Google Earth or a CSV text file and let you see satellite positions and current reading in real time.

[Note: the software communicates with the device via a virtual Com port, handled by a driver. It can be a little tricky to figure out which Com port, however, so I suggest you go to your Windows device manager and see which port was assigned to the device and set the software to use that. On one of my machines it was port 5; on the other it was port 10; it depends on how many other drivers you've already loaded.)


It also saves GPS positions once per second, which is important when you're trying to match it with pictures you're taking at least that fast. In our testing, it aquired a satellite lock in less than minute and was rock-solid in keeping it, even when we just tossed the device randomly into an aircraft's instrument bay, buried under other electronics and bathed with other radio emissions. Basically, we've used this devices on dozens of flights, UAV and otherwise, and its performance has been top-notch.

2) The Trackstick II costs nearly $150 at Amazon. It only has 1MB of memory and only tracks 12 satellites. No Bluetooth, so it's just a logger with no real-time function. It requires AAA batteries, and is long and rectangular, about twice the total size of the i-Blue (4.25" x 1.25" x 0.9"). It has a built-in USB jack, so you can plug it straight into your PC (the i-Blue requires a standard USB cable). The software does essentially the same thing as the i-Blue's.

In testing, three serious problems cropped up with the Trackstick (aside from it being expensive, big, and badly underfeatured):
  1. It only records a GPS record every 15 seconds in low-power mode and every 5 seconds in high-power mode. Even at the highest, battery-draining settings, that's way too slow for aerial mapping.
  2. It takes forever to get a satellite lock. The first time, it took more than half an hour and subsequently it took more than three minutes.
  3. Keeping that satellite lock is a struggle, too. By having a terrible GPS chip that only sees 12 satellites, the Trackstick II suffers from frequent drop-outs and glitchy datapoints. We found it essentially unusable.
Basically, I can't understand why the Trackstick is even sold. It does nothing that the i-Blue747 doesn't do at half the price, and doesn't do other important things like Bluetooth, 1-second GPS sampling, and having a useful amount of memory. I'm sorry I bought it--avoid.
Read more…
3D Robotics

Red tape grounds military UAVs, too

Noah Schachtman at Wired's Danger Room blog reports from his recent trip to Iraq. Turns out that we're not the only ones having trouble with airspace regulators:

"The Defense Department's unmanned air force has grown exponentially; there are now more than 3200 mil-drones in the fleet, up from about 200 in 2002. But after spending some time in Iraq, I'm starting to get the feeling that a lot of those robo-planes are sitting on the shelves, barely used.

Here's why. The military's big unmanned aerial vehicles (UAVs) are controlled by colonels and generals. The local commanders on the ground basically have no say where the things fly. For example, a company commander, recently returned from Anbar province, sa id his area got a grand total of eight minutes of coverage from the Predator spy drone per day.

But wait, you say. The vast majority of America's UAVs are little, hand-launched drones, like the four-and-a-half pound Ravens and the five-pound Dragon Eyes. The local captain has control over those, right? Well, theoretically, yeah.

But there are so many bureaucratic hoops to jump through to get those tiny UAVs in the air that many captains have stopped bothering to try. Air clearance is the hoops that comes up most. Although the drones are small, they can get up pretty high -- 1000 feet, or more. Which means there's a concern about the UAVs getting tangled up with helicopters. Setting aside space for the drones can take 24 to 48 hours -- and insurgents don't usually stay in one place that long.

A few weeks ago in Anbar, I spoke to local Marine commander who had basically given up on using his Dragon Eye, for this reason. The same thing happened in Tarmiyah, north of Baghdad, where Captain Pat Roddy told me, "the Raven? Never fly it." Which is particularly frustrating. Because Roddy regularly gets airspace for himself, to fire mortars. But his higher-ups won't let him launch his drone during that time, because the computer program that tracks airspace says its a no-aircraft zone. Roddy has been told that he can make an emergency switch from mortar to Raven airspace -- and it'll only take an hour to make the switch in the computer. But he can only do so if his troops are in a firefight. And firefights in Iraq almost never take more than a few minutes. An hour later, the Raven is all-but-useless."

Read more…
3D Robotics
Multiplex EasyStars are one of the most popular aerial photography aircraft for a good reason: they're cheap, stable, tough and easy to modify. In an earlier post, I described how to upgrade one for better performance. In this post, I'll show you how to install a camera for great Google Earth mapping, producing high-resolution, stitch-ready imagery like this.

[UPDATE: some of you have wondered why I'd want to use this foam glider when we have several other excellent UAVs and aerial photography aircraft, some of them including such niceties as stabilized camera mounts. The answer is that often there's no runway or clear landing area where we're working. The aircraft with fancy payload platforms hanging beneath them are designed to land on a smooth surface, and crunching into a hillside will damage the camera along with its mounting equipment and often the plane itself. The EasyStar, by contrast, is hand launched and can land anywhere, and the camera is protected inside its soft foam body. And if it hits anything or anybody, it won't do any damage.]

The secret to getting shots that you can mosaic into a large-area map is to take a lot of them, as quickly and at as high resolution as possible. That usually means a digital camera shooting straight down in continuous mode (which takes a picture every half-second or so as long as the shutter button is held down), with a high shutter speed to avoid motion blur. For various reasons, the usual ways to trigger a camera remotely--IR shutter triggers, USB connections, or stop-motion settings--don't work with continuous mode. So the only way to do it is to hack into the camera and find the circuitry that triggers the shutter (which is too scary for me) or to have a servo manually push down on the shutter button. Here's how to do the latter:

The first thing is to carve a bit of foam out of the sides of the EasyStar's instrument bay to fit a standard pocket digicam (I'm using a 10 megapixel Pentax Optio A30). A big kitchen knife will do it. Then carve a hole in the bottom where the lens will go when it's extended. Finally, because you've weakened the body by carving away that foam, you'll want to epoxy in two reinforcing strips (I used spruce spars I found at the hardware store), which will also serve as the mounting rails for the camera.

When you're done it will look like this, with a little extra carving at front and back so you can place the camera properly (I carved a bit too much foam from the left side of the plane, so I put in a thin plywood sheet to reinforce that area):


The next thing is to epoxy in the servo (the blue thing in the picture above) that's going to depress the shutter button. This is simply a matter of carving out a servo-sized hole in the side of body, after measuring carefully where the camera's shutter button falls when it's on those rails. Make sure you've cut off all non-essential servo arms and re-seated the arm so it it's fully pushing down the camera button when you turn on the channel 5 switch on your transmitter before gluing it in. From the side, that looks like this:


That's pretty much it. When the camera's in, it looks like this:

And from the bottom, it looks like this:

You're ready to go! Just remember to rubber-band everything in tightly so it doesn't shift in flight, turn off the auto power-off on the camera, set it to a relatively high ISO setting (800 works for me) to avoid motion blur and put in a high-capacity memory card (at least 2 gig). Once the plane's in the air and flying smoothly at around 200 feet you're ready to toggle the channel 5 switch and take strips of shots to later composite into a full-area map. Or just put in an autopilot and turn the EasyStar into a proper UAV and can follow those strip tracks itself.
Read more…
3D Robotics

In a comment on a thread at right, David Albert makes an important point about frequency clashes between spread specturm radios and 2.4 Ghz video downlink systems, such as the RangeVideo and Black Widow AV setups that we use. If you haven't been following the chatter on aerial photography newsgroups, you might have missed this (as I did). This info may save your plane!

  • "Having a 2.4Ghz Tx right next to a 2.4Ghz Rx is a bad idea. Regardless if it is Spektrum, Futaba, or Xtreme Power Systems. Once you get a certain distance, the video TX will swamp (overload) your Rx. Imagine looking into a bright spotlight and trying to see a candle in the distance. Even if the candle is changing colors (changing frequencies, ie spread spectrum) it is just a matter of time and distance before you can no longer see the candle. Check out ezonemag.com there are many many threads on this under the UAV forum and FPV forum on this. That is the reason why people with 2.4Ghz RC systems are moving to 900Mhz video or keeping 2.4Ghz video and using plain old 50Mhz or 72Mhz RC Transmitters."
Read more…
3D Robotics
Analog Devices is about to start selling a very cool-looking device: a small box that combines three-axis gyros with three-axis accelerometers, along with an embedded processor to massage all that data and deal with calibration and drift issues. Called the ADIS16355, it will retail for about $300, which isn't cheap, but when you consider what it would cost you in time and money to duplicate that functionality, it seems more than worth it.

Not sure what accelerometers and gyros are good for? They're what's needed to build an Intertial Measurement Unit (IMU), which is the core of a proper autopilot. Tom Pycke has a great series of blog posts that explain all this in lay terms (at least at the beginning--then it gets into math):

If you're contemplating building your own autopilot or taking on one of the open-source ones, these posts are the right place to begin.

Read more…