CN113119098B - 机械臂控制方法、机械臂控制装置及终端设备 - Google Patents
机械臂控制方法、机械臂控制装置及终端设备 Download PDFInfo
- Publication number
- CN113119098B CN113119098B CN201911401000.1A CN201911401000A CN113119098B CN 113119098 B CN113119098 B CN 113119098B CN 201911401000 A CN201911401000 A CN 201911401000A CN 113119098 B CN113119098 B CN 113119098B
- Authority
- CN
- China
- Prior art keywords
- mechanical arm
- information
- obstacle
- determining
- speed
- 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 50
- 230000004888 barrier function Effects 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 53
- 210000001503 joint Anatomy 0.000 claims description 46
- 230000033001 locomotion Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 23
- 239000012636 effector Substances 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 10
- 238000005070 sampling Methods 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 9
- 239000000203 mixture Substances 0.000 claims description 4
- 230000008569 process Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design 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
- 230000024159 perception of rate of movement 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/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- 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
- B25J9/1666—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- 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
-
- 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/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration 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/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1605—Simulation of manipulator lay-out, design, modelling of manipulator
-
- 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/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- 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
-
- 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
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4155—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- 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/40269—Naturally compliant robot arm
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Manufacturing & Machinery (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
Abstract
本申请提供的一种机械臂控制方法包括:获取与机械臂相关联的障碍物信息;获取所述机械臂的当前位姿信息,并获取所述机械臂的末端期望位姿信息;根据障碍物信息、当前位姿信息、末端期望位姿信息和预设动态系统模型函数,确定机械臂的末端期望轨迹;根据所述末端期望轨迹,确定所述机械臂的末端期望速度;根据所述障碍物信息和所述机械臂的当前位姿信息,确定所述机械臂上的目标点的虚拟速度,所述目标点为机械臂上的距离障碍物最近的点;根据所述虚拟速度和所述末端期望速度,确定所述机械臂的目标关节所分别对应的目标关节速度。通过该方法,可以使得冗余机械臂能够在存在各种障碍物的应用环境中实现有效地避障的同时可以执行相应的任务。
Description
技术领域
本申请属于机械臂技术领域,尤其涉及机械臂控制方法、机械臂控制装置、终端设备及计算机可读存储介质。
背景技术
随着机械臂技术的不断进步和应用场景的扩大,人们对机械臂操作能力的要求也在不断增加。由于其较好的灵活性和适应性,具有冗余自由度的机械臂(也称为冗余机械臂)在多种应用场景中得到广泛的应用。
然而,随着应用场景各式各样,且越来越复杂,冗余机械臂可能需要在存在各种障碍物的复杂环境中执行任务。因此,亟需一种使得冗余机械臂能够在存在各种障碍物的复杂环境中实现有效地避障的同时可以执行相应的任务的方法。
发明内容
本申请实施例提供了机械臂控制方法、机械臂控制装置、终端设备及计算机可读存储介质,可以使得冗余机械臂能够在存在各种障碍物的应用环境中实现有效地避障的同时可以执行相应的任务。
第一方面,本申请实施例提供了一种机械臂控制方法,包括:
获取与机械臂相关联的障碍物信息,其中,所述与机械臂相关联的障碍物信息包括与所述机械臂的距离小于目标距离阈值的障碍物的信息,所述机械臂为具有N个冗余自由度的机械臂,所述N为大于0的整数;
获取所述机械臂的当前位姿信息,并获取所述机械臂的末端期望位姿信息;
根据所述障碍物信息、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,确定所述机械臂的末端期望轨迹;
根据所述末端期望轨迹,确定所述机械臂的末端期望速度;
根据所述障碍物信息和所述机械臂的当前位姿信息,确定所述机械臂上的目标点的虚拟速度,其中,所述目标点为所述机械臂上的距离障碍物最近的点;
根据所述虚拟速度和所述末端期望速度,确定所述机械臂的目标关节所分别对应的目标关节速度。
第二方面,本申请实施例提供了一种机械臂控制装置,包括:
第一获取模块,用于获取与机械臂相关联的障碍物信息,其中,所述与机械臂相关联的障碍物信息包括与所述机械臂的距离小于目标距离阈值的障碍物的信息,所述机械臂为具有N个冗余自由度的机械臂,所述N为大于0的整数;
第二获取模块,用于获取所述机械臂的当前位姿信息,并获取所述机械臂的末端期望位姿信息;
第一确定模块,用于根据所述障碍物信息、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,确定所述机械臂的末端期望轨迹;
第二确定模块,用于根据所述末端期望轨迹,确定所述机械臂的末端期望速度;
第三确定模块,用于根据所述障碍物信息和所述机械臂的当前位姿信息,确定所述机械臂上的目标点的虚拟速度,其中,所述目标点为所述机械臂上的距离障碍物最近的点;
第四确定模块,用于根据所述虚拟速度和所述末端期望速度,确定所述机械臂的目标关节所分别对应的目标关节速度。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器、显示器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如第一方面所述的机械臂控制方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的机械臂控制方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中所述的机械臂控制方法。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例中,通过获取与机械臂相关联的障碍物信息,其中,所述与机械臂相关联的障碍物信息包括与所述机械臂的距离小于目标距离阈值的障碍物的信息,并获取所述机械臂的当前位姿信息,并获取所述机械臂的末端期望位姿信息,从而根据所述障碍物信息、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,可以确定所述机械臂的末端期望轨迹,此时,所述机械臂的末端期望轨迹可以指示所述机械臂的末端执行器在避开障碍物的同时,能够完成相应的任务;此外,根据所述障碍物信息和所述机械臂的当前位姿信息,可以确定所述机械臂上的目标点的虚拟速度,此时,所述虚拟速度可以反映所述机械臂的冗余自由度,从而通过所述虚拟速度和所述末端期望速度,可以求解得到所述机械臂的目标关节所分别对应的目标关节速度,以使得通过所述目标关节速度控制各个目标关节的运动,从而能够在所述冗余机械臂的末端执行器以及非末端部分都能够在存在各种障碍物的应用环境中实现有效地避障的同时,还可以执行相应的任务。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种机械臂控制方法的流程示意图;
图2是本申请一实施例提供的所述机械臂的一种应用场景的示意图;
图3是本申请一实施例提供的步骤S105的一种流程示意图;
图4是本申请一实施例提供的步骤S106的一种流程示意图;
图5是本申请一实施例提供的一种机械臂控制装置的结构示意图;
图6是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
具体地,图1示出了本申请实施例提供的一种机械臂控制方法的流程图。
其中,本申请实施例提供的机械臂控制方法可以应用于机械臂,也可以应用于与机械臂耦合地连接的其他终端设备,例如,可以应用于机器人、服务器、手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,并通过该其他终端设备,实现对机械臂的控制。本申请实施例对终端设备的具体类型不作任何限制。
该机械臂控制方法中,所述机械臂可以具有N个冗余自由度和M个关节,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,所述N和M均为大于0的整数,且N小于M。
本发明实施例中,所述机械臂可以具有多个自由度,如可以具有4个自由度、5个自由度、6个自由度或者7个自由度等等。所述冗余自由度为所述机械臂在完成指定操作时所需的自由度之外所具有的多余自由度。其中,所述机械臂在每一个自由度方向上的运动可以通过关节来实现,并且,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,其中,可以是每一个关节对应一个自由度。所述关节可以依次连接,也可以其中几个关节合并在一处,所述关节可以包括旋转轴、线性轴、连杆等多种结构形式中的一种或多种。所述关节的设置方式可以有多种,并且,所述关节的结构形式也可以有多种,在此不做限制。例如,所述机械臂可以具有7个自由度,此时,所述机械臂可以包括7个关节;而所述机械臂的末端自由度可以具有6个自由度,例如末端自由度可以具有沿x轴线性运动的自由度、沿x轴旋转运动的自由度、沿y轴线性运动的自由度、沿y轴旋转运动的自由度、沿z轴线性运动的自由度以及沿z轴旋转运动的自由度,此时,所述机械臂具有的自由度相较所述机械臂末端运动所需要的自由度多出一个自由度,因此,所述机械臂可以为具有一个冗余自由度的、并且具有七个自由度的机械臂。
如图2所示,为所述机械臂的一种应用场景的示意图,其中,所述机械臂为具有一个冗余自由度的,并且具有七个自由度的机械臂,q1、q2、q3、q4、q5、q6以及q7为所述机械臂的7个关节。与所述机械臂相关联的障碍物包括障碍物1、障碍物2和障碍物3,所述轨迹4可以为所述机械臂的末端轨迹。
当然,所述机械臂也可以为具有两个、三个冗余自由度或者冗余自由度为其它值的机械臂,所述机械臂的具体构造在此不作限制。
如图1所示,所述机械臂控制方法可以包括:
步骤S101,获取与机械臂相关联的障碍物信息,其中,所述与机械臂相关联的障碍物信息包括与所述机械臂的距离小于目标距离阈值的障碍物的信息,所述机械臂为具有N个冗余自由度的机械臂,所述N为大于0的整数。
本申请实施例中,与所述机械臂相关联的障碍物可以根据实际场景来具体定义,例如,与所述机械臂相关联的障碍物可以包括与所述机械臂的距离小于目标距离阈值的障碍物;此外,也可以包括通过所述机械臂或者与所述机械臂相关联的其他设备所检测到的障碍物、与所述机械臂的距离较远,但向机械臂移动的移动速度较快的障碍物等等。因此,所述与机械臂相关联的障碍物信息可以包括与所述机械臂的距离小于目标距离阈值的障碍物的信息,但可以不限于此。
所述障碍物信息的获取方式可以有多种。例如,可以是通过特定数据传输方式(如有线传输或者无线传输)获取到,也可以是通过诸如预设检测系统等检测得到。
示例性的,所述障碍物信息可以包括障碍物速度信息、障碍物尺寸信息以及障碍物位姿信息等等中的一种或多种。
在一些实施例中,所述获取与机械臂相关联的障碍物信息,其中,所述与机械臂相关联的障碍物信息包括与所述机械臂的距离小于目标距离阈值的障碍物的信息,包括:
通过预设检测系统获取与机械臂相关联的障碍物信息。
本申请实施例中,所述预设检测系统所包含的设备以及各个设备的具体设置方式可以根据实际应用场景进行设置。示例性的,所述预设检测系统可以包括摄像头、红外传感器、超声传感器以及激光传感器中的一种或多种。所述预设检测系统可以至少部分地设置在所述机械臂上,此外,可以至少部分地设置于所述机械臂的周围。
步骤S102,获取所述机械臂的当前位姿信息,并获取所述机械臂的末端期望位姿信息。
所述机械臂的当前位姿信息可以包括所述机械臂的当前末端位姿信息和/或当前非末端位姿信息。
所述当前位姿信息的获取方式可以有多种。例如,可以是通过执行本申请实施例的终端设备所包含的一个或多个硬件模块(如加速度计、陀螺仪、摄像头、红外传感器、超声传感器、关节传感器以及激光传感器等中的一种或多种)实时采集得到,也可以是通过预设特定数据传输方式(如有线传输或者无线传输)从其他终端获取到。
所述机械臂的末端期望位姿信息包括所述机械臂的末端执行器的期望位姿的信息。其中,末端期望位姿可以是根据所述机械臂当前要执行的任务等来确定的。所述末端期望位姿信息的具体获取方式也可以有多种。例如,可以是通过预设特定数据传输方式(如有线传输或者无线传输)从其他终端获取到,或者,也可以是根据当前的任务信息、用户的输入指令等而得到的。
步骤S103,根据所述障碍物信息、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,确定所述机械臂的末端期望轨迹。
本申请实施例中,所述预设动态系统(dynamical system,DS)模型函数可以用于表示所述机械臂的末端期望轨迹。所述预设动态系统模型函数的具体计算推导方式可以有多种,其具体形式也可以由多种,可以根据现有的或后续公开的方式来预先获取。
示例性的,在一些实施例中,可以是通过高斯混合模型(Guassian MixtureModel,GMM)及相关约束条件等推导得到预设动态系统模型函数的公式形式,而所述预设动态系统模型函数中的参数可以是通过示教等方式确定。其中,所述示教可以是指用户控制机械臂进行执行相应的示教运动(也可以称为动觉演示等),所述示教运动可以是对机械臂的预演示运动;进一步地,可以获得机械臂执行所述示教运动时的示教运动数据,再根据示教运动数据确定预设动态系统模型函数的参数,从而确定所述机械臂所对应的预设动态系统模型函数。其中,同一类示教运动可以执行多次。在一些情况下,用户可以是在重力补偿模式下控制机械臂进行执行相应的示教运动,以使得用户控制所述机械臂时,不受机械臂本身的重量所导致的重力的影响,使得用户对所述机械臂的控制力可以较小,从而更好地控制所述机械臂。
本申请实施例中,示例性的,可以根据所述障碍物信息,构建能够表示所述障碍物的空间状态的目标函数,并结合该目标函数、所述末端期望位姿信息和所述机械臂的当前位姿信息以及所述预设动态系统模型函数得到所述机械臂的末端期望轨迹。
在一些实施例中,所述步骤S103具体包括:
根据所述障碍物信息,获得指示所述障碍物的空间状态的目标函数;
根据所述目标函数、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,确定所述机械臂的末端期望轨迹,其中,所述末端期望轨迹能够避开所述障碍物。
其中,所述目标函数的具体表达式可以根据现有的或者后续产生的算法来确定,示例性的,所述目标函数可以通过描述曲线或者二维平面或者三维空间等方式来描述所述障碍物的空间状态。
在一些实施例中,所述根据所述障碍物信息,获得指示所述障碍物的空间状态的目标函数可以包括:根据所述障碍物信息中所述包含的障碍物位姿信息、障碍物尺寸信息以及障碍物速度信息中的至少一种,获得指示所述障碍物的空间状态的目标函数。所述目标函数可以用于指示所述障碍物的当前空间状态,还可以进一步指示所述障碍物在指定时间段内的空间状态变化情况等等。
示例性的,所述目标函数可以通过M(x-x0)表示,其中,x0可以为障碍物中心点,所述预设动态系统模型函数可以通过dx/dt=f(x)来表示,则此时,根据所述目标函数和所述预设动态系统模型函数可以得到所述机械臂的末端期望轨迹为dx/dt=M(x-x0)f(x)。
步骤S104,根据所述末端期望轨迹,确定所述机械臂的末端期望速度。
本申请实施例中,所述末端期望速度可以为所述机械臂的笛卡尔空间末端期望速度,即在特定坐标系下的末端期望速度。
步骤S105,根据所述障碍物信息和所述机械臂的当前位姿信息,确定所述机械臂上的目标点的虚拟速度,其中,所述目标点为所述机械臂上的距离障碍物最近的点。
本申请实施例中,可以根据所述障碍物信息和所述机械臂的当前位姿信息,确定所述机械臂上的距离所述障碍物最近的点。
需要说明的是,在一些情况下,所述目标点可以是实时变化的,因此,所述步骤S105中,可以实时确定所述目标点的位置,并实时确定所述目标点的虚拟速度。因此,可以认为所述目标点是当前所述机械臂上的距离所述障碍物最近的点。而在一些情况下,为了减小计算量,可以以一定的时间间隔(而非采样周期)确定所述机械臂上的目标点及其虚拟速度。
在一些实施例中,所述步骤S105具体包括:
步骤S301,根据所述障碍物信息和所述机械臂的当前位姿信息,确定所述机械臂上的目标点;
步骤S302,根据所述障碍物与机械臂的相对位置,确定所述虚拟速度的方向为指示所述机械臂远离所述障碍物的方向;
步骤S303,根据机械臂信息和所述障碍物信息确定所述虚拟速度的大小。
本申请实施例中,所述指示所述机械臂远离所述障碍物的方向可以有多种取值方式。其中,所述指示所述机械臂远离所述障碍物的方向与所述目标点指向距离所述机械臂最近的障碍物的方向之间的夹角可以大于90°。例如,为了使得所述机械臂尽快远离所述障碍物,该夹角可以是180°;而在一些情况下,考虑到应用场景中的其他因素,例如,考虑到所述机械臂的运动范围或者场景中的其他障碍物,所述夹角可以是90°到180°之间的角度值。
本申请实施例中,示例性的,所述机械臂信息可以包括机械臂结构信息以及机械臂性能信息中的至少一种。所述障碍物信息可以包括障碍物速度信息、障碍物尺寸信息以及障碍物位姿信息中的至少一种。所述虚拟速度的大小可以根据所述机械臂的固有属性以及具体应用场景来确定。例如,若所述机械臂的各个关节速度对应的速度阈值较大,并且所述障碍物与所述机械臂之间的距离较近,则所述虚拟速度的大小可以较大。在一些实施例中,可以预先设置确定所述虚拟速度的大小的每一种关联要素(如障碍物的速度、障碍物的尺寸、机械臂的尺寸等等)的权重,并根据所述权重以及各个关联要素与所述虚拟速度的大小的关系,建立关于所述虚拟速度的大小的计算公式,从而根据获取到的各个关联要素的信息,确定所述虚拟速度的大小。当然,所述虚拟速度的大小的具体确定方式还可以有多种。
步骤S106,根据所述虚拟速度和所述末端期望速度,确定所述机械臂的目标关节所分别对应的目标关节速度。
所述目标关节可以包括各个非末端关节和/或末端关节。在一些情况下,通过确定所述机械臂的目标关节所分别对应的目标关节速度之后,可以控制相应的目标关节以实现所述机械臂的全身避障,同时末端执行器还可以完成相应的任务。
本申请实施例中,由于所述机械臂为具有冗余自由度的机械臂,因此,所述虚拟速度可以用于表征所述机械臂的冗余自由度,进一步的,可以根据所述虚拟速度和所述末端期望速度,利用运动学求解方法以及所述机械臂的零空间(Null Space)等得到所述机械臂中的诸如非末端关节的非末端关节速度。具体的求解方法在此不作限定。在一些实施例中,在获得所述非末端关节速度之后,可以通过特定控制算法(如比例积分微分(ProportionIntegration Differentiation,PID)控制算法等)处理所述非末端关节速度以及所述末端期望速度,以获得所述目标关节所分别对应的目标关节速度,此时,各个目标关节速度可以用于控制所述目标关节,即作为所述目标关节的关节速度控制量等。
在一些实施例中,所述步骤S106具体包括:
步骤S401,根据所述虚拟速度和所述末端期望速度,确定所述机械臂的各个非末端关节所分别对应的非末端关节速度;
步骤S402,通过预设控制算法处理所述非末端关节速度和所述末端期望速度,获得所述机械臂的目标关节所分别对应的目标关节速度控制量,其中,所述目标关节包括所述非末端关节,各个所述目标关节速度控制量分别用于对对应的目标关节进行控制。
本申请实施例中,在一些情况下,计算得到的所述非末端关节速度和所述末端期望速度可能会与对目标关节的实际控制值之间存在偏差,因此可以通过所述预设控制算法进行处理,以获得对各个目标关节进行控制时各个目标关节所分别对应的目标关节速度控制量。所述预设控制算法可以根据实际需求来确定。例如,所述预设控制算法可以是比例积分微分(Proportion Integration Differentiation,PID)控制算法等。
需要说明的是,本申请实施例中所包含的步骤S105以及步骤S106等可以根据采样周期等实时执行,从而能够实时确定所述机械臂的各个目标关节的目标关节速度,实现所述机械臂的实时避障。
在一些实施例中,在根据所述障碍物信息、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,确定所述机械臂的末端期望轨迹之前,还包括:
在所述机械臂执行预演示运动时,获取所述机械臂执行所述预演示运动时的预演示末端轨迹信息和预演示末端速度信息;
根据所述预演示末端轨迹信息和预演示末端速度信息,基于高斯混合模型获得所述机械臂的预设动态系统模型函数。
本申请实施例中,在一些情况下,所述预演示运动可以是通过用户控制所述机械臂进行运动等方式实现的,用户控制所述机械臂执行所述预演示运动的过程也可以称为示教,此时,可以是用户人为地带动机械臂完成特定的任务。其中,对应同一任务的预演示运动可以执行多次。
获取所述预演示末端轨迹信息和预演示末端速度信息的方式可以有多种,例如,可以通过预设检测系统检测得到。在获取到所述预演示末端轨迹信息和预演示末端速度信息之后,可以根据所述预演示末端轨迹信息和预演示末端速度信息确定预设动态系统模型函数的参数,从而确定所述机械臂所对应的预设动态系统模型函数。
在一些实施例中,所述根据所述末端期望轨迹,确定所述机械臂的末端期望速度,包括:
根据所述末端期望轨迹,确定所述机械臂的末端期望速度随采样周期的变化情况;
根据所述机械臂的末端期望速度随采样时间的变化情况,实时确定所述机械臂的末端期望速度;
所述根据所述障碍物信息和所述机械臂的当前位姿信息,确定所述机械臂上的目标点的虚拟速度,包括:
实时确定所述机械臂的当前位姿信息;
根据所述障碍物信息和实时确定的所述机械臂的当前位姿信息,实时确定所述机械臂上的目标点和所述目标点的虚拟速度;
所述根据所述虚拟速度和所述末端期望速度,确定所述机械臂的目标关节所分别对应的目标关节速度,包括:
根据实时确定的所述机械臂的末端期望速度和所述虚拟速度,实时确定所述机械臂的目标关节所分别对应的目标关节速度。
本申请实施例中,由于所述末端期望轨迹可以对应所述机械臂的动态移动过程,因此,可以确定所述机械臂的末端期望速度随采样周期的变化情况,此时,可以确定所述机械臂的末端执行器基于所述末端期望轨迹的动态移动过程。而在确定所述机械臂的末端期望速度随采样周期的变化情况之后,可以在所述机械臂的动态移动过程中,实时确定所述机械臂的当前位姿信息,从而实时确定所述机械臂上的目标点和所述目标点的虚拟速度,并根据实时确定的所述机械臂的末端期望速度和所述虚拟速度,实时确定所述机械臂的目标关节所分别对应的目标关节速度,以实现所述机械臂的实时避障。
本申请实施例中,通过获取与机械臂相关联的障碍物信息,其中,所述与机械臂相关联的障碍物信息包括与所述机械臂的距离小于目标距离阈值的障碍物的信息,并获取所述机械臂的当前位姿信息,并获取所述机械臂的末端期望位姿信息,从而根据所述障碍物信息、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,可以确定所述机械臂的末端期望轨迹,此时,所述机械臂的末端期望轨迹可以指示所述机械臂的末端执行器在避开障碍物的同时,能够完成相应的任务;此外,根据所述障碍物信息和所述机械臂的当前位姿信息,可以确定所述机械臂上的目标点的虚拟速度,此时,所述虚拟速度可以反映所述机械臂的冗余自由度,从而通过所述虚拟速度和所述末端期望速度,可以求解得到所述机械臂的目标关节所分别对应的目标关节速度,以使得通过所述目标关节速度控制各个目标关节的运动,从而能够在所述冗余机械臂的末端执行器以及非末端部分都能够在存在各种障碍物的应用环境中实现有效地避障的同时,还可以执行相应的任务。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的机械臂控制方法,图5示出了本申请实施例提供的一种机械臂控制装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图5,该机械臂控制装置5包括:
第一获取模块501,用于获取与机械臂相关联的障碍物信息,其中,所述与机械臂相关联的障碍物信息包括与所述机械臂的距离小于目标距离阈值的障碍物的信息,所述机械臂为具有N个冗余自由度的机械臂,所述N为大于0的整数;
第二获取模块502,用于获取所述机械臂的当前位姿信息,并获取所述机械臂的末端期望位姿信息;
第一确定模块503,用于根据所述障碍物信息、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,确定所述机械臂的末端期望轨迹;
第二确定模块504,用于根据所述末端期望轨迹,确定所述机械臂的末端期望速度;
第三确定模块505,用于根据所述障碍物信息和所述机械臂的当前位姿信息,确定所述机械臂上的目标点的虚拟速度,其中,所述目标点为所述机械臂上的距离障碍物最近的点;
第四确定模块506,用于根据所述虚拟速度和所述末端期望速度,确定所述机械臂的目标关节所分别对应的目标关节速度。
可选的,所述第一获取模块501具体用于:
通过预设检测系统获取与机械臂相关联的障碍物信息。
可选的,所述第三确定模块505具体包括:
第一确定单元,用于根据所述障碍物信息和所述机械臂的当前位姿信息,确定所述机械臂上的目标点;
第二确定单元,用于根据所述障碍物与机械臂的相对位置,确定所述虚拟速度的方向为指示所述机械臂远离所述障碍物的方向;
第三确定单元,用于根据机械臂信息和所述障碍物信息确定所述虚拟速度的大小。
可选的,该机械臂控制装置5还包括:
第三第二获取模块,用于在所述机械臂执行预演示运动时,获取所述机械臂执行所述预演示运动时的预演示末端轨迹信息和预演示末端速度信息;
处理模块,用于根据所述预演示末端轨迹信息和预演示末端速度信息,基于高斯混合模型获得所述机械臂的预设动态系统模型函数。
可选的,第一确定模块503具体包括:
第一处理单元,用于根据所述障碍物信息,获得指示所述障碍物的空间状态的目标函数;
第四确定单元,用于根据所述目标函数、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,确定所述机械臂的末端期望轨迹,其中,所述末端期望轨迹能够避开所述障碍物。
可选的,第二确定模块504具体包括:
第五确定单元,用于根据所述末端期望轨迹,确定所述机械臂的末端期望速度随采样周期的变化情况;
第六确定单元,用于根据所述机械臂的末端期望速度随采样时间的变化情况,实时确定所述机械臂的末端期望速度;
所述第三确定模块505具体包括:
第七确定单元,用于实时确定所述机械臂的当前位姿信息;
第八确定单元,用于根据所述障碍物信息和实时确定的所述机械臂的当前位姿信息,实时确定所述机械臂上的目标点和所述目标点的虚拟速度;
所述第四确定模块506具体用于:
根据实时确定的所述机械臂的末端期望速度和所述虚拟速度,实时确定所述机械臂的目标关节所分别对应的目标关节速度。
可选的,所述第四确定模块506具体包括:
第九确定单元,用于根据所述虚拟速度和所述末端期望速度,确定所述机械臂的各个非末端关节所分别对应的非末端关节速度;
第二处理单元,用于通过预设控制算法处理所述非末端关节速度和所述末端期望速度,获得所述机械臂的目标关节所分别对应的目标关节速度控制量,其中,所述目标关节包括所述非末端关节,各个所述目标关节速度控制量分别用于对对应的目标关节进行控制。
本申请实施例中,通过获取与机械臂相关联的障碍物信息,其中,所述与机械臂相关联的障碍物信息包括与所述机械臂的距离小于目标距离阈值的障碍物的信息,并获取所述机械臂的当前位姿信息,并获取所述机械臂的末端期望位姿信息,从而根据所述障碍物信息、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,可以确定所述机械臂的末端期望轨迹,此时,所述机械臂的末端期望轨迹可以指示所述机械臂的末端执行器在避开障碍物的同时,能够完成相应的任务;此外,根据所述障碍物信息和所述机械臂的当前位姿信息,可以确定所述机械臂上的目标点的虚拟速度,此时,所述虚拟速度可以反映所述机械臂的冗余自由度,从而通过所述虚拟速度和所述末端期望速度,可以求解得到所述机械臂的目标关节所分别对应的目标关节速度,以使得通过所述目标关节速度控制各个目标关节的运动,从而能够在所述冗余机械臂的末端执行器以及非末端部分都能够在存在各种障碍物的应用环境中实现有效地避障的同时,还可以执行相应的任务。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图6为本申请一实施例提供的终端设备的结构示意图。如图6所示,该实施例的终端设备6包括:至少一个处理器60(图6中仅示出一个)处理器、存储器61以及存储在所述存储器61中并可在所述至少一个处理器60上运行的计算机程序62,所述处理器60执行所述计算机程序62时实现上述任意各个机械臂控制方法实施例中的步骤。
所述终端设备6可以是机器人、机械臂、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。其中,所述终端设备6为机器人、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备时,该终端设备6可以与机械臂耦合地连接,以控制所述机械臂。该终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的举例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入设备、输出设备、网络接入设备等。其中,上述输入设备可以包括触控板、指纹采集传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风、摄像头等,输出设备可以包括显示器、扬声器等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述存储器61在一些实施例中可以是上述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。上述存储器61在另一些实施例中也可以是上述终端设备6的外部存储设备,例如上述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,上述存储器61还可以既包括上述终端设备6的内部存储单元也包括外部存储设备。上述存储器61用于存储操作系统、应用程序、引导装载程序(Boot Loader)、数据以及其他程序等,例如上述计算机程序的程序代码等。上述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
另外,尽管未示出,上述终端设备6还可以包括网络连接模块,如蓝牙模块Wi-Fi模块、蜂窝网络模块等等,在此不再赘述。
本申请实施例中,上述处理器60执行上述计算机程序62以实现上述任意各个机械臂控制方法实施例中的步骤时,通过获取与机械臂相关联的障碍物信息,其中,所述与机械臂相关联的障碍物信息包括与所述机械臂的距离小于目标距离阈值的障碍物的信息,并获取所述机械臂的当前位姿信息,并获取所述机械臂的末端期望位姿信息,从而根据所述障碍物信息、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,可以确定所述机械臂的末端期望轨迹,此时,所述机械臂的末端期望轨迹可以指示所述机械臂的末端执行器在避开障碍物的同时,能够完成相应的任务;此外,根据所述障碍物信息和所述机械臂的当前位姿信息,可以确定所述机械臂上的目标点的虚拟速度,此时,所述虚拟速度可以反映所述机械臂的冗余自由度,从而通过所述虚拟速度和所述末端期望速度,可以求解得到所述机械臂的目标关节所分别对应的目标关节速度,以使得通过所述目标关节速度控制各个目标关节的运动,从而能够在所述冗余机械臂的末端执行器以及非末端部分都能够在存在各种障碍物的应用环境中实现有效地避障的同时,还可以执行相应的任务。
本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个方法实施例中的步骤。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (8)
1.一种机械臂控制方法,其特征在于,包括:
获取与机械臂相关联的障碍物信息,其中,所述与机械臂相关联的障碍物信息包括与所述机械臂的距离小于目标距离阈值的障碍物的信息,所述机械臂为具有N个冗余自由度的机械臂,所述N为大于0的整数;
获取所述机械臂的当前位姿信息,并获取所述机械臂的末端期望位姿信息;
根据所述障碍物信息、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,确定所述机械臂的末端期望轨迹;所述机械臂的末端期望位姿信息包括所述机械臂的末端执行器的期望位姿的信息;
根据所述末端期望轨迹,确定所述机械臂的末端期望速度;
根据所述障碍物信息和所述机械臂的当前位姿信息,确定所述机械臂上的目标点的虚拟速度,其中,所述目标点为所述机械臂上的距离障碍物最近的点;
根据所述虚拟速度和所述末端期望速度,确定所述机械臂的目标关节所分别对应的目标关节速度;
所述根据所述障碍物信息和所述机械臂的当前位姿信息,确定所述机械臂上的目标点的虚拟速度,包括:
根据所述障碍物信息和所述机械臂的当前位姿信息,确定所述机械臂上的目标点;其中,所述障碍物信息包括障碍物速度信息、障碍物尺寸信息以及障碍物位姿信息;
根据所述障碍物与机械臂的相对位置,确定所述虚拟速度的方向为指示所述机械臂远离所述障碍物的方向;
根据机械臂信息和所述障碍物信息确定所述虚拟速度的大小;
所述根据所述障碍物信息、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,确定所述机械臂的末端期望轨迹,包括:
根据所述障碍物信息中所包含的所述障碍物位姿信息、所述障碍物尺寸信息以及所述障碍物速度信息,获得指示所述障碍物的空间状态以及所述障碍物在指定时间段内的空间状态变化情况的目标函数;
根据所述目标函数、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,确定所述机械臂的末端期望轨迹,其中,所述末端期望轨迹能够避开所述障碍物。
2.如权利要求1所述的机械臂控制方法,其特征在于,所述获取与机械臂相关联的障碍物信息,包括:
通过预设检测系统获取与机械臂相关联的障碍物信息。
3.如权利要求1所述的机械臂控制方法,其特征在于,在根据所述障碍物信息、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,确定所述机械臂的末端期望轨迹之前,还包括:
在所述机械臂执行预演示运动时,获取所述机械臂执行所述预演示运动时的预演示末端轨迹信息和预演示末端速度信息;
根据所述预演示末端轨迹信息和预演示末端速度信息,基于高斯混合模型获得所述机械臂的预设动态系统模型函数。
4.如权利要求1所述的机械臂控制方法,其特征在于,所述根据所述末端期望轨迹,确定所述机械臂的末端期望速度,包括:
根据所述末端期望轨迹,确定所述机械臂的末端期望速度随采样周期的变化情况;
根据所述机械臂的末端期望速度随采样时间的变化情况,实时确定所述机械臂的末端期望速度;
所述根据所述障碍物信息和所述机械臂的当前位姿信息,确定所述机械臂上的目标点的虚拟速度,包括:
实时确定所述机械臂的当前位姿信息;
根据所述障碍物信息和实时确定的所述机械臂的当前位姿信息,实时确定所述机械臂上的目标点和所述目标点的虚拟速度;
所述根据所述虚拟速度和所述末端期望速度,确定所述机械臂的目标关节所分别对应的目标关节速度,包括:
根据实时确定的所述机械臂的末端期望速度和所述虚拟速度,实时确定所述机械臂的目标关节所分别对应的目标关节速度。
5.如权利要求1至4任意一项所述的机械臂控制方法,其特征在于,所述根据所述虚拟速度和所述末端期望速度,确定所述机械臂的目标关节所分别对应的目标关节速度,包括:
根据所述虚拟速度和所述末端期望速度,确定所述机械臂的各个非末端关节所分别对应的非末端关节速度;
通过预设控制算法处理所述非末端关节速度和所述末端期望速度,获得所述机械臂的目标关节所分别对应的目标关节速度控制量,其中,所述目标关节包括所述非末端关节,各个所述目标关节速度控制量分别用于对对应的目标关节进行控制。
6.一种机械臂控制装置,其特征在于,包括:
第一获取模块,用于获取与机械臂相关联的障碍物信息,其中,所述与机械臂相关联的障碍物信息包括与所述机械臂的距离小于目标距离阈值的障碍物的信息,所述机械臂为具有N个冗余自由度的机械臂,所述N为大于0的整数;
第二获取模块,用于获取所述机械臂的当前位姿信息,并获取所述机械臂的末端期望位姿信息;
第一确定模块,用于根据所述障碍物信息、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,确定所述机械臂的末端期望轨迹;所述机械臂的末端期望位姿信息包括所述机械臂的末端执行器的期望位姿的信息;
第二确定模块,用于根据所述末端期望轨迹,确定所述机械臂的末端期望速度;
第三确定模块,用于根据所述障碍物信息和所述机械臂的当前位姿信息,确定所述机械臂上的目标点的虚拟速度,其中,所述目标点为所述机械臂上的距离障碍物最近的点;
第四确定模块,用于根据所述虚拟速度和所述末端期望速度,确定所述机械臂的目标关节所分别对应的目标关节速度;
所述第三确定模块,包括:
第一确定单元,用于根据所述障碍物信息和所述机械臂的当前位姿信息,确定所述机械臂上的目标点;其中,所述障碍物信息包括障碍物速度信息、障碍物尺寸信息以及障碍物位姿信息;
第二确定单元,用于根据所述障碍物与机械臂的相对位置,确定所述虚拟速度的方向为指示所述机械臂远离所述障碍物的方向;
第三确定单元,用于根据机械臂信息和所述障碍物信息确定所述虚拟速度的大小;
所述第一确定模块,包括:
第一处理单元,用于根据所述障碍物信息中所包含的所述障碍物位姿信息、所述障碍物尺寸信息以及所述障碍物速度信息,获得指示所述障碍物的空间状态以及所述障碍物在指定时间段内的空间状态变化情况的目标函数;
第四确定单元,用于根据所述目标函数、所述当前位姿信息、所述末端期望位姿信息和预设动态系统模型函数,确定所述机械臂的末端期望轨迹,其中,所述末端期望轨迹能够避开所述障碍物。
7.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的机械臂控制方法。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的机械臂控制方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911401000.1A CN113119098B (zh) | 2019-12-30 | 2019-12-30 | 机械臂控制方法、机械臂控制装置及终端设备 |
US17/115,712 US11833692B2 (en) | 2019-12-30 | 2020-12-08 | Method and device for controlling arm of robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911401000.1A CN113119098B (zh) | 2019-12-30 | 2019-12-30 | 机械臂控制方法、机械臂控制装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113119098A CN113119098A (zh) | 2021-07-16 |
CN113119098B true CN113119098B (zh) | 2022-12-02 |
Family
ID=76547483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911401000.1A Active CN113119098B (zh) | 2019-12-30 | 2019-12-30 | 机械臂控制方法、机械臂控制装置及终端设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11833692B2 (zh) |
CN (1) | CN113119098B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114237233B (zh) * | 2021-11-30 | 2024-02-23 | 深圳市优必选科技股份有限公司 | 机器人下棋方法、装置、计算机可读存储介质及机器人 |
CN114227686B (zh) * | 2021-12-28 | 2024-07-19 | 深圳市优必选科技股份有限公司 | 一种机器人避障控制方法、装置、终端设备及存储介质 |
CN114800491B (zh) * | 2022-03-30 | 2024-06-25 | 北京精密机电控制设备研究所 | 一种冗余机械臂零空间避障规划方法 |
CN115302509B (zh) * | 2022-08-16 | 2023-09-05 | 湖南中联重科智能高空作业机械有限公司 | 用于控制工程设备臂架的方法、处理器、装置及工程设备 |
CN115305979B (zh) * | 2022-08-16 | 2023-09-19 | 湖南中联重科智能高空作业机械有限公司 | 用于控制工程设备臂架的方法、处理器、装置及工程设备 |
CN116512278B (zh) * | 2023-06-26 | 2023-12-01 | 极限人工智能(北京)有限公司 | 基于虚拟目标点的机械臂末端直线运动控制方法及系统 |
CN116839634B (zh) * | 2023-08-29 | 2023-11-21 | 北京信普尼科技有限公司 | 一种用机械臂标定陀螺仪的方法与机械臂 |
CN116922396B (zh) * | 2023-09-07 | 2023-11-17 | 贵州航天控制技术有限公司 | 一种外骨骼系统的助力控制方法 |
CN118557292A (zh) * | 2024-06-25 | 2024-08-30 | 北京纳通医用机器人科技有限公司 | 一种关节镜下机械臂规划方法、装置、设备和介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5150026A (en) * | 1990-11-19 | 1992-09-22 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Obstacle avoidance for redundant robots using configuration control |
US5430643A (en) * | 1992-03-11 | 1995-07-04 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Configuration control of seven degree of freedom arms |
JP4730440B2 (ja) * | 2009-01-01 | 2011-07-20 | ソニー株式会社 | 軌道計画装置及び軌道計画方法、並びにコンピューター・プログラム |
CN102902269B (zh) * | 2012-09-21 | 2015-07-01 | 北京邮电大学 | 预选择最小距离指标冗余机器人动态避障方法 |
CN104392081A (zh) * | 2014-06-30 | 2015-03-04 | 管小清 | 一种冗余机械臂运动障碍物避障算法 |
US9403275B2 (en) * | 2014-10-17 | 2016-08-02 | GM Global Technology Operations LLC | Dynamic obstacle avoidance in a robotic system |
WO2016139147A1 (en) * | 2015-03-04 | 2016-09-09 | Abb Ag | Safety control system and method of operation of a safety control system |
US9981383B1 (en) * | 2016-08-02 | 2018-05-29 | X Development Llc | Real-time trajectory generation for actuators of a robot to reduce chance of collision with obstacle(s) |
CN108115681B (zh) * | 2017-11-14 | 2020-04-07 | 深圳先进技术研究院 | 机器人的模仿学习方法、装置、机器人及存储介质 |
CN109702744A (zh) * | 2019-01-15 | 2019-05-03 | 北京工业大学 | 一种基于动态系统模型的机器人模仿学习的方法 |
-
2019
- 2019-12-30 CN CN201911401000.1A patent/CN113119098B/zh active Active
-
2020
- 2020-12-08 US US17/115,712 patent/US11833692B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20210197379A1 (en) | 2021-07-01 |
US11833692B2 (en) | 2023-12-05 |
CN113119098A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113119098B (zh) | 机械臂控制方法、机械臂控制装置及终端设备 | |
CN111538949B (zh) | 冗余机器人逆运动学求解方法、装置和冗余机器人 | |
CN113119104B (zh) | 机械臂控制方法、机械臂控制装置、计算设备及系统 | |
KR102338836B1 (ko) | 가상 현실 시스템에서 가상 컨트롤러의 위치 및 방위 추적 | |
CN112720479B (zh) | 一种机器人姿态控制方法、装置及机器人 | |
CN113814951B (zh) | 一种主从机器人的控制方法、系统及存储介质 | |
EP1795315A1 (en) | Hand-held control device for an industrial robot | |
CN113119096B (zh) | 机械臂空间位置调整方法、装置、机械臂及存储介质 | |
CN113814978B (zh) | 机器人控制方法、装置、机器人及存储介质 | |
Palmieri et al. | Human arm motion tracking by kinect sensor using kalman filter for collaborative robotics | |
CN113001537B (zh) | 机械臂控制方法、机械臂控制装置及终端设备 | |
CN113084791B (zh) | 机械臂控制方法、机械臂控制装置及终端设备 | |
CN112936282B (zh) | 一种提高工业机器人体感控制精确度的方法及系统 | |
CN117047771A (zh) | 机器人的柔顺控制方法、装置及电子设备 | |
CN114454981B (zh) | 双足机器人的弹跳运动控制方法、装置及双足机器人 | |
CN111390905B (zh) | 机器人多任务控制方法、控制装置及终端设备 | |
CN114454180A (zh) | 移动机器人的运动控制方法、装置和移动机器人 | |
CN118046394B (zh) | 一种遥操作的运动控制方法、装置、系统及存储介质 | |
CN113059566A (zh) | 基于柔性机器人的直接力反馈遥操作方法及装置 | |
CN111823215A (zh) | 一种工业机器人的同步控制方法及装置 | |
CN107050848B (zh) | 基于体域网的体感游戏实现方法以及装置 | |
CN112008731A (zh) | 一种空中作业机器人的柔顺控制方法、装置、终端、系统及可读存储介质 | |
US20240198532A1 (en) | Method for robot teleoperation control, robot, and electronic device | |
KR102170592B1 (ko) | 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법 | |
Choi et al. | Dual Active Marker Modules for Enhanced 6D Pose Estimation |
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 |