一、25D修正流程(基于棋盘格标定板)
1. 前期准备阶段
工具标定: - "准备尖端工具用于机器人的工具标定(安装在机械臂的末端,标定过程中尖端对尖端)" - "各品牌机械臂标定方式有所不同,具体参考机械臂操作手册"
手眼标定: - "手眼标定得到手眼标定文件”串号.e2h(例:Mfb76447d2.e2h)”" - "将串号.e2h文件拷贝到25Dir文件夹下,重启软件"
一、前期准备工作
工具准备: - "准备合适的标定板(相机视野的2/3)" - "准备尖端工具用于机器人的工具标定(安装在机械臂的末端)"
目录创建: - "在软件目录下新建文件夹e2hand,后期与手眼标定相关的文件都存放于此" - "在e2hand文件夹下新建robot.rpy用于存放基底坐标系下的棋盘格四个角点的坐标"
软件连接: - 打开ditE2HandCalib.exe软件 - 点击连接相机按钮,成功连接后界面会显示连接状态
二、眼在手上标定流程
1. 机械手数据采集
标定板放置: - "将标定板放到相机正下方" - "设置好拍照的位置,此位置相机最好垂直于标定板"
坐标记录: - "用工具尖端以与拍照位相同的姿态依次按顺序走到4个点" - "这四个点的顺序以相机采集的图片为准,从相机视野中的标定板左下角开始顺时针指四个角点"
数据保存: - "按顺序记录下4个点的机器人坐标XYZ到e2hand文件夹下的robot.txt" - "只需要记录机械臂XYZ三个值"
具体的文件后缀以手眼标定软件内显示的为准,根据版本不同可能出现.xyz .rpy .txt 等若干种情况
2. 图片数据采集
拍照位设置: - "设置5个拍照位置并将其坐标记录到软件右侧的表格" - "第一个位置标定板在相机视野中间,其余四个位置拍到标定板分别在第一个位置的上下左右"
坐标导出: - "坐标输入完成后在表格处点击右键即可将数据导出至E2hand文件夹下的xyzoat.txt中"
具体的文件后缀以手眼标定软件内显示的为准,根据版本不同可能出现.xyz .rpy .txt 等若干种情况
图像采集: - "将机器人移动到对应坐标,采集5组对应的图片" - "采集完成后E2hand文件夹下应包含A01-A05.bmp和A01-A05.tiff文件"
3. 生成标定文件
参数设置: - "在方格尺寸一栏更改标定板大小" - "更改图像数目为5(A01-A05)" - "更改欧拉角表示方法顺序(xyz,zyz,zyx)" ,默认情况下使用xyz
执行标定: - "点击标定按钮" - "标定成功后最下方会生成标定后的数据,Xyz偏差在0.5以下为优"
文件生成: - "同时在e2hand文件夹下生成串号.e2h文件" - "将.e2h文件拷贝到25DIR目录下使用"
三、眼在手外标定流程
工作目录设置: - "在眼在手外一栏点击'基底坐标'图标,选择E2hand文件夹下的robot.rpy"
曝光调节: - "调节曝光值(不能超过30000,不够亮时可调节增益)" - "点击拍照按钮生成A01.bmp和A01.tiff"
图像质量检查: - "双击打开A01.tiff,检查标定板区域无黑点" - "重复调节直到符合要求"
四、关键注意事项
精度控制: - "标定过程中底盘不可移动" - "五个拍照位置的移动距离不宜太大,距离第一个拍照位10-20mm即可"
文件管理: - "确保所有标定文件(.e2h)存放在正确目录" - "手眼标定文件需同时包含串号.e2h和工位.e2h"
异常处理: - "若标定偏差过大,需检查图片及点位坐标数据" - "确保标定板在相机视野中的占比合适(约2/3)"
标定验证: - "可通过发送测试指令验证标定结果" - "实际应用中需进行修正测试验证标定精度"
该流程完整涵盖了文档中关于手眼标定的所有关键步骤和注意事项,包括眼在手上和眼在手外两种标定方式的具体操作方法。
2. 工位标定阶段
示教作业点: - "示教作业点并记录其坐标(工具0)到25Dir文件夹下的A0.rpy(一个坐标占一行)" - "记录顺序xyzRxRyRz(xyz单位为mm,rxryrz单位为度)"
采集模板图像: - "机器人带上相机,移动到AO工位拍照位" - "Socket助手给相机发送'HOAOOOx,y,z,rx,ry,rz'" - "25DIR文件夹下会生成A0.e2h和A0.bmp"
配置标定板参数: - "Socket助手发送T00006更改标定板大小为6(示例为6mm标定板)"
生成配置文件: - "Socket助手给相机发送R00000,25Dir文件夹下会生成A0.ini"
3. 工作阶段
执行修正: - "机器人发送'COA000'指令给相机,相机拍照返回'OK'" - "机器人发送'NOA001'指令获取修正后坐标" - "机械臂按照返回的点位坐标去作业"
二、3D修正流程(基于三维模型匹配)
1. 前期准备阶段
工具标定: - 同25D修正的"准备尖端工具"要求
手眼标定: - "手眼标定文件需包含串号.e2h和工位.e2h"
2. 工位标定阶段
记录作业点位: - "在25Dir文件夹下新建A0.rpy,将点位位姿记录下来" - "RPY姿态表达方式一个点位六个数据,每个数据以空格隔开"
采集点云数据: - "发送'HOA001 x,y,z,Rx,Ry,Rz'指令" - "在25Dir文件夹下会生成A0.ply和AO.e2h"
生成配置文件: - "发送R00000生成AO.ini文件" - "记录作业点位的rpy文件会被消耗"
3. 工作阶段
执行修正: - "发送COA00指令拍照,相机返回OK" - "发送NOA001指令获取修正后坐标" - "控制机械臂移动到修正后坐标作业"
三、二次修正流程(精定位为3D模式)
1. 工位标定阶段
设置双工位: - "需要两个工位:粗定位(25D)和精定位(3D)" - "两拍照位距离需大于相机视野长方向*1.5"
粗定位工位配置: - "将A0拍照位的坐标记录到A1.rpy" - "发送'HOA100 x,y,z,rx,ry,rz'生成A1.bmp和A1.e2h" - "发送R00000生成A1.ini"
精定位工位配置: - "示教实际作业点记录到A0.rpy" - "发送'HOA003 x,y,z,rx,ry,rz'生成A0.ply和A0.e2h" - "发送R00000生成A0.ini"
2. 工作阶段
执行修正: - "发送COA100进行粗定位拍照" - "发送NOA101获取修正后的精定位拍照位" - "移动到精定位位后发送EOAO03+当前坐标" - "发送NOA001获取最终作业点坐标"
四、关键注意事项
文件管理: - "工作目录为25Dir,所有操作文件必须在此目录下" - "工位.ply/.bmp为模板文件,工位.rpy记录作业点坐标"
指令规范: - "H指令用于存图,C指令用于拍照,N指令获取坐标" - "R00000指令会消耗.rpy和.bmp/.ply文件生成.ini"
精度控制: - "3D模式下要求标定板区域无黑点" - "25D模式下必须使用9 * 9黑白标定板"
五、数据交互协议
根据Dit-M视觉修正使用手册文档内容,以下是完整的TCP交互协议和指令整理:
一、基础连接协议
连接建立: - "使用TCP/IP协议通讯,视觉软件为TCPserver,端口号为8001" - "连接3D相机成功会返回OK" - 示例:TCP Client连接127.0.0.1:8001
二、3D模式指令集
1. 模板采集指令
| 指令格式 | 参数说明 | 返回值 | 前置条件 |
|---|---|---|---|
| HOA002 [坐标] | 工位名称A0-Z9,抽稀系数01-99 | OK | 需存在串号.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. 修正指令
| 指令格式 | 功能 | 特殊说明 |
|---|---|---|
| COA000 | 25D单次修正 | 必须配合标定板 |
示例:COA000→ 返回OK后接NOA001 |
四、通用指令
1. 配置文件生成
| 指令格式 | 功能 | 文件消耗 |
|---|---|---|
| R00000 | 生成.ini文件 | 消耗.rpy/.ply或.bmp |
示例:R00000→ 生成A0.ini |
2. 曝光控制
| 指令格式 | 参数范围 | 示例 |
|---|---|---|
| X[曝光值] | 1000-30000 | X05000(50000μs) |
五、二次修正专用指令
粗精定位配合: - 流程:
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...
六、协议特性说明
数据格式: - "交互数据类型为字符串,返回坐标使用逗号分隔" - 欧拉角单位:xyz(mm),rxryrz(度)
错误处理: - 匹配失败返回NG - 指令错误无响应
状态指示: - 软件界面Tcp连接显示: - 红色感叹号:未连接 - 绿色勾:已连接
特殊限制: - "曝光值不能超过30000" - "在工作阶段禁止重复发送H指令避免模板覆盖"
七、典型交互流程示例
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(返回修正坐标)3D路径修正:
1. COA002 → OK 2. NOA000 → 3,x1,y1,z1...,x3,y3,z3...
最后编辑:李国伟 更新时间:2025-12-03 18:29