背景:最近經常碰到機器人引導的項目,經常 碰到機器人旋轉中心與視覺旋轉中心不重合的問題。很多的視覺工程師不懂機器人,而機器人工程師又不懂視覺,導緻雙方都認為自己沒有問題而阻礙項目進度。經常導緻在做一些機器人引導的項目時碰到問題特别是視覺引導對位的項目中。再次總結一些相關方面的教訓,供大家參考。其實在計算旋轉後的新坐标時,這本是一個高中問題,卻發現其推導有些複雜,故此處寫下此問題的推導過程。
問題描述:如上圖,已知定點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
此公式是所有機器人與視覺引導偏差計算的基礎,因此特推辭此推導公式。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!