机器人仿真中三种坐标系下运动的实现原理:关节坐标系、世界坐标系、工具坐标系

1、示教器控制(世界坐标、关节坐标、工具坐标系下机器人运动的实现思路)

1)情况说明:

机器人坐标系统基本上就只有两种:

第一种为关节坐标系;

第二种为世界坐标系;

2)机器人的运动方式概括为三种:

第一种为在世界坐标系下运动,即机器人末端TCP的运动沿着固定坐标系作变换(左乘,从右往左)

第二种为关节坐标系下运动,即关节的运动;

第三种为工具坐标系下运动,即机器人末端TCP的运动沿着自身坐标系作变换(右乘,从左往右)

无论哪种运动方式,最后呈现给用户的都是世界坐标和关节坐标;

3)世界坐标系下运动思路实现:

分为两块实现:

一是平移,沿着世界坐标的XYZ轴平移;

二是旋转,绕着世界坐标系的ZYX轴旋转;

a)关于平移:

即tcp(末端点位姿,世界坐标),当前的tcp(10,20, 40, 90, 0, 0)(ZYX欧拉角)沿着世界坐标的XYZ轴平移10个单位,以沿着X轴举例:

最简单的思路,tcp的X值加10,即x = x+10实现;

基于矩阵变换的思想分析:先构建平移的变换矩阵 T t r a n s x = [ 1 0 0 10 0 1 0 0 0 0 1 0 0 0 0 1 ] T_{trans_x}=\begin{bmatrix}1 & 0 & 0 & 10 \\0 & 1 & 0 & 0 \\0 & 0 & 1 & 0\\0 & 0 & 0 & 1\end{bmatrix} Ttransx= 10000100001010001 ,再构建tcp的变换矩阵 T t c p = T t r a n s ∗ R z ∗ R y ∗ R x = [ 1 0 0 10 0 1 0 20 0 0 1 40 0 0 0 1 ] [ 0 − 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 ] [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ] [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ] = [ 0 − 1 0 10 1 0 0 20 0 0 1 40 0 0 0 1 ] T_{tcp} = T_{trans} * R_{z} * R_{y} * R_{x} = \begin{bmatrix}1 & 0 & 0 & 10 \\0 & 1 & 0 & 20 \\0 & 0 & 1 & 40 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix}0 & -1 & 0 & 0 \\1 & 0 & 0 & 0 \\0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix}1 & 0 & 0 & 0 \\0 & 1 & 0 & 0 \\0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix}1 & 0 & 0 & 0 \\0 & 1 & 0 & 0 \\0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix}0 & -1 & 0 & 10 \\1 & 0 & 0 & 20 \\0 & 0 & 1 & 40 \\ 0 & 0 & 0 & 1 \end{bmatrix} Ttcp=TtransRzRyRx= 1000010000101020401 0100100000100001 1000010000100001 1000010000100001 = 0100100000101020401

最终的变换矩阵为(左乘,固轴,因为只有平移,所以右乘也一样) T = T t r a n s x ∗ T t c p = [ 0 − 1 0 20 1 0 0 20 0 0 1 40 0 0 0 1 ] T = T_{trans_x} * T_{tcp} = \begin{bmatrix}0 & -1 & 0 & 20 \\1 & 0 & 0 & 20 \\0 & 0 & 1 & 40 \\ 0 & 0 & 0 & 1 \end{bmatrix} T=TtransxTtcp= 0100100000102020401 ,最终世界坐标为(20,20,40,90,0,0);

b) 关于旋转:

即TCP绕着世界坐标轴的Z轴旋转90度:

只能基于矩阵变换分析:

T = T r o t z ∗ T t c p = [ 0 − 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 ] [ 0 − 1 0 10 1 0 0 20 0 0 1 40 0 0 0 1 ] = [ − 1 0 0 − 20 0 − 1 0 10 0 0 1 40 0 0 0 1 ] T = T_{rot_z} * T_{tcp} = \begin{bmatrix}0 & -1 & 0 & 0 \\1 & 0 & 0 & 0 \\0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix}0 & -1 & 0 & 10 \\1 & 0 & 0 & 20 \\0 & 0 & 1 & 40 \\ 0 & 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix}-1 & 0 & 0 & -20 \\0 & -1 & 0 & 10 \\0 & 0 & 1 & 40 \\ 0 & 0 & 0 & 1 \end{bmatrix} T=TrotzTtcp= 0100100000100001 0100100000101020401 = 1000010000102010401

4)工具坐标系下的运动思路实现

a)关于平移

即TCP在自身坐标系下的平移,以沿着自身坐标系X轴平移10举例:

T = T t c p ∗ T t r a n s x = [ 0 − 1 0 10 1 0 0 20 0 0 1 40 0 0 0 1 ] [ 1 0 0 10 0 1 0 0 0 0 1 0 0 0 0 1 ] = [ 0 − 1 0 10 1 0 0 30 0 0 1 40 0 0 0 1 ] T = T_{tcp} * T_{trans_x} = \begin{bmatrix}0 & -1 & 0 & 10 \\1 & 0 & 0 & 20 \\0 & 0 & 1 & 40 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix}1 & 0 & 0 & 10 \\0 & 1 & 0 & 0 \\0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix}0 & -1 & 0 & 10 \\1 & 0 & 0 & 30 \\0 & 0 & 1 & 40 \\ 0 & 0 & 0 & 1 \end{bmatrix} T=TtcpTtransx= 0100100000101020401 10000100001010001 = 0100100000101030401

b)关于旋转

即TCP绕着自身坐标系Z轴旋转90度:

T = T t c p ∗ T r o t z = [ 0 − 1 0 10 1 0 0 20 0 0 1 40 0 0 0 1 ] [ 0 − 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 ] = [ − 1 0 0 10 0 − 1 0 20 0 0 1 40 0 0 0 1 ] T = T_{tcp} * T_{rot_z} = \begin{bmatrix}0 & -1 & 0 & 10 \\1 & 0 & 0 & 20 \\0 & 0 & 1 & 40 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix}0 & -1 & 0 & 0 \\1 & 0 & 0 & 0 \\0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix}-1 & 0 & 0 & 10 \\0 & -1 & 0 & 20 \\0 & 0 & 1 & 40 \\ 0 & 0 & 0 & 1 \end{bmatrix} T=TtcpTrotz= 0100100000101020401 0100100000100001 = 1000010000101020401

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值