[go: up one dir, main page]

CN117162080A - 机械臂的控制方法、装置、设备、存储介质及程序产品 - Google Patents

机械臂的控制方法、装置、设备、存储介质及程序产品 Download PDF

Info

Publication number
CN117162080A
CN117162080A CN202210577703.5A CN202210577703A CN117162080A CN 117162080 A CN117162080 A CN 117162080A CN 202210577703 A CN202210577703 A CN 202210577703A CN 117162080 A CN117162080 A CN 117162080A
Authority
CN
China
Prior art keywords
joint
predicted
end effector
pose
sequence
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
Application number
CN202210577703.5A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Lanzhou University
Original Assignee
Tencent Technology Shenzhen Co Ltd
Lanzhou University
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 Tencent Technology Shenzhen Co Ltd, Lanzhou University filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210577703.5A priority Critical patent/CN117162080A/zh
Publication of CN117162080A publication Critical patent/CN117162080A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Abstract

本申请公开了一种机械臂的控制方法、装置、设备、存储介质及程序产品,涉及人工智能技术的机器人控制技术领域。所述方法包括:获取机器臂的末端执行器在预测时段内的期望位姿序列和预测位姿序列,该预测时段包括当前时刻之后的多个采样时刻;基于期望位姿序列和预测位姿序列,构建末端执行器在当前时刻下的预测控制方程;对预测控制方程进行求解,得到末端执行器在当前时刻下的预测关节速度;根据末端执行器在当前时刻下的预测关节速度,控制末端执行器跟随当前时刻下的期望位姿移动。本申请实施例通过基于预测时段内的期望位姿和预测位姿,获取使得末端执行器能够跟随期望位姿移动的预测关节速度,提高了末端执行器的跟随精确性。

Description

机械臂的控制方法、装置、设备、存储介质及程序产品
技术领域
本申请实施例涉及人工智能技术的机器人控制技术领域,特别涉及一种机械臂的控制方法、装置、设备、存储介质及程序产品。
背景技术
近年来,随着机器臂控制技术的发展,机械臂拥有了更广泛的应用场合,诸如家庭、服务、工业、实验室等应用场合。
其中,冗余机械臂具有比一般机械臂更多的自由度,能够进行更加复杂的任务。通过给冗余机械臂更换不同的末端执行器可以完成不同的任务,诸如安装、搬运、打磨、喷涂、绘制、检测等。但是冗余机械臂具有更为复杂的控制方式,对此,相关技术通过针对冗余机械臂的末端执行器的位置进行跟随控制,使得末端执行器能够跟随期望位置移动。
然而对于复杂、难度高的任务,相关技术中末端执行器的跟随精度不够高。
发明内容
本申请实施例提供了一种机械臂的控制方法、装置、设备、存储介质及程序产品,能够控制机械臂的末端执行器进行位置和姿态(即位姿)的同步变化,从而提高了机械臂的末端执行器的跟随精确性,以及使得机械臂能够应对复杂且难度高的任务。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种机械臂的控制方法,所述方法包括:
获取所述机器臂的末端执行器在预测时段内的期望位姿序列和预测位姿序列;其中,所述期望位姿序列中包括所述预测时段内各个采样时刻下的期望位姿,所述预测位姿序列中包括所述预测时段内各个采样时刻下的预测位姿,所述预测时段包括当前时刻之后的多个采样时刻,所述采样时刻根据采样间隔时长获取;
基于所述期望位姿序列和所述预测位姿序列,构建所述末端执行器在当前时刻下的预测控制方程;其中,所述预测控制方程用于预测所述末端执行器在跟随所述预测时段内的期望位姿移动过程中累积的位姿跟随误差,所述位姿跟随误差用于表征所述期望位姿与所述预测位姿之间的差异;
对所述预测控制方程进行求解,得到所述末端执行器在所述当前时刻下的预测关节速度;
根据所述末端执行器在当前时刻下的预测关节速度,控制所述末端执行器跟随当前时刻下的期望位姿移动。
根据本申请实施例的一个方面,提供了一种机械臂的控制装置,所述装置包括:
位姿数据获取模块,用于获取所述机器臂的末端执行器在预测时段内的期望位姿序列和预测位姿序列;其中,所述期望位姿序列中包括所述预测时段内各个采样时刻下的期望位姿,所述预测位姿序列中包括所述预测时段内各个采样时刻下的预测位姿,所述预测时段包括当前时刻之后的多个采样时刻,所述采样时刻根据采样间隔时长获取;
预测方程构建模块,用于基于所述期望位姿序列和所述预测位姿序列,构建所述末端执行器在当前时刻下的预测控制方程;其中,所述预测控制方程用于预测所述末端执行器在跟随所述预测时段内的期望位姿移动过程中累积的位姿跟随误差,所述位姿跟随误差用于表征所述期望位姿与所述预测位姿之间的差异;
预测方程求解模块,用于对所述预测控制方程进行求解,得到所述末端执行器在所述当前时刻下的预测关节速度;
机械臂控制模块,用于根据所述末端执行器在当前时刻下的预测关节速度,控制所述末端执行器跟随当前时刻下的期望位姿移动。
根据本申请实施例的一个方面,提供了一种设备,所述设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述机械臂的控制方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述机械臂的控制方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该设备执行上述机械臂的控制方法。
本申请实施例提供的技术方案至少包括如下有益效果:
通过基于末端执行器在预测时段内的期望位姿和预测位姿,构建末端执行器在当前时刻下的预测控制方程,并求解得到当前时刻下的预测关节速度,该当前时刻下的预测关节速度能够使得末端执行器跟随当前时刻下的期望位姿移动,相比于仅通过末端执行器的位置进行末端执行器的跟随任务,本申请提供的技术方案能够提高末端执行器的跟随精确性。同时,由于能够控制机械臂的末端执行器进行位置和姿态(即位姿)的同步变化,使得机械臂能够应对复杂且难度高的任务,而不局限于简单的任务,从而提高了机械臂的适用范围,以及机械臂执行任务的能力。
另外,由于每个当前时刻均需重新确定一个预测关节速度,即使在因外界环境(如外界作用力)的影响而导致末端执行器偏移了期望位姿的情况下,本申请实施例也能够使得末端执行器快速恢复到期望位姿下,从而提高了末端执行器的跟随鲁棒性。同时,避免了累积误差对跟随控制的影响,进一步提高了末端执行器的跟随精确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的方案实施环境的示意图;
图2是本申请一个实施例提供的7自由度机械臂的结构示意图;
图3是本申请一个实施例提供的机械臂的控制方法的流程图;
图4是本申请另一个实施例提供的机械臂的控制方法的流程图;
图5是本申请一个实施例提供的7自由度机械臂执行绘制任务的示意图;
图6是本申请一个实施例提供的7自由度机械臂的位姿跟随轨迹的示意图;
图7是本申请一个实施例提供的7自由度机械臂在位姿跟随过程中的位置误差变化轨迹的示意图;
图8是本申请一个实施例提供的7自由度机械臂在位姿跟随过程中的关节角度变化轨迹的示意图;
图9是本申请一个实施例提供的7自由度机械臂在位姿跟随过程中的关节速度变化轨迹的示意图;
图10是本申请一个实施例提供的7自由度机械臂在位姿跟随过程中的关节加速度变化轨迹的示意图;
图11是本申请一个实施例提供的7自由度机械臂对应的期望姿态变化曲线和实际姿态变化曲线的示意图;
图12是本申请一个实施例提供的7自由度机械臂对应的姿态跟随误差变化曲线的示意图;
图13是本申请一个实施例提供的机械臂的控制装置的框图;
图14是本申请另一个实施例提供的机械臂的控制装置的框图;
图15是本申请一个实施例提供的设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请技术方案主要涉及人工智能技术中的机器人技术,主要涉及机器人智能控制。机器人是利用机械传动、现代微电子技术组合而成的一种能模仿人某种技能的机械电子设备,机器人是在电子、机械及信息技术的基础上发展而来的。机器人的样子不一定必须像人,只要能自主完成人类所赋予他的任务与命令,就属于机器人大家族的成员。机器人是一种自动化的机器,这种机器具备一些与人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力,是一种具有高度灵活性的自动化机器。随着计算机技术和人工智能技术的发展,使机器人在功能和技术层次上有了很大的提高,移动机器人和机器人的视觉和触觉等技术就是典型的代表。
本申请实施例提供的方法,各步骤的执行主体可以是设备,该设备是指具备数据计算、处理和存储能力的电子设备。该设备可以是指计算机设备,诸如PC(PersonalComputer,个人计算机)、平板电脑、智能手机、台式计算机、可穿戴设备、智能机器人、机械臂等终端;也可以是服务器。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。
本申请实施例提供的技术方案适用于任何需要机械臂控制的场景中,诸如制造业场景、实验室场景、家庭场景、医疗场景等。本申请实施例提供的机械臂的控制方法,能够提高末端执行器的跟随精确性。
在一个示例中,如图1所示,机械臂控制系统可以包括机械臂10和计算机设备20。
机械臂10可以是指多自由度机械臂,诸如6自由度机械臂、7自由度机械臂、8自由度机械臂等等。针对操作任务所需的维度(即自由度),机械臂又可具有冗余性,即无论是从运动学角度还是从动力学角度,都有无穷个可行解来满足一个操作任务。例如,针对需要6自由度的操作任务,使用7自由度机械臂,该7自由度的机械臂就具有冗余性。
计算机设备20可以是诸如PC、平板电脑、智能手机、台式计算机、可穿戴设备、智能机器人等终端;也可以是服务器。计算机设备20可用于控制机械臂10。计算机设备20又可用于存储来自机械臂10的测量数据(如关节角度、关节速度、关节加速度等),计算机设备20还可用于为机械臂10提供数据(如期望轨迹、期望位姿等)。
机械臂10和计算机设备20之间可以通过网络进行通信,如无线网络、有线网络等。
示例性地,计算机设备20基于机械臂10的末端执行器在预测时段内的期望位姿序列和预测位姿序列,获取末端执行器在当前时刻下的预测关节速度,并将当前时刻下的预测关节速度发送至机械臂10,机械臂10进而根据当前时刻下的预测关节速度,控制末端执行器跟随当前时刻下的期望位姿移动。
在另一些示例中,机械臂控制系统可以仅包括机械臂10,该机械臂10具备数据计算、处理和存储能力。例如,机械臂10基于机械臂10的末端执行器在预测时段内的期望位姿序列和预测位姿序列,获取末端执行器在当前时刻下的预测关节速度,进而根据当前时刻下的预测关节速度,控制末端执行器跟随当前时刻下的期望位姿移动。
请参考图2,其示出了本申请一个实施例提供的7自由度机械臂的结构示意图。机械臂200包括机械手臂201和末端执行器202。
机械臂手臂201包括7个关节轴,诸如3个肩关节轴、1个肘关节轴和3个腕关节轴。可以通过调整机械臂手臂201的7个关节轴,来移动末端执行器202。机械手臂201为7自由度冗余机械手臂(即比空间自由度多一个自由度),机械手臂201的各个关节轴配置有传感器,诸如位置传感器、速度传感器、力矩传感器等,通过该传感器,可以实时获取机械手臂201的各个关节轴的状态(如关节姿态、关节受力情况等)。示例性地,机械手臂201可以采用模块化关节设计,每个关节轴均配置有力矩传感器、霍尔电流传感器和位置编码器,其可用于获取机械手臂201的关节轴的实时状态信息,诸如关节角度、关节速度、关节力矩和关节电流等(利于机械手臂的主动柔顺、物体阻抗控制、内力阻抗控制等)。机械臂手臂201的7个关节轴分别由各自对应的关节驱动电机进行驱动。
在一些示例中,可以在机械手臂201的本体上敷设有人工触觉皮肤,其可用于获取作用于机械手臂201本体上的信息(利于机械手臂的全身柔顺控制)。可选地,还可在机械手臂201的本体上安装有视觉相机,其可用于获取操作任务空间中的视觉信息。
末端执行器202用于执行操作任务,诸如安装、搬运、打磨、喷涂、绘制、检测等。根据不同的操作任务,可以为机械臂200配置不同的末端执行器。示例性地,该末端执行器202可以配置为末端二指夹爪,末端二指夹爪可用于执行物体抓取、搬运等操作任务。末端执行器202也可配置有传感器,以实时获取末端执行器202的状态。
可选地,机械臂200上还设置有外接端口,该外接端口用于与计算机设备连接。示例性地,该计算机设备可以是一台NUC(Next Unit of Computing,下一个计算单元)小型计算机,以用于为机械臂200提供各个关节轴的控制信号,以控制机械臂200跟随期望姿态移动,该控制信号可以是各个关节轴在不同时刻下的预测关节速度、预测关节加速度、预测驱动电流等。例如,计算机设备基于机械臂200在预测时段内的期望位姿序列和预测位姿序列,构建预测控制方程,并对该预测控制方程进行求解,得到机械臂200的预测关节速度,计算机设备将预测关节速度发送给机械臂200,机械臂200基于预测关节速度对各个关节轴进行控制,从而实现控制机械臂200跟随期望姿态移动。在一些示例中,机械臂200可以自带控制装置,通过该控制装置进行各个关节轴的控制信号的确定,从而实现控制机械臂200跟随期望姿态移动。
请参考图3,其示出了本申请一个实施例提供的机械臂的控制方法的流程图。该方法各步骤的执行主体可以是图1所示方案实施环境中的机械臂10或计算机设备20。该方法可以包括如下几个步骤(301~304):
步骤301,获取机器臂的末端执行器在预测时段内的期望位姿序列和预测位姿序列;其中,期望位姿序列中包括预测时段内各个采样时刻下的期望位姿,预测位姿序列中包括预测时段内各个采样时刻下的预测位姿,预测时段包括当前时刻之后的多个采样时刻,采样时刻根据采样间隔时长获取。
在本申请实施例中,机械臂可以是指多自由度机械臂,诸如6自由度机械臂、7自由度机械臂、8自由度机械臂等等。末端执行器可用于执行操作任务,诸如安装、搬运、打磨、喷涂、绘制、检测等。根据不同的操作任务,可以为机械臂配置不同的末端执行器。机械臂和末端执行器与上述实施例介绍相同,这里不再赘述。
期望位姿序列是指由期望位姿按照时序排列得到的序列,期望位姿是指在操作任务中,末端执行器所被希望处于的位姿。位姿可以用于指示位置和姿态。例如,末端执行器的位姿可用于指示末端执行器的位置和姿态。预测位姿序列是指由预测位姿按照时序排列得到的序列,预测位姿是指在操作任务中末端执行器的可能位姿。预测位姿是一个预测数据(属于未知数据)。可选地,某一时刻下的预测位姿可以根据前一时刻下的预测位姿进行预测。该过程可以用如下方程表示:
f(σ(k+i))=f(σ(k))+J(σ(k))[σ(k+i)-σ(k)];
其中,i=1,2,...,N,N为预测时段包括的采样时刻的数量。f(σ(k+i))为末端执行器在第i个采样时刻下的预测位姿,σ(k+i)为机械臂在第i个采样时刻下的预测关节角度,k为当前时刻。f(σ(k))为末端执行器在当前时刻下的预测位姿,σ(k)为机械臂在当前时刻下的预测关节角度,J(σ(k))为机械臂的雅克比矩阵。
预测时段是指未来的某一时段,其可以根据实际使用需求进行设置与调整。例如,该预测时段可以是指以当前时刻的下一采样时刻为起点的时间段。采样时刻是指按照采样间隔时长所确定的时间点,该采样间隔时长也可以根据实际使用需求进行设置与调整。
示例性地,本申请实施例采用MPC(Model Predictive Control,模型预测控制)方法进行机械臂的控制。该MPC方法是一种通过模型(如数学方程)来预测系统(如机械臂)在某一未来时间段内的表现,以进行优化控制的方法,则本申请实施例中的预测时段即为该某一未来时间段,预测位姿则是末端执行器在该某一未来时间段内各个采样时刻下的预测表现。
例如,以预测时段为10s,采样间隔时长为0.01s为例,期望位姿序列包括未来10s内,每隔0.01s下的期望位姿,预测位姿序列包括未来10s内,每隔0.01s下的预测位姿。
在一个示例中,位姿对应的姿态可以用旋转向量进行表征,位姿对应的位置可以用简单的三维坐标进行表征。示例性地,位姿对应的姿态可以表征如下:
其中,表示姿态(即旋转向量),/>表示单位旋转轴,其方向由右手定则确定;/>表示末端执行器对应的围绕旋转轴逆时针旋转的角度。上角标T表示向量或矩阵的转置。在e(t)=(x,y,z)的情况下,/>对应为(x*θ,y*θ,z*θ)。此外,/>且/>
位姿对应的位置则可基于机械臂的基座,以三维坐标的形式进行表征。
步骤302,基于期望位姿序列和预测位姿序列,构建末端执行器在当前时刻下的预测控制方程;其中,预测控制方程用于预测末端执行器在跟随预测时段内的期望位姿移动过程中累积的位姿跟随误差,位姿跟随误差用于表征期望位姿与预测位姿之间的差异。
该预测控制方程用于获取末端执行器在当前时刻下的预测关节速度,以实现末端执行器跟随当前时刻下的期望位姿移动。示例性地,可以利用MPC方法,基于当前时刻下的期望位姿序列中的各个期望位姿,以及当前时刻下的预测位姿序列中的各个预测位姿,构建末端执行器在当前时刻下的预测控制方程。该预测控制方程即为机械臂在当前时刻下的预测控制模型。可选地,每个当前时刻下,均需重新计算得到一个预测控制方程,以实现机械臂在每个当前时刻下的跟随任务。
可选地,预测控制方程可以包括预测时段内每个采样时刻下的位姿跟随误差的和值。位姿跟随误差可以是指期望位姿与预测位姿之间的差值。对末端执行器在当前时刻下的预测控制方程进行最小化,即可获得末端执行器在当前时刻下的预测关节速度。
在一个示例中,在未来时段内的位姿跟随误差的基础上,还可以结合机械臂在未来时段内的预测关节速度(即预测关节角速度)和预测关节速度增量,来构建末端执行器在当前时刻下的预测控制方程,实现机械臂的能量消耗控制,如使机械臂的能量消耗最小化。其具体过程可以如下:
1、获取末端执行器在控制时段内的预测关节速度序列和预测关节速度增量序列;其中,预测关节速度序列中包括控制时段内各个采样时刻下的预测关节速度,预测关节加速度集合中包括控制时段内各个采样时刻下的预测关节速度增量,控制时段为预测时段的子时段。
其中,控制时段可以是指预测时段中的部分或全部,控制时段的起点与预测时段的起点相同、控制时段的采样间隔时长与预测时段的采样间隔时长相同,也即控制时段对应的时间长度小于或等于预测时段对应的时间长度。
预测关节速度序列是指由预测关节速度按照时序排列得到的序列,预测关节速度是指在操作任务中,机械臂的各个关节轴分别对应的可能关节速度。预测关节速度是一个预测数据(属于未知数据)。预测关节速度增量序列是指由预测关节速度增量按照时序排列得到的序列,预测关节速度增量是指在操作任务中,机械臂的各个关节轴分别对应的可能关节速度增量。预测关节速度增量是一个预测数据(属于未知数据)。可选地,某一时刻下的预测关节速度可以根据前一时刻下的预测关节速度进行预测,该过程可以用如下方程表示:
u(k+i)=Δu(k+i)+Δu(k+i-1)+...+Δu(k)+u(k-1);
其中,i=0,1,2,...,Nu-1,Nu为控制时段包括的采样时刻的数量,u(k+i)为机械臂在第i个采样时刻下的预测关节速度,Δu(k+i)为机械臂在第i个采样时刻下的预测关节速度增量,Δu(k)为机械臂在当前时刻下的预测关节速度增量,u(k-1)为机械臂在当前时刻的前一时刻下的预测关节速度。可选地,预测关节速度增量的获取过程可以表示如下:Δu(k+i)=u(k+i)-u(k+i-1)。
2、基于期望位姿序列、预测位姿序列、预测关节速度序列和预测关节速度增量序列,构建末端执行器在当前时刻下的预测控制方程。
可选地,预测控制方程可以分成三个部分,第一部分对应于预测关节速度序列,第二部分对应于预测关节速度增量序列,第三部分对应于期望位姿序列和预测位姿序列。
第一部分的获取过程可以如下:
获取末端执行器在当前时刻下的预测关节速度,再基于末端执行器在当前时刻下的预测关节速度,以及去除控制时段对应的最后一个预测关节速度后的预测关节速度序列,构建末端执行器在当前时刻下的关节速度优化方程;其中,关节速度优化方程用于表征从当前时刻到控制时段对应的倒数第二个采样时刻下的各个预测关节速度。
示例性地,末端执行器在当前时刻下的关节速度优化方程可以表示如下:
其中,Nu为控制时段包括的采样时刻的数量,k用于表征当前时刻,u(k+i)为机械臂在第i个采样时刻下的预测关节速度,为欧几里得范数,R1为预测关节速度的权重矩阵,/>n为机械臂的关节数量。
第二部分的获取过程可以如下:
获取末端执行器在当前时刻下的预测关节速度增量,再基于末端执行器在当前时刻下的预测关节速度增量,以及去除控制时段对应的最后一个预测关节速度增量后的预测关节速度增量序列,构建末端执行器在当前时刻下的关节速度增量优化方程;其中,关节速度增量优化方程用于表征从当前时刻到控制时段对应的倒数第二个采样时刻下的各个预测关节速度增量。
示例性地,末端执行器在当前时刻下的关节速度增量优化方程可以表示如下:
其中,Δu(k+i)为第i个采样时刻下的预测关节速度增量,Δu(k+i)=u(k+i)-u(k+i-1),为欧几里得范数,/>R2为预测关节速度增量的权重矩阵,/>
第三部分的获取过程可以如下:
基于期望位姿序列和预测位姿序列,构建末端执行器在当前时刻下的位姿误差优化方程;其中,位姿误差优化方程用于表征从当前时刻的下一采样时刻到预测时段对应的最后一个采样时刻下的各个位姿跟随误差。
示例性地,末端执行器在当前时刻下的位姿误差优化方程可以表示如下:
其中,N为预测时段包括的采样时刻的数量,σ(k+i)为机械臂在第i个采样时刻下的预测关节角度,f(σ(k+i))为末端执行器在第i个采样时刻下的预测位姿,Ωg(k+i)为末端执行器在第i个采样时刻下的期望位姿,表示末端执行器在第i个采样时刻下的期望位置,/>表示末端执行器在第i个采样时刻下的期望姿态,||·||Q为欧几里得范数,/>Q为位姿跟随误差的权重矩阵,
f(.):表示机械臂的末端执行器的位姿与机械臂的关节角度之间的一种映射关系,即Ω(k)=f(σ(k))。
最后,基于关节速度优化方程、关节速度增量优化方程和位姿误差优化方程,构建末端执行器在当前时刻下的预测控制方程。
可选地,可以将关节速度优化方程、关节速度增量优化方程和位姿误差优化方程的和值,确定为末端执行器在当前时刻下的预测控制方程。示例性地,末端执行器在当前时刻下的预测控制方程可以表示如下:
其中,为位姿误差优化方程,为关节速度优化方程,/>为关节速度增量优化方程,N为预测时段包括的采样时刻的数量,Nu为控制时段包括的采样时刻的数量,k用于表征当前时刻,σ(k+i)为机械臂在第i个采样时刻下的预测关节角度,f(σ(k+i))为末端执行器在第i个采样时刻下的预测位姿,Ωg(k+i)为末端执行器在第i个采样时刻下的期望位姿,/>表示末端执行器在第i个采样时刻下的期望位置,/>表示末端执行器在第i个采样时刻下的期望姿态,u(k+i)为第i个采样时刻下的预测关节速度,Δu(k+i)为第i个采样时刻下的预测关节速度增量,Δu(k+i)=u(k+i)-u(k+i-1),||·||Q、/>和/>为欧几里得范数, Q、R1和R2分别为位姿跟随误差、预测关节速度和预测关节速度增量的权重矩阵,n为机械臂的关节数量。
步骤303,对预测控制方程进行求解,得到末端执行器在当前时刻下的预测关节速度。
末端执行器在当前时刻下的预测关节速度即为机械臂在当前时刻下的控制信号(即控制量)。该预测关节速度可以包括机械臂对应的各个关节轴的预测关节速度,以实现对机械臂对应的各个关节轴进行控制,使得机械臂的末端执行器跟随当前时刻下的期望位姿移动。
在一个示例中,预测控制方程的求解过程可以如下:
1、获取机械臂对应的关节约束条件;其中,关节约束条件包括关节角度约束条件、关节速度约束条件和关节速度增量约束条件,关节角度约束条件用于约束机械臂在各个采样时刻下的关节角度,关节速度约束条件用于约束机械臂在从当前时刻到控制时段对应的倒数第二个采样时刻下的各个关节速度,关节速度增量约束条件用于约束机械臂在从当前时刻到控制时段对应的倒数第二个采样时刻下的各个关节速度增量。
示例性地,关节角度约束条件可以表示为:σmin≤σ(k+i)≤σmax,i=1,2,...,N;其中,σmin为机械臂的各个关节轴的关节角度下限序列,σmax为机械臂的各个关节轴的关节角度上限序列,N为预测时段包括的采样时刻的数量,σ(k+i)为机械臂在第i个采样时刻下的预测关节角度,k用于表征当前时刻。
关节速度约束条件可以表示为:i=0,1,...,Nu-1;其中,为机械臂的各个关节轴的关节速度下限序列,/>为机械臂的各个关节轴的关节速度上限序列,Nu为控制时段包括的采样时刻的数量,u(k+i)为机械臂在第i个采样时刻下的预测关节速度。
关节速度增量约束条件可以表示为:i=0,1,...,Nu-1;其中,/>为机械臂的各个关节轴的关节加速度下限序列,/>为机械臂的各个关节轴的关节加速度上限序列,Δu(k+i)为机械臂在第i个采样时刻下的预测关节速度增量,为机械臂在第i个采样时刻下的预测关节加速度,τ为采样间隔时长。
预测关节速度和预测关节加速度为控制量,所以需要从当前时刻开始进行约束。而当前时刻下的关节角度已成既定事实,无需再进行约束。
可选地,对于控制时段和预测时段不重叠的部分,即k+Nu+1到k+N,设置有Δu(k+i)=0。
2、在关节约束条件下,对预测控制方程进行求解,得到末端执行器在当前时刻下的预测关节速度。
可选地,在关节约束条件下,对末端执行器在当前时刻下的预测控制方程进行最小化,即可得到末端执行器在当前时刻下的预测关节速度。在关节约束条件下得到的预测关节速度,可以确保机械臂安全地执行操作任务。
步骤304,根据末端执行器在当前时刻下的预测关节速度,控制末端执行器跟随当前时刻下的期望位姿移动。
可选地,在每个当前时刻,均需要采用MPC方法,重新获取一个预测关节速度,并根据每个当前时刻下的预测关节速度,控制末端执行器跟随每个当前时刻下的期望姿态移动,以完成操作任务。
综上所述,本申请实施例提供的技术方案,通过基于末端执行器在预测时段内的期望位姿和预测位姿,构建末端执行器在当前时刻下的预测控制方程,并求解得到当前时刻下的预测关节速度,该当前时刻下的预测关节速度能够使得末端执行器跟随当前时刻下的期望位姿移动,相比于仅通过末端执行器的位置进行末端执行器的跟随任务,本申请提供的技术方案能够提高末端执行器的跟随精确性。同时,由于能够控制机械臂的末端执行器进行位置和姿态(即位姿)的同步变化,使得机械臂能够应对复杂且难度高的任务,而不局限于简单的任务,从而提高了机械臂的适用范围,以及机械臂执行任务的能力。
另外,由于每个当前时刻均需重新确定一个预测关节速度,即使在因外界环境(如外界作用力)的影响而导致末端执行器偏移了期望位姿的情况下,本申请实施例也能够使得末端执行器快速恢复到期望位姿下,从而提高了末端执行器的跟随鲁棒性。同时,避免了累积误差对跟随控制的影响,进一步提高了末端执行器的跟随精确性。
另外,通过MPC方法,基于位姿跟随误差、预测关节速度、预测关节速度增量、以及关节约束条件(即关节角度约束条件、关节速度约束条件和关节速度增加约束条件),来构建和求解预测控制方程,可以提高末端执行器的跟随安全性,以及降低末端执行器的跟随能量消耗。
在一个示例性实施例中,可以将MPC方法的求解过程准换为标准二次规划问题,以进行求解,也即将上述实施例得到的预测控制方程,转换为标准二次规划方程进行求解。
请参考图4,其示出了本申请另一个实施例提供的机械臂的控制方法的流程图。该方法各步骤的执行主体可以是图1所示方案实施环境中的机械臂10或计算机设备20。该方法可以包括如下几个步骤(401~406):
步骤401,获取机器臂的末端执行器在预测时段内的期望位姿序列和预测位姿序列;其中,期望位姿序列中包括预测时段内各个采样时刻下的期望位姿,预测位姿序列中包括预测时段内各个采样时刻下的预测位姿,预测时段包括当前时刻之后的多个采样时刻,采样时刻根据采样间隔时长获取。
步骤402,基于期望位姿序列和预测位姿序列,构建末端执行器在当前时刻下的预测控制方程;其中,预测控制方程用于预测末端执行器在跟随预测时段内的期望位姿移动过程中累积的位姿跟随误差,位姿跟随误差用于表征期望位姿与预测位姿之间的差异。
步骤403,获取机械臂对应的关节约束条件。
步骤401至步骤403与上述实施例介绍相同,本申请实施例未说明的内容,可以参考上述实施例,这里不再赘述。
步骤404,对关节约束条件和预测控制方程进行转换,得到预测控制方程对应的标准二次规划方程,以及关节约束条件对应的标准二次规划约束条件。
可选地,构建第一转换矩阵,该第一转换矩阵中的元素为预测时段内各个采样时刻下的期望位姿。
示例性地,第一转换矩阵可以表示如下:
其中,Ωk表示当前时刻下的第一转换矩阵,Ω(k+N)表示末端执行器在第N个采样时刻下的期望位姿。
构建第二转换矩阵,该第二转换矩阵中的元素为预测时段内各个采样时刻下的预测关节角度。
示例性地,第二转换矩阵可以表示如下:
其中,表示当前时刻下的第二转换矩阵,σ(k+N)表示机械臂在第N个采样时刻下的预测关节角度。
构建第三转换矩阵,该第三转换矩阵中的元素为从当前时刻到控制时段对应的倒数第二个采样时刻下的各个预测关节速度。
示例性地,第三转换矩阵可以表示如下:
其中,表示当前时刻下的第三转换矩阵,u(k+Nu-1)表示机械臂在控制时段对应的倒数第二个采样时刻下的预测关节速度。
构建第四转换矩阵,该第四转换矩阵中的元素为从当前时刻到控制时段对应的倒数第二个采样时刻下的各个预测关节速度增量。
示例性地,第四转换矩阵可以表示如下:
其中,表示当前时刻下的第四转换矩阵,Δu(k+Nu-1)表示机械臂在控制时段对应的倒数第二个采样时刻下的预测关节速度增量。
构建第五转换矩阵,该第五转换矩阵中的元素为当前时刻的前一时刻下的预测关节速度。
示例性地,第五转换矩阵可以表示如下:
其中,Iu表示当前时刻下的第五转换矩阵,u(k-1)表示机械臂在当前时刻的前一时刻下的预测关节速度。
构建第六转换矩阵,该第六转换矩阵中的元素为当前时刻下的预测关节角度。
示例性地,第六转换矩阵可以表示如下:
其中,Iσ表示当前时刻下的第六转换矩阵,σ(k)表示机械臂在当前时刻下的预测关节角度。
构建第七转换矩阵,该第七转换矩阵中的元素为当前时刻下的预测姿态。
示例性地,第七转换矩阵可以表示如下:
其中,If表示当前时刻下的第七转换矩阵,f(σ(k))表示机械臂在当前时刻下的预测姿态。
构建第八转换矩阵,该第八转换矩阵中的元素为各个采样时刻对应的时间长度与当前时刻的前一时刻下的预测关节速度的乘积。
示例性地,第八转换矩阵可以表示如下:
其中,V表示当前时刻下的第八转换矩阵,Nτu(k-1)表示第N个采样时刻对应的时间长度,与机械臂在当前时刻的前一时刻下的预测关节速度之间的乘积。
构建第九转换矩阵,该第九转换矩阵中由各个采样时刻对应的时间长度构成。
示例性地,第九转换矩阵可以表示如下:
其中,S表示当前时刻下的第九转换矩阵,Nτ表示第N个采样时刻对应的时间长度。
基于第一转换矩阵、第二转换矩阵、第三转换矩阵、第四转换矩阵、第五转换矩阵、第六转换矩阵、第七转换矩阵、第八转换矩阵和第九转换矩阵,对关节约束条件和预测控制方程进行转换,得到标准二次规划方程和标准二次规划约束条件。
示例性地,基于第九矩阵,构建第一中间矩阵,第一中间矩阵可以表示如下:
其中,I为单位矩阵,/>
基于第五矩阵、第六矩阵和第八矩阵,构建第二中间矩阵,第二中间矩阵可以表示如下:
其中,/>
h=vec(h′);其中,/>表示克罗内积,vec(·)表示向量化操作。
至此可得到标准二次规划方程:标准二次规划约束条件:Hv≥h。
步骤405,在标准二次规划约束条件下,利用有限时间收敛求解算法,对标准二次规划方程进行求解,得到末端执行器在当前时刻下的预测关节速度。
首先,引入松弛变量ρ,则标准二次规划方程可以改写为如下形式:标准二次规划约束条件可以改写为如下形式:Hv-h+ρ=0。
再增加一个惩罚项,以上约束优化问题可以被转化为无约束优化问题:
其中,μ>0为惩罚因子。由于该标准二次规划问题为凸优化问题,因此存在一个全局最优解满足以下条件:
因此,可得以下方程:Gy+b=0;
其中,
然后,建立误差函数ε=Gy+b,则可设计求解Gy+b=0的求解器,如下:
其中,ξ>0为收敛系数,Φ(·)由Φi(·)组成,Φi(·)被设计为如下形式:
其中,γ∈(0,1)为设计参数,εi为ε的第i个元素,α和β为正值参数,且
获取通过求解器求解,得到的求解结果,即当前时刻下的第四转换矩阵中的各个元素,将/>中的第一个元素Δu(k)作为当前时刻对应的求解结果。Δu(k)=u(k)-u(k-1),已知u(k-1),则可以获取末端执行器在当前时刻下的预测关节速度u(k)。
步骤406,根据末端执行器在当前时刻下的预测关节速度,控制末端执行器跟随当前时刻下的期望位姿移动。
可选地,根据当前时刻下的预测关节速度u(k),控制机械臂对应的各个关节轴,以实现控制末端执行器跟随当前时刻下的期望位姿移动。
综上所述,本申请实施例提供的技术方案,通过基于末端执行器在预测时段内的期望位姿和预测位姿,构建末端执行器在当前时刻下的预测控制方程,并求解得到当前时刻下的预测关节速度,该当前时刻下的预测关节速度能够使得末端执行器跟随当前时刻下的期望位姿移动,相比于仅通过末端执行器的位置进行末端执行器的跟随任务,本申请提供的技术方案能够提高末端执行器的跟随精确性。同时,由于能够控制机械臂的末端执行器进行位置和姿态(即位姿)的同步变化,使得机械臂能够应对复杂且难度高的任务,而不局限于简单的任务,从而提高了机械臂的适用范围,以及机械臂执行任务的能力。
另外,由于每个当前时刻均需重新确定一个预测关节速度,即使在因外界环境(如外界作用力)的影响而导致末端执行器偏移了期望位姿的情况下,本申请实施例也能够使得末端执行器快速恢复到期望位姿下,从而提高了末端执行器的跟随鲁棒性。同时,避免了累积误差对跟随控制的影响,进一步提高了末端执行器的跟随精确性。
在一个示例性实施例中,以7自由度机械臂执行绘制任务为例,对本申请实施例提供的机械臂的控制方法进行说明,其具体内容可以如下:
获取绘制任务,以及绘制任务对应的期望姿态。该绘制任务是指通过控制该7自由度机械臂的末端执行器,在纸张上绘制图形。例如,参考图5,根据绘制任务对应的期望位姿(如期望轨迹上的每个采样时刻下的期望位姿),对7自由度机器臂501的末端执行器进行控制,以使得末端执行器跟随期望位姿,绘制出图形502。
根据预测时段对应的采样时刻,获取各个采样时刻下的期望姿态,生成7自由度机械臂的末端执行器在预测时段内的期望位姿序列,以及获取各个采样时刻下的预测姿态,生成7自由度机械臂的末端执行器在预测时段内的预测位姿序列。例如,将预测时段设置为10s,采样间隔时长设置为0.01s。可选地,可以将每个采样时刻设置为当前时刻,也可以将预测关节速度的计算间隔时长设置为大于采样间隔时长,本申请实施例对此不作限定。
获取该7自由度机械臂的末端执行器在控制时段内的预测关节速度序列和预测关节速度增量序列;其中,预测关节速度序列中包括控制时段内各个采样时刻下的7个关节轴分别对应的预测关节速度,预测关节加速度集合中包括控制时段内各个采样时刻下的7个关节轴分别对应的预测关节速度增量,控制时段对应的时间长度小于或等于预测时段对应的时间长度。
获取该7自由度机械臂的7个关节轴分别对应的关节约束条件;其中,关节约束条件包括关节角度约束条件、关节速度约束条件和关节速度增量约束条件,关节角度约束条件用于约束预测关节角度,关节速度约束条件用于预测约束关节速度,关节速度增量约束条件(即关节加速度约束条件)用于约束预测关节速度增量。例如,该7个关节轴分别对应的关节角度约束条件可以设置如下:σmax=[2.89,1.76,2.89,-0.07,2.89,3.75,2.89]T弧度,σmin=[-2,89,-1.76,-2.89,-3.07,-2.89,-0.02,-2.89]T弧度。该7个关节轴分别对应的关节速度约束条件可以设置如下:弧度/秒。该7个关节轴分别对应的关节速度增量约束条件可以设置如下:弧度/秒2
采用MPC方法,基于该7自由度机械臂的末端执行器在预测时段内的期望位姿序列和预测位姿序列,以及该7自由度机械臂的末端执行器在控制时段内的预测关节速度序列和预测关节速度增量序列,构建该7自由度机械臂的末端执行器在当前时刻下的预测控制方程。
将该7自由度机械臂的末端执行器在当前时刻下的预测控制方程转换成该7自由度机械臂的末端执行器在当前时刻下的标准二次规划方程,以及将该7自由度机械臂的7个关节轴分别对应的关节约束条件转换成标准二次规划约束条件。
在该7自由度机械臂对应的标准二次规划约束条件下,利用有限时间收敛求解算法,对该7自由度机械臂的末端执行器在当前时刻下的标准二次规划方程进行求解,得到该7自由度机械臂的7个关节轴分别在当前时刻下的预测关节速度。
根据该7自由度机械臂的7个关节轴分别在当前时刻下的预测关节速度,对该7自由度机械臂的7个关节轴进行控制,使得该7自由度机械臂的末端执行器跟随当前时刻下的期望位姿移动,以进行图形的绘制。
以下对本申请实施例的实施效果进行说明。
参考图6,其示出了本申请一个实施例提供的7自由度机械臂的位姿跟随轨迹的示意图。该7自由度机械臂的末端执行器的实际轨迹602和末端执行器的期望轨迹(即预定轨迹)601向吻合,且该7自由度机械臂的末端执行器的轨迹变化处于平稳和连续的状态,能够很好地完成给定的位姿跟随任务。
参考图7,其示出了本申请一个实施例提供的7自由度机械臂在位姿跟随过程中的位置误差变化轨迹的示意图。根据X方向位置误差轨迹701、Y方向位置误差轨迹702和Z方向位置误差轨迹703,可以看出7自由度机械臂的末端执行器在三维空间中的位置跟随误差小于5×10-4米,体现了在本申请实施例提供的技术方案下,末端执行器在位置上的跟随有效性和精确性。
参考图8,其示出了本申请一个实施例提供的7自由度机械臂在位姿跟随过程中的关节角度变化轨迹的示意图。根据第一关节轴的关节角度变化曲线801、第二关节轴的关节角度变化曲线802、第三关节轴的关节角度变化曲线803、第四关节轴的关节角度变化曲线804、第五关节轴的关节角度变化曲线805、第六关节轴的关节角度变化曲线806和第七关节轴的关节角度变化曲线807,可以看出,7自由度机械臂在位姿跟随过程中,7个关节轴的关节角度均未超出关节角度约束条件。
参考图9,其示出了本申请一个实施例提供的7自由度机械臂在位姿跟随过程中的关节速度变化轨迹的示意图。根据第一关节轴的关节速度变化曲线901、第二关节轴的关节速度变化曲线902、第三关节轴的关节速度变化曲线903、第四关节轴的关节速度变化曲线904、第五关节轴的关节速度变化曲线905、第六关节轴的关节速度变化曲线906和第七关节轴的关节速度变化曲线907,可以看出,7自由度机械臂在位姿跟随过程中,7个关节轴的关节速度均未超出关节速度约束条件。
参考图10,其示出了本申请一个实施例提供的7自由度机械臂在位姿跟随过程中的关节加速度变化轨迹的示意图。根据第一关节轴的关节加速度变化曲线1001、第二关节轴的关节加速度变化曲线1002、第三关节轴的关节加速度变化曲线1003、第四关节轴的关节加速度变化曲线1004、第五关节轴的关节加速度变化曲线1005、第六关节轴的关节加速度变化曲线1006和第七关节轴的关节加速度变化曲线1007,可以看出,7自由度机械臂在位姿跟随过程中,7个关节轴的关节加速度均未超出关节加速度约束条件。
参考图11,其示出了本申请一个实施例提供的7自由度机械臂对应的期望姿态变化曲线和实际姿态变化曲线的示意图。X方向实际旋转向量1101和X方向期望旋转向量1104相吻合,Y方向实际旋转向量1102和Y方向期望旋转向量1105相吻合,Z方向实际旋转向量1103和Z方向期望旋转向量1106相吻合。
参考图12,其示出了本申请一个实施例提供的7自由度机械臂对应的姿态跟随误差变化曲线的示意图。根据X方向姿态跟随误差变化曲线1201、Y方向姿态跟随误差变化曲线1202和Z方向姿态跟随误差变化曲线1203,可以看出该7自由度机械臂的末端执行器在三维空间中的姿态跟随误差小于7×10-5米,体现了在本申请实施例提供的技术方案下,末端执行器在姿态上的跟随有效性和精确性。
基于图5至图12,可以看出采用本申请实施例提供的技术方案,可以有效提高末端执行器的跟随精确性和安全性。
综上所述,本申请实施例提供的技术方案,通过基于末端执行器在预测时段内的期望位姿和预测位姿,构建末端执行器在当前时刻下的预测控制方程,并求解得到当前时刻下的预测关节速度,该当前时刻下的预测关节速度能够使得末端执行器跟随当前时刻下的期望位姿移动,相比于仅通过末端执行器的位置进行末端执行器的跟随任务,本申请提供的技术方案能够提高末端执行器的跟随精确性。同时,由于能够控制机械臂的末端执行器进行位置和姿态(即位姿)的同步变化,使得机械臂能够应对复杂且难度高的任务,而不局限于简单的任务,从而提高了机械臂的适用范围,以及机械臂执行任务的能力。
另外,由于每个当前时刻均需重新确定一个预测关节速度,即使在因外界环境(如外界作用力)的影响而导致末端执行器偏移了期望位姿的情况下,本申请实施例也能够使得末端执行器快速恢复到期望位姿下,从而提高了末端执行器的跟随鲁棒性。同时,避免了累积误差对跟随控制的影响,进一步提高了末端执行器的跟随精确性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图13,其示出了本申请一个实施例提供的机械臂的控制装置的框图。该装置具有实现上述机械臂的控制方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上述设备,也可以设置在设备中。该装置1300可以包括:位姿数据获取模块1301、预测方程构建模块1302、预测方程求解模块1303和机械臂控制模块1304。
位姿数据获取模块1301,用于获取所述机器臂的末端执行器在预测时段内的期望位姿序列和预测位姿序列;其中,所述期望位姿序列中包括所述预测时段内各个采样时刻下的期望位姿,所述预测位姿序列中包括所述预测时段内各个采样时刻下的预测位姿,所述预测时段包括当前时刻之后的多个采样时刻,所述采样时刻根据采样间隔时长获取。
预测方程构建模块1302,用于基于所述期望位姿序列和所述预测位姿序列,构建所述末端执行器在当前时刻下的预测控制方程;其中,所述预测控制方程用于预测所述末端执行器在跟随所述预测时段内的期望位姿移动过程中累积的位姿跟随误差,所述位姿跟随误差用于表征所述期望位姿与所述预测位姿之间的差异。
预测方程求解模块1303,用于对所述预测控制方程进行求解,得到所述末端执行器在当前时刻下的预测关节速度。
机械臂控制模块1304,用于根据所述末端执行器在当前时刻下的预测关节速度,控制所述末端执行器跟随所述当前时刻下的期望位姿移动。
在一个示例性实施例中,如图14所示,所述预测方程构建模块1302,包括:速度数据获取子模块1302a和预测方程构建子模块1302b。
速度数据获取子模块1302a,用于获取所述末端执行器在控制时段内的预测关节速度序列和预测关节速度增量序列;其中,所述预测关节速度序列中包括所述控制时段内各个采样时刻下的预测关节速度,所述预测关节加速度集合中包括所述控制时段内各个采样时刻下的预测关节速度增量,所述控制时段为所述预测时段的子时段。
预测方程构建子模块1302b,用于基于所述期望位姿序列、所述预测位姿序列、所述预测关节速度序列和所述预测关节速度增量序列,构建所述末端执行器在当前时刻下的预测控制方程。
在一个示例性实施例中,所述预测方程构建子模块1302b,用于:
获取所述末端执行器在当前时刻下的预测关节速度和预测关节速度增量;
基于所述末端执行器在当前时刻下的预测关节速度,以及去除所述控制时段对应的最后一个预测关节速度后的所述预测关节速度序列,构建所述末端执行器在当前时刻下的关节速度优化方程;其中,所述关节速度优化方程用于表征从所述当前时刻到所述控制时段对应的倒数第二个采样时刻下的各个预测关节速度;
基于所述末端执行器在当前时刻下的预测关节速度增量,以及去除所述控制时段对应的最后一个预测关节速度增量后的所述预测关节速度增量序列,构建所述末端执行器在当前时刻下的关节速度增量优化方程;其中,所述关节速度增量优化方程用于表征从所述当前时刻到所述控制时段对应的倒数第二个采样时刻下的各个预测关节速度增量;
基于所述期望位姿序列和所述预测位姿序列,构建所述末端执行器在当前时刻下的位姿误差优化方程;其中,所述位姿误差优化方程用于表征从所述当前时刻的下一采样时刻到所述预测时段对应的最后一个采样时刻下的各个位姿跟随误差;
基于所述关节速度优化方程、所述关节速度增量优化方程和所述位姿误差优化方程,构建所述末端执行器在当前时刻下的预测控制方程。
在一个示例性实施例中,如图14所示,所述预测方程求解模块1303,包括:关节约束获取子模块1303a和预测方程求解子模块1303b。
关节约束获取子模块1303a,用于获取所述机械臂对应的关节约束条件;其中,所述关节约束条件包括关节角度约束条件、关节速度约束条件和关节速度增量约束条件,所述关节角度约束条件用于约束所述机械臂在所述各个采样时刻下的关节角度,所述关节速度约束条件用于约束所述机械臂在从所述当前时刻到控制时段对应的倒数第二个采样时刻下的各个关节速度,所述关节速度增量约束条件用于约束所述机械臂在从所述当前时刻到所述控制时段对应的倒数第二个采样时刻下的各个关节速度增量。
预测方程求解子模块1303b,用于在所述关节约束条件下,对所述预测控制方程进行求解,得到所述末端执行器在当前时刻下的预测关节速度。
在一个示例性实施例中,所述关节角度约束条件表示为:σmin≤σ(k+i)≤σmax,i=1,2,...,N;其中,σmin为所述机械臂的各个关节轴的关节角度下限序列,σmax为所述机械臂的各个关节轴的关节角度上限序列,N为所述预测时段包括的采样时刻的数量,σ(k+i)为所述机械臂在第i个采样时刻下的预测关节角度,k用于表征所述当前时刻;
所述关节速度约束条件表示为:i=0,1,...,Nu-1;其中,为所述机械臂的各个关节轴的关节速度下限序列,/>为所述机械臂的各个关节轴的关节速度上限序列,Nu为所述控制时段包括的采样时刻的数量,u(k+i)为所述机械臂在第i个采样时刻下的预测关节速度;
所述关节速度增量约束条件表示为:i=0,1,...,Nu-1;其中,/>为所述机械臂的各个关节轴的关节加速度下限序列,/>为所述机械臂的各个关节轴的关节加速度上限序列,Δu(k+i)为所述机械臂在第i个采样时刻下的预测关节速度增量,/>为所述机械臂在第i个采样时刻下的预测关节加速度,τ为所述采样间隔时长。
在一个示例性实施例中,所述预测方程求解子模块1303b,用于:
对所述关节约束条件和所述预测控制方程进行转换,得到所述预测控制方程对应的标准二次规划方程,以及所述关节约束条件对应的标准二次规划约束条件;
在所述标准二次规划约束条件下,利用有限时间收敛求解算法,对所述标准二次规划方程进行求解,得到所述末端执行器在当前时刻下的预测关节速度。
在一个示例性实施例中,所述预测方程求解子模块1303b,还用于:
构建第一转换矩阵,所述第一转换矩阵中的元素为所述预测时段内各个采样时刻下的期望位姿;
构建第二转换矩阵,所述第二转换矩阵中的元素为所述预测时段内各个采样时刻下的预测关节角度;
构建第三转换矩阵,所述第三转换矩阵中的元素为从所述当前时刻到控制时段对应的倒数第二个采样时刻下的各个预测关节速度;
构建第四转换矩阵,所述第四转换矩阵中的元素为从所述当前时刻到控制时段对应的倒数第二个采样时刻下的各个预测关节速度增量;
构建第五转换矩阵,所述第五转换矩阵中的元素为所述当前时刻的前一时刻下的预测关节速度;
构建第六转换矩阵,所述第六转换矩阵中的元素为所述当前时刻下的预测关节角度;
构建第七转换矩阵,所述第七转换矩阵中的元素为所述当前时刻下的预测姿态;
构建第八转换矩阵,所述第八转换矩阵中的元素为所述各个采样时刻对应的时间长度与所述当前时刻的前一时刻下的预测关节速度的乘积;
构建第九转换矩阵,所述第九转换矩阵中由所述各个采样时刻对应的时间长度构成;
基于所述第一转换矩阵、所述第二转换矩阵、所述第三转换矩阵、所述第四转换矩阵、所述第五转换矩阵、所述第六转换矩阵、所述第七转换矩阵、所述第八转换矩阵和所述第九转换矩阵,对所述关节约束条件和所述预测控制方程进行转换,得到所述标准二次规划方程和所述标准二次规划约束条件。
综上所述,本申请实施例提供的技术方案,通过基于末端执行器在预测时段内的期望位姿和预测位姿,构建末端执行器在当前时刻下的预测控制方程,并求解得到当前时刻下的预测关节速度,该当前时刻下的预测关节速度能够使得末端执行器跟随当前时刻下的期望位姿移动,相比于仅通过末端执行器的位置进行末端执行器的跟随任务,本申请提供的技术方案能够提高末端执行器的跟随精确性。同时,由于能够控制机械臂的末端执行器进行位置和姿态(即位姿)的同步变化,使得机械臂能够应对复杂且难度高的任务,而不局限于简单的任务,从而提高了机械臂的适用范围,以及机械臂执行任务的能力。
另外,由于每个当前时刻均需重新确定一个预测关节速度,即使在因外界环境(如外界作用力)的影响而导致末端执行器偏移了期望位姿的情况下,本申请实施例也能够使得末端执行器快速恢复到期望位姿下,从而提高了末端执行器的跟随鲁棒性。同时,避免了累积误差对跟随控制的影响,进一步提高了末端执行器的跟随精确性。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图15,其示出了本申请一个实施例提供的设备的结构框图。该设备可以是计算机设备、机械臂、机器人、机械臂中具有计算能力的装置等,本申请实施例对此不作限定。
可选地,如图15所示,该机器人包括处理器1501和存储器1502。处理器1501包括但不限于以下任意一种:CPU(Central Processing Unit,中央处理器)、GPU(GraphicsProcessing Unit,图形处理器)和FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)等。存储器1502可以包括RAM(Random-Access Memory,随机存储器)和ROM(Read-Only Memory,只读存储器)等存储设备。处理器1501和存储器1502之间可以通过系统总线连接。
在示例性实施例中,所述存储器1502中存储有计算机程序,所述计算机程序由所述处理器1501加载并执行以实现上述机械臂的控制方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序在被设备的处理器执行时实现上述机械臂的控制方法。
可选地,该计算机可读存储介质可以包括:ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存储器)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括ReRAM(Resistance Random Access Memory,电阻式随机存取记忆体)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。设备的处理器从所述计算机可读存储介质中读取所述计算机指令,所述处理器执行所述计算机指令,使得所述设备执行上述机械臂的控制方法。
需要说明的是,本申请所涉及的信息(包括但不限于对象设备信息、对象个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经对象授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的机械臂、预测控制方程、期望姿态等都是在充分授权的情况下获取的。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种机械臂的控制方法,其特征在于,所述方法包括:
获取所述机器臂的末端执行器在预测时段内的期望位姿序列和预测位姿序列;其中,所述期望位姿序列中包括所述预测时段内各个采样时刻下的期望位姿,所述预测位姿序列中包括所述预测时段内各个采样时刻下的预测位姿,所述预测时段包括当前时刻之后的多个采样时刻,所述采样时刻根据采样间隔时长获取;
基于所述期望位姿序列和所述预测位姿序列,构建所述末端执行器在当前时刻下的预测控制方程;其中,所述预测控制方程用于预测所述末端执行器在跟随所述预测时段内的期望位姿移动过程中累积的位姿跟随误差,所述位姿跟随误差用于表征所述期望位姿与所述预测位姿之间的差异;
对所述预测控制方程进行求解,得到所述末端执行器在当前时刻下的预测关节速度;
根据所述末端执行器在所述当前时刻下的预测关节速度,控制所述末端执行器跟随所述当前时刻下的期望位姿移动。
2.根据权利要求1所述的方法,其特征在于,所述基于所述期望位姿序列和所述预测位姿序列,构建所述末端执行器在当前时刻下的预测控制方程,包括:
获取所述末端执行器在控制时段内的预测关节速度序列和预测关节速度增量序列;其中,所述预测关节速度序列中包括所述控制时段内各个采样时刻下的预测关节速度,所述预测关节加速度集合中包括所述控制时段内各个采样时刻下的预测关节速度增量,所述控制时段为所述预测时段的子时段;
基于所述期望位姿序列、所述预测位姿序列、所述预测关节速度序列和所述预测关节速度增量序列,构建所述末端执行器在当前时刻下的预测控制方程。
3.根据权利要求2所述的方法,其特征在于,所述基于所述期望位姿序列、所述预测位姿序列、所述预测关节速度序列和所述预测关节速度增量序列,构建所述末端执行器在当前时刻下的预测控制方程,包括:
获取所述末端执行器在当前时刻下的预测关节速度和预测关节速度增量;
基于所述末端执行器在当前时刻下的预测关节速度,以及去除所述控制时段对应的最后一个预测关节速度后的所述预测关节速度序列,构建所述末端执行器在当前时刻下的关节速度优化方程;其中,所述关节速度优化方程用于表征从所述当前时刻到所述控制时段对应的倒数第二个采样时刻下的各个预测关节速度;
基于所述末端执行器在当前时刻下的预测关节速度增量,以及去除所述控制时段对应的最后一个预测关节速度增量后的所述预测关节速度增量序列,构建所述末端执行器在当前时刻下的关节速度增量优化方程;其中,所述关节速度增量优化方程用于表征从所述当前时刻到所述控制时段对应的倒数第二个采样时刻下的各个预测关节速度增量;
基于所述期望位姿序列和所述预测位姿序列,构建所述末端执行器在当前时刻下的位姿误差优化方程;其中,所述位姿误差优化方程用于表征从所述当前时刻的下一采样时刻到所述预测时段对应的最后一个采样时刻下的各个位姿跟随误差;
基于所述关节速度优化方程、所述关节速度增量优化方程和所述位姿误差优化方程,构建所述末端执行器在当前时刻下的预测控制方程。
4.根据权利要求1所述的方法,其特征在于,所述对所述预测控制方程进行求解,得到所述末端执行器在当前时刻下的预测关节速度,包括:
获取所述机械臂对应的关节约束条件;其中,所述关节约束条件包括关节角度约束条件、关节速度约束条件和关节速度增量约束条件,所述关节角度约束条件用于约束所述机械臂在所述各个采样时刻下的关节角度,所述关节速度约束条件用于约束所述机械臂在从所述当前时刻到控制时段对应的倒数第二个采样时刻下的各个关节速度,所述关节速度增量约束条件用于约束所述机械臂在从所述当前时刻到所述控制时段对应的倒数第二个采样时刻下的各个关节速度增量;
在所述关节约束条件下,对所述预测控制方程进行求解,得到所述末端执行器在当前时刻下的预测关节速度。
5.根据权利要求4所述的方法,其特征在于,
所述关节角度约束条件表示为:σmin≤σ(k+i)≤σmax,i=1,2,...,N;其中,σmin为所述机械臂的各个关节轴的关节角度下限序列,σmax为所述机械臂的各个关节轴的关节角度上限序列,N为所述预测时段包括的采样时刻的数量,σ(k+i)为所述机械臂在第i个采样时刻下的预测关节角度,k用于表征所述当前时刻;
所述关节速度约束条件表示为:其中,/>为所述机械臂的各个关节轴的关节速度下限序列,/>为所述机械臂的各个关节轴的关节速度上限序列,Nu为所述控制时段包括的采样时刻的数量,u(k+i)为所述机械臂在第i个采样时刻下的预测关节速度;
所述关节速度增量约束条件表示为:其中,/>为所述机械臂的各个关节轴的关节加速度下限序列,/>为所述机械臂的各个关节轴的关节加速度上限序列,Δu(k+i)为所述机械臂在第i个采样时刻下的预测关节速度增量,/>为所述机械臂在第i个采样时刻下的预测关节加速度,τ为所述采样间隔时长。
6.根据权利要求4所述的方法,其特征在于,所述在所述关节约束条件下,对所述预测控制方程进行求解,得到所述末端执行器在当前时刻下的预测关节速度,包括:
对所述关节约束条件和所述预测控制方程进行转换,得到所述预测控制方程对应的标准二次规划方程,以及所述关节约束条件对应的标准二次规划约束条件;
在所述标准二次规划约束条件下,利用有限时间收敛求解算法,对所述标准二次规划方程进行求解,得到所述末端执行器在当前时刻下的预测关节速度。
7.根据权利要求6所述的方法,其特征在于,所述对所述关节约束条件和所述预测控制方程进行转换,得到所述预测控制方程对应的标准二次规划方程,以及所述关节约束条件对应的标准二次规划约束条件,包括:
构建第一转换矩阵,所述第一转换矩阵中的元素为所述预测时段内各个采样时刻下的期望位姿;
构建第二转换矩阵,所述第二转换矩阵中的元素为所述预测时段内各个采样时刻下的预测关节角度;
构建第三转换矩阵,所述第三转换矩阵中的元素为从所述当前时刻到控制时段对应的倒数第二个采样时刻下的各个预测关节速度;
构建第四转换矩阵,所述第四转换矩阵中的元素为从所述当前时刻到控制时段对应的倒数第二个采样时刻下的各个预测关节速度增量;
构建第五转换矩阵,所述第五转换矩阵中的元素为所述当前时刻的前一时刻下的预测关节速度;
构建第六转换矩阵,所述第六转换矩阵中的元素为所述当前时刻下的预测关节角度;
构建第七转换矩阵,所述第七转换矩阵中的元素为所述当前时刻下的预测姿态;
构建第八转换矩阵,所述第八转换矩阵中的元素为所述各个采样时刻对应的时间长度与所述当前时刻的前一时刻下的预测关节速度的乘积;
构建第九转换矩阵,所述第九转换矩阵中由所述各个采样时刻对应的时间长度构成;
基于所述第一转换矩阵、所述第二转换矩阵、所述第三转换矩阵、所述第四转换矩阵、所述第五转换矩阵、所述第六转换矩阵、所述第七转换矩阵、所述第八转换矩阵和所述第九转换矩阵,对所述关节约束条件和所述预测控制方程进行转换,得到所述标准二次规划方程和所述标准二次规划约束条件。
8.一种机械臂的控制装置,其特征在于,所述装置包括:
位姿数据获取模块,用于获取所述机器臂的末端执行器在预测时段内的期望位姿序列和预测位姿序列;其中,所述期望位姿序列中包括所述预测时段内各个采样时刻下的期望位姿,所述预测位姿序列中包括所述预测时段内各个采样时刻下的预测位姿,所述预测时段包括当前时刻之后的多个采样时刻,所述采样时刻根据采样间隔时长获取;
预测方程构建模块,用于基于所述期望位姿序列和所述预测位姿序列,构建所述末端执行器在当前时刻下的预测控制方程;其中,所述预测控制方程用于预测所述末端执行器在跟随所述预测时段内的期望位姿移动过程中累积的位姿跟随误差,所述位姿跟随误差用于表征所述期望位姿与所述预测位姿之间的差异;
预测方程求解模块,用于对所述预测控制方程进行求解,得到所述末端执行器在当前时刻下的预测关节速度;
机械臂控制模块,用于根据所述末端执行器在当前时刻下的预测关节速度,控制所述末端执行器跟随所述当前时刻下的期望位姿移动。
9.一种设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的机械臂的控制方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至7任一项所述的机械臂的控制方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机指令,以实现如权利要求1至7任一项所述的机械臂的控制方法。
CN202210577703.5A 2022-05-25 2022-05-25 机械臂的控制方法、装置、设备、存储介质及程序产品 Pending CN117162080A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210577703.5A CN117162080A (zh) 2022-05-25 2022-05-25 机械臂的控制方法、装置、设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210577703.5A CN117162080A (zh) 2022-05-25 2022-05-25 机械臂的控制方法、装置、设备、存储介质及程序产品

Publications (1)

Publication Number Publication Date
CN117162080A true CN117162080A (zh) 2023-12-05

Family

ID=88938040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210577703.5A Pending CN117162080A (zh) 2022-05-25 2022-05-25 机械臂的控制方法、装置、设备、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN117162080A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118559700A (zh) * 2024-05-17 2024-08-30 北京纳通医用机器人科技有限公司 机器人异常处理方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118559700A (zh) * 2024-05-17 2024-08-30 北京纳通医用机器人科技有限公司 机器人异常处理方法、装置、设备及介质
CN118559700B (zh) * 2024-05-17 2025-03-04 北京纳通医用机器人科技有限公司 机器人异常处理方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
Borgstrom et al. Rapid computation of optimally safe tension distributions for parallel cable-driven robots
CN111538949A (zh) 冗余机器人逆运动学求解方法、装置和冗余机器人
Platt et al. Multiple-priority impedance control
US20220379478A1 (en) Object manipulation with collision avoidance using complementarity constraints
Al Mashhadany et al. Intelligent controller for 7-DOF manipulator based upon virtual reality model
CN117245640A (zh) 机器人的控制方法、装置、设备及存储介质
Shukla et al. Robotic grasp manipulation using evolutionary computing and deep reinforcement learning
Zhang et al. Performance analysis and optimization of a five-degrees-of-freedom compliant hybrid parallel micromanipulator
CN114102600A (zh) 一种多空间融合的人机技能迁移与参数补偿方法及系统
CN114310912A (zh) 机械臂装配控制方法及装置、机械臂控制设备和存储介质
Yan Error recognition of robot kinematics parameters based on genetic algorithms
Abbasnejad et al. Architecture optimization of 4PUS+ 1PS parallel manipulator
Valsamos et al. Metamorphic Manipulators
CN117162080A (zh) 机械臂的控制方法、装置、设备、存储介质及程序产品
Sun et al. A framework of robot manipulability learning and control and its application in telerobotics
Dehghani et al. Static modeling of continuum robots by circular elements
CN117207194A (zh) 机械臂控制方法、装置、设备及存储介质
Crenganis et al. Inverse kinematics of a 7 DOF manipulator using adaptive neuro-fuzzy inference systems
Wnuk et al. Challenges in robotic soft tissue manipulation—Problem identification based on an interdisciplinary case study of a teleoperated drawing robot in practice
CN116214510A (zh) 一种机械臂导纳控制方法和系统
Polyzos et al. Solving the inverse kinematics of robotic arm using autoencoders
Huang et al. Motion Regulation for Single-Leader-Dual-Follower Teleoperation in Flipping Manipulation
Luo et al. Kinematics and workspace analysis of 4SPRR-SPR parallel robots
Jaladi et al. Inverse kinematics analysis of serial manipulators using genetic algorithms
Prattichizzo et al. Robot grasp 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