碰撞检测

本章介绍碰撞检测相关配置。

简介

在诸如工件上下料、拆码垛等应用场景中,为保障工程能够不间断运行,防止机器人与料筐或其他障碍物的碰撞非常重要。 Mech-Viz 能够通过碰撞检测功能来防止机器人在运动过程中发生不必要的碰撞, 在规划机器人运动路径时,Mech-Viz 会在三维仿真空间高亮显示将碰撞的部分来提醒用户,并终止工程的运行,以防碰撞实际发生。

碰撞检测配置

碰撞检测选项卡中,单击 碰撞检测配置 进入碰撞检测配置工具。

碰撞检测是由各碰撞模型两两组合实现的,包含多种碰撞检测组合类型。 Mech-Viz 默认检测以下物体间的碰撞:机器人关节 - 机器人关节、机器人关节 - 场景物体、机器人关节 - 末端工具、场景物体 - 末端工具。此外,您还可以配置点云、已持有工件等。在配置前,需先在工程资源树中添加并配置对应的碰撞模型。

  • 末端工具碰撞模型的添加与配置请参考 末端工具

  • 场景物体碰撞模型的添加与配置请参考 场景物体

  • 工件碰撞模型通过 Mech-Vision 输出的数据自动生成,配置方式见下文。

点云与其他物体的碰撞配置

在左侧点云配置面板中,勾选检测点云与其他物体的碰撞后,将开启点云与末端工具的碰撞检测。此外,可配置点云与机器人关节、已持有工件的碰撞检测。

Mech-Viz 仅对“视觉移动”步骤及依赖于“视觉移动”步骤的“相对移动”步骤检查点云碰撞,其他的移动类步骤不检查点云碰撞。
  • 点云立方体边长

    点云立方体是以点云中的点为中心生成的立方体。如果这些立方体与其他物体发生碰撞,则认为点云与这些物体发生了碰撞。

    根据对碰撞检测精度和速度的需求,调整点云立方体边长参数。若希望提高检测精度,可减小此参数,但会导致检测速度变慢;相反,增大此参数可加快检测速度,但会降低检测精度。

  • 点云碰撞计算模式

    建议在工程调试时使用完整计算,调试稳定后使用最简计算。

    选项 说明

    最简计算

    计算速度快,但信息记录不全。规划历史中报告的点云碰撞体积不是最终值,造成碰撞的点云未被记录。适用于调试稳定后的生产阶段。

    完整计算

    计算速度慢,但能够记录完整信息,规划历史报告的点云碰撞体积为最终值,造成碰撞的点云可以通过点击对应条目查看。适用于调试阶段。

点云与末端工具

末端工具配置卡片中,碰撞体积阈值指允许点云立方体末端工具碰撞模型发生碰撞的体积。碰撞体积超过阈值时,将判定为发生碰撞。

请根据实际项目中对碰撞的允许程度设置*碰撞体积阈值参数。

点云与机器人关节

机器人关节配置卡片中,碰撞体积阈值指允许点云立方体机器人关节模型发生碰撞的体积。碰撞体积超过阈值时,将判定为发生碰撞。

机器人关节分为腕部、小臂、大臂、基座,默认不检测任何关节与点云的碰撞。

请根据实际需求开启对应关节,根据实际项目中对碰撞的允许程度设置*碰撞体积阈值参数。

点云与已持有工件

勾选检测已持有工件与其他物体的碰撞后,将检测点云与持有工件的碰撞。具体配置方法请见下文。

已持有工件与其他物体的碰撞配置

检测已持有工件与其他物体的碰撞,主要用于检测转移工件过程中的碰撞。

请根据已持有工件的模型类型选择几何体外部模型

几何体

几何体模型添加方式

Mech-Viz 可根据 Mech-Vision 提供的工件尺寸自动生成长方体、圆柱体工件的碰撞模型。因此,需在 Mech-Vision 中进行相应的配置以输出工件尺寸。

配置步骤:

  1. 在 Mech-Vision 中使用“计算平面点云的位姿和尺寸”(多品类场景建议使用此步骤)或 “读取物体尺寸”(单品类场景建使用此步骤)来获取工件尺寸。

  2. 将尺寸数据通过 “输出” 步骤输出,Mech-Viz 即可获取工件尺寸并生成对应的碰撞模型。

    输出的“抓取点位姿”与“物体尺寸”个数应保持一致。
混码场景底部安全距离设置

对于混合(尺寸)码垛项目,需为长方体工件模型设置底部安全距离。设置底部安全距离后,将在工件模型底部增加对应的碰撞检测范围。 如检测到其他物体进入该范围内,则判定发生了碰撞。设置底部安全距离可有效避免工件在移动时与已放置的工件发生碰撞。

开启对于长方体工件,在混合尺寸码垛的持有和放置过程中,还需检测底部安全距离内的碰撞,然后设置长方体底部安全距离

collision picked5
碰撞体积阈值

碰撞体积阈值指允许点云立方体已持有工件碰撞模型发生碰撞的体积。碰撞体积超过阈值时,将判定为发生碰撞。开启检测点云与其他物体的碰撞参数后,可设置该参数。

请根据实际项目中对碰撞的允许程度进行设置。

外部模型

外部模型添加方式

配置步骤:

  1. 移动工件的 .stl 模型和 .binvox 模型文件到 Mech-Viz 工程文件夹下的collision_models文件夹中(若无请新建)。

  2. 在 Mech-Vision 中通过对应步骤的“位姿分类标签”端口确认标签名称,并将模型文件重命名为对应的标签名称。在 Mech-Viz 工程资源树的工件配置中,工件名称也需与标签名称一致。

  3. 在 Mech-Vision 中勾选发送点云到外部服务步骤的发送物体信息参数,取消勾选所有输入是在相机坐标系下参数,并将该步骤的所有输入端口连接对应的数据流。

输出的点云和位姿均需在机器人坐标系下。

碰撞体积阈值

碰撞体积阈值指允许点云立方体已持有工件碰撞模型发生碰撞的体积,碰撞体积超过阈值将判定为发生碰撞。开启检测点云与其他物体的碰撞参数后,可设置该参数。

根据实际项目中对碰撞的允许程度进行设置。

碰撞表格图列说明

  • [灰色块] 不检查碰撞或碰撞不会发生。

  • [蓝色块] 若发生任何接触,则认为检测到碰撞。

  • [橘色块] 忽略接触处小于体积阈值的碰撞。即接触体积超过阈值判断为发生碰撞。

    collision orange label1

    collision orange label2

    接触体积在整个路径采样中始终低于碰撞阈值,未检测到碰撞

    接触体积在路径采样中超过碰撞阈值,检测到碰撞

  • [绿色块] 若在已持有工件下方的底部安全距离内出现任何物体,则认为检测到碰撞。

  • [黄色块] 忽略接触处一开始大于体积阈值,但始终递减的碰撞;同时忽略接触处小于体积阈值的碰撞。

    虽然接触体积超过阈值,但其接触体积在整个路径采样中呈递减趋势的碰撞是软件允许的。

    collision yellow label

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。