机器人的控制装置及控制方法

文档序号:2309687阅读:133来源:国知局
专利名称:机器人的控制装置及控制方法
技术领域
本发明涉及机器人的控制装置,特别是使工具沿着合成多个移动轨迹而得到的合成移动轨迹移动的控制装置及控制方法。
背景技术
(现有技术I) 下述专利文献I记载了如下发明,其涉及作为垂直多关节机器人构成,将工件向冲压装置搬运的工件搬运机器人的控制。即,如图I所示,进行如下控制在使工件搬运机器人的手从移动开始位置Rl移动到移动结束位置R3时,通过在从移动开始位置Rl向中途位置R2移动的第一动作结束之前开始从中途位置R2向移动结束位置R3移动的第二动作,使机器人手沿着中途位置R2附近的顺畅的修正移动路径310移动(引用文献I的图9)。这种情况下,与直线状的移动路径的情况同样地计算修正移动路径310上的每隔控制时间间隔的逐次的移动位置,通过对计算得到的移动位置进行反变换运算来求出机器人各轴的目标位置,通过以得到该求出的机器人各轴的目标位置的方式控制机器人各轴,使机器人手沿着修正移动路径310移动(专利文献I的段落0063及段落0077 0079及图3)。(现有技术2)在下述专利文献2中,如图2所示,记载了如下发明,其涉及作为水平多关节机器人构成,进行半导体晶片W的搬出及搬入的工件搬运机器人300的控制。即,在图2中,进行如下控制使作为水平多关节机器人构成的工件搬运机器人300的臂部301、302进行伸缩动作,使载置有半导体晶片W的手303从点Ql向点Q2方向直线移动,然后,从点Q2跟前的点Q5沿着合成了臂部伸缩动作和旋转动作而得到的快捷轨迹以不经过点Q2的快捷方式移动到点Q6,然后,使臂部301、302从点Q6向点Q3进行旋转动作,接着从点Q3跟前的点Q7到点Q8沿着快捷轨迹以不经过点Q3的快捷方式移动到点Q8,然后,使臂部301、302进行伸缩动作,使载置有半导体晶片W的手303从点Q8直线移动到点Q4(引用文献2的图3)。这种情况下,驱动控制机器人各轴位置,以使沿着快捷轨迹移动时,工件搬运机器人300的手303以按照将臂部伸缩动作所需的速度图形和旋转动作所需的速度图形合成而得到的速度图形的速度进行移动(引用文献2的图19)。专利文献I :日本特开2006 - 243926号公报(特别是段落0063及段落0077 0079及图3、图9)专利文献2 :国际公开号W097/34742 (特别是图3及图19)根据现有技术1,由于工件搬运机器人的手沿着图中大致圆弧状的修正移动路径310移动,故而与沿着连接位置Rl、R2的直线状的移动路径及连接位置R2、R3的直线状的移动路径移动的情况相比,无需使机器人手在中途位置(R2)停止。因此,能够高速且顺畅地搬运工件。但是,为了使工件搬运机器人的手沿着大致圆弧状的修正移动路径310移动,需要预先通过圆弧差补或示教求出修正移动路径310。这是因为,若不预先求出修正移动路径310,则不能求出与修正移动路径310上的每隔控制时间间隔的逐次的机器人手移动位置对应的机器人各轴的目标位置。这样,在现有技术I中,为了控制机器人各轴,需要预先求出大致圆弧状的修正移动路径310,作为机器人控制的预处理的运算处理需要相当多的时间。同样,根据现有技术2,工件搬运机器人300的手303沿着不经过点Q2的大致圆弧状的快捷轨迹及不经过点Q3的快捷轨迹移动,因此,与沿着直线移动轨迹Q5 Q2移动后,接着沿着旋转移动轨迹P2 P3移动,接着沿着直线移动轨迹Q3 Q4的情况相比,无需在点Q2、点Q3使机器人手203停止。因此,能够高速且顺畅地搬出、搬入工件W。但是,在现有技术2中,也与现有技术I同样地,为了使工件搬运机器人300的手303沿着大致圆弧状的快捷轨迹移动,需要预先通过圆弧差补或示教求出快捷轨迹。这是因为,若不预先求出快捷轨迹,则不能求出与快捷轨迹上的每隔控制时间间隔的逐次的机器人手303的移动位置对应的机器人各轴的目标位置,不能使机器人手以按照合成速度图形 的所希望的速度移动。这样,在现有技术2中,也与现有技术I同样地,为了控制机器人各轴,需要预先求出大致圆弧状的快捷轨迹,作为机器人控制的预处理的运算处理,需要相当多的时间。如上所述,在现有技术中,提出了如下想法在希望的移动轨迹(例如,图2的点Ql 点Q4)的中途,使工具(机器人手)沿着合成两个动作(直线动作和旋转动作)而得到的合成移动轨迹(快捷轨迹)移动,但是,也仅限于以合成速度图形而得到的合成速度图形对工具进行速度控制而已,为了控制机器人各轴(驱动各轴的促动器),需要求出合成移动轨迹的运算处理。

发明内容
本发明是鉴于这样的实际情况而提出的,其解决课题在于,在希望的移动轨迹的中途,使工具沿着至少合成两个动作而得到的合成移动轨迹移动时,无需求出合成移动轨迹的运算处理,显著地缩短了机器人控制的预处理所需的处理时间。本发明第一方面的机器人的控制装置,其具有促动器,通过使该促动器的控制值在每个规定的控制周期发生变化,使机器人的工具沿着希望的移动轨迹从移动开始点变化到移动结束点,其中,所述控制装置适用于在所述希望的移动轨迹的中途,使所述工具沿着至少合成两个动作而得到的合成移动轨迹移动的情况,该控制装置具备虚拟动作开始点/结束点探测装置,其以应从进入所述合成移动轨迹之前进行的先行动作的虚拟动作结束点和应在经过所述合成移动轨迹以后也进行的后行动作的虚拟动作开始点一致的方式探测虚拟动作开始点/结束点;控制值运算装置,其对用于实现所述先行动作的先行动作用控制值,从初始值运算到终端值,同时对用于实现所述后行动作的后行动作用控制值,从初始值运算到终端值,以使所述先行动作在所述虚拟动作开始点/结束点结束,且所述后行动作从所述虚拟动作开始点/结束点、且在时间上在所述先行动作结束之前开始;促动器目标控制值运算装置,其在附加了使所述后行动作用控制值的初始值与所述先行动作用控制值的终端值一致的条件后,基于所述先行动作用控制值的此次值与上次值的差值加上所述后行动作用控制值的此次值与上次值的差值所得到的值,运算所述工具沿着所述合成移动轨迹移动的区间中的促动器的此次目标控制值;控制装置,其以得到所述运算的目标控制值的方式控制促动器,使所述工具沿着所述合成移动轨迹移动。本发明第二方面的机器人的控制装置,在第一方面的基础上,所述机器人为具备搬运工件的手作为所述工具的工件搬运机器人。本发明第三方面的机器人的控制装置,在第一方面或第二方面的基础上,促动器为多个电机,先行动作用控制值及后行动作用控制值分别作为与所述工具的位置对应的多个电机的控制位置而进行运算。本发明第四方面的机器人的控制装置,在第一方面或第二方面的基础上,所述促动器为多个虚拟电机,与所述至少两个动作对应而决定虚拟电机,先行动作用控制值及后行动作用控制值分别作为与先行动作对应的虚拟电机的控制值及与后行动作对应的虚拟 电机的控制值而进行运算。本发明第五方面的机器人的控制装置,在第一方面至第四方面的基础上,先行动作用控制值及后行动作用控制值分别作为逐次的每个控制周期的函数值而进行运算。本发明第六方面的机器人的控制方法,通过使具有促动器的机器人的该促动器的控制值在每个规定的控制周期发生变化,使机器人的工具沿着希望的移动轨迹从移动开始点变化到移动结束点,其中,所述控制方法适用于在所述希望的移动轨迹的中途,使所述工具沿着至少合成两个动作而得到的合成移动轨迹移动的情况,以应从进入所述合成移动轨迹之前进行的先行动作的虚拟动作结束点和应在经过所述合成移动轨迹以后也进行的后行动作的虚拟动作开始点一致的方式探测虚拟动作开始点/结束点,对用于实现所述先行动作的先行动作用控制值,从初始值运算到终端值,同时对用于实现所述后行动作的后行动作用控制值,从初始值运算到终端值,以使所述先行动作在所述虚拟动作开始点/结束点结束,且所述后行动作从所述虚拟动作开始点/结束点、且在时间上在所述先行动作结束之前开始,在附加了使所述后行动作用控制值的初始值与所述先行动作用控制值的终端值一致的条件后,基于所述先行动作用控制值的此次值与上次值的差值加上所述后行动作用控制值的此次值与上次值的差值所得到的值,运算所述工具沿着所述合成移动轨迹移动的区间中的促动器的此次目标控制值,以得到所述运算的目标控制值的方式控制促动器,使所述工具沿着所述合成移动轨迹移动。本发明第七方面的机器人的控制装置,在第一方面的基础上,预先准备用于对先行动作用控制值从初始值运算到终端值的先行动作用转换函数,并且预先准备用于对后行动作用控制值从初始值运算到终端值的后行动作用转换函数,在每个规定的控制周期,利用先行动作用转换函数运算先行动作用控制值,同时利用后行动作用转换函数运算后行动作用控制值。本发明第八方面的机器人的控制方法,在第六方面的基础上,预先准备用于对先行动作用控制值从初始值运算到终端值的先行动作用转换函数,同时预先准备用于对后行动作用控制值从初始值运算到终端值的后行动作用转换函数,在每个规定的控制周期,利用先行动作用转换函数运算先行动作用控制值,同时利用后行动作用转换函数运算后行动作用控制值。(发明效果)根据本发明,如图6及图8所示,对用于实现先行动作(Pl P2的直线动作A)的先行动作用控制值(AlnA、A2nA、A3nA)从初始值(AlsA、A2sA、A3sA)运算到终端值(A1EA、A2EA、A3EA),同时,对用于实现后行动作(P2 P3的直线动作B)的后行动作用控制值(BlnB, B2nB、B3nB)从初始值(BlsB、B2sB、B3sB)运算到终端值(B1EB、B2EB、B3EB)。这种情况下,预先准备用于对先行动作用控制值从初始值运算到终端值的先行动作用转换函数FA,同时预先准备用于对后行动作用控制值从初始值运算到终端值的后行动作用转换函数FB,在每个规定的控制周期,利用先行动作用转换函数FA运算先行动作用控制值,同时利用后行动作用转换函数FB运算后行动作用控制值(第七方面、第八方面)。 基于这样得到的先行动作用控制值(AlnA、A2nA、A3nA)、后行动作用控制值(BlnB, B2nB、B3nB),在附加了使后行动作用控制值的初始值(BlsB、B2sB、B3sB)与先行动作用控制值的终端值(A1EA、A2EA、A3EA) 一致的条件(BlsB = A1EA、B2sB = A2EA、B3sB=A3EA)后,基于先行动作用控制值的此次值与上次值的差值(AlnA — AlnA-U A2nA 一A2nA-l、A3nA — A3nA-l)加上后行动作用控制值的此次值与上次值的差值(BlnB — BlnB-1、B2nB — B2nB-l、B3nB — B3nB_l)而得到的值((AlnA — AlnA-I) + (BlnB — BlnB-I)、(A2nA — A2nA-l) + (B2nB — B2nB_l)、(A3nA — A3nA_l) + (B3nB — B3nB_l))运算工具沿着合成移动轨迹(AB)移动的区间中的促动器的此次目标控制值(Mln、M2n、M3n),通过以得到该运算得到的目标控制值的方式控制促动器,能够使工具沿着合成移动轨迹移动。这样,合成移动轨迹(P4 P5的大致圆弧轨迹AB)上的控制值由先行动作用控制值和后行动作用控制值求出,无需预先求出合成移动轨迹。另外,先行动作用控制值和后行动作用控制值是在控制动作中的每个规定的控制周期中得到的,无需预先求出这些控制值并存储在规定的存储器中的预处理。因此,能够缩短预先计算合成移动轨迹的预处理所需的时间。进一步来说,只要预先准备用于求出先行动作用控制值的先行动作用转换函数FA、用于求出后行动作用控制值的后行动作用转换函数FB即可,无需准备用于求出合成移动轨迹上的控制值的特别函数。这样,根据本发明,在所希望的移动轨迹中途,使工具沿着至少合成两个动作而得到的合成移动轨迹移动时,无需预先求出合成移动轨迹的预处理或用于求出合成移动轨迹上的控制值的特别函数,因此,能够显著地缩短机器人控制的预处理所需的处理时间。其结果,运算处理的负担减轻,能够谋求机器人控制系统的简化。


图I是说明现有技术I的图;图2是说明现有技术2的图;图3是表示实施例的机器人控制系统的构成的图;图4 (a)、(b)是在水平面概念性表示机器人的动作的图;图5 (a)、(b)分别是表示使手位置直线动作的情况和电机的驱动控制指令的关系的图、和使手位置旋转动作的情况的移动轨迹和电机的驱动控制指令的关系的图;图6是表示实施例的移动轨迹的一例的图;图7是不意地表不实施例的处理流程的流程图;图8是详细地表示图7的处理的流程图;图9是表示先行直线动作和后行直线动作的速度变化图形的一例的图;图10是表示与图2相同的移动轨迹的图。
具体实施例方式以下,参照

本发明的机器人的控制装置及控制方法的实施方式。
另外,以下,作为机器人,假设构成为水平多关节机器人且搬运半导体晶片或液晶基板等的工件搬运机器人进行说明。图3是表示实施例的机器人控制系统的构成的图。如该图3所示,机器人控制系统大致由命令用PC(个人电脑)30、机器人控制器40、电机驱动器51、52、53、机器人10构成。如图3中的立体图所示,机器人10是具备第一轴I、第二轴2、第三轴3的水平多关节机器人。机器人10具备基座29、第一连杆21、第二连杆22、手23、电机11、电机12、电机13。电机11、12、13分别构成驱动机器人10的各轴1、2、3的促动器。在该实施例中,形成为电机11、12、13为旋转驱动的促动器,作为“控制值”被赋予“控制位置(旋转位置)”而被驱动。电机11是使第一轴I转动的促动器,电机12是使第二轴2转动的促动器,电机13是使第三轴3转动的促动器。第一连杆21的一端与基座29转动自如地连接,通过第一轴I的转动而在水平方向上相对于基座29相对转动。第二连杆22的一端与第一连杆21的另一端转动自如地连接,通过第二轴2的转动而在水平方向上相对于第一连杆21相对转动。手23在其上载置工件W,构成具备根据情况握持工件W的机构的工具,与第二连杆22的另一端转动自如地连接,通过第三轴3的转动,在水平方向上相对于第二连杆22相对转动。另外,在图中,省略了使基座29在垂直方向上移动的电机等机构的图不。电机11例如设于其旋转轴与第一轴I 一致的位置。同样地,电机12例如设于其旋转轴与第二轴2 —致的位置。同样地,电机13例如设于其旋转轴与第三轴3 —致的位置。图4是在水平面概念性表示机器人10的动作的图,表示各轴1、2、3转动前(图4Ca))和各轴1、2、3转动后(图4 (b))的机器人10的位置和姿势变化的一例。驱动控制电机11、12、13,通过使各轴1、2、3如图中箭头标记所示地逆时针或顺时针转动,能够使手23的基准点23a (例如手23的中心点;以下,称为手位置23a)沿着水平方向的希望的移动轨迹移动,将工件W从移动开始点Pl向移动开始点P3搬运。图5 (a)、(b)分别表示使手位置23a直线动作的情况和电机11、12、13的驱动控制指令的关系、使手位置23a旋转动作的情况的移动轨迹和电机11、12、13的驱动控制指令的关系。如图5 Ca)所示,通过以I : — 2 :1的速度比率分别驱动控制电机11、电机12、电机13,能够使手位置23a直线动作。另外,通过正反颠倒电机11、电机12、电机13的旋转方向,能够使手位置23a进行直线动作的方向正反颠倒(伸长方向、退缩方向)。如图5 (b)所示,通过使电机12、13停止旋转,只驱动控制电机11,能够使手位置23a旋转动作。另外,通过使电机11的旋转方向正反颠倒,能够使手位置23a进行旋转动作的方向正反颠倒(左旋转、右旋转)。图6表示实施例的移动轨迹的一例。在实施例中,形成为从移动开始点Pl到移动结束点P3沿着移动轨迹C移动。该移动轨迹C在移动轨迹C的中途,包含将直线动作A和直线动作B合成而得到的合成移动轨迹AB。 另外,在图3中,命令用PC30、机器人控制器40、电机驱动器51、52、53构成驱动控制电机11、12、13的装置。
S卩,从命令用PC30输出指示移动到移动轨迹C的移动结束点P3的移动命令,向机器人控制器40输入。机器人控制器40具备虚拟动作开始点/结束点探测装置41、控制值运算装置42、促动器目标控制值运算装置43、构成控制装置44的驱动器通信部45、存储器46。虚拟动作开始点/结束点探测装置41、控制值运算装置42、促动器目标控制值运算装置43由CPU构成,按照图7及详细地入图8所示的控制程序,利用存储于存储器46的数据依次执行
运算处理。在促动器目标控制值运算装置43中,最终求出各电机11、12、13的每个控制周期的目标控制位置。各电机11、12、13的每个控制周期的目标控制位置被赋予驱动器通信部45。驱动器通信部45经由接口对电机驱动器51、52、53赋予用于使其位于目标控制位置的位置指令。电机驱动器51、52、53构成控制装置44。电机驱动器51、52、53分别向电机11、12、13输出与位置指令对应的驱动信号。由此,驱动控制电机11、12、13,在每个控制周期使其位于目标控制位置,其结果是,手位置23a从移动开始点Pl沿着移动轨迹C移动到移动结束点P3。以下,一并参照图6说明图7及图8的流程图中进行的处理流程。图7示意地表示机器人控制器40进行的处理流程。首先,判断是否从命令用PC30输入了移动命令(步骤101)。若判断输入了移动命令(步骤101的判断“是”),则求出用于实现输入的移动命令的各动作A、B (步骤102)。然后,分别运算动作A、B的控制位置(步骤103、104)。然后,将动作A、B各自的控制位置的差值相加,求出用于使其沿着移动轨迹C移动的目标控制位置(步骤105)。然后,控制电机11、12、13,使其位于目标控制位置(步骤106)。图8详细地表示图7的步骤102 105的处理。(虚拟动作开始点/结束点P2的探测)在图7的步骤102中,求出动作A、动作B,探测动作A的虚拟动作结束点及动作B的虚拟动作开始点、即虚拟动作开始点/结束点P2。在存储器46中存储有限制包含手位置23a的当前位置Pl在内的手23的动作的限制数据。限制数据是考虑机器人10当前的位置、姿势、机器人10的动作环境(例如半导体制造装置)的已知尺寸,机器人10的动作范围等而预先存储收纳的数据。首先,作为移动命令被赋予的移动结束点为P3,但是,若移动结束点P3例如为处理腔的口 90内的位置,则通过必须将工件W相对于口 90在垂直方向上搬入这样的限制,移动结束点P3处的移动方向V3明确定义为与该口 90垂直的方向。另外,形成为在移动结束点P3附近的移动区间中,具有不能进行旋转动作,只能进行直线动作的限制。因此可知若考虑这些限制数据,则为了使手位置23a移动到移动结束点P3,必须执行朝向移动方向V3的方向到达移动结束点P3的直线动作B。手位置23a的当前位置Pl作为例如上次移动命令的移动轨迹的移动结束位置、或手位置23a的测量位置而被赋予。手位置23a的当前位置Pl的移动方向Vl作为上次移动命令的移动轨迹的移动结束位置的移动方向而被赋予。若此次的移动命令为初始移动命·令,移动开始点Pl的移动方向不受上次移动命令的限制,则考虑动作环境而决定为最佳移动方向VI。另外,形成为在移动开始点Pl附近的移动区间中具有只能进行直线动作这样的限制。因此,可知若考虑这些限制数据,则为了使手位置23a从移动开始点Pl移动,必须执行以移动开始点Pl为起点朝向移动方向Vl的方向的直线动作A。另外,此次的移动命令为从移动开始点Pl到移动结束点P3的移动,因此,以移动开始点Pl为起点的直线动作A成为先行于以移动结束点P3为终点的直线动作B的直线动作,直线动作B成为后行于直线动作A的直线动作。若求出先行直线动作A和后行直线动作B,则探测作为其交点的虚拟动作开始点/结束点P2。先行直线动作A和后行直线动作B的交点P2成为先行直线动作A的虚拟动作结束点、后行直线动作B的虚拟动作开始点。之所以定义为“虚拟”是因为手位置23a实际上并不位于点P2。在本实施例中,在先行直线动作A和后行直线动作B的中途生成合成先行直线动作A和先行直线动作B而得到的合成移动轨迹AB,使其沿着合成移动轨迹AB高速且顺畅地移动,而不使手位置23a在中途的虚拟动作开始点/结束点P2停止。如上所述,以应从进入合成移动轨迹AB之前进行的先行直线动作A的虚拟动作结束点与应在穿过合成移动轨迹AB以后也进行的后行直线动作B的虚拟动作开始点一致的方式运算虚拟动作开始点/结束点P2。该运算通过虚拟动作开始点/结束点探测装置41进行。另外,在该例中,通过运算探测虚拟动作开始点/结束点P2,但也可以通过示教探测虚拟动作开始点/结束点P2。例如,能够使机器人10实际动作,使手位置23a沿着先行直线动作A和后行直线动作B移动来示教虚拟动作开始点/结束点P2。这样,根据实施例,只要求出先行直线动作A和后行直线动作B,探测动作开始点/结束点P2即可,无需通过运算或示教求出合成移动轨迹AB,因此能够简易地进行运算处理或示教作业,在减轻CPU的负荷的同时,能够显著地缩短控制的预处理所需的时间(步骤201)。以下,对控制动作中进行的处理内容进行说明。另外,以下步骤202中的“直线动作A、B各自的电机11、12、13的控制位置的运算”处理及步骤203中的“用于使手位置23a沿着移动轨迹C移动的电机11、12、13的目标控制位置的运算”处理在控制动作中的每个规定的周期进行。与直线动作A对应的电机11、12、13的控制位置基于下述的先行动作用转换函数FA求出,与直线动作B对应的电机11、12、13的控制位置基于下述的后行动作用转换函数FB求出,预先准备转换函数FA、FB。(直线动作A、B各自的电机11、12、13的控制位置的运算)接着,对用于实现先行直线动作A的电机11、12、13各自的先行直线动作用控制位置 AlnA、A2nA、A3nA 从初始位置 AlsA、A2sA、A3sA 运算到终端值 A1EA、A2EA、A3EA,同时,对用于实现后行直线动作B的电机11、12、13各自的后行直线动作用控制位置則1^、821^、B3nB从初始位置BlsB、B2sB、B3sB运算到终端位置B1EB、B2EB、B3EB,以使先行直线动作A在虚拟动作开始点/结束点P2结束,且后行直线动作B从虚拟动作开始点/结束点P2,且在时间上在先行直线动作A结束之前开始。该运算通过控制值运算装置42进行。在每个规定的控制周期驱动控制电机11、12、13,因此,控制周期的次数用η表示。控制周期考虑从控制器40的运算处理的周期时间等来决定。
S卩,如下定义。ηΑ :先行直线动作A中的移动开始后的第η次的控制周期ηΒ :后行直线动作B中的移动开始后的第η次的控制周期AlsA :用于实现先行直线动作A的电机11的初始控制位置A2sA :用于实现先行直线动作A的电机12的初始控制位置A3sA :用于实现先行直线动作A的电机13的初始控制位置AlnA :用于实现先行直线动作A的电机11的当前(第η周期)控制位置Α2ηΑ :用于实现先行直线动作A的电机12的当前(第η周期)控制位置Α3ηΑ :用于实现先行直线动作A的电机13的当前(第η周期)控制位置AlEA :用于实现先行直线动作A的电机11的终端控制位置Α2ΕΑ :用于实现先行直线动作A的电机12的终端控制位置Α3ΕΑ :用于实现先行直线动作A的电机13的终端控制位置BlsB :用于实现后行直线动作B的电机11的初始控制位置B2sB :用于实现后行直线动作B的电机12的初始控制位置B3sB :用于实现后行直线动作B的电机13的初始控制位置BlnB :用于实现后行直线动作B的电机11的当前(第η周期)控制位置Β2ηΒ :用于实现后行直线动作B的电机12的当前(第η周期)控制位置Β3ηΒ :用于实现后行直线动作B的电机13的当前(第η周期)控制位置BlEB :用于实现后行直线动作B的电机11的终端控制位置Β2ΕΒ :用于实现后行直线动作B的电机12的终端控制位置Β3ΕΒ :用于实现后行直线动作B的电机13的终端控制位置在这里,先行直线动作用控制位置AlnA、A2nA、A3nA (nA = sA、…nA_l、nA…、EA)及后行直线动作用控制位置BlnB、Β2ηΒ、Β3ηΒ (ηΒ = sB、...ηΒ — I、ηΒ...、EB)能够分别作为与手位置23a对应的电机11、12、12的控制位置进行运算。一般来说,机器人10的手位置23a (定义轴的位置)的逐次的位置和电机11、12、13的控制位置的关系是一对一的关系,通过运算或示教求出手位置23a的逐次的位置,通过基于机器人10的逆运动学进行逆转换,能够将与其逐次的手位置23a对应的电机11、12、13的逐次的控制位置作为明确的数值求出。
这种情况下,可以将先行直线动作用控制位置AlnA、A2nA、A3nA(nA = sA、…nA_l、nA...、EA)及后行直线动作用控制位置 BlnB、Β2ηΒ、Β3ηΒ (ηΒ = sB、…ηΒ_1、ηΒ...、EB)作为与逐次的手位置23a对应的角度位置以数值求出,也可以预先准备由逐次的手位置23a运算逐次的电机控制位置的转换函数,作为其转换函数的函数值而求出。例如,如下式AlnA = FA (1,nA)A2nA = FA (2, nA)A3nA = FA (3, nA)BlnB = FB (1,ηΒ)Β2ηΒ = FB (2, ηΒ) Β3ηΒ = FB (3,ηΒ)…(I)能够预先准备转换函数Fx(a,nX),g卩“计算动作X中的电机Ia的第η周期的控制位置Xan的函数”,作为该转换函数的函数值求出逐次的动作用控制位置。转换函数通常作为由逐次的手位置23a计算各电机11、12、13的控制位置的函数而被赋予。另外,如下式BlsB = AlEAB2sB = A2EAB3sB = A3EA …(2)后行直线动作用控制位置的初始位置BlsB、B2sB、B3sB分别与先行直线动作用控制位置的终端位置A1EA、A2EA、A3EA—致。这是因为,先行直线动作A的虚拟动作结束点与后行直线动作B的虚拟动作开始点一致,均为点P2,手位置23a在各动作中均位于虚拟的同一点 P2。另外,如上所述,先行直线动作A结束的时刻和后行直线动作B开始的时刻不同,后行直线动作B从虚拟动作开始点/结束点P2开始移动的时刻在时间上在先行直线动作A在虚拟动作开始点/结束点P2结束移动的时刻之前,因此,后行直线动作B的最初控制周期(nB = sB)中进行控制的时刻是在先行直线动作A的最后控制周期(nA = EA)中进行控制的时刻之前的时刻。这样,对用于实现从点Pl到点P2的先行直线动作A的先行直线动作用控制位置Ain、A2n、A3n从初始位置Als、A2s、A3s运算到终端位置A1E、A2E、A3E,同时,对用于实现从点P2到点P3的后行直线动作B的后行直线动作用控制位置Bln、B2n、B3n从初始位置Bis、B2s、B3s 运算到终端位置 A1E、A2E、A3E。如上所述,后行直线动作B的最初控制周期(nB = sB)中进行控制的时刻是在先行直线动作A的最后控制周期(nA = EA)中进行控制的时刻之前的时刻,因此,两动作A、B重合。通过使两动作A、B在任意的希望的时刻重合,能够生成从点P4到点P5的大致圆弧状的合成移动轨迹AB,能够使手位置23a沿着合成移动轨迹AB移动。图9表示先行直线动作A和后行直线动作B的速度变化图形的一例。如该图9所示,先行直线动作A在时刻τ 到时刻τ 3之间进行。先行直线动作A的速度变化图形由控制位置Α1ηΑ、Α2ηΑ、Α3ηΑ和控制周期明确规定。同样地,后行直线动作B在时刻τ2到时刻τ 4之间进行。后行直线动作B的速度变化图形由控制位置BlnB、B2nB、B3nB和控制周期明确规定。若先行直线动作A从时刻τ I开始,则后行直线动作B从先行直线动作A在时刻τ 3结束之前的时刻τ 2开始。从时刻τ 2到时刻τ 3期间是合成移动轨迹AB通过先行直线动作A和后行直线动作B的重合而生成的期间。合成移动轨迹AB的速度变化图形成为合成先行直线动作A的速度变化图形和后行直线动作B的速度变化图形而得到的图形,即,成为各自的速度相加得到的速度(例如期间τ 2 τ 3中的一定速度)。如上所述,根据实施例,以独立于与直线动作Α、B对应的直线状的移动轨迹的方式求出圆弧状的移动轨迹ΑΒ,无需预先计算与该圆弧状的移动轨迹AB对应的电机11、12、13的控制位置,因此,能够简易地进行运算处理,在减轻了 CPU的负荷的同时,能够显著地缩短控制的预处理所需的时间(步骤202)。(用于使手位置23a沿着移动轨迹C移动的电机11、12、13的目标控制位置的运算)
接着,如上述(2)式所示,在附加了使后行直线动作用控制位置的初始位置BlsB、B2sB、B3sB分别与先行直线动作用控制位置的终端位置A1EA、A2EA、A3EA —致的条件后,基于例如上述(I)式所示的先行直线动作用控制位置和后行直线动作用控制位置,运算用于使手位置23a沿着移动轨迹C移动的各电机11、12、13的此次η的目标控制位置Mln、M2n、M3n。该运算通过促动器目标控制值运算装置43进行。SP,如下定义。η :各电机11、12、13的此次(第η次)的控制周期η - I :各电机11、12、13的上次(第η — I次)的控制周期Mln 电机11的此次η (第η周期)的目标控制位置Μ2η 电机12的此次η (第η周期)的目标控制位置Μ3η 电机13的此次η (第η周期)的目标控制位置电机11、12、13各自的此次η (第η周期)的目标控制位置Μ1η、Μ2η、Μ3η作为通式,
由下式得出。Mln = Mln-I + (AlnA — AlnA-I) + (B InB — BlnB-I) ... (3)M2n = M2n_l + (A2nA — A2nA_l) + (B2nB — B2nB_l) ... (4)M3n = M3n_l + (A3nA — A3nA_l) + (B3nB — B3nB_l)…(5)只进行先行直线动作A的区间、即手位置23a进入合成移动轨迹AB之前的区间Pl P4中的各电机11、12、13的此次η的目标控制位置Min、M2n、M3n由在上述(3)、
(4)、(5)式中分别省略了后行直线动作用控制位置的此次位置与上次位置的差值(BlnB —BlnB-1)、(B2nB — B2nB_l)、(B3nB — B3nB_l)而得到的下式得出。Mln = Mln-1 + (AlnA — AlnA-1)…(6)M2n = M2n_l + (A2nA — A2nA_l)…(7)M3n = M3n_l + (A3nA-A3nA_l)…(8)先行直线动作A和后行直线动作B同时执行的区间、即手位置23a沿着合成移动轨迹AB移动的区间P4 P5中的各电机11、12、13的此次η的目标控制位置Μ1η、Μ2η、Μ3η分别如上述(3)、(4)、(5)式所示,基于先行直线动作用控制位置的此次位置与上次位置的差值(AlnA - AlnA-1)、(A2nA 一 A2nA_l)、(A3nA 一 A3nA_l)、和后行直线动作用控制位置的此次位置与上次位置的差值(BlnB - BlnB-I)、(B2nB — B2nB_l)、(B3nB — B3nB_l)相加得到的值(AlnA — AlnA-1) + (BlnB — BlnB-I)、(A2nA — A2nA_l) + (B2nB — B2nB_l)、(A3nA - A3nA-l)+ (B3nB 一 B3nB_l)进行运算。需要说明的是,在先行直线动作A的基础上开始后行直线动作B时,利用上述(2)式(BlsB = A1EA、B2sB = A2EA、B3sB = A3EA)决定后行直线动作B开始时的各电机11、12、13的初始目标控制位置Mln、M2n、M3n。只进行后行直线动作B的区间、即手位置23a经过合成移动轨迹AB后的区间P5 P3中的各电机11、12、13的此次η的目标控制位置Mln、M2n、M3n由在上述(3)、(4)、(5)式中分别省略了先行直线动作用控制位置的此次位置与上次位置的差值(AlnA - AlnA-1)、(A2nA — A2nA_l)、(A3nA — A3nA_l)的下式得出。Mln = Mln-I + (BlnB — BlnB-1) ... (9)M2n = M2n_l + (B2nB — B2nB_l)…(10)M3n = M3n-1 + (B3nB — B3nB-l)…(11)
如上所述,各电机11、12、13的目标控制位置Mln、M2n、M3n能够只利用先行直线动作用控制位置和后行直线动作用控制位置作为它们的合成值而求出,无需运算并利用圆弧状的移动轨迹AB专用的控制位置,能够简易地进行运算处理,在减轻了 CPU的负荷的同时,能够显著地缩短控制的预处理所需的时间(步骤203)。(电机11、12、13 的控制)然后,以利用上述(3) (11)分别得到目标控制位置Mln、M2n、M3n的方式控制电机11、12、13,使手位置23a沿着移动轨迹C移动。该控制通过控制装置44进行。S卩,以利用上述(6)、(7)、(8)式,从最初控制周期(η = I)逐次在各控制周期中使各电机11、12、13的位置分别成为目标控制位置Mln、M2n、M3n的方式驱动控制电机11、12、
13。该控制进行到后行直线动作B开始的控制周期。其结果是,手位置23a从移动开始点Pl到点P4直线状地移动。然后,在附加了上述(2)式(BlsB= AlEA、B2sB = A2EA、B3sB = A3EA)的条件后,以利用上述(3)、(4)、(5)式,从后行直线动作B开始的控制周期逐次在各控制周期中使各电机11、12、13的位置分别成为目标控制位置Mln、M2n、M3n的方式驱动控制电机11、12、13。该控制进行到先行直线动作A结束的控制周期。其结果是,手位置23a从点P4到点P5大致圆弧状地沿着合成移动轨迹AB移动。然后,以利用上述(9)、(10)、( 11)式,从先行直线动作A结束后行直线动作B开始的控制周期逐次在各控制周期中使各电机11、12、13的位置分别成为目标控制位置Min、M2n、M3n的方式驱动控制电机11、12、13。该控制进行到后行直线动作B结束的控制周期。其结果是,手位置23a从点P5到移动结束点P3直线状地移动。如上所述,手位置23a从移动开始点Pl沿着包含合成移动轨迹AB的移动轨迹C移动到移动结束点P3,因此,能够高速且顺畅地搬运工件W (步骤204)。如上所述,根据该实施例,在希望的移动轨迹C的中途,使手位置23a沿着合成两个直线动作A、B而得到的合成移动轨迹AB移动时,合成移动轨迹AB上的控制位置由先行动作用控制值和后行动作用控制值求出,无需预先求出合成移动轨迹。另外,先行动作用控制位置和后行动作用控制位置分别是控制动作中在每个规定的控制周期得到的,无需预先求出这些控制值并存储在规定的存储器中的预处理。由此,能够缩短预先计算合成移动轨迹的预处理所需的时间。进一步来说,只要预先准备用于求出先行动作用控制位置的先行动作用转换函数FA、和用于求出后行动作用控制位置的后行动作用转换函数FB即可,无需准备用于求出合成移动轨迹上的控制位置的特别函数。这样,根据本实施例,在希望的移动轨迹的中途,使工具沿着至少合成两个动作而得到的合成移动轨迹AB移动时,无需预先求出预先合成移动轨迹AB的预处理或用于求出合成移动轨迹AB上的控制位置的特别函数,因此,能够显著地缩短机器人控制的预处理所需的处理时间。其结果是,减轻了运算处理的负担,能够谋求机器人控制系统的简化。进一步来说,在本实施例中,只由先行动作用转换函数FA、后行动作用转换函数FB的函数值求出包含合成移动轨迹AB的整个轨迹上的逐次的控制位置。在此,在现有技术中,若到达合成移动轨迹,则为了求出合成移动轨迹上的控制位置,增加了利用用于求出合成移动轨迹上的控制位置的特别函数进行的运算处理作为新的运算负荷,需要处理能力高的运算装置(处理能力高的CPU),但是,根据本实施例,只要处理能力较低的运算装置(处理能力低的CPU)即可。·
在上述说明中,以使手位置23a沿着合成两个直线动作A、B而得到的合成移动轨迹AB移动的情况为例进行了说明。但显然也能够使手位置23a沿着合成直线动作和旋转动作而得到的合成移动轨迹移动。图10示例了在中途合成直线动作A和旋转动作D而得到的合成移动轨迹AD、包含旋转动作D和直线动作B的合成移动轨迹DB的移动轨迹C。另外,图10是与作为现有技术进行说明的图2相对应的移动轨迹。S卩,假设如下情况从移动开始点Pl向点P2方向进行手位置23a的直线动作A,然后,从点P2跟前的点P5沿着合成移动轨迹AD以不经过点P2的快捷方式移动到点P6,然后,从点P6向点P3进行手位置23a的旋转动作D,然后,从点P3跟前的点P7到点P8沿着合成移动轨迹DB以不经过点P3的快捷方式移动到点P8,然后,从点P8到移动结束点P4进行手位置23a的直线动作B,将工件W从一个处理腔搬运到另一个处理腔。在这种情况下,也能够与上述实施例同样地进行控制。另外,以下,省略重复的详细说明。(虚拟动作开始点/结束点P2、P3的探测)·关于用于使其沿着合成移动轨迹AD移动的虚拟动作开始点/结束点P2的探测以应在进入合成移动轨迹AD之前进行的先行直线动作A的虚拟动作结束点与应在经过合成移动轨迹AD以后也进行的后行旋转动作D的虚拟动作开始点一致的方式探测虚拟动作开始点/结束点P2。·关于用于使其沿着合成移动轨迹DB移动的虚拟动作开始点/结束点P3的探测以应在进入合成移动轨迹DB之前进行的先行旋转动作D的虚拟动作结束点与应在经过合成移动轨迹DB以后也进行的后行直线动作B的虚拟动作开始点一致的方式探测虚拟动作开始点/结束点P3。(分别实现直线动作A、旋转动作D、直线动作B的电机11、12、13的控制位置的运算)·用于使其沿着合成移动轨迹AD移动的电机控制位置的运算对用于实现先行直线动作A的电机11、12、13各自的先行直线动作用控制位置AlnA、A2nA、A3nA从初始位置AlsA、A2sA、A3sA运算到终端值A1EA、A2EA、A3EA,同时,对用于实现后行旋转动作D的电机11、12、13各自的后行旋转动作用控制位置DlnD、D2nD、D3nD从初始位置DlsD、D2sD、D3sD运算到终端位置DIED、D2ED、D3ED,以使先行直线动作A在虚拟动作开始点/结束点P2结束,且使后行旋转动作D从虚拟动作开始点/结束点P2、且在时间上在先行直线动作A结束之前开始。详细的运算如上述(I)、(2)式所示,只是将“B”替换成“D”。·用于使其沿着合成移动轨迹DB移动的电机控制位置的运算对用于实现先行旋转动作D的电机11、12、13各自的先行旋转动作用控制位置DlnD, D2nD、D3nD从初始位置DlsD、D2sD、D3sD运算到终端值DIED、D2ED、D3ED,同时,对用于实现后行直线动作B的电机11、12、13各自的后行直线动作用控制位置則1^、821^、831^从初始位置BlsB、B2sB、B3sB运算到终端位置B1EB、B2EB、B3EB,以使先行旋转动作D在虚拟动作开始点/结束点P3结束,且使后行直线动作B从虚拟动作开始点/结束点P3,且在时间上在先行旋转动作D结束之前开始。 详细的运算如上述的(I)、(2)式所示,只是将“A”替换成“D”。另外,显然能够省略关于旋转动作D的重复运算。(用于使手位置23a沿着移动轨迹C移动的电机11、12、13的目标控制位置的运算)·用于使其沿着合成移动轨迹AD移动的电机目标控制位置的运算在附加了使后行旋转动作用控制位置的初始位置DlsD、D2sD、D3sD分别与先行直线动作用控制位置的终端位置A1EA、A2EA、A3EA 一致的条件后,基于先行直线动作用控制位置和后行旋转动作用控制位置,运算用于使手位置23a沿着移动轨迹C移动的各电机11、12、13的此次η的目标控制位置Mln、M2n、M3n。详细的运算如上述(2) (11)式所示,只是将“B”替换成“D”。·用于使其沿着合成移动轨迹DB移动的电机目标控制位置的运算在附加了使后行直线动作用控制位置的初始位置BlsB、B2sB、B3sB分别与先行旋转动作用控制位置的终端位置DIED、D2ED、D3ED 一致的条件后,基于先行旋转动作用控制位置和后行直线动作用控制位置,运算用于使手位置23a沿着移动轨迹C移动的各电机11、
12、13的此次η的目标控制位置Mln、M2n、M3n。详细的运算如上述(2) (11)式所示,只是将“A”替换成“D”。另外,显然能够省略关于旋转动作D的重复运算。(电机11、12、13 的控制)接着,以利用如上所述替换后的(3) (11)分别得到目标控制位置Mln、M2n、M3n的方式控制电机11、12、13,使手位置23a沿着移动轨迹C移动。其结果,手位置23a从移动开始点Pl到点P5直线状地移动,接着,从点P5到点P6大致圆弧状地沿着合成移动轨迹AD移动,接着,从点P6到点P7旋转移动,接着,从点P7到点P8大致圆弧状地沿着合成移动轨迹DB移动,接着,从点P8到移动结束点P4直线状地移动。因此,高速且顺畅搬运工件W,无需预先求出合成移动轨迹AD及DB的预处理或用于求出合成移动轨迹AD及DB上的控制值的特别函数,因此,能够显著地缩短机器人控制的预处理所需要的处理时间,其结果是,减轻了运算处理的负担,能够谋求机器人控制系统的简化。在以上的说明中,说明了合成直线动作和直线动作的例子、合成直线动作和旋转动作的例子,但这些只不过是一例,显然能够同样地合成任意的动作。另外,以合成两个动作的情况为例进行了说明,但显然也能够合成三个以上的动作。以作为多个电机的复合动作实现直线动作、旋转动作等,将它们合成的情况为例进行了说明。但显然也能够合成一个电机的动作和一个电机的动作。在此,存在虚拟电机这样的想法。虚拟电机是指具有对应于机器人的动作的专用电机的想法。例如,使手直线运动时,具有使手呈直线状移动的虚拟电机,使手旋转动作时,具有使手旋转动作的虚拟电机。本发明也能够适用于虚拟电机。例如,使手位置23a沿着图10所示的合成移动轨迹移动的情况下,决定与直线动作对应的虚拟电机和与旋转动作对应的虚拟电机,将先行直线动作用控制值(直线动作位 置)及后行旋转动作用控制值(旋转角度)分别作为与先行动作对应的虚拟电机的控制值及与后行旋转动作对应的虚拟电机的控制值进行同样的运算即可。在以上实施例中,作为机器人,假设为水平多关节机器人进行了说明,但这只不过是一例,能够适用于垂直多关节机器人等任意形式的机器人。另外,在实施例中,作为驱动机器人的促动器,假设为电机,但是,显然本发明也能够适用于由气缸等其它任意的促动器驱动的机器人。另外,驱动促动器的介质显然可以利用电、液压、空气压力等任意介质。另外,假设具备手作为工具的工件搬运机器人进行了说明,但本发明不限于工件搬运机器人,显然也适用于具备焊接作业用的焊枪、切割加工用的焊枪等其它任意工具的机器人。
权利要求
1.一种机器人的控制装置,其具有促动器,通过使该促动器的控制值在每个规定的控制周期发生变化,使机器人的工具沿着希望的移动轨迹从移动开始点变化到移动结束点,其特征在于, 所述控制装置适用于在所述希望的移动轨迹的中途,使所述工具沿着至少合成两个动作而得到的合成移动轨迹移动的情况,该控制装置具备 虚拟动作开始点/结束点探测装置,其以应从进入所述合成移动轨迹之前进行的先行动作的虚拟动作结束点和应在经过所述合成移动轨迹以后也进行的后行动作的虚拟动作开始点一致的方式探测虚拟动作开始点/结束点; 控制值运算装置,其对用于实现所述先行动作的先行动作用控制值,从初始值运算到终端值,同时对用于实现所述后行动作的后行动作用控制值,从初始值运算到终端值,以使所述先行动作在所述虚拟动作开始点/结束点结束,且所述后行动作从所述虚拟动作开始点/结束点、且在时间上在所述先行动作结束之前开始; 促动器目标控制值运算装置,其在附加了使所述后行动作用控制值的初始值与所述先行动作用控制值的终端值一致的条件后,基于所述先行动作用控制值的此次值与上次值的差值加上所述后行动作用控制值的此次值与上次值的差值所得到的值,运算所述工具沿着所述合成移动轨迹移动的区间中的促动器的此次目标控制值; 控制装置,其以得到所述运算的目标控制值的方式控制促动器,使所述工具沿着所述合成移动轨迹移动。
2.如权利要求I所述的机器人的控制装置,其特征在于, 所述机器人为具备搬运工件的手作为所述工具的工件搬运机器人。
3.如权利要求I或2所述的机器人的控制装置,其特征在于, 促动器为多个电机, 先行动作用控制值及后行动作用控制值分别作为与所述工具的位置对应的多个电机的控制位置而进行运算。
4.如权利要求I或2所述的机器人的控制装置,其特征在于, 所述促动器为多个虚拟电机, 与所述至少两个动作对应而决定虚拟电机, 先行动作用控制值及后行动作用控制值分别作为与先行动作对应的虚拟电机的控制值及与后行动作对应的虚拟电机的控制值而进行运算。
5.如权利要求I 4中任一项所述的机器人的控制装置,其特征在于, 先行动作用控制值及后行动作用控制值分别作为逐次的每个控制周期的函数值而进行运算。
6.一种机器人的控制方法,通过使具有促动器的机器人的该促动器的控制值在每个规定的控制周期发生变化,使机器人的工具沿着希望的移动轨迹从移动开始点变化到移动结束点,其特征在于, 所述控制方法适用于在所述希望的移动轨迹的中途,使所述工具沿着至少合成两个动作而得到的合成移动轨迹移动的情况, 以应从进入所述合成移动轨迹之前进行的先行动作的虚拟动作结束点和应在经过所述合成移动轨迹以后也进行的后行动作的虚拟动作开始点一致的方式探测虚拟动作开始点/结束点, 对用于实现所述先行动作的先行动作用控制值,从初始值运算到终端值,同时对用于实现所述后行动作的后行动作用控制值,从初始值运算到终端值,以使所述先行动作在所述虚拟动作开始点/结束点结束,且所述后行动作从所述虚拟动作开始点/结束点、且在时间上在所述先行动作结束之前开始, 在附加了使所述后行动作用控制值的初始值与所述先行动作用控制值的终端值一致的条件后,基于所述先行动作用控制值的此次值与上次值的差值加上所述后行动作用控制值的此次值与上次值的差值所得到的值,运算所述工具沿着所述合成移动轨迹移动的区间中的促动器的此次目标控制值,以得到所述运算的目标控制值的方式控制促动器,使所述工具沿着所述合成移动轨迹移动。
7.如权利要求I所述的机器人的控制装置,其特征在于, 预先准备用于对先行动作用控制值从初始值运算到终端值的先行动作用转换函数,并且预先准备用于对后行动作用控制值从初始值运算到终端值的后行动作用转换函数, 在每个规定的控制周期,利用先行动作用转换函数运算先行动作用控制值,同时利用后行动作用转换函数运算后行动作用控制值。
8.如权利要求6所述的机器人的控制方法,其特征在于, 预先准备用于对先行动作用控制值从初始值运算到终端值的先行动作用转换函数,同时预先准备用于对后行动作用控制值从初始值运算到终端值的后行动作用转换函数, 在每个规定的控制周期,利用先行动作用转换函数运算先行动作用控制值,同时利用后行动作用转换函数运算后行动作用控制值。
全文摘要
一种机器人的控制装置及控制方法,在希望的移动轨迹的中途,使工具沿着至少合成两个动作而得到的合成移动轨迹移动时,无需求出合成移动轨迹的运算处理,显著缩短机器人控制的预处理所需的处理时间。对用于实现先行动作的先行动作用控制值,从初始值运算到终端值,同时对用于实现后行动作的后行动作用控制值,从初始值运算到终端值。在附加了使后行动作用控制值的初始值与先行动作用控制值的终端值一致的条件的基础上,基于先行动作用控制值的此次值与上次值的差值加上后行动作用控制值的此次值与上次值的差值所得到的值运算工具沿着合成移动轨迹移动的区间中的促动器的此次目标控制值,以得到该运算得到的目标控制值的方式控制促动器。
文档编号B25J9/10GK102917843SQ20118002620
公开日2013年2月6日 申请日期2011年11月22日 优先权日2010年11月26日
发明者田头龙马 申请人:日商乐华股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1