Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

INAV Configurator with Helicopter support #1819

Draft
wants to merge 30 commits into
base: master
Choose a base branch
from

Conversation

Woga65
Copy link

@Woga65 Woga65 commented Sep 1, 2023

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 and others added 25 commits August 7, 2023 16:19
Merge current release 6.1.0 from iNavFlight/inav-configurator
… loading CLI from file and target is variable pitch
…modes, forward AUX3/CH7 internally to THROTTLE.
merge iNavFlight master branch
tabs/firmware_flasher.html Outdated Show resolved Hide resolved
tabs/firmware_flasher.js Outdated Show resolved Hide resolved
tabs/firmware_flasher.js Outdated Show resolved Hide resolved
tabs/receiver.html Outdated Show resolved Hide resolved
tabs/receiver.js Outdated Show resolved Hide resolved
tabs/receiver.js Outdated Show resolved Hide resolved
@Woga65 Woga65 marked this pull request as draft September 1, 2023 11:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants