CN114466730B - 用于使机器人优化速度同时保持对加速度和加加速度的限制的运动规划 - Google Patents
用于使机器人优化速度同时保持对加速度和加加速度的限制的运动规划 Download PDFInfo
- Publication number
- CN114466730B CN114466730B CN202080069957.5A CN202080069957A CN114466730B CN 114466730 B CN114466730 B CN 114466730B CN 202080069957 A CN202080069957 A CN 202080069957A CN 114466730 B CN114466730 B CN 114466730B
- Authority
- CN
- China
- Prior art keywords
- waypoints
- jerk
- processor
- acceleration
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1651—Programme controls characterised by the control loop acceleration, rate control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1648—Programme controls characterised by the control loop non-linear control combined or not with linear control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40454—Max velocity, acceleration limit for workpiece and arm jerk rate as constraints
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40519—Motion, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
描述了在不违反对加速度和加加速度(加速度相对于时间的导数)约束的情况下优化机器人或其部分的速度的更快、更低计算强度和更鲁棒的技术。在不违反加速度约束的情况下优化速度的非线性问题被线性化,并产生加速度约束的速度估计。在不违反加加速度约束的情况下优化速度的非线性问题被线性化,并产生加加速度约束的速度估计,并且可以由加速度约束的速度估计提供。可以生成和提供构型和定时,例如作为矢量,以控制机器人、机器人附件或其他结构的操作。
Description
技术领域
本公开总体上涉及可用于机器人的运动规划,并且具体地涉及能够在保持对加速度和加加速度(jerk)的限制的同时优化机器人或其部分的速度的方面提高计算效率的***和方法。
背景技术
相关技术
运动规划是机器人控制和机器人学中的基础问题。运动规划指定了机器人从起始状态到目标状态能够遵循的路径,通常为了在不与操作环境中的任何障碍物发生碰撞的情况下,或者在减少与操作环境中的任何障碍物发生碰撞的可能性的情况下完成任务。运动规划面临的挑战涉及即使环境特征变化也能够以非常快的速度执行运动规划。例如,环境中一个或更多个障碍物的位置或方向等特征可能会随着时间而改变。挑战还包括使用成本相对低的设备、以相对低的能耗和有限的存储量(例如,存储器电路(如处理器芯片电路))来执行运动规划。
发明内容
机器人或其部分通常沿路径或轨迹,从起始姿态或构型运动到结束姿态或构型,在其间具有一个或更多个中间姿态或构型。机器人学中的一个问题是在保持对加速度的限制同时使机器人或其部分沿路径的速度最大化,并最小化由运动引起的机器人或其部分的任何抖动。这可以作为优化问题提出,即在不违反任何约束的情况下优化沿几何路径的速度。此上下文中的约束包括对速度、加速度和加加速度(即加速度对时间的导数)的约束。
在观察对加加速度的限制(即加加速度限制(jerk limit))的同时优化速度通常是计算上的难题。传统方法采用非线性优化方法。这些非线性优化方法通常求解缓慢,并且容易陷入非最优局部最小值,从而导致错误的解。
在不违反对加速度和加加速度的约束的情况下,优化机器人或其部分的速度的更快、更低计算强度和更鲁棒的技术在商业上是可取的。
方面1:一种在基于处理器的***中控制机器人的运动的操作的方法,所述基于处理器的***包括至少一个处理器,所述方法包括:
对于沿几何路径从s1到至少sn-1的多个航路点si中的每一个,存在针对每个航路点si的对应的机器人构型qi,在将加速度限制应用于由航路点si的相邻航路点之间的转换表示的运动的同时线性确定沿路径的最大速度的估计;
在将加速度限制应用于由航路点si的相邻航路点之间的转换表示的运动的同时线性确定沿路径的最大速度的估计之后,对于沿几何路径从s1到至少sn-1的多个航路点si中的每一个,在将加加速度限制应用于由航路点si的相邻航路点之间的转换表示的运动的同时线性确定沿路径的最大速度的估计;以及
对于沿几何路径从至少s2到sn的航路点si中的每一个,基于所确定的最大速度的估计中的相应的估计来确定将到达相应的航路点的相应的时间。
方面2:根据方面1所述的方法,其中,在将加速度限制应用于由航路点Si的相邻航路点之间的转换表示的运动的同时线性确定沿路径的最大速度的估计包括:
对于从至少sn-1到s1(后向)连续的航路点si,确定由每个相应的航路点si处的加速度限制界定的相应的可行速度范围;以及
在确定由每个的相应航路点Si处的加速度限制界定的相应的可行速度范围之后,然后,对于从s1到sn-1(前向)连续的航路点si,选择至少近似地最大化从s1到至少sn-1的连续航路点si之间的每个转换的速度绝对值或速度平方的相应的加速度值,使得相应的加速度值在对应的加速度限制内并且对应的速度在相应的可行速度范围内。
方面3:根据方面2所述的方法,其中,对于从至少sn-1到s1(后向)连续的航路点Si,确定由每个相应的航路点si处的加速度限制界定的相应的可行速度范围包括:确定在航路点sn处的速度为等于零。
方面4:根据方面1至3中任一项所述的方法,其中,在将加加速度限制应用于由航路点si的相邻航路点之间的转换表示的运动的同时线性确定沿路径的最大速度的估计包括:
对于从sn-1到s1连续的航路点si,确定相应的可行速度范围和相应的可行加速度范围,范围中的每个由每个相应的航路点si处的加加速度限制的界定;以及
在确定由每个相应的航路点si处的加加速度限制界定的相应的可行速度范围和可行加速度范围之后,然后,对于从s1到sn-1(后向)连续的航路点si,选择至少近似地最大化从s1到sn的连续航路点si之间的每个转换的速度平方(x)的相应的加加速度值,使得相应的加加速度值在对应的加加速度限制内,对应的速度在相应的可行速度范围内,并且对应的加速度在相应的可行加速度范围内。
方面5:根据方面4所述的方法,还包括:
进行多次迭代,直到达到结束条件,
对于航路点si,至少部分地基于相应的输入值来确定相应的加加速度限制速度,所述相应的输入值等于最近先前迭代的相应的输入值减去epsilon值,并且所述epsilon值是在多次迭代内保持不变的常量或在多次迭代中变化的变量。
方面6:根据方面5所述的方法,还包括:
通过以下方式确定是否达到结束条件:
确定对应于当前选择的加加速度值的至少近似最大化的速度平方与对应于最近的先前选择的加加速度值的至少近似最大化的速度平方之间的差;以及
将确定的差与阈值进行比较。
方面7:根据方面1所述的方法,其中,对于沿着几何路径从s1到sn的多个航路点si中的每一个,基于最大化速度中的相应的速度来确定将到达相应的航路点的相应的时间包括:确定表示构型qi中的每个将被实现的的相应的相对时间的时间向量。
方面8:根据方面7所述的方法,还包括:接收n个机器人构型qi的构型向量,构型向量具有长度n,并且其中,确定表示构型qi中的每个将被实现的相应的相对时间的时间向量包括确定具有与构型向量的长度等于的长度的时间向量。
方面9:根据方面8所述的方法,其中,接收n个机器人构型qi的构型向量包括接收提供机器人的构型空间中的点向量的构型向量,每个点指定机器人的至少两个关节中的每一个的相应的姿态。
方面10:根据方面1所述的方法,其中,对于沿几何路径从至少s2到sn的航路点si中的每一个,基于最大速度的所确定的估计的中的相应的估计来确定将到达相应的航路点的相应的时间包括将确定到达相应的航路点的相应的相对时间,所述相应的相对时间相对于将到达至少一个先前航路点的相应的时间。
方面11:根据方面1至3或6至10中任一项所述的方法,还包括:至少提供所确定的将到达相应的航路点的相应的时间以控制机器人的运动。
方面12:一种控制机器人的运动的***,所述***包括:
至少一个处理器;以及
至少一个非暂时性处理器可读介质,其通信地耦合到所述至少一个处理器并存储处理器可执行指令,所述处理器可执行指令在由所述至少一个处理器执行时使所述至少一个处理器进行以下操作:
对于沿几何路径从s1到至少sn-1的多个航路点si中的每一个,存在针对每个航路点Si的对应的机器人构型qi,在应用于由航路点si的相邻航路点之间的转换表示的运动的加速度限制下,线性确定沿路径的最大速度的估计;
在应用于由航路点si的相邻航路点之间的转换表示的运动的加速度限制下线性确定沿路径的最大速度的估计之后,对于沿几何路径从s1到至少sn-1的多个航路点si中的每一个,在应用于由航路点si的相邻航路点之间的转换表示的运动的加加速度限制下,线性确定沿路径的最大速度的估计;以及
对于沿几何路径从至少s2到sn的航路点si中的每一个,基于所确定的最大速度的所确定的估计中的相应的估计来确定将到达相应的航路点的相应的时间。
方面13:根据方面12所述的***,其中,为了在应用于由航路点si的相邻航路点之间的转换表示的运动的加速度限制下,线性确定沿路径的最大速度的估计,所述处理器可执行指令使所述至少一个处理器:
对于从至少sn-1到s1(后向)连续的航路点si,确定由每个相应的航路点si处的加速度限制界定的相应的可行速度范围;以及
在确定由每个相应航路点si处的加速度限制界定的相应的可行速度范围之后,然后,对于从s1到sn-1(前向)连续的航路点si,选择至少近似地最大化从s1到sn的连续航路点si之间的每个转换的速度平方(x)相应的加速度值,使得相应的加速度值在对应的加速度限制内并且对应的速度在相应的可行速度范围内。
方面14:根据方面12或13中任一项所述的***,其中,为了在应用于由航路点si的相邻航路点之间的转换表示的运动的加加速度限制下,线性确定沿路径的最大速度的估计,所述处理器可执行指令使所述至少一个处理器:
对于从sn-1到s1(后向)连续的航路点si,确定相应的可行速度范围和相应的可行加速度范围,范围中的每个由每个相应的航路点si处的加加速度限制的界定;以及
在确定由每个相应的航路点si处的加加速度限制界定的相应的可行速度范围和可行加速度范围之后,然后,对于从s1到sn-1(前向)连续的航路点si,选择至少近似地最大化从s1到sn的连续航路点si之间的每个转换的速度平方(x)的相应的加加速度值,使得相应的加加速度值在对应的加加速度限制内,对应的速度在相应的可行速度范围内,并且对应的加速度在相应的可行加速度范围内。
方面15:根据方面14所述的***,其中,所述处理器可执行指令在被执行时使所述至少一个处理器进一步进行以下操作:
进行多次迭代,直到达到结束条件,
对于航路点si,至少部分地基于相应的输入值来确定相应的加加速度限制的速度,所述相应的输入值等于最近先前迭代的相应的输入值减去epsilon值,并且所述epsilon值是在多次迭代内保持不变的常量或在多次迭代中变化的变量。
方面16:根据方面15所述的方法,还包括:
通过以下方式确定是否达到结束条件:
确定对应于当前选择的加加速度值的至少近似最大化的速度平方与对应于最近的先前选择的加加速度值的至少近似最大化的速度平方之间的差;以及
将确定的差与阈值进行比较。
方面17:根据方面12所述的***,其中,为了基于最大速度中的相应的最大速度来确定将到达相应的航路点的相应的时间,所述处理器可执行指令使所述至少一个处理器确定表示构型qi中的每个将被实现的的相应的相对时间的时间向量。
方面18:根据方面17所述的***,其中,所述至少一个处理器接收n个机器人构型qi的构型向量,构型向量具有长度n,并且其中,为了确定表示构型qi中的每个将被实现的相应的相对时间的时间向量,所述处理器可执行指令使所述至少一个处理器确定具有等于构型向量的长度的长度的时间向量。
方面19:根据方面12所述的***,其中,为了基于最大速度的所确定的估计的组中的相应的估计来确定将到达相应的航路点的相应的时间,所述处理器可执行指令使所述至少一个处理器对于沿几何路径从至少s2至sn的航路点s1中的每个,确定将到达相应的航路点的相应的相对时间,所述相应的相对时间相对于将到达至少一个先前航路点的相应的时间。
方面20:根据方面12所述的***,其中,当由所述至少一个处理器执行时,所述处理器可执行指令使所述至少一个处理器进一步进行以下操作:
至少提供相应的航路点的机器人构型和将到达相应的航路点的对应确定的相应的时间以控制机器人的运动。
方面21:一种在基于处理器的***中控制机器人的运动的操作的方法,所述基于处理器的***包括至少一个处理器,所述方法包括:
确定由在加速度限制下沿几何路径的多个航路点中的相邻航路点之间的转换所表示的机器人运动的可行加速度限制速度范围,存在针对每个航路点的对应的机器人构型;
对于航路点的至少一些,从可行加速度限制速度范围中选择至少近似最大化的可行加速度限制速度;
确定由在至少近似加加速度限制下沿几何路径的多个航路点中的相邻航路点之间的转换所表示的机器人运动的可行加加速度限制速度范围;
对于航路点的至少一些,从可行加加速度限制速度范围中选择至少近似最大化的可行加加速度限制速度;以及
对于航路点的至少一些中的每一个,基于所选择的至少近似最大化的加加速度限制速度中的相应的速度来确定将到达相应的航路点的相应的时间。
方面22:根据方面21所述的方法,还包括:
重复以下操作直到达到结束条件:
确定由在至少近似加加速度限制下沿几何路径的多个航路点中的相邻航路点之间的转换所表示的机器人运动的新的可行加加速度限制速度范围;以及
对于航路点的至少一些,从所述新的可行加加速度限制速度范围中选择至少近似最大化的可行加加速度限制速度。
方面23:根据方面22所述的方法,还包括:
通过以下中的至少一个来确定结束条件:确定至少近似最大化的可行加加速度限制速度的连续选择之间的差是否等于或低于阈值,或者确定是否已经达到定义的迭代次数。
方面24:根据方面21所述的方法,其中,确定由在加速度限制下沿几何路径的多个航路点中的相邻航路点之间的转换所表示的机器人运动的可行加速度限制速度范围,包括:
对于从至少sn-1到s1(后向)连续的航路点Si中的每一个,确定在每个相应的航路点Si处的加速度限制下可获得的相应的可行加速度限制速度范围;以及
从可行加速度限制速度范围中选择至少近似最大化的可行加速度限制速度包括:对于从s1到sn-1(前向)连续的航路点si,选择至少使从s1至sn的连续航路点si之间的每个转换的速度平方(x)近似最大化的相应的加速度值。
方面25:根据方面21所述的方法,其中,确定由在至少近似加加速度限制下沿几何路径的多个航路点中的相邻航路点之间的转换所表示的机器人运动的可行加加速度限制速度范围,包括:
对于从sn-1到s1(后向)连续的航路点si,确定在每个相应的航路点si处的加加速度限制和加速度限制下可获得的相应的可行速度范围和相应的可行加速度范围;以及
对于航路点的至少一些中的每一个,基于所选择的至少近似最大化的加加速度限制速度中的相应的速度来确定将到达相应的航路点的相应的时间包括:对于从s1到sn-1(前向)连续的航路点si,选择至少近似最大化从s1至sn的连续航路点si之间的每个转换的速度平方(x)的相应的加加速度值。
方面26:根据方面25所述的方法,其中,确定由在至少近似加加速度限制下沿几何路径的多个航路点中的相邻航路点之间的转换所表示的机器人运动的可行加加速度限制速度范围包括:进行多次迭代直到达到结束条件,对于航路点si,至少部分地基于相应的输入值来确定相应的加加速度限制速度,所述相应的输入值等于最近先前迭代的相应的输入值减去epsilon值,并且所述epsilon值是在多次迭代内保持不变的常量或在多次迭代中变化的变量。
方面27:根据方面21至26中任一项所述的方法,还包括:至少提供确定的将到达相应的航路点的时间以控制机器人的运动。
方面28:一种控制机器人运动的***,所述***包括:
至少一个处理器;以及
至少一个非暂时性处理器可读介质,其通信地耦合到所述至少一个处理器并存储处理器可执行指令,所述处理器可执行指令在由所述至少一个处理器执行时使所述至少一个处理器执行如方面1至10或21至26所述的方法中的任一项。
方面29:根据方面28所述的***,其中,当由所述至少一个处理器执行时,所述处理器可执行指令使所述至少一个处理器进一步进行以下操作:
至少提供针对相应的航路点的机器人构型和对应确定的将到达相应的航路点的相应的时间以控制机器人的运动。
附图说明
在附图中,相同的附图标记表示相似的元件或动作。附图中元件的大小和相对位置不一定按比例绘制。例如,各个元件的形状和角度不按比例绘制,其中一些元件被任意放大和定位以提高附图的易读性。另外,所绘制的元件的特定形状不旨在传递关于该特定元件的真实形状的任何信息,选择该特定形状仅仅是为了便于在附图中识别。
图1A、图1B、图1C、图1D和图1E是根据一个说明性实施方式、以沿几何路径的多个顺序姿态分别示出的具有包括多个连杆和关节的可移动机器人附件的机器人的示意图。
图2是环境的功能框图,在该环境中,根据一个说明性实施方式,机器人经由机器人控制***来控制,该机器人控制***包括运动规划器和优化器,该优化器至少大致以计算有效的方式优化了机器人或其部分的速度,同时保持对加速度和加加速度的限制。
图3是示出了根据一个说明性实施方式的图2的***的操作方法的流程图。
具体实施方式
在以下描述中,阐述了一些具体细节以提供对各个公开的实施例的充分理解。但是,相关领域的技术人员会认识到,可以在没有这些具体细节中的一个或更多个细节的情况下实践实施例,或者利用其他方法、部件、材料等实践实施例。在其他实例中,没有详细示出或描述与计算机***、机器人、机器人附件、致动器***和/或通信网络有关的公知结构,以避免不必要地模糊实施例的描述。
除非上下文另有要求,否则在整个说明书和所附的权利要求书中,词语“包括”及其变体,诸如“包括(comprises)”和“包括(comprising)”应以开放、包容的意义解释,即“包括但不限于”。
在整个说明书中,提到“一个实施方式”或“实施方式”或提到“一个实施例”或“实施例”时,意味着结合该实施例描述的特定特征、结构或特性被包括在至少一个实施方式中或在至少一个实施例中。因此,在本说明书全文中多个地方出现的短语“一个实施方式”或“实施方式”或“在一个实施例中”或“在实施例中”不一定都是指同一实施方式或实施例。此外,特定特征、结构或者特性可以以任何合适的方式结合在一个或更多个实施方式或实施例中。
除非内容另有明确指示,否则在本说明书和所附权利要求中使用的单数形式“一”、“一个”以及“该”包括复数指示物。还应注意,除非内容另有明确指示,否则术语“或者”通常以包括“和/或”的意义进行使用。
本文中提供的公开内容的标题和摘要仅是为了方便,不用于解释实施例的范围或意义。
如前所述,机器人学中的重要问题被称为“加加速度最小化”,其可以通过在保持对加速度和加加速度(即加速度相对于时间的导数)的限制的同时确定各种构型之间的速度来实现。
例如,机器人或机器人附件要遵循的给定几何路径或轨迹可以指定为构型向量,即机器人的构型或C空间中的点向量(例如,{关节的第1位置,关节的第2位置,……,关节的第n位置})。对于每个几何路径,都会生成具有机器人或其部分到达那些相应的构型或“位置”的时间(例如,{t1,t2,…,tn})的时间向量。时间向量可能与构型向量具有相同的长度。提出了性能优化问题,在不违反任何约束(例如对速度、加速度和加加速度(加速度的导数)的约束)的情况下沿着几何路径尽可能快地前进。
在观察加加速度限制的同时优化速度在计算上是困难的。传统方法通常采用非线性优化方法,这种方法是缓慢的并且能够陷入非最优局部最小值。本文描述的方法使关于加加速度的优化成为拟凸优化问题,显著降低了计算复杂度。本文首先在简化该问题的理论基础方面、然后在实际实施方式方面描述了一种线性优化方法以用于在保持在加速度限制内的同时优化沿几何路径的速度。
几何路径或轨迹在起点与终点之间有一些“航路点”(路径上的位置)。航路点表示为si,如{s1,s2,...,sn}。目标是找到对应于这些航路点的时间(例如,时间的向量或时间向量){t1,t2,...,tn}。关节的构型表示为qi,如在航路点si处机器人为qi构型。速度用v表示,加速度用a表示,并且加加速度是加速度对时间的导数(da/dt)。
等式1
等式2
等式3
优化目标是在以下三个约束下最大化速度的绝对值,或者更方便的是速度平方(x):
约束1)xq'2<v-limit 2
约束2)aq'+q"x<a_hmit
约束3)xi+1=xi+2Δai
该技术有利地利用了将该非线性优化问题转化为线性优化问题的优势。为此,假设在几何路径的端部处,速度和加速度(a)将各自等于零。一旦到达几何路径的端部,速度为零,并且能够任意保证加速度也为零。这意味着在端部航路点sn处,v=a=0。
在实施方式中,为了在保持对加速度的限制的同时求解估计的最大速度,首先能够找到每个航路点处受限于加速度(a)边界或受限于加速度限制的可行速度范围。这能够通过沿几何路径或轨迹向后工作、确定沿几何路径从至少sn-1到s1连续的每个航路点处的可行范围来完成。可行速度的范围可以是连续的,也可以是离散的。值得注意的是,在航路点sn-1(最终航路点sn的前一个航路点),当机器人或其部分朝向最终航路点sn减速时,加速度(a)将介于零与一个小的负数之间。由于已知加速度(a)是一个小的负数,因此速度(v)能够是有界的。现在,沿着几何路径或轨迹连续从s1到sn-1向前工作,在每个航路点si处选择(a)的值,它允许速度的绝对值或更方便地速度平方(x)至少近似为最大化,使得相应的加速度值在对应的加速度限制内并且对应的速度在相应的可行速度范围内。
上述方法是一种线性方法,用于在保持在加速度限制之下的同时至少近似最大化或优化速度。变量的正确选择使问题线性化。在加速度受限的情况下,约束和目标函数是由使问题线性化的决策变量有意构建的。能够使用线性求解器来解决问题。
现在描述一种线性方法,以用于在不超过对加加速度的约束的同时至少近似地最大化或优化速度。
从下面的等式4开始
等式4
等式5
注意,如上所述,通过在保持在加速度限制内的同时优化速度,已经求解了的估计。由于在保持加速度限制的同时求解速度的问题的线性化,所得到的估计速度不受加加速度或加加速度限制的界定,而是有利地用作用于在保持在加加速度限制内的良好起点的同时优化速度。注意,在每个航路点si处有不同的/>(速度)值。如下所述,在加速度限制处预先确定的/>值(表示为/>)能够有利地用于在保持加加速度限制的同时求解速度的线性化问题。/>
表示为“近似加加速度(approximated-jerk)”的值被定义为加加速度等式,其中速度被先前确定的/>在加速度限制处的值替代,即/>尽管这意味着优化可能不如针对“真正的”加加速度限制进行优化那样优化,但这种近似是有帮助的。包括上述代入的近似加加速度等式如下:
等式6
现在我们通过在三个新约束以及上述约束1和2下最大化速度的绝对值或更方便地速度平方(即x+2Δa+Δ2j)来进行优化:
约束1)xq'2<vlimit 2
约束2)aq′+q"x<d_limit
约束4)xi+1=xi+2Δai+Δ2j
约束5)ai+1=ai+Δji
目标是将非线性优化问题转换为线性优化问题。三个决策变量(和/>)的选择几乎使得近似的加加速度限制等式相对于决策变量是线性的,除了存在附加的/>在这种情况下,附加的/>通过代入加速度限制处的预先确定的/>值(表示为/>)而保持不变。这使在保持加加速度限制的同时求解速度的问题线性化,以最优为代价。
问题的次优性与的近似/>有多差直接相关。值得注意的是,加加速度限制是一种特殊形式的非线性,称为拟凸。这种形式的非凸性能够很容易地通过对值/>的二分搜索来处理。这提供了两个选项,取决于首选最优性或是规划器速度。在最优性至关重要的情况下,以线性求解器的三(3)次或四(4)次额外迭代为代价,该解能够得到最优解的5%-7%内。通过提高/>估计的准确性,可以使确定的解任意接近最优解。在规划器速度至关重要的情况下,能够在无需连续迭代或细化的情况下直接使用近似加加速度解。
在实施方式中,为了在保持对加加速度的限制的同时求解估计的最大速度,首先能够找到受限于加加速度边界或受限于加加速度限制的可行速度范围和可行加速度范围。这能够通过沿几何路径或轨迹向后工作、确定沿几何路径从至少sn-1到s1连续的每个航路点处的可行范围来完成。可行速度范围和/或可行加速度范围可以是连续的或可以是离散的。现在,沿着几何路径或轨迹连续从s1到sn-1向前工作,在每个航路点si处选择加加速度的值,它允许速度的绝对值或更方便地速度平方(x)至少近似为最大化或优化,使得相应的加加速度值在对应的加加速度限制内、对应的速度在相应的可行速度范围内并且对应的加速度在相应的可行加速度范围内。
图1A、图1B、图1C、图1D和图1E示出了根据一个说明性实施方式的具有基座102和可移动机器人附件104的机器人100,分别示出沿着机器人或其部分遵循的几何路径或轨迹的多个顺序构型或姿态。特别地,图1A-1E示出了处于一系列顺序构型或姿态的机器人附件104,从第一或初始构型或姿态(图1A)移动到最终或结束构型或姿态(图1E),具有沿几何路径或轨迹的多个中间构型或姿态(图1B-1D)。机器人100可操作以执行任务,在此期间机器人或机器人附件104可穿过一条或更多条几何路径或轨迹。
机器人100的基座102可以例如固定到地板或其他支撑件,或者替代地可以包括轮或踏板。如图所示,机器人附件104可以包括多个连杆106a、106b、106c(示出的三个统称为106)、关节108a、108b、108c、108d(示出的四个统称为108),并且可选地包括臂端工具或端部执行器110。第一关节108a可以将第一连杆106a可旋转地耦合到基座102,以围绕基座的中心轴线旋转。第二关节108b可以将第二连杆106b可旋转地耦合到第一连杆106a以围绕相应的旋转轴线旋转。第三关节108c可以将第三连杆106c可旋转地耦合到第二连杆106b以围绕相应的旋转轴线旋转。第四关节108d可以将臂端工具或端部执行器110可旋转地耦合到第三连杆106c以围绕相应的旋转轴线旋转。虽然在图1A-1E中不可见,但机器人100通常包括一个或更多个致动器和可选的传动装置,它们被耦合以相对于基座和/或彼此来移动连杆。
例如在机器人100的构型空间(C空间)中所表示的,机器人100或机器人附件104的每个构型或姿态可以由关节108a-108d的集合的构型或姿态的相应组来定义。注意,机器人100的“构型空间”或“C空间”不同于机器人100在其中操作的工作空间(即,二维或三维环境)。工作空间可以包括机器人100操纵的作为执行任务的一部分的一个或更多个工作物品或工件(未示出),例如一个或更多个包裹、包装、紧固件、工具、物品或其他物体。几何路径或轨迹可以表示为机器人100或机器人附件104的构型或姿态的序列,序列中的每个构型或姿态表示为关节108a-108d的集合的多个构型或姿态的相应组。机器人100或机器人附件104的构型或姿态的集合可以被提供、接收或表示为构型向量。
图2示出了一种根据一个说明性实施方式的环境,在该环境中,机器人控制***200被通信耦合以控制机器人100或其部分(例如机器人附件104)的运动。
机器人控制***200包括运动规划器204,其生成指定几何路径或轨迹的运动规划,并且还包括加速度限制的优化器或求解器206和加加速度限制的优化器或求解器208,其可操作以在计算上有效地确定至少近似最佳轨迹(例如,机器人构型和定时)以使机器人100或机器人附件104在遵循对加速度和加加速度的限制的同时以近似最佳速度沿着几何路径或轨迹移动。几何路径或轨迹可以允许机器人100执行一项或更多项任务215。
机器人控制***200经由至少一个通信信道(由邻近的箭头指示,例如发射器、接收器、收发器、无线电、路由器、以太网)通信耦合,以控制机器人100的操作。机器人控制***200可以通信地耦合到向机器人100的一个或更多个致动器220a、220b、220c、220d提供驱动信号的一个或更多个运动控制器218(例如,电机控制器)。运动控制器218可以是机器人100的一部分,或与之分开。
机器人100能够采用多种形式中的任何一种。通常,机器人100将采用一个或更多个机器人附件104的形式或具有一个或更多个机器人附件104。机器人102可包括具有一个或更多个关节108a、108b、108c、108d、108e(图1)的一个或更多个连杆106a、106b、106c(图1)、以及耦合并且可操作以响应于控制或驱动信号来使连杆移动106a、106b、106c的致动器220a、220b、220c、220d(例如,电动马达、步进马达、螺线管、气动致动器或液压致动器)。气动致动器可以例如包括一个或更多个活塞、气缸、阀门、气体储存器和/或压力源(例如,压缩机、鼓风机)。液压致动器可以例如包括一个或更多个活塞、气缸、阀门、流体储存器(例如,低压缩性液压流体)和/或压力源(例如,压缩机、鼓风机)。机器人100可以采用或采取其他形式的机器人,例如自主车辆。
机器人控制***200可以例如经由至少一个通信信道(由邻近的箭头指示,例如发射器、接收器、收发器、无线电、路由器、以太网)通信地耦合,以从运动规划图(未示出)和/或扫掠体积表示(未示出)的一个或更多个源212可选地接收运动规划图和/或扫掠体积表示。根据一个示出的实施方式,运动规划图和/或扫掠体积的源212可以与运动规划器分开且不同。运动规划图和/或扫掠体积的源212例如可以是可由机器人100的相应制造商或者由其他实体操作或控制的一个或更多个基于处理器的计算***(例如服务器计算机)。运动规划图可以各自包括表示机器人100的状态、构型或姿态的一组节点(未示出),以及耦合相应节点对的节点的一组边(未示出),并表示状态、构型或姿态之间的规范或有效转换。例如,状态、构型或姿态可以表示相应机器人100的关节中的每个的关节位置、取向、姿态或坐标的组。因此,每个节点可以将机器人100或其部分的姿态表示为由包括机器人100的关节的姿态完全定义。运动规划图可以在运行时间之前(例如在运行前时间或构型时间期间)确定、设置或定义(即,在执行任务之前定义)。扫掠体积表示机器人100或其部分在执行对应于运动规划图的相应边的运动或转换时将占据的相应体积。扫掠体积可以以多种形式中的任一种来表示,多种形式例如体素、欧几里德距离场、几何对象的层次结构。这有利地允许在运行时间之前——当响应性不是特别关注时——执行一些计算最密集的工作。
机器人控制***200可以包括一个或更多个处理器222,以及处理器222的一个或更多个相关联的非瞬态计算机或处理器可读存储介质,例如***存储器224a、磁盘驱动器224b和/或存储器或寄存器(未示出)。非瞬态计算机或处理器可读存储介质224a、224b经由一个或更多个通信信道(诸如***总线216)通信地耦合到处理器222a。***总线216能够采用任何已知的总线结构或架构,包括具有存储器控制器的存储器总线、外设总线和/或本地总线。这样的部件中的一个或更多个还可以或替代地经由一个或更多个其他通信信道彼此通信,所述一个或更多个通信信道例如为一个或更多个并行电缆、串行电缆或能够高速通信的无线网络信道,例如、通用串行总线(“USB”)3.0、外设部件互连高速(PCIe)或经由
如上所述,机器人控制***200可以可选地可通信地耦合到一个或更多个远程计算机***,例如服务器计算机(例如运动规划图212的源)、台式计算机、膝上型计算机、超便携计算机、平板计算机、智能手机、可穿戴计算机,它们例如经由网络接口227直接可通信地耦合或间接地可通信地耦合到机器人控制***200的各种部件。远程计算***(例如,服务器计算机)可用于对机器人控制***200和机器人控制***200内的各种组件进行编程、构型、控制或其他方式与机器人控制***200和机器人控制***200内的各种组件交互或向它们输入数据(例如,运动规划图、扫掠体积、任务规范215)。这种连接可以通过一个或更多个通信信道,例如一个或更多个广域网(WAN),例如以太网或使用Internet协议的Internet。如上所述,运行前计算(例如,运动规划图族的生成)可以由与机器人控制***200或机器人100分开的***执行,而运行时计算可以由机器人控制***200的处理器222(在一些实施方式中可以在机器人100上)执行。
机器人控制***200可以可选地可通信地耦合到一个或更多个传感器,例如一个或更多个摄像机223、运动传感器、旋转编码器、加速度计等。
如上所述,机器人控制***200可以包括一个或更多个处理器222(即电路)、非瞬态存储介质224a、224b和耦合各种***部件的***总线216。处理器222可以是任何逻辑处理单元,诸如一个或更多个中央处理单元(CPU)、数字信号处理器(DSP)、图形处理单元(GPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、可编程逻辑控制器(PLC)等。***存储器224a可以包括只读存储器(“ROM”)226、随机存取存储器(“RAM”)228、闪存230、EEPROM(未示出)。能够构成ROM 226的一部分的基本输入输出***(“BIOS”)232包含例如在启动期间在机器人控制***200内的元件之间帮助传递信息的基本例程。
驱动器224b例如可以是用于读取和写入磁盘的硬盘驱动器、用于读取和写入固态存储器的固态(例如闪存)驱动器、和/或用于读取和写入可移动光盘的光盘驱动器。在各种不同的实施例中,机器人控制***200a还可以包括这种驱动器的任何组合。驱动器224b可以经由***总线216与处理器222通信。如本领域技术人员了解的,驱动器224b可以包括耦合在这些驱动器与***总线216之间的接口或控制器(未示出)。驱动器224b及其相关联的计算机可读介质为机器人控制***200提供计算机或处理器可读和/或可执行指令、数据结构、程序模块和其他数据的非易失性存储。相关领域的技术人员将理解可以使用能够存储计算机可访问的数据的其他计算机可读介质类型,例如WORM驱动器、RAID驱动器、磁带、数字视频磁盘(“DVD”)、伯努利盒式磁带、RAM、ROM、智能卡等。
可执行指令和数据能够存储在***存储器224a中,例如操作***236、一个或更多个应用程序238、其它程序或模块240和程序数据242。应用程序238可以包括处理器可执行指令,该处理器可执行指令使处理器222执行以下一项或更多项:生成机器人100将在其中操作的环境的离散表示,包括环境中的障碍物和/或目标物体或工件(其中其他机器人的规划的运动可能被表示为障碍物);生成运动规划或路线图,包括调用或以其他方式获得碰撞评估的结果、为运动规划图中的边设置成本值、以及评估运动规划图中的可用路径;可选地存储确定的多个运动规划或路线图,和/或执行优化(例如,线性优化器)。运动规划构建(例如,碰撞检测或评估、基于碰撞检测或评估更新运动规划图中的边的成本、以及路径搜索或评估)能够如通过引用并入本文的参考文献中所描述的那样执行。碰撞检测或评估可以使用通过引用并入本文的参考文献中描述的各种结构和技术来执行碰撞检测或评估。应用程序238可以另外包括一个或更多个机器可读和机器可执行指令,这些指令使处理器222执行其他操作,例如可选地处理(经由传感器捕获的)感知数据和/或优化。应用程序238还可以包括一个或更多个机器可执行指令,这些指令使处理器222执行本文和通过引用并入本文的参考文献中描述的各种其他方法。
在各种实施例中,上述操作中的一项或更多项可以由一个或更多个远程处理设备或计算机执行,这些远程处理设备或计算机经由网络接口227通过通信网络(例如,网络210)链接。
尽管在图2中示出为存储在***存储器224a中,但操作***236、应用程序238、其他程序/模块240和程序数据242能够存储在其他非暂时性计算机或处理器可读介质上,例如驱动器224b。
机器人控制***200的运动规划器204的结构和/或操作可以如2019年6月24日提交的共同受让的美国专利申请62/865,431中所示和所述。
处理器222和/或运动规划器204可以是或可以包括任何逻辑处理单元,例如一个或更多个中央处理单元(CPU)、数字信号处理器(DSP)、图形处理单元(GPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑控制器(PLC)等。商用计算机***的非限制性示例包括但不限于Celeron、Core、Core2、美国公司提供的Itanium和Xeon系列微处理器;美国Advanced Micro Devices提供的K8、K10、Bulldozer和Bobcat系列微处理器;美国Apple Computer公司提供的A5、A6和A7系列微处理器;美国Qualcomm公司提供的Snapdragon系列微处理器;和美国Oracle公司提供的SPARC系列微处理器。图2中所示的各种结构的构造和操作可以实施或采用以下中描述的或与之类似的结构、技术和算法:2017年6月9日提交的题为“MOTION PLANNING FOR AUTONOMOUS VEHICLES AND RECONFIGURABLEMOTION PLANNING PROCESSORS”的国际专利申请PCT/US2017/036880;2016年1月5日提交的题为“SPECIALIZED ROBOT MOTION PLANNING HARDWARE AND METHODS OF MAKING ANDUSING SAME"的国际专利申请公开WO2016/122840;2018年1月12日提交的题为“APPARATUS,METHOD AND ARTICLE TO FACILITATE MOTION PLANNING OF AN AUTONOMOUS VEHICLE INAN ENVIRONMENT HAVING DYNAMIC OBJECTS”的美国专利申请62/616,783;2019年6月3日提交题为“APPARATUS,METHODS AND ARTICLES TO FACILITATE MOTION PLANNING INENVIRONMENTS HAVING DYNAMIC OBSTACLES”的美国专利申请62/856,548;和/或2019年6月24日提交的题为“MOTION PLANNING FOR MULTIPLE ROBOTS IN SHARED WORKSPACE”的美国专利申请62/865,431。
尽管不是必需的,但许多实施方式将在计算机可执行指令的一般背景下进行描述,诸如存储在计算机或处理器可读介质上并由能够执行障碍物表示、碰撞评估、其他运动规划操作和优化的一个或更多个计算机或处理器执行的程序应用模块、对象或宏。
运动规划器204可以确定指定机器人100或机器人附件104的构型序列的几何路径或轨迹(例如,最优或优化的),例如指定为机器人100的c空间中的构型向量。
加速度限制优化器或求解器206确定在尊重加速度限制的同时几何路径或轨迹的航路点si之间的每个转换的至少近似优化的速度。如前所述,将优化问题转换为线性形式有利于显著提高计算效率,并减少甚至消除陷入局部最小值的情况。确定的速度值可以有利地提供给加加速度限制优化器或求解器208。
加加速度限制优化器或求解器208确定在尊重加加速度限制的同时几何路径或轨迹的航路点si之间的每个转换的至少近似优化的速度。如前所述,将优化问题转换为线性形式有利于显著提高计算效率,并减少甚至消除陷入局部最小值的情况。加加速度限制优化器或求解器208可以细化确定的速度值以达到任何定义的优化水平。
基于处理器的***或其部分可以确定对应于每个航路点si的时间,在该时间机器人或其部分应处于对应的构型或姿态。基于处理器的***或其部分可以提供构型(例如,作为构型向量)214a和时间(例如,作为时间向量)214b以驱动机器人或其部分以至少近似优化方式沿着几何路径或轨迹运动。
图3示出了根据至少一个说明性实施方式的基于处理器的***中的操作方法300,该操作方法在计算上有效地生成至少近似优化的轨迹信息,以控制机器人或其部分。例如,方法300可以在运行时间期间执行。方法300可以由作为机器人一部分的基于处理器的***和/或机器人控制***来执行。替代地,方法300可以由与机器人分离且不同,并且可能远离机器人的基于处理器的***(例如,服务器计算机)执行。
作为概述,最初,加速度限制优化器会产生初始优化速度估计。该初始优化速度估计作为初始估计或种子被提供给加加速度限制优化器以用于确定加加速度限制速度估计。加速度限制速度的初始估计不受对加加速度的约束的限制。如果需要,可以在单次迭代之后使用随后确定的加加速度限制速度估计。替代地,可以执行多次迭代以精确加加速度限制速度估计;每次迭代都更接近最优加加速度限制速度。当然,最优值在达到之前是未知的。在许多实际应用中,因为通常不需要精确的准确性,因此估计或近似的最优加加速度限制速度接近但实际上可能达不到理论上的最优值,并且可以与处理花费的时间进行折衷。
在302,基于处理器的***或其部分生成或接收用于机器人或其部分遵循的离散化几何路径。例如,离散化的几何路径可以采取构型向量的形式,为沿几何路径的每个位置或航路点指定将机器人或其部分置于相应构型或姿态的关节位置或关节坐标的相应组。如图所示,加速度限制优化器或求解器206(图2)可以接收构型向量。
在304,基于处理器的***或其部分(例如,加速度限制优化器或求解器206(图2))基于加速度限制为航路点中的每个确定可行速度范围。可行速度范围的确定对应于沿几何路径或轨迹的后向传递,其作为确定优化的加速度限制速度的一部分而执行,如上所述。可行速度的范围可以是连续的,或者可以是一组离散速度。
在306,对于沿几何路径或轨迹的航路点中的每个,基于处理器的***或其部分选择使速度最大化的加速度。选择加速度以使速度最大化对应于沿几何路径或轨迹的前向传递,其作为确定优化的加速度限制速度的一部分而执行,如上所述。也就是说,例如,可以选择近似最大化速度平方的加速度值,使得相应的加速度值在对应的加速度限制内并且对应的速度在相应的可行速度范围内。
在308,最大可行速度值被提供给加加速度限制优化器或求解器208(图2)。例如,加速度限制速度求解器将速度估计传递给近似加加速度限制子问题求解器,该近似加加速度限制子问题求解器使用速度估计作为起点。最终,速度估计通常高于或快于对应的加加速度限制速度估计。
在310,基于处理器的***或其部分(例如,加加速度限制优化器或求解器208(图2))基于加加速度限制为每个航路点确定可行速度范围和可行加速度范围。可行速度范围和可行加速度范围的确定对应于沿几何路径或轨迹的后向传递,其作为确定优化的加加速度限制速度的一部分而执行,如上所述。可行速度范围和/或可行加速度范围可以是连续的或者可以是一组离散的速度或离散的加速度。
在312,基于处理器的***或其部分从可行速度范围中为沿几何路径的航路点中的每个选择最大可行速度。最大可行速度的选择对应于沿几何路径或轨迹的前向传递,其作为确定优化的加加速度限制速度的一部分而执行,如上所述。也就是说,例如,可以选择使速度平方近似最大化的加加速度值,使得相应的加加速度值在对应的加加速度限制内、对应速度在相应的可行速度范围内并且对应的加速度在相应的可行加速度范围内。
在314,基于处理器的***确定是否已经达到退出条件,例如如下所述。
在316,响应于确定退出条件尚未发生,基于处理器的***精确速度估计,例如如下所述。一旦对于每个航路点出现退出条件,则基于处理器的***在318确定并输出时间最优约束限制轨迹。因此,如下所述,可以通过若干次迭代来精确速度估计,直到退出条件出现。
314的退出条件评估可以是确定估计的加加速度限制速度相对于定义的标准是足够的,和/或可以是执行对精确加加速度限制速度估计的定义次数的迭代,例如收敛到合适的加加速度限制速度估计。例如,为了确定加加速度限制速度估计是否是足够的,基于处理器的***可以确定当前迭代的加加速度限制速度或速度平方估计与最近的先前迭代的加加速度限制速度或速度平方估计之间的差。然后,基于处理器的***能够确定该差是否在定义的可接受差阈值内。差阈值可以选择以反映如下事实,即在加加速度限制速度估计中的逐渐改进将导致差随着加加速度限制优化器的每次迭代而变得更小。特定差阈值将是应用特定的,并且将取决于对机器人或机器人附件的优化的加加速度限制速度的期望与计算优化的加加速度限制速度的速度的平衡。迭代次数能够设置为任何所需的整数值。
换句话说,基于处理器的***可以例如迭代直到达到结束条件。在第一迭代期间,加速度限制速度被用作加加速度限制优化的输入。第一迭代产生第一加加速度限制速度估计。第一加加速度限制速度估计可能低于或慢于最优速度,但能够在例如处理时间被认为比机器人或其部分的最优速度更有价值的情况下使用。如果退出条件不满足,则在第二迭代期间,第一迭代的输入减去epsilon值被用作加加速度限制优化的新输入。第二迭代产生第二加加速度限制速度估计。第二加加速度限制速度估计可能低于或慢于最优速度,但能够在例如处理时间被认为比机器人或其部分的最优速度更有价值的情况下使用。如果退出条件不满足,则在第三迭代期间,最近先前迭代(例如,第二迭代)的输入减去epsilon值被用作加加速度限制优化的新输入。第三迭代产生第三加加速度限制速度估计。第三加加速度限制速度估计可能低于或慢于最优速度,但能够在例如处理时间被认为比机器人或其部分的最优速度更有价值的情况下使用。在每次迭代中,加加速度限制速度估计收敛于最优加加速度限制速度。可以重复该算法直到退出条件满足。
在执行加加速度限制优化的每次迭代时,加加速度限制优化器可以执行上面一般描述的后向传递和前向传递。在一些实施方式中,epsilon值是在迭代次数中保持恒定的常量。在一些实施方式中,epsilon值是随迭代次数变化的变量。例如,epsilon值可以考虑对两次或更多次先前迭代之间的收敛性的评估。
前述详细描述已经通过使用框图、示意图和示例阐述了设备和/或过程的各种实施例。只要此类框图、示意图和示例包含一个或更多个功能和/或操作,本领域技术人员将理解,此类框图、示意图或示例中的每个功能和/或操作可以通过各种硬件、软件、固件或它们的几乎任何组合来单独和/或共同实现。在一个实施例中,本主题可以通过布尔电路、专用集成电路(ASIC)和/或FPGA来实现。然而,本领域技术人员将认识到,本文公开的实施例全部或部分可以在标准集成电路中的各种不同实施方式中实现,作为在一个或更多个计算机上运行的一个或更多个计算机程序(例如,作为在一个或更多个计算机***上运行的一个或更多个程序),作为在一个或更多个控制器(例如微控制器)上运行的一个或更多个程序,作为在一个或更多个处理器(例如微处理器)上运行的一个或更多个程序,作为固件,或它们的几乎任何组合,并且,根据本发明,为软件和/或固件设计电路和/或编写代码将完全在本领域普通技术人员的技能范围内。
本领域技术人员将认识到,本文阐述的许多方法或算法可以采用附加动作,可以省略一些动作,和/或可以以与指定不同的顺序执行动作。
此外,本领域技术人员将理解,本文所教导的机制能够在硬件中实现,例如在一个或更多个FPGA或ASIC中实现。
上述各种实施例能够组合以提供进一步的实施例。本说明书中提及和/或在申请数据表中列出的所有共同受让的美国专利申请出版物、美国专利申请、外国专利和外国专利申请,包括但不限于:2017年6月9日提交的题为“MOTION PLANNING FOR AUTONOMOUSVEHICLES AND RECONFIGURABLE MOTION PLANNING PROCESSORS”的国际专利申请PCT/US2017/036880,2016年1月5日提交的题为“SPECIALIZED ROBOT MOTION PLANNINGHARDWARE AND METHODS OF MAKING AND USING SAME”的国际专利申请公开WO2016/122840;2018年1月12日提交的题为“APPARATUS,METHOD AND ARTICLE TO FACILITATEMOTION PLANNING OF AN AUTONOMOUS VEHICLE IN AN ENVIRONMENT HAVING DYNAMICOBJECTS”的美国专利申请62/616,783;2018年2月6日提交的题为“MOTION PLANNING OF AROBOT STORING ADISCRETIZED ENVIRONMENT ON ONE OR MORE PROCESSORS AND IMPROVEDOPERATION OF SAME”的美国专利申请62/626,939;2019年6月3日提交的题为“APPARATUS,METHODS AND ARTICLES TO FACILITATE MOTION PLANNING IN ENVIRONMENTS HAVINGDYNAMIC OBSTACLES”的美国专利申请62/856,548;2019年6月24日提交的题为“MOTIONPLANNING FOR MULTIPLE ROBOTS IN SHARED ENVIRONMENT”的美国专利申请62/865431;以及2019年8月23日提交的题为“MOTION PLANNING FOR ROBOTS TO OPTIMIZE VELOCITYWHILE MAINTAINING LIMITS ON ACCELERATION AND JERK”的美国专利申请62/890,830,它们的全部内容通过引用并入本文。能够对根据上面详细描述的说明书的实施例做出这些和其他改变。通常,在所附权利要求中,所使用的术语不应解释为将权利要求限定为在本说明书和权利要求书中公开的具体实施例,而应该理解为包括所附权利要求所保护的所有可行实施例以及等同物。因此,权利要求不受公开内容限制。
Claims (29)
1.一种在基于处理器的***中控制机器人的运动的操作的方法,所述基于处理器的***包括至少一个处理器,所述方法包括:
对于沿几何路径从s1到至少sn-1的多个航路点si中的每一个,存在针对每个航路点si的对应的机器人构型qi,在将加速度限制应用于由所述航路点si的相邻航路点之间的转换表示的运动的同时线性确定沿路径的最大速度的估计;
在将加速度限制应用于由所述航路点si的相邻航路点之间的转换表示的运动的同时线性确定沿路径的最大速度的估计之后,对于沿几何路径从s1到sn-1的多个航路点si中的每一个,在将加加速度限制应用于由航路点si的相邻航路点之间的转换表示的运动的同时线性确定沿路径的最大速度的估计;以及
对于沿几何路径从至少s2到sn的航路点si中的每一个,基于所确定的最大速度的估计中的相应的估计来确定将到达相应的航路点的相应的时间。
2.根据权利要求1所述的方法,其中,在将加速度限制应用于由航路点si的相邻航路点之间的转换表示的运动的同时线性确定沿路径的最大速度的估计包括:
对于从至少sn-1到s1连续的航路点si,确定由每个相应的航路点si处的加速度限制界定的相应的可行速度范围;以及
在确定由加速度限制界定的相应的可行速度范围之后,然后,对于从s1到sn-1连续的航路点si,选择至少近似地最大化从s1到至少sn-1的连续航路点si之间的每个转换的速度平方的相应的加速度值,使得相应的加速度值在对应的加速度限制内并且对应的速度在相应的可行速度范围内。
3.根据权利要求2所述的方法,其中,对于从至少sn-1到s1连续的航路点si,确定由每个相应航路点si处的加速度限制界定的相应的可行速度范围包括:确定在航路点sn处的速度为等于零。
4.根据权利要求1至3中任一项所述的方法,其中,在将加加速度限制应用于由航路点si的相邻航路点之间的转换表示的运动的同时线性确定沿路径的最大速度的估计包括:
对于从sn-1到s1连续的航路点si,确定相应的可行速度范围和相应的可行加速度范围,范围中的每个由每个相应航路点si处的加加速度限制界定;以及
在确定由每个相应的航路点si处的加加速度限制界定的相应的可行速度范围和可行加速度范围之后,然后,对于从s1到sn-1连续的航路点si,选择至少近似地最大化从s1到sn的连续航路点si之间的每个转换的速度平方的相应的加加速度值,使得相应的加加速度值在对应的加加速度限制内,对应的速度在相应的可行速度范围内,并且对应的加速度在相应的可行加速度范围内。
5.根据权利要求4所述的方法,还包括:
进行多次迭代,直到达到结束条件,
对于航路点si,至少部分地基于相应的输入值来确定相应的加加速度限制速度,所述相应的输入值等于最近先前迭代的相应的输入值减去epsilon值,并且所述epsilon值是在所述多次迭代内保持不变的常量或在所述多次迭代中变化的变量。
6.根据权利要求5所述的方法,还包括:
通过以下方式确定是否达到结束条件:
确定对应于当前选择的加加速度值的至少近似最大化的速度平方与对应于最近的先前选择的加加速度值的至少近似最大化的速度平方之间的差;以及
将确定的差与阈值进行比较。
7.根据权利要求1所述的方法,其中,对于沿着几何路径从S1到Sn的多个航路点Si中的每一个,基于最大速度组中的相应的最大速度来确定将到达相应的航路点的相应的时间包括:确定表示构型qi中的每个将被实现的相应的相对时间的时间向量。
8.根据权利要求7所述的方法,还包括:
接收n个机器人构型qi的构型向量,所述构型向量具有长度n,并且其中,确定表示构型qi中的每个将被实现的相应的相对时间的时间向量包括确定具有与构型向量的长度相等的长度的时间向量。
9.根据权利要求8所述的方法,其中,接收n个机器人构型qi的构型向量包括接收提供机器人的构型空间中的点向量的构型向量,每个点指定机器人的至少两个关节中的每一个的相应的姿态。
10.根据权利要求1所述的方法,其中,对于沿几何路径从至少s2到sn的航路点si中的每一个,基于最大速度的所确定的估计的组中的相应的估计来确定将到达相应的航路点的相应的时间包括确定将到达相应的航路点的相应的相对时间,所述相应的相对时间相对于将到达至少一个先前航路点的相应的时间。
11.根据权利要求1至3或6至10中任一项所述的方法,还包括:
至少提供所确定的将到达相应的航路点的相应的时间以控制所述机器人的运动。
12.一种控制机器人的运动的***,所述***包括:
至少一个处理器;以及
至少一个非暂时性处理器可读介质,其通信地耦合到所述至少一个处理器并存储处理器可执行指令,所述处理器可执行指令在由所述至少一个处理器执行时使所述至少一个处理器进行以下操作:
对于沿几何路径从s1到sn的多个航路点si中的每一个,存在针对每个航路点si的对应的机器人构型qi,在应用于由航路点si的相邻航路点之间的转换表示的运动的加速度限制下,线性确定沿路径的最大速度的估计;
在应用于由航路点si的相邻航路点之间的转换表示的运动的加速度限制下线性确定沿路径的最大速度的估计之后,对于沿几何路径从s1到至少sn的多个航路点si中的每一个,在应用于由航路点si的相邻航路点之间的转换表示的运动的加加速度限制下,线性确定沿路径的最大速度的估计;以及
对于沿几何路径从至少s2到sn的航路点si中的每一个,基于所确定的最大速度的估计中的相应的估计来确定将到达相应的航路点的相应的时间。
13.根据权利要求12所述的***,其中,为了在应用于由航路点si的相邻航路点之间的转换表示的运动的加速度限制下,线性确定沿路径的最大速度的估计,所述处理器可执行指令使所述至少一个处理器:
对于从至少sn-1到s1连续的航路点si,确定由每个相应的航路点si处的加速度限制界定的相应的可行速度范围;以及
在确定由每个相应航路点si处的加速度限制界定的相应的可行速度范围之后,然后,对于从s1到sn-1连续的航路点si,选择至少近似地最大化从s1到sn的连续航路点si之间的每个转换的速度平方的相应的加速度值,使得相应的加速度值在对应的加速度限制内并且对应的速度在相应的可行速度范围内。
14.根据权利要求12或13中任一项所述的***,其中,为了在应用于由航路点si的相邻航路点之间的转换表示的运动的加加速度限制下,线性确定沿路径的最大速度的估计,所述处理器可执行指令使所述至少一个处理器:
对于从sn-1到s1连续的航路点si,确定相应的可行速度范围和相应的可行加速度范围,范围中的每个由每个相应的航路点si处的加加速度限制的界定;以及
在确定由每个相应的航路点si处的加加速度限制界定的相应的可行速度范围和可行加速度范围之后,然后,对于从s1到sn-1连续的航路点si,选择至少近似地最大化从s1到sn的连续航路点si之间的每个转换的速度平方的相应的加加速度值,使得相应的加加速度值在对应的加加速度限制内,对应的速度在相应的可行速度范围内,并且对应的加速度在相应的可行加速度范围内。
15.根据权利要求14所述的***,其中,所述处理器可执行指令在被执行时使所述至少一个处理器进一步进行以下操作:
进行多次迭代,直到达到结束条件,
对于航路点si,至少部分地基于相应的输入值来确定相应的加加速度限制的速度,所述相应的输入值等于最近先前迭代的相应输入值减去epsilon值,并且所述epsilon值是在所述多次迭代内保持不变的常量或在所述多次迭代中变化的变量。
16.根据权利要求15所述的***,还包括:
通过以下方式确定是否达到结束条件:
确定对应于当前选择的加加速度值的至少近似最大化的速度平方与对应于最近的先前选择的加加速度值的至少近似最大化的速度平方之间的差;以及
将确定的差与速度阈值进行比较。
17.根据权利要求12所述的***,其中,为了基于最大速度组中的相应的最大速度来确定将到达相应的航路点的相应的时间,所述处理器可执行指令使所述至少一个处理器确定表示构型qi中的每一个将被实现的相应的相对时间的时间向量。
18.根据权利要求17所述的***,其中,所述至少一个处理器接收n个机器人构型qi的构型向量,所述构型向量具有长度n,并且其中,为了确定表示构型qi中的每个将被实现的相应的相对时间的时间向量,所述处理器可执行指令使所述至少一个处理器确定具有与构型向量的长度相等的长度的时间向量。
19.根据权利要求12所述的***,其中,为了基于最大速度的所确定的估计的组中的相应的估计来确定将到达相应的航路点的相应的时间,所述处理器可执行指令使所述至少一个处理器对于沿几何路径从至少s2至sn的航路点si中的每个,确定将到达相应的航路点的相应的相对时间,所述相应的相对时间相对于将到达至少一个先前航路点的相应的时间。
20.根据权利要求12所述的***,其中,当由所述至少一个处理器执行时,所述处理器可执行指令使所述至少一个处理器进一步:
至少提供相应的航路点的机器人构型和将到达相应的航路点的对应确定的相应的时间以控制机器人的运动。
21.一种在基于处理器的***中控制机器人的运动的操作的方法,所述基于处理器的***包括至少一个处理器,所述方法包括:
确定由在加速度限制下沿几何路径的多个航路点中的相邻航路点之间的转换所表示的机器人运动的可行加速度限制速度范围,存在针对每个航路点的对应的机器人构型;
对于航路点的至少一些,从可行加速度限制速度的组中选择至少近似最大化的可行加速度限制速度;
确定由在至少近似加加速度限制下沿几何路径的多个航路点中的相邻航路点之间的转换所表示的机器人运动的可行加加速度限制速度范围;
对于航路点的至少一些,从可行加加速度限制速度范围中选择至少近似最大化的可行加加速度限制速度;以及
对于航路点的至少一些中的每一个,基于所选择的至少近似最大化的加加速度限制速度中的相应的速度来确定将到达相应的航路点的相应时间。
22.根据权利要求21所述的方法,还包括:
重复以下操作直到达到结束条件:
确定由在至少近似加加速度限制下沿几何路径的多个航路点中的相邻航路点之间的转换所表示的机器人运动的新的可行加加速度限制速度范围;以及
对于航路点的至少一些,从所述新的可行加加速度限制速度范围中选择至少近似最大化的可行加加速度限制速度。
23.根据权利要求22所述的方法,还包括:
通过以下中的至少一个来确定结束条件:确定所述至少近似最大化的可行加加速度限制速度的连续选择之间的差是否等于或低于阈值,或者确定是否已经达到定义的迭代次数。
24.根据权利要求21所述的方法,其中,确定由在加速度限制下沿几何路径的多个航路点中的相邻航路点之间的转换所表示的机器人运动的可行加速度限制速度范围,包括:
对于从至少sn-1到s1连续的航路点Si中的每一个,确定在每个相应的航路点Si处的加速度限制下可获得的相应的可行加速度限制速度范围;以及
从所述可行加速度限制速度范围中选择至少近似最大化的可行加速度限制速度包括:对于从s1到sn-1连续的航路点si,选择至少使从s1至sn的连续航路点si之间的每个转换的速度平方近似最大化的相应的加速度值。
25.根据权利要求21所述的方法,其中,确定由在至少近似加加速度限制下沿几何路径的多个航路点中的相邻航路点之间的转换所表示的机器人运动的可行加加速度限制速度范围,包括:
对于从sn-1到s1连续的航路点si,确定在每个相应的航路点si处的加加速度限制和加速度限制下可获得的相应的可行速度范围和相应的可行加速度范围;以及
对于航路点的至少一些中的每一个,基于所选择的至少近似最大化的加加速度限制速度中的相应的速度来确定将到达相应的航路点的相应的时间包括:对于从s1到sn-1连续的航路点si,选择至少近似最大化从S1至Sn的连续航路点Si之间的每个转换的速度平方的相应的加加速度值。
26.根据权利要求25所述的方法,其中,确定由在至少近似加加速度限制下沿几何路径的多个航路点中的相邻航路点之间的转换所表示的机器人运动的可行加加速度限制速度范围包括:进行多次迭代直到达到结束条件,对于航路点si,至少部分地基于相应的输入值来确定相应的加加速度限制速度,所述相应的输入值等于最近先前迭代的相应输入值减去epsilon值,并且所述epsilon值是在所述多次迭代内保持不变的常量或在所述多次迭代中变化的变量。
27.根据权利要求21至26之一所述的方法,还包括:
至少提供所述确定的将到达相应的航路点的时间以控制机器人的运动。
28.一种控制机器人运动的***,所述***包括:
至少一个处理器;以及
至少一个非暂时性处理器可读介质,其通信地耦合到所述至少一个处理器并存储处理器可执行指令,所述处理器可执行指令在由所述至少一个处理器执行时使所述至少一个处理器执行如权利要求1至10或21至26所述的方法中的任一项。
29.根据权利要求28所述的***,其中,当由所述至少一个处理器执行时,所述处理器可执行指令使所述至少一个处理器进一步进行以下操作:
至少提供针对相应的航路点的机器人构型和对应确定的将到达相应的航路点的相应的时间以控制机器人的运动。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962890830P | 2019-08-23 | 2019-08-23 | |
US62/890,830 | 2019-08-23 | ||
PCT/US2020/047429 WO2021041223A1 (en) | 2019-08-23 | 2020-08-21 | Motion planning for robots to optimize velocity while maintaining limits on acceleration and jerk |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114466730A CN114466730A (zh) | 2022-05-10 |
CN114466730B true CN114466730B (zh) | 2023-05-23 |
Family
ID=74645466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080069957.5A Active CN114466730B (zh) | 2019-08-23 | 2020-08-21 | 用于使机器人优化速度同时保持对加速度和加加速度的限制的运动规划 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11673265B2 (zh) |
EP (1) | EP3993963A4 (zh) |
JP (1) | JP7368025B2 (zh) |
CN (1) | CN114466730B (zh) |
WO (1) | WO2021041223A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11707843B2 (en) * | 2020-04-03 | 2023-07-25 | Fanuc Corporation | Initial reference generation for robot optimization motion planning |
US11724387B2 (en) * | 2020-04-03 | 2023-08-15 | Fanuc Corporation | Fast robot motion optimization with distance field |
CN112666996A (zh) * | 2020-12-18 | 2021-04-16 | 广州极飞科技有限公司 | 控制运动状态的方法、装置、***、非易失性存储介质 |
CN116141341B (zh) * | 2023-04-21 | 2023-08-08 | 之江实验室 | 满足笛卡尔空间约束的五自由度机械臂指向动作实现方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2111362T3 (es) * | 1995-10-10 | 1998-03-01 | Siemens Ag | Guia del movimiento sincronizada por impulsos de reloj en sistemas de exploracion temporales discretos. |
DE19944607A1 (de) * | 1999-09-17 | 2001-03-22 | Isg Ind Steuerungstechnik Gmbh | Satzübergreifende Geschwindigkeitsführung bei einer numerisch gesteuerten Werkzeugmaschine oder einem Roboter |
DE10200680A1 (de) * | 2002-01-10 | 2003-08-07 | Siemens Ag | Minimale Schwingungsanregung beim Verfahren mit Ruckbegrenzung durch Adaption von Ruckprofilen |
WO2004095520A2 (en) * | 2003-04-22 | 2004-11-04 | Berkeley Process Control, Inc. | System of path planning for robotic manipulators based on maximum acceleration and finite jerk constraints |
DE102004059966B3 (de) * | 2004-12-13 | 2006-06-22 | Siemens Ag | Verfahren und Einrichtung zur Bewegungsführung eines bewegbaren Maschinenelements einer numerisch gesteurten Maschine |
DE102009023307A1 (de) * | 2009-05-29 | 2010-12-02 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zur Steuerung eines Manipulators |
CN102298391A (zh) * | 2011-04-27 | 2011-12-28 | 哈尔滨工业大学 | 一种重载工业机器人操作空间内运动轨迹规划方法 |
DE10361132B4 (de) * | 2003-06-18 | 2013-02-28 | Elan Schaltelemente Gmbh & Co. Kg | Verfahren zur Überwachung der Bewegung eines sich in mehreren Freiheitsgraden bewegenden Gefahr bringenden Objektes eines Handhabungsgerätes, wie Handhabungsmasse und/oder bewegliche Masse |
JP2014170828A (ja) * | 2013-03-04 | 2014-09-18 | Tokyo Electron Ltd | 基板搬送経路の決定方法、基板搬送装置、基板処理装置及びプログラム |
JP2016120581A (ja) * | 2014-12-25 | 2016-07-07 | シンフォニアテクノロジー株式会社 | 多関節ロボット及び多関節ロボットの制御方法 |
JP2017024095A (ja) * | 2015-07-17 | 2017-02-02 | ファナック株式会社 | 最大で二つのワークを把持するハンドを備えたロボットの制御方法およびロボット制御装置 |
CN107943034A (zh) * | 2017-11-23 | 2018-04-20 | 南开大学 | 移动机器人沿给定路径的完备且最短时间轨迹规划方法 |
EP3486612A1 (en) * | 2017-11-20 | 2019-05-22 | Robert Bosch GmbH | Method for generating a trajectory |
Family Cites Families (130)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4862373A (en) | 1987-05-13 | 1989-08-29 | Texas Instruments Incorporated | Method for providing a collision free path in a three-dimensional space |
US4949277A (en) | 1988-03-09 | 1990-08-14 | North American Philips Corporation | Differential budding: method and apparatus for path planning with moving obstacles and goals |
US6089742A (en) | 1989-11-01 | 2000-07-18 | Warmerdam; Thomas P. H. | Method and apparatus for controlling robots and the like using a bubble data hierarchy placed along a medial axis |
US5544282A (en) | 1991-04-05 | 1996-08-06 | Chen; Pang C. | Method and apparatus for planning motions of robot manipulators |
US5347459A (en) | 1993-03-17 | 1994-09-13 | National Research Council Of Canada | Real time collision detection |
US5835684A (en) | 1994-11-09 | 1998-11-10 | Amada Company, Ltd. | Method for planning/controlling robot motion |
US6004016A (en) | 1996-08-06 | 1999-12-21 | Trw Inc. | Motion planning and control for systems with multiple mobile objects |
US5795297A (en) | 1996-09-12 | 1998-08-18 | Atlantis Diagnostics International, L.L.C. | Ultrasonic diagnostic imaging system with personal computer architecture |
US6049756A (en) | 1997-11-12 | 2000-04-11 | Lockheed Martin Corporation | System and method for avoiding collision between vector and solid objects |
JPH11296229A (ja) | 1998-02-13 | 1999-10-29 | Komatsu Ltd | 車両の誘導装置 |
DE19831216A1 (de) | 1998-07-03 | 2000-01-05 | Amecon Gmbh | Verfahren und Vorrichtung zur Bestimmung der Abhängigkeit einer ersten Meßgröße von einer zweiten Meßgröße |
US6259988B1 (en) | 1998-07-20 | 2001-07-10 | Lockheed Martin Corporation | Real-time mission adaptable route planner |
US6526373B1 (en) | 1999-10-08 | 2003-02-25 | Dassault Systemes | Optimization tool for robot placement |
JP2002073130A (ja) | 2000-06-13 | 2002-03-12 | Yaskawa Electric Corp | ロボットの大域動作経路計画方法とその制御装置 |
DE10063722C2 (de) * | 2000-12-20 | 2003-07-03 | Siemens Ag | Ruckbegrenzung mit Adaption der Bahndynamik |
JP2003127077A (ja) | 2001-10-19 | 2003-05-08 | Komatsu Ltd | 作業ロボットのロボットプログラム修正装置。 |
US10065317B2 (en) | 2016-06-30 | 2018-09-04 | General Electric Company | Control system for coordinating robotic machines to collaborate on tasks |
JP3834307B2 (ja) | 2003-09-29 | 2006-10-18 | ファナック株式会社 | ロボットシステム |
US7447593B2 (en) | 2004-03-26 | 2008-11-04 | Raytheon Company | System and method for adaptive path planning |
KR20070011495A (ko) | 2004-04-22 | 2007-01-24 | 프론트라인 로보틱스 | 자율 이동 시스템을 위한 개방형 제어 시스템 아키텍처 |
JP2006224740A (ja) | 2005-02-16 | 2006-08-31 | Advics:Kk | 車両用走行支援装置 |
US20060235610A1 (en) | 2005-04-14 | 2006-10-19 | Honeywell International Inc. | Map-based trajectory generation |
US20060247852A1 (en) | 2005-04-29 | 2006-11-02 | Kortge James M | System and method for providing safety-optimized navigation route planning |
JP5112666B2 (ja) | 2006-09-11 | 2013-01-09 | 株式会社日立製作所 | 移動装置 |
EP1901150B1 (en) | 2006-09-14 | 2008-10-29 | Abb Research Ltd. | A method and device for avoiding collisions between an industrial robot and an object |
US7974737B2 (en) | 2006-10-31 | 2011-07-05 | GM Global Technology Operations LLC | Apparatus and method of automated manufacturing |
EP1972415B1 (en) | 2007-03-23 | 2019-01-02 | Honda Research Institute Europe GmbH | Robots with collision avoidance functionality |
US7865277B1 (en) | 2007-05-07 | 2011-01-04 | The United States Of America As Represented By The Secretary Of The Navy | Obstacle avoidance system and method |
US8380424B2 (en) | 2007-09-28 | 2013-02-19 | The Boeing Company | Vehicle-based automatic traffic conflict and collision avoidance |
EP2085279B1 (en) | 2008-01-29 | 2011-05-25 | Ford Global Technologies, LLC | A system for collision course prediction |
WO2009103335A1 (en) | 2008-02-20 | 2009-08-27 | Abb Research Ltd. | Method and system for optimizing the layout of a robot work cell |
US8571745B2 (en) | 2008-04-10 | 2013-10-29 | Robert Todd Pack | Advanced behavior engine |
US9144904B2 (en) | 2008-05-21 | 2015-09-29 | Fanuc Robotics America Corporation | Method and system for automatically preventing deadlock in multi-robot systems |
US8315738B2 (en) | 2008-05-21 | 2012-11-20 | Fanuc Robotics America, Inc. | Multi-arm robot system interference check via three dimensional automatic zones |
US8706452B2 (en) | 2008-06-26 | 2014-04-22 | Siemens Product Lifecycle Management Software Inc. | System and method for collision-free CAD design of pipe and tube paths |
JP5086942B2 (ja) | 2008-09-02 | 2012-11-28 | トヨタ自動車株式会社 | 経路探索装置、経路探索方法、及び経路探索プログラム |
KR101554515B1 (ko) | 2009-01-07 | 2015-09-21 | 삼성전자 주식회사 | 로봇의 경로계획장치 및 그 방법 |
KR101105325B1 (ko) | 2009-09-08 | 2012-01-16 | 부산대학교 산학협력단 | 실제 로봇의 다중 경로계획 방법 |
US8386080B2 (en) | 2009-09-15 | 2013-02-26 | Harris Corporation | Robotic apparatus implementing collision avoidance scheme and associated methods |
JP4975075B2 (ja) | 2009-09-30 | 2012-07-11 | クラリオン株式会社 | ナビゲーション装置および経路演算方法 |
EP2493664B1 (en) | 2009-10-27 | 2019-02-20 | Battelle Memorial Institute | Semi-autonomous multi-use robot system and method of operation |
US20110153080A1 (en) | 2009-12-22 | 2011-06-23 | Siemens Product Lifecycle Management Software Inc. | Method and apparatus for industrial robotic pathscycle time optimization using fly by |
US20120061155A1 (en) | 2010-04-09 | 2012-03-15 | Willow Garage, Inc. | Humanoid robotics system and methods |
JP2011249711A (ja) | 2010-05-31 | 2011-12-08 | Kyocera Corp | 配線基板およびその実装構造体 |
US8855812B2 (en) | 2010-07-23 | 2014-10-07 | Chetan Kapoor | System and method for robot safety and collision avoidance |
JP2012056023A (ja) | 2010-09-09 | 2012-03-22 | Toyota Motor Corp | ロボットの動作生成システム及び動作生成方法 |
US9286810B2 (en) | 2010-09-24 | 2016-03-15 | Irobot Corporation | Systems and methods for VSLAM optimization |
US8509982B2 (en) | 2010-10-05 | 2013-08-13 | Google Inc. | Zone driving |
JP2012190405A (ja) | 2011-03-14 | 2012-10-04 | Toyota Motor Corp | 経路情報修正装置、軌道計画装置、及びロボット |
JP5774361B2 (ja) | 2011-04-28 | 2015-09-09 | 本田技研工業株式会社 | 軌道計画方法、軌道計画システム及び軌道計画・制御システム |
JP2012243029A (ja) | 2011-05-18 | 2012-12-10 | Toyota Central R&D Labs Inc | 経路探索機能付き移動体 |
WO2013002099A1 (ja) | 2011-06-29 | 2013-01-03 | 三菱電機株式会社 | 部品供給装置 |
TW201318793A (zh) | 2011-11-08 | 2013-05-16 | Univ Minghsin Sci & Tech | 機器人光學定位系統及其定位方法 |
JP5724919B2 (ja) | 2012-03-22 | 2015-05-27 | トヨタ自動車株式会社 | 軌道生成装置、移動体、軌道生成方法及びプログラム |
US9547311B2 (en) | 2012-03-22 | 2017-01-17 | Israel Aerospace Industries Ltd. | Planning and monitoring of autonomous-mission |
KR20130112507A (ko) | 2012-04-04 | 2013-10-14 | 인하대학교 산학협력단 | S* 알고리즘을 이용한 이동로봇의 안전경로계획 수립방법 |
JP6128767B2 (ja) * | 2012-07-05 | 2017-05-17 | キヤノン株式会社 | ロボット制御装置、及びロボット制御方法 |
KR101441187B1 (ko) | 2012-07-19 | 2014-09-18 | 고려대학교 산학협력단 | 자율 보행 로봇 경로 계획 방법 |
JP6069923B2 (ja) | 2012-07-20 | 2017-02-01 | セイコーエプソン株式会社 | ロボットシステム、ロボット、ロボット制御装置 |
WO2014036549A2 (en) | 2012-08-31 | 2014-03-06 | Rethink Robotics, Inc. | Systems and methods for safe robot operation |
WO2014056533A1 (en) | 2012-10-11 | 2014-04-17 | Abb Technology Ltd | A method and an apparatus for automatically generating a collision free return program for returning a robot from a stop position to a predefined restart position |
KR102009482B1 (ko) | 2012-10-30 | 2019-08-14 | 한화디펜스 주식회사 | 로봇의 경로계획 장치와 방법 및 상기 방법을 구현하는 프로그램이 기록된 기록 매체 |
US9405296B2 (en) | 2012-12-19 | 2016-08-02 | Elwah LLC | Collision targeting for hazard handling |
US8972057B1 (en) | 2013-01-09 | 2015-03-03 | The Boeing Company | Systems and methods for generating a robotic path plan in a confined configuration space |
US9102055B1 (en) | 2013-03-15 | 2015-08-11 | Industrial Perception, Inc. | Detection and reconstruction of an environment to facilitate robotic interaction with the environment |
JP5962560B2 (ja) | 2013-03-22 | 2016-08-03 | トヨタ自動車株式会社 | 経路探索装置、移動体、経路探索方法及びプログラム |
US9280899B2 (en) | 2013-08-06 | 2016-03-08 | GM Global Technology Operations LLC | Dynamic safety shields for situation assessment and decision making in collision avoidance tasks |
JP6057862B2 (ja) | 2013-08-29 | 2017-01-11 | 三菱電機株式会社 | 部品供給装置および部品供給装置のプログラム生成方法 |
US9352465B2 (en) * | 2013-11-12 | 2016-05-31 | Canon Kabushiki Kaisha | Control method for robot apparatus and robot apparatus |
EP3100124B1 (en) | 2014-01-28 | 2023-03-01 | ABB Schweiz AG | Method and apparatus for optimizing performance of robotic cell |
JP5897624B2 (ja) | 2014-03-12 | 2016-03-30 | ファナック株式会社 | ワークの取出工程をシミュレーションするロボットシミュレーション装置 |
JP5877867B2 (ja) | 2014-04-25 | 2016-03-08 | ファナック株式会社 | 複数台のロボットのシミュレーション装置 |
US11576543B2 (en) | 2014-07-18 | 2023-02-14 | Ali Ebrahimi Afrouzi | Robotic vacuum with rotating cleaning apparatus |
JP5980873B2 (ja) | 2014-10-17 | 2016-08-31 | ファナック株式会社 | ロボットの干渉領域設定装置 |
US9403275B2 (en) | 2014-10-17 | 2016-08-02 | GM Global Technology Operations LLC | Dynamic obstacle avoidance in a robotic system |
US20160121487A1 (en) | 2014-11-03 | 2016-05-05 | Qualcomm Incorporated | Communicating Configurable Instruction Sets to Robots for Controlling Robot Behavior |
DE102014118802B4 (de) | 2014-12-17 | 2019-06-19 | Wirtgen Gmbh | Arbeitseinrichtung |
EP3250347B1 (en) | 2015-01-26 | 2023-11-08 | Duke University | Specialized robot motion planning hardware and methods of making and using same |
CN107206590B (zh) | 2015-02-13 | 2021-02-05 | Abb瑞士股份有限公司 | 用于避免两个机器人之间的碰撞的方法 |
US10019006B2 (en) | 2015-04-08 | 2018-07-10 | University Of Maryland, College Park | Surface vehicle trajectory planning systems, devices, and methods |
US9687982B1 (en) | 2015-05-27 | 2017-06-27 | X Development Llc | Adapting programming of a robot and/or control of the robot based on one or more parameters of an end effector of the robot |
US20160357187A1 (en) | 2015-06-05 | 2016-12-08 | Arafat M.A. ANSARI | Smart vehicle |
US20170004406A1 (en) | 2015-06-30 | 2017-01-05 | Qualcomm Incorporated | Parallel belief space motion planner |
US9707681B2 (en) | 2015-07-27 | 2017-07-18 | Siemens Industry Software Ltd. | Anti-collision management of overlapping robotic movements |
KR101724887B1 (ko) | 2015-08-10 | 2017-04-07 | 현대자동차주식회사 | 전방 도로 형상과 연결을 분석해 차선 변경과 타이밍을 결정하는 자율주행 제어 장치 및 방법 |
EP3357790A4 (en) | 2015-09-29 | 2019-06-19 | Sony Corporation | DEVICE AND METHOD FOR DAMAGE REDUCTION AND PROGRAM |
KR20170044987A (ko) * | 2015-10-16 | 2017-04-26 | 한국전기연구원 | 저크가 제한된 궤적 생성 방법 |
KR101748632B1 (ko) | 2015-10-29 | 2017-06-20 | 한국과학기술연구원 | 로봇의 구동 경로를 계획하기 위한 로봇 제어 시스템 및 로봇 구동 경로 계획방법 |
US10496766B2 (en) | 2015-11-05 | 2019-12-03 | Zoox, Inc. | Simulation system and methods for autonomous vehicles |
US9632502B1 (en) | 2015-11-04 | 2017-04-25 | Zoox, Inc. | Machine-learning systems and techniques to optimize teleoperation and/or planner decisions |
EP3171133B1 (en) | 2015-11-19 | 2020-03-11 | Sikorsky Aircraft Corporation | Kinematic motion planning with regional planning constraints |
US10093021B2 (en) | 2015-12-02 | 2018-10-09 | Qualcomm Incorporated | Simultaneous mapping and planning by a robot |
US10012984B2 (en) | 2015-12-14 | 2018-07-03 | Mitsubishi Electric Research Laboratories, Inc. | System and method for controlling autonomous vehicles |
US10705528B2 (en) | 2015-12-15 | 2020-07-07 | Qualcomm Incorporated | Autonomous visual navigation |
US10665115B2 (en) | 2016-01-05 | 2020-05-26 | California Institute Of Technology | Controlling unmanned aerial vehicles to avoid obstacle collision |
US10035266B1 (en) * | 2016-01-18 | 2018-07-31 | X Development Llc | Generating robot trajectories using a real time trajectory generator and a path optimizer |
JP6576255B2 (ja) | 2016-01-25 | 2019-09-18 | キヤノン株式会社 | ロボット軌道生成方法、ロボット軌道生成装置、および製造方法 |
US9645577B1 (en) | 2016-03-23 | 2017-05-09 | nuTonomy Inc. | Facilitating vehicle driving and self-driving |
WO2017168187A1 (en) | 2016-03-31 | 2017-10-05 | Siemens Industry Software Ltd. | Method and system for determining optimal positioning of a plurality of robots in a simulated production environment |
WO2017192144A1 (en) | 2016-05-05 | 2017-11-09 | Harman International Industries, Incorporated | Systems and methods for driver assistance |
US9687983B1 (en) | 2016-05-11 | 2017-06-27 | X Development Llc | Generating a grasp pose for grasping of an object by a grasping end effector of a robot |
US9880561B2 (en) | 2016-06-09 | 2018-01-30 | X Development Llc | Sensor trajectory planning for a vehicle |
ES2903532T3 (es) | 2016-06-10 | 2022-04-04 | Univ Duke | Planificación de movimiento para vehículos autónomos y procesadores reconfigurables de planificación de movimiento |
US9981383B1 (en) | 2016-08-02 | 2018-05-29 | X Development Llc | Real-time trajectory generation for actuators of a robot to reduce chance of collision with obstacle(s) |
US10345815B2 (en) | 2016-09-14 | 2019-07-09 | Qualcomm Incorporated | Motion planning and intention prediction for autonomous driving in highway scenarios via graphical model-based factorization |
US10131053B1 (en) | 2016-09-14 | 2018-11-20 | X Development Llc | Real time robot collision avoidance |
DE102016120763B4 (de) | 2016-10-31 | 2019-03-14 | Pilz Gmbh & Co. Kg | Verfahren zur kollisionsfreien Bewegungsplanung |
EP3555568A2 (en) | 2016-11-09 | 2019-10-23 | Inventive Cogs (Campbell) Limited | Vehicle route guidance |
KR102518532B1 (ko) | 2016-11-11 | 2023-04-07 | 현대자동차주식회사 | 자율주행차량의 경로 결정장치 및 그 방법 |
US10012988B2 (en) | 2016-11-29 | 2018-07-03 | Mitsubishi Electric Research Laboratories, Inc. | Methods and systems for path planning using a network of safe-sets |
US10296012B2 (en) | 2016-12-21 | 2019-05-21 | X Development Llc | Pre-computation of kinematically feasible roadmaps |
US10480947B2 (en) | 2016-12-21 | 2019-11-19 | X Development Llc | Boolean satisfiability (SAT) reduction for geometry and kinematics agnostic multi-agent planning |
US10882185B2 (en) | 2017-02-07 | 2021-01-05 | Veo Robotics, Inc. | Dynamically determining workspace safe zones with speed and separation monitoring |
US11541543B2 (en) | 2017-02-07 | 2023-01-03 | Veo Robotics, Inc. | Dynamic, interactive signaling of safety-related conditions in a monitored environment |
DE102017102749A1 (de) * | 2017-02-13 | 2018-08-16 | Festo Ag | Automatische Trajektorienerzeugung zur Ansteuerung eines Antriebssystems |
US10430641B2 (en) | 2017-03-08 | 2019-10-01 | GM Global Technology Operations LLC | Methods and systems for object tracking using bounding boxes |
KR101937269B1 (ko) | 2017-05-15 | 2019-01-14 | 한국생산기술연구원 | 로봇 모션 경로 계획방법 |
US11014240B2 (en) | 2017-09-05 | 2021-05-25 | Abb Schweiz Ag | Robot having dynamic safety zones |
US10782694B2 (en) | 2017-09-07 | 2020-09-22 | Tusimple, Inc. | Prediction-based system and method for trajectory planning of autonomous vehicles |
US10466707B2 (en) | 2017-12-22 | 2019-11-05 | X Development Llc | Planning robot stopping points to avoid collisions |
EP3769174B1 (en) | 2018-03-21 | 2022-07-06 | Realtime Robotics, Inc. | Motion planning of a robot for various environments and tasks and improved operation of same |
US11216009B2 (en) | 2018-06-25 | 2022-01-04 | Intrinsic Innovation Llc | Robot coordination in a shared workspace |
US20210178591A1 (en) | 2018-08-23 | 2021-06-17 | Realtime Robotics, Inc. | Collision detection useful in motion planning for robotics |
US10809732B2 (en) | 2018-09-25 | 2020-10-20 | Mitsubishi Electric Research Laboratories, Inc. | Deterministic path planning for controlling vehicle movement |
CN113227927A (zh) | 2018-12-04 | 2021-08-06 | 杜克大学 | 在具有动态对象环境中促进运动规划的设备、方法和物体 |
EP3725472A1 (de) | 2019-04-16 | 2020-10-21 | Siemens Aktiengesellschaft | Verfahren zum ermitteln einer trajektorie eines roboters |
US11179850B2 (en) | 2019-04-24 | 2021-11-23 | Intrinsic Innovation Llc | Robot motion planning |
JP7222803B2 (ja) | 2019-04-25 | 2023-02-15 | 株式会社日立製作所 | 軌道計画装置、軌道計画方法及びプログラム |
KR20200129045A (ko) | 2019-05-07 | 2020-11-17 | 모셔널 에이디 엘엘씨 | 차량의 궤적을 계획 및 업데이트하기 위한 시스템 및 방법 |
TWI699636B (zh) | 2019-05-21 | 2020-07-21 | 華邦電子股份有限公司 | 協同型機器人控制系統和方法 |
-
2020
- 2020-08-21 WO PCT/US2020/047429 patent/WO2021041223A1/en unknown
- 2020-08-21 JP JP2022512324A patent/JP7368025B2/ja active Active
- 2020-08-21 CN CN202080069957.5A patent/CN114466730B/zh active Active
- 2020-08-21 US US16/999,339 patent/US11673265B2/en active Active
- 2020-08-21 EP EP20857383.2A patent/EP3993963A4/en active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2111362T3 (es) * | 1995-10-10 | 1998-03-01 | Siemens Ag | Guia del movimiento sincronizada por impulsos de reloj en sistemas de exploracion temporales discretos. |
DE19944607A1 (de) * | 1999-09-17 | 2001-03-22 | Isg Ind Steuerungstechnik Gmbh | Satzübergreifende Geschwindigkeitsführung bei einer numerisch gesteuerten Werkzeugmaschine oder einem Roboter |
DE10200680A1 (de) * | 2002-01-10 | 2003-08-07 | Siemens Ag | Minimale Schwingungsanregung beim Verfahren mit Ruckbegrenzung durch Adaption von Ruckprofilen |
WO2004095520A2 (en) * | 2003-04-22 | 2004-11-04 | Berkeley Process Control, Inc. | System of path planning for robotic manipulators based on maximum acceleration and finite jerk constraints |
DE10361132B4 (de) * | 2003-06-18 | 2013-02-28 | Elan Schaltelemente Gmbh & Co. Kg | Verfahren zur Überwachung der Bewegung eines sich in mehreren Freiheitsgraden bewegenden Gefahr bringenden Objektes eines Handhabungsgerätes, wie Handhabungsmasse und/oder bewegliche Masse |
DE102004059966B3 (de) * | 2004-12-13 | 2006-06-22 | Siemens Ag | Verfahren und Einrichtung zur Bewegungsführung eines bewegbaren Maschinenelements einer numerisch gesteurten Maschine |
DE102009023307A1 (de) * | 2009-05-29 | 2010-12-02 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zur Steuerung eines Manipulators |
CN102298391A (zh) * | 2011-04-27 | 2011-12-28 | 哈尔滨工业大学 | 一种重载工业机器人操作空间内运动轨迹规划方法 |
JP2014170828A (ja) * | 2013-03-04 | 2014-09-18 | Tokyo Electron Ltd | 基板搬送経路の決定方法、基板搬送装置、基板処理装置及びプログラム |
JP2016120581A (ja) * | 2014-12-25 | 2016-07-07 | シンフォニアテクノロジー株式会社 | 多関節ロボット及び多関節ロボットの制御方法 |
JP2017024095A (ja) * | 2015-07-17 | 2017-02-02 | ファナック株式会社 | 最大で二つのワークを把持するハンドを備えたロボットの制御方法およびロボット制御装置 |
EP3486612A1 (en) * | 2017-11-20 | 2019-05-22 | Robert Bosch GmbH | Method for generating a trajectory |
CN107943034A (zh) * | 2017-11-23 | 2018-04-20 | 南开大学 | 移动机器人沿给定路径的完备且最短时间轨迹规划方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021041223A1 (en) | 2021-03-04 |
JP2022544709A (ja) | 2022-10-20 |
US20210053220A1 (en) | 2021-02-25 |
EP3993963A1 (en) | 2022-05-11 |
US11673265B2 (en) | 2023-06-13 |
EP3993963A4 (en) | 2022-08-24 |
JP7368025B2 (ja) | 2023-10-24 |
CN114466730A (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114466730B (zh) | 用于使机器人优化速度同时保持对加速度和加加速度的限制的运动规划 | |
US20200398428A1 (en) | Motion planning for multiple robots in shared workspace | |
JP7141665B2 (ja) | ロボットの動作計画に役立つ衝突検出 | |
JP6610915B2 (ja) | 車両を制御するコントローラー及び方法並びに非一時的コンピューター可読メモリ | |
De Luca et al. | Feedback control of a nonholonomic car-like robot | |
US10035266B1 (en) | Generating robot trajectories using a real time trajectory generator and a path optimizer | |
EP3403772B1 (en) | Robot motion planning for avoiding collision with moving obstacles | |
WO2020056299A1 (en) | Deep reinforcement learning-based techniques for end to end robot navigation | |
CN109434831B (zh) | 机器人运行方法、装置、机器人、电子设备及可读介质 | |
Kabir et al. | Generation of synchronized configuration space trajectories of multi-robot systems | |
Choi et al. | Dual-arm robot motion planning for collision avoidance using B-spline curve | |
Korayem et al. | Trajectory optimization of nonholonomic mobile manipulators departing to a moving target amidst moving obstacles | |
CN115890735B (zh) | 机械臂***、机械臂及其控制方法、控制器和存储介质 | |
CN115351780A (zh) | 用于控制机器人设备的方法 | |
CN109947112B (zh) | 两轮自平衡车直线定点运动的最优时间轨迹规划方法 | |
Jangid et al. | Kinematics-based end-effector path control of a mobile manipulator system on an uneven terrain using a two-stage Support Vector Machine | |
US9975244B1 (en) | Real-time generation of trajectories for actuators of a robot | |
US20240009845A1 (en) | Systems, methods, and user interfaces employing clearance determinations in robot motion planning and control | |
JP2024517361A (ja) | 相補性制約を使用して衝突を回避する物体操作 | |
Rodrigues et al. | Clutter-resilient autonomous mobile robot navigation with computationally efficient free-space features | |
Suganya et al. | Soft computing controller based path planning wheeled mobile robot | |
Sakti et al. | Path planning and path following using arrival time field for nonholonomic mobile robot | |
Xidias et al. | Two-dimensional motion-planning for nonholonomic robots using the bump-surfaces concept | |
Vieira et al. | Improving RRT's efficiency through motion primitives generation optimization | |
US20230286156A1 (en) | Motion planning and control for robots in shared workspace employing staging poses |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |