trying to use the command hinfsyn on a rotary inverted pendulum for stabilization analysis
이전 댓글 표시
Hello
I am trying to follow this paper
I have made following code for making the system looking like this

The code is given below
A=[0 0 1 0;
0 0 0 1;
0 39.32 -14.52 0;
0 81.78 -13.98 0;];
B=[0;0;25.54;24.59];
C=[1 0 0 0;
0 1 0 0];
D=[0;0;];
sys=ss(A,B,C,D);
sys.InputName={'u'};
sys.OutputName={'theta','alpha'};
s=tf('s');
Wact=0.002*(s+0.01)/(s+10);
Wact.u='u'; Wact.y='e1';
Wn1=ss(0.05);
Wn1.u='d1'; Wn1.y='wn1';
Wn2=ss(0.0275);
Wn2.u='d2'; Wn2.y='wn2';
Wx1=151.5/(s+50.5);
Wx1.u='theta'; Wx1.y='e2';
Wx2=202/(s+50.5);
Wx2.u='alpha'; Wx2.y='e3';
sdmeas=sumblk('y1 = theta+wn1');
abmeas=sumblk('y2 = alpha+wn2');
ICinputs={'d1','d2','u'};
ICoutputs={'e1','e2','e3','y1','y2'};
qsys=connect(sys,Wact,Wn1,Wn2,Wx1,Wx2,sdmeas,abmeas,ICinputs,ICoutputs);
When I am running the command hinfsyn I get following gamma
[~,~,gamma]=hinfsyn(qsys,2,1)
while in the paper they have
gamma=0.6951 in section 3.1 H-infinty controll. Where is my mistake or any solution to get the same answer as in the paper ?
Thanks for all answers
Tor Erik Haavik
댓글 수: 3
Hi CyberRobotics,
Some observations ....
The C-matrix in the code above does not match eqn (28) in the linked paper. Though eqn (28) in the linked paper doesn't match the surrounding text in the paper (C(2,4) = 1?). So either they used a wrong C-matrix or eqn (28) has a typo.
Also, Figure 5 in the paper (and shown above) appears to be missing the reference command input for theta that would typically be included in the model to design a command following system (as appears to be the goal here) where the feedback to the controller (K(s)) would be the theta error signal.
Then Figure 6 says the step response is from Vm, but Vm is the control input and not an input to the closed-loop system.
Later in the paper the authors use acker() for pole placement, but MathWorks has recommended not using acker for a long time. place is recommended (though in this case acker did produce the correct result). As far as I can tell, acker is not included in the formal doc for the Control Systems Toolbox.
The authors state: "Obviously, there is no way we can have robustness analyzed for uncertainties with this [state feedback] structure." That statement is incorrect.
Figure 5 doesn't match the text. The text states that Wn1 is applied to the disturbance on theta and Wn2 to the disturbance on alpha. But Figure 5 shows the exact opposite. If you reverse the wn inputs to sdmeas and abmeas you'll get a gamma of 0.61, which is closer to the reported result.
CyberRobotics
2025년 1월 19일
편집: CyberRobotics
2025년 1월 19일
Based on the article, it's hard to say what is "correct" because the results from the article are not able to be replicated, at least for me. Every time I look at a different section I have more concerns. I'm really curious about how the authors developed Figure 6.
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!