CN111538234B - 任务分层控制方法、装置、机器人和可读存储介质 - Google Patents

任务分层控制方法、装置、机器人和可读存储介质 Download PDF

Info

Publication number
CN111538234B
CN111538234B CN202010649070.5A CN202010649070A CN111538234B CN 111538234 B CN111538234 B CN 111538234B CN 202010649070 A CN202010649070 A CN 202010649070A CN 111538234 B CN111538234 B CN 111538234B
Authority
CN
China
Prior art keywords
task
robot
control
hierarchical
matrix
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
Application number
CN202010649070.5A
Other languages
English (en)
Other versions
CN111538234A (zh
Inventor
任晓雨
黄荔群
赵明国
熊友军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN202010649070.5A priority Critical patent/CN111538234B/zh
Publication of CN111538234A publication Critical patent/CN111538234A/zh
Application granted granted Critical
Publication of CN111538234B publication Critical patent/CN111538234B/zh
Priority to US17/192,906 priority patent/US11602844B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0205Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system
    • G05B13/024Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system in which a parameter or coefficient is automatically adjusted to optimise the performance
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1643Programme controls characterised by the control loop redundant control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/023Cartesian coordinate type
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40338Task priority redundancy

Abstract

本发明实施例提供一种任务分层控制方法、装置、机器人和可读存储介质,该方法包括:获取对机器人的任务指令,该任务指令用于从任务卡片集中确定目标任务卡片,该目标任务卡片包括用于将目标任务划分为对应数量的层级子任务的选择矩阵及用于执行各层级子任务的控制器名称;基于选择矩阵求解对应层级子任务的零空间投影矩阵;根据每一层级子任务对应的控制器和零空间投影矩阵生成对应数量的控制线路,计算每一控制线路的控制力矩并叠加得到用于控制机器人的分层控制输出量。本发明的技术方案可同时分层级地实现多个任务,各任务之间不会相互干扰,而采用任务卡片及控制器调用的方式,可极方便地进行任务更改及控制算法的修改或替换等。

Description

任务分层控制方法、装置、机器人和可读存储介质
技术领域
本发明涉及机器人控制技术领域,尤其涉及一种任务分层控制方法、装置、机器人和可读存储介质。
背景技术
对于多自由度的机器人,在不处于特殊位置(例如奇异位置)的情况下可以同时实现多个任务。例如,以一七自由度的机械臂为例,在其执行擦黑板这一首要任务的过程中还可以保持七个关节具有一定程度的阻抗,在现有的控制方式中,对于控制擦黑板和保持关节阻抗的这两种任务的控制信号往往是叠加在一起的,如最常用的直接叠加方式等。
然而,直接叠加的方式会容易使得各个任务之间的控制产生相互干扰。不仅如此,对于存在多个任务的情况下,需要事先确定每个任务的控制器或控制方法,然后进行动力学分解,而当更换不同的任务时,需要再次同时确定每个任务的控制器或控制方法,再重新进行动力学分解,整个过程比较繁琐等。
发明内容
有鉴于此,本发明的目的是为了克服现有技术中的不足,提供一种任务分层控制方法、装置、机器人和可读存储介质。
本发明的一实施例提供一种任务分层控制方法,包括:
获取对机器人的任务指令,所述任务指令用于从任务卡片集中确定目标任务卡片,其中,所述目标任务卡片包括用于将目标任务划分为对应数量的层级子任务的选择矩阵以及用于执行各层级子任务的控制器名称;
基于所述选择矩阵求解对应层级子任务的零空间投影矩阵;
根据所述控制器名称从控制器库中调用对应的控制器,根据每一所述层级子任务对应的所述控制器和对应的所述零空间投影矩阵生成所述对应数量的控制线路;
基于所述选择矩阵、所述机器人的末端期望控制参数和关节实际测量参数分别计算每一所述控制线路的控制力矩,将所有控制线路的所述控制力矩叠加以得到分层控制输出量;
利用所述分层控制输出量控制所述机器人以执行所述目标任务。
在一些实施例中,该任务分层控制方法还包括:
基于所述机器人的所述关节实际测量参数计算所述机器人在笛卡尔空间的动态补偿量以及在关节空间的动力学补偿量;
将所述分层控制输出量、所述动态补偿量和所述动力学补偿量叠加以得到控制输出总量;
利用所述控制输出总量控制所述机器人以执行所述目标任务。
在一些实施例中,所述任务卡片集包括含所述目标任务卡片在内的若干个任务卡片,其中,每一所述任务卡片包括具有优先级顺序的多个层级子任务的信息,每一所述层级子任务的信息包括用于将任务划分为当前层级子任务的选择矩阵和用于执行所述当前层级子任务的控制器名称。
在一些实施例中,所述基于所述选择矩阵求解对应层级子任务的零空间投影矩阵包括:
根据当前层级子任务的所述选择矩阵和所述机器人的雅克比矩阵按照如下公式计算所述当前层级子任务的零空间投影矩阵;
Figure 768769DEST_PATH_IMAGE001
Figure 948953DEST_PATH_IMAGE002
Figure 858003DEST_PATH_IMAGE003
Figure 724328DEST_PATH_IMAGE004
Figure 859774DEST_PATH_IMAGE005
其中,Ni为第i层级子任务的零空间投影矩阵,i≥2,其中,第1层级子任务的零空 间投影矩阵为单位矩阵IJ为所述机器人从基座到末端的雅克比矩阵;
Figure 204168DEST_PATH_IMAGE006
Figure 108670DEST_PATH_IMAGE007
分别表示第 k层级子任务的选择矩阵和相应的雅克比矩阵;
Figure 145896DEST_PATH_IMAGE008
Figure 627693DEST_PATH_IMAGE009
分别表示过渡矩阵
Figure 651144DEST_PATH_IMAGE010
的转 置和逆;M为所述机器人的期望质量;B为所述机器人的惯量矩阵。
在一些实施例中,所述机器人在笛卡尔空间的动态补偿量包括第一补偿分量和第二补偿分量,所述关节实际测量参数包括所述机器人的各个关节角速度和各个关节受到的外力矩,所述基于所述机器人的所述关节实际测量参数计算所述机器人在笛卡尔空间的动态补偿量包括:
根据所述机器人从基座到末端的雅克比矩阵和所述各个关节受到的外力矩计算所述第一补偿分量;
根据所述机器人的惯量矩阵和所述雅克比矩阵以及所述各个关节角速度计算所述第二补偿分量;
将所述第一补偿分量与所述第二补偿分量叠加得到所述动态补偿量。
在一些实施例中,所述机器人在关节空间的动力学补偿量包括离心力与科里奥利力项、以及重力项,其中,基于所述机器人的各个关节角度和各个关节角速度计算所述离心力与科里奥利力项,所述机器人各连杆受到的重力分量构成所述重力项。
在一些实施例中,所述控制器库包括笛卡尔阻抗控制器、直接力反馈控制器、运动控制器和关节阻抗控制器中的一种或多种。
本发明的一实施例还提供一种任务分层控制装置,包括:任务获取模块、任务卡片集、零空间求解模块、控制器库、分层任务控制模块和任务执行模块;
所述任务获取模块用于获取对机器人的任务指令,所述任务指令用于从任务卡片集中确定目标任务卡片,其中,所述目标任务卡片包括用于将目标任务划分为对应数量的层级子任务的选择矩阵以及用于执行各层级子任务的控制器名称;
所述零空间求解模块用于基于所述选择矩阵求解对应层级子任务的零空间投影矩阵;
所述分层任务控制模块用于根据所述控制器名称从所述控制器库调用对应的控制器,并根据每一所述层级子任务对应的所述控制器和对应的所述零空间投影矩阵生成所述对应数量的控制线路;
所述分层任务控制模块还用于基于所述选择矩阵、所述机器人的末端期望控制参数和关节实际测量参数分别计算每一所述控制线路的控制力矩,将所有控制线路的所述控制力矩叠加以得到分层控制输出量;
所述任务执行模块用于利用所述分层控制输出量控制所述机器人以执行所述目标任务。
在一些实施例中,该任务分层控制装置还包括:
控制补偿模块,用于基于所述机器人的所述关节实际测量参数计算所述机器人在笛卡尔空间的动态补偿量以及在关节空间的动力学补偿量;
所述任务执行模块,还用于将所述分层控制输出量、所述动态补偿量和所述动力学补偿量叠加以得到控制输出总量,利用所述控制输出总量控制所述机器人以执行所述目标任务。
本发明的一实施例还提供一种机器人,所述机器人包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施上述的任务分层控制方法。
本发明的一实施例还提供一种可读存储介质,其存储有计算机程序,所述计算机程序被执行时,实施上述的任务分层控制方法。
本发明的实施例具有如下优点:
本发明实施例的任务分层控制方法通过对任务进行子任务分层并以任务卡片的形式进行存储,每一任务卡片包括用于将任务划分为对应数量的层级子任务的各选择矩阵和用于执行对应层级子任务的控制器名称,其中,选择矩阵用于求解对应层级子任务的零空间投影矩阵;根据各层级子任务对应的控制器和零空间投影矩阵生成多个并联的控制线路,将每一控制线路计算得到的控制力矩分量叠加以作为用于控制机器人的控制输出量。本发明实施例的任务分层控制方法可以实现同时分层级地执行多个任务,且各任务之间不会相互干扰;另外,采用任务卡片及控制器调用的方式,在进行任务修改或任务扩展时,可极其方便地对各任务的控制算法的修改或替换,大大节省了开发周期和开发流程等等。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例的任务分层控制方法的第一流程示意图;
图2示出了本发明实施例的任务分层控制方法的擦黑板任务卡片的示意图;
图3示出了本发明实施例的任务分层控制方法的擦黑板任务的分层控制应用示意图;
图4示出了本发明实施例的任务分层控制方法的第二流程示意图;
图5示出了本发明实施例的任务分层控制装置的第一结构示意图;
图6示出了本发明实施例的任务分层控制装置的第二结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
实施例1
图1示出了本发明的任务分层控制方法的一种实施例的流程示意图。
本实施例的方法可应用于具有多自由度及具有冗余自由度的机器人,该类机器人通常可以允许同时实现多个任务。对于执行多个任务的情况下,通过该任务分层控制方法可以同时按照优先级级别地同时实现各个任务,而且各个任务之间不会产生相互干扰等。
下面对该任务分层控制方法进行详细说明。
步骤S110,获取对机器人的任务指令,所述任务指令用于从任务卡片集中确定目标任务卡片,其中,所述目标任务卡片包括用于将目标任务划分为对应数量的层级子任务的选择矩阵以及用于执行各层级子任务的控制器名称。
对于上述步骤S110,所述的任务指令,即告知机器人该执行哪个任务,如擦黑板,扫地、画圈或行走任务等等。应当理解的是,任务并不限于上述列举的这几种,具体可根据实际需求来设计。
考虑到上述的任务在执行过程中,可能在不同方向或关节上需要满足不同的需求,例如,以擦黑板这一任务为例,在机器人末端执行器的笛卡尔空间中,需使末端处的黑板擦在X和Y方向产生笛卡尔阻抗控制,而在Z方向上产生直接力控制效果,此外,在关节上还需产生阻抗效果以保证安全与柔顺性等。
为此,本实施例将进行子任务分层处理,即在执行该任务时,将各个需求视为对应的子任务来分别执行。示范性地,可将待执行的任务预先根据不同的需求按照优先级顺序进行不同层级的子任务划分,例如,首要满足的是第一层级子任务,其次需满足是第二层级子任务,最后才是第三层级子任务等等。
对于每一层级子任务,需要利用相应的选择矩阵来划分,即利用不同的选择矩阵来选取各个子任务在末端执行器笛卡尔空间中的任务方向,以便在各自的任务方向上分别执行对应的子任务。示范性地,上述的每一选择矩阵,其每一列向量之间是相互正交的,且非零列的模长为1,是一个大小为nxk的矩阵,其中,n为机器人的自由度,k为选择矩阵选取的任务的维度。
在一些实施方式中,将采用任务卡片的形式来对一个任务进行描述。示范性地,可构建一个任务卡片集,在该任务卡片集中包括若干个任务卡片,其中,每一个任务卡片代表一个任务。当获取到任务指令时,可根据该任务指令来找到相应的任务卡片,进而按照该任务卡片的信息执行该任务。
示范性地,每一任务卡片包括具有优先级顺序的多个层级子任务的信息,其中,每一层级子任务的信息包括用于将任务划分为当前层级子任务的选择矩阵和用于执行该当前层级子任务的控制器名称。应当理解的是,任务卡片中包括仅仅是控制器的名称信息,当然,通过该控制器名称可以从控制器库中调用相应的控制器。
例如,以一个具有四个自由度的机械臂来执行擦黑板的任务为例,如图2所示,擦 黑板这一任务卡片的信息包括三个选择矩阵
Figure 534786DEST_PATH_IMAGE011
Figure 742913DEST_PATH_IMAGE012
Figure 85908DEST_PATH_IMAGE013
;以 及各层级子任务所需要的控制器名称,分别为:用于执行第一层级子任务的笛卡尔阻抗控 制器(Cartesian Impedance Controller)、用于执行第二层级子任务的直接力反馈控制器 (Direct Force Controller)和用于执行第三层级子任务的关节阻抗控制器(Joint Impedance Controller)。可以理解,三个选择矩阵表示该也表示该擦黑板任务被划分为三 个层级子任务。另外,在该任务卡片中,这三个子任务是按照优先级顺序由高到低的顺序进 行存储的,即选择矩阵S1所对应的层级子任务具有最高的优先级。当然,也可以采用其他的 顺序进行层级子任务信息的描述存储,在此并不作限定。
应当理解的是,对于该任务卡片集中的各任务卡片,可以根据需求来删除、增加或修改等操作。例如,对于新增的目标任务,若该任务卡片集中不存在,只需按照上述的任务卡片的形式进行描述并添加至该任务卡片集中即可。
为使各子任务不产生相互干扰,且每一子任务均能完全执行,本实施例将利用选择矩阵求解对应层级子任务的零空间投影矩阵,并利用零空间投影方式来使得各个层级子任务按照优先级由高到低的顺序执行。
步骤S120,基于所述选择矩阵求解对应层级子任务的零空间投影矩阵。
在一些可能的实施方式中,对于步骤S120的各层级子任务的零空间投影矩阵的计算,可根据当前层级子任务的选择矩阵和该机器人的雅克比矩阵来计算得到。示范性地,可按照如下公式进行计算:
Figure 37683DEST_PATH_IMAGE014
Figure 651198DEST_PATH_IMAGE015
Figure 295806DEST_PATH_IMAGE016
Figure 486616DEST_PATH_IMAGE017
Figure 117449DEST_PATH_IMAGE018
其中,Ni为第i层级子任务的零空间投影矩阵,i≥2,而第1层级子任务的零空间投 影矩阵为单位矩阵IJ为机器人从基座到末端的雅克比矩阵;S kJ k分别表示第k层级子任 务的选择矩阵和相应的雅克比矩阵;
Figure 444525DEST_PATH_IMAGE019
Figure 135400DEST_PATH_IMAGE020
分别表示过渡矩阵
Figure 813506DEST_PATH_IMAGE021
的转置和广义 逆;M为机器人的期望质量;B为机器人的惯量矩阵。
可以理解,将对应的选择矩阵与雅克比矩阵J相乘可用于确定对应层级子任务相应的雅克比矩阵。若雅克比矩阵J的行数小于自由度n,则需将进行扩充,使之具有n行,但是扩充的行只能用作最低层级的子任务。
例如,对于一个四自由度的机械臂,仍以上述的擦黑板为例,其选择矩阵分别为 S1、S2和S3,根据上述公式可知,第一层级子任务对应的零空间投影矩阵N1I,第二层级子 任务对应的零空间投影矩阵N2为(
Figure 372664DEST_PATH_IMAGE022
);第三层级子任务对应的零空间投影 矩阵N3为(
Figure 193727DEST_PATH_IMAGE023
),其中,上述的
Figure 914558DEST_PATH_IMAGE024
Figure 79960DEST_PATH_IMAGE025
可以按照上述公式计算得到。
而为了方便实现不同任务的控制算法的修改或替换,而不需要对整个控制代码或流程进行对应调整,本实施例将构建一个控制器库,在该控制器库中将存储有各种通用或标准的控制器,示范性地,可包括但不限于包括笛卡尔阻抗控制器、直接力反馈控制器、关节阻抗控制器、运动控制器等中的一种或多种组合,当然,还可以添加自定义的控制器等。
可以理解的是,这里对各个控制器的内部结构并不作限定,具体可根据实际需求来相应设计。但需要注意的是,该控制器库中存储的控制器的名称与任务卡片中的控制器名称应当一致,这样才能保证控制器的正常调用。
步骤S130,根据所述控制器名称从控制器库中调用对应的控制器,根据每一层级子任务对应的控制器和对应的零空间投影矩阵生成所述对应数量的控制线路。
对于上述步骤S130,示范性地,可根据各层级子任务对应的控制器名称来调用相应的控制器,进而根据每一个层级子任务对应的零空间投影矩阵和控制器生成与层级子任务的数量相等的并联的控制线路。
步骤S140,基于所述选择矩阵、该机器人的末端期望控制参数和关节实际测量参数分别计算每一控制线路的控制力矩,将所有控制线路的所述控制力矩叠加以得到分层控制输出量。
对于每一控制线路,将该机器人的末端期望控制参数以及实际测量得到的关节相关参数作为该控制线路中的控制器的输入参数,进行由控制器计算得到相应的控制力矩。最后,将所有控制线路各自对应的控制力矩之和作为该机器人各关节所需的控制输出力矩,即上述的分层控制输出量。
示范性地,上述的末端期望控制参数可包括机器人末端的期望受力、期望位移(也称期望轨迹)、期望速度和/或期望加速度等,具体可通过对机器人的预先规划得到。为了进一步精准控制机器人,通常还对机器人的各关节的状态进行实时测量并反馈到控制器中,从而利用期望值和实际值来共同计算该控制器的控制输出。示范性地,该关节实际测量参数可包括该机器人各个关节的关节角度、关节角速度和关节角加速度,以及各个关节受到的外力和外力矩等。可以理解,这些关节相关参数有的可直接通过相应的传感器测量得到,有的也可以利用测量得到的量进一步处理后得到。
仍以上述的擦黑板的三个层级子任务为例,如图3所示,每一控制线路包括各自对应的控制器和零空间投影矩阵。应当理解,各个控制器在计算控制力矩时,将利用对应的选择矩阵进行机器人笛卡尔空间中的任务方向的选择,使得上述的各输入参数投影到对应的任务空间中进行计算。而各零空间投影矩阵则是用于对各控制器的输出量进行零空间投影处理,即利用零空间投影后再叠加,使得各任务能够按照优先级顺序来执行。
步骤S150,利用所述分层控制输出量控制机器人以执行所述目标任务。
示范性地,计算得到所有控制线路叠加的分层控制输出量后,将其作为该机器人各关节所需的控制输出力矩,然后发送到机器人对应的关节电机以进行力矩控制,最终使机器人按照预设的需求来执行该目标任务。
本发明实施例的任务分层控制方法通过对任务进行子任务分层级并以任务卡片的形式进行任务描述,同时利用选择矩阵来计算各层级子任务的零空间投影矩阵并构建控制器库以便不同的控制器的调用等。通过该方法可以实现同时分层级地实现多个任务,且各任务之间不会相互干扰。另外,采用任务卡片及控制器调用的方式,使得在改变任务或进行任务扩展时,可极其方便地进行任务控制算法的修改或替换,相比于现有的多任务的技术方案,不需要在每次更换任务时都重新进行动力学分解,大大节省了开发周期和开发流程等等。
实施例2
图4示出了本发明的任务分层控制方法的另一种实施例的流程示意图。
与上述实施例1的任务分层控制方法的不同之处在于,本实施例的方法还包括:在分层控制输出量的基础上进行机器人笛卡尔空间的动态补偿及关节空间的动力学实时补偿,从而实现更加准确的力矩控制等。
该任务分层控制方法主要运用于通过力矩控制的机械臂(即力控型机械臂),对于力控型机械臂,其能够直接控制输出力,具有更快的响应速度和安全性,也更能满足对安全柔顺等需求。然而,在控制该力控型机械臂时,需要考虑机器人的全动力学,因此,其控制也更加复杂,具有较高的非线性。为此,本实施例将通过利用动力学补偿来降低控制的非线性问题,有效简化力控机器人的控制问题。
本实施例中,该任务分层控制方法在上述步骤S140之后,还包括:
步骤S160,基于机器人的关节实际测量参数计算机器人在笛卡尔空间的动态补偿量以及在关节空间的动力学补偿量。
示范性地,该补偿量主要包括两方面,分别是机器人在笛卡尔空间的动态补偿量,以及在关节空间的动力学补偿量。应当理解的是,在其他的一些实施方式中,该补偿量也可以是由其中的一项构成。
在一些实施方式中,该机器人在笛卡尔空间的动态补偿量包括两种补偿分量,分别是第一补偿分量和第二补偿分量。示范性地,对于上述的基于机器人的关节实际测量参数计算机器人在笛卡尔空间的动态补偿量包括:
根据机器人从基座到末端的雅克比矩阵和各个关节受到的外力矩计算所述第一补偿分量;根据机器人的惯量矩阵和所述雅克比矩阵以及各个关节角速度计算所述第二补偿分量;将所述第一补偿分量与所述第二补偿分量叠加得到所述动态补偿量。
对于上述的第一补偿分量
Figure 52596DEST_PATH_IMAGE026
和第二补偿分量
Figure 619843DEST_PATH_IMAGE027
,示范性地,可采用如下公式计算 得到:
Figure 386942DEST_PATH_IMAGE028
Figure 39640DEST_PATH_IMAGE029
其中,J表示机器人的从基座到末端的雅克比矩阵;
Figure 835925DEST_PATH_IMAGE030
Figure 133045DEST_PATH_IMAGE031
分别表示雅克比矩阵J 的转置和逆;
Figure 195679DEST_PATH_IMAGE032
表示雅克比矩阵J转置的逆;
Figure 70094DEST_PATH_IMAGE033
表示雅克比矩阵J的求导;
Figure 650111DEST_PATH_IMAGE034
表示机器人的 各个关节受到的外力矩;
Figure 926372DEST_PATH_IMAGE035
表示机器人各个关节角速度;
Figure 799388DEST_PATH_IMAGE036
表示机器人的惯量矩阵。
在一些实施方式中,该机器人在关节空间的动力学补偿量包括:离心力与科里奥 利力项、以及重力项,示范性地,该动力学补偿量
Figure 426678DEST_PATH_IMAGE037
为:
Figure 403861DEST_PATH_IMAGE038
其中,
Figure 675574DEST_PATH_IMAGE039
表示该离心力与科里奥利力矩阵,可通过机器人的各个关节角
Figure 80010DEST_PATH_IMAGE040
和 关节角速度
Figure 69963DEST_PATH_IMAGE041
计算得到;
Figure 585258DEST_PATH_IMAGE042
表示该重力向量,其由机器人各连杆受到的重力分量构成。
步骤S170,将所述分层控制输出量、所述动态补偿量和所述动力学补偿量叠加以得到控制输出总量。
应当理解的是,本实施例的控制输出量还包括上述的两项补偿量。示范性地,将步骤S140计算得到的分层控制输出量与上述步骤S160计算的两项补偿量进行叠加,将叠加的总和作为控制输出总量,最后执行步骤S180。
步骤S180,利用所述控制输出总量控制机器人以执行所述目标任务。
对于步骤S180,与上述步骤S150类似,故在此不再详述。
实施例3
请参照图5,基于上述实施例1的任务分层控制方法,本实施例提出一种任务分层控制装置10,应用于对机器人进行控制。示范性地,该装置包括:任务获取模块110、任务卡片集120、零空间求解模块130、分层任务控制模块140、控制器库150和任务执行模块160。
其中,任务获取模块110用于获取对机器人的任务指令,所述任务指令用于从任务卡片集120中确定目标任务卡片,其中,所述目标任务卡片包括用于将目标任务划分为对应数量的层级子任务的选择矩阵以及用于执行各层级子任务的控制器名称。
零空间求解模块130用于基于所述选择矩阵求解对应层级子任务的零空间投影矩阵。
分层任务控制模块140用于根据所述控制器名称从控制器库150调用对应的控制器,并根据每一所述层级子任务对应的所述控制器和对应的所述零空间投影矩阵生成所述对应数量的控制线路。
分层任务控制模块140还用于基于所述机器人的末端期望控制参数和关节实际测量参数分别计算每一所述控制线路的控制力矩,将所有控制线路的所述控制力矩叠加以得到分层控制输出量。
其中,对于该机器人的末端期望控制参数可由期望控制参数生成模块170输出,该期望控制参数模块主要用于产生执行上述的目标任务所需的每个离散时间段的期望力和期望位置等。对于该与关节相关的实际测量参数,可通过机器人上安装的相关传感器等测量及计算得到。
任务执行模块160用于利用所述分层控制输出量控制所述机器人以执行所述目标任务。
在一些实施方式中,如图6所示,该任务分层控制装置10还包括:
控制补偿模块180,用于基于机器人的关节实际测量参数计算机器人在笛卡尔空间的动态补偿量以及在关节空间的动力学补偿量。
示范性地,该控制补偿模块180包括两种补偿项,分别是笛卡尔空间的动态补偿量,以及关节空间的动力学补偿量。
任务执行模块160,还用于将所述分层控制输出量、所述动态补偿量和所述动力学补偿量叠加以得到控制输出总量,并利用所述控制输出总量控制所述机器人以执行所述目标任务。
可以理解,上述的任务分层控制装置10对应于实施例1或2的任务分层控制方法。实施例1或2中的任何可选项也适用于本实施例,这里不再详述。
本发明还提供了一种机器人,该机器人包括处理器和存储器,其中,存储器存储有计算机程序,处理器用于执行所述计算机程序以实施上述实施例1或2的任务分层控制方法或上述实施例3的任务分层控制装置中各个模块的功能。示范性地,该机器人可为运用在各领域内的机器人,如切割机器人、焊接机器人、打磨机器人或按摩机器人等。
本发明还提供了一种可读存储介质,其存储有计算机程序,所述计算机程序被执行时,实施上述的任务分层控制方法或任务分层控制装置中各个模块的功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种任务分层控制方法,其特征在于,包括:
获取对机器人的任务指令,所述任务指令用于从任务卡片集中确定目标任务卡片,其中,所述目标任务卡片包括用于将目标任务划分为对应数量的层级子任务的选择矩阵以及用于执行各层级子任务的控制器名称;
基于所述选择矩阵求解对应层级子任务的零空间投影矩阵;
根据所述控制器名称从控制器库中调用对应的控制器,根据每一所述层级子任务对应的所述控制器和对应的所述零空间投影矩阵生成所述对应数量的控制线路;
基于所述选择矩阵、所述机器人的末端期望控制参数和关节实际测量参数分别计算每一所述控制线路的控制力矩,将所有控制线路的所述控制力矩叠加以得到分层控制输出量;
利用所述分层控制输出量控制所述机器人以执行所述目标任务。
2.根据权利要求1所述的任务分层控制方法,其特征在于,还包括:
基于所述机器人的所述关节实际测量参数计算所述机器人在笛卡尔空间的动态补偿量以及在关节空间的动力学补偿量;
将所述分层控制输出量、所述动态补偿量和所述动力学补偿量叠加以得到控制输出总量;
利用所述控制输出总量控制所述机器人以执行所述目标任务。
3.根据权利要求1或2所述的任务分层控制方法,其特征在于,所述任务卡片集包括含所述目标任务卡片在内的若干个任务卡片,其中,每一所述任务卡片包括具有优先级顺序的多个层级子任务的信息,每一所述层级子任务的信息包括用于将任务划分为当前层级子任务的选择矩阵和用于执行所述当前层级子任务的控制器名称。
4.根据权利要求1所述的任务分层控制方法,其特征在于,所述基于所述选择矩阵求解对应层级子任务的零空间投影矩阵包括:
根据当前层级子任务的所述选择矩阵和所述机器人的雅克比矩阵按照以下公式计算所述当前层级子任务的零空间投影矩阵;
Figure 564434DEST_PATH_IMAGE001
Figure 378807DEST_PATH_IMAGE002
Figure 919378DEST_PATH_IMAGE003
其中,N i为第i层级子任务的零空间投影矩阵,i≥2,其中,第1层级子任务的零空间投影矩阵为单位矩阵IJ为所述机器人从基座到末端的雅克比矩阵;S kJ k分别表示第k层级子任务的选择矩阵和相应的雅克比矩阵;
Figure 186411DEST_PATH_IMAGE004
Figure 854153DEST_PATH_IMAGE005
分别表示过渡矩阵
Figure 523032DEST_PATH_IMAGE006
的转置和广义逆;M为所述机器人的期望质量;B为所述机器人的惯量矩阵。
5.根据权利要求2所述的任务分层控制方法,其特征在于,所述机器人在笛卡尔空间的动态补偿量包括第一补偿分量和第二补偿分量,所述关节实际测量参数包括所述机器人的各个关节角速度和各个关节受到的外力矩,所述基于所述机器人的所述关节实际测量参数计算所述机器人在笛卡尔空间的动态补偿量包括:
根据所述机器人从基座到末端的雅克比矩阵和所述各个关节受到的外力矩计算所述第一补偿分量;
根据所述机器人的惯量矩阵和所述雅克比矩阵以及所述各个关节角速度计算所述第二补偿分量;
将所述第一补偿分量与所述第二补偿分量叠加得到所述动态补偿量。
6.根据权利要求2所述的任务分层控制方法,其特征在于,所述机器人在关节空间的动力学补偿量包括离心力与科里奥利力项、以及重力项,其中,基于所述机器人的各个关节角度和各个关节角速度计算所述离心力与科里奥利力项,所述机器人各连杆受到的重力分量构成所述重力项。
7.一种任务分层控制装置,其特征在于,包括:任务获取模块、零空间求解模块、分层任务控制模块、任务执行模块、任务卡片集和控制器库;
所述任务获取模块用于获取对机器人的任务指令,所述任务指令用于从任务卡片集中确定目标任务卡片,其中,所述目标任务卡片包括用于将目标任务划分为对应数量的层级子任务的选择矩阵以及用于执行各层级子任务的控制器名称;
所述零空间求解模块用于基于所述选择矩阵求解对应层级子任务的零空间投影矩阵;
所述分层任务控制模块用于根据所述控制器名称从所述控制器库调用对应的控制器,并根据每一所述层级子任务对应的所述控制器和对应的所述零空间投影矩阵生成所述对应数量的控制线路;
所述分层任务控制模块还用于基于所述选择矩阵、所述机器人的末端期望控制参数和关节实际测量参数分别计算每一所述控制线路的控制力矩,将所有控制线路的所述控制力矩叠加以得到分层控制输出量;
所述任务执行模块用于利用所述分层控制输出量控制所述机器人以执行所述目标任务。
8.根据权利要求7所述的任务分层控制装置,其特征在于,还包括:
控制补偿模块,用于基于所述机器人的所述关节实际测量参数计算所述机器人在笛卡尔空间的动态补偿量以及在关节空间的动力学补偿量;
所述任务执行模块,还用于将所述分层控制输出量、所述动态补偿量和所述动力学补偿量叠加以得到控制输出总量,利用所述控制输出总量控制所述机器人以执行所述目标任务。
9.一种机器人,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施权利要求1-6中任一项所述的任务分层控制方法。
10.一种可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被执行时,实施根据权利要求1-6中任一项所述的任务分层控制方法。
CN202010649070.5A 2020-07-08 2020-07-08 任务分层控制方法、装置、机器人和可读存储介质 Active CN111538234B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010649070.5A CN111538234B (zh) 2020-07-08 2020-07-08 任务分层控制方法、装置、机器人和可读存储介质
US17/192,906 US11602844B2 (en) 2020-07-08 2021-03-05 Task hierarchical control method, and robot and computer readable storage medium using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010649070.5A CN111538234B (zh) 2020-07-08 2020-07-08 任务分层控制方法、装置、机器人和可读存储介质

Publications (2)

Publication Number Publication Date
CN111538234A CN111538234A (zh) 2020-08-14
CN111538234B true CN111538234B (zh) 2020-10-09

Family

ID=71974705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010649070.5A Active CN111538234B (zh) 2020-07-08 2020-07-08 任务分层控制方法、装置、机器人和可读存储介质

Country Status (2)

Country Link
US (1) US11602844B2 (zh)
CN (1) CN111538234B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111687834B (zh) * 2020-04-30 2023-06-02 广西科技大学 移动机械手冗余机械臂逆优先级阻抗控制系统及控制方法
CN111687833B (zh) * 2020-04-30 2023-06-02 广西科技大学 机械手逆优先级阻抗控制系统及控制方法
CN111687832B (zh) * 2020-04-30 2023-06-02 广西科技大学 空间机械手冗余机械臂逆优先级阻抗控制系统及控制方法
CN111687835B (zh) * 2020-04-30 2023-06-02 广西科技大学 水下机械手冗余机械臂逆优先级阻抗控制系统及控制方法
CN113400297B (zh) * 2020-12-02 2021-12-17 中国人民解放军63920部队 一种基于htn规划的机械臂任务规划的方法
CN113733106B (zh) * 2021-11-05 2022-04-15 深圳市优必选科技股份有限公司 力控仿人机器人的全身控制方法、装置、设备及介质
CN114469642A (zh) * 2022-01-20 2022-05-13 深圳华鹊景医疗科技有限公司 康复机器人控制方法、装置及康复机器人

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7217247B2 (en) * 2002-09-23 2007-05-15 Honda Giken Kogyo Kabushiki Kaisha Gravity compensation method in a human assist system and a human assist system with gravity compensation control
US8924021B2 (en) * 2006-04-27 2014-12-30 Honda Motor Co., Ltd. Control of robots from human motion descriptors
CN100446942C (zh) * 2007-03-08 2008-12-31 华中科技大学 一种模块化嵌入式多足机器人运动控制器
JP6321905B2 (ja) * 2010-02-25 2018-05-09 本田技研工業株式会社 関節システムの制御方法、記憶媒体、制御システム
US8874262B2 (en) * 2011-09-27 2014-10-28 Disney Enterprises, Inc. Operational space control of rigid-body dynamical systems including humanoid robots
WO2014146095A1 (en) * 2013-03-15 2014-09-18 Intuitive Surgical Operations, Inc. System and methods for managing multiple null-space objectives and sli behaviors
US9186795B1 (en) * 2013-06-24 2015-11-17 Redwood Robotics, Inc. Programming and execution of force-based tasks with torque-controlled robot arms
JP5962679B2 (ja) * 2014-01-20 2016-08-03 トヨタ自動車株式会社 2足歩行ロボット制御方法及び2足歩行ロボット制御システム
CN104407611B (zh) * 2014-09-30 2017-02-01 同济大学 一种仿人机器人稳定行走的控制方法
US10796204B2 (en) * 2017-02-27 2020-10-06 Huawei Technologies Co., Ltd. Planning system and method for controlling operation of an autonomous vehicle to navigate a planned path
CN107957684A (zh) * 2017-11-17 2018-04-24 华南理工大学 一种基于虚拟速度向量场的机器人三维无碰轨迹规划方法
CN108333941A (zh) * 2018-02-13 2018-07-27 华南理工大学 一种基于混合增强智能的云机器人协作学习方法
CN108415460B (zh) * 2018-03-29 2020-09-22 北京航空航天大学 一种组合分离式旋翼与足式移动操作机器人集中-分布式控制方法
CN108873687B (zh) * 2018-07-11 2020-06-26 哈尔滨工程大学 一种基于深度q学习的智能水下机器人行为体系结规划方法
CN109460050B (zh) * 2018-11-16 2021-03-02 北京航空航天大学 一种针对变体无人机的复合分层抗干扰控制方法

Also Published As

Publication number Publication date
US20220009093A1 (en) 2022-01-13
US11602844B2 (en) 2023-03-14
CN111538234A (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
CN111538234B (zh) 任务分层控制方法、装置、机器人和可读存储介质
US11353887B2 (en) Robot centroid position adjustment method and apparatus and robot using the same
CN108189036B (zh) 力矩控制方法、装置、机器人及存储介质
CN104254430B (zh) 机器人控制设备、机器人装置及机器人控制方法和装置
de Wit et al. Theory of robot control
CN113319857B (zh) 机械臂力位混合控制方法、装置、电子设备及存储介质
CN113070881A (zh) 机器人运动控制方法、装置和机器人
Salvietti et al. Multicontact bilateral telemanipulation with kinematic asymmetries
Ruspini et al. Collision/contact models for dynamic simulation and haptic interaction
Karami et al. Force, orientation and position control in redundant manipulators in prioritized scheme with null space compliance
CN109491381B (zh) 基于观测器的多移动机器人自适应编队跟踪控制方法
JP2015051469A (ja) ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体
Khosla Some experimental results on model-based control schemes
CN112975965B (zh) 仿人机器人的解耦控制方法、装置和仿人机器人
CN115042178A (zh) 保证接触安全的机器人强化学习方法、装置、设备及介质
Reiter et al. Redundancy Resolution in Minimum-time Path Tracking of Robotic Manipulators.
Soumya et al. Model-based, distributed, and cooperative control of planar serial-link manipulators
Mingo Hoffman et al. Robot dynamics constraint for inverse kinematics
KR102492869B1 (ko) 영공간으로 투영된 작업 공간을 활용한 볼봇의 자세 균형 제어 방법 및 이를 이용하는 제어 시스템
Tyapin et al. Long arm manipulator path interpolation using 4th order b-splines
Libera et al. Forward Dynamics Estimation from Data-Driven Inverse Dynamics Learning
Han et al. Stabilization of pan-tilt systems using acceleration based LMI-LQR controller
Meer Experiments in cooperative manipulation of flexible objects
Yankov Inertial parameters of the robot Mover 4
Shen et al. A joint space formulation for compliant motion control of robot manipulators

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Ren Xiaoyu

Inventor after: Huang Liqun

Inventor after: Xiong Youjun

Inventor before: Ren Xiaoyu

Inventor before: Huang Liqun

Inventor before: Zhao Mingguo

Inventor before: Xiong Youjun