MR60

Calling All Custom Multi-Copter Pilots!

I plan to do what is called a "pull" to made changes to the custom code regarding custom shaped copters.  

This change in code would only impacts irregular shaped quads, hexas, and octas when the pilot specifically opts to go custom versus the default (the standard X or +).  You have a custom quad if the:

o aspect ratio <> 1 (length is different than width).

o rotors are non symmetric around the

   - forward axis (y) going through the center of gravity (CG)

   - sideways axis (x) going through the CG

   - vertical axis (z) going through the CG

o has a front that is more open for a camera

o deviates from the pictures of a a + or X for the quad, hexa, or octa

o this includes ships described as spider, V, H, U, 88--88, C, etc.

o motor spin direction(s) are different than the pictures

o your CG is pushed somewhere else besides the centroid of the motors.

The advantages of going custom is that the motor factors will be tuned to the coordinate/spin system of your copter versus the coordinate/spin system of the regular copter.  They will fly better.  Pilots will probably not notice small deviations nor would they see significantly improved flight times.  Large deviations might be noticed and provide noticeable changes in flight duration.

Please reply with the motor number (the out-pin number on the APM), coordinates of the motor, and rotation direction of each rotor.  For example,

3691049292?profile=original

the owner of this copter would reply (motor number, x, y, CCW/CW):

o 1 (400, 200) CCW 

o 2 (-250, -200) CCW

o 3 (-400, 200), CW

o 4 (250, -200 CW

[note:  no need to tell us your units of measure just so long as you are consistent in measuring; say mm or inches]

Please note:

o The center of gravity of any quad spider or V is not necessarily where the bars cross.  The bars typically cross behind the CG.  .

o The CG is the center of the coordinates or (0,0) where x=0 and y=0

If you decide to participate by replying, the idea is that you will be able to access your custom motor factors without having to compile firmware.  No promises at this point.  First we see what's out there.  But if you do reply, it's far more likely that your design will be implemented in the library.  

If you have any questions or difficulties in doing this, let me know so I can help.

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

Join diydrones

Email me when people reply –

Replies

    • Hi Forrest. Great idea. Sorry this is a bit late...!

      Here are my offsets for a 550 nominal asymmetric frame:

      1      (248, 165)  CCW

      2     (-198,-165)  CCW

      3     (-248, 165)  CW

      4      (198,-165)  CW

      Thanks for the effort.

      Best.DP

  • Hi Forrest.   This is a great idea! 

    I don't know how I missed this thread before.

    I've wondered why ACM never has had a 'custom motor mixer' option ever since I first read the DJI Wookong manual about 2 1/2 years ago.

    The motor mixer allows one to set coefficients for the effect each motor has on Yaw, Pitch & Roll as well as the rotation direction.

    The values would be based on basic trigonometric placement (the mechanical leverage) of the motors and the angle , if any, that the motor tilted.

    I haven't made use of the custom mixer with my A2, so I don't have any practical experience with it, but I believe it would even be possible to set up a motor to function like a tail rotor on traditional heli providing no lift force but only yaw forces.

    The "other guys" configuration utility also has X, Y & Z offsets (measured from CG) for the flight controllers' IMU and the GPS/compass module. Another thing that ACM should have.

    Aside from the things that I just noted, the DJI configuration utility totally sucks compared with ACM / Mission Planner.

    With your spreadsheet magic and some changes to APM+Mission Planner we could have a really handy way of dealing with non-standard configurations.

    • MR60

      Yes.

      What would make it truly easy is to make the pitch, roll, and yaw variables in code changeable constants in MP like so many other variables.  Especially with the Pixhawk, that has the memory and processing power.  Then

      - no more special code and recompiles.

      - the code would support (perfectly, not approximately) nearly every configuration out there (like Stefan's simple V above)

      We are only talking about adding 24 variables (8 x one for pitch, roll, yaw).

  • Forrest, Have you made this change or do you still plan to make it?  I am building a quad using a Flip FPV Pro frame.  After reading all this stuff and looking at the frame, testing its stiffness, I think that I would benefit from configuring it as an H to get the props rotating so that they assist with the yaw.  I also think that this change your propose would help because this frame's aspect ratio is not 1:1.


    Do you plan to add this to Mission Planner? Would this be some sort of beta build? How would I get it?

    • MR60

      We need to get the attention of the development team to make the motor factors variables so that they can appear and be edited in mission planner.

      But, the good news is as long as you keep the shape rectangular, you can make the adjustments to the roll and pitch P(ID) for the same effect.  Normally the two are linked.  Change roll P to .15 and pitch P also changes to .15. There is a check box that you can uncheck.  Then adjust the two individually.  My guess is that you will only have to make the P (not the D or I) different.

      The only problem for a quad comes when you make a trapezoidal shape.

    • Hello,

      Is this possible now in their latests releases?

      Thanks,

      manu

    • MR60

      - Under Config/Tuning

      - Extended Tuning

      - Right below Stabilize Roll P, you will see a check box marked Lock Pitch and Roll Value

      Uncheck that box.  Then tune as required for your rectangular ship.  The Pitch and Roll P values should end up approximately proportional to Mass x Distance^2.  If mass is evenly distributed, then simply D^2 from the hub to the rotors.  But report back as to what you find out.  The working relationships might be different.  We are all learning here.

    • Hi, late reply...

      I am still surprised on how difficult it is in APM to tune the Rate-PID's. I am used to do it with KK, Mwii, CleanFlight, and my own gyro-only KK-based PID code.

      I am missing the HeadinHold feature (ie the I accumulator) Any suggestions on how to achieve this in APM? I am talking Acro mode, not Stabilize.
      This is an old, old, video of a gyro only quad with a "simple" PID loop. So, having a not so square H quad, will not be a problem if PID's are rock solid and at least get the HeadingHold ...

      And again, i am amazed how the other flight boards / firmwares does define custom frames / motor mixes so easily ...

      http://polakiumengineering.org/custom-multiwii-motor-mixes/

    • MR60

      you can count your lucky stars with the APM/Pixhawk

      I looked at the link you provided for MultiWee. the factors for the V and U in the link are not explained correct for yaw and thus the math is not correct.

      - there will be coupling between yaw and roll if the values described are used.

      - the yaw values are not optimal (yaw force does not change with distance)

      In addition, the motor mixes are done the same way in the Pixhawk or APM (with the exception that the math is correct).  So maybe i'm not understanding the question or issue.

    • I know, APM does wonderful things, all i want to say that "simple" is not a word for APM/Pixhawk ?..., 

      Simple ACRO:

      Basic gyro-only-error-PID loop, and a big error accumulator will do wonders.

      If someone can tell me how to get "heading-hold" done in APM?

      like this other example:

      Sorry for my confusing questions.

      First the basics then the details.

      manu

      PS:are you sure  "yaw force does not change with distance" !? Physics are not always intuitive...

      https://youtu.be/cB8GNQuyMPc

This reply was deleted.