How do I choose the desired final states when i simulate my state space model?
6 次查看(过去 30 天)
显示 更早的评论
I'm trying to simulate a state space model with three inputs (u1,u2,u3) and three disturbances (d1,d2,d3). I'm using lqr for the control design, but i'm not sure how to simulate the response of the system. I've tried both step and lsim but neither of them lets me choose my desired states. The states are 3 angular velocities, 3 angles (roll, pitch, yaw) and three equations that relates u1,u2 and u3 to eachother. How would I tell my system to, for example, change the pitch angle 10 degrees and then plot the results of this?
0 个评论
回答(1 个)
Raj
2019-12-27
"How would I tell my system to, for example, change the pitch angle 10 degrees and then plot the results of this?"
It's a quite straightforward case of 'reference tracking'. Whatever are your desired output state values, you have to subtract them from the system state output and feed the error to the LQR controller (or any controller for that matter). The controller will try to minimize the error to zero thus taking your system output to the desired value. For your example case, subtract 10Deg from the output state pitch angle coming from the system and feed the error to LQR controller. Tune the weight matrices 'Q' and 'R' to get desired tracking response. Hope this helps! Get back in case you get stuck or need further clarification.
4 个评论
Raj
2019-12-27
It doesn't matter. The logic remains same. 'lsim' gives you the system response. You need to subtract that from 'desired reference value' and multiply the error with LQR gain matrix before giving as input back to the system. The simulink model picture from the link I posted earlier will help to make things clear.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dynamic System Models 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!