机器人远程操作控制装置、机器人远程操作控制系统、机器人远程操作控制方法以及程序
文献发布时间:2024-04-18 19:58:21
技术领域
本发明涉及机器人远程操作控制装置、机器人远程操作控制系统、机器人远程操作控制方法以及程序。
本申请基于2021年3月31日申请的日本特愿2021-058952号、2021年3月31日申请的日本特愿2021-061137号、2021年3月31日申请的日本特愿2021-060914号以及2021年3月31日申请的日本特愿2021-060904号而主张优先权,在此援引其内容。
背景技术
提出了一种利用者能够辅助机器人的操作的控制装置。作为这样的控制装置,例如,提出了如下的控制装置,该控制装置具有:第一信息取得部,其取得表示对机器人进行操作的第一用户的姿势的第一用户姿势信息;第二信息取得部,其取得表示变化前姿势的变化前姿势信息,该变化前姿势是基于第一用户姿势信息使机器人的姿势变化前的机器人的姿势;以及决定部,其基于变化前姿势信息、以及由第一信息取得部在机器人进行变化前姿势信息所表示的变化前姿势的时间点取得的第一用户姿势信息,将与第一用户的姿势不同的目标姿势决定为机器人的姿势(参照专利文献1)。
在专利文献1所记载的系统中,使机器人的姿势变化为与由操作者佩戴的装置检测到的姿势对应的姿势。
需要说明的是,为了使用远程操纵机器人进行各种作业,需要准确地指示并控制三维空间上的六个自由度指尖目标(位置、姿势)。例如,在使机器人在塑料瓶的铅垂方向相对于桌子不垂直的状态下打开塑料瓶的盖的情况下,进行远程操作的操作者指示:使把持部与塑料瓶的铅垂方向的倾斜一致,同时转动盖。
另外,一直以来,提出了一种受理操作者的动作并按照受理到的动作来控制机器人的机器人系统。例如,专利文献1所记载的机器人系统取得表示对机器人进行操作的第一用户的姿势的第一用户姿势信息,并取得表示基于第一用户姿势信息使机器人的姿势变化前的变化前姿势的变化前姿势信息。该机器人系统基于变化前姿势信息、以及在机器人进行变化前姿势信息所表示的变化前姿势的时间点取得的第一用户姿势信息,将与第一用户的姿势不同的目标姿势决定为机器人的姿势。
另外,专利文献1所记载的机器人具备由多个关节构成的机械臂。有时认为操作者想要使机械臂按照三维空间上的目标姿势进行移动。在该情况下,专利文献1所记载的机器人系统进行逆运动学计算,求出构成机械臂的各关节的目标角度、转矩等单独的控制值,对其动作进行控制。
另外,专利文献1所记载的机器人系统从用户装置经由网络取得作为第一用户姿势信息的基础的用户信息。
在先技术文献
专利文献
专利文献1:日本专利第6476358号
发明内容
发明要解决的问题
但是,在现有技术中,在使机器人进行规定的作业的情况下,与对机器人的操作熟练的利用者相比,对机器人的操作不熟练的利用者有时难以高精度地使机器人进行该作业。
另外,在现有技术中,为了使用远程操纵机器人实现各种作业,操作者在准确地掌握远程位置的机器人和物体的状况的同时,要求高度的操作技术,因此,能够执行的作业有限,并且其效率下降。
因此,在现有技术中,在远程操作时,操作者难以决定并准确地控制空间上的六个自由度(位置、姿势)目标值并进行作业。
另外,提高向控制目标的追随性与针对控制目标的灵活性或逆运动学计算的解的稳定性存在相反(折中)关系。根据逆运动学计算,针对作为机器人整体的控制目标,不一定存在成为解的控制值,也可能存在多个解。另外,即便存在解,该解也不一定稳定。另一方面,通过操作对机器人指示各种任务。通常,关于根据任务而期待的动作,灵活性、平滑性、追随性等动作特性之间的平衡可能根据与解的稳定性的关系而不同。例如,如果事先设定追随性与灵活性、平滑性等其他动作特性之间的平衡,则尽管不需要追随性,也能够得到追随性,取而代之,即便得到了成为稳定的解的动作,也有时会牺牲灵活性、平滑性等动作特性。反之,也有时代替得到动作的灵活性而失去追随性等动作特性。这表示难以进行适合于所有任务的设定。这样,通过操作得不到期待的动作可能成为降低使用了机器人的作业效率的主要原因。
另外,在机器人系统中,为了实现作业的效率化和负担的减轻,使机器人不延迟地追随于操作者的动作是重要的。但是,在通过操作者的动作进行的机器人的控制、动作信息的通信中,无法完全消除延迟。另一方面,机器人的动作的延迟(追随延迟)给操作者带来不适感,成为作业速度的下降、作业的失败的主要原因,导致作业效率的下降。
本发明的方案是鉴于上述的问题点而完成的,其目的之一在于,提供一种即便是对机器人的操作不熟练的利用者也能够高精度地使机器人进行作业的机器人远程操作控制装置、机器人远程操作控制系统、机器人远程操作控制方法、以及程序。
本发明的方案是鉴于上述的问题点而完成的,其目的之一在于,提供一种操作者容易进行作业的机器人远程操作控制装置、机器人远程操作控制系统、机器人远程操作控制方法以及程序。
本发明的方案是鉴于上述点而完成的,其目的之一在于,提供一种能够提高作业效率的控制装置、机器人系统、控制方法以及程序。
本发明的方案是鉴于上述点而完成的,其目的之一在于,提供一种能够提高操作感的控制装置、机器人系统、控制方法以及程序。
用于解决问题的方案
为了解决上述问题,本发明采用了以下的方案。
(1)本发明的一方案的机器人远程操作控制装置具备信息取得部、意图推断部、以及把持方法决定部,在操作者对能够把持物体的机器人进行远程操作的机器人远程操作控制中,该信息取得部取得操作所述机器人的操作者的状态的操作者状态信息,该意图推断部基于所述操作者状态信息,来推断所述操作者试图使所述机器人进行的动作意图,该把持方法决定部决定基于推断出的所述操作者的动作意图的所述物体的把持方法。
(2)在上述方案(1)中也可以是,所述意图推断部基于操作者状态信息对所述操作者的姿势进行分类,由此决定所述机器人的姿势的分类,推断所述操作者的动作意图。
(3)在上述方案(1)中也可以是,所述意图推断部基于所述操作者状态信息,来推断想要把持的物体的把持方式和想要把持的所述物体中的至少一个,由此推断所述操作者的动作意图。
(4)在上述方案(1)中也可以是,所述意图推断部基于所述操作者状态信息,来推断想要把持的物体的把持的方法,基于推断出的想要把持的所述物体的把持的方法来推断想要把持的所述物体,由此,推断所述操作者的动作意图。
(5)在上述方案(1)中也可以是,所述意图推断部基于所述操作者状态信息,来推断想要把持的物体的把持的方法,基于推断出的想要把持的所述物体的把持的方法来推断想要把持的所述物体,由此,推断所述操作者的动作意图。
(6)在上述方案(1)至(5)中的任一方案中也可以是,所述操作者状态信息是所述操作者的视线信息、所述操作者的臂部的运动信息以及所述操作者的头部的运动信息中的至少一个。
(7)在上述方案(1)至(6)中的任一方案中也可以是,所述信息取得部取得所述物体的位置信息,所述把持方法决定部还使用所取得的所述物体的位置信息来推断想要把持的物体。
(8)在上述方案(1)至(7)中的任一方案中也可以是,所述把持方法决定部取得所述机器人具备的把持部的位置信息,基于操作者状态信息对所述把持部的位置信息进行校正。
(9)在上述方案(8)中也可以是,还具备机器人状态图像制作部,所述意图推断部取得基于拍摄装置拍摄到的图像的与所述物体相关的信息,所述机器人状态图像制作部基于与所述物体相关的信息、所述把持部的位置信息、所述操作者状态信息、以及校正后的所述把持部的位置信息,生成向所述操作者提供的图像。
(10)本发明的一方案的机器人远程操作控制系统具备:机器人,其具备把持所述物体的把持部和检测所述把持部的位置信息的检测部;上述方案(1)至(9)中的任一方案的所述机器人远程操作控制装置;环境传感器,其检测所述物体的位置信息;以及传感器,其检测对所述机器人进行操作的操作者的状态的操作者状态信息。
(11)本发明的一方案的机器人远程操作控制方法在操作者对能够把持物体的机器人进行远程操作的机器人远程操作控制中,信息取得部取得操作所述机器人的操作者的状态的操作者状态信息,意图推断部基于所述操作者状态信息,来推断想要把持的物体和把持方法中的至少一个,把持方法决定部决定基于所述推断结果的所述物体的把持方法。
(12)本发明的一方案的程序在操作者对能够把持物体的机器人进行远程操作的机器人远程操作控制中,使计算机执行以下处理:取得对所述机器人进行操作的操作者的状态的操作者状态信息,基于所述操作者状态信息,来推断想要把持的物体和把持方法中的至少一个,决定基于所述推断结果的所述物体的把持方法。
(13)本发明的一方案的机器人远程操作控制装置具备意图推断部和控制指令生成部,在识别操作者的运动并且向机器人传递所述操作者的运动来操作所述机器人的机器人远程操作中,该意图推断部基于由设置于所述机器人或所述机器人的周边环境的环境传感器得到的机器人环境传感器值、以及由操作者传感器得到的作为所述操作者的运动的操作者传感器值,来推断所述操作者的动作,该控制指令生成部基于推断出的所述操作者的动作,针对所述操作者的动作中的一部分自由度生成适当的控制指令,由此,减少所述操作者的动作的自由度而生成控制指令。
(14)在上述方案(13)中也可以是,所述控制指令生成部限制所述操作者应该控制的自由度、能够控制的范围,针对所述操作者对所述机器人的动作指示中的限制了的所述自由度,进行动作辅助。
(15)在上述方案(13)或(14)中也可以是,所述控制指令生成部在所述机器人具备的把持部与基于所述操作者的操作对象的对象物体之间的距离为规定范围外的情况下,不减少所述操作者的动作中的所述操作者的动作的自由度,所述控制指令生成部在所述机器人具备的把持部与基于所述操作者的操作对象的对象物体之间的距离为规定范围内的情况下,减少所述操作者的动作中的所述操作者的动作的自由度,所述机器人环境传感器值具有拍摄到的图像信息和深度信息。
(16)在上述方案(13)至(15)中的任一方案中也可以是,所述意图推断部向学习完毕的意图推断模型输入所述机器人环境传感器值和所述操作者传感器值,推断所述操作者的动作。
(17)在上述方案(13)至(16)中的任一方案中也可以是,所述操作者传感器值是所述操作者的视线信息、以及与所述操作者的臂部的姿势、位置相关的信息即操作者臂部信息中的至少一个。
(18)在上述方案(13)至(17)中的任一方案中也可以是,所述机器人环境传感器值具有拍摄到的图像信息和深度信息。
(19)本发明的一方案的机器人远程操作控制系统具备把持物体的把持部、上述(13)至(18)中的任一方案所记载的所述机器人远程操作控制装置、环境传感器、以及操作者传感器,在识别操作者的运动并且向机器人传递所述操作者的运动来操作所述机器人的机器人远程操作中,该环境传感器设置于所述机器人或所述机器人的周边环境,检测机器人环境传感器值,该操作者传感器检测所述操作者的运动作为操作者传感器值。
(20)本发明的一方案的机器人远程操作控制方法在识别操作者的运动并且向机器人传递所述操作者的运动来操作所述机器人的机器人远程操作中,意图推断部基于由设置于所述机器人或所述机器人的周边环境的环境传感器得到的机器人环境传感器值、以及由操作者传感器得到的作为所述操作者的运动的操作者传感器值,来推断所述操作者的动作,控制指令生成部基于推断出的所述操作者的动作,针对所述操作者的动作中的一部分自由度生成适当的控制指令,由此,减少所述操作者的动作的自由度而生成控制指令。
(21)本发明的一方案的程序在识别操作者的运动并且向机器人传递所述操作者的运动来操作所述机器人的机器人远程操作中,使计算机执行以下处理:基于由设置于所述机器人或所述机器人的周边环境的环境传感器得到的机器人环境传感器值、以及由操作者传感器得到的作为所述操作者的运动的操作者传感器值,来推断所述操作者的动作,基于推断出的所述操作者的动作,针对所述操作者的动作中的一部分自由度生成适当的控制指令,由此,减少所述操作者的动作的自由度而生成控制指令。
(22)本发明的一方案的控制装置具备:动作状况推断部,其至少基于表示机器人的动作环境的环境信息和表示操作状况的操作信息,来推断所述机器人的动作状况;控制指令生成部,其基于所述操作信息,生成用于使所述机器人的执行器(effector)进行动作的控制指令;以及驱动控制部,其基于所述控制指令来控制所述机器人的动作,所述控制指令生成部基于特性参数来决定所述控制指令,该特性参数与对应于所述动作状况的控制特性相关。
(23)在上述方案(22)中也可以是,所述动作状况推断部还基于操作者信息来推断所述动作状况,该操作者信息表示操作所述机器人的操作者的状况。
(24)在上述方案(22)或(23)中也可以是,还具备目标位置推断部,该目标位置推断部至少基于所述操作信息和所述环境信息,来推断所述执行器的目标位置。
(25)在上述方案(24)中也可以是,所述控制指令生成部基于所述特性参数,决定朝向所述目标位置驱动所述执行器的操作量,所述特性参数包括收敛判定参数,该收敛判定参数表示向所述目标位置收敛的收敛判定条件。
(26)在上述方案(25)中也可以是,所述控制指令生成部基于目标函数来决定所述操作量,该目标函数表示用于使所述执行器朝向所述目标位置进行动作的负荷,所述目标函数是将多种因子合成而得到的函数,所述特性参数包括每个所述因子的权重。
(27)在上述方案(25)或(26)中也可以是,所述驱动控制部基于所述特性参数来决定所述操作量,以降低目标值和输出值的偏差,其中,所述目标值是基于所述控制指令的目标值,所述输出值是从驱动所述执行器的动作机构输出的输出值,所述特性参数包括所述偏差相对于所述操作量的增益。
(28)本发明的一方案的程序使计算机作为上述方案(22)至(27)中的任一方案的控制装置发挥功能。
(29)本发明的一方案的机器人系统具备上述方案(22)至(27)中的任一方案的控制装置和机器人。
(30)本发明的一方案的控制方法是控制装置中的控制方法,其中,所述控制装置执行:第一步骤,在该第一步骤中,至少基于表示机器人的动作环境的环境信息和表示操作状况的操作信息,来推断所述机器人的动作状况;第二步骤,在该第二步骤中,基于所述操作信息,生成用于使所述机器人的执行器进行动作的控制指令;以及第三步骤,在该第三步骤中,基于所述控制指令来控制所述机器人的动作,所述第二步骤基于特性参数来决定所述控制指令,该特性参数与对应于所述动作状况的控制特性相关。
(31)本发明的一方案的控制装置具备:轨道预测部,其至少基于表示机器人的动作的动作信息和表示操作状况的操作信息,来决定从当前时刻到规定的预测时间后的预测时刻为止的所述机器人的执行器的预测轨道;以及控制指令生成部,其基于所述预测轨道,生成控制指令。
(32)在上述方案(31)中也可以是,还具备动作状况推断部,该动作状况推断部至少基于表示所述机器人的动作环境的环境信息和所述操作信息,来推断所述机器人的动作状况,所述轨道预测部基于所述动作状况来决定所述预测时间。
(33)在上述方案(32)中也可以是,具备驱动控制部,该驱动控制部基于目标值来决定针对所述机器人的动作机构的操作量,其中,所述目标值是赋予形成所述预测轨道的所述执行器在每个时刻的目标位置的所述机器人的所述动作机构的位移的目标值,所述动作状况推断部基于所述动作状况,来决定所述目标值的增益。
(34)在上述方案(33)中也可以是,所述驱动控制部对第一分量与第二分量进行合成来决定所述操作量,该第一分量是基于赋予所述执行器的当前位置的所述位移的输出值与所述目标值的偏差和第一增益而得到的,该第二分量是基于所述目标值和第二增益而得到的,所述动作状况推断部基于所述动作状况,来决定所述第一增益和所述第二增益。
(35)在上述方案(32)至(34)中的任一方案中也可以是,所述动作状况推断部还基于操作者信息来推断所述动作状况,该操作者信息表示操作所述机器人的操作者的状况。
(36)本发明的一方案的程序使计算机作为上述方案(31)至(34)中的任一方案的控制装置发挥功能。
(37)本发明的一方案的机器人系统具备上述方案(31)至(34)中的任一方案的控制装置和所述机器人。
(38)本发明的一方案的控制方法是控制装置中的控制方法,其中,所述控制方法具备:第一步骤,在该第一步骤中,至少基于表示机器人的动作的动作信息和表示操作状况的操作信息,来决定从当前时刻到规定的预测时间后的预测时刻为止的所述机器人的执行器的预测轨道;以及第二步骤,在该第二步骤中,基于所述预测轨道,生成控制指令。
发明的效果
根据上述方案(1)~(12),即便操作者不进行准确的对位也能够实现对象物体的拾取,因此,即便是对机器人的操作不熟练的利用者,也能够高精度地使机器人进行作业。
根据上述方案(2)~(5),通过根据操作者的包含手、手指在内的臂部的运动等来进行操作者的动作意图推断,从而能够高精度地推断操作者的意图。
根据上述方案(8),基于机器人的把持部的实际的位置和操作者的状态来校正把持部的位置信息,因此,即便操作者不进行准确的对位也能够实现对象物体的拾取。
根据上述方案(9),能够向操作者提供基于校正后的把持部的位置信息而生成的图像,因此,操作者容易对机器人进行远程操作。
根据上述方案(13)~(21),根据状况而代替六个自由度的一部分的控制目标值生成,由此限定操作者应该控制的自由度,因此,操作者容易进行作业。
根据上述方案(22)、(28)、(29)、(30),根据基于动作环境和操作状况而推断的动作状况,使用操作信息来控制执行器的动作。由于根据动作状况对执行器进行操作,因此,机器人的作业效率提高。
根据上述方案(23),还参照操作者的状况而准确地推断动作状况。因此,机器人的作业效率进一步提高。
根据上述方案(24),将机器人的动作控制为,使执行器朝向基于动作环境和操作状况而决定的目标位置进行移动。操作者可以不进行用于准确地指示目标位置的操作,因此,机器人的作业效率进一步提高。
根据上述方案(25),根据动作状况来决定判定为执行器的位置收敛于目标位置的收敛判定条件。因此,能够根据动作状况而实现要求或期待的位置的准确性或解的稳定性。
根据上述方案(26),根据动作状况来决定针对与执行器的动作相关的负荷的因子的权重。因此,能够根据动作状况来调整动作特性,使得降低要求或期待的种类的因子。
根据上述方案(27),根据动作状况来调整目标值与输出值的偏差相对于操作量的增益。由于能够根据动作状况来调整使执行器向目标位置进行动作的速度,因此,使用了机器人的作业变得高效。
根据上述方案(31)、(36)、(37)、(38),按照基于直至比当前时刻靠后的预测时刻为止的执行器的预测轨道而生成的控制指令,对机器人的执行器进行驱动,因此,降低或消除了操作被反映到机器人的动作为止的延迟。对操作者来说,操作感提高,因此,能够同时实现作业效率的提高和负担减轻。
根据上述方案(32),根据从机器人的动作环境和操作状况推断的机器人的动作状况来决定预测时间。因此,根据动作状况来调整操作感的提高与所控制的执行器的位置的准确性的平衡。
根据上述方案(33),根据动作状况来调整目标值对操作量的贡献,该操作量是针对动作机构的操作量。因此,根据动作状况来调整执行器的动作对操作者的操作的灵敏性。
根据上述方案(34),根据动作状况来调整反馈项与前馈项的平衡。因此,根据动作状况来调整执行器的动作对操作者的操作的灵敏性与准确性的平衡。
根据上述方案(35),还参照操作者的状况,准确地推断动作状况。因此,进一步促进了机器人的作业效率和作业负担的减轻。
附图说明
图1是示出实施方式的机器人远程操作控制系统的概要和作业的概要的图。
图2是示出实施方式的机器人远程操作控制系统的结构例的框图。
图3是示出操作者将HMD、控制器佩戴在身上的状态例的图。
图4是示出实施方式的机器人和机器人远程操作控制装置的处理步骤例的图。
图5是示出在桌子上放置有3个物体且操作者试图使机器人用左手把持物体obj3的状态例的图。
图6是实施方式的机器人远程操作控制装置的处理例的流程图。
图7是示出实施方式的HMD所显示的机器人状态图像例的图。
图8是示出实施方式的机器人远程操作控制系统的概要和作业的概要的图。
图9是示出实施方式的机器人远程操作控制系统的结构例的框图。
图10是示出操作者将HMD、控制器佩戴在身上的状态例的图。
图11是示出实施方式的意图推断、控制指令生成处理的概要的图。
图12是示出操作者的意图是试图打开塑料瓶的盖的情况的图。
图13是示出操作者的意图是试图抓取箱子的情况的图。
图14是示出实施方式的存储部所存储的信息例的图。
图15是示出基于机器人远程操作控制装置的辅助而进行的把持位置的指尖目标的修正例的图。
图16是实施方式的机器人和机器人远程操作控制装置的处理步骤例的流程图。
图17是示出第三实施方式的机器人系统的结构例的概要框图。
图18是示出第三实施方式的控制装置的一部分的功能结构例的框图。
图19是示出第三实施方式的控制装置的硬件结构例的概要框图。
图20是示出第三实施方式的动作控制处理的一例的流程图。
图21是示出第四实施方式的机器人系统的结构例的概要框图。
图22是示出第四实施方式的控制装置的一部分的功能结构例的框图。
图23是示出第四实施方式的动作控制处理的一例的流程图。
具体实施方式
<第一实施方式>
以下,参照附图对本发明的实施方式进行说明。需要说明的是,在以下的说明所使用的图中,为能够识别各构件的大小,因此,适当变更了各构件的比例尺。
[概要]
首先,说明由机器人远程操作控制系统进行的作业和处理的概要。
图1是示出本实施方式的机器人远程操作控制系统1的概要和作业的概要的图。如图1那样,操作者Us例如佩戴着HMD(头戴式显示器)5和控制器6(6a、6b)。在作业空间内设置有环境传感器7a、环境传感器7b。需要说明的是,环境传感器7也可以安装于机器人2。另外,机器人2具备把持部222(222a、222b)。环境传感器7(7a、7b)如后述那样例如具备RBG相机和深度传感器。操作者Us一边观察HMD5所显示的图像一边移动佩戴着控制器6的手、手指,由此对机器人2进行远程操作。在图1的例子中,操作者Us对机器人2进行远程操作,使其把持位于桌子Tb上的塑料瓶obj。需要说明的是,在远程操作中,操作者Us无法直接视觉确认机器人2的动作,但是为能够通过HMD5间接地视觉确认机器人2侧的影像的状态。在本实施方式中,机器人2具备的机器人远程操作控制装置3取得对机器人2进行操作的操作者的状态的信息(操作者状态信息),基于取得的操作者状态信息来推断想要把持的物体和把持方法,决定基于推断的物体的把持方法。
[机器人远程操作控制系统的结构例]
接着,对机器人远程操作控制系统1的结构例进行说明。
图2是示出本实施方式的机器人远程操作控制系统1的结构例的框图。如图2那样,机器人远程操作控制系统1具备机器人2、机器人远程操作控制装置3、HMD5、控制器6以及环境传感器7。
机器人2例如具备控制部21、驱动部22、声音收集部23、存储部25、电源26、以及传感器27。
机器人远程操作控制装置3例如具备信息取得部31,意图推断部33,把持方法决定部34,机器人状态图像制作部35、发送部36以及存储部37。
HMD5例如具备图像显示部51、视线检测部52、传感器53、控制部54以及通信部55。
控制器6例如具备传感器61、控制部62、通信部63以及反馈单元64。
环境传感器7例如具备拍摄装置71、传感器72、物体位置检测部73以及通信部74。
需要说明的是,机器人远程操作控制装置3与HMD5例如经由无线或有线的网络而连接。机器人远程操作控制装置3与控制器6例如经由无线或有线的网络而连接。机器人远程操作控制装置3与环境传感器7例如经由无线或有线的网络而连接。机器人远程操作控制装置3与机器人2例如经由无线或有线的网络而连接。需要说明的是,机器人远程操作控制装置3与HMD5也可以不经由网络而直接连接。机器人远程操作控制装置3与控制器6也可以不经由网络而直接连接。机器人远程操作控制装置3与环境传感器7也可以不经由网络而直接连接。机器人远程操作控制装置3与机器人2也可以不经由网络而直接连接。
[机器人远程操作控制系统的功能例]
接着,参照图1对机器人远程操作控制系统的功能例进行说明。
HMD5显示从机器人远程操作控制装置3接收到的机器人的状态图像。HMD5检测操作者的视线的运动、头的运动等,将检测到的操作者状态信息发送到机器人远程操作控制装置3。
图像显示部51根据控制部54的控制,显示从机器人远程操作控制装置3接收到的机器人的状态图像。
视线检测部52检测操作者的视线,将检测到的视线信息(操作者传感器值)输出到控制部54。
传感器53例如是加速度传感器、陀螺仪等,检测操作者的头部的运动、倾斜,将检测到的头部动作信息(操作者传感器值)输出到控制部54。
控制部54将视线检测部52检测到的视线信息和传感器53检测到的头部动作信息经由通信部55发送到机器人远程操作控制装置3。另外,控制部54使机器人远程操作控制装置3发送的机器人的状态图像显示于图像显示部51。
通信部55接收由机器人远程操作控制装置3发送的机器人的状态图像,将接收到的机器人的状态图像输出到控制部54。通信部55根据控制部54的控制,将视线信息和头部动作信息发送到机器人远程操作控制装置3。
控制器6例如是触觉数据手套,佩戴在操作者的手上。控制器6通过传感器61来检测方位、各手指的运动、手的运动,将检测到的操作者状态信息发送到机器人远程操作控制装置3。
传感器61例如是加速度传感器、陀螺仪传感器、磁力传感器等。需要说明的是,传感器61具备多个传感器,传感器61例如通过两个传感器来跟踪各手指的运动。传感器61对方位、各手指的运动、手的运动等与操作者的臂部的姿势、位置相关的信息即操作者臂部信息(操作者传感器值、操作者状态信息)进行检测,将检测到的操作者臂部信息输出到控制部62。需要说明的是,在操作者臂部信息中,包括指尖位置/姿势信息、各手指的角度信息、肘部的位置/姿势信息、跟踪各部的运动而得到的信息等涉及人的整个臂部的信息。
控制部62将操作者臂部信息经由通信部63发送到机器人远程操作控制装置3。控制部62基于反馈信息来控制反馈单元64。
通信部63根据控制部62的控制,将视线信息和操作者臂部信息发送到机器人远程操作控制装置3。通信部63取得由机器人远程操作控制装置3发送的反馈信息,将取得的反馈信息输出到控制部62。
反馈单元64根据控制部62的控制,向操作者反馈反馈信息。反馈单元64根据反馈信息,例如通过安装于机器人2的把持部222的赋予振动的单元(未图示)、赋予气压的单元(未图示)、约束手的运动的单元(未图示)、感受温度的单元(未图示)、感受坚硬或柔软的单元(未图示)等,向操作者反馈感觉。
环境传感器7例如设置于能够拍摄、检测机器人2的作业的位置。需要说明的是,环境传感器7可以由机器人2具备,也可以安装于机器人2。或者环境传感器7也可以为多个,也可以如图1那样设置于作业环境并且也安装于机器人2。环境传感器7将物体的位置信息(环境传感器值)、拍摄到的图像(环境传感器值)、以及检测到的传感器值(环境传感器值)发送到机器人远程操作控制装置3。需要说明的是,环境传感器7可以是运动捕捉装置,也可以通过运动捕捉来检测物体的位置信息。或者也可以在物体上安装具备位置信息发送部的GPS接收装置(未图示)。在该情况下,GPS接收装置也可以向机器人远程操作控制装置3发送位置信息。
拍摄装置71例如是RGB相机。需要说明的是,在环境传感器7中,拍摄装置71与传感器72的位置关系是已知的。
传感器72例如是深度传感器。需要说明的是,拍摄装置71和传感器72也可以是距离传感器。
物体位置检测部73基于拍摄到的图像和由传感器检测到的检测结果,通过众所周知的方法来检测拍摄到的图像中的对象物体的三维位置和大小形状等。物体位置检测部73参照物体位置检测部73所存储的图案匹配的模型等,对拍摄装置71拍摄到的图像进行图像处理(边缘检测、二值化处理、特征量提取、图像强调处理、图像提取、图案匹配处理等)来推断物体的位置。需要说明的是,物体位置检测部73在从拍摄到的图像中检测到多个物体的情况下,按照每个物体来检测位置。物体位置检测部73将检测到的物体位置信息(环境传感器值)、拍摄到的图像(环境传感器值)以及传感器值(环境传感器值)经由通信部74发送到机器人远程操作控制装置3。
通信部74将物体位置信息发送到机器人远程操作控制装置3。通信部74将物体位置信息(环境传感器值)、拍摄到的图像(环境传感器值)以及传感器值(环境传感器值)发送到机器人远程操作控制装置3。
在未进行远程操作的情况下,根据控制部21的控制来控制机器人2的行动。在进行远程操作的情况下,根据机器人远程操作控制装置3所生成的把持计划信息来控制机器人2的行动。
控制部21基于由机器人远程操作控制装置3输出的把持方法信息来控制驱动部22。控制部21对声音收集部23收集到的声音信号进行声音识别处理(发声区间检测、声源分离、声源定位、噪声抑制、声源确认等)。在声音识别出的结果中包含针对机器人的动作指示的情况下,控制部21也可以基于声音中的动作指示来控制机器人2的动作。控制部21基于存储部25所存储的信息,对环境传感器7拍摄到的图像进行图像处理(边缘检测、二值化处理、特征量提取、图像强调处理、图像提取、图案匹配处理等)。需要说明的是,环境传感器7发送的数据例如也可以是具有位置信息的点云。控制部21通过图像处理从拍摄到的图像中提取与物体相关的信息(物体信息)。在物体信息中,例如包括物体的名称、物体的位置等信息。控制部21基于存储部25所存储的程序、声音识别结果以及图像处理结果来控制驱动部22。控制部21将机器人2的动作状态信息输出到机器人状态图像制作部35。控制部21生成反馈信息,将生成的反馈信息经由机器人远程操作控制装置3发送到控制器6。
驱动部22根据控制部21的控制来驱动机器人2的各部(臂、手指、脚、头、躯干、腰等)。驱动部22例如具备致动器、齿轮、人造肌肉等。
声音收集部23例如是具备多个麦克风的麦克风阵列。声音收集部23将收集到的声音信号输出到控制部21。声音收集部23也可以具备声音识别处理功能。在该情况下,声音收集部23将声音识别结果输出到控制部21。
存储部25例如存储控制部21用于控制的程序、阈值等。需要说明的是,存储部25也可以兼作存储部37。或者,存储部37也可以兼作存储部25。
电源26向机器人2的各部供给电力。电源26例如也可以具备充电式的蓄电池或充电电路。
传感器27例如是加速度传感器、陀螺仪传感器、磁力传感器、各关节编码器等。需要说明的是,传感器27安装于机器人2的各关节、头部等。传感器27将检测到的检测结果输出到控制部21、意图推断部33、把持方法决定部34、机器人状态图像制作部35。
信息取得部31从HMD5取得视线信息和头部动作信息,从控制器6取得操作者臂部信息,从环境传感器7取得环境传感器值(物体位置信息、传感器值以及图像),将取得的操作者状态信息输出到意图推断部33、机器人状态图像制作部35。
意图推断部33基于由信息取得部31取得的信息,来推断操作者的动作意图。需要说明的是,意图推断部33使用视线信息、操作者臂部信息以及头部动作信息中的至少一个来推断操作者的动作意图。需要说明的是,意图推断部33也可以使用环境传感器值来进行意图推断。需要说明的是,之后叙述操作者的动作意图。
把持方法决定部34基于由意图推断部33推断出的动作意图、由传感器27检测到的检测结果。对拍摄装置71拍摄到的图像进行图像处理而得到的结果,来决定物体的把持方法。把持方法决定部34将决定出的把持方法信息输出到控制部21。
机器人状态图像制作部35对拍摄装置71拍摄到的图像进行图像处理(边缘检测、二值化、特征量提取、图像强调、图像提取、聚类处理等)。机器人状态图像制作部35基于由把持方法决定部34推断出的把持方法信息、图像处理结果、以及由控制部21输出的机器人2的动作状态信息等,来推断机器人2的手的位置、运动,推断操作者的手的运动,基于推断出的结果来制作HMD5所显示的机器人状态图像。需要说明的是,在机器人状态图像中,也可以包括与机器人远程操作控制装置3试图进行的处理相关的信息、错误信息、以及表示系统的状态的系统状态信息。
发送部36将机器人状态图像制作部35制作出的机器人状态图像发送到HMD5。发送部36取得由机器人2输出的反馈信息,向控制器6发送所取得的反馈信息。
存储部37存储有意图推断部33在推断时使用的模板(template)、用于推断的学习完毕的模型等。另外,存储部37暂时地存储声音识别结果、图像处理结果、把持方法信息等。存储部37存储用于在图像处理的图案匹配处理中比较的模型图像。
[操作者将HMD5、控制器6佩戴在身上的状态例]
接着,说明操作者将HMD5、控制器6佩戴在身上的状态例。
图3是示出操作者将HMD5、控制器6佩戴在身上的状态例的图。在图3的例子中,操作者Us在左手佩戴控制器6a,在右手佩戴控制器6b,在头部佩戴HMD5。需要说明的是,图3所示的HMD5、控制器6是一例,佩戴方法、形状等不限于此。
[操作者状态信息]
接着,对信息取得部31取得的操作者状态信息进一步进行说明。
操作者状态信息是表示操作者的状态的信息。在操作者状态信息中,包括操作者的视线信息、操作者的手指的运动和位置的信息、操作者的手的运动和位置的信息。
由HMD5检测操作者的视线信息。
由控制器6检测操作者的手指的运动和位置的信息、操作者的手的运动和位置的信息。
[由意图推断部33推断的信息例]
接着,说明由意图推断部33推断的信息例。
意图推断部33基于取得的操作者状态信息来推断操作者的动作意图。操作者的动作意图例如是指,想要使机器人2进行的作业目的、想要使机器人2进行的作业内容、每个时刻的手、手指的运动等。意图推断部33基于控制器6的操作者传感器值,对操作者的臂部的姿势进行分类,由此,对机器人2的包括把持部222的臂的姿势进行分类。意图推断部33基于分类结果,来推断操作者想要使机器人进行的动作意图。意图推断部33例如将物体的把持方式、想要把持的物体作为操作者的动作意图而进行推断。作业目的例如是物体的把持、物体的移动等。作业内容例如是将物体把持着举起、将物体把持着移动等。
意图推断部33例如通过抓持分类(GRASP Taxonomy)法(例如参照参考文献1)来推断操作者的动作意图。
在本实施方式中,例如通过抓持分类法对操作者或机器人2的姿势即把持姿势进行分类而对操作者状态进行分类,推断操作者的动作意图。意图推断部33例如向存储部37所存储的学习完毕的模型输入操作者状态信息,推断操作者的动作意图。在本实施方式中,通过把持姿势的分类而进行意图推断,由此能够高精度地推断操作者的动作意图。需要说明的是,对于把持姿势的分类,也可以使用其他方法。
参考文献1;Thomas Feix,Javier Romero等,“The GRASP Taxonomy of HumanGrasp Types”IEEE Transactions on Human-Machine Systems(Volume:46,Issue:1,Feb.2016),IEEE,p66-77
另外,意图推断部33也可以使用视线和臂部的运动而综合地进行推断。在该情况下,意图推断部33也可以将视线信息、手的运动信息以及桌子上的物体的位置信息输入到学习完毕的模型,来推断操作者的动作意图。
意图推断部33例如基于操作者状态信息,首先推断想要把持的物体。意图推断部33例如基于视线信息来推断想要把持的物体。接着,意图推断部33基于推断出的想要把持的物体,来推断操作者的手的姿势。
或者,意图推断部33例如基于操作者状态信息,首先推断操作者的手的姿势。接着,意图推断部33根据推断出的操作者的手的姿势,来推断想要把持的物体。例如,在桌子上放置有三个物体的情况下,意图推断部33基于手的姿势,来推断三个物体中的哪个物体是把持候选。
另外,意图推断部33也可以基于操作者状态信息和机器人2的状态信息,事先推断操作者意图的指尖的将来轨道。
需要说明的是,意图推断部33也可以使用传感器27检测到的检测结果、对环境传感器7拍摄到的图像进行图像处理而得到的结果等,来推断想要把持的物体和物体的位置。
另外,由于在操作者操作的环境和机器人动作环境中坐标系不同,因此例如也可以在机器人2的起动时进行操作者的操作环境和机器人动作环境的校准(calibration)。
另外,在把持时,机器人远程操作控制装置3也可以基于机器人2的把持力、物体与把持部的摩擦力等,考虑把持时的把持位置的误差来决定把持位置。
[机器人2和机器人远程操作控制装置3的处理例]
接着,对机器人2和机器人远程操作控制装置3的处理例进行说明。
图4是示出本实施方式的机器人2和机器人远程操作控制装置3的处理步骤例的图。
(步骤S1)信息取得部31从HMD5取得视线信息(操作者传感器值)和头部动作信息(操作者传感器值),从控制器6取得操作者臂部信息(操作者传感器值)。
(步骤S2)信息取得部31从环境传感器7取得环境传感器值。
(步骤S3)意图推断部33基于取得的操作者传感器值,例如推断作业内容、想要把持的物体等作为操作者的动作意图。需要说明的是,意图推断部33使用视线信息、操作者臂部信息以及头部动作信息中的至少一个来推断操作者的意图。需要说明的是,意图推断部33也可以使用环境传感器值来推断操作者的动作意图。接着,把持方法决定部34基于推断结果,来计算对机器人2的远程动作指令。
(步骤S4)控制部21基于机器人远程操作控制装置3计算出的远程动作指令值,来计算用于稳定把持的驱动指令值。
(步骤S5)控制部21利用驱动指令值对驱动部22进行控制来驱动机器人2的把持部等。控制部21在处理后,返回到步骤S1的处理。
需要说明的是,图4所示的处理步骤是一例,机器人2、机器人远程操作控制装置3也可以并行地进行上述的处理。
[推断结果、作业信息]
接着,使用图5~图7对推断结果、作业信息的一例进行说明。
图5是示出在桌子上放置有三个物体obj1~obj3并且操作者试图使机器人2用左手把持物体obj3的状态例的图。
在这样的情况下,机器人远程操作控制装置3需要推断操作者想要使机器人2把持的物体是物体obj1~obj3中的哪一个。需要说明的是,机器人远程操作控制装置3需要推断操作者试图用右手把持还是试图用左手把持。
这里,预先说明需要推断操作者的动作意图的原因。
在远程操作的情况下,操作者通过HMD5看到的世界与通过自己的眼睛看到的实际世界不同。另外,即便操作者经由控制器6进行操作指示,也不是实际上把持着物体,因此,仍旧与实际世界中的状况识别不同。此外,在操作者的指示与机器人2的动作之间,由于通信时间、运算时间等而产生延迟。另外,由于操作者与机器人(主要是手)的物理构造的差异,即便尤其是操作者对自身能够把持的手指的运动进行指令并且机器人准确地进行了跟踪,实际上机器人也不一定能够把持。为了消除这种情况,在本实施方式中,推断操作者的动作意图,将操作者的动作转换成对机器人来说的适当的动作。
这样,在现有系统的远程操作中,难以识别实际世界的状况,无法顺利地拾取物体。在现有系统的远程操作中,例如,操作者需要渐渐地将机器人2的把持部222a接近物体,进行准确的对位而把持。
与此相对,在本实施方式中,推断操作者的动作意图,基于推断出的结果来控制机器人2的动作,由此,即便操作者未进行准确的对位,也能够实现物体的拾取。
接着,对意图推断处理和校正等的处理例进行说明。
图6是本实施方式的机器人远程操作控制装置3的处理例的流程图。
(步骤S101)意图推断部33使用取得的环境传感器值,例如进行对在桌子上放置有三个物体obj1~obj3等进行识别的环境识别。
在操作者对机器人2进行远程操作而试图使其把持物体obj3的情况下,通常,操作者将视线朝向想要把持的物体的方向。因此,意图推断部33基于从HMD5取得的操作者状态信息所包含的视线信息,推断为对象物体是物体obj3。需要说明的是,意图推断部33也可以使用操作者状态信息所包含的头部的方向、倾斜信息来进行推断。需要说明的是,意图推断部33在具有多个物体的情况下,按照每个物体来计算作为对象物体的概率(目标达到概率)。需要说明的是,意图推断部33例如基于视线信息、推断出的对象物体与机器人2的把持部的距离、控制器6的位置和运动(轨迹)等来计算概率。
(步骤S102)意图推断部33将取得的操作者状态信息所包含的臂部的位置、运动(手的位置、手的运动(轨迹)、手指的位置、手指的运动(轨迹)、臂的位置、臂的运动(轨迹))、头部的位置、运动与存储部37所存储的模板进行比较而对动作进行分类,由此,当试图用左手把持物体obj3时,推断操作者的动作意图和把持方式(把持方法)。例如,把持方法决定部34例如参照存储部37所存储的模板来决定把持方法。需要说明的是,把持方法决定部34例如也可以将上述信息输入到存储部37所存储的学习完毕的模型来选择把持方法。需要说明的是,意图推断部33使用视线信息、操作者臂部信息以及头部动作信息中的至少一个来推断操作者的动作意图。需要说明的是,意图推断部33也可以使用环境传感器值进行意图推断。
(步骤S103)把持方法决定部34决定基于推断出的操作者的动作意图的机器人2的保持方法。
(步骤S104)把持方法决定部34计算操作者的手和手指的位置与机器人的把持部的位置的偏移量。存储部37例如预先存储延迟时间等,该延迟时间是预先测定从进行指示到驱动部22的动作为止所需的时间而得到的。把持方法决定部34例如使用存储部37所存储的延迟时间来计算偏移量。接着,把持方法决定部34对操作者的手和手指的位置与机器人的把持部的位置的偏移量进行校正。把持方法决定部34计算基于机器人控制的采样时间的此次的动作目标值。
(步骤S106)机器人状态图像制作部35基于意图推断部33识别出的结果和推断出的结果、以及把持方法决定部34计算出的结果,来制作HMD5所显示的机器人状态图像。需要说明的是,在机器人状态图像中,也包括与机器人远程操作控制装置3试图进行的处理相关的信息、系统的状态信息等。
图7是示出本实施方式的HMD5所显示的机器人状态图像例的图。
图像g11~g13对应于放置在桌子上的物体obj1~obj3。该情况下的目标达到概率为,图像g11为0.077,图像g12为0.230,图像g13为0.693。
图像g21表示机器人2的把持部的实际的位置。
图像g22表示由操作者的控制器6输入的位置。
图像g23表示校正后的机器人2的把持部的指令位置。
需要说明的是,在图7中,存储部37存储有机器人2的把持部的形状数据(例如CAD(Computer Aided Design)数据)等。机器人状态图像制作部35使用该机器人2的把持部的形状数据等,生成机器人2的把持部等的图像。另外,机器人状态图像制作部35例如使用SLAM(Simultaneous Localization and Mapping)的方法等来制作图7那样的机器人状态图像。
这样,操作者能够目视实际的机器人2的把持部的位置(图像g21)、自己输入的位置(图像g22)、校正后的机器人2的把持部的位置(图像g23),因此,成为对操作者的辅助。而且,在本实施方式中,进行基于操作者意图的机器人的动作校正,例如将机器人远程操作控制装置3试图进行的处理作为视觉信息提示给操作者,因此,能够顺利地进行远程操作。由此,根据本实施方式,基于机器人的把持部的实际的位置和操作者的状态,对把持部的位置信息进行校正,由此,即便操作者不进行准确的对位,也能够实现对象物体的拾取。
这样,在本实施方式中,为了进行远程操作而进行了以下的I~V。
I.物体的识别
II.意图推断(例如,根据视线和操作者的指尖轨道来推断把持物体和分类)
III.动作校正(例如,将机器人的指尖轨道校正为能够把持的位置,把持方法的选择)
IV.稳定把持(用于通过所选择的把持方法稳定地把持的把持部的控制)
V.通过HMD来提示机器人模型、识别结果、与机器人远程操作控制装置3试图进行的处理相关的信息、与系统的状态相关的信息等
这里,对动作校正进一步进行说明。
把持方法决定部34根据所选择的动作的分类和物体形状、推断的物体的摩擦、重量等物理参数、机器人2能够输出的转矩等制约条件,求出例如能够不使物体掉落而稳定地把持的机器人2的手指与物体的接触点。然后,把持方法决定部34例如将根据这些信息计算出的关节角度作为目标值进行校正动作。
接着,对稳定把持进行说明。
把持方法决定部34在按照目标值进行了动作的情况下,例如,实时地控制手指的关节角度、转矩等,使得消除目标值/参数推断值与从机器人2的传感器27观测的值之间的误差。由此,根据本实施方式,能够不掉落而稳定且持续地把持。
由此,根据本实施方式,即便操作者不进行准确的对位,也能够实现对象物体的拾取。其结果是,根据本实施方式,即便是对机器人2的操作不熟练的利用者,也能够高精度地使机器人进行作业。
需要说明的是,在上述的例子中,说明了机器人2具备机器人远程操作控制装置3的例子,但不限于此。机器人远程操作控制装置3也可以不配备于机器人2,也可以是机器人2的外部装置。在该情况下,机器人2和机器人远程操作控制装置3也可以收发各种信息。或者也可以是,机器人2具备机器人远程操作控制装置3的一部分功能部,外部装置具备其他的功能部。
另外,上述的机器人2例如可以是双脚步行机器人,也可以是固定型的受理机器人,还可以是作业机器人。
另外,在上述的例子中,说明了通过远程操作使机器人2把持的例子,但不限于此。例如,在机器人2是双脚步行机器人的情况下,操作者也可以通过将控制器佩戴于脚来对机器人2的步行等进行远程操作。在该情况下,也可以是,机器人2例如通过图像处理来检测障碍物等物体信息,操作者以避开该障碍物而步行的方式进行远程操作。
另外,在上述的例子中,说明了操作者佩戴HMD5的例子,但不限于此。视线信息的检测、向操作者的机器人状态图像的提供例如也可以是传感器与图像显示装置的组合等。
需要说明的是,也可以将用于实现本发明中的机器人2的功能的全部或一部分、机器人远程操作控制装置3的功能的全部或一部分的程序记录于计算机可读取的记录介质,使计算机系统读入并执行该记录介质所记录的程序,由此来进行机器人2所进行的处理的全部或一部分、机器人远程操作控制装置3所进行的处理的全部或一部分。需要说明的是,这里所说的“计算机系统”包括OS、外部设备等硬件。另外,“计算机系统”也包括在本地网络上构筑的系统、在云上构筑的系统等。另外,“计算机可读取的记录介质”是指软盘、光磁盘、ROM、CD-ROM等可移动介质、内置于计算机系统的硬盘等存储装置。此外,“计算机可读取的记录介质”也包括如经由因特网等网络或电话线路等通信线路发送了程序的情况下的成为服务器或客户端的计算机系统内部的易失性存储器(RAM)那样将程序保持固定时间的记录介质。
另外,也可以从在存储装置等中存储有上述程序的计算机系统经由传输介质或者通过传输介质中的传输波向其他的计算机系统传输该程序。这里,传输程序的“传输介质”是指如因特网等网络(通信网)或电话线路等通信线路(通信线)那样具有传输信息的功能的介质。另外,上述程序也可以用于实现上述功能的一部分。此外,也可以为能够通过与已经记录于计算机系统的程序的组合来实现上述功能的程序,即所谓的差分文件(差分程序)。
以上,使用实施方式对用于实施本发明的方式进行了说明,但本发明不受这样的实施方式的任何限定,能够在不脱离本发明的主旨的范围内加以各种变形和置换。
<第二实施方式>
以下,参照附图对本发明的实施方式进行说明。需要说明的是,在以下的说明所使用的附图中,为能够识别各构件的大小,因此,适当变更了各构件的比例尺。
[概要]
首先,说明由机器人远程操作控制系统进行的作业和处理的概要。
图8是示出本实施方式的机器人远程操作控制系统1001的概要和作业的概要的图。如图8那样,操作者Us例如佩戴着HMD(头戴式显示器)1005和控制器1006。在作业环境中设置有环境传感器1007(1007a、1007b)。需要说明的是,环境传感器1007c也可以安装于机器人1002。环境传感器1007(1007a、1007b)如后述那样例如具备RGB相机和深度传感器。操作者Us一边观察HMD1005所显示的图像一边移动佩戴着控制器1006的手、手指,由此对机器人1002进行远程操作。在图8的例子中,操作者Us对机器人1002进行远程操作,使其把持位于桌子Tb上的塑料瓶obj,例如打开塑料瓶的盖。需要说明的是,在远程操作中,操作者Us无法直接视觉确认机器人1002的动作,但是为能够通过HMD1005间接地视觉确认机器人1002侧的影像的状态。在本实施方式中,基于操作者佩戴的控制器1006所取得的信息和环境传感器1007所取得的信息,推断操作者的意图(与对象物体相关的信息、作业内容),基于推断出的结果,限定操作者应该控制的自由度来支持操作。
[机器人远程操作控制系统的结构例]
接着,对机器人远程操作控制系统1001的结构例进行说明。
图9是示出本实施方式的机器人远程操作控制系统1001的结构例的框图。如图9那样,机器人远程操作控制系统1001具备机器人1002、机器人远程操作控制装置1003、HMD1005、控制器1006以及环境传感器1007。
机器人1002例如具备控制部1021、驱动部1022、声音收集部1023、存储部1025、电源1026以及传感器1027。
机器人远程操作控制装置1003例如具备信息取得部1031、意图推断部1033、控制指令生成部1034、机器人状态图像制作部1035、发送部1036以及存储部1037。
HMD1005例如具备图像显示部1051、视线检测部1052(操作者传感器)、控制部1054以及通信部1055。需要说明的是,HMD1005例如也可以具备检测操作者的头部的倾斜等的传感器。
控制器1006例如具备传感器1061(操作者传感器)、控制部1062、通信部1063以及反馈单元1064。
环境传感器1007例如具备拍摄装置1071、传感器1072以及通信部1073。
需要说明的是,机器人远程操作控制装置1003与HMD1005例如经由无线或有线的网络而连接。机器人远程操作控制装置1003与控制器1006例如经由无线或有线的网络而连接。机器人远程操作控制装置1003与环境传感器1007例如经由无线或有线的网络而连接。机器人远程操作控制装置1003与机器人1002例如经由无线或有线的网络而连接。需要说明的是,机器人远程操作控制装置1003与HMD1005也可以不经由网络而直接连接。机器人远程操作控制装置1003与控制器1006也可以不经由网络而直接连接。机器人远程操作控制装置1003与环境传感器1007也可以不经由网络而直接连接。机器人远程操作控制装置1003与机器人1002也可以不经由网络而直接连接。
[机器人远程操作控制系统的功能例]
接着,参照图8对机器人远程操作控制系统的功能例进行说明。
HMD1005显示从机器人远程操作控制装置1003接收到的机器人的状态图像。HMD1005检测操作者的视线的运动等,将检测到的视线信息(操作者传感器值)发送到机器人远程操作控制装置1003。
图像显示部1051根据控制部1054的控制,显示从机器人远程操作控制装置1003接收到的机器人的状态图像。
视线检测部1052检测操作者的视线,将检测到的视线信息输出到控制部1054。
控制部1054将基于视线检测部1052检测到的视线信息的视线信息经由通信部1055发送到机器人远程操作控制装置1003。控制部1054使机器人远程操作控制装置1003发送的机器人的状态图像显示于图像显示部1051。
通信部1055接收由机器人远程操作控制装置1003发送的机器人的状态图像,将接收到的机器人的状态图像输出到控制部1054。通信部1055根据控制部1054的控制,将操作者状态信息发送到机器人远程操作控制装置1003。
控制器1006例如是触觉数据手套,佩戴在操作者的手上。控制器1006通过传感器1061来检测方位、各手指的运动、手的运动等与操作者的臂部的姿势、位置相关的信息即操作者臂部信息,将检测到的操作者臂部信息(操作者传感器值)发送到机器人远程操作控制装置1003。需要说明的是,在操作者臂部信息(操作者传感器值)中,包括指尖位置/姿势信息、各手指的角度信息、肘部的位置/姿势信息、跟踪各部的运动而得到的信息等涉及人的整个臂部的信息。
传感器1061例如是加速度传感器、陀螺仪传感器、磁力传感器等。需要说明的是,传感器1061具备多个传感器,传感器1061例如通过两个传感器来跟踪各手指的运动。传感器1061检测操作者臂部信息,将检测到的操作者臂部信息输出到控制部1062。
控制部1062将也基于传感器1061检测到的检测结果的操作者臂部信息经由通信部1063发送到机器人远程操作控制装置1003。控制部1062基于反馈信息来控制反馈单元1064。
通信部1063根据控制部1062的控制,将操作者臂部信息发送到机器人远程操作控制装置1003。通信部1063取得由机器人远程操作控制装置1003发送的反馈信息,将取得的反馈信息输出到控制部1062。
反馈单元1064根据控制部1062的控制,向操作者反馈反馈信息。反馈单元1064根据反馈信息,例如通过安装于机器人1002的把持部1222的赋予振动的单元(未图示)、赋予气压的单元(未图示)、约束手的运动的单元(未图示)、感受温度的单元(未图示)、感受坚硬或柔软的单元(未图示)等,向操作者反馈感觉。
环境传感器1007例如设置于能够拍摄、检测机器人1002的作业的位置。需要说明的是,环境传感器1007可以由机器人1002具备,也可以安装于机器人1002。或者,环境传感器1007也可以为多个,也可以如图8那样设置于作业环境并且也安装于机器人1002。环境传感器1007将拍摄到的图像、检测到的检测结果(环境传感器值)发送到机器人远程操作控制装置1003。
拍摄装置1071例如是RGB相机。拍摄装置1071将拍摄到的图像经由通信部1073发送到机器人远程操作控制装置1003。需要说明的是,在环境传感器1007中,拍摄装置1071与传感器1072的位置关系是已知的。
传感器1072例如是深度传感器。传感器1072将检测到的传感器值经由通信部1073发送到机器人远程操作控制装置1003。需要说明的是,拍摄装置1071和传感器1072也可以是距离传感器。
通信部1073将拍摄到的图像和由传感器1072检测到的传感器值作为环境传感器信息发送到机器人远程操作控制装置1003。需要说明的是,环境传感器1007也可以使用拍摄到的图像和传感器值,来检测物体的位置信息,将检测到的结果作为环境传感器信息发送到机器人远程操作控制装置1003。需要说明的是,环境传感器1007发送的数据例如也可以是具有位置信息的点云。
在未进行远程操作的情况下,根据控制部1021的控制来控制机器人1002的行动。在进行远程操作的情况下,根据机器人远程操作控制装置1003所生成的把持计划信息来控制机器人1002的行动。
控制部1021基于由机器人远程操作控制装置1003输出的控制指令来控制驱动部1022。控制部1021基于存储部1025所存储的信息,使用环境传感器1007拍摄到的图像和检测到的检测结果,通过众所周知的方法来取得拍摄到的图像中的对象物体的三维位置和大小形状等。需要说明的是,控制部1021也可以对声音收集部1023收集到的声音信号进行声音识别处理(发声区间检测、声源分离、声源定位、噪声抑制、声源确认等)。在声音识别出的结果中包括针对机器人的动作指示的情况下,控制部1021也可以基于声音中的动作指示来控制机器人1002的动作。控制部1021生成反馈信息,将生成的反馈信息经由机器人远程操作控制装置1003发送到控制器1006。
驱动部1022根据控制部1021的控制来驱动机器人1002的各部(臂、手指、脚、头、躯干、腰等)。驱动部1022例如具备致动器、齿轮、人造肌肉等。
声音收集部1023例如是具备多个麦克风的麦克风阵列。声音收集部1023将收集到的声音信号输出到控制部1021。声音收集部1023也可以具备声音识别处理功能。在该情况下,声音收集部1023将声音识别结果输出到控制部1021。
存储部1025例如存储控制部1021用于控制的程序、阈值等,暂时地存储声音识别结果、图像处理结果、控制指令等。需要说明的是,存储部1025也可以兼作存储部1037。或者,存储部1037也可以兼作存储部1025。
电源1026向机器人1002的各部供给电力。电源1026例如也可以具备充电式的蓄电池或充电电路。
传感器1027例如是加速度传感器、陀螺仪传感器、磁力传感器、各关节编码器等。需要说明的是,传感器1027安装于机器人1002的各关节、头部等。传感器1027将检测到的检测结果输出到控制部1021、意图推断部1033、控制指令生成部1034、机器人状态图像制作部1035。
机器人远程操作控制装置1003基于操作者传感器(HMD1005的视线检测部1052、控制器1006的传感器1061)检测到的操作者检测值和环境传感器1007检测到的环境传感器值来推断操作者的动作意图,生成机器人1002的控制指令。
信息取得部1031从HMD1005取得视线信息并从控制器1006取得操作者臂部信息,将取得的视线信息和操作者臂部信息输出到意图推断部1033、机器人状态图像制作部1035。信息取得部1031从环境传感器1007取得环境传感器信息,将取得的环境传感器信息输出到意图推断部1033、机器人状态图像制作部1035。信息取得部1031取得由传感器1027检测到的检测结果,将取得的检测结果输出到意图推断部1033、机器人状态图像制作部1035。
意图推断部1033基于由信息取得部1031取得的环境传感器信息,来推断与对象物体相关的信息(机器人环境传感器值)(对象物体的名称、对象物体的位置、对象物体的铅垂方向的倾斜等)。需要说明的是,意图推断部1033例如基于存储部1037所存储的信息,对环境传感器1007的拍摄装置1071拍摄到的图像进行图像处理(边缘检测、二值化处理、特征量提取、图像强调处理、图像提取、图案匹配处理等),推断对象物体的名称。意图推断部1033基于图像处理后的结果和深度传感器的检测结果,来推断对象物体的位置、铅垂方向的倾斜角度等。需要说明的是,意图推断部1033例如也使用HMD1005检测到的操作者的视线信息来推断对象物体。意图推断部1033基于由信息取得部1031取得的视线信息和操作者臂部信息、以及与对象物体相关的信息,来推断操作者的动作意图。需要说明的是,之后叙述操作者的意图和推断方法。
控制指令生成部1034基于意图推断部1033推断出的结果、传感器1027检测到的检测结果、环境传感器1007拍摄到的图像和检测结果,来生成用于把持物体的控制指令。控制指令生成部1034如后述那样限制操作者应该控制的自由度、能够控制的范围,即减少操作者的动作的自由度而生成控制指令。控制指令生成部1034将决定出的控制指令信息输出到控制部1021。
机器人状态图像制作部1035基于由控制指令生成部1034生成的控制指令信息,来制作HMD1005所显示的机器人状态图像。
发送部1036将机器人状态图像制作部1035制作出的机器人状态图像发送到HMD1005。发送部1036取得由机器人1002输出的反馈信息,向控制器1006发送取得的反馈信息。
存储部1037存储有环境传感器1007的拍摄装置1071与传感器1072的位置关系。存储部1037存储如下信息,该信息是按照每个作业内容来限制要辅助的对象即操作者应该控制的自由度、能够控制的范围的信息。存储部1037存储用于在图像处理的图案匹配处理中比较的模型图像。存储部1037存储用于机器人远程操作控制装置1003的控制的程序。需要说明的是,程序也可以位于云或网络上。
[操作者将HMD1005、控制器1006佩戴在身上的状态例]
接着,说明操作者将HMD1005、控制器1006佩戴在身上的状态例。
图10是示出操作者将HMD1005、控制器1006佩戴在身上的状态例的图。在图10的例子中,操作者Us在左手佩戴控制器1006a,在右手佩戴控制器1006b,在头部佩戴HMD1005。需要说明的是,图10所示的HMD1005、控制器1006是一例,佩戴方法、形状等不限于此。
[意图推断、控制指令生成例]
接着,对意图推断、控制指令生成处理的概要进行说明。
图11是示出本实施方式的意图推断、控制指令生成处理的概要的图。
如图11那样,机器人远程操作控制装置1003从HMD1005取得视线信息,从控制器1006取得操作者臂部信息,从环境传感器1007取得环境传感器信息,取得传感器1027检测到的检测结果。
从机器人1002得到的信息是设置于机器人1002的各关节的马达编码器的检测值等信息。
从环境传感器1007得到的信息是RGB相机拍摄到的图像和深度传感器检测到的检测值等。
意图推断部1033基于取得的信息和存储部1037所存储的信息,来推断操作者的动作意图。操作者的意图例如是操作对象物体、操作内容等。操作内容例如是打开塑料瓶的盖等。
控制指令生成部1034基于意图推断部1033推断出的结果、所取得的信息,根据对象物体、作业内容,来限制操作者应该控制的自由度、能够控制的范围。然后,控制指令生成部1034基于意图推断部1033推断出的结果而生成控制指令。
[操作者应该控制的自由度、能够控制的范围的限制例的说明]
接着,使用图12、图13对操作者应改控制的自由度、能够控制的范围的限制例进行说明。需要说明的是,图12、图13中的xyz轴是机器人世界中的xyz轴。本实施方式的机器人远程操作控制装置1003以机器人世界中的xyz为基准来进行以下的自由度的限制、指尖目标的校正。
(第一操作内容例)
图12是示出操作者的意图是试图打开塑料瓶的盖的情况的图。
意图推断部1033基于操作者的指尖的跟踪结果、操作者的视线信息、环境传感器1007拍摄到的图像和检测结果,来推断对象物体Obj1001。其结果是,意图推断部1033基于取得的信息,推断为操作对象Obj1001是“塑料瓶”。另外,意图推断部1033基于环境传感器1007拍摄到的图像和检测结果,例如来检测塑料瓶的铅垂方向、以及塑料瓶的铅垂方向相对于例如z轴方向的倾斜。
接着,意图推断部1033基于操作者的指尖的跟踪结果、操作者的视线信息、环境传感器1007拍摄到的图像和检测结果,来推断操作内容。其结果是,意图推断部1033基于取得的信息,推断为操作内容是“打开塑料瓶的盖”的动作。
在图12那样的情况下,在现有的方法中,操作者需要对机器人1002的把持部1221进行远程操作,使得成为塑料瓶的铅垂方向,并且打开盖。这样,在现有的方法中,存在对操作者自身要求高度的操作技术这样的问题点。
与此相对,在本实施方式中,机器人远程操作控制装置1003根据状况来代替六个自由度的一部分的控制目标值生成,由此限定操作者应该控制的自由度。在图12的例子中,机器人远程操作控制装置1003控制把持部1221来进行辅助,使得机器人1002的把持部1221停在铅垂方向上。由此,操作者不用在意塑料瓶的倾斜,能够专注于盖的旋转的指示而进行指示。
(第二操作内容例)
图13示出操作者的意图是试图抓取箱子的情况的图。
意图推断部1033基于取得的信息,推断为操作对象Obj1002是“箱子”。
接着,意图推断部1033基于取得的信息,推断为操作内容是“抓取箱子”的动作。
在图13那样的情况下,机器人远程操作控制装置1003例如控制把持部1221来辅助操作对象Obj1002的xy平面上的位置和绕xyz轴的旋转。由此,操作者能够专注于z轴的位置的平移运动的指示而进行指示。
需要说明的是,图12、图13所示的对象物体、作业内容、要辅助的内容(自由度)等是一例,对象物体、作业内容、要辅助的内容不限于此。要辅助的内容是与对象物体、作业内容相应的内容即可。
这里,对用于辅助作业的存储部1037所存储的信息例进行说明。
图14是示出本实施方式的存储部1037所存储的信息例的图。如图14那样,存储部1037将对象物体、作业内容、对操作者限制的自由度(机器人1002加强的自由度)、以及操作者能够操作的自由度建立关联而存储。需要说明的是,图14所示的例子是一例,也可以将其他信息建立关联而存储。
另外,由于在操作者所操作的环境和机器人动作环境中坐标系不同,因此,例如也可以在机器人1002的起动时进行操作者的操作环境和机器人动作环境的校准。
另外,在把持时,机器人远程操作控制装置1003也可以基于机器人1002的把持力、以及物体与把持部的摩擦力等,考虑把持时的把持位置的误差来决定把持位置。
[把持位置的指尖目标的修正]
接着,说明通过机器人远程操作控制装置1003的辅助而进行的把持位置的指尖目标的修正例。
图15是示出通过机器人远程操作控制装置1003的辅助而进行的把持位置的指尖目标的修正例的图。在图15的例子中,试图把持的对象物体g1021的形状是大致长方体。机器人远程操作控制装置1003在对于操作者的输入g1011限制自由度来进行辅助使得容易把持时,将指尖目标变更为容易把持的位置(校正后的位置g1012)。在指尖目标的变更中,例如在如图12那样对象物体的铅垂方向相对于z轴方向倾斜的情况下,以使操作者的输入的z轴方向的角度与塑料瓶的铅垂方向一致的方式进行校正,生成针对把持部1221的控制指令。更具体而言,首先,控制指令生成部1034按照每个对象物来推断要辅助的图案。推断方法例如通过与存储部1037所存储的数据库的匹配或机器学习来进行。控制指令生成部1034在推断辅助图案之后,在对象物具有的坐标系与机器人的指尖坐标系之间进行向量运算(外积/内积),由此进行方向的修正。另外,控制指令生成部1034例如也可以包括基于向量运算的方向的修正在内,通过根据传感器信息直接生成修正指令值这样的end to end的机器学习方法来进行修正和指令值的生成。由此,根据本实施方式,机器人远程操作控制装置1003推断对象物体和作业内容,进而将指尖目标校正到容易把持的位置,因此,操作者容易进行指示。
需要说明的是,意图推断部1033或存储部1037例如也可以具备意图推断模型,该意图推断模型输入视线信息、操作者臂部信息、环境传感器信息、机器人1002的传感器检测到的检测结果,并将对象物体和操作内容作为示教数据进行了学习。意图推断模型也可以设置在云上。意图推断部1033也可以将取得的信息输入到意图推断模型来推断操作者的意图。或者,意图推断部1033也可以将取得的信息输入到意图推断模型来推断对象物体和作业内容中的至少一个。
或者,意图推断部1033也可以使用取得的信息,通过概率推理来推断操作者的意图。或者,意图推断部1033也可以使用取得的信息,通过概率推理来推断对象物体和作业内容中的至少一个。
[机器人1002和机器人远程操作控制装置1003的处理步骤例]
接着,对机器人1002和机器人远程操作控制装置1003的处理步骤例进行说明。
图16是本实施方式的机器人1002和机器人远程操作控制装置1003的处理步骤例的流程图。
(步骤S1001)信息取得部1031从HMD1005取得视线信息,从控制器1006取得操作者臂部信息。
(步骤S1002)信息取得部1031从环境传感器1007取得环境传感器信息。
(步骤S1003)意图推断部1033基于取得的视线信息、操作者臂部信息、以及环境传感器信息,来推断包括把持对象物体、作业内容的操作者的意图。
(步骤S1004)控制指令生成部1034基于推断出的操作者的意图和存储部1037所存储的信息,来决定针对机器人远程操作控制装置1003辅助的自由度即操作者的动作指示的自由度的限制。需要说明的是,控制指令生成部1034针对操作者的动作中的一部分自由度而生成适当的控制指令,由此减少操作者的动作的自由度而生成控制指令。
(步骤S1005)控制指令生成部1034基于取得的操作者臂部信息所包含的臂部的运动信息和在步骤S1004中决定的限制的自由度,对要把持的目标的指尖位置进行校正。
(步骤S1006)机器人状态图像制作部1035基于信息取得部1031取得的操作者臂部信息、意图推断部1033推断出的结果、以及控制指令生成部1034校正后的把持位置,来制作HMD1005所显示的机器人状态图像。
(步骤S1007)控制指令生成部1034基于校正后的要把持的目标的指尖位置,生成控制指令。
(步骤S1008)控制部1021基于控制指令生成部1034生成的控制指令,对驱动部1022进行控制,来驱动机器人1002的把持部等。控制部1021在处理后,返回到步骤S1001的处理。
需要说明的是,图16所示的处理步骤是一例,机器人远程操作控制装置1003也可以并行地进行上述的处理。
另外,HMD1005的图像显示部1051所显示的图像例如是图15那样的图像。需要说明的是,在机器人状态图像中,也可以不包括操作者的输入g1011的图像。需要说明的是,机器人状态图像制作部1035例如也可以通过在HMD1005上用文字提示辅助图案或者显示矩形、箭头等,向操作者提示限制自由度并由机器人辅助的内容。由此,操作者在一边观察HMD1005所显示的机器人状态图像一边进行作业指示时,例如在打开塑料瓶的盖时,不用在意使把持部与塑料瓶的铅垂方向一致,能够专注于打开盖的作业指示。
如以上那样,在本实施方式中,机器人远程操作控制装置1003通过设置于机器人1002、环境、操作者的传感器信息,来判断作业内容、对象物体,根据状况来代替六个自由度的一部分的控制目标值生成,由此,限定了操作者应该控制的自由度。即,在本实施方式中,通过针对一部分自由度自动生成适当的控制指令,从而减少操作者应该控制的自由度。
由此,根据本实施方式,在远程操纵机器人中,能够同时实现操作者的负担减轻和作业的多样化、高效化。
需要说明的是,上述的自由度的限制例是一例,不限于此。自由度的限制并不是指操作者完全无法控制该自由度,也包括限制能够操作的区域的情况。
例如也可以是,机器人远程操作控制装置1003在距对象物体的距离为规定的范围外的情况下不进行自由度的限制,在距对象物体为规定的范围内的情况下进行自由度的限制。作为一例,规定的范围内是x轴平移±1001m的范围。
需要说明的是,在上述的例子中,说明了通过远程操作来把持对象物体的例子等,但不限于此。即便是其他作业内容,机器人远程操作控制装置1003也根据作业内容来进行自由度的限制。
另外,在作业内容为多个的情况下,机器人远程操作控制装置1003也可以在作业内容每次变化时,进行自由度的限制的变更。例如,在桌子上放置有多个物体并从其中把持一个塑料瓶之后打开该塑料瓶的盖的情况下,机器人远程操作控制装置1003设定把持阶段的第一自由度的限制、打开盖的情况下的第二自由度的限制。
另外,在使用双方的把持部进行的作业内容的情况下,机器人远程操作控制装置1003按照每个把持部进行自由度的限制、指尖目标的校正。
另外,上述的机器人1002例如可以是双脚步行机器人,也可以是固定型的受理机器人,还可以是作业机器人。
另外,在上述的例子中,说明了通过远程操作使机器人1002把持的例子,但不限于此。
另外,在上述的例子中,说明了操作者佩戴HMD1005的例子,但不限于此。视线信息的检测、向操作者的机器人状态图像的提供例如也可以是传感器与图像显示装置的组合等。
需要说明的是,也可以将用于实现本发明中的机器人1002的功能的全部或一部分、机器人远程操作控制装置1003的功能的全部或一部分的程序记录于计算机可读取的记录介质,使计算机系统读入并执行该记录介质所记录的程序,由此进行机器人1002所进行的处理的全部或一部分、机器人远程操作控制装置1003所进行的处理的全部或一部分。需要说明的是,这里所说的“计算机系统”包括OS、外部设备等硬件。另外,“计算机系统”也包括在本地网络上构筑的系统、在云上构筑的系统等。另外,“计算机可读取的记录介质”是指软盘、光磁盘、ROM、CD-ROM等可移动介质、内置于计算机系统的硬盘等存储装置。此外,“计算机可读取的记录介质”也包括如经由因特网等网络或电话线路等通信线路发送了程序的情况下的成为服务器或客户端的计算机系统内部的易失性存储器(RAM)那样将程序保持固定时间的记录介质。
另外,也可以从在存储装置等中存储有上述程序的计算机系统经由传输介质或者通过传输介质中的传输波向其他的计算机系统传输该程序。这里,传输程序的“传输介质”是指如因特网等网络(通信网)或电话线路等通信线路(通信线)那样具有传输信息的功能的介质。另外,上述程序也可以用于实现上述功能的一部分。此外,也可以为能够通过与已经记录于计算机系统的程序的组合来实现上述功能的程序,即所谓的差分文件(差分程序)。
以上,使用实施方式对用于实施本发明的方式进行了说明,但本发明不受这样的实施方式的任何限定,能够在不脱离本发明的主旨的范围内加以各种变形和置换。
<第三实施方式>
以下,参照附图对本发明的第三实施方式进行说明。
图17是示出本实施方式的机器人系统S2001的结构例的概要框图。
机器人系统S2001是能够按照作为用户的操作者的动作来控制机器人2020的动作的控制系统。另外,机器人系统S2001也是根据操作对机器人2020的动作进行操纵的操纵系统。机器人2020具备执行器(也称为end-effector、末端执行器、机器人手、指尖执行器、作用器等)。执行器是机械地作用于其他物体而产生影响的构件。执行器具备具有多个手指部且能够把持或释放其他物体的机构。各个手指部能够根据操作者的对应的手指的运动进行动作。由此,能够实现各种作业。
本实施方式的机器人系统S2001基于表示机器人2020的动作环境的环境信息和表示操作状况的操作信息,来推断机器人2020的动作状况。如后所述,在推断动作状况时,机器人系统S2001也可以使用从驱动传感器2026取得的驱动状态信息、操作者的视线信息等。机器人系统S2001基于表示与动作状况对应的控制特性的特性参数,生成用于使机器人2020的执行器向目标位置动作的控制指令。机器人系统S2001基于生成的控制指令来控制机器人2020的动作。
在本申请中,动作状况主要包括机器人2020进行的动作的方式即任务或动作模式这一含义。动作状况例如能够包括试图操作的作业的种类、与作业所涉及的物体之间的位置关系、物体的种类或特征等作为要素。动作状况也可以被定义为包括任意的要素或者任意的要素的组合。即便操作信息是共同的,根据动作状况使机器人2020的执行器移动的目标位置也有时不同。
机器人系统S2001具备机器人2020、显示装置2050、操作装置2070以及环境信息取得部2080。机器人2020具备一个以上的机械手(manipulator)。机械手也被称为机械臂。各个机械手具备多个分节(segment),这些分节相互连结。在该多个分节中包括一个执行器。执行器是与机械手的一端连接并接触到物体来发挥作用的构件。机器人2020的动作机构按照该多个分节中的包括两个分节在内的每个分节对而具备关节,并且按照每个关节而具备致动器。通过致动器使各两个分节间所成的角度变化,由此能够使执行器的位置移动。在以下的说明中,以机械手的个数为一个的情况(单臂型)为主,但也可以为两个以上。另外,机器人2020可以是固定于规定的位置的放置型,也可以是能够使自身的位置移动的可动型。在以下的说明中,以机器人2020为放置型的情况为主。
机器人2020的控制装置2030通过无线或有线以能够输入输出各种信息的方式与显示装置2050、操作装置2070以及环境信息取得部2080连接。
显示装置2050及操作装置2070也可以位于与机器人2020及环境信息取得部2080在物理上分离的空间。在该情况下,显示装置2050及操作装置2070也可以构成为经由通信网络而与控制装置2030连接的远程操作系统。
机器人2020具备驱动部2024、驱动传感器2026、电源2028以及控制装置2030。
驱动部2024按照每个关节而具备致动器,按照从控制装置2030的驱动控制部2040输入的控制指令进行动作。各个致动器相当于所谓的马达,按照由控制指令指示的驱动量的目标值,使与自身连结的两个分节所成的角度变化。
驱动传感器2026检测驱动部2024对机器人2020驱动的驱动状态,将表示检测到的驱动状态的驱动状态信息输出到控制装置2030。驱动传感器2026例如构成为包括旋转编码器,该旋转编码器按照每个关节而检测两个分节所成的角度。
电源2028向机器人2020所具备的各构成部供给电力。电源2028例如具备电源端子、二次电池以及电压转换器。电源端子能够连接电力线,从外部被供给电力,将供给的电力供给到二次电池或电压转换器。
二次电池蓄积使用电源端子供给的电力。二次电池能够经由电压转换器向各构成部供给电力。电压转换器将从电源端子或二次电池供给的电力的电压转换成各构成部所要求的规定的电压,分别将转换电压后的电力供给到各构成部。
接着,参照图17和图18对本实施方式的控制装置2030的功能结构进行说明。图18是示出本实施方式的控制装置2030的一部分的功能结构例的框图。控制装置2030具备信息取得部2032、动作状况推断部2034、目标位置推断部2036、控制指令生成部2038、驱动控制部2040、通信部2042以及存储部2044。
信息取得部2032取得与操作者的状况及机器人2020的状况相关的各种信息。例如,信息取得部2032从显示装置2050取得视线信息和第一操作者动作信息。视线信息和第一操作者动作信息构成表示操作者的状况的操作者信息。视线信息是表示某个时刻的操作者的至少一方眼睛的视线方向的信息。第一操作者动作信息是表示操作者的头部的动作的信息。头部的动作由每个时刻的头部的方向和位置表示。在本申请中,有时将视线信息和第一操作者动作信息统称为操作者信息。
信息取得部2032从操作装置2070取得第二操作者动作信息。第二操作者动作信息是表示与操作者的操作相关的身体的动作的信息。第二操作者动作信息构成操作信息,该操作信息表示针对机器人2020的操作状况。第二操作者动作信息包括作为操作者的身体部位的主要表示手部的动作的信息。在手部的动作中,包括至少两根手指部的动作。在第二操作者动作信息中,除了手部的动作之外,也可以包括表示手腕的动作的信息。手腕的动作可以使用该手腕的代表位置来表示,也可以包括其姿势的信息。身体部位的动作使用每个时刻的身体部位的位置的信息来表示。在本申请中,有时将第二操作者动作信息称为操作信息。
信息取得部2032从环境信息取得部2080取得环境信息。环境信息表示机器人2020的动作环境。在环境信息中,包括图像数据以及距离数据,该图像数据表示示出机器人2020的动作环境的图像,该距离数据表示距分布在机器人2020的动作环境中的物体的距离。
信息取得部2032从驱动传感器2026取得驱动状态信息。驱动状态信息也能够视为表示机器人2020的姿势的姿势信息。各时刻的驱动状态信息的时间序列相当于表示机器人2020的动作的机器人动作信息。信息取得部2032将取得的各种信息存储于存储部2044。
动作状况推断部2034从存储部2044读出在该时间点最新的环境信息和操作信息,基于读出的环境信息和操作信息,来推断机器人2020的动作状况。动作状况推断部2034为了推断机器人2020的动作状况,例如使用规定的机器学习模型。在动作状况推断部2034中,预先设定通过使用训练数据学习到的参数集,使得输入环境信息和操作信息作为输入信息时,作为输出信息,得到将与该输入信息对应的已知的动作状况的可靠度设为1并将针对其他动作状况的候选的可靠度设为0的输出信息。训练数据构成为包括大量的输入信息与已知的输出信息的组。以如下方式学习到参数集:作为训练数据整体,使根据输入信息推断的输出信息的推断值与已知的输出信息之差最小化。在该情况下,从机器学习模型得到的针对各个动作状况的可靠度能够被决定为0至1之间的实数值。动作状况推断部2034能够将按照每个动作状况的候选而计算出的可靠度比规定的可靠度高并且成为最大的动作状况的候选确定为机器人2020的动作状况。作为动作状况,例如判定:向处于机器人2020的动作环境的多个物体中的、处于与操作信息在该时间点所表示的手部的动作方向最近的方向的物体(目标物体)的接近,在该时间点与执行器接触的物体的作用的方式(例如把持、释放、摩擦等)等。
动作状况推断部2034也可以从存储部2044读出在该时间点最新的操作者信息,除了环境信息和操作信息之外还基于操作者信息,来推断机器人2020的动作状况。操作者信息表示还考虑了操作者的头部的运动的视线方向。因此,在推断动作状况时,根据操作者信息进一步考虑产生了操作者感兴趣的事情的方向。在动作状况推断部2034中,预先设定通过使用训练数据如上述那样学习到的参数集,使得在向机器学习模型除了输入环境信息和操作信息之外还输入操作者信息作为输入信息时,作为输出,得到与该输入信息对应的已知的动作状况的可靠度为1且针对其他动作状况的候选的可靠度为0的输出信息。
需要说明的是,动作状况推断部2034也可以从存储部2044读出在该时间点最新的驱动状态信息,进一步基于驱动状态信息,来推断机器人2020的动作状况。驱动状态信息表示机器人2020的姿势、其时间变化。因此,在推断动作状况时,还考虑机器人2020的姿势。在动作状况推断部2034中,预先设定通过使用训练数据如上述那样学习到的参数集,使得在向机器学习模型除了输入环境信息和操作信息之外还输入驱动状态信息作为输入信息时,作为输出,得到与该输入信息对应的已知的动作状况的可靠度为1且针对其他动作状况的候选的可靠度为0的输出信息。
动作状况推断部2034决定与推断出的动作状况对应的特性参数。特性参数是与针对执行器的动作的控制特性相关的参数。在特性参数中,例如包括收敛判定参数、目标函数的每个因子的权重系数中的任意一方、或者它们的组。在存储部2044中,预先存储有按照每个动作状况而表示特性参数的特性参数表。动作状况推断部2034参照特性参数表,确定与推断出的动作状况对应的特性参数,将确定出的特性参数输出到控制指令生成部2038。
收敛判定参数是表示收敛判定条件的参数,该收敛判定条件用于判定执行器的位置是否收敛于目标位置。收敛判定条件的强度相当于收敛的位置(在本申请中有时称为“收敛位置”)相对于目标位置的约束程度,换言之,相对于目标位置的准确性。作为收敛判定参数,例如能够利用距目标位置的距离的阈值。距目标位置的距离的阈值越小则表示收敛判定条件越强。动作状况推断部2034也可以设定越是需要成为控制对象的执行器的位置的追随性的动作状况则表示越强的收敛判定条件的收敛判定参数。追随性是指,相对于目标位置能够准确地控制执行器的位置的特性、或者需要准确的控制的特性,即准确性。在这样的动作状况中,例如存在执行器设置于精细的物体且非常接近目标位置的状况、由操作信息指示的动作细微的状况等。
逆运动学计算是根据目标位置来决定各个关节的位移即角度和角加速度中的一方或双方的解析方法,也称为逆运动学解析。需要说明的是,逆动力学计算是在将多个分节连接而成的连杆机构中决定用于实现各个关节的运动(即,角度和角加速度中的一方或双方的时间变化)的关节的驱动力的解析方法,也称为逆动力学解析。因此,逆运动学计算也与逆动力学计算紧密关联。在本实施方式中,在与逆运动学计算相关的特性参数中有时包括与逆动力学计算相关的特性参数。
另一方面,收敛判定条件越强,则逆运动学计算的解不存在的可能性趋向于越高,或者即便存在解、该解不稳定的可能性也趋向于越高。于是,动作状况推断部2034也可以设定越是允许成为控制对象的执行器的位置的灵活性的动作状况则表示越弱的收敛判定条件(例如,与目标位置分离)的收敛判定参数。灵活性是指允许执行器的位置从目标位置的偏离的特性。灵活性是指能够可靠地控制的特性,即安全性。在允许灵活性的动作状况中,例如存在:在到目标位置的路径的周边分布有多个物体的情况等。
目标函数用于在逆运动学计算中使用公知的方法在数值上求出机器人2020的动作的最优解(最优化问题)。即,目标函数是定量地表示用于使执行器向目标位置进行动作的负荷的大小的函数,包括多种因子,将这些因子合成而构成。权重系数表示各个因子对目标函数的贡献。负荷表示与控制相关的成本。在多个因子中,包括每个时刻的控制误差的大小作为一个因子。控制误差的大小例如由最终的目标位置与收敛的误差的大小(距离)表示。被控制为针对控制误差的权重系数越大,则执行器相对于目标位置的追随性越高。在目标函数中,也可以包括从执行器的当前位置到收敛位置的到达时间、从当前到达收敛位置的加加速度(jerk)的大小、从当前到达收敛位置的电力量、直至到达收敛位置的机器人2020的运动量、当前的机器人2020的姿势与执行器位于收敛位置的时间点的机器人2020的姿势的差分的大小等中的任意一方或组合作为因子。在本申请中,最优化包括探索使目标函数的函数值更小的解这一含义,不限于使函数值绝对成为最小。因此,函数值也可能暂时增加。
因此,动作状况推断部2034也可以设定为,越是需要成为控制对象的执行器的位置的追随性的动作状况,则针对控制误差的权重系数越大。动作状况推断部2034也可以设定为,越是允许成为控制对象的执行器的位置的灵活性的动作状况,则针对控制误差的权重系数越小。动作状况推断部2034也可以设定为,越是需要成为控制对象的执行器的位置的连续性的动作状况,则针对加加速度的大小的权重系数越大。
动作状况推断部2034决定与推断出的动作状况对应的驱动控制参数。驱动控制参数是与针对构成机器人2020的各分节的驱动的控制特性相关的参数。驱动控制参数在形成驱动控制部2040的控制器决定针对驱动各关节的致动器的操作量时使用。在存储部2044中,预先存储有按照每个动作状况而表示驱动控制参数的驱动控制参数表。动作状况推断部2034参照驱动控制参数表,确定与推断出的动作状况对应的驱动控制参数,将确定出的驱动控制参数输出到驱动控制部2040。
例如,在控制器是PID(Proportional-Integral-Differential)控制器的情况下,在驱动控制参数中包括比例增益(proportional gain)、积分增益(integral gain)以及微分增益(differential gain)。比例增益是用于将作为操作量的一个分量的比例项乘以该时间点(当前)的目标值与输出值的偏差而计算的增益。积分增益是用于将作为操作量的另一分量的积分项乘以直至该时间点的偏差的积分值而计算的增益。微分增益是用于将作为操作量的又一分量的微分项乘以该时间点的偏差的微分值而计算的增益。动作状况推断部2034例如也可以将各个增益决定为,越是需要追随性的动作状况,则微分增益相比于其他种类的增益越相对大。动作状况推断部2034例如将各个增益决定为,越是需要灵活性的动作状况,则积分增益相比于其他种类越相对大。
目标位置推断部2036读出在该时间点最新的环境信息和操作信息,基于读出的环境信息和操作信息,来推断机器人2020的执行器的目标位置。目标位置推断部2036将表示推断出的目标位置的目标位置信息输出到控制指令生成部2038。
目标位置推断部2036为了推断目标位置,例如使用机器学习模型。为了与动作状况推断部2034中的机器学习模型进行区分,有时将动作状况推断部2034中的机器学习模型、目标位置推断部2036中的机器学习模型分别称为第一机器学习模型、第二机器学习模型。
在目标位置推断部2036中,预先设定学习到的参数集,使得在向机器学习模型输入环境信息和操作信息作为输入信息时,得到与对应于该输入信息的目标位置相关的输出信息。
作为目标位置,设定如下位置,即物体的表面上的从经验来看由执行器作用的可能性高的位置。目标位置可以取决于物体的形状。对于高度比直径大的纵长的圆柱的情况,有时底面的中心、表面的中心以及高度方向的中间点的横截面中的最接近执行器的位置成为目标位置的可能性变高。从机器学习模型输出的输出信息也可以是表示目标位置的坐标的信息,不限于此。在输出信息中,例如也可以包括如下信息,即表示被设定目标位置的物体、该物体的种类、形状及方向、以及该物体中的被设置目标位置的位置等的信息。目标位置推断部2036能够根据该输出信息决定目标位置的坐标。
另外,目标位置推断部2036也可以从存储部2044读出该时间点最新的操作者信息,除了环境信息和操作信息之外还基于操作者信息,来推断目标位置。因此,推断出根据操作者信息还考虑了产生了操作者感兴趣的事情的方向的目标位置。但是,在目标位置推断部2036中,预先设定学习到的参数集,使得在向机器学习模型除了输入环境信息和操作信息之外还输入操作者信息作为输入信息时,得到与该输入信息对应的目标位置的坐标值作为输出信息。
但是,目标位置推断部2036也可以不必使用第二机器学习模型来推断目标位置。例如,在从动作状况推断部2034通知的动作状况是不伴随执行器的持续的平移运动的动作状况的情况下,目标位置推断部2036不使用第二机器学习模型来推断目标位置。在这样的动作状况中,例如具有静止、旋转、物体的把持、释放、物体表面的摩擦等。目标位置推断部2036在不使用第二机器学习模型来推断目标位置的情况下,也可以采用操作信息所示的操作者的手部的位置作为目标位置。
需要说明的是,作为第一机器学习模型、第二机器学习模型,目标位置推断部2036例如能够利用神经网络、随机森林等数理模型。
控制指令生成部2038生成用于使执行器从当前位置朝向从目标位置推断部2036输入的目标位置信息所表示的目标位置移动的动作指令。“朝向目标位置”或“朝目标位置”包括向目标位置的移动作为目的、但不保证到达目标位置这一含义。控制指令生成部2038能够读出存储部2044所存储的驱动状态信息,基于驱动状态信息所表示的各关节的角度和各分节的尺寸,来计算执行器的当前位置。控制指令生成部2038在驱动状态信息所表示的各关节的角度和各分节的尺寸的基础上还能够基于各关节的角速度来计算执行器的速度。控制指令生成部2038基于从动作状况推断部2034输入的特性参数和驱动状态信息(机器人动作信息)进行公知的逆运动学计算,决定各关节的角度,使得执行器向收敛位置移动。控制指令生成部2038将表示所决定的各关节的角度(关节角度)的动作指令(关节指令)输出到驱动控制部2040。
在特性参数中包括收敛判定参数的情况下,控制指令生成部2038也可以在逆运动学计算中,将从目标位置起的收敛判定参数所示的区域内的任意的位置决定为收敛位置,停止执行器2038的移动。控制指令生成部2038在判定执行器的当前位置是否已收敛时,例如,判定执行器的当前位置是否为从目标位置起的特性参数所示的规定的距离的阈值以内。在判定为执行器的位置已收敛时,控制指令生成部2038生成表示动作停止的控制指令并输出到驱动控制部2040。驱动控制部2040在从控制指令生成部2038输入了表示动作停止的控制指令时,停止针对各个关节的目标值的更新并固定。在收敛位置处,控制指令生成部2038也可以施加使执行器的速度成为零的约束条件,或者驱动控制部2040也可以施加使各关节的角速度成为零的约束条件。
在收敛特性参数中包括目标函数的每个因子的权重系数的情况下,控制指令生成部2038在逆运动学计算中,基于使用与其权重系数对应的因子而合成的目标函数来进行最优化计算。目标函数例如通过因子与其权重系数之积的因子间的总和(加权和)来计算。在最优化计算中,控制指令生成部2038也可以递归地计算各关节的角度,使得表示直到执行器到达目标位置或收敛位置而产生的负荷的目标函数尽量小。
需要说明的是,在从目标位置推断部2036未取得目标位置信息的情况下,控制指令生成部2038也可以采用操作信息所示的手部的位置作为目标位置。控制指令生成部2038进行逆运动学计算,生成如下动作指令,即,将用于使执行器从当前位置朝向采用的目标位置移动的各关节的角度作为目标值的动作指令。
驱动控制部2040基于从控制指令生成部2038输入的控制指令、从动作状况推断部2034输入的驱动控制参数、以及从存储部2044读出的驱动状态信息(机器人动作信息)来决定驱动指令。更具体而言,驱动控制部2040构成为包括控制器,该控制器计算用于将控制指令所示的每个关节的角度控制为目标值的操作量,决定表示计算出的操作量的控制指令。驱动控制部2040将决定出的控制指令输出到驱动部2024。控制器将驱动状态信息所表示的角度作为输出值,按照设定于该控制器的控制方式,对目标值与输出值的偏差作用驱动控制参数来计算操作量。PID控制器计算将偏差、偏差的时间积分值、偏差的时间微分值分别乘以比例增益、积分增益、微分增益而得到的相乘值的总和作为操作量。
通信部2042在机器人2020的各构成部与其他构成部(即,显示装置2050、操作装置2070以及环境信息取得部2080)之间通过无线或有线而收发各种信息。通信部2042例如构成为包括输入输出接口、通信接口等。
存储部2044暂时或永久地存储控制装置2030中的用于各种处理的数据、由控制装置2030取得的各种数据等。存储部2044例如构成为包括RAM(Random Access Memory)、ROM(Read Only memory)等存储介质。
显示装置2050构成为包括显示部2052、视线检测部2054、动作检测部2056、控制部2058以及通信部2060。显示装置2050也可以具备能够佩戴于作为使用者的操作者的头部的支承构件,构成为头戴式显示器(HMD:Head Mounted Display)。
显示部2052使用通信部2060,从环境信息取得部2080经由控制装置2030而接收图像数据。显示部2052基于接收到的图像数据,显示表示机器人2020的动作环境的图像。显示部2052在佩戴于操作者的头部时,其画面也可以配置在与双眼的正面相面对的位置。
视线检测部2054构成为包括视线传感器,该视线传感器检测操作者的一方或双方眼睛的视线方向。视线检测部2054使用通信部2060,将表示在各时刻检测到的视线方向的视线信息发送到控制装置2030。视线检测部2054在佩戴于操作者的头部时,也可以配置在使至少一方眼睛露出的位置。
动作检测部2056检测操作者的头部的动作,使用通信部2060,将表示检测到的动作的第一操作者动作信息发送到控制装置2030。动作检测部2056例如构成为包括用于检测操作者的动作的加速度传感器。
控制部2058对显示装置2050的功能进行控制。控制部2058构成为包括CPU(Central Processing Unit)等处理器。
通信部2060与控制装置2030收发各种信息。通信部2060构成为包括通信接口。
操作装置2070具备动作检测部2072、控制部2074以及通信部2076。操作装置2070也可以具备能够佩戴于作为使用者的操作者的手部的支承构件,构成为数据手套(dataglove)。
动作检测部2072对操作者的手部的动作进行检测,使用通信部2076,将表示检测到的动作的第二操作者动作信息发送到控制装置2030。动作检测部2072例如构成为包括用于检测操作者的手部的动作的加速度传感器。也可以在操作装置2070进一步连接手腕追踪器。手腕追踪器构成为包括能够佩戴于操作者的手腕的支承构件和用于检测手腕的动作的加速度传感器。检测手腕的动作的加速度传感器构成动作检测部2072的一部分。第二操作者动作信息包括表示手腕的动作的信息在内被发送到控制装置2030。
控制部2074对操作装置2070的功能进行控制。控制部2074构成为包括CPU等处理器。
通信部2076与控制装置2030收发各种信息。通信部2076构成为包括通信接口。
需要说明的是,动作检测部2072能够与显示装置2050的通信部2060连接。也可以经由通信部2060将第二操作者动作信息发送到控制装置。在该情况下,也可以省略控制部2074和通信部2076。
环境信息取得部2080具备拍摄部2082、测距部2084以及通信部2086。环境信息取得部2080可以设置于机器人2020的壳体,也可以设置在与机器人2020分开的位置。
拍摄部2082拍摄从机器人2020起的规定范围内的动作环境中的图像。在动作环境中包括机器人2020的执行器能够到达的范围。在所拍摄的图像中不一定包括机器人2020的像的整体。拍摄部2082是每隔规定时间拍摄图像的数字摄像机。拍摄部2082将表示拍摄到的图像的图像数据经由通信部2086发送到控制装置2030。
测距部2084测定从机器人2020起的规定范围内的动作环境中的距物体的表面的距离。测距部2084例如具备送波部、受波部、距离检测部。送波部送出红外线等波动。送波部例如构成为包括发光二极管。受波部接收在物体的表面上通过反射而产生的反射波。受波部例如构成为包括光电二极管。与从送波部送出的波动作为入射波入射到物体的表面相应地产生反射波。距离检测部检测送出波与反射波的相位差,能够基于检测到的相位差来决定距物体的表面的距离。距离检测部经由通信部2086向控制装置2030发送距离数据,该距离数据表示按照与图像的各像素对应的每个方向而决定的距离。需要说明的是,距离的计测所使用的波动不限于红外线,也可以是毫米波、超声波等。
通信部2086与控制装置2030收发各种信息。通信部2086构成为包括通信接口。
需要说明的是,在环境信息取得部2080设置于机器人2020的壳体并能够与机器人2020的其他功能部收发各种信息的情况下,也可以省略通信部2086。
(硬件结构)
接着,对本实施方式的控制装置2030的硬件结构例进行说明。
图19是示出本实施方式的控制装置2030的硬件结构例的概要框图。控制装置2030作为包括处理器2102、ROM2104、RAM2106、辅助存储部2108以及输入输出部2110而构成的计算机发挥功能。处理器2102、ROM2104、RAM2106、辅助存储部2108以及输入输出部2110以相互能够输入输出各种数据的方式连接。
处理器2102例如读出ROM2104所存储的程序、各种数据,通过执行该程序而执行用于实现控制装置2030的各部的功能的处理、用于控制该功能的处理。处理器2102例如是CPU。
需要说明的是,在本申请中,有时将执行在程序中记述的各种命令(command)所指示的处理称为“程序的执行”或“执行程序”等。
ROM2104例如存储用于供处理器2102执行的程序。
RAM2106例如作为暂时地保存处理器2102所使用的各种数据、程序的作业区域而发挥功能。
辅助存储部2108永久地存储各种数据。在辅助存储部2108中存储由控制装置2030取得的数据。辅助存储部2108例如具备HDD(Hard Disk Drive)、SSD(Solid State Drive)等存储介质。
输入输出部2110例如能够通过无线或有线与其他设备输入输出各种数据。输入输出部2110也可以经由网络而与其他设备连接。输入输出部例如具备输入输出接口和通信接口中的一方或双方。
需要说明的是,显示装置2050、操作装置2070以及环境信息取得部2080也可以构成为具备与图19所例示的硬件结构同样的硬件结构并实现作为各装置的功能的计算机。
(动作控制处理)
接着,对本实施方式的动作控制处理的一例进行说明。图20是示出本实施方式的动作控制处理的一例的流程图。
(步骤S2102)动作状况推断部2034取得在该时间点最新的环境信息、操作信息以及视线信息,基于这些信息来推断机器人2020的动作状况。
(步骤S2104)动作状况推断部2034参照特性参数表和驱动控制参数表,分别决定与推断出的动作状况对应的特性参数和驱动控制参数。
(步骤S2106)目标位置推断部2036取得在该时间点最新的环境信息、操作信息以及视线信息,基于这些信息来推断机器人2020的执行器的目标位置。
(步骤S2108)控制指令生成部2038基于决定出的特性参数,生成用于使执行器从当前位置朝向目标位置移动的控制指令。
(步骤S2110)驱动控制部2040使用驱动控制参数,生成将各关节的角度控制为控制指令所示的目标值的驱动指令。
(步骤S2112)控制指令生成部2038判定执行器的位置是否已收敛。控制指令生成部2038例如能够根据执行器的当前位置是否为从目标位置起的特性参数所示的规定的距离的阈值以内来判定是否已收敛。在判定为执行器的位置已收敛时(步骤S2112“是”),生成表示动作的停止的控制指令,并输出到驱动控制部2040。由此,使机器人2020的动作停止。之后,结束图20的处理。在判定为执行器的位置未收敛时(步骤S2112,“否”),返回到步骤S2102的处理。
<第四实施方式>
接着,对本发明的第四实施方式进行说明。在以下的说明中,以与第三实施方式的差异为主,关于与第三实施方式共同的功能、结构,除非另有说明,否则引用第三实施方式的说明。除了图21之外还参照图22来说明本实施方式的机器人系统的功能结构。图21是示出本实施方式的机器人系统S2001的结构例的概要框图。图22是示出本实施方式的控制装置2030的一部分的功能结构例的框图。
本实施方式的机器人系统S2001基于表示机器人2020的位置的位置信息和表示操作状况的操作信息,来决定从当前时刻到规定的预测时间后的预测时刻为止的机器人2020的执行器的预测轨道。机器人系统S2001基于决定出的预测轨道而生成控制指令。本实施方式的机器人系统S2001在控制装置2030中还具备轨道预测部2046。
轨道预测部2046使用至少表示该时间点的机器人2020的动作的机器人动作信息(驱动状态信息)和操作信息,来预测表示从当前到规定的预测时间后的预测时刻为止的机器人2020的执行器的动作的预测轨道。操作信息成为与针对执行器的加速或减速或方向变更的组合的主要原因。轨道预测部2046例如针对到当前为止的规定期间内的驱动状态信息和操作信息进行线性预测,计算到预测时刻为止的执行器的位置和速度。在轨道预测部2046中,到预测时刻为止的执行器在各时刻的位置的时间序列构成预测轨道。预测时间表示从当前到预测时刻为止的经过时间,不是预测所耗费的时间。
轨道预测部2046例如也可以使用卡尔曼滤波器逐次地预测执行器的位置。卡尔曼滤波器是具有(a)预测步骤和(b)更新步骤并依次重复这些步骤的方法。在(a)预测步骤中,轨道预测部2046将到上一时刻为止的执行器的状态量的时间发展(加权和)与外力相加,计算当前的执行器的状态量的推断值。但是,状态量是作为要素而具有位置和速度的向量。外力是作为要素而具有速度和加速度的向量。基于驱动状态信息所示的各关节的角度和角速度以及分节的尺寸来计算速度。基于驱动状态信息所示的各关节的角度、各速度和角加速度、以及分节的尺寸来计算加速度。另外,轨道预测部2046将到上一时刻为止的状态量的预测误差的时间发展与误差的时间发展相加,计算当前的预测误差。在(b)更新步骤中,轨道预测部2046计算执行器的当前位置(观测值)与当前的执行器的位置的推断值之差作为观测残差。轨道预测部2046根据当前的预测误差来计算当前的观测残差的协方差。轨道预测部2046根据当前的预测误差和观测残差的协方差来计算卡尔曼增益。轨道预测部2046将当前的执行器的状态量更新为,将当前的执行器的状态量的推断值加上观测残差与卡尔曼增益之积而得到的值。轨道预测部2046将当前的预测误差更新为,将乘以从1开始的卡尔曼增益的向观测空间的映射的残差与预测误差相乘而得到的值。
预测时间可以固定为规定的值(例如,0.2s-2s),也可以是可变的。作为预测时间,预先设定与直至操作者的动作表示为机器人2020的动作为止的延迟时间(也称为“追随延迟”)相等或成为该延迟时间以下的值。预测时间越大则执行器的位置的预测误差越大,反而可能损害操作性。
在将预测时间设为可变的情况下,也可以在存储部2044中预先存储按照每个动作状况而表示预测时间的预测时间表。尤其是当预测时间超过延迟时间时,机器人2020的动作先于操作者的动作,因此,可能导致预测误差变得显著。因此,也可以将延迟时间设定为预测时间的上限。动作状况推断部2034能够使用上述方法来推断机器人2020的动作状况,参照预测时间表,来确定与推断出的动作状况对应的预测时间。
也可以是,越是要求成为控制对象的执行器的位置的准确性的动作状况,则动作状况推断部2034设定越小的预测时间。这样的动作状况是代替不允许执行器的预测误差而允许延迟的动作状况。例如,对应于操作对象物是细微的物体的情况、操作者的操作为精细的情况等。也可以是,越是要求执行器的位置的顺应性的动作状况,则动作状况推断部2034设定越大的预测时间。作为这样的动作状况,适合于代替允许预测误差而期待针对操作的执行器的响应性的动作状况。例如,对应于使执行器朝向作为目标的物体全局地动作的情况、使执行器退避到不存在其他物体的空间的情况等。
动作状况推断部2034将表示确定出的预测时间的预测时间信息输出到轨道预测部2046。轨道预测部2046计算直到预测时刻为止的执行器的位置和速度,该预测时刻是使用从动作状况推断部2034输入的预测时间信息所示的预测时间而决定的。轨道预测部2046将表示预测轨道的预测轨道信息输出到控制指令生成部2038,该预测轨道表示至少从当前到预测时刻为止的执行器的位置和速度。
控制指令生成部2038在生成用于使执行器从当前位置朝向目标位置移动的动作指令时,代替驱动状态信息,基于从轨道预测部2046输入的预测轨道和从动作状况推断部2034输入的特性参数进行公知的逆运动学计算,决定各关节的角度,使得执行器向收敛位置移动。与此相对,到当前为止的驱动状态信息也能够视为表示到当前为止的执行器在各时刻的位置的实际轨道。在本实施方式中,通过代替实际轨道而使用预测轨道,能够补偿执行器的动作的延迟。
另外,本实施方式的驱动控制部2040所具备的控制器也可以对在反馈项计算的第一分量与在前馈项计算的第二分量进行合成来计算操作量。反馈项是指,基于目标值与输出值的偏差来计算操作量的一部分分量即第一分量的项。作为目标值,使用与目标位置对应的各关节的角度。作为输出值,使用驱动状态信息所示的各关节的角度。该输出值对应于执行器在该时间点的当前位置。上述的PI控制、PID控制相当于,不包括第二分量而将第一分量决定为操作量的方法。即,上述的比例项、积分项以及微分项分别包含在第一分量中。前馈项是不考虑输出值而是基于目标值来计算操作量的其他分量即第二分量的项。第二分量包括与目标值成比例的第二比例项。第二比例项是将目标值乘以第二比例增益而得到的。
于是,在驱动控制参数表中,作为与各个动作状况对应的驱动控制参数,预先设定为:除了包括与第一分量相关的第一增益(对应于上述的比例增益、积分增益、微分增益中的任意一方或它们的组合)之外,还包括与第二分量相关的第二增益。在第二增益中包括第二比例增益。在第二分量中,还可以包括与目标值的时间积分值成比例的第二积分项和与目标值的时间微分值成比例的第二微分项中的一方或双方。第二积分项是将目标值乘以第二积分增益而得到的。第二微分项是将目标值乘以第二微分增益而得到的。在第二增益中,还包括第二积分增益和第二微分增益中的一方或双方。而且,第一增益与第二增益之比也可以根据动作状况而不同。例如,将第一增益和第二增益决定为,越是要求成为控制对象的执行器的位置的准确性的动作状况则越相对增大第一因子与第二因子之比即可。在这样的动作状况中,反馈项相对得到重视。另外,将第一增益和第二增益决定为,越是要求执行器的位置的顺应性的动作状况则越相对增大第二因子与第一因子之比即可。在这样的动作状况中,前馈项相对得到重视。
动作状况推断部2034参照驱动控制参数表,确定与推断出的动作状况对应的包括第一增益和第二增益的驱动控制参数,将确定出的驱动控制参数输出到驱动控制部2040。驱动控制部2040基于从动作状况推断部2034输入的驱动控制参数所示的第一增益和第二增益,分别按照每个关节来计算第一因子和第二因子,对计算出的第一因子和第二因子进行合成来决定操作量。驱动控制部2040将表示按照每个关节而决定的操作量的驱动指令输出到驱动部2024。
需要说明的是,本实施方式的控制器也可以不包括第一分量而将第二分量决定为操作量。在该情况下,也可以省略第一增益的设定。
(动作控制处理)
接着,对本实施方式的动作控制处理的一例进行说明。图23是示出本实施方式的动作控制处理的一例的流程图。图23所示的处理相对于图20所示的处理还具有步骤S2122、S2124以及S2126的处理。
在目标位置推断部2036结束步骤S2106的处理之后,进入步骤S2122的处理。
(步骤S2122)动作状况推断部2034参照预测时间表,决定与自身决定的动作状况对应的预测时间。
(步骤S2124)轨道预测部2046使用机器人动作信息和操作信息,来推断从当前到所决定的预测时间后的预测时刻为止的执行器的预测轨道。
(步骤S2126)控制指令生成部2038使用预测轨道和特性参数,生成将使执行器朝向目标位置移动的各关节的角度表示为目标值的控制指令。之后,进入步骤S2110的处理。
需要说明的是,在步骤S2122中,动作状况推断部2034也可以参照驱动控制参数表,来确定与动作状况对应的驱动控制参数。
在步骤S2110中,驱动控制部2040也可以使用确定出的驱动控制参数,基于目标值、以及目标值与输出值的偏差,分别计算第一因子和第二因子,对计算出的第一因子与第二因子进行合成来决定操作量。驱动控制部2040生成表示所决定的操作量的驱动指令,将生成的驱动指令输出到驱动部2024。
如以上所说明的那样,本实施方式的控制装置2030具备动作状况推断部2034,该动作状况推断部2034至少基于表示机器人2020的动作环境的环境信息和表示操作状况的操作信息,来推断机器人2020的动作状况。控制装置2030具备控制指令生成部2038,该控制指令生成部2038基于操作信息,生成用于使机器人2020的执行器进行动作的控制指令。控制装置2030具备驱动控制部2040,该驱动控制部2040基于控制指令来控制机器人2020的动作。控制指令生成部2038基于与对应于动作状况的控制特性相关的特性参数来决定控制指令。
根据该结构,根据基于动作环境和操作状况而推断的动作状况,使用操作信息来控制执行器的动作。由于根据动作状况来操作执行器,因此,机器人2020的作业效率提高。
另外,动作状况推断部2034还可以基于表示操作机器人的操作者的状况的操作者信息来推断动作状况。
根据该结构,还参照操作者的状况,准确地推断动作状况。因此,机器人2020的作业效率进一步提高。
另外,控制装置2030还可以具备目标位置推断部2036,该目标位置推断部2036至少基于操作信息和环境信息来推断执行器的目标位置。
根据该结构,机器人2020的动作被控制为,执行器朝向基于动作环境和操作状况而决定的目标位置移动。操作者可以不进行用于准确地指示目标位置的操作,因此,机器人2020的作业效率进一步提高。
另外,控制指令生成部2038也可以基于特性参数来决定朝向目标位置驱动执行器的操作量。特性参数也可以包括表示向目标位置收敛的收敛判定条件的收敛判定参数。
根据该结构,根据动作状况来决定收敛判定条件,该收敛判定条件判定为执行器的位置收敛于目标位置。因此,能够根据动作状况而实现要求或期待的位置的准确性或解的稳定性。
控制指令生成部2038也可以基于表示用于使执行器朝向所述目标位置进行动作的负荷的目标函数来决定操作量。也可以是,目标函数是将多种因子合成而得到的函数,特性参数包括每个因子的权重。
根据该结构,根据动作状况来决定针对与执行器的动作相关的负荷的因子的权重。因此,能够根据动作状况来调整动作特性,使得降低要求或期待的种类的因子。
驱动控制部2040也可以基于特性参数来决定操作量,使得降低基于控制指令的目标值与从驱动执行器的动作机构输出的输出值的偏差。特性参数也可以包括偏差相对于操作量的增益。
根据该结构,根据动作状况来调整目标值与输出值的偏差相对于操作量的增益。由于能够根据动作状况来调整使执行器向目标位置进行动作的速度,因此,操作者使用了机器人的作业变得高效。
另外,控制装置2030具备:轨道预测部2046,其至少基于表示机器人2020的动作的动作信息和表示操作状况的操作信息,来决定从当前时刻到规定的预测时间后的预测时刻为止的机器人2020的执行器的预测轨道;以及控制指令生成部2038,其基于预测轨道而生成控制指令。
根据该结构,按照基于直至比当前时刻靠后的预测时刻为止的执行器的预测轨道而生成的控制指令,对机器人2020的执行器进行驱动,因此,降低或消除了如下延迟,即,操作被反映到机器人2020的动作为止的延迟(追随延迟)。对操作者来说,操作感提高,因此,能够同时实现作业效率的提高和负担减轻。
另外,控制装置2030还可以具备动作状况推断部2034,该动作状况推断部2034至少基于表示机器人2020的动作环境的环境信息和操作信息,来推断机器人2020的动作状况。轨道预测部2046也可以基于动作状况来决定预测时间。
根据该结构,根据从机器人2020的动作环境和操作状况推断的机器人2020的动作状况来决定预测时间。因此,根据动作状况来调整操作感的提高与所控制的执行器的位置的准确性的平衡。
另外,控制装置2030也可以具备驱动控制部2040,该驱动控制部2040基于赋予目标位置的机器人2020的动作机构的位移的目标值,决定针对动作机构的操作量,其中,所述目标位置是形成预测轨道的执行器在每个时刻的目标位置。动作状况推断部2034也可以基于动作状况来决定目标值的增益。
根据该结构,根据动作状况来调整目标值针对操作量的贡献,其中,所述操作量是针对动作机构的操作量。因此,根据动作状况来调整执行器的动作对操作者的操作的灵敏性。
另外,驱动控制部2040也可以对第一分量和第二分量进行合成来决定操作量,该第一分量是基于赋予执行器的当前位置的位移的输出值与目标值的偏差和第一增益而得到的,该第二分量是基于目标值和第二增益而得到的。动作状况推断部2034也可以基于动作状况来决定第一增益和第二增益。
根据该结构,根据动作状况来调整反馈项与前馈项的平衡。因此,根据动作状况来调整执行器的动作对操作者的操作的灵敏性与准确性的平衡。
另外,动作状况推断部2034还可以基于表示操作机器人的操作者的状况的操作者信息来推断动作状况。
根据该结构,还参照操作者的状况,准确地推断动作状况。因此,机器人2020的作业效率进一步提高,进一步促进了作业负担的减轻。
以上,参照附图对本发明的实施方式详细进行了说明,但具体的结构不限于上述的结构,在不脱离本发明的主旨的范围内能够进行各种设计变更等。
上述的实施方式及其变形例在不产生矛盾的情况下也可以相互组合,还可以省略其一部分。
例如,在上述的各实施方式中,也可以省略目标位置推断部2036,还可以省略基于由目标位置推断部2036推断出的目标位置的处理。
在第四实施方式中,在预测时间固定的情况下,也可以省略动作状况推断部2034,还可以省略基于动作状况的处理。
在环境信息取得部2080中,测距部2084也可以与拍摄部2082一体化而构成为三维图像拍摄部。另外,环境信息取得部2080也可以具备多视点拍摄部以取代拍摄部2082和测距部2084。多视点拍摄部是具有多个视点且能够按照每个视点拍摄图像的拍摄部。在多视点拍摄部中,包括所谓的立体相机。通过多视点拍摄部拍摄到的每个视点的图像(多视点图像),立体地表现机器人2020的动作环境。目标位置推断部2036通过对多视点图像进行解析,从机器人2020的动作环境中确定物体占据的区域。
另外,也可以省略显示装置2050的一部分或全部。以视线信息表示操作者的一方眼睛(例如,左眼)的视线方向的情况为主进行了说明,但不限于此。视线信息也可以表示左眼、右眼各自的视线方向。在某个时刻无法利用一方眼睛的视线方向的情况下(例如,眨眼),目标位置推断部2036也可以在决定注视点时利用另一方眼睛的视线方向。在能够利用双眼的视线方向的情况下,目标位置推断部2036也可以将双眼各自的视线方向的线段相交的交点或者这些线段各自的最近点的中点决定为注视点。而且,目标位置推断部2036也可以将从头部到注视点的方向决定为代表双眼的视线方向的视线方向,并决定交点,该交点为所决定的视线方向与物体的表面的交点。所决定的交点被用于目标位置的设定。
机器人2020也可以具备多个机械手。多个机械手也可以对应于多名操作者的各一方的前臂部和手部。各个机械手能够根据操作者的各一方的前臂部和手部的动作进行动作。控制装置2030也可以使用上述的方法,按照每个机械手来决定一个目标位置,使机械手朝向所决定的目标位置进行动作。机器人2020也可以是具备两个机械手的双臂型机器人。对于双臂型机器人,例如,一方和另一方的机械手也可以分别对应于一名操作者的左手、右手。
附图标记说明
1…机器人远程操作控制系统,2…机器人,3…机器人远程操作控制装置,5…HMD,6…控制器,7…环境传感器,21…控制部,22…驱动部,23…声音收集部,25…存储部,26…电源,27…传感器,31…信息取得部,33…意图推断部,34…把持方法决定部,35…机器人状态图像制作部,36…发送部,37…存储部,51…图像显示部,52…视线检测部,53…传感器,54…控制部,55…通信部,61…传感器,62…控制部,63…通信部,64…反馈单元,71…拍摄装置,72…传感器,73…物体位置检测部,74…通信部,1001…机器人远程操作控制系统,1002…机器人,1003…机器人远程操作控制装置,1005…HMD,1006…控制器,1007…环境传感器,1021…控制部,1022…驱动部,1023…声音收集部,1025…存储部,1026…电源,1027…传感器,1221…把持部,1031…信息取得部,1033…意图推断部,1034…控制指令生成部,1035…机器人状态图像制作部,1036…发送部,1037…存储部,1051…图像显示部,1052…视线检测部,1054…控制部,1055…通信部,1061…传感器,1062…控制部,1063…通信部,1064…反馈单元,1071…拍摄装置,1072…传感器,1073…通信部,S2001…机器人系统,2020…机器人,2024…驱动部,2026…驱动传感器,2028…电源,2030…控制装置,2032…信息取得部,2034…动作状况推断部,2036…目标位置推断部,2038…控制指令生成部,2040…驱动控制部,2042…通信部,2044…存储部,2046…轨道预测部,2050…显示装置,2052…显示部,2054…视线检测部,2056…动作检测部,2058…控制部,2060…通信部,2070…操作装置,2072…动作检测部,2074…控制部,2076…通信部,2080…环境信息取得部,2082…拍摄部,2084…测距部,2086…通信部。
- 卸料车远程定位操作控制系统
- 一种远程操作控制系统及远程操作控制方法
- 远程操作控制装置和远程操作控制方法