Randy's Posts (28)

Sort by
Developer

More pics from AUVSI 2012

3689472679?profile=originalThe Unmanned Innovations QuadCopter.  They mostly focus on building custom autopilots for quads mostly but they are also working on adding support for hexa, octa, traditional helicopters.  My understanding is when you buy their quad, they also give you the source code that it's flying.  A very technical bunch who really seemed to know their stuff and were happy to talk about the details of quad copter control algorithms.  They backed up the our current theory on the cause of the altitude jump that some of us see when yawing arducopter is most likely caused by the non-linearity of pwm vs thrust in the ESCs/motors.

 

3689472710?profile=original

The MicroFlown microphone that could determine the exact direction of loud sounds (like a person clapping their hands).  In their demonstration video it was mounted in the plane shown and then flown overhead.  As it flew it would determine the location of simluated gunshots on a ground station.  Yours for around $25k.

 

 

3689472694?profile=original

Left is a Carl Hayden Falcon Robotics (highschool!!) student who along with the rest of his class had put together a functional underwater uav.  The pros must be worried when they see even highschool students are building UAVs these days!  The robot was driving around in a water tank at various times during the 3 day event (video here).

Right: some innovative work on a monocopter by a team of 3 Embry-Riddle University students.  The blades were 3d printed and apparently it flies although they did not have a demostration video.

 

3689472761?profile=original

JDI's hexa and fancy camera mount.  Why does it have slightly upturned arms?  Presumably for added stability.  $6k which compared to the military quads (all >$30k+) suddenly seemed like a bargain. The reps I talked to were all business, there to sell and not actually much fun to talk to but it was a nice looking system and they were one of the few teams actually doing real flight demos.

 

3689472723?profile=original

Two DIYDrones comrades, on the left, FalconUAV which uses the procerus (now lockheed martin) autopilot aimed for use by law enforcements.  On the right, ScionUAS's latest traditional helicopter UAS using a custom autopilot.  Both systems were demostrated at the recent Colorado Multicopter Rodeo as well by the way.

 

3689472816?profile=original
The Aeryon Quad and accompanying ground station which can be yours for around 100k.  As many of you know it has no RC style controller, it's all done through the IPAD like ground station software.  It's strong point is that it can still fly in very strong winds and easily replaceable arms which simply snap on and off (i.e. no wires to fiddle with).  It was surprisingly light and seemed mostly made of plastic.


3689472772?profile=originalCastle Creations displays Ed Kirk's (a DIYDrones member's) tricopter and their prototype device that provide feedback of the motor's RPM, current, etc to the microcontroller.  They also appear to be working on ESCs that are specifically suited to multicopters.


3689472790?profile=originalUAVFactory's plane platform (i.e. no autopilot) and groundstation (not including computer) priced at around $16k and $9k respectively.  The plane boasts a flight time of >50hours and they claim 70+ are in operation around the world.

 

3689472833?profile=originalMicroDrones's quadcopter boasting 90min flight time.  Even in outdoor (i.e. non ideal) conditions the rep claimed an hour is very possible.  They sadly wouldn't divulge any details of how they accomplished this but some other attendees believed it was accomplished mosty with an incredibly light frame, no payload and by sacrificing maneuverability and control for the sake of flight time.  I think a T3 contest on DIYDrones is in order to see how well we can do.

 

3689472740?profile=originalOn the Left is MicroPilot's based autopilot line-up (about 1.2k ~ 5k I believe) for a variety of platforms including traditional helicopters and airplanes.

On the right is VectorNav's AHRSs which are incredibly small despite including the 3-axis accel, gyros, sensor fusion processor and a GPS!  The silver ones are the SMD versions, the red ones are the same tech but enclosed in a case and are meant to be attached to your navigation controller via a (serial?) cable.  These guys were great fun to talk to as they were very technical and happy to get into the details.  In fact, like ArduPilot they use the Invense MPU60XX for the accel/gyro and a ublox for the GPS but their value add is the sensor fusion algorithms (12 or 13 stage kalman filter - they don't rely on the DMP) and the chips come all pre-calibrated (temp and drift).

 

3689472851?profile=originalTop Left: LiquidRobotic's Long distance wave powered research platform.  These travel at only 2mph but because they require no fuel they are sent out to sea on up to one year missions to gather data.  Solar panels on the top power the sensors and autopilot.  Iridium is used for two way data transfer including current location back to the ground station and way point updates.  There's apparently 4 floating about as we speak, one on it's way to Japan.

Top Right: MorrisTech displays their 3d printed titanium creations.

Bottom Left: IRobot's not just making vacuum cleaners anymore.  The special bit is the articulated track which allows to climb over rocks easily.

Bottom Right: Fly-N-Sense's coaxial copter designed for safety.  Besides tech hurdles, they're looking at the legal hurdles faced trying to getting permission to fly over crowds.

 

Generally people I talked to thought the tech's advanced a lot in the past year.  Most people have a system that does waypoints and provides live video so to stand-out you need something extra or you need to show how you're taking that tech and putting it into real applications.  Despite that I didn't see any cooperating robots or robots that can perform a more vaguely defined mission completely on their own (like filming a crime scene from every angle)...maybe next year!

Read more…
Developer

BR-0016-01-2.jpg?width=251In case you're looking for an optical flow sensor, there is now one available in the DIYDrones store for a penny under $40.

 

This sensor is based on the ADNS3080 mouse sensor which is a good choice for optical flow because:
   high resolution: 30 x 30 pixel frames meaning it can see features that lesser mice cannot
   high speed: 2000 to 6400 frames per second update rate which contributes to better low light performance than other mouse sensors
   SPI interface meaning it can be interfaced to many micro controllers and co-exist with other sensors

 

Other features:

  • Intended to interface with a 5v microcontroller.
  • 8mm lens with 11 deg FOV
  • Standard M12x0.5 lens mount meaning you can replace the lense easily  if required

 

Instructions for connecting the sensor to your APM/Oilpan are here.

 

Things to be careful of:

  • Performs best outdoors in well lit environments
  • Does not play well with Fluorescent lights (the blinking throws off the sensor)
  • Needs a somewhat varied surface to see movement (plain carpets are not it's friend)

 

Uses including odometry and obstacle avoidance but I've used it mostly for horizontal position hold.

 

Note: integration with ACM and the existing GPS pos hold is a work-in-progress but should hopefully be completed in a few weeks.  Here is a video of a slightly modified version of the ACM code using only optical flow (and sonar for altitude hold).

 

Inspiration and some technical help especially early on came from Marko Klein Berkenbusch and his blog on position hold with mouse sensor.

 

Hope you like it, all comments welcome!

Read more…
Developer

Trex450 loiter testing using Arducopter 2.0.50Beta

This video is of some loiter testing I did this morning of my Trex450 running the latest arducopter code, 2.0.50.

 

If it were a quad I might not be super happy with the results but for a traditional heli, I think this is a pretty good performance.  The altitude hold is very solid using Jason Short's latest code paired with a  maxbotix MB1260 XL-EZL0 sonar which is mounted on the tail using a custom 3d printed mount.

 

There's some more work to do to resolve the circling (which is always in the clockwise direction by the way).  I guess what's happening is that the heli is always missing it's target - so for example if the loiter point is straight north, it's actually heading slightly north-west.  I suspect the problem is either:

  1. the compass declination is incorrect
  2. it's caused by the natural interaction of the roll and pitch on the heli.  So for example if the autopilot wants the heli to go forward it pitches forward, but pitching forward also causes a slight roll left which we current don't account for in the code. 

Also the P and I values need some more tuning to stop any overshoot.

 

This code is the latest and greatest and can be downloaded from the APMissionPlanner.  By the way, if you're not familiar with the arducopter code for the heli, it's 95% the same as the quad code, just some changes here and there to deal with moving servos around instead of motors.


If anyone has any other ideas, comments or advice on the circling or anything else, I'd love to hear them.

Read more…
Developer

Which Maxbotix sonar should be the standard?

3689391421?profile=original

    About two months ago we added altitude hold using the Maxbotix sonar to the ArduCopter (you can find instructions re how to set it up on the wiki).  At the moment on the we recommend the LV-EZ4 and XL-EZ4 but that's not based on a lot of research or experience so the question to the community is:

            Which one of the Maxbotix sonars is best for our purpose?  

    

     Above you can some pics extracted from the datasheets of the four sensors.  Each is a 1 foot grid and shows the theoretical range within which the sonar can sense a 3.5 inch pole (look at the black lines, not the red dots)

 

     The first choice is whether the extra cost of the XL over the LV is worth it - according to the data sheet the XL's range is 80% better (nearly twice the range) which makes me think "yes".
     The next choice (for either LV or XL lines) is between the EZ0 (fat-beam but longer range) or EZ4 (narrow-beam but shorter range).  We went with the EZ4 because we thought the narrow beam would make the altitude correction using roll/pitch work better but I guess we might be able to correct for the fat-beam of the EZ0 in the code and then we'd benefit from the longer range..but perhaps we would also get more false readings?
 
     So my guess is it should be the XL-EZ0 or LV-EZ0 but it would be great if people especially those who have played with sonars could voice their opinion/experience.  Also at least one person has had trouble with the XL-EZ4 over carpets and grass so if people have experience over various surfaces we'd love to hear about it!
Read more…
Developer

Quad position hold with mouse sensor (reproduced)

 

 

     You might remember this blog post by Marko Klein Berkenbusch on using a hacked mouse sensor for position control of a quad.  With some help from Marko himself, I've mostly repeated his results on a branch of ArduCopterNG and thought I should share how I did it as it's slightly different.  Please note that this is not official ArduCopterNG code, there's no support or anything for it.

 

     The Hardware:

            ADNS2620 Mouse Evaluation board from sparkfun.

            4.3mm lens and lens mount from peau productions

            STK500 compatible programmer to change the firmware on the Eval board

            ftdi cable from diydrones

 

     The software:

  1. downloading the 18x18 image from the mouse sensor
  2. sending simple binary packets of the x and y change
  3. menu to show some simple info like surface quality (good for focusing lens)

 

     How to put it together:

  • solder on the 6 pin headers on the eval board so you can connect the stk500 programmer and ftdi cable
  • glue the lens mount to the bottom of the eval board.  make sure it's perfectly centered over the pinhole of the mouse sensor
  • screw the lens into the lens mount (don't screw it in all the way)
  • upload the modified firmware to the sparkfun evaluation board using the stk500 programmer

 

     Focussing the lens:

  • connect connect your arduino ide to the eval board using the ftdi programmer and it should immediately start outputting x,y coordinates and surface quality number.
  • If it just appears garbled it's probably outputting in binary press <space> to view the menu and press 'm' to switch it to ascii mode.. 
  • the third number displayed is the surface quality, try screwing in/out the lens to get a better (i.e. higher) surface quality.  note: if it's dark you might need to point the lens at a light.
  • download an image by pressing 'p' and copy/paste the values into the excel sheet.  adjust the lens, taking shots until it seems like a reasonable image

     Playing with ArduCopter - all of the interesting code is in the Mouse.pde and Mouse.h.

  • I attached the mouse's ftdi pins to the arducopter Oilpan's telemetry port (on the front of the oilpan).  The mouse sends serial commands (in binary) and a parser in the arduCopterNG code picks these up at 20hz.
  • In particular the mouse_calculate function does the compensation for pitch and roll.  20x per second it compares it's roll/pitch to the previous iteration and estimates what x/y it should receive from the mouse:

           The expected x/y = the change in roll * pixel resolution of the camera / field of view of lens * magic number

           (this magic number seems to be 5 for my set-up) 

  • it then subtracts this estimate from the real x/y it received leaving only the horizontal movement.
  • the mouse_position_control shows the PID contorller to correct for the x/y movements from the mouse (this is a pretty normal PID controller).

 

     Some good reference material on other people using mouse sensors for altitude hold, obstacle avoidance.

            http://www.araa.asn.au/acra/acra2007/papers/paper181final.pdf

            http://www.mecatronica.eesc.usp.br/wiki/upload/0/0a/2006_Thesis_Remote_Terrain_Navigation_for_Unmanned_Air_Vehicles.pdf

 

Some pictures of the camera attached to the eval board and an image captured from the camera:

3689386675?profile=original3689386571?profile=original

 

Read more…
Developer

a 3d printed object in metal!

Over the christmas holidays I got fired-up by Chris's posts on the makerbot...I didn't got out and buy one but I did give google sketchup and shapeways (www.shapeways.com) a try and designed this very complex (sarcasm) brace: http://www.shapeways.com/model/77738/simplereinforcement12.html.And then it arrived in the mail today and looks just it should. So here's a picture of it on it's own, and then with it's twin brother on my helicopter. Of course, did the heli really need it? Probably not..but it was fun making it anyway.You'll notce it's slightly bumpy but besides that it feels like normal stainless steel to me. It cost $25 including the shipping but it took almost a month to reach me here in tokyo.

Read more…
Developer

My UAV helicopter - vibration problems

Hello All,Like a few others, I've been working on a UAV Helicopter but I've hit a bit of roadblock and I'm looking for some helpful advice from the community. At the moment, when I try to fly the helicopter (so far as high as 4 inches off the ground), it tries as hard as it can to bank left because it thinks it's leaning at >40%. The problem is vibration and I'm looking for any advice I can get on how to overcome this problem.Below is some slightly massaged data from the accelerometers and gyros. The accelerometer data is adjusted back to "mid" so instead of values being from 0 ~ 1024, they're from -512 ~ +512. The gyroscope data has been converted into degrees per second (i.e. (raw gyro value - gyroMid)* magicNumber). The little table of numbers below the graphs is the average variation in accelerometer values I'm seeing..so when the helicopter is completely assembled, each x-axis acclerometer values is on avarege 300 away from the previous value!

I guess there are two roads to resolving this:1) reducing the actual vibration of the helicopter.2) use less vibration sensitive accelerometers and gyroscopesFor #1, I've done some loosening of the ball joints in the main rotor and upgraded some components to Aluminum and Graphite.For #2 I haven't done much. I'm using Sparkfun's 6DOF (http://www.sparkfun.com/commerce/product_info.php?products_id=8454).What do you think? All advice more than welcome.BTW, I've also been following John Mac's and Bill Premerlani work on CCPM Helicopters so I'm thinking of contributing to their efforts instead of going it on my own.

You'll see from the pic above I've incorporated a number of improvements suggested from my previous blog post including:- better mounting of the AVR 128 and sparkfun 6DOF (now on the back)- lipo batteryI've also upgraded the engine to a hyperion Z3025-06 because the previous one simply couldn't get this big-ish ECO8 off the ground. I've also replaced the "mechanical mixing" with "electronic mixing" -- this is ECO8 speak mostly I think but basically it means that now the three servos at the back, work together to control the pitch, roll and elevation of the main blades instead of using the ECO8's manual mixer thingmy which everyone says doesn't work very well.
Read more…
Developer

My UAV helicopter (which can't fly)

What can it do:the atmega 128 can control all the servos and the engine speed. It can communicate with my Windows PC via the xbee so I can send it commands (like inc/dec engine speed, tail rotor servo, etc). It know's it's pitch, roll and heading using the sparkfun 6DOF + the compass (combined using kalman filters).What can't it do?well, first off it can't fly (yet). it can't even control it's horizontal direction using the tail rotor at least not since I attached the main rotors (before it was controlling it's direction pretty well but the main rotor has changed the dynamics of everything a lot it seems). It doesn't have a GPS nor anyway to know it's elevation.Basically I think the hardware (although a bit messy) and basic software is probably far enough along to allow it to hover but I'm currently stuck on getting the control algorithms correct (i.e. when you're 20 degrees from target and your speed is 50 deg/sec and tail servo is at position mid + 80, what should it do?). I've been looking at a few people's projects (especially vicacopter) for ideas and I've tried a few things including a PID controller and even played around squeezing a neural net into the Atmega 128 (it can fit!) but so far pretty limited success.I'm interested in working with others to get a UAV helicopter working. I love the challenge of programming on these tiny CPUs so that's probably the area I can contribute the most in (especially if it's in C, C++, Java) and although I'm pretty happy with the AVR cpus I'm willing to change platforms if necessary. Learning about the hardware since I started this project about 9m ago has been a lot of fun as well as it's something I hadn't been exposed to before.All comments, suggestions for improvements, ideas more than welcome!Here's the parts that have gone into the helicopter:eco8 helicopter (click under link for IKARUS Electric Helicopter)http://www.ikarus-modellbau.de/onlineshop/deutsch/index.php?lang=1hyperion brushless motor and esc purchased from my local hobby shop:http://www.aircraft-world.com/shopexd.asp?id=6382http://www.aircraft-world.com/shopexd.asp?id=5195the CPU is an Atmega 128 with 32k external ram on a pretty basic breakout board:http://www.besttechnology.co.jp/goods/cpu/index.htm#BTC068I program the above in C using Eclipse + winavr:http://sourceforge.net/projects/avr-eclipse6DOF (3 gyros, 3d acclerometer) purchased from sparkfun:https://www.sparkfun.com/commerce/product_info.php?products_id=8454Compass also purchased from sparkfun:https://www.sparkfun.com/commerce/product_info.php?products_id=7915An Xbee module (also purchased from sparkfun) for communicating with my windows PChttps://www.sparkfun.com/commerce/product_info.php?products_id=8695rpm meter built from some more parts from Sparkfun:https://www.sparkfun.com/commerce/product_info.php?products_id=8642https://www.sparkfun.com/commerce/product_info.php?products_id=8644
Read more…