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
Comments
my copter says thank you too, the loiter is rock solid,,, again :D but is till can fly if I need to... :) as Marco put it: "flyable loiter"!
Thank you Wolke for the merge with 3.1.2 !
Hi, When will the hybrid mode be available in the rc firmware?
hi,
imo, that makes no sense in this stage of development. please do not understand me wrong. but if i understand marco right, there are some tasks to do on hybrid loiter. my step by step merge description create only a snapshot from current develop stage. also git is really god documented. there a hundreds of git howto sites in www. at least a really cool help site is available on github. i am sure, that all in hybrod-loiter involved people create a howto site for beta testers if its time for testing. i only an impatient but grateful user, who cant wait:).
so if it will help, and you have an build environment on your computer, here is link to an git archive holding arducopter3.1.2 sources with merged hybrid-loter. http://www.popez.org/~wolke/apm-hybrid/ArduCopter-3.1.2+hybrid-loit...
but please hold in mind this is really alpha. configuring and building from source is documented. please read readme's inside the zip or on github.com/dydrones/ardupilot.
/g
wolke
that is really simple with git. i am on linux. here git is available as package. on debian based systems a "apt-get install git" will install it. "apt-get install git-all" install all git packages. but this is not needed. to solve merge conflicts i use "kdiff3" editor. there are many other editors to view diff's. i like kdiff3. here a small step by step instruction. this is my way to perform this. on git there are many other ways possible. i like this. git is a religion, so each way has its advantages and disadvantages.
// clone hybrid-loiter repository
git clone https://github.com/Ju1ien/ArdupilotST-JD.git
//rename Hybrid-Mode branch to your preferred name
git branch Hybrid-Mode -m myHybrid
// re-configure the remote "origin" to be the "Target" repository (diydrones/ardupilot.git)
git remote rm origin
git remote add origin https://github.com/diydrones/ardupilot.git
// pull target repository
git pull
// checkout ArduCopter-3.1.2 ( last stable version )
git checkout ArduCopter-3.1.2
// merge myHybrid
git merge myHybrid
// solve merge conflicts
git mergetool
that's all. i must solve one merge conflict with mergetool and kdiff3. this is a non critical conflict which affect a code comment. hope this will help you.
/g
wolke
Hi Wolke, could you explain how did you accomplish the merge, and which programs did you use. I noticed that both alt hold and loiter on 3.1.2 work much better than on 3.1.1-rc1 which is currently used by hybrid. as a novice Arduino hobbyist I would really appreciate the effort!
hey,
that really looks fabulous, exactly what i have on my apm wish list. i flying mostly for an nature filmmaker.. one task here is to follow animals or people with a fixed distance. often with a zoom objective. if you try this in althold the copter drifts mostly away. and in loiter the commands react to slow and you overshot mostly, because to compensate this delay you will give more input as needed.
today i locally merged Ju1ien/ArdupilotST-JD Hybrid-Mode into diydrones/ardupilot/tree/ArduCopter-3.1.2. runns mostly fine. one conflict with different commands. mergetool solved this. i compile for hexa and apm2.6. so i only configured hexa. all other i leave as default.
upload was fine and apm_planner2 also know the new hybrid-loter. it was possible to configure modes with the flight-modes gui. also mode will correctly displayed in modes widget if mode is dialled. super:). i only a little bit wondering about cpu load. in hybrid loiter it will grow to ~95-97%. is this normal on apm2.6 board? or have i use compiler optimization flag to improve this. and if yes which?
thx for this fabulous work,
wolke
i try to fly today but it was very windy I'm going to try again tomorrow.