CN118061168A - 通过奇异点的机器人控制方法、装置、设备及存储介质 - Google Patents
通过奇异点的机器人控制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN118061168A CN118061168A CN202211484602.XA CN202211484602A CN118061168A CN 118061168 A CN118061168 A CN 118061168A CN 202211484602 A CN202211484602 A CN 202211484602A CN 118061168 A CN118061168 A CN 118061168A
- Authority
- CN
- China
- Prior art keywords
- joint
- point
- motion
- motion control
- track
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000007704 transition Effects 0.000 claims abstract description 130
- 230000015654 memory Effects 0.000 claims description 33
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 210000000245 forearm Anatomy 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 230000036544 posture Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- 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/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
Abstract
本发明提供了一种通过奇异点的机器人控制方法、装置、设备及存储介质,包括:根据机器人执行关节的起始位姿和目标位姿,生成执行关节的运动轨迹;其中,所述执行关节的运动轨迹中包含有多个轨迹点;确定每个轨迹点对应的关节角度是否在奇异区间内,若所述关节角度在奇异区间内,则将所述轨迹点标记为过渡点;将所述执行关节通过所述过渡点的运动进行分区段控制,以限制所述执行关节经过过渡点区段的旋转速度。本发明通过对末端执行关节运动轨迹的分区段控制,可以避免通过奇异点时,关节旋转速度过快,机器人系统报错,执行端无法准确到达目标位置等问题,提升机器人的控制精度。
Description
技术领域
本发明涉及智能制造和高端制造,具体地,涉及一种通过奇异点的机器人控制方法、装置、设备及存储介质。
背景技术
目前,使用多关节机器人进行诸如分拣、装配等操作的应用场景越来越多。多关节机器人就像人的手一样可以完成各种各样复杂的工作,这也使得机器人作业被越来越多现代工厂所采用。
然而,多关节机器人因为具备多个姿态,因此当关节角度在分别进行控制时,会出现某一关节的姿态无法确定的情况(即所谓的奇异点(Singular Point))。当多关节机器人进行复杂的移动时,无法避免地会在运动过程中经过奇异点,此时,由于关节姿态不确定,关节会旋转过快,从而导致系统报错,机器人执行端无法准确地到达目标位置。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种通过奇异点的机器人控制方法、装置、设备及存储介质。
第一方面,本申请实施例提供一种通过奇异点的机器人控制方法,包括:
根据机器人执行关节的起始位姿和目标位姿,生成执行关节的运动轨迹;其中,所述执行关节的运动轨迹中包含有多个轨迹点;
确定每个轨迹点对应的关节角度是否在奇异区间内,若所述关节角度在奇异区间内,则将所述轨迹点标记为过渡点;
将所述执行关节通过所述过渡点的运动进行分区段控制,以限制所述执行关节经过过渡点区段的旋转速度。
可选地,根据机器人执行关节的起始位姿和目标位姿,生成执行关节的运动轨迹,包括:
获取机器人执行关节在起始位姿下的第一空间坐标,以及在目标位姿下的第二空间坐标;
根据预设的步长,在所述第一空间坐标和所述第二空间坐标之间,均匀地插入若干个轨迹点,生成执行关节的运动轨迹。
可选地,确定每个轨迹点对应的关节角度是否在奇异区间内,包括:
通过逆运动学算法,确定所述执行关节在每一个轨迹点处的关节角度。
可选地,将所述执行关节通过所述过渡点的运动进行分区段控制,包括:
将所述过渡点之前的轨迹点作为运动控制起点,将所述过渡点之后的轨迹点作为运动控制终点;
若运动控制起点和运动控制终点之间存在一个过渡点,则分别判断所述运动控制起点和所述运动控制终点是否位于预设的关节范围内;
若所述运动控制起点在预设的关节范围内,且所述运动控制终点不在预设的关节范围内,则控制所述执行关节以关节移动方式经过所述运动控制起点至所述过渡点的区段,控制所述执行关节以直线移动方式经过所述过渡点至所述运动控制终点的区段;
若所述运动控制起点不在预设的关节范围内,且所述运动控制终点在预设的关节范围内,则控制所述执行关节以直线移动方式经过所述运动控制起点至所述过渡点的区段,控制所述执行关节以关节移动方式经过所述过渡点至所述运动控制终点的区段。
可选地,将所述执行关节通过所述过渡点的运动进行分区段控制,还包括:
若所述运动控制起点不在预设的关节范围内,且所述运动控制终点也不在预设的关节范围内,则控制所述执行关节以直线移动方式经过所述运动控制起点至所述运动控制终点的区段;
若所述运动控制起点在预设的关节范围内,且所述运动控制终点也在预设的关节范围内,则控制所述执行关节以关节移动方式经过所述运动控制起点至所述运动控制终点的区段。
可选地,将所述执行关节通过所述过渡点的运动进行分区段控制,包括:
将所述过渡点之前的轨迹点作为运动控制起点,将所述过渡点之后的轨迹点作为运动控制终点;
若运动控制起点和运动控制终点之间存在两个过渡点;
则控制所述执行关节以直线移动方式经过所述运动控制起点至第一个过渡点的区段;控制所述执行关节以关节移动方式经过所述第一个过渡点至第二个过渡点的区段;控制所述执行关节以直线移动方式经过所述第二个过渡点至所述运动控制终点的区段。
可选地,所述方法还包括:
若两个相邻的轨迹点之间不存在过渡点,则控制所述执行关节以直线移动方式经过相邻的两个轨迹点。
第二方面,本申请实施例提供一种通过奇异点的机器人控制装置,包括:
运动轨迹规划模块,用于根据机器人执行关节的起始位姿和目标位姿,生成执行关节的运动轨迹;其中,所述执行关节的运动轨迹中包含有多个轨迹点;
过渡点确定模块,用于确定每个轨迹点对应的关节角度是否在奇异区间内,若所述关节角度在奇异区间内,则将所述轨迹点标记为过渡点;
执行关节控制单元,用于将所述执行关节通过所述过渡点的运动进行分区段控制,以限制所述执行关节经过过渡点区段的旋转速度。
可选地,所述运动规划模块,具体用于:
获取机器人执行关节在起始位姿下的第一空间坐标,以及在目标位姿下的第二空间坐标;
根据预设的步长,在所述第一空间坐标和所述第二空间坐标之间,均匀地插入若干个轨迹点,生成执行关节的运动轨迹。
可选地,所述过渡点确定模块,具体用于:
通过逆运动学算法,确定所述执行关节在每一个轨迹点处的关节角度。
可选地,所述执行关节控制单元,具体用于:
将所述过渡点之前的轨迹点作为运动控制起点,将所述过渡点之后的轨迹点作为运动控制终点;
若运动控制起点和运动控制终点之间存在一个过渡点,则分别判断所述运动控制起点和所述运动控制终点是否位于预设的关节范围内;
若所述运动控制起点在预设的关节范围内,且所述运动控制终点不在预设的关节范围内,则控制所述执行关节以关节移动方式经过所述运动控制起点至所述过渡点的区段,控制所述执行关节以直线移动方式经过所述过渡点至所述运动控制终点的区段;
若所述运动控制起点不在预设的关节范围内,且所述运动控制终点在预设的关节范围内,则控制所述执行关节以直线移动方式经过所述运动控制起点至所述过渡点的区段,控制所述执行关节以关节移动方式经过所述过渡点至所述运动控制终点的区段。
可选地,所述执行关节控制单元,还用于:
若所述运动控制起点不在预设的关节范围内,且所述运动控制终点也不在预设的关节范围内,则控制所述执行关节以直线移动方式经过所述运动控制起点至所述运动控制终点的区段;
若所述运动控制起点在预设的关节范围内,且所述运动控制终点也在预设的关节范围内,则控制所述执行关节以关节移动方式经过所述运动控制起点至所述运动控制终点的区段。
可选地,所述执行关节控制单元,还用于:
将所述过渡点之前的轨迹点作为运动控制起点,将所述过渡点之后的轨迹点作为运动控制终点;
若运动控制起点和运动控制终点之间存在两个过渡点;
则控制所述执行关节以直线移动方式经过所述运动控制起点至第一个过渡点的区段;控制所述执行关节以关节移动方式经过所述第一个过渡点至第二个过渡点的区段;控制所述执行关节以直线移动方式经过所述第二个过渡点至所述运动控制终点的区段。
可选地,所述执行关节控制单元,还用于:
若两个相邻的轨迹点之间不存在过渡点,则控制所述执行关节以直线移动方式经过相邻的两个轨迹点。
第三方面,本申请实施例提供一种通过奇异点的机器人控制设备,包括:处理器和存储器,所述存储器中存储有可执行的程序指令,所述处理器调用所述存储器中的程序指令时,所述处理器用于:
执行如第一方面中任一项所述的通过奇异点的机器人控制方法的步骤。
第四方面,本申请实施例提供一种机器人,包括:机器人本体、驱动系统、机械臂,所述机器人本体中设置有处理器和存储器,所述存储器中存储有可执行的程序指令,所述处理器调用所述存储器中的程序指令时,所述处理器用于控制所述驱动系统驱动所述机械臂实现如第一方面中任一项所述的通过奇异点的机器人控制方法的步骤。
第五方面,本申请实施例提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现如第一方面中任一项所述的通过奇异点的机器人控制方法的步骤。
第六方面,本申请实施例提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,机器人的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得机器人实施如第一方面通过奇异点的机器人控制方法。
与现有技术相比,本发明具有如下的有益效果:
本申请中通过根据机器人执行关节的起始位姿和目标位姿,生成执行关节的运动轨迹;运动轨迹包括多个轨迹点,分别确定每个轨迹点对应的关节角度是否在奇异区间内,若关节角度在奇异区间内,则将对应的轨迹点标记为过渡点;将执行关节通过该过渡点的运动进行分区段控制,以限制执行关节经过过渡点区段的旋转速度。从而可以避免通过奇异点时,关节旋转速度过快,机器人系统报错,执行端无法准确到达目标位置等问题,有效地提升了机器关节的控制精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的机器人系统的示意性架构图;
图2为本申请实施例提供的一种通过奇异点的机器人控制方法的流程示意图;
图3为运动控制起点和运动控制终点之间只存在一个过渡点的示例图;
图4为运动控制起点和运动控制终点之间存在两个过渡点的示例图;
图5为本申请实施例提供的另一种通过奇异点的机器人控制方法的流程示意图;
图6为机器人在靠近奇异点运动时各个关节的旋转幅度变化示意图;
图7为控制机器人直接跳过奇异点时各个关节的旋转幅度变化示意图;
图8为应用本申请实施例中方法控制机器人通过奇异点时各个关节的旋转幅度变化示意图;
图9为本申请实施例提供的一种通过奇异点的机器人控制装置的结构示意图;
图10为本申请一实施例提供的通过奇异点的机器人控制装置设备的结构示意图;
图11是本发明实施例中的计算机可读存储介质的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
本申请的实施例提供了通过奇异点的机器人控制方法、装置、设备及存储介质。以下对本申请的描述使用的机器人作为示例。对于本领域技术人员将会显而易见的是,可以不受限制地使用其他类型的机器人,本申请的实施例可以应用于各种类型的机器人。例如,可移动的物流机器人,大型作业流水线上的机器人,单纯的搬运机器人等等,本申请的实施例并不限于此。
图1为本申请实施例提供的机器人系统的示意性架构图,如图1所示,六关节机器人可以包括:安装底座1,安装底座1顶面与转动座2连接,转动座2远离安装底座1的一端与大臂3的一端连接,转动座2靠近大臂3的一侧的顶部固定连接有第一连接耳4,大臂3一侧面靠近转动座2的一侧固定连接有第二连接耳5。第一连接耳4的内部转动连接有导向杆6,第二连接耳5的内部转动连接有导向套筒7,导向杆6与导向套筒7滑动连接;导向杆6的表面开设有若干限位孔,导向杆6的表面的一侧滑动连接有限位套筒8。大臂3远离转动座2的一端连接有小臂9,小臂9远离大臂3的一端转动连接有第一辅助臂10,第一辅助臂10远离小臂9的一端转动连接有第二辅助臂11,第一辅助臂10与第二辅助臂11用于实现更为精细的幅度运动。
本申请实施例以六关节机器人为例进行说明。参见图1,安装底座1与转动座2之间转动连接,构成第一运动关节,转动座2与大臂3之间构成第二运动关节,大臂3和小臂9之间构成第三运动关节,小臂9和第一辅助臂10之间构成第四运动关节,第一辅助臂10和第二辅助臂11之间构成第五运动关节,第二辅助臂11与夹具之间构成第六运动关节。
本实施例中,控制器可以同时向第一运动关节、第二运动关节、第三运动关节、第四运动关节、第五运动关节、第六运动关节对应的驱动电机发送控制指令,也可以向其中一个或者多个关节发送控制指令。当关节角度在分别进行控制时,会出现某一关节的姿态无法确定的情况(即所谓的奇异点(Singular Point)。当多关节机器人进行复杂的移动时,无法避免地会在运动过程中经过奇异点,此时,由于关节姿态不确定,关节会旋转过快,从而导致系统报错,机器人执行端无法准确地到达目标位置。
针对上述问题,本实施例根据机器人执行关节的起始位姿和目标位姿,生成执行关节的运动轨迹;运动轨迹包括多个轨迹点,分别确定每个轨迹点对应的关节角度是否在奇异区间内,若关节角度在奇异区间内,则将对应的轨迹点标记为过渡点;将执行关节通过该过渡点的运动进行分区段控制,以限制执行关节经过过渡点区段的旋转速度。从而可以避免通过奇异点时,关节旋转速度过快,机器人系统报错,执行端无法准确到达目标位置等问题,有效地提升了机器关节的控制精度。
图2为本申请实施例提供的一种通过奇异点的机器人控制方法的流程示意图,如图2所示,本申请实施例中的方法可以包括:
步骤S201、根据机器人执行关节的起始位姿和目标位姿,生成执行关节的运动轨迹;其中,执行关节的运动轨迹中包含有多个轨迹点。
本实施例中,首先获取机器人执行关节在起始位姿下的第一空间坐标,以及在目标位姿下的第二空间坐标;根据预设的步长,在第一空间坐标和第二空间坐标之间,均匀地插入若干个轨迹点,生成执行关节的运动轨迹。
示例性的,根据机器人的具体作业场景,可在第一空间坐标和第二空间坐标中插入N个轨迹点,N为大于1的自然数。具体应用时,可以根据机器人每执行一次作业任务所需的时间,对步长进行规划,例如可以设置步长为5cm。
示例性的,机器人在执行作业任务时,通过视觉系统获取作业区域中,目标工件的来料位置或者是存放位置,然后确定这些目标工件的下一道工序的放置位置或者是码放位置。基于视觉系统获取到的这些位置信息,构建空间坐标系,并进一步确定各个执行关节的运动起始点坐标和终点坐标。最后,根据运动起始点坐标和终点坐标进行轨迹点插值,得到由多个轨迹点组成的运动轨迹。
步骤S202、确定每个轨迹点对应的关节角度是否在奇异区间内,若关节角度在奇异区间内,则将轨迹点标记为过渡点。
本实施例中,可以通过逆运动学算法,确定执行关节在每一个轨迹点处的关节角度。示例性的,可以根据机器人的关节数量、机器人的构型、各个关节的运动范围、目标位置等构建机器人的运动方程,然后通过求逆解的方式,来确定每一个关节的关节角度。
需要说明的是,本实施例中奇异区间的范围可以根据实际应用的要求进行设置,关节角度运动范围与机器人自身的构型有关。
步骤S203、将执行关节通过过渡点的运动进行分区段控制,以限制执行关节经过过渡点区段的旋转速度。
本实施例中,将过渡点之前的轨迹点作为运动控制起点,将过渡点之后的轨迹点作为运动控制终点。这样就可以对执行关节的整个运动轨迹进行标记,得到由轨迹点、过渡点组成的运动轨迹。
图3为运动控制起点和运动控制终点之间只存在一个过渡点的示例图,如图3所示,若运动控制起点310和运动控制终点330之间存在一个过渡点320,则分别判断运动控制起点310和运动控制终点320是否位于预设的关节范围内。
在一种可选的实施方式中,若运动控制起点在预设的关节范围内,且运动控制终点不在预设的关节范围内,则控制执行关节以关节移动方式经过运动控制起点至过渡点的区段,控制执行关节以直线移动方式经过过渡点至运动控制终点的区段。
本实施例中,直线移动方式是指,机器人工具中心点(Tool Center Point,TCP)从A点到B点,在两个点之间的路径轨迹始终保持为直线。关节移动方式又称为轴运动,即机器人工具中心点(TCP)从A点到B点,从A点开始沿非线性路径运动至B点位置,所有关节均同时达到目的位置。因为所呈现出的路径轨迹类似曲线。
在另一种可选的实施方式中,若运动控制起点不在预设的关节范围内,且运动控制终点在预设的关节范围内,则控制执行关节以直线移动方式经过运动控制起点至过渡点的区段,控制执行关节以关节移动方式经过过渡点至运动控制终点的区段。
在又一种可选的实施方式中,若运动控制起点不在预设的关节范围内,且运动控制终点也不在预设的关节范围内,则控制执行关节以直线移动方式经过运动控制起点至运动控制终点的区段。
在又一种可选的实施方式中,若运动控制起点在预设的关节范围内,且运动控制终点也在预设的关节范围内,则控制执行关节以关节移动方式经过运动控制起点至运动控制终点的区段。
图4为运动控制起点和运动控制终点之间存在两个过渡点的示例图;如图4所示,若运动控制起点310和运动控制终点330之间存在两个过渡点320。此时,控制执行关节以直线移动方式经过运动控制起点至第一个过渡点的区段;控制执行关节以关节移动方式经过第一个过渡点至第二个过渡点的区段;控制执行关节以直线移动方式经过第二个过渡点至运动控制终点的区段。
本实施例,通过机器人执行关节的起始位姿和目标位姿,生成执行关节的运动轨迹;运动轨迹包括多个轨迹点,分别确定每个轨迹点对应的关节角度是否在奇异区间内,若关节角度在奇异区间内,则将对应的轨迹点标记为过渡点;将执行关节通过该过渡点的运动进行分区段控制,以限制执行关节经过过渡点区段的旋转速度。从而可以避免通过奇异点时,关节旋转速度过快,机器人系统报错,执行端无法准确到达目标位置等问题,有效地提升了机器关节的控制精度。
图5为本申请实施例提供的另一种通过奇异点的机器人控制方法的流程示意图,如图5所示,本申请实施例中的方法可以包括:
步骤S501、根据机器人执行关节的起始位姿和目标位姿,生成执行关节的运动轨迹;其中,执行关节的运动轨迹中包含有多个轨迹点。
步骤S502、确定每个轨迹点对应的关节角度是否在奇异区间内,若关节角度在奇异区间内,则执行步骤S503,若关节角度不在奇异区间内,则执行步骤S504。
步骤S503、将轨迹点标记为过渡点,并将执行关节通过过渡点的运动进行分区段控制。
本实施例中步骤S501~步骤S503的具体实施方案和技术效果请参见图2步骤S201~步骤S203的相关描述,此处不再赘述。
步骤S504、控制执行关节以直线移动方式经过相邻的两个轨迹点。
本实施例中,若两个相邻的轨迹点之间不存在过渡点,则说明执行关节经过两个相邻的轨迹点时,不会出现机器关节姿态不确定,关节旋转过快得情况,因此,直接控制执行关节以直线移动方式经过相邻的两个轨迹点。
本实施例,通过对执行关节运动轨迹中各个轨迹点进行逆运动学计算,确定各个轨迹点的关节角度,将关节角度位于奇异区间内的轨迹点标记为过渡点,然后针对过渡点进行分区段控制,使得执行关节在通过过渡点时可以减缓速度,确保每个关节的姿态都是准确的,从而可以使得机器人的机械臂精确地到达指定位置。
图6为机器人在靠近奇异点运动时各个关节的旋转幅度变化示意图;如图6所示,q4表示第四运动关节、q5表示第五运动关节、q6表示第六运动关节,当第五运动关节靠近奇异点运动时,第四运动关节和第六运动关节会大幅度旋转,造成机器人系统报错,执行端无法到达预定位置。
图7为控制机器人直接跳过奇异点时各个关节的旋转幅度变化示意图;如图7所示,q4表示第四运动关节、q5表示第五运动关节、q6表示第六运动关节,若在第五关节靠近奇异点运动时,控制第五关节直接跳过奇异点,则会存在明显的关节运动突变,给机器人的驱动电机造成冲击。
图8为应用本申请实施例中方法控制机器人通过奇异点时各个关节的旋转幅度变化示意图;如图8所示,q4表示第四运动关节、q5表示第五运动关节、q6表示第六运动关节,当第五关节靠近奇异点运动时,为了减少关节突变造成的冲击,对第五运动关节运动轨迹进行插值和平滑处理。并对运动轨迹中各个轨迹点进行逆运动学计算,确定各个轨迹点的关节角度,将关节角度位于奇异区间内的轨迹点标记为过渡点。然后针对过渡点进行分区段控制,使得执行关节在通过过渡点时可以减缓速度,确保每个关节的姿态都是准确且平滑的,从而可以使得机器人的机械臂精确地到达指定位置的同时,减少对机器人驱动电机的冲击。
图9为本申请实施例提供的一种通过奇异点的机器人控制装置的结构示意图,如图9所示,本申请实施例中的装置可以包括:
运动轨迹规划模块901,用于根据机器人执行关节的起始位姿和目标位姿,生成执行关节的运动轨迹;其中,执行关节的运动轨迹中包含有多个轨迹点;
过渡点确定模块902,用于确定每个轨迹点对应的关节角度是否在奇异区间内,若关节角度在奇异区间内,则将轨迹点标记为过渡点;
执行关节控制单元903,用于将执行关节通过过渡点的运动进行分区段控制,以限制执行关节经过过渡点区段的旋转速度。
可选地,运动规划模块901,具体用于:
获取机器人执行关节在起始位姿下的第一空间坐标,以及在目标位姿下的第二空间坐标;
根据预设的步长,在第一空间坐标和第二空间坐标之间,均匀地插入若干个轨迹点,生成执行关节的运动轨迹。
可选地,过渡点确定模块902,具体用于:
通过逆运动学算法,确定执行关节在每一个轨迹点处的关节角度。
可选地,执行关节控制单元903,具体用于:
将过渡点之前的轨迹点作为运动控制起点,将过渡点之后的轨迹点作为运动控制终点;
若运动控制起点和运动控制终点之间存在一个过渡点,则分别判断运动控制起点和运动控制终点是否位于预设的关节范围内;
若运动控制起点在预设的关节范围内,且运动控制终点不在预设的关节范围内,则控制执行关节以关节移动方式经过运动控制起点至过渡点的区段,控制执行关节以直线移动方式经过过渡点至运动控制终点的区段;
若运动控制起点不在预设的关节范围内,且运动控制终点在预设的关节范围内,则控制执行关节以直线移动方式经过运动控制起点至过渡点的区段,控制执行关节以关节移动方式经过过渡点至运动控制终点的区段。
可选地,执行关节控制单元903,还用于:
若运动控制起点不在预设的关节范围内,且运动控制终点也不在预设的关节范围内,则控制执行关节以直线移动方式经过运动控制起点至运动控制终点的区段;
若运动控制起点在预设的关节范围内,且运动控制终点也在预设的关节范围内,则控制执行关节以关节移动方式经过运动控制起点至运动控制终点的区段。
可选地,执行关节控制单元903,还用于:
将过渡点之前的轨迹点作为运动控制起点,将过渡点之后的轨迹点作为运动控制终点;
若运动控制起点和运动控制终点之间存在两个过渡点;
则控制执行关节以直线移动方式经过运动控制起点至第一个过渡点的区段;控制执行关节以关节移动方式经过第一个过渡点至第二个过渡点的区段;控制执行关节以直线移动方式经过第二个过渡点至运动控制终点的区段。
可选地,执行关节控制单元903,还用于:
若两个相邻的轨迹点之间不存在过渡点,则控制执行关节以直线移动方式经过相邻的两个轨迹点。
本实施例的通过奇异点的机器人控制装置可以执行图2、图5所示方法中的技术方案,其具体实现过程和技术原理参见图2、图5所示方法中的相关描述,此处不再赘述。
本实施例中的装置,根据机器人执行关节的起始位姿和目标位姿,生成执行关节的运动轨迹;运动轨迹包括多个轨迹点,分别确定每个轨迹点对应的关节角度是否在奇异区间内,若关节角度在奇异区间内,则将对应的轨迹点标记为过渡点;将执行关节通过该过渡点的运动进行分区段控制,以限制执行关节经过过渡点区段的旋转速度。从而可以避免通过奇异点时,关节旋转速度过快,机器人系统报错,执行端无法准确到达目标位置等问题,有效地提升了机器关节的控制精度。
图10为本申请一实施例提供的通过奇异点的机器人控制装置设备的结构示意图,本实施例中的通过奇异点的机器人控制设备1000可以包括:处理器1001和存储器1002。
存储器1002,用于存储程序;存储器1002,可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-access memory,缩写:RAM),如静态随机存取存储器(英文:static random-access memory,缩写:SRAM),双倍数据率同步动态随机存取存储器(英文:Double Data Rate Synchronous Dynamic Random Access Memory,缩写:DDR SDRAM)等;存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory)。存储器1002用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器1002中。并且上述的计算机程序、计算机指令、数据等可以被处理器1001调用。
上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器1002中。并且上述的计算机程序、计算机指令、数据等可以被处理器1001调用。
处理器1001,用于执行存储器1002存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。
具体可以参见前面方法实施例中的相关描述。
处理器1001和存储器1002可以是独立结构,也可以是集成在一起的集成结构。当处理器1001和存储器1002是独立结构时,存储器1002、处理器1001可以通过总线1003耦合连接。
本实施例的通过奇异点的机器人控制设备1000可以执行图2、图5所示方法中的技术方案,其具体实现过程和技术原理参见图2、图5所示方法中的相关描述,此处不再赘述。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
此外,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当用户设备的至少一个处理器执行该计算机执行指令时,用户设备执行上述各种可能的方法。
其中,计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。
本申请还提供一种程序产品,程序产品包括计算机程序,计算机程序存储在可读存储介质中,服务器的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得服务器实施上述本发明实施例任一的方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:只读内存(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
图11是本发明实施例中的计算机可读存储介质的结构示意图。参考图11所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品1100,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (10)
1.一种通过奇异点的机器人控制方法,其特征在于,包括:
根据机器人执行关节的起始位姿和目标位姿,生成执行关节的运动轨迹;其中,所述执行关节的运动轨迹中包含有多个轨迹点;
确定每个轨迹点对应的关节角度是否在奇异区间内,若所述关节角度在奇异区间内,则将所述轨迹点标记为过渡点;
将所述执行关节通过所述过渡点的运动进行分区段控制,以限制所述执行关节经过过渡点区段的旋转速度。
2.根据权利要求1所述的通过奇异点的机器人控制方法,其特征在于,根据机器人执行关节的起始位姿和目标位姿,生成执行关节的运动轨迹,包括:
获取机器人执行关节在起始位姿下的第一空间坐标,以及在目标位姿下的第二空间坐标;
根据预设的步长,在所述第一空间坐标和所述第二空间坐标之间,均匀地插入若干个轨迹点,生成执行关节的运动轨迹。
3.根据权利要求1所述的通过奇异点的机器人控制方法,其特征在于,确定每个轨迹点对应的关节角度是否在奇异区间内,包括:
通过逆运动学算法,确定所述执行关节在每一个轨迹点处的关节角度。
4.根据权利要求1所述的通过奇异点的机器人控制方法,其特征在于,将所述执行关节通过所述过渡点的运动进行分区段控制,包括:
将所述过渡点之前的轨迹点作为运动控制起点,将所述过渡点之后的轨迹点作为运动控制终点;
若运动控制起点和运动控制终点之间存在一个过渡点,则分别判断所述运动控制起点和所述运动控制终点是否位于预设的关节范围内;
若所述运动控制起点在预设的关节范围内,且所述运动控制终点不在预设的关节范围内,则控制所述执行关节以关节移动方式经过所述运动控制起点至所述过渡点的区段,控制所述执行关节以直线移动方式经过所述过渡点至所述运动控制终点的区段;
若所述运动控制起点不在预设的关节范围内,且所述运动控制终点在预设的关节范围内,则控制所述执行关节以直线移动方式经过所述运动控制起点至所述过渡点的区段,控制所述执行关节以关节移动方式经过所述过渡点至所述运动控制终点的区段。
5.根据权利要求4所述的通过奇异点的机器人控制方法,其特征在于,将所述执行关节通过所述过渡点的运动进行分区段控制,还包括:
若所述运动控制起点不在预设的关节范围内,且所述运动控制终点也不在预设的关节范围内,则控制所述执行关节以直线移动方式经过所述运动控制起点至所述运动控制终点的区段;
若所述运动控制起点在预设的关节范围内,且所述运动控制终点也在预设的关节范围内,则控制所述执行关节以关节移动方式经过所述运动控制起点至所述运动控制终点的区段。
6.根据权利要求1所述的通过奇异点的机器人控制方法,其特征在于,将所述执行关节通过所述过渡点的运动进行分区段控制,包括:
将所述过渡点之前的轨迹点作为运动控制起点,将所述过渡点之后的轨迹点作为运动控制终点;
若运动控制起点和运动控制终点之间存在两个过渡点;
则控制所述执行关节以直线移动方式经过所述运动控制起点至第一个过渡点的区段;控制所述执行关节以关节移动方式经过所述第一个过渡点至第二个过渡点的区段;控制所述执行关节以直线移动方式经过所述第二个过渡点至所述运动控制终点的区段。
7.根据权利要求1-6中任一项所述的通过奇异点的机器人控制方法,其特征在于,所述方法还包括:
若两个相邻的轨迹点之间不存在过渡点,则控制所述执行关节以直线移动方式经过相邻的两个轨迹点。
8.一种通过奇异点的机器人控制装置,其特征在于,包括:
运动轨迹规划模块,用于根据机器人执行关节的起始位姿和目标位姿,生成执行关节的运动轨迹;其中,所述执行关节的运动轨迹中包含有多个轨迹点;
过渡点确定模块,用于确定每个轨迹点对应的关节角度是否在奇异区间内,若所述关节角度在奇异区间内,则将所述轨迹点标记为过渡点;
执行关节控制单元,用于将所述执行关节通过所述过渡点的运动进行分区段控制,以限制所述执行关节经过过渡点区段的旋转速度。
9.一种通过奇异点的机器人控制设备,其特征在于,包括:处理器和存储器,所述存储器中存储有可执行的程序指令,所述处理器调用所述存储器中的程序指令时,所述处理器用于:
执行权利要求1至7任一项所述的通过奇异点的机器人控制方法的步骤。
10.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被执行时实现权利要求1至7任一项所述的通过奇异点的机器人控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211484602.XA CN118061168A (zh) | 2022-11-24 | 2022-11-24 | 通过奇异点的机器人控制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211484602.XA CN118061168A (zh) | 2022-11-24 | 2022-11-24 | 通过奇异点的机器人控制方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118061168A true CN118061168A (zh) | 2024-05-24 |
Family
ID=91108462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211484602.XA Pending CN118061168A (zh) | 2022-11-24 | 2022-11-24 | 通过奇异点的机器人控制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118061168A (zh) |
-
2022
- 2022-11-24 CN CN202211484602.XA patent/CN118061168A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Abu-Dakka et al. | Adaptation of manipulation skills in physical contact with the environment to reference force profiles | |
CN111360827B (zh) | 一种视觉伺服切换控制方法及系统 | |
WO2018086226A1 (zh) | 机械臂的控制方法和装置 | |
CN110370256B (zh) | 机器人及其路径规划方法、装置和控制器 | |
JP5659890B2 (ja) | ロボットの軌道計画システム及び軌道計画方法 | |
JP2013132731A (ja) | ロボット制御システム、ロボットシステム及びロボット制御方法 | |
CN107671853B (zh) | 开放式机器人轨迹规划控制方法及系统 | |
JP6564433B2 (ja) | ロボットシステム | |
CN108189034B (zh) | 一种机器人连续轨迹实现方法 | |
CN112405525B (zh) | 奇异位置规避方法、系统、设备及计算机可读存储介质 | |
CN111496798B (zh) | 机器人传送带跟踪方法、设备及存储装置 | |
CN112356032B (zh) | 一种姿态平滑过渡方法及系统 | |
JP6040002B2 (ja) | 教示情報修正装置、制御装置、及び教示情報修正方法 | |
CN118061168A (zh) | 通过奇异点的机器人控制方法、装置、设备及存储介质 | |
JP2016040067A (ja) | ロボット装置、ロボット制御方法、プログラム及び記録媒体 | |
CN118061169A (zh) | 通过奇异点的机器人控制系统和机器人 | |
CN107520838B (zh) | 机械手臂及其控制方法和装置 | |
CN109807891B (zh) | 设备运动处理方法及装置 | |
CN108858162B (zh) | 四轴机械臂的位置确定方法和装置 | |
CN117407630B (zh) | 协作机械臂求解肩肘角度逆运动学解析解系统 | |
JP2012040635A (ja) | ロボットの軌道計画システム及び軌道計画方法 | |
CN116330303B (zh) | Scara机器人运动控制方法、装置、终端设备及介质 | |
CN118544338A (zh) | 带朝向约束的运动规划方法、装置、设备及存储介质 | |
US20230182298A1 (en) | Placement planning | |
CN113459103B (zh) | 一种机械手自动运行时的转角轨迹控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |