-
Notifications
You must be signed in to change notification settings - Fork 480
The documentation for mixers is bad #868
Comments
@tuloski How DARE You! Only joking, you're right, the docs are horrible. Periodically I have to make modifications to them or use them to answer questions. And it takes me close on a day to work out how it all works ... again. I'm now at the point that I feel that I somewhat understand them - but not enough to rework the docs. Unfortunately I don't know how to fix this. Firstly the files and mixing topic is complicated. Secondly I have never actually created a real mixer ... so I don't know what I don't know. Last of all, there are so many things I can work on, and this is one that scares me. Just on quick scan I'd suggest that the syntax section would be improved by an introduction that listed all the tags and types of mixers with a high level indication of what they are used for. Then in each of the sections a summary of when you use it - e.g. the simple mixer states what it does, but now when/why you use it. Suggestions on how to fix or at least improve welcome. The specific docs are: |
It's not an easy task. I really don't know where I'd start :). For sure I'd add the example in "adding a new frame" into the main docs of mixers, because it's actually the only place where it explains the syntax of mixers (O line, S line, ...). I can point out a few lines where it's really messy and I didn't understand at all the concept, but I feel like it's a useless work if it's going somehow to be revamped. |
At some point yes, but I don't see that anytime soon, so I think it's worth improving the docs. |
I'll try to point a few parts where it's really confusing:
|
@fabrizioschiano IN theory me, but in practise I also need to have a better idea of how these work. I have been improving the docs as I go. But it is a long haul and the effort is costly. I think I finally have a good grip on the identified issues. I'll follow up with the resident expert below and confirm. |
@bkueng Re virtual control groups, the docs say:
I can see from the airframe definition for generic standard vtol it takes a quad mixer on MAIN and a FW mixer on the AUX. I can't see any cases where the control groups are used in mixer files (as you would assume from the above docs). My guess is that the vtol governer uses MC controller for MC mode, FW controller for FW mode, and probably the governor module gets both inputs and decides which to use at a particular time (and possibly now to "fuse" them during transition?). I might further guess that the governor creates does magic with these virtual control groups to choose which real mixer outputs are live at a particular time. However that's all a guess, and it isn't clear whether a normal user can do anything with these, and who needs to know about them. |
Yes we can add something. Notes:
|
@bkueng Can you please check my thinking for the points below:
So firstly, how the different mixer types are used IS defined in the various sections, but it is correct that it isn't clear:
My understanding is that you use:
There are only these three main types, which start a group with R, H, M, Z respectively. The other lines like S
They are both in the simple mixer. We need to link down to that. Possibly pull in some of the example info from the add an airframe doc.
As above, it is generalised for the cases like mc where the relationships of different outputs are related. It isn't where they can't be. Beat, if you can confirm, I can probably make this significantly better with some small changes. |
Yes, you nailed it. Anyone working with mixers does not need to know anything about those - only people working on VTOL code.
Anything of the above is possible - except you need to be careful about VTOL, which makes certain assumptions in the code (but we want to remove those - for now, it's best to just follow an existing VTOL config to avoid running into issues).
Correct, and I think this is also used for the parachute. The rest is also correct. |
Hi @fabrizioschiano how are you? BTW back to the topic I'd like to have a more "scientific" approach to "mixers". Why not making the mixer a simple matrix?! Clean, easy to understand, mathematically correct, generalized for every vehicle.... |
Hey @tuloski , thanks for the answer. What you wrote for me it is clear, a lot of concepts I understand them already but I think that, for the sake of being clear with non-experts, it would be nice to improve their explanation in the documentation. This is what I meant |
I have fixed the specific issues outlined in #868 (comment) in #994 That is not to say that it is perfect, but I think a bit more accessible. Thanks very much for the report. If you want to discuss the whole architecture of the mixers that's not a devguide discussion> That's probably an RFC or separate issue with breakdown of the proposal - that then gets take to the dev call. |
I'll second the sentiment of the OP. In addition, some questions that need to be answered: where is the syntax/acceptable settings for the multirotor "R:" mixer defined? For instance, the "vtol_tailsitter_duo.main.mix" has "R: 2-", and i dont see that in the list. Is "R: 1" an acceptable option? what is required in a mixer file? Do multirotor have to have "R:" mixers or can you use only simple mixers? |
@davidcgregory You're not alone. Perhaps not much consolation, but the docs are much more complete and "understandable" in this area than they used to be. @bkueng Can you confirm
|
The |
Thanks @hamishwillee and @bkueng WRT to R: 1, there are configurations which are not "helicopters" which might have a single rotor (i happen to be building one). Imagine something like the VTOL tail-sitter dual rotor but with only one rotor. This is important to answer I think: |
@bkueng Thank you. So is my guess "3" correct? i.e. that you could in theory create a mixer for a multicopter using simple mixers, but there is lots of code that assumes a multicopter uses the multicopter mixer? |
Yes in theory. There's no code assuming that, but the MC mixer has unsaturation logic that cannot be achieved with simple mixers.
Correct. You could also use a geometry file for a single motor though but it would currently not add any benefit. |
Sorry for being rude, but I tried to read it over and over again, but the documentation suc*s. I tried to experiment with mixers, but I can't figure it out well how they work.
It seems written by someone who knows very well how they works, but not written for people that doens't know how it works.
The text was updated successfully, but these errors were encountered: