First I would like to thank you for the work that contributing orbit mode. It is a great feature.
Week ago I started to test the Orbit mode, but no luck so far. My drone setup:
Airframe: Generic-Quad-X, 450
FCU: MindPX V2
Firmware: PX4 V1.9.0-beta3
The quad can fly Goto mode and Mission mode quite flawlessly.
When I command ‘orbit mode’ from QGC, the quad behaves pretty much the same every time: it first fly a straight line to get onto the planned orbit, and then looks like start orbiting but slowly descend down itself to the ground.
Below is the flight log from one of the test flights. In this flight the quad automatically climb up and return to home after descend from the orbit and almost touching the ground, but I am not quite sure what triggered this return to home fail-safe.
Do i still need any precedence setup to orbiting successfully? Do you think anything I may miss?
I also attached the flight video so you can have a direct impression on what’s happening.
I checked the v1.9 change list, the orbit mode is not listed. However check into the source code the logic did present.
So I am confused is orbit mode supported in V1.9 or not? Is it suppose to work?
Sorry for the delay of my answer!!
Orbit is in PX4 since last year and supported from stable release 1.9 on. See the third point of the changelog:
The reason for your drone descending during orbit is that it’s commanded to do so by remote control (RC) signal. You seem to have an RC or Joystick (Could be the virtual Joytick in QGC) connected and it sends 0 (lowest value) on the throttle channel hence the drone thinks you want to descend.
Orbit is a hybrid flight mode that flyes automatically but lets you adjust the circle using your RC sticks, for details about how it works see https://docs.px4.io/master/en/flight_modes/orbit.html
The failsafe that brought your drone into “Return to Launch” mode short RTL was triggered by the same RC or Joystick suddenly being lost for longer than a certain timeout period.
It was then regained but the drone assumes you lost control over the vehicle. If you would have sent it another command like pause, switching to hold or commanding another orbit, it would have executed it again.
So in summary you need to check what your remote or joystick or virtual joystick is doing and maybe disable it if it’s undesired.
I hope this still helped and if you have further questions feel free to post them.
thank you @MaEtUgR, for the detailed information.
I will give another test flight and feed you back with results.
On the topic you might also be interested in improvements after 1.9: