大数跨境

UR机器人技术应用——优傲机器人视觉应用中的绝对坐标值和相对偏移量

UR机器人技术应用——优傲机器人视觉应用中的绝对坐标值和相对偏移量 AirkingRobots艾科伯特科技
2026-04-17
0
导读:本文介绍了优傲机器人在视觉应用中如何获取并应用绝对位移和相对位移值的实现方法,以便后续类似的应用方案参考。

 优傲机器人

视觉应用中的绝对坐标值

和相对偏移量

UR机器人

技术应用方案




01


介绍



1.1

方案目的

本文介绍了优傲机器人在视觉应用中如何获取并应用绝对位移和相对位移值的实现方法,以便后续类似的应用方案参考。


1.2

硬件设备列表

本方案使用以下产品:

优傲机器人型号: UR3、UR5、UR10/ CB3。


1.3

电源要求

UR机器人:单相220V AC  10A


02


方案描述



2.1

概要

优傲机器人可以配合任意第三方品牌视觉系统实现视觉应用。由于视觉系统和机器人的机械坐标系经过标定后,传递给优傲机器人的坐标值可能是相对偏移位移量(相对于标准靶值坐标),也可能是目标位置在标定坐标系下的绝对位置。本文介绍了优傲机器人在视觉应用中如何获取并应用绝对位移和相对位移值的实现方法。


2.2

详细设计


2.2.1

CCD发送目标物在机座坐标系下

绝对坐标UR程序代码实现



程序

  BeforeStart

    调用 GetUUTCalibra

    调用 InitialData

    调用 InitialConnect

  机器人程序

    等待: 0.008

    GoToCamera

      MoveL

        paizhao

        等待: 0.2

    调用 CallCameraSnap

    调用 GetCameraData

    RPY≔rotvec2rpy([CalibrationPos[3],CalibrationPos[4],CalibrationPos[5]])

 RPY_absolute≔[RPY[0],RPY[1],TargetPos[3]/180*3.14]

    RotVec_absolute≔rpy2rotvec([RPY_absolute[0],RPY_absolute[1],RPY_absolute[2]])

    Pos_Install≔p[TargetPos[1],TargetPos[2],CalibrationPos[2],RotVec_absolute[0],RotVec_absolute[1],RotVec_absolute[2]]

    Pos_Install_up≔pose_add(Pos_Install,p[0,0,0.2,0,0,0])

    MoveL

      Pos_Install_up

      Pos_Install

  GetUUTCalibra

    MoveL

GraspCal

CalibrationPos≔get_actual_tcp_pose()

  InitialData

    TargetPos≔[0,0,99,0]

    ccd_num≔0

  GetCameraData

循环 TargetPos[0]≟0

      TargetPos≔socket_read_ascii_float(3,"socket0")

  CallCameraSnap

    socket_send_string("$snap1#","socket0")

    'If Current_work≟1'

  InitialConnect

    conn≔ False

循环 conn≟ False

      conn≔socket_open("192.168.0.110",5000,"socket0")

      等待: 0.1


此案例中,CCD视觉系统通过TCP SOCKET将目标物体的X,Y,及旋转角以UR机座坐标系的下的绝对坐标值(TargetPos[1],TargetPos[2],TargetPos[3])发送给UR机器人。参照于标定的目标物体的靶值坐标位姿CalibrationPos,需要对CalibrationPos位姿的X,Y及RZ坐标进行调整。TargetPos[3]为RPY角下的轴旋转角,且为角度单位,所以在程序中使用了rpy2rotvec(rpy vector)脚本函数先将机器人位姿坐标的旋转矢量RX,RY,RZ转换为RPY角。在RPY角下进行了Roll角的简单替换TargetPos[3]后,再将得到RPY角度进行rotvec2rpy(rotation vector)的逆运算,转换为实际目标靶值坐标位姿的旋转矢量。而在基座坐标系下的目标物校准靶值的X,Y坐标值则只需要进行用相机发送过来的TargetPos[1],TargetPos[2]进行简单的替换,转换为实际的目标靶值的X,Y坐标值。



2.2.2

CCD发送目标物相对偏差值

UR程序代码实现



程序

  BeforeStart

    调用 GetUUTCalibra

    调用 InitialData

    调用 InitialConnect

  机器人程序

    等待: 0.008

    GoToCamera

      MoveL

        paizhao

        等待: 0.2

    调用 CallCameraSnap

    调用 GetCameraData

    Pos_Install≔pose_add(CalibrationPos,p[TargetPos[1],TargetPos[2],0,0,0,TargetPos[3]])

    Pos_Install_up≔pose_add(Pos_Install,p[0,0,0.2,0,0,0])

    MoveL

      Pos_Install_up

      Pos_Install

  GetUUTCalibra

    MoveL

      GraspCal

      CalibrationPos≔get_actual_tcp_pose()

  InitialData

    TargetPos≔[0,0,99,0]

    ccd_num≔0

  GetCameraData

循环 TargetPos[0]≟0

      TargetPos≔socket_read_ascii_float(3,"socket0")

  CallCameraSnap

    socket_send_string("$snap1#","socket0")

    'If Current_work≟1'

  InitialConnect

    conn≔ False

循环 conn≟ False

      conn≔socket_open("192.168.0.110",5000,"socket0")

      等待: 0.1


此案例中,CCD视觉系统通过TCP SOCKET将目标物体的X,Y,及旋转角以UR机座坐标系的下的X\Y偏移值和角度偏移(TargetPos[1],TargetPos[2],TargetPos[3])发送给UR机器人。参照于标定的目标物体的靶值坐标位姿CalibrationPos,在机座坐标系中利用pose_add进行运算即可得到实际物体的位姿信息。



图片


艾科伯特(AirkingRobots)专注于具身智能机器人领域,提供 UR 等系列机器人的模仿学习、强化学习完整解决方案,涵盖数据采集设备定制、政策训练优化、跨载体迁移适配等全链条服务。如需了解具体技术细节或方案咨询,可联系 AirkingRobots 获取专业支持。

更多案例请关注公众号:


 


邮箱:info@airkingrobots.com


电话:13161062216

—— E N D ——



点个喜欢吧



【声明】内容源于网络
0
0
AirkingRobots艾科伯特科技
北京艾科伯特科技有限公司(Airking Robotics)是UR机器人,Robotiq,Robosense等机器人领域的金牌授权商,我们面向教育行业,航空航天,工业,生命科学等领域,致力于让协作机器人、移动机器人实现人机交互。
内容 91
粉丝 0
AirkingRobots艾科伯特科技 北京艾科伯特科技有限公司(Airking Robotics)是UR机器人,Robotiq,Robosense等机器人领域的金牌授权商,我们面向教育行业,航空航天,工业,生命科学等领域,致力于让协作机器人、移动机器人实现人机交互。
总阅读856
粉丝0
内容91