Code Monkey home page Code Monkey logo

qrsim2's Introduction

Quadrotor Simulator using Matlab/Simulink and Flightgear

The aim of this simulator is to

  1. provide a framework for control and dynamics simulation,
  2. focus on the rigid body attitude control problem,
  3. provide a nice way to visualize what's going on.

I used it on my thesis to test a global, robust, non-linear controller based on Lyapunov functions. This controller can to track any arbitrary desired orientation of the Quadrotor within a specified error bound, and the results provide a way to translate bounded measurement and navigation errors to final pointing accuracy errors, and also to obtain a bound on the tracking accuracy given the timestep used for the digital implementation of the continuous controller. If you want to find out more please have a look at my thesis!

ScreenShot

##Blocks The modular approach allows for customization of the different blocks: ScreenShot

a. Command Generation Block / Joystick Input
b. Controller Block
c. Rigid Body Dynamics (UAV model) Block
d. Navigation/Measurement Block
e. Visualization Block

Each block is implemented inside a standalone .m file that gets called from within simulink as a level-2 s-file. The name of the .m files is self explanatory (Quadrotor_Navigation.m, Quadrotor_Controller.m, etc.).

Global initialization is done with a callback hooked up on ModelInit, implemented through modelo2Initialization.m

##Visualization with Flightgear

The last block allows for Flightgear visualization, see Flightgear-QUADLSE-Model for a nice UAV model to use with Flightgear. Otherwise it's straightforward.

##Structure

Almost all functionality is implemented in separate .m files for easy tweaking.

Launching

  1. Load with simulink:
load_model('modelo2a.slx')

...
2. Start Flightgear with arguments to listen for network connections:

./fgfs --fdm=network,localhost,5501,5502,5503 --fog-fastest --disable-clouds --in-air --enable-freeze --aircraft=QUADLSE  

...
3. Fly
4. Tweak
5. goto 3

qrsim2's People

Contributors

clausqr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.