Request UMMU Compatible Helicopter?

Just got around to trying the DLL here -> http://orbiter-forum.com/showthread.php?p=379116&postcount=50 but am finding it crashes when launchMFD is active.

Not sure why? Orbiter or copter crash?

Ok being PMing.

So press K and it will start the animation of the rotors and they will run at a set speed not changing depending on throttle.

Get the samples from DG for this: There are already functions for calcualting lift as a function of AOA area and airspeed.
there are examples in both the ShuttlePB and DG's source code. look for "liftCoef".

AOA but apply a +/- modifire to it based on collective setting.

ues the dimensions of your rotor blades for area.

CreateAirfoil (LIFT_HORIZONTAL, _V(0,0,0), HLiftCoeff, 5, 13.79, 1.5); // vertical stabiliser and body lift and drag components


Not sure what the 5, 13.79 and 1.5 are?
 
sorry, orbiter crash in module launchmfd. Works fine with the module disabled but when enabled and focus is on the SH3 I get a CTD. this is in the latest beta of Orbiter though.
 
OK. I found a GetAOA function. but is there a SetA0A.

looking to do this:
Simplest way to program this would be to say that Rotor AOA equals vessel's AOA -5 deg + (20 deg * collective dummy thruster's throttle setting).
..........................................................................

Should the Collective and Hover thrust level be the same? Or Hover level set at max and collective changes. But what should the collective change. It seems the AOA. Or lift. But what needs to change to increase/decrease lift?
[ame="http://en.wikipedia.org/wiki/Helicopter_flight_controls"]http://en.wikipedia.org/wiki/Helicopter_flight_controls[/ame]
 
Last edited:
Collective is essentially hover. You control how much lift your rotor produces evenly distributed, the cyclic controls vary the lift along the rotor for motion.

On navy helicopters, you can actually see during landing on a ship how collective is used for literally sucking the helicopter against the deck on landing (negative lift), especially during stormy weather with strong waves.
 
So should I reduce the hover so the vessel just take off on full hover and reduce RCS. How about adjusting lift to reflect the Atmospheric pressure?


Here is something I am going to add but need help. Sounds like I need to have the hover aka collective adjust the blade angles. So I did an animation test of a control called COLLECT_ANIM.
Only Blade 2
collect1.jpg

collect2.jpg

then I add Blade 1. look at what happens to blade2
collect3.jpg



ROTORHD is the mast with the part that attaches the blade to it.

Code:
ANIMATIONCOMPONENT_HANDLE parent;

   	static UINT EGrp21[7] = {81,39,122,124,126,128,130};//gear2
    static MGROUP_ROTATE ROTOR (0,EGrp21, 7, _V(  .153387, 2.433525,  3.971697), _V(0,1,0), (float)(-360*RAD));//geardoor2
anim_ROTORHD = CreateAnimation (0); 
parent = AddAnimationComponent (anim_ROTORHD, 0, 1, &ROTOR) ; 

   	static UINT EGrp22[1] = {121};//gear2
    static MGROUP_ROTATE BLADE1 (0,EGrp22, 1, _V( -1.537426, 2.90077,  3.394099), _V(.7,0,.2), (float)(-20*RAD));//geardoor2
anim_BLADE1 = CreateAnimation (0); 
parent = AddAnimationComponent (anim_BLADE1, 0, 1, &BLADE1, parent);

   	static UINT EGrp23[1] = {123};//gear2
    static MGROUP_ROTATE BLADE2 (0,EGrp23, 1, _V(  .1576447, 2.90077,  2.184735), _V(0,0,1), (float)(-20*RAD));//geardoor2
anim_BLADE2 = CreateAnimation (0); 
parent = AddAnimationComponent (anim_BLADE2, 0, 1, &BLADE2, parent);



.....SetAnimation (anim_BLADE1, COLLECT_ANIM);		
SetAnimation (anim_BLADE2, COLLECT_ANIM);
 
Last edited:
So should I reduce the hover so the vessel just take off on full hover and reduce RCS. How about adjusting lift to reflect the Atmospheric pressure?

The best practice in terms of simulating helicopters is using the lift function for each rotor blade and solve for sectors of the disk (Blade theory). This way, you can also get the behavior at increasing speed of the helicopter right.

This means, instead of just one force vector, you have at least three (4 increase accuracy, more isn't needed) reference points spaced evenly along the disc.

Means a lot more calculations, but the behavior is pretty realistic then, with the helicopter starting to fly like a normal aircraft at higher forward speeds.

For simplicity, simply have a function "maximum hoverthrust by altitude", and change direction of the force vector and its reference point slightly for motion (When accelerating forward, move reference a bit backward so the helicopter also pitches down, etc.).
 
For simplicity, simply have a function "maximum hoverthrust by altitude", and change direction of the force vector and its reference point slightly for motion (When accelerating forward, move reference a bit backward so the helicopter also pitches down, etc.).

Thanks.

So a vectored engine. So at neutral (centered) it would be 0,-1,0 and then if forward flight is required then adjust the vector so at max it would be 0,0,1.

I get this information from the keypad still use Rudder,.... But no rcs thrust.



But what about the Altitude? The problem has been I can cut the hover off at 4.5KM but you still climb. I guess till gravity takes over and then the engine engages below 4.5 and then you have to drop til the effects counter gravity.


On the animation. I guess make the whole 5 blades rotate to respond to direction traveled + collective blade change.

Make collective the same as hover control. So as Hover is increase the angle of the individual blade changes.

I think on the animation the parent/child might be of issue.


I also found a mesh for the UH34.
 
I also found a mesh for the UH34.

I like the Mimi's for nostalgia, but if you are going to take any requests, how about the H-65? There's an ancient version (for Orbiter '03) at the 'hangar [ame="http://www.orbithangar.com/searchid.php?ID=662"]Dolphin HH-65A Version2.[/ame]

Or the Skycrane, [ame="http://www.orbithangar.com/searchid.php?ID=2230"]NASA Sikorsky Skycrane[/ame].
 
I saw those. I seriously thought about the Skycrane. Make the cargo crate UCGO and then you could load them and pick them up and drop them where you wanted. You could even load the crate in my cargoship.
 
Skycrane would be a good one, it's another I've used heavily for drop tests, transport and mucking around. I've not used the Dauphin but certainly would if it had been DLL'ed.

ScreenShot055.png
 
Once we get the engine part done the rest should not be hard.

The Dauphin has a DLL. I like that is has dust effect.

What program did you take the screen shot? I noticed the camera controls? on top.
and the box on the left what is it?
 
Once we get the engine part done the rest should not be hard.

The Dauphin has a DLL. I like that is has dust effect.

What program did you take the screen shot?

Printscreen then paste.

I noticed the camera controls? on top.

Thats part of the latest beta for orbiter.

and the box on the left what is it?

Thats Universal Cargo Deck. I use that to stick stuff to the skycrane so I can drop it from a height. In this case I was testing out a parachute addon system.
 
You guys got the Dauphin to work in Orbiter '10? If so, tell me how... Mine shows invisible with no fuel and no ability to fuel or control it. I figured it'd be trouble because it's written for Orbiter '03.

I can see the hangars though...
 
I haven't tried it. No source code included so it would be a fresh start.

On the vector engine. What would be the difference in just having the hover engine lift the copter and use RCS to move the copter?

It was mentioned a negative thrust so it would push down.
 
I did this.
Code:
level12 = GetThrusterGroupLevel (THGROUP_HOVER);


levelup = GetThrusterGroupLevel (THGROUP_ATT_PITCHUP);
leveldown = GetThrusterGroupLevel (THGROUP_ATT_PITCHDOWN);
levelyl = GetThrusterGroupLevel (THGROUP_ATT_YAWLEFT);
levelyr = GetThrusterGroupLevel (THGROUP_ATT_YAWRIGHT);

if (levelup>0) levelup1=(levelup1+.01);
if (leveldown>0) levelup1=(levelup1-.01);

if (levelup1>1) levelup1=(1);

if (levelup1<-1) levelup1=(-1);


if (levelyl>0) levelup2=(levelup2+.01);
if (levelyr>0) levelup2=(levelup2-.01);

if (levelup2>1) levelup2=(1);

if (levelup2<-1) levelup2=(-1);

double costhup = (cos(levelup1));
double sinthup = (sin(levelup1));
//    double sinthup = (sin(levelup)), costhup = (cos(levelup));
 //   double sinthdown = (sin(leveldown)), costhdown = (cos(leveldown));
    double sinthyl = (sin(levelup2)), costhyl = (cos(levelup2));
 //   double sinthyr = (sin(levelyr)), costhyr = (cos(levelyr));

if (levelup1 >0)     SetThrusterDir (th_hover[0], _V(0,sinthup,costhup));
if (levelup1 <0)     SetThrusterDir (th_hover[0], _V(0,-sinthup,costhup));


//if (levelup >0)     SetThrusterDir (th_hover[0], _V(0,sinthup,costhup));
//if (leveldown >0)     SetThrusterDir (th_hover[0], _V(0,-sinthdown,costhdown));
if (levelup2 >0)     SetThrusterDir (th_hover[0], _V(sinthyl,0,costhyl));
if (levelup <0)     SetThrusterDir (th_hover[0], _V(-sinthyl,0,costhyl));

if ((levelup1 ==0) && (levelup2 ==0) && (levelyr ==0))    SetThrusterDir (th_hover[0], _V(0,1,0));

So if pitch up (keypad2) is pressed you get a 1 for the level. It adds .01 to it so holding the key increases the pitch.
Then it takes the sin and cos sin of the angle ( levelup1) and turn the thruster to the direction.

Same thing for the YAW left/right



MAx YAW (1)
coptermax1.jpg



Max pitch up (2 keypad)
coptermax2.jpg



Max pitch down (8 keypad)
coptermax8.jpg


at start no keypad input.
copterlevel.jpg


What is odd is the max cos is .84 and .54

I think it needs more pitch to take off.

Still haven't gotten the atm part as yet.
 
I have aske Urwumpe to look at the code, I still lack the RCS to move the ship rather than the vectored engine.

His response was this:
yes you do in the beginning but thats no problem. but your real downfall is that you tilt the vector only in the last plane unless the angle is perfectly zero. you need to use a two dimensional rotation matrix multiplied by Y-vector so both rotations apply at the same time.

I am working on the Sky Crane. I will add a Winch to the center. I guess I will make it UMMU although there isn't a lot of room.
 
Is there a newer version than "seakingpm.zip" from 24.08.?

When your realistic calculations do work you should really put this to orbithangar. In case of the calculations you shoul try to keep it simple for the first "stable" version and enlarge realism in later version. It would be sad if you got lost in development somewhere deep inside complex formula and the orbiter community would miss the fun to play heli with ummu :)

For an OH release you should avoid to have your directories in the zip, it should start with the level of config, scenario and so on.

If you include the skycrane also you may call your release the heli package :)

I could mention here that I was really looking for some free heli simulations and then widened my search to free simulations generally and that made me find orbiter and so I am here now :cheers:
 
Thanks. Not really any update on the Sea King. I agree with the getting bogged down.

On the skycrane If you download the orginal and use this zip attached. You get a dll version with a winch. Same keys as the Sea King. I converted 1 of the cargo bin to a UCGO Car. And now you can load 6 containers in it and pick it up with the Skycrane. I will need to remove the UCGO part of it. The Ummu part maybe wrong also. Just trying to get the flying part

Sorry about the zip folders. I 'll fix that later.

HoverMFD works great with it.

If you like the flight values. I can update the Sea King. I should be able to do a Dauphin also.
 

Attachments

Great work you're doing here, can't wait to see the finished products.

I should be able to do a Dauphin also.

Looking forward to this one the most. The Dauphin has always been a favorite of mine.
 
Back
Top