背景:最近经常碰到机器人引导的项目,经常 碰到机器人旋转中心与视觉旋转中心不重合的问题。很多的视觉工程师不懂机器人,而机器人工程师又不懂视觉,导致双方都认为自己没有问题而阻碍项目进度。经常导致在做一些机器人引导的项目时碰到问题特别是视觉引导对位的项目中。再次总结一些相关方面的教训,供大家参考。其实在计算旋转后的新坐标时,这本是一个高中问题,却发现其推导有些复杂,故此处写下此问题的推导过程。

有没有机器人轨迹预测的算法(机器人视觉引导关键的数学公式推导)(1)

问题描述:如上图,已知定点A(x0,y0),给定任一点B(x1,y1),求B饶A顺时针旋转a角度后的C点坐标。

解:先做平移,使A移到原点O,相应的B移到B',先求B'饶O顺时针旋转a角度后的C'点坐标,再讲该坐标平移得到C点坐标,即为所求。B'(x1-x0,y1-y0),角BAC=角B'OC'=a,设角B'Ox=b, |OB'|=r

则b=arctan[(y1-y0)/(x1-x0)] = arcsin[(y1-y0)/r] = arccos[(x1-x0)/r],(取那种表示方式视计算方便而定)

角C'Ox=a b,则C'点坐标为(r*cos(a b),r*sin(a b) )

cos(a b)=cosa*cosb-sina*sinb = (x1-x0)/r *cosa - (y1-y0)/r *sina

sin(a b)=sina*cosb cosa*sinb = (x1-x0)/r *sina (y1-y0)/r *cosa

所以C’(x2',y2')为:

x2' = (x1-x0)*cosa - (y1-y0)*sina

y2' = (x1-x0)*sina (y1-y0)*cosa

将C'按向量(x0,y0)平移得到C(x2,y2):

x2 = (x1-x0)*cosa - (y1-y0)*sina x0

y2 = (x1-x0)*sina (y1-y0)*cosa y0

此公式是所有机器人与视觉引导偏差计算的基础,因此特推辞此推导公式。

,