六自由度Stewart平台的matlab模拟与仿真

举报
yd_293572134 发表于 2024/07/15 21:23:06 2024/07/15
【摘要】 1.课题概述       六自由度Stewart平台的matlab模拟与仿真,模拟六自由度Stewart平台的动态变化情况以及伺服角度。 2.系统仿真结果 3.核心程序与模型版本:MATLAB2022afigure;for k = 1:length(Zheave)% 遍历每个时间点,计算并绘制运动轨迹和伺服角度 % 计算基座到平台的旋转矩阵 Mrate = [cos(psi)*co...

1.课题概述

       六自由度Stewart平台的matlab模拟与仿真,模拟六自由度Stewart平台的动态变化情况以及伺服角度。

 

2.系统仿真结果

1.jpeg

2.jpeg

 

3.核心程序与模型

版本:MATLAB2022a

figure;
for k = 1:length(Zheave)% 遍历每个时间点,计算并绘制运动轨迹和伺服角度  
    % 计算基座到平台的旋转矩阵 
Mrate = [cos(psi)*cos(theta), cos(psi)*sin(phi) * sin(theta) - cos(phi)*sin(psi), sin(phi)*sin(psi) + cos(phi)*cos(psi)*sin(theta);
             cos(theta)*sin(psi), cos(phi)*cos(psi) + sin(phi)*sin(psi)*sin(theta),   cos(phi)*sin(psi)*sin(theta) - cos(psi)*sin(phi);
            -sin(theta),          cos(theta)*sin(phi),                                cos(phi)*cos(theta)        ];

    %计算有效腿长  
    T  = [Xsurge(k) Ysway(k) Lsqrt+Zheave(k)]';           % 平台中心的坐标 
    q  = repmat(T,1,6) + Mrate*Platm;          % 将平台坐标转换到基座坐标系下  
xq = q(1,:);                        % 转换后的x坐标  
yq = q(2,:);                        % 转换后的y坐标  
zq = q(3,:);                        % 转换后的z坐标  

    l  = q - Base;   % 计算腿长(向量)  
    %计算伺服角度 
    L = sum(l.*l) - (Lleg^2 - Larm^2);% 计算L值(考虑伺服臂和腿的长度)
    M = 2*Larm*(zq - zb);% 计算M值(考虑z方向的差异)  
    N = 2*Larm*(cosd(Theta3).*(xq - xb) + sind(Theta3).*(yq - yb)); % 计算N值(考虑x和y方向的差异以及伺服臂角度)  
    alpha = asind(L./sqrt(M.^2 + N.^2)) - atand(N./M);      % 计算伺服角度(逆正弦和逆正切函数)  
    Sets(k,:) = alpha;% 存储计算得到的伺服角度  

    % 计算伺服臂坐标
    xa = Larm*cosd(alpha).*cosd(Theta3) + xb;
ya = Larm*cosd(alpha).*sind(Theta3) + yb;
    za = Larm*sind(alpha) + zb;

    %% Plot
clf

subplot(221);
    views;
view([0,0]); 
    title('side');

subplot(222);
    views;
view([45,45]); 
    title('iso');

subplot(223);
    views;
view([90,0]); 
    title('front');

subplot(224);
    views;
view([145,15]); 
    title('iso');
         % select view
pause(0.00001)
end

figure
plot(Times,Sets,'LineWidth',2);
xlabel('时间');
ylabel('伺服角度');
title('伺服角度');
legend('1st Arm','2st Arm','3st Arm','4st Arm','5st Arm','6st Arm');
grid on;
35

 

4.系统原理简介

       六自由度(6-DOFStewart平台是一种高度灵活且广泛应用的空间定位机构,它能够实现六个独立自由度的运动:三个平动自由度(XYZ轴方向的直线移动)和三个转动自由度(绕XYZ轴的旋转)。这种平台由一个中心平台和通过六个具有可伸缩连杆与六个固定基座相连的伺服驱动器组成,每个连杆末端装有万向节,确保任何角度下的力矩传递。

 

        Stewart平台由上下两个平行平台(上平台为动平台,下平台为静平台)和六个可伸缩的支撑杆组成。每个支撑杆的两端分别通过球铰或虎克铰与上下平台相连。球铰可以实现三个方向的转动自由度,而虎克铰则可以实现两个方向的转动自由度。因此,通过合理选择球铰或虎克铰的连接方式,可以实现平台在空间中的六个自由度运动。

 

4.1运动学原理

 

3.png

 

4.2 Stewart平台运动学方程

       动力学分析是求解平台在给定输入力和力矩下的运动加速度。对于Stewart平台而言,输入力和力矩为六个支撑杆的驱动力和驱动力矩,输出加速度为动平台的加速度和角加速度。

4.png

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。