What causes the SMC controller to be unable to track the desired position, leading to an excessively significant error between the desired and real positions?

3 views (last 30 days)
I have a quadcopter system and an SMC (Sliding Mode Controller) to track the desired position and orientation. To start my trial and error process, I tried to give the desired position, which is the z-direction only. I am facing an issue where the SMC controller I designed is unable to track the desired position, and there is a significant discrepancy between the desired position and the actual position, resulting in a large error. What factors are contributing to this issue, and what steps can be taken to resolve it?

Accepted Answer

Sam Chak
Sam Chak on 30 Jun 2025
I did not examine your Simulink model, as it requires technical knowledge of quadcopter dynamics. Assuming that your quadcopter modeling is correct and that the SMC equation is designed accordingly, I suspect that the large error issue is most likely due to poor tuning of the control gains in the SMC. I am uncertain, but the chosen lambda1​ gain seems unusually small (0.0001).
Imagine this: when the relatively large switching gain (100) drives the quadcopter's state trajectory to reach the sliding surface (), it "slides" along this surface toward the desired equilibrium point at a very-very slow rate, . In other words, the sliding slope is nearly parallel with the horizontal x-axis. Additionally, your high derivative gain PD controller, given by, makes the performance very sluggish. I believe these two factors are contributing to the issue. The effect of the lambda2 (0.0001) gain effect is insignificant to .
  3 Comments
Alfa
Alfa on 4 Jul 2025

Ok sir, thanks for your help. Your answer is very helpful to understand the basics of SMC especially in choosing the gain control.

Sign in to comment.

More Answers (0)

Products


Release

R2024b

Community Treasure Hunt

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

Start Hunting!