手机拍照转机器人末端坐标(九点标定法)

1.打印标定纸,随机九个点

2.让UR机器人末端分别走到P1-P9九个点

在图示位置读取九个点的X,Y坐标

3.手机拍照(固定点)

测试可以随机拍一张,实用的话需要固定手机的拍照位置,得到的图片如下:

4.OpenCV取值这九个点的像素坐标

实用如下代码显示这个图片,用鼠标悬停取抄写坐标

python 复制代码
import cv2
import numpy as np

input_img='/home/cheni/Downloads/xyz.jpeg'
image = cv2.imread(input_img)
#让图片可以缩写拉伸
cv2.namedWindow('Harris', cv2.WINDOW_NORMAL | cv2.WINDOW_KEEPRATIO)
cv2.imshow('Harris',image)

if cv2.waitKey(0) & 0xff == 27:
    cv2.destroyAllWindows()

效果如下:

鼠标悬停在P1上,在左下角就可以读取这个像素坐标值了。

5.标定矩阵计算加验证

验证算法如下:

python 复制代码
import numpy as np
import cv2
robot_end_xy=np.array([
    [-316,-611.4],
    [-359.7,-589.3],
    [-296.4,-573.2],
    [-372.3,-558.7],
    [-293.8,-530],
    [-343.4,-522.7],
    [-222.8,-510],
    [-329.6,-486.6],
    [-288.1,-472.4],
])
phone_image_xy=np.array([
    [1371,923],
    [1912,965],
    [1367,1479],
    [1764,1423],
    [1555,1890],
    [2115,1702],
    [930,2490],
    [2150,2175],
    [1799,2520],
 ])
#计算两组坐标之间的仿射矩阵
m, _ = cv2.estimateAffine2D(phone_image_xy, robot_end_xy)
print (m)
def get_points_robot(x_camera, y_camera):
    robot_x = (m[0][0] * x_camera) + (m[0][1] * y_camera) + m[0][2]
    robot_y = (m[1][0] * x_camera) + (m[1][1] * y_camera) + m[1][2]
    return robot_x, robot_y
#验证其中一个点,倒数第三个(930,2490)像素坐标转换机器人坐标
x,y= get_points_robot(930,2490)
print(x,y)

运行后结果分析:

bash 复制代码
cheni@yuchen:~$ /bin/python3 /home/cheni/Desktop/suanfa.py
[[-7.71668805e-02  3.77840943e-02 -2.45046408e+02]
 [ 3.92542458e-02  7.59681698e-02 -7.35221624e+02]]
-222.7292116274272 -509.55443216333356
cheni@yuchen:~$ ^C

1是计算的仿射矩阵,2是验证倒数第三个点,可以看到误差不是太大。

6.参考文章

Python-opencv 手眼标定(九点定位)_opencv设置视觉抓取点怎么确定-CSDN博客

基于OpenCv的机器人手眼标定(九点标定法)《转载》_qt opencv 九点标定_hehedadaq的博客-CSDN博客

相关推荐
愤怒火龙果2 小时前
张小珺商业访谈笔记整理|对话 Dyna 创始人 Lindon Gao:机器人世界的迷雾、分歧与抉择
人工智能·机器人·人物访谈
具身AGI4 小时前
一块远程显卡服务一队机器人,瓶颈不在模型
人工智能·机器人
波力海苔夹心脆6754 小时前
VisionMaster 常用工具入门:图像采集、定位、测量、识别一篇打通
经验分享·机器人·视觉检测·工业相机·visionmaster·海康
Robert--cao4 小时前
MoE 机器人强化学习原理详解:如何用专家混合表示和 RoboGauge 提升四足机器人 Sim-to-Real 可靠性
机器人
Pocker_Spades_A4 小时前
论文精读(十五):自主机器人多智能体软件架构及伴随行为机制:从Structure-in-5看启元机器人控制软件架构设计方法论
大数据·机器人
禁默4 小时前
从“动作社区“到“技能商店“:机器人应用生态走到哪一步了
人工智能·机器人
xwz小王子6 小时前
Science Robotics 会定车、翘头、前空翻的自行车机器人
机器人
Pocker_Spades_A6 小时前
论文精读(九):结构交互驱动的机器人深度强化学习控制方法:从关节协同到启元灵犀X2的底层运动控制
机器人·交互
guohuang6 小时前
让机器人安全失败:点云中断、TF 超时和控制器崩溃怎么测
git·安全·机器人
啥都鼓捣的小yao8 小时前
机器人领域的基础模型:应用、挑战与未来
人工智能·机器人