Hi @javiste! We just finished our call, but wanted to list this out here for others as well.
All the things you listed are definitely good things to look out for and implement. One more thing that will cause the drone to drift is if it hasn't been calibrated for the environment. Lighting and the pattern of the floor, if very different from where it's been calibrated, can cause the drone to drift, especially if you flew the drone elsewhere.
Here's the tutorial about recalibration. Here are the steps, just to clarify.
Insert the battery Hold the drone updside down Press and hold the side button until the drone's arms blink Immediately place the drone on the ground and stand clear for it to take off and run the calibrationOne thing to note, make sure the surface is not too dark or not too glossy/reflective. The optical flow sensor works best on a carpeted surface with a distinct pattern. This will help the calibration process.
We would say expecting a margin of error of about a 2 ft x 2ft square is reasonable, or about 60 x 60 cm. And definitely take into account cumulative error. So because it's using dead reckoning (i.e. doesn't have sensors than can tell where it is positioned in space relative to the room), the more it veers off or changes course during a flight sequence, the larger the error will be further along the sequence.
So we tend to keep our obstacles relatively simple, like a take off pad, 3 hoops, and a landing pad. For more complex courses, we'd recommend mixing portions that are remote controlled, and portions that are autonomous.
Hopefully that's helpful!