CN113290553A - 轨迹生成装置、多连杆系统以及轨迹生成方法 - Google Patents

轨迹生成装置、多连杆系统以及轨迹生成方法 Download PDF

Info

Publication number
CN113290553A
CN113290553A CN202110142172.2A CN202110142172A CN113290553A CN 113290553 A CN113290553 A CN 113290553A CN 202110142172 A CN202110142172 A CN 202110142172A CN 113290553 A CN113290553 A CN 113290553A
Authority
CN
China
Prior art keywords
joint state
unit
link mechanism
end position
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110142172.2A
Other languages
English (en)
Inventor
蓑谷显一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Publication of CN113290553A publication Critical patent/CN113290553A/zh
Pending legal-status Critical Current

Links

Images

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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • 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
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40371Control trajectory to avoid joint limit as well as obstacle collision

Abstract

涉及轨迹生成装置、多连杆系统以及轨迹生成方法。一种轨迹生成装置包括信息获取单元(100)、手位置估计单元(110)和限制搜索单元(130)。信息获取单元被配置成获取存在于机器人臂的运动空间中的障碍物的位置坐标。手位置估计单元被配置成通过使用机器学习的学习结果、基于下述信息来估计在作为第一时间的下一时间的第二时间处的手位置:由信息获取单元获取的障碍物的位置坐标、机器人臂在第一时间处的对象关节状态以及机器人臂的目标关节状态。限制搜索单元被配置成通过将由手位置估计单元估计的手位置用作限制来搜索障碍物在第二时间处不会干扰机器人臂的机器人臂的无干扰关节状态。

Description

轨迹生成装置、多连杆系统以及轨迹生成方法
技术领域
本公开内容涉及生成多连杆机构的轨迹生成装置、多连杆系统以及轨迹生成方法。
背景技术
已知一种用于生成多连杆机构例如机器人臂的轨迹的技术。专利文献1公开了一种通过学习深度神经网络(下文中,称为DNN)来学习机器人的手(端部执行器)在避开障碍物的同时达到目标位置的行为序列的技术。在下文中,使用机器学习的学习结果来生成多连杆机构的轨迹的方法将被称为基于学习的方法。另外,作为用于生成多连杆机构的轨迹的技术,还已知一种诸如RRT(快速探索随机树)的技术,该技术在考虑多连杆机构的运动限制的同时随机地搜索和生成轨迹。下面,将在考虑多连杆机构的运动限制的同时随机地搜索轨迹并生成轨迹的方法称为基于搜索的方法。
专利文献1:JP 2019-5834 A
发明内容
在基于搜索的方法中,可以通过在搜索上花费时间来生成更适当的轨迹,但是难以在短时间内生成适当的轨迹。另一方面,基于学习的方法可以在短时间内生成更适当的轨迹,但是难以学习到可以生成适当轨迹的学习结果。原因如下。也就是说,多连杆机构的行为输出是连续值,并且多连杆机构具有多个轴。因此,处理多维状态空间是有必要的。这样的背景极大地增加了要学习的运动模式的数量。
此处,通过将复杂问题分层为多个子问题,可以减少在学习中处理的状态的数量。然而,在分层或层次化中,如果问题划分的粒度在上层(upper hierarchy)中较大,则必要的信息被移除,并且可能出现损害解的完整性和最优性的问题。例如,作为解的完整性的问题,可能存在由于具有多连杆功能的关节的结构而导致在上层中生成的目标在下层(lowerhierarchy)中不可达到的问题。另外,作为解的最优性的问题,考虑到:由于具有多连杆功能的关节的结构,在上层中生成的目标相对于下层中的最短路线需要大量的绕行。
本公开内容的目的是提供一种轨迹生成装置、多连杆系统以及轨迹生成方法,使得能够更容易地并且在更短的时间内生成多连杆机构的轨迹,同时实现解的完整性和最优性两者。
根据本公开内容的第一示例,提供了轨迹生成装置,用于生成多连杆机构在运动空间中的轨迹。多连杆机构是多个连杆通过作为可移动部件的关节来连接的机器机构。
轨迹生成装置包括信息获取单元、端部位置估计单元以及限制搜索单元。信息获取单元被配置成获取关于存在于多连杆机构的运动空间中的障碍物的位置的障碍物信息。端部位置估计单元被配置成通过使用机器学习的学习结果、基于下述信息来估计作为第一时间的下一时间的第二时间处的端部位置的下一端部位置,该端部位置是多连杆机构的端部执行器的位置:(i)多连杆机构在第一时间处的对象关节状态(subject joint state)、(ii)多连杆机构的目标关节状态、以及(iii)由信息获取单元获取的障碍物信息;在机器学习中,输入多连杆机构的开始关节状态、多连杆机构的目标关节状态和障碍物信息,并且输出作为多连杆机构的端部执行器的位置的端部位置。限制搜索单元被配置成在将由端部位置估计单元估计的下一端部位置视为限制的同时,搜索多连杆机构的无干扰关节状态,在该无干扰关节状态中,障碍物和多连杆机构在第二时间处不相互干扰。
根据本公开内容的第二示例,提供了一种轨迹生成方法,由至少一个处理器执行计算机实现的轨迹生成方法以生成多连杆机构在运动空间中的轨迹。多连杆机构是多个连杆通过作为可移动部件的关节来连接的机器机构。轨迹生成方法包括:位置信息获取步骤、端部位置估计步骤和限制搜索步骤。位置信息获取步骤获取与存在于多连杆机构的动作空间中的障碍物的位置相关的障碍物信息。端部位置估计步骤通过使用机器学习的学习结果、基于下述信息来估计作为第一时间的下一时间的第二时间处的端部位置的下一端部位置,该端部位置是多连杆机构的端部执行器的位置:(i)多连杆机构在第一时间处的对象关节状态、(ii)多连杆机构的目标关节状态以及(iii)障碍物信息;在机器学习中,输入多连杆机构的开始关节状态、多连杆机构的目标关节状态以及障碍物信息,并且输出作为多连杆机构的端部执行器的位置的端部位置。限制搜索步骤在将下一端部位置视为限制的同时搜索多连杆机构的无干扰关节状态,在该无干扰关节状态中,障碍物和多连杆机构在第二时间处不相互干扰。
根据上述配置,机器学习输入多连杆机构的开始关节状态、多连杆机构的目标关节状态和障碍物信息,并且输出作为多连杆机构的端部执行器的位置的端部位置。这样的机器学习输出具有比多连杆机构的关节状态的状态数量少的状态数量的端部位置。因此,将端部位置被设置成中间状态的层次化应用于输出多连杆机构的关节状态的情况。因此,与在没有层次化的情况下输出多连杆机构的关节状态的情况相比,可以更容易地使学习收敛。由于使用了这样的机器学习的结果,因此与使用输出多连杆机构的关节状态的机器学习的结果相比,可以更容易地实现学习。另外,机器学习的学习结果使得能够估计直到下一端部位置;该下一端部位置被用作搜索下一时间处的关节状态的限制。因此,生成下一端部位置和关节状态作为多连杆机构的轨迹变得可能。此外,机器学习的学习结果使得能够估计直到下一端部位置。因此,与不使用机器学习而仅通过搜索生成轨迹的情况相比,在更短的时间内生成更容易满足最优性的轨迹变得可能。
另外,由于端部位置受到多连杆机构的全部关节的影响,因此可以说是用于生成多连杆机构的轨迹的重要信息被压缩。因此,即使在端部位置被设置为中间状态的情况下执行层次化或分层,也几乎不会排除用于满足解的完整性和最优性的信息,并且解的完整性和最优性被容易地满足。此外,以下一端部位置作为限制,搜索多连杆机构的无干扰关节状态,在该干扰关节状态下,多连杆机构和障碍物在第二时间处不互相干扰。通过这样做,生成多连杆机构的轨迹,使得可以通过搜索来满足解的完整性。作为结果,可以更容易地并且在更短的时间内生成多连杆机构的轨迹,并且可以使解的完整性和最优性彼此更兼容。
根据本公开内容的第三示例,提供了多连杆系统,该多连杆系统包括第一示例的轨迹生成装置和多连杆机构。多连杆机构是多个连杆通过作为可移动部件的关节来连接的机器机构,该多连杆机构被控制以沿着由轨迹生成装置生成的轨迹移动。
根据此,由于包括上述的轨迹生成装置,因此可以更容易地且在更短时间内生成多连杆机构的轨迹。因此,可以获得解的完整性和最优性两者。
附图说明
根据以下参照附图做出的具体实施方式,本公开内容的目的、特征和优点将变得更加明显。在附图中:
图1是示出根据第一实施方式的机器人臂系统的示意性配置的示例的图;
图2是示出轨迹生成装置的示意性配置的示例的图;
图3是示出信息获取单元的示意性配置的示例的图;
图4是示出用于计算第二时间处的手取向αt+1的等式的示例的图;
图5是示出轨迹生成装置中的轨迹生成相关处理的序列的示例的流程图;
图6是用于说明作为比较示例的仅通过机器学习模型来获得关节状态的示例的图;
图7是用于说明通过组合机器学习模型和搜索来获得关节状态的示例的图;
图8是示出根据第二实施方式的轨迹生成装置的示意性配置的示例的图;
图9是示出根据第二实施方式的轨迹生成装置中的轨迹生成相关处理的序列的示例的流程图;以及
图10是示出根据第三实施方式的轨迹生成装置的示意性配置的示例的图。
具体实施方式
将参照附图描述针对公开内容的若干实施方式。为了便于说明,在多个实施方式中,向具有与说明书中使用的附图所示的部分的功能相同的功能的部分赋予相同的附图标记,并且可以省略对相同部分的描述。关于给出相同的附图标记的这些部分,可以参照其他实施方式的描述。
(第一实施方式)
<机器人臂系统1的示意性配置>
现在将参考附图描述本实施方式。首先,将参照图1描述根据第一实施方式的机器人臂系统1。如图1所示,机器人臂系统1包括轨迹生成装置10和机器人臂20。机器人臂系统1对应于多连杆系统。
机器人臂20是多个连杆通过作为可移动部件的关节来连接的机器机构。机器人臂20是由轨迹生成装置10进行的轨迹生成的对象。机器人臂20的关节类型可以采用旋转关节、线性关节、球形关节等。在本实施方式中,机器人臂20的关节将被描述为关节是旋转关节的示例。
机器人臂20包括四个关节(图1中的Jo1、Jo2、Jo3、Jo4)。机器人臂20的关节可以通过针对每个关节设置的致动器例如电机来被移动。机器人臂20包括三个连杆(图1中的Li1、Li2、Li3)。连杆也可以称为轴。机器人臂20的连杆可以是刚性体。机器人臂20包括一只手201。手201也可以被称为端部执行器。如上所述,机器人臂20是包括多个关节和连杆的多连杆机构。图1所示的机器人臂20仅是示例。只要机器人臂20具有多连杆机构即可,关节和连杆的数量可以与图1所示的示例不同。例如,机器人臂20可以是六轴竖直多关节机器人臂。
机器人臂20的基座部与连杆Li1通过关节Jo1连接。连杆Li1和连杆Li2通过关节Jo2连接。连杆Li2和连杆Li3通过关节Jo3连接。连杆Li3和手201通过关节Jo4连接。机器人臂20通过移动各个关节来改变手201的位置和取向,从而改变关节角度。
关节Jo1的关节角度是连杆Li1相对于基座部的角度。关节Jo2的关节角度是连杆Lin2相对于连杆Lin1的角度。关节Jo3的关节角度是连杆Lin3相对于连杆Lin2的角度。关节Jo4的关节角度是手201相对于连杆Lin3的角度。手201相对于连杆Lin3的角度对应于手201的取向。下文中,关节Jo1至Jo4的关节角度将被统称为关节状态。机器人臂的轨迹可以是一系列关节状态。注意,机器人臂的轨迹可以不同于一系列关节状态,只要它是表示可以基于关节状态指定的机器人臂的运动轨迹的物理量即可。例如,机器人臂的轨迹可以是设置在每个关节中的致动器的一系列输出值。
轨迹生成装置10包括CPU、存储器、I/O以及连接它们的总线,并且通过CPU执行存储在存储器中的控制程序来执行各种处理。上面提到的存储器是存储非暂态计算机可读程序和数据的非暂态有形存储介质。非暂态有形存储介质是通过半导体存储器、磁盘等实现的。
轨迹生成装置10执行与机器人臂20的轨迹的生成相关的处理(下文中,称为轨迹生成相关处理)。轨迹生成装置10生成从机器人臂20的关节状态到机器人臂20的用于抓取存在于运动空间中的障碍物(图1中的Ob)的目标关节状态的轨迹。然后,轨迹生成装置10使机器人臂20沿着所生成的轨迹移动或操作。下面将描述轨迹生成装置10的细节。运动空间是指机器人臂20工作的空间。
<轨迹生成装置10的示意性配置>
随后,将参照图2来描述轨迹生成装置10的示意性配置。如图2所示,轨迹生成装置10包括作为功能块的信息获取单元100、手位置估计单元110、随机数生成单元120、限制搜索单元130以及移动命令单元140。注意,信息获取单元100、手位置估计单元110、随机数生成单元120、限制搜索单元130以及移动命令单元140也可以被设置于包括在控制器中。注意,单元110、120、130、140的单独功能可以通过下述操作来实现:(i)通过将CPU与包括如上所述的程序的计算机可读指令的存储器一起配置,或者(ii)通过由一个或多个IC等单独配置为硬件电路,而无需任何CPU连同存储器,或者(iii)通过配置为(a)CPU连同包括程序中的计算机可读指令的存储器以及(b)由一个或多个IC等的硬件电路的组合。在轨迹生成装置10中,可以通过使用障碍物和机器人臂20的3D模型代替实际障碍物和机器人臂20作为对象来生成轨迹。
信息获取单元100获取关于障碍物和机器人臂20的关节状态的信息。如图3所示,信息获取单元100包括位置信息获取单元101、关节状态获取单元104以及维度转换单元105。
位置信息获取单元101获取关于存在于机器人臂20的运动空间中的障碍物的位置的障碍物信息。下文中,存在于机器人臂20的运动空间中的障碍物将被简称为障碍物。如图3所示,位置信息获取单元101包括环境信息获取单元102和抽象化单元103。
环境信息获取单元102获取指示障碍物在三维空间中的位置的位置坐标作为障碍物信息。也就是说,环境信息获取单元102获取由三维空间中的正交坐标系表示的位置坐标作为关于障碍物的位置的信息。例如,该正交坐标系的原点可以是机器人臂20的基座部的固定点。环境信息获取单元102可以通过利用传感器例如摄像机检测真实对象的障碍物来获取障碍物的位置坐标,或者在使用3D模型的障碍物的模拟中获取障碍物的位置坐标。环境信息获取单元102可以被配置成以三维点云数据(即,点群数据)的形式获取障碍物的位置坐标。
抽象化单元103将由环境信息获取单元102获取的3D点云数据形式的障碍物的位置坐标转换成具有较少信息量的3D网格数据。具体地,通过将三维点云数据形式的障碍物的位置坐标收集成每单位间隔的划分一个点来减少信息量,单位间隔具有比位置坐标的最小位置大的位置。
关节状态获取单元104获取机器人臂20的关节状态。关节状态获取单元104可以获取关节Jo1至Jo4的关节角度。关节状态获取单元104获取机器人臂20在每个时间处的关节状态(下文中,对象关节状态)。例如,当该时间存在时,可以根据移动关节的致动器的当前驱动状态来指定对象关节状态。关节状态获取单元104可以获取实际机器人臂20的关节状态,或者可以获取使用3D模型机器人臂20的模拟中的关节状态。如果该时间在当前时间之后的将来时间,则可以获取由稍后描述的限制搜索单元130搜索到的针对将来时间的关节状态作为对象关节状态。关节状态获取单元104还获取机器人臂20的最终目标关节状态。该目标关节状态可以通过由操作者等输入来给出。
维度转换单元105将由关节状态获取单元104获取的机器人臂20的关节状态转换成与由抽象化单元103转换的三维网格数据呈相同格式的三维网格数据。维度转换单元105可以通过使用机器学习例如DNN(深度神经网络)的学习结果将由关节状态获取单元104获取的机器人臂20的关节状态转换成该三维网格数据。作为结果,障碍物的位置坐标和机器人臂20的关节状态被统一为相同的三维网格数据格式。维度转换单元105可以使用机器学习的学习结果,在该机器学习中,输入机器人臂20的关节状态并且输出三维网格数据。在机器学习中,对多个不同的样本执行学习。这同样适用于后续的机器学习。学习结果是已经执行了学习的机器学习模型。例如,学习结果可以是已经对其执行了学习的鉴别器。这同样适用于后续。
信息获取单元100将(i)通过抽象化单元103转换的障碍物的位置坐标的三维网格数据和(ii)由维度转换单元105转换的机器人臂20的关节状态的三维网格数据输出至稍后将描述的手位置估计单元110。也就是说,障碍物的位置坐标和机器人臂20的关节状态被统一成三维网格数据格式,并且被输出至手位置估计单元110。
返回至图2,手位置估计单元110估计机器人臂20的手201的位置(下文中,称为手位置)。该手位置对应于端部位置。手位置估计单元110对应于端部位置估计单元。手位置估计单元110通过使用机器学习例如DNN的学习结果、基于从信息获取单元100输入的障碍物的位置坐标、特定时间处(下文中,第一时间)的对象关节状态以及目标关节状态来估计下一时间处(下文中,第二时间)的手位置。与第一时间和第二时间对应的时间随着作为对象的时间的推进而改变。当第一时间是t时,将在时间t+1处的手位置估计为在第二时间处的手位置。当第一时间是t+1时,将在时间t+2处的手位置估计为在第二时间处的手位置。第二时间处的手位置对应于下一端部位置。
手位置估计单元110可以使用机器学习的学习结果,在该机器学习中,输入障碍物的位置坐标、机器人臂20的开始的关节状态(即,开始关节状态)以及机器人臂20的目标的关节状态(即,目标关节状态),并且输出机器人臂20的手位置。这种机器学习的示例可以为数十个环境准备针对数千个不同布局中的每一个的不同开始和目标。该布局可以使得具有相同大小的若干立方体随机地布置在运动空间中,以便不与机器人臂20交叠。针对开始和目标,可以随机地生成能够采取与障碍物无干扰的姿势的关节状态。
用于该机器学习的障碍物的位置坐标、机器人臂20的开始关节状态以及机器人臂20的目标关节状态被统一为相同的三维网格数据格式。在多连杆机构中,障碍物和多连杆机构可以具有不同的坐标系。这种情况可能导致这样的问题:需要学习从三维正交坐标系(这是障碍物的坐标系)到关节坐标系(这是机器人臂20的坐标系)的困难的坐标转换规则。这个问题使得学习难以收敛。另一方面,根据上述配置,与坐标系不同的情况相比,可以通过统一坐标系来改善学习收敛性。另外,通过采用网格数据格式,可以抑制要处理的数据的数量,并且改善学习收敛性。
另外,由手位置估计单元110所使用的机器学习的学习结果可以优选地是监督学习(即,有教员的学习)的学习结果。该监督学习是使用能够在不与障碍物产生干扰的情况下达到目标关节状态的搜索的搜索结果作为教员数据来执行的机器学习。干扰指的是障碍物与机器人臂20之间的接触。可以使用路径规划方法例如RRT(快速探索随机树)来执行搜索。例如,教员数据可以使用障碍物位置和在机器人臂20的轨迹的每个时间步长处的关节状态,该机器人臂20在不与障碍物产生干扰的情况下已经达到目标关节状态。
上述配置使得机器学习能够隐含地学习满足(i)达到和(ii)接触避免的机器人臂20的关节状态。因此,与输出机器人臂20的关节状态的情况相比,可以更容易地满足解的完整性,同时在手位置被设置为中间状态的情况下执行层次化。
随机数生成单元120将随机数作为噪声添加至由手位置估计单元110用来估计手位置的障碍物的位置坐标、对象关节状态和目标关节状态中的至少一个。也就是说,将噪声添加至手位置估计单元110的输入。例如,随机数可以是正态分布的随机数。根据上述配置,由于将噪声添加至手位置估计单元110的输入的随机性的影响使得能够在使用学习结果的手位置估计中更早地脱离局部解。作为结果,可以进一步缩短手位置估计单元110估计手位置所需的处理时间。
注意,随机数生成单元120不限于具有将噪声添加至手位置估计单元110的输入的配置,而是可以具有将噪声添加至手位置估计单元110的输出的配置。在这种情况下,随机数生成单元120可以被配置成将随机数作为噪声添加至由手位置估计单元110估计的手位置。据此,通过将噪声添加至手位置估计单元110的输出的随机性的影响使得能够在使用学习结果的手位置估计中更早地脱离局部解。作为结果,可以进一步缩短手位置估计单元110估计手位置所需的处理时间。
限制搜索单元130使用由手位置估计单元110估计的手位置作为限制来搜索第二时间处的无干扰关节状态。无干扰关节状态是机器人臂20和障碍物不相互干扰的机器人臂20的关节状态。注意,由手位置估计单元110估计的手位置是当随机数生成单元120采用将噪声添加至手位置估计单元110的输出的配置时添加了噪声的手位置。这同样适用于后续。如图2所示,限制搜索单元130包括手取向生成单元131、逆运动学计算单元132、干扰确定单元133、目标到达确定单元134、存储/校正单元135和搜索中止确定单元136。
手取向生成单元131生成针对采取由手位置估计单元110估计的端部位置的手201在第二时间处的取向(在下文中,手取向)。手取向对应于端部取向。手取向生成单元131对应于端部取向生成单元。手取向生成单元131可以优选地根据作为第二时间的前一时间的第一时间处的手取向来生成其中取向的变化在预定范围内的取向,作为针对采取由手位置估计单元110估计的在第二时间处的手位置的手取向。作为示例,当第一时间处的手取向是αt时,通过图4所示的等式计算第二时间处的手取向αt+1,并且生成第二时间处的手取向。此处,假设图4中的θ为满足-β<θ<β的随机数。β是可以被可选地设定的值。这可以对机器人臂20的运动的连续性施加限制;因此,可以将用于搜索无干扰关节状态的范围限制到现实的搜索范围(realistic search range)。
注意,手取向生成单元131不限于具有这样的配置:根据在第一时间处的手取向生成其中取向的变化在预定范围内的取向作为在第二时间处的手取向。例如,可以随机选择能够被选择为手取向的手取向中的任何一个来生成第二时间处的手取向。
根据由手位置估计单元110估计的手位置和由手取向生成单元131生成的手取向,逆运动学计算单元132通过逆运动学计算获得满足手位置和手取向的机器人臂20的关节状态。也就是说,通过逆运动学计算,获得满足由手位置估计单元110估计的第二时间处的手位置和由手取向生成单元131生成的第二时间处的手取向的第二时间处的机器人臂的关节。作为示例,使用Jacobian矩阵的方法可以被用作逆运动学计算。逆运动学计算单元132对应于关节状态获得单元。
干扰确定单元133确定在具有由逆运动学计算单元132获得的关节状态的机器人臂20与障碍物之间是否存在干扰。干扰确定单元133可以例如通过确定在模拟中机器人臂20和障碍物是否彼此接触来确定机器人臂20是否与障碍物产生干扰。
当干扰确定单元133确定存在干扰并且在相同时间处重新生成手取向的次数(在下文中,搜索的次数)等于或小于指定数U时,手取向生成单元131重新生成手取向。在这种情况下,逆运动学计算单元132根据由手位置估计单元110估计的手位置和由手取向生成单元131重新生成的手取向、通过逆运动学计算来获得满足手位置和手取向的机器人臂20的关节状态。然后,干扰确定单元133重新确定障碍物与具有由逆运动学计算单元132获得的关节状态的机器人臂20之间存在或不存在干扰。也就是说,继续对无干扰关节状态的搜索。在这种情况下,手取向生成单元131可以在满足-β<θ<β的范围内改变上述θ的值,并且重新计算第二时间处的手取向αt+1以重新生成第二时间处的手取向。限制搜索单元130可以对搜索次数进行计数。搜索的次数对应于端部位置生成的计数次数。在本文中,指定数U是可以被可选地设定的值。
当干扰确定单元133确定不存在干扰时,目标到达确定单元134确定由限制搜索单元130搜索到的无干扰关节状态是否已经达到目标关节状态。当由干扰确定单元133确定为不具有干扰的关节状态与目标关节状态匹配时,目标到达确定单元134可以确定无干扰关节状态已经达到目标关节状态。另一方面,当由干扰确定单元133确定为不具有干扰的关节状态与目标关节状态不匹配时,可以确定无干扰关节状态没有达到目标关节状态。
当干扰确定单元133确定不存在干扰时,存储/校正单元135将由干扰确定单元133确定为不具有干扰的关节状态作为轨迹信息存储在轨迹生成装置10的存储器中。另外,存储/校正单元135可以存储从与开始相对应的机器人臂20的初始关节状态到与目标相对应的目标关节状态的轨迹信息。在这种情况下,优选地,根据需要添加轨迹校正,例如在从开始到目标每次替换关节状态的捷径。术语“捷径”在本文中表示缩短从开始到目标的路线。这使得可以进一步改善解的最优性。
当干扰确定单元133确定存在干扰并且搜索次数超过指定数U时,搜索中止确定单元136中止对无干扰关节状态的搜索。在这种情况下,手位置估计单元110将第二时间处的手位置重新估计为不同的手位置,并且然后再次搜索无干扰关节状态。当手位置估计单元110重新估计在第二时间处的手位置时,可以重新估计手位置,直到根据具有相同输入的机器学习的学习结果估计出不同的手位置。另外,随机数生成单元120可以改变添加至输入或输出的噪声,并且手位置估计单元110可以将第二时间处的手位置重新估计为不同的手位置。据此,即使无论手取向被重新生成多少次都没有完成对无干扰关节状态的搜索,当搜索次数超过指定数U时,搜索也可以中止。这可以防止无论手取向被重新生成多少次都没有完成对无干扰关节状态的搜索的情况。
如上所述,当干扰确定单元133确定不存在干扰时,限制搜索单元130结束对无干扰关节状态的搜索。另外,在干扰确定单元133确定存在干扰时,作为手取向生成单元131中的手取向的重新生成次数的搜索次数可以少于指定数U。在这种情况下,在限制搜索单元130中,手取向生成单元131将手取向重新生成为不同的手取向,并且继续对无干扰关节状态的搜索。另一方面,在限制搜索单元130中,当搜索次数超过指定数U时,中止对无干扰关节状态的搜索,手位置估计单元110重新估计为不同的手位置,并且然后重新进行对无干扰关节状态的搜索。通过限制搜索单元130每次搜索和存储无干扰关节状态对应于生成机器人臂20的轨迹。
为了实现沿着由限制搜索单元130生成的机器人臂20的轨迹的运动,移动命令单元140将运动控制信号发送至设置在机器人臂20的关节Jo1至Jo4上的致动器。作为结果,机器人臂20被控制成沿着由轨迹生成装置10生成的轨迹移动。
<轨迹生成装置10中的轨迹生成相关处理>
接下来,将使用图5的流程图来描述轨迹生成装设备10中的轨迹生成相关处理的序列的示例。由处理器执行轨迹生成相关处理中包括的步骤对应于执行轨迹生成方法。例如,图5的流程图可以被配置成当操作者等进行用于开始轨迹生成的操作输入时开始。
首先,在步骤S1中,信息获取单元100获取障碍物的位置坐标、第一时间处的对象关节状态以及目标关节状态。步骤S1对应于位置信息获取步骤。在步骤S2中,手位置估计单元110通过使用机器学习的学习结果、基于下述信息来估计作为下一时间的第二时间处的手位置:(i)在S1中获取的障碍物的位置坐标、(ii)第一时间处的对象关节状态以及(iii)目标关节状态。步骤S2对应于端部位置估计步骤。
在S1和S2中,每次重复序列以返回S1时增加作为对象的时间。例如,当第一时间为t1且第二时间为t+1时,将第一时间推进至t+1且将第二时间推进至t+2。注意,在S1中,也可以在每次重复序列以返回S1时,可以采用其中再次获取诸如第一时间处的对象关节状态的随时间变化的信息的配置。另外,在S1中,随机数生成单元120将噪声添加至手位置估计单元110的输入或输出。
在步骤S3中,手取向生成单元131生成第二时间处的手取向。在步骤S4中,逆运动学计算单元132根据在S2中估计的手位置和在S3中生成的手取向、通过逆运动学计算来获得满足手位置和手取向的机器人臂20的关节状态。
在步骤S5中,干扰确定单元133确定具有在S4中获得的关节状态的机器人臂20与障碍物之间是否存在干扰。在步骤S6中,当干扰确定单元133确定没有干扰的情况下(步骤S6中的“否”),处理进行至步骤S9。另一方面,当干扰确定单元133确定存在干扰时(在S6中的“是”),处理进行至步骤S7。
在步骤S7中,当作为在相同时间处重新生成手取向的次数的搜索次数超过指定数U时(S7中的“是”),处理进行至步骤S8。另一方面,当搜索次数等于或小于指定数U时(S7中的“否”),处理返回至S3。由此,手取向被重新生成为不同的手取向,并且继续对无干扰关节状态的搜索。在步骤S8中,搜索中止确定单元136中止对无干扰关节状态的搜索。然后,返回至S1,将手位置重新估计为不同的手位置,并且再次执行对无干扰关节状态的搜索。
在步骤S9中,存储/校正单元135将在S5中被确定为无干扰的关节状态作为轨迹信息存储在轨迹生成装置10的存储器中。在S5中确定为无干扰的关节状态对应于可以由限制搜索单元130搜索到的无干扰关节状态。在步骤S10中,目标到达确定单元134确定由限制搜索单元130搜索到的无干扰关节状态是否已经达到目标关节状态。
在步骤S11中,当目标到达确定单元134确定无干扰关节状态已经达到目标关节状态时(S11中的“是”),轨迹生成相关处理结束。当确定无干扰关节状态已经达到目标关节状态时,存储/校正单元135可以根据需要添加轨迹校正,例如要被替换的捷径。这样的捷径是用于从机器人臂20的初始关节状态到目标关节状态每次替换所存储的关节状态。另一方面,当目标到达确定单元134确定无干扰关节状态未达到目标关节状态时(S11中的“否”),处理进行至步骤S12。在步骤S12中,时间推进至下一时间,处理返回至S1以重复该处理。例如,当时间为t时,该时间推进至t+1,处理返回至S1以重复该处理。S3至S12中的步骤中的至少一部分步骤对应于限制搜索步骤。
<第一实施方式的概述>
将参照图6和图7描述第一实施方式的配置的效果。图6是用于说明仅通过机器学习模型获得关节状态的示例的图。图7是用于说明通过组合机器学习模型和搜索来获得关节状态的示例的图。
图6的示例是仅通过输入目标关节状态和第一时间处的关节状态并且输出第二时间处的关节状态的机器学习模型来获得机器人臂20的关节状态的示例。如果机器学习模型可以使学习收敛,则在短时间内生成更适当的轨迹变得可能。然而,在图6所示的机器学习模型中,输入和输出两者都是作为多连杆机构的机器人臂20的关节状态。因此,要学习的运动模式变得庞大,并且难以使学习收敛。
另一方面,在第一实施方式的配置中,如图7所示,在上层中,通过机器学习模型获得机器人臂20的手位置而不是关节状态;在下层中,以手位置作为限制来搜索剩余关节状态。根据第一实施方式的配置,上层使用输入目标关节状态和第一时间处的关节状态并且输出第二时间处的手位置的机器学习模型。也就是说,与输出机器人臂20的关节状态的情况相比,以手位置为中间状态执行层次化。在第一实施方式的配置中,通过输出具有小于关节状态的状态数的手位置,与输出关节状态时相比,可以更容易地使学习收敛。在第一实施方式的配置中,由于使用了这样的机器学习模型,因此与使用如图6所示的输出关节状态的机器学习模型相比,可以更容易地实现这样的机器学习模型。
根据第一实施方式的配置,至少通过机器学习来估计直到第二时间的手位置。因此,与不使用机器学习而仅通过搜索来生成机器人臂20的轨迹的情况相比,在更短的时间内生成更容易满足最优性的轨迹变得可能。
另外,由于手的位置受到机器人臂20的全部关节的影响,因此可以说是用于生成机器人臂20的轨迹的重要信息被压缩。因此,即使以手位置作为中间状态来执行分层或层次化,也几乎不排除用于满足解的完整性和最优性的信息,并且可以容易地满足解的完整性和最优性。
需要考虑机器人臂20的整个关节状态的下层的学习比仅需要存储与信息被压缩的与手位置的相对关系的上层的学习更困难。另一方面,在第一实施方式的配置中,通过以在上层中获得的手位置作为限制的搜索来获得具有高学习难度的下层中的关节状态。在该搜索中,通过搜索在第二时间处机器人臂20和障碍物不相互干扰的机器人臂20的无干扰关节状态来生成机器人臂20的轨迹。因此,搜索可以满足解的完整性。作为结果,可以更容易地并且在更短的时间内生成机器人臂20的轨迹,并且可以使解的完整性和最优性彼此更兼容。
(第二实施方式)
尽管第一实施方式已经示出了仅将最终目标关节状态用作目标关节状态的配置,但是不必局限于此。例如,可以提供这样的配置(在下文中,第二实施方式):在该配置中,目标关节状态是在达到最终目标关节状态之前作为子目标的目标关节状态(在下文中,子目标状态)。例如,子目标状态从初始关节状态到最终目标关节状态顺序地划分关节状态,并且最后划分的子目标状态可以是最终目标关节状态。注意,最终目标关节状态可以被配置成与子目标状态相区分。然而,本实施方式将描述不区分最终目标关节状态和子目标状态的示例。
下文中,将参照附图描述第二实施方式的示例。除了包括轨迹生成装置10a而不是轨迹生成装置10以外,第二实施方式的机器人臂系统1与第一实施方式的机器人臂系统1相同。第二实施方式的机器人臂系统1也对应于多连杆系统。
此处,将参照图8描述轨迹生成装置10a的示意性配置的示例。如图8所示,轨迹生成装置10a包括作为功能块的信息获取单元100a、手位置估计单元110、随机数生成单元120、限制搜索单元130a、移动命令单元140和子目标估计单元150。除了信息获取单元100a和限制搜索单元130a代替了信息获取单元100和限制搜索单元130并且包括子目标估计单元150之外,轨迹生成装置10a与第一实施方式的轨迹生成装置10相同。
子目标估计单元150通过使用机器学习的学习结果、基于下述信息来获得机器人臂20在可选时间处的关节状态的概率分布:由信息获取单元100a获取的障碍物的位置坐标、机器人臂20的初始关节状态以及机器人臂20的最终目标关节状态;在机器学习中,输入机器人臂20的开始关节状态、机器人臂的目标关节状态以及障碍物的位置坐标,并且输出机器人臂20在可选时间处的关节状态的概率分布。作为示例,此处,CVAE(ConditionalVariational AutoEncoder,条件式变换自编码)可以用作机器学习。另外,为了输出概率分布,可以将正态分布的随机数(0到1)添加至输入。
另外,子目标估计单元150对所获得的机器人臂20在可选时间处的的关节状态的概率分布执行聚类。例如,可以使用K均值方法作为聚类。然后,子目标估计单元150通过该聚类来估计子目标状态,该子目标状态是在达到机器人臂20的最终目标关节状态之前作为子目标的目标关节状态。
信息获取单元100a将由子目标估计单元150估计的子目标状态作为目标关节状态来获取。手位置估计单元110使用子目标状态作为目标关节状态来估计第二时间处的手位置。注意,每当稍后描述的目标到达确定单元134a确定达到子目标状态时,手位置估计单元110就可以通过将用于估计的子目标状态切换至下一子目标状态来估计第二时间处的手位置。此处,下一子目标状态是呈从机器人臂20的初始关节状态到最终目标关节状态的子目标状态的顺序排列的子目标状态的顺序的下一子目标状态。最终目标关节状态是在顺序的端部处的子目标状态。
如图8所示,限制搜索单元130a包括手取向生成单元131、逆运动学计算单元132、干扰确定单元133、目标到达确定单元134a、存储/校正单元135和搜索中止确定单元136。除了提供目标到达确定单元134a而不是目标到达确定单元134之外,限制搜索单元130a与第一实施方式的限制搜索单元130类似。当干扰确定单元133确定没有干扰时,目标到达确定单元134a确定限制搜索单元130a搜索到的无干扰关节状态是否已经达到子目标状态。
在轨迹生成装置10a中,通过顺序地切换子目标状态直到到达最终目标关节状态,同时由子目标估计单元150估计的子目标状态是作为对象的目标关节状态,执行由手位置估计单元110进行的手位置估计和由限制搜索单元130a进行的对无干扰关节状态的搜索的一系列处理。
此处,将使用图9的流程图来描述轨迹生成装置10a中的轨迹生成相关处理的序列的示例。由处理器执行包括在该轨迹生成相关处理中的步骤也对应于执行轨迹生成方法。图9的流程图也可以被配置成在由操作者等进行用于开始轨迹生成的操作输入时开始。
首先,在步骤S21中,信息获取单元100a获取障碍物的位置坐标、第一时间处的对象关节状态以及目标关节状态。S21也对应于位置信息获取步骤。在步骤S22中,与S2类似,手位置估计单元110通过使用机器学习的学习结果、基于下述信息来估计作为下一时间的第二时间处的手位置:在S21中获取的障碍物的位置坐标、第一时间处的目标关节状态St以及目标关节状态。S22也对应于端部位置估计步骤。
在S21至S22中,每次重复序列以返回S21时增加作为对象的时间。在S21中,每次重复序列以返回S21时,可以配置成使得随时间变化的信息——例如第一时间处的对象关节状态St——被再次获取。另外,在S21中,可以提供以下配置:该配置使得每次搜索到的无干扰关节状态达到除了作为最终目标关节状态的子目标状态之外的子目标状态并且返回至S21时,重新获取下一子目标状态作为目标关节状态。同样在S21中,优选地,随机数生成单元120将噪声添加至手位置估计单元110的输入或输出。
在步骤S23至S29中,执行与S3至S9相同的步骤。在步骤S30中,目标到达确定单元134a确定由限制搜索单元130a搜索到的无干扰关节状态是否已经达到子目标状态。
在步骤S31中,当目标到达确定单元134a确定无干扰关节状态已经达到子目标状态的情况下(S31中的“是”),处理进行至步骤S33。另一方面,当目标到达确定单元134a确定无干扰关节状态未达到子目标状态时(S31中的“否”),处理进行至步骤S32。在步骤S32中,时间推进至下一时间,处理返回至步骤S21以重复处理。
在步骤S33中,如果确定已经达到搜索到的无干扰关节状态的子目标状态是最终目标关节状态(S33中的“是”),则结束轨迹生成相关处理。另一方面,当确定已经达到搜索到的无干扰关节状态的子目标状态不是最终目标关节状态时(S33中的“否”),处理进行至步骤S34。在步骤S34中,将作为目标关节状态的子目标状态改变为其中搜索完成的子目标状态的下一个目标状态,处理返回至S21以重复处理。S23至S34的步骤中的至少一部分步骤对应于限制搜索步骤。
除了将目标关节状态划分为多个用于处理的子目标之外,第二实施方式的配置与第一实施方式的配置相同。因此,如在第一实施方式一样,可以更容易地并且在更短时间内生成机器人臂20的轨迹,并且可以使解的完整性和最优性彼此更兼容。
另外,根据第二实施方式的配置,由机器学习的学习结果对占据用于生成机器人臂20的轨迹的处理时间的百分之几十的逆运动学计算进行近似。这可以减少处理时间。作为结果,在更现实的时间内生成轨迹变得更容易。
根据上述配置,目标关节状态被划分成多个子目标并且被处理。这使得可以进一步减少生成机器人臂20的轨迹所需的处理时间,同时进一步改善解的最优性。特别地,当从机器人臂20的初始目标状态到最终目标状态的距离较长时,该效果显著。
(第三实施方式)
在第一实施方式中,描述了如下配置:根据由手位置估计单元110估计的手位置和由手取向生成单元131生成的手取向,通过逆运动学计算来获得满足手位置和手取向的机器人臂20的关节状态。然而,不必限于此。例如,可以提供以下配置(下文中,第三实施方式):使用对逆运动学计算进行近似的机器学习的学习结果来代替逆运动学计算。
下文中,将参照附图描述第三实施方式的示例。除了包括轨迹生成装置10b而不是轨迹生成装置10以外,根据第三实施方式的机器人臂系统1与根据第一实施方式的机器人臂系统1相同。第三实施方式的机器人臂系统1也对应于多连杆系统。
此处,将参照图10描述轨迹生成装置10b的示意性配置的示例。如图10所示,轨迹生成装置10b包括作为功能块的信息获取单元100、手位置估计单元110、随机数生成单元120、限制搜索单元130b以及移动命令单元140。除了用限制搜索单元130a代替限制搜索单元130之外,轨迹生成装置10b与第一实施方式的轨迹生成装置10相同。
如图10所示,限制搜索单元130b包括手取向生成单元131、逆运动学计算近似单元132b、干扰确定单元133、目标到达确定单元134、存储/校正单元135和搜索中止确定单元136。除了逆运动学计算近似单元132b代替了逆运动学计算单元132之外,限制搜索单元130b与第一实施方式的限制搜索单元130相同。
逆运动学计算近似单元132b通过使用机器学习的学习结果、根据由手位置估计单元110估计的第二时间处的手位置和由手取向生成单元131生成的第二时间处的手取向,获得满足手位置和手取向的机器人臂20的关节状态;在机器学习中,手201采取的手位置和手取向的组合为输入,并且机器人臂20的关节状态为输出。此处的机器学习可以使用DNN等来配置。逆运动学计算近似单元132b还对应于关节状态获得单元。干扰确定单元133确定障碍物与具有由逆运动学计算近似单元132b确定的关节状态的机器人臂20之间是否存在干扰。
除了使用对逆运动学计算进行近似的机器学习的学习结果来代替逆运动学计算之外,第三实施方式的配置与第一实施方式的配置相同。因此,如第一实施方式一样,可以更容易地并且在更短时间内生成机器人臂20的轨迹,并且可以使解的完整性和最优性彼此更兼容。
另外,根据第三实施方式的配置,由机器学习的学习结果对占据用于生成机器人臂20的轨迹的处理时间的百分之几十的逆运动学计算进行近似。这可以减少该处理时间。作为结果,在更现实的时间内生成机器人臂20的轨迹变得更容易。
(第四实施方式)
上述实施方式描述了其中随机数生成单元120将噪声添加至手位置估计单元110的输入或输出的配置。不必限于此。例如,轨迹生成装置10、10a和10b可以不包括随机数生成单元120,并且可以不将噪声添加至手位置估计单元110的输入或输出。
(第五实施方式)
上述实施方式已经描述了以下配置:在该配置中,在作为在相同时间处重新生成手取向的次数的搜索次数超过指定数U时,搜索中止确定单元136中止对无干扰关节状态的搜索。然而,不必限于此。例如,轨迹生成装置10、10a、10b可以不包括搜索中止确定单元136,并且可以被配置成基于搜索次数不中止对无干扰关节状态的搜索。在这种情况下,限制搜索单元130、130a、130b可以被配置成不对搜索的次数进行计数。
(第六实施方式)
上述实施方式已经描述了以下配置:在该配置中,将障碍物的障碍物在坐标系中的位置坐标和机器人臂20的坐标系的关节状态统一为相同的三维网格数据格式。然而,不必限于此。例如,障碍物的位置坐标和机器人臂20的关节状态可能不以相同的三维网格数据格式统一。在这种情况下,信息获取单元100可以不包括抽象化单元103和维度转换单元105。即使障碍物的位置坐标和机器人臂20的关节状态没有被统一为相同的三维网格数据格式,也学习从障碍物坐标系到机器人臂20坐标系的坐标转换规则。因此,手位置估计单元110可以估计手端部位置。
(第七实施方式)
上述实施方式已经描述了以下配置:在该配置中,轨迹生成装置10、10a、10b中设置有移动命令单元140。然而,不必限于此。例如,轨迹生成装置10、10a、10b也可以不包括移动命令单元140。在这种情况下,与轨迹生成装置10、10a和10b不同的设备可以具有移动命令单元140的功能。
(第八实施方式)
上述实施方式已经描述了以下配置:在该配置中,轨迹生成装置10、10a、10b生成机器人臂20的轨迹。然而,不必限于此。例如,轨迹生成装置10、10a、10b也可以被配置成生成除机器人臂20以外的多连杆机构的轨迹。
注意,本公开内容不限于上述实施方式,并且可以在本公开内容的范围内进行各种修改。通过适当地组合在不同实施方式中公开的技术手段而获得的实施方式也包括在本公开内容的技术范围内。可以由一个或更多个专用计算机来实现在上述实施方式中的本公开内容中描述的控制器和方法。可以通过以下操作来创建这样的计算机:(i)通过配置存储器和被编程为执行计算机程序中呈现的一个或更多个特定功能的处理器,或者(ii)通过配置由一个或更多个没有CPU的专用硬件逻辑电路提供的处理器,或者(iii)通过配置(a)存储器和被编程为执行计算机程序中呈现的一个或更多个特定功能的处理器以及(b)由一个或更多个硬件逻辑电路提供的处理器的组合。计算机程序可以作为要被计算机执行的指令存储在有形的非暂态计算机可读存储介质中。

Claims (11)

1.一种轨迹生成装置,其被配置成生成多连杆机构(20)在运动空间中的轨迹,所述多连杆机构是多个连杆通过作为可移动部件的关节来连接的机器机构,
所述轨迹生成装置包括:
信息获取单元(100),其被配置成获取关于存在于所述多连杆机构的所述运动空间中的障碍物的位置的障碍物信息;
端部位置估计单元(110),其被配置成通过使用机器学习的学习结果、基于下述信息来估计作为第一时间的下一时间的第二时间处的端部位置的下一端部位置,所述端部位置是所述多连杆机构的端部执行器的位置:
(i)所述多连杆机构在所述第一时间处的对象关节状态、(ii)所述多连杆机构的目标关节状态、以及(iii)由所述信息获取单元获取的所述障碍物信息,
在所述机器学习中:
输入所述多连杆机构的开始关节状态、所述多连杆机构的目标关节状态和障碍物信息,并且
输出作为所述多连杆机构的所述端部执行器的位置的所述端部位置;以及
限制搜索单元(130、130a、130b),其被配置成在将由所述端部位置估计单元估计的所述下一端部位置视为限制的同时,搜索所述多连杆机构的无干扰关节状态,在所述无干扰关节状态中,所述障碍物和所述多连杆机构在所述第二时间处不相互干扰。
2.根据权利要求1所述的轨迹生成装置,还包括:
目标到达确定单元(134、134a),其被配置成确定由所述限制搜索单元搜索到的所述无干扰关节状态是否已经达到所述目标关节状态,
其中:
在顺序地推进时间的同时,重复进行由所述端部位置估计单元估计所述下一端部位置和由所述限制搜索单元搜索所述无干扰关节状态的一系列处理,直到所述目标到达确定单元确定由所述限制搜索单元搜索到的所述无干扰关节状态已经达到所述目标关节状态。
3.根据权利要求1所述的轨迹生成装置,其中,
所述限制搜索单元被配置成包括:
端部取向生成单元(131),其被配置成生成端部取向,所述端部取向是所述端部执行器采取由所述端部位置估计单元估计的所述下一端部位置的取向;
关节状态获得单元(132、132b),其被配置成获得满足由所述端部位置估计单元估计的所述下一端部位置和由所述端部取向生成单元生成的所述端部取向的所述多连杆机构的关节状态;以及
干扰确定单元(133),其被配置成确定在所述障碍物与采取由所述关节状态获得单元获得的所述关节状态的所述多连杆机构之间是否存在干扰,
其中:
响应于所述干扰确定单元确定不存在所述干扰,所述限制搜索单元被配置成结束对所述无干扰关节状态的搜索;并且
响应于所述干扰确定单元确定存在所述干扰,所述限制搜索单元被配置成确定端部取向生成的计数次数是否小于或等于指定数,所述端部取向生成的计数次数是由所述端部取向生成单元重新生成的所述端部取向的计数次数,
其中:
在响应于所述干扰确定单元确定存在所述干扰而确定所述端部取向生成的计数次数小于或等于所述指定数的情况下,
由所述限制搜索单元利用所述端部取向生成单元将所述端部取向重新生成为不同的端部取向,并且由所述限制搜索单元继续对所述无干扰关节状态的搜索,并且
在响应于所述干扰确定单元确定存在所述干扰而确定所述端部取向生成的计数次数大于所述指定数的情况下,
在所述限制搜索单元中止将所述下一端部位置视为限制的同时搜索所述无干扰关节状态,
所述下一端部位置被所述端部位置估计单元重新估计为不同的下一端部位置,以及
然后,在所述限制搜索单元重新开始将所述不同的下一端部位置视为限制的同时搜索所述无干扰关节状态。
4.根据权利要求3所述的轨迹生成装置,其中:
所述端部取向生成单元被配置成生成针对采取由所述端部位置估计单元估计的所述下一端部位置的在所述第二时间处的所述端部取向,使得根据所述端部执行器在所述第一时间处的取向的在所述第二时间处的所述端部位置的变化在预定范围内。
5.根据权利要求3或权利要求4所述的轨迹生成装置,还包括:
随机数生成单元(120),其被配置成将随机数作为噪声添加至(i)被所述端部位置估计单元作为根据来估计下一端部位置的三个中的至少一个中,所述三个中的第一个是所述障碍物信息,所述三个中的第二个是所述对象关节状态,所述三个中的第三个是所述目标关节状态,或者(ii)由所述端部位置估计单元估计的所述下一端部位置。
6.根据权利要求3或权利要求4所述的轨迹生成装置,其中:
所述关节状态获得单元(132)被配置成通过使用逆运动学计算来获得满足由所述端部位置估计单元估计的所述下一端部位置和由所述端部取向生成单元生成的所述端部取向的所述多连杆机构的关节状态。
7.根据权利要求3或权利要求4所述的轨迹生成装置,其中:
所述关节状态获得单元(132b)被配置成通过使用机器学习的学习结果来获得满足由所述端部位置估计单元估计的所述下一端部位置和由所述端部取向生成单元生成的所述端部取向的所述多连杆机构的关节状态,
在所述机器学习中,
允许所述端部执行器采取的位置和取向的组合被允许作为输入,并且
输出所述多连杆机构的关节状态。
8.根据权利要求1至4中任一项所述的轨迹生成装置,还包括:
子目标估计单元(150),其被配置成通过以下操作将作为目标关节状态的子目标状态估计为子目标,直到达到所述多连杆机构的最终目标关节状态:
(i)使用机器学习的学习结果和所述多连杆机构在可选时间处的关节状态的概率分布,在所述机器学习中,输入所述多连杆机构的开始关节状态、所述多连杆机构的目标关节状态和所述障碍物的障碍物信息,以及
(ii)关于所述多连杆机构在所述可选时间处的所述关节状态的概率分布进行聚类,所述概率分布是基于由所述信息获取单元获取的所述多连杆机构的初始关节状态、所述多连杆机构的最终目标关节状态以及所述障碍物信息而获得的,
其中:
通过顺序地切换所述子目标状态直到达到所述最终目标关节状态,同时将由所述子目标估计单元估计的所述子目标状态视为所述目标关节状态,执行由所述端部位置估计单元估计所述下一端部位置和由所述限制搜索单元(130a)搜索所述无干扰关节状态的一系列处理。
9.根据权利要求1至4中任一项所述的轨迹生成装置,其中:
所述信息获取单元被配置成包括:
位置信息获取单元(101),其被配置成通过将所述障碍物的位置坐标转换成三维网格数据的格式来获取所述障碍物信息的三维网格数据;以及
维度转换单元(105),其被配置成通过将所述关节状态转换成所述三维网格数据的格式来提供所述多连杆机构的所述关节状态的三维网格数据,
其中:
所述端部位置估计单元被配置成通过使用机器学习的学习结果、基于下述信息来估计所述下一端部位置:
所述障碍物信息的三维网格数据、在所述第一时间处的所述对象关节状态的三维网格数据以及所述目标关节状态的三维网格数据,
在所述机器学习中,
输入以所述三维网格数据的格式统一的所述障碍物信息的三维网格数据、所述多连杆机构的目标关节状态的三维网格数据以及所述多连杆机构的开始关节状态的三维网格数据,并且
输出作为所述多连杆机构的端部执行器的位置的端部位置。
10.一种多连杆系统,包括:
根据权利要求1至9中任一项所述的轨迹生成装置(10、10a、10b);以及
多连杆机构(20),所述多连杆机构(20)是多个连杆通过作为可移动部件的关节来连接的机器机构,所述多连杆机构被控制成沿着由所述轨迹生成装置生成的轨迹移动。
11.一种计算机实现的轨迹生成方法,所述轨迹生成方法由至少一个处理器执行以生成多连杆机构(20)在运动空间中的轨迹,所述多连杆机构是多个连杆通过作为可移动部件的关节来连接的机器机构,
所述轨迹生成方法包括:
获取(S1,S21)与存在于所述多连杆机构的运动空间中的障碍物的位置有关的障碍物信息;
通过使用机器学习的学习结果、基于下述信息来估计(S2、S22)作为第一时间的下一时间的第二时间处的端部位置的下一端部位置,所述端部位置是所述多连杆机构的端部执行器的位置:(i)所述多连杆机构在所述第一时间处的对象关节状态、(ii)所述多连杆机构的目标关节状态以及(iii)所述障碍物信息;在所述机器学习中,输入所述多连杆机构的开始关节状态、所述多连杆机构的目标关节状态和所述障碍物信息,并且输出作为所述多连杆机构的端部执行器的位置的所述端部位置;以及
在将所述下一端部位置视为限制的同时,搜索(S3至S7、S23至S34)所述多连杆机构的无干扰关节状态,在所述无干扰关节状态中,所述障碍物和所述多连杆机构在所述第二时间处不相互干扰。
CN202110142172.2A 2020-02-05 2021-02-02 轨迹生成装置、多连杆系统以及轨迹生成方法 Pending CN113290553A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-018237 2020-02-05
JP2020018237A JP7375587B2 (ja) 2020-02-05 2020-02-05 軌道生成装置、多リンクシステム、及び軌道生成方法

Publications (1)

Publication Number Publication Date
CN113290553A true CN113290553A (zh) 2021-08-24

Family

ID=77061620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110142172.2A Pending CN113290553A (zh) 2020-02-05 2021-02-02 轨迹生成装置、多连杆系统以及轨迹生成方法

Country Status (3)

Country Link
US (1) US11673271B2 (zh)
JP (1) JP7375587B2 (zh)
CN (1) CN113290553A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113954073A (zh) * 2021-11-08 2022-01-21 北京华航唯实机器人科技股份有限公司 机器人活动部件的轨迹分析方法及装置、机器人设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11679500B2 (en) * 2020-12-14 2023-06-20 Honda Motor Co., Ltd. Target object retrieval

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105710881A (zh) * 2016-03-16 2016-06-29 杭州娃哈哈精密机械有限公司 一种机器人末端连续轨迹规划过渡方法
EP3195990A1 (en) * 2016-01-25 2017-07-26 Canon Kabushiki Kaisha Robot trajectory generation method, robot trajectory generation apparatus, product fabrication method, recording medium, program, and robot system
JP2018202550A (ja) * 2017-06-05 2018-12-27 株式会社日立製作所 機械学習装置、機械学習方法、および機械学習プログラム
CN110116405A (zh) * 2018-02-05 2019-08-13 佳能株式会社 轨迹生成方法和轨迹生成装置
US20190275675A1 (en) * 2018-03-09 2019-09-12 Hitachi, Ltd. Trajectory planning apparatus, trajectory planning method, and production system

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2629291B2 (ja) * 1988-08-19 1997-07-09 日本電信電話株式会社 マニピュレータ学習制御方法
US5347459A (en) * 1993-03-17 1994-09-13 National Research Council Of Canada Real time collision detection
US9144904B2 (en) * 2008-05-21 2015-09-29 Fanuc Robotics America Corporation Method and system for automatically preventing deadlock in multi-robot systems
KR102145236B1 (ko) * 2012-06-01 2020-08-18 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영-공간을 이용하여 매니퓰레이터 암 대 환자의 충돌을 회피하는 방법 및 시스템
DE102015204641B4 (de) * 2014-06-03 2021-03-25 ArtiMinds Robotics GmbH Verfahren und System zur Programmierung eines Roboters
JP6416560B2 (ja) * 2014-09-11 2018-10-31 株式会社デンソー 位置決め制御装置
JP6378783B2 (ja) * 2014-12-25 2018-08-22 川崎重工業株式会社 アーム型のロボットの障害物自動回避方法及び制御装置
US9902071B2 (en) * 2015-12-18 2018-02-27 General Electric Company Control system and method for brake bleeding
JP6807949B2 (ja) * 2016-11-16 2021-01-06 三菱電機株式会社 干渉回避装置
JP6705977B2 (ja) * 2017-01-31 2020-06-03 株式会社安川電機 ロボットパス生成装置及びロボットシステム
JP2019005834A (ja) 2017-06-22 2019-01-17 株式会社デンソー 学習システム及び学習方法
WO2019021401A1 (ja) 2017-07-26 2019-01-31 日本電気株式会社 強化学習装置、強化学習方法、および強化学習プログラム記録媒体
JP7013766B2 (ja) * 2017-09-22 2022-02-01 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、及び制御方法
US20190184561A1 (en) * 2017-12-15 2019-06-20 The Regents Of The University Of California Machine Learning based Fixed-Time Optimal Path Generation
JP6857332B2 (ja) * 2018-03-13 2021-04-14 オムロン株式会社 演算装置、演算方法、及びそのプログラム
US11084169B2 (en) * 2018-05-23 2021-08-10 General Electric Company System and method for controlling a robotic arm
JP6833777B2 (ja) * 2018-09-10 2021-02-24 株式会社東芝 物体ハンドリング装置及びプログラム
US11161244B2 (en) * 2019-01-22 2021-11-02 Mitsubishi Electric Research Laboratories, Inc. System and method for automatic error recovery in robotic assembly
CN111476257A (zh) * 2019-01-24 2020-07-31 富士通株式会社 信息处理方法和信息处理装置
WO2020161910A1 (ja) * 2019-02-08 2020-08-13 日本電気株式会社 制御装置、制御方法、記録媒体
US20200254616A1 (en) * 2019-02-13 2020-08-13 AI Incorporated Robotic Cooking Device
JP7222803B2 (ja) * 2019-04-25 2023-02-15 株式会社日立製作所 軌道計画装置、軌道計画方法及びプログラム
JP6792230B1 (ja) * 2019-12-12 2020-11-25 株式会社エクサウィザーズ 情報処理装置、方法およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3195990A1 (en) * 2016-01-25 2017-07-26 Canon Kabushiki Kaisha Robot trajectory generation method, robot trajectory generation apparatus, product fabrication method, recording medium, program, and robot system
CN105710881A (zh) * 2016-03-16 2016-06-29 杭州娃哈哈精密机械有限公司 一种机器人末端连续轨迹规划过渡方法
JP2018202550A (ja) * 2017-06-05 2018-12-27 株式会社日立製作所 機械学習装置、機械学習方法、および機械学習プログラム
CN110116405A (zh) * 2018-02-05 2019-08-13 佳能株式会社 轨迹生成方法和轨迹生成装置
US20190275675A1 (en) * 2018-03-09 2019-09-12 Hitachi, Ltd. Trajectory planning apparatus, trajectory planning method, and production system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113954073A (zh) * 2021-11-08 2022-01-21 北京华航唯实机器人科技股份有限公司 机器人活动部件的轨迹分析方法及装置、机器人设备
CN113954073B (zh) * 2021-11-08 2024-03-22 北京华航唯实机器人科技股份有限公司 机器人活动部件的轨迹分析方法及装置、机器人设备

Also Published As

Publication number Publication date
US20210237270A1 (en) 2021-08-05
US11673271B2 (en) 2023-06-13
JP2021122899A (ja) 2021-08-30
JP7375587B2 (ja) 2023-11-08

Similar Documents

Publication Publication Date Title
WO2020154542A1 (en) Efficient adaption of robot control policy for new task using meta-learning based on meta-imitation learning and meta-reinforcement learning
CN109483534B (zh) 一种物体抓取方法、装置和系统
CN114603564B (zh) 机械臂导航避障方法、系统、计算机设备及存储介质
JP7387920B2 (ja) ロボットを制御するための方法及びロボットコントローラ
CN109760040B (zh) 干扰判定方法、干扰判定系统以及存储介质
CN113290553A (zh) 轨迹生成装置、多连杆系统以及轨迹生成方法
Zhang et al. Sim2real learning of obstacle avoidance for robotic manipulators in uncertain environments
Zhao et al. Efficient trajectory optimization for robot motion planning
KR20210096842A (ko) 주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 방법 및 장치
CN114474106A (zh) 用于控制机器人装置的方法和机器人控制装置
CN114516060A (zh) 用于控制机器人装置的设备和方法
Wirnshofer et al. State estimation in contact-rich manipulation
JP6550605B2 (ja) 動作の転移装置、動作の転移方法及びプログラム
CN113305845B (zh) 一种多机械臂的协作方法
Brecher et al. Towards anthropomorphic movements for industrial robots
JP7263987B2 (ja) 制御装置、制御方法、及び制御プログラム
CN110114195B (zh) 动作转移装置、动作转移方法和存储动作转移程序的非暂时性计算机可读介质
EP2359989B1 (en) Robot control with bootstrapping inverse kinematics
CN114820802A (zh) 高自由度灵巧手抓取规划方法、装置和计算机设备
CN117295589A (zh) 在训练和细化机器人控制策略中使用模仿学习的系统和方法
US20240054393A1 (en) Learning Device, Learning Method, Recording Medium Storing Learning Program, Control Program, Control Device, Control Method, and Recording Medium Storing Control Program
García-Sedano et al. Stamping line optimization using genetic algorithms and virtual 3d line simulation
Jacak et al. CAST tools for intelligent control in manufacturing automation
EP3978209B1 (en) Generative design techniques for soft robot manipulators
CN114080304B (zh) 控制装置、控制方法及控制程序

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