CN117377560A - 在使用互补性约束进行避碰的情况下的物体操纵 - Google Patents
在使用互补性约束进行避碰的情况下的物体操纵 Download PDFInfo
- Publication number
- CN117377560A CN117377560A CN202280037362.0A CN202280037362A CN117377560A CN 117377560 A CN117377560 A CN 117377560A CN 202280037362 A CN202280037362 A CN 202280037362A CN 117377560 A CN117377560 A CN 117377560A
- Authority
- CN
- China
- Prior art keywords
- obstacle
- polyhedron
- controller
- constraints
- complementarity
- 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.)
- Pending
Links
- 230000000295 complement effect Effects 0.000 title claims description 12
- 238000005457 optimization Methods 0.000 claims abstract description 127
- 230000033001 locomotion Effects 0.000 claims abstract description 40
- 230000008859 change Effects 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims description 78
- 230000006870 function Effects 0.000 claims description 58
- 230000003993 interaction Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 3
- 238000009472 formulation Methods 0.000 description 27
- 239000000203 mixture Substances 0.000 description 27
- 238000010586 diagram Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000003068 static effect Effects 0.000 description 8
- 239000012636 effector Substances 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 238000012360 testing method Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 5
- 230000001131 transforming effect Effects 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000009499 grossing Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 235000012431 wafers Nutrition 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004984 smart glass Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000009940 knitting Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000010327 methods by industry Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000009738 saturating Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- 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
- B25J9/1666—Avoiding collision or forbidden zones
-
- 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/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- 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/40475—In presence of moving obstacles, dynamic environment
-
- 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/40476—Collision, planning for collision free path
-
- 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/40517—Constraint motion planning, variational dynamic programming
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Abstract
一种控制器,该控制器根据最优轨迹来控制执行任务的物体的运动,以在避免所述物体与障碍物碰撞的同时从开始状态到结束状态改变所述物体的状态,该最优轨迹是通过以下方式确定的:求解物体的动力学的优化问题以生成用于执行该任务的最优轨迹,该优化问题经受关于使用互补性约束对物体的凸包与障碍物的凸包之间的最小距离进行建模的一阶平稳条件的解的约束。
Description
技术领域
本公开涉及控制和优化物体沿着轨迹执行所希望任务的系统和方法,并且更特别地,涉及在使用互补性约束进行避碰(collision avoidance)的情况下的物体操纵的系统和方法。
背景技术
在许多实际应用中,机器和物体在经常杂乱地堆满障碍物并因此易于碰撞的环境中工作。这种环境被认为是受约束环境。障碍物可以是其它物体、机器、生物等。根据操作条件,在这种受约束环境中操作的系统可以包括静态和/或动态障碍物。这样的系统可以被认为是动力学系统,并且可以使用非线性微分代数方程(DAE)来描述。在这样的系统中,需要优化物体穿行的轨迹以拟合不同的操作场景。这种系统的一个示例是用于机器人操纵的系统。
可以将机器人系统配置成控制包括机械臂(也被称为机械手(manipulator))的机器人装置。例如,机器人系统可以包括接收输入信号并生成控制信号的控制器,其中,机械臂可以向控制器提供反馈信号。这种系统的示例是工业组装任务,在工业组装任务中使用机械手(robotic manipulator)组装产品,同时避免与其它机器人及其工作环境的碰撞。
对机械手的最优轨迹的规划包括在最小化执行所希望任务的时间的同时避开障碍物,并且通常是困难的优化问题。任何轨迹优化算法将必须最小化执行为任务所需的时间,同时满足机械手的动力学的约束以及由于避碰而造成的约束。避开障碍物的要求导致了一组非平滑、非凸约束,而对于该组非平滑约束的连续时间动力学系统的优化是一个难以解决的问题。在轨迹生成和优化期间,需要实施由于避障(obstacle avoidance)而造成的非平滑、非凸约束。而且,由于优化问题是非凸的,因此必然存在多个局部最小值,但是优化算法不能保证找到全局最小值。因而,不能保证由这种算法返回的解确实避开了障碍物。这种避障约束的示例是希望避碰的两个物体之间的距离。为了优化避障的问题,希望物体之间的这种距离总是非零的。几种常规的方法也将具有避障的轨迹规划公式化为优化问题。例如,美国专利7,248,952中描述的方法将轨迹规划公式化为混合整数线性规划问题,并且将物体之间的距离约束公式化为优化问题。
发明内容
技术问题
这种公式化的缺点是距离约束最好是一次可微分的或者根本不可微分的。例如,常规的轨迹规划算法使用非线性规划算法,其假设约束是至少一次连续可微分的。这导致计算控制的优化问题变为不可微分的情形。因此,需要避障约束的明智公式化,以便使公式化服从非线性规划算法。
为此,需要在避开至少一个障碍物的同时优化物体的轨迹,其中使优化经受平滑约束。
技术方案
一些实施方式旨在提供一种用于控制执行任务的物体的运动以在避免该物体与障碍物碰撞的同时从开始状态到结束状态改变该物体的状态的系统和方法。物体的状态从开始状态到结束状态的变化可以包括通过一序列状态的轨迹。另外或者另选地,一些实施方式的目的是优化执行任务的物体的状态的轨迹,从而整体上优化任务的执行。这种受控物体的示例包括机械手、自主汽车、无人机等。
一些实施方式基于这样的实现,即,轨迹优化算法需要满足系统的多个约束。这些约束可能因系统的动力学模型、系统的状态和控制边界或者因避障约束而产生。DAE足以表示平滑的动力学系统。遗憾的是,一些系统的动力学并不总是平滑的,因此不能完全由DAE来表达。然而,一些实施方式基于这样的实现,即,可以通过使用关于某些状态变量的互补性条件来表达一些非平滑动力学。其中互补性条件被用于表达非平滑动力学的系统的一些示例是具有摩擦相互作用的系统,其中,摩擦相互作用被表达为互补性条件。一些实施方式基于这样的实现,即,使用互补性条件来公式化平滑动力学允许创建可以利用非线性规划算法解决的优化问题。
一些示例实施方式基于作为凸优化问题的避障约束的公式化。一些示例实施方式基于这样的理解,即,避障必须被公式化为具有足够平滑度的优化中的约束。这种公式化确保任何可行的轨迹将避开障碍物,并且约束的平滑度允许采用非线性规划算法。此外,优化公式化的任何局部最小值满足避开障碍物,从而避免获得全局最小值的需要。
一些实施方式基于这样的理解,即,在对控制问题的这种公式化中,用于执行任务的控制可以被认为是主控制问题,而避碰是从属控制问题。主控制问题是优化问题。然而,避碰问题也是优化问题,因为为了检查各种形状的不同物体的两个点之间的碰撞,需要找到这些物体之间的最近点,并且对最近点的搜索是两个物体的所有不同点之间的距离的优化(即,最小化)问题。因此,避免碰撞的最优物体控制包括求解嵌套优化问题,即,参考轨迹的优化以及避碰所需的优化。
解决嵌套优化本身是具有挑战性的问题,但是在避碰应用的背景下更加具有挑战性。这是因为避碰所需的优化是不适定(ill-posed)的问题。毕竟,不同物体的多对点可以具有相同的距离。虽然希望避免所有对点以最小距离碰撞,但是这种模糊性使得避碰优化不可微分,这进而可能妨碍嵌套优化实现主要控制目标。
因此,一些实施方式的目的是解决避免碰撞的最优控制应用的嵌套优化的计算问题。一些实施方式基于这样的实现,即,由于避碰优化从属于主控制问题,所以可以将其解替换成对主控制问题的解的测试。该测试的特性使得如果测试得到满足,则主控制优化的解对于不同物体的所有不同的对点是无碰撞的。而且,在通过各种可微分的技术来控制对受控物体的状态的变化优化的背景下,这种测试应当以可微分的方式取决于物体的状态。还认识到,这种测试可以借助于互补性约束来限定。
一些实施方式基于这样的认识,即,如果物体的点之间的距离被表示为其所有点之间的差的距离函数,则物体之间的最小距离对应于该函数的平稳点(stationarypoint)。如本文所使用的,一个变量(诸如距离)的可微分函数的平稳点是该函数的曲线图上的其中该函数的导数沿着可行的运动方向是非负的点。这种距离函数的每一个一阶平稳点是最小元(minimizer),并且距离函数的模糊性表明这种函数可以具有多个平稳点。在任何情况下,根据这种公式化,可以通过这种距离函数的一阶平稳条件的解来替换最优最小化问题。有利地,可以以可微分的方式找到这种解,从而确保允许各种非线性规划算法的适用性。
一些实施方式基于另一实现:可以将控制下的物体的形状和可以造成碰撞的障碍物的形状表示为凸包,使得这些物体中的各个点皆是对应包的顶点的非负权重的向量。有利地,这种表示允许将这些向量的权重与物体的状态分离。具体地,由凸包表示的物体的位置取决于状态,但是限定凸包中的不同点的权重本身与状态无关。这样的表示使物体的点与障碍物的点之间的距离的公式化成为凸问题,在该凸问题中,需要将权重落在单形体(simplex)上。单形体是凸集,其元素、权重是非负的并且总和为一。最小距离优化的凸性允许使用经受互补性约束的一阶平稳条件来重新公式化。
以这样的方式,一些实施方式将嵌套优化问题变换成单个优化问题,该单个优化问题经受关于使用互补性约束对物体的凸包与障碍物的凸包之间的最小距离进行建模的一阶平稳条件的解的约束。将对最小距离的约束表示为一阶平稳条件的解使这种表示可微分。
将嵌套优化问题变换成单个优化问题需要更少的迭代,与嵌套问题所消耗的资源相比,这又消耗更少的资源。因此,一些示例实施方式导致更快的优化过程,对于该优化过程所实现的一些有益方面包括在执行该过程时在总体资源消耗、CPU时间、以及时钟周期方面的显著改进。当优化问题被实现为资源稀缺应用(诸如自主驾驶、机器人、无人机等)的一部分时,这样的技术益处被进一步放大并得以变换成更实际的益处。
此外,一些示例实施方式导致在准确度方面更好的经优化轨迹,因为问题的潜在变换由于引入约束中的平滑度而不必进行更多假设或近似。这是因为将约束表达为互补性条件允许我们使用定制的松弛(relaxation),该定制的松弛允许使用常规的优化算法来鲁棒地求解,并因此导致更高质量的解。
一些实施方式基于这样的理解,即,避免碰撞的控制优化可以对于诸如执行组装的机器人、停放或控制自主汽车、无人机的自主运动的许多控制应用是有用的。特别地,一些实施方式基于这样的实现,即,在机器人应用中,利用互补性约束来公式化避碰问题可以是特别有益的。大多数机器人应用的特征在于存在受约束的环境,同时处理有挑战性的潜在现象,比如单侧接触、摩擦接触、撞击、以及导致富接触多体相互作用(contact-richmulti-body interaction)的变形。这些富接触多体摩擦相互作用系统通常由可以使用互补性条件表达的非平滑动力学来描述。因此,当避碰也由互补性约束来公式化时,这样的公式化允许以统一的方式处理接触和避碰。
在所实现的许多有益方面当中,一些有益方面是,本公开的实施方式可以生成刚体的连续时间无碰撞动态轨迹,而不会明确地需要碰撞检查/避碰模块或给出初始可行的解。
如本文所描述的本公开的实施方式的一些特征可以被用于汽车工业、航空航天工业、非线性控制系统、以及过程工程。而且,本公开的实施方式的一些特征可以与具有适用于半导体晶圆加工系统中的应用的多个末端执行器的材料处理机器人一起使用。例如,可以利用上述操作来从偏置工位拾取晶圆或基板或向偏置工位放置晶圆或基板。利用一个末端执行器的拾取操作,随后是利用另一末端执行器的放置操作的一序列操纵可以被用于在偏置工位处快速交换晶圆/基板(快速交换操作)。机器人驱动单元可以包括一个或更多个竖直提升机构,以控制机械臂的竖直高度,这可以被用于接近不同高度处的工位、补偿机械臂的末端执行器之间的竖直距离、以及便于材料拾取/放置操作。预期机器人装置可以利用电动机驱动的滚珠螺杆或者任何其它合适的致动机构,包括但不限于,导螺杆、线性电动机、连杆机构、剪式机构、液压致动器、气动致动器、以及它们的组合。注意,对于两个或更多个机械臂,该配置可以包括随着与另一臂处于同一平面或不同平面之一的位置来配置的上臂和下臂。
因此,一个实施方式公开了一种用于控制执行任务的物体的运动以在避免该物体与障碍物碰撞的同时从开始状态到结束状态改变该物体的状态的控制器,该控制器包括:至少一个处理器;以及存储器,该存储器上存储有指令,该指令在由所述至少一个处理器执行时,使控制器:获得指示物体和障碍物的动力学的数据、以及该物体和障碍物的几何形状,其中,物体的几何形状包括封闭(enclosing)该物体的实际形状的凸形状,并且障碍物的几何形状包括封闭该障碍物的实际形状的凸形状;求解物体的动力学的优化问题以生成用于执行任务的最优轨迹,该优化问题经受关于使用互补性约束对物体的凸形状与障碍物的凸形状之间的最小距离进行建模的一阶平稳条件的解的约束;以及根据最优轨迹来控制物体的运动。
另一实施方式公开了一种用于控制执行任务的物体的运动以在避免该物体与障碍物碰撞的同时从开始状态到结束状态改变该物体的状态的方法,其中,所述方法使用与实现所述方法的所存储指令联接的处理器,其中,该指令在由处理器执行时,执行所述方法的步骤,所述方法包括以下步骤:获得指示物体和障碍物的动力学的数据、以及该物体和障碍物的几何形状,其中,物体的几何形状包括封闭该物体的实际形状的凸形状,并且障碍物的几何形状包括封闭该障碍物的实际形状的凸形状;求解物体的动力学的优化问题以生成用于执行任务的最优轨迹,该优化问题经受关于使用互补性约束对物体的凸形状与障碍物的凸形状之间的最小距离进行建模的一阶平稳条件的解的约束;以及根据最优轨迹来控制物体的运动。
又一实施方式公开了一种具体实施有可通过处理器执行的程序的非暂时性计算机可读存储介质,该程序用于执行一种用于控制执行任务的物体的运动以在避免该物体与障碍物碰撞的同时从开始状态到结束状态改变该物体的状态的方法,所述方法包括以下步骤:获得指示物体和障碍物的动力学的数据、以及该物体和障碍物的几何形状,其中,物体的几何形状包括封闭该物体的实际形状的凸形状,并且障碍物的几何形状包括封闭该障碍物的实际形状的凸形状;求解物体的动力学的优化问题以生成用于执行任务的最优轨迹,该优化问题经受关于使用互补性约束对物体的凸形状与障碍物的凸形状之间的最小距离进行建模的一阶平稳条件的解的约束;以及根据最优轨迹来控制物体的运动。
参照附图,将对当前公开的实施方式进一步阐释。所示附图不一定是按比例的,而是将重点通常置于例示目前所公开的实施方式的原理之下。
附图说明
[图1A]
图1A是例示根据一些实施方式的轨迹优化问题的概况的图。
[图1B]
图1B是例示使用一些实施方式的原理在平面中进行轨迹规划的示例的示意图。
[图2A]
图2A示出了根据一些实施方式的用于控制执行任务的物体的运动以在避免该物体与障碍物碰撞的同时从开始状态到结束状态改变该物体的状态的方法的框图。
[图2B]
图2B例示了根据一个实施方式的用于求解优化的优化解算器的顺序工作流程。
[图3A]
图3A示出了根据一些实施方式的用于对物体与障碍物之间的最小距离强加互补性约束的原理的示意图。
[图3B]
图3B示出了根据一些实施方式的用于使用图3A的原理执行对物体的控制的原理的示意图。
[图3C]
图3C示出了根据一些实施方式的用于使用图3A的原理执行对物体的控制的原理的示意图。
[图4]
图4例示了使用多面体(polytope)来参数化物体和障碍物的一个示例。
[图5A]
图5A例示了根据一些实施方式的按照多面体的顶点对物体的任何点的参数化的一个示例。
[图5B]
图5B例示了根据一些实施方式的按照多面体的顶点对物体的任何点的参数化的一个示例。
[图5C]
图5C例示了根据一些实施方式的按照多面体的顶点对物体的任何点的参数化的一个示例。
[图5D]
图5D例示了根据一些实施方式的按照多面体的顶点对物体的任何点的参数化的一个示例。
[图6]
图6是将嵌套优化问题变换成凸/二次规划并标识经受互补性约束的一阶最优性条件的例示图。
[图7A]
图7A示出了根据一些实施方式的机器人操纵的示例场景的示意图。
[图7B]
图7B示出了根据一些实施方式的滑块-推杆(slider-pusher)系统在存在障碍物的情况下的示例场景。
[图7C]
图7C示出了根据一些实施方式的避碰问题的公式化的示意图。
[图7D]
图7D例示了根据一些示例实施方式的用于使用机器人来控制物体的示例方法。
[图8A]
图8A是例示根据本公开的一些实施方式的被用于实现与机器人装置相关联的一些方法的一些步骤的流程图。
[图8B]
图8B描绘了包含根据一些实施方式操作的机械手的示例性完整推车。
[图9]
图9是例示根据本公开的一些实施方式的、被用于实现一些方法的数据处理系统的一些组件的框图。
[图10]
图10是根据一些实施方式的、被用于实现与机器人装置相关联的轨迹控制器的一些模块的流程图。
[图11]
图11是例示根据本公开的一些实施方式的、被用于实现一些方法的一些组件的框图。
[图12]
图12是例示根据一些实施方式的使用机械臂的控制系统的示例的图。
[图13]
图13示出了根据一个实施方式的系统的示意图。
具体实施方式
本文所描述的示例实施方式针对用于控制和优化被配置成沿易于碰撞的轨迹移动的物体的系统和方法。随着时间的推移,与日常物体相关联的多个任务的自动化已经增加了许多倍,并且当今的自动化系统已经渗透到日常生活中以致于它们几乎在各处与人类共存。通常,某些自动化系统在高度杂乱的环境中操作,其中执行任务高度约束于对周围环境的理解。特别地,这种环境通常包括大量障碍物,并且需要在这些障碍物存在的情况下执行任务,同时避免与这些障碍物接触。就此而论,执行任务的目的转化成在不与障碍物碰撞的情况下执行任务,而同时实现所希望的任务目的。此外,出现了这样的场景,其中横越障碍物同时确保避碰需要生成最优轨迹以执行所希望的任务。这些任务的示例包括机器人操纵任务(自动化组装、机器人装配(robotic kitting)等)、车辆的自动化泊车、无人驾驶飞行器的自动化监视和投递等。
在机器人操纵任务的背景下,一个或更多个机器人在这种杂乱的环境中执行操纵任务。机器人系统可以包括包含末端执行器或夹具的机械臂,该机械臂被用于包括抓握、拾取、或移动物体的应用。例如,可以将机器人装置用于完成任务或一系列任务。这样的任务可以包括移动物体,使得机器人系统可以基于给定的关于物体位于环境内什么位置的知识来引导机械臂拾取该物体。通常,针对机械手的臂的控制输入是:机器人必须在各个关节(joint)处施加电动机转矩以从初始姿势移动成所希望的姿势。
操纵问题是机器人必须规划和控制与外部环境的希望接触序列以便实现正被操纵的物体的所希望配置的问题。这些任务的规划需要具有接触的轨迹优化,同时还避开环境中的障碍物。一些示例实施方式公开了一种用于计算服从接触动力学并且避免碰撞的轨迹的新颖方法。特别地,一些示例实施方式使用互补性约束来对接触和避障两者建模。这允许在统一框架中规划机器人操纵任务。具有较小修改的类似方法可应用于其它应用领域,诸如自动化泊车、UAV的自动化飞行等。
一些示例实施方式消除了常规方法的缺陷,并且能够通过减少在最优轨迹的计算中所作出的假设的量,来更高效地处理受控物体与障碍物之间的避碰,以及障碍物或受控物体之间的避碰。一些示例实施方式基于这样的实现,即,可以将全维度障碍物和受控物体建模为诸如椭圆体或多面体之类的任何凸体。另外,一些示例实施方式基于平滑的并且可以使用通用非线性规划(NLP)算法来处理的方法。
本文所公开的示例实施方式涉及在存在接触和障碍物的情况下规划物体控制任务的问题。对多个物体之间的摩擦接触的建模由于相接触的物体的摩擦和刚性而导致不平滑的动力学。这些非平滑现象可以使用互补性约束进行数学表达。在存在障碍物的情况下对具有摩擦相互作用的物体的控制是具有挑战性的。使用互补性约束对避碰问题建模。在示例实施方式的几个有益方面中,一些包括对变得可微分的避碰问题的公式化,并且允许使用NLP解算器,并且对于物体-静态障碍物和物体-物体避碰的情况,处理是相同的。当以复数形式使用时,术语“物体”还可以指静态障碍物。在随后的部分中特别参照附图,更详细地描述这些和多个其它方面。
图1A是例示根据一些实施方式的轨迹优化问题的概况的图。物体10将被控制,例如由机械手20操纵。物体控制要以这样的方式来规划,即,使得物体10的轨迹30避免与也可能存在于物体10的环境中的一个或更多个障碍物40的任何接触/碰撞。物体10的轨迹可以包括多个状态(Ci、C1、C2、Cf),其中各个状态皆指定物体10的特定位置、取向、以及形态(form)。在这点上,物体10的轨迹30可以限定物体10在两个或多个状态之间过渡所采取的路径。轨迹30还可以对应于由控制器(诸如与机械手20相关联的控制器)要对物体10执行的一组控制。所述一个或更多个障碍物40可以是物体10的环境中的其它物体,诸如主体、生物、针织可能是限制由物体10穿行的空间。为了优化诸如轨迹30的轨迹,控制器生成状态和输入序列,以在遵守系统的所有约束的同时优化所希望的目标函数。避开障碍物的要求导致了一组非凸约束,并且对该组非凸约束的连续时间动力学系统的优化成为难以解决的问题。在轨迹优化期间,需要实施由于避障而造成的非凸约束。
对被配置用于移动物体的机械手的运动规划是许多机器人过程中的循环组件。例如,一些运动规划练习是,对于机械手,通过将整个问题分解成两个步骤:运动学规划和轨迹跟踪,来从开始状态达到目标状态。然而,将该问题分成两个步骤就最优性而言限制了可以获得的解的质量。具体地,当同时求解该问题时,施加优化算法以找到使工作量最小化的解,同时遵守机器人系统上活动的所有约束。在许多有益的方面当中,经最小化的工作量导致处理需求的显著降低,这进而使整个过程的资源消耗更少。这又使该过程可在低成本和资源较少的处理器上执行,从而增加了将该过程应用于诸如自主驾驶、自动泊车、无人机等领域的可能性,而在这些领域中机载资源可用性总是稀缺的。
一些示例实施方式基于这样的实现,即,轨迹优化是生成状态和输入序列以在遵守系统的所有约束的同时优化所希望的目标函数的过程。一个实验包括用于轨迹优化的轨迹规划方法,其配置轨迹规划以使用将问题分解成运动学规划,其随后是动力学规划。建立运动学规划以在机器人的配置空间中设置路径,同时检查与环境中存在的障碍物的可能碰撞。然而,在实验期间的多个测试经常导致一个或多个不可行的轨迹,这些轨迹是次优的并且稍后被认识到对于动力学是不可行的。所获得或学到的是,因为运动学规划模块没有考虑动力学,这导致规划模块不知道系统的动力学和控制饱和限制。这导致轨迹使系统的控制限制变饱和或者导致动力学上不平滑(即,机器人在移动期间经常经历非常高的加速度),而这被证明是所不希望的。因此,本公开的实现是并入几何约束以及状态和输入约束来自动生成机器人系统的无碰撞、最优轨迹是高度希望的。这种实现另外允许进行轨迹优化而不需要机器人与障碍物之间的碰撞检查,因为这种碰撞检查在优化期间被实施为约束。
一些示例实施方式基于这样的实现,即,在存在状态约束和控制约束的情况下的大多数轨迹优化问题可以使用非线性优化技术来求解。然而,在环境中存在障碍物的情况下,由于机械手的臂的移动而强加的几何约束导致非凸的、不可微分的约束,这是因为最小函数通常在数学上是不可微分的。为了避免与障碍物的碰撞,优化算法需要确保在连杆的运动期间各个连杆与所有障碍物的最小距离总是正的。
因此,一些实施方式通过使用由非线性目标函数120限定的通用非线性规划(NLP)110对优化问题进行求解来确定运动轨迹,该非线性目标函数在经受非线性约束130的情况下进行最小化,其中,判定变量位于指定的区间(interval)或集合140中。通过最小化经受非线性约束130的目标函数120,在指定边界140内获得最优判定变量。一些实施方式的目的是向NLP 110提供微分解。
图1B是例示使用一些实施方式的原理在平面中进行轨迹规划的示例的示意图。例如,可以通过假设物体在一个方向(比如说y方向)上的运动是固定的,而在另一正交方向(比如说x方向)上的运动需要进行优化来解决优化问题。这种假设导致消耗更多时间和资源的迭代过程,并且不适合于关键任务的应用。举例来说,如在图1B的示例中示出,位置106的x运动必须满足避障约束,因此该位置在x方向上的运动被限制到短水平区段121,该短水平区段经过位置106并且被界定在两个障碍物104与105之间。
相应地,x坐标xi必须停留在区间107或中,该区间是区段121在x轴上的投影。因此,在沿着x轴的运动的规划期间,避障约束在xi处局部地实施为这是对xi的凸约束。通过针对所选择的位置中的各个位置执行相同的操作,将避障约束在针对x运动的运动规划中转换成凸约束。
然而,本文所公开的示例实施方式利用最小距离约束,而不是同时考虑物体沿着两个轴的移动。这种距离约束将不可微分约束引入到轨迹优化问题中。在一些场景中,最小距离约束可以是至多一次可微分的,在最小元是唯一的时候也是可微分的。然而,在将物体建模为多面体时,无法保证最小元的唯一性。举例来说,如图1B所示,当考虑障碍物的精确几何形状而不是将它们视为点质量(point mass)时,两个障碍物104与105之间的距离(被示为双端箭头)不是唯一的。出于类似的理由,当要操纵的物体的轨迹103在两个障碍物104与105之间经过时,物体与障碍物104、105中的任一障碍物之间的距离不一定是唯一的。
因此,用于求解使用最小距离约束限定的轨迹问题的NLP解算器110的可用性由于这些约束的不可微分性以及这些约束的最小元的非保证唯一性而成为问题。一些示例实施方式将不可微分的基于约束的问题变换成具有唯一最小元的可微分的、基于互补性条件的优化问题。
一些实施方式基于这样的认识,即,如果物体的点之间的距离被表示为其所有点之间的差的距离函数,则物体之间的最小距离对应于该函数的平稳点。如本文所使用的,一个变量(诸如距离)的可微分函数的平稳点是该函数的曲线图上的这样的点,其中该函数的导数沿着可行的运动方向是非负的。这种距离函数的每一个一阶平稳点是最小元(minimizer),并且距离函数的模糊性表明这种函数可以具有多个平稳点。在任何情况下,根据这种公式化,可以通过这种距离函数的一阶平稳条件的解来替换最优最小化问题。有利地,可以以可微分的方式找到这种解,从而确保允许各种非线性规划算法的适用性。
一些实施方式基于另一实现:可以将控制下的物体的形状和可造成碰撞的障碍物的形状表示为凸包,使得这些物体中的各个点皆是对应包的顶点的非负权重的向量。有利地,这种表示允许将这些向量的权重与物体的状态分离。具体地,由凸包表示的物体的位置取决于状态,但是限定凸包中的不同点的权重本身与状态无关。这样的表示使物体的点与障碍物的点之间的距离的公式化成为凸问题,在该凸问题中,需要将权重落在单形体上。单形体是其元素、权重是非负的并且总和为一的凸集。最小距离优化的凸性允许使用经受互补性约束的一阶平稳条件来重新公式化。
以这样的方式,一些实施方式将NLP 110的嵌套优化问题变换成单个优化问题115,该单个优化问题经受关于使用互补性约束对物体的凸包与障碍物的凸包之间的最小距离进行建模的一阶平稳条件的解的约束。将对最小距离的约束表示为一阶平稳条件的解使这种表示可微分,但是可能需要将优化问题115的解公式化为具有互补性约束的数学规划(MPCC)。
换句话说,具有互补性约束的NLP是MPCC。互补性约束是被映射到要求g(x)=0或者h(x)=0的标量集的函数g(x)≥0,h(x)≥0之间的数学关系。这被紧凑地表示为g(x)≥0⊥h(x)≥0。如果函数g(x),h(x)是具有相等维数的向量函数,则标记法g(x)≥0⊥h(x)≥0被理解为对于第i个分量gi(x)≥0⊥hi(x)≥0中的每一者都成立。
图2A示出了根据一些实施方式的用于控制执行任务的物体的运动以在避免该物体与障碍物碰撞的同时从开始状态到结束状态改变该物体的状态的方法200的框图。该方法由控制器执行,该控制器使用与所存储的实现该方法的指令联接的处理器,其中,该指令在由处理器执行时执行该方法的步骤。
该方法包括以下步骤:获得201指示物体和障碍物的动力学的数据和几何形状。可以经由本领域中可用的有线或无线通信来接收数据201。例如,物体的动力学可以包括一组方程,该组方程描述响应于施加物体的致动器的一个或更多个力而改变物体的状态。这些动力学允许规划由致动器(诸如电动机或者机械臂的机械手)致动的物体的运动。
在各种实施方式中,障碍物可以是静态的或移动的。静态障碍物的动态指示障碍物的固定姿势。静态障碍物的动态指示将障碍物的状态限定为时间函数的障碍物的轨迹。以这样的方式,在规划物体的最优轨迹方面,优化解算器可以考虑障碍物的动力学。
物体和障碍物的几何形状指示物体和障碍物的凸包。凸包可以作为几何形状的部分而被接收或者基于几何形状而计算。在一些实施方式中,几何形状包括三维(3D)信息。凸包的形状的示例包括多面体。将物体和障碍物的几何形状表示为凸包允许将凸包内的点限定为物体的凸包的顶点和障碍物的凸包的顶点的加权组合。这种表示允许对物体和障碍物的凸包的顶点的权重施加互补性约束,从而以与物体和障碍物的状态分离的方式实施最小距离。
接下来,该方法求解202物体的动力学的优化问题以生成用于执行该任务的最优轨迹,该优化问题经受关于使用互补性约束对物体的凸包与障碍物的凸包之间的最小距离进行建模的一阶平稳条件的解的约束。在一些实现中,因为由互补性约束支配的权重独立于物体的状态以及障碍物的状态,所以优化问题通过根据物体和障碍物的对应状态改变物体的凸包的顶点的位置以及障碍物的凸包的顶点的位置,来对最小距离进行建模。
在不同的实施方式中,优化问题的解优化这样的目标函数,即,该目标函数限定最小时间问题、物体操纵问题或者该目标函数的数学结构中的一个或更多个。在这些实施方式中,由于互补性约束,致使NLP解算器110变换成MPCC 115,以避免嵌套优化问题。
接下来,该方法根据优化轨迹控制203物体的运动。例如,为了控制物体的运动,将控制器配置成生成控制命令,该控制命令引导致动器移动物体以遵循最优轨迹。另外,还可以将控制器可配置成使致动器生成最优轨迹力。
将嵌套优化问题变换成单个优化问题需要更少的迭代,与嵌套问题所消耗的资源相比,这又消耗更少的资源。因此,一些示例实施方式导致更快的优化过程,对于该优化过程所实现的一些有益方面包括在执行该过程时在总体资源消耗、CPU时间、以及时钟周期方面的显著改进。当优化问题被实现为资源稀缺应用(诸如自主驾驶、机器人、无人机等)的一部分时,这样的技术益处被进一步放大并得以变换成更实际的益处。
图2B例示了根据一个实施方式的用于求解优化202的优化解算器的顺序工作流。在本实施方式中,即使将物体和障碍物建模为多面体,控制器50也使用诸如NLP解算器210之类的NLP解算器来求解轨迹优化问题。控制器50可以是在物体上执行任务或者使用该物体执行任务的机器的一部分。例如,控制器50可以驻留在对物体执行机器人操纵的机器人上。另选地,控制器50可以驻留在执行自动化泊车的车辆上或者驻留在执行自动化监视、投递等的UAV上。在每个这样的示例应用中,控制器50对物体执行控制,例如,在一些情况下,控制可以是如在机械手的情况下的基于接触的操纵,或者如在车辆的情况下,对物体的运动的基于非接触的控制。因此,对物体的控制可以被认为是针对执行所希望的任务。各个这样的任务皆可以具有与其相关联的一个或更多个目标函数。
NLP解算器210可以驻留在与控制器50相关联的存储器中,并且可以由控制器50按需调用。在这点上,图2例示了控制器50的NLP解算器的顺序工作流。
NLP解算器210把物体的动力学描述220、互补性变量230、碰撞变量240、以及对所希望的任务或目标函数250的限定作为输入(在几件事情当中)。动力学描述220可以限定一组方程,该组方程描述物体在经受一个或更多个力时如何移动。即,动力学的描述可以限定物体的动态行为。控制器50可以经由接口从用户接收动力学的描述。另选地,控制器50可以从存储这种信息的数据库获得对动力学的描述。
目标函数250限定与任务相关联的最终用户的目标。例如,目标函数可以限定与任务相关联的最小时间问题、物体的目的地位置,或者在一些情况下,另外限定(二次或非线性)目标函数的结构。由非线性优化规划解算器提供的输出是最优轨迹,即,物体的状态和控制输入的序列,该控制输入可以包括要向待操纵物体施加或应用的力或转矩260。因此,控制器50可以使用所生成的最优轨迹力260的值来控制物体(在这种情况下是物体的运动),同时避免与障碍物104、105的碰撞。
图3A示出了根据一些实施方式的用于对物体与障碍物之间的最小距离施加互补性约束的原理的示意图。一些实施方式基于这样的认识,即,限定物体和/或障碍物的实际形状的几何形状330可以是凸的或者也可以不是凸的。在形状是凸的时候,最后所得到的优化问题可能也不是凸的,并且求解非凸优化是有挑战性的。
为此,一些实施方式以凸形状来封闭340物体和障碍物的实际形状,并且限定相对于这些凸形而不必是物体和障碍物的实际形状来实施最小距离的互补性约束350。以这样的方式,由经受互补性约束的一些实施方式求解的最后所得到的优化问题是凸的。
图3B和图3C示出了根据一些实施方式的用于使用图3A的原理执行对物体的控制的原理的示意图。例如,在图3B的实施方式中,物体和障碍物的凸形状中的每一个皆为由限定物体的凸包内的点的一组不等式以及限定障碍物的凸包内的点的一组不等式所限定的凸包,并且其中,互补性约束被强加于物体的一组不等式以及障碍物的一组不等式,以实施物体与障碍物之间的最小距离。
在本实施方式中,物体的凸包由一组凸非线性不等式表示312:
Oi(t)={q|gi(q,x(t),y(t))≤0},Oj(t)={q|gj(q,x(t),y(t))≤0},
其中,gi表示一组ngi不等式和ngj不等式。这样的表示具有提供物体的凸包的更紧密表示的优点。通过一阶平稳条件转换等式(1)中的优化问题的方法也可以应用于该技术中,因为非线性约束gi,gj是凸的。
例如,(1)的最小化问题可以等效地形成(posed)316为:
(6)的最优解q* ij,i和q* ij,j分别是物体i;j中的给出物体之间的最短距离的点。(6)中的优化问题是凸问题。(6)的每一个一阶平稳点都是最小元。
使用限定凸体的约束的凸性,(6)中的优化公式可以使用其一阶平稳条件来形成。因此,在318,控制器50通过将凸规划替换成其一阶平稳条件,经由其一阶平稳条件强加(6)。这导致互补性条件318。例如,通过其一阶平稳条件强加(6)给出了:
1.
2.
3.gij,i(qij,i,x(t),y(t))≤0⊥λij,i≥0 (7c)
4.gij,j(qij,j,x(t),y(t))≤0⊥λij,j≥0 (7d)
其中,λij,i,λij,j是(6)中的不等式约束的乘数。
对应优化问题的上述公式化考虑了物体的动力学,并且这样的公式化导致具有互补性约束的数学规划(MPCC)。这样的公式化使优化问题变平滑,而这原本是不可微分的。可以将间隔(separation)要求建模为:
参数€>0是被包括以致使约束(8)在各处可微分的小常数。对于所有i<j;以及i;j€{1、……、nO},通过约束(7a-7d)和(8)来对nO个物体之间的间隔要求建模。
图3C示出了根据另一实施方式的由控制器50所采用的用于执行对物体的控制的原理的示意图。在本实施方式中,物体的凸形状和障碍物的凸形状中的每一个为由一组顶点限定的多面体,其中,物体的多面体内的点被限定为物体的多面体的顶点的加权组合,其中,障碍物的多面体内的点被限定为障碍物的多面体的顶点的加权组合,并且其中,互补性约束被强加于物体的多面体的顶点的权重以及障碍物的多面体的权重,以实施物体与障碍物之间的最小距离。这是有利的,因为为任意物体找到凸多面体是计算上高效的任务。
在302,控制器50使用封闭多面体对所关注空间中的各个物体的物体范围进行建模。在这点上,控制器50可以采用任何合适的成像和关联的图像处理技术来将多面体限定为有界多面体。即,将控制器50以通信方式联接至一个或更多个适当的设备(诸如成像设备),该设备为所关注空间中的各个实体提供这种封闭多面体的实现。所关注空间中的各个实体皆可以使用单独的封闭多面体来进行建模。
图4例示了使用多面体来将物体和障碍物参数化的一个示例。物体或障碍物内部的每一个点皆可以按照封闭该物体或障碍物的多面体的顶点来表达。为了便于例示,物体和障碍物可以同样的方式处理,因此对物体的阐释也同等地适用于障碍物。考虑具有沿着x轴的第一尺寸为2l以及沿着y轴的第二尺寸为2w的矩形物体,假设中心在xy平面中具有坐标(xc,yc)。在这样的情况下,物体的顶点将分别具有处于xy平面的四个象限中的坐标(xc+l,yc+w)、(xc-l,yc+w)、(xc-l,yc-w)、以及(xc+l,yc-w)。因此,物体内部的点可以按照封闭多面体的顶点来表达,并且物体可以被建模为连续的质量体而不是近似为点质量。
以上描述讨论了以二维对物体和障碍物的建模。然而,本文所公开的示例实施方式还基于这样的实现,即,物体和障碍物的范围被建模为三维(3D)的多面体并且由该多面体的顶点集合来指定。令nO表示物体的数量。对于i=1、……、nO,在时间t处界定物体的多面体由Oi(t)表示。控制器50例如从用户获得矩阵Vi(x(t),y(t))∈R3×nvi,其中,列表示多面体Oi(t)的nvi个顶点的坐标。多面体Oi(t)为:
Oi(t)={q|q=Vi(x(t),y(t))α,1T nviα=1,α≥0}
其中,1nvi∈Rnvi是所有一的向量,并且α∈Rnvi是生成顶点的凸包的非负向量。通过Vi对x(t)、y(t)的函数依赖性,来建模坐标的顶点对物体的位置、取向的依赖性。应注意,静态障碍物的顶点坐标独立于x(t)、y(t)。其中物体与静态障碍物的处理之间存在差异。
图5A、图5B、图5C、以及图5D例示了根据一些实施方式的按照多面体的顶点对物体的任何点的参数化的一些示例。特别参照图5A,矩阵V表示封闭物体的长方体形多面体的顶点,其中,qab对应于平面a中的顶点vb的坐标。在各个顶点的坐标方面,矩阵V被表示为:
如图5B所示,位于立方体的边缘上(在两个顶点之间)的点可以被表示为:
其中,α5,α6≥0,α5+α6=1
在矩阵V方面,点还被写为:
其中,α5,α6≥0,α5+α6=1
当点位于长方体形多面体的面上时,可以通过考虑该面的所有顶点来扩展上述参数化。在图5C所示的示例中,由于点位于由顶点v1、v2、v5、以及v6所限定的面上,因此,点可以被表达为:
其中,α1,α2,α5,α6≥0,α1,α2,α5+α6=1
按照矩阵V重写点将点表示为:
其中,α1,α2,α5,α6≥0,α1,α2,α5+α6=1
最后,当点位于多面体内部时,如同图5D所表示的情况那样,点按照多面体的顶点的表达变为:
其中,
按照矩阵V重写点将点表示为:
其中,
因此,以这种方式,可以将多面体内部的所有点参数化为封闭物体的多面体的顶点的凸组合。
一对物体Oi(t)与Oj(t)之间的避碰要求这两个物体之间的最短距离大于容限(tolerance)∈。返回参照图3,在304,控制器50确定所关注空间中的物体之间的最小距离。考虑两个物体i,j∈{1、……、nO},在时间t处的物体之间的距离为:
min||qi-qj||2使得qi∈Oi(t),qj∈Oj(t)。 (1)
如果两个物体之间所需的最小间隔为€ij>0,则将距离约束建模为:
||qi-qj||>€ij (2)
其中,qi和qj满足上述最小距离条件(1)。
在(1)的最小元是唯一的时候,上述公式化是至多一次可微分的。然而,如上所述,在将物体建模为多面体时,无法确保唯一性要求。结果,(2)中的公式化不能被直接提供给NLP解算器。
为了通过NLP解算器求解公式化,控制器50将内部优化问题变换成凸/二次规划。为此,在306,控制器50将物体之间的最小距离公式化为凸优化问题(确定物体之间的最小距离的二次规划(QP))。例如,(1)的最小化问题可以等效地形成为:
其中,αij;i和αij;j是表示对物体i、j进行界定的多面体的顶点的凸组合的变量。在(3)的最优解α* ij;i和α* ij;j处,点Vi(x(t),y(t))α* ij;i和Vj(x(t),y(t))α* ij;j分别是物体i;j中的给出物体之间的最短距离的点。(3)中的优化问题是凸问题。(3)的每一个一阶平稳点都是最小元。
使用限定凸体的约束的凸性,(3)中的优化公式化可以使用其一阶平稳条件来形成。因此,在308,控制器50通过将QP替换成其一阶平稳条件,经由其一阶平稳条件强加(3)。这导致涉及权重的互补性条件。例如,通过其一阶平稳条件强加(3)给出了:
其中,βi、βj是(4c)中的等式约束的乘数,并且vi;vj是针对αij;i;αij;j的非负边界的乘数。
对应优化问题的上述公式化考虑了物体的动力学,并且这样的公式化导致具有互补性约束的数学规划(MPCC)。这样的公式化使优化问题变平滑,而这原本是不可微分的。可以将间隔(separation)要求建模为:
参数是被包括以致使约束(5)在各处可微分的小常数。对于所有i<j;以及i;通过约束(4a-4e)和(5),来对no个物体之间的间隔要求建模。
在310,控制器利用(4a)至(4e)中限定的约束,并将这些约束添加至“用于确定控制的优化问题”以获得可微分公式。可以将平滑问题馈送至被存储在与控制器50相关联的存储器中的NLP解算器,并因此可以确定操纵物体所需的轨迹力的值。这样,示例实施方式通过降低问题的复杂性而在处理速度方面提供了优点。由于避碰问题的平滑化,致使计算力的值所花费的时间显著减少。这种在计算时间方面的减少对控制物体的总体过程具有深远的影响。因此,示例实施方式导致诸如机械手的自动化装置的显著改进。
图6是将嵌套优化问题变换成凸/二次规划并标识经受互补性约束的一阶最优性条件的例示图。在该示例中,物体610与620之间的距离630被从内部优化640变换660成互补性约束650。以这样的方式,避免了嵌套优化问题。
将嵌套优化问题变换成单个优化问题需要更少的迭代,与嵌套问题所消耗的资源相比,这又消耗更少的资源。因此,一些示例实施方式导致更快的优化过程,对于该优化过程所实现的一些有益方面包括在执行该过程时在总体资源消耗、CPU时间、以及时钟周期方面的显著改进。当优化问题被实现为资源稀缺应用(诸如自主驾驶、机器人、无人机等)的一部分时,这样的技术益处被进一步放大并得以变换成更实际的益处。
此外,一些示例实施方式导致在准确度方面更好的经优化轨迹,因为问题的潜在变换由于引入约束的平滑度而不必进行更多假设或近似。这是因为将约束表达为互补性条件允许我们使用定制的松弛,该定制的松弛允许使用常规的优化算法来鲁棒地求解,并因此导致更高质量的解。
一些实施方式基于这样的理解,即,避免碰撞的控制优化可以有用于许多控制应用,诸如执行组装的机器人、停放或控制自主汽车、无人机的自主运动。特别地,一些实施方式基于这样的实现,即,在机器人应用中,利用互补性约束来公式化避碰问题可以是特别有益的。大多数机器人应用的特征在于存在受约束的环境,同时处理有挑战性的潜在现象,比如单侧接触、摩擦接触、撞击、以及导致富接触多体相互作用的变形。这些富接触多体摩擦相互作用系统通常由可以使用互补性条件表达的非平滑动力学来描述。因此,当避碰也由互补性约束来公式化时,这样的公式化允许以统一的方式处理接触和避碰。
图7A示出了根据一些实施方式的机器人操纵的示例场景的示意图。该图示出了推杆-滑块系统701a的示意图。推杆770a可以是机器人末端执行器或者被附接至机器人末端执行器的工具。通过沿着推杆与滑块710a之间的接触表面的法线轴790a和切线轴780a施加力fn 740a和ft 750a,该推杆与滑块相互作用。在全局参考系Fw 760a中测量滑块710a的状态(x,y,θ)730a。在滑块的参考系Fb 720a中测量推杆770a的位置。推杆-滑块系统的动力学模型被示出为示意图711a。将动力学方程表示为微分方程712a,如其中,x713a表示系统的状态,被给出为x=[x,y,θ,py]T;以及控制输入u 714a由给出。互补性条件721a由于库仑摩擦的性质而出现。根据库仑摩擦定律,滑块和推杆保持在粘附接触(sticking contact)模式,即,只要|ft|≤μpfn,就其中,μp是滑块与推杆之间的摩擦系数。仅在ft=±μpfn时,推杆才可以与滑块保持滑动接触。这些条件可以被表达为如由722a、723a、以及724a给出的、互补性变量fn,ft之间的互补性条件721a。
互补性变量230可以限定有助于描述物体的动力学的参数,该动力学可能由于像接触或任何其它不连续性这样的现象而出现。这些变量之间的关系是互补性约束。这些互补性约束需要由用户使用编程接口提供给控制器。碰撞变量240是可能存在于物体环境中的障碍物的顶点。这些通过一些像摄像机或激光雷达(lidar)的传感器提供给用户,这些传感器可以映射物体的环境。
图7B示出了根据一些实施方式的滑块710b-推杆720b系统在存在障碍物760b和770b的情况下的示例场景。该示意图示出了可能的最优轨迹740b,其包括推杆的状态序列730b。除了轨迹740b之外,优化器还找到滑块的表面上的控制力和推杆速度的最优序列。
图7C示出了根据一些实施方式的避碰问题的公式化的示意图。避碰问题的目的是生成最优的无碰撞轨迹710c。本公开中呈现的公式化考虑了物体750c和障碍物740c的多面体表示770c。可以使用障碍物和物体的多面体表示,将最小距离函数730c公式化为二次规划。使用一阶平稳条件重新公式化720c产生互补性条件,其然后可以通过本公开中所描述的优化问题来鲁棒地解决。
图7D例示了根据一些示例实施方式的用于使用机器人来控制物体的示例方法。在702d,该方法包括:接受包括机器人状态的值、待操纵的物体的姿势、环境中的障碍物的位置、以及正被操纵的物体的目标姿势的数据。这些数据中的一些(例如,待操纵的物体的姿势、障碍物的位置)可以作为物体及其周围环境的三维信息来获得。物体的目标姿势可以与目标函数一起提供,例如,由用户提供,或者可以在数据库中预先定义。
在704d,该方法包括:使用障碍物的形状和顶点的知识,来将该障碍物建模为多面体。使用在702d处接受的数据,可以按照参照图5A至图5D描述的例示性方案来建模障碍物。可以相应地限定所述多面体中的各个多面体内部的所有点的状态矩阵。
在706d,该方法包括:接受在存在障碍物的情况下待操纵的物体与其环境的相互作用的动力学模型、以及比如摩擦的其它参数。如前所述,待操纵的物体的动力学的描述可以由用户提供,或者可以由机械手从数据库中取得。
在708d,避碰约束可以被接受为线性互补性约束。例如,公式化(1)和(2)可以被确定为避碰约束。在710d,可以使用线性互补性约束来接受关于基于接触的系统的描述。即,可以将最小化问题重新形成为考虑了多面体的顶点的参数化的公式化(3)。
在712d,该方法包括:使用适当的目标函数、机器人以及正被操纵的物体的对应状态约束和控制约束来接受系统的所希望行为的规范。目标函数可以限定与任务相关联的最小时间问题、物体的目的地位置,或者在一些情况下,另外限定目标函数的结构(二次或非线性)。
在714d,该方法包括:使用所提出的数学规划方法(参照图3)来求解用于避碰的优化问题,以获得机器人的状态和控制序列。非平滑优化问题使用一阶平稳条件进行变换,然后按照公式(5)求解,以获得机器人的状态和控制序列的值。
在716d,该方法包括:在机器人系统(机械手)上实现所获得的控制命令,以操纵物体而不与任何障碍物碰撞。
图8A是例示根据本公开的一些实施方式的被用于实现与机器人装置相关联的一些方法的一些步骤的流程图。
在一些实施方式中,轨迹控制器包括经由通信信道144通信的轨迹生成器142和控制模块146。使用像RGB-D摄像机和/或激光雷达的传感器来感测机器人的静态/动态障碍物以及工作空间。轨迹生成器142是计算机软件,其使用来自环境传感器的传感器数据141以及约束集143(机器人的动力学以及机器人的控制和状态限制)来优化目标函数145。目标函数145在数学上反映机器人的目标。通常,机器人的目标函数被限定为在针对轨迹的状态和输入序列上经用户限定的成本的总和。更具体地,对于轨迹xT={,x1,…,xT}、uT={u0,u1,…,uT-1},将目标函数145写为J=∑k c(xk,uk),其中,c(xk,uk)表示离散时间实例k处的状态和控制的成本函数。轨迹生成器通过使用目标的梯度以及沿着轨迹的各个配置点(collocation point)处的约束来优化该函数。并且生成最优轨迹144该轨迹然后传递至控制模块146,该控制模块然后经由通信信道151与机器人的关节的电动机控制器152通信。然后,当通过信道153与电动机控制器通信时,该电动机控制器通过在机器人的每一个关节处生成所希望的转矩157来控制机器人的关节。机器人的状态是由控制模块利用机器人的每一个关节处的编码器使用通信信道159来监测的。
图8B描绘了包含根据一些实施方式操作的机械手的示例性完整推车。在一些实施方式中,具有可移动推车832的机器人802具有机械臂822,该机械臂具有安装在推车832上的连杆823、825和夹具827。夹具827可以夹取环境内的物体。推车832可以包含一个或更多个轮811、812,这些轮可以是以两个自由度操作的完整轮。在另一些实施方式中,在完整推车832上可以包括围绕前传送带813的罩子(wrap)。在一些示例中,当从卡车集装箱或托盘(未示出)卸载箱子或将箱子装载到卡车集装箱或托盘上时,围绕前传送带813的罩子可以允许机器人802不必将其夹具827向左或向右旋转。机械系统可以包括多个组件,这些组件包括机械臂822、夹具827、传送带813、(可移动的或完整的)推车832、以及一个或更多个轮811、812。感测系统可以具有被附接至机械臂822的一个或更多个传感器,诸如随着机械臂822的移动而感测关于环境的信息的2D传感器和/或3D深度传感器(未示出)。此外,灯837可以位于推车832或夹具827的前面、侧面、后面、下面或任何地方。
图9是例示根据本公开的一些实施方式的、被用于实现一些方法的数据处理系统的一些组件的框图。
例如,数据处理系统900可以包括与一个或多个传感器972通信的硬件处理器971,该传感器收集包括环境973数据的数据。传感器数据可以包括与机器人、车辆、机器等相关的数据,以及类似类型的数据或者与具有非线性约束的动力学系统的轨迹优化技术相关联的数据。此外,传感器972可以将视频或摄像机输入转换成信号数据。硬件处理器971可以与计算机存储器(即,存储器1579)通信,使得存储器979包括所存储的可以由硬件处理器971实现的包含算法、指令以及其它数据的数据。例如,在存储器中所存储的可以包括多连杆(multi-link)动态模型、非线性规划以及目标函数。
仍参照图9,可以将传感器数据存储在存储器979中,该传感器数据可以经由有线连接或无线连接从环境中的至少一个传感器获得,该传感器数据经由被配置成输出数据和接收数据的收发器存储在存储器中,使得在各个时间间隔之后,由所述至少一个传感器对传感器数据进行更新。另外,在存储器中所存储的可以是机器人、车辆以及机器的操作和动力学数据,该数据可以包括:机械臂信息,该机械臂信息包括允许模拟机械臂移动的机械臂模型;以及操作控制输入,诸如由电动机经由机器人驱动施加的用于移动机械臂的各个关节的转矩。可以将软件997存储在存储器979中,诸如多连杆动态模型、非线性规划、或目标函数。所存储的数据可以包括机器人、车辆、机器等或类似类型的数据,或者与具有非线性约束的动力系统的轨迹优化技术相关联的数据。
可选地,可以将硬件处理器971连接至网络977,该网络与数据源998、计算机装置984、移动电话装置985以及存储装置986通信。还可选地,可以将硬件处理器971经由网络977连接至与客户端装置(未示出)连接的网络启用服务器(未示出)。可以将硬件处理器971可选地连接至外部存储器装置991、发送器992、以及控制器994。可以将收发器经由扩展总线接口995连接至硬件处理器971。由收发器996接收的某一类型的输出可以与用户有意关注接收以下回答相关:对关于沿着路径(从本公开的方法获得的)计算的轨迹的请求(由收发器996接收)的回答,该回答可以被显示在用户的一个或更多个显示装置(诸如监视器或屏幕)上,和/或被输入到其它计算机相关装置中以供进一步分析等。
仍参照图9,预期硬件处理器971可以取决于特定应用的要求而包括两个或更多个硬件处理器,其中处理器可以是内部的或外部的。当然,可以并入其它组件。
作为非限制性示例,网络977可以包括一个或更多个局域网(LAN)和/或广域网(WAN)。其中联网环境可以类似于企业范围计算机网络、内联网以及互联网。预期所提及的所有组件可以是在本公开的系统内采用的任何数量的客户端装置、存储组件、以及数据源。各个组件皆可以包括单个装置或者在分布式环境中协作的多个装置。此外,数据源983可以包括用于训练网络的数据资源。例如,在实施方式中,可以将训练数据存储在存储装置986中。训练数据还可以包括其它环境的信号。数据源983还可以包括用于训练网络的数据资源。由数据源983提供的数据可以包括其它数据,诸如与环境、机械臂等相对应的其它传感器相关数据。
仍参照图9,数据源983中的一些数据可以由一个或更多个反馈回路来提供。数据源的其它示例可以包括(作为示例而非限制性地)包含以下的各种源:流视频、web查询、移动装置摄像机或其它信息、网络摄像头馈送、智能眼镜和智能手表馈送、客户关怀系统、安全摄像机馈送、web文档、目录、用户馈送、SMS日志、即时通信日志、口语文字转录、诸如语音命令或数据的游戏系统用户交互(例如,数据可以包括机器人、车辆、环境等类型的数据,或者与具有非线性约束的动力学系统的轨迹优化技术相关联的数据)。所使用的特定数据源983可以基于应用来确定,应用包括:该数据是某类数据(例如,涉及与机器人、车辆、环境等数据类型相关联的阈值、性能、安全性等的数据,或者与具有非线性约束的动力系统的轨迹优化技术相关联的数据),还是本质上是通用的(非特定类的)。
第三方装置984、985可以包括包含计算机装置984或移动装置985的任何类型的计算装置。预期用户装置可以被具体实施为个人数据助理(PDA)、移动装置(诸如智能电话、智能手表、智能眼镜(或其它可佩戴智能装置))、增强现实头戴式设备、虚拟现实头戴式设备。此外,用户装置可以是膝上型电脑(诸如平板电脑)、遥控器、娱乐系统、车载计算机系统、嵌入式系统控制器、电器、家庭计算机系统、安全系统、消费电子装置、或者其它类似的电子装置。在一个实施方式中,客户端装置能够接收诸如可由本公开的方法和系统使用的音频和信息的输入数据。例如,第三方装置可以是数据(即,与机器人、车辆、环境等相关联的数据或类似类型的数据,或者与具有非线性约束的动力系统的轨迹优化技术相关联的数据)、用于接收音频信息的麦克风或线路输入、用于接收视频或图像信息的摄像机、或者用于从诸如互联网或数据源的另一源接收这种信息的通信组件(例如,Wi-Fi功能)。
仍参照图9,存储器986可以存储包括数据、计算机指令(例如,软件程序指令、例程、或服务)、和/或在本文所描述的技术的实施方式中使用的模型的信息。例如,存储装置986可以存储来自一个或更多个数据源983的数据、一个或更多个深度神经网络模型、用于生成和训练深度神经网络模型的信息、以及由一个或更多个深度神经网络模型输出的计算机可用信息。
图10是根据一些实施方式的、被用于实现与机器人装置相关联的轨迹控制器的一些模块的流程图。在一些实施方式中,轨迹控制器包括经由通信信道通信的轨迹生成器1010和控制模块1020。使用像RGB-D摄像机和/或激光雷达的传感器来感测机器人的静态/动态障碍物以及工作空间。轨迹生成器1010是计算机软件,其使用来自环境传感器的传感器数据1030以及约束集1040(机器人的动力学以及机器人的控制和状态限制)来优化目标函数1050。目标函数1050在数学上反映机器人的目标。通常,机器人的目标函数被限定为在针对轨迹的状态和输入序列上经用户限定的成本的总和。更具体地,对于轨迹xT={,x1,…,xT}、uT={u0,u1,…,uT-1},将目标函数写为J=∑k c(xk,uk),其中,c(xk,uk)表示离散时间实例k处的状态和控制的成本函数。
轨迹生成器通过使用目标的梯度以及沿着轨迹的各个配置点处的约束来优化该函数。并且生成最优轨迹1060该轨迹然后传递至控制模块1020,该控制模块然后经由通信信道与机器人的关节的电动机控制器通信。然后,当通过信道与电动机控制器通信时,该电动机控制器通过在机器人的每一个关节处生成用于跟踪轨迹的所希望转矩1060来控制机器人的关节。机器人的状态是由控制模块利用机器人的每一个关节处的编码器使用通信信道来监测的,该编码器形成传感器1030的至少一部分。
图11是例示根据本公开的一些实施方式的、被用于实现一些方法的一些组件的框图。根据本公开的实施方式,机器人装置1150包括:机械系统1160、传感器1170、控制系统1180、网络1193以及电源1195。机械系统1160包括:机械臂1161、夹具1163、以及夹具底座1165。传感器可以包括:环境传感器1171、位置传感器1173、以及速度传感器1174。控制系统包括数据处理系统1181。
图12是例示根据一些实施方式的使用机械臂的控制系统的示例的图。在下文中,将控制系统描述为被应用于机器人系统1200的示例,然而,应注意,控制系统和计算机实现方法不限于机器人系统。使用机器人控制系统1200控制机械臂1202,该机器人控制系统接收可以从外部供应给系统1260的命令或任务。命令或任务的示例可以是使用机械臂1202的夹具1212接触或抓握物体1211。机器人控制系统1260向机械手发送控制信号1270。控制信号1270可以是待施加在机械臂的关节1214、1216、1218中的每一者处的转矩,以及夹具1212的打开/关闭。使用传感器导出机器人系统的状态1215。这些传感器可以包括:在机器人的关节1214、1216、1218处的编码器、可以观察机器人环境的摄像机1210、以及可以附接至夹具1212的爪的触觉传感器。来自传感器的状态测量1215被发送至数据输入/输出单元1220,该数据输入/输出单元存储从传感器接收的数据。机器人控制系统1260被认为执行策略以实现某些任务或命令。程序1240利用来自数据输入/输出单元420的输入来确定使用控制器更新系统450对控制策略的更新。控制器更新系统450然后将经更新的策略430发送至机器人控制系统460。策略430和机器人控制系统460还可以控制夹具爪330和340的打开或关闭量。可以由控制策略430确定关闭的量或者抓握的强度。在优选实施方式中,抓握强度是根据触觉传感器360信号来确定的,该触觉传感器信号是来自传感器的状态测量415的部分。
在优选实施方式中,摄像机1210是可以供应RGB彩色图像和深度图像两者的RGBD摄像机。可以将来自RGBD摄像机的内部信息用于将深度转换成3D点云。在另一个实施方式中,摄像机可以是立体摄像机,其包括两个彩色摄像机,为此可以计算深度和3D点云。在又一实施方式中,摄像机可以是单个RGB摄像机,并且可以使用机器学习直接估计3D点云。在另一实施方式中,可以有多于一个的摄像机1210。最后,在另一实施方式中,可以将摄像机1210附接在机械臂1202或夹具1212上的某个点处。
图13示出了根据一个实施方式的系统的示意图。该系统包括车辆1301,该车辆包括被配置用于执行自动化泊车1350的处理器1302。该车辆还包括至少一个传感器,诸如LIDAR 1310和/或摄像机1320。LIDAR传感器1310是低分辨率第一传感器,而摄像机1320是高分辨率第二传感器。传感器1310和/或1320被可操作地连接至处理器1302,并且被配置用于感测指示泊车位的至少一部分的几何形状的信息。使用该信息,处理器1302确定和/或更新泊车位的地图1330。为此,处理器1302利用地图1330执行自动化泊车1350。
本公开的上述实施方式可以按许多方式中的任一种来实现。例如,这些实施方式可以利用硬件、软件或其组合来实现。当以软件实现时,软件代码可以在任何合适的处理器或处理器集合上执行,无论是在单个计算机中提供还是在多个计算机之间分布。可以将这种处理器实现为集成电路,并且在集成电路组件中具有一个或更多个处理器。然而,处理器可以利用采用任何合适格式的电路来实现。
另外,可以将本文所概述的各种方法或过程编码为软件,该软件可在采用多种操作系统或平台中的任一者的一个或更多个处理器上执行。另外,这种软件可以使用多种合适的编程语言和/或编程或脚本工具中的任一者来进行编写,并且还可以被编译为在框架或虚拟机上执行的可执行机器语言代码或中间代码。在各种实施方式中,通常可以根据需要组合或分布程序模块的功能。
另外,可以将本公开的实施方式具体实施为已经提供了其示例的方法。作为该方法的一部分执行的动作可以按任何合适方式来排序。因此,即使在例示性实施方式中被示出为顺序动作,也可以构造按与所例示相比不同的次序来执行动作的实施方式,实施方式可以包括同时执行一些动作。而且,在权利要求书中使用诸如“第一”、“第二”的序数术语来修饰权利要求元件并不通过其暗示一个权利要求元件的任何优先级、优先权、或次序超过执行方法的动作的另一次序或临时次序,而是仅仅被用作用于区分具有特定名称的一个权利要求元件与具有相同名称(处于使用的序数术语)的另一元件的标记,以区分这些权利要求元件。
尽管本公开已经参照特定优选实施方式进行了描述,但是要明白的是,可以在本公开的精神和范围内进行各种其它改变和修改。因此,所附权利要求的方面覆盖落入本公开的真实精神和范围内的所有这种改变和修改。
Claims (17)
1.一种用于控制执行任务的物体的运动以在避免所述物体与障碍物碰撞的同时从开始状态到结束状态改变所述物体的状态的控制器,所述控制器包括:至少一个处理器;以及存储器,所述存储器上存储有指令,所述指令在由所述至少一个处理器执行时使所述控制器:
获得指示所述物体和所述障碍物的动力学的数据、以及所述物体和所述障碍物的几何形状,其中,所述物体的所述几何形状包括封闭所述物体的实际形状的凸形状,并且所述障碍物的所述几何形状包括封闭所述障碍物的实际形状的凸形状;
求解所述物体的所述动力学的优化问题以生成用于执行所述任务的最优轨迹,所述优化问题经受关于使用互补性约束对所述物体的所述凸形状与所述障碍物的所述凸形状之间的最小距离进行建模的一阶平稳条件的解的约束;以及
根据所述最优轨迹来控制所述物体的所述运动。
2.根据权利要求1所述的控制器,其中,所述物体的所述凸形状和所述障碍物的所述凸形状中的每一个为由限定所述物体的凸包内的点的一组不等式以及限定所述障碍物的凸包内的点的一组不等式所限定的凸包,并且其中,所述互补性约束被强加于所述物体的所述一组不等式以及所述障碍物的所述一组不等式,以实施所述物体与所述障碍物之间的所述最小距离。
3.根据权利要求1所述的控制器,其中,所述物体的所述凸形状和所述障碍物的所述凸形状中的每一个为由一组顶点限定的多面体,其中,所述物体的所述多面体内的点被限定为所述物体的所述多面体的所述顶点的加权组合,其中,所述障碍物的所述多面体内的点被限定为所述障碍物的所述多面体的所述顶点的加权组合,并且其中,所述互补性约束被强加于所述物体的所述多面体的所述顶点的权重以及所述障碍物的所述多面体的所述顶点的所述权重,以实施所述物体与所述障碍物之间的所述最小距离。
4.根据权利要求3所述的控制器,其中,与所述物体的所述动力学相对应的所述数据包括描述响应于施加所述物体的致动器的一个或更多个力的所述物体的所述状态的变化的一组方程,其中,与所述障碍物的所述动力学相对应的所述数据包括将所述障碍物的状态限定为时间函数的所述障碍物的轨迹,其中,由所述互补性约束支配的所述权重独立于所述物体的所述状态以及所述障碍物的所述状态,其中,所述优化问题通过根据所述物体和所述障碍物的对应状态改变所述物体的所述多面体的所述顶点的位置以及所述障碍物的所述多面体的所述顶点的位置,来对所述最小距离进行建模。
5.根据权利要求1所述的控制器,其中,所述控制器被配置成将所述优化问题求解为具有互补性约束的数学规划MPCC,其中,所述优化问题的解将限定最小时间问题、物体操纵问题或者目标函数的数学结构中的一个或更多个的目标函数优化。
6.根据权利要求1所述的控制器,其中,所述控制器还被配置成接收与具有所述最小距离的避碰有关的约束,其中,与所述避碰有关的所述约束包括所述物体的路径约束以及所述物体和所述障碍物的距离约束中的一个或组合。
7.根据权利要求1所述的控制器,其中,为了控制所述物体的运动,所述控制器还被配置成生成控制命令,所述控制命令引导至少一个致动器移动所述物体以遵循所述最优轨迹。
8.根据权利要求7所述的控制器,其中,所述控制器还被配置成使所述致动器生成最优轨迹力。
9.根据权利要求1所述的控制器,其中,所述物体的所述运动是通过经由互补性约束在物体模型的主体上施加力的接触作为富接触多体相互作用来进行控制的,使得所述优化问题在经受所述多体相互作用的所述互补性约束以及关于所述一阶平稳条件的所述互补性约束的情况下来进行求解。
10.根据权利要求1所述的控制器,其中,为了控制所述物体的所述运动以实现自主组装的任务是通过使用互补性条件对不同部分之间的所希望的接触状态进行控制来执行的,并且通过对被表示为互补性条件的最小距离函数进行建模,来避免与环境的不希望的碰撞。
11.根据权利要求1所述的控制器,其中,所述物体的凸包与所述障碍物的凸包之间的所述最小距离被限定为:
min||qi–qj||2;经受qi€Oi(t)和qj€Oj(t),
其中:Oi(t)对应于在时间实例t对所述物体的所述凸形状进行建模的多面体,并且Oj(t)对应于在所述时间实例t对所述障碍物的所述凸形状进行建模的多面体。
12.一种用于控制执行任务的物体的运动以在避免所述物体与障碍物碰撞的同时从开始状态到结束状态改变所述物体的状态的方法,其中,所述方法使用与实现所述方法的所存储指令联接的处理器,其中,所述指令在由所述处理器执行时,执行所述方法的步骤,所述方法包括以下步骤:
获得指示所述物体和所述障碍物的动力学的数据、以及所述物体和所述障碍物的几何形状,其中,所述物体的所述几何形状包括封闭所述物体的实际形状的凸形状,并且所述障碍物的所述几何形状包括封闭所述障碍物的实际形状的凸形状;
求解所述物体的所述动力学的优化问题以生成用于执行所述任务的最优轨迹,所述优化问题经受关于使用互补性约束对所述物体的所述凸形状与所述障碍物的所述凸形状之间的最小距离进行建模的一阶平稳条件的解的约束;以及
根据所述最优轨迹来控制所述物体的所述运动。
13.根据权利要求12所述的方法,其中,所述物体的所述凸形状和所述障碍物的所述凸形状中的每一个为由限定所述物体的凸包内的点的一组不等式以及限定所述障碍物的凸包内的点的一组不等式所限定的凸包,并且其中,所述互补性约束被强加于所述物体的所述一组不等式以及所述障碍物的所述一组不等式,以实施所述物体与所述障碍物之间的所述最小距离。
14.根据权利要求12所述的方法,其中,所述物体的所述凸形状和所述障碍物的所述凸形状中的每一个为由一组顶点限定的多面体,其中,所述物体的所述多面体内的点被限定为所述物体的所述多面体的所述顶点的加权组合,其中,所述障碍物的所述多面体内的点被限定为所述障碍物的所述多面体的所述顶点的加权组合,并且其中,所述互补性约束被强加于所述物体的所述多面体的所述顶点的权重以及所述障碍物的所述多面体的所述顶点的所述权重,以实施所述物体与所述障碍物之间的所述最小距离。
15.根据权利要求14所述的方法,其中,与所述物体的所述动力学相对应的所述数据包括描述响应于施加所述物体的致动器的一个或更多个力的所述物体的所述状态的变化的一组方程,其中,与所述障碍物的所述动力学相对应的所述数据包括将所述障碍物的状态限定为时间函数的所述障碍物的轨迹,其中,由所述互补性约束支配的所述权重独立于所述物体的所述状态以及所述障碍物的所述状态,其中,所述优化问题通过根据所述物体和所述障碍物的对应状态改变所述物体的所述多面体的所述顶点的位置以及所述障碍物的所述多面体的所述顶点的位置,来对所述最小距离进行建模。
16.根据权利要求12所述的方法,其中,所述物体的所述运动是通过经由互补性约束在物体模型的主体上施加力的接触作为富接触多体相互作用来进行控制的,使得所述优化问题在经受所述多体相互作用的所述互补性约束以及关于所述一阶平稳条件的所述互补性约束的情况下来进行求解。
17.一种具体实施有能通过处理器执行的程序的非暂时性计算机可读存储介质,所述程序用于执行一种用于控制执行任务的物体的运动以在避免所述物体与障碍物碰撞的同时从开始状态到结束状态改变所述物体的状态的方法,所述方法包括以下步骤:
获得指示所述物体和所述障碍物的动力学的数据、以及所述物体和所述障碍物的几何形状,其中,所述物体的所述几何形状包括封闭所述物体的实际形状的凸形状,并且所述障碍物的所述几何形状包括封闭所述障碍物的实际形状的凸形状;
求解所述物体的所述动力学的优化问题以生成用于执行所述任务的最优轨迹,所述优化问题经受关于使用互补性约束对所述物体的所述凸形状与所述障碍物的所述凸形状之间的最小距离进行建模的一阶平稳条件的解的约束;以及
根据所述最优轨迹来控制所述物体的所述运动。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/333,530 | 2021-05-28 | ||
US17/333,530 US11883962B2 (en) | 2021-05-28 | 2021-05-28 | Object manipulation with collision avoidance using complementarity constraints |
PCT/JP2022/011154 WO2022249649A1 (en) | 2021-05-28 | 2022-02-25 | Object manipulation with collision avoidance using complementarity constraints |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117377560A true CN117377560A (zh) | 2024-01-09 |
Family
ID=81327322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280037362.0A Pending CN117377560A (zh) | 2021-05-28 | 2022-02-25 | 在使用互补性约束进行避碰的情况下的物体操纵 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11883962B2 (zh) |
EP (1) | EP4347193A1 (zh) |
JP (1) | JP2024517361A (zh) |
CN (1) | CN117377560A (zh) |
WO (1) | WO2022249649A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12013456B2 (en) * | 2022-07-22 | 2024-06-18 | Numerica Corporation | Multi-target detection using convex sparsity prior |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7248952B2 (en) | 2005-02-17 | 2007-07-24 | Northrop Grumman Corporation | Mixed integer linear programming trajectory generation for autonomous nap-of-the-earth flight in a threat environment |
JP5144785B2 (ja) * | 2011-04-18 | 2013-02-13 | ファナック株式会社 | ロボットの着目部位と周辺物との干渉を予測する方法及び装置 |
CN104155974B (zh) * | 2013-07-29 | 2017-05-17 | 深圳信息职业技术学院 | 一种用于机器人快速避碰的路径规划方法及设备 |
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) |
JP6879464B2 (ja) * | 2017-08-02 | 2021-06-02 | オムロン株式会社 | 干渉判定方法、干渉判定システム及びコンピュータプログラム |
US11872702B2 (en) * | 2018-09-13 | 2024-01-16 | The Charles Stark Draper Laboratory, Inc. | Robot interaction with human co-workers |
US12030522B2 (en) * | 2020-12-30 | 2024-07-09 | Zoox, Inc. | Collision avoidance using an object contour |
-
2021
- 2021-05-28 US US17/333,530 patent/US11883962B2/en active Active
-
2022
- 2022-02-25 JP JP2024513569A patent/JP2024517361A/ja active Pending
- 2022-02-25 WO PCT/JP2022/011154 patent/WO2022249649A1/en active Application Filing
- 2022-02-25 CN CN202280037362.0A patent/CN117377560A/zh active Pending
- 2022-02-25 EP EP22715787.2A patent/EP4347193A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220379478A1 (en) | 2022-12-01 |
WO2022249649A1 (en) | 2022-12-01 |
US11883962B2 (en) | 2024-01-30 |
JP2024517361A (ja) | 2024-04-19 |
EP4347193A1 (en) | 2024-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114502335B (zh) | 用于具有几何约束的非线性机器人系统的轨迹优化的方法和系统 | |
Cherubini et al. | A collaborative robot for the factory of the future: Bazar | |
Sayour et al. | Autonomous robotic manipulation: real‐time, deep‐learning approach for grasping of unknown objects | |
Ficuciello et al. | FEM-based deformation control for dexterous manipulation of 3D soft objects | |
CN107548336B (zh) | 控制和/或调节机器人的电机 | |
Shetab-Bushehri et al. | As-rigid-as-possible shape servoing | |
Wang et al. | Real-time process-level digital twin for collaborative human-robot construction work | |
CN115351780A (zh) | 用于控制机器人设备的方法 | |
Cha et al. | MAHRU-M: A mobile humanoid robot platform based on a dual-network control system and coordinated task execution | |
Banerjee et al. | An ontology to enable optimized task partitioning in human-robot collaboration for warehouse kitting operations | |
Zhang et al. | An intelligent manufacturing cell based on human–robot collaboration of frequent task learning for flexible manufacturing | |
Nandikolla et al. | Teleoperation Robot Control of a Hybrid EEG‐Based BCI Arm Manipulator Using ROS | |
CN117377560A (zh) | 在使用互补性约束进行避碰的情况下的物体操纵 | |
De Witte et al. | Learning to cooperate: A hierarchical cooperative dual robot arm approach for underactuated pick-and-placing | |
Kumar et al. | Sensor-based estimation and control of forces and moments in multiple cooperative robots | |
Selvaggio et al. | Towards a self-collision aware teleoperation framework for compound robots | |
Pérez et al. | FPGA-based visual control system using dynamic perceptibility | |
Lakshminarayanan et al. | Robots in manufacturing: Programming, control, and safety standards | |
Mironov et al. | Model predictive control with torque constraints for velocity-driven robotic manipulator | |
Wnuk et al. | Challenges in robotic soft tissue manipulation—Problem identification based on an interdisciplinary case study of a teleoperated drawing robot in practice | |
Ying et al. | Motion Generation for Shaping Deformable Linear Objects with Contact Avoidance Using Differentiable Simulation | |
Mavrommati et al. | An Application of Model Predictive Control to Reactive Motion Planning of Robot Manipulators | |
Pajak et al. | Planning of a point to point collision-free trajectory for mobile manipulators | |
Lin | Embedding Intelligence into Robotic Systems-Programming, Learning, and Planning | |
Chen et al. | Robotic pick-and-handover maneuvers with camera-based intelligent object detection and impedance control |
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 |