All Posts (14049)

Sort by

3 axis brushless gimbal

gimbal39.jpg

gimbal38.jpg


The key is a 2nd IMU for the yaw motor.

gimbal37.jpg



 Basically, the roll & yaw motors trade places as IMU2 pitch goes from 0 to 90.  The PID equations have a set of gains for the upright position & a set of gains for the swapped position.  The PID equations for the motors are always solved for fully upright & fully swapped.  The PID outputs are then blended based on the actual IMU2 state.


The gradient isn't linear.  It's  a sine wave. When IMU2 is pitched 20 deg over, it adds just 12% of the roll. When it's at 45 deg pitch, it adds 50% of the roll. When it's at 70 deg pitch, it adds 88% of the pitch.





The yaw motor output fades to 0 as IMU2 roll goes from 0 to 90.  The world will undoubtedly move to a better algorithm involving a discrete cosine of some kind, but this solution seems to do the job, in the meantime.






The algorithm worked as described. The yaw motor could move anywhere without a loss of control, though this frame has very limited roll freedom. It was the 1st time the yaw coupling problem was solved outside China. At least for a short time, no-one else in America could do it. The mane problems are now a very wobbly frame, lots of cables binding, too much cogging in the DT700.




Both IMU's required heavy, shielded cable. There was once a page which said to only solder 1 end of a cable shield, to avoid ground loops. http://en.wikipedia.org/wiki/Shielded_cable

gimbal36.jpg


After fighting I2C glitches forever, remembering a Logitec webcam was connected to both ends of the shield, decided to solder both ends of the shield. That ended all the interference. So for an I2C device where the only return path is the signal cable, you need to ground both ends of the shield.



The forums & the experience of tuning the gimbal showed there is a limit to the amount of motion it can isolate. The amount of power, the speed of the feedback, the inertia in the camera, the amount of time spent perfecting PID gains, the speed of the MOSFETs, all conspire to limit its effectiveness.  Brushless gimbals probably won't be stable enough for handheld astrophotography.


The gimbal has 1150hz feedback & a sin table with 1024 steps. The MPU9150 needed to be set to 2000 deg/sec to handle the oscillation of overdriven PID gains. The digital lowpass filter was disabled. Increasing sin table resolution had a noticeable impact on the motor smoothness.

The controller applies a constant current to the motor, regardless of the amount of motion. This should be the highest the power supply & motor can handle.





Unconventional trick to get by without a solder mask.





The yaw motor is 130 turns of 0.2mm on a DT700.  It could handle 0.6A.









The pitch & roll motors were 50 turns of 0.2mm on a Turnigy 2205 1350kv.  It could handle 0.3A.  Ideally, it would be more turns of lower gauge wire.  The forums recommend as many turns as possible. 

Buying pre-wound motors is initially worth the extra money, but the selection is very limited.  Once you've mastered winding, you're better off winding your own.

All these motors need to be heated to be unwound.  Start the unwinding at the cable terminations, not by cutting into the windings.  Make new windings with a narrow plastic tube.  A long piece of wire insulation seemed to work best.  The Turnigy 2205's were busters.  They might be easier by grinding off as much of the enclosure as possible, without removing the screw holes.




There is a starting table of various motors:


https://docs.google.com/spreadsheet/...WWFl2Smc#gid=0








The problems with traditional 2 axis & 3 axis gimbals were documented.  So basically, not knowing the orientation of the roll motor prevents any traditional gimbal from being an  ideal isolator from all possible movements.  The magnetic heading is probably not going to be available either, since it's influenced by the motors. 







Yaw is coupled to roll/pitch when tilted outside a very narrow angle.







The 2 axis gimbal did a real lousy job stabilizing handheld footage.  On an aircraft, a 2 axis gimbal is probably good enough.  You can probably use the flight controller's IMU to aid the roll motor.

Read more…
Developer

3689525925?profile=original

A couple months ago I was testing ArduPlane and some of the different modes. I was not getting on very well in FBW-B* mode. If you look at the image below. You will see the purple track. I was loosing altitude and I couldn't understand why. You can see just before the path goes red, I'd lost a lot of altitude and was heading for some pesky trees. I switched to FBW-A and pulled up out of this 'death dive'. :-o

The problem was that FBWB_ELEV_REV was set to default of 0. This means 'up elevator' (pulling back in the elev stick) means go to a lower altitude. Setting this to 1, means that pulling back on the stick will put the plane at a higher elevation. This just makes much more sense to me.

see http://code.google.com/p/ardupilot-mega/wiki/FlightModesFlyByWire (And I will update the doc ;-) )

*I'd stopped using the airspeed sensor and FBW-B requires you have one, so haven't been using this mode since.

Read more…

My two birds...ready for flight now

Nicknamed "Laurel and Hardy", for reasons that should be obvious.

Everything calibrated...time to get the PID's done! Well..once it stops raining and snowing here in Switzerland. :-(

Some build annoyances, which I'll go into in an additional post.

3689525640?profile=original

 

 

 

Laurels bits (still missing his TM1000 telemetry though)3689525714?profile=original

3689525796?profile=original

 

Hardy's bits...some repaired!

3689525733?profile=original

 

His motor & prop, with the temp sensor in place.

3689525862?profile=original

Read more…

My PVC V-Tail Quad

I built this guy out of PVC plumbing parts from Canadian tire and an old plastic food container:

3689527453?profile=original

3689527431?profile=original

30 deg V

10 x 4.5 propellers

D3530/14 1100kv Motors

30A HK ESCs (SimonK )

APM 2.5 brain with 915 Radio + GPS

(arducopter 2.9.1b modified to support my VTail mix)

4000mAh 40-80C nanotech battery (I like them for my Stampede 4x4)

all up weight is about 1500g (1760g with my 'trainer landing gear' shown above)

Hovers at 25A / 45% throttle and gets about 7 min flight time

I also added Mavlink support to my Turnigy 9x. Currently I forward mavlink data from my PC over bluetooth, but I hope to put a 3dr radio in place of the bluetooth to avoid the PC. The screen I added provides battery Amps / Volts / % Remaining (with warning beeps), flight mode, satellite fix / count / hdop and my favorite feature: distance from home and bearing offset to get home. 0° means fly forward to get home, 180° means fly backwards to get home - handy!

3689527478?profile=original

This was and continues to be a really fun project!

Read more…
3D Robotics

3689525679?profile=original

Read more…

3689525546?profile=original

Several months ago I started working on a system called Afterflight to organize and browse my tlogs and dataflash logs, sync them with video, and view them along with a map GPS display. It still has a long way to go, but there is a fair amount of working functionality so I figured I'd get it out there for comment, warts and all. I would love to see it flourish as a collaborative project with lots of committers, see it get merged into another project, or whatever is most useful for the community. If anyone is interested in providing funding for it (or hiring me!) I'd love to hear that, as well, since I am a "starving PhD student". Alternatively there is a donate link if you click "about" in the software.

The source code has been available under the Apache License at http://afterflight.googlecode.com since I first started work on the project. I have an example server running at http://afterflight.volcanocopter.com

If you want a quick demonstration of what it can do, click on the first log entry, which will take you here . Press play on the video and you should see the map, graphs, and timeline animate.

Technology

Here's how it works at the moment:

  • Very slowly. Please be patient, the index page in particular is large and none of the code has been optimized. It may take up to a minute to load. I'm confident I can fix that with a little work. Major code cleanup on the way soon!
  • Python scripts read in your .log or .tlog. PyMavlink is used to parse tlogs. The scripts use the Django object relational mapper to put the data into a Postgresql database. It should work with most other database systems as well (but not MySQL because MySQL can't handle high resolution timestamps.
  • A Django web application serves up the data
  • The web interface uses a bunch of javascript widgets for displaying timelines, zoomable graphs, slippy maps, and video. Everything is zoomable but the controls aren't unified yet -- e.g. you click and drag to zoom on the graphs but you use the scroll wheel to zoom the timeline.
  • I'm just starting to add features that allow the user, through the web interface, to add extra data and re-sync the video with the logs

Improvements I'd like to make in the future:

  • Don't rely on youtube for video display; allow several web services or local video hosting
  • Add automatic detection of events (takeoff, landing, motor failure, collision, wind gust etc) in both logs and in video. I have some ideas on how to detect things like takeoff and landing in the video. This will allow Afterflight, given a bunch of logs and a bunch of videos, the ability to match the right logs with the right videos and sync them in time.
  • Add display of flight analytics calculated from the data. That includes things like top speed, but also derived values such as efficiencies, estimated lift to drag ratio, etc. The database already records different vehicles, batteries, etc., but those models need to be expanded.
  • Allow login (locally created, or Google, Facebook etc.) and have the server designed to handle data uploads from lots of people efficiently. Should be fairly easy with Django-socialauth. Log parsing to the database is fairly slow right now because I haven't optimized the code, so this needs to happen before I allow uploads.
  • Replace all of the javascript widgets with a unified system based on the D3 javascript library.

Similar projects

I'm not the only one who had realized the power of the browser as a component of an Unmanned Aerial System. These are the other browser-based projects I'm aware of:

Droneshare

  • www.droneshare.com
  • Many similar capabilities to Afterflight. Unlike Afterflight, user registration and uploading is already working, and the site is snappy, with no laggy loading. However, it lacks many of the features that Afterflight has, including integrated video and interactive ajax plotting of all log data.
  • Not open source, but creator says that he intends to open source it in the future. EDIT: Now open source (yay!), see https://github.com/geeksville/droneshare
  • Creator has expressed interest in collaborating with Afterflight and possibly merging the two projects.

Mavelous

DroneOS

  • www.droneos.com
  • Appears to be vaporware. I signed up to "beta test" 6 months ago and have not been contacted, nor has there been any change to the website.
  • No indication that it will be open source.

DroneDeploy

 

Hope you find this useful!

Cheers,

Aaron (foobarbecue)

Read more…

Altitude Comparison: barometer vs GPS

3689525356?profile=original

This might be a common knowledge, but in the last months I haven't seen a similar post. Maybe someone new to barometers might be interested in this data.

The GPS receivers return altitude data, but this is inaccurate. The error margin depends on the satellite constellation geometry and whether or not you have SBAS DGPS on. I was under the impression that the error was 5-10 meters, but as it turned out, I was wrong.

Recently, I embedded a BMP085 barometer in my autopilot board and operated it with this library: http://code.google.com/p/bmp085driver/

Barometers can be and are effectively used to calculate altitude, once initialized and zeroed.

So the figure above displays a short manual flight whose altitude is measured both by a barometer and a GPS. The barometer is zeroed upon power-up. The GPS altitude is zeroed, based on the altitude returned before taxiing. It is the time between 20 and 30 seconds. The plane lands at 150 seconds in the exact same place it took off. However, the GPS altitude measurement has already drifted 16m away.

This goes to show that GPS should not be used for altitude measurement, unless a very coarse albeit offset-free measurement is required.

A barometer is a much more accurate and fast device to extract altitude, when operated correctly.

Read more…

Black Box Stories: Mid-Air Crash

3689525454?profile=original

Last Wednesday I went out to the field for some flight tests and gains trimming. Other people where flying their model planes there too. We usually follow a counter-clockwise pattern while flying to avoid collisions. That day I was flying especially slow, so when I took the turn, I did so on the spot and ended on the wrong lane. By the time I realized that, someone rammed me out of the air.

If I remember the even correctly, and the flight replay (LOG00212.kmz), the collision should be head-on. However, the reason I fell, was because the other plane's propeller clipped my left aileron. I managed to crash-land while doing semi-controlled spirals, losing a wing, the propeller and a wheel.

Afterwards, I tried to do some black-box analysis, with interesting results:

Firstly, here is a graph of the altitude, and the magnitude of the acceleration vector and angular speed vector:

3689525476?profile=originalThe collision occurs at about the 120th second. I estimate the moment at 120.5s. Strangely, no acceleration or angular motion peak is noticed at that moment. Only after I try to pull up at 124s is acceleration recorded, and, of course, at the crash. The IMU is supposed to be set at +-8g limit.

The roll, pitch and yaw plots are a bit more indicative of the situation:

3689525444?profile=original3689525498?profile=originalRoll goes crazy after I pick the plane up from the tail and carry it back to the car. It's expected.

In the last two graphs, a violent change in direction is noticed, in contrast with the first plot.

To sum up, I didn't find the accelerometers a good source of information, in order to detect a mid-air collision. Instead, angular velocities are more reliable, with proper thresholding.

Read more…

Maggie Rogers/Alaska Division of Forestry

Greg Walker, the director of the Alaska Center for Unmanned Aerial Systems Integration, preparing a drone for launching.

 

SAN FRANCISCO — As wildfire season begins in Western landscapes that were covered in smoky haze for weeks at a time last summer, the federal government’s firefighters are exploring the use of small remote-controlled drones with infrared cameras that could map a fire’s size and speed, and identify hot spots, a particular danger.       

With a maximum wingspan of about 52 inches, the drones would supplement and perhaps replace manned surveillance aircraft, potentially reducing the risk to both pilots and firefighters.       

But the effort is being slowed by Federal Aviation Administration regulations.       

The use of drones in open airspace is regulated by the F.A.A., and its safety requirements effectively preclude unmanned aerial systems, or U.A.S.’s, from operating out of sight of a ground-based pilot. If distance or the smoke of a wildfire obscures a drone from observers on the ground, a piloted aircraft must be sent aloft to keep an eye on it.       

“In terms of federal regulations right now, we can’t use U.A.S.’s out there except on a very limited basis,” said Ron Hanks, the aviation safety and training officer at the federal Forest Service.       

Rusty Warbis, the flight operations manager at the Bureau of Land Management, said the process of approving individual trial flights was “cumbersome,” though improving.       

The evaluations by wildfire experts are part of larger questions on how to incorporate these aircraft, originally used for military purposes, into civilian missions. The drones could complicate the main mission of the F.A.A., ensuring the safety of the country’s airspace. And observers in Congress believe that inherent distrust of government and privacy concerns are also slowing the introduction of firefighting drones.       

Their potential usefulness, particularly their ability to pinpoint hot spots and fly in thick smoke that would ground other aircraft, was shown in an Alaskan fire nearly four years ago.       

The fire, which burned over 447,000 acres — roughly half the size of Rhode Island — northeast of Fairbanks, was generating so much smoke that no planes were permitted to fly overhead. But a drone belonging to the University of Alaska Fairbanks was launched and easily identified the extent of the blaze and its varying levels of heat.       

“The smoke was so thick no one was flying — that’s why they came to us,” said Rosanne Bailey, a retired Air Force brigadier general who is the deputy director of the Alaska Center for Unmanned Aircraft Systems Integration at the university. “We could fly and see the borders of the fire using infrared.”       

Kent Slaughter, the acting manager of the Bureau of Land Management’s Alaska Fire Service, said it took four days to get the F.A.A.’s approval for that flight in 2009; the process is now down to about 24 hours.       

But privacy concerns are slowing the integration of unmanned vehicles into the firefighters’ tool kit, said Senator Mark Begich, a freshman Democrat from Alaska. “Firefighting is a great example of how unmanned aircraft” are able “to determine the range of a fire, the intensity of a fire, without jeopardizing lives,” he said. “That’s a unique application, especially in my state, in Colorado, in California.”       

He called the delays in getting approvals for testing the craft “frustrating.” The reason cited most often by firefighting experts is the requirement that the aircraft be followed and monitored by a chase plane if ground observers cannot see them through smoke, or because they are flying into canyons in steep and rugged terrain.       

Les Dorr, an F.A.A. spokesman, said that safety in the air and on the ground is paramount and that the issue of line-of-sight requirements for drone use was being carefully studied.       

The Army has lent the Interior Department 41 small drone aircraft that have been used for environmental monitoring, including tracking migratory wildfowl.       

The Forest Service, part of the Department of Agriculture, has also been studying drone use for years. Mr. Hanks, of the Bureau of Land Management, said one question was how much value drones would bring to existing firefighting methods.       

“We are still developing policies internally, what the cost benefit would be,” he said. The drones, Mr. Hanks added, “would be competing against what we could do aerially against a helicopter or a light fixed-wing airplane.”       

John Gould, the aviation chief at the B.L.M., who along with Mr. Hanks is based at the National Interagency Fire Center in Boise, Idaho, had a similarly cautious perspective. “We’re trying to get them in the mix and put them out in the field to see the potential,” he said.       

 

Read more…

 

Raw flight footage.

Just to document some early progress in the building of a multirotor Conservation Drone with thermal imaging for wildlife research (last picture shows the quad with a FLIR PS32 camera, yet to be mounted). Apologies for the shaky video taken with an iphone (had to hold on to transmitter with other hand).

See: http://ConservationDrones.org for more information

Technical details:
Base unit: Reconfigured 3DR quadcopter with stock motors and ESC
Propellers: 10 x 4.5 SF props
Copter legs: improvised "foam noodles" (about $2 and surprisingly stable)
Battery: 2 x 5000 mAh Turnigy

Autopilot: APM 2.5 with power module, GPS uBlox LEA-6, Radio Telemetry

Firmware: ArduCopter V2.9.1b

APM parameter file: APMConfig_9XR_3DRQUAD.param

Flying weight: 1.8 kg

Total flight time: 21 minutes (17 minutes if flying with 1 x 5000 mAh battery)

 

3689525262?profile=original

3689525230?profile=original

3689525277?profile=original

3689525306?profile=original

3689525189?profile=original

3689525284?profile=original

 

Read more…