puma560的运动学及matlab实现(正解+逆解)

简介: puma560的运动学及matlab实现(正解+逆解)

正解源码

DEG = pi/180;

cta1=-70.4385

cta2=182.6918

cta3=-90.0000

cta4=-82.4708

cta5=-19.7387

cta6=-97.9933

T01=[cosd(cta1),-sind(cta1),0,0;

sind(cta1), cosd(cta1),0,0;
0,0,1,0;
0,0,0,1];
复制代码

T02=T01*[cosd(cta2),-sind(cta2),0,0;

0,0,1, 149.09;
-sind(cta2),-cosd(cta2),0,0;
0,0,0,1] ;
复制代码

T03=T02*[cosd(cta3),-sind(cta3),0,431.8;

sind(cta3), cosd(cta3),0,0;
0,0,1,0;
0,0,0,1];
复制代码

T04=T03*[cosd(cta4),-sind(cta4),0,20.32;

0,0,1,433.07;
-sind(cta4),-cosd(cta4),0,0;
0,0,0,1];
复制代码

T05=T04*[cosd(cta5),-sind(cta5),0,0;

0,0,-1,0;
sind(cta5), cosd(cta5), 0,0;
0,0,0,1];
复制代码

T06=T05*[cosd(cta6),-sind(cta6),0,0;

0,0,1,0;
-sind(cta6),-cosd(cta6),0,0;
0,0,0,1];
复制代码

O=T06*[0;0;0;1];

=====================================================

逆解源码

fid = fopen('inverseout.txt','w');%逆解的保存文件 %赋初值 T06 =[0.0000    1.0000    0.0000 -149.0900; 0.0000   -0.0000    1.0000  864.8700; 1.0000         0   -0.0000   20.3200; 0         0         0    1.0000] ; a0=0;  a1=0;  a2=431.8;  a3=20.32;  a4=0;  a5=0; d1=0;  d2=149.09;  d3=0;  d4=433.07;  d5=0; d6=0; n_x=T06(1);   n_y=T06(2);  n_z=T06(3); o_x=T06(5);   o_y=T06(6);  o_z=T06(7); a_x=T06(9);   a_y=T06(10);  a_z=T06(11); p_x=T06(13);  p_y=T06(14);   p_z=T06(15); disp(['八组解分别是:']); for i=1:2 for j=1:2 for k=1:2 %求解theta1(为弧度) sqr1=[sqrt(p_x^2+p_y^2-d2^2),-sqrt(p_x^2+p_y^2-d2^2)]; ta1=atan2(p_y,p_x)-atan2(d2,sqr1(i)); %求解theta3(弧度表示) k1=(p_x^2+p_y^2+p_z^2-a2^2-a3^2-d2^2-d4^2)/(2a2); sqr3=[sqrt(a3^2+d4^2-k1^2),-sqrt(a3^2+d4^2-k1^2) ]; ta3=atan2(a3,d4)-atan2(k1,sqr3(j)); fs23=-((a3+a2cos(ta3))p_z)+(cos(ta1)p_x+sin(ta1)p_y)(a2sin(ta3)-d4); sc23=(-d4+a2sin(ta3))p_z+(cos(ta1)p_x+sin(ta1)p_y)(a2cos(ta3)+a3); ta23=atan2( fs23,sc23); %求解theta2 (弧度表示) ta2=ta23-ta3; %求解theta4 (弧度表示) fs4=[ -a_xsin(ta1)+a_ycos(ta1),a_xsin(ta1)-a_ycos(ta1)]; sc4=[ -a_xcos(ta1)cos(ta23)-a_ysin(ta1)cos(ta23)+a_zsin(ta23), a_xcos(ta1)cos(ta23)+a_ysin(ta1)cos(ta23)-a_zsin(ta23)]; fprintf(fid,'%d,',sc4(1,1)); fprintf(fid,'\t'); fprintf(fid,'%d,',sc4(2,1)); fprintf(fid,'\t'); fprintf(fid,'%d,',fs4(1,1)); fprintf(fid,'\t'); fprintf(fid,'%d,',fs4(1,2)); fprintf(fid,'\t'); fprintf(fid,'\n'); ta4=atan2(fs4(k),sc4(k)); %求解theta5 (弧度表示) fs5=-a_x(cos(ta1)*cos(ta23)*cos(ta4)+sin(ta1)sin(ta4))... -a_y(sin(ta1)*cos(ta23)cos(ta4)-cos(ta1)sin(ta4))... +a_z(sin(ta23)cos(ta4)); sc5=a_x(-cos(ta1)sin(ta23))+a_y(-sin(ta1)sin(ta23))+a_z(-cos(ta23)); ta5=atan2(fs5,sc5); %求解theta6 (弧度表示) fs6=-n_x(cos(ta1)*cos(ta23)*sin(ta4)-sin(ta1)cos(ta4))... -n_y(sin(ta1)*cos(ta23)*sin(ta4)+cos(ta1)cos(ta4))... +n_z(sin(ta23)*sin(ta4));

sc6= n_x*(cos(ta1)*cos(ta23)*cos(ta4)+sin(ta1)*sin(ta4))*cos(ta5)...
              -n_x*cos(ta1)*sin(ta23)*sin(ta5)...
              +n_y*(sin(ta1)*cos(ta23)*cos(ta4)+cos(ta1)*sin(ta4))*cos(ta5)...
              -n_y*sin(ta1)*sin(ta23)*sin(ta5)...
              -n_z*(sin(ta23)*cos(ta4)*cos(ta5)+cos(ta23)*sin(ta5));
            ta6=atan2(fs6,sc6);
            %save 
            %将其化为角度
            Theta=[ta1 ta2 ta3 ta4 ta5 ta6]./pi*180
      end
  end   
复制代码

end


相关文章
|
6天前
|
存储 算法 数据可视化
MATLAB - 机器人逆运动学设计器(Inverse Kinematics Designer APP)
MATLAB - 机器人逆运动学设计器(Inverse Kinematics Designer APP)
18 0
|
11月前
|
编解码 算法
基于自适应运动补偿的双向运动估计算法matlab仿真
基于自适应运动补偿的双向运动估计算法matlab仿真
|
6天前
|
数据可视化 机器人
MATLAB - 双连杆机械臂逆运动学的推导及应用
MATLAB - 双连杆机械臂逆运动学的推导及应用
8 1
|
6天前
|
机器人
MATLAB - 机器人任务空间运动模型
MATLAB - 机器人任务空间运动模型
12 1
|
6天前
|
机器人 vr&ar
MATLAB - 移动机器人运动学方程
MATLAB - 移动机器人运动学方程
12 0
|
6天前
|
数据可视化 安全 机器人
MATLAB - 使用运动学 DH 参数构建机械臂
MATLAB - 使用运动学 DH 参数构建机械臂
12 0
|
6天前
|
机器人 Serverless
MATLAB - 机器人关节空间运动模型
MATLAB - 机器人关节空间运动模型
7 0
|
7天前
|
数据可视化 机器人 计算机视觉
MATLAB - 机械臂逆运动学进行轨迹控制建模
MATLAB - 机械臂逆运动学进行轨迹控制建模
17 0
车辆行驶控制运动学模型的matlab建模与仿真,仿真输出车辆动态行驶过程
该课题在MATLAB2022a中建立了车辆行驶控制运动学模型并进行仿真,展示车辆动态行驶过程。系统仿真结果包含四张图像,显示了车辆在不同时间点的位置和轨迹。核心程序定义了车辆参数和初始条件,使用ode45求解器模拟车辆运动。车辆运动学模型基于几何学,研究车辆空间位姿、速度随时间变化,假设车辆在平面运动且轮胎无滑动。运动学方程描述位置、速度和加速度关系,模型预测控制用于优化轨迹跟踪,考虑道路曲率影响,提升弯道跟踪性能。
|
2月前
|
机器学习/深度学习 数据采集 算法
m基于Googlenet深度学习的运动项目识别系统matlab仿真,包括GUI界面
**摘要:** 在MATLAB 2022a中,基于GoogLeNet的运动识别系统展示优秀性能。GoogLeNet,又称Inception网络,通过结合不同尺寸卷积核的Inception模块实现深度和宽度扩展,有效识别复杂视觉模式。系统流程包括数据预处理、特征提取(前端层学习基础特征,深层学习运动模式)、池化、Dropout及全连接层分类。MATLAB程序示例展示了选择图像、预处理后进行分类的交互过程。当按下按钮,图像被读取、调整大小并输入网络,最终通过classify函数得到预测标签。
21 0

热门文章

最新文章