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)
MultipleEnvsfor 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)InnerLoopGeometricTrackingControllerandOuterLoopGeometricTrackingController(based onGeometricTrackingControllerbut 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)
ned2enuandenu2ned: coordinate transformation