FSimZoo.jl contains predefined environments and controllers for FlightSims.jl.
See NEWS.md
.
-
Examples include
basics
- (Linear system)
LinearSystem
- (A simple integrator)
SingleIntegrator
- (Reference model)
ReferenceModel
- (Nonlinear polynomial system)
TwoDimensionalNonlinearPolynomialSystem
- (Nonlinear oscillator)
TwoDimensionalNonlinearOscillator
- (Multiple Envs)
MultipleEnvs
for multi-agent simulation
Actuators
SecondOrderActuator
fixed wings
- (Wing Rock phenomenon)
TarnWingRock
,ElzebdaWingRock
multicopters
- (Hexacopter)
LeeHexacopter
,LeeQuadcopter
,GoodarziAgileQuadcopter
(currently maintained) - (Quadcopter)
IslamQuadcopter
,GoodarziQuadcopter
allocators
- (Moore-Penrose pseudo inverse control allocation)
PseudoInverseAllocator
controllers
- (Linear quadratic regulator)
LQR
- (Proportional-Integral-Derivative controller)
PID
- Note that the derivative term is obtained via second-order filter.
- (Pure proportional navigation guidance)
PPNG
- (For multicopter position tracking)
BacksteppingPositionController
(control input:T_dot
,M
)GeometricTrackingController
(control input:T
,M
)InnerLoopGeometricTrackingController
andOuterLoopGeometricTrackingController
(based onGeometricTrackingController
but seperated for a hierarchical structure)
- (Safety filters via control barrier functions (CBFs))
- (Position CBF for input-affine systems)
InputAffinePositionCBF
- (Position CBF for input-affine systems)
integrated_environments
- (Backstepping Position Controller + Static Allocator + Multicopter)
BacksteppingPositionController_StaticAllocator_Multicopter
- For example,
BacksteppingPositionController
(backstepping position controller) +PseudoInverseAllocator
(pseudo-inverse allocator, a static allocator) +LeeHexacopter
(hexacopter, a multicopter)
- For example,
- (Linear system + single integrator)
LinearSystem_SingleIntegrator
(WIP) - See
src/environments/integrated_environments
.
- (Linear system)
ned2enu
andenu2ned
: coordinate transformation