1.一种5自由度机械臂逆运动学求解方法,其特征在于,所述方法包括以下步骤:
1)根据机械臂D-H参数建立正运动学模型
通过D-H参数确定机械臂每个连杆上的坐标系以及其坐标系之间的转换关系,连杆坐标系{i}相对于连杆坐标系{i-1}的变换矩阵Ai,两相邻杆件的坐标系变换关系式根据D-H法则得:上式各参数含义为杆件i相对于杆件i-1先绕轴zi-1旋转θi角度,再沿轴zi-1方向移动di距离,再沿轴xi-1移动ai距离,再绕轴xi-1旋转αi角度;
将各个连杆变换矩阵Ai(i=1,2,...,n)相乘得到机械臂末端坐标系相对于固定坐标系的变换矩阵表达式:即为坐标系{n}相对于坐标系{0}的变换矩阵, 是关于n个关节变量q1,q2,...,qn的函数,则:根据式(3),得机械臂的正运动学方程:
式(4)表明了机械臂末端位置P3*1、姿态R3*3与各关节变量之间的函数关系;
2)建立机械臂末端位姿误差函数模型
采用正态分布随机关节变量样本qsample,任意选取一组qe=(θ1,...,θn)作为初始猜测关节角,通过正运动学将该组关节角转换成末端姿态信息矩阵 其中机械臂末端位置Pe∈R3,末端姿态Re∈R3*3是3*3的旋转矩阵,O为1*3的零矩阵;
对于给定的末端期望姿态信息矩阵 其中末端期望位置Pd∈R3,末端期望姿态
3*3
Rd∈R ,O为1*3的零矩阵,通过末端姿态Re与末端期望姿态Rd的内积求得两姿态矩阵各轴的欧拉角[r p γ],其中r为绕x轴的旋转量,p为绕y轴的旋转量,γ为绕z轴的旋转量,末端初始猜测位姿的误差和期望位姿的误差分别表示为:Δpe=pd-pe,Δpe∈R3 (5)
ΔRe=[r p γ]
定义末端位姿误差向量为e=[Δpe ΔRe]∈R1*6,末端位姿误差函数如下
3)目标是在当前状态小的扰动下计算末端位姿误差函数,即最小化误差函数Err(θ),将返回的函数值计入到一个新的状态,迭代直至Err(θ)在允许误差内;
4)进化策略算法首先通过蒙特卡洛方法采样n个随机的方向εi,该采样服从均值为零,方差σ不变的正态分布,基本更新状态规则如下:式(7)中,θt+1是t+1时刻的关节量,θt是t时刻的关节量,α是学习因子,(7)式表明状态更新沿着εi的方向,并且更新的方向与误差大小成正比,更大的误差函数Err(θ)的值,意味在该方向上移动地更远,即状态更新地越快;
式(8)采用有限差分近似的方式来计算误差函数Err(θ)在θ点处的近似梯度gσ(θ),gσ(θ)采用了对偶采样,有效地降低正态分布随机样本的方差;
5)不断地迭代(7)式,更新状态,直至误差函数收敛至零附近或迭代允许误差内,退出迭代,输出迭代结果qout(θ)=[θ1 ... θn],表明在允许误差内,末端姿态信息矩阵已与末端期望姿态信息矩阵 重合,即得到机械臂逆运动学方程的解qout(θ)=[θ1 ... θn];
6)若上式步骤中,迭代结束,误差函数仍未收敛至零或允许误差内,则表明该解是局部最优解,返回步骤2)中更换初始关节值,使其跳出局部最优解。