CN113467360A - 控制器系统以及其控制方法 - Google Patents
控制器系统以及其控制方法 Download PDFInfo
- Publication number
- CN113467360A CN113467360A CN202110142907.1A CN202110142907A CN113467360A CN 113467360 A CN113467360 A CN 113467360A CN 202110142907 A CN202110142907 A CN 202110142907A CN 113467360 A CN113467360 A CN 113467360A
- Authority
- CN
- China
- Prior art keywords
- control
- target
- variable
- distance
- calculated
- 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
Images
Classifications
-
- 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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- 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/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15106—High speed limited function sub plc together with slow speed general
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Control Of Position Or Direction (AREA)
- Manipulator (AREA)
Abstract
本发明提供一种在控制对象连续通过多个通过点时能够适当地控制运行速度的控制器系统以及其控制方法。控制器系统包括:设定部,对已预先设定了通过顺序的多个通过点的位置进行设定;轨迹设定部,利用依据第一变量的分段多项式,来设定控制对象连续通过多个通过点的各通过点间的指令轨迹;以及指令值算出部,基于与设为对象的指令轨迹对应的分段多项式,来算出每个控制周期的控制对象的目标指令值。指令值算出部包括:距离算出部,算出每个控制周期的相对于指令控制速度的目标移动距离;以及变量调整部,调整每个控制周期的第一变量的变动量,以使所算出的目标移动距离为固定。
Description
技术领域
本公开涉及一种对控制对象进行控制的控制器系统以及其控制方法。
背景技术
对于各种设备及配置于各设备中的各种装置的控制,使用可编程逻辑控制器(Programmable Logic Controller,PLC)等控制装置。
例如,日本专利特开2000-137506号公报(专利文献1)中公开了一种方法:对机器人的运行进行控制的控制装置将依据指令轨迹的指令值输出至各伺服,以控制机器人的运行。
[现有技术文献]
[专利文献]
[专利文献1]日本专利特开2000-137506号公报
发明内容
[发明所要解决的问题]
在对检查多个通过点的机器人的运行进行控制的情况下,要提高检查效率,重点是使机器人的运行不在多个通过点停止而连续地运行。
另一方面,作为机器人的运行,重点是不仅要连续地运行,而且运行速度也要适当地控制。
本公开是为了解决所述问题而完成,涉及一种在控制对象连续通过多个通过点时能够适当地控制运行速度的控制器系统以及其控制方法。
[解决问题的技术手段]
一方面的控制器系统包括:设定部,对已预先设定了通过顺序的多个通过点的位置进行设定;轨迹设定部,利用依据第一变量的分段多项式,来设定控制对象连续通过多个通过点的各通过点间的指令轨迹;以及指令值算出部,基于与设为对象的指令轨迹对应的分段多项式,来算出每个控制周期的控制对象的目标指令值。指令值算出部包括:距离算出部,算出每个控制周期的相对于指令控制速度的目标移动距离;以及变量调整部,调整每个控制周期的第一变量的变动量,以使所算出的目标移动距离为固定。
根据此结构,指令值算出部算出每个控制周期的相对于指令控制速度的目标移动距离,并调整每个控制周期的第一变量的变动量,以使所算出的目标移动距离为固定。由此,能够将每个控制周期的目标移动距离设为一定而适当地控制运行速度。
优选的是,第一变量在0~1之间变化。
根据此结构,能够避免轨迹移动速度根据通过点间的距离而变动的现象,从而能够将每个控制周期的目标移动距离设为固定而适当地控制运行速度。
优选的是,分段多项式为三次埃尔米特曲线(Hermite curve)。
根据此结构,通过使用三次埃尔米特曲线,能够设定平滑的曲线轨迹。
优选的是,变量调整部基于所算出的目标移动距离来设定成为第一变量的基准的基准变动量,并基于基准变动量来至少一次算出基于分段多项式的控制对象的坐标,并算出前次的控制周期内的控制对象的坐标、与基于基准变动量而算出的控制对象的坐标之间的距离,基于所算出的相对于基准变动量的距离与目标移动距离的比较,来调整每个控制周期的第一变量的变动量。
根据此结构,通过使用基准变动量来算出与试算点的距离,从而调整每个控制周期的第一变量的变动量,因此能够有效地调整第一变量的变动量。
优选的是,变量调整部多次算出基于每个基准变动量的分段多项式的、控制对象的坐标,并算出每个基准变动量的控制对象的坐标间的各距离,基于每个基准变动量的控制对象的坐标间的距离的合计与目标移动距离,来修正成为第一变量的基准的基准变动量。
根据此结构,通过修正基准变动量,并使用经修正的基准变动量来算出与试算点的距离,从而能够调整为高精度的每个控制周期的第一变量的变动量。
优选的是,变量调整部比较每个基准变动量的控制对象的坐标间的距离的合计与目标移动距离,当每个基准变动量的控制对象的坐标间的距离的合计为目标移动距离以上时,算出相对于目标移动距离的第一变量的变动量。
根据此结构,使用基准变动量来算出与试算点的距离的合计,通过与目标移动距离的比较,调整每个控制周期的第一变量的变动量,因此能够有效地调整第一变量的变动量。
优选的是,变量调整部基于设为对象的指令轨迹的通过点间的距离、目标移动距离与分割系数,来设定基准变动量。
根据此结构,能够通过分割系数来调整基准变动量,因此能够调整为高精度的每个控制周期的第一变量的变动量。
一方面的控制器系统的控制方法包括下述步骤:对已预先设定了通过顺序的多个通过点的位置进行设定;利用依据第一变量的分段多项式,来设定控制对象连续通过多个通过点的各通过点间的指令轨迹;以及基于与设为对象的指令轨迹对应的分段多项式,来算出每个控制周期的控制对象的目标指令值。算出目标指令值的步骤包括下述步骤:算出每个控制周期的相对于指令控制速度的目标移动距离;以及调整每个控制周期的第一变量的变动量,以使算出的目标移动距离为固定。
根据此结构,指令值算出部算出每个控制周期的相对于指令控制速度的目标移动距离,并调整每个控制周期的第一变量的变动量,以使所算出的目标移动距离为固定。由此,能够将每个控制周期的目标移动距离设为固定而适当地控制运行速度。
另外,本公开中,所谓“部”及“装置”,并非简单地指物理部件,也包含通过软件来实现所述“部”及“装置”所具有的功能的结构。而且,一个“部”及“装置”所具有的功能也可通过两个以上的物理部件或装置来实现,或者,两个以上的“部”及“装置”的功能也可通过一个物理部件或装置来实现。进而,所谓“部”及“装置”,例如是也能与“部件”及“系统”改换说法的概念。
[发明的效果]
根据本公开的控制器系统以及其控制方法,在控制对象连续通过多个通过点时能够适当地控制运行速度。
附图说明
图1的(A)及图1的(B)是表示实施方式的检查(review)控制系统1的应用例的示意图。
图2是说明实施方式的驱动装置2的具体结构的图。
图3是示意性地表示实施方式的控制装置100的硬件结构的一例的平面图。
图4是说明实施方式的控制装置100的功能结构的图。
图5是对实施方式的速度矢量的设定进行说明的图。
图6是对实施方式的轨迹设定部35与伺服指令控制部40的关系进行说明的图。
图7是说明实施方式的伺服指令控制部40所输出的位置坐标的图。
图8的(A)及图8的(B)是作为比较例而说明作为指令轨迹的三次埃尔米特曲线的轨迹移动速度及参数t的图。
图9的(A)及图9的(B)是说明实施方式的作为指令轨迹的三次埃尔米特曲线的轨迹移动速度及参数t的图。
图10是说明实施方式的第一次试算处理的图。
图11的(A)至图11的(C)是对实施方式的参数t的基准变动量的修正进行说明的图。
图12是说明实施方式的第二次试算处理的图。
图13是说明实施方式的第三次试算处理的图。
图14是对实施方式的设定有十四个通过点时的模拟例进行说明的图。
图15是对实施方式的通过坐标及三次多项式的系数进行说明的图。
图16是说明实施方式的跟踪轨迹的图。
图17是说明实施方式的指令速度的波形的图。
[符号的说明]
1:检查控制系统
2:驱动装置
20:拍摄装置
30:设定部
35:轨迹设定部
40:伺服指令控制部
42:距离算出部
44:变量调整部
50:触发指令控制部
100:控制装置
101:控制运算部
102:通信I/F部
103:存储部
104:输入部
105:输出部
106:总线线路
具体实施方式
一边参照附图,一边详细说明本发明的实施方式。另外,对于图中的相同或相当的部分,标注相同的符号并不再重复其说明。
以下,将图1的(A)及图1的(B)那样的两轴(X轴、Y轴)结构的同步群组(相当于“多个伺服马达”以及包含与它们对应的“多个伺服驱动器”的多个伺服控制设备)作为前提来进行说明,但本实施方式的同步群组只要是包含两轴以上的伺服控制设备和一个以上的触发控制设备的结构即可。以下,对象物是在图1的(A)及图1的(B)那样的两轴(X轴、Y轴)上移动,但对象物的移动形态也可为三轴以上。
<A.适用例>
首先,对适用本发明的场景的一例进行说明。
图1的(A)及图1的(B)是表示实施方式的检查控制系统1的应用例的示意图。
图1的(A)及图1的(B)中表示了对平板显示器FPD进行检查的检查控制系统1。
检查控制系统1中设有驱动装置2与拍摄装置20。
驱动装置2是设置成,可移动至各轴方向的任意位置。另外,本例中,对在X轴、Y轴上移动的情况进行说明。
在驱动装置2的前端,设有拍摄装置20,通过对驱动装置2进行驱动,利用拍摄装置20来再次检查已预先进行了检测的平板显示器(Flat Panel Display)FPD的缺陷部分。具体而言,在所述位置利用拍摄装置20进行拍摄。
图2是说明实施方式的驱动装置2的具体结构的图。
如图2所示,驱动装置2由构成三轴的多个伺服马达、与包含跟各伺服马达对应的伺服驱动器的伺服控制设备来进行驱动,以移动到拍摄检查的对象物(平板显示器FPD的缺陷部分)的位置,利用作为触发控制设备的拍摄装置20来拍摄所述位置的对象物(平板显示器FPD的缺陷部分)。
再次参照图1的(A)及图1的(B),本例中,在平板显示器FPD预先表示了四个缺陷部分(通过点)。并且,假设已预先设定了缺陷部分(通过点)的通过顺序。
检查控制系统1设定通过多个缺陷部分(通过点)的平滑的指令曲线。拍摄装置20在通过缺陷部分(通过点)时拍摄所述位置。
检查控制系统1基于所设定的指令曲线来控制驱动装置2,由此能够不中断地拍摄缺陷部分(通过点)。
由此,能够实现平板显示器的检查速度的提高。
另外,图1的(A)及图1的(B)所示的检查控制系统1能够应用于任意应用。
本实施方式的检查控制系统1对于将多个设备组合而成的应用,也能够利用一个控制装置来进行控制。
另外,并不限于平板显示器,也同样能够适用于各种半导体。
<B.结构例>
[硬件结构]
接下来,对本实施方式的控制装置100的硬件结构的一例进行说明。
图3是示意性地表示实施方式的控制装置100的硬件结构的一例的平面图。
参照图3,控制装置100连接于图1的(A)及图1的(B)与图2所例示的驱动装置2及拍摄装置20,且包含控制运算部101、通信接口(Interface,I/F)部102、存储部103、输入部104及输出部105,各部可经由总线线路(bus line)106而能够彼此通信地连接。
控制运算部101包含中央处理器(Central Processing Unit,CPU)、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)等,根据信息处理来进行各构成元件的控制及各种运算。
通信I/F部102例如是用于通过有线或无线来与作为其他构成元件的“部”及“装置”进行通信的通信模块。通信I/F部102用于通信的通信方式为任意,例如可列举局域网(Local Area Network,LAN)或通用串行总线(Universal Serial Bus,USB)等,也能够适用与总线线路106同等的适当的通信线。
驱动装置2及拍摄装置20可经由通信I/F部102而与控制运算部101等能够通信地设置。
存储部103例如是硬盘驱动器(Hard Disk Drive,HDD)、固态硬盘(Solid StateDrive,SSD)等辅助存储装置,存储由控制运算部101所执行的各种程序(用于执行各种处理的运算程序、以及用于进行驱动装置2及拍摄装置20的运行的控制处理的控制程序等)、包含校正条件、测定条件、图像处理条件(对象物的识别参数等)的数据库、从拍摄装置20输出的拍摄图像(测定数据)、图像处理结果的数据、对象物的三维模型数据等。这样,通过由控制运算部101来执行存储在存储部103中的运算程序及控制程序,从而实现后述的功能结构例中的各种处理功能。
输入部104是用于对来自利用驱动装置2、拍摄装置20及控制装置100的用户的各种输入操作进行受理的接口设备,例如可利用鼠标、键盘、触控面板、语音麦克风等来实现。输出部105是用于将各种信息通过其显示、语音输出、打印输出等而告知给利用驱动装置2、拍摄装置20及控制装置100的用户等的接口设备,例如可利用显示器、扬声器、打印机等来实现。
[功能结构]
图4是说明实施方式的控制装置100的功能结构的图。
参照图4,控制装置100的控制运算部101将存储在存储部103中的各种程序(控制程序及运算程序等)展开到RAM中,通过CPU来解释及执行所述的各种程序,从而控制各构成元件。由此,如图4所例示的那样,本实施方式的控制装置100可实现包括设定部30、轨迹设定部35、伺服指令控制部40以及触发指令控制部50的结构。
设定部30设定已预先设定了通过顺序的多个通过点的位置。
轨迹设定部35设定控制对象连续通过多个通过点的各通过点间的指令轨迹。
伺服指令控制部40输出基于所设定的指令轨迹来控制驱动装置2的运行的指令信号。
触发指令控制部50依据多个通过点的位置来对拍摄装置20输出拍摄指令信号。
另外,本实施方式中,对利用控制装置100所实现的各功能是通过通用的CPU来实现的示例进行了说明,但以上的功能的一部分或全部也可通过一个或多个专用的处理器或专用电路(例如专用集成电路(Application Specific Integrated Circuit,ASIC)或现场可编程门阵列(Field-Programmable Gate Array,FPGA)等)来实现。进而,也可使一部分处理由经网络连接的外部装置来负责。而且,控制装置100的功能结构当然也可根据实施方式或结构例而适当地进行功能的省略、替换及追加。而且,所谓“控制装置”,可理解为一般的信息处理装置(例如计算机、工作站(work station)等)。
[运行例]
对利用本公开的一实施方式的控制装置100的一例而实现的控制方法进行说明。
对指令轨迹的算出方式进行说明。
作为一例,对连续通过预先设定了顺序的多个通过点的指令轨迹的算出进行说明。
作为一例,若利用x坐标、y坐标的三次多项式来定义所指定的通过点(P1,P2…Pn)的(P1-P2,P2-P3,…Pn-1-Pn)的点间的轨迹,则以下述式(1)来表示。
[数1]
※Pi(xi,yi):通过点坐标
i:通过顺序(1≦i≦n)
t:参数(1≦t≦1)
并且,作为满足下述两个条件的三次曲线式,以埃尔米特曲线来进行定义。
具体而言,为:通过所设定的通过点的坐标;以及在各通过点的边界及曲线中途,轨迹是连续的。
基于所述条件的埃尔米特曲线以下述式(2)来表示。
[数2]
Pi-1-Pi间的埃尔米特曲线式
埃尔米特曲线是基于起点位置、起点速度矢量、终点位置、终点速度矢量这四个参数来设定。
因此,在t=0时处于起点位置,在t=1时处于终点位置,因此将通过点的坐标设定为起点位置、终点位置的参数。
[数3]
作为将埃尔米特曲线连续地相连的方法,使用卡特穆隆样条(Catmull-RomSpline)。具体而言,本例中,为了确保各通过点处的位置及速度的连续性,将速度矢量设定为在通过点的前后一致。
图5是对实施方式的速度矢量的设定进行说明的图。
如图5所示,具体而言,在通过点P2处,对指令轨迹Q1的曲线式的终点速度矢量与指令轨迹Q2的曲线式的起点速度矢量设定相同的矢量。
由此,能够设定连续通过预先设定了顺序的多个通过点的指令轨迹。
具体而言,设定各通过点间的每一个的区间多项式即三次埃尔米特曲线。
图6是对实施方式的轨迹设定部35与伺服指令控制部40的关系进行说明的图。
如图6所示,轨迹设定部35通过输入通过点坐标与通过顺序及速度矢量,从而设定每个通过点的三次埃尔米特曲线。
轨迹设定部35将三次埃尔米特曲线的指令轨迹数据作为算出结果而输出至伺服指令控制部40。
伺服指令控制部40输出基于所设定的三次埃尔米特曲线的指令轨迹数据来控制驱动装置2的运行的指令信号。
具体而言,伺服指令控制部40输出对驱动装置2的运行进行控制的位置坐标X、Y。
图7是说明实施方式的伺服指令控制部40所输出的位置坐标的图。
如图7所示,伺服指令控制部40依据由轨迹设定部35所设定的指令轨迹数据来输出驱动装置2的运行位置。
具体而言,基于与设为对象的指令轨迹对应的分段多项式,来算出每个控制周期的驱动装置2的目标指令值。
由此,伺服指令控制部40能够沿着所设定的指令轨迹来使驱动装置2运行。
图8的(A)及图8的(B)是作为比较例而说明作为指令轨迹的三次埃尔米特曲线的轨迹移动速度及参数t的图。
图8的(A)表示了各通过点间的轨迹移动速度。
图8的(B)表示了各指令轨迹的参数t的变化。
如所述图所示,在参数t以固定的比例而在0~1间变化的情况下,作为一例,表示了在通过点间的距离短的情况下,轨迹移动速度比基准速度V0慢的情况。另一方面,表示了在通过点间的距离长的情况下,轨迹移动速度比基准速度V0快的情况。
即,在以固定的比例来调整参数t的情况下,无法将驱动装置2的速度调整为固定。
图9的(A)及图9的(B)是说明实施方式的作为指令轨迹的三次埃尔米特曲线的轨迹移动速度及参数t的图。
图9的(A)表示了各通过点间的轨迹移动速度。
图9的(B)表示了各指令轨迹的参数t的变化。
如所述图所示,为了以基准速度V0来固定地控制各通过点间的轨迹移动速度,必须调整各通过点间的参数t的变动率。
实施方式中,调整各通过点间的轨迹移动速度。
再次参照图7,伺服指令控制部40包含距离算出部42与变量调整部44。
距离算出部42算出每个控制周期的相对于指令控制速度的目标移动距离。
变量调整部44调整每个控制周期的参数t的增量值,以使由距离算出部42所算出的目标移动距离为固定。
<C.设定方式>
实施方式的参数t的设定方式是执行对参数t给予规定的基准变动量的试算处理。
本例中,作为一例,在进行两次或者三次试算处理的情况下,设定试算点到达每个控制周期的目标移动距离附近的基准变动量。
图10是说明实施方式的第一次试算处理的图。
参照图10,在本例中,对相对于通过点P0(X0、Y0)与通过点P1(X1、Y1)之间的指令轨迹Q0的曲线式而设定参数t的变动量时的处理进行说明。
作为一例,在将当前位置设为通过点P0(X0、Y0)时,算出在下个控制周期移动的目标位置Pm(Xm、Ym)的参数t的变动量Tm。
[准备处理]
将直至通过点P0(X0、Y0)为止的累积移动距离设为Ls。
每个控制周期的直至下个目标位置Pm(Xm、Ym)为止的累积移动距离设为Lm。
目标移动距离ΔLm为Lm-Ls。
本例中,在使参数t变化两次而进行试算的情况下,首先设定累积移动距离成为Lm附近的试算用的基准变动量ΔT。
算出通过点P0(X0、Y0)与通过点P1(X1、Y1)之间的直线距离ΔL。
假定因参数t从0变化至1而移动直线距离ΔL,则每个控制周期的参数t的平均变化量为ΔL/ΔLm。
因此,在使参数t变化k次而进行试算的情况下,累积移动距离成为Lm附近的试算用的基准变动量ΔT是通过ΔL/ΔLm/k来设定。
本例中,分割系数设定为k=2。
在使参数t变化一次而进行试算的情况下,累积移动距离成为Lm附近的试算用的基准变动量ΔT是设定ΔL/ΔLm。
使参数t变化两次而累积移动距离成为Lm附近的试算用的基准变动量ΔT是通过ΔL/ΔLm/2来设定。
使参数t变化三次而累积移动距离成为Lm附近的试算用的基准变动量ΔT是通过ΔL/ΔLm/3来设定。
另外,通过使变化的试算次数增加,能够算出高精度的参数t的变动量,但运算量会增加。
通过使用基准变动量来算出与试算点的距离,从而从而算出参数t的变动量,因此能够有效地调整参数t的变动量。
[第一次试算处理]
在第一次试算处理中,算出第一试算点SPi。
i表示试算次数。本例中,i=1。
具体而言,作为第一试算点SPi,将参数t的值设定为Ti。
作为一例,通过点P0(X0、Y0)的参数t的值Ts设为0。
Ti为Ts+ΔT。
通过将Ti输入至指令轨迹Q的埃尔米特曲线所示的数式的参数t,从而算出从通过点P0(X0、Y0)移动了基准变动量ΔT的第一试算点SPi的位置(Xi、Yi)。
从通过点P0(X0、Y0)移动了基准变动量ΔT时的第一试算点SPi的位置(Xi、Yi)的距离通过下式来算出。
指令轨迹的累积移动距离是在每个控制周期对曲线式给予参数t,将线积分近似为各微小区间的直线插值而进行累积。
[数4]
此处,j为累积次数。
累积移动距离Li是作为Ls+ΔLi而算出。
接下来,对从通过点P0(X0、Y0)计起的作为目标的累积移动距离Lm与直至第一次试算点SPi为止的试算距离Li进行比较。
基于比较结果,若Lm>Li,则继续试算处理。即,执行第二次试算处理。
[基准变动量的修正]
在执行第二次试算处理之前,对参数t的基准变动量ΔT进行修正。
图11的(A)至图11的(C)是对实施方式的参数t的基准变动量的修正进行说明的图。
参照图11的(A),表示了参数t与累积移动距离L的关系。
参数t是从0向1变化。
参数t为0的位置时的通过点P0(X0、Y0)的累积移动距离为Ls。
Ti是将Ts加上ΔT所得的值。
Li是将Ls加上ΔLi所得的值。
但是,ΔLi是试算点与通过点P0(X0、Y0)之间的直线距离,因此与在实际的曲线轨迹上移动的距离不同。
理想的是,第一次试算处理的试算点处的累积移动距离的理想值Lt是设为目标的累积移动距离Lm与Ls之间的中间值。
因此,对基准变动量ΔT进行修正,以使第一次试算处理的试算点处的累积移动距离成为理想值Lt。
具体而言,算出距离的误差,以与误差值相应的量来修正基准变动量ΔT。
参照图11的(B)及图11的(C),修正后的基准变动量ΔTadj1是通过下式来算出。而且,调整量Δadj1是通过下式来算出。
[数5]
并且,使用修正后的基准变动量ΔTadj1来执行第二次试算处理。
[第二次试算处理]
图12是说明实施方式的第二次试算处理的图。
如图12所示,在第二次试算处理中,算出第一试算点SPi-1与第二试算点SPi。
i表示试算次数。本例中,i=2。
具体而言,作为第一试算点SPi-1,将参数t的值设定为Ti-1。
Ti-1为Ts+ΔTadj1。
通过将Ti-1输入至指令轨迹Q的埃尔米特曲线所示的数式的参数t,从而算出从通过点P0(X0、Y0)移动了基准变动量ΔTadj1的第一试算点SPi-1的位置(Xi-1、Yi-1)。
算出通过点P0(X0、Y0)、与移动了基准变动量ΔTadj1时的试算出的第一试算点SPi-1的位置(Xi-1、Yi-1)的距离ΔLi-1。
累积移动距离Li-1是将Ls加上ΔLi-1所得的值。
接下来,算出第二试算点SPi。
具体而言,作为第二试算点SPi,将参数t的值设定为Ti。
Ti为Ti-1+ΔTadj1。
通过将Ti输入至指令轨迹Q的埃尔米特曲线所示的数式的参数t,从而算出从第一试算点SPi-1移动了基准变动量ΔTadj1的第二试算点SPi的位置(Xi、Yi)。
算出第一试算点SPi-1的位置(Xi-1、Yi-1)、与移动了基准变动量ΔTadj1时的试算出的第二试算点SPi的位置(Xi、Yi)的距离ΔLi。
累积移动距离Li是将Li-1加上ΔLi所得的值。
接下来,对从通过点P0(X0、Y0)计起的作为目标的累积移动距离Lm与直至第二试算点SPi为止的试算距离Li进行比较。
基于比较结果,若Lm≦Li,则算出与累积移动距离Lm对应的Tm。
参数t的变动量Tm是通过下式而算出。
[数6]
并且,结束试算处理。
即,将Tm输入至指令轨迹Q的埃尔米特曲线所示的数式的参数t而算出的目标位置Pm(Xm、Ym)被设定为在下个控制周期从通过点P0(X0、Y0)移动的位置。
如本例这样,修正基准变动量,并使用经修正的基准变动量来算出与试算点的距离,因此能够调整为高精度的参数t的变动量。
另一方面,基于对从通过点P0(X0、Y0)计起的作为目标的累积移动距离Lm与直至第二试算点SPi为止的试算距离Li进行比较的比较结果,若Lm>Li,则执行第三次试算处理。
[基准变动量的修正]
在执行第三次试算处理之前,修正参数t的基准变动量ΔT。
具体而言,依据与所述同样的方式来修正基准变动量。
理想的是,第二次试算处理的第二试算点SPi处的累积移动距离的理想值Lt是设为目标的累积移动距离Lm。
因此,修正基准变动量ΔT,以使第二次试算处理的第二试算点SPi处的累积移动距离成为理想值Lt。
具体而言,算出距离的误差,以与误差值相应的量来修正基准变动量ΔT。
修正后的基准变动量ΔTadj2是通过下式而算出。而且,调整量Δadj2是通过下式而算出。而且,调整量Δadj2是通过下式而算出。
[数7]
并且,使用修正后的基准变动量ΔTadj2来执行第三次试算处理。
[第三次试算处理]
图13是说明实施方式的第三次试算处理的图。
如图13所示,在第三次试算处理中,算出第一试算点SPi-2、第二试算点SPi-1与第三试算点SPi。
i表示试算次数。本例中,i=3。
具体而言,作为第一试算点SPi-2,将参数t的值设定为Ti-2。
Ti-2为Ts+ΔTadj2。
通过将Ti-2输入至指令轨迹Q的埃尔米特曲线所示的数式的参数t,从而算出从通过点P0(X0、Y0)移动了基准变动量ΔTadj2的第一试算点SPi-2的位置(Xi-2、Yi-2)。
算出通过点P0(X0、Y0)与移动了基准变动量ΔTadj2时的试算出的第一试算点SPi-2的位置(Xi-2、Yi-2)的距离ΔLi-2。
累积移动距离Li-2是将Ls加上ΔLi-2所得的值。
接下来,算出第二试算点SPi-1。
具体而言,作为第二试算点SPi-1,将参数t的值设定为Ti-1。
Ti-1为Ti-2+ΔTadj2。
通过将Ti-1输入至指令轨迹Q的埃尔米特曲线所示的数式的参数t,从而算出从第一试算点SPi-2移动了基准变动量ΔTadj2的第二试算点SPi-1的位置(Xi-1、Yi-1)。
算出第二试算点SPi-1的位置(Xi-1、Yi-1)与移动了基准变动量ΔTadj2时的试算出的第二试算点SPi-1的位置(Xi-1、Yi-1)的距离ΔLi-1。
累积移动距离Li-1是将Li-2加上ΔLi-1所得的值。
接下来,算出第三试算点SPi。
具体而言,作为第三试算点SPi,将参数t的值设定为Ti。
Ti为Ti-1+ΔTadj2。
通过将Ti输入至指令轨迹Q的埃尔米特曲线所示的数式的参数t,从而算出从第二试算点SPi-1移动了基准变动量ΔTadj2的第三试算点SPi的位置(Xi、Yi)。
算出第二试算点SPi-1的位置(Xi-1、Yi-1)与移动了基准变动量ΔTadj2时的试算出的第三试算点SPi的位置(Xi、Yi)的距离ΔLi。
累积移动距离Li是将Li-1加上ΔLi所得的值。
接下来,对从通过点P0(X0、Y0)计起的作为目标的累积移动距离Lm与直至第三试算点SPi为止的试算距离Li进行比较。
基于比较结果,若Lm≦Li,则算出与累积移动距离Lm对应的Tm。
参数t的变动量Tm是通过下式而算出。
[数8]
并且,结束试算处理。
即,将Tm输入至指令轨迹Q的埃尔米特曲线所示的数式的参数t而算出的目标位置Pm(Xm、Ym)被设为在下个控制周期从通过点P0(X0、Y0)移动的位置。
并且,将所设定的位置作为基点,使用上文说明的方式来算出在下个控制周期移动的位置。
由此,变量调整部44能够调整每个控制周期的参数t的增量值,以使由距离算出部42所算出的目标移动距离为固定。设定沿着从通过点P0(X0、Y0)朝向通过点P1(X1、Y1)的指令轨迹Q0而在每个控制周期移动的位置。
另一方面,当成为通过点P1(X1、Y1)附近时,在试算处理中,存在参数t的值即Ti超过1的情况。即,为跨越通过点P1(X1、Y1)的情况。
在参数t的值即Ti超过1的情况下,变更设为对象的指令轨迹。变更为与从通过点P1(X1、Y1)朝向通过点P2(X2、Y2)的指令轨迹Q1对应的分段多项式。即,变更为通过点P1(X1、Y1)与通过点P2(X2、Y2)之间的分段多项式。
并且,将Ti-1设为Tm并将所述Tm输入至与指令轨迹Q1对应的分段多项式的参数t中而算出的目标位置Pm(Xm、Ym)被设定为在下个控制周期移动的位置。
通过所述处理,能够调整各通过点间的参数t的变动率。
由此,能够以基准速度V0将各通过点间的轨迹移动速度控制为固定。即,能够将每个控制周期的目标移动距离设为固定而适当地控制运行速度。
<D.模拟例>
接下来,对实施方式的控制系统1的模拟例进行说明。
图14是对实施方式的设定有十四个通过点时的模拟例进行说明的图。
如图14所示,表示了十四个通过点,数字表示通过顺序。
图15是对实施方式的通过坐标及三次多项式的系数进行说明的图。
参照图15,本例中,最开始的起点坐标及最后的终点坐标被设定为相同的(0、0)。而且,设定有十四个通过点各自的坐标。
而且,规定值R设定为50。
基于上文说明的方式,分别算出各区间的x坐标的三次多项式的系数及y坐标的三次多项式的系数。
图16是说明实施方式的跟踪轨迹的图。
如图16所示,描绘有依据所设定的顺序而连续且平滑地通过十四个通过点的指令轨迹。
图17是说明实施方式的指令速度的波形的图。
如图17所示,本例中,作为指令速度,表示了设定为500mm/s的情况。
另外,加速度及减速度是设为1000mm/s2。而且,加加速度(jerk)是设定为10000mm/s3。
如所述图所示,可确认:能够以基准速度V0来将各通过点间的轨迹移动速度控制为固定。
另外,本例中,作为一例,对下述方式进行了说明,即,作为连续通过平面上的预先设定了通过顺序的多个通过点的各通过点间的指令轨迹,利用作为分段多项式的三次埃尔米特曲线来设定。另一方面,并不限于二维平面上的通过点,对于三维空间上的通过点也同样能够适用。即,关于z坐标,也利用埃尔米特曲线来定义,且对于三维的空间上的通过点,只要将通过点的速度矢量作为三维坐标的矢量来进行处理即可。
而且,本例中,作为各通过点间的指令轨迹的分段多项式,作为一例,对利用三次埃尔米特曲线来设定的情况进行了说明,但并不特别限于此,也能够使用其他曲线等。即,只要是以一个共同的参数t来设定各通过点间的指令轨迹的样条函数,则采用何种方式皆可。次数也不限于三次,也可为更高次,还可设为二次或者一次的直线。
在指令轨迹为直线的情况下,可定义为一次的样条函数。
此时,通过调整各通过点间的每个控制周期的参数t的增量值,以使由距离算出部42所算出的目标移动距离为固定,也能够将轨迹移动速度控制为固定。
<D.附注>
如上所述的本实施方式包含如下所述的技术思想。
[结构1]
控制器系统100包括:设定部30,对已预先设定了通过顺序的多个通过点的位置进行设定;轨迹设定部35,利用分段多项式,来设定控制对象连续通过多个通过点的各所述通过点间的指令轨迹;以及指令值算出部40,基于与设为对象的指令轨迹对应的分段多项式,来算出每个控制周期的控制对象的目标指令值。分段多项式是利用依据第一变量的三次埃尔米特曲线来定义。指令值算出部包括:距离算出部42,算出每个控制周期的相对于指令控制速度的目标移动距离;以及变量调整部44,调整每个控制周期的第一变量的变动量,以使所算出的目标移动距离为固定。
[结构2]
第一变量在0~1之间变化。
[结构3]
分段多项式为三次埃尔米特曲线。
[结构4]
变量调整部基于所算出的目标移动距离来设定成为第一变量的基准的基准变动量ΔT,基于基准变动量来至少一次算出基于分段多项式的控制对象的坐标,算出前次的控制周期内的控制对象的坐标、与基于基准变动量而算出的控制对象的坐标之间的距离,基于所算出的相对于基准变动量的距离与目标移动距离的比较,来调整每个控制周期的第一变量的变动量。
[结构5]
变量调整部多次算出基于每个基准变动量的分段多项式的、控制对象的坐标,算出每个基准变动量的控制对象的坐标间的各距离,基于每个基准变动量的控制对象的坐标间的距离的合计与目标移动距离,来修正成为第一变量的基准的基准变动量。
[结构6]
变量调整部比较每个基准变动量的控制对象的坐标间的距离的合计与目标移动距离,当每个基准变动量的控制对象的坐标间的距离的合计为目标移动距离以上时,算出相对于目标移动距离的第一变量的变动量。
[结构7]
变量调整部基于设为对象的指令轨迹的通过点间的距离、目标移动距离与分割系数k,来设定基准变动量。
[结构8]
控制器系统的控制方法包括下述步骤:对已预先设定了通过顺序的多个通过点的位置进行设定;利用分段多项式,来设定控制对象连续通过多个通过点的各通过点间的指令轨迹;以及基于与设为对象的指令轨迹对应的分段多项式,来算出每个控制周期的控制对象的目标指令值。分段多项式是利用依据第一变量的三次埃尔米特曲线来定义,算出目标指令值的步骤包括下述步骤:算出每个控制周期的相对于指令控制速度的目标移动距离;以及调整每个控制周期的第一变量的变动量,以使所算出的目标移动距离为固定。
<E.优点>
根据本实施方式的控制器系统以及其控制方法,能够在控制对象连续通过多个通过点时适当地控制运行速度。
应认为,此次公开的实施方式在所有方面仅为例示而非限制者。本发明的范围是由权利要求而非所述说明所示,且意图包含与权利要求均等的含义及范围内的所有变更。
Claims (8)
1.一种控制器系统,包括:
设定部,对已预先设定了通过顺序的多个通过点的位置进行设定;
轨迹设定部,利用依据第一变量的分段多项式,来设定控制对象连续通过所述多个通过点的各所述通过点间的指令轨迹;以及
指令值算出部,基于与设为对象的指令轨迹对应的所述分段多项式,来算出每个控制周期的所述控制对象的目标指令值,
所述指令值算出部包括:
距离算出部,算出所述每个控制周期的相对于指令控制速度的目标移动距离;以及
变量调整部,调整所述每个控制周期的第一变量的变动量,以使所述算出的目标移动距离为固定。
2.根据权利要求1所述的控制器系统,其中
所述第一变量在0~1之间变化。
3.根据权利要求2所述的控制器系统,其中
所述分段多项式为三次埃尔米特曲线。
4.根据权利要求2所述的控制器系统,其中
所述变量调整部基于所述算出的目标移动距离来设定成为所述第一变量的基准的基准变动量,
基于所述基准变动量来至少一次算出基于所述分段多项式的所述控制对象的坐标,
算出前次的控制周期内的所述控制对象的坐标、与基于所述基准变动量而算出的所述控制对象的坐标之间的距离,
基于所算出的相对于基准变动量的距离与所述目标移动距离的比较,来调整所述每个控制周期的第一变量的变动量。
5.根据权利要求4所述的控制器系统,其中
所述变量调整部多次算出基于每个所述基准变动量的所述分段多项式的、所述控制对象的坐标,
算出每个所述基准变动量的所述控制对象的坐标间的各距离,
基于每个所述基准变动量的所述控制对象的坐标间的距离的合计与所述目标移动距离,来修正成为所述第一变量的基准的所述基准变动量。
6.根据权利要求4所述的控制器系统,其中
所述变量调整部比较每个所述基准变动量的所述控制对象的坐标间的距离的合计与所述目标移动距离,
当每个所述基准变动量的所述控制对象的坐标间的距离的合计为所述目标移动距离以上时,算出相对于所述目标移动距离的所述第一变量的变动量。
7.根据权利要求4所述的控制器系统,其中
所述变量调整部基于设为所述对象的指令轨迹的通过点间的距离、所述目标移动距离与分割系数,来设定所述基准变动量。
8.一种控制器系统的控制方法,包括下述步骤:
对已预先设定了通过顺序的多个通过点的位置进行设定;
利用依据第一变量的分段多项式,来设定控制对象连续通过所述多个通过点的各所述通过点间的指令轨迹;以及
基于与设为对象的指令轨迹对应的所述分段多项式,来算出每个控制周期的所述控制对象的目标指令值,
算出所述目标指令值的步骤包括下述步骤:
算出所述每个控制周期的相对于指令控制速度的目标移动距离;以及
调整每个控制周期的第一变量的变动量,以使所述算出的目标移动距离为固定。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020042303A JP6801802B1 (ja) | 2020-03-11 | 2020-03-11 | コントローラシステムおよびその制御方法 |
JP2020-042303 | 2020-03-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113467360A true CN113467360A (zh) | 2021-10-01 |
Family
ID=73740962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110142907.1A Pending CN113467360A (zh) | 2020-03-11 | 2021-02-02 | 控制器系统以及其控制方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6801802B1 (zh) |
CN (1) | CN113467360A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06230818A (ja) * | 1992-09-25 | 1994-08-19 | Nec Corp | サーボ制御装置 |
JPH07205073A (ja) * | 1994-01-27 | 1995-08-08 | Matsushita Electric Ind Co Ltd | ロボット制御装置 |
JP2001142518A (ja) * | 1999-11-15 | 2001-05-25 | Yaskawa Electric Corp | 曲線補間方法 |
US20060145647A1 (en) * | 2005-01-05 | 2006-07-06 | Kawasaki Jukogyo Kabushiki Kaisha | Robot controller |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69314688T2 (de) * | 1992-04-23 | 1998-02-19 | Heidenhain Gmbh Dr Johannes | Numerische Steuerungseinrichtung und Verfahren zur Steuerung der Bewegung eines Werkzeuges |
JPH11104982A (ja) * | 1997-10-01 | 1999-04-20 | Meidensha Corp | ロボットの教示方法 |
JP3587766B2 (ja) * | 2000-06-30 | 2004-11-10 | 川崎重工業株式会社 | 搬送装置 |
JP2007000954A (ja) * | 2005-06-22 | 2007-01-11 | Nachi Fujikoshi Corp | ロボット教示装置及び方法 |
JP5146512B2 (ja) * | 2010-10-13 | 2013-02-20 | オムロン株式会社 | 制御装置、制御システムおよび制御方法 |
JP2014137750A (ja) * | 2013-01-17 | 2014-07-28 | Hitachi Solutions Ltd | 情報処理装置、情報処理システム及び情報処理プログラム |
KR101585504B1 (ko) * | 2014-03-05 | 2016-01-15 | 국방과학연구소 | 자율 이동 차량의 경로 생성 방법 및 경로 생성 장치 |
-
2020
- 2020-03-11 JP JP2020042303A patent/JP6801802B1/ja active Active
-
2021
- 2021-02-02 CN CN202110142907.1A patent/CN113467360A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06230818A (ja) * | 1992-09-25 | 1994-08-19 | Nec Corp | サーボ制御装置 |
JPH07205073A (ja) * | 1994-01-27 | 1995-08-08 | Matsushita Electric Ind Co Ltd | ロボット制御装置 |
JP2001142518A (ja) * | 1999-11-15 | 2001-05-25 | Yaskawa Electric Corp | 曲線補間方法 |
US20060145647A1 (en) * | 2005-01-05 | 2006-07-06 | Kawasaki Jukogyo Kabushiki Kaisha | Robot controller |
Non-Patent Citations (4)
Title |
---|
刘念: "嵌入式数控系统的实时NURBS曲线插补算法的研究与实现", 《中国优秀硕士学位论文全文数据库 工程科技I辑》, no. 2017, 15 March 2017 (2017-03-15), pages 13 - 20 * |
姜海兵: "PH样条曲线插补算法研究及其在嵌入式数控系统上的实现", 《中国优秀硕士学位论文全文数据库 工程科技I辑》, no. 2020, 15 February 2020 (2020-02-15), pages 17 - 22 * |
沈洪垚: "自适应NURBS曲线插补关键技术及实现研究", 《中国博士学位论文全文数据库 工程科技I辑》, no. 2011, 15 August 2011 (2011-08-15), pages 022 - 55 * |
胡自化,张平: "三次B样条曲线恒速进给实时插补算法的研究", 《制造技术与机床》, no. 2000, 31 August 2000 (2000-08-31), pages 31 - 33 * |
Also Published As
Publication number | Publication date |
---|---|
JP2021144438A (ja) | 2021-09-24 |
JP6801802B1 (ja) | 2020-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5762625B2 (ja) | 軌跡制御装置 | |
CN105807721B (zh) | 数值控制装置及其控制方法 | |
JP6880853B2 (ja) | 処理装置、パラメータ調整方法、及びパラメータ調整プログラム | |
Feng et al. | Design of a real-time adaptive NURBS interpolator with axis acceleration limit | |
CN105829033B (zh) | 动作程序生成方法以及机械手的控制方法 | |
CN109313429B (zh) | S型速度规划方法、装置、系统、机器人以及数控机床 | |
CN105415363B (zh) | 机器人奇异点处理方法 | |
JP2790643B2 (ja) | 数値制御装置 | |
JPS60262213A (ja) | 産業用ロボツトの運動制御方法 | |
CN113467360A (zh) | 控制器系统以及其控制方法 | |
KR101743795B1 (ko) | 위치제어 시스템에서 곡선보간 방법 | |
JP2005118995A (ja) | ロボットの制御方法および制御装置 | |
JP6863497B1 (ja) | コントローラシステムおよびその制御方法 | |
CN112297003B (zh) | 设定机器人坐标系的装置、机器人控制装置、机器人系统以及方法 | |
JP2737725B2 (ja) | ロボット制御装置及び方法 | |
JP6048174B2 (ja) | 数値制御装置とロストモーション補償方法 | |
JP2023038747A (ja) | コントローラシステムおよびその制御方法 | |
JP5679898B2 (ja) | 軌跡制御装置 | |
JP4545701B2 (ja) | 速度制御方法及び速度制御装置 | |
KR102470393B1 (ko) | 스플라인 경로 생성 장치 | |
CN113614653A (zh) | 控制装置及控制程序 | |
JP3189650B2 (ja) | ロボット制御装置 | |
KR101575946B1 (ko) | 가속도 제한된 유연시스템에 대한 허용 잔류변위를 활용한 강건 입력성형 제어방법 | |
JP3121920B2 (ja) | 加減速制御装置 | |
RU2771456C1 (ru) | Способ управления рабочим органом многостепенного манипулятора |
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 |