Skip to content

Refloat 1.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 14 Jun 10:11
· 41 commits to main since this release

Refloat 1.0.0 is based on Float 1.3 and brings the following new features and fixes:

Features

  • Separate Mahony KP configuration between package and firmware

    Mahony KP configuration is now separate between the App Config (firmware) and the Refloat Config (package). The App Config IMU Mahony KP is now used for "true pitch", meaning a standard KP of less than 1 is required. (Float used Mahony KP of 0.2, here 0.4 is used, as it seems to work better)

    To make the transition seamless and to ensure no misconfiguration happens, Refloat will set the following values in App Config - IMU if it detects Mahony KP greater than 1 being configured there:

    • Mahony KP: 0.4
    • Mahony KI: 0
    • Accelerometer Confidence Decay: 0.1

    You don't need to do anything when transitioning from Float package, but you can check the values are as described after installation.

    A new Refloat Config item Accelerometer Confidence Decay has been added to the package, which is used for the Refloat balance filter.

  • Separate Axis KP

    The Mahony KP configuration item is now called Pitch KP and controls only the pitch axis. A new configuration option, Roll KP, is introduced, which controls the roll axis. This way the KP can be configured for each axis separately, which improves the way the board handles in turns and in a significant way improves the balance profile.

    Technical explanation: High Mahony KP works very well for balancing, but it is only desirable on the pitch axis. The mellow response of high KP has unwanted effects on the roll axis, because when the board rotates in yaw (when turning), roll becomes pitch. The board leads into a turn angled in roll (more pronounced on roundier tires), and this angle translates into pitch and lingers there for an amount of time determined by the KP, causing the nose to be down for a time, until it balances back up.

    Lower roll KP makes the nose hold up better in turns. It makes the board more stable and "stiffer", especially in short carves. This means the Turn Tilt feature may be less needed and may respond more aggressively.

    The Yaw KP parameter seems to have very little effect on anything, it is included for completeness and experimentation for now. It may be removed in the future if it proves to not be useful. Recommended value is inbetween Pitch KP and Roll KP to not make the model unnecessarily imbalanced.

  • Beautiful new full-featured GUI

  • Advanced LED lighting control

    LED lighting control for front/rear/status strips with configurable animations and smooth transitions.

    Runs in its own thread (meaning it won't disrupt the control loop) at 30 FPS. Consumes about 1% CPU.

  • Allow negative ATR Speed Boost

    Ported from Float package 2.0.

  • Changes to default configuration values:

    • Pitch/Roll Axis Fault Cutoff 60° instead of 90°.
    • Pitch/Roll Fault Delay 250ms instead of 1s.
    • ADC1/2 Switch Voltage 2.0V instead of 3.0V.
    • Half Switch Fault Delay 200erpm instead of 300erpm.
    • Startup Pitch Axis Angle Tolerance 4° instead of 5°.
    • Startup Centering Speed 30°/sec instead of 60°/sec.
    • ATR Threshold Angle Up/Down 1.5° instead of 0.5°.
    • Pushback Return To Level Speed 1°/sec instead of 5°/sec.
  • Set default Turn Tiltback Strength to 0

    The feature is less needed with Triple KP and the user should set it only if they feel they need to.

  • Set ATR Uphill/Downlhill Strength default to 0

    ATR is an advanced feature, which is not always smooth. Users should only set it up when they decide they want it.

  • LCM Support and Float-like lights control

    The LCM support is ported from the Float package and Refloat supports the same commands to control the lights from 3rd party apps.

    The concepts used for light controls in Float don't really fit with the Refloat way of managing lights, though. For Refloat's VESC-native LEDs the 3rd party app controls will not work (VESC tool can be used to control the lights).

    For configuration of the LCM module, the three brightness values that Float uses for lights control are mapped to the following Refloat options:

    • Headlights Brightness
    • Front Brightness
    • Status Brightness (Headlights On)
    • Status Brightness (Headlights Off)

    The following two LEDs options can be used to control whether the LEDs are on and whether the Headlights or Idle brightness is used:

    • LEDs On
    • Headlights On

    The rest of the options is ignored for the External Module LEDs.

  • Allow turning Flywheel off via the app button even when running.

Fixes

  • Remove undocumented 0.8 multiplier for handpress ADC activation.
  • Remove undocumented non-trivial current limits based on the decimal digits of the following options: Motor Current Max, Motor Current Max Break, Absolute Maximum Current
  • Fix choppy braking while freespinning in handtest mode.
  • Fix applying the Motor Current Max Brake to the acceleration current while going in reverse (battery forward).
  • Fix Runtime Tune applying Break Tilt Strength 0 (very small) instead of disabling the feature completely.
  • Fix resetting runtime tune to defaults by a 3rd party app command (not related to the Read Default Settings in VESC Tool) correctly applying ATR Filter and Break Tilt Strength/Lingering. (This feature still doesn't correctly reset all parameters.)