开启左侧

自己搭的两轴只有关节坐标怎么标定?

[复制链接]
qweqwq 发表于 2021-11-5 15:59:33 | 显示全部楼层 |阅读模式
相机固定安装,自己搭建的2轴只有关节坐标没有直角坐标,而且两个轴长度只有个大概,精度在1mm,这种情况怎么标定?有没有不需要臂长的标定方式?
 楼主| qweqwq 发表于 2021-11-5 16:13:50 | 显示全部楼层
求各位大佬指指方向,试过直接把两轴的关节角度当成XY放进vector_to_hom_mat2d算子,但是最终测试了一下效果,X还可以,Y差太多,就茫然了
1636099742(1).jpg
绝地武士 发表于 2021-11-9 18:15:59 | 显示全部楼层
qweqwq 发表于 2021-11-5 16:13
求各位大佬指指方向,试过直接把两轴的关节角度当成XY放进vector_to_hom_mat2d算子,但是最终测试了一下效 ...

代码贴出来啊,还要我自己手打么???
 楼主| qweqwq 发表于 2021-11-10 11:31:07 | 显示全部楼层

*x1存储图像坐标x
x1:=[15,15,17,19,18.5,17]
*y1存储图像坐标y
y1:=[16,17,16.5,13,15,18]
*x2存储两轴的第一轴关节角度
x2:=[11.1011563001571, 17.6582443983142, 21.1763751936513, 5.974950644959, 17.2273723357506, 36.869897645847]
*y2存储两轴的第二轴关节角度
y2:=[58.6677485024058, 50.9498774638465, 38.0475074536199, 46.895326180104,36.1476111219164, 16.260204708312]

vector_to_hom_mat2d (x1, y1,x2,y2, HomMat2D)
for Index1 := 1 to 5 by 1
affine_trans_point_2d (HomMat2D, x1[Index1], y1[Index1], Qx, Qy)
x:= x2[Index1]-Qx
y:= y2[Index1]-Qy

stop ()
endfor
 楼主| qweqwq 发表于 2021-11-10 11:32:11 | 显示全部楼层
绝地武士 发表于 2021-11-9 18:15
代码贴出来啊,还要我自己手打么???
*x1存储图像坐标x
x1:=[15,15,17,19,18.5,17]
*y1存储图像坐标y
y1:=[16,17,16.5,13,15,18]
*x2存储两轴的第一轴关节角度
x2:=[11.1011563001571, 17.6582443983142, 21.1763751936513, 5.974950644959, 17.2273723357506, 36.869897645847]
*y2存储两轴的第二轴关节角度
y2:=[58.6677485024058, 50.9498774638465, 38.0475074536199, 46.895326180104,36.1476111219164, 16.260204708312]

vector_to_hom_mat2d (x1, y1,x2,y2, HomMat2D)
for Index1 := 1 to 5 by 1
affine_trans_point_2d (HomMat2D, x1[Index1], y1[Index1], Qx, Qy)
x:= x2[Index1]-Qx
y:= y2[Index1]-Qy

stop ()
endfor
 楼主| qweqwq 发表于 2021-11-10 11:34:11 | 显示全部楼层
绝地武士 发表于 2021-11-9 18:15
代码贴出来啊,还要我自己手打么???

谢谢大大
 楼主| qweqwq 发表于 2021-11-11 10:45:57 | 显示全部楼层
已经弄出来了,测试发现其实不需要知道两轴的具体臂长,只要通过大量的假设臂长代入测试,找到一组标定精度高的假设臂长,这组臂长一定是跟真实臂长成比例关系,然后再通过假设臂长以及图像换算的坐标反算操作臂的旋转角度即可,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表