Skip to content

Propeller test results #744

@ArisMorgens

Description

@ArisMorgens

Currently, the propeller test turns each motor in a sequence and calculates for each one the combined acceleration variance on X and Y axes, measured by the accelerometer. Then, it checks if the combined variance is inside the acceptable threshold ([0 to 2.5 by default) and decides if the motor/propeller passed or failed the test. If the test is failed, the motor spins again and we get a console print.
e.g. HEALTH: Propeller test on M2 [FAIL]. low: 0.0, high: 2.50, measured: 6.78

It has been observed that in most cases the propeller test fails for all four motors, even though the Crazyflie is able to fly. (see this discussion) This results from these factors:

  1. The default threshold was tuned just for Crazyflie 2.1 and not for Crazyflie 2.1+ or Crazyflie 2.1 Brushless.
  2. The acceleration variance depends on external conditions, such as the surface on which the Crazyflie is placed.

That being said, the current propeller test is not really useful for an absolute measurement of the motor's/propeller's condition. However, it could be used as a relative measurement between the four motors/propellers on the Crazyflie. For example, if the variance of M2 is significantly larger than the others, this probably indicates an issue on the motor M2 or on its propeller.

A possible solution is to update the console outputs so that no [FAIL] messages are printed.
However, using the propeller test for measuring the relative condition of the motors/propellers could be an useful feature for all platforms.
Also, it would be interesting to investigate if there is a better way to measure the condition rather than the acceleration variance on X and Y axes.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions