Quadrotor Digital PID Control System and Dynamics Modelling

A digital control system model of the pixhawk quadrotor was constructed in scicoslab along with a continuous model of the quadrotor dynamics (the visual model is an arducopter). The user can input the guidance commands to the autopilot through sliders. As the video shows, the yaw response it not optimal, which also happens in the actual system. Using the mavsim Scicoslab toolbox (https://github.com/openmav/mavsim/) , the model can be simulated and then, once the system has been correctly identified, the dynamics can be linearized. The linear model of the system makes the problematic modes clear and aids in designing an improved controller.

Views: 4090

Comment by UFO-MAN on March 20, 2011 at 12:55pm

Hi again James.


Thanks for the advice regarding the package. I skipped that and ran sciscoslab from the directory where the ini file resides.


I now got it running on my Virtual Box running Ubuntu. However running on the Virtual Box is very slow. I think that a native Linux box or a native Windows box will be required for proper execution speed. When trying the yaw slider, it literally takes minutes for something to happen in the 3D view window showing the  helicopter (on my box) .


I also got some malloc errors when trying to run the analysis as well when I ran the simulation.


Will it be a lot of work to get this running on Windows altogether? I may install cmake and give it a try. However time is limited.

Comment by James Goppert on March 20, 2011 at 1:15pm
The malloc warning is some issue with a new block that I haven't tracked down yet. It doesn't seem to affect the program, so I haven't debugged it yet, but its on the list of things to do.

Here are the options I see for running mavsim on windows:
1. You can delete the openscenegraph visualization block and replace it with a scope for now.
2. We can get the jsbsimcomm block properly working for the quadrotors. I have an arducopter jsbsim model that I created for this but haven't checked everything is working. I did add the 4 motor rpm inputs, but might take some more work. With this you could use the udp as you suggested. Have you had a chance to try this with the JSBSim demos?
3. If you have some idea how to get windows dll's to work properly with cmake we can try to tackle the windows cmake build.
Comment by UFO-MAN on March 21, 2011 at 12:44pm

Hi James. Will play a bit with it and probably test without the openscenegraph (replace that with a scope).I havent had much time to test the JSBSim demos unfortunately.


I don't have experience with DLLs and cmake so I cant contribute there.


What I am looking for is a free alternative to Matlab for running simulations. Scicos / mavsim looks like it might be a candidate.

Comment by James Goppert on March 21, 2011 at 1:47pm
You could also try lowering the frame rate on the visualization block. I currently have it set at 20 fps. Just change the rate of the clock connected to it.


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service