碰撞检测
本章介绍碰撞检测相关配置。
简介
在诸如工件上下料、拆码垛等应用场景中,为保障工程能够不间断运行,防止机器人与料筐或其他障碍物的碰撞非常重要。 Mech-Viz 能够通过碰撞检测功能来防止机器人在运动过程中发生不必要的碰撞, 在规划机器人运动路径时,Mech-Viz 会在三维仿真空间高亮显示将碰撞的部分来提醒用户,并终止工程的运行,以防碰撞实际发生。
碰撞检测配置
在碰撞检测选项卡中,单击 碰撞检测配置 进入碰撞检测配置工具。
碰撞检测是由各碰撞模型两两组合实现的,包含多种碰撞检测组合类型。 Mech-Viz 默认检测以下物体间的碰撞:机器人关节 - 机器人关节、机器人关节 - 场景物体、机器人关节 - 末端工具、场景物体 - 末端工具。此外,您还可以配置点云、已持有工件等。在配置前,需先在工程资源树中添加并配置对应的碰撞模型。
点云与其他物体的碰撞配置
在左侧点云配置面板中,勾选检测点云与其他物体的碰撞后,将开启点云与末端工具的碰撞检测。此外,可配置点云与机器人关节、已持有工件的碰撞检测。
Mech-Viz 仅对“视觉移动”步骤及依赖于“视觉移动”步骤的“相对移动”步骤检查点云碰撞,其他的移动类步骤不检查点云碰撞。 |
-
点云立方体边长
点云立方体是以点云中的点为中心生成的立方体。如果这些立方体与其他物体发生碰撞,则认为点云与这些物体发生了碰撞。
根据对碰撞检测精度和速度的需求,调整点云立方体边长参数。若希望提高检测精度,可减小此参数,但会导致检测速度变慢;相反,增大此参数可加快检测速度,但会降低检测精度。
-
点云碰撞计算模式
建议在工程调试时使用完整计算,调试稳定后使用最简计算。
选项 说明 最简计算
计算速度快,但信息记录不全。规划历史中报告的点云碰撞体积不是最终值,造成碰撞的点云未被记录。适用于调试稳定后的生产阶段。
完整计算
计算速度慢,但能够记录完整信息,规划历史报告的点云碰撞体积为最终值,造成碰撞的点云可以通过点击对应条目查看。适用于调试阶段。
已持有工件与其他物体的碰撞配置
检测已持有工件与其他物体的碰撞,主要用于检测转移工件过程中的碰撞。
几何体
几何体模型添加方式
Mech-Viz 可根据 Mech-Vision 提供的工件尺寸自动生成长方体、圆柱体工件的碰撞模型。因此,需在 Mech-Vision 中进行相应的配置以输出工件尺寸。
配置步骤:
-
在 Mech-Vision 中使用“计算平面点云的位姿和尺寸”(多品类场景建议使用此步骤)或 “读取物体尺寸”(单品类场景建使用此步骤)来获取工件尺寸。
-
将尺寸数据通过 “输出” 步骤输出,Mech-Viz 即可获取工件尺寸并生成对应的碰撞模型。
输出的“抓取点位姿”与“物体尺寸”个数应保持一致。
外部模型
外部模型添加方式
配置步骤:
-
移动工件的 .stl 模型和 .binvox 模型文件到 Mech-Viz 工程文件夹下的
collision_models
文件夹中(若无请新建)。 -
在 Mech-Vision 中通过对应步骤的“位姿分类标签”端口确认标签名称,并将模型文件重命名为对应的标签名称。在 Mech-Viz 工程资源树的工件配置中,工件名称也需与标签名称一致。
-
在 Mech-Vision 中勾选发送点云到外部服务步骤的发送物体信息参数,取消勾选所有输入是在相机坐标系下参数,并将该步骤的所有输入端口连接对应的数据流。
输出的点云和位姿均需在机器人坐标系下。 |