应用手册#

DM-Mark3D标记块定位应用#

新建工程#

打开DUCOMIND 网页, 若已知控制器Ip地址,可用另外一台笔记本或电脑打开DUCOMIND网页, 前提是该设备的网络需与 控制器的IP设置为同一网段, 比如控制器的IP是192.168.3.10, 则访问 192.168.3.10:7300 即可

详情参见 软件操作指南->工程管理->新建工程

打开DUCOMIND网页后, 若之前已经建立过工程可直接点击工程名字然后会显示 打开 字样, 点击 打开 即可打开相应工程, 如下图为点击第一个工程后的效果

../_images/%E5%B7%A5%E7%A8%8B1.png

若想要新建工程, 只需要点击 新建工程 即可, 如下图

../_images/%E5%B7%A5%E7%A8%8B2.png

点击 新建工程 后会弹出以下界面, 输入相应的信息即可

../_images/%E5%B7%A5%E7%A8%8B3.png

相机#

详情可参考 软件操作指南->相机管理->新建相机 以及 软件操作指南->相机管理->相机配置->知微相机

硬件介绍#

视觉工装介绍#
视觉选配包清单#
../_images/%E7%9B%B8%E6%9C%BA%E9%80%89%E8%A3%853.png
标定板安装示意图(标定板在手上)#
../_images/%E7%9B%B8%E6%9C%BA%E9%80%89%E8%A3%851.png
3D相机安装示意图(相机在手上)#
../_images/%E7%9B%B8%E6%9C%BA%E9%80%89%E8%A3%852.png
相机网线连接#

相机网线插到控制器网口, 确保插入的网口已经设置为 仅本地链路连接 , 设置控制器某个网口为 仅本地链路连接 的方法:

方法一

  1. 打开终端, 若直接通过示教器显示, 按 Ctrl+Alt+F2/F3/F4 即可打开一个终端;

  2. 当前控制器有3个网口, 名称分别为 enp1s0 , enp2s0 , enp3s0

3. 比如设置 enp1s0 网口为 仅本地链路连接 的命令为: sudo ifconfig 网口名称 169.254.7.12 broadcast 169.254.255.255 netmask 255.255.0.0

Tip

一般中间的网口为 enp3s0 , 靠近HDMI接口的为 enp2s0 , 另外一个口为 enp1s0 , 出厂Ip均已设置好, 将相机网线接在 enp1s0 口即可

方法二

  1. 打开管理软件(DucoManager)界面, 点击 网络配置;

  2. 点击网络配置后可看到3个网络状态,分别为 LAN1 , LAN2 , LAN3 , 这3个网口分别对应控制器上的 LAN1 , LAN2 , LAN3

  3. 选择 LAN2LAN3 , 点击设置, 将网口设置为 仅本地链路连接 即可

将相机网线插在设置为 仅本地链路连接 的网口即可

相机电源线连接#

相机电源需符合电压为24V, 电流为2A的规格, 如下图为标准的相机电源适配器信息

../_images/%E7%9B%B8%E6%9C%BA%E7%94%B5%E6%BA%90.jpg

Caution

相机电源第一次连接上后相机镜头会打光并显示Logo, 大约10-20s左右Logo会消失, 若相机连上电源通电后相机镜头没有出光显示Logo或出光显示的Logo一直不消失此时需检查电源线路

新建相机#

打开刚刚新建的工程或者打开已存在的工程, 新建 知微相机

如下图所示, 点击下图箭头所指出即可弹出 新建相机 界面, 相机型号选择 知微相机 即可

../_images/%E7%9B%B8%E6%9C%BA1.png

选择好相机型号后, 点击下图箭头所指的扫描按钮即可扫描当前设备存在的 知微相机

../_images/%E7%9B%B8%E6%9C%BA2.png

Tip

上图的结果为本地设备已经连接一台知微相机后扫描的结果, 并且点击扫描后需要等待几秒钟的时间才会出结果

在扫描到 知微相机 后,点击扫描到相机信息后面的 + 号即可新建一个相机, 如下图:

../_images/%E7%9B%B8%E6%9C%BA3.png

新建相机后,新建的第一个相机名称默认为 相机1 , 点击 相机1 可出现相机配置界面, 如下图:

../_images/%E7%9B%B8%E6%9C%BA4.png

连接相机#

点击 连接 按钮后系统会尝试连接 知微相机, 一般等待几秒钟的时间即可连接成功, 连接成功后, 连接 按钮会变成 断开 按钮

Tip

  1. 知微相机 为POE接口的相机, 与设备连接后, 需将连接的网口设置为 仅本地链路连接 后才能连接成功(若提前知道相机IP, 将网络设为与相机相同网段也可)

  2. 若相机连接不成功会弹出报错窗口, 此时需检查网口配置, 并检查网线与相机是否完好, 也有可能是供电不足所致

参数配置#

下图为知微相机的参数配置界面

../_images/%E7%9B%B8%E6%9C%BA5.png

Tip

  1. 这些参数中我们经常配置的是 IR曝光 以及 多曝光次数

  2. IR曝光 : 当相机拍照过亮或过暗可通过设置该参数调节

  3. 多曝光次数 : 相机打光次数, (默认一次, 可将该参数设置为3)

  4. 设置完成后需要点击确认按钮才可生效

机器人#

详情可参考 软件操作指南->机器人管理->新建机器人

新建机器人#

点击下图箭头所指即可弹出新建机器人界面

../_images/%E6%9C%BA%E5%99%A8%E4%BA%BA11.png

Tip

机器人型号支持两种 ducocore_gcr10ducocore_gcr5

点击 新建 按钮即可新建机器人

连接机器人#

点击刚刚新建的机器人名称会弹出机器人配置界面, 输入机器人的IP点击 连接 按钮即可连接机器人, 连接 成功后 连接 按钮会变为 断开 并且连接前面的圆点会由红变绿, 如下图

../_images/%E6%9C%BA%E5%99%A8%E4%BA%BA21.png

3D手眼标定#

3D手眼标定存在两种标定物, 分别是 标定球标定板 , 我们选择其中一种进行标定即可

方法一(3D标定球)#

详情可参考 软件操作指南->工具->3D手眼标定->标定球

入口#

如下图所示, 选择 标定工具->3D手眼标定 即可

../_images/%E6%A0%87%E5%AE%9A1.png

在上图中选择 标定方式手动标定 , 标定物标定球 然后点击 下一步 即可到达如下界面

../_images/%E6%A0%87%E5%AE%9A2.png
在上图中
  • 点云数据( 二选一 , 这里选择相机数据 )
    • 相机数据 : 选择本地已连接相机的点云数据, 此时我们应该选择刚刚连接上的相机, 比如 相机1 , 然后在 选择输出 中选 点云数据pointcloud 即可

    • 载入点云 : 从本地路径读取一个 ply 格式的点云

  • 点云滤波( 这里无需开启 )
    • 点云采样 : 表示点云降采样, 当开关按钮向右拨动时表示打开点云降采样, 向左拨动表示未开启点云降采样, 上图表示未开启, 保持不变即可

    • 采样精度 : 采样精度越大, 输出的点云质量越小

  • 机器人数据( 二选一 , 这里选择机器人 )
    • 机器人 : 选择本地已经连接成功的机器人即可, 此时我们选择刚刚连接上的机器人即可, 比如 机器人1

    • 手动输入: 每次移动机器人时手动输入机器人的位姿, 手动输入在添加数据成功后在界面左侧数据栏中的 机器人 数据下方

拍照并添加数据#

将参数都设置好了之后, 将标定球放于相机正下方的位置, 最好相机保持与地面平行, 大致如下图

../_images/%E6%A0%87%E5%AE%9A%E7%90%831.png

参数都设置好了之后可以点击 拍照并添加数据 按钮, 点击完后会进入 标定球识别 界面, 如下图

../_images/%E6%A0%87%E5%AE%9A3.png
在上图中
  • 界面左侧区域为 点云浏览器 , 显示的是 标定球的点云 , 此时需要将鼠标点击一下标定球的中心点(大致)

  • 先验半径 : 当前标定球的半径

  • 邻域范围 : 表示标定时围绕球的中心点选取的点的个数

  • 固定半径 : 上图表示固定半径为开启(默认不开启), 开关向右表示开启, 如果不开启将对先验半径进行优化, 开启则将半径先验值带入模型进行球心坐标解算

标定球识别#

鼠标在上图左侧的球的点云中心点击一下会显示当前的xyz点, 然后点击 识别 , 识别成功后的效果如下图

../_images/%E6%A0%87%E5%AE%9A4.png

Tip

在某个位置拍到的球点云数据比较好且能识别时, 最好在DUCOCORE端将当前位置记录下, 可用于后面模板制作的位置

上图显示的效果表示识别成功, 此时点击确认即可添加一条数据, 点击 确认 后返回上一级界面, 如下图所示

../_images/%E6%A0%87%E5%AE%9A5.png

上图表示已经成功添加了1条数据, 此时需要移动机器人到不同的位置然后进行 拍照并添加数据->识别

主要是使相机在球的 正上方,左上方,右上方以及前方和后方 以及这些方向的 3个不同高度 一共 15个位置 , 注意移动后相机能拍到标定球, 相机的位置大致如下面几组图像所示

../_images/%E6%A0%87%E5%AE%9A%E7%90%832.png ../_images/%E6%A0%87%E5%AE%9A%E7%90%833.png ../_images/%E6%A0%87%E5%AE%9A%E7%90%834.png ../_images/%E6%A0%87%E5%AE%9A%E7%90%835.png ../_images/%E6%A0%87%E5%AE%9A%E7%90%836.png ../_images/%E6%A0%87%E5%AE%9A%E7%90%837.png ../_images/%E6%A0%87%E5%AE%9A%E7%90%838.png ../_images/%E6%A0%87%E5%AE%9A%E7%90%839.png ../_images/%E6%A0%87%E5%AE%9A%E7%90%8310.png ../_images/%E6%A0%87%E5%AE%9A%E7%90%8311.png

Tip

每次移动到位置后点击 拍照并识别 按钮会到标定识别界面, 鼠标点击球心然后点击识别即可, 识别成功点击确定即可添加一条数据, 反复操作15次左右即可

标定计算#

当添加完15组数据后点击 标定计算 按钮即可, 如下图所示

../_images/%E6%A0%87%E5%AE%9A6.png
保存#

在标定计算成功后即可点击下一步到达保存数据界面, 如下图

标定计算 后点击 下一步 即可到达 保存 数据界面, 点击下图箭头所指即可选择保存的文件名称和路径, 然后点击 保存文件 即可

../_images/%E6%A0%87%E5%AE%9A7.png

Tip

保存后的文件会自动追加后缀 .dmcalib , 稍微记一下保存的名称, 后面的 3D手眼标定转换 算子会用到

这里介绍的是 手动标定 , 选择 自动标定**时设置好 **生成位姿 时的参数即可, 自动标定时注意适当降低机器人的移动速度

方法二(3D标定板)#

详情可参考 软件操作指南->工具->3D手眼标定->标定板(基于点云和图像)

准备工作#

Tip

在进行3D标定板之前, 需要连接一台3D相机(这里选择的是知微相机)和一个机器人

连上知微相机后需要点开相机界面, 将以下相机数据打开
  • 点云图像

  • 左红外图像

  • 图像点云查找表

如下图所示其他数据通道均可关闭, 打开或关闭通道数据后需要点击 确定 按钮才可生效(设置相机参数后也需点击确定按钮)

../_images/%E6%A0%87%E5%AE%9A%E6%9D%BF2.png

Caution

连上相机和机器人后应将标定板平放并移动机械臂, 使相机镜头与标定板平行, 可边移动相机镜头, 边拍照, 查看相机的 左红外图像 , 当标定板清晰可见并位于图像中央即可

相机与标定板初始位置大致如下,

../_images/%E6%A0%87%E5%AE%9A%E6%9D%BF%E5%88%9D%E5%A7%8B1.jpg

初始相机拍到标定板的图像的 左红外图像 大致如下图

../_images/biaodingban1.png

除了图像清晰外, 相机初始高度(相机与标定板距离)也应保持在 350-450 左右, 可通过相机的点云图像的 Z坐标 查看高度(鼠标在点云图像中点一下), 如下图此时的高度为428

../_images/biaodingban2.png
入口#

如下图所示, 选择 标定工具->3D手眼标定 即可

../_images/%E6%A0%87%E5%AE%9A%E6%9D%BF1.png

如上图, 3D标定板存在两种标定方式(手动和自动), 这里我们选择 自动标定 , 标定物选择 标定板(基于图像和点云) , 标定板规格选择 DB30405A , 此时点击下一步即可出现如下界面

../_images/%E6%A0%87%E5%AE%9A%E6%9D%BF3.png
参数设置#
如上图中, 图像及点云数据
  • 相机
    • 选择刚刚连接的 知微 相机即可, 如 相机1

  • 点云数据
    • 选择已连接相机的点云图像, 如 点云图像

  • 图像数据
    • 选择已连接相机的灰度图像, 如 左红外图像

如上图中, 机器人数据
  • 选择已经连接上的机器人即可, 如 机器人1

下图为已设置好的相机数据以及机器人数据

../_images/%E6%A0%87%E5%AE%9A%E6%9D%BF4.png
生成位姿#

设置完相机数据以及机器人数据即可点击 生成位姿 按钮, 该按钮功能为生成多组机器人位姿, 点击该按钮后的界面如下:

../_images/%E6%A0%87%E5%AE%9A%E6%9D%BF5.png

Tip

在生成位姿前应确保相机与标定板位于最佳的位置

如上图, 生成位姿 的界面存在 拍照并识别 按钮, 该按钮的作用为检测当前位置是否能识别出结果(测试按钮), 点击一次后若能正常识别, 则左侧数据栏会显示识别出的数据, 如下图

../_images/%E6%A0%87%E5%AE%9A%E6%9D%BF%E6%8B%8D%E7%85%A7%E8%AF%86%E5%88%AB1.png

可通过点击 3D点云2D图像 按钮分别查看2d和3d的数据, 如下图:

../_images/%E6%A0%87%E5%AE%9A%E6%9D%BF%E6%8B%8D%E7%85%A7%E8%AF%86%E5%88%AB2.png

上图为3d的数据图像, 下图为2d图像识别结果:

../_images/%E6%A0%87%E5%AE%9A%E6%9D%BF%E6%8B%8D%E7%85%A7%E8%AF%86%E5%88%AB3.png

Tip

若点击拍照识别按钮无反应或弹出报错弹框, 此时需检查相机与标定板的位置以及拍出的图像是否过亮或过暗(此时需调节相机参数)

拍照并识别 能识别出数据后, 可设置生成位姿的参数, 如下图

../_images/%E7%94%9F%E6%88%90%E4%BD%8D%E5%A7%BF%E8%AE%BE%E7%BD%AE.png

在上图中, 手眼类型欧拉角类型 目前无需设置

  • 位姿层数: 相机总共在几个空间高度运动, 默认为3表示相机会在3个不同的高度运动识别

  • 空间高度: 空间的高度

  • 顶层长度: 顶层的长度

  • 顶层宽度: 顶层的宽度

  • 底层长度: 底层的长度

  • 底层宽度: 底层的宽度

  • 旋转数量: 每一层的位姿数量

Tip

空间高度,顶层长度以及顶层宽度不宜设置过大, 因为机械臂长度固定可能有些位姿运动不到, 一般空间高度设置100-120左右, 顶层长度以及顶层宽度默认100即可

生成位姿的参数设置完后点击生成位姿即可, 点击后的效果如下图

../_images/%E7%94%9F%E6%88%90%E4%BD%8D%E5%A7%BF%E5%90%8E1.png
自动标定#

相机大致会在以下几个位置的不同高度进行标定, 如下图

../_images/%E6%A0%87%E5%AE%9A%E6%9D%BFsrc1.jpeg ../_images/%E6%A0%87%E5%AE%9A%E6%9D%BFsrc2.jpg ../_images/%E6%A0%87%E5%AE%9A%E6%9D%BFsrc3.jpg ../_images/%E6%A0%87%E5%AE%9A%E6%9D%BFsrc4.jpg

Tip

自动标定无需手动移动机器人, 若是手动标定时需将相机移动到标定板的 正上方,左上方,右上方以及前方和后方 以及这些方向的 3个不同高度 一共 15个位置 , 注意移动后相机能拍到标定板

此时点击 开始标定 软件会开始按照生成的机器人位姿一行一行地自动标定, 如下图为标定5行成功的结果

../_images/%E5%BC%80%E5%A7%8B%E6%A0%87%E5%AE%9A1.png

若标定过程需要停止自动标定可点击 停止标定 按钮来停止标定

等待一段时间后标定数据全部完成, 如下图

../_images/%E5%BC%80%E5%A7%8B%E6%A0%87%E5%AE%9A2.png
查看数据#

标定全部完成后, 可点击某一行数据最后的按钮选择查看该位姿下的数据, 如下图为查看第二行数据的按钮

../_images/%E6%9F%A5%E7%9C%8B%E6%95%B0%E6%8D%AE.png

查看数据时可在 数据 , 2D图像 , 3D点云 3个按钮之间切换查看的数据, 如下3图

../_images/%E6%9F%A5%E7%9C%8B%E6%95%B0%E6%8D%AE1.png ../_images/%E6%9F%A5%E7%9C%8B%E6%95%B0%E6%8D%AE2.png ../_images/%E6%9F%A5%E7%9C%8B%E6%95%B0%E6%8D%AE3.png
标定计算#

点击 标定计算 按钮即可, 此时每行数据后的 误差 都会出现数据, 失败或识别效果不好的数据会被自动删除

../_images/%E6%A0%87%E5%AE%9A%E6%9D%BF%E6%A0%87%E5%AE%9A%E8%AE%A1%E7%AE%97.jpg

上图为点击标定计算后的结果, 每行误差均在1以下, 此时的结果可以使用, 若某行误差过大可将该行删除然后重新点击标定计算即可

保存#

在标定计算成功后即可点击下一步到达保存数据界面, 如下图

标定计算 后点击 下一步 即可到达 保存 数据界面, 点击下图箭头所指即可选择保存的文件名称和路径, 然后点击 保存文件 即可

../_images/%E6%A0%87%E5%AE%9A7.png

Tip

保存后的文件会自动追加后缀 .dmcalib , 稍微记一下保存的名称, 后面的 3D手眼标定转换 算子会用到

3D模板制作#

详情请参考 软件操作指南->工具->3D模板制作

首先, 将标记块放在刚刚标定球的旁边, 实际位置大致如下图所示

../_images/%E6%A0%87%E8%AE%B0%E5%9D%971.png

下面提供两个方法, 推荐使用 方法二

方法一#

入口#

依次点击 模板工具, 3D模板制作 即可到达 3D模板制作 工具界面, 如下图

../_images/%E6%A8%A1%E6%9D%BF1.png

在上图的中选择 系统变量 , 然后选择 全局变量 中的已连接相机的pointcloud(点云数据)即可, 比如选择 相机1.pointcloud

点云修整#

此时点击下一步, 即可到达 点云修整 界面此时的工具默认为裁剪, 适当放大点云, 用鼠标在模板中心点击一下此时即可看到xyz的坐标, 我们在裁剪工具下方的 xyz 中即可输入刚刚的xyz值, 然后 大小 首先可输入100,100,100,点击 执行并察看 , 察看效果, 如果效果不佳可以点击 撤销 按钮

../_images/%E6%A8%A1%E6%9D%BF2.png ../_images/%E6%A8%A1%E6%9D%BF3.png ../_images/%E6%A8%A1%E6%9D%BF4.png
自动重置中心#

在修整工具中选择 自动重置中心 , 点击 移动至中心 即可, 如下图

../_images/%E6%A8%A1%E6%9D%BF5.png
法线计算#

在上图的基础上点击 下一步 到达法向修改界面, 将 z=-100 , 然后点击 执行并察看 即可, 如下图为已经做完法线的结果

../_images/%E6%A8%A1%E6%9D%BF6.png
保存#

在上图的基础上继续点击 下一步 可达到保存模板界面, 点击下图箭头所指可选择保存的文件夹以及名称, 最后点击 保存模板 即可

../_images/%E6%A8%A1%E6%9D%BF7.png

方法二:#

  1. 将标记块放在相机的正下方, 点击一次 相机拍照 , 然后在 全局变量 中查看相机输出的 点云数据 , 适当放大点云数据, 在点云数据中能找到标记块的点云即可

  2. 新建一个 流程 , 在流程中加入 3D视觉->ROI->点云裁切 算子, 然后加入 3D视觉->检测->平面拟合 算子和 3D视觉->输入输出->点云保存 算子, 如下图

../_images/1.png

3. 双击 点云裁切 算子, 将输入设置为相机的点云数据, 找到相机输出的标记块点云数据中的标记块, 鼠标点击一下标记块的中心, 此时界面上会有一个xyz的坐标显示, 记下这个坐标, 在 点云裁切 算子中 X方向的平移量, Y方向的平移量和Z方向的平移量输入刚刚记下的坐标, 然后在包围盒的长宽高中分别输入100即可

../_images/2.png
  1. 双击 平面拟合 算子, 将输入设置为 点云裁切 的输出, 然后根据下图设置参数

../_images/3.png
  1. 双击 点云保存 算子, 将输入设置为 平面拟合 的输出, 保存文件的名称自取, 如下图

../_images/4.png

通过 软件操作指南->工具->3D模板制作 即可进入制作标记块的模板界面, 在 载入点云 界面中选择本地刚刚通过 点云保存 算子保存的点云, 然后点击 下一步 按方法一中的自动重置中心->法线计算->保存操作 即可

3D标记块定位流程#

详情可参考 软件操作指南->流程管理->流程及模板->从预设模板增加流程 , 添加一个3D标记块定位流程, 如下图

点击流程后面的第一个图标即可从预设模板添加3D标记块定位流程, 如下图

../_images/%E6%B5%81%E7%A8%8B1.png ../_images/%E6%B5%81%E7%A8%8B2.png

添加完成后, 点击流程名称, 即可弹出下图所示界面表示添加3D标记块定位流程成功

../_images/5.png

相机拍照#

相机拍照 算子的输入直接选择已经连接上的相机即可, 比如相机1

点云裁切#

点云裁切 算子的输入选择 相机拍照 算子的输出即可, 找到相机输出的标记块点云数据中的标记块, 鼠标点击一下标记块的中心, 此时界面上会有一个xyz的坐标显示, 记下这个坐标, 在 点云裁切 算子中 X方向的平移量, Y方向的平移量和Z方向的平移量输入刚刚记下的坐标, 然后在包围盒的长宽高中分别输入100即可

比如, 标记块点云的中心坐标为(12,24,48), 输入的参数如下图所示即可

../_images/%E6%B5%81%E7%A8%8B3.png

平面拟合#

平面拟合 算子的输入选择 点云裁切 算子的输出即可, 该算子的作用为去除标记块点云下方的平面, 一般参数按下图设置即可, 若没有去掉平面则可将 距离阈值 每次调大1

../_images/%E5%B9%B3%E9%9D%A2%E6%8B%9F%E5%90%88.png

离群点过滤#

离群点过滤 算子的输入选择 平面拟合 算子的输出即可, 该算子的作用为过滤掉点云中的杂点, 一般参数按下图设置即可

../_images/%E7%A6%BB%E7%BE%A4%E7%82%B9%E8%BF%87%E6%BB%A4.png

法线估计#

法线估计 算子的输入选择 离群点过滤 算子的输出即可, 该算子为计算法线的算子, 参数设置按照下图所示即可

../_images/%E6%B3%95%E7%BA%BF%E4%BC%B0%E8%AE%A1.png

粗匹配#

粗匹配 算子的输入选择 法线估计 算子的输出即可

模板路径
  • 含义:3D模板文件路径, 选择刚刚用 3D模板制作 工具做的模板即可, 文件后缀为 dmtemp

角度细分数
  • 含义:内部参数,用来设置角度量化数, 无需调整, 60即可

  • 范围:[15,100]

使用投票比例
  • 含义:算法内部使用投票方法进行匹配,这个参数和投票有关,大于该参数的投票结果才可能被输出, 无需调整

  • 范围:[1,99]

模板点云体素采样值
  • 含义:降采样参数,用于控制模型(模板)点云体素降采样时的体素大小

  • 范围:[0.5,20]

场景点云体素采样值
  • 含义:降采样参数,用于控制场景点云体素降采样时的体素大小

  • 范围:[0.5,20]

Tip

模板点云体素采样值场景点云体素采样值 主要目的为了采样和加速, 值越小算子运行速度越慢,匹配精度越高

场景点云跳点采样值
  • 含义:该值越大,匹配速度越慢

  • 范围:[1,100]

Tip

匹配时为了进一步加速,会对场景点云(待匹配的点云)进行采样,这个参数用来控制采样率. 值越大,采样的点数增大,匹配时间增长。值越小,采样的点数越少,虽然速度边快,但匹配效果变差

最大匹配个数
  • 含义:用于匹配结果个数的控制, 保持1即可

  • 范围:[1,10]

匹配位姿使用率
  • 含义:算法执行时,内部产生的中间匹配结果的使用率

  • 范围:[1,100]

Tip

值越大速度越慢,值越小速度越快。 建议: 速度比较慢时把这个值调低些

Note

粗匹配调参优先级顺序(从高到低):

模板点云体素采样值 和 场景点云体素采样值

场景点云跳点采样值

匹配位姿使用率

精匹配#

精匹配 算子的输入中, 输入点云选择 法线估计 算子的输出即可, 匹配位姿选择 粗匹配 算子的输出即可

模板路径
  • 含义:模板文件路径, 选择刚刚用 3D模板制作 工具做的模板即可, 文件后缀为 dmtemp

精匹配方法
  • 含义:精匹配方法

  • 范围:金字塔精匹配,经典精匹配, 我们选择经典精匹配即可

  • 经典精匹配-计算方法
    • 含义:

    • 范围:点到面,点到点, 我们选择点到面即可

  • 经典精匹配-包围盒扩张尺寸
    • 含义:一般设置为-1,即在匹配的时候不扩大boundingbox去增加搜索范围,

    • 范围:[-1,200]

  • 经典精匹配-采样方式
    • 含义:

    • 范围:跳点采样,均匀采样 , 我们选择跳点采样即可

  • 经典精匹配-经典模型点云体素采样率 OrigmodelSampleRate
    • 含义:降采样参数,用于控制模型(模板)点云体素降采样时的体素大小

    • 范围:[1,100]

  • 经典精匹配-经典场景点云体素采样率 OrigSceneSampleRate
    • 含义:降采样参数,用于控制场景点云体素降采样时的体素大小

    • 范围:[1,100]

Tip

OrigmodelSampleRate和OrigSceneSampleRate为匹配时为了进一步加速,会对场景点云(待匹配的点云)进行采样,这个参数用来控制采样率值越大,采样的点数越多,匹配时间增长

  • 经典精匹配-最大迭代次数
    • 含义:迭代次数,迭代次数也不宜太大, 一般30左右即可

    • 范围:[5,10000]

  • 经典精匹配-最小重叠率
    • 含义:判断匹配后前后的点云重叠率,在点云较少的情况下,重叠率不宜设置过高如果没有匹配位姿输出,可减少重叠率来控制匹配位姿的输出

    • 范围:[0.1,0.99]

3D手眼标定转换#

3D手眼标定转换 算子的输入选择 3D手眼标定转换 算子的输出即可, 在参数配置中, 文件路径选择通过 3D手眼标定 工具保存的文件即可, 文件后缀为 dmcalib

DUCO Core端#

视觉插件#

打开DUCO CORE界面, 鼠标点击下图箭头所指处即可弹出视觉插件界面, 输入控制器IP地址点击连接即可

../_images/%E6%8F%92%E4%BB%B611.png

流程#

在DUCOCORE中新增如下图所示流程

../_images/6.png

新建一个pose类型的全局变量pose类型的 g_pose 和局部变量pose类型的 pose_out 以及pose_list类型变量名为的 list , 在 Vision3dMark`中的流程选择上一步新建的流程, 变量选择 `pose_out

Script 中输入如下脚本

../_images/7.png

Tip

由于新增的g_pose没有值, 因此需要先将程序运行一下获取值才可再下一步中将 g_pose 设置为基准

双击 RecordPoseTrans , 将 g_pose 设置为基准, 将 输出-转换位姿 设置为 list , 然后点击 示教添加 , 需要几个示教点添加几个即可, 下图为添加一个示教点

../_images/8.png

Tip

示教添加点的个数决定 GetListElement块的个数, GetListElement的值即为抓取点

新建局部变量pose类型的 pick1 , 在 GetListElement 中取 list 的第1个值给到 pick1 , 此时pick1即为第一个抓取点, 然后添加 MoveL, 移动到 pick1 即可, 如下图

../_images/9.png ../_images/101.png

Tip

上图为添加一个示教点的程序, 若要添加多个示教点, 只需要在 RecordPoseTrans 中多次点击 示教添加 即可

精度验证SOP#

精度异常现象描述
  • 现场实际抓取精度偏差较大

  • 精度验证工具验证误差较大

    • X 方向超过0.5 , Y 方向超过0.5 , Z 方向超过0.5 , RX 方向超过0.1 , RY 方向超过0.1 , RZ 方向超过0.1

1. 排查相机点云完整度和质量#

<1>. 排查相机参数设置是否合理
  • 检查相机参数设置会不会导致图像过爆( 曝光 一般设置为3000-5000),过爆的现象即为中间部分会有部分点云缺失

<2>. 检查相机的工作空间是否在标定空间内
  • 一般在 420 - 550 的工作空间内进行手眼标定, 那么工作空间也在这个范围内

2. 排查匹配算法输出#

<1>. 检查流程里精匹配算子的Debug3D结果

正确匹配的结果如下图所示( 绿色为模板 ,与待匹配点云(白色)完全覆盖上)

模板匹配图

Caution

如果模板点云与待匹配点云, 没有完全覆盖上 ,请从两方面改善匹配效果

  • 第一个方面是 制作优质模板

  • 第二个方面是 调整 粗匹配精匹配 参数

务必使匹配达到一个最优的状态,再进行抓取等应用操作

<2>. 制作优质模板策略
  • 保证模板点云完整,且边缘清晰,边缘噪点较少

<3>. 粗匹配参数调整策略
  • 点云体素采样值场景点云体素采样值 可以往小了调整, 但这两个参数的值 保持一致

  • 场景点云跳点采样率 可以往 了调整, 确保粗匹配算子的Debug3D结果比较稳定且匹配效果相对来说比较好

<4>. 精匹配参数调整策略
  • 经典模板点云体素采样率经典场景点云体素采样率 了调整(一般设置为 20-30 ), 且这两个值 保持一致 , 设置完成后, 查看精匹配结果是否会有好转

3. 手眼标定精度排查#

<1>. 检查初始标定时标定板/球是否在相机视野中央
  • 检查相机 成像是否清晰 ,检查这一点时需要 检查相机的参数设置 ,参数设置不能过爆,且 相机工作空间 是否合理

<2>. 检查自动标定参数设置是否合理
  • 自动标定时 机械臂的运动空间 是否包含真正 应用时的工作空间 , 如果不包含,那么请 设置自动标定时的参数 来进行 重新标定 ,可 适当将自动标定参数加大

Tip

自动标定参数不能一下子设很大,原因有两个:

  • 机械臂本身的姿态受限,自动标定生成的位姿机械臂不一定能走,其二为

  • 机械臂运动范围较大时可能会导致相机拍不到标定板/球,因而自动标定的参数需要慢慢的精调

<3>. 检查标定计算的误差结果
  • 如果 误差 80%以上在 1mm以内 , 那么标定还可以, 如果误差有高达十几毫米的那么请从 相机精度排查 和机 械臂运动精度 两方面进行检查

4. 相机精度排查#

<1>. 在机械臂移动过程中 确保标定块不动

<2>. 确保标定块的 模板 是优质的,确保 粗匹配和精匹配的参数 是调整优化后的参数

<3>. 将机械臂按照X方向移动 只移动机械臂的X值 , 移动固定值 (这个值跟现场有关,要确保在机械臂移动前和移动后相机都能拍到 完整的标定块 , 不然这个值设置的就太大了)

<4>. 记录机械臂在 移动前后的三维点位 ,同时记录机械臂在移动前和移动后匹配到的 标定块的位姿

<5>. 计算机械臂 移动前和移动后三维点位之间的移动距离 , 以及识别的两个标定块三维点位之间移动的距离(x,y,z两个三维点之间的距离), 计算这两个距离的 差值

<6>. 重复 以上操作(1-5)分别将机械臂按照 Y , Z 方向移动, 如果每个移动方向上这个差值都小于0.5mm, 那么更换一台新的相机,重新做这个测试,如果还是一样的结果,那么请协调排查机械臂运动精度,否则更换新相机再次进行标定精度工具验证

5. 协调排查机械臂运动精度#

<1>. 协调工作人员对机械臂的运动精度进行排查

<2>. 如果机械臂重新标定后,那么请再进行一遍标定精度工具验证

6. 精度验证工具#

用于计算相机与标记块偏移一定距离后的精度误差

入口#

点击 标定工具->3D手眼精度验证 即可, 如下图

../_images/%E7%B2%BE%E5%BA%A6%E9%AA%8C%E8%AF%811.png
工具设置#

流程设置

  • 选择我们用于识别的 3D标记块定位流程 即可

机器人设置

  • 选择我们连接的机器人即可

工具设置完后点击下一步即可弹出如下界面

../_images/%E7%B2%BE%E5%BA%A6%E9%AA%8C%E8%AF%812.png
基准识别#

使相机处于正常识别标记块的位置, 点击识别按钮此时软件会自动调用 3D标记块定位流程 , 识别成功或失败会弹框, 如下图为识别成功

../_images/%E7%B2%BE%E5%BA%A6%E9%AA%8C%E8%AF%813.png
操作点位姿#

该功能为设置一个示教点, 因此需切到DucoCore机器人界面, 将机器人移动到一个示教点的位置然后切会DucoMind界面即可, 如下图为设置成功

../_images/%E7%B2%BE%E5%BA%A6%E9%AA%8C%E8%AF%814.png
生成拍照偏移位姿#

点击 生成拍照偏移位姿 按钮, 可进入以下界面, 如下图

../_images/%E7%B2%BE%E5%BA%A6%E9%AA%8C%E8%AF%815.png
上图为设置生成位姿参数的界面, 其中
  • X范围: 机器人基于当前识别位姿 moveTCP 的X范围

  • Y范围: 机器人基于当前识别位姿 moveTCP 的Y范围

  • Z范围: 机器人基于当前识别位姿 moveTCP 的Z范围

  • 角度1范围: 机器人基于当前识别位姿 moveTCP 的RX范围

  • 角度2范围: 机器人基于当前识别位姿 moveTCP 的RY范围

  • 角度3范围: 机器人基于当前识别位姿 moveTCP 的RZ范围

  • 位姿数量: 总共生成多少个位姿

Tip

设置的xyz和角度参数后, 程序自动生成正负范围

设置完参数后, 点击 生成位姿 按钮即可

自动验证#

点击 开始验证 即可从第一行数据开始自动验证, 点击 停止验证 会停止验证, 验证结果会在每一行的状态栏显示

验证计算#

点击 验证计算 按钮会计算所有数据的 误差 , 均值方差 , 其中误差包括 最大值最小值

DM-Mark2D标记板位姿校正应用#

../_images/2D%E7%9B%B8%E6%9C%BA%E9%80%89%E8%A3%851.jpg

新建工程#

打开DUCOMIND 网页, 若已知控制器Ip地址,可用另外一台笔记本或电脑打开DUCOMIND网页, 前提是该设备的网络需与 控制器的IP设置为同一网段, 比如控制器的IP是 192.168.3.10, 则访问 192.168.3.10:7300 即可

详情参见 软件操作指南->工程管理->新建工程

打开DUCOMIND网页后, 若之前已经建立过工程可直接点击工程名字然后会显示 打开 字样, 点击 打开 即可打开相应工程, 如下图为点击第一个工程后的效果

../_images/%E5%B7%A5%E7%A8%8B1.png

若想要新建工程, 只需要点击 新建工程 即可, 如下图

../_images/%E5%B7%A5%E7%A8%8B2.png

点击 新建工程 后会弹出以下界面, 输入相应的信息即可

../_images/%E5%B7%A5%E7%A8%8B3.png

相机#

详情可参考 软件操作指南->相机管理->新建相机 以及 软件操作指南->相机管理->相机配置->DM-Cam2D相机

硬件介绍#

视觉工装介绍#
视觉选配包清单#
../_images/%E7%9B%B8%E6%9C%BA%E9%80%89%E8%A3%85%E6%B8%85%E5%8D%951.png ../_images/%E6%A0%87%E5%AE%9A%E6%9D%BF.png
相机安装示意图#
../_images/2D%E7%9B%B8%E6%9C%BA%E9%80%89%E8%A3%852.png

Tip

  1. 相机组件 通过3颗 法兰板螺钉法兰连接板 连接,再通过4颗 末端螺钉 与机器人末端法兰组装

  2. 相机组件 上的两个接插端口(通讯口、电源及触发口)分别用线缆(M12-RJ45网线线缆、双头M8航插线缆)连接

  3. `M12-RJ45网线线缆`连接工控主机RJ45网口

  4. 双头M8航插线缆`连接至 `光源控制器组件 的电源信号输出端口

  5. `光源控制器组件`的电源输入端口连接与机器人末端24V输出口

相机视场示意图#

在200mm和300mm拍照高度下,相机视场的视野范围如下图:

../_images/%E6%88%AA%E5%9B%BE200.png ../_images/%E6%88%AA%E5%9B%BE300.png
光源调节说明#
../_images/%E5%85%89%E6%BA%90.png

Tip

  1. 电源开关 用来对光源以及相机供电电源的开闭

  2. 触发类型 默认置为 [REMO] 模式,即可以使用相机软触发模式驱动光源开关,[MANU] 模式则为光源常量

  3. 通过 通道切换键 可切换光源的通道为通道1或者通道2, 亮度调节键 上下键分别可调节光源的亮度值,越大则越亮,亮度值可以通过LED显示

../_images/CCD.png

Tip

上面的 触发类型 的使用要结合上图的相机配置参数:触发/常亮软件进行操作

相机网线连接#

相机网线插到控制器网口即可(无需设置), 但建议控制器端先插相机的网线, 即可连接相机

相机电源线连接#

Caution

相机电源及网线连上后, 相机端的提示灯显示蓝色, 同时控制器端网口的显示灯也是正常闪烁, 即正常连接, 否则及时检检查线路是否正常

新建相机#

打开刚刚新建的工程或者打开已存在的工程, 新建 DM-Cam2D ,请参考

如下图所示, 点击添加相机所指出即可弹出 DM-Cam2D 界面, 相机型号选择 DM-Cam2D 即可

../_images/%E6%B7%BB%E5%8A%A0%E7%9B%B8%E6%9C%BA.png ../_images/%E7%9B%B8%E6%9C%BAcam.png

选择好相机型号后, 点击下图箭头所指的扫描按钮即可扫描当前连接设备中的 DM-Cam2D

../_images/%E6%89%AB%E6%8F%8F%E7%9B%B8%E6%9C%BA.png

Tip

在连接相机前, 可借助大华Mv viewer查看相机Ip 点击扫描后需要等待几秒钟的时间才会出结果

在扫描到 DM-Cam2D 后, 点击扫描到相机信息后面的 + 号即可新建一个相机, 如下图:

../_images/DMimage3.png

新建相机后, 新建的第一个相机名称默认为 相机1 , 点击 相机1 可出现相机配置界面, 如下图:

../_images/cam2d.png

连接相机#

点击 连接 按钮后系统会尝试连接 DM-Cam2D, 一般等待几秒钟的时间即可连接成功, 连接成功后, 连接 按钮会变成 断开 按钮

Tip

  1. DM-Cam2D 为POE接口的相机, 与设备连接后, 点击连接相机后,可设置相机自动连接状态,即每次打开工程后即可连接相机

  2. 若相机连接不成功会弹出报错窗口, 此时需检查网线与相机是否完好, 也有可能是供电不足所致

相机调整#

调整 焦距 时, 需要拧镜头最下方的螺柱, 至于如何调整合适的 焦距 可参考下面表格里正确的焦距图

焦距调整结果图

示例:图

不合适焦距图

../_images/hu.png

正确焦距图

../_images/qingxi1.png

调整 光圈 时, 拧镜头最上方的螺柱, 至于如何调整合适的 光圈 可参考下面表格里正确的光圈图

光圈调整结果图

示例:图

不合适光圈图(过亮)

../_images/light_liang.png

不合适光圈图(过暗)

../_images/light_hei.png

正确光圈图

../_images/light_zhengchang.png

在调整相机焦距和光圈时, 需要注意以下问题:

Tip

  1. 在调整相机的焦距和光圈前, 需要确定相机的 工作高度 , 在确定的工作高度下,再调整相机的焦距和光圈

  2. 在调整相机参数之前, 需要 先调整相机的焦距 , 再调整相机的光圈, 一般出场时相机的焦距和光圈一般是调整好的, 但如果存在拍照不清晰的情况下, 需要手动调节焦距和光圈

  3. 在调整相机焦距和光圈的时候也可以 参考相机调整焦距和调整相机亮度的工具 ,进行调节

  4. 以上调整需要配合光源一起, 在光源打开的前提下 , 进行调整

参数配置#

下图为 DM-Cam2D 相机的参数配置界面

../_images/cam2d.png

Tip

  1. 这些参数中我们经常配置的是 曝光 以及 增益

  2. 曝光 : 当相机拍照过亮或过暗可通过设置该参数调节(注意, 在光源开着的情况下, 曝光不需要设置很高, 防止过爆), 可利用自带的 大华软件 , 设置自动曝光, 并记录曝光值, 输入到已连接相机配置界面里的曝光参数

  3. 增益 : 可利用自带的 大华软件 , 设置自动增益, 并记录增益值, 输入到已连接相机配置界面里的增益参数

  4. 设置完成后需要点击确认按钮才可生效

机器人#

详情可参考 软件操作指南->机器人管理->新建机器人

新建机器人#

点击下图箭头所指即可弹出新建机器人界面

../_images/%E6%9C%BA%E5%99%A8%E4%BA%BA11.png

Tip

机器人型号支持两种 ducocore_gcr10ducocore_gcr5

点击 新建 按钮即可新建机器人

连接机器人#

点击刚刚新建的机器人名称会弹出机器人配置界面, 输入机器人的IP点击 连接 按钮即可连接机器人, 连接 成功后 连接 按钮会变为 断开 并且连接前面的圆点会由红变绿, 如下图

../_images/%E6%9C%BA%E5%99%A8%E4%BA%BA21.png

DM-Mark2D位姿矫正#

选择 资源->智能流程 , 点击智能流程左上角的加号, 添加DM-Mark2D位姿矫正智能块

../_images/DMimage6.png

基础设置#

../_images/DM1.png ../_images/DM2.png
  • 相机配置, 点击 相机, 选择连接的2D相机(目前这个功能块配置的相机为海康相机)

  • 机器人配置, 选择 已连接的机器人 后, 进入下一步

自动标定#

拍照位姿示教#
../_images/DM3.png

在进行自动标定前, 先检查一下以下注意点

Tip

  1. 确认相机为 眼在手上 的安装方式

  2. 移动机器人末端至合适位置( 末端调平, 即Rx=180, Ry=0), 令 标定板在图像正中央 , 推荐标定距离为 200mm

  3. 调整 相机焦距, 光圈及参数 至标定板成像清晰

自动标定#
../_images/DM4.png ../_images/DM4-1.png ../_images/DM4-2.png
  • 标定板类型: 选择DM-DB300405A类型的标定板(工艺包自带标定板)

  • 标定状态: 默认自动

  • 标定距离: 输入标记板距相机的高度(单位为mm)

  • 内参文件导出/导入:支持智能块内参标定文件的导出与导入

  • 手眼文件导出/导入:支持智能块手眼标定文件的导出与导入

点击自动标定, 即可进行自动标定. 首先会先进行 内参标定 , 如果内参标定一次能成功, 即会自动进行 手眼标定 . 如果第一次自动内参标定没有成功, 算法会再进行一次内参标定, 在 两次内参自动标定 都没有成功的情况下, 需要用户检查一下 相机曝光参数 设置是否过爆, 其次检查相机的 拍照高度 是否低于200mm

标定结果#
../_images/DM4-4.png

内参标定的 投影误差, 以及手眼标定的最大最小以及平均误差会显示在界面上, 点击下一步进入基准设置界面

  • 内参标定误差: 内参误差高于 0.7 时, 建议重新调整相机曝光, 标定板在相机中心的位子, 重新进行内参手眼标定

  • 手眼标定误差: 最大误差高于 0.9 , 平均误差大于 0.5 时, 建议重新调整相机曝光, 标定板在相机中心的位子, 以及确认相机距标定板的距离, 重新进行内参手眼标定

基准设置#

基准位姿示教#
../_images/%E5%9F%BA%E5%87%86%E9%85%8D%E7%BD%AE1.png

在进行基准位姿设置前, 先检查一下以下注意点

Tip

  1. 确认相机为 眼在手上 的安装方式

  2. 移动机器人末端至合适位置( 末端调平, 即Rx=180, Ry=0), 令 2DMark标记板在图像正中 , 建议拍摄距离不要偏离标定距离上下 25mm

  3. 请不要调整相机焦距, 光圈及参数

基准配置#
../_images/%E5%9F%BA%E5%87%86%E9%85%8D%E7%BD%AE2.png
  • 标记板类型: 选择 DM-Mark2D50A标记板

  • 当前状态: 默认是未设置状态, 点击 识别并设置基准/自动调平 时, 状态即变为已设置

  • 标定距离: 即为自动标定时, 界面上 输入的标定板距相机的距离

  • 标记距离: 自动标定后, 计算标记板距相机的距离 , 如果标记距离剧标定距离超过25mm, 界面会显示 过远 , 此时若精度满足需要可忽略, 若不满足需求, 需要调整标定距离, 重新标定

  • 自动调平: 自动调平功能, 此按钮即让 相机平面与标记板平面保持平行 , 这个按钮 如果没有强制要求,建议不使用 ( 在末端水平, 末端与工作平面平行的情况下, 建议可以不点击,如果要使用建议在距工作平面100mm内使用调平功能 ), 如果点击后, 需要点击识别并设置基准, 记录基准位姿

  • 识别并设置基准 : 识别标记板, 并记录 此时标记板的位姿 , 给矫正调姿使用, 设置完成后, 点击下一步, 进入位姿矫正界面

位姿矫正#

矫正配置#
../_images/%E4%BD%8D%E5%A7%BF%E7%9F%AB%E6%AD%A31.png
  • 最大累积矫正位移(mm): 矫正过程中, 机器人移动的距离累积和, 如果 机器人移动的累积距离大于最大累积矫正位移 , 那么矫正进程即终止, 矫正结束

  • 最大累积矫正角度(°): 矫正过程中, 机器人移动的角度累积和, 如果 机器人移动的累积角度大于最大累积矫正角度 , 那么矫正进程即终止, 矫正结束

  • 最大伺服矫正次数: 矫正过程中, 机器人移动的次数累积和, 如果 机器人移动的累积次数大于最大伺服矫正次数 , 那么矫正进程即终止, 矫正结束

  • 终止条件-位移误差(mm): 矫正过程中, 识别到的 标记板位姿与基准记录的位姿之间的位移偏差小于终止条件时, 在同时满足角度误差的终止条件时 , 那么矫正进程即终止, 矫正结束

  • 终止条件-角度误差(°): 矫正过程中, 识别到的 标记板位姿与基准记录的位姿之间的角度偏差小于终止条件时, 在同时满足位移误差的终止条件时 , 那么矫正进程即终止, 矫正结束

  • 调姿延时(ms): 为防止机器人没有停稳, 会对调姿精度带来影响, 默认延时500ms

重设基准#
../_images/%E4%BD%8D%E5%A7%BF%E7%9F%AB%E6%AD%A32.png

标记板动了的情况下, 或者重新换了一个标记板, 需要重新设置标记板基准 , 此时是可以重设基准的, 但如果标记板没有任何更改, 那么这里可以忽略

  • 标定距离: 即为自动标定时, 界面上输入的标定板距相机的距离

  • 标记距离: 自动标定后, 计算标记板距相机的距离

矫正测试#
../_images/%E4%BD%8D%E5%A7%BF%E7%9F%AB%E6%AD%A33.png ../_images/%E7%9F%AB%E6%AD%A3%E6%B5%8B%E8%AF%954.png ../_images/%E7%9F%AB%E6%AD%A3%E6%B5%8B%E8%AF%955.png
  • 矫正测试: 点击矫正测试, 即可进行位姿矫正, 此时矫正结束的终止条件即为上面配置的矫正配置条件(调试配置阶段可以使用)

  • 矫正误差: 显示每次矫正过程中, 机器人矫正的位移和角度

重置所有参数#
../_images/%E9%87%8D%E7%BD%AE%E6%89%80%E6%9C%89%E5%8F%82%E6%95%B0.png

重置 基础设置->位姿矫正 界面上的所有参数的配置, 重新配置此智能块流程

取消#
../_images/%E5%8F%96%E6%B6%88.png

取消 位姿矫正 界面所有配置的参数设置, 矫正配置恢复到默认值, 重设基准取消(如何有重设基准)

确定#
../_images/%E7%A1%AE%E5%AE%9A.png

保存 基础设置->位姿矫正 界面上的所有参数的配置, 提供给机器人端配置使用

DUCO Core端#

视觉插件#

打开DUCO CORE界面, 鼠标点击下图箭头所指处即可弹出视觉插件界面, 输入控制器 IP 地址点击连接即可

../_images/%E6%8F%92%E4%BB%B611.png

流程#

在DUCOCORE中新增如下图所示流程

../_images/DMr1.png

新建一个局部变量pose类型的 mark_in_base (矫正识别后标记板的位姿)以及Bool类型的 detect_success (是否矫正识别成功)

Mark2DPoseCorrect 里配置输出, 如下图

../_images/DMr2.png

添加 If 功能块, 如果矫正识别成功, 再进行抓取操作, 即下图条件

../_images/DMr3.png

新建一个pose类型的全局变量pose类型的 g_pose 和pose_list类型变量名为的 picklist

Script 中输入如下脚本

../_images/DMr4.png

Tip

由于新增的g_pose没有值, 因此需要先将程序运行一下获取值才可再下一步中将 g_pose 设置为基准

双击 RecordPoseTrans , 将 g_pose 设置为基准, 将 输出-转换位姿 设置为 picklist , 然后点击 示教添加 , 需要几个示教点添加几个即可, 下图为添加一个示教点

../_images/DMr5.png

Tip

示教添加点的个数决定 GetListElement块的个数, GetListElement的值即为抓取点

新建局部变量pose类型的 move_pick1 , 在 GetListElement 中取 picklist 的第1个值给到 move_pick1 , 此时pick1即为第一个抓取点, 然后添加 MoveL, 移动到 move_pick1 即可, 如下图

../_images/DMr6.png ../_images/DMr7.png

Tip

上图为添加一个示教点的程序, 若要添加多个示教点, 只需要在 RecordPoseTrans 中多次点击 示教添加 即可

2D目标定位应用#

../_images/2D%E7%9B%B8%E6%9C%BA%E9%80%89%E8%A3%851.jpg

新建工程#

打开DUCOMIND 网页, 若已知控制器Ip地址,可用另外一台笔记本或电脑打开DUCOMIND网页, 前提是该设备的网络需与 控制器的IP设置为同一网段, 比如控制器的IP是 192.168.3.10, 则访问 192.168.3.10:7300 即可

详情参见 软件操作指南->工程管理->新建工程

打开DUCOMIND网页后, 若之前已经建立过工程可直接点击工程名字然后会显示 打开 字样, 点击 打开 即可打开相应工程, 如下图为点击第一个工程后的效果

../_images/%E5%B7%A5%E7%A8%8B1.png

若想要新建工程, 只需要点击 新建工程 即可, 如下图

../_images/%E5%B7%A5%E7%A8%8B2.png

点击 新建工程 后会弹出以下界面, 输入相应的信息即可

../_images/%E5%B7%A5%E7%A8%8B3.png

相机#

这里支持相机列表中所有的2D相机进行连接, 连接不同相机时请查看连接品牌相机的说明书, 下面仅详细介绍Cam2D相机的硬件安装及设置

详情可参考 软件操作指南->相机管理->新建相机 以及 软件操作指南->相机管理->相机配置->DM-Cam2D相机

硬件介绍#

../_images/2D%E7%9B%B8%E6%9C%BA%E9%80%89%E8%A3%852.png

Tip

  1. 相机组件 通过3颗 法兰板螺钉法兰连接板 连接, 再通过4颗 末端螺钉 与机器人末端法兰组装

  2. 相机组件 上的两个接插端口(通讯口、电源及触发口)分别用线缆(M12-RJ45网线线缆、双头M8航插线缆)连接

  3. `M12-RJ45网线线缆`连接工控主机RJ45网口

  4. 双头M8航插线缆`连接至 `光源控制器组件 的电源信号输出端口

  5. `光源控制器组件`的电源输入端口连接与机器人末端24V输出口

在200mm和300mm拍照高度下, 相机拍照的视野范围如下图:

../_images/%E6%88%AA%E5%9B%BE200.png ../_images/%E6%88%AA%E5%9B%BE300.png ../_images/%E5%85%89%E6%BA%90.png

Tip

  1. 电源开关 用来对光源以及相机供电电源的开闭

  2. 触发类型 默认置为 [REMO] 模式,即可以使用相机软触发模式驱动光源开关,[MANU] 模式则为光源常量

  3. 通过 通道切换键 可切换光源的通道为通道1或者通道2, 亮度调节键 上下键分别可调节光源的亮度值, 越大则越亮, 亮度值可以通过LED显示

../_images/CCD.png

Tip

上面的 触发类型 的使用要结合上图的相机配置参数:触发/常亮软件进行操作

相机网线连接#

相机网线插到控制器网口即可(无需设置), 但建议控制器端先插相机的网线, 即可连接相机

相机电源线连接#

Caution

相机电源及网线连上后, 相机端的提示灯显示蓝色, 同时控制器端网口的显示灯也是正常闪烁, 即正常连接, 否则及时检检查线路是否正常

新建相机#

打开刚刚新建的工程或者打开已存在的工程, 新建 DM-Cam2D ,请参考

如下图所示, 点击下图箭头所指出即可弹出 DM-Cam2D 界面, 相机型号选择 DM-Cam2D 即可

../_images/%E6%B7%BB%E5%8A%A0%E7%9B%B8%E6%9C%BA.png ../_images/%E7%9B%B8%E6%9C%BAcam.png

选择好相机型号后, 点击下图箭头所指的扫描按钮即可扫描当前连接设备中的 DM-Cam2D

../_images/%E6%89%AB%E6%8F%8F%E7%9B%B8%E6%9C%BA.png

Tip

在连接相机前, 可借助大华Mv viewer查看相机Ip 点击扫描后需要等待几秒钟的时间才会出结果

在扫描到 DM-Cam2D 后, 点击扫描到相机信息后面的 + 号即可新建一个相机, 如下图:

../_images/DMimage3.png

新建相机后, 新建的第一个相机名称默认为 相机1 , 点击 相机1 可出现相机配置界面, 如下图:

../_images/cam2d.png

连接相机#

点击 连接 按钮后系统会尝试连接 DM-Cam2D, 一般等待几秒钟的时间即可连接成功, 连接成功后, 连接 按钮会变成 断开 按钮

Tip

  1. DM-Cam2D 为POE接口的相机, 与设备连接后, 点击连接相机后,可设置相机自动连接状态,即每次打开工程后即可连接相机

  2. 若相机连接不成功会弹出报错窗口, 此时需检查网线与相机是否完好, 也有可能是供电不足所致

相机调整#

调整 焦距 时, 需要拧镜头最下方的螺柱, 至于如何调整合适的 焦距 可参考下面表格里正确的焦距图

焦距调整结果图

示例:图

不合适焦距图

../_images/hu.png

正确焦距图

../_images/qingxi1.png

调整 光圈 时, 拧镜头最上方的螺柱, 至于如何调整合适的 光圈 可参考下面表格里正确的光圈图

光圈调整结果图

示例:图

不合适光圈图(过亮)

../_images/light_liang.png

不合适光圈图(过暗)

../_images/light_hei.png

正确光圈图

../_images/light_zhengchang.png

在调整相机焦距和光圈时, 需要注意以下问题:

Tip

  1. 在调整相机的焦距和光圈前, 需要确定相机的 工作高度 , 在确定的工作高度下,再调整相机的焦距和光圈

  2. 在调整相机参数之前, 需要 先调整相机的焦距 , 再调整相机的光圈, 一般出场时相机的焦距和光圈一般是调整好的, 但如果存在拍照不清晰的情况下, 需要手动调节焦距和光圈

  3. 在调整相机焦距和光圈的时候也可以 参考相机调整焦距和调整相机亮度的工具 ,进行调节

  4. 以上调整需要配合光源一起, 在光源打开的前提下 , 进行调整

参数配置#

下图为 DM-Cam2D 相机的参数配置界面

../_images/cam2d.png

Tip

  1. 这些参数中我们经常配置的是 曝光 以及 增益

  2. 曝光 : 当相机拍照过亮或过暗可通过设置该参数调节(注意, 在光源开着的情况下, 曝光不需要设置很高, 防止过爆), 可利用自带的 大华软件 , 设置自动曝光, 并记录曝光值, 输入到已连接相机配置界面里的曝光参数

  3. 增益 : 可利用自带的 大华软件 , 设置自动增益, 并记录增益值, 输入到已连接相机配置界面里的增益参数

  4. 设置完成后需要点击确认按钮才可生效

机器人#

详情可参考 软件操作指南->机器人管理->新建机器人

新建机器人#

点击下图箭头所指即可弹出新建机器人界面

../_images/%E6%9C%BA%E5%99%A8%E4%BA%BA11.png

Tip

机器人型号支持两种 ducocore_gcr10ducocore_gcr5

点击 新建 按钮即可新建机器人

连接机器人#

点击刚刚新建的机器人会弹出机器人配置界面, 输入机器人的IP点击 连接 按钮即可连接机器人, 连接 成功后 连接 按钮会变为 断开 并且连接前面的圆点会由红变绿, 如下图

../_images/%E6%9C%BA%E5%99%A8%E4%BA%BA21.png

2D目标定位#

选择 资源->智能流程 , 点击智能流程左上角的加号, 添加2D目标定位智能块

../_images/Detection2D1.png

基础设置#

../_images/Detection2.png
  • 相机配置, 点击 相机, 选择连接的2D相机, 这里只支持相机2D相机

  • 机器人配置, 选择 已连接的机器人 后, 进入下一步

基准注册#

拍照位姿示教#
../_images/Detection3.png

在基准注册前, 先检查以下注意点

Tip

  1. 确认相机为 眼在手上 的安装方式,使相机垂直拍摄识别物

  2. 移动机器人至 末端水平, 即Rx=180, Ry=0, 这一步是为了保证相机所在平面水平, 这样能够使得纠偏精度得以保证

  3. 待识别物在图像正中央, 自研相机推荐使用距离为 200mm, 若工作距离发生变动, 需要重新调整相机焦距, 以及相机曝光等参数

  4. 相机端调整 相机焦距, 光圈及相机参数 至待识别物成像清晰 调整 相机焦距, 光圈及相机参数 至图像成像清晰

基准注册#
../_images/Detection4.png
  • 相机拍照: 在基准注册前, 首先进行拍照, 可查看当前调整好的图像

../_images/Detection5.png
  • 识别目标: 绘制区域, 点击后, 在左侧会显示绘制ROI工具, 可选择ROI绘制方式, 将待检测的部分用ROI框出来

../_images/Detection6.png
  • 注册状态: 点击注册, 即可记录当前基准位的信息, 如果注册状态显示成功, 即可继续进行下面的配置, 否则, 请调节相机参数至图像清晰

点击注册后, 如果注册成功, 界面上会显示注册成功的状态, 同时图像会画出在ROI区域内识别到的模板特征点信息, 这里可以检查一下图像上绘制的模板特征点信息,若特征信息是均匀散布在待识别物体上,即特征良好

如果没有显示注册成功, 那么需要检查相机拍摄的图片是否清晰, 如果不清晰, 请调整相机参数至相机拍照清晰, 再重新绘制ROI, 重新进行注册

自动标定#

拍照位姿示教#
../_images/Detection7.png

在进行自动标定前, 需要查看当前机器人运动空间范围, 是否有障碍物

Tip

  1. 合理设置自动标定时, 确定平移距离和旋转范围, 确保在此范围内相机是可以拍全待识别物体的

  2. 若自动标定时初始状态下机器人的位姿动了, 那么此时需要回到基于注册点时的位姿, 确保初始标定状态下机器人位姿与基准注册时机器人位姿是同一个

自动标定#
../_images/Detection82.png
  • 平移范围(mm): 自动标定时, 上一个标定位姿距下一个标定位姿的平移距离, 可根据相机视野, 以及机器人可运动的距离来决定

  • 旋转范围(°): 标定旋转时的旋转范围, 在此范围内进行旋转识别标定

  • 最小分数: 匹配时的最小分数, 分数过大时, 会导致在当前位姿下无法识别出结果

../_images/Detection81.png
  • 按住回基准位 : 若机器人的初始标定位与基准注册位时的机器人位姿不相同时, 此时可按住回基准位, 即可回到基准注册下的机器人位姿

../_images/Detection8.1.png
  • 自动标定 : 自动进行标定, 首先进行9次平移, 之后再进行7次旋转, 即可完成标定, 中间有任何一次无法正确识别待识别物时, 标定即刻停止,即标定失败

../_images/Detection8.png
  • 停止标定 : 点击后, 自动标定停止, 再次标定时, 点击自动标定即可

标定结果#
../_images/Detection9.png
  • 标定结果: 如果标定成功, 会显示标定成功的状态, 否则显示标定失败

  • 标定误差: 如果标定成功, 则会显示平均标定误差, 最大标定误差以及最小标定误差

定位纠偏#

识别配置#
../_images/Detection91.png
  • 最大目标个数: 输入最大识别个数, 若待识别物只有一个, 那么最大目标个数为1

  • 最小分数: 识别匹配的最小分数, 大于设置分数的识别结果即会被输出

  • 排序方式: 识别结果输出可以按照多种排序方式选择输出, 分数从高到低, 从左到右, 从右到左, 从上到下, 从下到上输出, 按照抓取方便, 选择某种方式对识别到的结果进行排序后输出

  • 速度-精度: 控制识别的速度和精度, 当滚动条拉向速度时, 识别速度会变快, 但精度会变差, 滚动条拉向精度时, 识别速度会变慢, 精度会变好

识别测试#
../_images/Detection92.png ../_images/Detection93.png

标记板动了的情况下, 或者重新换了一个标记板, 需要重新设置标记板基准 , 此时是可以重设基准的, 但如果标记板没有任何更改, 那么这里可以忽略

  • 按住回基准点: 回到机器人基准注册位时机器人的位姿

  • 识别测试: 识别配置完成后, 即可进行识别测试, 同时识别到的结果图会显示在左图图像上, 如果识别结果不满意, 需要重新设置识别配置参数, 再次进行识别测试

纠偏测试#
../_images/Detection96.png ../_images/Detection94.png ../_images/Detection95.png
  • 按住回基准点: 回到机器人基准注册位时机器人的位姿

  • 序号: 选择纠偏序号, 有几个识别结果就会有几个纠偏

  • 纠偏测试: 选择某个纠偏序号, 即可进行纠偏, 会将机器人移动到, 基准注册时机器人与待识别物的相对关系

重置所有参数#
../_images/Detection103.png

重置 基础设置->定位纠偏 界面上的所有参数的配置, 重新配置此智能块流程

取消#
../_images/Detection102.png

取消 定位纠偏 界面所有配置的参数设置, 定位纠偏恢复到工程上次保存的默认值

确定#
../_images/Detection101.png

保存 基础设置->定位纠偏 界面上的所有参数的配置, 提供给机器人端配置使用

DUCO Core端#

视觉插件#

打开DUCO CORE界面, 鼠标点击下图箭头所指处即可弹出视觉插件界面, 输入控制器 IP 地址点击连接即可

../_images/%E6%8F%92%E4%BB%B611.png

流程#

在DUCOCORE中, 首先连接DUCOMInd, 本地连接输入连接的mind的IP, 如下图

接着拖出 Detection2D 插件

../_images/detection.png

Detection2D 里参数里进行配置

服务器状态#

若服务器连接状态断开, 需要从DUCOMind插件端进去, 重新连接DUCOMind, 之后再进行下列配置. 若连接成功, 点击下图中的转到, 即可转到当前配置的ducomind工程

../_images/%E8%BD%AC%E5%88%B0.png
流程配置#

选择DUCOMind端已打开的工程中配置好的2D定位智能块, 若没有可选择的智能块, 可以刷新一下

../_images/shuaxin.png
拍照点配置#

拍照点有两种选择:运动到基准注册点/基于当前位置, 默认选项为运动到基准注册点

运动到基准注册点:基准注册点是一个固定的机器人位姿, 也就是机器人拍照位是固定的

基于当前位置: 机器人拍照位是不定的, 运动到自己定义的机器人位姿

模式#

纠偏模式分为纠偏和纠偏并操作两种方式, 默认仅纠偏

纠偏:仅对识别到的物体进行纠偏操作, 其他操作可在undefined的块中, 自行定义添加

纠偏测试:基于当前拍照位下, 点击识别, 若识别成功会显示识别成功字样, 否则即识别失败. 若识别成功即可按住纠偏(点击后进入机器人移动界面, 按住移动即可),运动完成纠偏(多目标情况下,仅进行一次纠偏操作)

  • 示教操作点: 点击后进入机器人移动界面(设置示教的是抓取物体的点位), 示教机器人移动到抓取点

  • 记录当前点: 记录抓取物体的操作点位

  • 移动到此点: 移动到记录的抓取操作点位

  • 过度点偏置高度(mm): 设置抓取物体的操作点位上方点位, 默认50mm

变量IO#

识别成功: 返回全局bool变量, 返回检测目标物是否成功

总目标数: 返回检测目标总数, 即形状匹配到的目标个数

确定#

点击确定, 即完成编辑块名称记录, 完成流程配置, 拍照点配置, 以及操作点配置并保存配置, 并生成流程块程序

取消#

点击取消, 即将流程配置, 拍照点配置, 以及操作点配置恢复到默认状态

3D目标定位应用#

新建工程#

打开DUCOMIND 网页, 若已知控制器Ip地址,可用另外一台笔记本或电脑打开DUCOMIND网页, 前提是该设备的网络需与 控制器的IP设置为同一网段, 比如控制器的IP是192.168.3.10, 则访问 192.168.3.10:7300 即可

详情参见 软件操作指南->工程管理->新建工程

打开DUCOMIND网页后, 若之前已经建立过工程可直接点击工程名字然后会显示 打开 字样, 点击 打开 即可打开相应工程, 如下图为点击第一个工程后的效果

../_images/%E5%B7%A5%E7%A8%8B1.png

若想要新建工程, 只需要点击 新建工程 即可, 如下图

../_images/%E5%B7%A5%E7%A8%8B2.png

点击 新建工程 后会弹出以下界面, 输入相应的信息即可

../_images/%E5%B7%A5%E7%A8%8B3.png

相机#

详情可参考 软件操作指南->相机管理->新建相机 以及 软件操作指南->相机管理->相机配置->知微相机

硬件介绍#

视觉工装介绍#
视觉选配包清单#
../_images/%E7%9B%B8%E6%9C%BA%E9%80%89%E8%A3%853.png
标定板安装示意图(标定板在手上)#
../_images/%E7%9B%B8%E6%9C%BA%E9%80%89%E8%A3%851.png
3D相机安装示意图(相机在手上)#
../_images/%E7%9B%B8%E6%9C%BA%E9%80%89%E8%A3%852.png
相机网线连接#

相机网线插到控制器网口, 确保插入的网口已经设置为 仅本地链路连接 , 设置控制器某个网口为 仅本地链路连接 的方法:

方法一

  1. 打开终端, 若直接通过示教器显示, 按 Ctrl+Alt+F2/F3/F4 即可打开一个终端;

  2. 当前控制器有3个网口, 名称分别为 enp1s0 , enp2s0 , enp3s0

3. 比如设置 enp1s0 网口为 仅本地链路连接 的命令为: sudo ifconfig 网口名称 169.254.7.12 broadcast 169.254.255.255 netmask 255.255.0.0

Tip

一般中间的网口为 enp3s0 , 靠近HDMI接口的为 enp2s0 , 另外一个口为 enp1s0 , 出厂Ip均已设置好, 将相机网线接在 enp1s0 口即可

方法二

  1. 打开管理软件(DucoManager)界面, 点击 网络配置;

  2. 点击网络配置后可看到3个网络状态,分别为 LAN1 , LAN2 , LAN3 , 这3个网口分别对应控制器上的 LAN1 , LAN2 , LAN3

  3. 选择 LAN2LAN3 , 点击设置, 将网口设置为 仅本地链路连接 即可

将相机网线插在设置为 仅本地链路连接 的网口即可

相机电源线连接#

相机电源需符合电压为24V, 电流为2A的规格, 如下图为标准的相机电源适配器信息

../_images/%E7%9B%B8%E6%9C%BA%E7%94%B5%E6%BA%90.jpg

Caution

相机电源第一次连接上后相机镜头会打光并显示Logo, 大约10-20s左右Logo会消失, 若相机连上电源通电后相机镜头没有出光显示Logo或出光显示的Logo一直不消失此时需检查电源线路

新建相机#

打开刚刚新建的工程或者打开已存在的工程, 新建 知微相机

如下图所示, 点击下图箭头所指出即可弹出 新建相机 界面, 相机型号选择 知微相机 即可

../_images/%E7%9B%B8%E6%9C%BA1.png

选择好相机型号后, 点击下图箭头所指的扫描按钮即可扫描当前设备存在的 知微相机

../_images/%E7%9B%B8%E6%9C%BA2.png

Tip

上图的结果为本地设备已经连接一台知微相机后扫描的结果, 并且点击扫描后需要等待几秒钟的时间才会出结果

在扫描到 知微相机 后,点击扫描到相机信息后面的 + 号即可新建一个相机, 如下图:

../_images/%E7%9B%B8%E6%9C%BA3.png

新建相机后,新建的第一个相机名称默认为 相机1 , 点击 相机1 可出现相机配置界面, 如下图:

../_images/%E7%9B%B8%E6%9C%BA4.png

连接相机#

点击 连接 按钮后系统会尝试连接 知微相机, 一般等待几秒钟的时间即可连接成功, 连接成功后, 连接 按钮会变成 断开 按钮

Tip

  1. 知微相机 为POE接口的相机, 与设备连接后, 需将连接的网口设置为 仅本地链路连接 后才能连接成功(若提前知道相机IP, 将网络设为与相机相同网段也可)

  2. 若相机连接不成功会弹出报错窗口, 此时需检查网口配置, 并检查网线与相机是否完好, 也有可能是供电不足所致

参数配置#

下图为知微相机的参数配置界面

../_images/%E7%9B%B8%E6%9C%BA5.png

其中相机曝光参数,需要根据现场条件进行更改,一般曝光参数为2000-3000即可,如下图:

../_images/detect3D3.png

Tip

  1. 这些参数中我们经常配置的是 IR曝光 以及 多曝光次数

  2. IR曝光 : 当相机拍照过亮或过暗可通过设置该参数调节

  3. 多曝光次数 : 相机打光次数, (默认一次, 可将该参数设置为3)

  4. 设置完成后需要点击确认按钮才可生效

机器人#

详情可参考 软件操作指南->机器人管理->新建机器人

新建机器人#

点击下图箭头所指即可弹出新建机器人界面

../_images/%E6%9C%BA%E5%99%A8%E4%BA%BA11.png

Tip

机器人型号支持两种 ducocore_gcr10ducocore_gcr5

点击 新建 按钮即可新建机器人

连接机器人#

点击刚刚新建的机器人名称会弹出机器人配置界面, 输入机器人的IP点击 连接 按钮即可连接机器人, 连接 成功后 连接 按钮会变为 断开 并且连接前面的圆点会由红变绿, 如下图

../_images/%E6%9C%BA%E5%99%A8%E4%BA%BA21.png

3D目标定位#

选择 资源->智能流程 , 点击智能流程左上角的加号, 添加3D目标定位智能块

../_images/detect3D4.png

基础设置#

../_images/detect3D5.png
  • 相机配置, 点击 相机, 选择连接的3D相机, 这里只支持相机3D相机

  • 机器人配置, 选择 已连接的机器人 后, 进入下一步

自动标定#

拍照位姿示教#

在自动标定前, 先检查以下注意点

Tip

  1. 确认相机为 眼在手上 的安装方式,使相机垂直拍摄识别物

  2. 调整机械臂, 使得 待识别物在图像正中央

自动标定#
  • 标定板类型: 选择正确的标定板, 进行标定, 默认为DM-DB300405A的标定板

  • 标定距离: 点击识别测距,即可计算出标定板距相机的距离,才可以进行标定

../_images/detect3D6.png
  • 高级参数: 勾选时,可对空间高度,顶边边长,低边边长进行修改,若未勾选,则参数为默认参数

../_images/detect3D7.png
  • 3D手眼标定文件导入:若在当前工装下,无法进行自动标定,那么可利用标定工具,进行手动标定,并把标定文件导入即可,导入标定文件,标定状态为已标定

  • 3D手眼标定文件导出:当前智能流程的标定结果可进行导出,其中导出文件名为自定义,导出文件路径为当前工程的resource目录下

  • 自动标定:点击后即可进行自动标定,视窗会自动更新识别结果图像

../_images/detect3D8.png
  • 停止标定:若自动标定过程中,需要急需暂停标定,点击停止标定即可,若想要再次标定时,要回到标定初始位重新进行自动标定即可

  • 标定状态:可进行自动标定,若自动标定成功,则标定状态为已标定,否则标定失败

标定结果#
../_images/detect3D9.png
  • 标定结果: 如果标定成功, 会显示标定成功的状态, 否则显示标定失败

  • 标定误差: 如果标定成功, 则会显示平均标定误差, 最大标定误差以及最小标定误差

模板分割#

拍照位姿示教#

在拍照位姿示教前,需要检查以下注意事项:

Tip

  1. 确认相机为眼在手上安装方式

  2. 移动机器人末端至合适位置,令标记块在图像正中,建议拍摄距离不要偏离标定距离上下浮动25mm

模板数据分割#
  • 相机拍照: 相机拍照得到当前拍照的图片

  • 分割方式: 用来分割标记块点云,这里支持自动分割/手动分割

  • 自动分割分数: 用于自动分割,分数过大,自动分割可能会没有结果输出,分割结果及分割分数会显示在图像上

  • 自动分割精度: 自动分割精度越高,分割标定块的完整性也越高

  • 自动分割: 点击自动分割,即可在左图上显示分割结果图

../_images/detect3D10.png
  • 手动分割: 点击绘制区域后,可在左图拍摄的图像上画出旋转框,即可框住标记块,点击确定即可完成分割

../_images/detect3D11.png

模型修整#

修整工具#
../_images/detect3D12.png
  • 修整工具: 这里提供很多可以修整模板点云的工具,选择修改即可

  • 重置:重置所有修整操作,使点云恢复到分割点云

  • 撤销:撤销当前对点云进行的修整操作

  • 执行并查看:执行查看当前对点云进行修整的操作

Tip

  1. 修整工具与模板制作工具同步,使用方式可参考模板制作工具

  2. 模板修整顺序可参考以下顺序:自动重置中心-擦除点云-滤波

../_images/detect3D13.png ../_images/detect3D14.png ../_images/detect3D15.png ../_images/detect3D16.png

模板生成#

视点重定向#
  • XYZ: 定义法线的视点方向,一般将Z值设置为-100即可

特征计算#
../_images/detect3D17.png
  • 特征类型: 法线,默认为法线,不可进行修改

  • 半径: 特征计算半径,默认为5mm

  • 执行并查看:得到法线点云

识别配置#

识别配置#
  • 自动分割分数: 用于自动分割,分数过大,自动分割可能会没有结果输出,分割结果及分割分数会显示在图像上

  • 自动分割精度: 自动分割精度越高,分割标定块的完整性也越高

  • 最小重叠率:点云匹配结果与模板的最小重叠率,重叠率过大,可能没有位姿输出

  • 高级参数: 粗匹配点云采样值,一般为默认值,粗匹配位姿使用率,一般为默认值

  • 识别测试:依次进行拍照,分割,匹配操作得到匹配结果

../_images/detect3D18.png
重置所有参数#

重置 基础设置->识别配置 界面上的所有参数的配置, 重新配置此智能块流程

取消#

取消 识别配置 界面所有配置的参数设置, 定位纠偏恢复到工程上次保存的默认值

确定#

保存 基础设置->识别配置 界面上的所有参数的配置, 提供给机器人端配置使用

DUCO Core端#

视觉插件#

打开DUCO CORE界面, 鼠标点击下图箭头所指处即可弹出视觉插件界面, 输入控制器IP地址点击连接即可

../_images/%E6%8F%92%E4%BB%B611.png

流程#

在DUCOCORE中新增如下图所示流程

../_images/detect3D20.png ../_images/detect3D21.png

新建一个pose类型的变量 g_pose 和bool类型变量的 g_check , 在 Detection3D`中的流程选择上一步新建的流程, 变量选择 `g_poseg_check

这里 `g_pose`为标记块在机器人基坐标系下的位姿,而 `g_check`是此次拍照下,是否有识别到标记块. 如果标记块识别到了,再进行抓取操作

至于抓取操作,请参考 3D标记板定位应用 DUCO Core端部分即可