用于轨迹规划的改进的融合算法的制作方法

文档序号:6283112阅读:305来源:国知局
专利名称:用于轨迹规划的改进的融合算法的制作方法
技术领域
本示例性实施方案涉及运动控制和规划算法。
背景技术
通过改进与其相关联的多个移动之间的融合,它找到了带有增加轨迹的准确 度和减少轨迹的执行时间的特别的应用。在一个实例中,利用一种算法来控制 一个机器人的轨迹。然而,应该认识到本示例性实施方案同样适合于其他类似 的应用。
货物生产通常包括在一个或多个轴上的运动以便于它们的组装和制造。在一 个实例中,使用了多个机器臂在以当一个产品移动经过一个组装过程时给它带 来多个部件。以此方式,该机器人从一个离线盘拿起一个部件并且将该部件移 动到产品的一个合适的位置上来进行装配。该运动可包括快速的并且精确的运 动以确保以一个最佳速度完成生产。
在某些情况中,从一个位置到另一个位置所需要的运动可能涉及多个特 定的障碍物,这些障碍物防止在一个起点与终点之间使用一个直接的路径。其 结果是,必须采用一个间接的路径。该间接的路径能要求对一个机器人或其他 自动化的运动装置的编程遵循一个路径,该路径避免了障碍物同时将执行全部 运动路径中损失的时间最小化。典型地,所遵循的路径包括系列执行的多个移 动。这样,该运动路径的间隔尺寸就易于控制,因为有无穷数目的移动可进行 编程以实现基本上任何运动路径。
为便于在一个生产环境内的运动,多个自动化的机器(例如机器人)可以通 过指示它们的运动的位置、速度、路径等的一组指令来进行编程。这些指令能 基于指令类型、在一个指令集内的位置、优先权等而依次执行。此外,这些指 令能基于基本上任何坐标系统,例如笛卡尔坐标系统、非笛卡尔坐标系统、
SCARA机器人、Delta机器人、圆柱形的、球形的、极性的、采集者的、铰接 从属的、以及铰接独立的接合空间。
此外,关于一个运动分布轮廓内的一个事件可以执行多个指令。在一个实例
中, 一旦满足一个具体参数(例如一个加速度值)就可执行一个指令。Weinhofer 等人(美国专利号7,180,253)提出了产生和执行多个运动指令的一个更加详 细的处理,其全部内容结合在本申请中。
对运动进行编程的一个困难是在多个不同的路径中的每个之间进行的过渡。 一个具体的运动路径(例如拿取和放置周期)可能要求在一个起点与一个终点 之间的三个不同的移动。在此情况下,有两点其中又移动之间的运动过渡。第 一个过渡是在该第一与第二移动之间而第二个过渡是在第二与第三移动之间。 应该认识到,如果N是一个具体路径中的移动的数目,N-l就是与其相关联的 过渡点的数目。
可采用一个融合半径来定义一个过渡的开始和结束。该融合半径可表达为自 一个移动的端点的距离,其中同时执行下一个移动的指令。常规地,无法保证 融合将只发生在该融合半径之内。多个移动长度与其他参数的某些组合可以引 起这些移动在这些融合半径外融合(这可能引起不希望的运动)。在一个实例 中,在一个第一融合半径中的过渡已经完成之前可发生在一个第二融合半径内 的过渡,这可引起不希望的移动以及相关联的有害作用。因此,所需要的是在 运动应用中的多个移动之间有助于正确、快速过渡的系统和方法。

发明内容
本主题实施方案以用于产生有最小加速度的、平滑的、无跳动的周期,以此 在一个空间中传送一定质量。利用在此所说明的改进的算法, 一个最佳数目的 那取周期可用于多种机器人应用,例如,像Delta机器人。因为对周期进行编 程的方法是简单的并且灵活的,它极其适合的应用是其中因为带有运送装置跟 踪整合视觉而取-放周期目标是变化的。
在一个方面中,采用了一种方法以产生一个运动系统轨迹。 一个轨迹被限定 为一个或多个路径段的一个序列。为该一个或多个路径段中的每一个计算一个 速度分布轮廓,其中每个速度分布轮廓被分成一个融入区域、 一个融出区域以 及一个剩余区域。执行每个路径段被以使其速度分布轮廓的融入区域仅与前一 分布轮廓的融出区域重叠。
在另一个方面中,采用了一种方法来产生一种对称的运动轨迹。如果从起点 到终点的一个路径与从终点到起点的路径完全相同则该路径是对称的。 一个轨 迹被限定为是一个或多个移动的一个序列并且对该一个或多个移动中的每一 个计算一个速度分布轮廓。每个速度分布轮廓被分成一个融入区域、 一个融出对每个当前速度分布轮廓的融出区域的长度的评估要 考虑到每个后来的分布轮廓的这些融入区域的长度。如果当前移动的融出区域 比后来移动的融入区域更短以使两个区域的持续时间的差最小化,当前移动的 减速度和减速度的跳动均被减小。如果后来的融合区域比当前融合区域更短以 使两个区域的持续时间的差最小化,后来的移动的加速度和加速度的跳动均被 减小。为后来的移动计算和应用一个时间偏差。
在再另一个方面中,采用了一种方法来限定一个运动轨迹算法的多个参数。 一个被限定的运动路径包括至少两个独立的移动、 一个当前移动和一个后来移 动,当执行该运动轨迹时,在一个轮换的基础上对该当前移动和后来移动进行 定义。为这些移动中的每一个计算一个速度分布轮廓,其中每个速度分布轮廓 被分成一个融入区域、 一个融出区域以及一个剩余区域。对当前移动的分布轮 廓的融出区域以及后来移动的分布轮廓的融入区域进行评估。计算后来移动的 分布轮廓的开始时间。建立一个融入区域,它包括当前移动的分布轮廓的融入 区域和后来移动的分布轮廓的融出区域以完成该轨迹。
重复最后三个步骤直到完成该运动轨迹。


图la和lb根据一个示例性实施方案展示了包括多个独立移动的多个运动轨
迹;
图2a根据一个示例性实施方案展示了用于围绕时间轴翻转的加速度和减速 度值进行互换的概念;
图2b根据一个示例性实施方案展示了一个不对称的运动轨迹,它包括使用 一个常规的运动算法的多个速度受限制的移动;
图3根据一个示例性实施方案展示了使用两个融合半径的一个运动轨迹;
图4根据一个示例性实施方案展示了使用六个融合半径的一个运动轨迹;
图5根据一个示例性实施方案展示了为两个融合半径中的每个识别出融合 点的一个运动轨迹;
图6根据一个示例性实施方案展示了与来自图5的运动轨迹的三个独立移动 中每个相关联的速度曲线;
图7根据一个示例性实施方案展示了一个运动轨迹,其中这些融合半径是沿
着对于其中每个移动的相关联的速度分布轮廓的最短移动的长度的百分之五
十;
图8根据一个示例性实施方案展示了用于来回移动的一个不对称的运动轨 迹,其中这些融合半径是使用一个常规算法的最短移动长度的百分之百;
图9a、9b和9c根据一个示例性实施方案展示了使用一个常规的算法的一个 第一移动和一个第二移动的运动以及与其相关联的速度分布轮廓;
图IO根据一个示例性实施方案展示了一个运动轨迹内的移动,该运动轨迹 被分成三个区域, 一个融入区域、 一个融出区域以及一个剩余区域;
图ll根据一个示例性实施方案展示了与图IO的移动相关联的一个速度分布 轮廓;
图12根据一个示例性实施方案展示了图11的速度分布轮廓,它已经被分成 三个区域 一个融入区域、 一个融出区域以及一个剩余区域;
图13根据一个示例性实施方案展示了一个运动轨迹内三个依次移动的速度 分布轮廓,其中每个后继的移动直到已经到达前一移动的融出区域时才开始;
图14根据一个示例性实施方案展示了使用改进的算法为如图13中所示的三 个移动中的每一个计算开始时间;
图15根据一个示例性实施方案展示了用于来回移动的一个运动轨迹,其中 这些融合半径等于使用一个改进算法的最短移动的长度的100%;以及
图16根据一个示例性实施方案展示了与图15的三个移动相关联的速度分布 轮廓。
具体实施例方式
多种标准的融合算法能产生多个轨迹,它们不是对称的(例如从起点至终点 的轨迹与从终点至起点的轨迹是不同的)并且它们不总是停留在它们的渐近线 附近。当一个分布轮廓在其进程中到达其融合点时,融合开始。使用常规的算 法,融合可以开始的点是其中一个分布轮廓开始减速或者其中一个分布轮廓要 走的剩余距离小于一个预定的极限。这类算法是单独地依赖于与当前执行的移 动相关的信息并且不考虑随后要执行的移动。其结果是,自一个起点至一个终 点的轨迹典型地与自一个终点至一个起点的轨迹不同。在此所说明的改进的算 法通过将融合开始的时刻延迟一个预定的时间延期和/或对融入和融出区域的 动态特征进行调节而去除了这类缺陷。
该过程以两个步骤工作。在第一步骤的过程中,对第一分布轮廓的融出区 域和第二分布轮廓的融入区域进行评估。在第二步骤的过程中,计算第二分布 轮廓的开始时间,以使得仅有该第一分布轮廓的融入区域和该第二分布轮廓的 融出区域参加融合并且在最短的时间内完成全部轨迹。融合区域的典型的实例 是1)第一分布轮廓的一个融出区域其减速段以及第二分布轮廓的一个融 入区域其加速段;2)该第一分布轮廓的一个融出区域要走的剩余距离小 于一个融合半径并且该第二分布轮廓的一个融入区域,其中一个命令位置小于 一个融合半径;3)该第一分布轮廓的一个融出区域要走的剩余距离小于第 一移动的长度的百分之五十以及该第二分布轮廓的一个融入区域 一个命令位 置小于第二移动的长度的百分之百。如果该移动由多于两个分布轮廓组成,可 以使用不同公式用于计算每个分布轮廓的融出和融入区域。
当用于这两个移动的融合区域包含一个最小的a)该第一移动的整个减速 段,以及b)该第二移动的加速段时,那么通过在该分布轮廓轨迹的计算中使 用一个任选的附加步骤可进一步的改进该轨迹的形状。如果该第二移动具有比 该第一移动更高的命令速度并且两个移动几乎是在共直线的(其中跳动被限定 为时间的一个百分数),这种改进就是最显著。
首先,通过常规手段评估融入和融出区域。接下来,进行一个额外的优化, 其中在初始融入和融出区域评估之后,选择较短的一个。如果该第一移动的融 出区域是二者中较短的一个,那么该第一移动的减速和减速跳动均被减少以使 在两个区域的持续时间中的差植被最小化(例如,若可能话为零)。如果该第 二移动的融入半径是二者中较短的一个,那么该第二移动的加速和加速跳动均 被减少以使在两个区域的持续时间中的差值被最小化(例如,若可能话为零)。 计算并且应用该第二移动的一个时间差值。
图la展示了一个运动轨迹100,它包括三个独立的移动一个第一移动102、 一个第二移动104以及一个第三移动106。运动100可以采用在不同的制造/生 产应用中由机器人普遍使用的一个"拿取和放置"运动。在此实例中,第一移动 102是一个向上的移动;第二移动104是一个水平的移动;并且第三移动106
是一个向下的移动。移动102具有一个起点IIO和一个停止点114。在此实例 中,起点IIO从零速度或息止开始。 一旦该第一移动102在112处终止,该第 二移动104在114开始并且在116结束。 一旦该第二移动104结束,该第三移 动106在118开始并且在120结束,这又是零速度。因为在此实例中的这些移 动是独立地并且顺序地执行,没有过渡点。此外,尽管该第一移动102正交于 该第二移动104并且该第二移动正交于该第三移动106,这些移动能基本上彼 此成任何角度并且在任何大小之内。
图lb展示了一个运动轨迹200,它包括7个独立的移动一个第一移动202、 一个第二移动204、 一个第三移动206、 一个第四移动208、 一个第五移动210、 一个第六移动212以及一个第七移动214。该第一移动202的起点是零速度, 正像第七移动214的终点。轨迹200中的这七个独立移动是顺序地执行,其中 一旦该第一移动完成,该第二移动开始,等等。应该认识到,尽管在此所说明 的这些移动在两维的背景中示出,对于在一个运动轨迹内定义多个移动所能使 用维数没有限制。例如,多个移动可定义为N维,此处N是任何大于一的正整 数。
图2a包括了基于编程的加速和减速值的四个移动。一个加速252和减速254 被用于一个第一移动;并且一个加速258和减速256被用于一个第四移动。加 速252等于减速256;并且减速254等于加速258。该相对加速和减速值还等 于用于该轨迹(未示出)内的一个第二和一个第三移动。
不管这些融合区域与这些速度分布轮廓是对称的,如果遵循以上这些步骤, 自一个起点至一个末端起点的轨迹将被同样作为自该终点至该起点的轨迹。应 该认识到,用于产生一个对称的轨迹的必要条件是当在该反向方向中移动时, 该速度分布轮廓必须围绕其时间轴翻转。这能通过或者将其加速与减速参数对 换或者简单地通过使用带有相等的加速和减速极限的速度分布轮廓来实现。此 技术在本领域中是已知的并且不在此做详细的讨论。
图2b展示了当使用常规的算法执行轨迹时发生的一个困难。 一名程序员所 希望的许多移动是基于该移动的长度、加速度以及减速度值而受限制的速度。 这样,当一个移动的长度减小时,最大可完成的速度同样被减少。使用常规的 算法,如果这些移动是限制速度的,则不能计算加速度和减速度的比率用以产 生对称的分布轮廓。
图3展示了一个运动轨迹300,它包括三个独立的移动 一个第一移动302、 一个第二移动304以及一个第三移动306。此运动轨迹非常相似于图1中所展 示的运动轨迹100。主要的差别是对三个独立移动中的每个之间的过渡使用了 一个融合半径。融合半径310协助在第一移动302与第二移动304之间的一个 过渡。融合半径312协助在该第二移动304与该第三移动306之间的一个过渡。
这些融合半径310和312是由围绕这两个移动(在它们之间需要一个过渡) 的初始移动(例如分别是302和304)的终点的一个半径定义的。该运动轨迹 基于该运动是否位于该融合半径的内部或外部而变化。在该融合半径外,该轨 迹准确匹配一个编程的移动。在该融合半径之内,在移动之间产生一个平滑的 过渡。应该认识到融合半径越小转角越尖而反之亦然。
融合运动按以下方式工作。该第一移动302开始。当该第一移动302到达该 融合半径时,该第二移动304开始,其中该第一移动302和该第二移动304同 时执行。随后,在一个预定的时间该第一移动减速到零而该第二移动304继续。 在该融合半径内该第一移动302与该第二移动304的在融合半径内的叠加在该 第一移动302与该第二移动304之间产生一个平滑的过渡。在该融合半径312 内这个序列对第二移动304与第三移动306之间的过渡重复以生产另一个平滑 的过渡。
类似地,图4展示了一个示例性运动轨迹400,它包括七个独立的移动402、 404、 406、 408、 410、 412和414。此运动轨迹通过融合半径为该运动400提 供了多个平滑过渡点。这类运动融合提供了超过图lb中所展示的轨迹的一个 优点。
该运动轨迹400包括了六个融合半径420、 422、 424、 426、 428以及430,
使用这些融合半径以协助该第一移动402到该第二移动404的过渡、该第二移 动404到该第三移动406的过渡,等等。如在以下更详细的讨论,该第一和最 后融合半径420和430可以是被融合的最短的移动的长度的百分之百。这是不 同于任何中间融合半径(例如融合半径422、 424、 426和428)的一个方面, 这些中间融合半径具有被融合的最短的移动长度的百分之五十的一个最大尺 寸。这些融合半径参数可以用于对一个运动轨迹内的指令执行进行优化。
应该注意,该融合半径基本上能使用在一个轨迹内的任何位置中。这样,直 到在一个运动轨迹中达到该第三移动时才可使用融合半径。替代地或者额外
地,在该运动轨迹已结束之前融合半径可停止对五个移动使用。以此方式,定 义融合半径使用的该"开始"和"停止"点不是必须地涉及一个轨迹的物理起点和 结点,它们通常是与零速度相关联的。在一个轨迹内使用融合的这些依次的移 动被称作一个融合的运动序列。
图5展示了包括三个独立的移动502、 504和506的一个运动轨迹500,这 些运动在彼此相对的顺序中执行。 一个融合半径508位于移动502与504之间 并且一个融合半径510位于移动504与506之间。该融合半径508在一个融合 点514处开始并且融合半径510在一个融合点516处开始。融合点514和516 基本上可以基于任何度量而预先确定,例如时间、距离、速度、加速度、等等。 在本实施方案中,融合点514和516是基于移动502、 504和506各自的速度 而确定的。
为产生轨迹500,初步为运动定义一个所希望的路径。然后可将此路径分解 成多个运动段(例如线、圆、等)。然后为每个段计算一个速度分布轮廓。每 个速度分布轮廓被分成一个融入区域、 一个融出区域以及一个剩余区域。基于 对每段速度分布轮廓的这种分配,每个路径段开始的方式为使该轨迹在最少的 时间内完成但其速度分布轮廓的融入区域只与前一分布轮廓的融出区域重叠。
融合半径508和510可在一个算法内起到两个作用。第一,融合半径508 和510控制轨迹曲率。这样, 一个较大的融合半径可导致一个更加平滑的轨迹。 第二,融合半径508和510控制周期时间。一个较大的融合半径意味着运动504 和506开始的更早,因为它们与前面的移动平行运行。因此,整个轨迹500更 快速地完成。其结果是,轨迹500的速度与融合半径508和510的大小相关。 融合半径508和510的直径越大,轨迹完成越快。换言之,当轨迹运动在一个 融合半径之外时,只执行一个移动。替代地,当运动是在一个融合半径之内时, 两个移动同时运行,其中重叠的输出产生一个平滑的过渡。
图6展示了三个速度分布轮廓610、 620和630,它们与时域内的三个移动 502、 504和506中的每一个相关。应该认识到,尽管速度被展示为一个梯形的 分布轮廓,它可以表达为一个S曲线、抛物线(或其他多项式)、三角形或者 其他轮廓。曲线610代表移动502的速度;曲线620代表移动504的速度;并 且曲线630代表移动506的速度。时域对于所有曲线502、 504和506是相同 的。因此,曲线610 (和移动502)先于曲线620 (移动504)开始,此曲线先 于曲线630 (移动506)开始。以此方式,这些移动502-506部分地彼此重叠以 便在这些移动之间提供合适的过渡并且加快轨迹500的执行。
曲线610在速度上从零(一个静止的位置)增加直到大约经过该移动502 中途达到一个最大的速度(其中加速为零)。 一旦移动502开始减速,第二移 动504开始。在经过移动504的大约四分之三的路程处,该移动减速由此启动 第三移动506。应该认识到,对于一个后继移动的唯一的触发是当一个当前的 移动开始了一个融合区域的时刻。这样,没有对于使用常规算法的一个轨迹内 各个移动的"向前看"或超过减速触发的基制。
对于一个移动的最大的可实现的速度是基于该移动的长度、加速度和减速度 值。对于一个限制速度的移动,当一个移动长度因为一个给定的方面值(例如 加速度、减速度、等)而减小时,该最大可实现的速度也被减小。
图7展示了使用常规算法的一个轨迹700。轨迹700被显示为它与其中包括 的三个移动702、 704和706中的每一个的相应速度值相关。在移动702与704 之间使用一个融合半径710并且在704与706之间使用一个融合半径712。速 度分布轮廓720展示了在执行轨迹700时这些移动的叠加,其中后继的移动在 前面的移动完成前开始。总的来说,常规的算法不应该使710和712的融合半 径增加到大于被融合的这两个移动的最短移动长度的百分之五十,以保持该轨 迹是粗略地对称的。
图8展示了使用一个常规算法的轨迹700,其中该融合半径710和712等于 最短移动长度的百分之百。因为融合半径710和712大于最短移动长度的百分 之五十,轨迹700是不对称的,其中一个第一方向中的运动不等同于一个第二 方向中的运动。
最佳的,该移动702准确地完成在当移动704是在等于自其起点的融合半径 处时。如果移动702在移动704之前完成,它不损害轨迹形状但该分布轮廓完 成可能比必需的情况要花费更多的时间。然而,如果移动702在移动704之后 完成,该融合算法可能变得混淆。在一个实例中,如图9a中所展示的,移动 704在移动702完成之前完成。结果,该融合轨迹不与渐近线相切。
图9a展示了轨迹700内的移动702和704,其中该融合半径710和712等 于最短移动长度的百分之百。图9b和9c展示了分别与移动702和704相关联 的速度分布轮廓。在本实例中,它使用了一个常规算法,在上述移动702中移 动704的起点由第一减速810触发。移动704在移动702之前完成,如点812 所指示的。因为这一情况,当一个融合半径大于移动702的百分之五十时,轨 迹700也许是不对称的。
图IO展示了一个轨迹内的一个示例性移动900,该轨迹被分成三个不重叠 的区域以防止不对称的轨迹运动。这三个区域是 一个融入区域910、 一个融 出区域920以及一个剩余区域930。融入区域910是可以与前面移动参加融合 的一个移动的一部分。典型地,它位于自一个移动起点的一个融合半径940内。 该融出区域920是可以移动900与下一个移动参加融合的部分。总之,它位于 自一个移动起点的融合半径950内。该剩余部分930也许不参加任何融合。典 型地,它位于两个融合半径940和950之外。
图11示出了与该移动900相关联的一个速度分布轮廓1000。该速度以关于 时间示出并且是基于所希望的为移动900选定的距离、加速度和减速度参数。 应该认识到可独立地选择对于每个移动的速度、加速度、减速度和跳动参数。 然而,这类随机参数组合可减慢周期时间并且产生不良的速度分布轮廓。因此, 在一个实施方案中,多个参数被修改以便下一个移动分布轮廓的加速度时间匹 配于当前移动分布轮廓的减速度时间。应该认识到尽管速度被展示为一个梯形 分布轮廓,它可以表示为一个S曲线、抛物线(或其他多项式)、三角形、或 其他轮廓。
图12示出了曲线IOOO,该曲线被分成三个不同的区域一个融入区域1010、 一个融出区域1020以及一个剩余区域1030。为确定合适的速度分布轮廓区域 1010、 1020和1030,使用从距离单位到时间单位的一个转换。这样一种转换 为本领域所知因而将不在此详细地讨论。以此方式,原始移动的划分与其速度 分布轮廓的划分将是一致的。图13在此想法上进行扩展并且展示了开始多个 后继的移动和它们相关联的速度分布轮廓1110、 1120和1130。为防止不对称 和/或不希望的运动,当前移动的融出区域只与下一个移动的融入区域融合。以 此方式,这两个移动的剩余部分完全不会融合。
图14示出了在一个轨迹中使用一个改进的融合算法的多个后继移动的开始 时间。此算法的正确定时是将通过将下一个移动的开始延迟一个预定的时间量 而实现的。这一时间延迟是通过以下公式计算的
<formula>formula see original document page 13</formula>
其中
TBlend-out(N-l)=移动N-l的融出区域的持续时间
TBlend-in(N)=移动N的融入区域的持续时间
△T(N)=相对于移动N-1的融出区域的起点移动N的起点的时间延迟
根据公式(1),在一个轨迹内多个后继移动的起点之间的延迟是由一个最 小时间延迟AT(N)决定的。应该认识到,可以使用更长的延迟,但这没有理由 因为它减慢一个轨迹内的多个移动的执行。这一时间延迟至少为0,以确保至 少直到前一移动的一个融出区域的开始才执行一个后继的移动。
如所示出,在一个轨迹中与一个第二移动相关联的速度分布轮廓1120直到 达到该第一移动(速度分布轮廓1110)的融出区域时才开始。类似地,该第三 曲线1130直到超过该第二曲线1120的融出区域的起点的一个预定的时间延迟 之后才开始。这一算法对每个移动的融入区域和融出区域的计算方法没有做出 任何假设。作为一个实例,这些区域可基于剩余移动距离,或者它可基于剩余 时间或者它可基于命令速度。另外,可使用不同的方法以便为一个轨迹内的每 个移动计算融合区域。
图15展示了对一个轨迹1200使用这一算法,该轨迹使用一个融合半径1210 和一个融合半径1220。这一轨迹是基于图1中所展示的三个移动,它包括移动 102、 104和106。融合半径1210是相对于移动102和104的长度,并且融合 半径1220是相对于移动104和106的移动的长度。在每一情况中,融合半径 1210和1220被定义为它们对应的两个移动的最短的长度的百分之百。例如, 融合半径1210是移动102的长度的百分之百,因为该移动比移动104更短。
对于S曲线,可使用这一算法以消除多个加速步骤并且在x和y方向中产 生最小的跳动。如所展示,当使用S曲线编程时,轨迹1200具有对于其x轴 速度1230以及其y轴速度1240的一个平滑的分布轮廓。另外,轨迹1200在 一个S曲线域中不具有任何加速步骤如由x轴加速度1250和Y轴加速度1260 所示出的。通过消除这类加速步骤,该运动路径有助于高速过程的执行。
而且,该算法允许通过多个相对简单的运动段来定义复杂的运动。例如,轨 迹1200示出了一个复杂的抛物线路径,该路径可由一个多项式定义。取代首
先确定所希望的路径(以及定义了这样一个路径的等式),用户只需要限定一 个向上移动、 一个水平移动和一个向下移动。如果需要能增加更多的移动以避 开一个过程中的障碍物以及其他机械。
一旦已知这些单独的段,基于在一个融 合的运动序列内对于多个移动的加速度和减速度参数以及融合半径的尺寸来 建立该轨迹。
图16展示了三个S曲线速度分布轮廓1310、 1320和1330,它们使此算法 的使用与轨迹1200相互关联。曲线1310包括一个百分之百融出的区域而曲线 1330包括一个百分之百融入的区域。曲线1320在1310与1330之间执行并且 只具有两个区域(一个融入和一个融出)。因为直到达到一个后继移动的融入 区域时该算法才允许融合开始,可以使用一个百分之百的融合半径来协助具有 一个最小的有限跳动的快速、准确的运动。
已经参考多个优选实施方案对本示例性实施方案进行了说明。显而易见,其 他人在阅读并且理解了以上的详细说明后将会想到多种修改和替代。本示例性 实施方案旨在被解释为包括就进入所附权利要求或其等效物的范围内而言所 有的这类修改和替代。
权利要求
1.一种用于产生一个运动系统轨迹的方法,包括限定作为一个或多个路径段的一个序列的一条轨迹;为该一个或多个路径段中的每一个计算一个速度分布轮廓;将每个速度分布轮廓分成一个融入区域、一个融出区域以及一个剩余区域;并且执行每个路径段从而使其速度分布轮廓的融入区域只与前一分布轮廓的融出区域重叠。
2. 根据权利要求1所述的方法,其中与每一路径段相关联的每一速度分布轮廓的动态特征取决于该运动轨迹之内当前的、在先的以及随后一个段的多个参数。
3. 根据权利要求1所述的方法,其中每一速度分布轮廓的该融入以及融出 区域的计算的方法取决于在该序列内各段的次序。
4. 根据权利要求2所述的方法,其中在该移动开始之前仅处理该当前段的 融入部分。
5. 根据权利要求4所述的方法,其中直到接收了一个待决定的指令时才计算 该当前段的融出部分。
6. 根据权利要求1所述的方法,其中从一个当前移动的融出以及从一个后继 移动的一个融入定义了一个融合半径。
7. 根据权利要求6所述的方法,其中,使用一个融合半径的多个后继的移动 是一个融合的运动序列,该融合的运动序列在该运动系统轨迹内任何位置开始并且 在任何位置停止。
8.根据权利要求7所述的方法,其中在该融合的运动序列内的一个第一以及一个最后段的这些融合半径对于在 该融合的运动序列内的所有移动都是小于或者等于该当前移动以及该后继移动的 一个最小移动长度的百分之百的一个长度;并且用于在该融合的运动序列内的该第一与最后段之间的这些段的融合半径对于 在该融合的运动序列内的所有移动都是小于或者等于该当前移动以及该后继移动 的百分之五十。
全文摘要
本发明涉及用于轨迹规划的改进的融合算法。本示例性实施方案涉及运动控制及规划算法以协助执行一个运动轨迹内的一系列移动。在一个实例中,一个轨迹被限定为一个或者多个路径段的一个序列。对该一个或多个路径段中的每个计算一个速度分布轮廓,其中每个速度分布轮廓被分成一个融入区域、一个融出区域和一个剩余区域。执行每个路径段从而使其速度分布轮廓的融入区域仅与前一速度分布轮廓的融出区域重叠。
文档编号G05B19/19GK101359224SQ20081013019
公开日2009年2月4日 申请日期2008年7月31日 优先权日2007年7月31日
发明者B·斯拉德克, B·高荙, J·波哈特, W·斯瓦茨 申请人:洛克威尔自动控制技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1