Quadrotor PID simulation

30 Ansichten (letzte 30 Tage)
Robert
Robert am 13 Jun. 2011
Kommentiert: Robert am 3 Jan. 2023
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 Kommentare
Anjana
Anjana am 3 Jan. 2023
I am also doing this project could you please sent me a simulation of the same project
Robert
Robert am 3 Jan. 2023
I am actually working on a series of youtube videos that reviews this entire process. Will keep you posted.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 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.

Weitere Antworten (3)

Robert
Robert am 13 Jun. 2011
Thank you Fangjun, I like the second option you listed, rapid prototype in the simulink/matlab environment and then generate C code and try it out on my real desk model. I was playing around with simulink and I came up with a design process. Can you check if I am moving in the right direction.
I will first import my quadrotor Autocad Inventor model through sim mechanics and then run PID simulations on the model. After perfecting my model software, I will convert it to C code (which I am not to sure how its done..) and test it out on my quadrotor. What do you think?
  3 Kommentare
Robert
Robert am 14 Jun. 2011
Great! I am excited to get started on this project and I'm willing to bet I will learn a lot.
Thank you
Regards,
Robert
Fangjun Jiang
Fangjun Jiang am 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.

Melden Sie sich an, um zu kommentieren.


Suleman Shafqat
Suleman Shafqat am 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 Kommentare
K E
K E am 29 Mai 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.
Jan Vidar
Jan Vidar am 9 Aug. 2013
How did it turn out? Is the pdf-file available? Would be very interesting.

Melden Sie sich an, um zu kommentieren.


Zack zeko_boeing747@hotmail.com
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 Kommentar
K E
K E am 29 Mai 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.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by