JP2021122868A - Robot, control method, information processor, and program - Google Patents

Robot, control method, information processor, and program Download PDF

Info

Publication number
JP2021122868A
JP2021122868A JP2020015837A JP2020015837A JP2021122868A JP 2021122868 A JP2021122868 A JP 2021122868A JP 2020015837 A JP2020015837 A JP 2020015837A JP 2020015837 A JP2020015837 A JP 2020015837A JP 2021122868 A JP2021122868 A JP 2021122868A
Authority
JP
Japan
Prior art keywords
target
past
current
target position
calculated based
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
JP2020015837A
Other languages
Japanese (ja)
Inventor
裕也 海野
Yuya Unno
裕也 海野
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.)
Preferred Networks Inc
Original Assignee
Preferred Networks Inc
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 Preferred Networks Inc filed Critical Preferred Networks Inc
Priority to JP2020015837A priority Critical patent/JP2021122868A/en
Publication of JP2021122868A publication Critical patent/JP2021122868A/en
Pending legal-status Critical Current

Links

Images

Abstract

To accurately control a first part.SOLUTION: A robot includes a processor for controlling a first part. The processor controls the first part so as to move a predetermined part of the first part to a predicted target position that is a moving target of a predetermined part when a current target position that is the moving target of the predetermined part cannot be calculated based on current data indicating at least a part of a range where the predetermined part is movable. The predicated target position is calculated based on a past target position which is a moving target in the predetermined part calculated based on the past data acquired in the past, a past reference position that is a position of a reference object calculated based on the past data, and current data.SELECTED DRAWING: Figure 3

Description

本発明の実施形態は、ロボット、制御方法、情報処理装置およびプログラムに関する。 Embodiments of the present invention relate to robots, control methods, information processing devices and programs.

従来、先端にエンドエフェクタが設けられたアームを備えるロボットが知られている。このようなロボットは、アームを変形させることによりエンドエフェクタを対象物体に近づける。そして、このようなロボットは、エンドエフェクタが対象物体に近接した状態において、エンドエフェクタを動作させて対象物体を機械的に操作する。このようなロボットは、例えば、ビジュアルサーボによりアームを制御することにより、エンドエフェクタを対象物体へと近づける。すなわち、このようなロボットは、カメラにより撮像された画像に基づきエンドエフェクタと対象物体との位置関係を検出しながら、エンドエフェクタを対象物体へと近づける。 Conventionally, a robot having an arm provided with an end effector at the tip is known. Such a robot brings the end effector closer to the target object by deforming the arm. Then, such a robot operates the end effector to mechanically operate the target object in a state where the end effector is close to the target object. Such a robot brings the end effector closer to the target object, for example, by controlling the arm by a visual servo. That is, such a robot brings the end effector closer to the target object while detecting the positional relationship between the end effector and the target object based on the image captured by the camera.

家庭用等の小型のロボットは、カメラおよびアームが小型の筐体に設けられる。このため、対象物体とカメラとアームとの位置関係によっては、対象物体がアームにより隠されてしまい、カメラが、対象物体を撮像することができない場合がある。このような場合、例えば、ロボットは、ビジュアルサーボが切れてしまい、エンドエフェクタを精度良く対象物体に近づけることができなかった。 For small robots for home use, the camera and arm are provided in a small housing. Therefore, depending on the positional relationship between the target object, the camera, and the arm, the target object may be hidden by the arm, and the camera may not be able to image the target object. In such a case, for example, the robot could not bring the end effector closer to the target object with high accuracy because the visual servo was cut off.

特開平6−190756号公報Japanese Unexamined Patent Publication No. 6-190756

本発明の実施形態が解決しようとする課題は、第1部位を精度良く制御することにある。 An object to be solved by the embodiment of the present invention is to control the first portion with high accuracy.

実施形態に係るロボットは、移動可能な第1部位と、前記第1部位を制御するプロセッサと、を備える。前記プロセッサは、前記第1部位の所定部分が移動可能な範囲の少なくとも一部を示す現在データに基づいて前記所定部分の移動目標となる現在目標位置を算出することができない場合、前記所定部分の移動目標となる予測目標位置へと前記所定部分を移動させるように、前記第1部位を制御する。前記予測目標位置は、過去に取得した過去データに基づき算出した前記所定部分における移動目標となる過去目標位置と、前記過去データに基づき算出した基準物体の位置である過去基準位置と、前記現在データと、に基づいて算出される。 The robot according to the embodiment includes a movable first portion and a processor that controls the first portion. When the processor cannot calculate the current target position as the movement target of the predetermined portion based on the current data indicating at least a part of the movable range of the predetermined portion of the first portion, the predetermined portion of the predetermined portion. The first portion is controlled so as to move the predetermined portion to the predicted target position which is the movement target. The predicted target position includes a past target position that is a movement target in the predetermined portion calculated based on past data acquired in the past, a past reference position that is a position of a reference object calculated based on the past data, and the current data. And, it is calculated based on.

図1は、実施形態に係るロボットの外観を示す図である。FIG. 1 is a diagram showing the appearance of the robot according to the embodiment. 図2は、ロボットの構成を示す図である。FIG. 2 is a diagram showing the configuration of the robot. 図3は、ビジュアルサーボによりアームを制御するための情報処理装置の機能構成を示す図である。FIG. 3 is a diagram showing a functional configuration of an information processing device for controlling an arm by a visual servo. 図4は、現在目標位置を算出することができる画像の一例を示す図である。FIG. 4 is a diagram showing an example of an image in which the current target position can be calculated. 図5は、現在目標位置を算出することができない画像の一例を示す図である。FIG. 5 is a diagram showing an example of an image in which the target position cannot be calculated at present. 図6は、情報処理装置の処理の流れを示すフローチャートである。FIG. 6 is a flowchart showing a processing flow of the information processing apparatus. 図7は、アームの制御処理の流れを示すフローチャートである。FIG. 7 is a flowchart showing the flow of arm control processing. 図8は、第1変形例に係る情報処理装置の処理の流れを示すフローチャートである。FIG. 8 is a flowchart showing a processing flow of the information processing apparatus according to the first modification. 図9は、第1変形例に係るアームの制御処理の流れを示すフローチャートである。FIG. 9 is a flowchart showing a flow of arm control processing according to the first modification. 図10は、第2変形例において、カメラにより撮像された画像の一例を示す図である。FIG. 10 is a diagram showing an example of an image captured by a camera in the second modification. 図11は、情報処理装置のハードウェア構成の一例を示す図である。FIG. 11 is a diagram showing an example of the hardware configuration of the information processing device.

以下、図面を参照しながら実施形態について詳細に説明する。 Hereinafter, embodiments will be described in detail with reference to the drawings.

図1は、実施形態に係るロボット10の外観を示す図である。本実施形態のロボット10は、本体部22と、アーム24(第1部位の一例)と、カメラ26とを少なくとも備える。 FIG. 1 is a diagram showing the appearance of the robot 10 according to the embodiment. The robot 10 of the present embodiment includes at least a main body portion 22, an arm 24 (an example of a first portion), and a camera 26.

本体部22は、ロボット10の本体となる筐体である。本体部22は、例えば移動自在である。本体部22は、例えば、底部に床の上を自在に移動するための車輪等の移動機構を備える。 The main body 22 is a housing that is the main body of the robot 10. The main body 22 is movable, for example. The main body 22 is provided with, for example, a moving mechanism such as wheels for freely moving on the floor at the bottom.

アーム24は、本実施形態の第1部位であり、本体部22に設けられる。アーム24は、1または複数の腕部(リンク)と、1または複数の関節部(可動部)とを有する。1または複数の関節部のそれぞれは、腕部と本体部22とを、または、腕部と腕部とを、例えば回転可能またはスライド可能に接続する。1または複数の関節部のそれぞれは、モータを含み、腕部と本体部22との位置関係または腕部と腕部との位置関係を変化させる。アーム24は、1または複数の関節部が動作することにより任意の形状に変化する。なお、第1部位は、アームの他にロボット10の一部を指す。また、本開示において、アームは第1部位と適宜読みかえることができる。 The arm 24 is the first portion of the present embodiment and is provided on the main body portion 22. The arm 24 has one or more arms (links) and one or more joints (movable parts). Each of the one or more joints connects the arm to the body 22 or the arm to the arm, eg, rotatably or slidably. Each of the one or more joints includes a motor and changes the positional relationship between the arm and the main body 22 or the arm and the arm. The arm 24 changes into an arbitrary shape by the movement of one or more joints. The first part refers to a part of the robot 10 in addition to the arm. Further, in the present disclosure, the arm can be appropriately read as the first part.

アーム24は、所定部分にエンドエフェクタ28を含む。例えば、アーム24は、本体部22とは反対側の端部である先端に、エンドエフェクタ28を含む。 The arm 24 includes an end effector 28 in a predetermined portion. For example, the arm 24 includes an end effector 28 at a tip end that is opposite to the main body 22.

エンドエフェクタ28は、対象物体に対して機械的な所定の操作を行う。対象物体は、例えば、独立した1つの物体である。なお、対象物体は、エンドエフェクタ28による機械的な操作の対象となることができれば、物体の表面の一部分であってもよいし、物体におけるエッジ部分または突起部分等であってもよい。 The end effector 28 performs a predetermined mechanical operation on the target object. The target object is, for example, one independent object. The target object may be a part of the surface of the object, an edge portion or a protrusion portion of the object, as long as it can be the target of mechanical operation by the end effector 28.

例えば、エンドエフェクタ28は、把持機構である。把持機構は、対象物体をつかむことができる。エンドエフェクタ28として把持機構を含むアーム24は、対象物体をつかんで、移動させることができる。また、エンドエフェクタ28は、対象物体に対して所定の機械的な操作をすることができれば、どのような機構であってもよい。例えば、エンドエフェクタ28は、対象物体に穴を開けるためのドリルであっても、対象物体を磨くためのブラシであってもよい。 For example, the end effector 28 is a gripping mechanism. The gripping mechanism can grab the target object. The arm 24, which includes a gripping mechanism as the end effector 28, can grab and move the target object. Further, the end effector 28 may have any mechanism as long as it can perform a predetermined mechanical operation on the target object. For example, the end effector 28 may be a drill for making a hole in the target object or a brush for polishing the target object.

カメラ26は、本実施形態におけるデータ取得部であり、本体部22に設けられる。カメラ26は、ロボット10の周囲を撮像(取得)する。カメラ26は、アーム24が変形してエンドエフェクタ28が移動した場合であっても、エンドエフェクタ28を撮像可能な位置に設けられる。例えば、カメラ26は、本体部22におけるアーム24の取付位置とは異なる位置に設けられる。例えば、カメラ26は、本体部22におけるアーム24が設けられた位置より上方に設けられる。 The camera 26 is a data acquisition unit in the present embodiment and is provided in the main body unit 22. The camera 26 images (acquires) the surroundings of the robot 10. The camera 26 is provided at a position where the end effector 28 can be imaged even when the arm 24 is deformed and the end effector 28 is moved. For example, the camera 26 is provided at a position different from the mounting position of the arm 24 on the main body 22. For example, the camera 26 is provided above the position where the arm 24 is provided in the main body 22.

なお、カメラ26は、二次元画像を撮像する装置であっても、ステレオ画像を撮像する装置であってもよい。また、カメラ26は、デプスカメラであってもよいし、赤外線カメラであってもよい。また、データ取得部は、このような画像を撮像してデータを取得するカメラに限られず、装置周辺の物体等の位置のデータを取得可能であればよい。つまり、現在データまたは過去データは、装置周辺の物体等の位置のデータを示すものであればよい。例えば、データ取得部は現在対象物までの距離の計測データを取得可能なLiDAR等であってもよい。本開示において、カメラはデータ取得部と適宜読みかえることができ、画像はデータと適宜読みかえることができる。 The camera 26 may be a device for capturing a two-dimensional image or a device for capturing a stereo image. Further, the camera 26 may be a depth camera or an infrared camera. Further, the data acquisition unit is not limited to a camera that captures such an image and acquires data, as long as it can acquire data on the position of an object or the like around the device. That is, the current data or the past data may be any data indicating the position data of an object or the like around the device. For example, the data acquisition unit may be LiDAR or the like capable of acquiring measurement data of the distance to the object at present. In the present disclosure, the camera can be appropriately read as a data acquisition unit, and the image can be appropriately read as data.

このような構成のロボット10は、床等の上を自在に移動することができる。さらに、ロボット10は、アーム24を変形させてエンドエフェクタ28を対象物体の近傍に移動させることができる。そして、ロボット10は、エンドエフェクタ28を対象物体の近傍に移動させた状態において、エンドエフェクタ28を動作させることにより対象物体に対して所定の操作をすることができる。 The robot 10 having such a configuration can freely move on the floor or the like. Further, the robot 10 can deform the arm 24 to move the end effector 28 in the vicinity of the target object. Then, the robot 10 can perform a predetermined operation on the target object by operating the end effector 28 in a state where the end effector 28 is moved in the vicinity of the target object.

図2は、本実施形態のロボット10の構成を示す図である。本体部22は、内部に情報処理装置30を備える。情報処理装置30は、コンピュータプログラムを実行して、アーム24、カメラ26およびエンドエフェクタ28の動作を制御する。なお、情報処理装置30の一部は、本体部22の外部に設けられてもよい。この場合、情報処理装置30は、本体部22の内部の一部と、本体部22の外部の一部とが無線通信により接続され、連携して情報処理を実行する。 FIG. 2 is a diagram showing a configuration of the robot 10 of the present embodiment. The main body 22 includes an information processing device 30 inside. The information processing device 30 executes a computer program to control the operations of the arm 24, the camera 26, and the end effector 28. A part of the information processing device 30 may be provided outside the main body 22. In this case, in the information processing device 30, a part inside the main body 22 and a part outside the main body 22 are connected by wireless communication, and information processing is executed in cooperation with each other.

本実施形態の情報処理装置30は、エンドエフェクタ28により対象物体に対して所定の操作をする場合、ビジュアルサーボによりアーム24を制御して、エンドエフェクタ28を対象物体へと近づける。すなわち、情報処理装置30は、カメラ26により撮像された画像を解析して、エンドエフェクタ28と対象物体との相対的な位置関係を検出する。続いて、情報処理装置30は、エンドエフェクタ28が対象物体に対して所定の操作が可能な位置(目標位置)に移動するように、アーム24を変形させる。そして、情報処理装置30は、エンドエフェクタ28が目標位置へと到達するまで、このような処理をリアルタイムで繰り返し実行する。 When the information processing apparatus 30 of the present embodiment performs a predetermined operation on the target object by the end effector 28, the arm 24 is controlled by the visual servo to bring the end effector 28 closer to the target object. That is, the information processing device 30 analyzes the image captured by the camera 26 and detects the relative positional relationship between the end effector 28 and the target object. Subsequently, the information processing device 30 deforms the arm 24 so that the end effector 28 moves to a position (target position) where a predetermined operation can be performed on the target object. Then, the information processing device 30 repeatedly executes such processing in real time until the end effector 28 reaches the target position.

図3は、ビジュアルサーボによりアーム24を制御するための情報処理装置30の機能構成を示す図である。情報処理装置30は、取得部42と、物体検出部44と、アーム特定部48と、目標特定部50と、基準物体特定部52と、記憶部56と、アーム制御部58とを備える。 FIG. 3 is a diagram showing a functional configuration of an information processing device 30 for controlling an arm 24 by a visual servo. The information processing device 30 includes an acquisition unit 42, an object detection unit 44, an arm identification unit 48, a target identification unit 50, a reference object identification unit 52, a storage unit 56, and an arm control unit 58.

取得部42は、所定時間毎に、カメラ26により撮像された画像(現在データの一例)を取得する。 The acquisition unit 42 acquires an image (an example of current data) captured by the camera 26 at predetermined time intervals.

本実施形態の物体検出部44は、所定時間毎に、取得部42が取得した画像に含まれる1または複数の物体を検出する。さらに、物体検出部44は、検出した1または複数の物体のそれぞれのクラスも検出してもよい。クラスは、例えば、物体の種別である。 The object detection unit 44 of the present embodiment detects one or more objects included in the image acquired by the acquisition unit 42 at predetermined time intervals. Further, the object detection unit 44 may also detect each class of the detected one or a plurality of objects. The class is, for example, the type of object.

本実施形態のアーム特定部48は、物体検出部44により検出された1または複数の物体のうちのアーム24における所定部分を特定する。例えば、アーム特定部48は、アーム24の先端に設けられたエンドエフェクタ28を特定する。そして、アーム特定部48は、特定されたアーム24における所定部分(エンドエフェクタ28)の空間的な位置を算出(特定)する。例えば、アーム特定部48は、3次元の直交座標で表されたエンドエフェクタ28の位置を算出する。 The arm identification unit 48 of the present embodiment identifies a predetermined portion of the arm 24 of one or more objects detected by the object detection unit 44. For example, the arm specifying portion 48 identifies an end effector 28 provided at the tip of the arm 24. Then, the arm specifying unit 48 calculates (identifies) the spatial position of the predetermined portion (end effector 28) on the specified arm 24. For example, the arm identification unit 48 calculates the position of the end effector 28 represented by three-dimensional Cartesian coordinates.

本実施形態の目標特定部50は、取得部42が取得した画像に基づき、アーム24における所定部分の移動目標となる空間的な位置である現在目標位置を算出する。例えば、目標特定部50は、3次元の直交座標で表された現在目標位置を算出する。 The target specifying unit 50 of the present embodiment calculates the current target position, which is a spatial position as a movement target of a predetermined portion of the arm 24, based on the image acquired by the acquisition unit 42. For example, the target identification unit 50 calculates the current target position represented by three-dimensional Cartesian coordinates.

本実施形態においては、目標特定部50は、物体検出部44により検出された1または複数の物体のうちのエンドエフェクタ28の操作対象となる対象物体を特定する。続いて、目標特定部50は、対象物体の空間的な位置を算出する。例えば、目標特定部50は、3次元の直交座標で表された対象物体の位置を算出する。 In the present embodiment, the target identification unit 50 identifies the target object to be operated by the end effector 28 among one or more objects detected by the object detection unit 44. Subsequently, the target identification unit 50 calculates the spatial position of the target object. For example, the target identification unit 50 calculates the position of the target object represented by three-dimensional Cartesian coordinates.

そして、目標特定部50は、対象物体の位置に基づいて、エンドエフェクタ28が対象物体に対して所定の操作可能な位置を、現在目標位置として算出する。例えば、目標特定部50は、対象物体に対して所定方向に所定距離離間した位置を、現在目標位置として算出する。例えば、エンドエフェクタ28が把持機構である場合、目標特定部50は、エンドエフェクタ28が対象物体を把持可能な位置を、現在目標位置として算出する。 Then, the target specifying unit 50 calculates, based on the position of the target object, a position where the end effector 28 can operate a predetermined position with respect to the target object as the current target position. For example, the target specifying unit 50 calculates a position separated from the target object by a predetermined distance in a predetermined direction as the current target position. For example, when the end effector 28 is a gripping mechanism, the target specifying unit 50 calculates a position where the end effector 28 can grip the target object as the current target position.

基準物体特定部52は、物体検出部44により検出された1または複数の物体のうちの何れかの物体を基準物体として特定する。そして、基準物体特定部52は、特定された基準物体の空間的な位置を、現在基準位置として算出する。例えば、基準物体特定部52は、3次元の直交座標で表された現在基準位置を算出する。 The reference object identification unit 52 identifies any one or a plurality of objects detected by the object detection unit 44 as a reference object. Then, the reference object specifying unit 52 calculates the spatial position of the specified reference object as the current reference position. For example, the reference object identification unit 52 calculates the current reference position represented by three-dimensional Cartesian coordinates.

基準物体特定部52は、例えば、物体検出部44により検出された1または複数の物体のうちの対象物体以外の何れかの物体を基準物体として特定する。基準物体は、独立した1つの物体であってもよいし、1つの物体における一部分であってもよい。例えば、基準物体は、物体の表面に描かれた模様であってもよいし、物体におけるエッジ部分または突起部分等であってもよい。 The reference object identification unit 52 identifies, for example, any object other than the target object among one or a plurality of objects detected by the object detection unit 44 as a reference object. The reference object may be one independent object or a part of one object. For example, the reference object may be a pattern drawn on the surface of the object, or may be an edge portion or a protrusion portion of the object.

例えば、基準物体特定部52は、物体検出部44により検出された1または複数の物体のうちの対象物体に対して相対的に固定された物体を、基準物体として特定する。また、例えば、基準物体特定部52は、物体検出部44により検出された1または複数の物体のうちの対象物体からの距離が所定の範囲にある物体を、基準物体として特定する。より具体的には、例えば、基準物体特定部52は、対象物体から予め設定された第1閾値より遠く、予め設定された第2閾値より近い距離の物体を、基準物体として特定する。この場合、第1閾値は、第2閾値よりも短い。 For example, the reference object identification unit 52 identifies an object that is fixed relative to the target object among one or a plurality of objects detected by the object detection unit 44 as a reference object. Further, for example, the reference object identification unit 52 specifies, among one or a plurality of objects detected by the object detection unit 44, an object whose distance from the target object is within a predetermined range as a reference object. More specifically, for example, the reference object identification unit 52 specifies an object farther from the target object than the preset first threshold value and closer to the preset second threshold value as the reference object. In this case, the first threshold is shorter than the second threshold.

本実施形態の記憶部56は、目標特定部50により算出された現在目標位置を、過去画像(過去データの一例または第1画像)に基づき算出したアーム24の所定部分(本実施形態においてはエンドエフェクタ28)の移動目標となる過去目標位置として記憶する。さらに、記憶部56は、基準物体特定部52により算出した現在基準位置を、過去画像に基づき算出した基準物体における位置である過去基準位置として記憶する。記憶部56は、同一の過去画像に基づき算出した過去目標位置と過去基準位置とをペアにして記憶する。 The storage unit 56 of the present embodiment calculates the current target position calculated by the target identification unit 50 based on a past image (an example of past data or a first image), and a predetermined portion of the arm 24 (end in the present embodiment). It is stored as a past target position that is a movement target of the effector 28). Further, the storage unit 56 stores the current reference position calculated by the reference object identification unit 52 as a past reference position which is a position in the reference object calculated based on the past image. The storage unit 56 stores the past target position calculated based on the same past image and the past reference position as a pair.

なお、目標特定部50は、カメラ26により撮像された画像に基づき現在目標位置を算出することができない場合がある。例えば、対象物体がアーム24により隠されてしまい画像に対象物体が含まれない場合、目標特定部50は、現在目標位置を算出することができない。また、目標特定部50は、対象物体が画像に含まれていても、現在目標位置の精度が所定精度より低い場合および他の条件によって現在目標位置の算出が困難な場合も、現在目標位置を算出することができないと判定してもよい。この場合、記憶部56は、過去目標位置および過去基準位置を記憶しないことができる。また、記憶部56は、新たな画像に基づき算出した過去目標位置および過去基準位置を記憶した場合には、それ以前の画像に基づき算出した過去目標位置および過去基準位置を消去してもよい。 The target specifying unit 50 may not be able to calculate the current target position based on the image captured by the camera 26. For example, when the target object is hidden by the arm 24 and the target object is not included in the image, the target specifying unit 50 cannot currently calculate the target position. Further, even if the target object is included in the image, the target specifying unit 50 sets the current target position even when the accuracy of the current target position is lower than the predetermined accuracy or when it is difficult to calculate the current target position due to other conditions. It may be determined that it cannot be calculated. In this case, the storage unit 56 may not store the past target position and the past reference position. Further, when the storage unit 56 stores the past target position and the past reference position calculated based on the new image, the storage unit 56 may erase the past target position and the past reference position calculated based on the previous image.

本実施形態のアーム制御部58は、アーム特定部48から、アーム24における所定部分(エンドエフェクタ28)の空間的な位置を取得する。また、アーム制御部58は、目標特定部50から、画像に基づき現在目標位置を算出することができた否かを示す情報を取得する。 The arm control unit 58 of the present embodiment acquires the spatial position of a predetermined portion (end effector 28) on the arm 24 from the arm identification unit 48. Further, the arm control unit 58 acquires information indicating whether or not the current target position can be calculated based on the image from the target identification unit 50.

アーム制御部58は、目標特定部50が画像に基づき現在目標位置を算出することができた場合、目標特定部50から、現在目標位置を取得する。アーム制御部58は、目標特定部50が画像に基づき現在目標位置を算出することができた場合、アーム24の所定部分(エンドエフェクタ28)を、現在目標位置へと近づけるようにアーム24を制御する。例えば、アーム制御部58は、エンドエフェクタ28の位置と、現在目標位置との差を小さくするように、アーム24を変形させる。 When the target specifying unit 50 can calculate the current target position based on the image, the arm control unit 58 acquires the current target position from the target specifying unit 50. The arm control unit 58 controls the arm 24 so that when the target identification unit 50 can calculate the current target position based on the image, the predetermined portion (end effector 28) of the arm 24 is brought closer to the current target position. do. For example, the arm control unit 58 deforms the arm 24 so as to reduce the difference between the position of the end effector 28 and the current target position.

アーム制御部58は、目標特定部50が画像に基づき現在目標位置を算出することができなかった場合、記憶部56から過去目標位置および過去基準位置を読み出す。また、アーム制御部58は、目標特定部50が画像に基づき現在目標位置を算出することができなかった場合、基準物体特定部52から現在基準位置を取得する。 When the target identification unit 50 cannot calculate the current target position based on the image, the arm control unit 58 reads the past target position and the past reference position from the storage unit 56. Further, the arm control unit 58 acquires the current reference position from the reference object identification unit 52 when the target identification unit 50 cannot calculate the current target position based on the image.

続いて、アーム制御部58は、過去目標位置と過去基準位置との位置差を算出する。例えば、アーム制御部58は、過去目標位置から過去基準位置を減じることにより位置差を算出する。続いて、アーム制御部58は、過去目標位置と、過去基準位置と、現在基準位置とに基づき、所定部分の移動目標となる予測目標位置を算出する。例えば、アーム制御部58は、過去目標位置と過去基準位置との位置差と、現在基準位置とに基づき、所定部分の移動目標となる予測目標位置を算出する。より具体的には、例えば、アーム制御部58は、基準物体特定部52により算出された現在基準位置に、位置差を加算することにより、予測目標位置を算出する。そして、アーム制御部58は、アーム24の所定部分(エンドエフェクタ28)を、予測目標位置へと近づけるように、または到達させるようにアーム24を制御する。例えば、アーム制御部58は、エンドエフェクタ28の位置と予測目標位置との差を小さくするように、アーム24を変形させる。 Subsequently, the arm control unit 58 calculates the position difference between the past target position and the past reference position. For example, the arm control unit 58 calculates the position difference by subtracting the past reference position from the past target position. Subsequently, the arm control unit 58 calculates a predicted target position that is a movement target of a predetermined portion based on the past target position, the past reference position, and the current reference position. For example, the arm control unit 58 calculates a predicted target position that is a movement target of a predetermined portion based on the position difference between the past target position and the past reference position and the current reference position. More specifically, for example, the arm control unit 58 calculates the predicted target position by adding the position difference to the current reference position calculated by the reference object identification unit 52. Then, the arm control unit 58 controls the arm 24 so that a predetermined portion (end effector 28) of the arm 24 approaches or reaches the predicted target position. For example, the arm control unit 58 deforms the arm 24 so as to reduce the difference between the position of the end effector 28 and the predicted target position.

物体検出部44、アーム特定部48、目標特定部50、基準物体特定部52およびアーム制御部58は、エンドエフェクタ28が目標位置へと到達するまで、取得部42が画像を取得する毎に、上述の処理を実行する。これにより、情報処理装置30は、アーム24をビジュアルサーボにより制御して、アーム24における所定部分を目標位置へと精度良く近づけることができる。例えば、情報処理装置30は、エンドエフェクタ28により対象物体に対して所定の操作をする指示を受けた場合に、アーム24をビジュアルサーボにより制御して、対象物体に対して操作可能な位置へとエンドエフェクタ28を精度良く移動させることができる。 The object detection unit 44, the arm identification unit 48, the target identification unit 50, the reference object identification unit 52, and the arm control unit 58 each time the acquisition unit 42 acquires an image until the end effector 28 reaches the target position. Perform the above process. As a result, the information processing device 30 can control the arm 24 by the visual servo and bring the predetermined portion of the arm 24 closer to the target position with high accuracy. For example, when the information processing device 30 receives an instruction to perform a predetermined operation on the target object by the end effector 28, the information processing device 30 controls the arm 24 by a visual servo to move to a position where the target object can be operated. The end effector 28 can be moved with high accuracy.

図4は、現在目標位置を算出することができる画像の一例を示す図である。図4の例において、スプーン72は、対象物体である。図4の例では、ロボット10は、エンドエフェクタ28によりスプーン72を把持しようとしている。この場合、カメラ26は、エンドエフェクタ28およびスプーン72を画角内に含めるように、画像を撮像する。 FIG. 4 is a diagram showing an example of an image in which the current target position can be calculated. In the example of FIG. 4, the spoon 72 is a target object. In the example of FIG. 4, the robot 10 is trying to grip the spoon 72 by the end effector 28. In this case, the camera 26 captures an image so that the end effector 28 and the spoon 72 are included in the angle of view.

画像にスプーン72が含まれている場合、情報処理装置30は、画像に基づき現在目標位置(エンドエフェクタ28がスプーン72を把持可能な位置)を算出することができる。従って、図4の例において、情報処理装置30は、エンドエフェクタ28の位置と、画像に基づき算出した現在目標位置との差が小さくなるように、アーム24を変形させることができる。 When the spoon 72 is included in the image, the information processing apparatus 30 can calculate the current target position (the position where the end effector 28 can grip the spoon 72) based on the image. Therefore, in the example of FIG. 4, the information processing apparatus 30 can deform the arm 24 so that the difference between the position of the end effector 28 and the current target position calculated based on the image becomes small.

さらに、情報処理装置30は、画像に含まれるスプーン72以外の物体を、基準物体として特定する。図4の例において、情報処理装置30は、フォーク74を基準物体として特定している。そして、情報処理装置30は、現在目標位置およびフォーク74の位置を、過去目標位置および過去基準位置として記憶する。そして、情報処理装置30は、図4に示す画像に基づき算出した現在目標位置を過去目標位置として記憶するとともに、図4に示す画像に基づき算出したフォーク74の位置を過去基準位置として記憶する。 Further, the information processing device 30 identifies an object other than the spoon 72 included in the image as a reference object. In the example of FIG. 4, the information processing device 30 specifies the fork 74 as a reference object. Then, the information processing device 30 stores the current target position and the position of the fork 74 as the past target position and the past reference position. Then, the information processing device 30 stores the current target position calculated based on the image shown in FIG. 4 as the past target position, and stores the position of the fork 74 calculated based on the image shown in FIG. 4 as the past reference position.

図5は、現在目標位置を算出することができない画像の一例を示す図である。エンドエフェクタ28を移動させている途中で、例えば、アーム24がカメラ26と対象物体(図5の例ではスプーン72)との間に入り、対象物体の全部または一部がカメラ26から隠れる場合がある。この場合、情報処理装置30は、画像に基づき対象物体を特定することができない。この結果、情報処理装置30は、画像に基づき現在目標位置(図5の例ではスプーン72を把持可能な位置)を算出することができない。 FIG. 5 is a diagram showing an example of an image in which the target position cannot be calculated at present. While moving the end effector 28, for example, the arm 24 may enter between the camera 26 and the target object (spoon 72 in the example of FIG. 5), and all or part of the target object may be hidden from the camera 26. be. In this case, the information processing device 30 cannot identify the target object based on the image. As a result, the information processing apparatus 30 cannot calculate the current target position (the position where the spoon 72 can be gripped in the example of FIG. 5) based on the image.

画像に基づき現在目標位置を算出することができない場合、情報処理装置30は、記憶していた過去目標位置および過去基準位置を読み出す。例えば、情報処理装置30は、最後に現在目標位置および現在基準位置を算出することができた最後の過去画像に基づく過去目標位置および過去基準位置を読み出す。また、情報処理装置30は、最後の過去画像より前の所定時刻前において現在目標位置および現在基準位置を算出することができた過去画像に基づく過去目標位置および過去基準位置を読み出してもよい。 When the current target position cannot be calculated based on the image, the information processing device 30 reads out the stored past target position and past reference position. For example, the information processing apparatus 30 reads out the past target position and the past reference position based on the last past image from which the current target position and the current reference position could be calculated at the end. Further, the information processing apparatus 30 may read out the past target position and the past reference position based on the past image from which the current target position and the current reference position could be calculated before a predetermined time before the last past image.

続いて、情報処理装置30は、読み出した過去目標位置と過去基準位置との位置差を算出する。続いて、アーム制御部58は、過去目標位置と、過去基準位置と、画像に含まれる基準物体(図5の例ではフォーク74)の位置である現在基準位置とに基づき、予測目標位置を算出する。例えば、アーム制御部58は、算出した位置差と、画像に含まれる基準物体(図5の例ではフォーク74)の位置である現在基準位置とに基づき、予測目標位置を算出する。そして、情報処理装置30は、エンドエフェクタ28の位置を、予測目標位置に近づけるように、アーム24を変形させる。 Subsequently, the information processing device 30 calculates the positional difference between the read past target position and the past reference position. Subsequently, the arm control unit 58 calculates the predicted target position based on the past target position, the past reference position, and the current reference position which is the position of the reference object (fork 74 in the example of FIG. 5) included in the image. do. For example, the arm control unit 58 calculates the predicted target position based on the calculated position difference and the current reference position which is the position of the reference object (fork 74 in the example of FIG. 5) included in the image. Then, the information processing device 30 deforms the arm 24 so that the position of the end effector 28 approaches the predicted target position.

なお、情報処理装置30は、対象物体に対して相対的に位置が固定された物体を、基準物体として特定する。これにより、情報処理装置30は、対象物体が移動していた場合であっても、エンドエフェクタ28を目標位置に精度良く移動させることができる。例えば、情報処理装置30は、対象物体がベルトコンベアまたは台車等に載置されている場合であっても、対象物体とともに移動している物体を基準物体として特定することにより、エンドエフェクタ28を目標位置に精度良く移動させることができる。 The information processing device 30 specifies an object whose position is fixed relative to the target object as a reference object. As a result, the information processing device 30 can accurately move the end effector 28 to the target position even when the target object is moving. For example, the information processing device 30 targets the end effector 28 by specifying an object moving together with the target object as a reference object even when the target object is mounted on a conveyor belt, a trolley, or the like. It can be moved to the position with high accuracy.

また、情報処理装置30は、検出した複数の物体のうちの対象物体との位置差が予め定められた範囲内の物体を基準物体として特定してもよい。これにより、情報処理装置30は、エンドエフェクタ28が対象物体に対して近づいた場合において、基準物体をカメラ26の画角内に収め、基準物体を画像に含めることができる。また、情報処理装置30は、エンドエフェクタ28が対象物体に対して近づいた場合において、基準物体をアーム24により隠されないようにして、基準物体を画像に含めることができる。 Further, the information processing apparatus 30 may specify an object having a positional difference from the target object among the plurality of detected objects within a predetermined range as a reference object. As a result, when the end effector 28 approaches the target object, the information processing device 30 can fit the reference object within the angle of view of the camera 26 and include the reference object in the image. Further, the information processing device 30 can include the reference object in the image by preventing the reference object from being hidden by the arm 24 when the end effector 28 approaches the target object.

図6は、情報処理装置30の処理の流れを示すフローチャートである。エンドエフェクタ28によって対象物体に対して所定の操作を行う指示が与えられた場合、情報処理装置30は、図6に示すフローに従ってアーム24を制御する。 FIG. 6 is a flowchart showing a processing flow of the information processing apparatus 30. When the end effector 28 gives an instruction to perform a predetermined operation on the target object, the information processing apparatus 30 controls the arm 24 according to the flow shown in FIG.

情報処理装置30は、所定時間毎、S12からS21までの処理を繰り返す(S11とS22との間のループ処理)。ループ内においては、まず、S12において、情報処理装置30は、カメラ26により撮像された画像を取得する。 The information processing device 30 repeats the processes from S12 to S21 at predetermined time intervals (loop processing between S11 and S22). In the loop, first, in S12, the information processing device 30 acquires an image captured by the camera 26.

続いて、S13において、情報処理装置30は、S12で取得した画像に含まれる1または複数の物体を検出する。 Subsequently, in S13, the information processing device 30 detects one or more objects included in the image acquired in S12.

続いて、S14において、情報処理装置30は、S13で検出した1または複数の物体のうちのアーム24における所定部分を特定する。本実施形態においては、情報処理装置30は、所定部分としてエンドエフェクタ28を特定する。続いて、S15において、情報処理装置30は、S14で特定したアーム24における所定部分(エンドエフェクタ28)の空間的な位置を算出する。 Subsequently, in S14, the information processing apparatus 30 identifies a predetermined portion of the arm 24 of the one or more objects detected in S13. In the present embodiment, the information processing device 30 specifies the end effector 28 as a predetermined portion. Subsequently, in S15, the information processing apparatus 30 calculates the spatial position of the predetermined portion (end effector 28) on the arm 24 specified in S14.

続いて、S16において、情報処理装置30は、S13で検出した1または複数の物体のうちの対象物体を特定する。 Subsequently, in S16, the information processing apparatus 30 identifies the target object among the one or more objects detected in S13.

続いて、S17において、情報処理装置30は、S12で取得した画像に基づきアーム24における所定部分(エンドエフェクタ28)の移動目標となる現在目標位置を算出する。本実施形態においては、情報処理装置30は、S16で特定した対象物体に対してエンドエフェクタ28が所定の操作を可能な位置を、現在目標位置として算出する。より具体的には、情報処理装置30は、S16で特定した対象物体の空間的な位置を算出し、算出した対象物体の位置から所定方向に所定距離離間した位置を現在目標位置として算出する。例えば、エンドエフェクタ28が把持機構である場合、情報処理装置30は、S16で特定した対象物体をエンドエフェクタ28が把持可能な位置を、現在目標位置として算出する。 Subsequently, in S17, the information processing apparatus 30 calculates the current target position, which is the movement target of the predetermined portion (end effector 28) in the arm 24, based on the image acquired in S12. In the present embodiment, the information processing apparatus 30 calculates a position where the end effector 28 can perform a predetermined operation on the target object specified in S16 as the current target position. More specifically, the information processing apparatus 30 calculates the spatial position of the target object specified in S16, and calculates the position separated from the calculated position of the target object by a predetermined distance in a predetermined direction as the current target position. For example, when the end effector 28 is a gripping mechanism, the information processing device 30 calculates a position where the end effector 28 can grip the target object specified in S16 as the current target position.

なお、情報処理装置30は、カメラ26から見て、アーム24により対象物体が隠れてしまった場合、S16で対象物体を特定することができない。この場合、情報処理装置30は、現在目標位置を算出することができない。従って、この場合、情報処理装置30は、S17の処理をスキップする。 Note that the information processing device 30 cannot identify the target object in S16 when the target object is hidden by the arm 24 when viewed from the camera 26. In this case, the information processing device 30 cannot currently calculate the target position. Therefore, in this case, the information processing device 30 skips the process of S17.

続いて、S18において、情報処理装置30は、S13で検出した1または複数の物体のうちの何れかの物体を基準物体として特定する。続いて、S19において、情報処理装置30は、S18で特定した基準物体の空間的な位置を、現在基準位置として算出する。 Subsequently, in S18, the information processing apparatus 30 identifies any one of the one or a plurality of objects detected in S13 as a reference object. Subsequently, in S19, the information processing apparatus 30 calculates the spatial position of the reference object specified in S18 as the current reference position.

続いて、S20において、情報処理装置30は、S17で算出した現在目標位置を、過去画像(第1画像)に基づき算出したアーム24の所定部分(エンドエフェクタ28)の移動目標となる過去目標位置として記憶部56に記憶させる。さらに、情報処理装置30は、S19で算出した現在基準位置を、過去基準位置として記憶部56に記憶させる。なお、情報処理装置30は、同一の過去画像に基づき算出した過去目標位置および過去基準位置をペアにして記憶部56に記憶させる。 Subsequently, in S20, the information processing apparatus 30 uses the current target position calculated in S17 as the past target position as the movement target of the predetermined portion (end effector 28) of the arm 24 calculated based on the past image (first image). Is stored in the storage unit 56. Further, the information processing apparatus 30 stores the current reference position calculated in S19 in the storage unit 56 as a past reference position. The information processing device 30 stores the past target position and the past reference position calculated based on the same past image as a pair in the storage unit 56.

なお、情報処理装置30は、S16で現在目標位置を算出することができない場合がある。この場合、情報処理装置30は、S20の処理をスキップする。 The information processing device 30 may not be able to calculate the current target position in S16. In this case, the information processing device 30 skips the process of S20.

続いて、S21において、情報処理装置30は、アーム24における所定部分が目標位置に近づくようにアーム24を制御する。本実施形態においては、情報処理装置30は、対象物体を操作可能な目標位置にエンドエフェクタ28が近づくように、アーム24を変形させる。例えば、エンドエフェクタ28が把持機構である場合、情報処理装置30は、エンドエフェクタ28が対象物体を把持可能な位置に近づくように、アーム24を変形する。なお、S21の処理については、図7を参照してさらに説明する。 Subsequently, in S21, the information processing device 30 controls the arm 24 so that a predetermined portion of the arm 24 approaches the target position. In the present embodiment, the information processing device 30 deforms the arm 24 so that the end effector 28 approaches a target position where the target object can be operated. For example, when the end effector 28 is a gripping mechanism, the information processing device 30 deforms the arm 24 so that the end effector 28 approaches a position where the target object can be gripped. The process of S21 will be further described with reference to FIG.

情報処理装置30は、エンドエフェクタ28が目標位置に到達するまで、S12からS21までの処理を所定時間毎に繰り返す(S11とS22との間のループ処理)。情報処理装置30は、エンドエフェクタ28が目標位置に到達した場合、ループ処理を抜けて本フローを終了する。 The information processing device 30 repeats the processes from S12 to S21 at predetermined time intervals until the end effector 28 reaches the target position (loop process between S11 and S22). When the end effector 28 reaches the target position, the information processing device 30 exits the loop process and ends this flow.

図7は、アーム24の制御処理の流れを示すフローチャートである。情報処理装置30は、図6に示したS21のアーム24の制御処理において、図7に示す処理を実行する。 FIG. 7 is a flowchart showing the flow of control processing of the arm 24. The information processing device 30 executes the process shown in FIG. 7 in the control process of the arm 24 of S21 shown in FIG.

まず、S31において、情報処理装置30は、現在目標位置を算出することができた否かを判断する。情報処理装置30は、現在目標位置を算出することができた場合(S31のYes)、処理をS32に進める。情報処理装置30は、現在目標位置を算出することができなかった場合(S31のNo)、処理をS33に進める。 First, in S31, the information processing device 30 determines whether or not the current target position can be calculated. When the information processing apparatus 30 can currently calculate the target position (Yes in S31), the information processing apparatus 30 advances the process to S32. When the information processing apparatus 30 cannot currently calculate the target position (No in S31), the information processing apparatus 30 advances the process to S33.

S32において、情報処理装置30は、アーム24における所定部分(エンドエフェクタ28)を、S17で算出した現在目標位置へと近づけるようにアーム24を制御する。より具体的には、情報処理装置30は、S15で算出したエンドエフェクタ28の位置と、S17で算出した現在目標位置との差を小さくするように、アーム24を変形させる。 In S32, the information processing apparatus 30 controls the arm 24 so that the predetermined portion (end effector 28) of the arm 24 approaches the current target position calculated in S17. More specifically, the information processing apparatus 30 deforms the arm 24 so as to reduce the difference between the position of the end effector 28 calculated in S15 and the current target position calculated in S17.

そして、情報処理装置30は、S32の処理を終えると、本フローを抜けて、図6の処理に戻る。 Then, when the information processing device 30 finishes the process of S32, it exits this flow and returns to the process of FIG.

S33において、情報処理装置30は、記憶部56から過去目標位置および過去基準位置のペアを読み出す。続いて、S34において、情報処理装置30は、読み出した過去目標位置と読み出した過去基準位置との位置差を算出する。例えば、情報処理装置30は、過去目標位置から過去基準位置を減じた位置差を算出する。 In S33, the information processing device 30 reads out a pair of the past target position and the past reference position from the storage unit 56. Subsequently, in S34, the information processing apparatus 30 calculates the positional difference between the read past target position and the read past reference position. For example, the information processing device 30 calculates a position difference obtained by subtracting the past reference position from the past target position.

続いて、S35において、情報処理装置30は、過去目標位置と、過去基準位置と、S19で算出した現在基準位置とに基づき、所定部分の移動目標となる予測目標位置を算出する。例えば、情報処理装置30は、S34で算出した位置差と、S19で算出した現在基準位置とに基づき、所定部分の移動目標となる予測目標位置を算出する。例えば、情報処理装置30は、S19で算出した現在基準位置に、S34で算出した位置差を加算することにより、予測目標位置を算出する。 Subsequently, in S35, the information processing apparatus 30 calculates a predicted target position that is a movement target of a predetermined portion based on the past target position, the past reference position, and the current reference position calculated in S19. For example, the information processing apparatus 30 calculates a predicted target position as a movement target of a predetermined portion based on the position difference calculated in S34 and the current reference position calculated in S19. For example, the information processing apparatus 30 calculates the predicted target position by adding the position difference calculated in S34 to the current reference position calculated in S19.

続いて、S36において、情報処理装置30は、アーム24における所定部分(エンドエフェクタ28)を、S35で算出した予測目標位置へと近づけるようにアーム24を制御する。より具体的には、情報処理装置30は、S15で算出したエンドエフェクタ28の位置と、S35で算出した予測目標位置との差を小さくするように、アーム24を変形させる。 Subsequently, in S36, the information processing apparatus 30 controls the arm 24 so that the predetermined portion (end effector 28) of the arm 24 approaches the predicted target position calculated in S35. More specifically, the information processing apparatus 30 deforms the arm 24 so as to reduce the difference between the position of the end effector 28 calculated in S15 and the predicted target position calculated in S35.

そして、情報処理装置30は、S36の処理を終えると、本フローを抜けて、図6の処理に戻る。 Then, when the information processing device 30 finishes the process of S36, it exits this flow and returns to the process of FIG.

本実施形態に係るロボット10は、カメラ26により撮像された画像に基づき、アーム24における所定部分の移動目標となる現在目標位置を算出することができない場合、過去画像に基づき算出した過去目標位置および過去基準位置に基づいて、アーム24における所定部分を移動させることができる。これにより、本実施形態に係るロボット10によれば、現在目標位置を算出することができない場合であっても、アーム24における所定部分を精度良く移動させることができる。 When the robot 10 according to the present embodiment cannot calculate the current target position that is the movement target of the predetermined portion of the arm 24 based on the image captured by the camera 26, the past target position calculated based on the past image and the past target position A predetermined portion of the arm 24 can be moved based on the past reference position. As a result, according to the robot 10 according to the present embodiment, even when the target position cannot be calculated at present, the predetermined portion of the arm 24 can be moved with high accuracy.

例えば、ロボット10は、カメラ26により撮像された画像に基づきエンドエフェクタ28の操作対象となる対象物体を特定することができないため現在目標位置を算出することができない場合、過去画像に基づき特定した過去目標位置および過去基準位置に基づいて、エンドエフェクタ28を移動させることができる。これにより、ロボット10は、カメラ26により撮像された画像に基づき対象物体が特定できない場合であっても、対象物体に対して操作可能な位置にエンドエフェクタ28を精度良く移動させることができる。 For example, when the robot 10 cannot specify the target object to be operated by the end effector 28 based on the image captured by the camera 26 and therefore cannot calculate the current target position, the past specified based on the past image. The end effector 28 can be moved based on the target position and the past reference position. As a result, the robot 10 can accurately move the end effector 28 to a position that can be operated with respect to the target object even when the target object cannot be identified based on the image captured by the camera 26.

図8は、第1変形例に係る情報処理装置30の処理の流れを示すフローチャートである。エンドエフェクタ28によって対象物体に対して所定の操作を行う指示が与えられた場合、情報処理装置30は、さらに、エンドエフェクタ28を所定の操作可能な姿勢に移動させてもよい。 FIG. 8 is a flowchart showing a processing flow of the information processing apparatus 30 according to the first modification. When the end effector 28 gives an instruction to perform a predetermined operation on the target object, the information processing apparatus 30 may further move the end effector 28 to a predetermined operable posture.

この場合、情報処理装置30は、図8に示す流れで処理を実行する。なお、第1変形例において、情報処理装置30は、図6で説明した処理とほぼ同一の処理については、同一のステップ番号を付けて説明を省略し、相違点について説明する。 In this case, the information processing apparatus 30 executes the process according to the flow shown in FIG. In the first modification, the information processing apparatus 30 assigns the same step numbers to the processes that are substantially the same as the processes described with reference to FIG. 6, omitting the description, and describes the differences.

S15において、情報処理装置30は、アーム24における所定部分(エンドエフェクタ28)の空間的な位置を算出するとともに、S14で特定したアーム24における所定部分(エンドエフェクタ28)の姿勢を算出する。 In S15, the information processing apparatus 30 calculates the spatial position of the predetermined portion (end effector 28) on the arm 24, and also calculates the posture of the predetermined portion (end effector 28) on the arm 24 specified in S14.

S17において、情報処理装置30は、現在目標位置を算出するとともに、S12で取得した画像に基づきアーム24における所定部分(エンドエフェクタ28)の姿勢目標となる現在目標姿勢を算出する。本変形例においては、情報処理装置30は、S16で特定した対象物体に対してエンドエフェクタ28が所定の操作を可能な姿勢を、現在目標姿勢として算出する。より具体的には、情報処理装置30は、S16で特定した対象物体の空間的な姿勢を算出し、算出した対象物体の姿勢に対して予め定められた角度の姿勢を、現在目標姿勢として算出する。例えば、エンドエフェクタ28が把持機構である場合、情報処理装置30は、S16で特定した対象物体をエンドエフェクタ28が把持可能な姿勢を、現在目標姿勢置として算出する。 In S17, the information processing apparatus 30 calculates the current target position, and also calculates the current target posture which is the posture target of the predetermined portion (end effector 28) in the arm 24 based on the image acquired in S12. In this modification, the information processing apparatus 30 calculates a posture in which the end effector 28 can perform a predetermined operation on the target object specified in S16 as the current target posture. More specifically, the information processing apparatus 30 calculates the spatial posture of the target object specified in S16, and calculates the posture at a predetermined angle with respect to the calculated posture of the target object as the current target posture. do. For example, when the end effector 28 is a gripping mechanism, the information processing device 30 calculates the posture in which the end effector 28 can grip the target object specified in S16 as the current target posture position.

S18において、情報処理装置30は、S13で検出した1または複数の物体のうちの何れかの物体を基準物体として特定する。なお、本変形例において、情報処理装置30は、姿勢を算出することが可能な物体を基準物体として特定する。例えば、模様のない球のような物体は姿勢を検出することが困難であるため、本変形例において、情報処理装置30は、このような姿勢を検出することが困難な物体を除いて基準物体を特定する。 In S18, the information processing apparatus 30 identifies any one of the one or a plurality of objects detected in S13 as a reference object. In this modification, the information processing device 30 specifies an object whose posture can be calculated as a reference object. For example, since it is difficult to detect a posture of an object such as a sphere without a pattern, in this modification, the information processing apparatus 30 is a reference object except for an object whose posture is difficult to detect. To identify.

S19において、情報処理装置30は、現在基準位置を算出するとともに、S18で特定した基準物体の空間的な姿勢を現在基準姿勢として算出する。 In S19, the information processing apparatus 30 calculates the current reference position and calculates the spatial posture of the reference object specified in S18 as the current reference posture.

S20において、情報処理装置30は、S17で算出した現在目標位置を過去目標位置として記憶部56に記憶させる。さらに、情報処理装置30は、S19で算出した現在基準位置を過去基準位置として記憶部56に記憶させる。これとともに、情報処理装置30は、S17で算出した現在目標姿勢を、過去画像に基づき算出したアーム24の所定部分(エンドエフェクタ28)の姿勢目標となる過去目標姿勢として記憶部56に記憶させる。さらに、情報処理装置30は、S19で算出した現在基準姿勢を、過去画像に基づき算出した基準物体における姿勢である過去基準姿勢として記憶部56に記憶させる。なお、情報処理装置30は、同一の過去画像に基づき算出した、過去目標位置、過去基準位置、過去目標姿勢および過去基準姿勢をセットにして記憶部56に記憶させる。 In S20, the information processing device 30 stores the current target position calculated in S17 as a past target position in the storage unit 56. Further, the information processing apparatus 30 stores the current reference position calculated in S19 as the past reference position in the storage unit 56. At the same time, the information processing device 30 stores the current target posture calculated in S17 in the storage unit 56 as a past target posture which is a posture target of a predetermined portion (end effector 28) of the arm 24 calculated based on the past image. Further, the information processing apparatus 30 stores the current reference posture calculated in S19 in the storage unit 56 as the past reference posture which is the posture of the reference object calculated based on the past image. The information processing device 30 stores the past target position, the past reference position, the past target posture, and the past reference posture calculated based on the same past image as a set in the storage unit 56.

S21において、情報処理装置30は、アーム24における所定部分(エンドエフェクタ28)が目標位置に近づくようにアーム24を制御するとともに、アーム24における所定部分(エンドエフェクタ28)が目標姿勢に近づくようにアーム24を制御する。本変形例においては、情報処理装置30は、対象物体を操作可能な目標位置および目標姿勢にエンドエフェクタ28が近づくように、アーム24を変形させる。例えば、エンドエフェクタ28が把持機構である場合、情報処理装置30は、エンドエフェクタ28が対象物体を把持可能な位置および姿勢に近づくように、アーム24を変形する。なお、本変形例におけるS21の処理については、図9を参照してさらに説明する。 In S21, the information processing device 30 controls the arm 24 so that the predetermined portion (end effector 28) of the arm 24 approaches the target position, and the predetermined portion (end effector 28) of the arm 24 approaches the target posture. Controls the arm 24. In this modification, the information processing device 30 deforms the arm 24 so that the end effector 28 approaches the target position and the target posture in which the target object can be operated. For example, when the end effector 28 is a gripping mechanism, the information processing device 30 deforms the arm 24 so that the end effector 28 approaches a position and a posture in which the target object can be gripped. The processing of S21 in this modification will be further described with reference to FIG.

情報処理装置30は、エンドエフェクタ28が目標位置および目標姿勢に到達するまで、S12からS21までの処理を所定時間毎に繰り返す(S11とS22との間のループ処理)。情報処理装置30は、エンドエフェクタ28が目標位置および目標姿勢に到達した場合、ループ処理を抜けて本フローを終了する。 The information processing device 30 repeats the processes from S12 to S21 at predetermined time intervals until the end effector 28 reaches the target position and the target posture (loop process between S11 and S22). When the end effector 28 reaches the target position and the target posture, the information processing device 30 exits the loop process and ends this flow.

図9は、第1変形例に係るアーム24の制御処理の流れを示すフローチャートである。情報処理装置30は、図8に示したS21のアーム24の制御処理において、図9に示す処理を実行する。 FIG. 9 is a flowchart showing a flow of control processing of the arm 24 according to the first modification. The information processing device 30 executes the process shown in FIG. 9 in the control process of the arm 24 of S21 shown in FIG.

まず、S41において、情報処理装置30は、現在目標位置および現在目標姿勢を算出することができた否かを判断する。情報処理装置30は、現在目標位置および現在目標姿勢を算出することができた場合(S41のYes)、処理をS42に進める。情報処理装置30は、現在目標位置または現在目標姿勢を算出することができなかった場合(S41のNo)、処理をS43に進める。 First, in S41, the information processing device 30 determines whether or not the current target position and the current target posture can be calculated. When the information processing apparatus 30 can calculate the current target position and the current target posture (Yes in S41), the information processing device 30 proceeds to S42. When the information processing apparatus 30 cannot calculate the current target position or the current target posture (No in S41), the information processing device 30 proceeds to S43.

S42において、情報処理装置30は、アーム24の所定部分(エンドエフェクタ28)を、S17で算出した現在目標位置および現在目標姿勢へと近づけるようにアーム24を制御する。より具体的には、情報処理装置30は、S15で算出したエンドエフェクタ28の位置とS17で算出した現在目標位置との差を小さくするとともに、S15で算出したエンドエフェクタ28の姿勢とS17で算出した現在目標姿勢との差を小さくように、アーム24を変形させる。 In S42, the information processing apparatus 30 controls the arm 24 so that the predetermined portion (end effector 28) of the arm 24 approaches the current target position and the current target posture calculated in S17. More specifically, the information processing apparatus 30 reduces the difference between the position of the end effector 28 calculated in S15 and the current target position calculated in S17, and calculates the posture of the end effector 28 calculated in S15 and S17. The arm 24 is deformed so as to reduce the difference from the current target posture.

そして、情報処理装置30は、S42の処理を終えると、本フローを抜けて、図8の処理に戻る。 Then, when the information processing device 30 finishes the process of S42, it exits this flow and returns to the process of FIG.

S43において、情報処理装置30は、記憶部56から過去目標位置、過去基準位置、過去目標姿勢および過去基準姿勢のセットを読み出す。 In S43, the information processing device 30 reads out a set of the past target position, the past reference position, the past target posture, and the past reference posture from the storage unit 56.

続いて、S44において、情報処理装置30は、読み出した過去目標位置と読み出した過去基準位置との位置差を算出する。例えば、情報処理装置30は、過去目標位置から過去基準位置を減じた位置差を算出する。 Subsequently, in S44, the information processing apparatus 30 calculates the positional difference between the read past target position and the read past reference position. For example, the information processing device 30 calculates a position difference obtained by subtracting the past reference position from the past target position.

続いて、S45において、情報処理装置30は、読み出した過去目標姿勢と読み出した過去基準姿勢との姿勢差を算出する。例えば、情報処理装置30は、過去目標姿勢から過去基準姿勢を減じた姿勢差を算出する。 Subsequently, in S45, the information processing apparatus 30 calculates the posture difference between the read past target posture and the read past reference posture. For example, the information processing device 30 calculates a posture difference obtained by subtracting the past reference posture from the past target posture.

続いて、S46において、情報処理装置30は、S44で算出した位置差と、S19で算出した現在基準位置とに基づき、所定部分(エンドエフェクタ28)の移動目標となる予測目標位置を算出する。例えば、情報処理装置30は、S19で算出した現在基準位置に、S44で算出した位置差を加算することにより、予測目標位置を算出する。 Subsequently, in S46, the information processing apparatus 30 calculates a predicted target position as a movement target of a predetermined portion (end effector 28) based on the position difference calculated in S44 and the current reference position calculated in S19. For example, the information processing apparatus 30 calculates the predicted target position by adding the position difference calculated in S44 to the current reference position calculated in S19.

続いて、S47において、情報処理装置30は、S45で算出した姿勢差と、S19で算出した現在基準姿勢とに基づき、所定部分(エンドエフェクタ28)の姿勢目標となる予測目標姿勢を算出する。例えば、情報処理装置30は、S19で算出した現在基準姿勢に、S45で算出した姿勢差を加算することにより、予測目標姿勢を算出する。 Subsequently, in S47, the information processing apparatus 30 calculates a predicted target posture which is a posture target of a predetermined portion (end effector 28) based on the posture difference calculated in S45 and the current reference posture calculated in S19. For example, the information processing apparatus 30 calculates the predicted target posture by adding the posture difference calculated in S45 to the current reference posture calculated in S19.

S48において、情報処理装置30は、アーム24の所定部分(エンドエフェクタ28)を、S46で算出した予測目標位置およびS47で算出した予測目標姿勢へと近づけるようにアーム24を制御する。より具体的には、情報処理装置30は、S15で算出したエンドエフェクタ28の位置とS46で算出した予測目標位置との差を小さくするとともに、S15で算出したエンドエフェクタ28の姿勢とS47で算出した予測目標姿勢との差を小さくように、アーム24を変形させる。 In S48, the information processing apparatus 30 controls the arm 24 so that the predetermined portion (end effector 28) of the arm 24 approaches the predicted target position calculated in S46 and the predicted target posture calculated in S47. More specifically, the information processing apparatus 30 reduces the difference between the position of the end effector 28 calculated in S15 and the predicted target position calculated in S46, and calculates the posture of the end effector 28 calculated in S15 and S47. The arm 24 is deformed so as to reduce the difference from the predicted target posture.

そして、情報処理装置30は、S48の処理を終えると、本フローを抜けて、図8の処理に戻る。 Then, when the information processing device 30 finishes the process of S48, the information processing device 30 exits this flow and returns to the process of FIG.

第1変形例に係るロボット10は、カメラ26により撮像された画像に基づき、現在目標位置および現在目標姿勢を算出することができない場合、過去画像に基づき算出した過去目標位置、過去基準位置、過去目標姿勢および過去基準姿勢に基づき、エンドエフェクタ28を移動させることができる。これにより、第1変形例に係るロボット10は、カメラ26により撮像された画像に基づき対象物体が特定できない場合であっても、対象物体に対して操作可能な位置および姿勢にエンドエフェクタ28を精度良く移動させることができる。 When the robot 10 according to the first modification cannot calculate the current target position and the current target posture based on the image captured by the camera 26, the past target position, the past reference position, and the past calculated based on the past image. The end effector 28 can be moved based on the target posture and the past reference posture. As a result, the robot 10 according to the first modification accurately adjusts the end effector 28 to a position and posture that can be operated with respect to the target object even when the target object cannot be identified based on the image captured by the camera 26. It can be moved well.

図10は、第2変形例において、カメラ26により撮像された画像の一例を示す図である。第2変形例に係る情報処理装置30は、複数の基準物体を特定する。 FIG. 10 is a diagram showing an example of an image captured by the camera 26 in the second modification. The information processing device 30 according to the second modification identifies a plurality of reference objects.

本変形例において、基準物体特定部52は、物体検出部44により検出された複数の物体のうち、何れかの複数の基準物体を特定する。例えば、基準物体特定部52は、物体検出部44により検出された複数の物体のうちの対象物体に対して相対的に固定された2以上の物体を、複数の基準物体として特定する。また、例えば、基準物体特定部52は、物体検出部44により検出された複数の物体のうちの対象物体からの距離が所定の範囲にある2以上の物体を、複数の基準物体として特定する。 In this modification, the reference object identification unit 52 identifies any plurality of reference objects among the plurality of objects detected by the object detection unit 44. For example, the reference object identification unit 52 identifies two or more objects that are relatively fixed to the target object among the plurality of objects detected by the object detection unit 44 as the plurality of reference objects. Further, for example, the reference object identification unit 52 identifies two or more objects having a distance from the target object within a predetermined range among the plurality of objects detected by the object detection unit 44 as a plurality of reference objects.

例えば、図10の例においては、物体検出部44は、フォーク74およびナイフ76を2個の基準物体として特定している。そして、基準物体特定部52は、特定された複数の基準物体のそれぞれについて、現在基準位置を算出する。さらに、基準物体特定部52は、特定された複数の基準物体のそれぞれについて、現在基準姿勢を算出してもよい。 For example, in the example of FIG. 10, the object detection unit 44 identifies the fork 74 and the knife 76 as two reference objects. Then, the reference object specifying unit 52 calculates the current reference position for each of the specified plurality of reference objects. Further, the reference object specifying unit 52 may calculate the current reference posture for each of the plurality of specified reference objects.

本変形例において、記憶部56は、基準物体特定部52により算出された複数の現在基準位置を、複数の過去基準位置として記憶する。さらに、記憶部56は、基準物体特定部52により算出された複数の現在基準姿勢を、複数の過去基準姿勢として記憶してもよい。 In this modification, the storage unit 56 stores a plurality of current reference positions calculated by the reference object identification unit 52 as a plurality of past reference positions. Further, the storage unit 56 may store a plurality of current reference postures calculated by the reference object identification unit 52 as a plurality of past reference postures.

本変形例において、アーム制御部58は、目標特定部50が画像に基づき現在目標位置を算出することができなかった場合、記憶部56から過去目標位置、および、複数の基準物体のそれぞれについての過去基準位置を読み出す。さらに、アーム制御部58は、記憶部56から、複数の基準物体のそれぞれについての過去基準姿勢も読み出してもよい。 In this modified example, when the target identification unit 50 cannot calculate the current target position based on the image, the arm control unit 58 receives the past target position from the storage unit 56 and each of the plurality of reference objects. Read the past reference position. Further, the arm control unit 58 may also read past reference postures for each of the plurality of reference objects from the storage unit 56.

続いて、アーム制御部58は、複数の基準物体のそれぞれについて、過去目標位置と過去基準位置との位置差を算出する。さらに、アーム制御部58は、複数の基準物体のそれぞれについて、過去目標姿勢と過去基準姿勢との姿勢差を算出してもよい。 Subsequently, the arm control unit 58 calculates the positional difference between the past target position and the past reference position for each of the plurality of reference objects. Further, the arm control unit 58 may calculate the posture difference between the past target posture and the past reference posture for each of the plurality of reference objects.

続いて、アーム制御部58は、複数の基準物体のそれぞれについての位置差と、基準物体特定部52により算出された現在基準位置とに基づき、予測目標位置を算出する。例えば、アーム制御部58は、複数の基準物体のそれぞれについて、過去目標位置と過去基準位置との位置差を算出し、算出した位置差に現在基準位置を加算することにより、個別予測目標位置を算出する。続いて、アーム制御部58は、複数の基準物体のそれぞれについて算出した個別予測目標位置を平均化して予測目標位置を算出する。そして、アーム制御部58は、アーム24の所定部分を、予測目標位置へと近づけるようにアーム24を制御する。 Subsequently, the arm control unit 58 calculates the predicted target position based on the position difference for each of the plurality of reference objects and the current reference position calculated by the reference object identification unit 52. For example, the arm control unit 58 calculates the position difference between the past target position and the past reference position for each of the plurality of reference objects, and adds the current reference position to the calculated position difference to obtain an individual predicted target position. calculate. Subsequently, the arm control unit 58 calculates the predicted target position by averaging the individual predicted target positions calculated for each of the plurality of reference objects. Then, the arm control unit 58 controls the arm 24 so that the predetermined portion of the arm 24 approaches the predicted target position.

さらに、アーム制御部58は、複数の基準物体のそれぞれについての姿勢差と、基準物体特定部52により算出された現在基準姿勢とに基づき、予測目標姿勢を算出してもよい。例えば、アーム制御部58は、複数の基準物体のそれぞれについて、過去目標姿勢と過去基準姿勢との姿勢差を算出し、算出した姿勢差に現在基準姿勢を加算することにより、個別予測目標姿勢を算出する。続いて、アーム制御部58は、複数の基準物体のそれぞれについて算出した個別予測目標姿勢を平均化して予測目標姿勢を算出する。そして、アーム制御部58は、アーム24の所定部分を、予測目標姿勢へと近づけるようにアーム24を制御する。 Further, the arm control unit 58 may calculate the predicted target posture based on the posture difference for each of the plurality of reference objects and the current reference posture calculated by the reference object identification unit 52. For example, the arm control unit 58 calculates the posture difference between the past target posture and the past reference posture for each of the plurality of reference objects, and adds the current reference posture to the calculated posture difference to obtain the individual predicted target posture. calculate. Subsequently, the arm control unit 58 calculates the predicted target posture by averaging the individual predicted target postures calculated for each of the plurality of reference objects. Then, the arm control unit 58 controls the arm 24 so that the predetermined portion of the arm 24 approaches the predicted target posture.

このように、第2変形例に係るロボット10は、複数の基準物体を特定する。これにより、第2変形例に係るロボット10は、カメラ26により撮像された画像に基づき対象物体が特定できない場合であっても、複数の基準物体の位置および姿勢に基づいてエンドエフェクタ28を精度良く移動させることができる。 In this way, the robot 10 according to the second modification identifies a plurality of reference objects. As a result, the robot 10 according to the second modification can accurately perform the end effector 28 based on the positions and orientations of the plurality of reference objects even when the target object cannot be identified based on the image captured by the camera 26. Can be moved.

前述した実施形態におけるロボット10は、複数のアーム24を備えていてもよい。また、その場合、現在目標位置をカメラ26から隠すアーム24と、動作させるアーム24が異なるものであってもよい。また、現在目標位置をカメラ26から隠すオブジェクトは、アーム24に限られない。また、現在画像および過去画像は、1枚の画像に限られず、複数の画像であってもよい。また、画像に限られず、点群情報等であってもよい。 The robot 10 in the above-described embodiment may include a plurality of arms 24. Further, in that case, the arm 24 that hides the current target position from the camera 26 and the arm 24 that operates may be different. Further, the object that currently hides the target position from the camera 26 is not limited to the arm 24. Further, the current image and the past image are not limited to one image, and may be a plurality of images. Further, the present invention is not limited to an image, and may be point cloud information or the like.

図11は、前述した実施形態における情報処理装置30のハードウェア構成の一例を示すブロック図である。 FIG. 11 is a block diagram showing an example of the hardware configuration of the information processing apparatus 30 in the above-described embodiment.

前述した実施形態における情報処理装置30に備えられる機能の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、又はGPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における情報処理装置30に備えられる機能の少なくとも一部の機能を実現するソフトウェアを、フレキシブルディスク、CD−ROM(Compact Disc-Read Only Memory)、又はUSB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアがASIC(Application Specific Integrated Circuit)、又はFPGA(Field Programmable Gate Array)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。 A part or all of the functions provided in the information processing apparatus 30 in the above-described embodiment may be composed of hardware, or software executed by a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like. It may be composed of information processing of (program). When it is composed of information processing by software, the software that realizes at least a part of the functions provided in the information processing apparatus 30 in the above-described embodiment is a flexible disk or a CD-ROM (Compact Disc-Read Only Memory). ) Or a non-temporary storage medium (non-temporary computer-readable medium) such as a USB (Universal Serial Bus) memory, and the computer may read the information processing of the software. In addition, the software may be downloaded via a communication network. Further, information processing may be executed by hardware by mounting the software on a circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。 The type of storage medium that stores the software is not limited. The storage medium is not limited to a removable one such as a magnetic disk or an optical disk, and may be a fixed storage medium such as a hard disk or a memory. Further, the storage medium may be provided inside the computer or may be provided outside the computer.

図11に示すように、情報処理装置30は、一例として、プロセッサ91と、主記憶装置92(メモリ)と、補助記憶装置93(メモリ)と、ネットワークインタフェース94と、デバイスインタフェース95と、を備え、これらがバス96を介して接続されたコンピュータ90として実現されてもよい。 As shown in FIG. 11, the information processing device 30 includes, as an example, a processor 91, a main storage device 92 (memory), an auxiliary storage device 93 (memory), a network interface 94, and a device interface 95. , These may be realized as a computer 90 connected via a bus 96.

図11のコンピュータ90は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図11では、1台のコンピュータ90が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース94等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における情報処理装置30は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果をロボット10内の情報処理装置30に送信するような構成であってもよい。 The computer 90 of FIG. 11 includes one component for each component, but may include a plurality of the same components. Further, although one computer 90 is shown in FIG. 11, software is installed on a plurality of computers, and each of the plurality of computers executes the same or different part of the software. May be good. In this case, it may be a form of distributed computing in which each computer communicates via a network interface 94 or the like to execute processing. That is, the information processing device 30 in the above-described embodiment may be configured as a system that realizes a function by executing instructions stored in one or a plurality of storage devices by one or a plurality of computers. Further, the information transmitted from the terminal may be processed by one or a plurality of computers provided on the cloud, and the processing result may be transmitted to the information processing device 30 in the robot 10.

前述した実施形態における情報処理装置30により実行される各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ90と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実行されてもよい。このように、前述した実施形態における情報処理装置30は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。 The various operations executed by the information processing apparatus 30 in the above-described embodiment may be executed in parallel processing by using one or a plurality of processors or by using a plurality of computers via a network. Further, various operations may be distributed to a plurality of arithmetic cores in the processor and executed in parallel processing. In addition, some or all of the processes, means, etc. of the present disclosure may be executed by at least one of a processor and a storage device provided on the cloud that can communicate with the computer 90 via the network. As described above, the information processing apparatus 30 in the above-described embodiment may be in the form of parallel computing by one or a plurality of computers.

プロセッサ91は、コンピュータの制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、又はASIC等)であってもよい。また、プロセッサ91は、専用の処理回路を含む半導体装置等であってもよい。プロセッサ91は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ91は、量子コンピューティングに基づく演算機能を含むものであってもよい。 The processor 91 may be an electronic circuit (processing circuit, processing circuit, processing circuitry, CPU, GPU, FPGA, ASIC, etc.) including a control device and an arithmetic unit of a computer. Further, the processor 91 may be a semiconductor device or the like including a dedicated processing circuit. The processor 91 is not limited to an electronic circuit using an electronic logic element, and may be realized by an optical circuit using an optical logic element. Further, the processor 91 may include an arithmetic function based on quantum computing.

プロセッサ91は、コンピュータ90の内部構成の情報処理装置30等から入力されたデータやソフトウェア(プログラム)に基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ91は、コンピュータ90のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ90を構成する各構成要素を制御してもよい。 The processor 91 can perform arithmetic processing based on data and software (programs) input from the information processing apparatus 30 and the like of the internal configuration of the computer 90, and output the arithmetic results and control signals to each apparatus and the like. The processor 91 may control each component constituting the computer 90 by executing an OS (Operating System) of the computer 90, an application, or the like.

前述した実施形態における情報処理装置30は、1又は複数のプロセッサ91により実現されてもよい。ここで、プロセッサ91は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。 The information processing device 30 in the above-described embodiment may be realized by one or more processors 91. Here, the processor 91 may refer to one or more electronic circuits arranged on one chip, or may refer to one or more electronic circuits arranged on two or more chips or two or more devices. You may point. When a plurality of electronic circuits are used, each electronic circuit may communicate by wire or wirelessly.

主記憶装置92は、プロセッサ91が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置92に記憶された情報がプロセッサ91により読み出される。補助記憶装置93は、主記憶装置92以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。前述した実施形態における情報処理装置30において各種データを保存するための記憶装置は、主記憶装置92又は補助記憶装置93により実現されてもよく、プロセッサ91に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶部56は、主記憶装置92又は補助記憶装置93により実現されてもよい。 The main storage device 92 is a storage device that stores instructions executed by the processor 91, various data, and the like, and the information stored in the main storage device 92 is read out by the processor 91. The auxiliary storage device 93 is a storage device other than the main storage device 92. Note that these storage devices mean arbitrary electronic components capable of storing electronic information, and may be semiconductor memories. The semiconductor memory may be either a volatile memory or a non-volatile memory. The storage device for storing various data in the information processing device 30 in the above-described embodiment may be realized by the main storage device 92 or the auxiliary storage device 93, or may be realized by the built-in memory built in the processor 91. good. For example, the storage unit 56 in the above-described embodiment may be realized by the main storage device 92 or the auxiliary storage device 93.

記憶装置(メモリ)1つに対して、複数のプロセッサが接続(結合)されてもよいし、単数のプロセッサが接続されてもよい。プロセッサ1つに対して、複数の記憶装置(メモリ)が接続(結合)されてもよい。前述した実施形態における情報処理装置30が、少なくとも1つの記憶装置(メモリ)とこの少なくとも1つの記憶装置(メモリ)に接続(結合)される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つの記憶装置(メモリ)に接続(結合)される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置(メモリ)とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置(メモリ)がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。 A plurality of processors may be connected (combined) or a single processor may be connected to one storage device (memory). A plurality of storage devices (memory) may be connected (combined) to one processor. When the information processing device 30 in the above-described embodiment is composed of at least one storage device (memory) and a plurality of processors connected (combined) to the at least one storage device (memory), among the plurality of processors At least one processor may include a configuration in which it is connected (combined) to at least one storage device (memory). Further, this configuration may be realized by a storage device (memory) and a processor included in a plurality of computers. Further, a configuration in which the storage device (memory) is integrated with the processor (for example, a cache memory including an L1 cache and an L2 cache) may be included.

ネットワークインタフェース94は、無線又は有線により、通信ネットワークに接続するためのインタフェースである。ネットワークインタフェース94は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース94により、通信ネットワークを介して接続された第1外部装置と情報のやり取りが行われてもよい。なお、通信ネットワークは、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等の何れか、又は、それらの組み合わせであってよく、コンピュータ90と第1外部装置との間で情報のやり取りが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット(登録商標)等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。 The network interface 94 is an interface for connecting to a communication network wirelessly or by wire. As the network interface 94, an appropriate interface such as one conforming to an existing communication standard may be used. Information may be exchanged with the first external device connected via the communication network by the network interface 94. The communication network may be any one of WAN (Wide Area Network), LAN (Local Area Network), PAN (Personal Area Network), or a combination thereof, and may be a combination of the computer 90 and the first external device. Any information can be exchanged between them. An example of WAN is the Internet, an example of LAN is IEEE802.11, Ethernet (registered trademark), etc., and an example of PAN is Bluetooth (registered trademark), NFC (Near Field Communication), etc.

デバイスインタフェース95は、第2外部装置と直接接続するUSB等のインタフェースである。第2外部装置は、例えば、アーム24およびカメラ26等である。 The device interface 95 is an interface such as USB that directly connects to the second external device. The second external device is, for example, an arm 24, a camera 26, and the like.

本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c、又はa-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。 In the present specification (including claims), the expression (including similar expressions) of "at least one (one) of a, b and c" or "at least one (one) of a, b or c" is used. When used, it includes any of a, b, c, ab, ac, bc, or abc. It may also include multiple instances of any element, such as a-a, a-b-b, a-a-b-b-c-c, and the like. It also includes adding elements other than the listed elements (a, b and c), such as having d, such as a-b-c-d.

本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。 In the present specification (including claims), when expressions such as "with data as input / based on / according to / according to" (including similar expressions) are used, unless otherwise specified. This includes the case where various data itself is used as an input, and the case where various data is processed in some way (for example, noise-added data, normalized data, intermediate representation of various data, etc.) is used as input. In addition, when it is stated that some result can be obtained "based on / according to / according to the data", it includes the case where the result can be obtained based only on the data, and other data other than the data. It may also include cases where the result is obtained under the influence of factors, conditions, and / or conditions. In addition, when it is stated that "data is output", unless otherwise specified, various data itself is used as output, or various data is processed in some way (for example, noise is added, normal). It also includes the case where the output is output (intermediate representation of various data, etc.).

本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。 In the present specification (including claims), when the terms "connected" and "coupled" are used, direct connection / coupling and indirect connection / coupling are used. , Electrically connected / combined, communicatively connected / combined, operatively connected / combined, physically connected / combined, etc. Intended as a term. The term should be interpreted as appropriate according to the context in which the term is used, but any connection / combination form that is not intentionally or naturally excluded is not included in the term. It should be interpreted in a limited way.

本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ又は専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造が動作Bを実際に実行するように構築(implemented)されていればよい。 When the expression "A configured to B" is used in the present specification (including claims), the physical structure of the element A can perform the operation B. Including that the element A has a configuration and the permanent or temporary setting (setting / configuration) of the element A is set (configured / set) to actually execute the operation B. good. For example, when the element A is a general-purpose processor, the processor has a hardware configuration capable of executing the operation B, and the operation B is set by setting a permanent or temporary program (instruction). It suffices if it is configured to actually execute. Further, when the element A is a dedicated processor, a dedicated arithmetic circuit, or the like, the circuit structure of the processor actually executes the operation B regardless of whether or not the control instruction and data are actually attached. It only needs to be implemented.

本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び有する「(having)等)」が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。 In the present specification (including claims), when a term meaning inclusion or possession (for example, "comprising / including" and "having", etc.) is used, the object of the term is used. It is intended as an open-ended term, including the case of containing or owning an object other than the indicated object. If the object of these terms that mean inclusion or possession is an expression that does not specify a quantity or suggests a singular (an expression with a or an as an article), the expression is interpreted as not being limited to a specific number. It should be.

本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。 In the present specification (including claims), expressions such as "one or more" or "at least one" are used in some places, and the quantity is specified in other places. Even if expressions that do not or suggest the singular (expressions with a or an as an article) are used, the latter expression is not intended to mean "one". In general, expressions that do not specify a quantity or suggest a singular (expressions with a or an as an article) should be interpreted as not necessarily limited to a particular number.

本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。 In the present specification, when it is stated that a specific effect (advantage / result) can be obtained for a specific configuration having an embodiment, unless there is a specific reason, another one or more having the configuration. It should be understood that the effect can also be obtained in the examples of. However, it should be understood that the presence or absence of the effect generally depends on various factors, conditions, and / or states, etc., and that the effect cannot always be obtained by the configuration. The effect is merely obtained by the configuration described in the examples when various factors, conditions, and / or conditions are satisfied, and in the invention relating to the claim that defines the configuration or a similar configuration. , The effect is not always obtained.

本明細書(請求項を含む)において、「最大化(maximize)」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること、及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化(minimize)」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること、及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化(optimize)」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。 In the present specification (including claims), when terms such as "maximize" are used, the global maximum value is obtained, the approximate value of the global maximum value is obtained, and the local maximum value is obtained. Should be interpreted as appropriate according to the context in which the term is used, including finding an approximation of the local maximum. It also includes probabilistically or heuristically finding approximate values of these maximum values. Similarly, when terms such as "minimize" are used, find the global minimum, find the approximation of the global minimum, find the local minimum, and find the local minimum. It should be interpreted as appropriate according to the context in which the term was used, including finding an approximation of the value. It also includes probabilistically or heuristically finding approximate values of these minimum values. Similarly, when terms such as "optimize" are used, finding a global optimal value, finding an approximation of a global optimal value, finding a local optimal value, and local optimization It should be interpreted as appropriate according to the context in which the term was used, including finding an approximation of the value. It also includes probabilistically or heuristically finding approximate values of these optimal values.

本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は電子回路を含む装置等を含んでよい。 In the present specification (including claims), when a plurality of hardware performs a predetermined process, the respective hardware may cooperate to perform the predetermined process, or some hardware may perform the predetermined process. You may do all of the above. Further, some hardware may perform a part of a predetermined process, and another hardware may perform the rest of the predetermined process. In the present specification (including claims), when expressions such as "one or more hardware performs the first process and the one or more hardware performs the second process" are used. , The hardware that performs the first process and the hardware that performs the second process may be the same or different. That is, the hardware that performs the first process and the hardware that performs the second process may be included in the one or more hardware. The hardware may include an electronic circuit, a device including the electronic circuit, or the like.

本明細書(請求項を含む)において、複数の記憶装置(メモリ)がデータの記憶を行う場合、複数の記憶装置(メモリ)のうち個々の記憶装置(メモリ)は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。 In the present specification (including claims), when a plurality of storage devices (memory) store data, each storage device (memory) among the plurality of storage devices (memory) stores only a part of the data. It may be stored or the entire data may be stored.

以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、数値又は数式を説明に用いている場合は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。 Although the embodiments of the present disclosure have been described in detail above, the present disclosure is not limited to the individual embodiments described above. Various additions, changes, replacements, partial deletions, etc. are possible without departing from the conceptual idea and purpose of the present invention derived from the contents defined in the claims and their equivalents. For example, in all the above-described embodiments, when numerical values or mathematical formulas are used for explanation, they are shown as examples, and the present invention is not limited thereto. Further, the order of each operation in the embodiment is shown as an example, and is not limited to these.

10 ロボット
22 本体部
24 アーム
26 カメラ
28 エンドエフェクタ
30 情報処理装置
42 取得部
44 物体検出部
48 アーム特定部
50 目標特定部
52 基準物体特定部
56 記憶部
58 アーム制御部
72 スプーン
74 フォーク
76 ナイフ
10 Robot 22 Main body 24 Arm 26 Camera 28 End effector 30 Information processing device 42 Acquisition unit 44 Object detection unit 48 Arm identification unit 50 Target identification unit 52 Reference object identification unit 56 Storage unit 58 Arm control unit 72 Spoon 74 Fork 76 Knife

Claims (18)

移動可能な第1部位と、
前記第1部位を制御する少なくとも一つのプロセッサと、
を備え、
前記プロセッサは、前記第1部位の所定部分が移動可能な範囲の少なくとも一部を示す現在データに基づいて前記所定部分の移動目標となる現在目標位置を算出することができない場合、前記所定部分の移動目標となる予測目標位置へと前記所定部分を移動させるように前記第1部位を制御し、
前記予測目標位置は、過去に取得した過去データに基づき算出した前記所定部分における移動目標となる過去目標位置と、前記過去データに基づき算出した基準物体の位置である過去基準位置と、前記現在データと、に基づいて算出される
ロボット。
The first movable part and
With at least one processor controlling the first part,
With
When the processor cannot calculate the current target position as the movement target of the predetermined portion based on the current data indicating at least a part of the movable range of the predetermined portion of the first portion, the predetermined portion of the predetermined portion. The first part is controlled so as to move the predetermined portion to the predicted target position which is the movement target.
The predicted target position includes a past target position that is a movement target in the predetermined portion calculated based on past data acquired in the past, a past reference position that is a position of a reference object calculated based on the past data, and the current data. And the robot calculated based on.
前記プロセッサは、
前記現在データを取得し、
前記現在データに基づき、前記現在目標位置を算出し、
前記現在データに含まれる複数の物体のうちの何れかを前記基準物体として特定し、
前記基準物体の位置である現在基準位置を算出し、
前記予測目標位置は、前記現在基準位置に基づいて算出される
請求項1に記載のロボット。
The processor
Acquire the current data and
Based on the current data, the current target position is calculated.
One of the plurality of objects included in the current data is specified as the reference object, and the object is specified.
Calculate the current reference position, which is the position of the reference object,
The robot according to claim 1, wherein the predicted target position is calculated based on the current reference position.
前記現在データに基づき前記現在目標位置を算出することができた場合、前記現在目標位置へと前記所定部分を移動させるように、前記第1部位を制御する
請求項2に記載のロボット。
The robot according to claim 2, wherein when the current target position can be calculated based on the current data, the first part is controlled so as to move the predetermined portion to the current target position.
前記第1部位における前記所定部分を取得可能なデータ取得部をさらに備え、
前記プロセッサは、前記データ取得部により取得された前記現在データを取得する
請求項2または3に記載のロボット。
A data acquisition unit capable of acquiring the predetermined portion in the first portion is further provided.
The robot according to claim 2 or 3, wherein the processor acquires the current data acquired by the data acquisition unit.
前記第1部位は、アームである
請求項4に記載のロボット。
The robot according to claim 4, wherein the first portion is an arm.
本体部をさらに備え、
前記アームは、前記本体部に設けられ、
前記データ取得部は、前記本体部における前記アームとは異なる位置に設けられる
請求項5に記載のロボット。
Equipped with a main body
The arm is provided on the main body portion.
The robot according to claim 5, wherein the data acquisition unit is provided at a position different from the arm in the main body unit.
前記所定部分は、物体に対して所定の操作をするための前記アームの先端に設けられたエンドエフェクタであり、
前記プロセッサは、前記エンドエフェクタが操作対象となる対象物体に対して所定の操作可能な位置を、前記現在目標位置として算出する
請求項5または6に記載のロボット。
The predetermined portion is an end effector provided at the tip of the arm for performing a predetermined operation on an object.
The robot according to claim 5 or 6, wherein the processor calculates a predetermined operable position with respect to a target object to be operated by the end effector as the current target position.
前記エンドエフェクタは、把持機構であり、
前記プロセッサは、前記エンドエフェクタが対象物体を把持可能な位置を、前記現在目標位置として算出する
請求項7に記載のロボット。
The end effector is a gripping mechanism and
The robot according to claim 7, wherein the processor calculates a position where the end effector can grip the target object as the current target position.
前記プロセッサは、所定時間毎に、前記現在データの取得、前記現在目標位置の算出、前記現在基準位置の算出、および、前記所定部分の制御を実行する
請求項2から8の何れか1項に記載のロボット。
According to any one of claims 2 to 8, the processor executes the acquisition of the current data, the calculation of the current target position, the calculation of the current reference position, and the control of the predetermined portion at predetermined time intervals. The robot described.
前記プロセッサは、前記複数の物体のうちの、操作対象となる対象物体に対して相対的に固定された物体を、前記基準物体として特定する
請求項2から9の何れか1項に記載のロボット。
The robot according to any one of claims 2 to 9, wherein the processor specifies, among the plurality of objects, an object that is fixed relative to the target object to be operated as the reference object. ..
前記プロセッサは、前記複数の物体のうちの、前記過去目標位置と前記過去基準位置との位置差が予め定められた範囲内の物体を前記基準物体として特定する
請求項2から10の何れか1項に記載のロボット。
The processor is any one of claims 2 to 10 that specifies, among the plurality of objects, an object in which the positional difference between the past target position and the past reference position is within a predetermined range as the reference object. The robot described in the section.
前記プロセッサは、前記複数の物体のうちの複数の基準物体を特定し、
前記現在データに基づき前記現在目標位置を算出することができなかった場合、前記プロセッサは、前記現在基準位置と、前記複数の基準物体のそれぞれについての前記過去目標位置と前記過去基準位置との位置差とに基づき、前記予測目標位置を算出する
請求項2から11の何れか1項に記載のロボット。
The processor identifies a plurality of reference objects among the plurality of objects, and the processor identifies a plurality of reference objects.
When the current target position cannot be calculated based on the current data, the processor uses the current reference position and the positions of the past target position and the past reference position for each of the plurality of reference objects. The robot according to any one of claims 2 to 11, which calculates the predicted target position based on the difference.
前記プロセッサは、
前記複数の基準物体のそれぞれについて、前記現在基準位置と前記位置差とに基づき、前記所定部分の移動目標となる個別予測目標位置を算出し、
前記複数の基準物体のそれぞれについて算出した前記個別予測目標位置を平均化して前記予測目標位置を算出する
請求項12に記載のロボット。
The processor
For each of the plurality of reference objects, an individual predicted target position to be a movement target of the predetermined portion is calculated based on the current reference position and the position difference.
The robot according to claim 12, wherein the predicted target position is calculated by averaging the individual predicted target positions calculated for each of the plurality of reference objects.
前記プロセッサは、
前記現在データに基づき、前記現在目標位置、および、前記所定部分の姿勢目標となる現在目標姿勢を算出し、
前記現在基準位置、および、前記基準物体の姿勢である現在基準姿勢を算出し、
前記現在データに基づき前記現在目標位置または前記現在目標姿勢を算出することができなかった場合、
前記予測目標位置を算出し、
前記過去データに基づき算出した前記所定部分における姿勢目標となる過去目標姿勢と、前記過去データに基づき算出した前記基準物体の姿勢である過去基準姿勢との姿勢差に基づき、前記所定部分の姿勢目標となる予測目標姿勢を算出し、
前記所定部分を前記予測目標位置へと移動させるように制御するとともに、前記所定部分を前記現在目標姿勢となるように制御する
請求項2から13の何れか1項に記載のロボット。
The processor
Based on the current data, the current target position and the current target posture, which is the posture target of the predetermined portion, are calculated.
The current reference position and the current reference posture, which is the posture of the reference object, are calculated.
When the current target position or the current target posture cannot be calculated based on the current data.
Calculate the predicted target position and
The posture target of the predetermined portion is based on the posture difference between the past target posture which is the posture target in the predetermined portion calculated based on the past data and the past reference posture which is the posture of the reference object calculated based on the past data. Calculate the predicted target posture to be
The robot according to any one of claims 2 to 13, which controls the predetermined portion to move to the predicted target position and controls the predetermined portion so as to have the current target posture.
撮像された画像から対象物を特定して当該対象物に対して第1部位を制御するロボットにおいて、
撮像された画像中に当該対象物が特定されなかった場合に、当該画像のほかに、過去に撮像された画像であって当該対象物が特定できる画像も少なくとも使って、前記第1部位を制御する制御装置を備える
ロボット。
In a robot that identifies an object from the captured image and controls the first part of the object.
When the object is not specified in the captured image, the first part is controlled by using at least an image captured in the past that can identify the object in addition to the image. A robot equipped with a control device.
移動可能な第1部位を備えるロボットの制御方法であって、
前記第1部位の所定部分が移動可能な範囲の少なくとも一部を示す現在データに基づいて前記所定部分の移動目標となる現在目標位置を算出することができない場合、前記所定部分の移動目標となる予測目標位置へと前記所定部分を移動させるように前記第1部位を制御し、
前記予測目標位置は、過去に取得した過去データに基づき算出した前記所定部分における移動目標となる過去目標位置と、前記過去データに基づき算出した基準物体の位置である過去基準位置と、前記現在データと、に基づいて算出される
制御方法。
It is a control method of a robot having a movable first part.
When the current target position that is the movement target of the predetermined part cannot be calculated based on the current data indicating at least a part of the movable range of the predetermined part of the first part, the movement target of the predetermined part is obtained. The first part is controlled so as to move the predetermined part to the predicted target position.
The predicted target position includes a past target position that is a movement target in the predetermined portion calculated based on past data acquired in the past, a past reference position that is a position of a reference object calculated based on the past data, and the current data. And the control method calculated based on.
移動可能な第1部位を備えるロボットを制御する情報処理装置であって、
前記第1部位の所定部分が移動可能な範囲の少なくとも一部を示す現在データに基づいて前記所定部分の移動目標となる現在目標位置を算出することができない場合、前記所定部分の移動目標となる予測目標位置へと前記所定部分を移動させるように、前記第1部位を制御し、
前記予測目標位置は、過去に取得した過去データに基づき算出した前記所定部分における移動目標となる過去目標位置と、前記過去データに基づき算出した基準物体の位置である過去基準位置と、前記現在データと、に基づいて算出される
情報処理装置。
An information processing device that controls a robot equipped with a movable first part.
When the current target position that is the movement target of the predetermined part cannot be calculated based on the current data indicating at least a part of the movable range of the predetermined part of the first part, the movement target of the predetermined part is obtained. The first part is controlled so as to move the predetermined part to the predicted target position.
The predicted target position includes a past target position that is a movement target in the predetermined portion calculated based on past data acquired in the past, a past reference position that is a position of a reference object calculated based on the past data, and the current data. An information processing device calculated based on.
移動可能な第1部位を制御するプロセッサにより実行させるプログラムであって、
前記プロセッサに、
前記第1部位の所定部分が移動可能な範囲の少なくとも一部を示す現在データに基づいて前記所定部分の移動目標となる現在目標位置を算出することができない場合、前記所定部分の移動目標となる予測目標位置へと前記所定部分を移動させるように前記第1部位を制御させ、
前記予測目標位置は、過去に取得した過去データに基づき算出した前記所定部分における移動目標となる過去目標位置と、前記過去データに基づき算出した基準物体の位置である過去基準位置と、前記現在データと、に基づいて算出される
プログラム。
A program executed by a processor that controls a movable first part.
To the processor
When the current target position that is the movement target of the predetermined part cannot be calculated based on the current data indicating at least a part of the movable range of the predetermined part of the first part, the movement target of the predetermined part is obtained. The first part is controlled so as to move the predetermined part to the predicted target position.
The predicted target position includes a past target position that is a movement target in the predetermined portion calculated based on past data acquired in the past, a past reference position that is a position of a reference object calculated based on the past data, and the current data. And a program calculated based on.
JP2020015837A 2020-01-31 2020-01-31 Robot, control method, information processor, and program Pending JP2021122868A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020015837A JP2021122868A (en) 2020-01-31 2020-01-31 Robot, control method, information processor, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020015837A JP2021122868A (en) 2020-01-31 2020-01-31 Robot, control method, information processor, and program

Publications (1)

Publication Number Publication Date
JP2021122868A true JP2021122868A (en) 2021-08-30

Family

ID=77458962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020015837A Pending JP2021122868A (en) 2020-01-31 2020-01-31 Robot, control method, information processor, and program

Country Status (1)

Country Link
JP (1) JP2021122868A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7325666B1 (en) 2022-04-14 2023-08-14 三菱電機株式会社 Robot controller and picking system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7325666B1 (en) 2022-04-14 2023-08-14 三菱電機株式会社 Robot controller and picking system
WO2023199478A1 (en) * 2022-04-14 2023-10-19 三菱電機株式会社 Robot control device and picking system

Similar Documents

Publication Publication Date Title
US10839261B2 (en) Information processing apparatus, information processing method, and storage medium
US11400598B2 (en) Information processing apparatus, method, and robot system
CN108283021B (en) Robot and method for positioning a robot
US11288883B2 (en) Autonomous task performance based on visual embeddings
US9844881B2 (en) Robotic device including machine vision
KR101964332B1 (en) Method of hand-eye calibration, computer program for executing the method, and robot system.
JP6902208B2 (en) Gripping method, gripping system and program
CN113696186A (en) Mechanical arm autonomous moving and grabbing method based on visual-touch fusion under complex illumination condition
JP7111114B2 (en) Information processing device, information processing method, and information processing system
JP4665857B2 (en) Mobile body capable of guiding arm and method for guiding arm
US10207409B2 (en) Image processing method, image processing device, and robot system
US20230347509A1 (en) Robot control apparatus, robot control method, and program
US20180215044A1 (en) Image processing device, robot control device, and robot
JP2020163502A (en) Object detection method, object detection device, and robot system
JP2021122868A (en) Robot, control method, information processor, and program
JP6880457B2 (en) Gripping method, gripping system and program
WO2021117479A1 (en) Information processing device, method, and program
JP6958517B2 (en) Manipulators and mobile robots
JP2010236893A (en) Method for detecting relative movement between a plurality of objects
CN116635194A (en) Interference determination device, robot control system, and interference determination method
CN112743537A (en) Annotating device
JP2020174536A (en) Harvesting device, control method thereof, and program
WO2022186354A1 (en) Information processing device and autonomous mobile robot
CN113316505B (en) Image analysis system
KR20230032852A (en) Robot and controlling method of robot