I have found that the local position of stereo camera obtained by telemetry (fstcam@pose section, position_local fields) changes a lot even if drone is not moving at all. By ‘a lot’ I mean that the estimated position is about tens of meters after few minutes. I see this happens both in simulation and in real drone.
I need that position to transform points from a reference with origin in right stereo camera to the NED START reference frame. I cannot use the position_global fields because for my project GPS is not available.
I do not know if it is a bug or I am missing something. Is there any alternative to that telemetry?
Thanks for you reply. I think I found the reason, because I was doing something a bit strange.
When drone is not flying (ground stage) and the service that gets the telemetry is running, but not the custom guidance mode, then the values of telemetry are as expected: not varying.
I found the strange behavior when drone enters in my custom state and runs the custom guidance mode set for that state The problem is that the state is under the ‘flying’ stage but in order to do some tests without flying the drone, I made the transition from ground to my state (instead of from hovering to my state, for example). So the drone is inside ‘flying’ stage but not actually flying, and I guess that was the problem. The result was as shown below:
When I was able to really fly the drone, the result is again as expected:
So I think there is no problem after all. But thanks for the answer anyway!