Hai bisogno di un consiglio, controlla l'animazione del sistema. Apprezzo un po 'd'aiuto!


4

Vorrei fare una simulazione 3d di un elicottero che atterra su una nave.

Ho pensato di usare matlab per questo, per quanto ne so, puoi connettere modelli da Simulink a mondi virtuali usando i blocchi, che è la caratteristica principale del toolkit di animazione 3D Simulink ( https://es.mathworks.com/products/ 3d-animation / features.html ). È anche possibile modificare oggetti 3D o importarlo da pacchetti CAD. La mia domanda principale è la seguente, dove posso definire le equazioni dinamiche dell'elicottero? Non ho davvero lavorato con il software CAD né con l'animazione, quindi non so come farlo. Non sono nemmeno sicuro che questo sia il modo giusto per farlo, ma dovrebbe apparire così. inserisci qui la descrizione dell'immagine

Il modello dell'elicottero è semplice. Il controller viene alimentato (SENSORI) dalla posizione e dalle velocità del centro di massa dell'elicottero. Le uscite del controller (ATTUATORI) sono la spinta principale, la spinta di coda e gli angoli di inclinazione. Questi quattro sono gli input per l'elicottero. Il riferimento è la posizione vettoriale 0 che è il punto di atterraggio.

Come ho già detto, il mio problema principale è l'animazione. Se non fosse per questo, potrei semplicemente creare un modello dell'elicottero in blocchi simulink e un altro modello del controller in simulink, collegarli insieme, riprodurlo e vedere i grafici delle variabili di tracciamento desiderate. Ma voglio fare un'animazione 3D del tracciamento del riferimento.

Allego una foto della dinamica dell'elicottero per chiarirmi. inserisci qui la descrizione dell'immagine


Dalla dinamica dell'elicottero: l'elicottero è il corpo solido o la chiave inglese?
Solar Mike,

Risposte:


0

Puoi utilizzare FlightGear come software di generazione di immagini (animazione). Quello che devi fare è:

  1. modella la dinamica del tuo sistema (forze, momenti)
  2. scrivere codice per risolvere le dinamiche del sistema nel tempo (usare le librerie Equations of Motion o scrivere le proprie)
  3. usa il tuo codice per avviare ed eseguire la simulazione e inviare gli stati a FlightGear.

Puoi sostituire FlightGear con qualsiasi altro strumento che potresti trovare. È menzionato per disponibilità, essendo gratuito e open source e ha molta documentazione ed esercitazioni.

Il tuo codice può essere in qualsiasi lingua con cui ti trovi a tuo agio: Python, Matlab, C, C ++, Java, Assembly, ecc.


0

Se hai familiarità con il linguaggio di programmazione Python, questa può essere una soluzione semplificata:

1) Installa un semplice motore 3D gratuito, ad esempio Panda3D o V-REP.

2) Trova i modelli STL appropriati di elicotteri, zone di atterraggio, ecc.

3) Importali in scena 3D, scala e imposta posizioni e orientamento zero.

4) Scrivi la funzione di fare tutto in matematica in Python (c'è anche l'interfaccia con MATLAB). I derivati ​​dalle equazioni ora vengono trasformati in incrementi, ad es v += a*dt, x += v*dt

5) Chiamare questa funzione dal ciclo del motore 3D per manipolare (e leggere) gli oggetti scena. Il ciclo del motore calcola dt per ogni fotogramma che porta a una sommazione liscia dall'aspetto reale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.