Ideas for Fly By Wire Autopilots

Topper

Addon Developer
Addon Developer
Donator
Joined
Mar 28, 2008
Messages
671
Reaction score
32
Points
43
Hello,

Because iam planing to rework my ITCS Add-on, i just want to public some ideas of "Fly By Wire" Autopilots to get youre feedback. The ideas are primary for controlling a ship with a joystick. In the first step, only the deltaglieder will be supported good in all modes (i hope).

Rotation modes:
- relativ
orbiter standard. You directly set the power of the thrusters by the angle of the Joystick

- absolute rotation:
You set the rotation speed of the ship by the Joystick. If you release the joystick, the rotationspeed is set to zero an will stop like killrot. If you move youre stick a bit up and hold that position, the ship will rotate in that direction a bit by holding the rotation speed

- arcarde mode:
Control youre ship like in an arcarde helicopter game. You can only rotate to a fixed border. If you try to rotate more, the ship will stop the rotation. It's not possible to crash in this mode, because the hover engines will hold the ship on the same level. With the joystick, you directly set your yaw and pitch. If you move the joystick forward a bit, the ship will rotate in that direction a bit and then it will stop on a specified position ( pitch = joystickangle * factor) If you move the stick fully forward, the ship wil hold a position where the hoverengine can hold the level of altitude, even if you move your stick left by the same time.

All of these modes to here can be controlled by the RCS-System, but also by the main engines for a faster reaction. For example, if you want to rotate up with your nose, you can give thrust to the hoverengine in the front of the ship. If you want to rotate down with your nose, only the both engines on the back underside will burn. Of course, thats not a stable rotation, because at the same time the ship will be accelerated upward, so i have to check if it is easy enogh to use that mode and if it makes sence.

- AOA mode:
Set the AOA by moving the stick forward an backward. If you release the stick, the current angle will be holded. By turning left / right, the roll angle will be set.


Throttle modes (1 slider):
- direct set
Set the thrust of an engine directly. By pressing a button, you can change between forward(main), backward(retro) and upward(hover).

- Set seekrate
You can set a fixed rate between +20 m/s and -20 m/s

Throttle modes (2 slider)
o Modes for the left slider:
- Mainengine only: direct thrust
- Retroengine only: direct thrust
- Main / Retroengine by the same time (50% throttle => All engines cut off): direct thrust

o Modes for the right slider:
- Hoverengine: direct thrust
- Hoverengine: seekrate between +20m/s and -20m/s

o Combined modes:
- Left / Right mainengine: Direct thrust


Do you think it's funny to fly on that ways?
And do you thunk such "Fly By Wire Modes" are usefull if they work fine?
On this time, i have some expirence with my selfmade "ITCS", but it's only for one slider and only for DG-like vessels and it's not supporting all of these modes.
 
nice ideas!

Topper,

Thanks for the post and your brilliant BTC (I use it for rendezvous - with TransX all the time), several comments along the way.
Hello,

Because iam planing to rework my ITCS Add-on, i just want to public some ideas of "Fly By Wire" Autopilots to get youre feedback. The ideas are primary for controlling a ship with a joystick.

Why only joystick? If you do an AP, it will support any control. OTOH, having force feedback on the stick would be awesome.

In the first step, only the deltaglieder will be supported good in all modes (i hope).

Why not make the transfer functions and deadbands user-configurable? This way you would save yourself the hassle of recompiling the DLL any time ship's properties (like moments of inertia or thrust etc.) change.

Rotation modes:
- relativ
orbiter standard. You directly set the power of the thrusters by the angle of the Joystick

Could you please add switches to enable engine gimballing, and air control surface deflection (where available)?

Also would be nice to enable pitch/bank/yaw control separately (e.g. leaving bank to the computer Autopilot).

- absolute rotation:
You set the rotation speed of the ship by the Joystick. If you release the joystick, the rotationspeed is set to zero an will stop like killrot. If you move youre stick a bit up and hold that position, the ship will rotate in that direction a bit by holding the rotation speed

The Space Shuttle CSS has AFAIK both of those modes implemented - IIRC separated by the soft stop.

- arcarde mode:
Control youre ship like in an arcarde helicopter game. You can only rotate to a fixed border. If you try to rotate more, the ship will stop the rotation. It's not possible to crash in this mode, because the hover engines will hold the ship on the same level. With the joystick, you directly set your yaw and pitch. If you move the joystick forward a bit, the ship will rotate in that direction a bit and then it will stop on a specified position ( pitch = joystickangle * factor) If you move the stick fully forward, the ship wil hold a position where the hoverengine can hold the level of altitude, even if you move your stick left by the same time.

Safety limits! That's great to have!

All of these modes to here can be controlled by the RCS-System, but also by the main engines for a faster reaction. For example, if you want to rotate up with your nose, you can give thrust to the hoverengine in the front of the ship. If you want to rotate down with your nose, only the both engines on the back underside will burn. Of course, thats not a stable rotation, because at the same time the ship will be accelerated upward, so i have to check if it is easy enogh to use that mode and if it makes sence.

Use of hovers is a bit problematic am afraid while accelerating the ship, but you could add it as a separate control channel (akin to gimballing main engines, firing RCS and moving ailerons)

- AOA mode:
Set the AOA by moving the stick forward an backward. If you release the stick, the current angle will be holded. By turning left / right, the roll angle will be set.

D'you mean release the button? Forgive my ignorance, how do you programmatically tell that the stick went back to detent all by itself?

Throttle modes (2 slider)
o Modes for the left slider:
- Mainengine only: direct thrust
- Retroengine only: direct thrust
- Main / Retroengine by the same time (50% throttle => All engines cut off): direct thrust

Why would you need to fire main and retro simultaneously?

Another idea: in the current Orbiter, only two modes of RCS thrust are selectable (normal and one tenth of normal). It is sometimes problematic to set say pitch rates that keep the ship in the same LVLH position while orbiting the Earth, hence RCS use is increased beyond need. Having more modes/thrust settings would be much more enjoyable.

Just my 2 eurocents...
 
Topper,
Thanks for the post and your brilliant BTC (I use it for rendezvous - with TransX all the time), several comments along the way.
No Problem it's not only my work :)

Why only joystick? If you do an AP, it will support any control. OTOH, having force feedback on the stick would be awesome.

Ok i will think about it. But in the most modes i descriped it don't make sence to support it by keyboard but i will look what i can do

Why not make the transfer functions and deadbands user-configurable? This way you would save yourself the hassle of recompiling the DLL any time ship's properties (like moments of inertia or thrust etc.) change.
The problem is, that not each ship have hover engines for example. And some ships have no main engine and only hover, the Dragonfly only have RCS. Some ships have air control surface, some not. So it's hard to have a module for each ship, and i will begin with the deltaglieder :)

Could you please add switches to enable engine gimballing, and air control surface deflection (where available)?
It will be possible to switch that modes by MFD-Buttons or Joystick buttons, but no switches inside the vessel because the DG is not my vessel ^^. Air control surface will be activated and deactivated automaticly if there is an atmothphere or not.

Also would be nice to enable pitch/bank/yaw control separately (e.g. leaving bank to the computer Autopilot).
Hmm ok i will think about that

The Space Shuttle CSS has AFAIK both of those modes implemented - IIRC separated by the soft stop.

Safety limits! That's great to have!

Use of hovers is a bit problematic am afraid while accelerating the ship, but you could add it as a separate control channel (akin to gimballing main engines, firing RCS and moving ailerons)
Yep i will check that...

D'you mean release the button? Forgive my ignorance, how do you programmatically tell that the stick went back to detent all by itself?
No, by moving the stick forward, the AOA will increase, by moving it back, it will decrease. I've tested ony my curren't not public version and it's great to use it with AeroBrakeMFD!

Why would you need to fire main and retro simultaneously?
Not simultaneously, you can chose one of these modes for the right slider and one for the left slider ^^

Another idea: in the current Orbiter, only two modes of RCS thrust are selectable (normal and one tenth of normal). It is sometimes problematic to set say pitch rates that keep the ship in the same LVLH position while orbiting the Earth, hence RCS use is increased beyond need. Having more modes/thrust settings would be much more enjoyable.
The problem with each ap is, that it is working only on a time acceleration near 1x, max. 100x. If you are orbiting earth, you will set set ta higher in the most cases.

Wishbone, that was a good feedback thank you! But don't hope that it will be finished very soon because thats much work and my time is limited. But sometimes it's verry funny to code for orbiter :cheers:
 
-

It will be possible to switch that modes by MFD-Buttons or Joystick buttons, but no switches inside the vessel because the DG is not my vessel ^^. Air control surface will be activated and deactivated automaticly if there is an atmothphere or not.

Sometimes we are looking for as much control authority as possible, including thrust vectoring AND ailerons AND RCS - well, things like that come up more often in air combat simulations, but you get the idea.

No, by moving the stick forward, the AOA will increase, by moving it back, it will decrease. I've tested ony my curren't not public version and it's great to use it with AeroBrakeMFD!

Looking at what people do with their XRs and DGs (like getting from the Cape to Ascension - no pun intended - at 15 km/s) can guess that your addon will be very much appreciated.

Not simultaneously, you can chose one of these modes for the right slider and one for the left slider ^^

am being quite dense, sorry.


Wishbone, that was a good feedback thank you! But don't hope that it will be finished very soon because thats much work and my time is limited. But sometimes it's verry funny to code for orbiter :cheers:

It's not a problem, real life takes precedence, I know it myself (do some sim-related coding in my spare time, too)
 
I've just discovered ITCS - awesome!!!

I like the hover engine controls and the absolute rotation functions in particular.

I would second the request for keyboard controls to be supported. The rotation functions in particular.

Keep up the good work!


Flyer
 
Back
Top