Autoquad Motor Mixing Table

r0sewhite

Erfahrener Benutzer
#41
Danke Andi, hab ich mir schon gedacht. Es sind ja keine Raten, die den Copter zappelig machen. Mit niedrigeren Werten sorgt man meiner Ansicht nach nur dafür, dass der Copter in extremen Situationen die Motoren nicht hoch genug fahren kann, um die Lage zu kontollieren.
 
#42
und dennoch find ich´s geil das sich keiner der Entwickler zu den Mischertabellen äußert.
 

r0sewhite

Erfahrener Benutzer
#43
Mich wundert es einfach nur. Ich kann mir nicht recht vorstellen, dass es an mangelnden Kenntnissen liegt, dass sich keiner dazu äußern will.
 
#45
das L1 Tool, ich hab davon gelesen.
Ich bin gespannt was das Tool auswerfen wird.
Immo bin ich soweit das ich bei optimalen Wetterbedingungen ein hammer stabiles Teil habe aber leider noch immer kein Shield (Paul?) um verlässliche Außentests zu machen.

Was auf jeden Fall fix ist, das AQ profitiert immens davon wenn die Motorausgänge exakt den unterschiedlichen Kräften der wirkenden Motoren angepasst werden.
Soll heißen Nick/Roll sollten so nah aneinander liegen wie nur irgend möglich.
Das erklärt auch warum mein Quad "out of the box" so gut fliegt.
 

phynix

Erfahrener Benutzer
#49
Hallo,

ich fange ich mit der Multicopterei gerade erst an (die Bestellung von flyduino ist hoffentlich auf dem Weg ...) - und lese daher die eine oder andere Diskussion interessiert mit. Meine Meinung zum Thema dieser Mischertabellen (wenn ich sie richtig verstanden habe):

Eigentlich sollen sie doch angeben, wie der Controller die Motoren ansteuern muss, um eine gewisse Winkelbeschleunigung zu erreichen (also eine Rotation zu beginnen / abzubremsen). Dies hängt direkt linear mit einem Drehmomnt zusammen, da das Trägheitsmoment des gesammten Copters konstant ist (kann natürlich von Drehachse zu Drehachse variieren). Und das Drehmoment ergibt sich in diesem Falle aus Kraft x Abstand zur Drehachse. Dh wenn ich annehme, dass ich mit jedem Motor den gleichen Beitrag (das gleiche Drehmoment) zu der Änderung der Rotation beitragen will, macht es Sinn, dass die äußeren Motoren eine kleinere Leistungsänderung abbekommen.

Eine solche Einstellung sollte natürlich nebenbei die häufig angeführte Ausfallsicherheit von Motoren z.B. bei einem Octo erheblich unterstützen.

Um eine maximalen Einfluss des Controllers auf die Rotationen des Copters zu erreichen, macht natürlich 100% auf alle Motoren auch Sinn ...

Gruß Sören
 
Zuletzt bearbeitet:

r0sewhite

Erfahrener Benutzer
#50
Hallo Sören,

jep, das Drehmoment ist ein Faktor, den die meisten Mischer nicht beachten. Auf der anderen Seite geht es ja nicht nur um Drehmoment, sondern auch um Wegstrecke. Der außenliegende Motor hat zwar ein geringeres Drehmoment zu bewältigen, hat dafür aber eine längere Wegstrecke zurückzulegen und muss daher stärker beschleunigen.

Rein statisch betrachtet hättest Du Recht, dann müssten die äußeren Motoren einen geringeren Schub erzeugen. Allerdings sorgt die Dynamik dafür, dass man kein konstantes Drehmoment ausüben kann. Je schneller die Drehrate um die zu steuernde Achse ist, desto mehr wird das Drehmoment am äußeren Motor abfallen.
 

phynix

Erfahrener Benutzer
#51
Geändert:

je mehr ich darüber nach denke, desto mehr wird mir bewusst, dass es Sinn machen kann, in diesen Mischertabellen etwas mehr als die einfachen Kräfte zu berücksichtigen. In einigen Fällen mag es auch Sinn machen, z.B. auch den möglichen Regelbereich und das Ansprechverhalten der Motoren mit zu berücksichtigen, um einen stabilen Flug zu ermöglichen.
 
Zuletzt bearbeitet:

Darkmo

Erfahrener Benutzer
#52
Hi Kollegen,
es is nich so, dass wir uns ins Schneckengehäuse zurück gezogen haben!
Wir arbeiten im Hintergrund an einer Lösung: ein Tool, mit dem man jegliche Airframes generieren kann.

Ich hoffe, wir können Euch nächste Woche was anbieten...
Ich weiß zwar nicht ,wie das Tool aussieht .

Es sollte aber anwendungsfreundlich und einfach bedienbar im Hintergrund arbeiten .

Z.B. Erster Schritt Schwerpunkt ermitteln .
Danach alle Motoren in der Draufsicht von der Lage her in X und Y eintragen .Das Tool sollte dann den Rest erledigen,

Dann gibt es ja auch noch Sonderformen :

X-Quad mit V-Tail

oder

Y 4 ,bei dem die vorderen Motoren gegenläufig drehen und die Hintern übereinander gegenläufig drehen.
also ein ein Y6 ohne die unteren vorderen Motoren.
 
Zuletzt bearbeitet:
#53
na wir wollens ja nicht übertreiben.
Mir reicht erst mal wenn ich die Lage der FC zum CG, Anzahl der Motoren und deren Entfernung zur FC rechnen lassen kann.

Ah ja und für AUX 3 noch Blaulicht und Sirene :D heut ist doch Weihnachten.
 
#54
Zitiere mal "Max"aus dem AutoQuadForum:

http://forum.autoquad.org/viewtopic.php?f=31&t=2085

We're talking about flat octos, and you're right, a coax octo would simply be like 2 quad mixes. Just make sure each arm has counter-rotating props.

Coax octo +

Code: Select all
+100.0000 +100.0000 +0.0000 -100.0000
+100.0000 +100.0000 +0.0000 +100.0000
+100.0000 -0.0000 -100.0000 -100.0000
+100.0000 -0.0000 -100.0000 +100.0000
+100.0000 -100.0000 +0.0000 -100.0000
+100.0000 -100.0000 +0.0000 +100.0000
+100.0000 -0.0000 +100.0000 -100.0000
+100.0000 -0.0000 +100.0000 +100.0000



Coax octo X

Code: Select all
+100.0000 +100.0000 +100.0000 -100.0000
+100.0000 +100.0000 +100.0000 +100.0000
+100.0000 +100.0000 -100.0000 -100.0000
+100.0000 +100.0000 -100.0000 +100.0000
+100.0000 -100.0000 -100.0000 -100.0000
+100.0000 -100.0000 -100.0000 +100.0000
+100.0000 -100.0000 +100.0000 -100.0000
+100.0000 -100.0000 +100.0000 +100.0000

Gruss

Andreas
 

amb

Erfahrener Benutzer
#55
so, ich habe mir auch mal mal Gedanken zur Mixing Table gemacht. Und ich habe zwei verschiedene Aussagen bezüglicher eines Mixing-Tables für ein Hexa-+ Setup gefunden:

Autoquad Forum von "Max": Achtung habe die Zeilen so geschreiben, dass man vorne links anfängt!
Code:
        +100.0000   +50.0000  +100.0000  -100.0000
        +100.0000  +100.0000    -0.0000  +100.0000
        +100.0000   +50.0000  -100.0000  -100.0000
        +100.0000   -50.0000  -100.0000  +100.0000
        +100.0000  -100.0000    -0.0000  -100.0000
        +100.0000   -50.0000  +100.0000  +100.0000
und einmal von "Andi" hier im ersten Post:
Code:
        +100.0000   +100.0000  +100.0000  -100.0000
        +100.0000  +75.0000    -0.0000  +100.0000
        +100.0000   +100.0000  -100.0000  -100.0000
        +100.0000   -100.0000  -100.0000  +100.0000
        +100.0000  -75.0000    -0.0000  -100.0000
        +100.0000   -100.0000  +100.0000  +100.0000
sind also erstmal andere Werte. Okay bei beiden stimmt am Ende das Kräftegleichgewicht, da die Spalten sich jeweils auf null addieren.

Was ich noch so grob weiß: actio = reaction. Und bei Multikoptern geht es um das Momentengleichgewicht. Also Kraft mal Hebelarm. Wenn man also beim Hexa-+ bleibt und das Pitchen betrachtet: Dann ist klar, dass die Motoren Vorne und Hinten weniger Kraft brauchen, da der Hebelarm länger ist. Dementsprechend sind in Andis Liste auch nur 75. Das leuchtet mir ein. In der AQ Liste von Max ist nun das genaue Gegenteil der Fall.

Oder gebe ich den Mixingtable nicht die Kraft die ein Motor haben soll an, sondern den Hebelarm welcher einem Motor zur Verfügung steht. Dann wiederum ergibt die Liste von Max Sinn...

Also was sagen die Prozentzahlen bei Roll, Pitch, Yaw: Benötigte Motorkraft oder verfügbarer Hebelarm?

Weiterhin ist mir aufgefallen, dass Max Hexa-x Table und der Mixingtable im Wiki, ebenfalls für ein Hexa-x, unterschiedliche Werte enthalten.

Im Prinzip will ich erstmal eine funktionierende Hexa-+ Tabelle. Und nebenbei wollte ich zwischen zwei unterschiedlichen "offiziellen" Tabellen hinweisen.

Gerade solche Differenzen schrecken natürlich neue User immer wieder ab und das zu recht. Es kann doch nicht so schwer sein, die gängigsten Mixing-Tables von offizieller Seite abzustimmen und dann auf die Homepage als .txt (umbenennen kann ja wohl jeder) zum Download oder zumindest als Eintrag im Wiki einzupflegen.

Es wird hier immer wieder auf Wiki oder aufs AQ-Forum verwiesen. Aber solche Infos findet man da nicht.
Alternative: Das Wiki wird ein echtes Wiki und jeder darf schreiben und verändern. Setzt fleißige Mitschreiber voraus und vor allem noch fleißigere Kontrolleure.

Grüße!
 
Zuletzt bearbeitet:
Erhaltene "Gefällt mir": d3frost
#56
So wie ich das verstehe und wie´s mir Max erklärt hat legt der Wert nicht die Kraft sondern den Weg + Zeit fest.
Das heist die beiden Äußersten müssen bei einer Lageveränderung einen größeren Weg zurücklegen als die weiter innen (zu CG gemessen) liegenden Motoren.

Here's essentially how the current AQ code uses the mixing table data. This calculation is done per motor defined in your mix table:

Code: Select all
value = 0;
value += (throttle_command * d->throttle * 0.01);
value += (pitch_command * d->pitch * 0.01);
value += (roll_command * d->roll * 0.01);
value += (rudd_command * d->yaw * 0.01);
The computed value is the total PWM pulse width (in microseconds) to be sent to the esc/motor (it gets modified some more before final output, but that is irrelevant).
The d->* variables are the values specified in the mix table for that motor (so "d->pitch" is the value from the pitch column for that motor).
The *_command variables (also in microseconds) are the result of all the magic that happens to keep the AQ stable and doing what you command -- this is what the controller has decided would be ideal for that axis. The command value can be positive or negative, depending on the direction of movement desired. The resulting value is always positive.
 

r0sewhite

Erfahrener Benutzer
#58
Also ich hab den X8 Mixer mit 100% auf Pitch und Roll ganz kurz ausprobiert und für fürchterlich empfunden. Letztendlich sind zwar die prozentualen Werte einfach wieder mit den PID-Controllern auszugleichen, doch mit 50% auf Pitch und Roll liegt man mit den Default PIDs schon relativ nah an einem guten Ergebnis, während man mit den 100%-Werten erstmal (zumindest in meinem Fall) meilenweit davon entfernt ist und einen extrem wobbelnden Copter hat.

Nachdem ich in den letzten Wochen einige Mischer-Verhältnisse beim Flat Octo ebenso wie beim X8 ausprobiert habe, komme ich zu dem Schluss, dass die gute alte Weisheit des prozentualen Entfernungsverhältnisses vom Mittelpunkt, wie es DJI und MultiWii auch verwenden, zum saubersten Ergebnis kommt. Höhere Werte machen eigentlich keinen Sinn, denn sie müssen nur umständlich wieder durch verringerte PID-Werte gedrosselt werden. Eine potentielle Ausnahme können möglicherweise extrem schwach motorisierte Copter sein, doch da wir hier nur auf Pitch und Roll etwas mehr rausholen können, bleibt die Frage, ob das wirklich sinnvoll ist.


EDIT: Ein anschauliches Beispiel ist z.B. mein Test-X8, der mit über 3kg Abfluggewicht und MT3506 an 4S mit Xoar 12x5 nicht sonderlich übermotorisiert ist. Das zeigt sich in einem Throttle Factor von 5.525. Dennoch hat der Copter auf Pitch und Roll übersteuert, so dass ich Tilt Angle P und selbst Tilt Rate D ein gutes Stück zurückschrauben musste.
 
Zuletzt bearbeitet:

sandmen

Erfahrener Benutzer
#59
EDIT: Ein anschauliches Beispiel ist z.B. mein Test-X8, der mit über 3kg Abfluggewicht und MT3506 an 4S mit Xoar 12x5 nicht sonderlich übermotorisiert ist. Das zeigt sich in einem Throttle Factor von 5.525. Dennoch hat der Copter auf Pitch und Roll übersteuert, so dass ich Tilt Angle P und selbst Tilt Rate D ein gutes Stück zurückschrauben musste.
Ich denke da ist ein Typo drin bei deinem Throttle factor, andernfalls ist der bestimmt falsch.
 
FPV1

Banggood

Oben Unten