一、25D修正流程(基于棋盘格标定板)

1. 前期准备阶段

  1. ​​工具标定​​: - "准备尖端工具用于机器人的工具标定(安装在机械臂的末端,标定过程中尖端对尖端)" - "各品牌机械臂标定方式有所不同,具体参考机械臂操作手册"

  2. ​​手眼标定​​: - "手眼标定得到手眼标定文件”串号.e2h(例:Mfb76447d2.e2h)”" - "将串号.e2h文件拷贝到25Dir文件夹下,重启软件"

一、前期准备工作

  1. ​​工具准备​​: - "准备合适的标定板(相机视野的2/3)" - "准备尖端工具用于机器人的工具标定(安装在机械臂的末端)"

  2. ​​目录创建​​: - "在软件目录下新建文件夹e2hand,后期与手眼标定相关的文件都存放于此" - "在e2hand文件夹下新建robot.rpy用于存放基底坐标系下的棋盘格四个角点的坐标"

  3. ​​软件连接​​: - 打开ditE2HandCalib.exe软件 - 点击连接相机按钮,成功连接后界面会显示连接状态

二、眼在手上标定流程

1. 机械手数据采集

  1. ​​标定板放置​​: - "将标定板放到相机正下方" - "设置好拍照的位置,此位置相机最好垂直于标定板"

  2. ​​坐标记录​​: - "用工具尖端以与拍照位相同的姿态依次按顺序走到4个点" - "这四个点的顺序以相机采集的图片为准,从相机视野中的标定板左下角开始顺时针指四个角点"

  3. ​​数据保存​​: - "按顺序记录下4个点的机器人坐标XYZ到e2hand文件夹下的robot.txt" - "只需要记录机械臂XYZ三个值"

  • 具体的文件后缀以手眼标定软件内显示的为准,根据版本不同可能出现.xyz .rpy .txt 等若干种情况

2. 图片数据采集

  1. ​​拍照位设置​​: - "设置5个拍照位置并将其坐标记录到软件右侧的表格" - "第一个位置标定板在相机视野中间,其余四个位置拍到标定板分别在第一个位置的上下左右"

  2. ​​坐标导出​​: - "坐标输入完成后在表格处点击右键即可将数据导出至E2hand文件夹下的xyzoat.txt中"

  • 具体的文件后缀以手眼标定软件内显示的为准,根据版本不同可能出现.xyz .rpy .txt 等若干种情况

 

  1. ​​图像采集​​: - "将机器人移动到对应坐标,采集5组对应的图片" - "采集完成后E2hand文件夹下应包含A01-A05.bmp和A01-A05.tiff文件"

3. 生成标定文件

  1. ​​参数设置​​: - "在方格尺寸一栏更改标定板大小" - "更改图像数目为5(A01-A05)" - "更改欧拉角表示方法顺序(xyz,zyz,zyx)" ,默认情况下使用xyz

  2. ​​执行标定​​: - "点击标定按钮" - "标定成功后最下方会生成标定后的数据,Xyz偏差在0.5以下为优"

  3. ​​文件生成​​: - "同时在e2hand文件夹下生成串号.e2h文件" - "将.e2h文件拷贝到25DIR目录下使用"

三、眼在手外标定流程

  1. ​​工作目录设置​​: - "在眼在手外一栏点击'基底坐标'图标,选择E2hand文件夹下的robot.rpy"

  2. ​​曝光调节​​: - "调节曝光值(不能超过30000,不够亮时可调节增益)" - "点击拍照按钮生成A01.bmp和A01.tiff"

  3. ​​图像质量检查​​: - "双击打开A01.tiff,检查标定板区域无黑点" - "重复调节直到符合要求"

 

四、关键注意事项

  1. ​​精度控制​​: - "标定过程中底盘不可移动" - "五个拍照位置的移动距离不宜太大,距离第一个拍照位10-20mm即可"

  2. ​​文件管理​​: - "确保所有标定文件(.e2h)存放在正确目录" - "手眼标定文件需同时包含串号.e2h和工位.e2h"

  3. ​​异常处理​​: - "若标定偏差过大,需检查图片及点位坐标数据" - "确保标定板在相机视野中的占比合适(约2/3)"

  4. ​​标定验证​​: - "可通过发送测试指令验证标定结果" - "实际应用中需进行修正测试验证标定精度"

该流程完整涵盖了文档中关于手眼标定的所有关键步骤和注意事项,包括眼在手上和眼在手外两种标定方式的具体操作方法。

2. 工位标定阶段

  1. ​​示教作业点​​: - "示教作业点并记录其坐标(工具0)到25Dir文件夹下的A0.rpy(一个坐标占一行)" - "记录顺序xyzRxRyRz(xyz单位为mm,rxryrz单位为度)"

  2. ​​采集模板图像​​: - "机器人带上相机,移动到AO工位拍照位" - "Socket助手给相机发送'HOAOOOx,y,z,rx,ry,rz'" - "25DIR文件夹下会生成A0.e2h和A0.bmp"

  3. ​​配置标定板参数​​: - "Socket助手发送T00006更改标定板大小为6(示例为6mm标定板)"

  4. ​​生成配置文件​​: - "Socket助手给相机发送R00000,25Dir文件夹下会生成A0.ini"

3. 工作阶段

  1. ​​执行修正​​: - "机器人发送'COA000'指令给相机,相机拍照返回'OK'" - "机器人发送'NOA001'指令获取修正后坐标" - "机械臂按照返回的点位坐标去作业"

二、3D修正流程(基于三维模型匹配)

1. 前期准备阶段

  1. ​​工具标定​​: - 同25D修正的"准备尖端工具"要求

  2. ​​手眼标定​​: - "手眼标定文件需包含串号.e2h和工位.e2h"

2. 工位标定阶段

  1. ​​记录作业点位​​: - "在25Dir文件夹下新建A0.rpy,将点位位姿记录下来" - "RPY姿态表达方式一个点位六个数据,每个数据以空格隔开"

  2. ​​采集点云数据​​: - "发送'HOA001 x,y,z,Rx,Ry,Rz'指令" - "在25Dir文件夹下会生成A0.ply和AO.e2h"

  3. ​​生成配置文件​​: - "发送R00000生成AO.ini文件" - "记录作业点位的rpy文件会被消耗"

3. 工作阶段

  1. ​​执行修正​​: - "发送COA00指令拍照,相机返回OK" - "发送NOA001指令获取修正后坐标" - "控制机械臂移动到修正后坐标作业"

三、二次修正流程(精定位为3D模式)

1. 工位标定阶段

  1. ​​设置双工位​​: - "需要两个工位:粗定位(25D)和精定位(3D)" - "两拍照位距离需大于相机视野长方向*1.5"

  2. ​​粗定位工位配置​​: - "将A0拍照位的坐标记录到A1.rpy" - "发送'HOA100 x,y,z,rx,ry,rz'生成A1.bmp和A1.e2h" - "发送R00000生成A1.ini"

  3. ​​精定位工位配置​​: - "示教实际作业点记录到A0.rpy" - "发送'HOA003 x,y,z,rx,ry,rz'生成A0.ply和A0.e2h" - "发送R00000生成A0.ini"

2. 工作阶段

  1. ​​执行修正​​: - "发送COA100进行粗定位拍照" - "发送NOA101获取修正后的精定位拍照位" - "移动到精定位位后发送EOAO03+当前坐标" - "发送NOA001获取最终作业点坐标"

四、关键注意事项

  1. ​​文件管理​​: - "工作目录为25Dir,所有操作文件必须在此目录下" - "工位.ply/.bmp为模板文件,工位.rpy记录作业点坐标"

  2. ​​指令规范​​: - "H指令用于存图,C指令用于拍照,N指令获取坐标" - "R00000指令会消耗.rpy和.bmp/.ply文件生成.ini"

  3. ​​精度控制​​: - "3D模式下要求标定板区域无黑点" - "25D模式下必须使用9 * 9黑白标定板"

五、数据交互协议

根据Dit-M视觉修正使用手册文档内容,以下是完整的TCP交互协议和指令整理:

一、基础连接协议

  1. ​​连接建立​​: - "使用TCP/IP协议通讯,视觉软件为TCPserver,端口号为8001" - "连接3D相机成功会返回OK" - 示例:TCP Client连接127.0.0.1:8001

二、3D模式指令集

1. 模板采集指令

 

指令格式参数说明返回值前置条件
HOA002 [坐标]工位名称A0-Z9,抽稀系数01-99OK需存在串号.e2h
示例:HOA002 -598.125,26.167,-46.223,-179.755585,-0.185573,-85.499031生成A0.ply和A0.e2h
2. 修正指令

 

指令格式功能返回值前置条件
COA002单次修正拍照OK/NG需存在.e2h/.ini/.ply
示例:COA002(抽稀系数01)点云数量为正常1/4
3. 任意位置修正

 

指令格式参数说明返回值
EOA002 [坐标]当前拍照位姿OK/NG
示例:EOA002 -598.125,26.167,-46.223,-179.755585,-0.185573,-85.499031
4. 坐标获取指令

 

指令格式功能返回值示例
NOA001获取单点坐标x,y,z,rx,ry,rz
NOA000获取全部坐标数量,坐标1,坐标2...
示例:NOA001→ 202.5,156.3,45.1,0,0,180

三、25D模式指令集

1. 模板采集指令

 

指令格式参数说明生成文件
HOA000 [坐标]固定00参数A0.bmp/A0.e2h
示例:HOA000 -628.702,197.474,9.973,179.663,-0.487,-90.8411
2. 标定板设置

 

指令格式功能示例
T000[尺寸]设置标定板大小(mm)T00006(6mm)
3. 修正指令

 

指令格式功能特殊说明
COA00025D单次修正必须配合标定板
示例:COA000→ 返回OK后接NOA001

四、通用指令

1. 配置文件生成

 

指令格式功能文件消耗
R00000生成.ini文件消耗.rpy/.ply或.bmp
示例:R00000→ 生成A0.ini
2. 曝光控制

 

指令格式参数范围示例
X[曝光值]1000-30000X05000(50000μs)

五、二次修正专用指令

  1. ​​粗精定位配合​​: - 流程:COA100→ NOA101→ EOA000+坐标→ NOA000 - 示例: COA100 → OK NOA101 → 返回精定位拍照位 EOA000 -600,100,10,180,0,90 → OK NOA000 → 2,201.5,155.2...,210.3,160.1...

六、协议特性说明

  1. ​​数据格式​​: - "交互数据类型为字符串,返回坐标使用逗号分隔" - 欧拉角单位:xyz(mm),rxryrz(度)

  2. ​​错误处理​​: - 匹配失败返回NG - 指令错误无响应

  3. ​​状态指示​​: - 软件界面Tcp连接显示: - 红色感叹号:未连接 - 绿色勾:已连接

  4. ​​特殊限制​​: - "曝光值不能超过30000" - "在工作阶段禁止重复发送H指令避免模板覆盖"

七、典型交互流程示例

  1. ​​25D完整流程​​: 1. 连接:TCP→127.0.0.1:8001(返回OK) 2. 存图:HOA000 x,y,z,rx,ry,rz(返回OK) 3. 设置:T00006(返回OK) 4. 生成:R00000(返回OK) 5. 修正:COA000(返回OK) 6. 取数:NOA001(返回修正坐标)

  2. ​​3D路径修正​​: 1. COA002 → OK 2. NOA000 → 3,x1,y1,z1...,x3,y3,z3...

作者:李国伟  创建时间:2025-08-15 15:15
最后编辑:李国伟  更新时间:2025-12-03 18:29