展示实例

DaoAI实例案例:分拣随机堆放的烟感器

../../_images/demo.png
  • 在本文中,您将学习如何使用DaoAI相机分拣上图中乱序摆放的烟感器。我们将讲述该实例完整的搭建和调试步骤。

  • 结果将是使用ABB1200机器人用真空抓手精准抓取烟感器,其中将反面的烟感器通过翻转台翻转为正面、并有序码垛摆放好。

  • 抓取视频见:

安装相机、机器人、工控机

  • 如果您是Eye To Hand,请将相机安装到机械手臂外的固定位置,如果您是Eye In Hand,请将相机安装到机械手臂上。

  • 将机器人本体与控制柜安装到位后、连接本体与控制柜之间的电缆、接入主电源、检查主电源正常后,通电。

  • 将工控机开箱后连接显示器及鼠标键盘。

创建新项目并连接相机、机器人

烟感器数据采集+标注

  • 下图为烟感器标注样例,标注规则:烟感器正面标签为“zheng”,反面标签为“fan”。

../../_images/%E5%AE%9E%E4%BE%8B2.png

手眼标定

创建一个新任务

下载并导入深度学习文件

  • 使用DaoAI World将训练好的“训练集”“导出训练好的模型”,该文件会在浏览器下载。

../../_images/%E5%AE%9E%E4%BE%8B3.png
  • 导入深度学习文件:点击上传,选择深度学习“config_torchscript.json”“best.torchscript”结尾的文件、上传成功之后会显示标注时标签信息。

../../_images/%E5%AE%9E%E4%BE%8B4.png

设置检测区域

  • 依次点击“检测”、"拍照",显示窗口就会显示相机采集到的点云场景。

  • 点击“设置ROI”。

../../_images/%E5%AE%9E%E4%BE%8B5.png
  • 调整显示窗口的调整框(框选住需要抓取探测的箱体)

  • 点击“保存”,显示窗口就会只保留箱体部分的点云信息

../../_images/%E5%AE%9E%E4%BE%8B6.png ../../_images/%E5%AE%9E%E4%BE%8B7.png

备注

如何拖动、旋转、放大或缩小调整框请参考 显示窗口

定义正反面匹配模型

  • 在“定义和优化模型”界面点击 “>” 。

../../_images/%E5%AE%9E%E4%BE%8B%E6%96%B01.png
  • 点击“开始”,进入到定义模型界面中。

../../_images/%E5%AE%9E%E4%BE%8B13.png
  • 给正面烟感器定义模型,依次选择“zheng”,依次点击"拍照"、“设置ROI”。

../../_images/%E5%AE%9E%E4%BE%8B9.png
  • 在显示窗口调整框体大小及位置、使虚拟框体正好框选出来烟感器正面的点云,然后点击“定义模型”。

../../_images/%E5%AE%9E%E4%BE%8B10.png
  • 这样我们的烟感器正面模型就定义完成了。

  • 反面烟感器定义同上操作。

示教:定义机器人正反面抓取位置

备注

示教时,探测箱体内只需要放置一个抓取物体就可以。 这里建议示教多个抓取位姿,视觉将会选择最优的抓取示教关系引导机器人抓取。

  • 选择“抓取”、点击“示教抓取位姿”、“开始”。

../../_images/%E5%AE%9E%E4%BE%8B16.png
  • 选择“zheng”、“位姿”(如果您没有位置请点击“+新位姿”)、选择“真实示教”、点击“拍照”。

  • 将机器人移动到烟感器上方(抓取该烟感器的真实位姿)、给视觉发送当前机器人抓取位姿。

  • (当机器人给视觉发送抓取位姿后、我们可以检查控制台是否接收到机器人当前位姿,并检查位姿数据是否接收正确,如下图所示)

../../_images/%E5%AE%9E%E4%BE%8B%E6%96%B03.png ../../_images/%E5%AE%9E%E4%BE%8B%E6%96%B02.png
  • 点击“获取位姿”,视觉就会将机器人发送过来的位姿进行转换并存储。

  • 此时右边显示窗口就会显示机器人末端夹爪与物体的抓取关系。

设置抓取顺序

  • 如下图所示,在“抓取顺序”中选择以“Z轴最高”顺序抓取物体(这样视觉会优先抓取最上层的烟感器)。

  • 选择“180度”使物体位姿的XY轴与以下轴对齐。

  • 选择“正”使物体位姿的Z轴与以下轴对齐(使烟感器的object坐标Z轴始终保持向上)。

  • 更多设置参考 如何从最上方抓取物体?

../../_images/%E5%AE%9E%E4%BE%8B19.png

设置防碰撞模块

  • 如下图所示,在防碰撞中打开倾斜角度并设置角度(这样视觉就会判定当前抓取的烟感器Z轴是否与机器人末端Z轴夹角超过您设置的角度、如果超过,视觉判定该物体抓取时会有碰撞风险)

  • 打开“使用箱体定义操作空间”,并在右边显示窗口调整虚拟框大小及角度,使虚拟框与实际抓取框位置大致重合即可(当机器人末端的夹爪模型与您设置的虚拟框有碰撞时,视觉判定该物体抓取时会有碰撞风险)

  • 最后点击“保存箱体”即可完成防碰撞模块的设置了。

  • 更多设置参考 防碰撞功能如何使用?

../../_images/%E5%AE%9E%E4%BE%8B18.png

查看2D、3D匹配、深度学习识别情况

  • 选择“概要”,点击“快速检测”,显示窗口选择“2D匹配结果”,此时显示窗口会显示2D匹配到的结果及标签信息。

../../_images/%E5%AE%9E%E4%BE%8B%E6%96%B04.png
  • 同理,显示窗口选择“3D匹配结果”,此时显示窗口会显示3D模型点云与场景点云匹配的结果。

../../_images/%E5%AE%9E%E4%BE%8B%E6%96%B05.png
  • 同理,显示窗口选择“深度学习结果”,此时显示窗口会显示深度学习识别的结果。

../../_images/%E5%AE%9E%E4%BE%8B%E6%96%B06.png

部署该任务

  • 在“部署”中点击“启动”。接着我们运行机器人抓取脚本、就可以进行抓取烟感器了。

../../_images/%E5%AE%9E%E4%BE%8B23.png