function [deltax1,deltax2,deltay] = PPR3_InversePosKin_U_V2( x1,y1,theta1,x2,y2,theta2)
% 3PPR平面并联平台(U型底座)逆运动学
%( x1,y1,theta1,x2,y2,theta2)为视觉系统给定的绝对位置
%(x1,y1,theta1)为当前动平台的位置,(x2,y2,theta2)为动平台的目标位置,距离的单位为[mm],角度(theta1和theta2)的单位为[°]
%(deltax1,deltax2,deltay)为三个驱动臂x1,x2,y的移动距离
theta3=(theta1*pi)/180;%将°转换为弧度
theta4=(theta2*pi)/180;
x21=x2-x1;%将输入参数由绝对量变成相对量(视觉系统可直接输入相对量)
y21=y2-y1;
theta21=theta2-theta1;
if(((-10<=x2)&(x2<=10))&&((-10<=y2)&(y2<=10))&&((-5<=theta2)&(theta2<=5)))%最大行程±10mm*±10mm*±5°
R=145*sqrt(2);%虚拟圆半径
thetax1=0.75*pi;%与X1轴连结的交叉滚珠轴环中心的角度位置
thetax2=1.25*pi;%与X2轴连结的交叉滚珠轴环中心的角度位置
thetay=0.25*pi;%与Y轴连结的交叉滚珠轴环中心的角度位置
deltax1=R*cos(theta4+thetax1)-R*cos(theta3+thetax1)+x21;
deltax2=R*cos(theta4+thetax2)-R*cos(theta3+thetax2)+x21;
deltay=R*sin(theta4+thetay)-R*sin(theta3+thetay)+y21;
else
deltax1=0;
deltax2=0;
deltay=0;
fprintf('警告:平台运动超过行程!\n');
end
end