控制方法、控制装置、机器人系统、程序及记录介质与流程

文档序号:30977336发布日期:2022-08-02 23:41阅读:73来源:国知局
控制方法、控制装置、机器人系统、程序及记录介质1.相关申请的交叉引用2.本案申请要求于2019年10月9日在日本专利局申请的日本特愿2019-186009号的优先权,并通过引用其整体而作为本案申请的一部分。
技术领域
:3.本公开涉及控制方法、控制装置、机器人系统、程序及记录介质。
背景技术
::4.以往,已知一种使机器人原点复归的技术。例如,动作中的机器人由于某些原因而停止了的情况下,在机器人再启动之前,机器人的可动部分被复归至初始位置亦即原点位置,即机器人被原点复归。例如,专利文献1公开了一种机器人的原点复归控制方法。该控制方法通过依次逆执行已经执行了的控制程序而使机器人从停止位置复归至作业原点。5.专利文献1:日本特开平7-28520号公报6.例如,在机器人动作的路径包含在两个点之间往复的往复路径的情况下,专利文献1的原点复归控制方法在向作业原点复归的动作之中,能够使机器人在往复路径往复。因此,将机器人复归至作业原点的动作有可能变得复杂。技术实现要素:7.本公开的目的在于提供能够使用于原点复归的机器人的动作简化的控制方法、控制装置、机器人系统、程序及记录介质。8.为了实现上述目的,本公开的一方式所涉及的控制方法为进行使末端执行器依次移动至动作路径上的多个动作目标点的动作的机器人的控制方法,其中,每当上述末端执行器向上述动作目标点移动时,记录移动目的地的上述动作目标点的信息,若接收到使上述末端执行器向上述动作路径的原点返回的原点复归指令,则获取上述末端执行器的当前位置,从上述末端执行器在上述当前位置之前已到达的上述动作目标点的信息之中,检测在上述当前位置的紧前已到达的上述动作目标点或者距上述当前位置最近的距离的上述动作目标点亦即第1返回目标点的信息,来作为用于使上述末端执行器返回到上述原点的返回路径上的点的信息,从上述末端执行器在第k返回目标点之前已到达的上述动作目标点的信息之中,检测在上述第k返回目标点的紧前已到达的上述动作目标点或者距上述第k返回目标点最近的距离的上述动作目标点、即第(k+1)返回目标点的信息,来作为上述返回路径上的点的信息,这里,k为1~n的自然数,n为1以上的自然数,通过反复进行上述第(k+1)返回目标点的信息的检测,从而检测第2返回目标点~第(n+1)返回目标点的信息,决定依次通过上述第1返回目标点~上述第(n+1)返回目标点而返回到上述原点的上述返回路径,使上述末端执行器沿着上述返回路径移动。9.另外,本公开的一方式所涉及的控制装置为执行本公开的一方式所涉及的控制方法的控制装置。10.另外,本公开的一方式所涉及的机器人系统具备本公开的一方式所涉及的控制装置、和上述机器人,上述控制装置控制上述机器人的动作。11.另外,本公开的一方式所涉及的程序为使计算机执行的程序,其中,在机器人使末端执行器依次向动作路径上的多个动作目标点移动的过程中,每当上述末端执行器向上述动作目标点移动时,记录移动目的地的上述动作目标点的信息,若接收到使上述末端执行器向上述动作目标点的原点返回的原点复归指令,则获取上述末端执行器的当前位置,从上述末端执行器在上述当前位置之前已到达的上述动作目标点的信息之中,检测在上述当前位置的紧前已到达的上述动作目标点或者距上述当前位置最近的距离的上述动作目标点、即第1返回目标点的信息,来作为用于使上述末端执行器返回到上述原点的返回路径上的点的信息,从上述末端执行器在第k返回目标点之前已到达的上述动作目标点的信息之中,检测在上述第k返回目标点的紧前已到达的上述动作目标点或者距上述第k返回目标点最近的距离的上述动作目标点、即第(k+1)返回目标点的信息,来作为上述返回路径上的点的信息,这里,k为1~n的自然数,n为1以上的自然数,通过反复进行上述第(k+1)返回目标点的信息的检测,从而检测第2返回目标点~第(n+1)返回目标点的信息,使上述计算机执行决定依次通过上述第1返回目标点~上述第(n+1)返回目标点而返回到上述原点的上述返回路径。12.另外,本公开的一方式所涉及的记录介质记录有本公开的一方式所涉及的程序。13.根据本公开的技术,能够使用于原点复归的机器人的动作简化。附图说明14.图1是表示实施方式所涉及的机器人系统的一个例子的简图。15.图2是图1的机器人的立体图。16.图3是图2的机械臂的前端部的侧视图。17.图4是图2的末端执行器的侧视图。18.图5是表示实施方式所涉及的控制装置的硬件结构的一个例子的块图。19.图6是表示实施方式所涉及的控制装置的功能结构的一个例子的块图。20.图7是表示按照实施方式所涉及的机器人的示教信息的动作路径的一个例子的图。21.图8是表示按照实施方式所涉及的机器人的示教信息的动作路径的一个例子的图。22.图9a是表示实施方式所涉及的机器人系统的动作的一个例子的流程图。23.图9b是表示实施方式所涉及的机器人系统的动作的一个例子的流程图。24.图9c是表示实施方式所涉及的机器人系统的动作的一个例子的流程图。具体实施方式25.首先,对本公开的实施例进行说明。本公开的一方式所涉及的控制方法为进行使末端执行器依次移动至动作路径上的多个动作目标点的动作的机器人的控制方法,其中,每当上述末端执行器向上述动作目标点移动时,记录移动目的地的上述动作目标点的信息,若接收到使上述末端执行器向上述动作路径的原点返回的原点复归指令,则获取上述末端执行器的当前位置,从上述末端执行器在上述当前位置之前已到达的上述动作目标点的信息之中,检测在上述当前位置的紧前已到达的上述动作目标点或者距上述当前位置最近的距离的上述动作目标点、即第1返回目标点的信息,来作为用于使上述末端执行器返回到上述原点的返回路径上的点的信息,从上述末端执行器在第k返回目标点之前已到达的上述动作目标点的信息之中,检测在上述第k返回目标点的紧前已到达的上述动作目标点或者距上述第k返回目标点最近的距离的上述动作目标点亦即第(k+1)返回目标点的信息,来作为上述返回路径上的点的信息,这里,k为1~n的自然数,n为1以上的自然数,通过反复进行上述第(k+1)返回目标点的信息的检测,从而检测第2返回目标点~第(n+1)返回目标点的信息,决定依次通过上述第1返回目标点~上述第(n+1)返回目标点而返回到上述原点的上述返回路径,使上述末端执行器沿着上述返回路径移动。26.根据上述方式,使用末端执行器的动作中所记录的动作目标点,来检测用于末端执行器的原点复归的返回路径上的返回目标点。作为返回目标点,检测在紧前已到达的动作目标点或者最近的距离的动作目标点。由此,能够进行不通过所记录的动作目标点的一部分的返回路径的设定,能够减少构成返回路径的返回目标点的数量。由此,能够使用于原点复归的机器人的动作简化。27.在本公开的一方式所涉及的控制方法中,也可以在作为上述返回目标点的候补而检测到多个上述动作目标点的情况下,将最早已到达的上述动作目标点决定为上述返回目标点。28.根据上述方式,作为返回目标点,决定在动作路径上更接近原点的动作目标点。由此,能够减少构成返回路径的返回目标点的数量,能够使返回路径简化。29.在本公开的一方式所涉及的控制方法中,也可以是检测所记录的上述动作目标点与上述当前位置的距离亦即目标点距离,在上述目标点距离为第1阈值以内的情况下,视为上述当前位置位于上述目标点距离为上述第1阈值以内的上述动作目标点。30.根据上述方式,不需要用于决定从当前位置至动作目标点的返回路径的处理、和使末端执行器沿着该返回路径移动的处理。由此,能够简化用于原点复归的处理及机器人的动作。31.在本公开的一方式所涉及的控制方法中,也可以是检测上述当前位置与上述动作路径的距离亦即间隔距离,在上述间隔距离为第2阈值以内的情况下,执行上述返回目标点的检测,在上述间隔距离超过上述第2阈值的情况下,中止上述返回目标点的检测。32.根据上述方式,例如,在间隔距离超过第2阈值的情况下,若使末端执行器返回到第1返回目标点,则存在机器人的一部分与周围物体干涉的可能性。由此,在原点复归时,能够抑制机器人产生损伤。33.在本公开的一方式所涉及的控制方法中,也可以是上述当前位置或上述返回目标点与上述动作目标点的距离为沿着上述动作路径的距离。34.根据上述方式,能够使机器人沿着动作路径原点复归。由此,抑制了机器人由于进行脱离了动作路径的动作而与周围物体干涉。35.在本公开的一方式所涉及的控制方法中,也可以是在两个上述动作目标点间的距离为第3阈值以下的情况下,视为上述两个动作目标点的位置相同。36.根据上述方式,检测机器人的当前位置或返回目标点与动作目标点的距离的处理被简化。进一步,能够设定不通过距离为第3阈值以下的两个动作目标点之间的动作路径那样的返回路径。这样的返回路径能够使用于原点复归的机器人的动作简化。37.在本公开的一方式所涉及的控制方法中,也可以是上述动作目标点的信息包含:上述动作目标点的位置、从紧前的上述动作目标点至上述动作目标点的路径亦即区间动作路径、上述末端执行器的状态、及上述机器人的位置的信息。38.根据上述方式,在使末端执行器在返回目标点间进行用于原点复归的动作的情况下,能够进行不仅考虑到末端执行器的位置变化,还考虑到末端执行器的动作路径、末端执行器的状态的变化、及机器人的位置的变化的机器人的动作。由此,在原点复归时,抑制了机器人与周围物体干涉。39.在本公开的一方式所涉及的控制方法中,也可以是上述动作目标点的位置包含上述动作目标点的三维位置、和上述动作目标点处的基准轴的姿势。40.根据上述方式,在使末端执行器在返回目标点间进行用于原点复归的的动作的情况下,能够进行不仅考虑到末端执行器的位置变化,还考虑到末端执行器的姿势变化的末端执行器的动作。由此,在原点复归时,抑制了末端执行器等与周围物体干涉。41.在本公开的一方式所涉及的控制方法中,也可以是上述当前位置或上述返回目标点与上述动作目标点的距离包含:上述当前位置或上述返回目标点的三维位置与上述动作目标点的三维位置之间的距离、和上述当前位置或上述返回目标点处的上述基准轴的姿势与上述动作目标点处的上述基准轴的姿势之间的距离。42.根据上述方式,当前位置或返回目标点与动作目标点的距离不仅包含三维位置的距离,还包含姿势变化的距离。这样的距离能够表示末端执行器在当前位置或返回目标点与动作目标点之间的移动距离。由此,能够使用当前位置或返回目标点与动作目标点之间的准确的距离,来检测下一返回目标点。43.在本公开的一方式所涉及的控制方法中,也可以是在使上述末端执行器从上述第k返回目标点移动至上述第(k+1)返回目标点的情况下,将上述第(k+1)返回目标点的位置设为上述末端执行器的目标位置,将上述第k返回目标点的信息所包含的上述区间动作路径的相反方向的路径设为上述末端执行器的目标动作路径,将上述第k返回目标点的信息所包含的上述末端执行器的状态设为上述末端执行器的目标状态,将上述第(k+1)返回目标点的信息所包含的上述机器人的位置设为上述机器人的目标位置。44.根据上述方式,在使末端执行器从第k返回目标点向第(k+1)返回目标点移动的情况下,抑制了原点复归时的机器人的动作区域从末端执行器沿着动作路径移动时的机器人的动作区域较大程度地脱离。由此,在原点复归时,抑制了机器人与周围物体干涉。45.在本公开的一方式所涉及的控制方法中,也可以是在使上述末端执行器从上述当前位置向上述第1返回目标点移动的情况下,将上述第1返回目标点的位置设为上述末端执行器的目标位置,将上述当前位置处的移动目的地的上述动作目标点亦即移动目的地动作目标点的信息所包含的上述区间动作路径的相反方向的路径设为上述末端执行器的目标动作路径,将上述移动目的地动作目标点的信息所包含的上述末端执行器的状态设为上述末端执行器的目标状态,将上述第1返回目标点的信息所包含的上述机器人的位置设为上述机器人的目标位置。46.根据上述方式,在使末端执行器从当前位置移动至第1返回目标点的情况下,抑制了原点复归时的机器人的动作区域从末端执行器沿着动作路径移动时的机器人的动作区域较大程度地脱离。47.在本公开的一方式所涉及的控制方法中,也可以是上述动作目标点为在向上述机器人的动作的示教过程中对上述机器人示教了的动作的目标点。48.根据上述结构,动作目标点的设定变得简略,使用了动作目标点的返回目标点的检测变得简略。49.本公开的一方式所涉及的控制装置为执行本公开的一方式所涉及的控制方法的控制装置。根据上述方式,可得到与本公开的一方式所涉及的控制方法同样的效果。50.本公开的一方式所涉及的机器人系统具备本公开的一方式所涉及的控制装置、和上述机器人,上述控制装置控制上述机器人的动作。根据上述方式,可得到与本公开的一方式所涉及的控制方法同样的效果。51.本公开的一方式所涉及的程序为使计算机执行的程序,其中,在机器人使末端执行器依次移动至动作路径上的多个动作目标点的过程中,每当上述末端执行器向上述动作目标点移动时,记录移动目的地的上述动作目标点的信息,若接收到使上述末端执行器向上述动作目标点的原点返回的原点复归指令,则获取上述末端执行器的当前位置,从上述末端执行器在上述当前位置之前已到达的上述动作目标点的信息之中,检测在上述当前位置的紧前已到达的上述动作目标点或者距上述当前位置最近的距离的上述动作目标点、即第1返回目标点的信息,作为用于使上述末端执行器返回到上述原点的返回路径上的点的信息,从上述末端执行器在第k返回目标点之前已到达的上述动作目标点的信息之中,检测在上述第k返回目标点的紧前已到达的上述动作目标点或者距上述第k返回目标点最近的距离的上述动作目标点、即第(k+1)返回目标点的信息,作为上述返回路径上的点的信息,这里,k为1~n的自然数,n为1以上的自然数,通过反复进行上述第(k+1)返回目标点的信息的检测,从而检测第2返回目标点~第(n+1)返回目标点的信息,使上述计算机执行决定依次通过上述第1返回目标点~上述第(n+1)返回目标点而返回到上述原点的上述返回路径。根据上述方式,可得到与本公开的一方式所涉及的控制方法相同的效果。52.本公开的一方式所涉及的程序也可以是在控制上述机器人的动作的控制装置的系统程序上动作的应用程序。53.根据上述方式,应用程序例如通过作为一部分装入于系统程序、或者安装在系统程序中,从而能够发挥功能。54.在本公开的一方式所涉及的程序中,也可以是上述应用程序通过被安装并搭载在上述系统程序中而能够动作。55.根据上述方式,应用程序能够构成为可安装于各种系统程序,能够具有通用性。56.在本公开的一方式所涉及的程序中,也可以是在作为上述返回目标点的候补而检测到多个上述动作目标点的情况下,将最早已到达的上述动作目标点决定为上述返回目标点。57.在本公开的一方式所涉及的程序中,也可以是检测所记录的上述动作目标点与上述当前位置的距离亦即目标点距离,在上述目标点距离为第1阈值以内的情况下,视为上述当前位置位于上述目标点距离为上述第1阈值以内的上述动作目标点。58.在本公开的一方式所涉及的程序中,也可以是检测上述当前位置与上述动作路径的距离亦即间隔距离,在上述间隔距离为第2阈值以内的情况下,执行上述返回目标点的检测,在上述间隔距离超过上述第2阈值的情况下,中止上述返回目标点的检测。59.在本公开的一方式所涉及的程序中,也可以是上述当前位置或上述返回目标点与上述动作目标点的距离为沿着上述动作路径的距离。60.在本公开的一方式所涉及的程序中,也可以是在两个上述动作目标点间的距离为第3阈值以下的情况下,视为上述两个动作目标点的位置相同。61.在本公开的一方式所涉及的程序中,也可以是上述动作目标点的信息包含:上述动作目标点的位置、从紧前的上述动作目标点至上述动作目标点的路径亦即区间动作路径、上述末端执行器的状态、及上述机器人的位置的信息。62.在本公开的一方式所涉及的程序中,也可以是上述动作目标点的位置包含上述动作目标点的三维位置、和上述动作目标点处的基准轴的姿势。63.在本公开的一方式所涉及的程序中,也可以是上述当前位置或上述返回目标点与上述动作目标点的距离包含:上述当前位置或上述返回目标点的三维位置与上述动作目标点的三维位置之间的距离、和上述当前位置或上述返回目标点处的上述基准轴的姿势与上述动作目标点处的上述基准轴的姿势之间的距离。64.在本公开的一方式所涉及的程序中,也可以是在上述返回路径中的从上述第k返回目标点向上述第(k+1)返回目标点的区间返回路径中,将上述第(k+1)返回目标点的位置设为上述末端执行器的目标位置,将上述第k返回目标点的信息所包含的上述区间动作路径的相反方向的路径设为上述末端执行器的目标动作路径,将上述第k返回目标点的信息所包含的上述末端执行器的状态设为上述末端执行器的目标状态,将上述第(k+1)返回目标点的信息所包含的上述机器人的位置设为上述机器人的目标位置。65.在本公开的一方式所涉及的程序中,也可以是在上述返回路径中的从上述当前位置向上述第1返回目标点的区间返回路径中,将上述第1返回目标点的位置设为上述末端执行器的目标位置,将上述当前位置处的移动目的地的上述动作目标点亦即移动目的地动作目标点的信息所包含的上述区间动作路径的相反方向的路径设为上述末端执行器的目标动作路径,将上述移动目的地动作目标点的信息所包含的上述末端执行器的状态设为上述末端执行器的目标状态,将上述第1返回目标点的信息所包含的上述机器人的位置设为上述机器人的目标位置。66.在本公开的一方式所涉及的程序中,也可以是上述动作目标点为在向上述机器人的动作的示教过程中对上述机器人所示教的动作的目标点。67.本公开的一方式所涉及的记录介质记录有本公开的一方式所涉及的程序。根据上述方式,可得到与本公开的一方式所涉及的程序同样的效果。68.(实施方式)69.以下,一面参照附图一面对本公开的实施方式进行说明。此外,以下说明的实施方式均表示包括性或具体的例子。另外,对于以下实施方式中的构成要素中的、未在表示最上位概念的独立权利要求中记载的构成要素,作为任意构成要素来予以说明。另外,附图中的各图是示意性的图,未必严格地进行了图示。进一步,在各图中,对于实质性相同的构成要素标示同一附图标记,且有时省略或简化重复的说明。另外,在本说明书及权利要求书中,“装置”不仅能够意味着一个装置,还能够意味着由多个装置构成的系统。70.[机器人系统的结构][0071]对实施方式所涉及的机器人系统1的结构进行说明。图1是表示实施方式所涉及的机器人系统1的一个例子的简图。如图1所示,实施方式所涉及的机器人系统1具备机器人10、控制装置20、拍摄装置30、输入装置40及提示装置50。机器人系统1能够使机器人10按照所示教的动作顺序自动运转并执行规定的作业。机器人系统1能够使机器人10按照经由输入装置40而输入的操作信息手动运转并执行作业。进一步,机器人系统1例如若经由输入装置40而被输入使机器人10返回到动作的原点位置的指令亦即原点复归指令,则能够使机器人10以返回到原点位置的方式自动地动作。[0072]在本实施方式中,机器人10为工业用机器人,但并不限于此。机器人10具备:对处理对象物w施加作用的末端执行器11、以执行该作用的方式使末端执行器11移动的机械臂12、及以改变机器人10的位置的方式使机器人10移动的搬运装置13。[0073]机械臂12只要具有能够变更其前端的末端执行器11的位置及姿势的结构,则不被特别地限定,在本实施方式中,为垂直多关节型机械臂。此外,机械臂12例如也可以构成为水平多关节型、极坐标型、圆筒坐标型、直角坐标型、或者其他型式的机械臂。[0074]机械臂12具备:从其基部朝向前端依次配置的连杆12a~12f;将连杆12a~12f依次连接的关节jt1~jt6;及分别对关节jt1~jt6进行旋转驱动的臂驱动装置m1~m6。臂驱动装置m1~m6的动作由控制装置20控制。臂驱动装置m1~m6分别以电力为动力源,并具有伺服马达sma(参照图5)作为驱动它们的电动马达,但并不限于此。此外,机械臂12的关节的数量并不限于6个,也可以为7个以上,还可以为1个以上且5个以下。[0075]连杆12a安装于搬运装置13。连杆12f的前端部构成机械接口,并与末端执行器11连接。关节jt1将搬运装置13与连杆12a的基端部以能够绕与支承搬运装置13的地面垂直的铅垂方向的轴旋转的方式连结。关节jt2将连杆12a的前端部与连杆12b的基端部以能够绕与该地面平行的水平方向的轴旋转的方式连结。关节jt3将连杆12b的前端部与连杆12c的基端部以能够绕水平方向的轴旋转的方式连结。关节jt4将连杆12c的前端部与连杆12d的基端部以能够绕连杆12c的长边方向的轴旋转的方式连结。关节jt5将连杆12d的前端部与连杆12e的基端部以能够绕与连杆12d的长边方向正交的方向的轴旋转的方式连结。关节jt6将连杆12e的前端部与连杆12f的基端部以能够相对于连杆12e扭转旋转的方式连结。[0076]末端执行器11可装卸地安装于机械臂12的前端部。末端执行器11构成为能够将把持、吸附、吊起、或者掬起等与处理对象物w对应的各种作用施加给处理对象物w。在图1的例子中,末端执行器11构成为把持处理对象物w并进行拧入到被处理对象物t的孔的动作,机器人10进行将处理对象物w组装于被处理对象物t的作业。末端执行器11具备驱动末端执行器11的末端执行器驱动装置11a(参照图5)。末端执行器驱动装置11a的动作由控制装置20控制。末端执行器驱动装置11a以电力为动力源,并具有伺服马达smb(参照图5)作为驱动它们的电动马达,但并不限于此。此外,机器人10的作业并不限于上述组装,也可以是任何作业。机器人10的作业的例子为分拣、组装、涂装、焊接、接合、削片、研磨、密封、半导体制造、药剂调配及手术等医疗行为等。[0077]搬运装置13能够在地面等之上使机器人10移动,具备:载置且支承机械臂12的基台13a;作为基台13a的行驶单元的链轨(“履带(注册商标)”)13b;及驱动链轨13b的搬运驱动装置13c(参照图5)。行驶单元并不限于链轨13b,也可以是车轮等其他行驶单元。搬运驱动装置13c以电力为动力源,并具有伺服马达smc(参照图5)作为电动马达,但并不限于此。搬运装置13也可以是agv(无人搬运车:automatedguidedvehicle)等。[0078]拍摄装置30拍摄机器人10、具体而言拍摄机器人10的处理对象物w的处理状况。拍摄装置30的例子为数字照相机及数字摄像机等。例如,拍摄装置30配置于远离机器人10的位置,但也可以配置于机器人10。拍摄装置30将拍摄到的图像的信号输出至提示装置50,但也可以输出至控制装置20。管理机器人系统1的用户能够经由提示装置50来确认基于机器人10的处理对象物w的处理状态。此外,拍摄装置30的动作也可以由控制装置20控制。[0079]输入装置40接收基于机器人系统1的用户的指令、信息及数据等的输入,并将该指令、信息及数据等输出至控制装置20。输入装置40经由有线通信或无线通信而与控制装置20连接。有线通信及无线通信的形式可以是任何形式。例如,输入装置40接收使机器人10原点复归的指令的输入,并将该指令输出至控制装置20。输入装置40也可以包含用于对机器人10示教规定的作业的动作顺序的示教器等示教装置。[0080]提示装置50将从控制装置20及拍摄装置30等接收到的各种图像及声音等提示给机器人系统1的用户。提示装置50的例子为液晶显示器(liquidcrystaldisplay)及有机或无机el显示器(electro-luminescencedisplay)等,但并不限于它们。提示装置50也可以具备发出声音的扬声器。[0081]控制装置20控制整个机器人系统1。例如,控制装置20包含计算机装置。对机器人10设定下述的四个坐标系。控制装置20基于四个坐标系,来控制机器人10的各部的位置、姿势及动作状态等。[0082]第1坐标系为设定于供机器人10配置的空间的坐标系,称为世界坐标系。例如,如图2所示,在世界坐标系中,定义xw轴、yw轴及zw轴。xw轴和yw轴沿着配置机器人10的地面延伸且相互正交。zw轴与xw轴及yw轴垂直地、即与地面垂直地延伸,从地面朝向上方的方向为zw轴正方向,其相反方向为zw轴负方向。此外,图2是图1的机器人10的立体图。[0083]第2坐标系为以安装机械臂12的搬运装置13的基台13a为基准的坐标系,称为基座坐标系。例如,如图2所示,在基座坐标系中,定义xb轴、yb轴及zb轴。例如,xb轴和yb轴沿着基台13a的表面13aa延伸且相互正交。zb轴与xb轴及yb轴垂直地、即与表面13aa垂直地延伸。例如,基座坐标系的原点为关节jt1的旋转中心轴s1与表面13aa的交点s1a。从表面13aa朝向上方的方向为zb轴正方向,其相反方向为zb轴负方向。[0084]第3坐标系为以机械臂12的连杆12f的前端部处的与末端执行器11连接的连接面12fa为基准的坐标系,称为手坐标系。例如,如图3所示,在手坐标系中,定义xh轴、yh轴及zh轴。例如,xh轴及yh轴沿着连接面12fa延伸且相互正交。zh轴与xh轴及yh轴垂直地、即与连接面12fa垂直地延伸。例如,手坐标系的原点为关节jt6的旋转中心轴s6与连接面12fa的交点s6a,zh轴与旋转中心轴s6平行。从连杆12f朝向末端执行器11的方向为zh轴正方向,其相反方向为zh轴负方向。xh轴、yh轴及zh轴与轴s6的朝向及连杆12f绕轴s6的旋转对应,而改变各自的朝向。此外,图3是图2的机械臂12的前端部的侧视图。[0085]第4坐标系为以末端执行器11的前端部11b等特定的点为基准的坐标系,称为工具坐标系。例如,如图4所示,在工具坐标系中,定义xt轴、yt轴及zt轴。例如,zt轴为沿着前端部11b所延伸的方向之一的轴。xt轴及yt轴相互正交且与zt正交,例如,与连接面12fa平行。例如,工具坐标系的原点为前端部11b。远离前端部11b的方向为zt轴正方向,其相反方向为zt轴负方向。xt轴、yt轴及zt轴与前端部11b的朝向对应地,改变各自的朝向。此外,图4是图2的末端执行器11的侧视图。[0086]例如,控制装置20基于在世界坐标系的搬运装置13的交点s1a的坐标及轴s1的方向向量,控制搬运装置13的位置及姿势。控制装置20基于在基座坐标系的机械臂12的连杆12f的交点s6a的坐标及轴s6的方向向量,控制连杆12f的连接面12fa的位置及姿势。控制装置20基于手坐标系的xh轴、yh轴及zh轴与工具坐标系的xt轴、yt轴及zt轴的关系,控制末端执行器11的前端部11b的位置及姿势。[0087][控制装置的硬件结构][0088]对控制装置20的硬件结构进行说明。图5是表示实施方式所涉及的控制装置20的硬件结构的一个例子的块图。如图5所示,控制装置20作为构成要素包含cpu(centralprocessingunit)201、rom(readonlymemory)202、ram(randomaccessmemory)203、存储器204、输入输出i/f(接口:interface)205~207、臂驱动电路208、末端执行器驱动电路209及搬运驱动电路210。上述构成要素分别经由总线、有线通信或者无线通信而连接。此外,并非所有上述构成要素都是必须的。[0089]例如,cpu201为处理器,对控制装置20的整体动作进行控制。rom202由非易失性半导体存储器等构成,储存用于使cpu201控制动作的程序及数据等。ram203由易失性半导体存储器等构成,临时储存由cpu201执行的程序及处理中途或者处理完毕的数据等。存储器204由易失性存储器及非易失性存储器等半导体存储器、硬盘(hdd:harddiscdrive)及ssd(solidstatedrive:固态硬盘)等存储装置构成,存储各种信息。存储器204也可以是控制装置20的外部的装置。[0090]例如,用于使cpu201动作的程序被预先保持在rom202或存储器204中。cpu201将程序从rom202或存储器204读出到ram203并展开。cpu201执行在ram203展开的程序中的编码化的各命令。[0091]控制装置20的各功能可以通过由cpu201、rom202及ram203等构成的计算机系统实现,也可以通过电子电路或者集成电路等专用的硬件电路实现,还可以通过上述计算机系统与硬件电路的组合实现。[0092]这样的控制装置20例如也可以由微控制器、mpu(microprocessingunit:微处理单位)、lsi(大规模集成电路:largescaleintegration)、系统lsi、plc(programmablelogiccontroller:可编程逻辑控制器)、逻辑电路等构成。控制装置20的多个功能可以通过单独地单芯片化而实现,也可以通过以包含一部分或全部的方式单芯片化而实现。另外,电路分别可以是通用电路,也可以是专用电路。作为lsi,也可以利用在lsi制造后可编程的fpga(fieldprogrammablegatearray:现场可编程门阵列)、能够重构lsi内部的电路单元的连接以及/或者设定的可重构处理器、或者面向特定用途而将多个功能的电路合为一个的asic(applicationspecificintegratedcircuit:专用集成电路)等。[0093]第1输入输出i/f205与外部装置60连接,对外部装置60输入输出信息、数据及指令等。第1输入输出i/f205也可以包含转换信号的电路等。例如,第1输入输出i/f205从外部装置60接收程序文件的输入。程序文件的例子为使机器人原点复归的应用程序的程序文件。外部装置60的例子为控制各种数据相对于记录介质的读取或写入的记录介质驱动器、存储装置、个人计算机等计算机装置、信息终端、智能手机、智能手表及平板电脑等智能设备等。记录介质的例子为闪存、存储卡、以及cd(compactdisc)-r(recordable)、cd-rw(rewritable)、dvd(digitalversatiledisc)-r、dvd-rw、bd(blu-ray(注册商标)disc)-r及bd-re(rewritable)等记录盘等。此外,外部装置60也可以装入于控制装置20。[0094]第1输入输出i/f205也可以构成网络i/f,并经由可数据通信的通信网而与外部装置60连接。通信网的例子可以是内联网、有线或无线lan(localareanetwork)、wan(wideareanetwork)、移动通信网、电话线路通信网、或者使用其他有线或无线通信的通信网。在该情况下,外部装置60也可以是服务器装置、云服务器等。程序文件也可以经由通信网及第1输入输出i/f205而下载到存储器204等中。[0095]第2输入输出i/f206与输入装置40连接,并对输入装置40输入输出信息、数据及指令等。第2输入输出i/f206也可以包含转换信号的电路等。第3输入输出i/f207与提示装置50连接,并对提示装置50输入输出画面数据、语音数据、信息及指令等。第3输入输出i/f207也可以包含能够生成使提示装置50显示的画面的gpu(graphicsprocessingunit)、能够生成使提示装置50输出的语音的dsp(digitalsignalprocessor)、以及转换信号的电路等。[0096]臂驱动电路208按照cpu201的指令,对机器人10的臂驱动装置m1~m6的伺服马达sma供给电力并控制各伺服马达sma的驱动。末端执行器驱动电路209按照cpu201的指令,对末端执行器驱动装置11a的伺服马达smb供给电力并控制伺服马达smb的驱动。搬运驱动电路210按照cpu201的指令,对搬运装置13的搬运驱动装置13c的伺服马达smc供给电力并控制伺服马达smc的驱动。[0097][控制装置的功能结构][0098]对控制装置20的功能结构进行说明。图6是表示实施方式所涉及的控制装置20的功能结构的一个例子的块图。如图6所示,控制装置20作为功能性构成要素包含手动指令生成部20a、自动指令生成部20b、目标点记录部20c、动作控制部20d、存储部20e、原点复归启动部21、目标点获取部22、返回目标点决定部23及路径运算部24。动作控制部20d包含驱动控制部20da和搬运控制部20db。手动指令生成部20a、自动指令生成部20b、目标点记录部20c及动作控制部20d在使控制装置20动作的系统软件26上发挥功能。原点复归启动部21、目标点获取部22、返回目标点决定部23及路径运算部24在系统软件26上动作的原点复归应用软件(以下,也称为“原点复归应用”)25上发挥功能。原点复归应用25为用于使机器人10进行原点复归动作的软件。并非所有上述功能性构成要素都是必须的。[0099]除存储部20e以外的功能性构成要素的功能通过cpu201等实现,存储部20e的功能通过存储器204、rom202以及/或者ram203实现。[0100]存储部20e存储各种信息,并能够读取存储的信息。例如,存储部20e存储使控制装置20动作的系统软件26的系统程序20ea。[0101]进一步,存储部20e存储通过用于使机器人10进行规定的作业的示教而存储的示教信息20eb。作为机器人10的示教方式,例如,有基于示教者直接接触机器人10而使其移动的直接示教、基于使用了示教器的远距离操作的示教、基于编程的示教、基于主从模式的示教等,但也可以是任何示教方式。[0102]示教信息20eb包含动作目标点的信息。动作目标点为所示教的点,且为在用于进行作业的机器人10动作中,末端执行器11的手坐标系的原点s6a等机器人10的规定的点所通过的点。针对一个规定的作业设定多个动作目标点。使多个动作目标点具有按照机器人10的通过顺序的顺序。多个动作目标点构成为了进行作业而机器人10的规定的点所追寻的动作路径。[0103]例如,示教信息20eb包含由图7和图8所示那样的多个动作目标点构成的动作路径。图7和图8是表示实施方式所涉及的机器人10按照示教信息20eb的动作路径的一个例子的图。[0104]例如,图7所示的动作路径or1为从作为开始位置的原点o起依次通过各自的位置不同的第1动作目标点otp1~第5动作目标点otp5,并返回原点o的路径。原点o可以是相对于用于执行规定的作业的全部动作路径的开始位置,也可以是在执行规定的作业中通过来自输入装置40的指令等在动作路径的中途所指定的位置。[0105]图8所示的动作路径or2为从原点o起依次通过第1动作目标点otp1~第9动作目标点otp9,并返回原点o的路径。然而,第1动作目标点otp1和第3动作目标点otp3位于相同的第1目标点tp1。第4动作目标点otp4和第6动作目标点otp6位于相同的第2目标点tp2。第7动作目标点otp7和第9动作目标点otp9位于相同的第3目标点tp3。此外,也可以是在第1动作目标点otp1与第3动作目标点otp3之间、第4动作目标点otp4与第6动作目标点otp6之间、以及第7动作目标点otp7与第9动作目标点otp9之间,后述的动作目标点的位置以外的信息分别不同。[0106]动作目标点的信息可包含动作目标点的位置、从紧前动作目标点至动作目标点的路径亦即区间动作路径、在动作目标点的末端执行器11的状态、及在动作目标点的机器人的位置等信息。动作目标点的位置也可以包含动作目标点的三维位置、和在该动作目标点的基准轴的姿势。三维位置为在三维空间内的位置。[0107]动作目标点的三维位置也可以是动作目标点在世界坐标系的三维位置。例如,动作目标点为末端执行器11的目标点,但并不限于此,在本实施方式中,为机械臂12的连杆12f的连接面12fa上的点s6a的目标点。基准轴也可以为机器人10的手坐标系的zh轴、即,机械臂12的关节jt6的旋转中心轴s6。zh轴的姿势、即,轴s6的姿势为基准轴的姿势的一个例子。[0108]动作目标点的三维位置及姿势使用基于以世界坐标系为基准的世界坐标系的xw轴、yw轴及zw轴与手坐标系的xh轴、yh轴及zh轴的关系的位置及欧拉角而表示。这样的动作目标点的三维位置及姿势在世界坐标系中,包含xw轴要素“xw”、yw轴要素“yw”及zw轴要素“zw”、以及欧拉角要素“ow”、“aw”及“tw”。[0109]区间动作路径的信息为从动作目标点的前一个顺序的动作目标点(以下,也称为“紧前动作目标点”)至该动作目标点的路径的信息,且为在动作目标点与紧前动作目标点之间进行插补的插补信息。这样的插补信息包含区间动作路径的形状、尺寸及方向、以及在区间动作路径的机械臂12的关节jt1~jt6的驱动方向及驱动量等。路径的形状的例子为直线形状、以及弧及花键曲线等曲线形状等。路径的尺寸为曲线形状的曲率等。路径的方向为曲线形状的弯曲方向等。区间动作路径的信息也被称为“插补模式”。[0110]末端执行器的状态的信息包含末端执行器11的特定的部位的位置及姿势。并不限于此,在本实施方式中,上述特定的部位为末端执行器11的前端部11b。前端部11b的位置及姿势也可以是相对于机械臂12的连杆12f的连接面12fa的位置及姿势。前端部11b的位置及姿势以手坐标系为基准,使用基于手坐标系的xh轴、yh轴及zh轴与工具坐标系的xt轴、yt轴及zt轴的关系的位置及欧拉角而表示。这样的前端部11b的位置及姿势在手坐标系中,包含xh轴要素“xht”、yh轴要素“yht”及zh轴要素“zht”、以及欧拉角要素“oht”、“aht”及“tht”。另外,末端执行器的状态的信息也可以包含通过末端执行器驱动装置11a动作的末端执行器11的状态。末端执行器的状态的信息也被称为“工具值”。[0111]机器人10的位置的信息也可以包含在世界坐标系的机器人10的三维位置。并不限于此,在本实施方式中,机器人10的三维位置为机器人10在轴s1上的交点s1a的三维位置。机器人10的位置的信息也可以包含在世界坐标系的机器人10的姿势。并不限于此,在本实施方式中,机器人10的姿势为轴s1的姿势。机器人10的位置的信息也被称为“基值”。[0112]进一步,存储部20e包含记录目标点信息20ec。记录目标点信息20ec为由目标点记录部20c记录的动作目标点的信息。记录目标点信息20ec为每当执行作业过程中的机器人10的末端执行器11向动作目标点移动时所记录的移动目的地的动作目标点的信息。例如,记录目标点信息20ec包含在机器人10按照示教信息20eb动作的情况下由目标点记录部20c记录的动作目标点的信息。[0113]进一步,存储部20e存储原点复归应用25的应用程序20ed。在本实施方式中,应用程序20ed为封装的单体的程序,能够通过被安装并被搭载在控制装置20的系统程序20ea上而动作。应用程序20ed在系统程序20ea上动作。即,原点复归应用25在控制装置20的系统软件26上动作。应用程序20ed也可以从外部装置60发送至存储部20e并进行存储。这样的应用程序20ed能够应用于各种机器人的控制装置,具有通用性。此外,用于原点复归的程序也可以预先装入在系统程序20ea中。[0114]手动指令生成部20a生成用于使机器人10进行与从输入装置40输出的操作信息对应的动作的手动动作指令,并输出至动作控制部20d。为了对机器人10进行操作而输入至输入装置40的信息为对末端执行器11的位置、姿势、移动、移动速度及力等末端执行器11的动作及作用力进行指示的信息。输入装置40将表示与输入的信息对应的末端执行器11的动作及作用力的信息作为操作信息输出至手动指令生成部20a。[0115]这里,动作指令包含表示末端执行器11施加给对象物的力、即作用于作业环境的力的力指令、和表示末端执行器11的位置的位置指令。力指令可以包含力的大小的指令,进一步包含力的方向的指令。进一步,力指令也可以包含产生力的时刻的指令。位置指令也可以包含末端执行器11的位置的指令,进一步包含末端执行器11的姿势的指令。进一步,位置指令也可以包含产生位置以及/或者姿势的时刻的指令。[0116]另外,动作指令也可以包含末端执行器11的末端执行器驱动装置11a的驱动及驱动停止的指令、以及搬运装置13的位置指令。搬运装置13的位置指令包含三维空间内的搬运装置13的位置及姿势中的至少搬运装置13的位置。[0117]自动指令生成部20b生成用于使机器人10按照示教信息20eb自动地进行规定的作业的自动动作指令,并输出至动作控制部20d。自动指令生成部20b经由输入装置40获取使机器人10执行的规定的作业的信息,读取与该规定的作业对应的示教信息20eb并生成按照示教信息20eb的自动动作指令。例如,自动指令生成部20b基于动作目标点的信息生成自动动作指令。自动动作指令为用于使机器人10沿着动作路径自动地动作的指令,与手动动作指令同样地包含位置指令及力指令等。[0118]进一步,自动指令生成部20b若从路径运算部24接收用于使机器人10原点复归的返回路径的信息,则生成用于使机器人10以沿着该返回路径自动地返回原点的方式动作的自动返回动作指令,并输出至动作控制部20d。按照自动返回动作指令动作的机器人10由于实际上未对对象物进行作业,因此自动返回动作指令也可以不包含力指令。[0119]动作控制部20d按照手动动作指令、自动动作指令或者自动返回动作指令,控制机器人10的动作。动作控制部20d生成用于使机器人10的各部按照各动作指令进行动作的指令,并输出至机器人10。另外,动作控制部20d从机器人10获取机器人10的各部的动作状态的信息,并将该信息用作反馈信息而生成上述指令。进一步,动作控制部20d也可以根据机器人10的各部的动作状态的信息检测机器人10的各部的位置,并将检测结果输出至目标点记录部20c。[0120]动作控制部20d的驱动控制部20da生成用于使机械臂12的臂驱动装置m1~m6的伺服马达sma与末端执行器11的末端执行器驱动装置11a的伺服马达smb动作的指令。臂驱动装置m1~m6及末端执行器驱动装置11a分别具备检测伺服马达sma及smb的转子的旋转量的编码器等旋转传感器(未图示)、和检测伺服马达sma及smb的驱动电流的电流传感器(未图示)。进一步,末端执行器11具备检测作用于末端执行器11的力的大小及方向的力传感器(未图示)。旋转传感器、电流传感器及力传感器分别将各伺服马达的旋转量及驱动电流值与力传感器的检测值作为反馈信息输出至驱动控制部20da。驱动控制部20da使用各伺服马达的旋转量及驱动电流值以及力传感器的检测值,来控制各伺服马达的旋转开始、旋转停止、旋转速度及旋转扭矩。[0121]进一步,驱动控制部20da通过将臂驱动装置m1~m6的所有伺服马达sma的旋转量合并,由此计算末端执行器11的三维位置及三维姿势。驱动控制部20da以末端执行器11的三维位置、三维姿势及力传感器的检测值与动作指令的位置指令及力指令对应的方式,生成驱动臂驱动装置m1~m6及末端执行器驱动装置11a的伺服马达sma及smb的指令。[0122]另外,动作控制部20d的搬运控制部20db生成用于使搬运装置13的搬运驱动装置13c的伺服马达smc动作的指令。搬运驱动装置13c具备检测伺服马达smc的转子的旋转量的旋转传感器(未图示)、和检测伺服马达smc的驱动电流的电流传感器(未图示)。搬运驱动装置13c将伺服马达smc的旋转量及驱动电流值作为反馈信息输出至搬运控制部20db。搬运控制部20db使用伺服马达smc的旋转量及驱动电流值来控制伺服马达smc。搬运控制部20db以机器人10的位置与动作指令的位置指令对应的方式,生成驱动伺服马达smc的指令。[0123]此外,搬运装置13也可以具备gps(globalpositioningsystem)接收机及imu(惯性测量装置:inertialmeasurementunit)等位置测量装置。搬运控制部20db也可以使用由gps接收机的接收信号或者imu测量出的加速度及角速度等,来检测搬运装置13的位置及姿势。另外,搬运装置13也可以例如具备从埋设于地面的电线检测微弱的感应电流的检测装置,搬运控制部20db基于该检测值来检测搬运装置13的位置及姿势。[0124]目标点记录部20c在本实施方式中为通过将原点复归应用25安装在系统软件26中而生成并发挥功能的功能性构成要素,但也可以预先装入在系统软件26中。目标点记录部20c在机器人10执行作业过程中,每当末端执行器11向动作目标点移动时,记录移动目的地的动作目标点的信息作为记录目标点信息20ec,并存储在存储部20e中。由此,原点复归应用25的应用程序20ed使目标点记录部20c记录上述动作目标点的信息。向动作目标点移动是指从其他动作目标点向该动作目标点移动。在该情况下,只要两个动作目标点的信息的至少一部分相互不同即可。例如,在两个动作目标点之间,既可以是三维位置相同,也可以是姿势相同,还可以是三维位置及姿势均相同。[0125]另外,每当末端执行器11向动作目标点移动时,记录移动目的地的动作目标点的信息可以是在从末端执行器11开始向移动目的地的动作目标点移动的时刻至末端执行器11到达移动目的地的动作目标点的时刻为止的期间的任何时刻,记录移动目的地的动作目标点的信息。由此,也可以包含末端执行器11未到达的动作目标点的信息被记录的情况,也可以包含末端执行器11已到达的动作目标点的信息被记录的情况。在本实施方式中,目标点记录部20c在末端执行器11开始向移动目的地的动作目标点移动的时刻记录移动目的地的动作目标点的信息。[0126]在本实施方式中,目标点记录部20c若经由输入装置40而接收到指示记录动作目标点的记录指令,则开始动作目标点的信息的记录。此时,目标点记录部20c决定记录的开始地点亦即记录原点。例如,目标点记录部20c既可以将末端执行器11在接收到记录指令的时刻的位置决定为记录原点,也可以将该位置的紧前或者紧后的动作目标点决定为记录原点。目标点记录部20c使存储部20e存储记录原点的信息。[0127]目标点记录部20c在记录原点决定后,每当末端执行器11向动作目标点移动时使存储部20e存储移动目的地的动作目标点的信息。目标点记录部20c对动作目标点的信息附加表示到达顺序的信息并使存储部20e存储。例如,目标点记录部20c也可以对动作目标点附加第m动作目标点(m为自然数)的“m”等到达顺序编号。[0128]此外,目标点记录部20c也可以在机器人10动作中,从动作控制部20d获取机器人10的各部的位置的信息。该位置的信息包含末端执行器11的三维位置及姿势的信息。目标点记录部20c也可以基于末端执行器11的三维位置及姿势的信息,来检测末端执行器11向动作目标点的移动。或者,目标点记录部20c也可以从自动指令生成部20b获取使末端执行器11向动作目标点移动的指令,并基于该指令来检测末端执行器11向该动作目标点的移动。[0129]原点复归启动部21若经由输入装置40而接收到指示使机器人10原点复归的原点复归指令,则读取存储部20e的应用程序20ed,启动原点复归应用25。原点复归启动部21也可以在接收到原点复归指令的时刻亦即复归指令接收时刻机器人10正在动作的情况下,将停止指令输出至自动指令生成部20b并使机器人10的动作停止。[0130]目标点获取部22在原点复归应用25启动后,获取末端执行器11的当前位置。例如,末端执行器11的当前位置既可以是在复归指令接收时刻的末端执行器11的位置,也可以是在原点复归应用25启动后的规定的时机的末端执行器11的位置。例如,目标点获取部22既可以从动作控制部20d获取机器人10的各部的位置的信息,并基于该信息来获取末端执行器11的当前位置,也可以从目标点记录部20c获取末端执行器11的当前位置。[0131]进一步,目标点获取部22搜索存储部20e的记录目标点信息20ec,获取记录原点的信息、和从记录原点出发时刻起至复归指令接收时刻为止作为记录目标点信息20ec存储的动作目标点的信息。该动作目标点的信息包含末端执行器11在末端执行器11的当前位置之前已到达的动作目标点的信息、和在复归指令接收时刻的末端执行器11的移动目的地的动作目标点亦即移动目的地动作目标点的信息。移动目的地动作目标点为末端执行器11从当前位置首先应该到达的动作目标点。[0132]返回目标点决定部23决定为了使机器人10原点复归而由末端执行器11通过的目标点亦即返回目标点。返回目标点决定部23决定返回目标点作为用于使末端执行器返回到记录原点的返回路径上的点。[0133]首先,返回目标点决定部23判定末端执行器11的当前位置是否为动作目标点。返回目标点决定部23检测由目标点获取部22获取到的各个动作目标点与当前位置的距离亦即第1目标点距离。返回目标点决定部23在存在第1目标点距离为第1阈值以内的动作目标点的情况下,决定当前位置为该动作目标点,并决定末端执行器11的返回路径的检测。返回目标点决定部23在所有动作目标点的第1目标点距离超过第1阈值的情况下,决定当前位置不是该动作目标点。[0134]此外,第1目标点距离既可以是当前位置与动作目标点之间的三维位置的距离,也可以是包含三维位置的距离及基准轴的姿势的距离在内的距离。第1阈值例如可以根据末端执行器11及机械臂12的结构等而被预先设定,并预先存储在存储部20e中。[0135]返回目标点决定部23在末端执行器11的当前位置不是任何动作目标点的情况下,判定当前位置是否位于末端执行器11的动作路径上。位于动作路径上不仅包含在动作路径上,还包含位于动作路径的附近。例如,返回目标点决定部23检测当前位置与动作路径的距离亦即间隔距离。具体而言,返回目标点决定部23检测当前位置与至移动目的地动作目标点的区间动作路径的间隔距离。该区间动作路径为相对于当前位置的移动目的地动作目标点的信息所包含的区间动作路径。[0136]返回目标点决定部23在间隔距离为第2阈值以内的情况下,判定为当前位置位于动作路径上且决定返回路径的检测,在间隔距离超过第2阈值的情况下,判定为当前位置不位于动作路径上且中止返回路径的检测。例如,在间隔距离超过第2阈值的情况下,具有障碍物存在于被检测的返回路径上的可能性,因此中止返回路径的检测。在该情况下,返回目标点决定部23可以经由提示装置50等进行提醒机器人系统1的用户检查末端执行器11的周围的报知。此外,间隔距离也可以是当前位置的三维位置与动作路径的三维位置的距离。第2阈值例如也可以根据机器人10的作业环境等而被预先设定,并预先存储在存储部20e中。[0137]在决定了返回路径的检测的情况下,返回目标点决定部23决定使末端执行器11从当前位置首先返回的第1返回目标点。返回目标点决定部23从末端执行器11在当前位置之前已到达的动作目标点的信息之中,将在当前位置的紧前已到达的动作目标点、或者距当前位置最近的距离的动作目标点决定为第1返回目标点。此时,返回目标点决定部23获取在当前位置的移动目的地动作目标点的信息。例如,返回目标点决定部23获取第(i+1)动作目标点(i为自然数)的信息作为移动目的地动作目标点。[0138]返回目标点决定部23在将当前位置的紧前已到达的动作目标点决定为第1返回目标点的情况下,将在第(i+1)动作目标点的紧前已到达的第i动作目标点决定为第1返回目标点。[0139]返回目标点决定部23在将距当前位置最近的距离的动作目标点决定为第1返回目标点的情况下,将第1动作目标点~第i动作目标点中的距当前位置最近的距离的动作目标点决定为第1返回目标点。在本实施方式中,当前位置与第1~第i动作目标点的距离包含三维位置的距离、和姿势的距离。如上述那样,动作目标点及末端执行器11的位置包含通过世界坐标系表示的xw轴要素“xw”、yw轴要素“yw”及zw轴要素“zw”、以及欧拉角要素“ow”、“aw”及“tw”。三维位置的距离为使用xw轴要素“xw”、yw轴要素“yw”及zw轴要素“zw”来表示的距离,姿势的距离为使用欧拉角要素“ow”、“aw”及“tw”来表示的距离。此外,例如,当前位置与第1~第i动作目标点的距离也可以仅包含三维位置的距离。[0140]返回目标点决定部23在两个动作目标点间的距离为第3阈值以下的情况下,视为该两个动作目标点的位置相同。两个动作目标点间的距离既可以是该两个动作目标点间的三维位置的距离,也可以是包含三维位置的距离及基准轴的姿势的距离在内的距离。第3阈值例如可以根据末端执行器11及机械臂12的结构等而被预先设定,并预先存储在存储部20e中。第3阈值也可以与第1阈值相同。另外,位置相同的动作目标点的信息也可以被预先存储在存储部20e中,返回目标点决定部23从存储部20e获取该信息。此外,返回目标点决定部23也可以构成为,即使两个动作目标点间的距离为第3阈值以下,也不视为该两个动作目标点的位置相同。[0141]另外,在本实施方式中,当前位置与各个第1~第i动作目标点的距离为沿着动作路径连结当前位置与各个第1~第i动作目标点的距离,但也可以是直接地连结当前位置与各个第1~第i动作目标点的路径的距离。例如,当前位置与第i动作目标点沿着动作路径的距离既可以是通过当前位置与第i动作目标点之间的全部区间动作路径的路径的距离,也可以是省略了区间动作路径的一部分的路径的距离。例如,如本实施方式那样,在包含位置相同的动作目标点的情况下,也可以将这些动作目标点间的区间动作路径从距离的检测对象去除。例如,在图8中,在处于动作目标点otp7和otp8之间的当前位置与第4动作目标点otp4的距离中,也可以将动作目标点otp4~otp6的区间动作路径的距离去除。[0142]对于返回目标点决定部23而言,作为第1返回目标点,选择在当前位置的紧前已到达的动作目标点和距当前位置最近的距离的动作目标点的哪一个的选择规则也可以被预先设定。选择规则未被特别地限定,但例如,既可以针对整个动作路径设定,也可以针对区间动作路径单独地设定,也可以与在区间动作路径上的末端执行器11的位置对应地设定,也可以与移动目的地动作目标点对应地设定,也可以针对每个动作目标点设定。[0143]返回目标点决定部23在作为第1返回目标点的候补检测到多个动作目标点的情况下,将最早已到达的动作目标点决定为第1返回目标点。例如,返回目标点决定部23将检测出的多个动作目标点中的最小的到达顺序编号的动作目标点决定为第1返回目标点。[0144]接下来,返回目标点决定部23决定使末端执行器11从第k返回目标点(k为1以上的自然数)返回的下一返回目标点亦即第(k+1)返回目标点。第k返回目标点及第(k+1)返回目标点为动作目标点。返回目标点决定部23从在第k返回目标点之前末端执行器11已到达的动作目标点的信息之中,将在第k返回目标点的紧前已到达的动作目标点、或距第k返回目标点最近的距离的动作目标点决定为第(k+1)返回目标点。此时,返回目标点决定部23获取与第k返回目标点对应的第(j+1)动作目标点(j为比i小的自然数)的信息。[0145]返回目标点决定部23在将在第k返回目标点亦即第(j+1)动作目标点的紧前已到达的动作目标点决定为第(k+1)返回目标点的情况下,将在第(j+1)动作目标点的紧前已到达的第j动作目标点决定为第(k+1)返回目标点。[0146]返回目标点决定部23在将距与第k返回目标点对应的第(j+1)动作目标点最近的距离的动作目标点决定为第(k+1)返回目标点的情况下,将第1动作目标点~第j动作目标点中的距第(j+1)动作目标点最近的距离的动作目标点决定为第(k+1)返回目标点。在本实施方式中,第(j+1)动作目标点与第1~第j动作目标点的距离亦即第2目标点距离包含三维位置的距离和姿势的距离,但也可以仅包含三维位置的距离。另外,也可以与动作目标点分别对应,而预先设定第2目标点距离包含三维位置的距离和姿势的距离的哪一个。[0147]另外,在本实施方式中,第2目标点距离为通过动作路径而连接第(j+1)动作目标点与各个第1~第j动作目标点的路径的距离,但也可以是将第(j+1)动作目标点与各个第1~第j动作目标点直接连接的路径的距离。沿着动作路径的第2目标点距离与第1返回目标点的情况同样地,能够为去除了两个动作目标点间的区间动作路径的一部分的路径的距离,但也可以为通过全部区间动作路径的路径的距离。返回目标点决定部23在两个动作目标点间的距离为第3阈值以下的情况下,视为该两个动作目标点的位置相同。[0148]返回目标点决定部23作为第(k+1)返回目标点,选择在第k返回目标点的紧前已到达的动作目标点和距第k返回目标点最近的距离的动作目标点的哪一个的选择规则也可以与第1返回目标点的情况同样地被预先设定。[0149]另外,返回目标点决定部23在作为第(k+1)返回目标点的候补检测到多个动作目标点的情况下,将最早已到达的动作目标点决定为第(k+1)返回目标点。[0150]返回目标点决定部23在第(k+1)返回目标点到达记录原点之前,反复进行根据第k返回目标点检测第(k+1)返回目标点的处理。由此,检测为了使末端执行器11返回到记录原点而末端执行器11应该通过的所有返回目标点,例如,第1返回目标点~第(n+1)返回目标点(n为1以上的自然数)。[0151]路径运算部24使用由返回目标点决定部23检测到的所有返回目标点的信息,来运算返回路径。路径运算部24运算用于使末端执行器11从当前位置依次经由第1返回目标点~第(n+1)返回目标点而返回到记录原点的信息。[0152]例如,路径运算部24运算用于使末端执行器11从第k返回目标点移动至第(k+1)返回目标点的信息。在该情况下,路径运算部24将第(k+1)返回目标点的位置设为末端执行器11的目标位置。在本实施方式中,第(k+1)返回目标点的位置包含三维位置及姿势。[0153]进一步,路径运算部24将与第k返回目标点对应的第(j+1)动作目标点的信息所包含的区间动作路径的相反方向的路径设为至第(k+1)返回目标点的末端执行器11的目标动作路径。例如,上述区间动作路径为从第j动作目标点至第(j+1)动作目标点的区间动作路径。路径运算部24将使第(j+1)动作目标点的插补模式反向进行的插补模式决定为从第k返回目标点至第(k+1)返回目标点的插补模式。[0154]进一步,路径运算部24将与第k返回目标点对应的动作目标点的信息所包含的末端执行器11的状态设为末端执行器11在第(k+1)返回目标点的目标状态。路径运算部24将与第k返回目标点对应的动作目标点的工具值决定为末端执行器11在第(k+1)返回目标点的目标工具值。[0155]进一步,路径运算部24将与第(k+1)返回目标点对应的动作目标点的信息所包含的机器人10的位置设为机器人10的目标位置。路径运算部24将与第(k+1)返回目标点对应的动作目标点的基值决定为机器人10在第(k+1)返回目标点的目标基值。[0156]路径运算部24反复进行用于使末端执行器11从第k返回目标点移动至第(k+1)返回目标点的信息的运算处理,直至第(k+1)返回目标点到达记录原点为止。[0157]此外,路径运算部24也与上述同样地,运算用于使末端执行器11从当前位置移动至第1返回目标点的信息。在该情况下,路径运算部24将第1返回目标点的位置设为末端执行器11的目标位置。路径运算部24将在复归指令接收时刻的末端执行器11的移动目的地动作目标点的信息所包含的区间动作路径的相反方向的路径设为至第1返回目标点的末端执行器11的目标动作路径。即,路径运算部24将使移动目的地动作目标点的插补模式反向进行的插补模式决定为从当前位置至第1返回目标点的插补模式。[0158]进一步,路径运算部24将在复归指令接收时刻的移动目的地动作目标点的信息所包含的末端执行器11的状态设为第1返回目标点处的末端执行器11的目标状态。即,路径运算部24将移动目的地动作目标点的工具值决定为第1返回目标点处的目标工具值。进一步,路径运算部24将与第1返回目标点对应的动作目标点的信息所包含的机器人10的位置设为机器人10的目标位置,即,将与第1返回目标点对应的动作目标点的基值决定为机器人10在第1返回目标点的目标基值。[0159]像这样,路径运算部24运算用于使末端执行器11从当前位置依次经由第1返回目标点~第(n+1)返回目标点而返回到记录原点的信息亦即返回路径的信息。[0160][机器人系统的动作][0161]例示图8而对实施方式所涉及的机器人系统1的动作进行说明。图9a~图9c是表示实施方式所涉及的机器人系统1的动作的一个例子的流程图。如图9a~图9c所示,首先,在步骤s101中,控制装置20的系统软件26经由用户向输入装置40的输入,而接收执行示教完毕的规定的作业的指令亦即作业执行指令。[0162]接下来,在步骤s102中,系统软件26搜索存储在存储部20e中的示教信息20eb并读取该规定的作业的示教信息,使机器人10执行按照该示教信息的作业、即示教作业。机器人10一边使末端执行器11依次移动至动作目标点一边进行作业。[0163]在步骤s103中,系统软件26经由用户向输入装置40的输入而接收记录指令。记录指令指示每当末端执行器11向动作目标点移动时,记录移动目的地的动作目标点。接下来,在步骤s104中,系统软件26决定记录的开始地点亦即记录原点。进一步,在步骤s105中,系统软件26将记录原点之后的移动目的地的动作目标点的信息记录在存储部20e中。[0164]在步骤s106中,系统软件26经由用户向输入装置40的输入而接收原点复归指令。例如,在由于与障碍物等接触而使机器人10停止、或者机器人10的位置变化较大等机器人10的动作产生了异常的情况下等,用户对输入装置40输入原点复归指令。[0165]接下来,在步骤s107中,系统软件26启动原点复归应用25。此时,系统软件26只要在动作中,则也可以使机器人10停止。进一步,在步骤s108中,原点复归应用25获取末端执行器11的当前位置。在图8的例子中,末端执行器11位于第7动作目标点otp7与第8动作目标点otp8之间。[0166]进一步,在步骤s109中,原点复归应用25搜索存储部20e的记录目标点信息20ec,获取记录原点的信息、和从记录原点出发时刻起至复归指令接收时刻为止所记录的动作目标点的信息。在图8的例子中,原点复归应用25获取第1动作目标点otp1~第8动作目标点otp8的信息。[0167]接下来,在步骤s110中,原点复归应用25检测获取到的各个动作目标点与末端执行器11的当前位置的第1目标点距离,并判定是否存在第1目标点距离为第1阈值以下的动作目标点。原点复归应用25在存在的情况下(步骤s110中为是),进入步骤s111,在不存在的情况下(步骤s110中为否),进入步骤s115。[0168]在步骤s111中,原点复归应用25决定末端执行器11的当前位置为动作目标点,并决定返回路径的检测执行。[0169]接下来,在步骤s112中,原点复归应用25判定对末端执行器11的当前位置的动作目标点亦即当前位置动作目标点设定的返回目标点是否为紧前已到达的动作目标点。原点复归应用25在为紧前已到达的动作目标点的情况下(步骤s112中为是),进入步骤s113,在不是紧前已到达的动作目标点的情况下(步骤s112中为否),进入步骤s114。[0170]在步骤s113中,原点复归应用25检测在当前位置动作目标点的紧前已到达的动作目标点的信息,并将该目标点决定为末端执行器11的第1返回目标点,进入步骤s121。[0171]在步骤s114中,原点复归应用25从在当前位置动作目标点之前已到达的动作目标点的信息之中,检测距当前位置动作目标点最近的距离的动作目标点的信息并决定为第1返回目标点。此外,在检测到多个动作目标点的情况下,原点复归应用25从多个动作目标点之中,将末端执行器11最早到达的动作目标点决定为第1返回目标点。即,原点复归应用25从多个动作目标点之中,将最小的到达顺序编号的动作目标点决定为第1返回目标点,并进入步骤s121。[0172]另外,在步骤s115中,原点复归应用25判定末端执行器11的当前位置与末端执行器11的动作路径的间隔距离是否为第2阈值以内。原点复归应用25判定当前位置与至移动目的地动作目标点的区间动作路径的间隔距离。在图8的例子中,判定末端执行器11的当前位置、与第7动作目标点otp7和第8动作目标点otp8之间的区间动作路径的间隔距离。[0173]在为第2阈值以内的情况下(步骤s115中为否),原点复归应用2520决定返回路径的检测执行,并进入步骤s118(步骤s116)。在超过第2阈值的情况下(步骤s115中为否),原点复归应用25决定返回路径的检测的中止,并经由提示装置50将提醒末端执行器11的周围的检查的报知等提示给用户(步骤s117)。在图8的例子中,间隔距离为第2阈值以内。[0174]接下来,在步骤s118中,原点复归应用25判定对当前位置的移动目的地动作目标点设定的返回目标点是否为紧前已到达的动作目标点。原点复归应用25在为紧前已到达的动作目标点的情况下(步骤s118中为是),进入步骤s119,在不是紧前已到达的动作目标点的情况下(步骤s118中为否),进入步骤s120。[0175]在步骤s119中,原点复归应用25检测在当前位置的紧前已到达的动作目标点的信息,并将该动作目标点决定为第1返回目标点,进入步骤s121。[0176]在步骤s120中,原点复归应用25从在当前位置之前末端执行器11已到达的动作目标点的信息之中,检测距当前位置最近的距离的动作目标点的信息并决定为第1返回目标点。此外,在检测到多个动作目标点的情况下,原点复归应用25从多个动作目标点之中,将末端执行器11最早到达的动作目标点决定为第1返回目标点,并进入步骤s121。在图8的例子中,原点复归应用25将距当前位置最近的距离的第7动作目标点otp7决定为第1返回目标点。[0177]接下来,在步骤s121中,原点复归应用25判定对与第k返回目标点(k为1以上的自然数)对应的动作目标点设定的返回目标点是否为紧前已到达的动作目标点。原点复归应用25在为紧前已到达的动作目标点的情况下(步骤s121中为是),进入步骤s122,在不是紧前已到达的动作目标点的情况下(步骤s121中为否),进入步骤s123。[0178]在步骤s122中,原点复归应用25检测在第k返回目标点的紧前已到达的动作目标点的信息,并将该目标点决定为第(k+1)返回目标点,进入步骤s124。[0179]在步骤s123中,原点复归应用25从在第k返回目标点之前已到达的动作目标点的信息之中,检测距第k返回目标点最近的距离的动作目标点的信息并决定为第(k+1)返回目标点。此外,在检测到多个动作目标点的情况下,原点复归应用25从多个动作目标点之中,将末端执行器11最早到达的动作目标点决定为第(k+1)返回目标点,并进入步骤s124。在图8的例子中,原点复归应用25例如将距第1返回目标点亦即第7动作目标点otp7最近的距离的第4动作目标点otp4及第6动作目标点otp6中的、第4动作目标点otp4决定为第2返回目标点。[0180]在步骤s124中,原点复归应用25判定第(k+1)返回目标点是否已到达记录原点。到达记录原点包含第(k+1)返回目标点与记录原点一致的情况、第(k+1)返回目标点与第k返回目标点之间的区间返回路径通过记录原点的情况、以及第(k+1)返回目标点与末端执行器11在记录原点之前已通过的动作目标点一致的情况等。原点复归应用25在已到达记录原点的情况下(步骤s124中为是),进入步骤s125,在未到达记录原点的情况下(步骤s124中为否),为了检测下一返回目标点,返回到步骤s121。[0181]在步骤s125中,原点复归应用25运算用于使末端执行器11从当前位置经由所有返回目标点而返回到记录原点的信息亦即返回路径的信息。[0182]接下来,在步骤s126中,系统软件26通过按照返回路径的信息控制机器人10,从而使机器人10原点复归。[0183]如上述那样,控制装置20通过原点复归应用25反复进行步骤s121~s124的处理并执行步骤s101~s126的处理,由此使机器人10自动地原点复归。[0184]此外,原点复归应用25也可以构成为不包括步骤s110的处理,而不执行末端执行器11的当前位置是否为动作目标点的判定。在该情况下,原点复归应用25也可以构成为不执行第1目标点距离的检测及判定,而在步骤s109之后执行步骤s115的处理。[0185](其他实施方式)[0186]以上,关于本公开的实施方式的例子进行了说明,但本公开并不限于上述实施方式。即,在本公开的范围内能够进行各种变形及改进。例如,对实施方式实施了各种变形的方式、及组合不同的实施方式中的构成要素而构建的方式也包含在本公开的范围内。[0187]例如,实施方式所涉及的控制装置20在检测到所有返回目标点及所有区间返回路径并决定了整个返回路径之后,使机器人10动作而使末端执行器11原点复归,但并不限于此。例如,控制装置20也可以以每当检测到返回目标点时,使末端执行器11沿着至该返回目标点的区间返回路径移动的方式控制机器人10。[0188]另外,本公开的技术也可以是控制方法。例如,本公开的一方式所涉及的控制方法为进行使末端执行器依次移动至动作路径上的多个动作目标点的动作的机器人的控制方法,其中,每当上述末端执行器向上述动作目标点移动时,对移动目的地的上述动作目标点的信息进行记录,若接收到使上述末端执行器向上述动作路径的原点返回的原点复归指令,则获取上述末端执行器的当前位置,从上述末端执行器在上述当前位置之前已到达的上述动作目标点的信息之中,检测在上述当前位置的紧前已到达的上述动作目标点或者距上述当前位置最近的距离的上述动作目标点亦即第1返回目标点的信息,作为用于使上述末端执行器返回到上述原点的返回路径上的点的信息,从上述末端执行器在第k返回目标点之前已到达的上述动作目标点的信息之中,检测在上述第k返回目标点的紧前已到达的上述动作目标点或距上述第k返回目标点最近的距离的上述动作目标点亦即第(k+1)返回目标点的信息,作为上述返回路径上的点的信息,这里,k为1~n的自然数,n为1以上的自然数,通过反复进行上述第(k+1)返回目标点的信息的检测,从而检测第2返回目标点~第(n+1)返回目标点的信息,决定依次通过上述第1返回目标点~上述第(n+1)返回目标点而返回到上述原点的上述返回路径,使上述末端执行器沿着上述返回路径移动。这样的控制方法也可以通过cpu、lsi等电路、ic卡或单体的模块等而实现。[0189]另外,本公开的技术既可以是程序,也可以是记录有上述程序的非暂时性的计算机可读的记录介质。记录介质只要具有能够记录程序的结构,则未被特别地限定,例如,既可以是cd-rom(readonlymemory)、dvd-rom、bd-rom、软盘、磁光盘等光学、电气或磁性地记录信息的介质,也可以是rom、闪存及存储卡等电气地记录信息的半导体存储器及硬盘等介质。[0190]例如,本公开的一方式所涉及的程序为使计算机执行的程序,其中,在机器人使末端执行器依次移动至动作路径上的多个动作目标点的过程中,每当上述末端执行器向上述动作目标点移动时,记录移动目的地的上述动作目标点的信息,若接收到使上述末端执行器向上述动作目标点的原点返回的原点复归指令,则获取上述末端执行器的当前位置,从上述末端执行器在上述当前位置之前已到达的上述动作目标点的信息之中,检测在上述当前位置的紧前已到达的上述动作目标点或者距上述当前位置最近的距离的上述动作目标点亦即第1返回目标点的信息,作为用于使上述末端执行器返回到上述原点的返回路径上的点的信息,从上述末端执行器在第k返回目标点之前已到达的上述动作目标点的信息之中,检测在上述第k返回目标点的紧前已到达的上述动作目标点或者距上述第k返回目标点最近的距离的上述动作目标点亦即第(k+1)返回目标点的信息,作为上述返回路径上的点的信息,这里,k为1~n的自然数,n为1以上的自然数,通过反复进行上述第(k+1)返回目标点的信息的检测,从而检测第2返回目标点~第(n+1)返回目标点的信息,使上述计算机执行决定依次通过上述第1返回目标点~上述第(n+1)返回目标点而返回到上述原点的上述返回路径。例如,本公开的一方式所涉及的记录介质记录有上述程序。另外,上述程序能够经由网络等传输介质而流通是自不必说的。[0191]另外,上述使用的序数、数量等数字均是为了具体地说明本公开的技术而例示的,本公开并不被所例示的数字限制。另外,构成要素间的连接关系是为了具体地说明本公开的技术而例示的,实现本公开的功能的连接关系并不限定于此。[0192]另外,功能块图中的块的分割为一个例子,也可以将多个块实现为一个块,将一个块分割为多个以及/或者将一部分功能转移到其他块。另外,也可以由单个的硬件或软件同时或分时地对具有类似的功能的多个块的功能进行处理。[0193]附图标记说明[0194]1…机器人系统;10…机器人;11…末端执行器;12…机械臂;20…控制装置。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1