ToB企服应用市场:ToB评测及商务社交产业平台

标题: [原创]九点标定工具之机械手头部相机标定 [打印本页]

作者: 怀念夏天    时间: 2022-9-1 11:07
标题: [原创]九点标定工具之机械手头部相机标定
1、机械手头部相机与龙门架头部相机的区别?

2、原理分析


3、详细步骤

4、源码

  1.       private void updatePoiMatrix(Position pcbPoi,Position poi1, Position poi2,Position takePhotoPoi)
  2.         {
  3.             //更新对应的数组
  4.             imagePoiList.Add(new Position() { X = (poi1.X + poi2.X) / 2, Y = (poi1.Y + poi2.Y) / 2 });
  5.             //dstPoi- takePhotoPoi,获取takePhoto的J1与J2,
  6.             System.Windows.Point p1=new System.Windows.Point();
  7.             p1.X = pcbPoi.X - takePhotoPoi.X;
  8.             p1.Y = pcbPoi.Y - takePhotoPoi.Y;
  9.             var jAngles=this.currentRobot.GetJAngle();
  10.             double angleJ = -jAngles[0] - jAngles[1];
  11.             System.Windows.Point p2= MatrixHelper.GetRotatePoint(p1, angleJ, new System.Windows.Point() { X = 0, Y = 0 });
  12.             Position newDstPoi = new Position();
  13.             newDstPoi.X = p2.X;
  14.             newDstPoi.Y = p2.Y;
  15.             robotPoiList.Add(newDstPoi);
  16.         }
  17.         
  18.          /// <summary>
  19.         /// 逆时针旋转,获取旋转后的点位
  20.         /// </summary>
  21.         /// <param name="p1">待旋转的点</param>
  22.         /// <param name="angle">旋转角度</param>
  23.         /// <param name="center">旋转中心</param>
  24.         /// <returns></returns>
  25.         public static Point GetRotatePoint(Point p1, double angle, Point center)
  26.         {
  27.             //使用旋转矩阵求值
  28.             RotateTransform rotateTransform = new RotateTransform(angle, center.X, center.Y);
  29.             Point p = new Point(p1.X, p1.Y);
  30.             System.Windows.Point p2 = rotateTransform.Transform(p);
  31.             return p2;
  32.         }
复制代码
5. 后续计划[敬请期待],如需完整代码请微信联系


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4