基于XYR对位平台的定位纠偏方式2(利用旋转中心标定)
60Halcon之XYR对位平台纠偏-旋转中心标定
read_tuple ('Row_Curr', Row_Curr)
read_tuple ('Column_Curr',Column_Curr )
read_tuple ('Phi_Curr',Phi_Curr )
read_tuple ('Angle_Curr',Angle_Curr )
read_tuple ('Row_Target', Row_Target)
read_tuple ('Column_Target',Column_Target )
read_tuple ('Phi_Target',Phi_Target )
read_tuple ('Angle_Target',Angle_Target )
read_tuple ('D:/九点标定.tup', HomMat2D)
read_tuple ('CenterX.tup',CenterX)
read_tuple ('CenterY.tup',CenterY)
* 纠偏方式2:角度和xy同时进行纠偏,xy纠正的偏差量
* 获取当前位置绕旋转中心,旋转之后的点位置
offset_p := Phi_Target-Phi_Curr
sin_value := sin(offset_p)
cos_value := cos(offset_p)
affine_trans_point_2d (HomMat2D,Row_Curr ,Column_Curr , x, y)
after_angle_x:=(x-CenterX)*cos_value-(y-CenterY)*sin_value+CenterX
after_angle_y:=(x-CenterX)*sin_value+(y-CenterY)*cos_value+CenterY
* 目标位置-旋转之后的位置,获取偏移量
affine_trans_point_2d (HomMat2D,Row_Target ,Column_Target , Qx1, Qy1)
* 纠偏量xy
dx := Qx1-after_angle_x
dy := Qy1-after_angle_y
* 获取纠偏角度
offset_angle :=Angle_Target-Angle_Curr
machine_a := offset_angle/0.722