CN109551485B - 运动控制方法、装置和系统及存储介质 - Google Patents
运动控制方法、装置和系统及存储介质 Download PDFInfo
- Publication number
- CN109551485B CN109551485B CN201910055381.6A CN201910055381A CN109551485B CN 109551485 B CN109551485 B CN 109551485B CN 201910055381 A CN201910055381 A CN 201910055381A CN 109551485 B CN109551485 B CN 109551485B
- Authority
- CN
- China
- Prior art keywords
- motion
- interpolation
- parameter
- sequence
- parameters
- 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/1628—Programme controls characterised by the control loop
- B25J9/1641—Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
-
- 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
-
- 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/404—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 control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
-
- 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/33—Director till display
- G05B2219/33116—Configuration of motion 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41032—Backlash
-
- 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/41—Servomotor, servo controller till figures
- G05B2219/41082—Timer, speed integration to control duration of backlash correction
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本发明的实施例提供了一种运动控制方法、装置和系统以及存储介质。运动控制方法包括:获取关节的运动参数序列;对运动参数序列进行插值,以获得插值参数序列;以及将插值参数序列解算为运动部件的驱动参数,以驱动运动部件运动。根据本发明实施例的运动控制方法、装置和系统以及存储介质,只需用户设置少量的运动参数,通过插值方式获得更大数量的运动参数,这种方式使得在保持用户低工作量的同时电机或机器人实现平稳运行成为可能。
Description
技术领域
本发明涉及运动控制技术领域,更具体地涉及一种运动控制方法、装置和系统及存储介质。
背景技术
在基于机器人(例如机械臂)等类似技术的运动控制系统中,待控制的设备(例如机器人或驱控器等)与机器人控制设备(例如上位机等)建立连接关系,用户可以通过机器人控制设备控制机器人运动。
典型地,用户可以通过编辑各个关节的运动参数实现对机器人的运动控制。这种方式下,用户在机器人控制设备上设置的运动参数是否合适,会很大程度上影响电机(或说机器人)的运行平稳与否。
例如,对于同一个动作,运动参数如果设置得太少,那么电机运动的加减速可能会特别大,对电机、减速器等的冲击大,运动过程不平稳,容易出现卡顿、异响等现象;如果想要减小这些问题,就需要将运动参数设置的比较多,这对用户来说是很难完成的,费时费力且容易出错,同时对运动控制部件(例如驱控器)的通信和解算能力要求也特别高,是很难实现的。
因此,如何提供对用户来说简单易用,又可以使电机(或说机器人)平滑运行的运动控制方案,一直是困扰本领域技术人员的难题。
发明内容
考虑到上述问题而提出了本发明。本发明提供了一种运动控制方法、装置和系统及存储介质。
根据本发明一方面,提供了一种运动控制方法,包括:获取关节的运动参数序列;对运动参数序列进行插值,以获得插值参数序列;以及将插值参数序列解算为运动部件的驱动参数,以驱动运动部件运动。
示例性地,对运动参数序列进行插值,以获得插值参数序列包括:利用机器人控制设备对运动参数进行第一次插值,以获得粗插参数序列;以及利用运动控制部件对粗插参数序列进行第二次插值,以获得插值参数序列。
示例性地,在利用运动控制部件对粗插参数序列进行第二次插值之前,方法还包括:检测粗插参数序列内是否存在第一换向集合,每个第一换向集合包括使运动部件的运动方向换向的三条时间数据相邻的粗插运动参数;以及如果检测到至少一个第一换向集合,则对于至少一个第一换向集合中的每一个,在该第一换向集合中插入至少一条第一换向运动参数,以获得新的粗插参数序列,其中,至少一条第一换向运动参数用于指示运动部件在预设时间内通过换向时的回程间隙。
示例性地,至少一个第一换向集合中的每一个包括按时间数据从小到大排序的第一条运动参数(P1,V1,T1)、第二条运动参数(P2,V2,T2)和第三条运动参数(P3,V3,T3),插入的第一换向运动参数为(P4,V4,T4),
如果P2-P1>0且P3-P2<0,则:
P4=P2-360°/编码器分辨率;
V4=第一预设速度;
T4=T2+第一预设时间;
如果P2-P1<0且P3-P2>0,则:
P4=P2+360°/编码器分辨率;
V4=第二预设速度;
T4=T2+第二预设时间;
其中,P1、P2、P3、P4为位置数据,V1、V2、V3、V4为速度数据,T1、T2、T3、T4为时间数据。
示例性地,在利用运动控制部件对粗插参数序列进行第二次插值之前,方法还包括:步骤a:将粗插参数序列中按时间数据从小到大排序的第一条粗插运动参数作为当前的有效运动参数保留;步骤b:对于粗插参数序列中按时间数据从小到大排序位于当前的有效运动参数之后的第x+i条粗插运动参数,依次计算第x+i条粗插运动参数的位置数据与当前的有效运动参数的位置数据之间的差值,直至找到终点粗插运动参数,终点粗插运动参数的位置数据与当前的有效运动参数的位置数据之间的差值大于预设阈值,其中,x为当前的有效运动参数在粗插参数序列中的序号,i=1,2,3……m,m≤N1-x,N1是粗插参数序列中的粗插运动参数的总条数;步骤c:删除当前的有效运动参数与终点粗插运动参数之间的粗插运动参数,将终点粗插运动参数作为当前的有效运动参数保留,并返回步骤b;步骤d:确定保留的所有有效运动参数为新的粗插参数序列。
示例性地,在利用运动控制部件对粗插参数序列进行第二次插值之前,方法还包括:检测粗插参数序列内是否存在第二换向集合,每个第二换向集合包括速度数据反向的两条时间数据相邻的粗插运动参数;以及如果检测到至少一个第二换向集合,则对于至少一个第二换向集合中的每一个,在该第二换向集合中插入至少一条第二换向运动参数,以获得新的粗插参数序列,其中,第二换向运动参数中的速度数据等于0。
示例性地,利用运动控制部件对粗插参数序列进行第二次插值,以获得插值参数序列包括:利用运动控制部件对粗插参数序列进行第二次插值,使得插值参数序列包含与运动部件的每个微步相对应的插值运动参数。
示例性地,在将插值参数序列解算为运动部件的驱动参数之前,方法还包括:检测插值参数序列内是否存在第三换向集合,每个第三换向集合包括使运动部件的运动方向换向的三条时间数据相邻的插值运动参数;以及如果检测到至少一个第三换向集合,则对于至少一个第三换向集合中的每一个,在该第三换向集合中插入至少一条第三换向运动参数,以获得新的插值参数序列,其中,至少一条第三换向运动参数用于指示运动部件在预设时间内通过换向时的回程间隙。
示例性地,在将插值参数序列解算为运动部件的驱动参数之前,方法还包括:步骤a:将插值参数序列中按时间数据从小到大排序的第一条插值运动参数作为当前的有效运动参数保留;步骤b:对于插值参数序列中按时间数据从小到大排序位于当前的有效运动参数之后的第y+j条插值运动参数,依次计算第y+j条插值运动参数的位置数据与当前的有效运动参数的位置数据之间的差值,直至找到终点插值运动参数,终点插值运动参数的位置数据与当前的有效运动参数的位置数据之间的差值大于预设阈值,其中,y为当前的有效运动参数在插值参数序列中的序号,j=1,2,3……k,k≤N2-x,N2是插值参数序列中的插值运动参数的总条数;步骤c:删除当前的有效运动参数与终点插值运动参数之间的插值运动参数,将终点插值运动参数作为当前的有效运动参数保留,并返回步骤b;步骤d:确定保留的所有有效运动参数为新的插值参数序列。
示例性地,在将插值参数序列解算为运动部件的驱动参数之前,方法还包括:检测插值参数序列内是否存在第四换向集合,每个第四换向集合包括速度数据反向的两条时间数据相邻的插值运动参数;以及如果检测到至少一个第四换向集合,则对于至少一个第四换向集合中的每一个,在该第四换向集合中插入至少一条第四换向运动参数,以获得新的插值参数序列,其中,第四换向运动参数中的速度数据等于0。
示例性地,对运动参数序列进行插值采用以下插值方式中的一种或多种实现:梯形曲线插值、S型曲线插值、3次多项式曲线插值、5次多项式曲线插值、线性插值。
示例性地,运动控制方法还包括:接收用户输入的用于指示插值方式的插值指令;对运动参数序列进行插值,以获得插值参数序列包括:采用插值指令所指示的插值方式对运动参数序列进行插值,以获得插值参数序列。
示例性地,将插值参数序列解算为运动部件的驱动参数在插值参数序列的条数达到预设条数的情况下开始执行。
根据本发明另一方面,提供一种运动控制装置,包括:获取模块,用于获取关节的运动参数序列;插值模块,用于对运动参数序列进行插值,以获得插值参数序列;以及解算模块,用于将插值参数序列解算为运动部件的驱动参数,以驱动运动部件运动。
根据本发明另一方面,提供一种运动控制系统,包括处理器和存储器,其中,存储器中存储有计算机程序指令,计算机程序指令被处理器运行时用于执行上述运动控制方法。
根据本发明另一方面,提供一种存储介质,在存储介质上存储了程序指令,程序指令在运行时用于执行上述运动控制方法。
根据本发明实施例的运动控制方法、装置和系统以及存储介质,只需用户设置少量的运动参数,通过插值方式获得更大数量的运动参数,这种方式使得在保持用户低工作量的同时电机或机器人实现平稳运行成为可能。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出根据本发明一个实施例的运动控制系统的示意性框图;
图2示出根据本发明一个实施例的运动控制方法的示意性流程图;
图3示出根据本发明一个实施例的关节的运动参数的示例;
图4示出根据本发明一个实施例的用户编辑的运动参数所对应的波形;
图5示出根据本发明一个实施例的对用户编辑的运动参数进行插值后获得的运动参数所对应的波形;
图6示出根据一个示例的机器人的示意图;
图7示出根据本发明一个实施例的运动控制装置的示意性框图;以及
图8示出了根据本发明一个实施例的运动控制系统的示意性框图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
如上所述,现有的运动控制系统面临参数设置的难题。对于同一个动作,运动参数如果设置得太少,例如用50行PVT参数实现该动作,那么电机运动的加减速可能会特别大,对电机、减速器等的冲击大,运动过程不平稳,容易出现卡顿、异响等现象;如果想要减小这些问题,就需要将运动参数设置的比较多,可能达到上万行PVT参数,这对用户来说是很难完成的,费时费力且容易出错,同时对运动控制部件(例如驱控器)的通信和解算能力要求也特别高,是很难实现的。
为了解决上述运动参数的设置问题,本发明实施例提供一种运动控制方法。该运动控制方法可以对用户初始设置的运动参数自动进行插值,从而使得在保持用户低工作量的同时电机或说机器人实现平稳运行成为可能。根据本发明实施例的运动控制方法可以应用于任意机器人或采用与机器人类似的工作方式的设备的控制领域。
根据本发明实施例的运动控制方法可以应用于运动控制系统。本文描述的运动控制系统可以包括机器人控制设备和待控制的设备。机器人控制设备可以包括例如上位机、示教器等。待控制的设备可以包括例如机器人、用于驱动机器人运动的驱控器等。此外,本文描述的运动控制部件可以包括驱动器,运动部件可以包括电机。
本文描述的机器人可以是自动执行工作的机器装置。机器人可以包括机器人本体、末端执行器(或称为工具)。本体可以包括多个关节,例如基座、大臂、小臂、腕等。末端执行器例如是一个可以开合的夹爪/物体夹持部,也可以是其他操作工具。末端执行器由机器人控制设备控制按照相应路线运动并完成预定的动作。具体例如,末端执行器受机器人控制设备的操控,实现在三维的空间中运动,并且在指定的位置执行相关动作,例如抓取、释放或其他动作。
以电机配合减速器为例,电机配合减速器是机械臂(或称为机械手、多轴机器人、多关节机器人等)的主要运动执行部件,机械臂主要是根据预定的路线从一个初始位置夹取目标物体到目标位置,适用于诸多工业领域的机械自动化作业。
现在市场上的机械臂主要包括四轴机器人(具有四个关节)和六轴机器人(具有六个关节),它们均包括有基座、手臂和末端的物体夹持部,手臂上关节的多少决定了机器人的“轴”的数量,每一个关节都是由一个电机的转动来驱动、以实现关节的运动。
下面结合图1描述根据本发明实施例的运动控制系统,以帮助理解根据本发明实施例的运动控制方法的示例性应用环境。图1示出根据本发明一个实施例的运动控制系统100的示意性框图。需注意,本发明实施例提供的运动控制方法可以在其他与运动控制系统100相似的系统上实现,并不局限于图1所示的具体示例。
如图1所示,运动控制系统100可以包括人机交互单元(即机器人控制设备)110、控制器局域网络(CAN)数据线120、运动控制部件130和电机(即运动部件)140。运动控制部件130包括CAN数据收发单元1302、缓存1304、解算单元1306、波表1308、PWM波形发生器1310和电机驱动单元1312。
用户在使用运动控制部件(例如驱控器)130控制电机140时,可以通过人机交互单元110编辑运动参数。人机交互单元110经由CAN数据线120将用户编辑的运动参数发送给运动控制部件130,运动控制部件130对接收到的运动参数进行解算,得到波表数据,然后生成PWM波形,驱动电机运动。
具体地,运动控制部件130中的解算单元1306可以读取运动参数,然后将读取的运动参数利用解算公式进行插补解算等处理,将运动参数转换为波表数据,存储在波表1308中。
波表1308可以采用DDR存储器等实现,用于存储波表数据,可以根据设计需要设置波表1308的存储深度的大小。
PWM波形发生器1310用于根据波表1308中存储的波表数据生成对应的PWM波形数据。PWM波形有时也可以称为脉冲波形,具有高低电平两个状态,在运动控制领域可以通过调节PWM波形的占空比达到控制电机转速、电磁阀开关状态等目的。PWM波形发生器1310可以采用现有的各种PWM波形发生器实现,例如采用直接数字频率合成(DDS)信号发生技术实现的PWM波形发生器、采用数字计数技术实现的PWM波形发生器等。
因此,解算单元1306将用户设置的实际运动参数转换为产生PWM波形的波表数据,PWM波形发生器1310根据波表数据产生对应的PWM波形数据,再经过数模转换、放大滤波等处理后,发送给电机驱动单元1312来驱动电机140运动。
电机驱动单元1312用于根据PWM波形驱动电机140运动,可以利用各类电机驱动芯片实现。
下面,将结合图2描述根据本发明实施例的运动控制方法。图2示出根据本发明一个实施例的运动控制方法200的示意性流程图。如图2所示,运动控制方法200包括步骤S210、S220、S230。
在步骤S210,获取关节的运动参数序列。
步骤S210所获取的可以是目标关节的运动参数序列,目标关节可以是机器人的任意一个关节。也就是说,可以针对机器人的任意一个关节执行运动控制方法200中的各个步骤。
示例性而非限制性地,任一关节可以对应有一条或多条运动参数。即,本文描述的运动参数序列可以包括至少一条运动参数。步骤S210所获取的运动参数序列中的运动参数可以视为初始运动参数。
可选地,可以接收用户输入的末端执行器的运动参数,并且可以将接收到的末端执行器的运动参数换算为机器人的各个关节的运动参数。可选地,还可以直接接收用户输入的机器人的各个关节的运动参数。也就是说,用户既可以输入末端执行器的运动参数,再由机器人控制设备和/或运动控制部件换算为各个关节的运动参数,也可以输入机器人的各个关节的运动参数。
可选地,步骤S210所获取的运动参数序列中的运动参数可以是用户初始编辑的或者经过运动控制系统进一步处理(例如插值)后的运动参数。
步骤S210获取的运动参数是用于控制运动部件(例如电机)运动的参数。如上所述,用户可以利用人机交互单元110编辑运动参数,并随后发送给机器人的运动控制部件(例如驱控器)130,运动控制部件130可以对接收到的运动参数进行插值和解算后控制运动部件140运动。
运动参数的内容可以根据运动部件(例如电机)的实际构成不同而有所不同。示例性地,运动参数可以包括位置数据、速度数据和时间数据中的一项或多项。所述位置数据可以是空间直角坐标系中的坐标数据,也可以是旋转角度或其他与位置相关的数据。位置数据是空间直角坐标系中的坐标数据的情况下,运动参数可以称为LVT参数。位置数据是旋转角度的情况下,运动参数可以称为PVT参数。
本文主要以PVT参数作为运动参数的示例进行说明,PVT参数可以包括旋转角度(可以称为P)、旋转速度(可以称为V)、旋转时间(可以称为T)。图3示出了根据本发明一个实施例的关节的运动参数的示例。为了完成某个动作,用户可以在人机交互单元110的人机交互界面上所显示的运动参数列表中编辑一组PVT参数,例如图3所示的示例中编辑了4条PVT参数S1、S2、S3、S4。第一条PVT参数可以由用户输入,也可以由系统预设好,该第一条PVT参数可以默认为(0,0,0)。第二条及以后的PVT参数可以由用户根据需求设置。
在步骤S220,对运动参数序列进行插值,以获得插值参数序列。
如上所述,为了完成某个动作,用户可以在运动参数列表中编辑一组PVT参数。随后,可以在这一组PVT参数中进行插值。插值方式可以由用户设定或者采用默认方式,这将在下文描述。
图4示出根据本发明一个实施例的用户编辑的运动参数所对应的波形。在图3中,S1-S5可以表示用户编辑的5条PVT参数,横坐标表示时间t,纵坐标表示速度v,每两个点的速度和时间所包围的形状的面积表示旋转角度P,这构成了PVT参数。
对于点S1和点S2来说,如果不进行插值,那么电机就需要从速度v1直接变化到速度v2,变化会非常大,电机的运动不顺畅,中间不受控。因此,可以在点S1和点S2之间进行插值,插值方式可以选择,只要满足“横坐标是时间t,纵坐标是速度v,每两个点的速度和时间所包围的形状的面积是旋转角度P”这个要求即可。例如,可以在点S1和点S2之间插入4个点。其余每两个相邻点之间均可以进行插值。
在一个示例中,可以利用机器人控制设备或运动控制部件对关节的运动参数进行一次性插值,来获得插值参数序列。在另一个示例中,可以对关节的运动参数进行两次或多于两次插值,来获得插值参数序列。
示例性地,对运动参数序列进行插值,以获得插值参数序列(步骤S220)可以包括:利用机器人控制设备对运动参数进行第一次插值,以获得粗插参数序列;以及利用运动控制部件对粗插参数序列进行第二次插值,以获得插值参数序列。
下面沿用图4所示的示例。在点S1和点S2之间插值时,如果在机器人控制设备一端插值的点特别多,例如插入几千个点,那么机器人控制设备与运动控制部件之间需要传输的数据会特别多,传输比较慢,影响对电机控制的实时性,因此不易插入过多的点。因此,为了保证电机或说机器人运行的平滑性,同时保证电机或说机器人控制的实时性,可以选择在机器人控制设备和运动控制部件两端分别进行两次插值。
示例性地,第一次插值时所插入的运动参数的条数可以小于第一条数阈值,第二次插值时所插入的运动参数的条数可以大于第二条数阈值,第一条数阈值可以小于或说远小于第二条数阈值。也就是说,在机器人控制设备上可以进行少量插值,以降低通信数据量,保证控制实时性,同时在运动控制部件上则可以进行较大量的插值,以使电机或说机器人运行尽量平稳。例如,在第一次插值时,可以选择在每两个相邻的点之间插入少数几个点,而在第二次插值时,可以选择在每两个相邻的点(针对经过第一次插值后的所有点考虑相邻点)之间插入数十甚至数百个点。第一次插值可以称为粗插,第二次插值可以称为细插。
在机器人控制设备(例如上位机)上进行第一次运动参数自动插值,在运动控制部件(例如电机)上进行第二次运动参数自动插值,这样可以极大程度地降低用户编辑运动参数的工作量,同时对通信的要求也不高。进行两次插值后,可以提供非常平稳的运动方案,电机或说机器人的运动十分柔顺。
需注意,文本所述的粗插参数序列中的每条粗插运动参数以及插值参数序列中的每条插值运动参数与步骤S210获取的每条运动参数(初始运动参数)包含相同形式的内容,初始运动参数、运动参数序列、粗插运动参数、粗插参数序列、插值运动参数以及插值参数序列等术语主要用于将第一次插值前、第一次插值后以及第二次插值后的运动参数区分开,并没有特殊含义。
在步骤S230,将插值参数序列解算为运动部件的驱动参数,以驱动运动部件运动。所述运动部件是与目标关节相对应的运动部件,其可以用于带动目标关节运动。
上文已经集合图1描述了运动控制部件130对运动参数进行解算,并驱动运动部件运动的工作原理,此处不再赘述。
实际应用中,可以根据需要进行插值,以获得使电机或说机器人运行的柔顺度满足要求的运动参数。例如,对图4所示的运动参数进行插值可以获得较大量的运动参数,使得实际用于控制运动部件的运动参数所对应的波形能够达到或接近图5所示的波形。图5示出根据本发明一个实施例的对用户编辑的运动参数进行插值后获得的运动参数所对应的波形。
可以看出,图4中的运动轨迹十分生硬,各个点之间的变化太大,而图5中的运动轨迹是比较柔顺的,各个点之间几乎没有跳变,可以有效地解决电机控制中加减速对运动控制系统的冲击这一难题,运动过程平稳、几乎无振动。
因此,基于本发明实施例提供的运动控制方案,用户只需要进行简单的参数编辑(如果用示教器或机器视觉等进行示教,可以完全不用编辑参数),即可以获得比较平稳的电机(或说机器人)运行结果,这样可以大大地降低用户的工作复杂度,是对用户十分友好的运动控制方式。
根据本发明实施例的运动控制方法,只需用户设置少量的运动参数,通过插值方式获得更大数量的运动参数,这种方式使得在保持用户低工作量的同时电机或机器人实现平稳运行成为可能。
根据本发明实施例,在利用运动控制部件对粗插参数序列进行第二次插值之前,方法200还可以包括:检测粗插参数序列内是否存在第一换向集合,每个第一换向集合包括使运动部件的运动方向换向的三条时间数据相邻的粗插运动参数;以及如果检测到至少一个第一换向集合,则对于至少一个第一换向集合中的每一个,在该第一换向集合中插入至少一条第一换向运动参数,以获得新的粗插参数序列,其中,至少一条第一换向运动参数用于指示运动部件在预设时间内通过换向时的回程间隙。
用户编辑一组运动参数,利用该运动参数即可实现对机器人的运动动作的控制,例如使机器人从一个A点抓取某个物体然后放置到B点,实现对物体的搬运。
机器人的某个关节在一个完整的动作中可能会存在“换向”这一动作。下面结合图6描述换向动作。图6示出根据一个示例的机器人600的示意图。机器人600包括基座1、大臂2、小臂3等,其中大臂2由电机4和减速器5驱动。图6中的机器人600在抓取某个物体时,大臂2和小臂3首先要沿S1方向俯向下运动、去抓取物体,然后再沿S2方向向上抬起,最后运动到放置物体的位置,这个俯向下到向上抬起的过程可以称为一次换向过程。
上述换向过程可能存在以下问题:因机械结构存在间隙(减速器等的齿轮之间存在间隙),这个间隙(可称为回程间隙或反向间隙)会在反向运动时影响运动部件(例如电机)位移的精准度,导致机器人无法在设定的时间、以设定的速度到达设定的位置。
为了解决上述问题,本发明实施例提供一种回程间隙补偿方案,即在存在换向的位置插入运动参数(本文称为第一换向运动参数),通过插入的第一换向运动参数可以使得运动部件在预设时间(该预设时间可以根据需要设定,例如设定得尽量短)内通过回程间隙,这样有利于保证运动部件的位移精准度,也就有利于保证机器人在设定的时间、以设定的速度到达设定的位置。下面描述回程间隙补偿的一种示例性方案。
示例性地,检测粗插参数序列内是否存在第一换向集合可以包括:
对于粗插参数序列中的任意三条时间数据相邻且按时间数据从小到大排序的第一条运动参数(P1,V1,T1)、第二条运动参数(P2,V2,T2)和第三条运动参数(P3,V3,T3),
如果存在P2-P1>0且P3-P2<0的第一种情况或者存在P2-P1<0且P3-P2>0的第二种情况,则确定这三条运动参数属于第一换向集合;
如果第一种情况和第二种情况均不存在,则确定这三条运动参数不属于第一换向集合。
获取粗插参数序列之后,可以对该序列内的运动参数进行检查,判断是否存在换向的情况。例如,可以按照时间数据的顺序将粗插参数序列中的所有运动参数分别组合成为一个或多个集合,每个集合包括时间数据相邻的三条运动参数。可以理解的是,在本文中,不同的集合可以包含一部分相同的运动参数。例如,假设目标关节的粗插参数序列包括五条运动参数S1、S2、S3、S4、S5,这五条运动参数按照时间数据从小到大排列。这五条运动参数可以共组合成三个集合,其中,S1、S2、S3可以组成第一个集合,S2、S3、S4可以组成第二个集合,S3、S4、S5可以组成第三个集合。可以对每个集合中的运动参数进行分析,判断是否存在换向的情况。在运动参数序列包括少于三条运动参数的情况下,可以理解为不存在换向。在运动参数序列包括至少三条运动参数的情况下,有可能存在换向。
比较可取的是,在用户编辑运动参数或者机器控制设备接收到运动参数时,即对所有的运动参数按照时间数据的顺序排序,这样可以直接按照排好的顺序遍历运动参数,判断是否存在换向的情况。
为方便描述,下面将用每个集合包括三条PVT参数A(P1,V1,T1)、B(P2,V2,T2)、C(P3,V3,T3)为例进行说明,这三条PVT参数在时间上是相邻的,即T1、T2和T3是相邻的时间。
对于任意一个集合来说,如果出现A->B位移为正(即P2-P1>0)且B->C位移为负(即P3-P2<0),或者A->B位移为负(即P2-P1<0)且B->C位移为正(即P3-P2>0)这两种情况,则可以确定当前的集合存在换向,即当前的集合属于第一换向集合,如果上述两种情况不存在,则可以确定当前的集合中不存在换向,即当前的集合不属于第一换向集合。
示例性地,至少一个第一换向集合中的每一个包括按时间数据从小到大排序的第一条运动参数(P1,V1,T1)、第二条运动参数(P2,V2,T2)和第三条运动参数(P3,V3,T3),插入的第一换向运动参数为(P4,V4,T4),
如果P2-P1>0且P3-P2<0,则:
P4=P2-360°/编码器分辨率;
V4=第一预设速度;
T4=T2+第一预设时间;
如果P2-P1<0且P3-P2>0,则:
P4=P2+360°/编码器分辨率;
V4=第二预设速度;
T4=T2+第二预设时间;
其中,P1、P2、P3、P4为位置数据,V1、V2、V3、V4为速度数据,T1、T2、T3、T4为时间数据。
如上所述,对于任意一个集合来说,如果出现A->B位移为正(即P2-P1>0)且B->C位移为负(即P3-P2<0),或者A->B位移为负(即P2-P1<0)且B->C位移为正(即P3-P2>0)这两种情况,则可以确定当前的集合存在换向,即当前的集合属于第一换向集合。此时,可以在B和C中间插入一条PVT参数D(P4,V4,T4)。使PVT参数列表由(A,B,C)->(A,B,D,C)。
示例性地,每个第一换向集合中插入的第一换向运动参数的数目是一个。示例性地,第一换向运动参数的时间数据可以位于第一换向集合中按时间数据从小到大排序的第二条运动参数和第三条运动参数的时间数据之间,即,T2<T4<T3。
示例性地,D的算法可以如下:
如果A->B位移为正(即P2-P1>0)且B->C位移为负(即P3-P2<0),则:
P4=P2-360°/编码器分辨率;
V4=第一预设速度;
T4=T2+第一预设时间;
如果A->B位移为负(即P2-P1<0)且B->C(即P3-P2>0)位移为正:
P4=P2+360°/编码器分辨率;
V4=第二预设速度;
T4=T2+第二预设时间。
本领域技术人员可以理解运动部件的编码器分辨率的意义,本文不赘述。“360°/编码器分辨率”可以理解为运动部件运行一个微步的位移,也可以理解为回程间隙所对应的位移。P2和P4之间的距离对应回程间隙,因此,可以根据P2计算补偿两个相反方向上的回程间隙所需的P4。
第一预设速度、第二预设速度、第一预设时间和第二预设时间的大小均可以根据需要设定,本发明不对此进行限制。示例性地,第一预设速度可以等于第二预设速度取反。示例性地,第一预设时间和第二预设时间可以相等。对于两个相反方向的回程间隙来说,这两个回程间隙在位移上大概率是一致的,因此,可以选择相反的速度和相等的时间来通过两个相反方向上的回程间隙。这种方案实现简单,易于控制。
第一预设时间和第二预设时间可以用微步数值表示。比较可取的是,第一预设时间和第二预设时间可以设定得较小,以使得运动部件能够尽快通过回程间隙。例如,第一预设时间可以小于第一时间阈值,第二预设时间可以小于第二时间阈值。第一时间阈值和第二时间阈值的大小均可以根据需要设定。
示例性而非限制性地,预设速度(包括第一预设速度和第二预设速度)和预设时间(包括第一预设时间和第二预设时间)可以是提前测试得到的数据,其可以内置在软件代码中,调试人员可以修改,而普通用户无权限修改。预设速度和预设时间的作用是使运动部件以期望的速度和时间(尽量设置为较快的速度、较短的时间)通过回程间隙,以使得机器人或说机器人的目标关节能够在设定的时间、以设定的速度到达设定的位置。
上述回程间隙补偿操作,即检测粗插参数序列内是否存在第一换向集合的操作以及如果检测到至少一个第一换向集合,则对于至少一个第一换向集合中的每一个,在该第一换向集合中插入至少一条第一换向运动参数的操作,可以由机器人控制设备(例如上位机)执行,也可以由运动控制部件(例如驱控器)执行。本文描述的机器人控制设备可以与用户交互,接收用户输入的运动参数和其他指令。
需注意,通过插入第一换向运动参数获得新的粗插参数序列,可以理解为对粗插参数序列包含的运动参数进行更新。后续可以针对新的粗插参数序列进行第二次插值。
示例性地,上述回程间隙补偿功能可以在机器人控制设备的人机交互界面上作为选项示出,用户可以根据需要选择是否采用该功能。如果用户需要使用回程间隙补偿功能,则可以勾选该功能的选项,并输入上述预设速度和预设时间(或采用默认阈值)。
虽然在本文的描述中以插入一条第一换向运动参数为例进行说明,然而这并非对本发明的限制。例如,可以在每个第一换向集合中插入两条或多于两条第一换向运动参数,插入的所有第一换向运动参数使得运动部件在预设时间内通过换向时的回程间隙。
根据本发明实施例,对于使运动部件的运动方向换向的运动参数,在其中插入第一换向运动参数,以补偿回程间隙。该方法可以减小回程间隙对运动控制的影响,进而可以实现以下技术效果:
1:保证精度,使得将运动部件的位移精度控制在正负0.001°成为可能。
2:保证时间,在指定时间内能够到达目标位置。由于回程间隙的存在,使得运动部件到达目标位置的时间无法保证。添加换向运动参数使得运动部件在较短时间内走完回程间隙而不影响总时间成为可能。
3:保证协调性,机器人基于运动参数不停换向运行时会更协调。
根据本发明实施例,在利用运动控制部件对粗插参数序列进行第二次插值之前,方法200还可以包括:步骤a:将粗插参数序列中按时间数据从小到大排序的第一条粗插运动参数作为当前的有效运动参数保留;步骤b:对于粗插参数序列中按时间数据从小到大排序位于当前的有效运动参数之后的第x+i条粗插运动参数,依次计算第x+i条粗插运动参数的位置数据与当前的有效运动参数的位置数据之间的差值,直至找到终点粗插运动参数,终点粗插运动参数的位置数据与当前的有效运动参数的位置数据之间的差值大于预设阈值,其中,x为当前的有效运动参数在粗插参数序列中的序号,i=1,2,3……m,m≤N1-x,N1是粗插参数序列中的粗插运动参数的总条数;步骤c:删除当前的有效运动参数与终点粗插运动参数之间的粗插运动参数,将终点粗插运动参数作为当前的有效运动参数保留,并返回步骤b;步骤d:确定保留的所有有效运动参数为新的粗插参数序列。
可以理解,第x+m条粗插运动参数即为终点粗插运动参数。
所述预设阈值的大小可以根据需要设定,本发明不对此进行限制。所述预设阈值可以由用户输入,也可以是默认阈值。示例性地,预设阈值可以是5度。
在获得粗插参数序列之后,可以对粗插参数序列进行一些优化。例如,如果两条运动参数之间的位置数据相差较小,则可以删除一条运动参数,以减少数据冗余。该优化功能可以在机器人控制设备的人机交互界面上作为选项示出,用户可以根据需要选择是否采用该优化功能。如果用户需要使用参数优化功能,则可以勾选优化功能的选项,并输入上述预设阈值(或采用默认阈值)。
上述优化功能的作用是将粗插参数序列中的PVT参数遍历。针对每条PVT参数,将该PVT参数中的位置数据与时间数据紧随其后的第一条PVT参数的位置数据相比,如果二者差值的绝对值小于预设阈值,则可以将时间数据在后的一条PVT参数从粗插参数序列中删除,此时可以获得经过更新的粗插参数序列。每次获得新的粗插参数序列之后,可以重新执行上述优化,直至最后获得的粗插参数序列中,所有两个时间数据相邻的运动参数之间的位置数据的差值均大于预设阈值。
以小臂关节举例,假设预设阈值设置为2度。可以首先将粗插参数序列中的粗插运动参数按照时间数据从小到大的顺序排列,然后,从第一条PVT参数和第二条PVT参数开始对比,如果这两条PVT参数的位置数据的差值的绝对值小于2度,则可以认为第二条PVT参数无效,将其删除。随后,再用第三条PVT参数的位置数据继续和第一条PVT参数的位置数据进行对比,差值的绝对值大于2度,则可以认为第三条PVT参数有效,将其保留。例如,可以将第一条PVT参数和第三条PVT参数存入有效PVT序列里。并且,可以将第三条PVT参数作为当前参与对比的PVT参数(即当前的有效运动参数),继续使用第四条PVT参数和第三条PVT参数进行对比,如果差值的绝对值小于2度,则认为第四条PVT参数无效,将其删除。随后,再使用第五条PVT参数继续和第三条PVT参数进行对比,如果差值的绝对值仍然小于2度,则认为第五条PVT参数无效,将其删除。随后,继续使用第六条PVT参数和第三条PVT参数进行对比,如果差值的绝对值大于2度,则可以认为第六条PVT参数有效,将其保留,并存入有效PVT序列。以此类推,可以将所有有效的PVT参数依次保存和/或依次输出至运动控制部件,这些被保存或输出的有效PVT参数即组成经更新的粗插参数序列。
用户初始编辑的或者经过系统进一步处理后的运动参数不够精简(例如数量过大),由于运动参数需要在运动控制系统内部进行传输(例如由机器人控制设备下载到运动控制部件)、解算等操作,这可能增加对运动控制系统的通信和解算能力的要求,也就增加运动控制系统的工作压力。
根据上述方法,可以根据运动参数的位置数据检测并删除冗余运动参数,这样可以对当前的运动参数进行精简,有利于减小运动控制系统的工作压力,进一步有利于缩短运动控制的响应时间。例如,该方法有利于减少运动参数从机器人控制设备到运动控制部件的下载时间,减小通信压力,还有利于减小运动控制部件对运动参数的解算压力。
根据本发明实施例,在利用运动控制部件对粗插参数序列进行第二次插值之前,方法200还可以包括:检测粗插参数序列内是否存在第二换向集合,每个第二换向集合包括速度数据反向的两条时间数据相邻的粗插运动参数;以及如果检测到至少一个第二换向集合,则对于至少一个第二换向集合中的每一个,在该第二换向集合中插入至少一条第二换向运动参数,以获得新的粗插参数序列,其中,第二换向运动参数中的速度数据等于0并且第二换向运动参数中的时间数据位于第二换向运动参数插入的第二换向集合中的两条粗插运动参数的时间数据之间。
可以对各关节的PVT参数进行检测,判断是否存在前后两条PVT参数的速度方向是相反的,如果存在,则可以在这两条PVT参数之间插入一条速度为0的PVT参数。如果在运行时速度突然反向,机器人可能会出现突然卡顿、运动不协调等问题,因此可以在反向位置处添加一条速度为0的PVT参数,这样可以使电机先停止、再反向运动,从而可以优化电机的运行。
获取粗插参数序列之后,可以对该序列内的运动参数进行检查,判断是否存在速度反向的情况。例如,可以按照时间数据的顺序将粗插参数序列中的所有运动参数分别组合成为一个或多个集合,每个集合包括时间数据相邻的两条运动参数。可以理解的是,在本文中,不同的集合可以包含一部分相同的运动参数。例如,假设目标关节的粗插参数序列包括五条运动参数S1、S2、S3、S4、S5,这五条运动参数按照时间数据从小到大排列。这五条运动参数可以共组合成四个集合,其中,S1、S2可以组成第一个集合,S2、S3可以组成第二个集合,S3、S4可以组成第三个集合,S4、S5可以组成第四个集合。可以对每个集合中的运动参数进行分析,判断是否存在速度反向的情况。在粗插参数序列包括少于两条运动参数的情况下,可以理解为不存在速度反向。在粗插参数序列包括至少两条运动参数的情况下,有可能存在速度反向。
比较可取的是,在用户编辑运动参数或者机器控制设备接收到运动参数时,即对所有的运动参数按照时间数据的顺序排序,这样可以直接按照排好的顺序遍历运动参数,判断是否存在速度反向的情况。
下面描述插入的第二换向运动参数中的各种数据的计算方式。
例如,假设粗插参数序列中存在两条PVT参数(P1,V1,T1)和(P2,V2,T2),如下:
P1:180 V1:2 T1:1.2;
P2:179 V2:-1 T2:1.3。
由于第一条PVT参数和第二条PVT参数的速度相反,存在速度反向,因此可以插入第三条PVT参数(P3,V3,T3),这条PVT参数的速度V3=0。
在一个示例中,P3和T3可以按照速度变化比值来确定,例如,可以按照以下公式计算T3和P3:
T3=T2×sca+(1-sca)×T1;
P3=P1+0.5×sca×(T2-T1)×V1。
sca为速度变化比值。
将两条PVT参数(P1,V1,T1)和(P2,V2,T2)的数据代入上述公式,可以计算获得sca=2/3,T3=1.2667,P3=180.0667。如下表所示:
P1:180 | V1:2 | T1:1.2 |
P3:180.0667 | V3:0 | T3:1.2667 |
P2:179 | V2:-1 | T2:1.3 |
计算第二换向运动参数中的时间数据和位置数据的方式并不局限于本文描述的方式,它们可以采用其他合适的方式来计算。例如,计算第二换向运动参数中的时间数据和位置数据的方式可以依据插值方式而定。上述公式示出的是在线性插值的情况下时间数据和位置数据的计算方式。
虽然在本文的描述中以插入一条第二换向运动参数为例进行说明,然而这并非对本发明的限制。例如,可以在每个第二换向集合中插入两条或多于两条第二换向运动参数,每条第二换向运动参数满足以下条件:第二换向运动参数中的速度数据等于0并且第二换向运动参数中的时间数据位于第二换向运动参数插入的第二换向集合中的两条运动参数的时间数据之间。
根据本发明实施例,利用运动控制部件对粗插参数序列进行第二次插值,以获得插值参数序列可以包括:利用运动控制部件对粗插参数序列进行第二次插值,使得插值参数序列包含与运动部件的每个微步相对应的插值运动参数。
第二次插值时,可以使得插值后获得的运动参数的数量达到以下要求:每两条相邻的插值PVT参数对应于电机转动的每个微步。举例来说:电机结合减速机组成了一个机器人的某个关节,该关节转动一周(360°)对应减速机输出轴转动一周(360°)、对应的电机转动一周乘以减速机的减速比,所对应的微步数可以表示为:(A×B×C)/D×E,其中,A是一个固定数值,B是电机细分参数,C是减速机的减速比,D是360°,E是关节转动的值、例如是360°。
例如,A是一个固定参数300,B是电机细分参数64(这个是可设的),C是减速机的减速比50(也是可设的),那么关节转动一周(即减速机的输出轴转动一周)对应的电机的微步数是300*64*50=960000,那么第二次插值时,任意两条时间数据相邻的PVT参数之间可以插入的数量即为这两条PVT参数带动关节转动的角度M除以360°、再乘以960000,即为:(M*960000)/360°。
通过上述方式,可以使得最终获得的插值参数序列中,任意两条时间数据相邻的运动参数可以带动关节转动一个微步的角度。
通过上述介绍可以看出,进行了两次插值后,对电机的控制可以达到微步级别,即可以实现每步变频,这样可以提供比较柔顺的运动输出。
根据本发明实施例,对运动参数序列进行插值可以采用以下插值方式中的一种或多种实现:梯形曲线插值、S型曲线插值、3次多项式曲线插值、5次多项式曲线插值、线性插值。
第一次插值、第二次插值均可以采用上述插值方式中的一种实现。第一次插值和第二次插值可以采用相同的插值方式,也可以采用不同的插值方式。
根据本发明实施例,运动控制方法200还可以包括:接收用户输入的用于指示插值方式的插值指令;对运动参数序列进行插值,以获得插值参数序列包括:采用插值指令所指示的插值方式对运动参数序列进行插值,以获得插值参数序列。
在任意时刻,例如PVT参数编辑完成后或完成前,用户可以在一个选项框中选择“插值方式”。插值方式可以是梯形曲线插值、S型曲线插值、3次多项式曲线插值、5次多项式曲线插值、线性插值等。机器人控制设备(例如上位机等)接收到用户关于某种插值方式的选择信息(即插值指令)之后,可以利用相应的插值方式进行插值。在执行两次或多于两次插值的情况下,用户可以为至少一次插值操作选择插值方式,例如,对于上述执行两次插值,即第一次插值和第二次插值的情况,用户可以为这两次插值分别指定第一插值方式和第二插值方式。用户未选择插值方式的插值操作可以采用默认的插值方式进行插值。当然,步骤S220中执行的插值操作可以无需用户选择插值方式,即直接采用默认的插值方式进行一次或多次插值。
示例性地,可以向用户提供多种自动插值方式的选项,供用户自主选择,这样可以满足用户不同的需要。
根据本发明实施例,将插值参数序列解算为运动部件的驱动参数可以在插值参数序列的条数达到预设条数的情况下开始执行。
预设条数可以是任意合适的数目,其可以根据需要设定,本发明不对此进行限制。示例性地,可以在插值获得的PVT参数达到10条时,实时地利用当前已获得的插值运动参数控制电机运动。这种方式可以获得比较好的控制实时性。
根据本发明实施例,在将插值参数序列解算为运动部件的驱动参数(步骤S230)之前,方法200还可以包括:检测插值参数序列内是否存在第三换向集合,每个第三换向集合包括使运动部件的运动方向换向的三条时间数据相邻的插值运动参数;以及如果检测到至少一个第三换向集合,则对于至少一个第三换向集合中的每一个,在该第三换向集合中插入至少一条第三换向运动参数,以获得新的插值参数序列,其中,至少一条第三换向运动参数用于指示运动部件在预设时间内通过换向时的回程间隙。示例性地,第三换向运动参数的时间数据可以位于第三换向集合中按时间数据从小到大排序的第二条运动参数和第三条运动参数的时间数据之间。
根据本发明实施例,至少一个第三换向集合中的每一个包括按时间数据从小到大排序的第一条运动参数(P1,V1,T1)、第二条运动参数(P2,V2,T2)和第三条运动参数(P3,V3,T3),插入的第三换向运动参数为(P4,V4,T4),
如果P2-P1>0且P3-P2<0,则:
P4=P2-360°/编码器分辨率;
V4=第三预设速度;
T4=T2+第三预设时间;
如果P2-P1<0且P3-P2>0,则:
P4=P2+360°/编码器分辨率;
V4=第四预设速度;
T4=T2+第四预设时间;
其中,P1、P2、P3、P4为位置数据,V1、V2、V3、V4为速度数据,T1、T2、T3、T4为时间数据。
根据本发明实施例,在将插值参数序列解算为运动部件的驱动参数(步骤S230)之前,方法200还可以包括:步骤a:将插值参数序列中按时间数据从小到大排序的第一条插值运动参数作为当前的有效运动参数保留;步骤b:对于插值参数序列中按时间数据从小到大排序位于当前的有效运动参数之后的第y+j条插值运动参数,依次计算第y+j条插值运动参数的位置数据与当前的有效运动参数的位置数据之间的差值,直至找到终点插值运动参数,终点插值运动参数的位置数据与当前的有效运动参数的位置数据之间的差值大于预设阈值,其中,y为当前的有效运动参数在插值参数序列中的序号,j=1,2,3……k,k≤N2-x,N2是插值参数序列中的插值运动参数的总条数;步骤c:删除当前的有效运动参数与终点插值运动参数之间的插值运动参数,将终点插值运动参数作为当前的有效运动参数保留,并返回步骤b;步骤d:确定保留的所有有效运动参数为新的插值参数序列。
根据本发明实施例,在将插值参数序列解算为运动部件的驱动参数(步骤S230)之前,方法200还可以包括:检测插值参数序列内是否存在第四换向集合,每个第四换向集合包括速度数据反向的两条时间数据相邻的插值运动参数;以及如果检测到至少一个第四换向集合,则对于至少一个第四换向集合中的每一个,在该第四换向集合中插入至少一条第四换向运动参数,以获得新的插值参数序列,其中,第四换向运动参数中的速度数据等于0并且第四换向运动参数中的时间数据位于第四换向运动参数插入的第四换向集合中的两条插值运动参数的时间数据之间。
上文已经描述了在第二次插值之前,对粗插参数序列进行回程间隙补偿、运动参数优化、反向速度参数插值等多种优化方案的实现方式,可选地,针对插值参数序列也可以执行上述优化方案。本领域技术人员可以参考上文关于在粗插参数序列中进行优化的描述来理解在插值参数序列中进行上述三种优化的实现方式,在此不再赘述。
此外,可选地,上述三种优化方案可以至少部分同时实现,例如,可以针对粗插参数序列执行回程间隙补偿和运动参数优化这两种优化方案。
根据本发明另一方面,提供一种运动控制装置。图7示出根据本发明一个实施例的运动控制装置700的示意性框图。
如图7所示,根据本发明实施例的运动控制装置700包括获取模块710、插值模块720、和解算模块730。所述各个模块可分别执行上文中结合图1-6描述的运动控制方法的各个步骤/功能。以下仅对该运动控制装置700的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
获取模块710用于获取关节的运动参数序列。
插值模块720用于对运动参数序列进行插值,以获得插值参数序列。
解算模块730用于将插值参数序列解算为运动部件的驱动参数,以驱动运动部件运动。
图8示出了根据本发明一个实施例的运动控制系统800的示意性框图。运动控制系统800包括存储装置(即存储器)810以及处理器820。
所述存储装置810存储用于实现根据本发明实施例的运动控制方法中的相应步骤的计算机程序指令。
所述处理器820用于运行所述存储装置810中存储的计算机程序指令,以执行根据本发明实施例的运动控制方法的相应步骤。
在一个实施例中,计算机程序指令被处理器810运行时用于执行以下步骤:获取关节的运动参数序列;对运动参数序列进行插值,以获得插值参数序列;以及将插值参数序列解算为运动部件的驱动参数,以驱动运动部件运动。
示例性地,处理器810可以包括机器人控制设备和运动控制部件。计算机程序指令被处理器810运行时所执行的对运动参数序列进行插值,以获得插值参数序列的步骤可以包括:计算机程序指令被机器人控制设备运行时用于对运动参数进行第一次插值,以获得粗插参数序列;以及计算机程序指令被运动控制部件运行时用于对粗插参数序列进行第二次插值,以获得插值参数序列。
图8所示的运动控制系统800可以采用与图1所示的运动控制系统100相同或相似的硬件结构和工作方式,可以参照上文关于运动控制系统100的描述理解运动控制系统800。
此外,根据本发明又一方面,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时使得所述计算机或处理器执行本发明实施例的上述运动控制方法的相应步骤。所述存储介质例如可以包括平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
本领域普通技术人员通过阅读上文关于运动控制方法的相关描述,可以理解上述运动控制装置、系统和存储介质的具体实现方案,为了简洁,在此不再赘述。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的运动控制装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种运动控制方法,包括:
获取关节的运动参数序列;
对所述运动参数序列进行插值,以获得插值参数序列;以及
将所述插值参数序列解算为运动部件的驱动参数,以驱动所述运动部件运动;
其中,所述对所述运动参数序列进行插值,以获得插值参数序列包括:
利用机器人控制设备对所述运动参数序列进行第一次插值,以获得粗插参数序列;以及
利用运动控制部件对所述粗插参数序列进行第二次插值,以获得所述插值参数序列;
其中,在所述利用运动控制部件对所述粗插参数序列进行第二次插值之前,所述方法还包括:
检测所述粗插参数序列内是否存在第一换向集合,每个第一换向集合包括使所述运动部件的运动方向换向的三条时间数据相邻的粗插运动参数;以及
如果检测到至少一个第一换向集合,则对于所述至少一个第一换向集合中的每一个,在该第一换向集合中插入至少一条第一换向运动参数,以获得新的粗插参数序列,其中,所述至少一条第一换向运动参数用于指示所述运动部件在预设时间内通过换向时的回程间隙,对于所述至少一条第一换向运动参数中的每条第一换向运动参数,该第一换向运动参数的时间数据位于对应的第一换向集合中按时间数据从小到大排序的第二条运动参数和第三条运动参数的时间数据之间,该第一换向运动参数的速度数据等于预设速度。
2.如权利要求1所述的方法,其中,所述至少一个第一换向集合中的每一个包括按时间数据从小到大排序的第一条运动参数(P1,V1,T1)、第二条运动参数(P2,V2,T2)和第三条运动参数(P3,V3,T3),插入的第一换向运动参数为(P4,V4,T4),
如果P2-P1>0且P3-P2<0,则:
P4=P2-360°/编码器分辨率;
V4=第一预设速度;
T4=T2+第一预设时间;
如果P2-P1<0且P3-P2>0,则:
P4=P2+360°/编码器分辨率;
V4=第二预设速度;
T4=T2+第二预设时间;
其中,P1、P2、P3、P4为位置数据,V1、V2、V3、V4为速度数据,T1、T2、T3、T4为时间数据。
3.如权利要求1所述的方法,其中,在所述利用运动控制部件对所述粗插参数序列进行第二次插值之前,所述方法还包括:
步骤a:将所述粗插参数序列中按时间数据从小到大排序的第一条粗插运动参数作为当前的有效运动参数保留;
步骤b:对于所述粗插参数序列中按时间数据从小到大排序位于所述当前的有效运动参数之后的第x+i条粗插运动参数,依次计算第x+i条粗插运动参数的位置数据与所述当前的有效运动参数的位置数据之间的差值,直至找到终点粗插运动参数,所述终点粗插运动参数的位置数据与所述当前的有效运动参数的位置数据之间的差值大于预设阈值,其中,x为所述当前的有效运动参数在所述粗插参数序列中的序号,i=1,2,3……m,m≤N1-x,N1是所述粗插参数序列中的粗插运动参数的总条数;
步骤c:删除所述当前的有效运动参数与所述终点粗插运动参数之间的粗插运动参数,将所述终点粗插运动参数作为当前的有效运动参数保留,并返回所述步骤b;
步骤d:确定保留的所有有效运动参数为新的粗插参数序列。
4.如权利要求1所述的方法,其中,在所述利用运动控制部件对所述粗插参数序列进行第二次插值之前,所述方法还包括:
检测所述粗插参数序列内是否存在第二换向集合,每个第二换向集合包括速度数据反向的两条时间数据相邻的粗插运动参数;以及
如果检测到至少一个第二换向集合,则对于所述至少一个第二换向集合中的每一个,在该第二换向集合中插入至少一条第二换向运动参数,以获得新的粗插参数序列,其中,所述第二换向运动参数中的速度数据等于0并且所述第二换向运动参数中的时间数据位于所述第二换向运动参数插入的第二换向集合中的两条粗插运动参数的时间数据之间。
5.如权利要求1所述的方法,其中,所述利用运动控制部件对所述粗插参数序列进行第二次插值,以获得所述插值参数序列包括:
利用所述运动控制部件对所述粗插参数序列进行第二次插值,使得所述插值参数序列包含与所述运动部件的每个微步相对应的插值运动参数。
6.如权利要求1至5任一项所述的方法,其中,在所述将所述插值参数序列解算为运动部件的驱动参数之前,所述方法还包括:
检测所述插值参数序列内是否存在第三换向集合,每个第三换向集合包括使所述运动部件的运动方向换向的三条时间数据相邻的插值运动参数;以及
如果检测到至少一个第三换向集合,则对于所述至少一个第三换向集合中的每一个,在该第三换向集合中插入至少一条第三换向运动参数,以获得新的插值参数序列,其中,所述至少一条第三换向运动参数用于指示所述运动部件在预设时间内通过换向时的回程间隙,对于所述至少一条第三换向运动参数中的每条第三换向运动参数,该第三换向运动参数的时间数据位于对应的第三换向集合中按时间数据从小到大排序的第二条运动参数和第三条运动参数的时间数据之间,该第三换向运动参数的速度数据等于预设速度。
7.如权利要求1至5任一项所述的方法,其中,在所述将所述插值参数序列解算为运动部件的驱动参数之前,所述方法还包括:
步骤a:将所述插值参数序列中按时间数据从小到大排序的第一条插值运动参数作为当前的有效运动参数保留;
步骤b:对于所述插值参数序列中按时间数据从小到大排序位于所述当前的有效运动参数之后的第y+j条插值运动参数,依次计算第y+j条插值运动参数的位置数据与所述当前的有效运动参数的位置数据之间的差值,直至找到终点插值运动参数,所述终点插值运动参数的位置数据与所述当前的有效运动参数的位置数据之间的差值大于预设阈值,其中,y为所述当前的有效运动参数在所述插值参数序列中的序号,j=1,2,3……k,k≤N2-x,N2是所述插值参数序列中的插值运动参数的总条数;
步骤c:删除所述当前的有效运动参数与所述终点插值运动参数之间的插值运动参数,将所述终点插值运动参数作为当前的有效运动参数保留,并返回所述步骤b;
步骤d:确定保留的所有有效运动参数为新的插值参数序列。
8.如权利要求1至5任一项所述的方法,其中,在所述将所述插值参数序列解算为运动部件的驱动参数之前,所述方法还包括:
检测所述插值参数序列内是否存在第四换向集合,每个第四换向集合包括速度数据反向的两条时间数据相邻的插值运动参数;以及
如果检测到至少一个第四换向集合,则对于所述至少一个第四换向集合中的每一个,在该第四换向集合中插入至少一条第四换向运动参数,以获得新的插值参数序列,其中,所述第四换向运动参数中的速度数据等于0并且所述第四换向运动参数中的时间数据位于所述第四换向运动参数插入的第四换向集合中的两条插值运动参数的时间数据之间。
9.如权利要求1至5任一项所述的方法,其中,所述对所述运动参数序列进行插值采用以下插值方式中的一种或多种实现:梯形曲线插值、S型曲线插值、3次多项式曲线插值、5次多项式曲线插值、线性插值。
10.如权利要求1至5任一项所述的方法,其中,
所述运动控制方法还包括:
接收用户输入的用于指示插值方式的插值指令;
所述对所述运动参数序列进行插值,以获得插值参数序列包括:
采用所述插值指令所指示的插值方式对所述运动参数序列进行插值,以获得所述插值参数序列。
11.如权利要求1至5任一项所述的方法,其中,所述将所述插值参数序列解算为运动部件的驱动参数在所述插值参数序列的条数达到预设条数的情况下开始执行。
12.一种运动控制装置,包括:
获取模块,用于获取关节的运动参数序列;
插值模块,用于对所述运动参数序列进行插值,以获得插值参数序列;以及
解算模块,用于将所述插值参数序列解算为运动部件的驱动参数,以驱动所述运动部件运动;
其中,所述插值模块包括:
第一插值子模块,用于利用机器人控制设备对所述运动参数序列进行第一次插值,以获得粗插参数序列;以及
第二插值子模块,用于利用运动控制部件对所述粗插参数序列进行第二次插值,以获得所述插值参数序列;
其中,所述运动控制装置还包括:
检测模块,用于在所述第二插值子模块利用运动控制部件对所述粗插参数序列进行第二次插值之前,检测所述粗插参数序列内是否存在第一换向集合,每个第一换向集合包括使所述运动部件的运动方向换向的三条时间数据相邻的粗插运动参数;以及
插入模块,用于如果检测到至少一个第一换向集合,则对于所述至少一个第一换向集合中的每一个,在该第一换向集合中插入至少一条第一换向运动参数,以获得新的粗插参数序列,其中,所述至少一条第一换向运动参数用于指示所述运动部件在预设时间内通过换向时的回程间隙,对于所述至少一条第一换向运动参数中的每条第一换向运动参数,该第一换向运动参数的时间数据位于对应的第一换向集合中按时间数据从小到大排序的第二条运动参数和第三条运动参数的时间数据之间,该第一换向运动参数的速度数据等于预设速度。
13.一种运动控制系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至11任一项所述的运动控制方法。
14.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如权利要求1至11任一项所述的运动控制方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910055381.6A CN109551485B (zh) | 2019-01-21 | 2019-01-21 | 运动控制方法、装置和系统及存储介质 |
US17/424,477 US11975452B2 (en) | 2019-01-21 | 2019-12-16 | Motion control method, device and system, and storage medium |
PCT/CN2019/125690 WO2020151406A1 (zh) | 2019-01-21 | 2019-12-16 | 运动控制方法、装置和系统及存储介质 |
DE112019006713.3T DE112019006713B4 (de) | 2019-01-21 | 2019-12-16 | Ein Verfahren zur Steuerung einer Bewegung, eine Bewegungssteuereinrichtung und ein System sowie ein Speichermedium desselben |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910055381.6A CN109551485B (zh) | 2019-01-21 | 2019-01-21 | 运动控制方法、装置和系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109551485A CN109551485A (zh) | 2019-04-02 |
CN109551485B true CN109551485B (zh) | 2020-10-16 |
Family
ID=65873408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910055381.6A Active CN109551485B (zh) | 2019-01-21 | 2019-01-21 | 运动控制方法、装置和系统及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11975452B2 (zh) |
CN (1) | CN109551485B (zh) |
DE (1) | DE112019006713B4 (zh) |
WO (1) | WO2020151406A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109551485B (zh) * | 2019-01-21 | 2020-10-16 | 北京镁伽机器人科技有限公司 | 运动控制方法、装置和系统及存储介质 |
CN110253538B (zh) * | 2019-05-22 | 2021-05-04 | 深圳镁伽科技有限公司 | 运动数据存储和机器人控制方法、设备、系统及存储介质 |
CN112870595B (zh) * | 2020-12-30 | 2022-07-08 | 国电南瑞科技股份有限公司 | 一种举高消防机器人控制方法、装置及系统 |
CN113495530B (zh) * | 2021-08-26 | 2022-11-22 | 珠海格力智能装备有限公司 | 运动控制方法及其装置、计算机可读存储介质以及处理器 |
CN114035513B (zh) * | 2021-09-28 | 2024-07-02 | 苏州谋迅智能科技有限公司 | S形速度曲线前瞻规划方法和装置、存储介质和计算设备 |
CN113635312B (zh) * | 2021-10-18 | 2022-02-15 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 工业机器人运动精度补偿方法、系统和计算机设备 |
CN114918912B (zh) * | 2022-03-07 | 2024-08-30 | 网易灵动(杭州)科技有限公司 | 一种机械臂的控制方法、装置、电子设备以及存储介质 |
CN114575904A (zh) * | 2022-03-07 | 2022-06-03 | 中煤华晋集团有限公司 | 智能锚杆钻机自动铺网控制方法、装置及系统 |
CN115609600B (zh) * | 2022-10-14 | 2024-07-19 | 浙江艾隆科技有限公司 | 取输液容器的方法、装置、终端及可读存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101909829A (zh) * | 2008-02-28 | 2010-12-08 | 松下电器产业株式会社 | 机器人手臂的控制装置及控制方法、机器人、机器人手臂的控制程序、及机器人手臂控制用集成电子电路 |
CN103429397A (zh) * | 2011-03-08 | 2013-12-04 | 株式会社神户制钢所 | 多关节型机器人的控制装置、控制方法以及控制程序 |
JP2014208400A (ja) * | 2014-06-10 | 2014-11-06 | 株式会社デンソーウェーブ | ロボットの制御装置及びロボットの姿勢補間方法 |
CN104254430A (zh) * | 2012-03-07 | 2014-12-31 | 佳能株式会社 | 机器人控制设备、机器人装置、机器人控制方法、用于执行机器人控制方法的程序、及在其上记录程序的记录介质 |
CN104647387A (zh) * | 2013-11-25 | 2015-05-27 | 佳能株式会社 | 机器人控制方法、系统和装置 |
CN105278462A (zh) * | 2015-11-24 | 2016-01-27 | 重庆市灵龙自动化设备有限公司 | 机器人控制系统轨迹加减速插补算法 |
CN105652801A (zh) * | 2014-11-27 | 2016-06-08 | 发那科株式会社 | 多系统数值控制装置 |
CN106625015A (zh) * | 2015-10-29 | 2017-05-10 | 兄弟工业株式会社 | 控制装置、机床、控制方法 |
CN106814694A (zh) * | 2017-02-14 | 2017-06-09 | 华南理工大学 | 一种高速高精度的参数曲线前瞻插补算法 |
CN108213696A (zh) * | 2016-12-12 | 2018-06-29 | 发那科株式会社 | 激光加工机器人系统及激光加工机器人系统的控制方法 |
CN108858205A (zh) * | 2018-09-03 | 2018-11-23 | 鲁东大学 | 一种基于人形机器人关节控制的平滑处理方法、装置和系统 |
CN109176526A (zh) * | 2018-10-08 | 2019-01-11 | 南京信息工程大学 | 一种三轴直角坐标机器人空间圆弧插补方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030205984A1 (en) * | 2001-06-20 | 2003-11-06 | Jun Yoshida | Method of controlling numerically controlled machine tool and numerically controlled machine tool |
DE69934251T2 (de) * | 1999-10-20 | 2007-07-05 | Makino Milling Machine Co. Ltd. | Nc-werkzeugmaschine und verfahren zur steuerung der nc-werkzeugmaschine |
JP4111044B2 (ja) * | 2003-04-21 | 2008-07-02 | 株式会社安川電機 | ロボット制御装置 |
US7859540B2 (en) * | 2005-12-22 | 2010-12-28 | Honda Motor Co., Ltd. | Reconstruction, retargetting, tracking, and estimation of motion for articulated systems |
US8924021B2 (en) * | 2006-04-27 | 2014-12-30 | Honda Motor Co., Ltd. | Control of robots from human motion descriptors |
DE102009023307A1 (de) | 2009-05-29 | 2010-12-02 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zur Steuerung eines Manipulators |
CN103197673A (zh) * | 2012-01-05 | 2013-07-10 | 沈阳新松机器人自动化股份有限公司 | 定位机器人运动轨迹的方法和装置 |
CN103823467A (zh) | 2012-05-23 | 2014-05-28 | 浙江大学 | 具备运动规划功能的工业机器人示教规划器的控制方法 |
JP2015066668A (ja) * | 2013-10-01 | 2015-04-13 | キヤノン株式会社 | ロボットの教示点調整方法、ロボットの設置位置算出方法、ロボットシステム、プログラム及び記録媒体 |
US9381643B2 (en) * | 2014-07-03 | 2016-07-05 | GM Global Technology Operations LLC | Dynamical system-based robot velocity control |
CN106903690B (zh) | 2017-03-08 | 2019-05-28 | 江苏山河机电技术有限公司 | 一种起重机运动轨迹识别方法 |
JP2018176288A (ja) * | 2017-04-03 | 2018-11-15 | ファナック株式会社 | ロボットの教示装置 |
CN108942942B (zh) * | 2018-08-16 | 2020-01-07 | 居鹤华 | 一种基于轴不变量的多轴机器人逆运动学建模与解算方法 |
CN109551485B (zh) | 2019-01-21 | 2020-10-16 | 北京镁伽机器人科技有限公司 | 运动控制方法、装置和系统及存储介质 |
-
2019
- 2019-01-21 CN CN201910055381.6A patent/CN109551485B/zh active Active
- 2019-12-16 WO PCT/CN2019/125690 patent/WO2020151406A1/zh active Application Filing
- 2019-12-16 US US17/424,477 patent/US11975452B2/en active Active
- 2019-12-16 DE DE112019006713.3T patent/DE112019006713B4/de active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101909829A (zh) * | 2008-02-28 | 2010-12-08 | 松下电器产业株式会社 | 机器人手臂的控制装置及控制方法、机器人、机器人手臂的控制程序、及机器人手臂控制用集成电子电路 |
CN103429397A (zh) * | 2011-03-08 | 2013-12-04 | 株式会社神户制钢所 | 多关节型机器人的控制装置、控制方法以及控制程序 |
CN104254430A (zh) * | 2012-03-07 | 2014-12-31 | 佳能株式会社 | 机器人控制设备、机器人装置、机器人控制方法、用于执行机器人控制方法的程序、及在其上记录程序的记录介质 |
CN104647387A (zh) * | 2013-11-25 | 2015-05-27 | 佳能株式会社 | 机器人控制方法、系统和装置 |
JP2014208400A (ja) * | 2014-06-10 | 2014-11-06 | 株式会社デンソーウェーブ | ロボットの制御装置及びロボットの姿勢補間方法 |
CN105652801A (zh) * | 2014-11-27 | 2016-06-08 | 发那科株式会社 | 多系统数值控制装置 |
CN106625015A (zh) * | 2015-10-29 | 2017-05-10 | 兄弟工业株式会社 | 控制装置、机床、控制方法 |
CN105278462A (zh) * | 2015-11-24 | 2016-01-27 | 重庆市灵龙自动化设备有限公司 | 机器人控制系统轨迹加减速插补算法 |
CN108213696A (zh) * | 2016-12-12 | 2018-06-29 | 发那科株式会社 | 激光加工机器人系统及激光加工机器人系统的控制方法 |
CN106814694A (zh) * | 2017-02-14 | 2017-06-09 | 华南理工大学 | 一种高速高精度的参数曲线前瞻插补算法 |
CN108858205A (zh) * | 2018-09-03 | 2018-11-23 | 鲁东大学 | 一种基于人形机器人关节控制的平滑处理方法、装置和系统 |
CN109176526A (zh) * | 2018-10-08 | 2019-01-11 | 南京信息工程大学 | 一种三轴直角坐标机器人空间圆弧插补方法 |
Also Published As
Publication number | Publication date |
---|---|
DE112019006713B4 (de) | 2023-06-15 |
WO2020151406A1 (zh) | 2020-07-30 |
CN109551485A (zh) | 2019-04-02 |
US11975452B2 (en) | 2024-05-07 |
DE112019006713T5 (de) | 2021-10-28 |
US20220072701A1 (en) | 2022-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109551485B (zh) | 运动控制方法、装置和系统及存储介质 | |
KR102601888B1 (ko) | 구성 종속적인 동역학적 시스템의 진동 제어 | |
Kröger et al. | Literature survey: Trajectory generation in and control of robotic systems | |
JP6501470B2 (ja) | 軌道生成方法、軌道生成装置、ロボット装置、プログラム及び記録媒体 | |
CN109605378B (zh) | 运动参数的处理方法、装置和系统及存储介质 | |
WO2019064916A1 (ja) | ロボットシミュレータ | |
Dolgui et al. | Manipulator motion planning for high-speed robotic laser cutting | |
US12115672B2 (en) | Robot planning | |
JP7151713B2 (ja) | ロボットシミュレータ | |
Rea Minango et al. | Combining the STEP-NC standard and forward and inverse kinematics methods for generating manufacturing tool paths for serial and hybrid robots | |
CN109551484B (zh) | 运动参数的处理方法、装置和系统及存储介质 | |
Polden et al. | Adaptive partial shortcuts: Path optimization for industrial robotics | |
CN110000753B (zh) | 用户交互方法、控制设备及存储介质 | |
CN109807898B (zh) | 运动控制方法、控制设备及存储介质 | |
CN110000775B (zh) | 设备管理方法、控制设备及存储介质 | |
JP2015058493A (ja) | 制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム | |
JP2007136671A (ja) | ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置 | |
CN109551486B (zh) | 运动参数的处理方法、装置和系统及存储介质 | |
Mousavi Mohammadi et al. | A real-time impedance-based singularity and joint-limits avoidance approach for manual guidance of industrial robots | |
US11787054B2 (en) | Robot planning | |
CN109822567B (zh) | 运动参数的处理方法、装置和系统及存储介质 | |
Chettibi et al. | Generation of point to point trajectories for robotic manipulators under electro-mechanical constraints | |
JP6046994B2 (ja) | 制御装置 | |
JP2017164833A (ja) | マニピュレータ装置の制御装置、マニピュレータ装置の制御方法及びマニピュレータ装置の制御プログラム | |
Hwang et al. | Assembly approach for bimanual robots |
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 |