Aerodynamics/Physics question: Drag

Caporegime
Joined
18 Oct 2002
Posts
32,696
I want to model a quadrotor helicopter in a simulator. A quadrotor is just a planar helicopter with 4 rotors at the corners, two of which rotate one way and 2 the other.

For the simulator I just have to provide the 4 relative forces at the corners and the main dynamics are handled by ODE.

However, I have to additionally model the atmospheric drag which is not easy.
The basics of drag I understand: a force linear to velocity and surface area opposing the direction of motion. For a solid shape like a cube or sphere this is mostly easy. How does mass come into this equation?

But how do you model the drag caused by the 4 rotors? In some sense there is no drag caused by the rotors as they are creating lift in the vertical direction. But then there is sideways drag?


I am not looking for an uber accurate physics model, but some generalization that is fast to compute.

Any tips most appreciated.
 
D.P. said:
I want to model a quadrotor helicopter in a simulator. A quadrotor is just a planar helicopter with 4 rotors at the corners, two of which rotate one way and 2 the other.

For the simulator I just have to provide the 4 relative forces at the corners and the main dynamics are handled by ODE.

However, I have to additionally model the atmospheric drag which is not easy.
The basics of drag I understand: a force linear to velocity and surface area opposing the direction of motion. For a solid shape like a cube or sphere this is mostly easy. How does mass come into this equation?

But how do you model the drag caused by the 4 rotors? In some sense there is no drag caused by the rotors as they are creating lift in the vertical direction. But then there is sideways drag?


I am not looking for an uber accurate physics model, but some generalization that is fast to compute.

Any tips most appreciated.

If you knew the power output of the motors and the steady state rpm of the rotors then you could calculate the force, since power = rate that work is done againts resisitive forces.
 
Of couse there is drag with the engines providing lift.

There is air resistance on the engines, and the craft itself regardless of its orientation or speed through air.

Even something with no engines falling has a drag coeffient.
 
I am not too worried about calculating the forces. The motors are brushless motors controlled using a novel 1000Hz brushless PWM controller. The lift force has a squared relationship with the RPM of the rotors and linear to surface area, the rotor RPM is more or less linear to the voltage.
For my model this is sufficient.

The quadrotor is also almost completely symmetric horizontally and is more or less planar in shape with centered gravity so the moments of inertia should be pretty basic.

The quadrotor will also fly inside so there is no wind or other such disturbances.

The quadrotor will mostly move in the direction of the normal from the plane, but momentum will cause side-slip and hence side drag.
 
D.P. said:
The quadrotor will also fly inside so there is no wind or other such disturbances.

The quadrotor will mostly move in the direction of the normal from the plane, but momentum will cause side-slip and hence side drag.

Nope.. you've lost me.

We weren't talking about distrubances either, I hadn't thought of them. I was just thinking of the vehicle passing through 'air'.

So it flies horizontally? Momentum horizontally do you mean?

I don't see how'd you'd have any side-slip... :confused:
 
You have 4 rotors that provide lift, situated on the corners of a square/plane. By increasing the lift on 2 side-by-side rotors the platform will tilt and some force will provide lateral motion as well as opposing gravity.

I guess the momentum is another issue: if the rotors returned to equal forces then the platform will return to horizontal but there would still be lateral momentum which would exist until a force opposes it- i.e. drag
 
No, air resistance is your friend.

It'd slow it back down to a hover.

(This again is only in 'air', not factoring real weather conditions)

Edit: Even if your craft was very thin as hit hovered flat on the horizontal, the engines would still provide drag in the air enough to slow it down.
 
Okay, first off at high speeds (or better, at high Reynolds numbers) drag squares with speed. You will only get linear resistance in laminar flow, and that is never going to be the case with a helpcoptor.

Answering your first question about mass: Well the drag force on a given object moving at a given speed is independent of mass - just the interaction of the objects surface with the fluid. Of course mass comes into the equation of motion (F=ma and all that...) but the aerodynamic force on the object is just a function of surface and local fluid properties.

You say you don't want a super-complex model. In that case I suggest you forget about the effect of the rotar. The rotar has a great effect on the nature of the fluid stream which interacts with the body of the coptor. The 'drag' they create is an irrelevant factor - they are in effect using the principle of radial drag to create vertical lift after all.

Look, to keep things simple, why not just try this?

At each of your vertices, when you're constructing the ODE you're going to solve (use RK4 method for small sets of ODEs like this) just add an additional forcing term due to aerodynaic forces. Just create a drag constant, and pass the aerodynamic forces as drag_constant*speed^2. The direction of the drag will be opposing the direction of motion, and it will be applied at the centre of mass.

The value of the drag constant isn't something you can just work out simply by looking at the surface area, as it depends hugely on the shape of the object itself (an aerofoil of given surface area will have much lower drag constant than a sphere of equal SA for example). The best you can do with a simple (ie. real-time) model is to tune this parameter to match reality - look at the way real copters move. To do something more theoretical would take either experiments with scale models, or hundreds of hours on a 3D CFD program like fluent.

This should give you a reasonable physical model of drag, although of course it doesn't take into account how the drag is applied to different parts of the model (which would be the cause of twists and rotations). These would be very complex to model with any kind of realism.


One more thing, if you DO want to model the effect of the rotors somehow, the simplest model would be to add an additional term to the vertical velocity component. Ie, if the copter is travelling at: u = (10, 1.5, 2), then use u' = (10, 1.5-sr, 2) to calculate the speed (and direction of drag). Here, sr represents the speed downwards of the air as it leaves the rotar blades.
 
Last edited:
Thanks, Duff-man, That is excellent. Should be useful.
I definitely don't want a super accurate model because it is not a requirement of the project and the simulation has to run ,many times real-time. (I am evolving controllers for these helicopters, and will want to simulate 5 minutes of real-time into a second or so... I do have access to a 64 core cluster though).
 
SaBBz said:
Duff-Man, do you do physics at Nottingham university by any chance?

Not quite - I'm doing a PhD in the mechanical engineering department at Nottingham uni :) But I did my masters in aeronautical engineering and I've done a lot of fluid mechanics.


D.P. - if you're running a simple rigid body simulation, it should take a fraction of a second to run. The big expense comes when you're solving equations over tens of thousands of nodes, like is the case with continuum models solving PDEs (like in fluids, plastic deformation etc).

Any specific questions or if you want some help with something, feel free to email me (see trust). Computational modelling is my thing.
 
OK, thanks, will bear it in mind. I do have some other simple modelling to do at some point: a model of this http://model.hirobo.co.jp/products/0301-905/index.html

difficulty is the gyroscopic moments of the gyro-stablisation bar, the 90" lag effect of articulation of the lower rotor, etc.Again, doesn't have to be very accurate but somehting that simulates an appoximation of the behaviour would be nice.
 
Duff-Man said:
Not quite - I'm doing a PhD in the mechanical engineering department at Nottingham uni :) But I did my masters in aeronautical engineering and I've done a lot of fluid mechanics.
Ah ok, may well have seen you around then (probably in Coates cafe! :D) - I'm in my final year studying Physics with Theoretical Astrophysics at Notts :)
 
There are loads of methods to empirically calculate the zero lift drag of a bluff-ish body, such as that of an aircraft (fixed wing or helicopter). Is the body of your quadro-thingy nacelle like? If so, its pretty straight forward to calculate the total drag of the body (mainly the drag from the skin friction, interference drag, and pressure drag). I'd suggest having a look at:

Aircraft Design: A Conceptual Approach. Raymer, D.P.: AIAA Educational Series, 1992

Airplane Design, Part VI: Preliminary Calculation of Aerodynamic, Thrust and Power Characteristics. Roskam, J: DAR Corporation, 1990.

You may find that these concentrate on fixed wing but you should be able to apply the same equations to your helicopter thing. A quick google turns up loads of AIAA papers on predicting helicopter fuselage drag.

In terms of the effect of the rotor, the only thing I can suggest that doesn't involve phd level research is applying an additional forcing term, as Duff-Man has suggested. However, its important to note that the drag due to rotor wake turbulence will be significant. Though it won't really be just velocity dependent - it will be dependent on the RPM of the rotors (assuming that by velocity you mean the air speed of the aircraft itself). Where exactly you can get ahold of such an "additional aero factor" I don't really know to be fair, my aerodynamics knowledge is much more suited to low speed applications involving burning rubber and a playboy Italian boss ;)

Remember that by tilting the rotors you will be tilting the overall lift vector for that rotor assembly (which will affect the "drag," or rather the overall horizontal force component).
 
All good points there...

It's true, you could approximate the drag coefficient using a collection of different theoretical approximations. But in reality such estimates are often inaccurate, especially when dealing with such turbulent streams as a helicopter wake. In this case, since the aero forces are being generalised to a single term anyway, it would be easier to just tune the available parameter to fit observations. As long as the force scales properly with velocity it should 'feel' right.

The additional forcing term from the rotors should always be directed along the axis of the propellor, as nickthenorse said. As for calculating this forcing term, breaking down turbulent effects of the rotor on the structire below it is not something you can just estimate. In reality it becomes another unknown. But it will still scale with speed squared, where speed here is the magnitude of the impinging velocity stream (the helicopter speed plus any modification from rotor downflow)
 
Duff-Man said:
The additional forcing term from the rotors should always be directed along the axis of the propellor, as nickthenorse said. As for calculating this forcing term, breaking down turbulent effects of the rotor on the structire below it is not something you can just estimate. In reality it becomes another unknown. But it will still scale with speed squared, where speed here is the magnitude of the impinging velocity stream (the helicopter speed plus any modification from rotor downflow)

Where are you getting this "scale with speed squared" may I ask? I realize he's stated that the lift is linked to the rotor RPM by that function, but the amount of drag /= amount of lift. The local effect of the rotor blades will depend on their rotational speed (ie, main rotor RPM). This velocity will in most cases, assuming the helicopter isn't doing 150 knots, dominate the overall problem. The tips of the rotor on Bell 206 for example typically travel at around 210m/s as opposed to its typical cruise speed of 40m/s.

The effect of the main rotor downwash onto the body will not be a simple correlation with speed - the amount of impingement on the body of the downwash wake and the shape of that wake is dependent on the velocity in a manner unrelated to the relationship between the strength of the turbulence and rotor blade speed. I wouldn't want to hazard a guess at even the power of that function. Remember also that the fact that you have four downwash regions which will interact with each other in a different manner depending on aircraft velocity as well.

Its a stupendously complicated thing to try to break down, I have to say. Unless you have access to some very good experimental data you will not be able to come up with any sort of appropriate approximation that you can simply tack on in an ODE.

Are you at uni D.P.? Turbulence simulations of helicopter flows is something I know my old department (Aero at Imperial College) is very much involved in, but there are very few people brave enough to tackle it.

tl;dr Calculating a reasonably accurate value for the total zero-lift drag is easy and doable (ie, ignoring the spinning blades). The issue is the unsteady effect of the 4 rotor downwash regions. I don't know how to deal with that, but I don't agree its fair to model it simply as a "square of the velocity."

edit: bah, re-reading the original post I gather this is a scale model? in which case calculating the skin friction drag and so on becomes slightly more difficult. All the empirical equations used as a first iteration kind of approximation (like in the literature I referenced to) are based on sensible Re numbers. Your tiny little model will not see sensible Re numbers :p The easiest thing to do to calculate the zero lift drag is to model it in CFD assuming two oncoming velocity vectors - one the free stream and one the combined downwash from the rotors.
 
Last edited:
NicktheNorse said:
Do you control the magnitude of the lift vector using variable RPM or variable blade pitch on this model?

Variable RPM, pitch is fixed. Attitude is changed via differring the RPM on the different rotors.

This is basically what we are building. A lot of the schematics are available online. The key to stable control appears to be special brushless speed controllers that tun at 1Khz- the standard 50Hz controller give major dead-time errors in standard linear control. There have recently been some journal papers detailing stable quadrotor control with simple linear PD controllers. This is what we are building.. http://www.youtube.com/watch?v=Csti6mHZNF4&mode=related&search=

But our project is not concerned with low level control. We are building 20-30 of these equipped with sophisticated sensory systems to operate as a swarm for indoor exploration. This is part of a larger European project: http://www.swarmanoid.org/index.php

I am doing this work for my PhD at EPFL, Switzerland.
 
NicktheNorse said:
Where are you getting this "scale with speed squared" may I ask? I realize he's stated that the lift is linked to the rotor RPM by that function, but the amount of drag /= amount of lift. The local effect of the rotor blades will depend on their rotational speed (ie, main rotor RPM). This velocity will in most cases, assuming the helicopter isn't doing 150 knots, dominate the overall problem. The tips of the rotor on Bell 206 for example typically travel at around 210m/s as opposed to its typical cruise speed of 40m/s.

The effect of the main rotor downwash onto the body will not be a simple correlation with speed - the amount of impingement on the body of the downwash wake and the shape of that wake is dependent on the velocity in a manner unrelated to the relationship between the strength of the turbulence and rotor blade speed. I wouldn't want to hazard a guess at even the power of that function. Remember also that the fact that you have four downwash regions which will interact with each other in a different manner depending on aircraft velocity as well.

Its a stupendously complicated thing to try to break down, I have to say. Unless you have access to some very good experimental data you will not be able to come up with any sort of appropriate approximation that you can simply tack on in an ODE.

Are you at uni D.P.? Turbulence simulations of helicopter flows is something I know my old department (Aero at Imperial College) is very much involved in, but there are very few people brave enough to tackle it.

tl;dr Calculating a reasonably accurate value for the total zero-lift drag is easy and doable (ie, ignoring the spinning blades). The issue is the unsteady effect of the 4 rotor downwash regions. I don't know how to deal with that, but I don't agree its fair to model it simply as a "square of the velocity."

edit: bah, re-reading the original post I gather this is a scale model? in which case calculating the skin friction drag and so on becomes slightly more difficult. All the empirical equations used as a first iteration kind of approximation (like in the literature I referenced to) are based on sensible Re numbers. Your tiny little model will not see sensible Re numbers :p The easiest thing to do to calculate the zero lift drag is to model it in CFD assuming two oncoming velocity vectors - one the free stream and one the combined downwash from the rotors.


This is my fear. Our prior research platform was entirely self-stabilising due to a gyroscopic stabilisation bar which adjusts the pitch of the articulated upper rotor, bringing the craft back to horizontal.

The quadrotor offers much more lift and should be more efficient as well, at the cost of harder control.
 
Looking at that device in the youtuve video has made one thing clear in my mind anyway, stop listening to me :p None of the zero-lift drag stuff I've talked about will help you.
 
Back
Top Bottom