EN

资源

RESOURCES

接下来我们再进阶一下,算一下以对位平台台面上任意一点为中心,进行旋转运动的运动学方程正反解

我们首先解释下什么是运动学的正解和反解,运动学正解,既是已知各可变结构参数,求末端执行器的相对参考坐标系的位姿;而运动学反解,则是已知末端执行器的相对参考坐标系的位姿,求各可变结构如何能调参才能够满足。

由于对位平台一般应用于通过机器视觉获取位姿再进行调整纠偏的场景,所以,运动学反解使用的情况要比正解多得多,所以,我们还是从反解开始。

运动学反解:(终端→可变端)

各轴脚初始坐标(固有值)


运动学正解:可变端→终端)

对位平台的工作空间求解

工作空间指在一定条件下,终端执行器所能到达的空间位置的集合。一般来说,并联结构的工作空间都比较小,所以在一定程度上限制了其应用。因此对于并联结构的工作空间进行分析就显得尤为重要。

对于工作空间的求解一般采用解析法或数值法,解析法从工程角度而言十分繁琐,直观性不强;数值法利用位置正解或逆解来求解工作空间。我们通过MATLAB软件求解机构的位置正解及电机和导轨行程作为限制条件进行工作空间的求解。

定义平台结构参数:X1 = X2 = Y = 137.89mm,电机行程范围:-15mm ≤ (x1 = x2 = y) ≤ 15mm,导轨行程:-15mm ≤ d ≤ 15mm。


工作空间仿真图

Matlab部分代码参考:

close all; clear all; clc

%% 设置模板位置参数

figure(1)

grid on;axis([-200,200,-200,200]);hold on;

% 定义生成模板物体mode:x,y,theta(基于XYR平台绝对坐标系)

Template = [25, 35 , pi*0.2];

% 定义待纠偏物体re:x,y,theta(基于XYR平台绝对坐标系)

Rectify_deviation = [15, 22, pi*0.4];

% Y轴执行机构-目标坐标

yx = (Yx0 - at)*cos(THETA) - (Yy0 - bt)*sin(THETA) + at + X;

yy = (Yx0 - at)*sin(THETA) + (Yy0 - bt)*cos(THETA) + bt + Y;

% X1轴执行机构-目标坐标

x1x = (X1x0 - at)*cos(THETA) - (X1y0 - bt)*sin(THETA) + at + X;

x1y = (X1x0 - at)*sin(THETA) + (X1y0 - bt)*cos(THETA) + bt + Y;

% X2轴执行机构-目标坐标

x2x = (X2x0 - at)*cos(THETA) - (X2y0 - bt)*sin(THETA) + at + X;

x2y = (X2x0 - at)*sin(THETA) + (X2y0 - bt)*cos(THETA) + bt + Y;

% O坐标

ox = (Ox0 - at)*cos(THETA) - (Oy0 - bt)*sin(THETA) + at + X;

oy = (Ox0 - at)*sin(THETA) + (Oy0 - bt)*cos(THETA) + bt + Y;

%求出第一次旋转后,待纠偏物体新的位姿

rx1 = Rectify_deviation(1);

rx2 = Rectify_deviation(2);

Rectify_deviation(1) = (rx1 - at)*cos(THETA) - (rx2 - bt)*sin(THETA) + at + X;

Rectify_deviation(2) = (rx1 - at)*sin(THETA) + (rx2 - bt)*cos(THETA) + bt + Y;

Rectify_deviation(3) = Rectify_deviation(3) + THETA_M;       PX(incr)=-sin(Theta1).*(d2+sin(Theta4).*sin(Theta5).*d6)+cos(Theta1).*(cos(Theta2).*cos(Theta4)*sin(Theta5)*d6+sin(Theta2)*(d3+cos(Theta5)*d6));          PY(incr)=cos(Theta1).*(d2+sin(Theta4).*sin(Theta5).*d6)+sin(Theta1).*(cos(Theta2).*cos(Theta4)*sin(Theta5)*d6+sin(Theta2)*(d3+cos(Theta5)*d6));

PZ(incr)=-cos(Theta4)*sin(Theta2)*sin(Theta5)*d6+cos(Theta2)*(d3+cos(Theta5)*d6);

以对位台面重心为参照点,则有:

位置正解

输入(mm)

输出(mm,10-2弧度)

 

X1

X2

Y

X

Y

5

-5

0

-5

0

0

5

-5

-3

-5

3

0

-5

5

-5

0

0

0.05009

4

2

3

3

2

-0.01031

位置反解

输入(mm,10-2弧度)

输出(mm)

 

X

Y

θ´

X1

X2

Y

-5

5

0

-5

5

-5

-5

-3

0

5

-5

3

0

0

0.03491

-3.462

3.462

-3.462

2

-3

--0.05236

2.969

-6.969

7.969