APM2 stabilizing a bi-copter

Hi all

I have had a look over the pages at the APM2 and have seen the various setups you can select for it but what I was wondering although it is not listed would it be able to somehow stabilize a bi-copter or will there be a software release soon that will be able to cope with this....

If not I may have to look at modifying my bi-copter to a tri-copter.....


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

Join diydrones

Email me when people reply –


  • The initial merge is done and checked into my fork of the github.

    Now I'll have to wait for hardware to test changes.  I haven't heard anything from Rob, but I'm hoping someone else is paying attention and is willing to take a look at the changes and provide some feedback.

    Anyway, that's all for now.. 

  • Just some notes:

    - Started with a "known good" code base. It's forked into my git account.


    - Successfully compiled and uploaded to my APM using the Arduino IDE after updating the .conf file based on another post I found.

    -- http://dev.ardupilot.com/wiki/building-ardupilot-with-arduino-windows/

    - Downloaded the Atmel studio and the Visual Micro plugin

    -- http://www.visualmicro.com/post/2013/05/02/APM-Installation-Guide.aspx

    -- http://www.visualmicro.com/post/2011/10/04/How-to-test-a-new-instal...

    - Compiled the code:

    -- http://dev.ardupilot.com/wiki/building-ardupilot-apm-with-visual-st...

    -----  Compiling 'ArduCopter' for 'Arduino Mega 2560 HAL (Apm 2)'
    ----- Binary sketch size: 248,624 bytes (used 96% of a 258,048 byte maximum) (155.08 secs)

    At this point, I'm going to start merging the 'old' code into my code base.

  • I pulled Rob's code base and I've been having a look.  The Arducopter baseline has migrated a bit since, but it looks like you guys made some good progress.  I'm still trying to come up to speed on everything, but at this point I am cautiously optimistic that I can at least get back to where yall left off. 

    I'll try to bump this thread periodically in hopes of reviving the bicopter efforts and providing updates to those that are interested.  I'm not a huge fan of the arduino IDE, and I prefer to work in a Linux environment, but I'll stay with what's there for now.  

    I ordered the frame and based on a couple of Francisc's posts, I'm planning to go with some Turnigy Multistar 4822-690's  along with 30A hobbywing platinums ESCs that I have...  I'm leaning towards going with 4S batteries.

    Anyway..  Reply to this thread if you're interested.  

  • Anyone still working this?

    I saw this


    today and literally started drooling.  

    I am a SW developer by trade, but I am completely unfamiliar with the APM code base.  I'll read through the thread, but I bumped it in hopes that someone else will want to play along...

  • Hey guys ;)

    I have a question if this is still active here.

    I see you changed the source code of the arducopter and add some terms, but can you say how you handle it, that the ardupilot choose the code of the bicopter instead of the normal copter or quadcopter? At which function can i find the command to "choose" the bicopter-mode?

    Greets from germany


    • Search for 

      define FRAME_CONFIG

      in APM_config.h

      and use 


      Verify if you have AP_MotorsBi.cpp and AP_MotorsBi.h

      I am not continuing this project any more, Could not stabilise the bird.

  • Hi Robert, i'm back in business with new ESCs and 4S batteries. Now I have enough power.

    I noticed a strange behavior of the two servos. The amplitude of their movement is right, I mean ~ +/- 45 degrees until the throttle stick is at minimum. They follow the balance of the tail. When I move the throttle stick in any position the amplitude of servo movement is much smaller ~ +/- 15 degrees.

    Same behavior if motors armed or not. It's obvious that the servos do not follow the balance of the tale.

    Can you help me out with this?



  • Robert, The output of ch_1 and ch_2 (motors) is limited to ~1800. Where can I find the parameter which does this limitation?

    I need at least 1900 for liftoff. Maybee 100 is enough for stabilisation.   

  • Robert, I made two short videos (uploaded to Dropbox). It's a run without APM, only Rx with a PWM mixer to drive the two motors at low speed, <.200rpm. The takoff speed is ~270rpm. Try to observe the wobbling of the frame. I focused in the zone where the APM will be located. The frequency will be max 5 Hz (300rpm) with max throttle. The question is: can APM handle this kind of low frequency wobbling just by tuning PIDs? Yesterday my first conclusion was that APM "amplifies" the wobbling.

  • Robert, please do not missunderstand my intentions. The ideea is not to push you. I am happy that now I have the library and I can make some tests and maybe some small "contributions". I try to transmit as much information as I can about those tests. Writing these fiew lines also help me to fix somehow my ideeas. 

    Today I added yaw mixing and is working (new video in Dropbox). Also I modified some factors (yaw and pitch) for my servo configuration and added some comments. The servos are mounted rotated by 180deg. This is the reason I need differential movement for pitch and same direction movement for yaw. (In the future the comments must be adapted to the BiCopter).

    I put the APM on the bird. I have very large amplitude wobbling (2-3Hz). APM is fixed with elastic rings and the frame is elastic too. Tried to lower Stabilise Roll P from 4.5 to 1 and Rate Roll P from 0.175 to 0.05, almost nothing changed maybee the frequency decreased a littlebit. 



This reply was deleted.