Extend AeroAlign with mixed CoG planning and telemetry base
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# AeroAlign + CoG Scale Integration
|
||||
|
||||
## Zielbild
|
||||
|
||||
Das System wird von einem reinen digitalen Einstellwinkelmesser zu einer gemeinsamen RC-Setup-Plattform erweitert:
|
||||
|
||||
- AeroAlign-Knoten messen Pitch/Roll fuer EWD, Ruderausschlag und Bezugswinkel.
|
||||
- CoG-Scale-Knoten messen Front- und Heckauflagegewicht ueber Load Cells.
|
||||
- Ein gemeinsamer ESP32-Master sammelt beide Geraeteklassen ueber ESP-NOW und stellt alles in derselben Web-Oberflaeche bereit.
|
||||
|
||||
## Externe Referenz
|
||||
|
||||
Die geplante CoG-Funktion orientiert sich konzeptionell an diesem Projekt:
|
||||
|
||||
- [RC plane Center of Gravity finder | Hackaday.io](https://hackaday.io/project/202834-rc-plane-center-of-gravity-finder/details)
|
||||
|
||||
Aus der Referenz uebernommen:
|
||||
|
||||
- zwei digitale Waagen mit ESP32
|
||||
- Front- und Heckgewicht als Echtzeitdaten
|
||||
- CoG-Berechnung aus dem Abstand der Auflagepunkte
|
||||
- Speicherung modellspezifischer Parameter im Geraet
|
||||
|
||||
## Mechanisches Modell
|
||||
|
||||
Wenn die vordere Auflage bei `x = 0` und die hintere bei `x = L` liegt, dann gilt aus dem Momentengleichgewicht:
|
||||
|
||||
`x_cog_from_front_support = rear_weight / (front_weight + rear_weight) * L`
|
||||
|
||||
Das ist eine technische Ableitung aus der in der Hackaday-Referenz gezeigten Zwei-Waagen-Anordnung.
|
||||
|
||||
Um die Lage relativ zur Fluegelvorderkante zu erhalten:
|
||||
|
||||
`x_cog_from_leading_edge = support_offset_from_leading_edge + x_cog_from_front_support`
|
||||
|
||||
## Netzwerkmodell
|
||||
|
||||
Ein gemeinsames ESP-NOW-Protokoll transportiert nun Geraetetypen:
|
||||
|
||||
- `IMU`: klassische AeroAlign-Sensoren
|
||||
- `CoG Scale`: Waagenknoten mit Front/Heck/CoG
|
||||
- `Hybrid`: spaeter fuer kombinierte Vorrichtungen
|
||||
|
||||
Der Master muss deshalb keine getrennten Netze oder Apps mehr betreiben.
|
||||
|
||||
## Empfohlene Phase 5
|
||||
|
||||
1. Eigenen CoG-Slave auf Basis `firmware/slave` anlegen.
|
||||
2. HX711-Treiber und Tare/Kalibrierung integrieren.
|
||||
3. Master-API um Modellparameter `support_distance_mm` und `leading_edge_offset_mm` erweitern.
|
||||
4. Web-UI um CoG-Ansicht mit Livewerten, Sollwert und Ballast-Rechner erweitern.
|
||||
5. NVS-Datenmodell fuer Flugzeugprofile einfuehren.
|
||||
|
||||
## Firmware-Schnittstelle
|
||||
|
||||
Aktuell ist im Protokoll nur die Transportbasis vorbereitet:
|
||||
|
||||
- `pitch/roll/yaw` bleiben fuer IMU-Knoten erhalten.
|
||||
- CoG-Scale-Knoten belegen dieselben drei Float-Felder mit `front_weight_g`, `rear_weight_g` und `cog_position_mm`.
|
||||
|
||||
Das ist bewusst pragmatisch, damit bestehende ESP-NOW-Kommunikation erhalten bleibt und die eigentliche HX711-Integration als naechster Schritt isoliert umgesetzt werden kann.
|
||||
@@ -0,0 +1,268 @@
|
||||
# Aircraft Profile Model
|
||||
|
||||
## Zweck
|
||||
|
||||
Diese Datei ist die verbindliche Fachvorgabe fuer das Modul, das AeroAlign und CoG gemeinsam bedienen soll.
|
||||
|
||||
Sie legt fest:
|
||||
|
||||
- welche Flugzeugprofile es gibt
|
||||
- welche Flaechenarten unterschieden werden
|
||||
- welche Workflows pro Profil aktiv sind
|
||||
- welche Spezialfaelle ausdruecklich anders behandelt werden
|
||||
|
||||
## Begriffe
|
||||
|
||||
### Feste Flaechen
|
||||
|
||||
Feste, nicht verstellte aerodynamische Referenzflaechen.
|
||||
|
||||
Beispiele:
|
||||
|
||||
- Tragflaeche
|
||||
- Dämpfungsflosse Hoehenleitwerk
|
||||
- Dämpfungsflosse Seitenleitwerk
|
||||
- feste Canard-Flaeche
|
||||
|
||||
### Bewegliche Flaechen
|
||||
|
||||
Aktiv angelenkte Flaechen oder Klappen.
|
||||
|
||||
Beispiele:
|
||||
|
||||
- Querruder
|
||||
- Hoehenruder
|
||||
- Seitenruder
|
||||
- Wölbklappe
|
||||
- Spoiler
|
||||
- Taileron
|
||||
- Pendelleitwerk
|
||||
|
||||
### Referenzflaeche
|
||||
|
||||
Die Flaeche, gegen die eine andere Flaeche gemessen wird.
|
||||
|
||||
Regel:
|
||||
|
||||
Bewegliche Flaechen werden gegen ihre zugehoerige feste Referenz gemessen, nicht pauschal gegen andere bewegliche Flaechen.
|
||||
|
||||
## Grundsaetze
|
||||
|
||||
1. `EWD / Referenzgeometrie` ist ein eigener Workflow.
|
||||
2. `CG / Schwerpunkt` ist ein eigener Workflow.
|
||||
3. `Ruder- und Klappeneinstellung` ist ein eigener Workflow.
|
||||
4. `90 Grad Servoarm` ist keine universelle Fachregel und darf nur als optionale Montagehilfe behandelt werden.
|
||||
5. `Pendelleitwerk` und `Taileron` sind keine normalen Hoehenruder.
|
||||
|
||||
## Profiltypen
|
||||
|
||||
### 1. `classic`
|
||||
|
||||
Klassisches Flaechenflugzeug mit:
|
||||
|
||||
- Tragflaeche
|
||||
- Dämpfungsflosse Hoehenleitwerk
|
||||
- Hoehenruder
|
||||
- Dämpfungsflosse Seitenleitwerk
|
||||
- Seitenruder
|
||||
- Querruder
|
||||
|
||||
Aktive Workflows:
|
||||
|
||||
- `reference`
|
||||
- `surfaces`
|
||||
- `cog`
|
||||
- spaeter `throw`
|
||||
|
||||
MVP-Status:
|
||||
|
||||
- dies ist das primäre Startprofil fuer das System
|
||||
|
||||
### 2. `jet_taileron`
|
||||
|
||||
Jet mit kombiniertem Hoehen-/Querruder an beweglichen Heckflaechen.
|
||||
|
||||
Merkmale:
|
||||
|
||||
- keine klassische Trennung zwischen Hoehenruder und Querruder hinten
|
||||
- linke und rechte Tailerons muessen symmetrisch und differenziert pruefbar sein
|
||||
|
||||
Aktive Workflows:
|
||||
|
||||
- `reference`
|
||||
- `surfaces`
|
||||
- `cog`
|
||||
- spaeter `mixing_check`
|
||||
|
||||
Sonderregel:
|
||||
|
||||
Tailerons werden nicht wie normale Hoehenruder gegen eine Dämpfungsflosse behandelt.
|
||||
|
||||
### 3. `stabilator`
|
||||
|
||||
All-flying stabilizer oder Pendelhöhenleitwerk.
|
||||
|
||||
Merkmale:
|
||||
|
||||
- gesamte Flaeche bewegt sich
|
||||
- keine feste Dämpfungsflosse als lokale Referenzflaeche
|
||||
|
||||
Aktive Workflows:
|
||||
|
||||
- `reference`
|
||||
- `surfaces`
|
||||
- `cog`
|
||||
|
||||
Sonderregel:
|
||||
|
||||
Die bewegliche Gesamtflaeche wird gegen eine externe Referenz gemessen, typischerweise Tragflaeche oder definierte Vorrichtung.
|
||||
|
||||
### 4. `glider_flap`
|
||||
|
||||
Segler mit Querrudern, Wölbklappen und oft mehreren Flugphasen.
|
||||
|
||||
Merkmale:
|
||||
|
||||
- Grundneutralstellung kann je nach Flugphase bewusst nicht null sein
|
||||
- Butterfly, Speed, Thermik und Cruise koennen unterschiedliche Sollwerte haben
|
||||
|
||||
Aktive Workflows:
|
||||
|
||||
- `reference`
|
||||
- `surfaces`
|
||||
- `cog`
|
||||
- spaeter `flight_mode_offsets`
|
||||
|
||||
### 5. `delta_elevon`
|
||||
|
||||
Delta oder Nurfluegel mit kombinierten Elevons.
|
||||
|
||||
Merkmale:
|
||||
|
||||
- keine klassische EWD wie beim Leitwerksflugzeug
|
||||
- linke und rechte Elevons sind kombinierte Hoehen-/Querruderflaechen
|
||||
|
||||
Aktive Workflows:
|
||||
|
||||
- `reference`
|
||||
- `surfaces`
|
||||
- `cog`
|
||||
|
||||
Sonderregel:
|
||||
|
||||
Es gibt keine klassische Leitwerksreferenz. Das Profil darf keine Leitwerkslogik erzwingen.
|
||||
|
||||
## Flaechentypen fuer das Datenmodell
|
||||
|
||||
Das Modul soll mindestens folgende Typen unterscheiden:
|
||||
|
||||
- `wing_reference`
|
||||
- `tailplane_fixed`
|
||||
- `fin_fixed`
|
||||
- `aileron`
|
||||
- `elevator`
|
||||
- `rudder`
|
||||
- `flap`
|
||||
- `spoiler`
|
||||
- `taileron`
|
||||
- `stabilator`
|
||||
- `elevon`
|
||||
- `canard_fixed`
|
||||
- `canard_control`
|
||||
|
||||
## Workflow-Freigabe pro Profil
|
||||
|
||||
| Profil | Reference | Surfaces | CoG | Throw später | Speziallogik |
|
||||
|--------|-----------|----------|-----|--------------|--------------|
|
||||
| `classic` | ja | ja | ja | ja | gering |
|
||||
| `jet_taileron` | ja | ja | ja | ja | hoch |
|
||||
| `stabilator` | ja | ja | ja | ja | hoch |
|
||||
| `glider_flap` | ja | ja | ja | ja | mittel |
|
||||
| `delta_elevon` | ja | ja | ja | ja | hoch |
|
||||
|
||||
## Messregeln pro Flaechenart
|
||||
|
||||
### Querruder
|
||||
|
||||
Gegen:
|
||||
|
||||
- linke oder rechte Tragflaechenreferenz
|
||||
|
||||
### Hoehenruder
|
||||
|
||||
Gegen:
|
||||
|
||||
- Dämpfungsflosse Hoehenleitwerk
|
||||
|
||||
### Seitenruder
|
||||
|
||||
Gegen:
|
||||
|
||||
- Dämpfungsflosse Seitenleitwerk
|
||||
|
||||
### Wölbklappen
|
||||
|
||||
Gegen:
|
||||
|
||||
- zugehoerige Tragflaechenreferenz
|
||||
|
||||
Hinweis:
|
||||
|
||||
Die Sollstellung muss nicht `0.0` sein.
|
||||
|
||||
### Taileron
|
||||
|
||||
Gegen:
|
||||
|
||||
- profilabhaengige Heckreferenz oder externe Referenz
|
||||
|
||||
### Stabilator
|
||||
|
||||
Gegen:
|
||||
|
||||
- externe Referenzflaeche
|
||||
|
||||
Nicht gegen:
|
||||
|
||||
- nicht vorhandene Dämpfungsflosse
|
||||
|
||||
## UI-Folgen
|
||||
|
||||
Die UI darf nicht einfach fuer alle Modelle dieselben Labels oder Buttons anzeigen.
|
||||
|
||||
Pflicht:
|
||||
|
||||
- Profilwahl beim Anlegen des Modells
|
||||
- sprechende Flaechenrollen
|
||||
- nur die fuer das Profil gueltigen Workflows anzeigen
|
||||
- Sonderflaechen mit eigenen Begriffen benennen
|
||||
|
||||
Beispiele:
|
||||
|
||||
- `Elevator` nur bei `classic`
|
||||
- `Stabilator` bei `stabilator`
|
||||
- `Taileron Left/Right` bei `jet_taileron`
|
||||
- `Flap Left/Right` bei `glider_flap`
|
||||
|
||||
## MVP-Grenze
|
||||
|
||||
Fuer den ersten echten Produktstand soll das Modul fachlich vorbereitet sein, aber operativ auf `classic` optimiert werden.
|
||||
|
||||
MVP in der Praxis:
|
||||
|
||||
- klassische Tragflaeche
|
||||
- Dämpfungsflosse Hoehenleitwerk
|
||||
- Hoehenruder
|
||||
- Querruder links/rechts
|
||||
- Seitenruder optional
|
||||
- CoG-Messung
|
||||
|
||||
Andere Profile muessen im Datenmodell vorgesehen sein, auch wenn sie anfangs noch nicht vollstaendig in der UI freigeschaltet sind.
|
||||
|
||||
## Verbindliche Anweisung fuer die weitere Implementierung
|
||||
|
||||
1. Keine harte Verdrahtung auf nur `elevator`, `aileron`, `rudder`.
|
||||
2. Workflow-Entscheidungen muessen profilabhaengig sein.
|
||||
3. `EWD`, `CG` und `surface setup` bleiben getrennte Modi.
|
||||
4. `Dämpfungsflosse` ist der Standardbegriff fuer den feststehenden Leitwerksteil.
|
||||
5. `90 Grad Servoarm` darf nie als alleinige Sollbedingung modelliert werden.
|
||||
@@ -0,0 +1,281 @@
|
||||
# AeroAlign + CoG - Workflow and System Plan
|
||||
|
||||
## Ziel
|
||||
|
||||
Das System soll in der Werkstatt ohne Umdenken bedienbar sein und drei unterschiedliche Aufgaben sauber trennen:
|
||||
|
||||
1. feste Referenzflaechen ausrichten
|
||||
2. Ruder neutral oder symmetrisch einstellen
|
||||
3. Schwerpunkt messen und verschieben
|
||||
|
||||
Der wichtigste Grundsatz ist:
|
||||
|
||||
Ruder werden nicht primaer gegeneinander verglichen, sondern gegen ihre jeweilige feste Bezugsflaeche.
|
||||
|
||||
Zusatz fuer Spezialfaelle:
|
||||
|
||||
- EWD, CG und Rudereinstellung bleiben getrennte Ablaeufe
|
||||
- Dämpfungsflosse ist der bevorzugte Begriff fuer den feststehenden Leitwerksteil
|
||||
- Pendelleitwerk und Taileron werden als eigene Flaechentypen behandelt
|
||||
- 90 Grad am Servoarm ist keine universelle aerodynamische Regel
|
||||
|
||||
## Bedienlogik
|
||||
|
||||
### Was nicht ideal ist
|
||||
|
||||
Dieser Ablauf ist fehleranfaellig:
|
||||
|
||||
- Modell auf die CoG-Waage stellen
|
||||
- Querruder und Hoehenruder direkt miteinander vergleichen
|
||||
- eines davon so lange verstellen, bis beide denselben Winkel zeigen
|
||||
|
||||
Warum das problematisch ist:
|
||||
|
||||
- Tragflaeche und Hoehenleitwerk haben oft unterschiedliche Sollwinkel
|
||||
- ein neutrales Hoehenruder ist nicht automatisch derselbe Winkel wie ein neutrales Querruder
|
||||
- Sender-Subtrim sollte nicht die mechanische Grundjustage ersetzen
|
||||
|
||||
### Besserer Ablauf
|
||||
|
||||
1. Modell mechanisch neutralisieren
|
||||
2. feste Flaechen und Leitwerke referenzieren
|
||||
3. Ruder gegen die zugehoerige feste Flaeche einstellen
|
||||
4. Schwerpunkt auf der CoG-Waage einstellen
|
||||
5. Neutralstellungen danach kurz erneut pruefen
|
||||
|
||||
## Empfohlene Werkstattmodi
|
||||
|
||||
### 1. Referenzmodus
|
||||
|
||||
Ziel:
|
||||
|
||||
- Tragflaeche gegen Hoehenleitwerk
|
||||
- Tragflaeche links gegen Tragflaeche rechts
|
||||
- EWD oder andere feste Bezugswinkel
|
||||
|
||||
Hinweis:
|
||||
|
||||
Dieser Modus ist fachlich eigenstaendig und darf nicht mit CoG oder Ruderneutralitaet vermischt werden.
|
||||
|
||||
Empfohlene Sensoren:
|
||||
|
||||
- ein Sensor auf einer festen Tragflaechen-Referenz
|
||||
- ein Sensor auf Hoehenleitwerk oder anderer Referenzflaeche
|
||||
|
||||
### 2. Rudermodus
|
||||
|
||||
Ziel:
|
||||
|
||||
- Querruder links gegen linke Tragflaeche
|
||||
- Querruder rechts gegen rechte Tragflaeche
|
||||
- Hoehenruder gegen Hoehenleitwerk
|
||||
- Seitenruder gegen Seitenleitwerk
|
||||
|
||||
Regel:
|
||||
|
||||
Jedes bewegliche Ruder wird gegen seine feste Nachbarflaeche verglichen.
|
||||
|
||||
Ausnahmen:
|
||||
|
||||
- Stabilator gegen externe Referenz
|
||||
- Taileron nach Profilregel
|
||||
- Wölbklappen mit moeglichem Grundoffset je Flugphase
|
||||
|
||||
### 3. CoG-Modus
|
||||
|
||||
Ziel:
|
||||
|
||||
- Frontgewicht
|
||||
- Heckgewicht
|
||||
- Schwerpunktlage in mm
|
||||
- Abweichung zum Soll-CoG
|
||||
|
||||
Hier spielen die IMU-Sensoren nur indirekt mit:
|
||||
|
||||
- sie helfen vorher und nachher bei der Neutral- und Referenzpruefung
|
||||
- die CoG-Messung selbst basiert auf den Lastzellen
|
||||
|
||||
## Minimal sinnvolles Hardware-Set
|
||||
|
||||
### Variante A: praxisnahes Basisset
|
||||
|
||||
- `1x Master` mit Web UI
|
||||
- `2x IMU Slave`
|
||||
- `1x CoG Scale` mit zwei Lastzellen
|
||||
|
||||
Einsatz:
|
||||
|
||||
- Sensor 1 auf fester Tragflaeche oder Referenzlehre
|
||||
- Sensor 2 auf Hoehenleitwerk oder Hoehenruder
|
||||
- CoG-System separat fuer den Schwerpunkt
|
||||
|
||||
Das reicht fuer EWD, Hoehenruder-Neutralitaet und Schwerpunkt.
|
||||
|
||||
### Variante B: guter Alltagsausbau
|
||||
|
||||
- `1x Master`
|
||||
- `4x IMU Slave`
|
||||
- `1x CoG Scale`
|
||||
|
||||
Einsatz:
|
||||
|
||||
- linke Tragflaeche Referenz
|
||||
- rechtes Querruder
|
||||
- linkes Querruder
|
||||
- Hoehenleitwerk oder Hoehenruder
|
||||
- CoG-Jig parallel verfuegbar
|
||||
|
||||
Damit werden Querruder-Symmetrie und Leitwerksabgleich deutlich komfortabler.
|
||||
|
||||
### Variante C: Vollausbau
|
||||
|
||||
- `1x Master`
|
||||
- `5-6x IMU Slave`
|
||||
- `1x CoG Scale`
|
||||
|
||||
Zusaetzlich:
|
||||
|
||||
- Seitenruder
|
||||
- zweite Flaechenreferenz
|
||||
- weitere Klappen oder Spoiler
|
||||
|
||||
## Empfohlene Hardware-Rollen
|
||||
|
||||
### Master
|
||||
|
||||
- stationaeres Bediengeraet
|
||||
- optional eigener IMU-Sensor fuer Referenzaufgaben
|
||||
- WiFi AP und Web UI
|
||||
|
||||
### IMU Slaves
|
||||
|
||||
- kleine, leichte Clip-Sensoren
|
||||
- identische Gehaeuse und Halter, damit Bedienung einheitlich bleibt
|
||||
- eindeutige Rollen im UI statt nur Node-IDs
|
||||
|
||||
Beispielrollen:
|
||||
|
||||
- `Wing Ref Left`
|
||||
- `Wing Ref Right`
|
||||
- `Aileron Left`
|
||||
- `Aileron Right`
|
||||
- `Elevator`
|
||||
- `Fin / Rudder`
|
||||
|
||||
### CoG Scale
|
||||
|
||||
- ein eigenes Geraet mit zwei Auflagepunkten
|
||||
- zwei Lastzellen
|
||||
- fester, reproduzierbarer Auflageabstand
|
||||
- idealerweise mit definierter LE-Referenz oder verstellbarem Anschlag
|
||||
|
||||
## Bedienbarkeit in der UI
|
||||
|
||||
Die UI sollte nicht nur Nodes anzeigen, sondern gefuehrte Aufgaben.
|
||||
|
||||
### Empfohlene Hauptansichten
|
||||
|
||||
- `Setup`
|
||||
- verbundene Geraete
|
||||
- Akkustand
|
||||
- Rollenbezeichnungen
|
||||
- `Reference`
|
||||
- Flaeche gegen Leitwerk
|
||||
- Referenzwinkel
|
||||
- `Surfaces`
|
||||
- Querruder, Hoehe, Seite
|
||||
- linke/rechte Symmetrie
|
||||
- `CoG`
|
||||
- Frontgewicht
|
||||
- Heckgewicht
|
||||
- aktueller CoG
|
||||
- Soll-CoG
|
||||
- Delta zum Ziel
|
||||
|
||||
### Wichtige UX-Regeln
|
||||
|
||||
- keine reinen Node-IDs als primaere Anzeige
|
||||
- jede Messung braucht eine sprechende Rolle
|
||||
- gefuehrte Schritte statt nur Rohdaten
|
||||
- CoG-Ansicht und Ruder-Ansicht getrennt halten
|
||||
- Kalibrieren klar unterscheiden:
|
||||
- IMU `Zero`
|
||||
- Scale `Tare`
|
||||
- Scale `Weight calibration`
|
||||
|
||||
## Datenmodell, das dafuer noetig ist
|
||||
|
||||
Pro Modellprofil sollten spaeter gespeichert werden:
|
||||
|
||||
- Modellname
|
||||
- Flaechenreferenz
|
||||
- support distance `L`
|
||||
- offset der vorderen Auflage zur Nasenleiste
|
||||
- Soll-CoG
|
||||
- Rollenbelegung der Sensoren
|
||||
- optionale Servotests oder Sollwerte fuer Ruderausschlaege
|
||||
|
||||
Die verbindliche Profil- und Flaechentyp-Definition steht in:
|
||||
|
||||
- [AIRCRAFT_PROFILE_MODEL.md](/Users/florianklaner/Github/AeroAlign/docs/AIRCRAFT_PROFILE_MODEL.md)
|
||||
|
||||
## Mechanische Anforderungen an die CoG-Hardware
|
||||
|
||||
Damit das gut zusammenspielt, muss die CoG-Hardware nicht nur elektrisch, sondern auch mechanisch sauber sein.
|
||||
|
||||
Pflichtpunkte:
|
||||
|
||||
- reproduzierbarer Abstand der beiden Auflagen
|
||||
- rutschfeste Kontaktpunkte
|
||||
- definierte Flugzeugposition in Längsrichtung
|
||||
- steife Basis, damit Lasten nicht durchbiegen
|
||||
- einfache Nullstellung ohne Modell
|
||||
|
||||
Sinnvoll:
|
||||
|
||||
- verstellbare Auflagehoehen
|
||||
- verstellbarer LE-Anschlag
|
||||
- modulare Auflagen fuer verschiedene Rumpf-/Flaechenformen
|
||||
|
||||
## Empfohlener End-to-End-Werkstattablauf
|
||||
|
||||
1. Sender auf neutral, Trims und Subtrims auf Ausgangszustand
|
||||
2. Servoarme und Gestänge mechanisch sauber einstellen
|
||||
3. IMU-Sensor auf Tragflaechen-Referenz setzen
|
||||
4. IMU-Sensor auf Hoehenleitwerk oder Hoehenruder setzen
|
||||
5. Referenz- und EWD-Werte einstellen
|
||||
6. Querruder links und rechts gegen ihre jeweilige Referenz einstellen
|
||||
7. Modell auf die CoG-Waage stellen
|
||||
8. Akku oder Ballast verschieben, bis Soll-CoG erreicht ist
|
||||
9. Danach Ruderneutralitaet und Referenzwerte kurz nachpruefen
|
||||
10. Profil speichern
|
||||
|
||||
## Konkrete Repo-Folgen
|
||||
|
||||
### Naechste Firmware-Schritte
|
||||
|
||||
1. `firmware/cog_slave` anlegen
|
||||
2. HX711 lesen und mitteln
|
||||
3. Tare und Skalierungsfaktoren speichern
|
||||
4. Rollen-/Profilverwaltung im Master ergaenzen
|
||||
5. neue UI-Ansichten `Reference`, `Surfaces`, `CoG`
|
||||
|
||||
### Naechste Hardware-Schritte
|
||||
|
||||
1. zwei Lastzellen mechanisch auf definierter Basis montieren
|
||||
2. Support-Abstand als feste Konstruktionsgroesse festlegen
|
||||
3. LE-Anschlag oder Referenzmarke vorsehen
|
||||
4. IMU-Halter fuer feste Bezugsflaechen vereinheitlichen
|
||||
|
||||
## Fazit
|
||||
|
||||
Ja: dein Gedanke geht in die richtige Richtung.
|
||||
Nein: Hoehenruder und Querruder sollten nicht direkt als gemeinsame Soll-Referenz behandelt werden.
|
||||
|
||||
Das bessere System trennt:
|
||||
|
||||
- Referenzflaechen
|
||||
- Ruderneutralitaet
|
||||
- Schwerpunkt
|
||||
|
||||
Genau so sollte auch die Hardware und die UI aufgebaut werden.
|
||||
Reference in New Issue
Block a user