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