All Posts (14048)

Sort by
Developer
Poll - how do you want FBW to work?

Jason Short came up with a great flight mode, FLY BY WIRE, in ArduPilot 2.5. This mode differs from STABILIZE. In STABILIZE the autopilot constantly tries to return the plane to 0 pitch and roll, while you give stick inputs that tell the plane to do something else. It feels a bit like you are arm wrestling against the autopilot sometimes. With FLY BY WIRE if you move the right(*) stick half way to the right then the plane will bank half of the maximum amount defined. As long as you hold that stick position the plane will hold that bank. If you center the stick, the plane will go to zero bank.

* - All references to right stick assume a mode 2 RC setup where the right stick controls pitch and roll.

That is all great! You are not arm wrestling the autopilot. You are telling it what roll you want and it is giving you exactly that roll.

But what about throttle and elevator? Jason had a scheme where if you moved the right stick then you would get both a pitch and throttle response. In 2.5.1 I have been trying an alternate scheme involving both pitch and throttle increasing or decreasing together. I am convinced that these schemes are not the best. But what is? It really comes down to user preference.

I think the two best alternatives are:
  1. Have the throttle remain under manual control and have the right stick up and down control pitch angle. This setup is great for tuning your servo PID gains (both roll and pitch), and is a really fun way to fly.
  2. Have the elevator maintain a constant airspeed and have moving the right stick up and down increase or decrease throttle from a cruising throttle. This setup is probably the ideal setup for new pilots. You can hand the transmitter to anyone and they can fly. Can't stall because airspeed is controlled. Want to turn, move the stick to the side. Want to go up or down, move the stick up or down. Of course they still have to deal with what up and down is and what left and right are while coming and going, but if you let go the plane will always take care of itself.
What do you think is best??? Maybe something else?

I can't seem to get the poll to embed - please go here

Read more…

Commercial Quadrotor Recommendations?

I am setting up a lab this summer for some student research that will be similar in most ways to this one at MIT: http://vertol.mit.edu/

I would like to buy 6-8 commercially available trirotor or quadrotor helicopters in the $1000 - $1500 price range that would be similar in capabilities to the old Draganflyer V Ti. I've looked around and I would be very happy using Parrot AR Drones, but they have not set a date for releasing them or published a price. Likewise, Draganfly's web site says they will release their E4 in 2010, but no price or date of availability either. I could swear their web site used to say the E4 was coming in 2009.

I will only have the students for 10 weeks, so I would rather have them doing higher-level research using copters that work out-of-the-box and have available spare parts than have them spend a big part of their summer testing and debugging copters that they have built from scratch. Any suggestions?

Garry

Read more…
3D Robotics

That's Nathan Siedle, CEO of Sparkfun, handing me the very first ArduPilot Mega board to come off the Sparkfun production line. We were at an Arduino planning meeting in NYC; that's Massimo Banzi of the Arduino project in the back.


Here's a closeup photo of the board. It looks great! The only thing that's not quite right is the GPS connector is supposed to be sideways, so it doesn't rip off in a crash, but we'll fix that in the next batch. It doesn't really matter, because nobody will use that connector; they'll be using the GPS connector on the IMU shield instead.


Front:


Back:

I don't have an ETA on when they'll go on sale, but it's not long now!

Read more…

Maiden Ardu-Flight for me

It was my first flight with an Ardu-anything today. Working towards getting an ArduIMU/ArduPilot working.

So far it was just a data logging flight. I had a GPS and ArduIMU installed in my Stevens Aero Edge 540 along with an OpenLog from Sparkfun.

After downloading the data into MATLAB, and some manipulation, I outputted a Google Earth KMZ file of the flight:

You can view an animation of the flight in Google Earth here:

Google Earth KMZ file

The plan is to eventually tune ArduPilot/IMU into this aircraft (using the great start that has been going on with 2.5.1 code here).

Tom

Read more…

This week in aerospace

PROP ADAPTOR TERRORISM, INDUCTOR INSANITY, THERMOPILE TERRORISM, WHAT SLOW
ATTITUDE ESTIMATES MEAN, LAST WEEK'S VIDEO FLIGHT

PROP ADAPTOR TERRORISM

These aluminum GWS prop adaptors are ridiculous. Lately they started stripping before getting anywhere near the required tension. Down to threadlock on plastic again.





Forget about those tiny set screws. Use TRex-450 bolts. Time to move to China to make our own.

INDUCTOR INSANITY

Managed to get the Marcy 1 radios to stop locking up permanently. The ground station watchdog timer wasn't being reset. Definitely a point for microcontroller operating systems. That got it down to 1 lockup which instantly recovered around every 15 minutes. These are probably from the reset pins glitching & we know tying those to Vdd adds noise to the thermopile.



So cannibalized a motherboard to make inductors for Marcy 1. These are made with 20" of wire. The larger the spaces between the windings the better.





Inductors on Vdd & GND got it just a hair quieter than 1 inductor on Vdd.





Wound Vdd, GND, & signal on 1 core & that got the best results & least weight. It's probably down to the EMF through the air.





& the readout at flight RPM finally shows a waveform of sorts. Modulating PWM really kills it.



THERMOPILE TERRORISM

Now to get roll & pitch out of it you need to lowpass filter it, stretch it to a constant period, average several periods over time, & take the magnitude at the N, E, S, W phases. Already tried getting the magnitude & phase of the peak. That doesn't work because you've got an irregular horizon with peaks that always show up at the same position regardless of attitude.

Think we got roll & pitch curves. On the ground there's a lot of crosstalk. In the air it resembles more normal attitude changes.



Holding it 5ft off the ground, on the golf course, you get decent attitude sensing & there's a 1V thermopile change. Got a mag gimbal lock when she pitched up.



The completely processed thermopile waveform with spikes for azimuth.

Main problem is the DC offset & amplitude are completely random. The difference between max & min temperature for a given angle of bank is not constant & we don't have enough room for a Z pair. Best idea is a set of thermopiles on the ground station for measuring temperature range in addition to the sonar.

Finally, She's too heavy with the inductor & POV to do much flight testing. Don't know whether to start a lighter flight computer now or master attitude sensing on the ground.

SLOW ATTITUDE ESTIMATES

Thinking things over, the attitude estimate & feedback on Marcy 1 is going to be so slow you're once again looking at filling in blanks in the data. Neural networks got abandonned because no matter how many algorithms you throw at a piece of garbage data, you're still reading the same garbage data.

They improve stability as long as the input data stays in a certain pattern. An unexpected gust of wind or descent causes these algorithms to destroy the data & your autopilot actually takes longer to compensate than it would using PID loops. We stopped neural networks when uBlox 5 came out.

LAST WEEK'S VIDEO FLIGHT

Headed over Los Gatos at night. You get a nifty view of the valley. Unfortunately only been flying the camera after Major Marcy operations & those have only happened at night. The view would have been better in daylight.


Read more…

USB DSM2 Transmitter for my Blade MSR helicopter


Today i flew my Blade MSR using a joystick, my PC, and the 2.4ghz LP4DSM transmitter which used to be in the tx controller. The serial protocol is best documented here, but information on this exists elsewhere including here in a few posts, on diydrones. I'm pretty excited that I finally got this working...it took a few nights of serious head scratching to work out some kinks.


I used a USB to TTL breakout board to transmit to the LP4DSM module, which apparently is a pretty common module found in numerous spektrum and other transmitters. I used LabVIEW to assemble all of the code, pulling axis information from the joystick, filtering this data, and converting that into hexadecimal PPM which was sent via serial to the TX.


I still have some bugs to work out, but it worked, and that is progress.


So, while I was working on this, I also bought an Arduino Pro Mini (yes, i gave into the temptation of a $20 already tested, super small, and assembled board :-D ) and an "ArduIMU Sensor Board - Six Degrees of Freedom (Main)". I put the board name in " " because it's actually only 4 degrees of freedom, having a 3 axis acc and a 1 axis gyro, with analog output.


It doesn't come with any documentation (nor does the Arduino Pro Mini), and I'm not sure if that is common or not. There is online documentation for the Arduino Pro Mini, which is helpful, but I find the information here on DIYdrones to be the best resource. thankfully the hardware is somewhat self explanatory.


Lastly, I bought two micro servo boards, which are the same servos on the Blade MSR, and the BMCX, and possibly others. i'll have to post the name/details of those servos later, i can't find the info right now.


My plan is to put both boards on my MSR, to make a stabilized camera mount using my endoscope vid camera. You can see where this is going.... :-D


....pull off the 5 in 1, add 2 more servos and a rx, and I should have a blade MSR that can be video camera flown, flight stabilized, and hopefully very, very cool. (and hopefully light enough!)





Read more…
Hello,I've been silently following the progress of the UAV Dev Board team for a while now, and want to congratulate Bill Premerlani and his great team for their amazing accomplishments.This is my first posting, so please let me introduce myself. I'm relatively new to RC flying, and have very little experience with micro programming, but do have some background in aerospace and software engineering. Anyway, after crashing a few planes, it's exciting to see that such a capable and inexpensive auto pilot has been developed. I've just started digging into all the UDB technical details, so I'm green behind the ears, but hope to contribute in some small way to the team eventually.I hope you won't mind if I also ask a technical question. I'm having a problem and could use some advice.At this point I've got the UAV Dev Board setup, programmed with MatrixPilot 2_0_3, and connected to Spektrum servos in an aileron/elevator configuration. BTW, getting to this point is due to the terrific UDB instructions and tips, as well as Pete Hollands' excellent videos, so thank you!However, I am having an issue getting the UDB to switch modes from my transmitter/receiver. The UDB remains in manual mode (Green light on, Red light off). My apologies if my question is silly, or has already been answered.The Troubleshooting page (http://code.google.com/p/gentlenav/wiki/Troubleshooting) has the following note."Sometimes the board starts ignoring manual controls, or switches back to RTL mode unexpectedly. This is a problem with some receivers that output servo signals at slightly low voltages. This causes the UAV Dev Board to not be able to see them. One solution is to change to a receiver that sends out stronger signals. Another option is to lower the voltage at which the UAV Dev Board runs from 5.0V to 4.5V. This makes the low receiver voltages look stronger relative to the UAV Dev Board's voltage."I'm wondering if this might explain my problem. If the signal voltage is too low, what voltage is recommended?Here's my setup:Red UAV Dev BoardMatrixPilot 2_0_3Spektrum DX 7 transmitterSpektrum AR7000 receiverUDB Spektrum AR7000---------- ---------------radio ch 1 --- AILEradio ch 2 --- ELEVradio ch 3 --- THROradio ch 4 --- AUX 1 (for mode control)gps --- No gps connected (yet)UDB Servos & Power---------- ----------------servo ch 1 --- Aileron Servosservo ch 2 --- Elevator Servoservo ch 3 --- ESC/BEC measured at 5 voltsI've verified that AR7000 AUX 1 output voltage is effected by the 3 way 'Flap Mix' switch on the transmitter. The AUX 1 signal voltage is 0.25, 0.20, or 0.15 volts, depending on switch position. Are these voltages too low? Regardless of switch position, the UDB board does not change modes.Here's what's observed during testing.1) Turn on Spektrum Transmitter1) Connect power to the ESC/BEC:AR7000 lights turn onUDB Green light turns onUDB Red light turns on2) UDB Red light blinks 6 times3) UDB Red light turns off4) UDB Green light remains on5) Change the position of the 3-position 'Flap Mix' switch on Spektrum transmitter- this has no effect on UDB modes6) UDB Green light remains on and Red light remains off7) UDB provides auto pilot servo control and also allows manual control from the transmitterOne other observation. If the transmitter is turned off, the mode remains the same (Green light remains on, Red light remains off).The options.h file is currently set to the default values. Do these need to be changed?#define MODE_SWITCH_THRESHOLD_LOW 2600#define MODE_SWITCH_THRESHOLD_HIGH 3400It's not clear to me what values the AR7000 (AUX 1) is producing, or how best to measure them.Thanks in advance for any advice, and sorry for the long-winded first posting.Phil
Read more…
3D Robotics

Voice controlled heli UAV


From BotJunkie:

"This little helicopter is able to understand you when you tell it what to do. No pushing buttons, no using special commands, you just tell it where you want it to go and (eventually) it goes. Of course, I’m sure it required a bit of work to define where “door” and “elevator” and “window” are, but it’s a much more intuitive way to control a UAV that works when your hands are full, when you’re stressed (think military), or simply when you have no idea now to control a UAV.

I don’t have much in the way of other details on this project, besides the fact that it probably comes from the Robust Robotics Group at MIT, and possibly from someone who lives in this dorm. How do I know? Well, one of the research goals of the RRG is “to build social robots that can quickly learn what people want without being annoying or intrusive,” and this video is on the same YouTube channel. ‘Nuff said.

[ MIT Robust Robotics Group ]"

Read more…
Developer

ArduPilot Mega sensor shield testing report

Hi all,
We have been testing the new beta sensor shield for Ardupilot Mega.

Note that this is a beta version of the sensor shield to test components, the final version will be different (Jordi commented this on other blog post)

The FTDI and mini USB works great for programming the At1280 with Arduino.
First tests were focused on the external 12 bits ADC (ADS7844) and the results are that it works great!!
We developed the SPI code to read the ADC and we used Timer2 interrupt to make a free running ADC at 400Hz.
Because our main loop run at 50Hz, we need at least 100Hz sampling frequency (to avoid aliasing), so we have an 4x oversampling and averaging on the ADC readings (this is good)
We are using the most efficient way to read the channels (16 SPI clock cycles per conversion. SPI runs at 2MHz).
When the code was tested, we coverted it to a standard Arduino library so the interface is very simple for the user.

I´d really like the "library" aproach because our code is now fully integrated in Arduino IDE, users can use this codes for other DIY projects, it´s very simple to use and we always include an easy example to test the library (File->Examples)
To install an arduino library you only have to copy the directory into your arduino\hardware\libraries and restart the arduino IDE.
To insert a library go to Sketch->Import library or you can test an example in File->Examples.
In this case, we only need to call APM_ADC.Init() on setup() and when we need an analog reading use :
value = APM_ADC.Ch(1);
The ADC library works really great!, so I decided to make a quick adaptation of our IMU DCM code to the ArduPilotMega. It works fantastic, very smooth and with high precision (see the video).


Find more videos like this on DIY Drones


Finally we measured the performance of the codes:
ADC 7 channels at 400Hz uses 98us*400Hz= 3.9% CPU
Full IMU DCM code takes 2.65ms*50Hz = 13.2% CPU
So we have an 83% of free CPU procesing power.
It´s very important to keep this part of code highly efficient.

Next step is to test the DataFlash code (AT45DB161) and convert it to a standard library.
I have doubts about if we can share the SPI bus between ADC and DataFlash (because how ADC SPI is implemented) but if this fails we have a second option in mind (using one of the serial ports in SPI mode)...
Next will be to convert our GPS code to a standard library and test all together:
-Radio library (APM_RC)
-ADC library (APM_ADC)
-DataFlash log library
-GPS library
-IMU DCM code
Then we start to add the latest autopilot code...

Code: APM_RC.zip This is the Radio Library (radio input and servo outputs)
This code uses hardware support for reading the radio input (input capture interrupt) and pulse servo outputs (Output Compare) so it´s very efficient, high accurate and uses very little CPU.
Code: APM_ADC.zip This is the ADC library to read analog data from gyros, accelerometers and diff pressure sensor.
Code: APM_IMU_test.zip IMU DCM algorithm for ArduPilot Mega Hardware (test code).
Note: All this codes are betas.

Jose.
Read more…

A public thank you to Caleb from CH Robotics

CHR6dmFrontBack_small.JPG


As some people might know there is a team hard at work on OpenPilot and we are making some progress, like every complex project things don't go as fast as you like but progress is happening. One of the things we are working on now is the low level infrastructure for the AHRS, this makes it so our EKF developers can just drop their code in without messing with the low level side of things.


On of the issues we needed to resolve was filtering the inputs, we were a bit unsure on which way to go. I sent an email to Caleb from CHR to ask his advice, he not only helped a lot but also gave us permission to use parts of his gyro filtering code such as his FIR filter as long as we credited him. Naturally he will be credited in the code and the credit file but I wanted to say a public thank you for this as well.



What I love about OpenPilot is the community, this side was mentioned on the podcast where we announced the project. Caleb is a perfect example of this community spirit.


Additionally, I don't see the CHR-6dm AHRS mentioned much here, so if you are looking for a well priced, powerful AHRS with a complete EKF have a look at http://www.chrobotics.com/ - Caleb rocks :-)


A small update on OpenPilot as well. Things are moving along, we have our issue tracker running now which can be found at bugs.openpilot.org there are still tasks to be added as not everything being is done is in there yet but it will be. There is a burn down chart which shows how far away we are from the version 1.0 release and a list of outstanding tasks that we need help with if people want to get involved.




Read more…
GSmphFT.vivideo_2010-03-16_00.07.44.m4v

After playing with lab view and the ArduPilot with the ArduIMU I have finally managed to get the time lag from the plane to the displayed action on the GroundStation to less than a half a second.
New VI file 1 AM 3/17/2010
Here is my rather crude video.

Earl

Here is the new VI for labview
The file name GS = Ground Station mph = Miles per hour FT = feet

GSmphFT.vi

Here is my latest version.
GSmphFT2.vi
Read more…

UAV flying in/around New York City?

Hey guys, this is my first post here on DIYDrones (I've been reading this site for a few months now, just not posting anything until now).

I'm in New York City (Brooklyn to be exact) and I'm really interested in building and flying a UAV. However, I'm wondering whether it's a good idea, or rather if it's even possible to fly an RC plane here. Obviously I'm not planning on flying around skyscrapers or anything, I just want to fly something and take a few camera shots or videos.

As an alternative, I can always take the train out to Long Island and fly there, but that would seem to be a big hassle getting a plane hidden on a train and keeping it all unbroken at the same time.

What do you guys think? Is there anyone here from New York City or some other largely populated city? Where do you fly, how, and when?
Read more…