CN111390905B - 机器人多任务控制方法、控制装置及终端设备 - Google Patents
机器人多任务控制方法、控制装置及终端设备 Download PDFInfo
- Publication number
- CN111390905B CN111390905B CN202010190435.2A CN202010190435A CN111390905B CN 111390905 B CN111390905 B CN 111390905B CN 202010190435 A CN202010190435 A CN 202010190435A CN 111390905 B CN111390905 B CN 111390905B
- Authority
- CN
- China
- Prior art keywords
- control
- robot
- task
- constraint
- multitask
- 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
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012545 processing Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 99
- 238000004590 computer program Methods 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 5
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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/1679—Programme controls characterised by the tasks executed
-
- 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/1602—Programme controls characterised by the control system, structure, architecture
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
本申请适用于机器人技术领域,提供了一种机器人多任务控制方法、控制装置及终端设备,所述方法包括:对于每个控制时刻,根据预设的优先级调整模型计算所述控制时刻对应的任务优先级参数;根据所述控制时刻对应的每个单任务控制器的单任务输出和计算出的所述控制时刻对应的任务优先级参数,计算所述控制时刻对应的多任务总输出;根据计算出的所述控制时刻对应的多任务总输出,在所述控制时刻对所述机器人进行多任务控制。通过上述方法,使得机器人在执行多个任务的同时,能够保证姿态的稳定性,有效提高了机器人同时处理多任务时的鲁棒性。
Description
技术领域
本申请属于机器人技术领域,尤其涉及一种机器人多任务控制方法、控制装置及终端设备。
背景技术
随着自动控制技术的发展,机器人处理任务的能力在不断地提升,不再局限于单任务的处理。例如,类人机器人通常会同时处理多个任务。当同时处理多个任务时,往往会产生冗余动作,影响机器人的姿态稳定性。
目前解决上述问题的主要方法是,设置用于区分不同任务的相对重要性的优先级参数,通过优先级参数对多个任务进行协调,以此保证机器人处理多任务时的姿态稳定性。但是现有技术中,优先级参数通常是预先设置的,不能适应性地进行调整。当工作环境发生变化(如障碍物的位置变化等)时,机器人无法以稳定地姿态来同时执行多个任务,鲁棒性较差。
发明内容
本申请实施例提供了一种机器人多任务控制方法、控制装置及终端设备,可以解决机器人同时处理多任务时鲁棒性较差的问题。
第一方面,本申请实施例提供了一种机器人多任务控制方法,应用于机器人多任务控制系统,所述机器人多任务控制系统中包括多个单任务控制器,每个所述单任务控制器用于处理所述机器人的一个控制任务,所述方法包括:
对于每个控制时刻,根据预设的优先级调整模型计算所述控制时刻对应的任务优先级参数;
根据所述控制时刻对应的每个单任务控制器的单任务输出和计算出的所述控制时刻对应的任务优先级参数,计算所述控制时刻对应的多任务总输出;
根据计算出的所述控制时刻对应的多任务总输出,在所述控制时刻对所述机器人进行多任务控制。
在第一方面的一种可能的实现方式中,在所述根据预设的优先级调整模型计算所述控制时刻对应的任务优先级参数之前,所述方法还包括:
获取预设的机器人控制模型;
根据所述机器人控制模型,建立所述任务优先级调整模型。
在第一方面的一种可能的实现方式中,所述机器人控制模型包括所述机器人的至少一个目标控制姿态和至少一个控制状态约束;
所述根据所述机器人控制模型,建立所述任务优先级调整模型,包括:
根据所述目标控制姿态确定目标函数;
根据所述控制状态约束确定约束函数;
根据所述目标函数和所述约束函数建立所述任务优先级调整模型。
在第一方面的一种可能的实现方式中,所述根据所述目标函数和所述约束函数建立所述任务优先级调整模型,包括:
根据所述目标函数和所述约束函数建立二次规划模型,并将所述二次规划模型作为所述任务优先级调整模型。
在第一方面的一种可能的实现方式中,所述根据所述目标函数和所述约束函数建立二次规划模型,包括:
其中,为所述目标函数, 为所述约束函数中的第m个不等式约束函数,为所述约束函数中的第n个等式约束函数,α为第t+1个控制时刻对应的任务优先级参数,Qα为预设的常数矩阵,go,i为第i个机器人目标姿态,gc,m为第m个机器人状态约束,gc,n为第n个机器人状态约束,为第t个控制时刻对应的多任务总输出,为第t个控制时刻对应的各个单任务控制器的单任务输出组成的向量,Δt为所述优先级参数的调整周期,Io表示所述目标控制姿态的个数,Iie为所述不等式约束函数的个数,Ie为所述等式约束函数的个数,km和bm为第m个约束函数对应的常数,kn和bn为第n个约束函数对应的常数。
在第一方面的一种可能的实现方式中,在所述根据所述控制时刻对应的每个单任务控制器的单任务输出和计算出的所述控制时刻对应的任务优先级参数,计算所述控制时刻对应的多任务总输出之前,所述方法还包括:
获取所述机器人当前的运动状态,并根据所述当前的运动状态和所述机器人控制模型中的目标控制姿态,确定所述控制时刻对应的姿态误差;
根据最小二乘法和所述控制时刻对应的姿态误差,分别计算所述控制时刻对应的每个单任务控制器的单任务输出。
在第一方面的一种可能的实现方式中,所述优先级参数包括N个优先级权值,每个优先级权值对应一个单任务控制器,其中,N为所述单任务控制器的个数;
所述根据所述控制时刻对应的每个单任务控制器的单任务输出和计算出的所述控制时刻对应的任务优先级参数,计算所述控制时刻对应的多任务总输出,包括;
将所述控制时刻对应的每个单任务控制器的单任务输出与各自对应的所述优先级权值进行加权求和,得到所述控制时刻对应的多任务总输出。
第二方面,本申请实施例提供了一种机器人多任务控制装置,包括:
优先级调整单元,用于对于每个控制时刻,根据预设的优先级调整模型计算所述控制时刻对应的任务优先级参数;
总输出计算单元,用于根据所述控制时刻对应的每个单任务控制器的单任务输出和计算出的所述控制时刻对应的任务优先级参数,计算所述控制时刻对应的多任务总输出;
机器人控制单元,用于根据计算出的所述控制时刻对应的多任务总输出,在所述控制时刻对所述机器人进行多任务控制。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面中任一项所述的机器人多任务控制方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述第一方面中任一项所述的机器人多任务控制方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的机器人多任务控制方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本申请实施例与现有技术相比存在的有益效果是:
本申请实施例中在每个控制时刻,根据预设的优先级调整模型计算所述控制时刻对应的任务优先级参数,实时调整任务优先级参数;根据所述控制时刻对应的每个单任务控制器的单任务输出和计算出的所述控制时刻对应的任务优先级参数,计算所述控制时刻对应的多任务总输出,并根据计算出的所述控制时刻对应的多任务总输出,在所述控制时刻对所述机器人进行多任务控制。利用上述方法,在实时调整各个任务优先级的前提下,实时计算多任务总输出,使得机器人在执行多个任务的同时,能够保证姿态的稳定性,有效提高了机器人同时处理多任务时的鲁棒性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的机器人多任务控制系统的示意图;
图2是本申请一实施例提供的机器人多任务控制方法的流程示意图;
图3是本申请一实施例提供的任务优先级调整模型的建立方法流程示意图;
图4是本申请一实施例提供的机器人多任务控制装置的结构框图;
图5是本申请一实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
参见图1,为本申请实施例提供的机器人多任务控制系统的示意图。如图1所示,机器人多任务控制系统包括机器人101、终端设备102和多个单任务控制器103。机器人、终端设备和多个单任务控制器分别通信连接。机器人可以是类人机器人、机械手等等。终端设备可以是电脑、手机、处理器等具有数据处理功能的设备。单任务控制器可以是处理器等具有数据处理功能的设备,当然,也可以是一个处理器分为多个并行计算通道,每个通道作为一个单任务控制器。在实际应用中,所述单任务控制器还可以被集成在所述终端设备内。
在应用过程中,每个单任务控制器可以实时获取机器人的运动状态,并根据运动状态处理机器人的一个控制任务,计算出对应的单任务输出;终端设备从多个单任务控制器中获取各个单任务输出,并利用本申请实施例中的机器人多任务控制方法实时计算多任务总输出,并利用多任务总输出对机器人进行控制。
图2示出了本申请一实施例提供的机器人多任务控制方法的流程示意图,作为示例而非限定,所述方法可以包括以下步骤:
S201,对于每个控制时刻,根据预设的优先级调整模型计算所述控制时刻对应的任务优先级参数。
控制时刻的周期可以是根据实际需要预先设定的。本申请实施例中的控制时刻是指对机器人发送控制指令的时刻,即将多任务总输出发送给机器人的时刻。
任务优先级参数可以用来反映多个单任务之间的相对重要程度。
在实际应用中,需要预先建立任务优先级调整模型。在一个实施例中,建立任务优先级调整模型的方法,可以包括:
S11,获取预设的机器人控制模型。
其中,所述机器人控制模型包括所述机器人的至少一个目标控制姿态和至少一个控制状态约束。
目标控制姿态可以是机器人的全局目标,比如机器人的目标位置、目标姿态等等。控制状态约束可以是保证机器人运动安全的约束,如机器人与障碍物的距离、机器人关节角限制等等。
S12,根据所述机器人控制模型,建立所述任务优先级调整模型。
具体方法可参见图3实施例中的描述,在此不再赘述。
S202,根据所述控制时刻对应的每个单任务控制器的单任务输出和计算出的所述控制时刻对应的任务优先级参数,计算所述控制时刻对应的多任务总输出。
各个单任务控制器可以根据机器人的运动状态分别处理机器人的一个控制任务,得到单任务输出。然后根据优先级参数(即各个单任务之间的相对重要程度),将各个单任务输出组合在一起,得到多任务总输出。这里的多任务总输出可以作为控制指令发送给机器人。
在一个实施例中,对于每个单任务控制器,计算单任务输出的方法,可以包括以下步骤:
S21,获取所述机器人当前的运动状态,并根据所述当前的运动状态和所述机器人控制模型中的目标控制姿态,确定所述控制时刻对应的姿态误差。
其中,运动姿态可以包括关节位置、关节旋转角度、关节角度等等。
终端设备在每个控制时刻向机器人发送控制指令,但是在每两个控制指令之间的时间间隔(即控制周期)内,机器人始终保持运动。因此,本申请实施例中的当前的运动状态可以指需要计算单任务输出时获取到的运动状态。示例性的,每个1s发送一次控制指令。第1s发送控制指令(多任务总输出)后,机器人根据控制指令进行运动,运动到1.5s时,获取机器人当前的运动状态,并根据该运动状态计算单任务输出;然后根据单任务输出计算第2s对应的控制指令(多任务总输出)。
当然,也可以规定,在每个控制时刻获取机器人的当前运动状态。示例性的,第1s发送控制指令后,机器人根据控制指令运动。当机器人运动到第2s时,获取此时的运动状态,并根据该运动状态计算单任务输出,进而计算第2s对应的控制指令。
另一种方式,还可以将控制周期(每两个控制时刻之间的时间间隔)划分为多个运动时刻,在每个运动时刻获取当前的运动状态并计算一次单任务输出,然后计算当前运动周期内这些单任务输出的平均值,再根据这个平均值计算下一个控制时刻的多任务总输出。示例性的,将控制周期1s划分为10个运动时刻,分别计算第1.0s时的各个单任务输出(获取第1.0s的运动状态)、第1.1s时的各个单任务输出(获取第1.1s的运动状态)、……以及第1.9s时的各个单任务输出(获取第1.9s的运动状态)的单任务输出。假设共有2个任务,那么将第一个任务对应的10个单任务输出的平均值作为第一个任务在第2s对应的单任务输出,将第二个任务对应的10个单任务输出的平均值作为第二个任务在第2s对应的单任务输出。再根据2个任务在第2s各自对应的单任务输出,计算第2s对应的多任务总输出。
S22,根据最小二乘法和所述控制时刻对应的姿态误差,分别计算所述控制时刻对应的每个单任务控制器的单任务输出。
示例性的,假设目标控制姿态为目标关节位置,则第i个任务对应的姿态误差其中,e为当前的关节位置和目标关节位置之间的差值;为e的导数,用于表征关节位置的变化速度;为e的二阶导数,用于表征关节位置的变化加速度;kd和kp分别为增益。利用最小二乘法计算,即利用公式计算第i个单任务输出。其中,为关节位置的二阶导数,可以表征关节位置变化的加速度,可以将作为单任务输出。
在一个实施例中,所述优先级参数包括N个优先级权值,每个优先级权值对应一个单任务控制器,其中,N为所述单任务控制器的个数。
相应的,步骤S202中,计算所述控制时刻对应的多任务总输出,包括;
将所述控制时刻对应的每个单任务控制器的单任务输出与各自对应的所述优先级权值进行加权求和,得到所述控制时刻对应的多任务总输出。
为了保证优先级权值的输出稳定性,优选的,将优先级权值的范围设置为[0,1]。
S203,根据计算出的所述控制时刻对应的多任务总输出,在所述控制时刻对所述机器人进行多任务控制。
在每个控制时刻,将多任务总输出作为控制指令发送给机器人。
本申请实施例中在每个控制时刻,根据预设的优先级调整模型计算所述控制时刻对应的任务优先级参数,实时调整任务优先级参数;根据所述控制时刻对应的每个单任务控制器的单任务输出和计算出的所述控制时刻对应的任务优先级参数,计算所述控制时刻对应的多任务总输出,并根据计算出的所述控制时刻对应的多任务总输出,在所述控制时刻对所述机器人进行多任务控制。利用上述方法,在实时调整各个任务优先级的前提下,实时计算多任务总输出,使得机器人在执行多个任务的同时,能够保证姿态的稳定性,有效提高了机器人同时处理多任务时的鲁棒性。
参见图3,为本申请实施例提供的任务优先级调整模型的建立方法流程示意图。如图3所示,步骤S21中,根据所述机器人控制模型,建立所述任务优先级调整模型的方法,可以包括以下几个步骤:
S301,根据所述目标控制姿态确定目标函数。
S302,根据所述控制状态约束确定约束函数。
任务优先级调整的目的,是为了寻找一组当前控制时刻对应的最优的任务优先级参数,以表征当前控制时刻多个任务之间的相对重要性,使得机器人在当前控制时刻同时执行多任务时,能够保证姿态的稳定性。
根据上述的任务优先级调整的目的,任务优先级调整模型的实质为最优化问题。在最优化问题中,需要建立确定目标函数和用于约束目标函数的约束函数。解决优化问题的过程,即为在约束函数的范围内,寻找使得目标函数的值最小的变量值。
在本申请实施例中,是为了对机器人的运动姿态进行稳定性控制,因此,可以根据机器人控制模型中的目标控制姿态确定目标函数,根据机器人控制模型中的控制状态约束确定约束函数。
S303,根据所述目标函数和所述约束函数建立所述任务优先级调整模型。
由于机器人控制的一个重要指标是计算速度,较快的计算速度这样才能保证机器人在有限的时间内达到姿态稳定的状态。由于二次规划模型是一种求解速度较快的最优化模型,因此,可选的,任务优先级调整模型可以是二次规划模型。
相应的,步骤S303可以包括:根据所述目标函数和所述约束函数建立二次规划模型,并将所述二次规划模型作为所述任务优先级调整模型。
示例性的,二次规划模型为:
其中,为所述目标函数, 为所述约束函数中的第m个不等式约束函数,为所述约束函数中的第n个等式约束函数,α为第t+1个控制时刻对应的任务优先级参数,Qα为预设的常数矩阵,go,i为第i个机器人目标姿态,gc,m为第m个机器人状态约束,gc,n为第n个机器人状态约束,为第t个控制时刻对应的多任务总输出,为第t个控制时刻对应的各个单任务控制器的单任务输出组成的向量,Δt为所述优先级参数的调整周期,Io表示所述目标控制姿态的个数,Iie为所述不等式约束函数的个数,Ie为所述等式约束函数的个数,km和bm为第m个约束函数对应的常数,kn和bn为第n个约束函数对应的常数。
从上述模型可知,要计算t+1控制时刻的任务优先级参数,需要用到t控制时刻对应的单任务输出和多任务总输出,而t控制时刻的单任务输出又能够反映t控制时刻的机器人的运动状态。换句话说,任务优先级参数是实时调整的,每个控制时刻对应的各个任务的相对重要程度都会根据上一个控制时刻的机器人运动状态和多任务总输出进行相应的调整,以使机器人在执行多任务时能够保证姿态的稳定性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的方法,图4示出了本申请实施例提供的机器人多任务控制装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图4,该装置包括:
优先级调整单元41,用于对于每个控制时刻,根据预设的优先级调整模型计算所述控制时刻对应的任务优先级参数。
总输出计算单元42,用于根据所述控制时刻对应的每个单任务控制器的单任务输出和计算出的所述控制时刻对应的任务优先级参数,计算所述控制时刻对应的多任务总输出。
机器人控制单元43,用于根据计算出的所述控制时刻对应的多任务总输出,在所述控制时刻对所述机器人进行多任务控制。
可选的,装置4还包括:
获取单元,用于在所述根据预设的优先级调整模型计算所述控制时刻对应的任务优先级参数之前,获取预设的机器人控制模型。
建立模型单元,用于根据所述机器人控制模型,建立所述任务优先级调整模型。
可选的,所述机器人控制模型包括所述机器人的至少一个目标控制姿态和至少一个控制状态约束。
可选的,建立模型单元包括:
目标函数建立模块,用于根据所述目标控制姿态确定目标函数。
约束函数建立模块,用于根据所述控制状态约束确定约束函数。
模型建立模块,用于根据所述目标函数和所述约束函数建立所述任务优先级调整模型。
可选的,模型建立模块,还用于根据所述目标函数和所述约束函数建立二次规划模型,并将所述二次规划模型作为所述任务优先级调整模型。
可选的,模型建立模块还用于:
其中,为所述目标函数, 为所述约束函数中的第m个不等式约束函数,为所述约束函数中的第n个等式约束函数,α为第t+1个控制时刻对应的任务优先级参数,Qα为预设的常数矩阵,go,i为第i个机器人目标姿态,gc,m为第m个机器人状态约束,gc,n为第n个机器人状态约束,为第t个控制时刻对应的多任务总输出,为第t个控制时刻对应的各个单任务控制器的单任务输出组成的向量,Δt为所述优先级参数的调整周期,Io表示所述目标控制姿态的个数,Iie为所述不等式约束函数的个数,Ie为所述等式约束函数的个数,km和bm为第m个约束函数对应的常数,kn和bn为第n个约束函数对应的常数。
可选的,装置4还包括:
确定单元,用于在所述根据所述控制时刻对应的每个单任务控制器的单任务输出和计算出的所述控制时刻对应的任务优先级参数,计算所述控制时刻对应的多任务总输出之前,获取所述机器人当前的运动状态,并根据所述当前的运动状态和所述机器人控制模型中的目标控制姿态,确定所述控制时刻对应的姿态误差。
计算单元,用于根据最小二乘法和所述控制时刻对应的姿态误差,分别计算所述控制时刻对应的每个单任务控制器的单任务输出。
可选的,所述优先级参数包括N个优先级权值,每个优先级权值对应一个单任务控制器,其中,N为所述单任务控制器的个数。
可选的,总输出计算单元42,还用于将所述控制时刻对应的每个单任务控制器的单任务输出与各自对应的所述优先级权值进行加权求和,得到所述控制时刻对应的多任务总输出。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
另外,图4所示的装置可以是内置于现有的终端设备内的软件单元、硬件单元、或软硬结合的单元,也可以作为独立的挂件集成到所述终端设备中,还可以作为独立的终端设备存在。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图5为本申请一实施例提供的终端设备的结构示意图。如图5所示,该实施例的终端设备5包括:至少一个处理器50(图5中仅示出一个)处理器、存储器51以及存储在所述存储器51中并可在所述至少一个处理器50上运行的计算机程序52,所述处理器50执行所述计算机程序52时实现上述任意各个机器人多任务控制方法实施例中的步骤。
所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图5仅仅是终端设备5的举例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),该处理器50还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51在一些实施例中可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51在另一些实施例中也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (6)
1.一种机器人多任务控制方法,其特征在于,应用于机器人多任务控制系统,所述机器人多任务控制系统中包括多个单任务控制器,每个所述单任务控制器用于处理所述机器人的一个控制任务,所述方法包括:
获取预设的机器人控制模型,所述机器人控制模型包括所述机器人的至少一个目标控制姿态和至少一个控制状态约束;
根据所述机器人控制模型,建立任务优先级调整模型;
对于每个控制时刻,根据预设的优先级调整模型计算所述控制时刻对应的任务优先级参数;
根据所述控制时刻对应的每个单任务控制器的单任务输出和计算出的所述控制时刻对应的任务优先级参数,计算所述控制时刻对应的多任务总输出;
根据计算出的所述控制时刻对应的多任务总输出,在所述控制时刻对所述机器人进行多任务控制;
所述根据所述控制时刻对应的每个单任务控制器的单任务输出和计算出的所述控制时刻对应的任务优先级参数,计算所述控制时刻对应的多任务总输出,包括;
将所述控制时刻对应的每个单任务控制器的单任务输出与各自对应的所述优先级权值进行加权求和,得到所述控制时刻对应的多任务总输出;
所述根据所述机器人控制模型,建立所述任务优先级调整模型,包括:
根据所述目标控制姿态确定目标函数;
根据所述控制状态约束确定约束函数;
根据所述目标函数和所述约束函数建立所述任务优先级调整模型;
所述根据所述目标函数和所述约束函数建立所述任务优先级调整模型,包括:
根据所述目标函数和所述约束函数建立二次规划模型,并将所述二次规划模型作为所述任务优先级调整模型;
所述根据所述目标函数和所述约束函数建立二次规划模型,包括:
2.如权利要求1所述的机器人多任务控制方法,其特征在于,在所述根据所述控制时刻对应的每个单任务控制器的单任务输出和计算出的所述控制时刻对应的任务优先级参数,计算所述控制时刻对应的多任务总输出之前,所述方法还包括:
获取所述机器人当前的运动状态,并根据所述当前的运动状态和所述机器人控制模型中的目标控制姿态,确定所述控制时刻对应的姿态误差;
根据最小二乘法和所述控制时刻对应的姿态误差,分别计算所述控制时刻对应的每个单任务控制器的单任务输出。
3.如权利要求1所述的机器人多任务控制方法,其特征在于,所述优先级参数包括N个优先级权值,每个优先级权值对应一个单任务控制器,其中,N为所述单任务控制器的个数。
4.一种机器人多任务控制装置,其特征在于,包括:
获取单元,用于获取预设的机器人控制模型,所述机器人控制模型包括所述机器人的至少一个目标控制姿态和至少一个控制状态约束;
建立模型单元,用于根据所述机器人控制模型,建立任务优先级调整模型;
优先级调整单元,用于对于每个控制时刻,根据预设的优先级调整模型计算所述控制时刻对应的任务优先级参数;
总输出计算单元,用于根据所述控制时刻对应的每个单任务控制器的单任务输出和计算出的所述控制时刻对应的任务优先级参数,计算所述控制时刻对应的多任务总输出;
机器人控制单元,用于根据计算出的所述控制时刻对应的多任务总输出,在所述控制时刻对所述机器人进行多任务控制;
所述建立模型单元包括:目标函数建立模块,用于根据所述目标控制姿态确定目标函数;
约束函数建立模块,用于根据所述控制状态约束确定约束函数;
模型建立模块,用于根据所述目标函数和所述约束函数建立二次规划模型,并将所述二次规划模型作为所述任务优先级调整模型,其中,根据所述目标函数和所述约束函数建立二次规划模型,包括:
其中,为所述目标函数, 为所述约束函数中的第m个不等式约束函数,为所述约束函数中的第n个等式约束函数,α为第t+1个控制时刻对应的任务优先级参数,Qα为预设的常数矩阵,go,i为第i个机器人目标姿态,gc,m为第m个机器人状态约束,gc,n为第n个机器人状态约束,为第t个控制时刻对应的多任务总输出,为第t个控制时刻对应的各个单任务控制器的单任务输出组成的向量,Δt为所述优先级参数的调整周期,Io表示所述目标控制姿态的个数,Iie为所述不等式约束函数的个数,Ie为所述等式约束函数的个数,km和bm为第m个约束函数对应的常数,kn和bn为第n个约束函数对应的常数;
所述总输出计算单元,还用于将所述控制时刻对应的每个单任务控制器的单任务输出与各自对应的所述优先级权值进行加权求和,得到所述控制时刻对应的多任务总输出。
5.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述的方法。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010190435.2A CN111390905B (zh) | 2020-03-18 | 2020-03-18 | 机器人多任务控制方法、控制装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010190435.2A CN111390905B (zh) | 2020-03-18 | 2020-03-18 | 机器人多任务控制方法、控制装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111390905A CN111390905A (zh) | 2020-07-10 |
CN111390905B true CN111390905B (zh) | 2021-12-10 |
Family
ID=71424673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010190435.2A Active CN111390905B (zh) | 2020-03-18 | 2020-03-18 | 机器人多任务控制方法、控制装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111390905B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115097726B (zh) * | 2022-04-25 | 2023-03-10 | 深圳市人工智能与机器人研究院 | 一种智能体共识控制方法、装置、设备及存储终端 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8004229B2 (en) * | 2005-05-19 | 2011-08-23 | Intuitive Surgical Operations, Inc. | Software center and highly configurable robotic systems for surgery and other uses |
CN103231381B (zh) * | 2013-05-03 | 2015-10-21 | 中山大学 | 一种冗余度机械臂的新型加速度层重复运动规划方法 |
EP3433062A1 (en) * | 2016-04-25 | 2019-01-30 | Siemens Aktiengesellschaft | Agile manufacturing platform and system |
CN110385709A (zh) * | 2018-04-17 | 2019-10-29 | 沈阳中科博微科技股份有限公司 | 一种基于机器人控制的多任务实时处理与同步方法 |
CN109917705B (zh) * | 2019-02-25 | 2021-10-22 | 弗徕威智能机器人科技(上海)有限公司 | 一种多任务调度方法 |
-
2020
- 2020-03-18 CN CN202010190435.2A patent/CN111390905B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111390905A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113119098B (zh) | 机械臂控制方法、机械臂控制装置及终端设备 | |
CN109732594B (zh) | 一种机器人控制方法、系统及机器人 | |
CN113119111A (zh) | 机械臂及其轨迹规划方法和装置 | |
CN110471409B (zh) | 机器人巡检方法、装置、计算机可读存储介质及机器人 | |
CN109760048B (zh) | 一种机器人的伺服控制方法、装置及机器人 | |
CN111319041B (zh) | 一种机器人位姿确定方法、装置、可读存储介质及机器人 | |
CN114227685B (zh) | 机械臂控制方法、装置、计算机可读存储介质及机械臂 | |
CN110955241A (zh) | 移动机器人避障方法、装置、移动机器人及存储介质 | |
CN111288995A (zh) | 移动机器人的路径规划方法、路径规划装置及终端设备 | |
CN111390905B (zh) | 机器人多任务控制方法、控制装置及终端设备 | |
CN113119104B (zh) | 机械臂控制方法、机械臂控制装置、计算设备及系统 | |
CN111123951A (zh) | 一种双足机器人及其轨迹跟随方法和装置 | |
CN112597612B (zh) | 机器人优化方法、装置、终端设备及计算机可读存储介质 | |
US11325247B2 (en) | Robotic arm control method and apparatus and terminal device using the same | |
CN113084791B (zh) | 机械臂控制方法、机械臂控制装置及终端设备 | |
CN114454981B (zh) | 双足机器人的弹跳运动控制方法、装置及双足机器人 | |
CN111890364A (zh) | 机器人的运动控制方法、装置、电子设备及存储介质 | |
CN114227686B (zh) | 一种机器人避障控制方法、装置、终端设备及存储介质 | |
CN112847340B (zh) | 一种控制方法、控制装置及机器人 | |
CN113119120B (zh) | 一种机器人的控制方法、装置及机器人 | |
CN114571463A (zh) | 动作检测方法、装置、可读存储介质及电子设备 | |
CN111716345B (zh) | 一种运动控制方法、运动控制装置及机械臂 | |
CN112757292A (zh) | 基于视觉的机器人自主装配方法及装置 | |
CN117506936B (zh) | 机械臂控制方法及主从控制系统 | |
CN116226590A (zh) | 基于轴角表示的阻抗控制方法、装置、设备及存储介质 |
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 |