필터 지우기
필터 지우기

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
Zack zeko_boeing747@hotmail.com 2012년 3월 23일
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