智能运动

“智能运动”插件是一款运动规划器,可帮助您自动为机器人规划从一点移动到另一点的无碰撞安全路径。它采用避障算法,确保能够快速找到无碰撞的解决方案。

Smart Motion - 图片 1

注意:请确保已安装并激活“智能运动”插件

您可以通过以下路径打开“智能运动”菜单:[“工具”➔ “智能运动”],然后点击“生成无碰撞路径”。

Smart Motion - 图片 2

另一种打开该菜单的方法是点击工具栏中最左侧的“Smart Motion”图标

Smart Motion - 图片 3

Smart Motion - 图片 4

您还可以通过工具栏中的“碰撞检查”下拉菜单访问该菜单。

Smart Motion - 图片 5

Smart Motion 的设置

您应确保 RoboDK 项目已正确配置,以便有效使用Smart Motion 规划器。

您的项目应包含以下内容:

1.机器人:一台机械臂。在本示例中,我们使用的是柯马(Comau) Smart5 NJ 130-2.6 机器人。

Smart Motion - 图片 6

2.工具:一个或多个工具(TCP)。点焊示例将使用OBARA 点焊枪

注意:工具 OBARA 点焊枪的文件扩展名为 .robot(而非 .tool),因为我们可以演示其开合机械结构。

Smart Motion - 图片 7

3.物体:工作空间中必须至少有一个物体(障碍物),以便使用避障功能。在此示例中,我们使用了一个自定义的“车身框架”,以及“车身框架支架”和“车身框架导轨”。

Smart Motion - 图片 8

4.目标点:应使用目标点定义生成的路径的起始和结束位置。因此,工作站中应至少存在两个目标点。本示例包含位于前部和后部的进近/退回目标点,以及位于车架内部、用于进行焊接的几个目标点。

Smart Motion - 图片 9

使用 Smart Motion 插件

要使用 Smart Motion 创建安全路径,请选择机器人需要到达的目标点,然后单击“生成路径”。插件将为您完成计算。

我们将使用以下点焊示例来演示 Smart Motion 插件:使用柯马(Comau)进行点焊。该示例包含我们之前描述的 4 个组件。

该项目还包含使用PRM 插件创建的、以脚本形式呈现的无碰撞路径。为了演示 Smart Motion 插件的功能,我们将删除这些由 PRM 插件自动生成的程序:

AppFrontPg

AppRearPg

HomePg

HomeToAppFront

AppRearToHome

AppFrontToAppRear

AppRearToAppFront

Main

提示:您可以在此处查看焊接的示例:焊接示例。该示例详细介绍了创建工作站的步骤,同时还能帮助您熟悉碰撞图和碰撞检测功能

Smart Motion - 图片 10

一般步骤

要使用该插件,请按照以下步骤操作:

1.打开目标选择器:点击“Smart Motion”菜单中的“选择目标”按钮,打开选择窗口。这些目标将定义您要生成的路径。

Smart Motion - 图片 11

Smart Motion - 图片 12

2.选择并排序点:从左侧的“可用目标”区域中选择要使用的目标,然后点击>>按钮将其移至右侧的“已选目标”区域。您可以在右侧通过拖放操作调整其顺序,以决定机器人首先前往的位置。选择目标后,点击“确定”按钮确认选择。

Smart Motion - 图片 13

提示:您还可以通过点击<<按钮,将目标从“已选目标”区域移回“可用目标”区域,从而“取消选择”目标。

3.选择路径质量:拖动“路径质量”滑块。选择“粗略”模式可快速检查,或将其向“精细”方向拖动,以确保机器人在狭窄空间中安全检查。

注意:生成更精细的路径所需时间更长,但可确保路径无碰撞。当您的工作站包含较细的物体时,建议选择此选项,因为生成较粗糙的路径时,这些物体可能无法被检测到。

Smart Motion - 图片 14

4.生成路径:点击“生成路径”按钮。该工具将在列表中的每两点之间生成一条安全运动路径。

Smart Motion - 图片 15Smart Motion - 图片 16

提示:在工作站树中选择多个目标,然后在选区内的任意位置右键单击,即可轻松访问“智能运动”中的“生成无碰撞路径”选项。请确保根据这些目标在生成的路径中出现的顺序进行选择。这相当于单击即可完成的解决方案,步骤更少,处理速度更快。

Smart Motion - 图片 17

您还可以通过在站点树中选择多个目标(按所需顺序),然后点击工具栏中的“链接所选项目”图标(“智能运动”功能中的第二个或最右侧图标)来“链接项目”。

目标选择器中的复选框

通过目标选择器菜单设置路径时,可用点的列表会被移至“已选目标”列表中。在某些已选项目旁边,有一个标有“接近”的复选框,可以进行切换。

这些复选框对路径规划求解器起智能提示作用。

未勾选时(标准停靠):机器人将目标视为严格的目的地。它会规划一条从点 A 到点 B 的完整路径,然后规划一条从点 B 到点 C 的全新路径。机器人会先确保精确到达点 B,然后才考虑下一步。

当选中时(经过或接近点):选中该复选框会告知求解器,该点只是通往真实目的地的临时“跳板”或入口。求解器不会将移动过程拆分为独立且僵化的段落(A到B,然后B到C),而是将整个链(A➔ B➔ C)作为一个流畅的连续序列进行评估。

标记一个接近目标会彻底改变“简化程序”工具优化路径的方式:

流畅转弯:由于求解器知道机器人无需在接近点完全停止,因此会平滑地过渡动作。机器人朝接近点移动,并优雅地转向最终目的地,不会出现“卡顿”或突然急停的情况。

高效清理:当简化工具处理多点路径时,如果能够预先查看整个序列,而不是在每个中间目标处停止计算,它就能更有效地修边,剔除不必要且冗余的运动。这将减少代码行数,保持机器人速度恒定,并缩短整体生产时间。

Smart Motion 附加选项

“智能运动”插件还提供了额外选项,以便根据我们的需求对解决方案进行微调。这些选项允许我们自定义若干参数,从而影响最终结果或生成的路径。

限制工具旋转

可通过菜单中的“允许工具 Z 轴旋转 +/-”选项来限制 TCP 旋转。如果该选项处于激活状态,X 和 Y 轴旋转将被锁定,而 Z 轴旋转将限制在所选值范围内(例如,+/- 45°)。

该功能与“受限空间”功能相反,它强制求解器在笛卡尔坐标系中运行,从而限制工具的朝向。它会锁定 X 和 Y 轴的旋转,同时将 Z 轴旋转限制在特定的角度范围内(正负设定值)。如果该字段的值设置为“0”,则 Z 轴旋转也将与 X 和 Y 轴旋转一同被锁定。若要保持所有三个轴(X、Y 和 Z)的旋转均处于解锁状态,请在此选项中使用值“-1”。

在受限空间中工作

如果启用了“受限空间”功能,机器人将尝试穿过狭窄的开口或在杂乱的环境中工作。此设置强制使用关节空间(而非笛卡尔空间)中的算法,从而确保测试的配置即为实际使用的配置。对于某些机器人形态而言,这一点至关重要,因为笛卡尔位姿可能会导致多种潜在的关节配置,从而在路径生成过程中引发问题。通过强制使用关节空间,系统可确保生成的路径是唯一的且无碰撞的。

注意:当路径非常紧凑时,这可能会略微增加初始计算时间。

打开碰撞地图

您还可以通过点击 Smart Motion 菜单中的“碰撞图”按钮,打开 RoboDK 的碰撞图设置。正确配置的碰撞图可确保该插件通过参考碰撞矩阵,计算出保持无碰撞路径的轨迹。

Smart Motion - 图片 18

注意:在生成路径之前,请使用此选项定义机器人必须避开的物体。

简化生成的程序

“简化所选程序”选项允许用户在避免碰撞的同时减少程序中的指令数量。换言之,它会简化已创建的程序,以减少路径中的目标数量,同时确保路径保持无碰撞状态。

这在以下方面非常有用:

1.缩程序体积:它会分析路径并删除不必要的目标。对于内存有限、只能存储一定行数代码的旧款机器人控制器而言,这一点至关重要。

2.动作更流畅:通过删除冗余点,可防止机器人出现“卡顿”现象。当控制器在同一小范围内接收过多指令时,有时会出现抖动或减速的情况;简化路径有助于机器人保持更稳定、更流畅的速度。

3.执行速度更快:简化的程序通常能缩短循环时间,因为机器人控制器无需处理过多的点,从而能够专注于维持预设速度。

4.清理“杂乱”路径:如果程序是通过记录运动轨迹或导入密集的 CAD 路径生成的,其中可能包含数百个不必要的点。该工具在“清理”这些数据的同时,确保新的、更短的路径仍能完全避免所有碰撞。

5.保持配置安全性:与“智能运动”的其他功能一样,简化过程会尊重机器人的配置。它确保在删除点位的同时,机器人不会意外尝试以可能导致碰撞的方式切换其配置(例如肘部翻转)。

在程序之间创建运动

Smart Motion 不仅限于连接目标,还可以连接不同的独立程序。此功能对于链接复杂操作非常有用,例如无需人工干预即可从拾取序列过渡到机加工路径。

要使用此功能,请在“目标选择器”界面中选择独立的程序项,以计算从第一个程序的结束状态到第二个程序的起始状态的安全过渡路径。

Smart Motion - 图片 19

该插件通过识别第一个程序的最后一个动作和后续程序的第一个动作来链接两个程序,从而有效地生成它们之间的连接路径。

智能运动与无碰撞运动规划器

在 RoboDK 中,“智能运动”和“无碰撞运动规划器”(PRM)均旨在帮助机器人移动时避开障碍物。然而,它们采用不同的数学模型和工作流程来完成这项任务。

无碰撞运动规划器中的运动规划功能通过使用名为“概率路线图”(PRM)的运动规划算法,在机器人的工作空间内自动生成无碰撞路径。

如何连接目标

这两种运动规划器之间的最大区别在于,在机器人移动之前需要进行多少准备工作。

PRM 规划器的工作原理类似于构建永久性的道路网络。它首先运行“建设阶段”,在此阶段会花费数分钟时间随机放置点并尝试将它们连接成一张巨大的路线图。一旦地图构建完成,由于“道路”已经建成,寻找路径便能瞬间完成。然而,如果工作站内哪怕移动了一张台面、一个箱子或任何其他物体,整个地图就会失效,必须从头开始重建。

Smart Motion的设计则灵活得多。它省去了耗时的地图构建步骤。该系统会精确分析机器人的当前位置和目标位置,然后在障碍物之间寻找一条安全的“通道”。这是一个一步到位的过程:选择点(目标),点击“生成”,机器人便开始移动。若机器人单元内有物体被移动,只需再次点击“生成路径”,无需等待新地图生成。

注:Smart Motion 在这方面表现更佳,因为它能保持工作流程的连续性。每当工作站布局发生微小变化时,您无需每次都停下来花 15 分钟进行“重新映射”。

计算时间

运动规划中的“速度”不仅指机器人移动的速度,还包括规划器进行计算所需的时间。

PRM 规划器中的“查询阶段”(在地图上查找路径)速度非常快,但随之而来的“构建阶段”却非常漫长。如果工作站始终保持静态,这当然很好;但如果频繁进行调整,就会耗费大量时间。

Smart Motion 采用的算法在解决单个“A 到 B”问题时速度极快。它会同时从路径的两端开始搜索,并在中间汇合。这使得在处理大多数常见任务时,“思考时间”几乎可以忽略不计。

狭窄空间导航

任何运动规划器的核心在于碰撞检测与规避。因此,生成的安全路径的精度是一个非常重要的因素。

PRM 规划器依赖于建图阶段放置的随机点。如果随机点未落在狭窄空间内,即使实际空间十分宽敞,机器人也会认为路径受阻。更大的采样数量每个采样点更多的边缘将生成更精细的路线图,虽然生成时间会更长,但能带来更精确的解决方案。

Smart Motion 为此类棘手场景提供了“受限空间”选项。启用该选项后,求解器将被迫在关节空间而非笛卡尔空间中运行。通过这种方式,系统在测试位姿时能确定唯一的关节配置,从而避免因单个笛卡尔位姿存在多种可能解而引发的问题。简而言之,这有助于规划器记住机器人的位置和配置,以确保找到的路径得以保留。

平滑性与安全性

这两种运动规划器都允许我们控制机器人对周围环境的“关注”程度。

若要使用 PRM 规划器获得更平滑或更安全的路径,需要相应地增加“采样数”和“每个采样中的边界数”。这会改善地图质量,但会延长等待时间。

Smart Motion 采用一个简单的“路径质量”滑块,其限制如下:

1.粗略:适用于开阔空间,可立即获得结果。

2.精细:此模式适用于复杂任务。它会强制机器人采取“微小步长”,以检测碰撞并生成整体平滑的路径。