赞
踩
机器人正逆解的概念:
正解:已知机器人各个关节角的值→机器人末端在空间中的位置;
逆解则相反,而逆解是机器人中很重要的东西。下面是利用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;%弧度制转为角度值
注:欠驱动机器人,对于操纵器具有少于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为旋转算子。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。