CN115609343A - 一种运动倍率调节方法、装置、计算机设备和存储介质 - Google Patents

一种运动倍率调节方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN115609343A
CN115609343A CN202110793945.3A CN202110793945A CN115609343A CN 115609343 A CN115609343 A CN 115609343A CN 202110793945 A CN202110793945 A CN 202110793945A CN 115609343 A CN115609343 A CN 115609343A
Authority
CN
China
Prior art keywords
multiplying power
time
real
derivative
execution
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
Application number
CN202110793945.3A
Other languages
English (en)
Inventor
韩勇
安杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Tianji Intelligent System Co ltd
Shanghai Fuxi Technology Co ltd
Original Assignee
Guangdong Tianji Intelligent System Co ltd
Shanghai Fuxi Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Tianji Intelligent System Co ltd, Shanghai Fuxi Technology Co ltd filed Critical Guangdong Tianji Intelligent System Co ltd
Priority to CN202110793945.3A priority Critical patent/CN115609343A/zh
Publication of CN115609343A publication Critical patent/CN115609343A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Robotics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Operations Research (AREA)
  • Numerical Control (AREA)

Abstract

本申请涉及一种运动倍率调节方法、装置、计算机设备和存储介质。所述方法包括:获取上一采样时刻中计算得到的历史执行倍率、历史倍率导数、控制设备传输的倍率指令,倍率指令中携带有指令倍率;根据历史执行倍率、历史倍率导数和指令倍率,计算得到相应的实时执行倍率和实时倍率导数;获取运动规划器传输的运动指令,并根据实时执行倍率和实时倍率导数,对运动指令进行插值转换,得到相应的插补运动指令;将插补运动指令传输到伺服驱动器,以由伺服服务器根据接收到的插补运动指令,调整机器设备的运动速度;在进入下一采样时刻时,重复上述步骤继续执行,直到相应采样时刻中求得的实时执行倍率等于获取到的指令倍率时,结束倍率调节。

Description

一种运动倍率调节方法、装置、计算机设备和存储介质
技术领域
本申请涉及倍率控制技术领域,特别是涉及一种运动倍率调节方法、装置、计算机设备和存储介质。
背景技术
在工业机器人或机床应用中,常常需要通过示教器或机床面板来改变运动倍率,并通过改变后的运动倍率调整机器的运动速度。通常情况下,机器以100%的倍率运行,此时,相当于把规划的运动指令直接发送到伺服驱动器,伺服驱动器根据接收到的运动指令,控制机器执行相关的运动;而当倍率不是100%时,则需要对规划的运动指令进行插值之后,再将插值所得的运动指令发送给伺服驱动器。目前,传统的倍率调节一般通过线性插值来实现,该方法虽然能够有效的调整运动倍率,这其也会对运动速度和加速度产生不利的影响,如速度或加速度抖动,存在无法保证运动加速度连续性的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够保证运动加速度连续性的运动倍率调节方法、装置、计算机设备和存储介质。
一种运动倍率调节方法,所述方法包括:
获取在上一采样时刻中计算得到的历史执行倍率、与所述历史执行倍率相适应的历史倍率导数,以及经由控制设备传输的倍率指令,所述倍率指令中携带有指令倍率;
根据所述历史执行倍率、历史倍率导数和指令倍率,对机器设备在当前采样过程中所需执行的执行倍率,以及与所述执行倍率相适应的倍率导数进行计算,得到实时执行倍率和实时倍率导数;
获取经由运动规划器传输的运动指令,并根据所述实时执行倍率和实时倍率导数,对所述运动指令进行插值转换,得到相应的插补运动指令;
将所述插补运动指令传输到伺服驱动器,以由所述伺服服务器根据接收到的所述插补运动指令,调整所述机器设备的运动速度;
在进入下一采样时刻时,将所述实时执行倍率作为在上一采样时刻中计算得到的历史执行倍率,将所述实时倍率导数作为所述历史倍率导数,并返回所述获取在上一采样时刻中计算得到的历史执行倍率、历史倍率导数以及倍率指令的步骤继续执行,直到相应采样时刻中求得的实时执行倍率等于获取到的指令倍率时,结束倍率调节。
一种运动倍率调节装置,所述装置包括:
获取模块,用于获取在上一采样时刻中计算得到的历史执行倍率、与所述历史执行倍率相适应的历史倍率导数,以及经由控制设备传输的倍率指令,所述倍率指令中携带有指令倍率;
计算模块,用于根据所述历史执行倍率、历史倍率导数和指令倍率,对机器设备在当前采样过程中所需执行的执行倍率,以及与所述执行倍率相适应的倍率导数进行计算,得到实时执行倍率和实时倍率导数;
转换模块,用于获取经由运动规划器传输的运动指令,并根据所述实时执行倍率和实时倍率导数,对所述运动指令进行插值转换,得到相应的插补运动指令;
输出模块,用于将所述插补运动指令传输到伺服驱动器,以由所述伺服服务器根据接收到的所述插补运动指令,调整所述机器设备的运动速度;
迭代模块,用于在进入下一采样时刻时,将所述实时执行倍率作为在上一采样时刻中计算得到的历史执行倍率,将所述实时倍率导数作为所述历史倍率导数,并返回所述获取在上一采样时刻中计算得到的历史执行倍率、历史倍率导数以及倍率指令的步骤继续执行,直到相应采样时刻中求得的实时执行倍率等于获取到的指令倍率时,结束倍率调节。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取在上一采样时刻中计算得到的历史执行倍率、与所述历史执行倍率相适应的历史倍率导数,以及经由控制设备传输的倍率指令,所述倍率指令中携带有指令倍率;
根据所述历史执行倍率、历史倍率导数和指令倍率,对机器设备在当前采样过程中所需执行的执行倍率,以及与所述执行倍率相适应的倍率导数进行计算,得到实时执行倍率和实时倍率导数;
获取经由运动规划器传输的运动指令,并根据所述实时执行倍率和实时倍率导数,对所述运动指令进行插值转换,得到相应的插补运动指令;
将所述插补运动指令传输到伺服驱动器,以由所述伺服服务器根据接收到的所述插补运动指令,调整所述机器设备的运动速度;
在进入下一采样时刻时,将所述实时执行倍率作为在上一采样时刻中计算得到的历史执行倍率,将所述实时倍率导数作为所述历史倍率导数,并返回所述获取在上一采样时刻中计算得到的历史执行倍率、历史倍率导数以及倍率指令的步骤继续执行,直到相应采样时刻中求得的实时执行倍率等于获取到的指令倍率时,结束倍率调节。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取在上一采样时刻中计算得到的历史执行倍率、与所述历史执行倍率相适应的历史倍率导数,以及经由控制设备传输的倍率指令,所述倍率指令中携带有指令倍率;
根据所述历史执行倍率、历史倍率导数和指令倍率,对机器设备在当前采样过程中所需执行的执行倍率,以及与所述执行倍率相适应的倍率导数进行计算,得到实时执行倍率和实时倍率导数;
获取经由运动规划器传输的运动指令,并根据所述实时执行倍率和实时倍率导数,对所述运动指令进行插值转换,得到相应的插补运动指令;
将所述插补运动指令传输到伺服驱动器,以由所述伺服服务器根据接收到的所述插补运动指令,调整所述机器设备的运动速度;
在进入下一采样时刻时,将所述实时执行倍率作为在上一采样时刻中计算得到的历史执行倍率,将所述实时倍率导数作为所述历史倍率导数,并返回所述获取在上一采样时刻中计算得到的历史执行倍率、历史倍率导数以及倍率指令的步骤继续执行,直到相应采样时刻中求得的实时执行倍率等于获取到的指令倍率时,结束倍率调节。
上述运动倍率调节方法、装置、计算机设备和存储介质,根据在上一采样时刻中计算得到的历史执行倍率、与历史执行倍率相适应的历史倍率导数、以及基于控制设备传输的倍率指令,进行实时执行倍率和实时倍率导数的计算;其中,实时执行倍率可以理解为实际进行插值的步长,当前根据实时执行倍率和实时倍率导数,对经由运动规划器传输的运动指令进行插值转换,可以保证插补后的运动指令加速度和速度的连续性,避免滤波所导致的超调(即瞬时倍率有可能大于设定值)问题,提高了倍率调节的可靠性,并由此保证了机器运动的柔顺性和平滑性。
附图说明
图1为一个实施例中运动倍率调节方法的应用环境图;
图2为一个实施例中运动倍率调节方法的流程示意图;
图3为一个实施例中计算插补运动指令步骤的流程示意图;
图4为一个实施例中在将运动倍率调节方法应用于相应的处理系统时,该处理系统的系统结构框图;
图5为一个实施例中运动倍率调节方法的总体操作流程图;
图6为一个实施例中指令倍率和运行倍率信号图;
图7为一个实施例中运动指令和插补运动指令的时序图;
图8为一个实施例中运动倍率调节装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的运动倍率调节方法,可以应用于如图1所示的应用环境中。其中,控制设备102、运动规划器104和伺服驱动器106均通过网络与计算机设备108进行通信,且,伺服驱动器106还连接到机器设备110。在任一采样时刻中,首先,将由计算机设备108获取在上一采样时刻中计算得到的历史执行倍率、与历史执行倍率相适应的历史倍率导数,以及经由控制设备102传输的倍率指令,倍率指令中携带有指令倍率。接着,由计算机设备108根据历史执行倍率、历史倍率导数和指令倍率,对机器设备在当前采样过程中所需执行的执行倍率,以及与执行倍率相适应的倍率导数进行计算,得到实时执行倍率和实时倍率导数。接着,由计算机设备108获取经由运动规划器104传输的运动指令,并根据实时执行倍率和实时倍率导数,对运动指令进行插值转换,得到相应的插补运动指令。最后,由计算机设备108将插补运动指令传输到伺服驱动器106,以由伺服服务器106根据接收到的插补运动指令,调整机器设备110的运动速度。其中,在进入下一采样时刻时,由计算机设备108将实时执行倍率作为在上一采样时刻中计算得到的历史执行倍率,将实时倍率导数作为历史倍率导数,并返回获取在上一采样时刻中计算得到的历史执行倍率、历史倍率导数以及倍率指令的步骤继续执行。直到相应采样时刻中求得的实时执行倍率等于获取到的指令倍率时,计算机设备108将结束倍率调节。
需要说明的是,控制设备102可以但不限于是示教器和机床面板。运动规划器104是用来实现机械运动精确的位置控制、速度控制、加速度控制、转矩或力控制的一种设备;运动规划器104按结构分类可分为单片机控制器、独立式运动控制器、基于PC机的运动控制卡和网络控制器。伺服驱动器106是用来控制伺服电机的一种控制器,其作用类似于变频器作用于普通交流马达,属于伺服系统的一部分,主要应用于高精度的定位系统;其一般是通过位置、速度和力矩三种方式对伺服电机进行控制,以实现高精度的传动系统定位。计算机设备108可以为终端或服务器,其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种运动倍率调节方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:
步骤S202,获取在上一采样时刻中计算得到的历史执行倍率、与历史执行倍率相适应的历史倍率导数,以及经由控制设备传输的倍率指令,倍率指令中携带有指令倍率。
其中,控制设备中设有倍率调节模块,倍率指令为用户操作倍率调节模块进行倍率调节时,对应生成的一个指令。指令倍率是指倍率指令中包含的倍率数据。示例性的,如控制设备将倍率打到50%,此时的倍率指令即为0.5,且控制设备将一致保持这个值,直到下一次被改变。
具体的,倍率指令通常由控制设备传输,当计算机设备确定与控制设备之间通信连接正常时,将由计算机设备对经由控制设备传输的倍率指令进行接收,并从倍率指令中解析出指令倍率。
在一个实施例中,控制设备可以为示教器、机床面板中的至少一种。需要说明的是,示教器又叫示教编程器是机器人控制系统的核心部件,是一个用来注册和存储机械运动或处理记忆的设备,该设备是由电子系统或计算机系统执行的。机床面板是数控机床的重要组成部件,是操作人员与数控机床(系统)进行交互的工具,主要有显示装置、键盘、状态灯和手持单元等部分组成。
步骤S204,根据历史执行倍率、历史倍率导数和指令倍率,对机器设备在当前采样过程中所需执行的执行倍率,以及与执行倍率相适应的倍率导数进行计算,得到实时执行倍率和实时倍率导数。
具体地,实时执行倍率通过以下步骤计算得到:根据历史执行倍率、历史倍率导数和预设的采样时间,通过下述公式,对机器设备在当前采样过程中所需执行的执行倍率进行计算,得到实时执行倍率:
Figure BDA0003162107260000061
其中,rs +为实时执行倍率,rs -为历史执行倍率,
Figure BDA0003162107260000062
为历史倍率导数,Ts为采样时间。
在其中一个实施例中,计算机设备基于预设的跟踪微分器,将历史执行倍率、历史倍率(关于时间的)导数和预设的采样时间作为跟踪微分器的输入数据,由跟踪微分器基于上述的公式(1)对输入数据进行处理,得到相应的实时执行倍率。
上述实施例中,实时执行倍率可以理解为实际进行插值的步长,比如上一采样时刻的实时执行倍率为0.2,而当前采样时刻接受到一条倍率为0.5的倍率指令,计算机设备为了要保证运动的连续性,将通过跟踪微分器来控制机器设备的实时执行倍率从0.2连续的变到0.5,而不是直接从0.2跳到0.5,由此,保证了运动的柔顺性和平滑性,避免倍率调节出现超调。
具体的,实时倍率导数通过以下步骤计算得到:根据历史执行倍率、历史倍率导数、指令倍率和预设的采样时间,通过下述公式,计算得到倍率二阶导数:
Figure BDA0003162107260000071
其中,rs -为历史执行倍率,
Figure BDA0003162107260000072
为历史倍率导数,Ts为采样时间,rin为指令倍率,Amax为预设的倍率二阶导数上界,f为倍率二阶导数,fhan(·)为非线性函数;
根据倍率二阶导数f和预设的倍率导数上界Vmax,通过下述公式,计算得到与实时执行倍率相适应的实时倍率导数:
Figure BDA0003162107260000073
其中,
Figure BDA0003162107260000074
为实时倍率导数,sat(·)为饱和函数。
在其中一个实施例中,fhan(x,v,a,h)是一个非线性函数,其主要是用于计算倍率的二阶导数,定义如下:
Figure BDA0003162107260000075
其中,x,v,a,h为所需通过非线性函数进行处理的第一输入参数,sign(·)为符号函数,其能够把函数的符号析离出来。
在一个实施例中,sat(x,u,l)为饱和函数,定义如下:
Figure BDA0003162107260000081
其中,x,u,l为所需通过饱和函数进行处理的第二输入参数。
上述实施例中,通过跟踪微分器来对阶跃变化的倍率进行调节,保证了倍率调节的平滑性和无超调,提高了调节效率,在机器人碰撞检测和安全响应功能上有极大的应用价值。
步骤S206,获取经由运动规划器传输的运动指令,并根据实时执行倍率和实时倍率导数,对运动指令进行插值转换,得到相应的插补运动指令。
具体地,该方法还包括:在相应采样时刻中,从预设的循环缓冲区中按照时间顺序取出两个目标对象;将时间在前的第一目标对象作为第一节点,将时间在后的第二目标对象作为第二节点,将运动时间作为插值变量;根据第一节点与第二节点之间构成的节点区间,在确定计算所得的实时执行倍率大于零,且,插值变量超出节点区间时,通过预设的运动数据双向栈对当前移出的第一节点进行存储;以及,在确定插值变量超出节点范围区间时,通过预设的循环缓冲区,对当前经由运动规划器传输的运动指令进行存储;将第二节点作为新的第一节点,将从循环缓冲区中重新取出的,且,时间在后的第三目标对象作为新的第二节点,并重新确定插值变量;返回到判定实时执行倍率的取值、以及判断插值变量是否超出相应节点区间的步骤继续执行,直到触发相应的迭代结束条件时,停止迭代。
在其中一个实施例中,首先,将由计算机设备基于从运动数据双向栈中取出的正向数据或反向数据,进行节点信息的确定,或,基于当前获取到的运动指令进行节点信息的确定。接着,由计算机设备将该节点信息、实时执行倍率和实时倍率导数作为插补器控制器的输入数据,由该插补器控制器的对输入数据进行Hermite插值转换,以得到相应的插补运动指令。
上述实施例中,在倍率发生阶跃变化时,使用Hermite插值转换对运动数据进行拟合,可以保证插补后的运动指令加速度和速度的连续性,避免滤波所导致的超调(即瞬时倍率有可能大于设定值)问题,提高了倍率调节的可靠性。
步骤S208,将插补运动指令传输到伺服驱动器,以由伺服服务器根据接收到的插补运动指令,调整机器设备的运动速度。
其中,运动指令是指经由运动规划器所规划的运动,当倍率为1时,机器设备实际的运动速度与经由运动规划器规划的运动速度将保持一致;倍率大于1时,机器设备实际的运动速度将大于规划的运动速度;倍率小于1大于0时,机器设备实际的运动速度将小于规划的运动速度;倍率小于零时,机器设备将倒着走。伺服驱动器根据接收到的插补运动指令,将控制机器设备按照插值后的目标插值位置信息、目标速度信息和目标加速度信息来调整机器设备的运动速度,以使得机器设备的运动速度与规划的运动速度保持一致。
步骤S210,在进入下一采样时刻时,将实时执行倍率作为在上一采样时刻中计算得到的历史执行倍率,将实时倍率导数作为历史倍率导数,并返回获取在上一采样时刻中计算得到的历史执行倍率、历史倍率导数以及倍率指令的步骤继续执行,直到相应采样时刻中求得的实时执行倍率等于获取到的指令倍率时,结束倍率调节。
上述运动倍率调节方法中,根据在上一采样时刻中计算得到的历史执行倍率、与历史执行倍率相适应的历史倍率导数、以及基于控制设备传输的倍率指令,进行实时执行倍率和实时倍率导数的计算;其中,实时执行倍率可以理解为实际进行插值的步长,当前根据实时执行倍率和实时倍率导数,对经由运动规划器传输的运动指令进行插值转换,可以保证插补后的运动指令加速度和速度的连续性,避免滤波所导致的超调(即瞬时倍率有可能大于设定值)问题,提高了倍率调节的可靠性,并由此保证了机器运动的柔顺性和平滑性。
在一个实施例中,请参考图3,根据实时执行倍率和实时倍率导数,对运动指令进行插值转换,得到相应的插补运动指令,包括:
步骤S302,当确定循环缓冲区未满,且实时执行倍率大于零时,从运动数据双向栈中进行反向数据的获取,并基于获取到的反向数据进行节点信息的确定;反向数据包括在确定实时执行倍率小于零时,所插值的第一运动指令。
其中,运动数据双向栈指的是有两个栈,共用一个栈顶指针。当运动数据双向栈的栈顶与正向数据栈底重合时就只有反向数据,当运动数据双向栈的栈顶与反向数据栈底重合时就只有正向数据,如果运动数据双向栈的栈顶在两个栈底的中间,则可以认为运动数据双向栈中既存有反向数据,又存有正向数据。正向数据指的是实际倍率大于零所插值的运动指令(数据),此时机器设备的实际运动方向和规划的运动方向相同。反向数据指的是实际倍率小于零所插值的运动指令(数据),此时机器设备的实际运动方向和规划的运动反向相反(倒着走)。
具体的,由计算机设备基于所确定的循环缓冲区的剩余存储空间大小,在确定循环缓冲区未满,且,确定实时执行倍率大于零时,基于运动数据双向栈中,栈顶与两个栈底的相对位置关系,判定运动数据双向栈中是否存在反向数据,并在确定存在反向数据时,进行反向数据的获取,并基于获取到的反向数据进行节点信息的确定。
在其中一个实施例中,若循环缓冲区大小为五条运动指令,则计算机设备在进行指令缓存时,此时若提示缓存失败,则证明循环缓冲区已满,此时,计算机设备将基于获取到节点信息和基于步骤S204计算得到的实时执行倍率及其导数,对当前获取到的运动指令进行插值转换。若提示缓存成功,则由计算机设备对实时执行倍率的取值大小进行判定,在判定实时执行倍率大于零时,从运动数据双向栈中进行反向数据的获取,并基于获取到的反向数据进行节点信息的确定。
上述实施例中,对于机器设备碰撞检测等应用,常常需要机器设备在检测到碰撞后进行回退操作,这就要求运动倍率可以设置为负值,上述基于运动数据双向栈中,栈顶与两个栈底的相对位置关系,进行反向数据的判定,提高了反向数据识别效率,贴合了机器人碰撞检测的应用场景,具有极大的应用价值。
步骤S304,在反向数据获取失败时,基于当前获取到的运动指令进行节点信息的确定。
需要说明的是,当前实施例中,将由计算机设备基于运动数据双向栈中,栈顶与两个栈底的相对位置关系,判定运动数据双向栈中是否存在反向数据,在确认运动数据双向栈的栈顶与正向数据栈底不重合时,即可认为当前反向数据获取失败,需要基于获取到的运动指令进行节点信息的确定。
步骤S306,当确定循环缓冲区未满,且实时执行倍率小于零时,从运动数据双向栈中进行正向数据的获取,并基于获取到的正向数据进行节点信息的确定;正向数据包括在确定实时执行倍率大于零时,所插值的第二运动指令。
具体的,当确定循环缓冲区未满,且实时执行倍率小于零时,由计算机设备基于运动数据双向栈中,栈顶与两个栈底的相对位置关系,在确定运动数据双向栈的栈顶与反向数据栈底重合时,进行正向数据的获取,并基于获取到的正向数据进行节点信息的确定。
在其中一个实施例中,在正向数据获取失败时,即在确定运动数据双向栈的栈顶与反向数据栈底不重合时,输出相应的报错信息。在一个实施例中由计算机设备输出的报错信息,可以通过计算机设备自带的显示屏幕,或通过连接到计算机设备的显示终端,基于该显示屏幕和/或显示终端进行报错信息显示,以提示操作人员进行设备维修以及故障检测。
步骤S308,由预设的插补器控制器根据节点信息、实时执行倍率和实时倍率导数,进行Hermite插值转换,得到相应的插补运动指令。
具体的,节点信息包括插值位置信息、速度信息和加速度信息;由预设的插补器控制器根据节点信息、实时执行倍率和实时倍率导数,进行Hermite插值转换,得到相应的插补运动指令,包括:根据预设的采样时间和节点信息,进行插值多项式系数的计算;确定插值时间,并根据计算得到的插值多项式系数、插值时间、实时执行倍率和实时倍率导数,计算插值后的目标插值位置信息、目标速度信息和目标加速度信息;基于目标插值位置信息、目标速度信息和目标加速度信息进行指令生成,得到相应的插补运动指令。
在其中一个实施例中,根据预设的采样时间和节点信息,进行插值多项式系数的计算,包括:通过下述公式,计算确定相应的插值多项式系数:
Figure BDA0003162107260000121
其中,x0为第一节点的位置信息,v0为第一节点的速度信息,a0为第一节点的加速度信息;x1为第二节点的位置信息,v1为第二节点的速度信息,a1为第二节点的加速度信息;Ts为预设的采样时间;p0~p5为对应求得的插值多项式系数。
在其中一个实施例中,根据计算得到的插值多项式系数、插值时间、实时执行倍率和实时倍率导数,计算插值后的目标插值位置信息、目标速度信息和目标加速度信息,包括:通过下述公式,计算插值后的目标插值位置信息、目标速度信息和目标加速度信息:
Figure BDA0003162107260000122
其中,t为插值时间,其取值范围为[0,Ts];rs +为实时执行倍率,
Figure BDA0003162107260000123
为实时倍率导数;q为目标插值位置信息,qv为目标速度信息,qa为目标加速度信息。
上述实施例中,在倍率发生阶跃变化时,使用Hermite插值转换对运动数据进行拟合,可以保证插补后的运动指令加速度和速度的连续性,避免滤波所导致的超调(即瞬时倍率有可能大于设定值)问题,提高了倍率调节的可靠性。
在将上述任一实施例中公开的运动倍率调节方法,应用于相应的处理系统时,该处理系统的系统结构框图如图4所示,包括示教器、二阶跟踪微分器、五次Hermite插补器、伺服驱动器、运动规划器和循环缓冲区,其中:
(1)示教器,用于传输倍率指令到二阶跟踪微分器。
(2)二阶跟踪微分器,一方面用于对倍率指令进行接收,并获取在上一采样时刻中计算得到的历史执行倍率、与历史执行倍率相适应的历史倍率导数。另一方面,还用于基于根据历史执行倍率、历史倍率导数和指令倍率,进行实时执行倍率和实时倍率导数的计算,并将所得的实时执行倍率和实时倍率导数传输到五次Hermite插补器。
(3)运动规划器,用于传输规划的运动指令。
(4)循环缓冲区,用于对经由运动规划器传输规划的运动指令进行接收、以及存储。
(5)五次Hermite插补器,一方面,用于对实时执行倍率和实时倍率导数进行接收,以及从运动数据双向栈中进行反向运动数据的获取,并在获取失败的时候,从循环缓冲区中取出规划的运动指令,并基于实时执行倍率和实时倍率导数,对当前取出的规划的运动指令进行五次Hermite插值转换,以得到相应的插补运动指令。一方面,还用于将计算所得的插补运动指令传输到伺服驱动器。
(6)伺服驱动器,用于根据接收到的插补运动指令,调整机器设备的运动速度,以使得机器设备的运动速度与规划的运动速度保持一致。
上述实施例中,一方面,提出用跟踪微分器来对阶跃变化的倍率进行调节,从而避免倍率调节出现超调;另一方面提出用五次Hermite插值对规划的运动指令进行拟合,从而避免运动速度和加速度的抖动。此外,上述处理系统支持设定倍率变化的速度和加速度,并支持负倍率即反向运动,贴合了机器人碰撞检测应用场景,在安全响应功能上具有极大的应用价值。
请参考图5,结合图4,上述运动倍率调节方法的总体操作流程,包括以下步骤:
(1)获取指令倍率,并将其作为跟踪微分器的输入,跟踪微分器的输出为执行倍率(实际倍率),其中跟踪微分器可上述公式(1)-公式(3)进一步确定,本申请实施例对此不作详细说明。
(2)判断循环缓冲区是否已满,若已满,则跳转到步骤(3);否则,判断实际倍率是否大于零,若实际倍率大于零,则进一步判断运动数据双向栈内是否存在反向数据;其中,若有,则取反向数据作为五次Hermite插补器的节点信息,否则,取规划的运动指令作为五次Hermite插补器的节点信息。若运行倍率小于零,则判断运动数据双向栈内是否存在正向数据,若有,则取正向数据作为五次Hermite插补器的节点信息,否则,进行报错处理。
(3)根据获取的节点信息和基于步骤(1)计算得到的执行倍率(实际倍率)及其导数,利用五次Hermite插补器计算出输出给伺服驱动器的运动指令,该过程可由上述公式(6)-公式(7)进一步描述,本申请实施例对此不作详细说明。
本发明实施例运行在Linux平台,在本实施例中,采样周期Ts设为1毫秒,跟踪微分器的速度上限Vmax设为5,Amax加速度上限设为50。如图6所示,黑色实线是指令倍率,由图6可知,在第3秒,指令倍率将由1变成0.15,在第7秒,指令倍率将由1变成0.15。黑色虚线为经过二阶跟踪微分器所达到的执行倍率(实际倍率),可以看到,执行倍率在第3秒将由1平滑的无超调的变成0.15,在第7秒将由0.15平滑的无超调的变成1。以第3001个周期为例,此时若此时输入的指令倍率rin为0.15,前一个周期的历史执行倍率rs -为1,前一周期的历史倍率导数
Figure BDA0003162107260000141
为0,在将这些数据带入上述的公式(1)-公式(3)之后,可以计算得到当前周期的实时执行倍率rs +为1,当前周期的实时倍率导数
Figure BDA0003162107260000142
为-0.05。
需要说明的是,由于实时执行倍率rs +为正,并且运动数据双向栈中没有反向数据(因为倍率一直为正,无反向数据产生),根据图5可知,若循环缓冲区未满,则需要一直从运动规划器中取出相应的运动指令,并将取出的运动指令存放到循环缓冲区中,其中,取出的运动指令如图4中黑色实线所示,该实线共持续10秒,存在60000个数据点。当前还是以第3001个周期为例,此时循环缓冲区未满,实时执行倍率rs +为正,运动数据双向栈中没有反向数据,所以,此时需要从运动规划器中取出第3001个运动指令存放到循环缓冲区中。
如图7所示,图7中黑色虚线表示执行的运动指令,在前三秒中,由于倍率为1,五次Hermite插补器插补出的运动指令和规划运动指令几乎相同,所以曲线几乎重合。而在第三秒和第七秒之间,由于执行倍率不为1,所以插补的运动指令和规划的运动指令有很大区别,但是插补后的运动指令仍然是连续的。以第3001周期为例,此时五次Hermite插补器的前一节点为第3000条运动规划指令,其位置x0、速度v0、加速度a0分别为-0.4605、-0.3962和1.071,后一节点为第3001条运动规划指令,其位置x1、速度v1、加速度a1分别为-0.4609、-0.3951和1.073。由于预设的采样时间为1毫秒,故将上述已知数据带入公式(6)之后,所得的五次多项式系数p0~p5分别为:-0.4605、-0.3962、0.5353、-4.3936、7323.5和-292953.6。由于,此时插值时间t为0.001,实时执行倍率rs +为1,实时倍率导数
Figure BDA0003162107260000151
为-0.05,基于公式(7)可以计算得出插补后的目标插值位置位置q、目标速度速度qv、目标加速度qa分别为-0.4609、-0.3951和1.019。
上述实施例充分说明本申请的运动倍率调节方法可以平滑的无超调的对倍率进行改变,并且在这个过程中将保证运动加速度和速度的连续性;此外,本申请的运动倍率调节方法可以很方便的设置倍率变化的速度和加速度,有效提高了倍率调节效率。
应该理解的是,虽然图2-3和图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3和图5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种运动倍率调节装置装置800,包括:获取模块801、计算模块802、转换模块803、输出模块804和迭代模块805,其中:
获取模块801,用于获取在上一采样时刻中计算得到的历史执行倍率、与历史执行倍率相适应的历史倍率导数,以及经由控制设备传输的倍率指令,倍率指令中携带有指令倍率。
计算模块802,用于根据历史执行倍率、历史倍率导数和指令倍率,对机器设备在当前采样过程中所需执行的执行倍率,以及与执行倍率相适应的倍率导数进行计算,得到实时执行倍率和实时倍率导数。
转换模块803,用于获取经由运动规划器传输的运动指令,并根据实时执行倍率和实时倍率导数,对运动指令进行插值转换,得到相应的插补运动指令。
输出模块804,用于将插补运动指令传输到伺服驱动器,以由伺服服务器根据接收到的插补运动指令,调整机器设备的运动速度。
迭代模块805,用于在进入下一采样时刻时,将实时执行倍率作为在上一采样时刻中计算得到的历史执行倍率,将实时倍率导数作为历史倍率导数,并返回获取在上一采样时刻中计算得到的历史执行倍率、历史倍率导数以及倍率指令的步骤继续执行,直到相应采样时刻中求得的实时执行倍率等于获取到的指令倍率时,结束倍率调节。
在其中一个实施例中,计算模块802还用于根据历史执行倍率、历史倍率导数和预设的采样时间,通过下述公式,对机器设备在当前采样过程中所需执行的执行倍率进行计算,得到实时执行倍率:
Figure BDA0003162107260000161
其中,rs +为实时执行倍率,rs -为历史执行倍率,
Figure BDA0003162107260000162
为历史倍率导数,Ts为采样时间。
在其中一个实施例中,计算模块802还用于根据历史执行倍率、历史倍率导数、指令倍率和预设的采样时间,通过下述公式,计算得到倍率二阶导数:
Figure BDA0003162107260000163
其中,rs -为历史执行倍率,
Figure BDA0003162107260000164
为历史倍率导数,Ts为采样时间,rin为指令倍率,Amax为预设的倍率二阶导数上界,f为倍率二阶导数,fhan(·)为非线性函数;
根据倍率二阶导数f和预设的倍率导数上界Vmax,通过下述公式,计算得到与实时执行倍率相适应的实时倍率导数:
Figure BDA0003162107260000165
其中,
Figure BDA0003162107260000166
为实时倍率导数,sat(·)为饱和函数。
在其中一个实施例中,该装置800还包括缓存模块,其中:
缓存模块,用于在相应采样时刻中,从预设的循环缓冲区中按照时间顺序取出两个目标对象;将时间在前的第一目标对象作为第一节点,将时间在后的第二目标对象作为第二节点,将运动时间作为插值变量;根据第一节点与第二节点之间构成的节点区间,在确定计算所得的实时执行倍率大于零,且,插值变量超出节点区间时,通过预设的运动数据双向栈对当前移出的第一节点进行存储;以及,在确定插值变量超出节点范围区间时,通过预设的循环缓冲区,对当前经由运动规划器传输的运动指令进行存储;将第二节点作为新的第一节点,将从循环缓冲区中重新取出的,且,时间在后的第三目标对象作为新的第二节点,并重新确定插值变量;返回到判定实时执行倍率的取值、以及判断插值变量是否超出相应节点区间的步骤继续执行,直到触发相应的迭代结束条件时,停止迭代。
在其中一个实施例中,转换模块803还用于当确定循环缓冲区未满,且实时执行倍率大于零时,从运动数据双向栈中进行反向数据的获取,并基于获取到的反向数据进行节点信息的确定;反向数据包括在确定实时执行倍率小于零时,所插值的第一运动指令;在反向数据获取失败时,基于当前获取到的运动指令进行节点信息的确定;当确定循环缓冲区未满,且实时执行倍率小于零时,从运动数据双向栈中进行正向数据的获取,并基于获取到的正向数据进行节点信息的确定;正向数据包括在确定实时执行倍率大于零时,所插值的第二运动指令;由预设的插补器控制器根据节点信息、实时执行倍率和实时倍率导数,进行Hermite插值转换,得到相应的插补运动指令。
在其中一个实施例中,节点信息包括插值位置信息、速度信息和加速度信息;转换模块803还用于根据预设的采样时间和节点信息,进行插值多项式系数的计算;确定插值时间,并根据计算得到的插值多项式系数、插值时间、实时执行倍率和实时倍率导数,计算插值后的目标插值位置信息、目标速度信息和目标加速度信息;基于目标插值位置信息、目标速度信息和目标加速度信息进行指令生成,得到相应的插补运动指令。
在其中一个实施例中,转换模块803还用于通过下述公式,计算确定相应的插值多项式系数:
Figure BDA0003162107260000181
其中,x0为第一节点的位置信息,v0为第一节点的速度信息,a0为第一节点的加速度信息;x1为第二节点的位置信息,v1为第二节点的速度信息,a1为第二节点的加速度信息;Ts为预设的采样时间;p0~p5为对应求得的插值多项式系数。
在其中一个实施例中,转换模块803还用于通过下述公式,计算插值后的目标插值位置信息、目标速度信息和目标加速度信息:
Figure BDA0003162107260000182
其中,t为插值时间,其取值范围为[0,Ts];rs +为实时执行倍率,
Figure BDA0003162107260000183
为实时倍率导数;q为目标插值位置信息,qv为目标速度信息,qa为目标加速度信息。
上述运动倍率调节装置,根据在上一采样时刻中计算得到的历史执行倍率、与历史执行倍率相适应的历史倍率导数、以及基于控制设备传输的倍率指令,进行实时执行倍率和实时倍率导数的计算;其中,实时执行倍率可以理解为实际进行插值的步长,当前根据实时执行倍率和实时倍率导数,对经由运动规划器传输的运动指令进行插值转换,可以保证插补后的运动指令加速度和速度的连续性,避免滤波所导致的超调(即瞬时倍率有可能大于设定值)问题,提高了倍率调节的可靠性,并由此保证了机器运动的柔顺性和平滑性。
关于运动倍率调节装置的具体限定可以参见上文中对于运动倍率调节方法的限定,在此不再赘述。上述运动倍率调节装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端或服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和通信接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种运动倍率调节方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
上述计算机设备,根据在上一采样时刻中计算得到的历史执行倍率、与历史执行倍率相适应的历史倍率导数、以及基于控制设备传输的倍率指令,进行实时执行倍率和实时倍率导数的计算;其中,实时执行倍率可以理解为实际进行插值的步长,当前根据实时执行倍率和实时倍率导数,对经由运动规划器传输的运动指令进行插值转换,可以保证插补后的运动指令加速度和速度的连续性,避免滤波所导致的超调(即瞬时倍率有可能大于设定值)问题,提高了倍率调节的可靠性,并由此保证了机器运动的柔顺性和平滑性。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
上述存储介质,根据在上一采样时刻中计算得到的历史执行倍率、与历史执行倍率相适应的历史倍率导数、以及基于控制设备传输的倍率指令,进行实时执行倍率和实时倍率导数的计算;其中,实时执行倍率可以理解为实际进行插值的步长,当前根据实时执行倍率和实时倍率导数,对经由运动规划器传输的运动指令进行插值转换,可以保证插补后的运动指令加速度和速度的连续性,避免滤波所导致的超调(即瞬时倍率有可能大于设定值)问题,提高了倍率调节的可靠性,并由此保证了机器运动的柔顺性和平滑性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种运动倍率调节方法,其特征在于,所述方法包括:
获取在上一采样时刻中计算得到的历史执行倍率、与所述历史执行倍率相适应的历史倍率导数,以及经由控制设备传输的倍率指令,所述倍率指令中携带有指令倍率;
根据所述历史执行倍率、历史倍率导数和指令倍率,对机器设备在当前采样过程中所需执行的执行倍率,以及与所述执行倍率相适应的倍率导数进行计算,得到实时执行倍率和实时倍率导数;
获取经由运动规划器传输的运动指令,并根据所述实时执行倍率和实时倍率导数,对所述运动指令进行插值转换,得到相应的插补运动指令;
将所述插补运动指令传输到伺服驱动器,以由所述伺服服务器根据接收到的所述插补运动指令,调整所述机器设备的运动速度;
在进入下一采样时刻时,将所述实时执行倍率作为在上一采样时刻中计算得到的历史执行倍率,将所述实时倍率导数作为所述历史倍率导数,并返回所述获取在上一采样时刻中计算得到的历史执行倍率、历史倍率导数以及倍率指令的步骤继续执行,直到相应采样时刻中求得的实时执行倍率等于获取到的指令倍率时,结束倍率调节。
2.根据权利要求1所述的方法,其特征在于,所述实时执行倍率通过以下步骤计算得到:
根据所述历史执行倍率、历史倍率导数和预设的采样时间,通过下述公式,对机器设备在当前采样过程中所需执行的执行倍率进行计算,得到实时执行倍率:
Figure FDA0003162107250000011
其中,
Figure FDA0003162107250000012
为实时执行倍率,
Figure FDA0003162107250000013
为历史执行倍率,
Figure FDA0003162107250000014
为历史倍率导数,Ts为采样时间。
3.根据权利要求1所述的方法,其特征在于,所述实时倍率导数通过以下步骤计算得到:
根据所述历史执行倍率、历史倍率导数、指令倍率和预设的采样时间,通过下述公式,计算得到倍率二阶导数:
Figure FDA0003162107250000021
其中,
Figure FDA0003162107250000022
为历史执行倍率,
Figure FDA0003162107250000023
为历史倍率导数,Ts为采样时间,rin为指令倍率,Amax为预设的倍率二阶导数上界,f为倍率二阶导数,fhan(·)为非线性函数;
根据所述倍率二阶导数f和预设的倍率导数上界Vmax,通过下述公式,计算得到与所述实时执行倍率相适应的实时倍率导数:
Figure FDA0003162107250000024
其中,
Figure FDA0003162107250000025
为实时倍率导数,sat(·)为饱和函数。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在相应采样时刻中,从预设的循环缓冲区中按照时间顺序取出两个目标对象;
将时间在前的第一目标对象作为第一节点,将时间在后的第二目标对象作为第二节点,将运动时间作为插值变量;
根据所述第一节点与所述第二节点之间构成的节点区间,在确定计算所得的实时执行倍率大于零,且,所述插值变量超出所述节点区间时,通过预设的运动数据双向栈对当前移出的第一节点进行存储;以及,在确定所述插值变量超出所述节点范围区间时,通过预设的循环缓冲区,对当前经由运动规划器传输的运动指令进行存储;
将所述第二节点作为新的第一节点,将从所述循环缓冲区中重新取出的,且,时间在后的第三目标对象作为新的第二节点,并重新确定插值变量;
返回到判定实时执行倍率的取值、以及判断所述插值变量是否超出相应节点区间的步骤继续执行,直到触发相应的迭代结束条件时,停止迭代。
5.根据权利要求4所述的方法,其特征在于,所述根据所述实时执行倍率和实时倍率导数,对所述运动指令进行插值转换,得到相应的插补运动指令,包括:
当确定所述循环缓冲区未满,且所述实时执行倍率大于零时,从所述运动数据双向栈中进行反向数据的获取,并基于获取到的反向数据进行节点信息的确定;所述反向数据包括在确定所述实时执行倍率小于零时,所插值的第一运动指令;
在反向数据获取失败时,基于当前获取到的运动指令进行节点信息的确定;
当确定所述循环缓冲区未满,且所述实时执行倍率小于零时,从所述运动数据双向栈中进行正向数据的获取,并基于获取到的正向数据进行节点信息的确定;所述正向数据包括在确定所述实时执行倍率大于零时,所插值的第二运动指令;
由预设的插补器控制器根据所述节点信息、所述实时执行倍率和实时倍率导数,进行Hermite插值转换,得到相应的插补运动指令。
6.根据权利要求5所述的方法,其特征在于,所述节点信息包括插值位置信息、速度信息和加速度信息;所述由预设的插补器控制器根据所述节点信息、所述实时执行倍率和实时倍率导数,进行Hermite插值转换,得到相应的插补运动指令,包括:
根据预设的采样时间和所述节点信息,进行插值多项式系数的计算;
确定插值时间,并根据计算得到的插值多项式系数、插值时间、实时执行倍率和实时倍率导数,计算插值后的目标插值位置信息、目标速度信息和目标加速度信息;
基于所述目标插值位置信息、目标速度信息和目标加速度信息进行指令生成,得到相应的插补运动指令。
7.根据权利要求6所述的方法,其特征在于,所述根据预设的采样时间和所述节点信息,进行插值多项式系数的计算,包括:
通过下述公式,计算确定相应的插值多项式系数:
Figure FDA0003162107250000031
其中,x0为第一节点的位置信息,v0为第一节点的速度信息,a0为第一节点的加速度信息;x1为第二节点的位置信息,v1为第二节点的速度信息,a1为第二节点的加速度信息;Ts为预设的采样时间;p0~p5为对应求得的插值多项式系数;
所述根据计算得到的插值多项式系数、插值时间、实时执行倍率和实时倍率导数,计算插值后的目标插值位置信息、目标速度信息和目标加速度信息,包括:
通过下述公式,计算插值后的目标插值位置信息、目标速度信息和目标加速度信息:
Figure FDA0003162107250000041
其中,t为插值时间,其取值范围为[0,Ts];
Figure FDA0003162107250000042
为实时执行倍率,
Figure FDA0003162107250000043
为实时倍率导数;q为目标插值位置信息,qv为目标速度信息,qa为目标加速度信息。
8.一种运动倍率调节装置,其特征在于,所述装置包括:
获取模块,用于获取在上一采样时刻中计算得到的历史执行倍率、与所述历史执行倍率相适应的历史倍率导数,以及经由控制设备传输的倍率指令,所述倍率指令中携带有指令倍率;
计算模块,用于根据所述历史执行倍率、历史倍率导数和指令倍率,对机器设备在当前采样过程中所需执行的执行倍率,以及与所述执行倍率相适应的倍率导数进行计算,得到实时执行倍率和实时倍率导数;
转换模块,用于获取经由运动规划器传输的运动指令,并根据所述实时执行倍率和实时倍率导数,对所述运动指令进行插值转换,得到相应的插补运动指令;
输出模块,用于将所述插补运动指令传输到伺服驱动器,以由所述伺服服务器根据接收到的所述插补运动指令,调整所述机器设备的运动速度;
迭代模块,用于在进入下一采样时刻时,将所述实时执行倍率作为在上一采样时刻中计算得到的历史执行倍率,将所述实时倍率导数作为所述历史倍率导数,并返回所述获取在上一采样时刻中计算得到的历史执行倍率、历史倍率导数以及倍率指令的步骤继续执行,直到相应采样时刻中求得的实时执行倍率等于获取到的指令倍率时,结束倍率调节。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202110793945.3A 2021-07-14 2021-07-14 一种运动倍率调节方法、装置、计算机设备和存储介质 Pending CN115609343A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110793945.3A CN115609343A (zh) 2021-07-14 2021-07-14 一种运动倍率调节方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110793945.3A CN115609343A (zh) 2021-07-14 2021-07-14 一种运动倍率调节方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN115609343A true CN115609343A (zh) 2023-01-17

Family

ID=84856159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110793945.3A Pending CN115609343A (zh) 2021-07-14 2021-07-14 一种运动倍率调节方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN115609343A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116243658A (zh) * 2023-03-15 2023-06-09 上海铼钠克数控科技有限公司 数控系统控制方法及应用

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116243658A (zh) * 2023-03-15 2023-06-09 上海铼钠克数控科技有限公司 数控系统控制方法及应用
CN116243658B (zh) * 2023-03-15 2023-10-03 上海铼钠克数控科技有限公司 数控系统控制方法及应用

Similar Documents

Publication Publication Date Title
US10386794B2 (en) Control device, storage medium, and control system by creating internal model of control target
US6861814B2 (en) Control parameter automatic adjustment apparatus
US20180257227A1 (en) Robot for controlling learning in view of operation in production line, and method of controlling the same
EP3173883A1 (en) Correction device, correction device controlling method, information processing program, and recording medium
US7863851B2 (en) Closed loop stepper motor control
US10632615B2 (en) Servo driving method, apparatus, and robot thereof
JPS59111502A (ja) ロボツト制御装置
CN107561933B (zh) 速度调节方法、装置、计算机设备和存储介质
CN115609343A (zh) 一种运动倍率调节方法、装置、计算机设备和存储介质
US20190022861A1 (en) Control device, method of controlling control device, and recording medium
US10684594B2 (en) Machine learning device, servo motor controller, servo motor control system, and machine learning method
CN109067284B (zh) 一种基于滤波误差的电机控制方法及装置
Lam et al. Multi-axis model predictive contouring control
WO2020162199A1 (ja) 制御装置、モデル作成方法および制御プログラム
US11754992B2 (en) Control device and control program
US11185983B2 (en) Position control method for servo, computer readable storage medium, and robot
CN109067288B (zh) 一种基于电流环的电机控制方法及装置
EP3904998A1 (en) Synchronous control device, synchronous control system, synchronous control method, and simulation device
US10354683B2 (en) Servo control method having first and second trajectory generation units
JPH02148111A (ja) ロボットの制御方法及びその装置
JPH10323070A (ja) モータ制御装置
WO2020162202A1 (ja) 制御装置および制御プログラム
CN114102596B (zh) 运动机构的运动控制方法、装置、电子设备及介质
CN108000520A (zh) 机器人的运动控制方法及系统
US20240165816A1 (en) Streaming input buffer for real-time robotic control

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