SmartCopilot bugfix 3.1.3

SmartCopilot 3.1.3 fixes an error where the Slave’s angular position synchronisation was not precise enough, leading to the small jitter issues. The bug introduced in version 3 now is fixed, and angular synchronisation works like in version 2.

Also, we fixed the “Enhanced Slave smoothness” option, which lacked enough tuning possibilities and rarely worked as expected. Here we give it another try. Config file creator should enable smoothness in the config file by setting ENHANCED_SLAVE_SMOOTHNESS = 1. In this mode, SmartCopilot uses position controller to move the Slave in the desired position. It is a “soft” positioning mode, meaning Slave doesn’t follow 100% the same path as a Master. This mode should prevent all kind of jitters and fix other synchronisation issues, like broken doppler effect with some aircraft’s.

The new mode exposes now new tuning constants:

  • SMOOTHNESS_POS_KP – proportional gain for a position (default 0.5)
  • SMOOTHNESS_POS_KD – derivative gain for position (default 2.0)
  • SMOOTHNESS_ATT_KP – proportional gain for angular position (default 140.0)
  • SMOOTHNESS_ATT_KD – derivative gain for angular position (default 9.0)

If the constants are not defined in the config file, SmartCopilot uses default values, which is a compromise for the tested aircraft’s. Config file creator could tune the values: by increasing the proportional gain, the Slave will follow the Master more precisely. However, a high proportional gain can lead to position oscillations. These oscillations could be damped by increasing the derivative part of the controller. On the other hand, high derivative gain leads to slow Slave control responses, especially evident if the Slave has aircraft control. 

While using enhanced slave smoothness option, the Slave’s position can have some differences to the Master’s position. It can be dangerous on the ground, leading to the Slave’s crashes, tires blew, etc. To prevent this kind of issues, config file creator can disable “soft” synchronisation mode on the ground by setting DISABLE_SMOOTHNESS_ON_GROUND = 1

To disable the new mode globally, no matter what settings are in the config file, the user could disable it in the UI (enabled by default).

We continue to work on the new config file format and in-plugin config file delivery. Stay tuned!