机械臂轨迹跟踪:基于非奇异终端滑模控制的控制器设计
创作时间:
作者:
@小白创作中心
机械臂轨迹跟踪:基于非奇异终端滑模控制的控制器设计
引用
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.
(文章内容仅供参考,具体效果以图片为准)
热门推荐
饭后这样做可能损害健康!六种不良习惯要当心
热点扩散 赚钱效应提升 科技资产上涨有望带动更多板块
2025南昌大学研究生学费收费标准
谷歌新量子芯片"Willow"突破性进展引发多重宇宙理论争议
HTTPS域名443端口证书到期问题排查与解决
双黄连口服液:功效、适用病症及注意事项全解析
九型人格第三型人格 - 成就者 - 竞争性成就者
AI时代,草根创业者迎来4大机遇
聊聊能力圈
公考年龄放宽 打破“35岁求职门槛”再进一步
恢复受密码保护的惠普彩色激光打印机的出厂设置
睡眠瘫痪:当意识清醒而身体无法动弹的恐惧
19+15+12!东契奇解锁30队三双大满贯,詹姆斯末节16分超40岁乔丹
半夜肚子疼自救指南:5种实用缓解方法
土家族最隆重的节日——过赶年
公募人事变动新趋势:主动调整和团队化转向
中期分红来了!中国人保、中国人寿同步公告
八字金多的人适合什么行业
PS5 Pro价格风波:高定价与弱需求如何让黄牛陷入困境
为什么医生建议将美托洛尔换成盐酸贝凡洛尔片?
治愈内耗最好的方式:读书,运动,赚钱
脾虚湿热吃什么药最好?权威中医解答
前端开发如何提高收入
什么是 1440p 分辨率?1440p VS 1080p VS 4K 区别
“永嘉之乱:当西晋的辉煌与外族的铁骑相遇,历史的悲剧与启示”
分时均价线的作用是什么?如何利用分时均价线进行投资分析?
孩子最讨厌的3种说话语气,家长越早改变越好
TDS水质检测正常值范围及影响因素详解
胆红素血症:成因、症状与治疗全解析
激光焊接精度能达到多少?焊点大小和热影响区能控制吗?