Loosing altitude (mavlink manual_control_send)


I’m programming a simple ground station that is controlling my hexacopter (pixhawk connected to raspberry connected to server via 4G dongle). I’m controling it with gamepad connected to phone connected to server.

Everything is done except that I crashed yesterday when I was testing the mavlink manual_control_send(). First it was flying great in loiter mode. No flyaway, no altitude drop. At the end of the day I pushed the pitch forward (~80%) and the copter started to slowly loose altitude, stopped reacting to gamepad control and by the time I switched to RTL via RC it was already close to ground. It crashed and flipped.

I think the raspberry disconnected or shutdown so that’s why the gamepad control stopped. But I don’t know why it continued to loose altitude. Currently FS_GCS_ENABLE is set to 0 (no action)

In the pictures you can see that RC3 value returned to trim and the copter kept loosing altitude. The RC2 pitch also returned to trim (actually little backward) but the copter was still moving forward.

I know my RC trim values are not in the middle range (these are just my RC middle positions). When using manual_control_send() x,y,r is -1000 to 1000 and z is 0 to 1000. I do convert my gamepad stick range to match the RC trim values (for example I call the manual_control_send(target, 15, 162, 539, 75, 0) when all sticks are in middle on gamepad). But maybe if the GCS disconnects something changes regarding manual control?

Log file: http://www.pgcentrum.sk/log-2018-04-12.bin


Hello Marek, I have been analyzing your log and your problem is not a control-link issue. Your copter has bigger problems.

  1. From the voltage it looks like you are using a 5 cell battery. It seems to be
    overloaded/under sized. When your motors spin up for flight you are
    dropping 2.5 volts. That’s too much. This is related to issue 3.
  2. you have a mechanical yaw imbalance. Look at the RCout values. Motors
    1,3,6 are running much lower than motors 2,4,5. 1,3,6 are counter clockwise
    and 2,4,5 are clock wise. It is fighting an inherent rotation. This is usualy
    caused by a motor misalignment. Tube clamp type motor mounts can slip
    and rotate on the arm. Use thread lock on all motor arm attach screws. You
    may have thought a misaligned motor was from the crash, but maybe it
  3. Your copter is under powered. After averaging the 3 high and 3 low motors,
    you are using 81% of you throttle range to hover. This will not work. A good
    quick copter shouldn’t go much over 50% and beyond 70% is unflyable in
    any wind at all.

It is my conclusion that the poor thing just didn’t have the power to fly safely and that couple with fighting the yaw issue, the poor thing just couldn’t stay airborne. If you provide motor size/type, prop size/type, battery, frame and all up weight I would be happy to advise you.