Baro Code Änderungen

FireN

trägt sonst keine Brille!
Nochmal die Übersicht der Baromodi von Roberto, da es mir viel zu unübersichtlich wurde ^^ (Zu finden unter TX-related in der config.h)

Barologic 1:


Wenn der Gasknüppel ausserhalb der "ALT_HOLD_THROTTLE_NEUTRAL_ZONE" (Stdwert:40 ca. +/- 2 Rasten) bewegt wird, wird Althold ausgeschaltet und die Bewegungsgeschwindigkeit des Gasknüppels registriert. Wenn Ruhe am Gasknüppel eingekehrt ist, wird nach einer Zeit "AltHoldBlindTime" (Stdwert: 0.8 Sek) Althold wieder eingeschaltet. Neben der neuen Höhe und des Gaswertes wird auch eine neue Neutralzone für den Gasknüppel definiert. Diese Werte sind in der config.h zugänglich. Die Standardwerte stellen eher Obergrenzen dar. Eine Reduktion von "ALT_HOLD_THROTTLE_NEUTRAL_ZONE" auf z.B 20 und von AltHoldBlindTime auf z.B 500000 (0,5 Sek) kann durchaus angenehmer sein. Unter 0,3 Sek sollte m.E eher kontraproduktiv sein - müsste man mal testen.

Barologic 2:

Sobald Althold eingeschaltet wird, wird die Höhe mit den eingestellten altPids gehalten, die Gasknüppelstellung wird für 1sec ignoriert, ab dann ist die Gasknüppelmitte (definiert durch "MIDRC", sollte man nicht ändern) der neue Referenzpunkt. Wird der Gasknüppel aus der definierten neutral Zone (ALT_HOLD_THROTTLE_NEUTRAL_ZONE steht auf 80) um die Mitte herum herausbewegt, erfolgt ein Steigen oder Sinken. Dabei werden die Werte immer auf die Neutralzone bezogen, d.h. z.B nach Verlassen der Neutralzone nach oben ergibt es z.B einen Wert von +1, d.h. egal wie Ihr die Neutralzone einstellt, es kann nach ihrem Verlassen keine sprunghaften Änderungen geben.
Beim Ausschalten des Altholdmodus wird ohne Übergang direkt wieder die herkömmliche Gassteuerung aktiv!

Starten im Altholdmodus:
Nur mit voreingestellten Alt PIDs ratsam, sonst kommt er nicht richtig, oder zu gut vom Boden weg!
Wenn man z.B mit den üblichen Stickbewegungen die Motoren scharf schaltet, steht das Gas natürlich ganz unten, d.h. es würde eine neue Sollhöhe weit unterhalb des Bodens bestimmt und wenn man dann starten wollte mit dem Gasstick über Mitte, würde erstmal nichts passieren, weil er dabei ist, die stark negative Sollhöhe wieder nach oben zu zählen. Damit das NICHT passiert wird bei der unteren Gasstick position (definiert durch MINTHROTTLE) nicht die Sollhöhe nach unten verschoben. Natürlich kann man das austricksen, indem man im Stand den Gasstick über die untere Position hinaus bewegt, dann wird tatsächlich die Sollhöhe nach unten gezählt (max -21474 KM !). Baro aus/anschalten resettet natürlich die Sollhöhe.

Landen im Altholdmodus:
Kein Problem, nur muss man aufpassen, dass nach man nach erfolgreicher Landung den Gasstick direkt ganz nach unten zieht. Damit zählt er zum einen die Sollhöhe nicht mehr herunter und zum anderen führt ein versehentliches Ausschalten der Barofunktion nicht zu einem ungewollten Starterlebnis (je nach Stickposition). Wenn man jetzt mit der gleichen Akkuladung weiterfliegen möchte, ist es sinnvoll den Baro kurz aus und wieder einzuschalten damit die Sollhöhe wieder zurückgesetzt wird.


Barologic 3:

Weiterhin wird nach Baroeinschalten die Gasstickmitte zur Referenz. Die Höhe wird sofort gehalten, allerdings wird erst eine Höhenänderung mit dem Gasknüppel nach Erreichen der Mittelposition möglich. Die 1-Sekundenlösung ist weg. Im Gegensatz zur Vorversion wird jetzt mit dem Gasknüppel nicht mehr die Sollhöhe verstellt, sondern nach Überschreiten der Neutralzone (Anmerk: von "80" auf "50" reduziert) einfach, stumpf und kontinuierlich mehr oder weniger Gas gegeben. Das ist nicht so elegant, hat aber mehrere Vorteile: 1. Kürzer 2. Regelprobleme durch eine Gasnachführung können nicht auftreten. (EDIT: Anmerk: Da das Gas, und nicht die Höhe verstellt wird.)

Ich hoffe ich hab die richtigen Angaben kopiert... :rolleyes:

MfG

FireN
 

FireN

trägt sonst keine Brille!
Jedoch habe ich dazu n paar Fragen.
Welche ist jetzt die sicherste/genauste/langsamste variante? Will mich da vorsichtig rantasten...
und wie sieht es aus wenn mein Realgas bei Knüppelmitte den copter nicht zum schweben, sondern zum sinken oder steigen bringt? hält der dann trotzdem höhe bei mittelgas und regelt selbst nach?
Und Frage Nummer 3, hab bei meinem gas-stick eine raste, wegen fläche und hab mich schön dran gewöhnt...sollte man die besser bei nem copter gegen die bremse "austauschen" oder macht das nicht soo viel unterschied?


Blick da bei allem noch nicht so total durch ^^
 

martinez

Erfahrener Benutzer
Hallo Rob,

ich habe eben die "MultiWii_2_1_NewBaroPIDVario4LastBeta" mit mein Bumblebee getestet.
Funktioniert!!! :D

Ich bin bis jetzt nur im Barologic3 mit AccBaroLPF 50 geflogen. In den nächsten Tagen werde ich mal versuchen den AccBaroLPF weiter zu senken, mal sehen ab wann es Probleme gibt.

Ich habe meine PID Werte aus der NazaStylTest2 übernommen. Klappt.
Hast du eigentlich noch etwas zur NazaStylTest2 bzgl. des Höhehaltens optimiert / geändert?

Was mir noch nicht so ganz gefällt:
Die Höhe zu ändern ist bei meinen Copter noch nicht so der Hit, das geht noch zu schnell und endet zu abrupt mit Überschwingen.
Wenn ich im Barologic3 steige und die gewünschte Höhe erreiche (Trottle-Stick wieder auf Mitte) sackt der Copter immer 1 - 2 Meter durch. Ich denke das liegt einfach daran, dass die neue Höhe sofort wenn der Trottle-Stick wieder auf Mitte ist gespeichert wird, der Copter aber noch ein Meter steigt, dadurch nimmt er relativ viel Gas weg, sinkt dann unter die Zielhöhe um wieder mit mehr Gas die Zielhöhe einzunehmen.
Wenn man ohne Baromodus fliegt macht man es ja eigentlich so, mehr Gas zum steigen, Zielhöhe ist fast erreicht -> langsam weniger Gas bis die Höhe wieder konstant ist.
Mir ist klar das der Copter nicht ahnen kann wann er meine gewünschte Zielhöhe erreicht, vielleicht wäre es aber möglich nach dem Steigen den Copter erst einmal nicht sinken zu lassen, sondern nur soweit das Gas wegnehmen bis er wieder die Höhe hält.
Diese neue Höhe wird dann wieder als neue Höhe gespeichert.
Klar wäre dass der Copter immer leicht Höher als gewünscht ist, es würde aber kein Überschwingen mehr zu stande kommen.

Ist das bei anderen auch so?
Oder steigt meiner einfach noch zu schnell?


Nur so am Rande:
Irgendwie hatte ich auch am Anfang leichte Problem den passenden Teil " TX-related " in der Config zu finden... :)


Alles im Allen! SUPER ARBEIT Roberto!!!! VIELEN DANK!

Viele Grüße
Martinez
 

Roberto

Erfahrener Benutzer
@Martinez:

Hast du eigentlich noch etwas zur NazaStylTest2 bzgl. des Höhehaltens optimiert / geändert?
Ja, die Kernroutine ist geändert, und hoffentlich dadurch in der Genauigkeit optimiert.


Die Höhe zu ändern ist bei meinen Copter noch nicht so der Hit, das geht noch zu schnell und endet zu abrupt mit Überschwingen.
Ich bin grad nochmal die Barologic3 geflogen.
Grundsätzlich ist der Modus3 deutlich ruppiger als der Modus2. Dicke Überschwinger traten jetzt bei mir nicht auf, wird sehr wahrscheinlich bei Dir am lpf liegen (vermutl. zu hoch). Nimm am Besten den Modus2, der läuft eigentlich butterweich. Wenn Deiner plötzlich nicht mehr herunter kommen will, ist das Barostandgas zu hoch http://fpv-community.de/showthread.php?14199-Baro-Code-%C4nderungen&p=218491&viewfull=1#post218491 .



@FireN:
Danke für Deine Zusammenstellung! Grundsätzlich stimmt das schon. Diese 1 Sek bis zum Zentrieren ist weg. Beim Einschalten von Barologic 2&3 wird gewartet, bis die mittlere Neutralzone erreicht wurde, egal wie lange der Pilot dafür braucht. Starten und Landen im Baromodus ist möglich, aber nicht zu empfehlen. Wenn mein Gaui mal aufknallt, macht ihm das nichts, aber teurere Kopter würde ich in 2m Höhe wieder auf Normalflug umschalten. Das "Austricksen" mit falschen Sollhöhen ist auch abgestellt. Der Programmablauf ist eigentlich sehr solide. An den Parametern muss man noch etwas feilen/Erfahrungen sammeln.


Es wird Zeit für die Anleitung.


LG
Rob
 
Habe gestern in mein Micriwiicopter die MultiWii_2_1_NewBaroPIDVario4LastBeta Barologic1 getestet.
Ich sage nur :cool: Endlich habe ich wieder einen Frisbeecopter:D
Funzzt auf anhieb.
Das plötzlich heftige Gas geben das ihn ihn gern gegen die Zimmerdecke klatschen lässtwenn man den Throtlestick vorsichtig hoch schiebt ist draussen geschätzte 3-5m Höhenänderung. Er gibt kurz stark gas und steht dann wie angenagelt in siener neuen Höhe.
Ich fnds klasse, auf jeden fall um längen besser als die original Barogeschichte.
 

Roberto

Erfahrener Benutzer
Danke, Basti für Deinen Test.
Aktuell überarbeite ich die Barologic1. Die Barologic3 taugt in meinen Augen einfach nichts gegenüber der Barologic2. Ich glaube, in der nächsten Final schmeisse ich die Barologic3 raus, das war und wird eher vergebene Liebesmüh.

LG
Rob
 
Ich hatte gestern auch mal ein wenig Zeit und hab Baromode1 getestet.
Läuft bei mir mit Standarteinstellungen sehr Stabil.
Allerdings hatten wir gestern sehr starken Wind und ich hab dann abgebrochen.
Heute sieht das Wetter besser aus und ich werde mal den Baromode2 testen.

Eine Frage hab ich noch mal. ACC ist für jeden Baromode nötig oder gibt es auch einen Mode ohne ACC?

Gruß Ingo
 

Roberto

Erfahrener Benutzer
@Scotch
Der Baromode funktioniert nur in Verbindung mit dem ACC. D.h. eine Multiwii mit nur Gyro und Baro funktioniert nicht mehr. Die Barowerte werden hauptsächlich zum Ausgleich der auflaufenden ACC Fehler verwendet. Die Verschiedenen Modi beziehen sich nur auf die Ansteuerung durch den Piloten. Die reine Altholdgeschichte ist in allen Fällen gleich. Der Baromodus funktioniert im Acro und Levelmodus.
LG
Rob
 
Moin,
ich hab heute mal Baromode2 geflogen.
Der erste versuch war nicht so doll :eek: Hatte mein Minthrottle etwas zu hoch eingestellt.
Beim Einschalten vom Baro ist er dann gleich gestiegen und hat die Äste eines in der nähe stehenden Baum berührt.:eek:

Der zweite versuch war dann schon besser.
Mit den Default Werten wird die Höhe sehr gut gehalten. Auch das Steigen und Sinken funktioniert schön sanft.

Dann hab ich heute noch GPS getestet. in Verbindung mit Dem Baro steht der Copter sehr schön in der Luft.
Die Windverhältnisse waren sehr mäßig heute. Leider war der Akku von meiner Cam recht schnell alle und ich konnte kein
Video machen. Werde ich aber noch nachholen.
Jetzt muss ich bei Paul erst mal neue Latten ordern. Beim zweiten Absturz hat es dann zwei Latten gekostet und ich hab nur
noch eine als Ersatz.

Wäre es eigentlich möglich, den ACC nur auf die Z Achse zu begrenzen, bzw. Wenn ACC ausgeschaltet ist, trotzdem ACC-Z auszulesen?

[EDIT]
Jetzt weiß ich warum er so komisch reagiert hat beim ersten start.
Es war doch Baromod1 und nicht 2 :eek: hab ich wohl die falsche Config drauf gespielt.

Gruß Ingo
 

Roberto

Erfahrener Benutzer
Hi Scotch!
Danke für Deinen Testbericht!
Nicht starten im Baromodus! Baro in der Luft zuschalten und abschalten. Einstellungsflüge ohne Hindernisse in unmittelbarer Nähe!
Wäre es eigentlich möglich, den ACC nur auf die Z Achse zu begrenzen, bzw. Wenn ACC ausgeschaltet ist, trotzdem ACC-Z auszulesen?
Das Accelerometer wird permanent ausgewertet, egal ob man nun auch im level modus fliegt oder nicht! Wenn man in den Levelmodus schaltet, wird diese Information auch zum "gradeziehen" verwendet. Sobald Dein ACC in der config.h definiert ist, hast Du keine Möglichkeit es im Flug auszuschalten!
Die Baroroutine liesst immer alle 3 Achsen des ACC aus und bezieht sie auf die Lotrechte. Bei genau horizontal stehendem Copter ist das tatsächlich die reine Acc-Z Komponente.

EDIT:
@JinGei:
DAS wollt ich auch mal wissen, ok... nun weiß ichs
Ein Höhenverlust wird natürlich auch im Acromodus mit "Gasgeben" beantwortet zusammen mit dem Winkelausgleich. Kritische Flugsituationen habe ich damit nicht geschafft. Ich habe immer eine Probehecke, die ich im Baromodus mit gut speed anfliege und dann nur den Pitch nach hinten ziehe, durch Baro und Winkelausgleich geht er quasi "voll in die Eisen" - finde ich megageil.

P.s.: Ich habe heute am ursprünglichen Modus (Baromode1) gebastelt mit gemischten Ergebnissen. Aktuell finde ich es besser den Modus so zu lassen mit ehrlichem "Durchsacken" als mit zusätzlicher Automatik, das ist im Flug besser kalkulierbar.

LG
Rob
 

helste

Erfahrener Benutzer
Eben wieder 2 Akkus mit dem Multiwii. Beim 1. mit Standardeinstellungen für Baro. Sehr gut. Abweichungen von der Höhe: deutlich weniger als +/-0,5m.
Habe dann beim 2. Akku P für Baro auf 8 runter gesetzt. Da pendelt er etwas. Nicht wirklich schlimm, aber mit 10 war es eindeutig besser. Werde also wieder auf 10 gehen und es so lassen.
Ich bin rundum zufrieden mit dem Baromodus 1. Werde die anderen deshalb gar nicht ausprobieren. Der Nachteil, dass man dann beim Abschalten des Baros aufpassen muss, dass er nicht runter fällt, weil zu wenig Gas, ist nicht so schlimm. Ich weiß ja, dass ich darauf achten muss und kann da sofort eingreifen. Der Kopter fällt da nicht mal 1m, ehe ich gegen steuere.
 

Roberto

Erfahrener Benutzer
@Helste:
Werde die anderen deshalb gar nicht ausprobieren. Der Nachteil, dass man dann beim Abschalten des Baros aufpassen muss, dass er nicht runter fällt, weil zu wenig Gas, ist nicht so schlimm. Ich weiß ja, dass ich darauf achten muss und kann da sofort eingreifen. Der Kopter fällt da nicht mal 1m, ehe ich gegen steuere.
Genau! Das ist berechenbar. Während des Fluges im Baromodus wird das initiale Gas durch die Baroautomatik angehoben, wenn man jetzt nach unten steuert, muss man erst noch die Neutralzone durchbrechen, d.h. im Nettoeffekt hat man initiales Gas minus Neutralzone minus dem bisherigen Regelungsaufschlag. Am einfachsten kann man das Durchsacken verhindern, wenn man die Neutralzone nach oben durchbricht und dann nach unten steuert (Neutralzone wird ja sofort aufgehoben) oder dann den Baro ausschaltet. Ich habe eine Automatik ausprobiert, die diese Differenz bestimmt und das bislang anliegende Gas der tatsächlichen Stickposition anpasst. Das führt dann allerdings zur Verwirrung am Gasstick, weil man eine gewisse Zeit nicht mehr weiss was los ist. Dann lieber "brutalo".

LG
Rob
 

helste

Erfahrener Benutzer
Also ich mache das ganz entspannt so, dass ich einfach den Baro ausschalte und dann den Kopter mit dem Gashebel abfange. Beim Abschalten mit dem linken Zeigefinger habe ich den linken Daumen am Gashebel. Ist also eine Sache von Sekundenbruchteilen.
 

HongKong-Pfui

Antivibration-Master
Hallo Zusammen, das liest ja alles total spannend.

@ Roberto: Vielen Dank dafür

Ich will mich auch mit Test einbringen. Baro und zudem dann auch in Kombi mit GPS. Bisher war ich reiner Old School flieger nur mit ACC. Ich habe Das MultiWii Mega Board und GPS funktioniert. jetzt habe ich mal Robertos Sketch drauf und wollte Baro2 testen. Ist folgende Einstellung bzw. entfernen der "//" korrekt?

/**************************************************************************************/
/*********************** TX-related **************************/
/**************************************************************************************/

/* introduce a deadband around the stick center
Must be greater than zero, comment if you dont want a deadband on roll, pitch and yaw */
//#define DEADBAND 10

/* AltHold Common Variables. Note: When in Baromode YOU CAN NOT DISARM/ARM MOTORS OR TURN OFF REGULATION COMPLETELY
THAT IS WHY YOU CAN DEFINE MinThrbaro and MaxThrbaro */

#define ALT_HOLD_THROTTLE_NEUTRAL_ZONE 50 // This is default uncomment to change

#define MaxThrbaro (MAXTHROTTLE-50) // This is default uncomment to change
#define MinThrbaro (MINTHROTTLE+10) // This is default uncomment to change

//#define Barologic1 // Defines Old Style This is default
//#define AltHoldBlindTime 800000 // This is default uncomment to change

#define Barologic2 // Defines Althold relative to Throttlemiddleposition. Logic: Change targethight. For Safety: Do NOT land in this mode
#define Barologic2SpeedNROMAL // Normal is default
//#define Barologic2SpeedFASTER
//#define Barologic2SpeedFASTEST

//#define Barologic3 // Defines Althold relative to Throttlemiddleposition. Logic: Change Throttle. For Safety: Do NOT land in this mode
//#define Barologic3SpeedNROMAL // Normal is default
//#define Barologic3SpeedFASTER
//#define Barologic3SpeedFASTEST

/* AccBaroLPF off per default. Use at least AccBaroLPF 75 (75%) when you use MPU without "MPU6050 Low pass filter setting"
Possible values: 0% up to 100% (strongest filter+delay), values probably useful >50%. Good combination for MPU seems to be: MPU6050_LPF_42HZ and AccBaroLPF 50 */
#define AccBaroLPF 70

/* Visualize uncorrected RAW Accz Values in Debug0 (incl. Hardwarefilter - normally already activated with 20-25%, in case of mpu please activate at least MPU6050_LPF_42HZ)
and resulting vertical value in Debug1 incl. softwarefilter ("AccBaroLPF"), if activated */
//#define AccBaroDebug


Korrekt, dass die beiden abgewählt bleiben? Was machen die genau?
//#define Barologic2SpeedFASTER
//#define Barologic2SpeedFASTEST
 

Roberto

Erfahrener Benutzer
Hi, Honkong!

So muss das. "Barologic2SpeedNROMAL" kann man auch lassen, wird sowieso als default verwendet, hätte ich eigentlich auch als Option weglassen können.

Wenn Dein Board eine MPU hat, würde ich gleich weiter oben mal den MPU6050_LPF_42HZ einschalten...

LG
Rob
 

HongKong-Pfui

Antivibration-Master

FireN

trägt sonst keine Brille!
jup, hast keine mpu hast alle sensoren so drauf (aber teilweise die "alten" sensoren)

mfg
 

franko_

Erfahrener Benutzer
Hi, habe das Crius SE mit diesen Sensoren:

ITG3205 3-axis MEMS gyro
BMA180 3-axis acceleration sensor
HMC5883L 3-axis digital magnetometer
BMP085 digital pressure sensor

Ist da was besonderes einzustellen?

Gruss
Frank
 
FPV1

Banggood

Oben Unten