CN113119100B - 冗余机械臂控制方法、装置、可读存储介质及设备 - Google Patents
冗余机械臂控制方法、装置、可读存储介质及设备 Download PDFInfo
- Publication number
- CN113119100B CN113119100B CN201911403020.2A CN201911403020A CN113119100B CN 113119100 B CN113119100 B CN 113119100B CN 201911403020 A CN201911403020 A CN 201911403020A CN 113119100 B CN113119100 B CN 113119100B
- Authority
- CN
- China
- Prior art keywords
- joint
- tail end
- external force
- speed
- mechanical arm
- 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
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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1607—Calculation of inertia, jacobian matrixes and inverses
-
- 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/1643—Programme controls characterised by the control loop redundant control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/085—Force or torque sensors
-
- 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/02—Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
- B25J9/023—Cartesian coordinate type
-
- 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/1612—Programme controls characterised by the hand, wrist, grip 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/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/1628—Programme controls characterised by the control loop
- B25J9/1651—Programme controls characterised by the control loop acceleration, rate 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
-
- 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/39—Robotics, robotics to robotics hand
- G05B2219/39529—Force, torque sensor in wrist, end effector
-
- 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/40367—Redundant manipulator
-
- 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/40599—Force, torque sensor integrated in joint
Abstract
本申请公开了一种冗余机械臂控制方法、装置、可读存储介质及设备,所述方法包括:获取所述机械臂的末端所受到的外力以及每个关节所受到的外力力矩;根据每个关节对末端在每个运动维度上的影响程度以及所述末端受到的外力,计算每个关节的第一关节速度;根据连杆所受到的外力对每个关节产生的连杆力矩,确定各个关节对应末端当前位置的零空间速度,所述零空间速度为在连杆外力作用下维持末端位置不变时各个所述关节对应的速度;根据所述第一关节速度以及所述零空间速度计算总关节速度;根据所述总关节速度控制所述机械臂运动。由于在控制机械臂时,叠加了末端零空间,因此,机械臂受到外力时,不会影响末端上任务的执行。
Description
技术领域
本申请涉及自动控制技术领域,具体而言,涉及一种冗余机械臂控制方法、装置、可读存储介质及设备。
背景技术
机械臂是指高精度,多输入多输出、高度非线性、强耦合的复杂系统。因其独特的操作灵活性,已在工业装配,安全防爆等领域得到广泛应用。机械臂是一个复杂系统,存在着参数摄动、外界干扰及未建模动态等不确定性。因而机械臂的建模模型也存在着不确定性,对于不同的任务,需要规划机械臂关节空间的运动轨迹,从而级联构成末端位姿。对于机械臂而言,其在运动过程中,可能会遇到障碍物等从而会使得机械臂受到外力。
目前,在对机械臂进行调整时,通常是直接根据机械臂的末端受力情况来计算末端的速度偏差,然后再根据末端速度的偏差来调整机械臂的关节。当有外力作用在机械臂上时,机械臂的本身的控制量并不会发生改变,机械臂将与障碍物发生碰撞,产生大的冲击力。若采用机械臂在末端受力情况下的调整方法,机械臂会在连杆所受外力作用下带动机械臂末端移动,从而导致机械臂末端的实际位置会与执行主任务的轨迹产生偏差。
发明内容
为了至少克服现有技术中的上述不足,本申请的目的之一在于提供一种冗余机械臂控制方法,应用于机械臂控制设备,所述机械臂控制设备与机械臂电性连接,所述方法包括:
获取所述机械臂的末端所受到的外力以及每个关节所受到的外力力矩;
根据每个关节对末端在每个运动维度上的影响程度以及所述末端受到的外力,计算每个关节的第一关节速度,所述第一关节速度为该关节对应所述末端所受外力的速度的分量;
根据连杆所受到的外力对每个关节产生的连杆力矩,确定各个关节对应末端当前位置的零空间速度,所述零空间速度为在连杆外力作用下维持末端位置不变时各个所述关节对应的速度;
根据所述第一关节速度以及所述零空间速度计算总关节速度;
根据所述总关节速度控制所述机械臂运动。
可选地,所述根据所述末端受到的外力以及每个关节对末端在每个运动维度上的影响程度计算每个关节的第一关节速度的步骤包括:
获取所述机械臂末端的笛卡尔参数,所述笛卡尔参数包括末端的每个维度的质量参数、每个维度的阻尼参数以及每个维度的刚度参数;
根据所述笛卡尔参数以及末端受到的外力计算末端的速度偏差,所述速度偏差为末端当前速度与受阻任务的期望速度之间的偏差;
根据末端的速度偏差计算末端的目标速度;
根据所述末端的目标速度计算每个关节的第一关节速度。
所述根据所述笛卡尔参数以及末端受到的外力计算末端的速度偏差的计算公式为:
其中,Fext为末端所受外力在各个运动维度上的分量的矩阵,Me为末端每个维度的质量参数构成的矩阵,Be为末端每个维度的阻尼参数构成的矩阵,Ke为末端每个维度的刚度参数构成的矩阵,s为拉普拉斯变换。
可选地,所述根据连杆所受到的外力对每个关节产生的连杆力矩,确定各个关节对应末端当前位置的零空间速度的步骤包括:
计算连杆上所受外力对每个关节产生的第一力矩;
根据每个所述关节的所述第一力矩计算对应的速度偏差,所述速度偏差为该关节的实际速度与期望速度之差;
根据每个关节的权重系数、每个关节的速度偏差计算关节的速度控制权重;
根据末端受到的外力以及每个关节对末端在每个运动维度上的影响程度构成的第一矩阵计算所述机械臂的零空间基向量,所述零空间基向量的每个元素代表一个关节的速度;
根据所述速度控制权重以及所述零空间基向量计算零空间速度。
可选地,所述计算连杆上所受外力对每个关节产生的第一力矩的计算公式为:
τext=τlink+JTFext
τlink=τext-JTFext
其中,τlink为连杆所受外力对每个关节所产生的力矩构成的矩阵,τext为关节上所受到的外力矩的总量,JT为末端受到的外力以及每个关节对末端在每个运动维度上的影响程度所构成的矩阵的转置,Fext为末端所受外力在各个运动维度上的分量构成的矩阵。
可选地,所述根据每个所述连杆力矩计算每个所述关节的速度偏差的计算公式为:
其中,为关节的位移偏差构成的矩阵,为关节的速度偏差构成的矩阵,为关节的角速度偏差构成的矩阵,MJ为每个关节的质量参数构成的矩阵,BJ为每个关节的阻尼参数构成的矩阵,KJ为每个关节的刚度参数构成的矩阵,s为拉普拉斯变换。
可选地,所述机械臂中预先配置有优化的目标函数,目标函数为:
所述根据每个关节的权重系数、每个关节的速度偏差计算每个关节的速度控制权重的计算公式为:
本申请的另一目的在于提供一种冗余机械臂控制装置,应用于机械臂控制设备,所述机械臂控制设备与机械臂电性连接,所述装置包括:
获取模块,用于获取所述机械臂的末端所受到的外力以及每个关节所受到的外力力矩;
第一计算模块,用于根据每个关节对末端在每个运动维度上的影响程度以及所述末端受到的外力,计算每个关节的第一关节速度,所述第一关节速度为该关节对应所述末端所受外力的速度的分量;
第二计算模块,用于根据连杆所受到的外力对每个关节产生的连杆力矩,确定各个关节对应末端当前位置的零空间速度,所述零空间速度为在连杆外力作用下维持末端位置不变时各个所述关节对应的速度;
第三计算模块,用于根据所述第一关节速度以及所述零空间速度计算总关节速度;
控制模块。用于根据所述总关节速度控制所述机械臂运动。
本申请的另一目的在于提供一种可读存储介质,所述可读存储介质存储有可执行程序,处理器在执行所述可执行程序时,实现如本申请任一项所述的方法。
本申请的另一目的在于提供一种冗余机械臂控制设备,包括存储器和处理器,所述存储器和所述处理器电性连接,所述存储器中存储有可执行程序,所述处理器在执行所述可执行程序时,实现如本申请任一项所述的方法。
相对于现有技术而言,本申请具有以下有益效果:
本申请实施例提供的冗余机械臂控制方法、装置、可读存储介质及设备,通过计算机械臂末端的速度偏差,并根据机械臂末端的速度偏差计算出机械臂各个关节的第一关节速度;同时,计算出机械臂的零空间基向量,并计算出各个机械臂在零空间下的零空间速度;最后将第一关节速度和零空间速度叠加起来作为各个关节的总关节速度来对关节进行控制,实现机械臂的柔顺响应,在机械臂受到外力影响时,不会对机械臂末端的运动情况产生影响,避免对机械臂上正在执行的任务产生影响。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本申请实施例提供的冗余机械臂控制设备的结构示意框图;
图2是本申请实施例提供的冗余机械臂控制方法的流程示意图一;
图3是本申请实施例提供的冗余机械臂控制方法的流程示意图二;
图4是本申请实施例提供的冗余机械臂控制方法的流程示意图三;
图5是本申请实施例提供的及冗余机械臂控制装置的结构示意图。
图标:100-机械臂控制设备;110-机械臂控制装置;111-获取模块;112-第一计算模块;113-第二计算模块;114-第三计算模块;115-控制模块;120-存储器;130-处理器。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
机械臂是由多个连杆连接而成的结构,每两个连杆之间为机械臂的关节,位于机械臂末端未连接其他结构的连杆的一端即机械臂的末端。机械臂在运动过程中,为了避免机械臂在触碰到障碍物时,按照受阻任务(第一任务)运动导致机械臂或者外物受到损伤,通常会在检测到机械臂受到外力时,对机械臂的运动状态进行调整,使机械臂在碰到障碍物后执行新的任务(第二任务),例如,使机械臂的末端按照特定的轨迹远离障碍物等。
现有技术中,在检测到机械臂末端受到外力时,会直接通过调节末端的速度来使末端执行新的任务,但是这种方式中,一旦机械臂的连杆受到外力,就会导致机械臂的新的任务受到影响不能正常执行。
为了解决上述技术问题,本申请提供了一种用于对冗余机械臂进行控制的机械臂控制方案。以下结合具体的实施例来对该方案进行详细阐述。
请参照图1,图1是本申请实施例提供的机械臂控制设备100(冗余机械臂控制设备)的结构示意框图,所述机械臂控制设备100包括机械臂控制装置110,存储器120和处理器130,存储器120和处理器130相互之间直接或间接电性连接,用于实现数据交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述机械臂控制装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述机械臂控制设备100的操作系统(Operating System,OS)中的软件功能模块。所述处理器130用于执行所述存储器120中存储的可执行模块,例如,所述机械臂控制装置110所包括的软件功能模块及计算机程序等。
在机械臂中,每个关节的运动情况对末端的运动情况所产生的影响并不相同。对于一个已知的机械臂,首先计算出机械臂中,每个关节转动的角度大小对末端位置所产生的影响大小的状态方程,在计算时,可以通过现有的方式来进行,例如,可以采用前向运动学来进行计算。对所述状态方程求偏导数,可以获得所述状态方式的雅克比矩阵J,以下简称为第一矩阵,其中,雅克比矩阵J为一个M行,N列的矩阵,M与末端的运动维度相等,N与关节的数量相等,雅克比矩阵中的第i行第j列(0<i<M,0<j<N)元素代表每个关节末端的第i个运动维度的运动情况受到第j个关节的影响程度。
在机械臂的末端,可以设置第一传感器用于采集末端所受到的外力,在机械臂的每个关节上设置第二传感器用于采集机械臂上连杆所受外力在每个关节上产生的力矩。其中第一传感器为力传感器,第二传感器为力矩传感器,当机械臂的末端的维度(运动维度)为6维时,第一传感器可以是六维力矩传感器。
在本方案中,第一传感器采集的值用Fext表示Fext是一个Mx1的矩阵,其中,第i个元素代表末端所受外力在第i个运动维度上的分量;第二传感器所采集到的力矩为τext,τext同样为一个N x1的矩阵,其中,第j个元素代表第j个关节上的力矩。在配置好第一传感器和第二传感器后,便可以从第一传感器获取第一传感器所采集的外力的结果,以及第二传感器所采集的对应关节的外力矩的结果。然后结合上述雅克比矩阵、第一传感器和每个第二传感器所采集的结果可以判断出机械臂整体的受力情况。具体如下:
如果第一传感器和第二传感器均有值,且τext=JTFext≠0,则末端受力,其中JT为雅克比矩阵J的转置。
若仅关节力矩传感器有值,即τext≠0,Fext=0,则连杆受力。
若二者皆有值且大小不等,即τext≠0,Fext≠0,τext≠JTFext,则末端与连杆均有受力。若二者皆为零,即τext=0,Fext=0,则机械臂不受外力作用。
请参照图2,图2是本实施例提供的机械臂控制方法的流程示意图,所述机械臂控制方法包括步骤S110-步骤S150。以下结合步骤S110-步骤S150来对所述方法进行详细阐述。
步骤S110,获取所述机械臂的末端所受到的外力以及每个关节所受到的外力力矩。
步骤S120,计算每个关节的第一关节速度。
根据每个关节对末端在每个运动维度上的影响程度以及所述末端受到的外力,计算每个关节的第一关节速度,所述第一关节速度为该关节对应所述末端所受外力的速度的分量。
步骤S130,确定各个关节对应末端当前位置的零空间速度。
具体地,根据连杆所受到的外力对每个关节产生的连杆力矩,确定各个关节对应末端当前位置的零空间速度,所述零空间速度为在连杆外力作用下维持末端位置不变时各个所述关节对应的速度。
步骤S140,根据所述第一关节速度以及所述零空间速度计算总关节速度。
步骤S150,根据所述总关节速度控制所述机械臂运动。
本实施例中,通过机械臂末端所受到的外力计算出每个关节对应该外力下控制机械臂的速度分量,同时根据末端零空间将连杆上的外力映射到零空间中,计算出各个关节在零空间中的零空间速度,然后将零空间速度与第一关节速度叠加后作为关节的控制量,从而实现对各个关节的控制,由于将连杆受到的力在末端零空间中进行了映射,因此,当机械臂的连杆受力时,机械臂的连杆和关节会在零空间中运动,从而能够避免机械臂末端受到影响,实现机械臂的柔顺响应。
请参照图3所示,可选地,本实施例中,所述根据所述末端受到的外力以及每个关节对末端在每个运动维度上的影响程度计算每个关节的第一关节速度的步骤包括子步骤S121-子步骤S124。
步骤S121,获取所述机械臂末端的笛卡尔参数,所述笛卡尔参数包括末端的每个维度的质量参数、每个维度的阻尼参数以及每个维度的刚度参数。
其中,质量参数越大机械臂受外力作用时的稳定性越高,阻尼矩阵越大机械臂碰撞时的能量耗散越快,刚度参数越大末端位置的精确度越高。因此,机械臂末端的笛卡尔参数时可以根据需要机械臂展现出的性能来确定。
步骤S122,根据所述笛卡尔参数以及末端受到的外力计算末端的速度偏差,所述速度偏差为末端当前速度与受阻任务的期望速度之间的偏差。该受阻任务即第一任务,期望速度是受阻任务正常执行情况下的在当前时刻的速度。
步骤S123,根据末端的速度偏差计算末端的目标速度。目标速度即目标遇到障碍后所执行的新的任务(第二任务)的速度。
步骤S124,根据所述末端的目标速度计算每个关节的第一关节速度。
本实施例用于根据末端受到的外力计算每个关节的第一关节速度。
根据Hogan提出的经典阻抗控制理论,在机械臂的实际位移为x,机械臂执行任务时的期望位移为xd时,末端的加速度偏差、末端的速度偏差、末端的位移偏差与末端所受外力的关系为:
所述根据所述笛卡尔参数以及末端受到的外力计算末端的速度偏差的计算公式为:
其中,x是末端在每个维度的位移分量构成的矩阵,其第i行元素代末端在第i个维度的位移分量;是末端在每个维度的速度分量构成的矩阵,其第i行元素代末端在第i个维度的速度分量;是末端在每个维度的期望速度的分量构成的矩阵,其第i行元素代末端在第i个维度的期望速度的分量;是末端在每个维度的加速度分量构成的矩阵,其第i行元素代末端在第i个维度的加速度分量;是末端在每个维度的期望加速度的分量构成的矩阵,其第i行元素代末端在第i个维度的期望加速度的分量。
是末端在每个维度的位移偏差分量构成的矩阵,其第i行元素代末端在第i个维度的位移偏差分量。是末端在每个维度的速度偏差的分量构成的矩阵,其第i行元素代末端在第i个维度的速度偏差的分量。是末端在每个维度的加速度偏差的分量构成的矩阵,其第i行元素代末端在第i个维度的加速度偏差的分量。Fext为末端所受外力在各个运动维度上的分量的矩阵,Me为末端每个维度的质量参数构成的矩阵,其中,Me的行数和列数均与末端的运动维度相同,Me中第i行第m列元素代表第i个维度受到第m个运动维度影响下的质量参数分量,0<m<M;Be为末端每个维度的阻尼参数构成的矩阵,其中,Be的行数和列数均与末端的运动维度相同,Be中第i行第m列元素代表第i个维度受到第m个运动维度影响下的阻尼参数分量,Ke为末端每个维度的刚度参数构成的矩阵,Ke的行数和列数均与末端的运动维度相同,Ke中第i行第m列元素代表第i个维度受到第m个运动维度影响下的刚度参数分量;s为拉普拉斯变换。
在计算出末端的速度偏差之后,便可以根据末端的速度偏差计算执行第二任务时末端的目标速度,具体计算公式为:
接着,便可以根据所述末端的目标速度计算每个关节的第一关节速度。
请参照图4所示,可选地,本实施例中,所述根据连杆所受到的外力对每个关节产生的连杆力矩,确定各个关节对应末端当前位置的零空间速度的步骤包括子步骤S131-子步骤S135。
步骤S131,计算连杆上所受外力对每个关节产生的第一力矩。
步骤S132,根据每个所述关节的所述第一力矩计算对应的速度偏差,所述速度偏差为该关节的实际速度与期望速度之差。
步骤S133,根据每个关节的权重系数、每个关节的速度偏差计算关节的速度控制权重。
步骤S134,计算机械臂的零空间基向量。
具体地,根据末端受到的外力以及每个关节对末端在每个运动维度上的影响程度构成的第一矩阵计算所述机械臂的零空间基向量,所述零空间基向量的每个元素代表一个关节的速度。
步骤S135,根据所述速度控制权重以及所述零空间基向量计算零空间速度。
本实施例用于将连杆所受外力的力矩对关节的作用转化到零空间中。
可选地,本实施例中,所述计算连杆上所受外力对每个关节产生的第一力矩的计算公式为:
τext=τlink+JTFext
τlink=τext-JTFext
其中,τlink为连杆所受外力对每个关节所产生的力矩构成的矩阵,τext为关节上所受到的外力矩的总量,JT为末端受到的外力以及每个关节对末端在每个运动维度上的影响程度所构成的矩阵的转置,即第一矩阵的转置,Fext为末端所受外力在各个运动维度上的分量构成的矩阵。
本实施例中,期望速度、期望加速度、期望位移都是末端在第一任务正常执行的情况下,在当前时刻对应的速度、速度、位移。
可选地,本实施例中,q为每个关节的当前角位移构成的Nx1的矩阵,第j个元素代表第j个关节的当前角位移;qd为每个关节对应第一任务在当前时刻的期望角位移构成的Nx1的矩阵,第j个元素代表第j个关节的期望角位移。所述根据每个所述连杆力矩计算每个所述关节的角速度偏差的计算公式为:
其中,为关节的角位移偏差构成的矩阵,第j个元素代表第j个关节的角位移偏差;为关节的角速度偏差构成的矩阵,第j个元素代表第j个关节的角速度偏差;为关节的角加速度偏差构成的矩阵,第j个元素代表第j个关节的角加速度偏差;MJ为每个关节的质量参数构成的矩阵,其构成元素的行数和列数均与关节的数量相同,MJ中第j行第n列元素代表第j个关节受到第n个关节影响下的质量参数分量;BJ为每个关节的阻尼参数构成的矩阵,其构成元素的行数和列数均与关节的数量相同,BJ中第j行第n列元素代表第j个关节受到第n个关节影响下的阻尼参数分量;KJ为每个关节的刚度参数构成的矩阵,其构成元素的行数和列数均与关节的数量相同,KJ中第j行第n列元素代表第j个关节受到第n个关节影响下的刚度参数分量;s为拉普拉斯变换,0<n<N。
期望角位移都是关节在第一任务正常执行的情况下,在当前时刻的角位移。
由于本实施例中已经获得了第一矩阵,因此,可计算第一矩阵的零空间基向量Z,这些零空间基向量的每个元素代表对应关节在不影响末端位移下的第二关节速度。对于关节的零空间速度而言,其计算方式为:
根据这些基向量的组合,即可在末端所执行任务的零空间中对关节进行控制。具体地,我们可以根据实际需求构造优化的目标函数,用于获取实际控制需求中最优的零空间速度。例如,可以将整个机器人重力势能最小,或者到某个点的距离最小作为优化的目标函数。
如此,便可以计算得到λ的表达式为:
进而获得零空间速度为:
得到零空间速度之后,就可以计算总关节速度,总关节速度的计算公式为:
请参照图5,本申请实施例还提供了一种110(冗余机械臂控制装置),应用于机械臂控制设备,所述机械臂控制设备100与机械臂电性连接,所述装置包括获取模块111、第一计算模块112、第二计算模块113、第三计算模块114、控制模块115。所述机械臂控制装置110包括一个可以软件或固件的形式存储于所述存储器120中或固化在所述机械臂控制设备100的操作系统(operating system,OS)中的软件功能模块。
获取模块111,用于获取所述机械臂的末端所受到的外力以及每个关节所受到的外力力矩。
本实施例中的获取模块111用于执行步骤S110,关于所述获取模块111的具体描述可参照对所述步骤S110的描述。
第一计算模块112,用于根据每个关节对末端在每个运动维度上的影响程度以及所述末端受到的外力,计算每个关节的第一关节速度,所述第一关节速度为该关节对应所述末端所受外力的速度的分量。
本实施例中的第一计算模块112用于执行步骤S120,关于所述第一计算模块112的具体描述可参照对所述步骤S120的描述。
第二计算模块113,用于根据连杆所受到的外力对每个关节产生的连杆力矩,确定各个关节对应末端当前位置的零空间速度,所述零空间速度为在连杆外力作用下维持末端位置不变时各个所述关节对应的速度。
本实施例中的第二计算模块113用于执行步骤S130,关于所述第二计算模块113的具体描述可参照对所述步骤S130的描述。
第三计算模块114,用于根据所述第一关节速度以及所述零空间速度计算总关节速度。
本实施例中的第三计算模块114用于执行步骤S140,关于所述第三计算模块114的具体描述可参照对所述步骤S140的描述。
控制模块115,用于根据所述总关节速度控制所述机械臂运动。
本实施例中的控制模块115用于执行步骤S150,关于所述控制模块115的具体描述可参照对所述步骤S150的描述。
本申请实施例还提供一种可读存储介质,所述可读存储介质存储有可执行程序,处理器130在执行所述可执行程序时,实现如本实施例任一项所述的方法。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种冗余机械臂控制方法,其特征在于,应用于机械臂控制设备,所述机械臂控制设备与机械臂电性连接,所述方法包括:
获取所述机械臂的末端所受到的外力以及每个关节所受到的外力力矩;
根据每个关节对末端在每个运动维度上的影响程度以及所述末端受到的外力,计算每个关节的第一关节速度,所述第一关节速度为该关节在所述末端所受外力作用下控制机械臂的速度分量;
根据连杆所受到的外力对每个关节产生的连杆力矩,确定各个关节对应末端当前位置的零空间速度,所述零空间速度为在连杆外力作用下维持末端位置不变时各个所述关节对应的速度;
根据所述第一关节速度以及所述零空间速度计算总关节速度;
根据所述总关节速度控制所述机械臂运动。
2.根据权利要求1所述的方法,其特征在于,所述根据所述末端受到的外力以及每个关节对末端在每个运动维度上的影响程度计算每个关节的第一关节速度的步骤包括:
获取所述机械臂末端的笛卡尔参数,所述笛卡尔参数包括末端的每个维度的质量参数、每个维度的阻尼参数以及每个维度的刚度参数;
根据所述笛卡尔参数以及末端受到的外力计算末端的速度偏差,所述速度偏差为末端当前速度与受阻任务的期望速度之间的偏差;
根据末端的速度偏差计算末端的目标速度;
根据所述末端的目标速度计算每个关节的第一关节速度。
4.根据权利要求1所述的方法,其特征在于,所述根据连杆所受到的外力对每个关节产生的连杆力矩,确定各个关节对应末端当前位置的零空间速度的步骤包括:
计算连杆上所受外力对每个关节产生的第一力矩;
根据每个所述关节的所述第一力矩计算对应的速度偏差,所述速度偏差为该关节的实际速度与期望速度之差;
根据每个关节的权重系数、每个关节的速度偏差计算关节的速度控制权重;
根据末端受到的外力以及每个关节对末端在每个运动维度上的影响程度构成的第一矩阵计算所述机械臂的零空间基向量,所述零空间基向量的每个元素代表一个关节的速度;
根据所述速度控制权重以及所述零空间基向量计算零空间速度。
5.根据权利要求4所述的方法,其特征在于,所述计算连杆上所受外力对每个关节产生的第一力矩的计算公式为:
τext=τlink+JTFext
τlink=τext-JTFext
其中,τlink为连杆所受外力对每个关节所产生的力矩构成的矩阵,τext为关节上所受到的外力矩的总量,JT为末端受到的外力以及每个关节对末端在每个运动维度上的影响程度所构成的矩阵的转置,Fext为末端所受外力在各个运动维度上的分量构成的矩阵。
8.一种冗余机械臂控制装置,其特征在于,应用于机械臂控制设备,所述机械臂控制设备与机械臂电性连接,所述装置包括:
获取模块,用于获取所述机械臂的末端所受到的外力以及每个关节所受到的外力力矩;
第一计算模块,用于根据每个关节对末端在每个运动维度上的影响程度以及所述末端受到的外力,计算每个关节的第一关节速度,所述第一关节速度为该关节在所述末端所受外力作用下控制机械臂的速度分量;
第二计算模块,用于根据连杆所受到的外力对每个关节产生的连杆力矩,确定各个关节对应末端当前位置的零空间速度,所述零空间速度为在连杆外力作用下维持末端位置不变时各个所述关节对应的速度;
第三计算模块,用于根据所述第一关节速度以及所述零空间速度计算总关节速度;
控制模块,用于根据所述总关节速度控制所述机械臂运动。
9.一种可读存储介质,其特征在于,所述可读存储介质存储有可执行程序,处理器在执行所述可执行程序时,实现如权利要求1-7任一项所述的方法。
10.一种冗余机械臂控制设备,其特征在于,包括存储器和处理器,所述存储器和所述处理器电性连接,所述存储器中存储有可执行程序,所述处理器在执行所述可执行程序时,实现如权利要求1-7任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911403020.2A CN113119100B (zh) | 2019-12-30 | 2019-12-30 | 冗余机械臂控制方法、装置、可读存储介质及设备 |
US17/134,565 US11654551B2 (en) | 2019-12-30 | 2020-12-28 | Redundant robotic arm control method, redundant robotic arm controller, and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911403020.2A CN113119100B (zh) | 2019-12-30 | 2019-12-30 | 冗余机械臂控制方法、装置、可读存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113119100A CN113119100A (zh) | 2021-07-16 |
CN113119100B true CN113119100B (zh) | 2022-05-13 |
Family
ID=76547189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911403020.2A Active CN113119100B (zh) | 2019-12-30 | 2019-12-30 | 冗余机械臂控制方法、装置、可读存储介质及设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11654551B2 (zh) |
CN (1) | CN113119100B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11858144B2 (en) | 2020-05-12 | 2024-01-02 | Aescape, Inc. | Method and system for autonomous body interaction |
US20220388165A1 (en) * | 2020-05-12 | 2022-12-08 | Aescape, Inc. | Method and system for autonomous object manipulation |
CN111506100B (zh) * | 2020-06-15 | 2020-10-02 | 深圳市优必选科技股份有限公司 | 多足机器人关节控制方法、装置和多足机器人 |
CN114083519B (zh) * | 2021-12-31 | 2023-05-09 | 北京敏锐达致机器人科技有限责任公司 | 机器人零空间拖动示教方法及示教装置 |
CN114800525B (zh) * | 2022-05-26 | 2023-12-08 | 江西省智能产业技术创新研究院 | 机器人碰撞检测方法、系统、计算机及可读存储介质 |
CN116276995B (zh) * | 2023-03-03 | 2023-09-08 | 北京航空航天大学 | 一种具有零空间避障能力的基于阻抗控制的人机协同方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012081568A (ja) * | 2010-10-14 | 2012-04-26 | Sony Corp | ロボットの制御装置及び制御方法、並びにコンピューター・プログラム |
US8874262B2 (en) * | 2011-09-27 | 2014-10-28 | Disney Enterprises, Inc. | Operational space control of rigid-body dynamical systems including humanoid robots |
KR102214809B1 (ko) * | 2013-03-15 | 2021-02-10 | 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 | 영공간을 이용하여 카테시안 좌표의 에지에의 액세스를 조장하기 위한 시스템 및 방법 |
WO2015146850A1 (ja) * | 2014-03-28 | 2015-10-01 | ソニー株式会社 | ロボットアーム装置、ロボットアーム装置の制御方法及びプログラム |
GB2549072B (en) * | 2016-03-24 | 2020-07-29 | Cmr Surgical Ltd | Robot control |
US10065311B1 (en) * | 2016-06-08 | 2018-09-04 | X Development Llc | Singularity handling for robot jogging |
CN107030694A (zh) * | 2017-04-20 | 2017-08-11 | 南京航空航天大学 | 腱驱动机械手腱张力约束末端力位操作控制方法和装置 |
CA3062101A1 (en) * | 2017-05-03 | 2018-11-08 | Taiga Robotics Corp. | Systems and methods for remotely controlling a robotic device |
CN108621163A (zh) * | 2018-05-10 | 2018-10-09 | 同济大学 | 一种面向汇榫工艺的冗余双臂机器人协作控制方法 |
CN110104216B (zh) * | 2019-01-28 | 2022-09-06 | 西北工业大学深圳研究院 | 一种针对运动学冗余双臂空间机器人的协同路径规划方法 |
-
2019
- 2019-12-30 CN CN201911403020.2A patent/CN113119100B/zh active Active
-
2020
- 2020-12-28 US US17/134,565 patent/US11654551B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20210197371A1 (en) | 2021-07-01 |
CN113119100A (zh) | 2021-07-16 |
US11654551B2 (en) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113119100B (zh) | 冗余机械臂控制方法、装置、可读存储介质及设备 | |
CN112775976B (zh) | 任务执行控制方法、装置、控制设备及可读存储介质 | |
CN111558941B (zh) | 浮动基动力学前馈控制方法、装置和多足机器人 | |
CN111496791A (zh) | 一种基于串联机器人的整体动力学参数辨识方法 | |
CN111098299B (zh) | 一种空间机器人扰动补偿的方法 | |
Jasim et al. | Integral backstepping controller for quadrotor path tracking | |
Ouadine et al. | UAV quadrotor fault detection and isolation using artificial neural network and Hammerstein-Wiener model | |
CN113377014A (zh) | 一种机械臂系统鲁棒镇定控制方法和系统 | |
Shareef et al. | Improving the inverse dynamics model of the KUKA LWR IV+ using independent joint learning | |
CN114137982A (zh) | 机器人运动控制方法及装置、机器人控制设备和存储介质 | |
Grandia et al. | Contact invariant model learning for legged robot locomotion | |
Kurode et al. | Output feedback control of flexible link manipulator using sliding modes | |
Knani | Dynamic modelling of flexible robotic mechanisms and adaptive robust control of trajectory computer simulation––Part I | |
WO2000077586A2 (en) | Enhanced stall and recovery control system | |
CN112975965B (zh) | 仿人机器人的解耦控制方法、装置和仿人机器人 | |
CN107650121B (zh) | 一种用于机器人的控制方法 | |
CN114851193A (zh) | 一种空间机械臂与未知环境接触过程的智能柔顺操控方法 | |
JP7391635B2 (ja) | 制御システム | |
Nakano et al. | Resolved acceleration control (RAC) of dual-arm 3-link underwater robot: comparison of control performance between RAC method and computed torque method | |
Hussain et al. | Aircraft sensor estimation for fault tolerant flight control system using fully connected cascade neural network | |
Bai et al. | A fuzzy adaptive drogue control method in autonomous aerial refueling | |
US11472024B2 (en) | Humanoid robot and its control method and computer readable storage medium | |
Akhormeh et al. | Velocity estimation of flexible dynamics systems using virtual sensing | |
CN114800496B (zh) | 空间机器人接触操作的风险判定方法、系统、介质及设备 | |
Xu et al. | Robot Dynamic Parameter Identification based on BBO Algorithm |
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 |