OK, here is problem
with my hexacopter, considering the yaw, heading and compass performance:
When calibrated the compasses using live calibration, it
goes successful, but after that the “compass variance” error comes up. Expected
– it is mentioned in the documentation.
Calibrating with the manual method – works, writes the
offsets, requires reboot. At the beginning all is fine, but after a minute or
so, the “Inconsistent compasses” error comes up. Some more attempts to
calibrate lead to one time success with no errors. Then the next problem occurs
– it is difficult to maintain the set yaw and heading. In loiter mode, when
turned to exact north and commanded to go forward, it start drifting towards
west. Backwards drifts towards east. Left – towards south, right – to north. If
I orient it west, these drifts are changed symmetrically. If it is oriented
exactly north west, there are no drifts. So it looks like it is pulled towards
northwest-southeast axis.
I guess, it is the same reason for the yaw problem – it turns
itself by the yaw axis without commanding it. In both directions. Slightly, but
too much for me. Sometimes it turns as much as 15 degrees. When I command it to
turn, it makes it unevenly, and after I release the stick, it turns a bit
further and then stops. Usually it is necessary to command it a bit opposite to
put it in the desired yaw position. And after a while it may turn a bit left or
right.
Made the Compass/Motor test – it shows influence as high as
60% with 15A of current. That is about half the throttle. It doesn’t look
normal I guess … ?
Everything is checked according to manuals and documentation
– motor numbers, propellers’ rotating directions, corresponding output channels
of the Navio. It maintains stable roll and pitch positions, so I guess, the
motor numbers are correct and the PID numbers are acceptable.
I am using a Tarot 680 Pro hexa frame in X-configuration,
modified with 81cm span (axle to axle), 14x5.5 props, the Navio2 board attached
to RPi3 with ArduCopter-hexa 3.4rc1 software. ESC’s are located directly below
the motors for good cooling. Some pictures attached.
Some thoughts:
Is it possible to fly this vehicle with compasses disabled?
Will it use the IMU’s instead to keep current yaw? I guess, that way I can
confirm if the problem is in the compasses or not…
The drifting in loiter mode – is it caused by the erroreous
data from the compass or something else. I am imagining a scenario where the
autopilot tries to maintain current bearing, but when it starts to move and the
GPS shows different heading, it will try to correct.