## stationary hovering

**Moderators:** gmalivuk, Moderators General, Prelates

### stationary hovering

imagine a flying object, like a square, hovering at 10 cm from the ground.

At it's corner there are 4 turbine, in a perfectly physic world his engine should just provide trust equal to his weight to maintain the object "flat" and stationary.

Now, incline this object, like 4° on one corner.

If we want to return to the object "flat", just multiply at the force of the motor 1 + the cosine of the relative angle, this will maintain the hovering height and the object will return "flat", but not stationary: it will still translate.

To make it stationary i have to incline the object in the opposite corner, but how much to return perfectly on the origin?

pro tip: the object need some reaction time, but any-time you know its angulation, angular velocity and angular acceleration for every axis

At it's corner there are 4 turbine, in a perfectly physic world his engine should just provide trust equal to his weight to maintain the object "flat" and stationary.

Now, incline this object, like 4° on one corner.

If we want to return to the object "flat", just multiply at the force of the motor 1 + the cosine of the relative angle, this will maintain the hovering height and the object will return "flat", but not stationary: it will still translate.

To make it stationary i have to incline the object in the opposite corner, but how much to return perfectly on the origin?

pro tip: the object need some reaction time, but any-time you know its angulation, angular velocity and angular acceleration for every axis

### Re: stationary hovering

So, something like this then?

http://www.youtube.com/watch?v=MvRTALJp8DM

http://www.youtube.com/watch?v=geqip_0Vjec

http://www.youtube.com/watch?v=YBsJwapanWI

Although that's may be a bit more advanced than what you're describing.

http://www.youtube.com/watch?v=MvRTALJp8DM

http://www.youtube.com/watch?v=geqip_0Vjec

http://www.youtube.com/watch?v=YBsJwapanWI

Although that's may be a bit more advanced than what you're describing.

### Re: stationary hovering

yes, that's the idea, but not so advanced...

I've done a 3d testbed using jbullet, using a basic pid work, but i want understand if i can find out the physic formula, for hovering and maybe for "brake"

I've done a 3d testbed using jbullet, using a basic pid work, but i want understand if i can find out the physic formula, for hovering and maybe for "brake"

### Re: stationary hovering

lesto wrote:I've done a 3d testbed using jbullet, using a basic pid work, but i want understand if i can find out the physic formula, for hovering and maybe for "brake"

To rotate you can just "move" force from some rotors to others. Think of it like hovering being the "zero point," and then you just applying a torque relative to zero. Accounting for drag effects may make things more complicated, though. Figuring out how much you'll need to brake can be done with the fact that force * time = change in momentum. That is, if you know the angular momentum of your object and you know the time you want to brake it in, you can calculate the amount of angular force (torque) needed to make it happen.

Of course, for propellers the force can vary with the speed and nearness to obstacles, so that does get a bit complicated. You'd need to actually use the differential form of the equation if you wanted to solve the interesting bits.

Some people tell me I laugh too much. To them I say, "ha ha ha!"

### Re: stationary hovering

lesto wrote:how much to return perfectly on the origin?

I see no feasible way to do this without absolute position feedback.

As for the rest of the question, how advanced is your background in dynamics and in controls? If you have taken a class or two, you should be able to make a model of 1-D lateral motion good enough for preliminary controller design by assuming that the thrust at each rotor is proportional to voltage and ignoring drag.

This signature is Y2K compliant.

Last updated 6/29/108

Last updated 6/29/108

### Re: stationary hovering

jmorgan3 wrote:lesto wrote:how much to return perfectly on the origin?

I see no feasible way to do this without absolute position feedback.

Adaptive state estimation. Even a Kalman filter should suffice.

### Re: stationary hovering

gorcee wrote:Adaptive state estimation. Even a Kalman filter should sufficejmorgan3 wrote:I see no feasible way to do this without absolute position feedback.lesto wrote:how much to return perfectly on the origin?

With only the angular parameters? Wouldn't you need a very good linear accelerometer or a very good model for the system?

This signature is Y2K compliant.

Last updated 6/29/108

Last updated 6/29/108

### Re: stationary hovering

jmorgan3 wrote:gorcee wrote:Adaptive state estimation. Even a Kalman filter should sufficejmorgan3 wrote:I see no feasible way to do this without absolute position feedback.lesto wrote:how much to return perfectly on the origin?

With only the angular parameters? Wouldn't you need a very good linear accelerometer or a very good model for the system?

Presumably you'd also have rotor state information (RPM, torque, or even % max), and it's not that hard* to create linearized lift/thrust models from that. And creating a vehicle dynamics model shouldn't be too terrible.

I mean, for any sort of controls problem, you've got to start with the model. So, modeling vehicle dynamics as a function of position with the rotor thrusts as your inputs is the first step.

*not that hard is a relative term.

### Re: stationary hovering

I have the absolute orientation (take a look at some IMU, i'm not using a kallman but a DCM), AND i know the thrust of the engine/propeller from it's input (actually the input IS the thrust, and yes, it was easy. you just need a scale, a PPM generator, and know hot to find a parabola's equation from 3 point).

but i have to pay attention at the pendulum effect, because of inertia, or better the momentum.

I think i can calculate the momentum of my object, it is simply (radius of the object)*mass*(angular velocity) (the theta angle is always 1)

if this is right, now i just need a function that, given the actual momentum, actual angle and desired angle, tell me the right torque to apply at any given "step" to stop correctly.

i don't know what "If you have taken a class or two" means, i think our school system is too different. never been on university, and my physic skill are really basic, static and dynamic, but age ago. I've tryed with the help of my old book and wikipedia, but i'm here because I've failed

To rotate you can just "move" force from some rotors to others. Think of it like hovering being the "zero point," and then you just applying a torque relative to zero.

but i have to pay attention at the pendulum effect, because of inertia, or better the momentum.

I think i can calculate the momentum of my object, it is simply (radius of the object)*mass*(angular velocity) (the theta angle is always 1)

if this is right, now i just need a function that, given the actual momentum, actual angle and desired angle, tell me the right torque to apply at any given "step" to stop correctly.

As for the rest of the question, how advanced is your background in dynamics and in controls? If you have taken a class or two, you should be able to make a model of 1-D lateral motion good enough for preliminary controller design by assuming that the thrust at each rotor is proportional to voltage and ignoring drag.

i don't know what "If you have taken a class or two" means, i think our school system is too different. never been on university, and my physic skill are really basic, static and dynamic, but age ago. I've tryed with the help of my old book and wikipedia, but i'm here because I've failed

### Re: stationary hovering

lesto wrote:I have the absolute orientation (take a look at some IMU, i'm not using a kallman but a DCM), AND i know the thrust of the engine/propeller from it's input (actually the input IS the thrust, and yes, it was easy. you just need a scale, a PPM generator, and know hot to find a parabola's equation from 3 point).To rotate you can just "move" force from some rotors to others. Think of it like hovering being the "zero point," and then you just applying a torque relative to zero.

but i have to pay attention at the pendulum effect, because of inertia, or better the momentum.

I think i can calculate the momentum of my object, it is simply (radius of the object)*mass*(angular velocity) (the theta angle is always 1)

if this is right, now i just need a function that, given the actual momentum, actual angle and desired angle, tell me the right torque to apply at any given "step" to stop correctly.As for the rest of the question, how advanced is your background in dynamics and in controls? If you have taken a class or two, you should be able to make a model of 1-D lateral motion good enough for preliminary controller design by assuming that the thrust at each rotor is proportional to voltage and ignoring drag.

i don't know what "If you have taken a class or two" means, i think our school system is too different. never been on university, and my physic skill are really basic, static and dynamic, but age ago. I've tryed with the help of my old book and wikipedia, but i'm here because I've failed

No offense, but you're not going to be able to solve this problem without a background in modeling and control.

Your most basic dynamical system is of the form dx/dt = Ax+Bu, where A and B are matrices, x is your state vector, and u is your input vector. What you're looking to do is essentially called "disturbance rejection". It's not really back of the envelope stuff. It's quite math heavy.

You have the basics right: given some attitude and some inputs, how do I modify my inputs to get the desired attitude? But the answer to that question is *very* heavy. I'd recommend looking into the modeling of Linear Time Invariant (LTI) systems as a starting point.

### Re: stationary hovering

no, wait.

you forgot in a perfet physic world, without wind, air resistance and so on. We are talking about a PC simulation.

Think abount my question as a physic examination test.

Then, if it will work, i'll work on "disturbance rejection"

You have the basics right: given some attitude and some inputs, how do I modify my inputs to get the desired attitude?

you forgot in a perfet physic world, without wind, air resistance and so on. We are talking about a PC simulation.

Think abount my question as a physic examination test.

Then, if it will work, i'll work on "disturbance rejection"

### Re: stationary hovering

lesto wrote:no, wait.You have the basics right: given some attitude and some inputs, how do I modify my inputs to get the desired attitude?

you forgot in a perfet physic world, without wind, air resistance and so on.

No I didn't. All of those factors exist in a decent model of the vehicle.

### Re: stationary hovering

All of those factors exist in a decent model of the vehicle.

the physic engine I'm using it's a game engine, so don't bother about it

I just need the formula for a 3d simulation. An 8 bit controller at 16MHz without FPU (the 99% of the controller board out there) cannot handle this calculation fast enough, and I know it will not work in real life.

This is just some good physic exercise, and maybe a simulator (adding some pseudo-random forces like wind)

### Who is online

Users browsing this forum: ijuin and 23 guests