inav-configurator icon indicating copy to clipboard operation
inav-configurator copied to clipboard

INAV Configurator with Helicopter support

Open Woga65 opened this issue 2 years ago • 0 comments

Intended for use with Heli-Quads, Chinook style Twin-Rotor-Helis and regular Helicopters.

Corresponding pull reguest for the firmware: iNavFlight/inav PR 9271

*_VP - target files are variable pitch while regular target files should behave like regular INAV. The *_VP - target files can also handle regular aircraft, albeit they are intended for use with Collective-Pitch aircraft. The *_VP - targets offer extended RC-Channel remapping to account for the COLLECTIVE + GYRO_GAIN RC-channels.

Latest changes

  • added configurable PID scaling (CLI)
  • added timer usage flags for helicopter (TIM_USE_HC_MOTOR + TIM_USE_HC_SERVO)
  • prevent the use of turtle mode on helicopter-like aircraft
  • ensure throttle is cut on failsafe (helicopter) this might change when RTH + AUTO-LAND are sufficiently tested
  • separated helicopter altitude controller from multirotor altitude controller
  • improvement of RC-channel remapping from the CLI
  • improved the handling of variable-pitch targets in the Configurator
  • NAV-ALTHOLD now confirmed working on (at least the developer's) Collective-Pitch aircraft
  • prevent I-term from winding up on the ground while spinning up the blades
  • reworked on-the-ground detection to ensure stability in the air + calmness on the ground
  • added separate hover settings for NORMAL + IDLE-UP 1 + IDLE-UP 2 flight modes (CLI)
  • added configurable soft spool-up feature (CLI)
  • show the RPM per motor in the configurator's Outputs tab
  • added support for different NAV-ALTHOLD modes (CLI)

Notes

  • to make use of this INAV Configurator, the matching firmware (*_VP targets) is needed (pull request in progress)
  • mixer presets for regular helicopters in progress / coming soon
  • 1500us on the collective-pitch rc-channel should result in a collective-pitch of 0 degrees
  • when using BLheli_s, BLheli_32 or similar ESC, deactivate damped mode / braking and configure soft spool-up in the INAV CLI
  • no pirouette compensation at this point
  • governor in progress / coming soon
  • D-gains should be very low: 1 or 2 (one or two) maximum. To mitigate this, there is a group of CLI variables named pid_scaling_factor_... which allow for PID scaling between 0 and 1 or 2. For the D-gain it is advised to set the scaling factors (for roll/pitch/yaw) to values between 0.1 and 0.05 so you have a finer grained resolution and can use Derivative values between 1 and 15 or 1 and 30 in the PID tuning tab of the configurator
  • the P and D gains should be lowered with rising head-speed, this is what the Gyro-Gain RC-channel is for
  • the Gyro-Gain RC-channel works kind of reversed: 1499 - 0 elevate gains | 1500 gains untouched | 1501 - 2000 lower the gains (more head-speed => higher value of the Gyro-gain RC-channel)
  • the Gyro-Gain and Collective-Pitch RC-channels replace AUX3 and AUX4.
  • CH7/AUX3 channel in the Modes Tab is internally forwarded to the throttle channel, which allows for switching between nav_hc_hover_collective_normal + nav_hc_hover_collective_idleup_1 + nav_hc_hover_collective_idleup_2 with the throttle (= flight-mode) switch. The values stored in the nav_hc_hover_collective_xxx CLI variables are used as a starting point for NAV-ALTHOLD.
  • the soft spool-up time can be configured in the CLI: hc_rotor_spoolup_time (10 = default, 0 = soft spool-up disabled). Active on the ground, disabled in the air to allow for bailing out of an auto rotation.
  • the behaviour of the collective stick during NAV-ALTHOLD can be configured in the CLI: nav_hc_althold_collective_type (STICK | MID_STICK | HOVER).

Woga65 avatar Sep 01 '23 03:09 Woga65