Skip to content

An unofficial implementation of publicly available approximated polynomial models for NASA's Generic Transport Model aircraft.

License

Notifications You must be signed in to change notification settings

cadojo/PolynomialGTM.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tests Docs

PolynomialGTM.jl

An unofficial implementation of publicly available approximated polynomial models for NASA's Generic Transport Model aircraft.

Overview

NASA Langley has developed a scaled-down radio-controlled aircraft called the Generic Transport Model (GTM). This model is physically similar to a typical commercial plane (think 737, etc.), and is used for off-nominal flight control research. Chakraborty et al published a polynomial approximation for longitudinal GTM dynamics (near select flight conditions). Joe Carpinelli (me!) wrote these dynamics in Python, and replicated and summarized parts of Chakraborty et al's region of attraction analysis for the polynomial-approximated GTM dynamics.

This Julia package extends ModelingToolkit.jl to provide this polynomial-approximated model of longitudinal GTM flight dynamics to the Julia ecosystem!

Installation

You can install PolynomialGTM from Julia's General Registry using Pkg, or ]install PolynomialGTM in Julia's REPL.

import Pkg
Pkg.install("PolynomialGTM")

Usage

See the ModelingToolkit documentation for more usage examples!

using PolynomialGTM, ModelingToolkit

# Get the model
model = GTM()

# Get the equations
equations(model)

# Print the equations to LaTeX
using Latexify
latexify(equations(model))

# Get an `ODEFunction` which implements the dynamics
f = GTMFunction()

# Execute the function
let x = randn(4), p = randn(2), t = rand()
  f(x,p,t)
end