During the alpha testing phase with the "APM Copter V3" code
i immediately reported to the Dev Team that the Loiter mode was very accurate but is not allowed to fly normally, like with other system as DJI and Mikrokopter, Zero-UAV, etc.
We preferred to make the Loiter mode that would serve to accurately reposition the multirotor, and to help beginners to fly slowly and safely.
An italian friend and developer, Sandro Tognana, collected my challenge and started to develop a flight mode as I wanted, in line with the other famous flight control board.
Another awesome programmer, Julien Dubois, has joined our team and has worked actively to implement the complicated wind compensation.
After several months of development and testing are pleased to present the "Hybrid flight mode", in two words a "flyable Loiter" with wind compensation, the code virtually switches from "Loiter" to "Alt-Hold" and viceversa when you exit and enter a sticks deadband (configurable), considering of course the compensation of the wind, therefore complies with the tuning of your multirotor.
You can configure some parameters but already with the default works perfectly, my video speaks for itself.

This new mode is currently being debugged (in alpha phase), it is therefore not available to the public, of course, will have to go into the hands of APM Copter Dev Team who will decide whether to adopt it in an upcoming release.
The results in my video are great, sorry but the audio is bad because it was very windy today, however, is clearly seen as a "Hybrid" works, is almost perfect.
In the second video by Julien you can see the Hybrid in action vs a "DJI Phantom 2" quad with "Naza 2" inside, imho Hybrid work better than the "GPS Position Hold" of DJI, especially on braking.
The tests were carried out on APM and VR Brain, but of course will work on any board that installs "APM Copter" as PX4 and Pixhawk.
I will keep you updated on the "Hybrid" developments, i'll open a discussion about this with other APM Copter developers to assess any changes in the code.

I want to say thanks to Sandro and Julien for their great work!

Bests, Marco

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • @julien: why my copter little bit glitching (sometime) when I loiter (release stick) in hybrid mode?

  • Bruce don't assign them in mode#1 yet, reserved that to Stabilize flight mode. The idea here is to fly in stabilize  then switch to hybrid later. The reason for that is a little bug found on baro that's why it's not yet advisable to do that. Because taking off in hybrid is uncontrollable yet, this will goes up in the air.

  • Thank you Julien for the through explanation. Please don't take me wrong, no pressure, merely giving an idea to the community. and your choice to stick with the current breaking function is logical. It is still possible to stop the copter manually if needed, but for some reason alt fluctuates almost unpredictably with hard breaking no matter in which mode I think baro issue is not limited to hybrid mode only.

    p.s. I am only familiarizing myself with embedded programming as I only took java and c/c++ back in school and that was several years ago. So making any editions of your code are above my knowledge. 

  • Artem,

    this is a very good suggestion! during the dev, we wondered if it would be interesting to compute a brake_rate more or less hard from the way the stick has been released, that joins your idea :)

    Actually the brake engages only when stick is at neutral position (+/- deadband) and then the brake intensity would have been evaluated from a stick position historic or stick rate.

    Why we've not done it?

    1- Historic means memory to save data or CPU to compute a kind of floating "stick_rate" of 1-2sec... APM is already full, and we've even added a lot of code.

    2- Hybrid is an Alt_hold mode with position_hold (loiter) when no stick input and a smooth transition between alt_hold and loiter. So, no need to program hard brake as it's not the aim of this mode. If the pilot has to stop quickly, he just moves the stick in the reverse direction.

    3- after several tests, we've seen the default brake_rate value (8 +/-1) gives the best flight behaviour, so we've not investigate more this idea.

    4- lack of time

    Maybe if we make a Hybrid V2, this would be an improvement axis but there are many things to do about baro/throttle before... you have the source code and can try to make something if you want ;)

  • Ms . Julie i think is working i see it know on the list and i have assign it to a flight mode #1 . im going outside right know to test it and i willl comeback with my findings ok .

    Thank you so much finally i see the light at the end of the tunel :)

  • 3701661323?profile=original

  • @ Julien, may I offer a suggestion: would be worthy to relate breaking intensity to the stick position on the way back to neutral?  where breaking would be less intensive on the greater stick value and the most at the center line, this way a person could stop a copter as fast as only possible if the stick would be released, while maintaining control over the breaking intensity if needed (by just slightly reducing stick value) to make the stop as smooth as needed. 

  • Bruce,

    I've compiled for you the Arducopter 3.1.1 + Hybrid_flight_mode_beta + disarm fix.


    Here, the link of the .hex file to load into your APM. For others that would like to use this compiled file, it won't work for Pixhawk neither VRBrain, only APM!

    To load it :
    Mission Planner/Initial Setup/Install firmware/Load custom firmware
    and choose this file.

    In Config-Tuning/Full parameter list, you have to assign n°14 to a flight mode configured in your radio (e.g.: FLTMODE2 = 14)

    Hope this helps

    Hybrid flight mode beta. To load it : Mission Planner/Initial Setup/Install firmware/Load custom firmware and choose this file. In Config-Tuning/Ful…
  • Thank you Julien, I will try playing with those parameters when have another flight window (14th is coming). 

    Also, thank you for working on the baro issue, I did notice ~2 meter sagging after the stick release and than a climb (usually with an overshoot). If you can try your code on a tricopter you will most likely see these issues more pronounced than on a quad videos I've see on this thread. 

    if you need this info:

    RCE tricopter 37.5cm arms, auw w/o fpv equipment ~900g,  750kv motors, 3s at the time of trial, 1147 gemfan props.

    PIDs are default w/o any overshoot but also quite agile at least to my liking. 

    Good luck and thank you for your work! 

  • this is what i see in the bottom i dont think it loaded then.

This reply was deleted.