机械臂轨迹跟踪:基于非奇异终端滑模控制的控制器设计
创作时间:
作者:
@小白创作中心
机械臂轨迹跟踪:基于非奇异终端滑模控制的控制器设计
引用
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.
(文章内容仅供参考,具体效果以图片为准)
热门推荐
长期心率110左右意味着什么
仕通学堂:公务员考试备考全攻略,高效学习法揭秘
如何安全高效地完成外卖点餐?这份实用指南请收好
Excel怎么不自动输入等号
Excel表格数字显示设置完全指南
圆桌热议:老年兴趣教育成为助推积极老龄化重要手段
算法如何帮助提高引导力
十大常用搜索引擎高级指令有哪些?这些指令如何使用?
肺心病怎么治疗
图灵测试:人工智能的终极考验
中国老年人平衡膳食宝塔图示解析
专家:移植术后并发症不容忽视 把握早筛早诊早治黄金期
越南市场深度洞察:工业与物流蓝海涌现,投资机遇尽显
冷冻集装箱:结构、类型及使用优势详解
软件产品敏感数据加密:从算法选择到合规审计的完整指南
如何了解澳洲PhD全奖留学费用
去磷剂的磷吸附机制及优化策略
30年,百里徒步祭英烈
原来,最快的地震信息都源于它
小白如何看懂源码
环保工程师具体需要做什么
毛笔书法入门神器挑选指南:从毛笔到纸张全面解答
英国短毛猫(英短)优雅与安静的贵族之选
英语词汇量与CEFR级别的对应关系详解
手机超级快充变慢?这些排查和解决方法请收好
教育软件管理的全面解析与实践指南
「深度解析」燃油车的优缺点:从动力到环保的全面审视
慈善与金融:探寻美国财富家族的慈善模式
如何划分城市的线级?这些划分标准如何影响城市发展?
网络老年大学电子琴课程:从入门到精通的全面指南