展示实例
===========
DaoAI实例案例:分拣随机堆放的烟感器
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. image:: images/demo.png
:align: center
:scale: 80%
- 在本文中,您将学习如何使用DaoAI相机分拣上图中乱序摆放的烟感器。我们将讲述该实例完整的搭建和调试步骤。
- 结果将是使用ABB1200机器人用真空抓手精准抓取烟感器,其中将反面的烟感器通过翻转台翻转为正面、并有序码垛摆放好。
- 抓取视频见:
.. raw:: html
安装相机、机器人、工控机
------------------------
- 如果您是Eye To Hand,请将相机安装到机械手臂外的固定位置,如果您是Eye In Hand,请将相机安装到机械手臂上。
- 将机器人本体与控制柜安装到位后、连接本体与控制柜之间的电缆、接入主电源、检查主电源正常后,通电。
- 将工控机开箱后连接显示器及鼠标键盘。
创建新项目并连接相机、机器人
--------------------------
- 如何创建新项目请参考 :ref:`软件应用`
- 如何 :ref:`连接相机`
- 如何 :ref:`连接机器人`
烟感器数据采集+标注
------------------------
- 如何数据采集 `深度学习数据采集 `_
- 如何标注烟感器见下视频:
.. raw:: html
- 下图为烟感器标注样例,标注规则:烟感器正面标签为“zheng”,反面标签为“fan”。
.. image:: images/实例2.png
:scale: 80%
:align: center
手眼标定
--------------
- 如何 :ref:`机器人手眼标定`
创建一个新任务
----------
- 如何创建 :ref:`视觉任务`
下载并导入深度学习文件
----------
- 使用DaoAI World将训练好的“训练集”“导出训练好的模型”,该文件会在浏览器下载。
.. image:: images/实例3.png
:align: center
- 导入深度学习文件:点击上传,选择深度学习“config_torchscript.json”“best.torchscript”结尾的文件、上传成功之后会显示标注时标签信息。
.. image:: images/实例4.png
:align: center
设置检测区域
----------
- 依次点击“检测”、"拍照",显示窗口就会显示相机采集到的点云场景。
- 点击“设置ROI”。
.. image:: images/实例5.png
:align: center
- 调整显示窗口的调整框(框选住需要抓取探测的箱体)
- 点击“保存”,显示窗口就会只保留箱体部分的点云信息
.. image:: images/实例6.png
:align: center
.. image:: images/实例7.png
:align: center
.. note::
如何拖动、旋转、放大或缩小调整框请参考 :ref:`显示窗口`
定义正反面匹配模型
----------
- 在“定义和优化模型”界面点击“>”。
.. image:: images/实例新1.png
:align: center
- 点击“开始”,进入到定义模型界面中。
.. image:: images/实例13.png
:align: center
- 给正面烟感器定义模型,依次选择“zheng”,依次点击"拍照"、“设置ROI”。
.. image:: images/实例9.png
:align: center
- 在显示窗口调整框体大小及位置、使虚拟框体正好框选出来烟感器正面的点云,然后点击“定义模型”。
.. image:: images/实例10.png
:align: center
- 这样我们的烟感器正面模型就定义完成了。
- 反面烟感器定义同上操作。
.. - 点击“>”,显示窗口就会显示我们框选好的正面烟感器的模型,检查是否完整或缺失。
.. .. image:: images/实例14.png
.. :align: center
示教:定义机器人正反面抓取位置
----------------
.. note::
示教时,探测箱体内只需要放置一个抓取物体就可以。
这里建议示教多个抓取位姿,视觉将会选择最优的抓取示教关系引导机器人抓取。
- 选择“抓取”、点击“示教抓取位姿”、“开始”。
.. image:: images/实例16.png
:align: center
- 选择“zheng”、“位姿”(如果您没有位置请点击“+新位姿”)、选择“真实示教”、点击“拍照”。
- 将机器人移动到烟感器上方(抓取该烟感器的真实位姿)、给视觉发送当前机器人抓取位姿。
- (当机器人给视觉发送抓取位姿后、我们可以检查控制台是否接收到机器人当前位姿,并检查位姿数据是否接收正确,如下图所示)
.. image:: images/实例新3.png
:align: center
.. image:: images/实例新2.png
:align: center
- 点击“获取位姿”,视觉就会将机器人发送过来的位姿进行转换并存储。
- 此时右边显示窗口就会显示机器人末端夹爪与物体的抓取关系。
设置抓取顺序
--------------
- 如下图所示,在“抓取顺序”中选择以“Z轴最高”顺序抓取物体(这样视觉会优先抓取最上层的烟感器)。
- 选择“180度”使物体位姿的XY轴与以下轴对齐。
- 选择“正”使物体位姿的Z轴与以下轴对齐(使烟感器的object坐标Z轴始终保持向上)。
- 更多设置参考 :ref:`如何从最上方抓取物体?`
.. image:: images/实例19.png
:align: center
设置防碰撞模块
----------------------
- 如下图所示,在防碰撞中打开倾斜角度并设置角度(这样视觉就会判定当前抓取的烟感器Z轴是否与机器人末端Z轴夹角超过您设置的角度、如果超过,视觉判定该物体抓取时会有碰撞风险)
- 打开“使用箱体定义操作空间”,并在右边显示窗口调整虚拟框大小及角度,使虚拟框与实际抓取框位置大致重合即可(当机器人末端的夹爪模型与您设置的虚拟框有碰撞时,视觉判定该物体抓取时会有碰撞风险)
- 最后点击“保存箱体”即可完成防碰撞模块的设置了。
- 更多设置参考 :ref:`防碰撞功能如何使用?`
.. image:: images/实例18.png
:align: center
查看2D、3D匹配、深度学习识别情况
----------------------------
- 选择“概要”,点击“快速检测”,显示窗口选择“2D匹配结果”,此时显示窗口会显示2D匹配到的结果及标签信息。
.. image:: images/实例新4.png
:align: center
- 同理,显示窗口选择“3D匹配结果”,此时显示窗口会显示3D模型点云与场景点云匹配的结果。
.. image:: images/实例新5.png
:align: center
- 同理,显示窗口选择“深度学习结果”,此时显示窗口会显示深度学习识别的结果。
.. image:: images/实例新6.png
:align: center
部署该任务
---------
- 在“部署”中点击“启动”。接着我们运行机器人抓取脚本、就可以进行抓取烟感器了。
.. image:: images/实例23.png
:align: center