Quadrotor PID simulation
11 views (last 30 days)
Show older comments
Hello,
My name is Robert and I am an undergraduate student at UIUC. I am currently working on a project and was wondering whether or not Matlab would be helpful in my endeavor. Before I start fiddling around and start putting in a lot of effort into this Matlab/Simulink project I was wondering if it was worthwhile. The project idea is as follows:
I am designing a quadrotor (at the moment only a one axis balancing arm that pivots on an axle with a motor/propeller on each end of the arm). I have an encoder attached to the axle that records the actual position of the arm. I was hoping to implement a PID controller that would adjust the propeller speeds accordingly so it goes to the exact position I specify in the shortest amount of time. My question are, can I provide Matlab with real time streaming data coming from the quadrotor and the encoder and design a pretty good PID control using the control system PID toolkit and autotuner PID toolkit? Is this feasible? I can stream data coming from the quadrotor and encoder into an excel file.. What would be the best way to go about this, I am very new to MatLab and only know the basics, although I am a very avid programmer.
Thank you,
Robert
3 Comments
Anjana
on 3 Jan 2023
I am also doing this project could you please sent me a simulation of the same project
Accepted Answer
Fangjun Jiang
on 13 Jun 2011
Matlab/Simulink is the right tool for your task, however, you need to understand that Matlab/Simulink mostly runs simulation on your computer, it is not fit for real-time control, especially for your task which sounds timing critical to me. There is a toolbox called xPC Target which allow you to boot your computer with RTOS and use it for real-time control. You can also use third party rapid prototype system for the real-time task. The typical procedure is that your build your controller plus your motor plant model in Matlab/Simulink environment and try-and-error your design till you get good performance. Then you can automatically generate C code, compile it and download to your real-time system (xPC target or rapid prototype) which has hardware I/O that can interface with your motor hardware.
0 Comments
More Answers (3)
Robert
on 13 Jun 2011
3 Comments
Fangjun Jiang
on 14 Jun 2011
Yes, that sounds like a good approach. You'll need the Simulink Coder toolbox to generate C code. If your controller is primarily a PID controller, you might consider coding it yourself. In either case, you need to take care of the low level driver for your AD/DA, encoder sensor etc.
Suleman Shafqat
on 16 Nov 2011
Hi Robert are u done with quadrotor modeling now or not? does that C code generation approach helped u i am also doing quad rotor project.
3 Comments
K E
on 29 May 2012
Way to go, Robert! I guarantee you will have many readers of the PDF file if you post it back here - so many Simulink questions here are 'how do I get started' on a project like this.
Zack zeko_boeing747@hotmail.com
on 23 Mar 2012
Hi guys, I was working on modelling and controlling a quad rotor flying robot. And finally I am done with the whole process. However, lately I thought of simulating the robot in a 3D trajectory plane or may be an environment to track it's path and see the differences UN-controlled and after controlling. I don't wanna write lots of complex mathematical equation to describe what I wanna do in order to make it easy for anyone to help me.
My question is simple as follows: I have 6 equations that give 6 different outputs (X Y Z theta Phi Epsi). All what I need from anyone is tell me how to connect 6 different equation with 1 block diagram that translates these outputs in a 3D space.
Regards,
Zack
1 Comment
K E
on 29 May 2012
This seems like a new question, so if you get no answers in this thread you may want to post it as a new question.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!