Space Engineers

Space Engineers

151 ratings
Heli Assist
2
   
Award
Favorite
Favorited
Unfavorite
Tags: autopilot
File Size
Posted
Updated
754.981 KB
14 Jul, 2019 @ 7:00am
26 Dec, 2022 @ 6:28pm
12 Change Notes ( view )

Subscribe to download
Heli Assist

Description
Heli-Assist is available on Github[github.com]. All verified bugs are listed on the GitHub issue tracker, so please check there before posting a bug report.

What is Heli-Assist?
Heli-Assist is a programmable block script-based flight control system specifically designed to pilot helicopter-like terrestrial aircraft. Heli-Assist was inspired by (and shares code with) Flight Assist by NayoSmith. Heli-Assist allows terrestrial craft with only a single axis of thrust to move in any cardinal direction using the WASD keys and dampen any lateral/inertial motion.

How does it work?
Heli-Assist works by pitching and rolling the craft according to natural gravity to achieve both forward and lateral motion, similar to a real helicopter. By pitching down, the downward thrust shifts backwards, propelling the craft forward. Pitching up does the inverse, as does rolling left and right propel the craft right and left, respectively.

Installation
  1. Create a group labeled 'heli assist' (or whatever you have configured the Heli-Assist group to be called) containing the gyroscopes, thrusters and cockpits you wish to use with Heli-Assist.
  2. Load the Heli-Assist script into a programmable block.
  3. (optionally) Configure the Heli-Assist config as described in the configuration section.
Usage
Once installed, Heli-Assist will align the craft with natural gravity. Using the WASD keys will, , result in the craft pitching and rolling in the appropriate direction as to result in forwarding or lateral motion. Additionally, it will regulate thrust accordingly to maintain altitude.

Using the mouse or up down left and right keys will orientate the craft accordingly in addition to any pitch or roll already applied to move. Activation of the inertial dampeners will result in the craft pitching and rolling in the appropriate direction to slow the craft.

Flight Modes
For ease of use, Heli-Assist provides different flight modes for multiple situations.
  • Flight mode will make the craft behave as described above and is activated by running the program with the argument 'flight'. The 'toggle_flight' argument will toggle between flight mode and manual mode.

  • Landing mode behaves almost identically to flight mode, except that the maximum pitch and roll (and thereby rate of acceleration) will be reduced to allow for more precise movement. Additionally, the inertial dampeners will automatically activate. Landing mode is activated by running the program with the argument 'landing'. The 'toggle_landing' argument will toggle between landing mode and flight mode.

  • Manual mode will disable the WASD keys and inertial dampening affecting pitch and roll but will still regulate thrust in order to maintain altitude. Manual mode is useful for aiming at targets or ignoring the limits of Heli-Assist's other flight modes, without the Heli-Assist automatically correcting. Manual mode is activated by running the program with the argument 'manual'. The 'toggle_manual' argument will toggle between manual mode and flight mode.

  • Standby mode will cause Heli-Assist to relinquish control of all gyroscopes and thrusters, allowing the pilot or another script to control them. It is helpful for switching between different craft configurations (such as shifting from hovering configuration to a high-speed configuration like a modern VTOL aircraft such as a harrier) or allowing for another script such as Vector Thrust to take control. Standby mode is activated by running the program with the argument 'standby'. The 'toggle_standby' argument will toggle between standby mode and flight mode.

  • Shutdown mode will power off all thrusters and gyroscopes associated with Heli-Assist. Shutdown mode is activated by running the program with the argument 'shutdown'. The 'toggle_shutdown' argument will toggle between shutdown mode and flight mode.
Parameters
Heli-Assist provides multiple flight parameters in addition to its modes for customizability.
  • The Precision Aim parameter can be used in flight, landing and manual mode, reducing the sensitivity of the mouse/joystick to make aiming easier. It is toggled on/off by running the program with the 'toggle_precision' argument.

  • The Lateral Override parameter can be used in flight and landing mode and overrides inertial dampening on the lateral axis, meaning that disabling the inertial dampeners will only disable forward and backwards dampening, to make cruising easier. It is toggled on/off by running the program with the 'toggle_lateral_override' argument ('toggle_lateral_dampening' does the same and is retained for compatibility reasons).
Configuration
Heli Assist is configured by editing the Custom Data of the programmable block and is automatically generated on first use.
  • block_group_name - This allows for the setting of a custom group name for blocks associated with Heli Assist. By default, it is 'Heli Assist' (without quotes).

  • start_mode - This sets the mode that Heli Assist will be in when it is first started, as described above. By default is 'flight'.

  • remember_mode - This setting determines whether Heli Assist should attempt to remember the mode it was last in when the script is restarted. By default, it is 'true'.

  • max_pitch - This sets the maximum allowed pitch in degrees for both the WASD keys and the motion dampeners. By default, it is 45.

  • max_roll - This sets the maximum allowed roll in degrees for both the WASD keys and the motion dampeners. By default, it is 45.

  • max_landing_pitch - This sets the maximum allowed pitch in degrees for both the WASD keys and the motion dampeners while in landing mode. By default, it is 10.

  • max_landing_roll - This sets the maximum allowed roll in degrees for both the WASD keys and the motion dampeners while in landing mode. By default, it is 10.

  • precision - This sets the reduction in movement from gyroscopes when in precision aim mode. By default, it is 16.

  • mouse_speed - This sets the mouse sensitivity in all modes. By default, it is 10.
Change Log
v1.15
  • Fixed a bug where craft would gradually drift up due to incorrect craft mass being used.
v1.14
  • Fixed a bug where high pitch and roll config settings would cause craft to pitch and roll indefinitely.
  • Fixed a bug where script config is not auto-generated when left blank.
  • Added mouse sensitivity setting to config.
v1.13
  • Fixed a bug that prevented lateral dampening override from working.
  • Added proportional dampening to inertial dampening.
  • Changed lateral dampening to lateral override for less ambiguity
  • Updated readme.
v1.12:
  • Fixed a bug where control seats facing specific directions would make craft uncontrollable.
v1.11:
  • Added automatic detection of new gyroscopes, thrusters and cockpits, updating every 10 seconds.
  • Fixed a bug where specific gyroscope configurations would make craft uncontrollable.
v1.10:
  • Added precision aim.
  • Added lateral only dampening.
  • Added standby mode.
  • Changed landing mode so it will no longer force the use of dampeners.
v1.01:
  • Fixed a bug where gyroscopes would fail to respond when placed in specific directions.

Popular Discussions View All (2)
15
25 May @ 7:45am
Bug Reporting
Computermatronic
8
26 May, 2023 @ 6:36am
Improvements/Suggestions
Computermatronic
55 Comments
Grebanton1234 28 Jun @ 4:08pm 
Hey there, may I use your script for the current research bunker competition? I think legally I have to ask you for permission because I think by submitting the build I give Keen the right to use it how they want to.
ArrIvvA 19 May @ 9:24pm 
is there opinion to show mode on screen?
Nyxborne 9 Oct, 2024 @ 9:24am 
Whenever I load the script, I'm getting an error that says:
"Error: Failed to Read Config: Expected
section definition on line1"

Does anyone know how to fix this?
Wayupinu 31 Aug, 2024 @ 4:38pm 
All my craft seem to drift down at varying speeds. Any ideas? Ive grouped all thrusters, removed all mods etc.
MARHWIN 16 Jul, 2024 @ 9:30am 
@Computermatronic

Hiya,
Props on the mod. I wondering if you could make it better at simulation the helicopter flight model and physics. I got few feature sugestions formated below. If you decide to start on I'll be happy to help with testing and with helicopter magic explaining.

1. Alternate control keybinds with roll being changed from Q/E to mouse left/right and yaw taking the Q/E keys.
This feels out of place because MOUSE controls pitch and yaw and Q/E does the roll, in rotorwing craft the cyclic stick (the mouse) operates both pitch and roll and, foot pedals (Q/E keys) work the yaw. This is further weird because yaw losses effectiveness as the forward speed increase.

2. When X forward speed is reached, helicopter rotates its nose to the direction of the movement and should follow the rolling input.
When the certain airspeed over the fuselage is reached the drag wins and adjusts the nose to the flight direction. Helicopters are just giant weathervanes in that regard.
MARHWIN 16 Jul, 2024 @ 9:30am 
3. Replace vanilla 0/1 throttle input with progressive throttle control like with the collective stick.
4. Flight mode should counteract way slower (like 5 or 8 times, maybe more) when pitching down from the hover position.
5. Flight mode should lose it's corrective strenght as the speed increases and eventually lose it compeletly at cruising speed.
6. Flight mode should allow to lose some alltitude when pitching up and down.



Also I've have issue / found bug when I used it on my helicopter build. PB says this, second line is in yellow:

Error: Failed to Read Config: Expected
section definition on line1
Volg 24 May, 2024 @ 12:28am 
any chance we can get an auto land command? Basically it will just land the ship as gently as possible, wherever it is hovering. Then we can set an action that says if no pilot is in the seat auto land. Or trigger it via the new signal blocks etc.
Morbitz 8 Apr, 2024 @ 9:06am 
I just started to mess with this... and I am impressed... a combination of simplicity and finesse. Thank You
Lokkart-37 9 Jan, 2024 @ 1:21pm 
This is awesome. I have crashed several chopper by now and with this script the movement is intuitiv!
Dankeschön!
Hickel 4 Jan, 2024 @ 7:43am 
Does this script have a mode of hovering on a point, with no gyro control?
Either I'm dumb and didn't find it, or it really doesn't exist