CN115485107A - 机器人控制 - Google Patents
机器人控制 Download PDFInfo
- Publication number
- CN115485107A CN115485107A CN202180031764.5A CN202180031764A CN115485107A CN 115485107 A CN115485107 A CN 115485107A CN 202180031764 A CN202180031764 A CN 202180031764A CN 115485107 A CN115485107 A CN 115485107A
- Authority
- CN
- China
- Prior art keywords
- joint
- robot
- cartesian
- task
- tasks
- 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
- 230000001133 acceleration Effects 0.000 claims abstract description 61
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000003068 static effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 239000013598 vector Substances 0.000 description 18
- 230000006870 function Effects 0.000 description 17
- 239000011159 matrix material Substances 0.000 description 13
- 239000012636 effector Substances 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 239000013256 coordination polymer Substances 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000007493 shaping process Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 239000002904 solvent Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- 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/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position 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
- B25J9/1666—Avoiding collision or forbidden zones
-
- 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/40336—Optimize multiple constraints or subtasks
-
- 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/40338—Task priority redundancy
-
- 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/40371—Control trajectory to avoid joint limit as well as obstacle collision
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
一种用于控制机器人(1)执行至少一个笛卡尔或关节空间任务的方法,包括使用二次规划基于至少一个代价函数来确定所述机器人的关节力,特别是关节转矩,和/或关节加速度,所述至少一个代价函数取决于所述任务。
Description
技术领域
本发明涉及机器人控制。
背景技术
现代机器人可以具有至少一个下述特征:它们可以是运动学冗余的,它们可以是柔性的,和/或它们应该避让障碍物。
特别是“腾出”或释放DOF可能会导致任务冗余,即,机器人的DOF n大于任务的DOFm(n>m)。这也适用于具有(更)高数量的DOF和全DOF笛卡尔任务的机器人。因此,在这种冗余情况下,机器人可以一次执行多于一个的任务。
在一个实施例中,柔性机器人可以由人进行力引导:用户可以推动或手动引导机器人。这可以有利地、特别是容易、快速、稳定和/或可靠地通过转矩控制来实现,即,控制机器人关节中的转矩而不是位姿,或者除了位姿(即位置和/或方向)和/或速度之外,还控制机器人关节中的转矩。
在一些情况下,可能希望避免与静止的或移动的对象发生碰撞,例如第二个机器人等。
本发明的优选的应用可以结合下述应用中的两个或三个:任务控制、优选多任务控制,柔性和避障,特别是在人-机协作中,例如,如何处理机器人在执行任务时被手动推近笛卡尔障碍物对象。换句话说,控制器如何能够实现:在持续执行(多个)任务(例如拾取和放置)的同时,用户仍然能够与柔性机器人交互并避开对象?
就此而言,特别是仍可能存在下述的一个或多个挑战:
-平顺(smooth)对僵硬(hard):对于转矩控制机器人,任务应该根据力或关节转矩来表述(为了更紧凑的表述,在本文中也将反平行力耦、即转矩有时也称为“力”)。
-平顺的任务启动:避障任务应该获得最高优先级。然而,其优选地不应连续产生转矩,而是仅在机器人上的笛卡尔点接近其限制时才被启动。启动和停止最高优先级任务可能会导致不连续的解决方案和振荡。
-多级约束:有利的是,有时不仅实现例如笛卡尔位姿限制、特别是位置限制,而且可以替代地或附加地实现笛卡尔速度和/或加速度限制、关节位姿限制、转矩限制等。如果这些是在一堆任务中实现的,则这些限制中的一个可能会为另一个所牺牲。
位姿可以包括、特别可以是或分别表示一维、二维或三维位置和/或一维、二维或三维方向。因此,关节位姿可以特别是或分别表示机器人的一个或多个关节的位置或方向,特别是转动关节的角度。
如果这些挑战没有被正确地处理,则机器人可能会反应太弱(未避开笛卡尔对象,机器人撞到对象)、太硬(高转矩峰值)和/或出现阻碍任务完成的颠簸行为和振荡。
发明内容
本发明的目的是改进机器人的控制或行为,有利地避免或减少一个或多个上述的缺点和问题。
该目的特别是通过具有权利要求1所述特征的方法来实现。权利要求10、11分别涉及用于执行本文所述方法的系统或计算机程序(产品),从属权利要求涉及优选的实施例。
根据本发明的一个方面,使用二次规划(QP)。
一个优点是包括不等式约束的可能性。附加地或替代地,在相同的优先级上可能具有不同的约束。(多个)任务,例如循迹,可以被表述为(多个)目标函数,该目标函数根据相对重要性优选被最小化。任务之间的优先级尤其可以是软优先级或严格优先级,如本文稍后讨论的。优选地,可以在软优先级与严格优先级之间进行选择,特别是根据位姿和/或位置或者根据用户选择。具有相同优先级水平的约束,例如关节限制避免或避障,可以优选地被表述为不应违反的不等式约束。
二次规划(QP)是利用凸二次代价函数、特别是利用线性等式和/或不等式约束和/或处理边界约束来求解二次问题的过程。它可以具有以下一般形式,其中n是优化问题中的变量的数量,m是线性等式和不等式约束的总数:
lbA≤Ax≤ubA
lb≤x≤ub
线性二次问题的冗余解析
线性最小平方问题具有以下形式:
该问题可以通过改写转化为二次问题:
由于bTb是常量,因此可以忽略它。因此,二次代价函数变为:
与一般QP形式比较,H(x)=ATA,g(x)=-ATb
笛卡尔或关节空间任务分别可以被公式化为:
用于优化问题的上边界ub和下边界lb可以优选为:
笛卡尔空间和/或避障中的限制可以被扩展到约束矩阵A和约束向量lbA和ubA:
A=[O Jc]
其中O是具有相同大小的Jc的零矩阵。约束向量可以是
因此,输出将是能够命令机器人的最优转矩和/或关节加速度。
经历
τmin≤τ≤τmax
其中M、g和h分别是质量或惯性矩阵,重力和科里奥利力(Coriolis forces)。根据一个实施例,给定了误差动态,可以定义期望加速度
其中Δx是期望位姿xd与当前位姿xc之间的误差xd-xc。
特别地,如果期望交互/柔性行为,则机器人可以由转矩来命令。
可替代地,特别地,如果机器人应该精确地移动,则可以对最优关节加速度进行积分,从而产生每个控制周期的期望关节位姿。
因此,根据一个实施例,在尝试执行至少一个任务、特别是一组任务的同时,并且在具有或不具有物理人-机器人交互的情况下,可以确保不同类型的约束,特别是力,特别是关节和/或笛卡尔空间和/或静态和/或移动障碍物中的转矩、加速度、速度和/或位姿限制。
二次规划(QP)可以特别地具有包括一组约束并且在使代价函数最小化的同时保持全部约束被重视的优点。
一个代价函数中的若干任务可能导致对所选权重的依赖性,并且可能需要将约束写成与要最小化的变量成线性关系。例如,如果使取决于转矩的函数f(τ)最小化,则容易限制力,但不容易限制位姿或速度。此外,如果在约束之间出现冲突,则一个约束必须被另一个约束牺牲(或者如果遇到冲突,则机器人应该停止)。使用二次规划可以解决这个问题,并且特别地,可包括新的约束,例如转矩限制或静态或移动障碍物,和/或可以如本文稍后讨论的那样解决约束方向的问题。
因此,根据本发明的一个实施例,分别观察或满足不同种类的约束,特别是转矩和/或位姿控制的机器人的笛卡尔和/或关节位姿、速度和/或加速度限制、力和/或转矩限制、静态障碍物和/或移动障碍物,特别是当人类用户将外力施加到机器人结构的任意点上时。根据一个实施例:
·机器人继续遵循已编程的任务或任务堆栈,同时提供在限定的约束内的柔性;和/或
·如果接近笛卡尔限制,则反作用力,特别是力矩,尤其是定向力,优选平稳地被引入,有利地不引起振动或机器人的急速运动;和/或
·通过指定最大速度、最大加速度和/或最大力,特别是扭矩,这些值最好总是被遵守,从而保证了平顺性;和/或两个或更多个限制、特别是所有的限制具有相同的优先级,即这些限制中不会有一个被另一个牺牲;和/或
·除了这些量之外,不需要指定额外参数,诸如用于连续任务激活的函数、防止笛卡尔限制的笛卡尔转矩的大小等。
本发明的一个实施例的一个优点是机器人可以在用户交互的同时继续其已编程的任务。这可以节省人-机器人协作应用中的循环时间。另一个优点是简化的控制编程。根据一个实施例,仅指定/必须指定最大笛卡尔位姿、速度和/或加速度值。这些可以由用户根据应用来设定。根据一个实施例,转矩限制由机器人规范或取决于(多个)任务来指定。根据一个实施例,根据所避开的笛卡尔障碍物的形状来设定笛卡尔限制。根据一个实施例,该形状由CAD模型或计算机视觉确定。
根据一个实施例,对于最先进的技术所必需的其它值,例如,用于连续任务激活的函数、有利地防止笛卡尔限制的笛卡尔力的大小等,不是必需的。这些参数通常很难找到,因为它们很大程度上取决于机器人结构、配置、附加工具等。
在移动障碍物的情况下,根据一个实施例,可以通过(计算机)视觉技术或通过IMU传感器来估计(多个)对象的运动。在对象是另一个机器人的情况下,根据一个实施例,所述另一个机器人的编码器可以用于指定其运动和速度。
尽管本发明可以特别有利地用于机器人-人交互,但是本发明不限于此,而是相反地,本发明还可以用于分别命令机器人处于位姿或没有(受控)柔性,这可以有利地在满足(所有)约束的同时产生高精度运动。根据一个实施例,确定产生机器人的(期望)运动的最优关节加速度。根据一个实施例,该加速度可被积分以获得关节位姿。
根据一个实施例,机器人具有两个或更多个待完成任务。根据一个实施例,提供了具有高优先级的(方案)以指示一些(多个)任务相对于(另一个)其它任务的重要性。
软层级
根据一个实施例,实现软层级优先级(方案):在所述软层级方案中,根据每个任务相对于其它任务的相对重要性,为每个任务分配权重。考虑一个机器人同时执行k个任务,其中taskt对于taskt+1等更为重要,即优先级(task1)>优先级(task2)>....优先级(taskk)。更高的权重wt被赋予更优先的任务taskt,w1>w2>....wk。两个权重之间的比率越高,则层级越严格。软层级每次迭代仅解决一个QP。
对于每个任务,Hessian矩阵Ht和梯度向量gt如本文所述地计算,特别是如上所述计算,随后根据它们的相关权重相加在一起:
软优先级允许较低优先级的任务可能干扰较高优先级的任务。
严格层级
根据另一实施例,实现了严格层级优先级(方案):在所述严格层级方案中,优先级保证了具有高优先级的方案,如果较低优先级任务与较高优先级任务冲突,则它们被牺牲。
根据严格层级优先级(方案)的一个实施例,所求解的QP的数量分别取决于或等于所涉及的任务数量。因此,在总共k个任务中每次迭代求解k个QP。
对于k个任务,在第t个QP中,taskt在所有先前任务task0,…,taskt-1的零空间中最小化。根据一个实施例,它们被包括作为等式约束(在等式约束中)。由于等式约束集的增加,二次问题的大小在每个QP中增加。
特别地,对于两个任务,task1((较)高优先级),task2((较)低优先级):
第一次QP:
第二次QP:
对于多个任务:
成型关节加速度限制
根据一个实施例,预设关节范围、关节速度和关节加速度的下列一个或多个边界:
Qmin<q<Qmax
特别地,如果加速度边界来自纯运动学推理,则根据一个实施例Amin=-Amax。
保持在它们的边界内,得到:
和
根据一个实施例,Vmax和Vmin被成型如下,特别地为了平稳地减小接近关节的速度:
因此,根据一个实施例,关节达到其限制的行为可以平稳地进行,以避免在一瞬间速度发生大的变化。因此,二次函数可以被设定为适当地成型速度边界。这样,在达到关节限制之前,速度可以有利地减小。因此,和可以有利地包括在QP问题中。
成型笛卡尔加速度限制
根据一个实施例,预设笛卡尔范围、笛卡尔速度和笛卡尔加速度上的下列一个或多个边界:
Xmin<X<Xmax
其中X是机器人固定的参照物的当前笛卡尔位姿的向量,例如在待约束维度中的TCP、末端执行器或法兰、关节如肘部等。特别地,如果加速度边界来自纯运动学推理,则根据一个实施例Amin=-Amax。
dmax=Xmax-Xh
dmin=Xmin-Xh
将下一笛卡尔速度和位姿
保持在它们的边界内,得到:
和
根据一个实施例,Vmax和Vmin被成型如下形式,特别地为了平稳地减小接近关节的速度:
计算位置的雅可比Jc
约束Jc的雅可比分别是或定义笛卡尔空间的子空间。雅可比的列代表机器人的每个关节,行代表其中设定有限制的维度。例如,用于7DOF机器人的整个雅可比J将具有6x7的大小,分别具有在笛卡尔点处的三个平移或位置坐标以及三个旋转坐标,例如,TCP[x,y,z,α,β,γ]表示雅可比的行:
如果一个坐标、例如坐标y,要被限制,例如沿y方向的墙壁,那么,表示受约束坐标的雅可比Jc将是J的相应行,在所述示例中是J的第二行:
Jc=[j2,1 j2,2 j2,3 j2,4 j2,5 j2,6 j2,7]
如果例如由于机器人不应撞到桌子而还要约束z方向,则Jc将是J的第二和第三行:
根据一个实施例,雅可比可以分别是机器人固定的参考点或坐标系(原点)的速度的变换,特别是TCP或另一个笛卡尔点,例如机器人肘部的参考点,以及关节空间,即机器人关节坐标的空间,特别是关节角度。例如,如果y和z方向必须针对关节4(肘部)的笛卡尔位置约束,则Jc变为:
避开静止的障碍物
特别地,对于类似墙壁等垂直于坐标中的一个的障碍物,根据一个实施例,可以在一个坐标轴上限定限制值。
特别地,对于更复杂(成型)的障碍物、例如机器人臂和其它环境对象,根据一个实施例确定对象的一个或多个虚拟的、优选地3维的几何模型,其可以特别地包括(受控)机器人本身。根据一个实施例,使用(计算机)视觉技术来确定一个或多个(这样的)虚拟模型。
根据一个实施例,特别地使用(多个)这样的虚拟模型,计算机器人与任何对象之间的最近距离和/或机器人(CP-R)上和/或特别是最近对象(CP-O)上的(到任何对象的)最近点。根据一个实施例,在识别出这样的临界点之后,瞬时目标(分别被添加或定义)以避免这些点之间的碰撞。因此,有利地,仅需要考虑沿CP-O方向的CP-R的运动学参数。这些参数可包括沿CP-O方向的速度、加速度和/或CP-R的雅可比,基本上是沿着最短距离的方向,在本文中表示为“临界方向”。这有利地可以确保其加速度仅沿着临界方向饱和,并允许CP-R沿所有其它方向运动。
根据一个实施例,雅可比沿着临界方向旋转,以获得也沿该方向表达的速度和加速度。根据一个实施例,分别定义或确定旋转矩阵,其可以以坐标轴中的一个(例如,Z轴)与临界方向对准的方式旋转临界点的坐标系。使用这个旋转矩阵,雅可比可以在对准的坐标中表达。
根据一个实施例,所述旋转矩阵由坐标方向的轴角度表示导出,特别是通过旋转一个轴、例如Z轴,直到它与临界方向向量对准为止。如果例如Z轴需要围绕旋转轴旋转θ,该旋转轴是与旋转平面垂直的轴,特别是包含Z轴和临界方向向量两者的平面(参见图1):
令CP-R或CPR分别是机器人的相应点并且由(x1,x2,x3)表示,并且CP-O或CPO分别是障碍物的相应点并且由(y1,y2,y3)表示。沿临界方向的单位向量u((c1,c2,c3))可以通过以下等式获得:
其中|L|是这两点之间的归一化距离。旋转轴线应该垂直于旋转平面。因此,单位临界方向向量与Z轴之间的叉积产生共同的垂直向量,该垂直向量又垂直于旋转平面。因此,旋转轴线为Arot=u×(0,0,1)。Z轴z=(0,0,1)与临界方向向量u之间的角度可以根据下式由其点积计算:
基于所述轴Arot和角度θ,可以确定所需的旋转矩阵,其通过乘法将表示从基坐标(O)变换到(与临界方向)对准的坐标(C)。该旋转被表示为CR0。
oCP=CR0*0CP
在这种情况下,最大或最近距离分别可以根据下式确定:
dmax=cCPO-cCPR
其中OCP和oCP分别是在原始坐标系和对准坐标系中表示的临界点的坐标。如果坐标被对准,则找到沿着一个坐标轴(在该示例中为Z轴)的加速度就足够了,该坐标轴提供沿临界方向的笛卡尔加速度:
Jn=CR0*Jt
避开动态的障碍物
下一个笛卡尔速度和位姿可以根据下式来估计:
约束方向
根据一个实施例,除了笛卡尔空间中的位置限制之外或替代笛卡尔空间中的位置限制,方向被约束。
令Rcur为待约束的当前帧,例如机器人的末端执行器帧,并且Rref来自于参考限制。因此,目标可以是例如将围绕Rref的一个轴的方向限制在45°。
在图2中,示出了两个帧,Rref以虚线表示,Rcur以实线表示。旋转帧由表示每个轴的单位向量组成:
Rref=[xref yref zref]
Rcur=[xcur ycur zcur]
考虑围绕x轴的约束旋转。对于该示例,zcur不必被分开超过由xref和zref(图2中的虚线)所限定的平面Π的最大距离(由θmax给出)。为了确定该距离,将zcur投影到平面中,随后确定这两个向量zcur,zproj之间的距离。为了避免定义的奇点并且总是具有正值,θ可以根据下式计算:
θ=atan2(‖zcur×zproj‖,zcur·zproj)
随后,可以根据下式确定距离:dmax=θmax-θ。基于所述距离,可以确定在同一帧中表达速度的雅可比:雅可比Jr将关节速度变换为当前帧的方向上的速度:
其中wx,wy和wz分别是围绕向量xcur,ycur和zcur的角速度。为了以围绕x轴的角速度表达将zcur移动到zproj的角速度的方式旋转雅可比,wx,j,一个新的旋转帧,Rj=[xj yj zj]可用来旋转雅可比。由于旋转应该围绕xj,该向量必须垂直于zcur和zproj,即xj=zproj×zcur(因此正的旋转方向远离该平面)。yj是zproj在由xcur和ycur定义的平面上的投影。以完成帧zj=zcur。这给出了旋转的雅可比:
Jj的第一行将关节速度与角速度wx,j相关联:
wx,j和d是约束函数的成型输入,而Jj,1将是确定QP问题中的约束的雅可比:Jc=Jj,1。很明显正在发生的是:向量xcurr正在避免离开由xref和zref的平面对称地分离的两个锥体。
为了约束围绕y的方向,类似地,可以确定zcur与平面yref和zref之间的距离。在这种情况下,Rj可以是
Rj=[zproj×zcur zcur×(zproj×zcur) zcurr],
其中针对这种情况,zproj是zcur到yref和zref平面的投影。
为了约束围绕z的方向,类似地可以确定ycur与平面yref和zref之间的距离。在这种情况下,Rj可以是
Rj=[yproj×ycur ycur×(yproj×ycur) ycurr],
其中针对这种情况,zproj是ycur到yref和zref的平面中的投影。
根据一个实施例,为了约束两个方向,堆叠雅可比以及最大和最小加速度值,或者使用用于一个轴的单个锥体。
如果例如围绕x和y的旋转被限制为45°,则箭头或向量zcur必须不能离开如图3所示的锥体。距离是zcur到zref之间的角度,根据下式确定:
θ=atan2(‖zcur×zref‖,zcur·zref)
dmax=θmax-θ
旋转雅可比的旋转矩阵可以是
Rj=[zref×zcur zcur×(zref×zcur) zcurr]。
这可以通过下式生成
θ=atan2(‖Vcur×Vref‖,Vcur·Vref)
d=θmax-θ
和
Rj=[Vref×Vcur zcur×(Vref×Vcur) Vcurr].
其中V是(相应帧的)不受限制的单位向量,例如:
当约束y和z时,Vref/curr=xref/curr
当约束x和z时,Vref/curr=yref/curr
当约束x和y时,Vref/curr=zref/curr
约束的雅可比Jc=Jj,1。
根据一个实施例,为了约束三个旋转角度,可以堆叠雅可比矩阵和通过针对两个轴和一个轴独立地计算它们而获得的QP问题中的最大加速度。
根据本发明的一个方面,一种控制机器人执行至少一个笛卡尔或关节空间任务的方法包括:分别使用或应用二次规划(以便)基于取决于所述任务的一个或多个代价函数来确定所述机器人的关节力、特别是关节转矩和/或关节加速度。
根据一个实施例,所述至少一个笛卡尔或关节空间任务分别在一个或多个坐标上或在一个或多个坐标中或相对于一个或多个坐标被定义或(预先)确定,根据一个实施例为位置和/或方向坐标,特别是机器人固定的参照物的位置和/或方向坐标,机器人的笛卡尔空间或关节坐标中的机器人固定的参照物分别是例如TCP、末端执行器或法兰、关节等。根据一个实施例,所述坐标的数量可以是六个,或者根据另一个实施例,所述坐标的数量可以不同于六个。
如本文所述,二次规划可有利地用于控制机器人。特别地,二次规划可以允许控制机器人以(更)快速、(更)可靠和/或(更)平稳的方式执行一个或多个任务。特别地,如已经详细描述的,任务ft可包括或分别由期望的笛卡尔或关节加速度定义,例如:
例如,接近笛卡尔位姿Xd或遵循笛卡尔路径可以被公式化为比例和/或积分和/或微分控制定律,例如ft=K(Xd-X)。取决于任务的代价函数可以是如下形式:
如本文已经描述的,根据一个实施例,关节力、特别是关节转矩和关节加速度两者一起用作问题变量,这不仅可以允许有利地考虑等式约束,特别是笛卡尔和/或关节空间和/或力,特别是转矩,限制,而且可以用于力控制,特别是转矩控制(这对于机器人的柔性控制可能特别有用),以及位姿控制(当使用所确定的关节加速度时,特别是将它们整合成期望的关节位姿和/或速度)。
如本文已经描述的,根据一个实施例,机器人相对于至少一个任务是冗余的。优选地,机器人包括至少六个、更优选地至少七个关节,特别是旋转关节。由于冗余可以分别在代价函数或二次问题中容易地解决,二次规划可以用于有利地控制这种冗余机器人。
如本文已经描述的,根据一个实施例,机器人是力控制的,特别是转矩控制的,和/或柔性控制的。这样有利地可以分别实现人-机器人交互或协作。
如本文已经描述的,根据一个实施例,机器人是位姿受控的。这样,有利地,可以分别实现精确的机器人运动或操作。
如本文已经描述的,根据一个实施例,机器人被控制为同时执行所述至少一个笛卡尔或关节空间任务和至少一个其它笛卡尔或关节空间任务,特别是
·两个或更多个笛卡尔空间任务;
·两个或更多个关节空间任务;
·一个或多个笛卡尔空间任务和一个或多个关节空间任务。
根据一个实施例,所述至少一个其它笛卡尔或关节空间任务分别在一个或多个坐标上或在一个或多个坐标中或相对于一个或多个坐标被定义或(预先)确定,根据一个实施例为位置和/或方向坐标,特别是机器人固定参照物的位置和/或方向坐标,机器人的笛卡尔空间或关节坐标中的机器人固定的参照物分别是例如TCP、末端执行器或法兰、关节等。根据一个实施例,所述坐标的数量可以是六个,或者根据另一个实施例,所述坐标的数量可以不同于六个。
如本文已经描述的,根据一个实施例,二次规划被用于基于所述两个或更多个任务确定所述机器人的(所述)关节力,特别是关节转矩和/或关节加速度,其中,求解一个或多个二次问题以确定所述关节力,特别是关节转矩和/或关节加速度。
特别地,通过应用已经描述的软层级(方案),可以解决一个二次问题。额外地或可替代地,通过应用已经描述的严格层级(方案),可以解决两个或更多个二次问题,其中,一个二次问题反映至少一个任务,并且至少一个其它二次问题反映至少一个其它任务,其中,如已经描述的,(较)高优先级的任务被反映在(较)低优先级的任务的(二次问题的)的等式约束中。
如本文已经描述的,根据一个实施例,二次规划被用于基于一个或多个不等式约束确定关节力,特别是关节转矩,和/或关节加速度,特别是
·笛卡尔空间中的一个或多个、特别是位姿上限制和/或位姿下限制,特别是位置限制和/或方向限制;和/或
·笛卡尔空间中的一个或多个、特别是速度上限制和/或速度下限制;和/或
·笛卡尔空间中的一个或多个加速度限制、特别是加速度上限制和/或加速度下限制;和/或
·关节空间中的一个或多个、特别是上位姿限制和/或下位姿限制;和/或
·关节空间中的一个或多个、特别是速度上限制和/或速度下限制;和/或
·关节空间中的一个或多个、特别是加速度上限制和/或加速度下限制。
如本文已经描述的,根据一个实施例,至少一个笛卡尔和/或关节速度和/或加速度约束被成型为使得速度限制在位姿限制处变为零。
额外地或可替代地,根据一个实施例,如本文已经描述的,相对于笛卡尔空间中的至少一个预定方向限制机器人固定的参照物的方向,机器人固定的参照物分别诸如其TCP、末端执行器或法兰、工具或关节,例如像肘部。
如本文已经描述的,根据一个实施例,机器人被控制以执行所述一个或多个笛卡尔和/或关节空间任务,同时避开一个或多个静态障碍物和/或一个或多个动态障碍物。避开(所述)障碍物中的一个或多个可以特别地基于表示约束的雅可比来执行。额外地或可替代地,根据一个实施例,一个或多个(所述)障碍物、特别是其(相对于机器人的)位姿和/或形状时基于机器人环境的模型、优选CAD等和/或基于计算机视觉确定的。
根据本发明的一个方面,一种系统被以硬件和/或软件方式构造以执行如本文所述的方法,和/或包括用于控制机器人使用二次规划来执行至少一个笛卡尔或关节空间任务以基于取决于所述任务的至少一个代价函数来确定所述机器人的关节力、特别是关节转矩和/或关节加速度的装置。
根据一个实施例,该系统或其装置分别包括:
-用于基于所确定的关节力、特别是关节转矩和/或关节加速度来进行机器人的位姿控制或力控制、特别是转矩控制和/或柔性控制的装置;和/或
-用于控制机器人以同时执行所述至少一个笛卡尔或关节空间任务和至少一个其它笛卡尔或关节空间任务的装置,其中,二次规划用于基于所述至少两个任务来确定所述机器人的关节力,特别是关节转矩,和/或关节加速度,其中,解决至少一个二次问题以确定关节力,特别是关节转矩,和/或关节加速度;和/或
-用于特别是通过软或严格层级在彼此之间排列所述至少两个任务的优先级的装置;和/或
-用于使用二次规划来基于笛卡尔和/或关节空间中的至少一个不等式约束、特别是至少一个位姿限制、特别是位置限制和/或方向限制、至少一个速度限制和/或至少一个加速度限制来确定关节力、特别是关节转矩和/或关节加速度的装置;和/或
-用于成型至少一个笛卡尔和/或关节速度和/或加速度约束使得速度限制在位姿限制处变为零的装置;和/或
-用于限制机器人固定的参照物相对于笛卡尔空间中的至少一个预定方向的方向的装置;和/或
-用于控制机器人执行一个或多个笛卡尔和/或关节空间任务同时避开至少一个静态或动态障碍物,特别是基于表示约束的雅可比和/或基于机器人环境的模型和/或计算机视觉确定所述至少一个障碍物的装置。
本发明意义下的装置可以分别通过硬件和/或软件实现,或具有硬件和/或软件,特别是一个或多个程序或程序模块和/或至少一个、优选数字的处理单元,特别是微处理单元(CPU)、图形卡(GPU)等,优选分别以数字或信号的方式连接到存储系统和/或总线系统、特别是至少一个计算机。处理单元可被适配为:处理被实施为存储在存储系统中的程序的指令;从数据总线接收输入信号;和/或将输出信号发送至数据总线。存储系统可包括一个或多个、特别是不同的和/或数字的存储介质,特别是光学的、磁的、固态的和/或其它非易失性的介质。程序可以是(被设计或实施为),使得其能够体现或能够执行本文所述的方法,使得处理单元、特别是计算机能够执行这种方法的步骤,并由此特别能够控制机器人。在一个实施例中,计算机程序产品可包括、特别是优选非易失性的、用于存储程序的或其上分别存储有程序的存储介质,其中,执行该程序会使系统或控制器、特别是计算机执行本文所述的方法或该方法的一个或多个步骤。
在一个实施例中,该方法的一个或多个、特别是所有的步骤被完全或部分自动地执行,特别是通过系统或其装置。
在一个实施例中,该系统包括机器人。
附图说明
其它的优点和特征由从属权利要求和示例性实施例给出。为此,其中特别示意性示出了:
图1示出了机器人的临界点与障碍物之间的临界方向;
图2示出了参考帧和当前帧;
图3示出了参考帧和具有锥体的当前帧;
图4示出了控制根据本发明一个实施例的机器人的方法;以及
图5示出了具有根据本发明一个实施例的机器人的系统。
具体实施方式
图5示出了根据本发明一个实施例的系统,该系统包括7-DOF机器人1和机器人控制(器)2,其控制机器人1同时执行不同的笛卡尔或关节空间任务。q1,…q7表示机器人1的关节位姿,因此限定了其关节空间。
图4示出了根据本发明一个实施例的由机器人控制(器)2控制机器人1所执行的方法。
在第一步骤S10中,用户确定待执行的(多个)任务和/或位姿,特别是位置和/或方向,笛卡尔空间中的限制,例如机器人TCP和/或机器人1的肘部的限制,笛卡尔空间中的速度限制,例如分别针对机器人末端执行器或法兰的限制,和/或关节空间中的位姿和/或速度限制,例如分别针对q1,…q7和/或它们的时间导数的限制。用户可以通过编程、选择和/或参数化程序模块等来确定(多个)任务和/或限制。机器人控制(器)2在步骤S10中接收相应的数据。
在步骤S20中,机器人控制(器)2接收指示实际关节坐标q1,…q7,和/或其时间导数,和/或作用在关节轴上的实际扭矩τ1,…τ7的信号。额外地,它可以接收来自确定障碍物的计算机视觉系统(未示出)的信号。
基于此,机器人控制(器)2求解相应的二次问题以在分别观察或遵守预定限制的同时执行(多个)预定任务(步骤S30)。
根据一个实施例,在步骤S40中在转矩控制中使用所述最优关节转矩,从而实现允许人类操作者在机器人执行(多个)任务时手动引导机器人的柔性控制。根据另一实施例,在步骤S40中在位姿控制中使用所述最优关节加速度。
如果(多个)任务已经完成(步骤S50:“Y”),则该方法结束(步骤S60)。否则(步骤S50:“N”),执行下一次循环或时间步骤。
Claims (13)
1.一种用于控制机器人(1)执行至少一个笛卡尔或关节空间任务的方法,其中,二次规划用于基于至少一个代价函数来确定所述机器人的关节力、特别是关节转矩和/或关节加速度,所述至少一个代价函数取决于所述任务。
2.根据权利要求1所述的方法,其特征在于,所述机器人(1)相对于所述任务是冗余的,和/或力控制的、特别是转矩控制的,和/或柔性控制的。
3.根据权利要求1所述的方法,其特征在于,所述机器人(1)相对于所述任务是冗余的和/或位姿控制的。
4.根据前述权利要求中任一项所述的方法,其特征在于,所述机器人被控制为同时执行所述至少一个笛卡尔或关节空间任务和至少一个其它笛卡尔或关节空间任务,其中二次规划用于基于所述至少两个任务来确定所述机器人的关节力、特别是关节转矩和/或关节加速度,其中,求解至少一个二次问题以确定所述关节力、特别是关节转矩和/或关节加速度。
5.根据前述权利要求所述的方法,其特征在于,特别是选择性地通过软或严格层级在彼此之间排列所述至少两个任务的优先级。
6.根据权利要求5所述的方法,其特征在于,通过软层级排列所述至少两个任务的优先级,其中,根据每个任务相对于其它任务的相对重要性,为每个任务分配权重。
7.根据权利要求5所述的方法,其特征在于,通过严格层级排列所述至少两个任务的优先级,其中,优先级保证了具有高优先级的方案,并且如果较低优先级任务与较高优先级任务冲突,则它们被牺牲。
8.根据前述权利要求中任一项所述的方法,其特征在于,使用二次规划来基于笛卡尔和/或关节空间中的至少一个不等式约束、特别是至少一个位姿限制、特别是位置限制和/或方向限制、至少一个速度限制和/或至少一个加速度限制来确定关节力、特别是关节转矩和/或关节加速度。
9.根据前述权利要求所述的方法,其特征在于,至少一个笛卡尔和/或关节速度和/或加速度约束被成型为使得速度限制在位姿限制处变为零,和/或机器人固定的参照物的方向相对于笛卡尔空间中的至少一个预定方向被限制。
10.根据前述权利要求中任一项所述的方法,其特征在于,所述机器人(1)被控制以执行所述一个或多个笛卡尔和/或关节空间任务,同时避开至少一个静态或动态障碍物。
11.根据前述权利要求所述的方法,其特征在于,避开至少一个障碍物是基于表示约束的雅可比来执行的,和/或所述至少一个障碍物是基于所述机器人环境的模型和/或基于计算机视觉来确定的。
12.一种用于控制机器人执行至少一个笛卡尔或关节空间任务的系统,其中,所述系统被配置为执行根据前述权利要求中任一项所述的方法。
13.一种计算机程序产品,包括存储在计算机可读数据载体上的指令,以便使根据权利要求12所述的系统执行根据权利要求1至11中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20159998.2 | 2020-02-28 | ||
EP20159998.2A EP3871841A1 (en) | 2020-02-28 | 2020-02-28 | Robot control |
PCT/EP2021/054514 WO2021170623A1 (en) | 2020-02-28 | 2021-02-24 | Robot control |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115485107A true CN115485107A (zh) | 2022-12-16 |
Family
ID=69742891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180031764.5A Pending CN115485107A (zh) | 2020-02-28 | 2021-02-24 | 机器人控制 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230085221A1 (zh) |
EP (1) | EP3871841A1 (zh) |
KR (1) | KR20220148857A (zh) |
CN (1) | CN115485107A (zh) |
WO (1) | WO2021170623A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116197917A (zh) * | 2023-04-28 | 2023-06-02 | 苏州艾利特机器人有限公司 | 自适应最大加速度计算方法、装置、存储介质及电子设备 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114083537B (zh) * | 2021-11-30 | 2023-07-07 | 深圳市优必选科技股份有限公司 | 机械臂夹持控制方法、装置、机器人和可读存储介质 |
CN114347020B (zh) * | 2021-12-22 | 2024-02-13 | 深圳市优必选科技股份有限公司 | 一种运动控制方法、运动控制装置及机器人 |
DE102023201407A1 (de) | 2023-02-17 | 2024-08-22 | Kuka Deutschland Gmbh | Verfahren und System zur Verbesserung der Grifferreichbarkeit |
CN116901063B (zh) * | 2023-07-13 | 2024-01-26 | 长春通视光电技术股份有限公司 | 一种基于二次规划的冗余空间机械臂轨迹规划方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8364314B2 (en) * | 2009-04-30 | 2013-01-29 | GM Global Technology Operations LLC | Method and apparatus for automatic control of a humanoid robot |
US8874262B2 (en) * | 2011-09-27 | 2014-10-28 | Disney Enterprises, Inc. | Operational space control of rigid-body dynamical systems including humanoid robots |
JP2016179168A (ja) * | 2015-03-23 | 2016-10-13 | ソニー株式会社 | 医療用支持アーム装置、医療用支持アーム装置の制御方法及び医療用観察装置 |
US11247738B2 (en) * | 2019-05-24 | 2022-02-15 | Disney Enterprises, Inc. | Legged high-dexterity self-balancing capable robot actor |
-
2020
- 2020-02-28 EP EP20159998.2A patent/EP3871841A1/en active Pending
-
2021
- 2021-02-24 CN CN202180031764.5A patent/CN115485107A/zh active Pending
- 2021-02-24 KR KR1020227033289A patent/KR20220148857A/ko unknown
- 2021-02-24 WO PCT/EP2021/054514 patent/WO2021170623A1/en active Application Filing
- 2021-02-24 US US17/802,262 patent/US20230085221A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116197917A (zh) * | 2023-04-28 | 2023-06-02 | 苏州艾利特机器人有限公司 | 自适应最大加速度计算方法、装置、存储介质及电子设备 |
CN116197917B (zh) * | 2023-04-28 | 2023-08-01 | 苏州艾利特机器人有限公司 | 自适应最大加速度计算方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3871841A1 (en) | 2021-09-01 |
US20230085221A1 (en) | 2023-03-16 |
WO2021170623A1 (en) | 2021-09-02 |
KR20220148857A (ko) | 2022-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115485107A (zh) | 机器人控制 | |
JP6717768B2 (ja) | 生産ラインにおける運用を考慮した学習制御を行うロボット及びその制御方法 | |
JP6268819B2 (ja) | 多軸型ロボットの軌道生成方法 | |
JP6167770B2 (ja) | 多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置 | |
US8600554B2 (en) | System and method for robot trajectory generation with continuous accelerations | |
JP6585666B2 (ja) | 速度一定が要求されるアプリケーションにおいて学習制御を行うロボット及びその制御方法 | |
WO2021076453A1 (en) | Dynamic planning controller | |
Patel et al. | A collision‐avoidance scheme for redundant manipulators: Theory and experiments | |
Žlajpah | On orientation control of functional redundant robots | |
CN105717869A (zh) | 工业机器人操作空间路径复合限制求解方法 | |
Oliva et al. | A general visual-impedance framework for effectively combining vision and force sensing in feature space | |
JP6123595B2 (ja) | 2軸ロボットの速度制御方法 | |
CN112703090B (zh) | 机器人控制装置、机器人控制方法及存储介质 | |
WO2019206408A1 (en) | Method and control system for controlling movement trajectories of a robot | |
JP2016002628A (ja) | 加工軌道生成装置と方法 | |
CN112135718B (zh) | 机器人的控制 | |
US20230191600A1 (en) | Motion control method, robot, and computer-readable storage medium | |
CN113474130A (zh) | 利用机器人执行预先设定的任务的方法和系统 | |
Kim et al. | Real-time monitoring and control system of an industrial robot with 6 degrees of freedom for grinding and polishing of aspherical mirror | |
Werink | On the control allocation of fully-actuated and over-actuated multirotor UAVs | |
Žlajpah et al. | A task space decomposition algorithm for the inverse kinematics of functionally redundant manipulators | |
CN111699446A (zh) | 以机器人驶过预先设定的工作轨迹 | |
US12097619B2 (en) | Predictive control method for torque-rate control and vibration suppression | |
Owen et al. | On-line trajectory resolution for two-armed systems with conflicting performance criteria | |
Kato et al. | Offline Teaching Algorithm to Pass Through the Singularity for Robot Machining |
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 |