Quadrotor PID simulation

6 次查看(过去 30 天)
Robert
Robert 2011-6-13
评论: Robert 2023-1-3
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 个评论
Anjana
Anjana 2023-1-3
I am also doing this project could you please sent me a simulation of the same project
Robert
Robert 2023-1-3
I am actually working on a series of youtube videos that reviews this entire process. Will keep you posted.

请先登录,再进行评论。

采纳的回答

Fangjun Jiang
Fangjun Jiang 2011-6-13
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.

更多回答(3 个)

Robert
Robert 2011-6-13
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 个评论
Robert
Robert 2011-6-14
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 2011-6-14
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
Suleman Shafqat 2011-11-16
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 个评论
K E
K E 2012-5-29
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 2013-8-9
How did it turn out? Is the pdf-file available? Would be very interesting.

请先登录,再进行评论。


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 个评论
K E
K E 2012-5-29
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.

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by