当前位置:   article > 正文

Matlab机器人仿真(二):MATLAB求机器人的正逆解_机器人运动学正解matlab仿真

机器人运动学正解matlab仿真

机器人正逆解的概念:
正解:已知机器人各个关节角的值→机器人末端在空间中的位置;
逆解则相反,而逆解是机器人中很重要的东西。下面是利用matlab求机器人的逆解(正解同理):
matlab代码如下所示:

clear;
clc;
%建立机器人模型
L_1 = 20;
L_2 = 50;
L_3 = 40;
%         theta	  d    a   alpha   offset(为机器人的关节初始偏置自行要求)
L(1) = Link([0   L_1    0    pi/2]);
L(2) = Link([0    0     L_2    0]);
L(3) = Link([0    0     L_3    0]);
robot=SerialLink([L(1) L(2) L(3)],'name','S725');

p = [1 0 0 90;
     0 1 0 0;
     0 0 1 20;
     0 0 0 1];
%  P_1 = [     0.539   -0.7698     0.342     62.25;
%     0.1962   -0.2802   -0.9397     22.66;
%     0.8192    0.5736 6.123e-17     77.77;
%          0         0         0         1];%验证其准确性用的
mask = [1 1 1 0 0 0];%
q=ikine(robot,p,'mask',mask)    %ikine逆解函数,根据末端位姿p,求解出关节角q
robot.plot(q);%输出机器人模型,后面的三个角为输出时的theta姿态
q_1 = q(1)*180/pi;
q_2 = q(2)*180/pi;
q_3 = q(3)*180/pi;%弧度制转为角度值
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

注:欠驱动机器人,对于操纵器具有少于6个DOF的情况,解空间向量具有比可以由操纵器关节坐标跨越的更多尺寸。q=R.ikine(T,q0,m,options)。当使用3自由度机械手时,旋转方向可能不重要,在这种情况下m mm=[1 1 1 0 0 0]。
可参考此篇博文,正逆解
运行结果如下所示:
在这里插入图片描述
注:机器人正解获得的位姿矩阵方程,如下图所示:P1.t为位移坐标,P1.n、P1.o、P1.o为旋转算子。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/96589
推荐阅读
相关标签
  

闽ICP备14008679号