rrTV-PHOTO   New HD TV
HOME   rrTV-PHOTO   GALLERIES   MY GALLERY   HELP-FAQ
myHOME PM pmRR MEMBERS 843 ONLINE 28 EVENTS SEARCH REGISTER  START HERE
 
2 pages [ <<    <    ( 1 )     2     NEXT    >> ]4595 viewsPOST REPLY
Autography FlightPower . Advantage Hobby . Revolution Models

.
.
UAV Autonomous Unmanned Aerial Vehicles > Seeking advice on state of the art in velocity sensing
 
 
Helitronix
Senior Heliman
Location: Marlborough, MA - USA

Hi folks,

I'm interested in learning the state of the art for sensing the velocity of a helicopter, from instrumentation on-board the helicopter. I've been thinking about a few alternatives and am interested in your feedback to help me narrow the field. The goal is to determine actual ground speed, so that I can feed this information into an autostabilizer/autopilot to enable the helicopter to hover in "about" the same location once the attitude has been essentially stabilized.

Here are some candidates:

1) Use a modern GPS receiver that gives me < 2.5M accuracy to determine ground speed.
2) Use a differential GPS receiver that gives me < 2cm accuracy to determine ground speed.
3) Use pitot tubes in each axis to determine AIR SPEED in each axis. Gives the wrong answer if there is any WIND. :-( Perhaps there is a way to subtract the actual speed of the wind from the result to make this measurement useful?
4) Use a downward looking camera that implements motion tracking to determine ground speed (velocity).
5) Use a multi-axis RADAR to determine ground speed

What's your preference for one technology over another, and why? What other alternatives exist that will yield good results for a model helicopter? Is there a really inexpensive method for getting velocity data that is "good enough" to hover in about the same spot?

Thank you for your feedback!

Joel-
08-08-2006 Over year old.
 
 
fitenfyr
rrProfessor
Location: Port Orchard, Washington

I would go with internal types like Accelerometers.

I think anything external on these helicopters is going to be subject to too many errors to keep up with the small control changes needed to hover in the same location.

Scale gets us everytime with these things I think.

Jason Stiffey
Fly Fast....Live Slow...
08-08-2006 Over year old.
HOMEPAGE  
 
 
Helitronix
Senior Heliman
Location: Marlborough, MA - USA

velocity sensing with accelerometers

Given that 1) the accelerometer needs to be sampled, and 2) the helicopter vibrates, it would seem that using an accelerometer to sense velocity would be subject to a fair degree of error over time.

Are there tried and true methods for making this method work reliably with a helicopter?

Joel
08-08-2006 Over year old.
 
 
fitenfyr
rrProfessor
Location: Port Orchard, Washington

Well for what it sounds like you are building there are several on the market that use a combination of internal gyros and accelerometers to stabilizes the helicopter that I know of.

CARVEC uses a combination of those if I recall correctly and I think that the AutoCopter also uses a similar concept.

I have seen the CARVEC work and there are no external speed sensors what so ever on that system.

Jason Stiffey
Fly Fast....Live Slow...
08-08-2006 Over year old.
HOMEPAGE  
 
 
JasonF
Senior Heliman
Location: Northern VA

Generally an IMU in conjunction with an accurate and fast updating GPS will work well in your situation. An IMU is accurate in the short term but will drift over time. The GPS is accurate over the long term, but isn't so good for short term. Therefore if you combine the two, you can make up for each one's defficiencies and get good measurements.

Jason
08-08-2006 Over year old.
 
 
RQ-1B DRIVER
Senior Heliman
Location: Whittier, CA

IMU

That would be a hybrid solution . An inital fix with GPS the inertial sensors are good for fast sampling but drift overtime, the gps updates the system .

Ken
08-09-2006 Over year old.
 
 
DKTek
Senior Heliman
Location: Melbourne, FL-USA

What about the high end stuff like the WeControl? They also have the card for the RMax. There seems to be very little components count. Can any one with experiences with the high end and lower end equipement elaborate on costs versus performance?
08-10-2006 Over year old.
 
 
Paul_Barsamian
Senior Heliman
Location: Glenview (North Suburban Chicago)

The dual sampling methods described above are fairly common now (accelerometers and GPS together). Usually using a fast sampling (MEMs accelerometer)and slower sampling device (fast GPS sampling component) together to get an accurate reading.

Carvec lists some specs on his accelerometers, if you check around the components for these are not all that expensive. You can even get similar sensors at parallax.com to work with thier basic stamp series micro controllers. The problem is that there will be a lot of code overhead and I don't think we will get the speed we need out of their products to control a free flying helicopter system.

The difficulty I have seen in developing this is in implementing the filtering (look up Kalman Filters on Google)in code for a microprocessor. The filter needs to combine the two inputs described above into a usuable input for control reaction and ensuring that you are continuously improving control without over controlling the system (and going into oscillation). The implementations I have seen involve complex matrix calculations that require more horsepower than we are trying to use.

I kind of like the NRI idea of using "nueral networks" maybe individual processors pulling data for each accelerometer and GPS unit and separate ones for controlling the server inputs. I still think the code is the hardest part of any of it...

I am working on an inexpensive implementation of an autopilot system now with a business partner and the problem we are having is coding the filtering and keeping the code light enough to use on very small and simple processors.

I started by investigating the Xbow system which OEMs at about 2500 bucks for the hardware with no good software implementation (all open source and kind of buggy from what I have heard).

We think there might be some code shortcuts we can take to get it to run on something more along the lines of a small PIC or a "gumstix" type processor (OEM down in the $2-3 per processor range)which will help bring the hardware price down significantly.

Just my .02

Son, before you can soar with the eagles you have to learn to sh** with the chickens
11-14-2006 Over year old.
HOMEPAGE  
 
 
noyan
Heliman
Location: Ankara-Turkey

I've been doing a research on a similar field myself for the past few weeks. I've found this company (http://microboticsinc.com/index.php) who seems to have VERY promising solutions. They have both standalone units like:
- micro IMU with integrated GPS
- dual barometer board for altitude and speed sensing
- a servo/switch contoller

and an integrated autopilot solution with:
- micro IMU with GPS
- servo controller
- SC/MMC memory card for data logging
- integrated wireless modem
- external sensor interfaces
- 4 serial ports for data communication
They provide the ICD to the implemented software protocol and a piece of software to visually display the data coming from the unit. The IMU supports different operation modes.

With minimal hardware development this unit can form the basis for a very complex autopilot platform. I did't request any prices yet but I have a feeling that it is in the $2-$3k range.

I've been lurking the forums for quite sometime and I though it was about time I chipped in my 2 cents

BR
Noyan
02-01-2007 Over year old.
 
 
Helitronix
Senior Heliman
Location: Marlborough, MA - USA

Noyan,

Very interesting information. Thanks for the reply.

Just to bring things back on track a bit though. The issue I'm trying to solve is velocity sensing only. I already have a motion compensated 3 axis IMU which works great. The issue is that even when the helicopter is completely level, that does not guarantee that the helicopter won't be moving. That is, a gust of wind can cause the helicopter to translate in any direction, and the autopilot can still keep the machine level. But what I'd really like to do, is to be able to hover the machine in a single (relatively narrow) spot. So at least one way of looking at it, would be to have some mechanism for sensing velocity of the helicopter relative to the ground. That information could be used as an additional corrective input to the autopilot controller.

A basic GPS is a possible solution. Differential GPS is another solution. Ideally, there would be a nice mechanism that doesn't rely on sattelites to get this information.

Regards,
Joel-
02-01-2007 Over year old.
 
 
Paul_Barsamian
Senior Heliman
Location: Glenview (North Suburban Chicago)

Helitronix,

This is the exact same conversation I have been having with my buddy/biz partner on this.

He wanted to use an IMU to sense motion and nueral networks which get "trained" but as you said, the IMU does not sense attitude, only changes to it as a result of angular acceleration (hence the accelerometers).

This is why I think most units have to use a GPS as well, and I think you actually need a magnetic heading reference, my current high level thinking goes something like this:

Use the IMU to sense movement off current heading and try to compensate, the changes in PWM output based on IMU input is an algorithm I need to develop still. This will happen at a high frequency.

Sense magnetic heading reference,Sense changes in GPS position, based on heading reference make PWM adjustments until you get back to last known good GPS position, ie if you are tilted 10 degrees roll to the right and the heli is moving away from the last GPS position known to be good, then compensate left until you get back to that position. The combination of roll and elevator will have to be done by assumptions based on magnetic heading reference.

Also you need to constantly sense PWM input to see if the pilot is attempting to take over control.

Does this make sense so far to anyone but me or am I nuts?

Son, before you can soar with the eagles you have to learn to sh** with the chickens
02-01-2007 Over year old.
HOMEPAGE  
 
 
Paul_Barsamian
Senior Heliman
Location: Glenview (North Suburban Chicago)

Also if you got something working to hover a machine only using an IMU, I'm really curious to know how.

AFAIK, an IMU just senses changes in acceleration in multiple axis, so if you just use that, how does the system know where level truly is? What if you get the helicopter into a head wind that stops suddenly? How do you ensure you get the heli into a level hover when you are 300 or 400 ft up and can barely see it? If you have the system correct for a wind gust, won't it only correct until the heli stops accelerating along that axis or combination of axis? What if it stops accelerating and is pointing 45 degrees towards the ground?

Son, before you can soar with the eagles you have to learn to sh** with the chickens
02-01-2007 Over year old.
HOMEPAGE  
 
 
Helitronix
Senior Heliman
Location: Marlborough, MA - USA

The IMU that I have outputs both absolute pitch, roll, and yaw angles, as well as the acceleration data in each axis. An accelerometer by itself can be used to determine a "change" i.e. acceleration in a given axis. If you put an accelerometer into a DC mode, it will sense it's angle relative to the gravity vector. But that in and of itself is not enough, because you need to provide motion compensation for the pitch and roll axis. Otherwise, as you move, you impart an acceleration to the accelerometer, which it will interpret as change in its angle of attack relative to the ground.

I developed the electronics and the software to hover the helicopter using this IMU. The issue is that, keeping the helicopter level is not enough to hover in one spot.

Take a look at PID controllers. These are classical controllers that can be used in our auto-pilot systems. PID controllers or their varients are used in our heading hold gyros to maintain heading. Building an auto-pilot based on this technology is the exact same problem. The only difference is that instead of resetting the zero point each time we move the rudder stick, we set the zero point to 0 degrees pitch and 0 degrees roll, and don't generally change it (for hovering). If you want to make the machine move in some direction, you let the transmitter sticks control that zero point. Instead of it being 0 degrees pitch, your stick input could be interpreted as "hold x degrees pitch", or hold "x velocity". There are a variety of ways to do it.

Your high level understanding is correct about how to put the controller together. At the high level, you are making PWM corrections in a given axis. And yes, provided you are allowing a pilot to control the machine to some degree, you need to process pilot inputs and blend them with the autopilot inputs, based on what it is you are trying to actually accomplish.

In my case, I use the TX inputs to set the desired angle of inclination in a given axis. If I'm not touching the sticks, that angle is 0, and the autopilot will make corrections to maintain a 0 degree angle of inclination in that axis.

And now, I want to improve the capabilities by giving it velocity sensing so that I'll know if the helicopter is actually moving. The classical approach is monitoring acceleration, and integrating it to get velocity. And then using GPS to help you make gross level corrections. That's certainly OK - but I'm thinking of making something that doesn't rely on GPS to help out.

Joel-
02-01-2007 Over year old.
 
 
Paul_Barsamian
Senior Heliman
Location: Glenview (North Suburban Chicago)

Interested to know which IMU you are using? Can you share info?

Son, before you can soar with the eagles you have to learn to sh** with the chickens
02-07-2007 Over year old.
HOMEPAGE  
 
 
Helitronix
Senior Heliman
Location: Marlborough, MA - USA

I'm using this: http://www.microstrain.com/3dm-gx1.aspx

Joel-
02-08-2007 Over year old.
 
 
Paul_Barsamian
Senior Heliman
Location: Glenview (North Suburban Chicago)

I was just looking at this one, http://www.analog.com/UploadedFiles...s/ADIS16350.pdf

Not production yet, but an interesting thought,(looking for validation of thinking):

If this unit senses linear acceleration as well as angular, couldn't you sample acceleration in the X and Y axis for a known time, and figure out instantaneous velocity in either axis/vector? My thinking is this, for example if the helicopter has just corrected to stay "level" in a hover but the machine begins to drift sideways perfectly along the X axis, technically it is accelerating in that direction linearly, and you should be able to sense it and use the sampling time <known> to get instantaneous velocity in that direction right? Then you could correct opposite until that acceleration is zero, that won't hold a GPS position like hover, but if you figure out the correct filtering to use for sensing it, you could remove a lot of drift by figuring out you are doing it and counteracting until you stop accelerating in that axis.

I guess that could still drift over time but it sounds more like a function of how you implement the correction and filter. Also, if you could do the math to figure out distance traveled, (acceleration and time are knowns) you could figure out acceleration required to travel an equal (or close to it) distance back.

(assumption that initial velocity is 0, so distance = 1/2*<acceleration>*<time squared> )

The hard part in my mind is tying this to the amount of change you need to input into the cyclic controls to attain the proper acceleration in a given time right?

Thoughts?

Son, before you can soar with the eagles you have to learn to sh** with the chickens
02-08-2007 Over year old.
HOMEPAGE  
 
 
Helitronix
Senior Heliman
Location: Marlborough, MA - USA

Quote 
The hard part in my mind is tying this to the amount of change you need to input into the cyclic controls to attain the proper acceleration in a given time right?


See my note earlier about PID controllers. This is what they are designed for. It's not a trivial device to configure properly, but, it is the right tool for the job.

At one end of the spectrum, you could simply provide a correction that is linearly proportional to the error. But, that doesn't quite get you to the exact spot you want to be. It undershoots and never quite hits the target. But, it gets you in the ball park. On the other end of the spectrum, are more sophisticated controllers that use more than linear correction factors. They pay attention to your historical outputs. They pay attention to the rate of change as a result of the controller outputs. If you build a controller that pays attention to the rate of change based on your input to the system, then you can start to control convergence, and convergence rates. That's where the PID shines.

Quote 
If this unit senses linear acceleration as well as angular, couldn't you sample acceleration in the X and Y axis for a known time, and figure out instantaneous velocity in either axis/vector?

Sure. For a little while. Until enough sampling error accumulates and you build a DC offset. At which point, your acceleration can most certainly be zero, and it can read zero on your sensor. But you can still have a velocity vector that you didn't know about because of your sampling error. So, using the accelerometer by itself gets you part of the way there. And that's why the GPS is typically used to correct the system at frequent intervals. In practice, you'll find that sensors can be very noisy. Sensors don't always output perfect data (ok, they never output perfect data) and your sampling error only compounds that problem.

Joel-
02-10-2007 Over year old.
 
 
CRJBenny
Senior Heliman
Location: Pocatello, ID

Check this company out. From what they claim it would be a pretty good design in terms of what you were looking for.
[url=http://micropilot.com/]

Ben Cardon
03-12-2007 Over year old.
HOMEPAGE  
 
 
wxyz
Senior Heliman
Location: calif*, U know where

Attitude hold is a no brainer. Position hold is a really hard problem. Even with accel + GPS blending, the lag between velocity change, velocity detection, target tilt update, cyclic command, and new tilt is just too long. Suspect a gain scheduled PID controller is required for this. If the copter is a certain distance from the waypoint for a certain time, increase the gains.

This is an attempt at autonomous position hold using accel + GPS blending. It's like watching a drunk UFO.

http://www.youtube.com/watch?v=uCUo3qVFo1M
08-25-2007 Over year old.
 
 
maatvee
New Heliman
Location: Oz

Why not try and create a couple of local VOR type transponders.

say 3 in a triangle around the pilot about 50-100 feet apart.

these can then be used by the heli to calculate its position and altitude.

this way you are free from GPS.

Cheers Mat
09-27-2007 Over year old.
 
 
2 pages [ <<    <    ( 1 )     2     NEXT    >> ]4595 viewsPOST REPLY
CarbonXtreme . Midland Helicopters . HeliProz

.
.
UAV Autonomous Unmanned Aerial Vehicles > Seeking advice on state of the art in velocity sensing
  UPDATE SCREEN   PRINT TOPIC Advertisers 

Subscribe to This Topic

Monday, October 6 - 9:44 pm - Copyright © 2000 - 2008 runryder.com | email | link to rr | runryder needs cookie