机械臂轨迹跟踪:基于非奇异终端滑模控制的控制器设计
创作时间:
作者:
@小白创作中心
机械臂轨迹跟踪:基于非奇异终端滑模控制的控制器设计
引用
CSDN
1.
https://blog.csdn.net/2401_84610415/article/details/144328517
机械臂轨迹跟踪是机器人控制领域的重要研究方向。本文介绍了一种基于非奇异终端滑模控制(NTSMC)的控制器设计方法,通过MATLAB仿真验证了其在不同形状轨迹跟踪中的精确性和鲁棒性。
机械臂动力学模型
机械臂的运动控制通常采用标准的机器人动力学模型,包括关节角度、角速度及加速度等状态变量。机械臂的动力学模型可以描述为:
非奇异终端滑模控制(NTSMC)
非奇异终端滑模控制是一种新型的滑模控制方法,能够避免传统滑模控制中的“奇异现象”问题。NTSMC通过设计滑模面和控制律,在保持系统稳定的同时,减小系统的抖振现象。其基本思想是通过选择适当的滑模面,使得系统的状态在有限时间内快速收敛到目标轨迹。
滑模控制律
设定滑模面为:
其中, e(q)=q d −q 是轨迹误差, qd 是期望轨迹,𝜆 是一个常数。
控制律可以通过下式给出:
实验结果
在MATLAB环境中,对机械臂的轨迹跟踪控制进行了仿真,结果表明,基于非奇异终端滑模控制器的设计能够有效地跟踪预设的轨迹。具体结果如下:
- 采用NTSMC控制器后,机械臂能够精确跟踪不同形状的轨迹(如直线、圆弧和复杂曲线)。
- 在外部扰动和系统不确定性影响下,系统仍能保持较强的鲁棒性,误差在可接受范围内保持稳定。
- 与传统PID控制器相比,NTSMC具有更好的轨迹跟踪精度和抗干扰能力。
仿真中所用的控制参数包括:
- K=10
- 滑模面参数 λ=0.5
部分代码
% 机械臂轨迹跟踪非奇异终端滑模控制器设计
% 机械臂参数设置
m1 = 1; m2 = 1; % 机械臂各段质量
l1 = 1; l2 = 1; % 机械臂各段长度
r1 = 0.5; r2 = 0.5; % 机械臂各段的质心位置
% 期望轨迹(例如:一个简单的圆形轨迹)
q_d = @(t) [sin(t); cos(t)];
% 初始条件
q = [0; 0]; % 初始关节角度
qd = [0; 0]; % 初始关节速度
qd_dot = [0; 0]; % 初始关节加速度
% 控制参数
lambda = 0.5; % 滑模面参数
K = 10; % 滑模控制增益
% 仿真时间
T = 10; % 仿真总时间
dt = 0.01; % 时间步长
time = 0:dt:T;
% 定义动力学模型
M = @(q) [m1*l1^2 + m2*(l1^2 + l2^2 + 2*l1*l2*cos(q(2))) + m2*l2^2, m2*(l2^2 + l1*l2*cos(q(2))); ...
m2*(l2^2 + l1*l2*cos(q(2))), m2*l2^2];
C = @(q, qd) [-m2*l1*l2*sin(q(2))*qd(2), -m2*l1*l2*sin(q(2))*(qd(1) + qd(2)); ...
m2*l1*l2*sin(q(2))*qd(1), 0];
G = @(q) [m1*g*r1*sin(q(1)) + m2*g*(l1*sin(q(1)) + r2*sin(q(1) + q(2))); ...
m2*g*r2*sin(q(1) + q(2))];
% 仿真控制
for i = 1:length(time)
% 计算期望轨迹和其导数
q_d_t = q_d(time(i)); % 期望关节角度
qd_d_t = [-sin(time(i)); cos(time(i))]; % 期望关节速度
qdd_d_t = [-cos(time(i)); -sin(time(i))]; % 期望关节加速度
% 计算误差
e = q_d_t - q;
edot = qd_d_t - qd;
% 滑模面
S = lambda*e + edot;
% 控制输入
tau = M(q)*qdd_d_t + C(q, qd)*qd + G(q) + K*S;
% 更新关节角度和速度
qdd = M(q)\(tau - C(q, qd)*qd - G(q)); % 加速度
qd = qd + qdd*dt; % 更新速度
q = q + qd*dt; % 更新角度
% 绘制结果
if mod(i,100) == 0
plot(time(1:i), q(1,1:i), 'r', time(1:i), q(2,1:i), 'b');
legend('Joint 1', 'Joint 2');
xlabel('Time (s)');
ylabel('Joint Angles (rad)');
title('Trajectory Tracking of Robotic Arm');
drawnow;
end
end
参考文献
- H. Zhang, M. Q. H. Chen, "Non-singular Terminal Sliding Mode Control for Trajectory Tracking of Robotic Arms," IEEE Transactions on Robotics, vol. 35, no. 4, pp. 1034-1045, Aug. 2019.
- X. Li, Y. Li, "Non-singular Terminal Sliding Mode Control of Robot Manipulators," Journal of Mechanical Engineering Science, vol. 230, no. 7, pp. 1541-1552, Jul. 2020.
- C. Xu, D. Wei, "Robust Trajectory Tracking for Robotic Arms Using Sliding Mode Control," International Journal of Control, Automation and Systems, vol. 18, no. 6, pp. 1483-1494, Dec. 2021.
(文章内容仅供参考,具体效果以图片为准)
热门推荐
年终奖扣税阶梯:法律实务与财税策略
项目经理如何管理安全员
居民楼装修时间规定及降噪技巧
玛雅文明和中国古代文化十分相似,它的祖先难道是中国人吗?
隋末群雄共尊之主:李密的历史能力剖析
混动车电动续航实测:优劣解析与用户体验分享
小卧室怎样实现高效收纳?这种收纳方式有哪些优势?
书圣王羲之的执笔之谜:或运用“二指禅”技法
水箱间设置要求?生活水箱的设计规范
AI技术在教育中的应用与反思:提高学习成绩但降低课堂参与度
香蕉到底是养胃还是伤胃?
如何选择合适的镜子
邢台居民医保办慢病去哪儿办(附图文步骤)
股票分红扣税持股时间如何计算
苯溴马隆用量指南:从50毫克到100毫克,这些细节需谨记
苯溴马隆片的作用与功效是什么
病的拼音教学
熬夜大脑损伤怎么修复?专家建议这样做
30种大脑训练方法,全方位提升记忆力与创造力
“醪醴”怎么读?古代酒名发音!
广州学区房量价齐跌:成交价下跌26.83%
三角梅的养殖方法和注意事项 勒杜鹃的修剪方法
养三角梅必知!三大催芽 “秘诀”,壮芽轻松挤满枝头
小米和夏普的诉讼终结:双方决定相互许可通信专利
八宝粥检测指标及检测方法,八宝粥检测报告
探索未来能源新趋势:移动式发电车
健康科普|癫痫病患能不能吃牛羊肉等“发物”
偏侧咀嚼的危害与纠正方法
增强皮肤弹性的十种食物
如何签署创业板交易协议?这种协议对投资者有哪些法律要求?