Copter will not climb above certain altitude (~30m)

moving this issue here from https://github.com/ArduPilot/ardupilot/issues/7834

copter will not climb above certain altitude (~30 m - cannot tell precisely - see log) in loiter and poshold mode. This is my first time testing with 3.5.5. My geofence is disabled.

If you graph baro or range finder ALT and overlay RCIN channel 3 its visible that despite control at max (~2000) the altitude stays at ~32m.

unrelated issues:

i also observed a drift despite of servos all being at 1500 - primarily in loiter mode, pos hold - unclear
third and fourth attempt at RTL caused a flyaway - had to abort, first and second attempt was fine.
none of these issues were present in 3.5.4

Version
3.5.5

Platform
[ ] All
[ ] AntennaTracker
[X] Copter
[ ] Plane
[ ] Rover
[ ] Submarine

Airframe type
HEX 680mm

Hardware type
pixhawk 2.1

Logs
LOG:
https://drive.google.com/open?id=1VxF3pFrolqr2_Hm77EyynOckogxXSJU6

PARMS:
https://drive.google.com/open?id=1cfPOa6aM1I6JLs91K2trSQdpJNVpTWmG

rmackay9 commented 5 days ago
Thanks for the report although this is not really the place for support. Normally we ask that support requests be put in the forums. Sorry to be strict but if we’re not then the developer to-do list just turns into another support forum. Getting answers to support questions can be difficult but remember that here and in the forums, this is all unpaid volunteer support so you can’t set expectations too high really.

With that aside, I"m pretty sure this is all related to the optical flow sensor and accompanying lidar. It’s not letting the vehicle climb about 32m because it’s using the optical flow for position control but it can only do that if the vehicle stays within the range of the lidar. I suspect if you turn off the optical flow and only use GPS it will be able to climb higher.

It should be possible to use both optical flow and GPS and climb above the optical-flow/range-finders range at which point it should only use the GPS but I haven’t personally tested this much.

Of course you’ve done the optical flow calibration mentioned on the wiki?

As a side note, the changes between Copter-3.5.4 and Copter-3.5.5 are quite small and not in this area of the code so I suspect Copter-3.5.4 would have behaved the same. You could try moving back to 3.5.4 by using MP’s Install Firmware screen’s “Pick previous firmware” link (it goes back one version to 3.5.4) but I don’t think it will help.

The log has a lot of EKF complaints. Some as it switches between the first and second compass, and it’s also complaining about the optical flow a bit I think.

Maybe you can try the above and the next step is for us to talk to Paul Riseborough to see if he can give more info using the logs.

maciek01 commented 5 days ago
Thanks so much. what is the URL for the support forum if you dont mind. I’m happy to move it there
Yes i did all the FLOW calibration as prescribed. Alt climb used to work fine with just LIDAR on one of the prior versions of the software. This is the first time trying to climb higher using FLOW and also the first time when positioning and RTL dont work as well.
Previous 5 flights on prior firmware and the same hardware configuration (lidar+flow) were just perfect in all aspects (except i never tested alt >30m). thansk again.
Minor note auto-tune yielded “floaty” yaw control but its a different issue.

So my question is - what setting to adjust in order to allow copter to climb above LIDARs range limit?

Maciek,

Try turning off the optical flow and turn on the GPS. I think that will do it.

Thanks, yes, it is great as a troubleshooting exercise, but i believe the intent should be to be able to fly unconstrained when outside o sensors range.
In fact i know that this combination works for me from the time before i added the flow on 3.5.4.
Or do you want me to do this specifically as a 3.5.5 test?