CN111360838B - 一种机械臂控制方法、装置、机械臂及存储介质 - Google Patents
一种机械臂控制方法、装置、机械臂及存储介质 Download PDFInfo
- Publication number
- CN111360838B CN111360838B CN202010331708.0A CN202010331708A CN111360838B CN 111360838 B CN111360838 B CN 111360838B CN 202010331708 A CN202010331708 A CN 202010331708A CN 111360838 B CN111360838 B CN 111360838B
- Authority
- CN
- China
- Prior art keywords
- expected
- control
- target
- driving force
- parameter
- 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/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
-
- 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
-
- 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/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
本申请实施例公开了一种机械臂控制方法、装置、机械臂及存储介质,其中该方法包括:控制机械臂的执行部件移动至操控对象(基于旋转轴运动的对象)的目标操控位置,且在目标操控位置处闭合,获取该执行部件与该操控对象之间的实际接触力参数;根据实际接触力参数和期望驱动力参数确定期望运动参数,该期望驱动力参数是根据操控对象的连体坐标系中的预设驱动力参数和执行部件在本次操控过程中的实际运动轨迹确定的;基于期望运动参数控制机械臂执行旋转轴操控任务。该方法能够精准地控制机械臂执行各种旋转轴操控任务,扩展了机械臂的应用范围。
Description
技术领域
本申请涉及机电控制技术领域,尤其涉及一种机械臂控制方法、装置、机械臂及存储介质。
背景技术
机械臂是一种多输入多输出、高度非线性、强耦合的复杂系统。近年来,机械臂因其独特的操作灵活性,在日常工作生活的很多领域中得到了广泛的应用。在一些领域中,机械臂可以被控制执行旋转轴的操控任务,如开关门窗、拧螺丝、操作手摇杆等。
相关技术中,机械臂执行上述旋转轴操控任务时,通常基于阻抗控制沿着期望运动轨迹运动。具体的,机械臂的控制器可以先根据待操控的旋转轴的位置和旋转方向,规划机械臂末端的期望运动轨迹,进而控制机械臂末端的执行部件沿着该期望运动轨迹操控旋转轴,在此过程中,可以基于末端阻抗控制算法,根据执行部件的实际接触力对运动轨迹进行微调。
经本申请发明人研究发现,末端阻抗控制算法通常只能根据实际接触力对运动轨迹进行微调,因此,上述方案能否精准地操控旋转轴很大程度上取决于期望运动轨迹的准确度,如若预先规划的期望运动轨迹偏差不够准确,仅基于末端阻抗控制算法通常难以纠正实际的操控效果。而规划期望运动轨迹需要较多的先验知识,针对不同的旋转轴规划期望运动轨迹时所需的先验知识可能不同,而目前无法保证针对各种旋转轴均能采集到准确的先验知识,相应地也无法保证针对各种旋转轴均能准确地规划期望运动轨迹。
综上,在实际应用中的很多情况下,相关技术中的机械臂控制方案难以精准地执行旋转轴操控任务,其应用范围受限。
发明内容
本申请实施例提供了一种机械臂控制方法、装置、机械臂及存储介质,能够精准地控制机械臂执行各种旋转轴操控任务,扩展了机械臂的应用范围。
有鉴于此,本申请第一方面提供了一种机械臂控制方法,所述方法包括:
控制机械臂的执行部件移动至操控对象的目标操控位置,且在所述目标操控位置处闭合;所述操控对象为基于旋转轴运动的对象;
获取所述执行部件与所述操控对象之间的实际接触力参数;
根据所述实际接触力参数和期望驱动力参数,确定期望运动参数;所述期望驱动力参数是根据所述操控对象的连体坐标系中的预设驱动力参数和所述执行部件在本次操控过程中的实际运动轨迹确定的;
基于所述期望运动参数,控制所述机械臂操控所述操控对象绕所述旋转轴运动。
本申请第二方面提供了一种机械臂控制装置,所述装置包括:
控制模块,用于控制机械臂的执行部件移动至操控对象的目标操控位置,且在所述目标操控位置处闭合;所述操控对象为基于旋转轴运动的对象;
获取模块,用于获取所述执行部件与所述操控对象间的实际接触力参数;
期望值确定模块,用于根据所述实际接触力参数和期望驱动力参数,确定期望运动参数;所述期望驱动力参数是根据所述操控对象的连体坐标系中的预设驱动力参数和所述执行部件在本次操控过程中的实际运动轨迹确定的;
所述控制模块,还用于基于所述期望运动参数,控制所述执行部件操控所述操控对象绕所述旋转轴运动。
本申请第三方面提供了一种机械臂,所述机械臂包括:控制器、执行部件、视觉传感器和安装在所述执行部件上的力传感器;
所述视觉传感器,用于跟踪所述执行部件的位置和姿态,并将跟踪结果传输至所述控制器;
所述力传感器,用于采集所述执行部件与操控对象间的实际接触力参数,并将所述实际接触力参数传输至所述控制器;
所述控制器,用于执行上述第一方面所述的机械臂控制方法。
本申请第四方面提供了一种机器人控制方法,所述机器人包括机械臂,所述方法包括:
控制所述机械臂的执行部件移动至操控对象的目标操控位置,且在所述目标操控位置处闭合;所述操控对象为基于旋转轴运动的对象;
获取所述执行部件与所述操控对象之间的实际接触力参数;
根据所述实际接触力参数和期望驱动力参数,确定期望运动参数;所述期望驱动力参数是根据所述操控对象的连体坐标系中的预设驱动力参数和所述执行部件在本次操控过程中的实际运动轨迹确定的;
基于所述期望运动参数,控制所述机械臂操控所述操控对象绕所述旋转轴运动。
本申请第五方面提供了一种控制器,所述控制器包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序,执行如上述第一方面所述的机械臂控制方法或上述第四方面所述的机器人控制方法的步骤。
本申请第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的机械臂控制方法或上述第四方面所述的机器人控制方法的步骤。
本申请第六方面提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的机械臂控制方法或上述第四方面所述的机器人控制方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种机械臂控制方法,该方法通过力感知的方式控制机械臂的执行部件在旋转轴的约束条件下运动,执行旋转轴的操控任务。具体的,在本申请实施例提供的方法中,机械臂的控制器可以先控制机械臂的执行部件移动至操控对象(基于旋转轴运动的对象)的目标操控位置,并在该目标操控位置处闭合,然后,机械臂的控制器可以基于该执行部件与操控对象之间的实际接触力参数和期望驱动力参数确定期望运动参数,进而基于该期望运动参数控制执行部件在操控对象旋转轴的约束下运动,即控制该执行部件沿着旋转轴约束轨迹的切线方向运动。相比相关技术中基于预先规划的期望运动轨迹控制执行部件操控旋转轴的实现方式,本申请实施例提供的方法不再需要规划期望运动轨迹,也不再需要基于该期望运动轨迹控制执行部件运动,因此可以避免因基于期望运动轨迹操控旋转轴而带来的问题,可以针对各种旋转轴精准地执行操控任务,扩展机械臂的应用范围。
附图说明
图1为本申请实施例提供的机械臂的结构示意图;
图2为本申请实施例提供的技术方案适用的四种典型的应用场景示意图;
图3为本申请实施例提供的机械臂控制方法的流程示意图;
图4为本申请实施例提供的期望驱动参数的计算原理示意图;
图5为本申请实施例提供的第一种机械臂控制装置的结构示意图;
图6为本申请实施例提供的第二种机械臂控制装置的结构示意图;
图7为本申请实施例提供的第三种机械臂控制装置的结构示意图;
图8为本申请实施例提供的第四种机械臂控制装置的结构示意图;
图9为本申请实施例提供的第五种机械臂控制装置的结构示意图;
图10为本申请实施例提供的服务器的结构示意图;
图11为本申请实施例提供的终端设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
相关技术中的机械臂控制方案,预先需要基于先验知识规划期望运动轨迹,进而控制机械臂的执行部件依据该期望运动轨迹执行旋转轴操控任务,所规划的期望运动轨迹的精准度影响着旋转轴操控任务的实现效果。由于目前无法保证针对各种旋转轴均能采集到准确的先验知识,因此无法保证在各种旋转轴操控任务中所规划的期望运动轨迹的精准度,在很多情况下,基于上述方案无法实现较好的操控效果。
针对上述相关技术存在的问题,本申请实施例提供了一种机械臂控制方法,该方法通过力感知的方式控制机械臂的执行部件执行旋转轴操控任务,解决了因基于期望运动轨迹执行旋转轴操控任务而导致的问题。
具体的,在本申请实施例提供的方法中,机械臂的控制器控制机械臂的执行部件移动至操控对象(基于旋转轴运动的对象)的目标操控位置,且在该目标操控位置处闭合后,机械臂的控制器可以获取执行部件与操控对象之间的实际接触力参数;然后,根据该实际接触力参数和期望驱动力参数确定期望运动参数,此处的期望驱动力参数是根据操控对象的连体坐标系中的预设驱动力参数和执行部件在本次操控过程中的实际运动轨迹确定的;进而,基于期望运动参数控制机械臂操控该操控对象绕其旋转轴运动,即执行旋转轴操控任务。
在上述方法中,机械臂的控制器可以基于执行部件与操控对象之间的实际接触力参数和期望驱动力参数确定期望运动参数,并基于该期望运动参数控制执行部件在操控对象旋转轴的约束下运动,即控制该执行部件沿着旋转轴约束轨迹的切线方向运动。相比相关技术中的实现方式,该方法不再需要规划期望运动轨迹,也不再需要基于该期望运动轨迹控制执行部件运动,因此避免了因基于期望运动轨迹操控旋转轴而带来的问题,该方法可以针对各种旋转轴精准地执行操控任务,扩展机械臂的应用范围。
应理解,本申请实施例提供的机械臂控制方法的执行主体为机械臂的控制器,该控制器具体可以为集成在机械臂中的控制芯片;也可以为独立于机械臂存在的外部控制设备,如能够控制机械臂的终端设备、服务器等,该终端设备可以为计算机、智能手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)等,该服务器可以为应用服务器或Web服务器;在实际部署时,该服务器可以为独立服务器,也可以为集群服务器或者云服务器。
为了便于理解本申请实施例提供的机械臂控制方法,下面先对本申请实施例提供的机械臂进行介绍,该机械臂可以基于本申请实施例提供的机械臂控制方法执行旋转轴操控任务。
参见图1,图1为本申请实施例提供的一种示例性的机械臂的结构示意图。如图1所示,该机械臂中包括控制器110、执行部件120、视觉传感器130和安装在执行部件120上的力传感器(图1中未示出)。
视觉传感器130用于跟踪执行部件120的位置和姿态,并将视觉跟踪结果传输至控制器110。具体的,视觉传感器130可以是部署在机械臂工作空间内的全局相机(正如图1中所示的视觉传感器130),也可以是部署在执行部件120上的相机;机械臂工作时,视觉传感器130可以实现六维精确的位置和姿态跟踪控制,并将视觉跟踪结果(如采集的图像)通过有线或无线网络传输给控制器110,以使控制器110根据该视觉跟踪结果确定执行部件120的位置和姿态,并对机械臂运动结构和/或执行部件120进行相应的控制。
执行部件120可以在机械臂运动结构的带动下移动至特定的位置,并在控制器110的控制下执行特定的任务,在本申请实施例提供的技术方案中,执行部件120主要用于执行旋转轴操控任务。作为一种示例,执行部件120可以是部署在机械臂末端的手爪结构,当然,该执行部件120也可以部署在机械臂的其它位置,呈现为其它结构,本申请在此不对执行部件120的具体部署位置及具体结构做任何限定。
安装在执行部件120上的力传感器,用于采集执行部件120与操控对象之间的实际接触力参数,并将该实际接触力参数传输至控制器110。具体的,该力传感器可以为末端六维力传感器或者关节力传感器,该力传感器可以有效地检测执行部件120与操控对象之间的接触碰撞力,此处的六维力传感器可以直接地采集执行部件120的接触力,关节力传感器可以间接地采集执行部件120的接触力;该力传感器可以将其采集的实际接触力参数,通过有线或无线网络实时地传输给控制器110,以使控制器110根据该实际接触力参数,对执行部件120进行相应地控制。
控制器110用于执行本申请实施例提供的机械臂控制方法,以控制机械臂的执行部件120执行旋转轴操控任务。该控制器110可以是独立于机械臂运动结构的控制设备(正如图1中所示的控制器110),如终端设备或服务器,该控制器110也可以是集成在机械臂运动结构中的控制芯片。
本申请实施例提供的机械臂执行旋转轴操控任务的整个过程,可以分为以下四个阶段:
第一阶段,控制器110基于视觉传感器130上传的跟踪结果,控制机械臂运动结构带动执行部件120移动至操控对象的目标操控位置;在此阶段,机械臂主要处于位置控制模式,在该模式下可以对机械臂进行有效的位置和姿态的跟踪以及调整。
第二阶段,控制器110控制执行部件120闭合抓取操控对象。以执行部件120为手爪结构为例,执行部件120移动至目标操控位置后,可以在控制器110的控制下闭合手爪,在此过程中机械臂处于笛卡尔零力控制模式;由于在手爪闭合阶段,手爪与操控对象之间会发生碰撞接触,因此,控制器110需要根据安装在手爪上的力传感器采集的接触力,对手爪的位置和姿态进行相应的调整,以使手爪完全闭合后,手爪与操控对象之间的接触力为0。
第三阶段,控制器110控制执行部件120对操控对象进行操控,即对旋转轴进行操控。在此阶段,控制器110可以获取力传感器采集的执行部件120与操控对象之间的实际接触力参数,然后根据该实际接触力参数和期望驱动力参数确定期望运动参数,进而基于该期望运动参数,控制机械臂操控该操控对象绕其旋转轴运动。此阶段的具体实现过程将在下文的实施例中进行详细介绍。
第四阶段,经第三阶段完成对于旋转轴的操控后,控制器110控制执行部件120松开释放操控对象,即控制手爪松开;进而,控制机械臂运动结构带动执行部件120移动至安全位置,自此整个旋转轴操控任务结束。
在人们的日常工作生活中,旋转轴操控任务无处不在,下面给出几种示例性的包括旋转轴操控任务的应用场景,也即本申请实施例提供的技术方案所适用的应用场景。
参见图2,图2为本申请实施例提供的技术方案所适用的四种典型的应用场景示意图。其中,(a)所示为开关门的场景,(b)所示为借助扳手拧螺丝的场景,(c)所示为开关窗的场景,(d)所示为操作手摇杆的场景。在(a)和(c)所示的场景中,机械臂需要针对两个旋转轴执行操控任务,一个是针对门把手或窗把手中旋转轴的操控任务,另一个是针对门侧边或窗侧边的旋转轴的操控任务;针对两个旋转轴执行操控任务时,执行部件的实际运动轨迹由两段圆弧组合而成。在(b)和(d)所示的场景中,机械臂需要针对一个旋转轴执行操控任务,在(b)所示场景中执行的是以螺丝为旋转轴的操控任务,在(d)所示场景中执行的是以手摇杆的旋转中心为旋转轴的操控任务。
应理解,图2所示的四种应用场景仅为示例,在实际应用中,本申请实施例提供的技术方案并不仅限于在这四种应用场景中应用,还可以应用在其它需要执行旋转轴操控任务的场景。
下面通过实施例对本申请提供的机械臂控制方法进行详细介绍。
参见图3,图3为本申请实施例提供的机械臂控制方法的流程示意图。为了便于描述,下述实施例以控制器作为执行主体进行描述。如图3所示,该机械臂控制方法包括以下步骤:
步骤301:控制机械臂的执行部件移动至操控对象的目标操控位置,且在所述目标操控位置处闭合;所述操控对象为基于旋转轴运动的对象。
机械臂的控制器控制机械臂执行旋转轴操控任务时,可以先控制机械臂的执行部件移动至当前所要操控的操控对象的目标操控位置处;以操控对象为门把手、执行部件为手爪为例,控制器可以控制机械臂的运动结构带动手爪移动至门把手上可抓握的位置处。在此过程中,控制器可以基于视觉传感器上传的视觉跟踪结果,对机械臂的运动结构和/或执行部件进行控制,以对执行部件的位置和姿态进行跟踪和调整。
需要说明的是,由于本申请实施例提供的技术方案无需基于预先规划的期望运动轨迹执行旋转轴操控任务,因此,控制器可以控制执行部件移动至操控对象上任一可执行旋转轴操控任务的位置。具体的,基于期望运动轨迹控制执行部件执行旋转轴操控任务时,为了保证能够适配期望运动轨迹精准地完成操控任务,控制器通常需要控制执行部件移动至特定的操控位置;而本申请实施例提供的技术方案通过力感知的方式执行旋转轴操控任务,不需要固定执行部件对于操控对象的操控位置,可以控制执行部件移动至操控对象上任一可执行旋转轴操控任务的位置处。
控制器控制执行部件移动到操控对象的目标操控位置处后,可以进一步控制该执行部件在该目标操控位置处闭合。仍以操控对象为门把手、执行部件为手爪为例,控制器基于视觉传感器上传的视觉跟踪结果,确定手爪移动至门把手上某一可执行旋转轴操控任务的位置处后,可以进一步控制手爪在该位置处闭合,以达到手爪握住门把手的效果。
可选的,为了保证执行部件后续操控旋转轴时能够实现较好的操控效果,在控制执行部件操控旋转轴之前,可以先控制执行部件,使其与操控对象之间达到相对稳定的状态。即在执行部件在目标操控位置处闭合的过程中,控制器可以根据执行部件与操控对象之间的实际接触力,对执行部件的位置和/或姿态进行调整,以使该执行部件闭合后与操控对象之间的接触力为0。
具体的,在控制器控制执行部件闭合抓握操控对象的过程中,机械臂处于笛卡尔零力控制模式;考虑到在此过程中执行部件与操控对象之间会发生接触碰撞,因此,控制器可以根据安装在执行部件上的力传感器上传的实际接触力,对执行部件的位置和/或姿态进行一定程度的调整,从而使得执行部件完全闭合抓握操控对象后,其与该操控对象之间的实际接触力可以为0。
步骤302:获取所述执行部件与所述操控对象之间的实际接触力参数。
控制器检测到执行部件在操控对象的目标操控位置处闭合后,可以进一步开始执行旋转轴操控任务,在此过程中,安装在执行部件上的力传感器可以实时地采集该执行部件与操控对象之间的实际接触力参数,并通过有线或无线网络将所采集的实际接触力参数传输给控制器,以便控制器可以基于该实际接触力参数实现对于旋转轴的柔顺控制。此处的实际接触力参数具体可以包括实际接触力和实际接触力矩。
步骤303:根据所述实际接触力参数和期望驱动力参数,确定期望运动参数;所述期望驱动力参数是根据所述操控对象的连体坐标系中的预设驱动力参数和所述执行部件在本次操控过程中的实际运动轨迹确定的。
在控制器控制执行部件执行旋转轴操控任务的过程中,控制器可以基于当前时刻的实际接触力参数和当前时刻的期望驱动力参数,确定当前时刻的期望运动参数,基于该期望运动参数可以指示执行部件执行相应的运动。
需要说明的是,上述实际接触力参数为安装在执行部件上的力传感器采集的参数,通常包括执行部件与操控对象之间的实际接触力和实际接触力矩。上述期望驱动力参数为控制器基于操控对象的连体坐标系中的预设驱动力参数和执行部件在本次操控过程中的实际运动轨迹确定的参数,通常包括期望驱动力和期望驱动力矩。期望运动参数用于指示执行部件运动,其是根据实际接触力参数和期望驱动力参数确定的,通常包括期望位置增量和期望角速度。
在实际应用中,控制器可以从位置维度和姿态维度出发,基于实际接触力参数和期望驱动力参数,分别确定期望运动参数中的期望位置增量和期望角速度。具体的,控制器可以根据预设的位置期望参数、实际接触力参数和期望驱动力参数,确定期望运动参数中的期望位置增量;根据预设的姿态期望参数、实际接触力参数和期望驱动力参数,确定期望运动参数中的期望角速度。
下面先对期望位置增量的确定方式进行详细介绍:
假设预设的位置期望参数包括位置阻抗对象的第一期望惯量和第一期望阻尼,实际接触力参数包括实际接触力,期望驱动力参数包括期望驱动力。针对目标时刻(可以理解为当前时刻)确定期望位置增量时,可以先计算目标时刻的期望驱动力与目标时刻的实际接触力之间的差值,作为第一参考值,计算第一期望阻尼、目标时刻的上一时刻的期望线速度与目标时刻与其上一时刻之间的时间差(即采集周期)的乘积,作为第二参考值;然后,根据第一期望惯量以及第一参考值与第二参考值之间的差值,计算第三参考值;进而,计算该第三参考值与目标时刻的上一时刻的期望线速度的和值,作为该目标时刻的期望线速度;最终,对目标时刻的期望线速度进行积分处理,得到该目标时刻的期望位置增量。
具体的,机械臂在位置维度上的力控制关系表达式如式(1)所示:
基于上述式(1)可以推导出式(2),以得到用于离散控制率计算的期望线速度:
其中,为k时刻的期望线速度,对该期望线速度进行进一步积分处理即可得到k时刻的期望位置增量;fd(k)为k时刻的期望驱动力,fe(k)为k时刻的实际接触力,为k-1时刻的期望线速度,Ts为k时刻与k-1时刻之间的时间差,即为采样周期。
应理解,上述确定期望位置增量的实现方式仅为示例,在实际应用中,控制器还可以基于其他算法确定目标时刻的期望位置增量,本申请在此不对该期望位置增量的确定方式做任何限定。
下面先对期望角速度的确定方式进行详细介绍:
假设预设的姿态期望参数包括姿态阻抗对角的第二期望惯量和第二期望阻尼,实际接触力参数包括实际接触力矩,期望驱动力参数包括期望驱动力矩。针对目标时刻(可以理解为当前时刻)确定期望角速度时,可以先计算目标时刻的期望驱动力矩与目标时刻的实际接触力矩之间的差值,作为第四参考值,计算第二期望阻尼、目标时刻的上一时刻的期望角速度和目标时刻与其上一时刻之间的时间差(即采样周期)的乘积,作为第五参考值;然后,根据第二期望惯量以及第四参考值与第五参考值之间的差值,计算第六参考值;进而,计算该第六参考值与目标时刻的上一时刻的期望角速度的和值,作为该目标时刻的期望角速度。
具体的,机械臂在姿态维度上的力控制关系表达式如式(3)所示:
基于上述式(3)可以推导出式(4),以得到用于离散控制率计算的期望角速度:
其中,wd(k)为k时刻的期望角速度,Γd(k)为k时刻的期望驱动力矩,Γe(k)为k时刻的实际接触力矩,wd(k-1)为k-1时刻的期望角速度,Ts为k时刻与k-1时刻之间的时间差,即为采样周期。
需要说明的是,在上述期望运动参数的确定过程,假设力和力矩均是在机械臂执行部件的控制点处(即目标操控位置处)的坐标系下表示的。
对于执行部件在约束条件下的运动,需要给定机械臂柔顺控制合理的期望驱动参数,即给出沿着约束轨迹切线方向上的期望驱动力以及相应的期望驱动力矩;并且在一段行程内旋转轴的方向是不变的,相应地,有效的驱动力和驱动力矩也是局部固定的。下面对期望驱动参数中期望驱动力和期望驱动力矩的确定方式分别进行详细介绍。
确定期望驱动力时,可以基于操作对象的连体坐标系中的预设驱动力确定。具体的,可以先将预设驱动力转换为三维预设驱动力矢量,然后基于第一转换矩阵和第二转换矩阵转换该三维预设驱动力矢量得到期望驱动力,此处的第一转换矩阵是操作对象的连体坐标系与目标操控位置处的工具系之间的转换矩阵,第二转换矩阵是目标操控位置处的工具系与执行部件的控制点处的连体坐标系之间的转换矩阵。
需要说明的是,由于实际接触力通常是在目标操控位置处的工具系下确定的,而预设驱动力通常适用于操作对象的连体坐标系,因此,需要基于第一转换矩阵对操作对象的连体坐标系中的预设驱动力进行一次转换处理。此外,执行部件的实际控制点与执行部件的实际操控位置通常也不在同一位置,因此,还需要基于第二转换矩阵对一次转换处理后得到的结果进行二次转换处理。
确定期望驱动力矩时,可以先在执行部件在本次操控过程中的实际运动轨迹上选取多个参考点,根据多个参考点各自的坐标确定实际运动轨迹的半径;然后,根据该实际运动轨迹的半径和预设驱动力确定预设驱动力矩,并将该预设驱动力矩转换为三维预设驱动力矩矢量;进而,基于第一转换矩阵和第二转换矩阵转换该三维预设驱动力矩矢量得到期望驱动力矩,此处的第一转换矩阵是操作对象的连体坐标系与目标操控位置处的工具系之间的转换矩阵,第二转换矩阵是目标操控位置处的工具系与执行部件的控制点处的连体坐标系之间的转换矩阵。
需要说明的是,由于在本申请实施例提供的技术方案中,控制器可以控制执行部件抓握操控对象上任一可执行旋转轴操控任务的位置,因此,为了保证能够为旋转轴操控任务提供合理的期望驱动力矩,可以基于执行部件在本次操控任务中实际运动轨迹的半径,对操作对象的连体坐标系中的预设驱动力进行处理,以得到合理的期望驱动力矩。
相类似的,由于实际接触力矩通常是在目标操控位置处的工具系下确定的,而预设驱动力矩通常适用于操作对象的连体坐标系,因此,需要基于第一转换矩阵对操作对象的连体坐标系中的预设驱动力矩进行一次转换处理。此外,执行部件的实际控制点与执行部件的实际操控位置通常也不在同一位置,因此,还需要基于第二转换矩阵对一次转换处理后得到的结果进行二次转换处理。
为了便于理解上述期望驱动力和期望驱动力矩的确定过程,下面以应用场景为开关窗户为例,结合图4所示的原理示意图对该过程进行详细介绍,其中(a)所示为该场景的前视图,(b)所示为该场景的俯视图。
控制器可以在执行部件的实际运动轨迹中选取参考点m1、m2和m3,参考点m1、m2和m3的坐标分别为(x1,y1)、(x2,y2)和(x3,y3),该实际运动轨迹对应的圆方程可以表示为式(5):
Ax2+Ay2+Bx+Cy+D=0 (5)
基于参考点m1、m2和m3的坐标可以推导出式(5)中的A、B、C和D分别如式(6)所示:
相应地,实际运动轨迹的圆心坐标(xc,yc)可以通过式(7)确定:
相应地,实际运动轨迹的半径r可以通过式(8)确定:
进而,基于式(9)引入三维预设驱动力矢量f0和三维预设驱动力矩矢量Γ0:
其中,fy为把手连体坐标系中的预设驱动力,tz为把手连体坐标系中的预设驱动力矩。
进一步,通过式(10)将把手连体坐标系下的预设驱动力和预设驱动力矩[f0,Γ0],转换为目标操控位置处的坐标系下的期望驱动力和期望驱动力矩[fd,Γf]:
其中,T2是把手连体坐标系以及执行部件抓取点(即目标操控位置)处的工具系之间的转换矩阵,T1是执行部件抓取点处的工具系与执行部件的控制点处的连体坐标系之间的转换矩阵。
需要说明的是,机械臂的执行部件对旋转轴进行操控的过程中,执行部件抓握操控对象时可能发生一定程度的打滑,从而导致控制器基于视觉检测确定的变换矩阵一直发生变化,进而导致基于上述过程计算的期望驱动力和期望驱动力矩一直发生变化。而期望驱动力矩的变化将决定旋转轴操控任务完成的好坏,期望驱动力的变化将决定旋转轴操控任务完成的速度。为了提高操控任务的实现效果,使得执行部件的实际运动参数快速地达到期望运动参数,本申请实施例提供的方案还可以在力矩的柔顺方向上(即在姿态维度上)进行自适应修正,以使旋转轴操控任务可以快速稳定地完成。
具体的,控制器可以根据姿态期望参数、目标时刻的实际接触力参数、目标时刻的期望驱动力参数和目标时刻的自适应修正项,确定该目标时刻的期望角速度;其中,目标时刻的自适应修正项是根据目标时刻的上一时刻的实际接触力参数与期望驱动力参数之间的误差确定的。
下面对该目标时刻的自适应修正项的确定方式进行详细介绍。
假设姿态期望参数包括姿态阻抗对角的第二期望惯量和第二期望阻尼,实际接触力参数包括实际接触力矩,期望驱动力参数包括期望驱动力矩。则计算目标时刻(可以理解为当前时刻)的自适应修正项时,可以先计算目标时刻的上一时刻的期望驱动力矩与该目标时刻的上一时刻的实际接触力矩之间的差值,作为第七参考值;然后,根据该目标时刻的上一时刻的自适应修正项、预设的更新参数、第二期望阻尼和第七参考值,计算该目标时刻的自适应修正项。
具体的,可以通过式(11)计算k时刻的自适应修正项:
其中,ρ(k)为k时刻的自适应修正项,ρ(k-1)为k-1时刻的自适应修正项,v>0是预设的更新参数,Γd(k-1)为k-1时刻的期望驱动力矩,Γe(k-1)为k-1时刻的实际接触力矩。
下面对基于目标时刻的自适应修正项确定目标时刻的期望角速度的方式进行详细介绍。
假设姿态期望参数包括姿态阻抗对角的第二期望惯量和第二期望阻尼,实际接触力参数包括实际接触力矩,期望驱动力参数包括期望驱动力矩。针对目标时刻确定期望驱动力矩时,控制器可以先计算目标时刻的期望驱动力矩与目标时刻的实际接触力矩之间的差值,作为第八参考值,计算第二期望阻尼、目标时刻的上一时刻的期望角速度与目标时刻的自适应修正项的和值、以及目标时刻与其上一时刻之间的时间差的乘积,作为第九参考值;然后,根据第二期望惯量以及第八参考值与第九参考值之间的差值,计算第十参考值;进而,计算第十参考值与目标时刻的上一时刻的期望角速度的和值,作为目标时刻的期望角速度。
机械臂执行旋转轴操控任务时,可以采用力跟踪的误差来修正机械臂的执行部件姿态控制,基于此姿态维度上的自适应阻抗关系的表达式可以如式(12)所示:
其中,Mε和Dε分别是3×3维度姿态阻抗对角的第二期望惯量和第二期望阻尼;w和分别是3×1维度的实际角速度和实际角加速度;Γd为3×1维度的期望接触力矩,Γe为3×1维度的实际接触力矩;ρ为自适应修正项。
基于上述式(12)可以推导出式(13),以得到用于离散控制率计算的期望角速度:
其中,wd(k)为k时刻的期望角速度,Γd(k)为k时刻的期望驱动力矩,Γe(k)为k时刻的实际接触力矩,wd(k-1)为k-1时刻的期望角速度,ρ(k)为k时刻的自适应修正项,Ts为k时刻与k-1时刻之间的时间差,即为采样周期。
步骤304:基于所述期望运动参数,控制所述机械臂操控所述操控对象绕所述旋转轴运动。
控制器经过步骤303确定出当前时刻的期望运动参数后,即可基于该期望运动参数控制机械臂执行旋转轴操控任务。具体的,控制器可以基于该期望运动参数,控制执行部件按照期望角速度移动期望位置增量,从而执行对于操控对象的旋转轴操控任务,即对操控对象进行操控,使该操控对象绕其旋转轴运动。
控制器在控制执行部件针对操控对象执行旋转轴操控任务的过程中,重复执行步骤302至步骤304,直至确认完成该旋转轴操控任务,例如确认已将旋转轴旋转至特定的位置。完成旋转轴操控任务后,控制器可以控制机械臂的运动结构带动执行部件移动至安全位置,以避免执行部件后续误触碰操控对象。
在本申请实施例提供的方法中,机械臂的控制器可以基于执行部件与操控对象之间的实际接触力参数和期望驱动力参数确定期望运动参数,并基于该期望运动参数控制执行部件在操控对象旋转轴的约束下运动,即控制该执行部件沿着旋转轴约束轨迹的切线方向运动。相比相关技术中的实现方式,该方法不再需要规划期望运动轨迹,也不再需要基于该期望运动轨迹控制执行部件运动,因此避免了因基于期望运动轨迹操控旋转轴而带来的问题,该方法可以针对各种旋转轴精准地执行操控任务,扩展机械臂的应用范围。
为了便于进一步理解本申请实施例提供的技术方案,下面以本申请实施例提供的技术方案应用于对把手(门把手或窗把手)执行旋转轴操控任务为例,对本申请实施例提供的技术方案做整体示例性介绍。
机械臂的控制器可以基于其视觉传感器上传的跟踪结果,控制机械臂运动结构携带末端执行部件移动至把手的目标抓捕位置。进而,控制该末端执行部件在把手的目标抓捕位置处闭合手爪,在此阶段,控制器可以根据执行部件与把手之间的实际接触力对手爪的位置和姿态进行相应的调整,以使手爪完全闭合后其与把手之间的接触力为0。
进而,进入旋转轴操控任务执行阶段,基于本申请实施例提供的力控制算法,使得机械臂在旋转轴约束条件下执行柔顺操作控制的任务。本申请实施例提供的力控制算法主要包括以下三个部分:
(1)柔顺控制关系表达式
考虑到机械臂在位置方向上的力控制关系表达式如下:
考虑到机械臂在姿态方向上的力控制关系表达式如下:
因而,可以得到用于离散控制率计算的期望位置增量和角速度如下:
其中,和wd(k)分别为k时刻的期望线速度和期望角速度,对该期望线速度进行进一步积分处理即可得到k时刻的期望位置增量;和wd(k-1)分别为k-1时刻的期望线速度和期望角速度;fd(k)和fe(k)分别为k时刻的期望驱动力和实际接触力;Γd(k)和Γe(k)分别为k时刻的期望驱动力矩和实际接触力矩;Ts为k时刻与k-1时刻之间的时间差,即为采样周期。
上述公式中,假设力和力矩均是在机械臂末端控制点处的末端坐标系下的表示。
(2)期望驱动力和期望驱动力矩的确定
对于末端约束条件下的运动,需要给定机械臂柔顺控制合理的期望驱动力和期望驱动力矩,且旋转轴方向上的约束运动,主要是沿着约束轨迹切线方向上的期望驱动力以及相应的期望驱动力矩,且在一段行程内旋转轴的方向始终不变,因此,有效的驱动力和驱动力矩局部是固定的。
假设在执行部件的实际运动轨迹中选取参考点m1、m2和m3,参考点m1、m2和m3的坐标分别为(x1,y1)、(x2,y2)和(x3,y3),该实际运动轨迹对应的圆方程可以表示如下:
Ax2+Ay2+Bx+Cy+D=0
其中,A、B、C和D的表示如下:
而圆心坐标(xc,yc)为:
相应地,圆半径r为:
因此,引入三维预设驱动力矢量f0和三维预设驱动力矩矢量Γ0:
其中,fy为把手连体坐标系中的预设驱动力,t,为把手连体坐标系中的预设驱动力矩。
进一步,将把手连体坐标系下的[f0,Γ0]转化为机械臂末端控制点处末端坐标系下的表示[fd,ΓD],具体表示如下:
其中,T2是把手连体坐标系以及末端执行部件抓取点处的工具系之间的转换矩阵,T1是末端执行部件抓取点处的工具系与执行部件的控制点处的连体坐标系之间的转换矩阵。
(3)力矩柔顺方向上的自适应修正
在假设预设驱动力不变的情况下,期望驱动力矩的变化将决定任务完成的好坏,期望驱动力将决定任务完成的速度,因此有必要在力矩的柔顺方向上进行自适应修正,使得机械臂末端绕旋转轴的任务可以稳定地完成。机械臂执行绕旋转轴的操作时,可以采用力跟踪的误差来实时修正机械臂的末端姿态控制,为此可以参考姿态方向上的自适应阻抗关系表达式:
相应地,姿态方向上的离散控制规律如下所示:
其中,ρ(k)为k时刻的自适应修正项,ρ(k-1)为k-1时刻的自适应修正项,v>0是预设的更新参数,Γd(k-1)为k-1时刻的期望驱动力矩,Γe(k-1)为k-1时刻的实际接触力矩。
因而,六维的力控制策略具体如下所示:
经上述力的控制算法完成旋转轴控制任务后,控制器可以控制末端执行器松开手爪,并且控制机械臂撤出到安全位置,任务结束。
本申请实施例还提供了一种机器人控制方法,该方法适用于包括机械臂的机器人,该机器人控制方法的实现过程与上文中机械臂控制方法的实现过程相同,详细可参考上文中所介绍的机械臂控制方法的实现过程,此处不再赘述。
针对上文描述的机械臂控制方法,本申请还提供了对应的机械臂控制装置,以使上述机械臂控制方法在实际中得以应用和实现。
参见图5,图5是是与上文图3所示的机械臂控制方法对应的一种机械臂控制装置500的结构示意图,该机械臂控制装置包括:
控制模块503,用于控制机械臂的执行部件移动至操控对象的目标操控位置,且在所述目标操控位置处闭合;所述操控对象为基于旋转轴运动的对象;
获取模块501,用于获取所述执行部件与所述操控对象间的实际接触力参数;
期望值确定模块502,用于根据所述实际接触力参数和期望驱动力参数,确定期望运动参数;所述期望驱动力参数是根据所述操控对象的连体坐标系中的预设驱动力参数和所述执行部件在本次操控过程中的实际运动轨迹确定的;
所述控制模块503,还用于基于所述期望运动参数,控制所述执行部件操控所述操控对象绕所述旋转轴运动。
可选的,在图5所示的机械臂控制装置的基础上,参见图6,图6为本申请实施例提供的另一种机械臂控制装置600的结构示意图。其中,期望值确定模块502包括:
位置增量确定单元601,用于根据预设的位置期望参数、所述实际接触力参数和所述期望驱动力参数,确定所述期望运动参数中的期望位置增量;
角速度确定单元602,用于根据预设的姿态期望参数、所述实际接触力参数和所述期望驱动力参数,确定所述期望运动参数中的期望角速度。
可选的,在图6所示的机械臂控制装置的基础上,所述位置期望参数包括位置阻抗对角的第一期望惯量和第一期望阻尼,所述实际接触力参数包括实际接触力,所述期望驱动力参数包括期望驱动力;则所述位置增量确定单元601具体用于:
计算目标时刻的期望驱动力与所述目标时刻的实际接触力之间的差值,作为第一参考值;计算所述第一期望阻尼、所述目标时刻的上一时刻的期望线速度和所述目标时刻与其上一时刻之间的时间差的乘积,作为第二参考值;
根据所述第一期望惯量以及所述第一参考值与所述第二参考值之间的差值,计算第三参考值;
计算所述第三参考值与所述目标时刻的上一时刻的期望线速度的和值,作为所述目标时刻的期望线速度;
对所述目标时刻的期望线速度进行积分处理,得到所述目标时刻的期望位置增量。
可选的,在图6所示的机械臂控制装置的基础上,所述姿态期望参数包括姿态阻抗对角的第二期望惯量和第二期望阻尼,所述实际接触力参数包括实际接触力矩,所述期望驱动力参数包括期望驱动力矩;则所述角速度确定单元602具体用于:
计算目标时刻的期望驱动力矩与所述目标时刻的实际接触力矩之间的差值,作为第四参考值;计算所述第二期望阻尼、所述目标时刻的上一时刻的期望角速度和所述目标时刻与其上一时刻之间的时间差的乘积,作为第五参考值;
根据所述第二期望惯量以及所述第四参考值与所述第五参考值之间的差值,计算第六参考值;
计算所述第六参考值与所述目标时刻的上一时刻的期望角速度的和值,作为所述目标时刻的期望角速度。
可选的,在图6所示的机械臂控制装置的基础上,所述角速度确定单元602具体用于:
根据所述姿态期望参数、目标时刻的所述实际接触力参数、所述目标时刻的所述期望驱动力参数和所述目标时刻的自适应修正项,确定所述目标时刻的期望角速度;所述目标时刻的自适应修正项是根据所述目标时刻的上一时刻的实际接触力参数与期望驱动力参数之间的误差确定的。
可选的,在图6所示的机械臂控制装置的基础上,所述姿态期望参数包括姿态阻抗对角的第二期望惯量和第二期望阻尼,所述实际接触力参数包括实际接触力矩,所述期望驱动力参数包括期望驱动力矩;所述角速度确定单元602还用于:
计算所述目标时刻的上一时刻的期望驱动力矩与所述目标时刻的上一时刻的实际接触力矩之间的差值,作为第七参考值;
根据所述目标时刻的上一时刻的自适应修正项、预设的更新参数、所述第二期望阻尼和所述第七参考值,计算所述目标时刻的自适应修正项。
可选的,在图6所示的机械臂控制装置的基础上,所述姿态期望参数包括姿态阻抗对角的第二期望惯量和第二期望阻尼,所述实际接触力参数包括实际接触力矩,所述期望驱动力参数包括期望驱动力矩;所述角速度确定单元602具体用于:
计算所述目标时刻的期望驱动力矩与所述目标时刻的实际接触力矩之间的差值,作为第八参考值;计算所述第二期望阻尼、所述目标时刻的上一时刻的期望角速度与所述目标时刻的自适应修正项的和值、以及所述目标时刻与其上一时刻之间的时间差的乘积,作为第九参考值;
根据所述第二期望惯量以及所述第八参考值与所述第九参考值之间的差值,计算第十参考值;
计算所述第十参考值与所述目标时刻的上一时刻的期望角速度的和值,作为所述目标时刻的期望角速度。
可选的,在图5所示的机械臂控制装置的基础上,参见图7,图7为本申请实施例提供的另一种机械臂控制装置700的结构示意图。所述期望驱动力参数包括期望驱动力,所述操控对象的连体坐标系中的预设驱动力参数包括预设驱动力;所述装置还包括:
驱动力确定模块701,用于将所述预设驱动力转换为三维预设驱动力矢量;基于第一转换矩阵和第二转换矩阵转换所述三维预设驱动力矢量,得到所述期望驱动力;所述第一转换矩阵是所述操控对象的连体坐标系与所述目标操控位置处的工具系之间的转换矩阵,所述第二转换矩阵是所述目标操控位置处的工具系与所述执行部件的控制点处的连体坐标系之间的转换矩阵。
可选的,在图5所示的机械臂控制装置的基础上,参见图8,图8为本申请实施例提供的另一种机械臂控制装置800的结构示意图。所述期望驱动力参数包括期望驱动力矩,所述操控对象的连体坐标系中的预设驱动力参数包括预设驱动力;所述装置还包括:
驱动力矩确定模块801,用于在所述执行部件在本次操控过程中的实际运动轨迹上选取多个参考点;根据所述多个参考点各自的坐标,确定所述实际运动轨迹的半径;根据所述实际运动轨迹的半径和所述预设驱动力,确定预设驱动力矩;将所述预设驱动力矩转换为三维预设驱动力矩矢量;基于第一转换矩阵和第二转换矩阵转换所述三维预设驱动力矩矢量,得到所述期望驱动力矩;所述第一转换矩阵是所述操控对象的连体坐标系与所述目标操控位置处的工具系之间的转换矩阵,所述第二转换矩阵是所述目标操控位置处的工具系与所述执行部件的控制点处的连体坐标系之间的转换矩阵。
可选的,在图5所示的机械臂控制装置的基础上,参见图9,图9为本申请实施例提供的另一种机械臂控制装置900的结构示意图。该装置还包括:
预调整模块901,用于在所述执行部件在所述目标操控位置处闭合的过程中,根据所述执行部件与所述操控对象之间的实际接触力,对所述执行部件的位置和/或姿态进行调整,以使所述执行部件闭合后与所述操控对象之间的实际接触力为0。
在本申请实施例提供的装置中,机械臂的控制器可以基于执行部件与操控对象之间的实际接触力参数和期望驱动力参数确定期望运动参数,并基于该期望运动参数控制执行部件在操控对象旋转轴的约束下运动,即控制该执行部件沿着旋转轴约束轨迹的切线方向运动。相比相关技术中的实现方式,该装置不再需要规划期望运动轨迹,也不再需要基于该期望运动轨迹控制执行部件运动,因此避免了因基于期望运动轨迹操控旋转轴而带来的问题,该装置可以针对各种旋转轴精准地执行操控任务,扩展机械臂的应用范围。
本申请实施例还提供了一种用于控制机械臂的设备(即上文中的控制器),该设备具体可以为服务器和终端设备,下面将从硬件实体化的角度对本申请实施例提供的服务器和终端设备进行介绍。
参见图10,图10为本申请实施例提供的一种服务器1000的结构示意图。该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1022(例如,一个或一个以上处理器)和存储器1032,一个或一个以上存储应用程序1042或数据1044的存储介质1030(例如一个或一个以上海量存储设备)。其中,存储器1032和存储介质1030可以是短暂存储或持久存储。存储在存储介质1030的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1022可以设置为与存储介质1030通信,在服务器1000上执行存储介质1030中的一系列指令操作。
服务器1000还可以包括一个或一个以上电源1026,一个或一个以上有线或无线网络接口1050,一个或一个以上输入输出接口1058,和/或,一个或一个以上操作系统1041,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图10所示的服务器结构。
其中,CPU 1022用于执行如下步骤:
控制机械臂的执行部件移动至操控对象的目标操控位置,且在所述目标操控位置处闭合;所述操控对象为基于旋转轴运动的对象;
获取所述执行部件与所述操控对象之间的实际接触力参数;
根据所述实际接触力参数和期望驱动力参数,确定期望运动参数;所述期望驱动力参数是根据所述操控对象的连体坐标系中的预设驱动力参数和所述执行部件在本次操控过程中的实际运动轨迹确定的;
基于所述期望运动参数,控制所述机械臂操控所述操控对象绕所述旋转轴运动。
可选的,CPU 1022还可以用于执行本申请实施例提供的机械臂控制方法或者机器人控制方法的任意一种实现方式的步骤。
参见图11,图11为本申请实施例提供的一种终端设备的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括智能手机、计算机、平板电脑、个人数字助理等任意终端设备,以终端为计算机为例:
图11示出的是与本申请实施例提供的终端相关的计算机的部分结构的框图。参考图11,计算机包括:射频(Radio Frequency,RF)电路1111、存储器1120、输入单元1130、显示单元1140、传感器1150、音频电路1160、无线保真(wireless fidelity,WiFi)模块1170、处理器1180、以及电源1190等部件。本领域技术人员可以理解,图11中示出的计算机结构并不构成对计算机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器1120可用于存储软件程序以及模块,处理器1180通过运行存储在存储器1120的软件程序以及模块,从而执行计算机的各种功能应用以及数据处理。存储器1120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1180是计算机的控制中心,利用各种接口和线路连接整个计算机的各个部分,通过运行或执行存储在存储器1120内的软件程序和/或模块,以及调用存储在存储器1120内的数据,执行计算机的各种功能和处理数据,从而对计算机进行整体监控。可选的,处理器1180可包括一个或多个处理单元;优选的,处理器1180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1180中。
在本申请实施例中,该终端所包括的处理器1180还具有以下功能:
控制机械臂的执行部件移动至操控对象的目标操控位置,且在所述目标操控位置处闭合;所述操控对象为基于旋转轴运动的对象;
获取所述执行部件与所述操控对象之间的实际接触力参数;
根据所述实际接触力参数和期望驱动力参数,确定期望运动参数;所述期望驱动力参数是根据所述操控对象的连体坐标系中的预设驱动力参数和所述执行部件在本次操控过程中的实际运动轨迹确定的;
基于所述期望运动参数,控制所述机械臂操控所述操控对象绕所述旋转轴运动。
可选的,所述处理器1180还用于执行本申请实施例提供的机械臂控制方法或者机器人控制方法的任意一种实现方式的步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种机械臂控制方法或者机器人控制方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种机械臂控制方法或者机器人控制方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种机械臂控制方法,其特征在于,所述方法包括:
控制机械臂的执行部件移动至操控对象的目标操控位置,且在所述目标操控位置处闭合;所述操控对象为基于旋转轴运动的对象;
获取所述执行部件与所述操控对象之间的实际接触力参数;
根据所述实际接触力参数和期望驱动力参数,确定期望运动参数;所述期望驱动力参数是根据所述操控对象的连体坐标系中的预设驱动力参数和所述执行部件在本次操控过程中的实际运动轨迹确定的;
基于所述期望运动参数,控制所述机械臂操控所述操控对象绕所述旋转轴运动。
2.根据权利要求1所述的方法,其特征在于,所述根据所述实际接触力参数和期望驱动力参数,确定期望运动参数,包括:
根据预设的位置期望参数、所述实际接触力参数和所述期望驱动力参数,确定所述期望运动参数中的期望位置增量;
根据预设的姿态期望参数、所述实际接触力参数和所述期望驱动力参数,确定所述期望运动参数中的期望角速度。
3.根据权利要求2所述的方法,其特征在于,所述位置期望参数包括位置阻抗对角的第一期望惯量和第一期望阻尼,所述实际接触力参数包括实际接触力,所述期望驱动力参数包括期望驱动力;
所述根据预设的位置期望参数、所述实际接触力参数和所述期望驱动力参数,确定所述期望运动参数中的期望位置增量,包括:
计算目标时刻的期望驱动力与所述目标时刻的实际接触力之间的差值,作为第一参考值;计算所述第一期望阻尼、所述目标时刻的上一时刻的期望线速度和所述目标时刻与其上一时刻之间的时间差的乘积,作为第二参考值;
根据所述第一期望惯量以及所述第一参考值与所述第二参考值之间的差值,计算第三参考值;
计算所述第三参考值与所述目标时刻的上一时刻的期望线速度的和值,作为所述目标时刻的期望线速度;
对所述目标时刻的期望线速度进行积分处理,得到所述目标时刻的期望位置增量。
4.根据权利要求2所述的方法,其特征在于,所述姿态期望参数包括姿态阻抗对角的第二期望惯量和第二期望阻尼,所述实际接触力参数包括实际接触力矩,所述期望驱动力参数包括期望驱动力矩;
所述根据预设的姿态期望参数、所述实际接触力参数和所述期望驱动力参数,确定所述期望运动参数中的期望角速度,包括:
计算目标时刻的期望驱动力矩与所述目标时刻的实际接触力矩之间的差值,作为第四参考值;计算所述第二期望阻尼、所述目标时刻的上一时刻的期望角速度和所述目标时刻与其上一时刻之间的时间差的乘积,作为第五参考值;
根据所述第二期望惯量以及所述第四参考值与所述第五参考值之间的差值,计算第六参考值;
计算所述第六参考值与所述目标时刻的上一时刻的期望角速度的和值,作为所述目标时刻的期望角速度。
5.根据权利要求2所述的方法,其特征在于,所述根据预设的姿态期望参数、所述实际接触力参数和所述期望驱动力参数,确定所述期望运动参数中的期望角速度,包括:
根据所述姿态期望参数、目标时刻的所述实际接触力参数、所述目标时刻的所述期望驱动力参数和所述目标时刻的自适应修正项,确定所述目标时刻的期望角速度;所述目标时刻的自适应修正项是根据所述目标时刻的上一时刻的实际接触力参数与期望驱动力参数之间的误差确定的。
6.根据权利要求5所述的方法,其特征在于,所述姿态期望参数包括姿态阻抗对角的第二期望惯量和第二期望阻尼,所述实际接触力参数包括实际接触力矩,所述期望驱动力参数包括期望驱动力矩;
通过以下方式确定所述目标时刻的自适应修正项:
计算所述目标时刻的上一时刻的期望驱动力矩与所述目标时刻的上一时刻的实际接触力矩之间的差值,作为第七参考值;
根据所述目标时刻的上一时刻的自适应修正项、预设的更新参数、所述第二期望阻尼和所述第七参考值,计算所述目标时刻的自适应修正项。
7.根据权利要求5或6所述的方法,其特征在于,所述姿态期望参数包括姿态阻抗对角的第二期望惯量和第二期望阻尼,所述实际接触力参数包括实际接触力矩,所述期望驱动力参数包括期望驱动力矩;
所述根据所述姿态期望参数、目标时刻的所述实际接触力参数、所述目标时刻的所述期望驱动力参数和所述目标时刻的自适应修正项,确定所述目标时刻的期望角速度,包括:
计算所述目标时刻的期望驱动力矩与所述目标时刻的实际接触力矩之间的差值,作为第八参考值;计算所述第二期望阻尼、所述目标时刻的上一时刻的期望角速度与所述目标时刻的自适应修正项的和值、以及所述目标时刻与其上一时刻之间的时间差的乘积,作为第九参考值;
根据所述第二期望惯量以及所述第八参考值与所述第九参考值之间的差值,计算第十参考值;
计算所述第十参考值与所述目标时刻的上一时刻的期望角速度的和值,作为所述目标时刻的期望角速度。
8.根据权利要求1所述的方法,其特征在于,所述期望驱动力参数包括期望驱动力,所述操控对象的连体坐标系中的预设驱动力参数包括预设驱动力;通过以下方式确定所述期望驱动力:
将所述预设驱动力转换为三维预设驱动力矢量;
基于第一转换矩阵和第二转换矩阵转换所述三维预设驱动力矢量,得到所述期望驱动力;所述第一转换矩阵是所述操控对象的连体坐标系与所述目标操控位置处的工具系之间的转换矩阵,所述第二转换矩阵是所述目标操控位置处的工具系与所述执行部件的控制点处的连体坐标系之间的转换矩阵。
9.根据权利要求1所述的方法,其特征在于,所述期望驱动力参数包括期望驱动力矩,所述操控对象的连体坐标系中的预设驱动力参数包括预设驱动力;通过以下方式确定所述期望驱动力矩:
在所述执行部件在本次操控过程中的实际运动轨迹上选取多个参考点;根据所述多个参考点各自的坐标,确定所述实际运动轨迹的半径;
根据所述实际运动轨迹的半径和所述预设驱动力,确定预设驱动力矩;
将所述预设驱动力矩转换为三维预设驱动力矩矢量;
基于第一转换矩阵和第二转换矩阵转换所述三维预设驱动力矩矢量,得到所述期望驱动力矩;所述第一转换矩阵是所述操控对象的连体坐标系与所述目标操控位置处的工具系之间的转换矩阵,所述第二转换矩阵是所述目标操控位置处的工具系与所述执行部件的控制点处的连体坐标系之间的转换矩阵。
10.根据权利要求1所述的方法,其特征在于,所述控制机械臂的执行部件在所述目标操控位置处闭合,包括:
在所述执行部件在所述目标操控位置处闭合的过程中,根据所述执行部件与所述操控对象之间的实际接触力,对所述执行部件的位置和/或姿态进行调整,以使所述执行部件闭合后与所述操控对象之间的实际接触力为0。
11.一种机械臂控制装置,其特征在于,所述装置包括:
控制模块,用于控制机械臂的执行部件移动至操控对象的目标操控位置,且在所述目标操控位置处闭合;所述操控对象为基于旋转轴运动的对象;
获取模块,用于获取所述执行部件与所述操控对象间的实际接触力参数;
期望值确定模块,用于根据所述实际接触力参数和期望驱动力参数,确定期望运动参数;所述期望驱动力参数是根据所述操控对象的连体坐标系中的预设驱动力参数和所述执行部件在本次操控过程中的实际运动轨迹确定的;
所述控制模块,还用于基于所述期望运动参数,控制所述执行部件操控所述操控对象绕所述旋转轴运动。
12.根据权利要求11所述的装置,其特征在于,所述期望值确定模块包括:
位置增量确定单元,用于根据预设的位置期望参数、所述实际接触力参数和所述期望驱动力参数,确定所述期望运动参数中的期望位置增量;
角速度确定单元,用于根据预设的姿态期望参数、所述实际接触力参数和所述期望驱动力参数,确定所述期望运动参数中的期望角速度。
13.一种机械臂,其特征在于,所述机械臂包括:控制器、执行部件、视觉传感器和安装在所述执行部件上的力传感器;
所述视觉传感器,用于跟踪所述执行部件的位置和姿态,并将视觉跟踪结果传输至所述控制器;
所述力传感器,用于采集所述执行部件与操控对象间的实际接触力参数,并将所述实际接触力参数传输至所述控制器;
所述控制器,用于执行权利要求1至10中任一项所述的机械臂控制方法。
14.一种机器人控制方法,其特征在于,所述机器人包括机械臂,所述方法包括:
控制所述机械臂的执行部件移动至操控对象的目标操控位置,且在所述目标操控位置处闭合;所述操控对象为基于旋转轴运动的对象;
获取所述执行部件与所述操控对象之间的实际接触力参数;
根据所述实际接触力参数和期望驱动力参数,确定期望运动参数;所述期望驱动力参数是根据所述操控对象的连体坐标系中的预设驱动力参数和所述执行部件在本次操控过程中的实际运动轨迹确定的;
基于所述期望运动参数,控制所述机械臂操控所述操控对象绕所述旋转轴运动。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1至10中任一项所述的机械臂控制方法或者权利要求14所述的机器人控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010331708.0A CN111360838B (zh) | 2020-04-24 | 2020-04-24 | 一种机械臂控制方法、装置、机械臂及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010331708.0A CN111360838B (zh) | 2020-04-24 | 2020-04-24 | 一种机械臂控制方法、装置、机械臂及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111360838A CN111360838A (zh) | 2020-07-03 |
CN111360838B true CN111360838B (zh) | 2022-10-21 |
Family
ID=71201776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010331708.0A Active CN111360838B (zh) | 2020-04-24 | 2020-04-24 | 一种机械臂控制方法、装置、机械臂及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111360838B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112140045A (zh) * | 2020-08-28 | 2020-12-29 | 国网安徽省电力有限公司淮南供电公司 | 基于视觉引导的作业机器人电动扳手及其控制方法 |
CN112264993B (zh) * | 2020-09-21 | 2022-04-29 | 北京配天技术有限公司 | 机器人末端的控制方法、机器人及存储介质 |
CN112197676B (zh) * | 2020-10-14 | 2023-05-23 | 同济大学 | 物体表面信息的获取方法、装置、计算机设备和存储介质 |
CN113681560B (zh) * | 2021-08-26 | 2023-07-04 | 浙江大学 | 基于视力融合的机械臂操作铰接物体的方法 |
CN113894798B (zh) * | 2021-11-26 | 2023-04-11 | 遨博(北京)智能科技股份有限公司 | 一种机器人控制方法和机器人系统 |
CN114310912A (zh) * | 2022-02-10 | 2022-04-12 | 北京航空航天大学杭州创新研究院 | 机械臂装配控制方法及装置、机械臂控制设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103213129A (zh) * | 2013-04-17 | 2013-07-24 | 北京空间飞行器总体设计部 | 一种空间机械臂位置力混合控制方法 |
CN104057290A (zh) * | 2014-06-24 | 2014-09-24 | 中国科学院自动化研究所 | 一种基于视觉和力反馈控制的机器人装配方法与系统 |
CN106272416A (zh) * | 2016-08-29 | 2017-01-04 | 上海交通大学 | 基于力觉和视觉的机器人细长轴精密装配系统及方法 |
CN110561425A (zh) * | 2019-08-21 | 2019-12-13 | 哈尔滨工业大学(深圳) | 绳索驱动的柔性机器人力位混合控制方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007022122B4 (de) * | 2007-05-11 | 2019-07-11 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Greifvorrichtung für eine Chirurgie-Roboter-Anordnung |
-
2020
- 2020-04-24 CN CN202010331708.0A patent/CN111360838B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103213129A (zh) * | 2013-04-17 | 2013-07-24 | 北京空间飞行器总体设计部 | 一种空间机械臂位置力混合控制方法 |
CN104057290A (zh) * | 2014-06-24 | 2014-09-24 | 中国科学院自动化研究所 | 一种基于视觉和力反馈控制的机器人装配方法与系统 |
CN106272416A (zh) * | 2016-08-29 | 2017-01-04 | 上海交通大学 | 基于力觉和视觉的机器人细长轴精密装配系统及方法 |
CN110561425A (zh) * | 2019-08-21 | 2019-12-13 | 哈尔滨工业大学(深圳) | 绳索驱动的柔性机器人力位混合控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111360838A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111360838B (zh) | 一种机械臂控制方法、装置、机械臂及存储介质 | |
US11090814B2 (en) | Robot control method | |
CN110076772B (zh) | 一种机械臂的抓取方法及装置 | |
Spletzer et al. | Cooperative localization and control for multi-robot manipulation | |
Pereira et al. | Decentralized algorithms for multirobot manipulation via caging | |
JP6429450B2 (ja) | 情報処理装置、情報処理方法 | |
EP2868442A2 (en) | Robot control device and robot | |
US20150112487A1 (en) | Robot control system, robot system, and sensor information processing apparatus | |
US9878446B2 (en) | Determination of object-related gripping regions using a robot | |
Peer et al. | Multi-fingered telemanipulation-mapping of a human hand to a three finger gripper | |
WO2020241037A1 (ja) | 学習装置、学習方法、学習プログラム、自動制御装置、自動制御方法および自動制御プログラム | |
US9283676B2 (en) | Real-time robotic grasp planning | |
EP1795315A1 (en) | Hand-held control device for an industrial robot | |
CN110770671A (zh) | 云台及其控制方法、可移动平台 | |
Lii et al. | Toward a task space framework for gesture commanded telemanipulation | |
Marinho et al. | Manipulator control based on the dual quaternion framework for intuitive teleoperation using kinect | |
Likar et al. | Adaptation of bimanual assembly tasks using iterative learning framework | |
CN111037553B (zh) | 控制装置 | |
JP5948914B2 (ja) | ロボット制御装置、ロボット制御方法、ロボット制御プログラムおよびロボットシステム | |
JP2006315128A (ja) | ロボットハンドの持ち替え把持制御方法。 | |
JP7159525B2 (ja) | ロボット制御装置、学習装置、及びロボット制御システム | |
Li et al. | Simulation results for manipulation of unknown objects in hand | |
Chan et al. | Collision-free visual servoing of an eye-in-hand manipulator via constraint-aware planning and control | |
Doan et al. | Data-driven-based stable object grasping for a triple-fingered under-actuated robotic hand | |
Huynh et al. | Dynamic Hybrid Filter for Vision-Based Pose Estimation of a Hexa Parallel Robot |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40025799 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |