CN108356823A - 具有学习控制功能的控制系统以及控制方法 - Google Patents

具有学习控制功能的控制系统以及控制方法 Download PDF

Info

Publication number
CN108356823A
CN108356823A CN201810072717.5A CN201810072717A CN108356823A CN 108356823 A CN108356823 A CN 108356823A CN 201810072717 A CN201810072717 A CN 201810072717A CN 108356823 A CN108356823 A CN 108356823A
Authority
CN
China
Prior art keywords
control
study
time series
series data
vibratory output
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.)
Granted
Application number
CN201810072717.5A
Other languages
English (en)
Other versions
CN108356823B (zh
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Publication of CN108356823A publication Critical patent/CN108356823A/zh
Application granted granted Critical
Publication of CN108356823B publication Critical patent/CN108356823B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39241Force and vibration control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/19Drive system for arm
    • Y10S901/23Electric motor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • Y10S901/47Optical

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

本发明提供具有学习控制功能的控制系统以及控制方法。机器人控制系统具有动作控制部和学习控制处理部。每当动作控制部实施一次学习控制时,学习控制处理部将表示该实施的学习控制是第几次的学习次数与求出的振动量的时间序列数据彼此对应起来存储于存储部。学习控制处理部对于存储部内的每一个学习次数的振动量的时间序列数据中的各个数据求出用于判定机器人一个部位的振动是否收敛的收敛判定值,将获得该求出的收敛判定值中的最小收敛判定值的学习次数判定为学习控制的最佳次数。

Description

具有学习控制功能的控制系统以及控制方法
技术领域
本发明涉及具有学习控制功能的控制系统以及控制方法。
背景技术
在使用机器人的生产现场,有时为了提升生产效率而谋求使机器人的动作高速化来缩短周期时间。但是,若使机器人的动作以某种程度以上高速化,则可能因减速机的失调、机器人手臂部自身的刚性不足等,而在动作过程中的机器人的末端部产生振动。
作为这样问题的应对方法,以往将加速度传感器安装于机器人的末端部,一边通过加速度传感器来计测机器人动作过程中的振动一边重复实施学习控制,由此来降低该振动(例如,参照日本特开2011-167817号公报)。在上述的学习控制中,在机器人基于规定的动作程序的动作过程中从加速度传感器获得振动数据,根据该振动数据求出用于校正该振动的振动校正量,保存求出的振动校正量并将其应用于下一次相同动作程序的动作控制。
发明内容
在当前的学习控制中,实施事先决定次数的学习控制。但是,该决定的次数可能并非最佳,有时没有使用振动最小的学习次数。此外,振动有可能以少于决定次数的次数而收敛。该情况下由于进行多余的学习,所以浪费时间。因此,希望可以判定学习控制的最佳实施次数。
本公开的一方式是一种控制系统,具有:被伺服电动机驱动的被驱动体、控制所述伺服电动机使所述被驱动体动作的控制装置、以及检测所述被驱动体的一个部位的位置相关的值的传感器,其中,
所述控制装置具有:
动作控制部,其根据预先制作的动作程序按控制周期生成通向所述伺服电动机的指令值,并通过该指令值进行所述被驱动体的动作控制;以及
学习控制处理部,其使所述动作控制部重复实施学习控制,所述学习控制是指在进行基于所述动作程序的所述动作控制时求出用于校正产生于所述一个部位的振动的振动校正量,并将该振动校正量应用于下一次基于所述动作程序的所述动作控制,
所述学习控制处理部具有:
振动量推定部,其根据在所述动作控制部实施一次所述学习控制的期间所述传感器检测出的检测值的时间序列数据和所述动作控制部生成的所述指令值的时间序列数据,来推定在该一次学习控制的实施过程中在所述一个部位产生的振动量的时间序列数据;
振动校正量计算部,其根据所述振动量的时间序列数据,求出应该应用于下一次基于所述动作程序的所述动作控制的所述振动校正量;
存储部,每当所述动作控制部实施一次所述学习控制时,所述存储部将表示该实施的学习控制是第几次的学习次数与所述振动量的时间序列数据彼此对应起来进行存储;以及
判定部,其对存储于所述存储部的每一个所述学习次数的所述振动量的时间序列数据中的各个数据,求出用于判定所述一个部位的振动是否收敛的收敛判定值,将取得该求出的收敛判定值中最小的所述收敛判定值的所述学习次数判定为所述学习控制的最佳实施次数。
此外,本公开的其他方式是一种控制方法,用于控制驱动被驱动体的伺服电动机来使所述被驱动体动作,其中,
所述控制方法具有重复实施学习控制的学习控制处理阶段,所述学习控制是指在根据用于进行所述被驱动体的动作控制的动作程序由所述伺服电动机进行了所述动作控制时求出用于校正产生于所述被驱动体的一个部位的振动的振动校正量,并将该振动校正量应用于下一次基于所述动作程序的所述动作控制,
所述学习控制处理阶段包括:
在实施一次所述学习控制的期间,取得所述一个部位的位置相关的值的时间序列数据以及根据所述动作程序生成的指令值的时间序列数据,根据所述位置相关的值的时间序列数据以及所述指令值的时间序列数据,推定在该一次学习控制的实施过程中在所述一个部位产生的振动量的时间序列数据;
根据所述振动量的时间序列数据,求出应该应用于下一次基于所述动作程序的所述动作控制的所述振动校正量;
每当实施一次所述学习控制时,将表示该实施的学习控制是第几次的学习次数与所述振动量的时间序列数据彼此对应起来存储于存储部;以及
对存储于所述存储部的每一个所述学习次数的所述振动量的时间序列数据中的各个数据,求出用于判定所述一个部位的振动是否收敛的收敛判定值,将取得该求出的收敛判定值中最小值的所述收敛判定值的所述学习次数判定为所述学习控制的最佳实施次数。
附图说明
从附图所示的本申请的典型实施方式的详细说明中可以明确,本发明的这些目的、特征以及优点和其他的目的、特征以及优点。
图1是表示一实施方式的机器人控制系统的结构的图。
图2是用于说明图1所示的机器人的结构要素与坐标系的图。
图3是表示由图1所示的学习控制处理部进行的处理的流程图。
图4是表示能够对图3所示的处理流程追加的处理流程的一例的流程图。
图5是表示实施学习控制时的、根据位置指令值求出的加速度指令值和加速度传感器的检测值的时间变化的图。
图6是表示从图5所示的时间序列的传感器数据中除去重力加速度之后的时间序列数据的图。
图7是表示从图6所示的时间序列的传感器数据中除去电气噪音之后的时间序列数据的图。
图8是表示传感器安装部位的振动量的时间序列数据的图。
图9是用于说明收敛判定值的一例即最大振幅的图。
图10A是表示将图8所示的各时刻下加速度维度的振动量分别进行一次积分之后的时间序列数据的图。
图10B是表示将图10A所示的各时刻下速度维度的振动量分别进行一次积分之后的时间序列数据的图。
图10C是放大表示由图10B中的包围线C包围的数据部分的图。
图11是沿用图10C的放大图,表示收敛判定值的一例即超调量的图。
图12是沿用图10C的放大图,表示收敛判定值的一例即稳定时间的图。
具体实施方式
接下来,参照附图对本公开的实施方式进行说明。在参照的附图中,对相同的结构部分或者功能部分标注相同的参照符号。为了容易理解,这些附图可以适当变更比例尺。此外,附图所示的形态是用于实施本发明的一个示例,本发明并非局限于图示的形态。
图1是表示一实施方式的机器人控制系统10的结构的图。图2是用于说明图1所示的机器人11的结构要素与坐标系的图。
如图1所示,本实施方式的机器人控制系统10具有:机器人11、控制装置12、以及传感器13。
机器人11被伺服电动机驱动。控制装置12是控制该伺服电动机而使机器人11动作的装置。传感器13可以检测机器人11的一个部位的位置相关的值。所谓位置相关的值是直接或者间接表示三维位置、速度、加速度、或者转矩或力矩等物理位置的值。
控制装置12具有:动作控制部17、学习控制处理部18、以及存储部19。
动作控制部17具有如下功能:根据预先制作的动作程序按控制周期生成通向伺服电动机的指令值例如位置指令值或者速度指令值等,通过该指令值来进行机器人11的动作控制。该动作控制是伺服控制。
学习控制处理部18具有使动作控制部17重复实施学习控制这样的功能,所述学习控制在进行基于上述动作程序的机器人11的动作控制时求出用于校正在上述一个部位产生的振动的振动校正量,将该振动校正量应用于下一次基于相同动作程序的机器人11的动作控制。也就是说,学习控制处理部18通过使动作控制部17重复实施相同的动作程序,每当进行基于该动作程序的机器人11的动作控制时一边更新上述的振动校正量一边将其应用于该动作控制。由此,降低在于机器人11的一个部位产生的振动。
例如,在生产现场,在通过动作程序使机器人11实际运转之前,学习控制处理部18通过与实际运转时相同的动作程序使动作控制部17重复实施学习控制。学习控制处理部18每当执行相同的动作程序时,使用可以进一步校正上述校正后的一个部位的振动的振动校正量来降低该振动。如果该振动可以充分地降低,则控制装置12将最后求出的振动校正量保存于控制装置12内的存储部19,当在生产现场通过上述的动作程序使机器人11实际运转时使用保存的振动校正量。另外,关于求出振动校正量所需的上述一个部位的振动数据,如下述那样,可以根据通向上述伺服电动机的指令值的时间序列数据和传感器13的检测值的时间序列数据来取得。
上述的存储部19是将由学习控制处理部18处理的数据进行存储的部分,例如在实施上述的学习控制时存储传感器13的检测值的时间序列数据和求出的振动校正量等。
并且,所述的学习控制处理部18如图1所示具有:振动量推定部31、振动校正量计算部32、以及判定部33。
振动量推定部31在动作控制部17实施一次学习控制期间根据传感器13检测出的值(以下称为检测值)的时间序列数据和动作控制部17生成的指令值的时间序列数据,推定在该学习控制的实施过程中在上述一个部位产生的振动量的时间序列数据。
由于传感器13的检测值是与上述一个部位的位置相关的值,因此例如若从传感器13的检测值对每一个上述控制周期除去位置指令值,则取得上述一个部位相对于位置指令值的移位量,即振动量的时间序列数据。
上述一个部位的振动量的时间序列数据可以根据进行一次学习控制时的、传感器13的检测值的时间序列数据、由搭载于机器人11的伺服电动机的编码器(未图示)检测的时间序列的位置数据来取得。也就是说,可以将由传感器13检测出的上述一个部位的位置相关的值与由编码器取得的伺服电动机的实际位置之差设为上述一个部位的振动量。也就是说,伺服电动机的实际位置也包含于本发明中用于推定振动量的时间序列数据的指令值中。
振动校正量计算部32根据取得的振动量的时间序列数据,求出应该应用于下一次基于相同的动作程序的机器人11的动作控制的振动校正量。该振动校正量是如下这样求出的函数:按控制周期取得在上述一个部位产生的振动数据,推定该振动数据的近似式,将推定出的近似式进行逆变换。
每当动作控制部17实施一次学习控制时,存储部19将表示该实施的学习控制是第几次的学习次数与所述振动量的时间序列数据彼此对应起来进行存储。
对于存储部19内每一个学习次数的振动量的时间序列数据中的各个数据,判定部33求出用于判定上述一个部位的振动是否收敛的收敛判定值,将取得该求出的收敛判定值中最小的收敛判定值的学习次数判定为上述学习控制的最佳实施次数。
上述收敛判定值例如可以是所述振动量的时间序列数据中至少一部分数据的标准偏差、最大振幅、超调量、以及稳定时间中的至少某一个。对于这些收敛判定值与其求出方法来说,在后面进行详细叙述。
并且,判定部33在上述学习控制的第i次(i是正整数)实施结束之后,对于存储于存储部19的、学习次数是i次时的上述振动量的时间序列数据和学习次数是i-1次时的上述振动量的时间序列数据,分别求出所述的收敛判定值,在该求出的两个收敛判定值之差是规定阈值以下时,可以判定为上述一个部位的振动收敛,可以以i次结束实施上述的学习控制。
在如上所述求出的两个收敛判定值之差超过规定阈值时,学习控制处理部18设置成判定为上述一个部位的振动还未收敛,再次实施学习控制。
另外,使用计算机来构成上述的控制装置12,所述计算机具有分别经由总线而相互连接的存储部、CPU(Central Processing Unit:中央处理单元)、以及通信控制部等。该存储部是ROM(Read Only Memory:只读存储器)或RAM(Random Access Memory:随机存取存储器)等。本实施方式的存储部19可以是上述那样的RAM。CPU可以根据存储于ROM的控制程序对RAM输入输出数据,或执行数据的运算处理来达成上述的动作控制部17以及包含振动推定部31、振动校正量计算部32、判定部33等在内的学习控制处理部18的各自功能和动作。
本实施方式的机器人11是图1所示那样的六轴垂直多关节机器人。机器人11如图2所示具有:六个关节轴11b1~11b6、通过各关节轴11b1~11b6而连接的手臂部11a、以及驱动各关节轴11b1~11b6的伺服电动机(未图示)。当然,机器人11的形态不局限于图1所示的形态,也可以是水平多关节机器人或并联机器人等。
上述的传感器13安装于在机器人11的末端部15设置的末端执行器14。由此,本实施方式的传感器13取得机器人11的末端部15的实际位置相关的值。作为末端执行器14可以使用工具部、机械手部、螺栓紧固部、焊枪等。
机器人11如图2所示具有:固定于空间上的世界坐标系21、设定于机器人11的手腕部的末端凸缘的机械接口坐标系22。世界坐标系21与机械接口坐标系22分别是三维垂直坐标系。
另外,对于世界坐标系21以及机械接口坐标系22的每一个来说,为了方便,在图2中通过放大图来表示。在世界坐标系21中,在图2的右方向定义+X轴,在图2的上方向定义+Z轴,在针对图2的纸面深度方向定义+Y轴。在机械接口坐标系22中,在图2的右方向定义+X轴,在图2的下方向定义+Z轴,在针对图2的纸面前方向定义+Y轴。在本实施方式的机器人控制系统10中,事前通过校准而取得世界坐标系21与机械接口坐标系22的位置的相关。由此,控制装置12的动作控制部17可以使用在世界坐标系21定义的位置来控制机器人11的末端部15的末端执行器14的位置。
控制装置12经由线缆16与机器人11相互连接。传感器13通过线缆或者无线通信能够通信地与控制装置12相连接。
作为本实施方式的传感器13使用了加速度传感器,但是能够使用的传感器13不局限于加速度传感器。此外,本实施方式的传感器13设置于机器人11的末端部15,但是传感器13的设置场所也没有限定。也就是说,只要可以检测设为伺服位置控制的对象的机器11的一个部位的位置相关的值,则无关传感器13的种类和设置场所。传感器13也可以设置于远离机器人11的场所。
因此,作为能够使用的传感器13例如可以是陀螺仪传感器、惯性传感器、力传感器、激光跟踪器、照相机、或者动作捕捉装置等能够计测位置和移位的装置。
图3是表示由所述的学习控制处理部18进行的处理流程的一例的流程图。图3所示的处理流程是本公开的机器人控制方法的一例。
参照图3,首先,在步骤S11中,学习控制处理部18将表示基于预先决定的动作程序的学习控制的实施是第几次的学习次数i(i是正整数)的初始值设定为1。
在下一步骤S12中,学习控制处理部18使动作控制部17实施第i次(i是正整数)学习控制。动作控制部17根据设为学习控制的对象的动作程序进行机器人11的动作控制。
在下一步骤S13中,学习控制处理部18的振动量推定部31在第i次学习控制中,取得传感器13的检测值的时间序列数据(以下,省略为时间序列的传感器数据。)、与针对机器人11的伺服电动机的位置指令值的时间序列数据(以下,省略为时间序列的位置指令数据。)。这里,通过位置指令值进行说明,但是也可以如上所述指令值是速度或者加速度。
在下一步骤S14中,振动量推定部31根据时间序列的传感器数据和时间序列的指令位置数据,求出上述一个部位的振动量的时间序列数据。
在下一步骤S15中,学习控制处理部18的振动校正量计算部32根据振动量的时间序列数据求出所述的振动校正量。求出的振动校正量应用于下一学习控制时的机器人11的动作控制。
在下一步骤S16中,振动校正量计算部32将振动量的时间序列数据与当前的学习次数(i次)对应起来存储于存储部19。接下来,在步骤S17中,学习控制处理部18将上述的学习次数(i次)提前一个。
在下一步骤S18中,学习控制处理部18的判定部33判断上述的学习次数(i次)是否超过规定次数T(T是由正整数构成的固定值),在判断为上述的学习次数(i次)没有超过规定的次数T时,重复所述的步骤S12~S18。关于上述的规定次数T,可以通过连接的示教操作盘或者计算机装置等适时地输入到控制装置12。
判定部33当在上述的步骤S18中判断为上述的学习次数(i次)超过规定的次数T时,进行下一步骤S19。
在步骤S19中,关于存储于存储部19的、每一个学习次数的振动量的时间序列数据的各个数据,判定部33求出用于判定上述一个部位的振动是否收敛的收敛判定值,将取得该求出的收敛判定值中最小的收敛判定值的学习次数判定为学习控制的最佳次数。
图4是表示针对图3所示的处理流程能够追加的处理流程的一例的流程图。
在图3所示的处理流程中,判定部33在通过步骤S18判断为学习次数(i次)没有超过上述的规定次数T时返回到步骤S12。在这样的从步骤S18返回到步骤S12的期间,学习控制处理部18可以实施图4所示的追加处理流程。
具体来说,如图4所示,判定部33在通过步骤S18判断为学习次数(i次)没有超过上述规定的次数T时进行步骤S20。
在步骤S20中,判定部33对于进行第i次学习时的振动量的时间序列数据和进行第i-1次学习时的振动量的时间序列数据,分别求出上述收敛判定值。
在下一步骤S21中,判定部33判断如上所述求出的两个收敛判定值之差是否是规定阈值以下。结果,在判定部33判断为上述两个收敛判定值之差是上述阈值以下时,判定为上述一个部位的振动收敛,以i次结束学习控制(步骤S22)。
另一方面,判定部33在所述的步骤S22中判断为两个收敛判定值之差超过上述阈值时,再次进行图3所示的步骤S12以后的处理。并且,判定部33在步骤S21中取得两个收敛判定值之差是上述阈值以下这样的判定结果之前重复所述的步骤S12~步骤S18、步骤S20、以及步骤S21这样的一连串处理。
对于上述规定的阈值来说,也可以通过连接的示教操作盘或者计算机装置等而输入到控制装置12。
这里,对于如上所述通过学习控制处理部18进行的处理流程来说,列举一个具体例并且进行详细叙述。
为了取得机器人11的末端部15的位置相关的值,如图1所示,传感器13安装于末端部15的末端执行器14。作为一例,在传感器13中使用了三轴加速度传感器(以下,简单地称为“加速度传感器”)。
在本例中,在学习控制处理阶段使动作控制部17重复进行基于规定的动作程序的机器人11的动作控制时,使机器人11的末端部15进行相同的直线动作。在这样的示例中,动作控制部17根据使机器人11进行规定的直线动作的动作程序按规定的控制周期生成位置指令值,通过该生成的位置指令值来反馈控制机器人11的伺服电动机,从而进行机器人11的末端部15的位置控制。
图5是表示实施学习控制时的、从上述位置指令值求出的加速度指令值与加速度传感器的检测值的时间变化的图。在图5中,标注了符号A的点划线是从位置指令值求出的加速度指令值的时间序列数据,即时间序列的加速度指令数据。标注了符号B的实线是加速度传感器的检测值(实际值)的时间序列数据,即时间序列的传感器数据。从图5可以明确,机器人11的末端部15的移动速度在0~0.5秒之间加速,在0.5~1.0秒之间减速,1.0秒以后末端部15的移动停止。通过位置指令值的两次微分求出加速度指令值。
如上所述实施学习控制时的加速度传感器的检测值中包含下述的四个要素。在进行学习控制时求出振动校正量,只需要下述的要素(a)。
(a)安装有加速度传感器的机器人的部位(以下,省略为传感器安装部位)的振动量
(b)传感器安装部位的加减速度
(c)电气噪音
(d)作用于加速度传感器的重力加速度
因此,通过从加速度传感器的检测值除去上述要素(b)~(d)只求出用于求出振动校正量的要素(a)。
例如,在使用加速度传感器实施学习控制的情况下,需要事先取得安装于机器人11的加速度传感器的位置与方向。具体来说,作为加速度传感器位置的信息事先求出图2所示的机器人11的世界坐标系21的原点与安装于机器人11的加速度传感器的传感器坐标系的原点的相关关系。并且,作为加速度传感器方向的信息事先求出安装的加速度传感器的传感器坐标系的垂直三轴的方向与世界坐标系21的垂直三轴的方向的相关关系。
如上所述加速度传感器的检测值包含重力加速度。因此,若没有安装的加速度传感器的方向信息,则无法从加速度传感器的检测值适当除去重力加速度。可以根据所述的加速度传感器的方向信息求出加速度传感器的检测值中三维成分的每一个所包含的重力加速度。
图6是表示从图5所示的时间序列的传感器数据除去重力加速度之后的时间序列数据的图。若从加速度传感器的检测值的时间序列数据(参照图5的符号B)减去重力加速度,则如图6所示,减去重力加速度之后的时间序列的传感器数据B1为与时间序列的位置指令数据相同的位相。
图7是表示从图6所示的时间序列的传感器数据B1除去电气噪音之后的时间序列数据的图。若对减去了重力加速度之后的加速度传感器的检测值的时间序列数据(参照图6的符号B1)施加低通滤波,则如图7所示,获得不包含电气噪音的时间序列的传感器数据B2。
图8是表示传感器安装部位的振动量的时间序列数据的图。若从图7所示的时间序列的传感器数据B2减去时间序列的加速度指令数据A,则如图8所示,取得传感器安装部位的振动量的时间序列数据。另外,从以上的说明可以明确,在本具体例中,以加速度维度获得振动量的时间序列数据。
在上述的具体例中,学习控制处理部18在使动作控制部17实施一次学习控制时,将加速度传感器的检测值的时间序列数据、针对机器人11的伺服电动机的加速度指令值的时间序列数据分别存储于存储部19中。学习控制处理部18将通过位置指令值的二次微分求出的加速度指令值的时间序列数据存储于存储部19。
学习控制处理部18的振动量推定部31可以根据加速度传感器的检测值的时间序列数据、所述加速度指令值的时间序列数据,推定传感器安装部位的振动量的时间序列数据。更具体来说,如上所述,通过从加速度传感器的检测值的时间序列数据按时刻(按规定的控制周期)除去重力加速度、电气噪音、以及加速度指令值,可以只获得传感器安装部位的加速度的时间序列数据。也就是说,取得由加速度的维度表示的、传感器安装部位的振动量的时间序列数据。
也可以代替上述的位置指令值,在存储部19中按时刻存储机器人11的伺服电动机根据上述的位置指令值动作时的该伺服电动机的实际位置数据。伺服电动机的实际位置数据可以通过搭载于该伺服电动机的编码器而取得。该情况下,学习控制处理部18在动作控制部17实施一次学习控制之后,通过对伺服电动机的实际位置数据进行两次微分,求出与该电动机的实际位置数据对应的加速度数据。振动量推定部31通过从加速度传感器的检测值的时间序列数据按时刻(按规定的控制周期)除去重力加速度、电气噪音、以及根据所述电动机的实际位置数据求出的加速度数据,由此可以通过加速度维度来取得传感器安装部位的振动量的时间序列数据。
学习控制处理部18的振动校正量计算部32根据图8所示那样的振动量的时间序列数据,求出用于抵消该振动量的时间序列数据的振动校正量,将该振动校正量应用于下一次学习控制的基于相同动作程序的机器人11的动作控制。
振动校正量计算部32在动作控制部17实施一次学习控制时,将表示该实施的学习控制是第几次的学习次数i与图8所示那样的振动量的时间序列数据彼此对应起来存储于存储部19。其中,如图3所示的处理流程的步骤S18那样,将学习次数i为规定次数T设为上限。
对于存储于存储部19的每一个学习次数的振动量的时间序列数据的各个数据,学习控制处理部18的判定部33求出用于判定传感器安装部位的振动是否收敛的收敛判定值。这里,对将标准偏差用作收敛判定值的情况进行说明。
学习控制处理部18从如下数学式求出各学习次数的振动量数据的标准偏差。
在上述数学式(1)中,εi(i是学习次数)是标准偏差,ak是图8所示的各时刻的上述传感器安装部位的振动量数据,n是数据数量。并且,是n个振动量数据ak的平均值。
关于上述标准偏差,可以根据图8所示的、包含停止时间带(1.0秒以后)与加减速时间带(0秒~1.0秒)两者在内的时间段的振动量的时间序列数据求出,也可以只根据停止时间带的振动量的时间序列数据求出。
学习控制处理部18的判定部33按存储于存储部19的每一个学习次数的振动量数据通过上述数学式(1)依次求出标准偏差,将获得求出的各标准偏差中最小的标准偏差的学习次数i判定为学习控制的最佳实施次数。
通过重复基于相同动作程序的学习控制,每一个学习控制的振动量数据的标准偏差依次降低,但是若重复某个次数以上的学习控制,则标准偏差的变化量不变小或反而变大。
本具体例的学习控制处理部18的判定部33如果第i次学习控制结束,则对于进行第i次学习控制时的振动量的时间序列数据和进行第i-1次学习控制时的振动量的时间序列数据,可以通过所述的数学式(1)分别求出标准偏差。该情况下,判定部33在判断为求出的两个标准偏差之差(εii-1)是规定阈值以下时,判定为机器人11的末端部15的振动收敛,以i次结束学习控制。
像以上所说明那样,上述的机器人控制系统10的控制装置12可以自动判定学习控制的最佳次数。有时使相同的机器人11适当切换地进行不同的作业。该情况下,在根据各动作程序通过控制装置12来实施学习控制时,可以按这些动作程序来自动判定用于抑制机器人11的一个部位的振动的学习控制的最佳次数。
并且,上述的机器人控制系统10的控制装置12在重复基于相同动作程序的学习控制时,可以判定机器人11的一个部位的振动是否收敛,可以在判定为该振动收敛的时间点结束学习控制。因此,学习控制以所需最小限度的次数以及时间结束。
另外,在上述具体例中,作为收敛判定值使用了标准偏差,但是收敛判定值不局限于标准偏差。作为收敛判定值可以使用图8所示那样的振动量的时间序列数据中至少一部分数据的标准偏差、最大振幅、超调量、以及稳定时间中的至少某一个。以下,对可以用作收敛判定值的最大振幅、超调量、以及稳定时间进行说明。
图9是用于说明收敛判定值的一例即最大振幅的图。在图9所示的振动量数据中由箭头C表示的部分是最大振幅。最大振幅是振动量的时间序列数据中的最大值与最小值之差。通过从图9所示的振动量的时间序列数据中提取最大值与最小值,求出提取出的最大值与最小值之差,可以获得最大振幅。对于最大振幅来说,也可以根据包含停止时间带(1.0秒以后)与加减速时间带(0秒~1.0秒)两者在内的时间带的振动量的时间序列数据求出,也可也只根据停止时间带的振动量的时间序列数据求出。
在求出超调量(overshoot)或者稳定时间(stabilization time)的情况下,首先,将图8以及图9所示那样的、基于加速度维度的振动量的时间序列数据变换为基于位置维度的振动量的时间序列数据。如果将加速度进行二次积分则求出位置。图10A是表示将图8所示的各时刻的加速度维度的振动量分别进行一次积分之后的时间序列数据,即基于速度维度的振动量的时间序列数据的图。图10B是表示将图10A所示的各时刻的速度维度的振动量分别进行一次积分之后的时间序列数据,即基于位置维度的振动量的时间序列数据的图。并且,图10C是放大表示由图10B中的包围线D围绕的数据部分的图。
图11是沿用图10C的放大图,表示收敛判定值的一例即超调量的图。在图11所示的振动量的时间序列数据中由箭头E表示的部分是超调量。更具体来说,超调量是相对于最终位置F过冲的量中的最大值。通过根据图11所示的振动量的时间序列数据确定最终位置F和最大值,求出确定出的位置F与最大值之差,由此可以获得超调量。
图12是沿用图10C的放大图,表示收敛判定值的一例即稳定时间的图。在图12所示的振动量数据中由箭头G表示的部分是稳定时间。更具体来说,稳定时间是从学习控制的机器人的停止时刻(在本例中是1.0秒)起到在以最终位置F为基准的规定稳定宽度H以内的位置振动量收敛为止的时间。通过从图11所示的振动量数据确定最终位置F,并且确定振动量数据在规定的稳定宽度H以内的位置收敛的最初时刻,求出确定出的时刻与上述停止时刻之差,由此可以获得稳定时间。
另外,以上对由伺服电动机驱动的机器人11的学习控制进行了说明,但是本发明涉及的学习控制的最佳次数的判定方法,只要是由伺服电动机驱动的被驱动体,则能够应用于任何物体。因此,本发明例如还能够应用于被电动机驱动的机床。
以上,使用典型的实施方式对本发明进行了说明,但是本领域技术人员应当理解可以在不脱离本发明范围的情况下对上述实施方式进行变更以及各种其他变更、省略、追加。

Claims (7)

1.一种控制系统,具有:被伺服电动机驱动的被驱动体、控制所述伺服电动机使所述被驱动体动作的控制装置、以及检测所述被驱动体的一个部位的位置相关的值的传感器,其特征在于,
所述控制装置具有:
动作控制部,其根据预先制作的动作程序按控制周期生成通向所述伺服电动机的指令值,并通过该指令值进行所述被驱动体的动作控制;以及
学习控制处理部,其使所述动作控制部重复实施学习控制,所述学习控制是指在进行基于所述动作程序的所述动作控制时求出用于校正产生于所述一个部位的振动的振动校正量,并将该振动校正量应用于下一次基于所述动作程序的所述动作控制,
所述学习控制处理部具有:
振动量推定部,其根据在所述动作控制部实施一次所述学习控制的期间所述传感器检测出的检测值的时间序列数据和所述动作控制部生成的所述指令值的时间序列数据,来推定在该一次学习控制的实施过程中在所述一个部位产生的振动量的时间序列数据;
振动校正量计算部,其根据所述振动量的时间序列数据,求出应该应用于下一次基于所述动作程序的所述动作控制的所述振动校正量;
存储部,每当所述动作控制部实施一次所述学习控制时,所述存储部将表示该实施的学习控制是第几次的学习次数与所述振动量的时间序列数据彼此对应起来进行存储;以及
判定部,其对存储于所述存储部的每一个所述学习次数的所述振动量的时间序列数据中的各个数据,求出用于判定所述一个部位的振动是否收敛的收敛判定值,将取得该求出的收敛判定值中最小的所述收敛判定值的所述学习次数判定为所述学习控制的最佳实施次数。
2.根据权利要求1所述的控制系统,其特征在于,
对于所述学习控制的第i次实施结束后存储于所述存储部的、所述学习次数是所述i次时的所述振动量的时间序列数据和所述学习次数是i-1次时的所述振动量的时间序列数据,所述判定部分别求出所述收敛判定值,在该求出的两个所述收敛判定值之差是规定的阈值以下时,判定为所述一个部位的振动收敛,并以所述i次结束所述学习控制的实施,其中,i是正整数。
3.根据权利要求1或2所述的控制系统,其特征在于,
所述收敛判定值是所述振动量的时间序列数据中至少一部分数据的标准偏差、最大振幅、超调量、以及稳定时间中的至少某一个。
4.根据权利要求1或2所述的控制系统,其特征在于,
所述传感器是加速度传感器、陀螺仪传感器、惯性传感器、力传感器、激光跟踪器、照相机、或者动作捕捉装置。
5.一种控制方法,用于控制驱动被驱动体的伺服电动机来使所述被驱动体动作,其特征在于,
所述控制方法具有重复实施学习控制的学习控制处理阶段,所述学习控制是指在根据用于进行所述被驱动体的动作控制的动作程序由所述伺服电动机进行了所述动作控制时求出用于校正产生于所述被驱动体的一个部位的振动的振动校正量,并将该振动校正量应用于下一次基于所述动作程序的所述动作控制,
所述学习控制处理阶段包括:
在实施一次所述学习控制的期间,取得所述一个部位的位置相关的值的时间序列数据以及根据所述动作程序生成的指令值的时间序列数据,根据所述位置相关的值的时间序列数据以及所述指令值的时间序列数据,推定在该一次学习控制的实施过程中在所述一个部位产生的振动量的时间序列数据;
根据所述振动量的时间序列数据,求出应该应用于下一次基于所述动作程序的所述动作控制的所述振动校正量;
每当实施一次所述学习控制时,将表示该实施的学习控制是第几次的学习次数与所述振动量的时间序列数据彼此对应起来存储于存储部;以及
对存储于所述存储部的每一个所述学习次数的所述振动量的时间序列数据中的各个数据,求出用于判定所述一个部位的振动是否收敛的收敛判定值,将取得该求出的收敛判定值中最小值的所述收敛判定值的所述学习次数判定为所述学习控制的最佳实施次数。
6.根据权利要求5所述的控制方法,其特征在于,
所述学习控制处理阶段包括:
对于所述学习控制的第i次实施结束后存储于所述存储部的、所述学习次数是所述i次时的所述振动量的时间序列数据和所述学习次数是i-1次时的所述振动量的时间序列数据,分别求出所述收敛判定值,在该求出的两个所述收敛判定值之差是规定的阈值以下时,判定为所述一个部位的振动收敛,并以所述i次结束所述学习控制的实施,其中,i是正整数。
7.根据权利要求5或6所述的控制方法,其特征在于,
所述收敛判定值是所述振动量的时间序列数据中至少一部分数据的标准偏差、最大振幅、超调量、以及稳定时间中的至少某一个。
CN201810072717.5A 2017-01-26 2018-01-25 具有学习控制功能的控制系统以及控制方法 Active CN108356823B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017012336A JP6400750B2 (ja) 2017-01-26 2017-01-26 学習制御機能を備えた制御システム及び制御方法
JP2017-012336 2017-01-26

Publications (2)

Publication Number Publication Date
CN108356823A true CN108356823A (zh) 2018-08-03
CN108356823B CN108356823B (zh) 2019-10-15

Family

ID=62812922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810072717.5A Active CN108356823B (zh) 2017-01-26 2018-01-25 具有学习控制功能的控制系统以及控制方法

Country Status (4)

Country Link
US (1) US10300600B2 (zh)
JP (1) JP6400750B2 (zh)
CN (1) CN108356823B (zh)
DE (1) DE102018000445B4 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109613299A (zh) * 2018-11-14 2019-04-12 深圳绿米联创科技有限公司 震动检测装置、方法、智能门锁及系统
CN110874084A (zh) * 2018-08-31 2020-03-10 发那科株式会社 加工环境推定装置
CN111015627A (zh) * 2018-10-10 2020-04-17 日本电产三协株式会社 机器人的动作完成时刻的判定装置及判定方法
CN113420885A (zh) * 2020-03-03 2021-09-21 丰田自动车株式会社 学习方法、学习系统和学习程序
CN114929435A (zh) * 2020-01-10 2022-08-19 发那科株式会社 控制系统

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6484265B2 (ja) * 2017-02-15 2019-03-13 ファナック株式会社 学習制御機能を備えたロボットシステム及び学習制御方法
CN107462154B (zh) * 2017-07-28 2019-08-30 深圳市圆梦精密技术研究院 机器人末端工具的位姿测量方法
JP6497472B1 (ja) 2018-06-21 2019-04-10 株式会社横須賀テレコムリサーチパーク 送受信方法、および送受信システム
JP7246175B2 (ja) * 2018-12-12 2023-03-27 株式会社Preferred Networks 推定装置、訓練装置、推定方法及び訓練方法
JP7339776B2 (ja) * 2019-05-28 2023-09-06 川崎重工業株式会社 制御システム、機械装置システム及び制御方法
JP6723424B1 (ja) 2019-06-21 2020-07-15 株式会社横須賀テレコムリサーチパーク 送受信方法および送受信システム
JP7310358B2 (ja) 2019-06-27 2023-07-19 セイコーエプソン株式会社 オーバーシュート量検出方法、オーバーシュート量検出システム、ロボットシステムおよびオーバーシュート量調整方法
KR102680097B1 (ko) 2019-11-01 2024-07-02 삼성전자주식회사 전자 장치 및 그 동작 방법
JP7537152B2 (ja) 2020-07-17 2024-08-21 セイコーエプソン株式会社 オーバーシュート量検出方法およびロボットシステム
TW202237354A (zh) * 2021-03-29 2022-10-01 日商發那科股份有限公司 控制裝置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0554013A (ja) * 1991-08-29 1993-03-05 Toyoda Mach Works Ltd ニユーラルネツトワークの学習装置
CN102189550A (zh) * 2010-02-19 2011-09-21 发那科株式会社 具有学习控制功能的机器人
CN102785046A (zh) * 2011-05-17 2012-11-21 发那科株式会社 具备学习控制功能的机器人和点焊机器人
CN103538065A (zh) * 2012-07-09 2014-01-29 发那科株式会社 减振控制机器人系统
CN104742126A (zh) * 2013-12-26 2015-07-01 发那科株式会社 具有无线加速度传感器的机器人系统
CN105313128A (zh) * 2015-11-30 2016-02-10 马鞍山万普实业发展有限公司 一种具备学习控制功能的汽车点焊机器人
CN105359406A (zh) * 2013-07-09 2016-02-24 松下知识产权经营株式会社 电动机的控制装置
JP6020387B2 (ja) * 2013-08-23 2016-11-02 株式会社デンソー 圧力センサの応答性学習装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696999A (en) * 1995-09-12 1997-12-09 Nikon Corporation Image vibration reduction device
JPH1011927A (ja) * 1996-06-24 1998-01-16 Toshiba Corp 磁気ディスク装置用サーボライト装置及びサーボライト方法
JP2002089619A (ja) * 2000-09-14 2002-03-27 Canon Inc アクティブ除振装置、モード行列の算出方法およびこれらを用いた露光装置
US7054094B2 (en) * 2000-12-12 2006-05-30 Seagate Technology Llc Real-time automatic loop-shaping for a disc drive servo control system
US6844693B2 (en) * 2002-03-29 2005-01-18 Matsushita Electric Industrial Co., Ltd. Position control apparatus for motor
JP4283214B2 (ja) 2004-12-16 2009-06-24 ファナック株式会社 機械先端点の制御装置
JP2008171519A (ja) * 2007-01-15 2008-07-24 Fujitsu Ltd 記憶装置及び制御方法
JP2012232370A (ja) 2011-04-28 2012-11-29 Seiko Epson Corp ロボットコントローラー、簡易設置型ロボット、及び簡易設置型ロボットの制御方法
US8922937B1 (en) * 2012-04-19 2014-12-30 Western Digital Technologies, Inc. Disk drive evaluating multiple vibration sensor outputs to enable write-protection
EP2958229B1 (en) * 2013-04-10 2017-03-08 Panasonic Intellectual Property Management Co., Ltd. Motor drive device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0554013A (ja) * 1991-08-29 1993-03-05 Toyoda Mach Works Ltd ニユーラルネツトワークの学習装置
CN102189550A (zh) * 2010-02-19 2011-09-21 发那科株式会社 具有学习控制功能的机器人
CN102785046A (zh) * 2011-05-17 2012-11-21 发那科株式会社 具备学习控制功能的机器人和点焊机器人
CN103538065A (zh) * 2012-07-09 2014-01-29 发那科株式会社 减振控制机器人系统
CN105359406A (zh) * 2013-07-09 2016-02-24 松下知识产权经营株式会社 电动机的控制装置
JP6020387B2 (ja) * 2013-08-23 2016-11-02 株式会社デンソー 圧力センサの応答性学習装置
CN104742126A (zh) * 2013-12-26 2015-07-01 发那科株式会社 具有无线加速度传感器的机器人系统
CN105313128A (zh) * 2015-11-30 2016-02-10 马鞍山万普实业发展有限公司 一种具备学习控制功能的汽车点焊机器人

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874084A (zh) * 2018-08-31 2020-03-10 发那科株式会社 加工环境推定装置
CN110874084B (zh) * 2018-08-31 2023-09-15 发那科株式会社 加工环境推定装置
CN111015627A (zh) * 2018-10-10 2020-04-17 日本电产三协株式会社 机器人的动作完成时刻的判定装置及判定方法
CN109613299A (zh) * 2018-11-14 2019-04-12 深圳绿米联创科技有限公司 震动检测装置、方法、智能门锁及系统
CN114929435A (zh) * 2020-01-10 2022-08-19 发那科株式会社 控制系统
CN113420885A (zh) * 2020-03-03 2021-09-21 丰田自动车株式会社 学习方法、学习系统和学习程序

Also Published As

Publication number Publication date
CN108356823B (zh) 2019-10-15
DE102018000445A1 (de) 2018-07-26
JP6400750B2 (ja) 2018-10-03
DE102018000445B4 (de) 2019-09-19
US20180207797A1 (en) 2018-07-26
JP2018118353A (ja) 2018-08-02
US10300600B2 (en) 2019-05-28

Similar Documents

Publication Publication Date Title
CN108356823B (zh) 具有学习控制功能的控制系统以及控制方法
CN108568814B (zh) 机器人以及机器人的控制方法
US10618164B2 (en) Robot system having learning control function and learning control method
CN106584489B (zh) 具备计算传感器的位置和方向的功能的机器人系统
JP4850956B2 (ja) 学習制御機能を備えたロボット
JP4202365B2 (ja) 力制御装置
JP5480198B2 (ja) 学習制御機能を備えたスポット溶接ロボット
CN106965171B (zh) 具备学习功能的机器人装置
US10646995B2 (en) Robot that carries out learning control in applications requiring constant speeds, and control method thereof
CN109421049B (zh) 机器人系统
JP2006215807A (ja) ロボット制御装置および制御方法
JP2019181610A (ja) モータエンコーダ及びセンサを用いて学習制御を行うロボットシステム
JP7164368B2 (ja) ロボット装置
JP2014117787A (ja) 制御装置
Fateh et al. On the transforming of control space by manipulator Jacobian
JP5324397B2 (ja) 情報処理方法及び装置並びにプログラム
JP7098062B2 (ja) ロボットの動作調整装置、動作制御システムおよびロボットシステム
JP2011093056A (ja) 情報処理方法及び装置並びにプログラム
JP2006031627A (ja) 位置決め制御装置及び位置決め制御方法
Ozawa et al. Adaptive task space PD control via implicit use of visual information
CN116917086A (zh) 控制装置、机器人系统、学习装置、控制方法和程序
Cheng et al. Inertial and vision sensor based end-effector sensing and control for robot manipulators

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