JP2018158439A - Object handling device, control device, and calibration method - Google Patents

Object handling device, control device, and calibration method Download PDF

Info

Publication number
JP2018158439A
JP2018158439A JP2018048066A JP2018048066A JP2018158439A JP 2018158439 A JP2018158439 A JP 2018158439A JP 2018048066 A JP2018048066 A JP 2018048066A JP 2018048066 A JP2018048066 A JP 2018048066A JP 2018158439 A JP2018158439 A JP 2018158439A
Authority
JP
Japan
Prior art keywords
manipulator
information
gripping
camera
unit
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
JP2018048066A
Other languages
Japanese (ja)
Inventor
小川 昭人
Akito Ogawa
昭人 小川
菅原 淳
Atsushi Sugawara
淳 菅原
淳也 田中
Junya Tanaka
淳也 田中
和馬 古茂田
Kazuma Komoda
和馬 古茂田
春菜 衛藤
Haruna Eto
春菜 衛藤
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2018048066A priority Critical patent/JP2018158439A/en
Publication of JP2018158439A publication Critical patent/JP2018158439A/en
Pending legal-status Critical Current

Links

Landscapes

  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an object handling device that comprises, for example, a manipulator making accuracy of access by an effector higher.SOLUTION: An object handling device of an embodiment comprises, for example, a base, a manipulator, a first camera, and a calibration processing part. The manipulator, which is provided on a base, has a link, a movable part, and a motor for rotatively driving the link. The first camera is provided in the manipulator. The calibration processing part performs calibration processing in a position of the movable part on the basis of a load generated in the manipulator and based on the result of photographing in a predetermined position of the base by the first camera and the amount of change in angle of rotation between the link and the motor when the manipulator is brought into contact with the base.SELECTED DRAWING: Figure 18A

Description

実施形態は、物体ハンドリング装置、制御装置、および較正方法に関する。   Embodiments relate to an object handling device, a control device, and a calibration method.

従来、エフェクタを有したロボットアーム等のマニピュレータを備えた物体ハンドリング装置が知られている。   Conventionally, an object handling apparatus including a manipulator such as a robot arm having an effector is known.

特表2003−533162号公報Special Table 2003-533162

例えば、よりエフェクタによるアクセスの精度の高いマニピュレータを備えた物体ハンドリング装置が得られれば、有益である。   For example, it would be beneficial if an object handling device having a manipulator with higher access accuracy by an effector could be obtained.

実施形態の物体ハンドリング装置は、例えば、ベースと、マニピュレータと、第一カメラと、較正処理部と、を備える。マニピュレータは、ベースに設けられ、リンクと、可動部と、リンクを回転駆動するモータと、を有する。第一カメラは、マニピュレータに設けられる。較正処理部は、第一カメラによるベースの所定位置の撮影結果、およびマニピュレータがベースに接触した際のリンクとモータの回転角の変化量に基づくマニピュレータに生じる負荷に基づいて可動部の位置の較正処理を実行する。   The object handling apparatus according to the embodiment includes, for example, a base, a manipulator, a first camera, and a calibration processing unit. The manipulator is provided on the base, and includes a link, a movable part, and a motor that rotationally drives the link. The first camera is provided in the manipulator. The calibration processing unit calibrates the position of the movable part based on the result of photographing the predetermined position of the base by the first camera and the load generated on the manipulator based on the amount of change in the rotation angle of the link and the motor when the manipulator contacts the base. Execute the process.

図1は、実施形態の物体ハンドリング装置を含む物体ハンドリングシステムの模式的かつ例示的な斜視図である。FIG. 1 is a schematic and exemplary perspective view of an object handling system including an object handling apparatus according to an embodiment. 図2は、実施形態のコントローラの模式的かつ例示的なブロック図である。FIG. 2 is a schematic and exemplary block diagram of the controller of the embodiment. 図3Aは、実施形態のハンドの構成を示す模式的かつ例示的な側面図(一部断面図)であって、吸着パッドが突出した状態を示す図である。FIG. 3A is a schematic and exemplary side view (partially sectional view) showing the configuration of the hand of the embodiment, and is a view showing a state in which the suction pad protrudes. 図3Bは、実施形態のハンドの構成を示す模式的かつ例示的な側面図(一部断面図)であって、吸着パッドが突出しかつ傾いた状態を示す図である。FIG. 3B is a schematic and exemplary side view (partially sectional view) showing the configuration of the hand of the embodiment, and is a view showing a state in which the suction pad protrudes and tilts. 図3Cは、実施形態のハンドの構成を示す模式的かつ例示的な側面図(一部断面図)であって、吸着パッドが収納された状態を示す図である。FIG. 3C is a schematic and exemplary side view (partially sectional view) showing the configuration of the hand of the embodiment, and is a view showing a state in which the suction pad is stored. 図3Dは、実施形態のハンドの構成を示す模式的かつ例示的な図3Cの視線と直交する方向から見た側面図(一部断面図)であって、吸着パッドが収納された状態を示す図である。FIG. 3D is a side view (partially sectional view) seen from a direction orthogonal to the line of sight of FIG. 3C schematically showing the configuration of the hand of the embodiment, and shows a state in which the suction pad is housed. FIG. 図4は、実施形態の別のハンドの模式的かつ例示的な斜視図であって、フィンガーが閉じた状態を示す図である。Drawing 4 is a typical example perspective view of another hand of an embodiment, and is a figure showing the state where a finger closed. 図5Aは、図4のフィンガーが開いた状態を示す図である。FIG. 5A is a diagram illustrating a state in which the finger of FIG. 4 is opened. 図5Bは、図4のフィンガーが開いた状態を示す図であって、図5Aとは異なる方向から見た図である。FIG. 5B is a diagram illustrating a state in which the finger of FIG. 4 is opened, and is a diagram seen from a direction different from FIG. 5A. 図6は、実施形態のハンド制御部のブロック図である。FIG. 6 is a block diagram of the hand control unit of the embodiment. 図7Aは、図4のハンドの動作手順の一例を示す模式的かつ例示的な側面図である。7A is a schematic and exemplary side view showing an example of an operation procedure of the hand of FIG. 図7Bは、図4のハンドの動作手順の一例を示す模式的かつ例示的な側面図であって、図7Aの次の段階を示す図である。FIG. 7B is a schematic and exemplary side view showing an example of the operation procedure of the hand of FIG. 4, and shows the next stage of FIG. 7A. 図7Cは、図4のハンドの動作手順の一例を示す模式的かつ例示的な側面図であって、図7Bの次の段階を示す図である。FIG. 7C is a schematic and exemplary side view showing an example of the operation procedure of the hand of FIG. 4, and shows the next stage of FIG. 7B. 図7Dは、図4のハンドの動作手順の一例を示す模式的かつ例示的な側面図であって、図7Cの次の段階を示す図である。7D is a schematic and exemplary side view showing an example of the operation procedure of the hand of FIG. 4, and shows the next stage of FIG. 7C. 図7Eは、図4のハンドの動作手順の一例を示す模式的かつ例示的な側面図であって、図7Dの次の段階を示す図である。FIG. 7E is a schematic and exemplary side view showing an example of the operation procedure of the hand of FIG. 4, and shows the next stage of FIG. 7D. 図8は、実施形態のさらに別のハンドの模式的かつ例示的な側面図である。FIG. 8 is a schematic and exemplary side view of still another hand according to the embodiment. 図9は、実施形態の物体ハンドリング装置を含むシステムの基本動作の一例が示されたフローチャートである。FIG. 9 is a flowchart illustrating an example of a basic operation of the system including the object handling apparatus according to the embodiment. 図10は、実施形態の物体ハンドリング装置を含むシステムの基本動作の別の一例が示されたフローチャートである。FIG. 10 is a flowchart illustrating another example of the basic operation of the system including the object handling apparatus according to the embodiment. 図11は、実施形態の情報取得システムの模式的かつ例示的な斜視図である。FIG. 11 is a schematic and exemplary perspective view of the information acquisition system according to the embodiment. 図12は、実施形態の物体データベースに格納されている物体情報を示す表である。FIG. 12 is a table showing object information stored in the object database of the embodiment. 図13は、実施形態の把持データベースに格納されている把持情報を示す表である。FIG. 13 is a table showing grip information stored in the grip database of the embodiment. 図14は、情報取得システムによる物体情報を取得する手順を示す例示的なフローチャートである。FIG. 14 is an exemplary flowchart showing a procedure for acquiring object information by the information acquisition system. 図15は、実施形態の把持基本系モデルの模式図である。FIG. 15 is a schematic diagram of a gripping basic system model of the embodiment. 図16は、実施形態の把持方法基本データの模式図である。FIG. 16 is a schematic diagram of basic data of a gripping method according to the embodiment. 図17は、実施形態の情報取得システムによる把持情報の自動生成の手順の一部を示す模式図である。FIG. 17 is a schematic diagram illustrating a part of a procedure for automatically generating grip information by the information acquisition system of the embodiment. 図18Aは、実施形態の物体ハンドリング装置のオートキャリブレーションの手順を示す例示的なフローチャートである。FIG. 18A is an exemplary flowchart illustrating an auto-calibration procedure of the object handling device according to the embodiment. 図18Bは、実施形態のベース座標系とマニピュレータ座標系との間の平面誤差の説明図である。FIG. 18B is an explanatory diagram of a plane error between the base coordinate system and the manipulator coordinate system of the embodiment. 図18Cは、実施形態のカメラによって撮影された較正パターンが設けられたマニピュレータの画像を示す模式図である。FIG. 18C is a schematic diagram illustrating an image of a manipulator provided with a calibration pattern photographed by the camera of the embodiment. 図19Aは、実施形態の物体データベースおよび把持データベースに基づくハンドによるハンドリングの手順を示す例示的なフローチャートである。FIG. 19A is an exemplary flowchart illustrating a handling procedure by a hand based on the object database and the gripping database according to the embodiment. 図19Bは、実施形態の物体データベースおよび把持データベースに基づくハンドによるハンドリングの手順を示す例示的なフローチャートであって、図19Aの続きを示す図である。FIG. 19B is an exemplary flowchart illustrating a handling procedure by a hand based on the object database and the gripping database of the embodiment, and is a diagram illustrating a continuation of FIG. 19A. 図20Aは、実施形態の動作経由点を示す模式的かつ例示的な図であって、初期位置、対象物、および搬送目標位置を示す図である。FIG. 20A is a schematic and exemplary diagram illustrating the operation via point of the embodiment, and is a diagram illustrating an initial position, an object, and a conveyance target position. 図20Bは、実施形態の動作経由点を示す模式的かつ例示的な図であって、初期位置から把持目標位置までの動作経由点を示す図である。FIG. 20B is a schematic and exemplary diagram illustrating the operation via point according to the embodiment, and is a diagram illustrating the operation via point from the initial position to the grip target position. 図20Cは、実施形態の動作経由点を示す模式的かつ例示的な図であって、引上位置から把持解放位置までの動作経由点を示す図である。FIG. 20C is a schematic and exemplary diagram illustrating the operation via point according to the embodiment, and is a diagram illustrating the operation via point from the pull-up position to the grip release position. 図21Aは、実施形態のマニピュレータ制御部の模式的かつ例示的なブロック図である。FIG. 21A is a schematic and exemplary block diagram of the manipulator control unit of the embodiment. 図21Bは、実施形態の画像特徴量目標値の模式的かつ例示的な説明図である。FIG. 21B is a schematic and exemplary explanatory diagram of an image feature amount target value according to the embodiment. 図21Cは、実施形態のマニピュレータ制御部の別の例の模式的かつ例示的なブロック図である。FIG. 21C is a schematic and exemplary block diagram of another example of the manipulator control unit according to the embodiment. 図21Dは、実施形態のマニピュレータ制御部におけるパラメータ変更の手順を示すフローチャートである。FIG. 21D is a flowchart illustrating a procedure for changing parameters in the manipulator control unit of the embodiment. 図22Aは、図19Aの状態変更動作の手順を示すフローチャートである。FIG. 22A is a flowchart showing a procedure of the state change operation of FIG. 19A. 図22Bは、図19Aの状態変更動作の図22Aとは別の手順を示す例示的なフローチャートである。FIG. 22B is an exemplary flowchart showing a procedure different from FIG. 22A of the state change operation of FIG. 19A. 図23は、図19Bの把持探索動作の手順を示す例示的なフローチャートである。FIG. 23 is an exemplary flowchart showing a procedure of the grip search operation of FIG. 19B. 図24は、図19Bのリトライ動作の手順を示す例示的なフローチャートである。FIG. 24 is an exemplary flowchart showing the procedure of the retry operation of FIG. 19B. 図25Aは、実施形態の学習動作やデータベースの生成を実行する手順を示す例示的なフローチャートである。FIG. 25A is an exemplary flowchart illustrating a procedure for executing a learning operation and database generation according to the embodiment. 図25Bは、実施形態の学習・データベース生成モードでの把持および搬送の手順を示す例示的なフローチャートである。FIG. 25B is an exemplary flowchart illustrating a procedure of gripping and transporting in the learning / database generation mode of the embodiment. 図26は、実施形態の複数の物体ハンドリング装置で学習データを共有する学習システムの例示的な概略構成図である。FIG. 26 is an exemplary schematic configuration diagram of a learning system in which learning data is shared by a plurality of object handling devices according to the embodiment. 図27には、図1の物体ハンドリングシステムとは別の実施形態のシステムを示す模式的かつ例示的な構成図である。FIG. 27 is a schematic and exemplary configuration diagram showing a system of another embodiment different from the object handling system of FIG. 図28は、実施形態のマニピュレータの模式的かつ例示的な断面図である。FIG. 28 is a schematic and exemplary cross-sectional view of the manipulator of the embodiment. 図29は、図28のマニピュレータの1リンク分を示す模式図である。FIG. 29 is a schematic diagram showing one link of the manipulator of FIG. 図30は、一般的な速度制御系のブロック図である。FIG. 30 is a block diagram of a general speed control system. 図31は、物理パラメータのファインチューニングによる効果を示す図である。FIG. 31 is a diagram showing the effect of fine tuning of physical parameters. 図32は、実施形態のマニピュレータ制御部のオブザーバの例示的なブロック図である。FIG. 32 is an exemplary block diagram of an observer of the manipulator control unit of the embodiment. 図33は、図32のオブザーバを有したマニピュレータ制御部のブロック図である。FIG. 33 is a block diagram of a manipulator control unit having the observer of FIG. 図34は、実施形態のマニピュレータ制御部の別の例を示すブロック図である。FIG. 34 is a block diagram illustrating another example of the manipulator control unit of the embodiment. 図35は、実施形態のオブザーバの別の例を示すブロック図である。FIG. 35 is a block diagram illustrating another example of the observer according to the embodiment. 図36は、実施形態のオブザーバのさらに別の例を示すブロック図である。FIG. 36 is a block diagram illustrating still another example of the observer according to the embodiment.

以下、本発明の例示的な実施形態が開示される。以下に示される実施形態の構成や制御(技術的特徴)、ならびに当該構成や制御によってもたらされる作用および結果(効果)は、一例である。また、以下に例示される実施形態の複数の構成等には、同様の構成要素が含まれている。以下、同様の構成要素には共通の符号が付与され、重複する説明が省略される。   Hereinafter, exemplary embodiments of the present invention are disclosed. The configurations and controls (technical features) of the embodiments described below, and the operations and results (effects) brought about by the configurations and controls are examples. Moreover, the same component is contained in the some structure of embodiment illustrated below. In the following, similar constituent elements are given common reference numerals, and redundant description is omitted.

[システムの構成]
図1は、実施形態の物体ハンドリング装置1(ハンドリングロボット)を含む物体ハンドリングシステム(ロボットハンドリングシステム)の斜視図である。
[System configuration]
FIG. 1 is a perspective view of an object handling system (robot handling system) including an object handling apparatus 1 (handling robot) according to an embodiment.

物体ハンドリング装置1は、物体Pを搬送する装置である。物体Pは、例えば、商品や、物品、部品等であって、その大きさや、硬さ等のスペックは様々である。物体Pは、対象物や、搬送物等とも称されうる。   The object handling apparatus 1 is an apparatus that conveys an object P. The object P is, for example, a product, an article, a part, and the like, and the specifications such as the size and the hardness are various. The object P can also be referred to as an object or a transported object.

図1に示されるように、物体ハンドリング装置1は、コントローラ100や、マニピュレータ20、ベース30、搬送機構40、処理部50、移動機構6等を有している。ベース30は、多方向移動ホイールや、回転ホイール、クローラ、駆動モータ等を含む移動機構6によって、フロアや地面上を自在に移動可能に構成されており、これにより、ベース30に固定されたコントローラ100や、マニピュレータ20、搬送機構40、処理部50も、ベース30と一体にフロアや地面上を自在に移動することができる。   As shown in FIG. 1, the object handling apparatus 1 includes a controller 100, a manipulator 20, a base 30, a transport mechanism 40, a processing unit 50, a moving mechanism 6, and the like. The base 30 is configured to be freely movable on the floor or the ground by a moving mechanism 6 including a multi-directional moving wheel, a rotating wheel, a crawler, a drive motor, and the like, whereby a controller fixed to the base 30 is configured. 100, the manipulator 20, the transport mechanism 40, and the processing unit 50 can move freely on the floor and the ground together with the base 30.

搬送機構40は、マニピュレータ20とは別に設けられた物体Pの搬送装置である。具体的には、ローラやベルトコンベヤ等を有し、コントローラ100によって動作が制御されることにより、物体ハンドリング装置1内の所定位置と物体ハンドリング装置1外の所定位置との間で物体Pを搬送することができる。例えば、マニピュレータ20が物体Pを物体ハンドリング装置1に搬入する場合には、当該搬入後に、搬送機構40は当該物体Pを物体ハンドリング装置1外に搬出することができる。他方、マニピュレータ20が物体Pを物体ハンドリング装置1から搬出する場合には、当該搬出前に、搬送機構40は当該物体Pを物体ハンドリング装置1内に搬入することができる。また、図1に示されるように、搬送機構40は、ケースBに収容された状態で、あるいはケースB単位で、物体Pを搬送することができる。   The transport mechanism 40 is a transport device for the object P provided separately from the manipulator 20. Specifically, it has a roller, a belt conveyor, etc., and the operation is controlled by the controller 100 so that the object P is conveyed between a predetermined position in the object handling apparatus 1 and a predetermined position outside the object handling apparatus 1. can do. For example, when the manipulator 20 carries the object P into the object handling apparatus 1, the carrying mechanism 40 can carry the object P out of the object handling apparatus 1 after the carry-in. On the other hand, when the manipulator 20 unloads the object P from the object handling apparatus 1, the transport mechanism 40 can load the object P into the object handling apparatus 1 before the unloading. Further, as shown in FIG. 1, the transport mechanism 40 can transport the object P while being accommodated in the case B or in the case B unit.

処理部50は、ベース30上に設けられ、物体Pの一時的な保持や、載置、保管等に利用される。処理部50は、作業場所や、作業スペース、作業領域、作業テーブル、バッファ等と称されうる。処理部50には、複数のマーク51が設けられている。マーク51は、カメラ21,33等による撮影のターゲットとなり、物体Pの搬送や、後述するキャリブレーション等に利用される。また、処理部50には、RF−IDリーダライタや、バーコードリーダ、各種センサ等(不図示)が設けられうる。カメラ21は、第一カメラの一例であり、カメラ33は、第二カメラの一例である。また、処理部50は、載置部の一例であり、マーク51は、第一マークの一例である。   The processing unit 50 is provided on the base 30 and is used for temporary holding, placement, storage, and the like of the object P. The processing unit 50 may be referred to as a work place, a work space, a work area, a work table, a buffer, or the like. The processing unit 50 is provided with a plurality of marks 51. The mark 51 becomes a target for photographing by the cameras 21 and 33, and is used for transporting the object P, calibration described later, and the like. The processing unit 50 may be provided with an RF-ID reader / writer, a barcode reader, various sensors, and the like (not shown). The camera 21 is an example of a first camera, and the camera 33 is an example of a second camera. The processing unit 50 is an example of a placement unit, and the mark 51 is an example of a first mark.

また、ベース30には、バキュームポンプ1aや、バッテリ1bの他、不図示のボンベやコンプレッサ、ユーザインタフェース、安全機構等が装備されうる。バキュームポンプ1aは、例えば、マニピュレータ20が物体Pを吸着する場合に当該吸着するためのエアやガスの負圧を生じる。バッテリ1bは、例えば、バキュームポンプ1aや、マニピュレータ20がモータ駆動される場合の当該モータ等の電力源である。ボンベやコンプレッサは、例えば、マニピュレータ20が空気圧駆動される場合のエアやガスの正圧の生成や、吸着の解放処理、電磁弁の駆動等に用いられうる。また、ボンベやコンプレッサは、エジェクターと接続することにより、負圧の生成にも利用されうる。ユーザインタフェースは、例えば、操作ボタンや、スイッチ、キーボード等である。安全機構は、例えば、ライトカーテンや衝突検知器等である。   In addition to the vacuum pump 1a and the battery 1b, the base 30 can be equipped with a cylinder, a compressor (not shown), a user interface, a safety mechanism, and the like. For example, when the manipulator 20 sucks the object P, the vacuum pump 1a generates a negative pressure of air or gas for sucking the object P. The battery 1b is a power source such as a motor when the vacuum pump 1a and the manipulator 20 are driven by a motor, for example. The cylinder and the compressor can be used, for example, for generating positive pressure of air or gas when the manipulator 20 is pneumatically driven, suction release processing, driving of an electromagnetic valve, or the like. Moreover, a cylinder or a compressor can be used for generating negative pressure by connecting to an ejector. The user interface is, for example, an operation button, a switch, a keyboard, or the like. The safety mechanism is, for example, a light curtain or a collision detector.

マニピュレータ20は、アーム2と、ハンド200と、を有している。アーム2は、所謂多関節または多軸ロボットアームであり、例えば、複数のサーボモータで駆動される。また、アーム2は、例えば、垂直多関節型、水平多関節型、直動ロボットを複数組み合わせた型のロボット等であってもよい。また、アーム2には、力センサ等の各種センサ(不図示)が設けられる。また、ハンド200は、例えば、吸着や、ジャミング、挟み込み等による多指機構によって、物体P(対象物)を把持する機構である。ハンド200は、把持機構や、エフェクタ、エンドエフェクタと称されうる。ハンド200は、例えば、小型アクチュエータや、柔軟性を得るための弾性機構200e(弾性部、図3A等)等を有している。また、ハンド200には、カメラ21や、力センサ等の各種センサ(不図示)等が設けられている。ハンド200の詳細な構成については、後述する。弾性機構200eは、弾性関節とも称されうる。アーム2およびハンド200は、可動部の一例である。   The manipulator 20 has an arm 2 and a hand 200. The arm 2 is a so-called multi-joint or multi-axis robot arm, and is driven by, for example, a plurality of servo motors. Further, the arm 2 may be, for example, a vertical articulated type, a horizontal articulated type, a type of robot in which a plurality of linear motion robots are combined, or the like. The arm 2 is provided with various sensors (not shown) such as a force sensor. The hand 200 is a mechanism that grips the object P (target object) by a multi-finger mechanism such as suction, jamming, and pinching. The hand 200 can be referred to as a gripping mechanism, an effector, or an end effector. The hand 200 has, for example, a small actuator, an elastic mechanism 200e (elastic portion, FIG. 3A, etc.) for obtaining flexibility. The hand 200 is provided with a camera 21 and various sensors (not shown) such as a force sensor. The detailed configuration of the hand 200 will be described later. The elastic mechanism 200e can also be referred to as an elastic joint. The arm 2 and the hand 200 are an example of a movable part.

作業台70は、例えば、ラックや、シェルフ、組立作業を行うテーブル等であり、物体ハンドリング装置1による物体Pの搬出先あるいは搬入元の場所を提供する。作業台70には、マーク71が設けられている。マーク71は、カメラ21,33等による撮影のターゲットとなり、物体Pの搬送や、後述するキャリブレーション等に利用される。また、システムには、物体ハンドリング装置1とは別のロボット8等が含まれてもよい。マーク71は、第二マークの一例である。   The work table 70 is, for example, a rack, a shelf, a table for performing assembly work, and the like, and provides a place where the object P is carried out or carried in by the object handling apparatus 1. A mark 71 is provided on the work table 70. The mark 71 becomes a target for photographing by the cameras 21 and 33 and is used for transporting the object P, calibration described later, and the like. Further, the system may include a robot 8 or the like different from the object handling apparatus 1. The mark 71 is an example of a second mark.

[コントローラの構成]
図2は、コントローラ100のブロック図である。図2に示されるように、コントローラ100は、演算処理部101や、各種データベースの他、主記憶部(不図示)、補助記憶部(不図示)等を有している。データベースには、例えば、物体データベース102a(物体DB)や、把持データベース102b(把持DB)、ロボットデータベース102c(ロボットDB)、環境データベース102d(環境DB)等がある。また、主記憶部は、例えば、ROMやRAM等であり、補助記憶部は、例えば、HDDやSSD等である。データベースは、補助記憶部の一部であってもよい。
[Controller configuration]
FIG. 2 is a block diagram of the controller 100. As shown in FIG. 2, the controller 100 includes an arithmetic processing unit 101, various databases, a main storage unit (not shown), an auxiliary storage unit (not shown), and the like. Examples of the database include an object database 102a (object DB), a grip database 102b (grip DB), a robot database 102c (robot DB), and an environment database 102d (environment DB). The main storage unit is, for example, a ROM or a RAM, and the auxiliary storage unit is, for example, an HDD, an SSD, or the like. The database may be a part of the auxiliary storage unit.

演算処理部101は、マニピュレータ制御部110や、画像処理部101a、信号処理部101b、計画生成部101c、把持・動作計画生成部101d、状態監視部101e、エラー検出部101f、学習制御部101g、物体認識部101h等を有している。また、マニピュレータ制御部110は、アーム制御部120や、ハンド制御部140等を含んでいる。   The arithmetic processing unit 101 includes a manipulator control unit 110, an image processing unit 101a, a signal processing unit 101b, a plan generation unit 101c, a gripping / motion plan generation unit 101d, a state monitoring unit 101e, an error detection unit 101f, a learning control unit 101g, An object recognition unit 101h and the like are included. The manipulator control unit 110 includes an arm control unit 120, a hand control unit 140, and the like.

画像処理部101aは、各種画像センサ情報を処理し、動作計画や動作制御、エラー検出や学習に必要な情報を生成する。   The image processing unit 101a processes various image sensor information and generates information necessary for operation planning, operation control, error detection, and learning.

信号処理部101bは、各種センサ情報に対し、信号増幅処理やアナログデジタル変換処理や雑音除去や特徴情報の抽出、状態変化の判定処理などの信号処理を実行する。   The signal processing unit 101b performs signal processing such as signal amplification processing, analog-digital conversion processing, noise removal, feature information extraction, and state change determination processing on various sensor information.

計画生成部101cは、ユーザー入力情報とシステムの状態、各種センサ情報をもとに、物体ハンドリング装置1の作業計画を生成、管理する。   The plan generation unit 101c generates and manages a work plan for the object handling apparatus 1 based on the user input information, the system state, and various sensor information.

把持・動作計画生成部101dは、マニピュレータ20による物体Pの把持、移載の動作に関する動作計画を生成する。一例として、物体Pの把持を行う際には、現在のハンド200の位置から、周囲環境に干渉することなく、物体Pを把持可能な位置までのハンド200の移動経由点を算出する処理を行う。この場合、把持・動作計画生成部101dは、位置情報や、時間情報、速度情報、加速度情報等を含む動作計画を算出してもよい。   The gripping / motion plan generating unit 101d generates an motion plan related to the gripping and transfer operations of the object P by the manipulator 20. As an example, when gripping the object P, a process of calculating a movement via point of the hand 200 from the current position of the hand 200 to a position where the object P can be gripped without interfering with the surrounding environment is performed. . In this case, the gripping / motion plan generating unit 101d may calculate a motion plan including position information, time information, speed information, acceleration information, and the like.

アーム制御部120は、主としてアーム2の動作を制御する。アーム制御部120は、手先軌道生成部121や、軸角生成部122、姿勢監視部123、駆動制御部124等を含む。   The arm control unit 120 mainly controls the operation of the arm 2. The arm control unit 120 includes a hand trajectory generation unit 121, an axis angle generation unit 122, an attitude monitoring unit 123, a drive control unit 124, and the like.

手先軌道生成部121は、マニピュレータ20(ハンド200)の手先の動作軌道を制御するための手先軌道情報を生成する。手先軌道情報は、例えば、アーム2に極力負荷をかけず滑らかな移動を可能とする手先の軌道の情報であって、位置情報や、時間情報、速度情報、加速度情報等を含みうる。   The hand trajectory generator 121 generates hand trajectory information for controlling the motion trajectory of the hand of the manipulator 20 (hand 200). The hand trajectory information is, for example, information on the hand trajectory that enables smooth movement without imposing a load on the arm 2 as much as possible, and may include position information, time information, speed information, acceleration information, and the like.

軸角生成部122は、マニピュレータ20(ハンド200)の手先が手先軌道情報に従って移動するためのアーム2の各関節の角度を変化させるモータ(不図示)の角度情報を生成する。角度情報は、例えば、角度情報や、時間情報、角速度情報、角加速度情報等を含みうる。   The shaft angle generation unit 122 generates angle information of a motor (not shown) that changes the angle of each joint of the arm 2 for the hand of the manipulator 20 (hand 200) to move according to the hand trajectory information. The angle information can include, for example, angle information, time information, angular velocity information, angular acceleration information, and the like.

姿勢監視部123は、マニピュレータ20に含まれる複数の軸駆動部(不図示)の位置を監視し、マニピュレータ20の姿勢を算出する。   The posture monitoring unit 123 monitors the positions of a plurality of shaft driving units (not shown) included in the manipulator 20 and calculates the posture of the manipulator 20.

駆動制御部124は、軸角生成部122で生成された角度情報にしたがって、マニピュレータ20のモータの動作(位置)、ひいてはマニピュレータ20の動作(位置や姿勢等)を制御する。   The drive control unit 124 controls the operation (position) of the motor of the manipulator 20 and eventually the operation (position, posture, etc.) of the manipulator 20 according to the angle information generated by the shaft angle generation unit 122.

状態監視部101eは、姿勢監視部123から得られた情報から取得された姿勢情報に基づいて、例えば、動作中や、停止中、動作完了等といったマニピュレータ20の動作状態を示す動作状態情報を生成する。   Based on the posture information acquired from the information obtained from the posture monitoring unit 123, the state monitoring unit 101e generates operation state information indicating the operation state of the manipulator 20 such as, for example, operating, stopped, or operation complete. To do.

エラー検出部101fは、物体ハンドリング装置1の状態や、作業計画の実施状態、駆動制御状態、物体Pの把持状態、物体Pの搬送の状態等を測定し、エラーを検知する。   The error detection unit 101f measures the state of the object handling apparatus 1, the execution state of the work plan, the drive control state, the grip state of the object P, the transport state of the object P, and the like, and detects an error.

学習制御部101gは、マニピュレータ20の振動抑制など動作精度向上のためのロボットモデル学習や、物体Pの把持性能向上のための把持制御パラメータ学習、把持データベース学習、作業計画の実施性能向上のためのエラー検知学習、等の学習機能を制御する。   The learning control unit 101g is used for robot model learning for improving operation accuracy such as vibration suppression of the manipulator 20, gripping control parameter learning for improving the gripping performance of the object P, gripping database learning, and work plan execution performance improvement. Controls learning functions such as error detection learning.

物体認識部101hは、画像処理部101aによる物体Pの画像を含む画像処理結果に基づいて、物体Pを認識する。   The object recognition unit 101h recognizes the object P based on the image processing result including the image of the object P by the image processing unit 101a.

データベース情報生成更新部101i(DB情報生成更新部)は、物体データベース102aに格納される物体情報および把持データベース102bに格納される把持情報を生成し、かつ更新する。データベース情報生成更新部101iの処理については後に詳しく述べる。   The database information generation / update unit 101i (DB information generation / update unit) generates and updates object information stored in the object database 102a and grip information stored in the grip database 102b. The processing of the database information generation / update unit 101i will be described in detail later.

自動較正部101jは、オートキャリブレーションを実行する。オートキャリブレーションについては後に詳しく述べる。自動較正部101jは、較正処理部の一例である。   The automatic calibration unit 101j performs auto calibration. Auto calibration will be described in detail later. The automatic calibration unit 101j is an example of a calibration processing unit.

物体データベース102aには、物体Pの属性情報が格納されている。以下では、物体Pの属性情報を物体情報と称する。また、把持データベース102bには、物体P毎に、当該物体を把持する制御に関わる各種情報が格納されている。物体データベース102aおよび把持データベース102bについては後に詳しく述べる。   The object database 102a stores attribute information of the object P. Hereinafter, the attribute information of the object P is referred to as object information. In addition, for each object P, various information related to control for gripping the object is stored in the gripping database 102b. The object database 102a and the grip database 102b will be described in detail later.

ロボットデータベース102cには、物体ハンドリング装置1の構造や、各部のスペック(例えば、寸法や、重量、慣性モーメント等)、各駆動部(モータ等)の性能諸元(例えば、動作範囲や、速度、トルク性能等)が保存されている。   In the robot database 102c, the structure of the object handling apparatus 1, specifications of each part (for example, dimensions, weight, moment of inertia, etc.), and performance specifications (for example, operation range, speed, Torque performance etc.) are stored.

環境データベース102dには、物体ハンドリング装置1が対応している作業台70の情報や、物体ハンドリング装置1の動作範囲や周囲の干渉物など周囲環境情報が保存されている。   The environment database 102d stores information on the work table 70 that the object handling apparatus 1 supports, and ambient environment information such as the operation range of the object handling apparatus 1 and surrounding interferences.

[ハンドの構成例1]
図3A〜図3Dは、ハンド200A(200)の構成例を示す側面図(一部断面図)である。図3A〜図3Dに示されるハンド200Aは、吸着パッド200a、フィンガー200b等の複数の把持機構を有している。また、吸着パッド200aは、ジャミング機構等で構成してもよい。すなわち、ハンド200Aは、複数の異なる把持方法によって、物体Pを把持することができる。また、コントローラ100のハンド制御部140は、物体Pを把持する際、当該物体Pに適した把持機構を選択して用いることができる。なお、フィンガー200bは、平行移動する多指フィンガーや、多関節フィンガーである。
[Hand configuration example 1]
3A to 3D are side views (partially sectional views) showing a configuration example of the hand 200A (200). A hand 200A shown in FIGS. 3A to 3D has a plurality of gripping mechanisms such as suction pads 200a and fingers 200b. Further, the suction pad 200a may be configured by a jamming mechanism or the like. That is, the hand 200A can grip the object P by a plurality of different gripping methods. Further, the hand control unit 140 of the controller 100 can select and use a gripping mechanism suitable for the object P when gripping the object P. The finger 200b is a multi-finger finger or a multi-joint finger that moves in parallel.

図3Bに示されるように、ハンド200Aは、コントローラ100のハンド制御部140によって姿勢可変機構200dを制御し、吸着パッド200aの姿勢(角度)を変化することができるよう、構成されている。よって、ハンド200Aは、より確実に物体Pを把持することができる。   As shown in FIG. 3B, the hand 200A is configured to be able to change the posture (angle) of the suction pad 200a by controlling the posture variable mechanism 200d by the hand control unit 140 of the controller 100. Therefore, the hand 200A can hold the object P more reliably.

ハンド200Aは、弾性機構200eおよびジャミング部200cを有している。弾性機構200eおよびジャミング部200cによって、ハンド200Aから物体Pに印加される力が抑制される。また、ハンド200Aは、弾性機構200eの弾性変形可能な状態と不可能な状態とを切り替えるクラッチ200fを有している。よって、物体Pを把持して搬送している状態で、クラッチ200fにより弾性機構200eの相対変位可能な二箇所の相対変位を制限することで、弾性機構200eの弾性に起因するハンド200Aの振動を、抑制することができる。ジャミング部200cは、例えば、弾性伸縮機構を覆うように設けられ、ジャミングによる状態の固定化を行うことにより、クラッチ200fと同様に、伸縮部の相対変位を制限し、弾性に起因するハンド200Aの振動を抑制することができる。   The hand 200A has an elastic mechanism 200e and a jamming portion 200c. The force applied to the object P from the hand 200A is suppressed by the elastic mechanism 200e and the jamming part 200c. The hand 200A has a clutch 200f that switches between an elastically deformable state and an impossible state of the elastic mechanism 200e. Therefore, the vibration of the hand 200A due to the elasticity of the elastic mechanism 200e can be reduced by limiting the relative displacement of the elastic mechanism 200e in two places where the elastic mechanism 200e can be relatively displaced by the clutch 200f while the object P is being gripped and conveyed. Can be suppressed. For example, the jamming portion 200c is provided so as to cover the elastic expansion / contraction mechanism, and by fixing the state due to jamming, the relative displacement of the expansion / contraction portion is limited similarly to the clutch 200f, and the hand 200A caused by elasticity is limited. Vibration can be suppressed.

ハンド200Aには、接触センサ200gや、力センサ200h、変位センサ200i(例えば、非接触レーザ変位計)が設けられている。さらに、ハンド200Aに設けられたカメラ21は、例えば、距離情報を検出できるカメラ(例えば、RGBDセンサ)である。よって、コントローラ100のアーム制御部120やハンド制御部140がこれらセンサやカメラによる検出結果に基づいてモータ等の制御対象を制御することにより、ハンド200から物体Pに印加される力がより一層抑制されうる。   The hand 200A is provided with a contact sensor 200g, a force sensor 200h, and a displacement sensor 200i (for example, a non-contact laser displacement meter). Furthermore, the camera 21 provided in the hand 200A is, for example, a camera (for example, an RGBD sensor) that can detect distance information. Therefore, the arm control unit 120 and the hand control unit 140 of the controller 100 control the control target such as a motor based on the detection results of these sensors and cameras, thereby further suppressing the force applied from the hand 200 to the object P. Can be done.

また、吸着パッド200aを、突出位置pa(図3A,図3B)と収納位置pb(図3C,図3D)との間で移動可能に構成することにより、吸着パッド200aによる物体Pの把持が可能な状態(図3A,図3B)と、フィンガー200bによる物体Pの把持が可能な状態(図3C,図3D)とを切り替えることができる。   Further, the suction pad 200a is configured to be movable between the protruding position pa (FIGS. 3A and 3B) and the storage position pb (FIGS. 3C and 3D), whereby the object P can be gripped by the suction pad 200a. Can be switched between a state (FIGS. 3A and 3B) and a state where the object P can be gripped by the finger 200b (FIGS. 3C and 3D).

[ハンドの構成例2]
図4、図5A、および図5Bは、ハンド200B(200)の構成例を示す斜視図である。図4は、フィンガー200bが閉じた状態、図5Aおよび図5Bは、フィンガー200bが開いた状態を示し、図5Bは、図5Aとは異なる方向から見た図である。
[Hand configuration example 2]
4, 5A, and 5B are perspective views showing a configuration example of the hand 200B (200). 4 shows a state in which the finger 200b is closed, FIGS. 5A and 5B show a state in which the finger 200b is opened, and FIG. 5B is a view as seen from a direction different from FIG. 5A.

ハンド200Bは、ベース200jにガイド200kを介してそれぞれ平行移動可能に設けられた二つのフィンガー200bを有している。ガイド200kは、例えば、レールとスライダとを有し、フィンガー200bを直線状の軌道に沿って移動可能に案内するとともに、当該軌道上の複数の位置で位置決めすることができる。このような構成により、複数のフィンガー200bは、互いの距離(間隔)を変化させることができる。なお、ガイド200kによるフィンガー200bの案内方向は、アーム2の先端部分の長手方向との交差方向(直交方向)である。   The hand 200B has two fingers 200b provided on the base 200j so as to be movable in parallel through guides 200k. The guide 200k includes, for example, a rail and a slider, and can guide the finger 200b to be movable along a linear track and can be positioned at a plurality of positions on the track. With such a configuration, the plurality of fingers 200b can change the distance (interval) between each other. In addition, the guide direction of the finger 200b by the guide 200k is an intersecting direction (orthogonal direction) with the longitudinal direction of the distal end portion of the arm 2.

ハンド200Bは、回転直動変換機構200mを有している。回転直動変換機構200mは、ベース200j内に収容されたモータ(不図示)の回転を直動に変換する機構であり、例えばラックアンドピニオンである。このような構成により、コントローラ100のハンド制御部140によってモータを制御することにより、フィンガー200bの位置、すなわち二つのフィンガー200bの距離(間隔)を制御することができる。本実施形態では、回転直動変換機構200mが、フィンガー200bのそれぞれに対応して設けられている。ただし、回転直動変換機構200mは、これには限定されず、種々の構成や方式が採用されうる。一例として、回転直動変換機構200mは、モータに連動して回転するピニオンと、当該ピニオンと噛み合う互いに平行な二つのラックとを有し、ラックがそれぞれフィンガー200bをガイド200kに沿って平行移動させる構成であってもよいし、別の例として、回転直動変換機構200mは、モータによって回転される雌ねじナットとベース200jに回り止めされて直動する雄ねじシャフトとを有したねじ機構であってもよい。また、モータと回転直動変換機構200mとの間に、減速機構や、回転方向変換機構等が介在してもよい。   The hand 200B has a rotation / linear motion conversion mechanism 200m. The rotation / linear motion conversion mechanism 200m is a mechanism that converts the rotation of a motor (not shown) accommodated in the base 200j to linear motion, and is, for example, a rack and pinion. With such a configuration, by controlling the motor by the hand control unit 140 of the controller 100, the position of the finger 200b, that is, the distance (interval) between the two fingers 200b can be controlled. In the present embodiment, the rotation / linear motion conversion mechanism 200m is provided corresponding to each of the fingers 200b. However, the rotation / linear motion conversion mechanism 200m is not limited to this, and various configurations and methods may be employed. As an example, the rotation / linear motion converting mechanism 200m has a pinion that rotates in conjunction with a motor and two parallel racks that mesh with the pinion, and each rack translates the fingers 200b in parallel along the guide 200k. As another example, the rotation / linear motion conversion mechanism 200m may be a screw mechanism having a female screw nut rotated by a motor and a male screw shaft that is prevented from rotating by the base 200j and linearly moves. Also good. Further, a reduction mechanism, a rotation direction conversion mechanism, or the like may be interposed between the motor and the rotation / linear motion conversion mechanism 200m.

フィンガー200bは、ガイド200kに沿って案内される移動ベース200b1に、先端部200b2が弾性的に伸縮可能に支持された、フローティング構造(弾性伸縮構造)を有している。先端部200b2は、弾性機構200eを介して、移動ベース200b1に、フィンガー200bの延びる方向に移動可能に支持されている。移動ベース200b1に対する先端部200b2の移動方向は、アーム2の先端部分の長手方向である。変位センサ200iは、移動ベース200b1と先端部200b2との相対変位を測定する。なお、変位センサ200iは、エンコーダや、超音符センサ、可変抵抗、静電容量センサ、パルスコーダ―、ファイバセンサ等であってもよい。本実施形態では、フィンガー200bの形状が先細りであるとともに板状であり、かつ弾性機構200eや変位センサ200iがフィンガー200bの先端から離間して配置されている。このような構成により、フィンガー200bが狭い隙間等にも入り易いという効果が得られる。   The finger 200b has a floating structure (elastic expansion / contraction structure) in which a distal end portion 200b2 is elastically extended and supported by a moving base 200b1 guided along a guide 200k. The tip portion 200b2 is supported by the moving base 200b1 via the elastic mechanism 200e so as to be movable in the direction in which the fingers 200b extend. The moving direction of the tip portion 200b2 with respect to the moving base 200b1 is the longitudinal direction of the tip portion of the arm 2. The displacement sensor 200i measures the relative displacement between the movement base 200b1 and the tip portion 200b2. The displacement sensor 200i may be an encoder, a super musical note sensor, a variable resistor, a capacitance sensor, a pulse coder, a fiber sensor, or the like. In the present embodiment, the finger 200b is tapered and plate-shaped, and the elastic mechanism 200e and the displacement sensor 200i are arranged apart from the tip of the finger 200b. With such a configuration, it is possible to obtain an effect that the finger 200b easily enters a narrow gap or the like.

図6は、ハンド制御部140のブロック図である。ハンド制御部140は、コマンド生成部140a、目標値生成部140b、駆動制御部140c、判定部140d、ドライバ140eを有する。   FIG. 6 is a block diagram of the hand control unit 140. The hand control unit 140 includes a command generation unit 140a, a target value generation unit 140b, a drive control unit 140c, a determination unit 140d, and a driver 140e.

コマンド生成部140aは、把持・動作計画生成部101d(図2)から計画生成部101c(図2)を経由して入力された動作命令に応じて、各作業プロセスで必要となる動作手順を動作コマンドとして生成する。把持・動作計画生成部101d、計画生成部101c、およびコマンド生成部140aは、それぞれの演算処理に際し、物体データベース102aや把持データベース102bを参照することができる。物体データベース102aおよび把持データベース102bの利用については、後に詳しく述べる。なお、動作命令は、マニピュレータ20のアーム2やハンド200の一連の動作に関する命令であり、例えばプログラムの形態で保持される。また、動作命令は、不図示のユーザインタフェースにおいて表示された命令コマンドを作業者がタッチすることにより与えられてもよいし、作業者の音声指示により与えられてもよい。   The command generation unit 140a operates an operation procedure necessary for each work process in accordance with an operation command input from the grasping / operation plan generation unit 101d (FIG. 2) via the plan generation unit 101c (FIG. 2). Generate as a command. The gripping / motion plan generating unit 101d, the plan generating unit 101c, and the command generating unit 140a can refer to the object database 102a and the gripping database 102b in the respective arithmetic processing. The use of the object database 102a and the grip database 102b will be described in detail later. The operation command is a command related to a series of operations of the arm 2 of the manipulator 20 and the hand 200, and is held in the form of a program, for example. The operation command may be given by the operator touching a command command displayed on a user interface (not shown) or may be given by a voice instruction of the worker.

目標値生成部140bは、コマンド生成部140aからモータ等の駆動部(可動部)に対する動作コマンドの指令を受け取る。目標値生成部140bは、駆動部の目標値を算出し、駆動部の駆動に関する目標指令値を生成する。   The target value generation unit 140b receives an operation command command for a drive unit (movable unit) such as a motor from the command generation unit 140a. The target value generation unit 140b calculates a target value for the drive unit, and generates a target command value for driving the drive unit.

駆動制御部140cは、目標値生成部140bから駆動部の目標指令値を受け取り、目標指令値に応じて駆動部を駆動するための駆動指示を生成する。   The drive control unit 140c receives the target command value of the drive unit from the target value generation unit 140b, and generates a drive instruction for driving the drive unit according to the target command value.

判定部140dは、信号処理部101bから各種センサによる検出結果を受け取るとともに、コマンド生成部140aから動作コマンドを受け取る。判定部140dは、各種センサによる検出結果と、動作コマンドとに基づいて、動作コマンドに応じた動作が得られた状況であるか否かを判定し、当該状況に応じてコマンド生成部140aに戻値コマンド(補正指令)を与えることができる。また、判定部140dは、当該状況に応じて駆動制御部140cに駆動停止指令を与えることができる。   The determination unit 140d receives detection results from various sensors from the signal processing unit 101b and also receives an operation command from the command generation unit 140a. The determination unit 140d determines whether or not the operation according to the operation command is obtained based on the detection results from the various sensors and the operation command, and returns to the command generation unit 140a according to the situation. A value command (correction command) can be given. The determination unit 140d can give a drive stop command to the drive control unit 140c according to the situation.

ドライバ140eは、駆動制御部140cから駆動部の駆動指令を受け取り、駆動部の駆動出力を生成する。すなわち、ドライバ140eによって駆動部が駆動される。   The driver 140e receives a drive command for the drive unit from the drive control unit 140c, and generates a drive output for the drive unit. That is, the drive unit is driven by the driver 140e.

[ハンドの動作例]
図7A〜図7Eは、ハンド200Bの動作手順の一例を示す模式図である。図7Aに示されるように、アーム制御部120によって制御されたアーム2の動作に伴い、当該アーム2の先端部に設けられたハンド200Bは、物体Pの上方から所定位置まで下降する。このときハンド200Bの二つのフィンガー200bは閉じた状態である。
[Hand operation example]
7A to 7E are schematic diagrams illustrating an example of an operation procedure of the hand 200B. As illustrated in FIG. 7A, the hand 200 </ b> B provided at the distal end portion of the arm 2 is lowered from above the object P to a predetermined position in accordance with the operation of the arm 2 controlled by the arm control unit 120. At this time, the two fingers 200b of the hand 200B are closed.

このとき、図7Aに示されるように、アーム制御部120は、計画生成部101cで計画された計画や、カメラ21によって撮影された画像、各種センサの検出結果等に基づいて、アーム2の駆動部を制御し、物体Pより上方に離間した所定位置で、マニピュレータ20の下降を停止することができる。   At this time, as shown in FIG. 7A, the arm control unit 120 drives the arm 2 based on the plan planned by the plan generation unit 101c, images taken by the camera 21, detection results of various sensors, and the like. The manipulator 20 can be stopped from descending at a predetermined position spaced above the object P.

次に、図7Bに示されるように、ハンド制御部140は、計画生成部101cで計画された計画や、カメラ21によって撮影された画像、各種センサの検出結果等に基づいて、二つのフィンガー200bの間隔が物体Pの幅よりも僅かに広くなるよう、ハンド200Bの駆動部を制御する。   Next, as illustrated in FIG. 7B, the hand control unit 140 uses the two fingers 200b based on the plan planned by the plan generation unit 101c, images taken by the camera 21, detection results of various sensors, and the like. Is controlled to be slightly wider than the width of the object P.

次に、図7Cに示されるように、アーム制御部120は、計画生成部101cで計画された計画や、カメラ21によって撮影された画像、各種センサの検出結果等に基づいて、ハンド200Bが物体Pを把持する所定位置(把持位置)まで下降するよう、アーム2の駆動部を制御する。   Next, as illustrated in FIG. 7C, the arm control unit 120 determines that the hand 200 </ b> B is an object based on the plan planned by the plan generation unit 101 c, images taken by the camera 21, detection results of various sensors, and the like. The drive unit of the arm 2 is controlled so as to descend to a predetermined position (gripping position) for gripping P.

次に、図7Dに示されるように、ハンド制御部140は、計画生成部101cで計画された計画や、カメラ21によって撮影された画像、各種センサの検出結果等に基づいて、二つのフィンガー200bの間隔が狭まって二つのフィンガー200bが物体Pを把持するよう、ハンド200Bの駆動部を制御する。   Next, as shown in FIG. 7D, the hand control unit 140 uses the two fingers 200b based on the plan planned by the plan generation unit 101c, the images taken by the camera 21, the detection results of various sensors, and the like. The driving unit of the hand 200B is controlled so that the distance between the two fingers 200b is decreased and the object P is gripped by the two fingers 200b.

次に、図7Eに示されるように、アーム制御部120は、計画生成部101cで計画された計画や、カメラ21によって撮影された画像、各種センサの検出結果等に基づいて、ハンド200Bが物体Pを把持した状態で把持位置よりも上方の所定位置まで上昇するよう、アーム2の駆動部を制御する。   Next, as shown in FIG. 7E, the arm control unit 120 detects that the hand 200B is an object based on the plan planned by the plan generation unit 101c, images taken by the camera 21, detection results of various sensors, and the like. The drive unit of the arm 2 is controlled so as to rise to a predetermined position above the gripping position while gripping P.

アーム制御部120およびハンド制御部140は、アーム2およびハンド200Bの一連の動作を、計画生成部101cによって予め計画された計画に従って実行することができる。また、アーム制御部120およびハンド制御部140は、例えば、カメラ21によって撮影された画像やセンサの検出結果等から、ハンド200Bが物体Pや処理部50と接触したことが判定できた場合に、当該接触した位置でアーム2の下降を停止するとともにアーム2を僅かに上方へ移動させるなど、適宜カメラやセンサ等の結果に応じたアーム2およびハンド200Bの制御を実行してもよい。なお、下降、把持、および上昇のハンド200Bの一連の動作は、物体Pの把持方式によらず実行されうる。   The arm control unit 120 and the hand control unit 140 can execute a series of operations of the arm 2 and the hand 200B in accordance with a plan planned in advance by the plan generation unit 101c. In addition, the arm control unit 120 and the hand control unit 140 can determine that the hand 200B is in contact with the object P or the processing unit 50 from the image taken by the camera 21, the detection result of the sensor, or the like. The arm 2 and the hand 200B may be appropriately controlled according to the results of the camera, sensor, and the like, such as stopping the descent of the arm 2 at the contact position and moving the arm 2 slightly upward. A series of operations of the descending, grasping, and ascending hands 200B can be executed regardless of the grasping method of the object P.

[ハンドの構成例3]
図8は、ハンド200C(200)の構成例を示す斜視図である。図8に示されるように、ハンド200Cでは、フィンガー200bの先端部に吸着パッド200aが設けられている。この場合、ハンド制御部140は、物体Pに応じて、あるいはその他の状況に応じて、吸着パッド200aによる物体Pの把持か、フィンガー200bによる物体Pの把持かを、選択することができる。また、この場合、吸着パッド200aは、図3Bのハンド200Aのように、姿勢可変機構200dを介してフィンガー200bに回転可能に設けられているのが好適である。
[Example 3 of hand configuration]
FIG. 8 is a perspective view showing a configuration example of the hand 200C (200). As shown in FIG. 8, in the hand 200C, a suction pad 200a is provided at the tip of the finger 200b. In this case, the hand control unit 140 can select whether the object P is gripped by the suction pad 200a or the object 200 is gripped by the finger 200b according to the object P or according to other situations. In this case, it is preferable that the suction pad 200a is rotatably provided on the finger 200b via the posture changing mechanism 200d as in the hand 200A of FIG. 3B.

[システムの基本動作1(作業台への部品の供給)]
図9は、システムの基本動作の一例が示されたフローチャートである。ここでは、搬送機構40が、ケースBとしての部品かごに収容された物体Pとしての部品を、部品かごごと物体ハンドリング装置1内に取得(搬入)し、マニピュレータ20が当該部品を作業台70へ搬出する場合が例示される。
[Basic operation of the system 1 (supply of parts to the workbench)]
FIG. 9 is a flowchart showing an example of the basic operation of the system. Here, the transport mechanism 40 acquires (loads) a part as an object P accommodated in a part car as the case B into the object handling apparatus 1 together with the part car, and the manipulator 20 sends the part to the work table 70. The case of carrying out is illustrated.

まず、コントローラ100において、システムが起動されるかまたはリセットされるとともに、上位系から動作指示を受け取ると(S101)、コントローラ100は、まず、初期キャリブレーション動作を実行する(S102)。この場合、コントローラ100は、特段問題が無ければ、上位系に問題が無い旨を通知する。これにより、上位系からコントローラ100に、部品の作業台70への供給が指示されるか、あるいは当初受け取っていた動作指示(供給指示)に基づく制御が開始される。なお、初期キャリブレーション動作については、後に詳しく述べる。   First, when the system is activated or reset in the controller 100 and an operation instruction is received from the host system (S101), the controller 100 first executes an initial calibration operation (S102). In this case, if there is no particular problem, the controller 100 notifies the upper system that there is no problem. As a result, the controller 100 instructs the controller 100 to supply the parts to the work table 70 or starts control based on the operation instruction (supply instruction) received at the beginning. The initial calibration operation will be described in detail later.

次に、コントローラ100は、部品(供給対象部品)を収容した部品かごが、物体ハンドリング装置1外の所定位置、例えば部品棚から、物体ハンドリング装置1内の所定位置に搬送されるよう、搬送機構40を制御する(S103)。   Next, the controller 100 transports a component cage containing the component (part to be supplied) from a predetermined position outside the object handling device 1, for example, from a component shelf to a predetermined position in the object handling device 1. 40 is controlled (S103).

次に、コントローラ100は、ベース30の支柱32に設けられたカメラ33を(図1)、部品かごを撮影するよう制御する(S104)。   Next, the controller 100 controls the camera 33 provided on the support column 32 of the base 30 (FIG. 1) so as to photograph the part cage (S104).

次に、コントローラ100は、カメラ33によって撮影された画像に基づいて、部品かご内における供給対象部品の有無の確認と、部品かご内における当該部品の位置、姿勢、および把持位置の計算と、を実行する(S105)。   Next, the controller 100 performs confirmation of the presence / absence of a supply target component in the component cage, and calculation of the position, orientation, and gripping position of the component in the component cage based on the image taken by the camera 33. Execute (S105).

次に、コントローラ100は、部品かご内の供給対象部品を把持するよう、マニピュレータ20を制御する(S106)。   Next, the controller 100 controls the manipulator 20 to hold the supply target component in the component cage (S106).

次に、コントローラ100は、カメラ21,33によって撮影された画像や、各種センサの検出結果等に基づいて、ハンド200による供給対象部品の把持状態を確認する(S107)。   Next, the controller 100 confirms the gripping state of the parts to be supplied by the hand 200 based on images taken by the cameras 21 and 33, detection results of various sensors, and the like (S107).

次に、コントローラ100は、カメラ21,33によって撮影された画像等に基づいて、作業台70(搬送先)が部品を供給できる状態にあるか否かを確認する(S108)。   Next, the controller 100 confirms whether or not the work table 70 (conveyance destination) is in a state in which parts can be supplied based on images taken by the cameras 21 and 33 (S108).

次に、コントローラ100は、ハンド200が把持した部品を作業台70の指定位置に所定姿勢で配置するよう、マニピュレータ20を制御する(S109)。   Next, the controller 100 controls the manipulator 20 so as to place the component gripped by the hand 200 at a specified position on the work table 70 in a predetermined posture (S109).

一連の作業が終了すると、コントローラ100は、待機位置に移動するよう、マニピュレータ20を制御する(S110)。   When the series of work ends, the controller 100 controls the manipulator 20 to move to the standby position (S110).

[システムの基本動作2(作業台からの部品の取り出し)]
図10は、システムの基本動作の別の一例が示されたフローチャートである。ここでは、マニピュレータ20が作業台70から物体Pとしての部品を物体ハンドリング装置1内に取得(搬入)し、搬送機構40が当該部品を物体ハンドリング装置1外へ搬出する場合が例示される。
[Basic operation of system 2 (part removal from work bench)]
FIG. 10 is a flowchart showing another example of the basic operation of the system. Here, a case where the manipulator 20 acquires (loads) a part as an object P from the work table 70 into the object handling apparatus 1 and the transport mechanism 40 carries the part out of the object handling apparatus 1 is exemplified.

まず、コントローラ100において、システムが起動されるかまたはリセットされるとともに、上位系から動作指示を受け取ると(S201)、コントローラ100は、まず、ハンド200が作業台70近傍の所定位置へ移動するよう、マニピュレータ20を制御する(S202)。   First, when the system is activated or reset in the controller 100 and an operation instruction is received from the host system (S201), the controller 100 first causes the hand 200 to move to a predetermined position near the work table 70. Then, the manipulator 20 is controlled (S202).

次に、コントローラ100は、ハンド200のカメラ21によって撮影されたマーク71の画像等に基づいて、作業台70の位置および姿勢を認識するとともに、当該認識した結果に基づいて、バーチャル作業空間(演算空間)における作業台70の位置データの補正を実行する(S203)。   Next, the controller 100 recognizes the position and orientation of the work table 70 based on the image of the mark 71 photographed by the camera 21 of the hand 200 and the virtual work space (calculation) based on the recognized result. The position data of the work table 70 in the space is corrected (S203).

次に、コントローラ100は、作業台70に存在する部品(取出対象部品)を撮影するようハンド200のカメラ21を制御するとともに、撮影された画像に対する画像処理等により、当該部品を認識する(S204)。   Next, the controller 100 controls the camera 21 of the hand 200 so as to photograph a part (part to be taken out) present on the work table 70, and recognizes the part by image processing or the like on the photographed image (S204). ).

次に、コントローラ100は、作業台70に存在する取出対象部品を把持するよう、マニピュレータ20を制御する(S205)。   Next, the controller 100 controls the manipulator 20 so as to grip the part to be taken out present on the work table 70 (S205).

次に、コントローラ100は、カメラ21,33によって撮影された画像や、各種センサの検出結果等に基づいて、ハンド200による取出対象部品の把持状態を確認する(S206)。   Next, the controller 100 confirms the gripping state of the part to be picked up by the hand 200 based on images taken by the cameras 21 and 33, detection results of various sensors, and the like (S206).

次に、コントローラ100は、カメラ21,33によって撮影された画像や、各種センサの検出結果等に基づいて、搬送先の状態を確認する(S207)。   Next, the controller 100 confirms the state of the transport destination based on images taken by the cameras 21 and 33, detection results of various sensors, and the like (S207).

次に、コントローラ100は、ハンド200が把持した部品を物体ハンドリング装置1の指定位置に所定姿勢で配置するよう、マニピュレータ20を制御する(S208)。この場合の指定位置は、例えば、搬送機構40上である。   Next, the controller 100 controls the manipulator 20 so as to place the component gripped by the hand 200 at a specified position of the object handling apparatus 1 in a predetermined posture (S208). The designated position in this case is on the transport mechanism 40, for example.

次に、コントローラ100は、取出対象部品の状態やバーコードなどを確認する。さらに、物体データベース102aを更新する(S209)。   Next, the controller 100 confirms the state of the part to be taken out, the barcode, and the like. Further, the object database 102a is updated (S209).

次に、コントローラ100は、部品(供給対象部品)を収容した部品かごが、物体ハンドリング装置1内の所定位置から、物体ハンドリング装置1外の所定位置、例えば部品棚に搬送されるよう、搬送機構40を制御する(S210)。   Next, the controller 100 has a transport mechanism so that the component cage containing the component (part to be supplied) is transported from a predetermined position in the object handling device 1 to a predetermined position outside the object handling device 1, for example, a component shelf. 40 is controlled (S210).

[情報取得システムの構成]
図11は、情報取得システム300の斜視図である。図11に示される情報取得システム300は、スライドステージ301や、回転ステージ302、位置調整機構303、センサアーム304、スライド機構305、RGBカメラ306、距離画像カメラ307、レーザセンサ308、照明アーム309、照明310、コントローラ320等を備えている。
[Configuration of information acquisition system]
FIG. 11 is a perspective view of the information acquisition system 300. The information acquisition system 300 shown in FIG. 11 includes a slide stage 301, a rotary stage 302, a position adjustment mechanism 303, a sensor arm 304, a slide mechanism 305, an RGB camera 306, a distance image camera 307, a laser sensor 308, an illumination arm 309, An illumination 310, a controller 320, and the like are provided.

コントローラ320は、RGBカメラ306が物体Pの種々の方向からの画像を撮影し、かつ距離画像カメラ307が物体Pの種々の方向からの距離画像を撮影するよう、各部を制御する。物体Pは、回転ステージ302上に載せられている。位置調整機構303は、回転ステージ302の高さ方向の位置を変化させ、スライドステージ301は回転ステージ302の水平方向の位置を変化させる。センサアーム304は、位置調整機構303に回動可能に支持されている。このような構成にあっては、コントローラ320が、スライドステージ301の水平位置、回転ステージ302の角度、位置調整機構303の伸縮度、センサアーム304の角度を設定あるいは調整することにより、RGBカメラ306および距離画像カメラ307による物体Pの撮影方向および撮影距離を変更することができる。なお、以下では、スライドステージ301、回転ステージ302、位置調整機構303、およびセンサアーム304を、可動機構と称することがある。レーザセンサ308による距離の測定結果は、距離画像カメラ307による測定距離のキャリブレーションに用いることができる。また、コントローラ320は、照明310による照明条件を調整することができる。   The controller 320 controls each unit so that the RGB camera 306 captures images from various directions of the object P, and the distance image camera 307 captures distance images from various directions of the object P. The object P is placed on the rotary stage 302. The position adjustment mechanism 303 changes the position of the rotary stage 302 in the height direction, and the slide stage 301 changes the position of the rotary stage 302 in the horizontal direction. The sensor arm 304 is rotatably supported by the position adjustment mechanism 303. In such a configuration, the controller 320 sets or adjusts the horizontal position of the slide stage 301, the angle of the rotary stage 302, the degree of expansion / contraction of the position adjustment mechanism 303, and the angle of the sensor arm 304, thereby adjusting the RGB camera 306. The shooting direction and shooting distance of the object P by the distance image camera 307 can be changed. Hereinafter, the slide stage 301, the rotary stage 302, the position adjustment mechanism 303, and the sensor arm 304 may be referred to as a movable mechanism. The distance measurement result by the laser sensor 308 can be used for calibration of the measurement distance by the distance image camera 307. In addition, the controller 320 can adjust the illumination condition by the illumination 310.

コントローラ320は、撮影された画像や、センサによる検出結果に基づいて、物体Pの物体情報を生成する。生成された物体情報は、物体データベース102aに格納される。また、コントローラ320は、物体Pの物体情報に基づいて、当該物体Pを把持するための把持情報を生成することができる。生成された把持情報は、把持データベース102bに格納される。また、コントローラ320は、把持情報に、入力あるいは受信された情報等から、物体Pの把持可能な位置や姿勢、把持のしやすさ等を示す把持スコア、把持実行時の押し込み可能量、把持判定のための閾値等を、付加して格納することができる。   The controller 320 generates object information of the object P based on the photographed image and the detection result by the sensor. The generated object information is stored in the object database 102a. Further, the controller 320 can generate grip information for gripping the object P based on the object information of the object P. The generated grip information is stored in the grip database 102b. In addition, the controller 320 determines whether the gripping information includes a gripping score indicating the gripping position and posture of the object P, ease of gripping, etc., a pushable amount at the time of gripping, gripping determination, based on input or received information. For example, a threshold value can be added and stored.

また、情報取得システム300は、オペレータによる操作を入力するためのユーザインタフェース(不図示)を備える。また、情報取得システム300は、重量センサを有するとともに、その他のセンサ(不図示)を有することができる。また、情報取得システム300は、全体を覆うカバー(不図示)を装着できるよう構成されうる。   The information acquisition system 300 also includes a user interface (not shown) for inputting an operation by the operator. The information acquisition system 300 can include a weight sensor and other sensors (not shown). In addition, the information acquisition system 300 can be configured so that a cover (not shown) covering the whole can be attached.

[物体データベースおよび把持データベース]
図12は、物体データベース102aに格納されている物体情報を示す表である。物体データベース102aに格納される物体情報には、例えば、物体ID番号や、物体名情報、アイテムカテゴリ情報、多方向2次元画像情報、3次元画像情報、詳細CADモデル情報、簡易CADモデル情報、バーコード情報、物体判定用識別器情報、重量情報、把持時の特性情報(例えば、柔らかい、壊れやすい、形が変わる等)、撮影条件情報等が含まれうる。ここに、物体判定用識別器情報は、例えば、物体の判別に用いられる分類器、識別器、パターンマッチング用の辞書等の情報である。また、撮影条件情報は、撮影日時や、環境、撮影機材等を示す情報である。
[Object database and gripping database]
FIG. 12 is a table showing object information stored in the object database 102a. Object information stored in the object database 102a includes, for example, an object ID number, object name information, item category information, multi-directional two-dimensional image information, three-dimensional image information, detailed CAD model information, simple CAD model information, bar Code information, identifier information for object determination, weight information, characteristic information at the time of gripping (for example, soft, fragile, shape change, etc.), imaging condition information, and the like can be included. Here, the discriminator information for object determination is information such as a classifier, a discriminator, a pattern matching dictionary, etc. used for discriminating objects. The shooting condition information is information indicating shooting date and time, environment, shooting equipment, and the like.

図13は、把持データベース102bに格納されている把持情報を示す表である。把持データベース102bに格納される把持情報には、例えば、物体ID番号や、物体名情報、把持形状カテゴリ情報、把持方法情報、把持位置情報、把持スコア情報、探索範囲情報、押込み量情報、把持判定情報、搬送姿勢情報、許容速度情報等が含まれうる。把持データベース102bでは、把持位置情報や、把持スコア情報、探索範囲情報、押込み量情報、把持判定情報、搬送姿勢情報、許容速度情報等は、把持方法毎に設定されている。図12,13から明らかとなるように、物体データベース102aに格納される物体情報と、把持データベース102bに格納される把持情報とは、物体ID番号や、物体名情報によって、互いに関連付けされている。   FIG. 13 is a table showing grip information stored in the grip database 102b. The grip information stored in the grip database 102b includes, for example, an object ID number, object name information, grip shape category information, grip method information, grip position information, grip score information, search range information, push amount information, grip determination Information, transport posture information, allowable speed information, and the like can be included. In the gripping database 102b, gripping position information, gripping score information, search range information, push-in amount information, gripping determination information, transport posture information, allowable speed information, and the like are set for each gripping method. 12 and 13, the object information stored in the object database 102a and the grip information stored in the grip database 102b are associated with each other by the object ID number and the object name information.

[情報取得システムによる物体情報の取得手順]
図14は、情報取得システム300による物体情報を取得する手順を示すフローチャートである。カバーが開けられ、回転ステージ302上に物体Pが設置され(S301)、ユーザインタフェース等から物体名ID番号あるいは物体名情報が入力されると、コントローラ320は、情報取得システム300の各部に、物体情報を取得する処理の実行を開始する指示を出力する(S302)。
[Obtaining Object Information by Information Acquisition System]
FIG. 14 is a flowchart illustrating a procedure for acquiring object information by the information acquisition system 300. When the cover is opened, the object P is set on the rotation stage 302 (S301), and the object name ID number or the object name information is input from the user interface or the like, the controller 320 transmits the object name to each part of the information acquisition system 300. An instruction to start execution of processing for acquiring information is output (S302).

次に、物体Pを設置する位置の調整が実行される(S303)。S303では、例えば、コントローラ320は、物体PのRGBカメラ306や距離画像カメラ307の仮撮影画像に基づいて、可動機構を作動させて物体Pの位置を調整し、物体Pの図心想定位置を撮影中心と一致させる。   Next, adjustment of the position where the object P is installed is executed (S303). In S303, for example, the controller 320 adjusts the position of the object P by operating the movable mechanism based on the provisional captured images of the RGB camera 306 and the distance image camera 307 of the object P, and sets the assumed centroid position of the object P. Match the shooting center.

次に、コントローラ320は、重量センサによる物体Pの重量の検出結果を取得し、当該検出結果に基づいて物体Pの重量を計測する(S304)。   Next, the controller 320 acquires the detection result of the weight of the object P by the weight sensor, and measures the weight of the object P based on the detection result (S304).

次に、コントローラ320は、可動機構、例えば、回転ステージ302やセンサアーム304の位置(角度)をステップ的に変化させ、各位置(角度)において、撮影を実行するようRGBカメラ306や距離画像カメラ307を制御する(S305)。また、この際、コントローラ320は、各ステップにおいて、レーザセンサ308による距離の計測結果を取得しておく。   Next, the controller 320 changes the position (angle) of the movable mechanism, for example, the rotary stage 302 or the sensor arm 304 in a stepwise manner, and the RGB camera 306 or the distance image camera so as to execute photographing at each position (angle). 307 is controlled (S305). At this time, the controller 320 obtains a distance measurement result by the laser sensor 308 in each step.

次に、コントローラ320は、必要に応じて、物体Pが反転した状態で、ステップS305と同様の撮影を実行する。物体Pの反転は、オペレータが行ってもよいし、マニピュレータ20や他のロボット8等の装置が使用できる状況にあっては、コントローラ320が当該装置を利用して実行してもよい(S306)。   Next, the controller 320 performs imaging similar to that in step S305, with the object P reversed, as necessary. The inversion of the object P may be performed by the operator, or may be executed by the controller 320 using the apparatus when the apparatus such as the manipulator 20 or another robot 8 can be used (S306). .

撮影が完了すると、コントローラ320は、物体データベース102aに登録する1次物体情報を自動生成する(S307)。ここで、1次物体情報とは、例えば、物体Pの、アイテムカテゴリ情報、多方向2次元画像情報、3次元画像情報、詳細CADモデル情報、簡易CADモデル情報、バーコード情報、物体判定用識別器情報等である。1次物体情報の自動生成については、後に詳しく述べる。   When shooting is completed, the controller 320 automatically generates primary object information to be registered in the object database 102a (S307). Here, the primary object information is, for example, item category information, multi-directional two-dimensional image information, three-dimensional image information, detailed CAD model information, simple CAD model information, barcode information, identification for object determination of the object P. Vessel information. The automatic generation of primary object information will be described in detail later.

次に、コントローラ320は、自動生成した1次物体情報をユーザインタフェースの出力部(ディスプレイ等)に表示し、ユーザインタフェースの入力部(キーボード等)によるオペレータの修正指示および入力データに基づいて、1次物体情報を修正する(S308)。   Next, the controller 320 displays the automatically generated primary object information on the output unit (display or the like) of the user interface, and based on the operator's correction instruction and input data by the input unit (keyboard or the like) of the user interface. Next object information is corrected (S308).

次に、コントローラ320は、修正された1次物体情報に基づいて、1次把持情報を自動生成する(S309)。ここで、1次把持情報とは、物体Pの把持についての、把持形状カテゴリ情報、把持方法情報、把持位置情報、把持スコア情報、探索範囲情報、押込み量情報、把持判定情報、搬送姿勢情報、許容速度情報等である。1次把持情報の自動生成については、後に詳しく述べる。   Next, the controller 320 automatically generates primary grip information based on the corrected primary object information (S309). Here, the primary gripping information refers to gripping shape category information, gripping method information, gripping position information, gripping score information, search range information, push amount information, gripping determination information, transport posture information, Permissible speed information. The automatic generation of primary grip information will be described in detail later.

次に、コントローラ320は、自動生成した1次把持情報をユーザインタフェースの出力部(ディスプレイ等)に表示し、ユーザインタフェースの入力部(キーボード等)によるオペレータの修正指示および入力データに基づいて、1次把持情報を修正する(S310)。   Next, the controller 320 displays the automatically generated primary grip information on the output unit (display or the like) of the user interface, and 1 based on the operator's correction instruction and input data by the input unit (keyboard or the like) of the user interface. The next grip information is corrected (S310).

次に、コントローラ320は、物品判定用識別器情報等の学習関連の処理を更新する(S311)。   Next, the controller 320 updates learning-related processing such as article determination discriminator information (S311).

次に、コントローラ320は、修正された1次物体情報を、物体データベース102aに更新登録するとともに、修正された1次把持情報を、把持データベース102bに更新登録する(S312)。   Next, the controller 320 updates and registers the corrected primary object information in the object database 102a, and updates and registers the corrected primary grip information in the grip database 102b (S312).

[情報取得システムにおける物体情報の自動生成]
1次物体情報のうち、詳細CADモデル情報は、例えば、得られた多方向2次元画像情報や、当該多方向2次元画像情報から再構成されて得られた3次元画像情報、距離画像情報等から得られたポイントクラウドデータのような三次元点群情報を、STLやSTEPといった3次元の面情報や点群情報に変換することにより、取得することができる。
[Automatic generation of object information in information acquisition system]
Among the primary object information, the detailed CAD model information includes, for example, the obtained multidirectional two-dimensional image information, three-dimensional image information obtained by reconstructing the multidirectional two-dimensional image information, distance image information, and the like. Can be obtained by converting three-dimensional point cloud information such as point cloud data obtained from the above into three-dimensional surface information or point cloud information such as STL or STEP.

さらに、得られた詳細CADモデル情報の図心および当該図心の基準座標が定義される。基準座標は、例えば、情報取得システム300に物体Pが置かれた姿勢を基準としてもよい。具体的には、例えば、物体Pの外接長方形の最大面の法線方向の逆方向をZ軸、最大面の長辺に沿う方向をY軸、短辺に沿う方向をX軸とするなどのルールを適用することができる。   Furthermore, the centroid of the obtained detailed CAD model information and the reference coordinates of the centroid are defined. The reference coordinates may be based on, for example, the posture where the object P is placed on the information acquisition system 300. Specifically, for example, the reverse direction of the normal direction of the maximum surface of the circumscribed rectangle of the object P is the Z axis, the direction along the long side of the maximum surface is the Y axis, and the direction along the short side is the X axis. Rules can be applied.

また、簡易CADモデル情報は、例えば、得られた詳細CADモデルの頂点情報を削減したり、三次元点群情報を立方体や円柱など、少数の基本形に当てはめたりすることによって、データサイズが削減された情報として、取得することができる。   The simplified CAD model information is reduced in data size by reducing the vertex information of the obtained detailed CAD model or by applying the 3D point cloud information to a small number of basic shapes such as a cube or a cylinder. Information can be obtained.

また、バーコード情報は、得られた多方向2次元画像情報から、画像処理によってバーコード領域を抽出し、バーコード情報を解析することにより、対象アイテムのID等の情報を得ることができる。この場合、バーコード情報には、物体Pにおけるバーコード領域の存在位置や存在方向を示す情報や、詳細CADモデル情報あるいは簡易CADモデル情報におけるバーコード領域の存在位置や存在方向を示す情報と、関連付けて、あるいは当該情報を含めて、物体データベース102aに格納される。   Further, the barcode information can be obtained by extracting a barcode area from the obtained multi-directional two-dimensional image information by image processing and analyzing the barcode information, thereby obtaining information such as the ID of the target item. In this case, the barcode information includes information indicating the position and direction of the barcode area in the object P, information indicating the position and direction of the barcode area in the detailed CAD model information or the simple CAD model information, The information is stored in the object database 102a in association with or including the information.

また、アイテムカテゴリ情報は、製造現場ではネジやナット、締結部品、保護部品等の部品の種別を表すような分類、完成品の物流現場では、衣類や文房具、電子機器のような物品の種別を表すような分類であり、画像情報やCADモデル情報から、カテゴリ認識技術を用いて決定することができる。   In addition, item category information includes classifications that indicate the types of parts such as screws, nuts, fastening parts, and protective parts at the manufacturing site, and classifications of articles such as clothing, stationery, and electronic equipment at the distribution site of finished products. This is a classification to represent, and can be determined from image information and CAD model information using a category recognition technique.

また、物体判定用識別情報、すなわち、物体の判別に用いられる分類器、識別器、パターンマッチング用の辞書等の情報は、例えば、得られた多方向2次元画像情報、3次元画像情報、物体名情報等から、SIFT、HOGやHaar−likeといった2次元画像の特徴量や、SHOTといった3次元形状データを用いた特徴量を用いた手法や深層学習等、ニューラルネットを用いた手法などにより、生成することができる。   Further, the identification information for object determination, that is, information such as a classifier, a classifier, a pattern matching dictionary, etc., used for identifying an object is, for example, the obtained multidirectional two-dimensional image information, three-dimensional image information, object From name information, etc., using features such as SIFT, HOG, Haar-like feature quantities of 2D images, features using 3D shape data such as SHOT, deep learning, etc. Can be generated.

[情報取得システムにおける把持情報の自動生成]
図15は、把持基本系モデルの模式図であり、図16は、把持方法基本データの模式図である。また、図17は、情報取得システム300による把持情報の自動生成の手順の一部を示す模式図である。
[Automatic generation of grip information in information acquisition system]
FIG. 15 is a schematic diagram of a gripping basic system model, and FIG. 16 is a schematic diagram of gripping method basic data. FIG. 17 is a schematic diagram illustrating a part of a procedure for automatically generating grip information by the information acquisition system 300.

コントローラ320(データベース情報生成部)は、把持情報生成のために、予め物体モデルの基本系である図15に例示されるような把持基本系モデルと、把持基本系モデルに対する基本的な把持方法を定義した図16に例示されるような把持方法基本系データと、を有している。把持基本系モデルおよび把持方法基本系データは、プログラムに記載されてもよいし、補助記憶部等にデータベースとして登録されてもよい。   The controller 320 (database information generation unit) generates a gripping basic system model as illustrated in FIG. 15 that is a basic system of an object model in advance and a basic gripping method for the gripping basic system model in order to generate gripping information. And holding method basic system data as exemplified in FIG. The gripping basic system model and the gripping method basic system data may be described in a program, or may be registered as a database in an auxiliary storage unit or the like.

把持基本系モデルは、図15に示されるように、例えば、直方体Mo1や、平板Mo2、角棒Mo3、円筒Mo4、丸棒Mo5等の形状データである。把持方法基本データは、把持基本系モデルの各面や特徴点に対して、ハンド200による吸着Me11〜Me12や、挟み込みMe22〜Me24、掴み等、把持が可能な把持方法が定義されている。図16の例では、直方体Mo1に対しては、直方体Mo1の各面に対する吸着パッド方式による吸着Me11や、相対する各面を挟み込む挟み込みMe21が可能なことが定義される。なお、図15,16は一例に過ぎず、図15以外の把持基本形モデルや、図16に示されたもの以外の把持方法基本データも、勿論定義可能である。   As shown in FIG. 15, the gripping basic system model is, for example, shape data of a rectangular parallelepiped Mo1, a flat plate Mo2, a square bar Mo3, a cylindrical Mo4, a round bar Mo5, and the like. The gripping method basic data defines gripping methods capable of gripping, such as suction Me11 to Me12, sandwiching Me22 to Me24, and gripping with respect to each surface and feature points of the gripping basic system model. In the example of FIG. 16, it is defined that the rectangular parallelepiped Mo1 can have the suction Me11 by the suction pad method with respect to each surface of the rectangular parallelepiped Mo1 and the sandwiching Me21 that sandwiches the opposing surfaces. 15 and 16 are merely examples, and it is of course possible to define basic gripping model other than that shown in FIG. 15 and basic gripping method data other than that shown in FIG.

把持カテゴリ情報は、図17に示されるように、例えば、形状(例えば、直方体型、平板型、複合型等)や構造材質(例えば、固さ、脆さ、柔軟性、多孔性等)によって分類される。把持カテゴリの形状は、物体情報のCADモデル情報と把持基本系モデルのマッチング処理を行い、最も近い把持基本系モデルを当てはめることにより決定できる。把持カテゴリの構造材質情報は、物体情報のRGBD画像情報からのカテゴリ認識や、アイテムカテゴリ情報からの再分類によって決定できる。   As shown in FIG. 17, for example, the gripping category information is classified by shape (for example, rectangular parallelepiped type, flat plate type, composite type, etc.) and structural material (for example, hardness, brittleness, flexibility, porosity, etc.). Is done. The shape of the gripping category can be determined by matching the CAD model information of the object information with the gripping basic system model and applying the closest gripping basic system model. The structural material information of the gripping category can be determined by category recognition from the RGBD image information of the object information or reclassification from the item category information.

把持方法情報は、図17に示されるように、例えば、把持カテゴリの形状情報から、把持方法基本データを参照することによって、決定できる。なお、形状の組み合わせによって、把持方法基本データで定義された方向が隠れる場合等には、把持方法から除外する。   As shown in FIG. 17, the gripping method information can be determined by referring to the gripping method basic data from the shape information of the gripping category, for example. In addition, when the direction defined by the gripping method basic data is hidden by the combination of shapes, it is excluded from the gripping method.

把持位置情報は、把持方法情報と同様に、把持カテゴリの形状情報で定義された対象物の基本姿勢に対して、把持方法基本データで定義された各把持方法での把持を行う、把持位置の座標値と把持姿勢を計算することにより決定できる。   Like the grip method information, the grip position information is the grip position information for gripping with the grip method defined by the grip method basic data for the basic posture of the object defined by the shape information of the grip category. This can be determined by calculating the coordinate value and the gripping posture.

把持スコア情報は、各把持方法に対して、把持位置の形状との組み合わせで規定されるルールにしたがって算出することができる。当該ルールは、例えば、吸着パッドによる吸着の場合、吸着を行う平面部の面積が広ければ、スコアを高くする、CADモデルの平面部に微小な凹凸があるような場合には、スコアを低くする、構造材質情報がプラスティックのような空気を通さないものであれば、スコアを高くする、多孔質のような空気を通すものであれば、スコアを低くする、等である。これらの情報を学習データとした識別器を通して把持スコアを決定することができる。把持スコアは、把持の成功確率の指標と考えることができる。   The grip score information can be calculated according to a rule defined by a combination with the shape of the grip position for each grip method. For example, in the case of suction by a suction pad, the rule increases the score if the area of the flat part to be sucked is large, and lowers the score if the flat part of the CAD model has minute irregularities. If the structural material information is a material that does not allow air to pass, such as plastic, the score is increased. If the material is porous, such as air, the score is decreased. A gripping score can be determined through an identifier using these pieces of information as learning data. The gripping score can be considered as an index of the gripping success probability.

探索範囲情報は、把持作業中に把持失敗判定が生じた際に、対象物の再探索に利用する情報であり、把持カテゴリの形状で決定された物体Pのサイズが小さいほど探索範囲は小さく設定され、サイズが大きいほど探索範囲は大きく設定される。   The search range information is information used for re-searching the target when a gripping failure determination occurs during the gripping operation. The smaller the size of the object P determined by the shape of the gripping category, the smaller the search range is set. The larger the size, the larger the search range is set.

押込み量情報は、把持判定の際にハンド200の押し込み量を定義したものであり、把持カテゴリの構造材質情報から、硬い材質ほど押込み量は小さく設定され、柔らかい材質ほど押込み量は大きく設定される。   The indentation amount information defines the indentation amount of the hand 200 at the time of gripping determination. From the structure material information of the grasping category, the indentation amount is set to be smaller for harder materials, and the indentation amount is set to be larger for softer materials. .

把持判定情報は、把持判定を行う際の閾値であって、例えば、吸着において、吸着時の負圧(圧力)を把持判定に用いる場合にあっては、形状情報や構造材質情報から、把持位置の漏れ流量が少ないと予想される場合には、より大きな負圧が維持されるため、吸着の判定基準となる負圧の絶対値を大きくする。漏れ流量があると予想される場合には、圧力が下がりにくいため、吸着の判定基準となる負圧の絶対値を小さくする。この場合でも、十分に吸引の流量が確保できていれば、物体Pの把持は可能である。また、挟持の場合には、例えば、材質が硬い場合には、挟持の際のフィンガー200bへの反力を高く設定し、柔らかいものの場合には、フィンガー200bへの反力を低く設定する。このように、把持状態の判定値を物体Pの特性によって変化させることで、より多くの種類の物体Pを安定して把持することが可能となる。   The grip determination information is a threshold value when grip determination is performed. For example, in the case of suction, when the negative pressure (pressure) at the time of suction is used for grip determination, the grip position is determined from the shape information or the structural material information. When the leakage flow rate is expected to be small, a larger negative pressure is maintained, so the absolute value of the negative pressure that is a criterion for adsorption is increased. When it is expected that there is a leakage flow rate, the pressure is unlikely to decrease, so the absolute value of the negative pressure that is a criterion for adsorption is reduced. Even in this case, the object P can be gripped if the suction flow rate is sufficiently secured. In the case of clamping, for example, when the material is hard, the reaction force to the finger 200b at the time of clamping is set high, and when it is soft, the reaction force to the finger 200b is set low. Thus, by changing the determination value of the gripping state according to the characteristics of the object P, it is possible to stably grip more types of objects P.

なお、情報取得システム300のコントローラ320が実行する上述した処理は、物体ハンドリング装置1のデータベース情報生成更新部101iが実行することができる。すなわち、物体ハンドリング装置1は、情報取得システム300の一例でもある。この場合、処理部50上に載置された物体Pが、ハンド200(マニピュレータ20)のカメラ21によって複数方向や複数の距離から撮影される。この場合、マニピュレータ20を用いて処理部50における物体Pの姿勢を変化させてもよい。そして、演算処理部101により、コントローラ320による上述した処理と同様の処理が実行される。   The above-described processing executed by the controller 320 of the information acquisition system 300 can be executed by the database information generation / update unit 101i of the object handling apparatus 1. That is, the object handling apparatus 1 is also an example of the information acquisition system 300. In this case, the object P placed on the processing unit 50 is photographed from a plurality of directions and a plurality of distances by the camera 21 of the hand 200 (manipulator 20). In this case, the posture of the object P in the processing unit 50 may be changed using the manipulator 20. Then, processing similar to the processing described above by the controller 320 is executed by the arithmetic processing unit 101.

[物体ハンドリング装置の特徴的な機能]
物体ハンドリング装置1は、以下の(1)〜(5)の特徴的な機能を有している。以下、これら機能について、順に説明する。
(1)マニュアルキャリブレーションを最小限に抑えるオートキャリブレーション機能
(2)弾性関節を有したハンドによる物体データベースおよび把持データベースに基づいた物体の柔軟なハンドリングを実現する把持機能
(3)機構・センシングの誤差、環境の変化に対し、逐次目標を軌道修正し、対象物を確実にとらえるモデルベーストリアルタイムビジュアルフィードバック制御機能
(4)作業状態を常時モニタリングし、最適な作業手順の選択、エラー復帰を実行するエラーリカバリ機能
(5)作業中のパラメータ学習により使用環境に適応していく学習制御機能
[Characteristics of object handling device]
The object handling apparatus 1 has the following characteristic functions (1) to (5). Hereinafter, these functions will be described in order.
(1) Auto-calibration function to minimize manual calibration (2) Grasping function that realizes flexible handling of objects based on object database and gripping database with hands with elastic joints (3) Mechanism and sensing Model-based real-time visual feedback control function that corrects the trajectory of the target sequentially in response to errors and changes in the environment, and reliably captures the object (4) Monitors the work status at all times, selects the optimal work procedure, and executes error recovery Error recovery function (5) Learning control function that adapts to the usage environment by learning parameters during work

[(1)オートキャリブレーション]
図18Aは、物体ハンドリング装置1のオートキャリブレーションの手順を示すフローチャートである。また、図18Bは、ベース座標系S1とマニピュレータ座標系S2との間の平面誤差の説明図であり、図18Cは、カメラ21によって撮影された較正パターンCPが設けられたマニピュレータ20の画像を示す模式図である。
[(1) Auto calibration]
FIG. 18A is a flowchart illustrating a procedure for auto-calibration of the object handling apparatus 1. 18B is an explanatory diagram of a plane error between the base coordinate system S1 and the manipulator coordinate system S2. FIG. 18C shows an image of the manipulator 20 provided with the calibration pattern CP photographed by the camera 21. It is a schematic diagram.

オートキャリブレーションは、演算処理部101の自動較正部101jが実行する。自動較正部101jは、自動的に、図1に示されるベース座標系S1、マニピュレータ座標系S2、および装置外座標系S3間のずれを把握し、誤差の少ない検出結果および制御結果を得るための較正を実行する。なお、前提として、処理部50のマーク51の位置は、設計情報としてベース座標系S1において既知である。また、各座標系S1,S2,S3の原点の位置や座標軸の方向は、図1に示したものには限定されない。   The auto calibration is executed by the automatic calibration unit 101j of the arithmetic processing unit 101. The automatic calibration unit 101j automatically grasps the deviation between the base coordinate system S1, the manipulator coordinate system S2, and the external device coordinate system S3 shown in FIG. 1, and obtains detection results and control results with less errors. Perform calibration. As a premise, the position of the mark 51 of the processing unit 50 is known as design information in the base coordinate system S1. Further, the position of the origin of each coordinate system S1, S2, S3 and the direction of the coordinate axis are not limited to those shown in FIG.

自動較正部101jは、まず、処理部50とマニピュレータ20の平面誤差を、ハンド200に設けられたカメラ21の撮影画像に基づいて検出する。具体的に、自動較正部101jは、処理部50のマーク51の設計での位置がハンド200のカメラ21の視野の中心ポイント、または所定の想定ポイントに重なると想定される位置および姿勢となるよう、マニピュレータ20を制御する。この場合、カメラ21の光軸がマーク51と直交する姿勢とする。そして、図18Bに示されるように、カメラ21によりマーク51を撮影した画像から、中心ポイントまたは所定の想定ポイントPtとマーク51のXY平面(方向Xおよび方向Y)のずれδx,δy(平面誤差)を計測する。方向Xおよび方向Yは、第一方向の一例である。カメラ21が距離画像カメラである場合、マーク51のXY平面位置だけでなく、Z方向位置も取得できる。Z方向位置を取得することにより、次のステップ(S502)での、マニピュレータ20による奥行位置誤差の探索範囲を絞ることができる。なお、距離画像カメラの情報は、その方向によって位置精度が異なる。一般に、奥行方向には精度が低いため、距離画像カメラの情報のみで十分な精度を出すことは難しい。ずれδx,δyは、第一誤差の一例である(S501)。   First, the automatic calibration unit 101 j detects a plane error between the processing unit 50 and the manipulator 20 based on a photographed image of the camera 21 provided in the hand 200. Specifically, the automatic calibration unit 101j has a position and posture where the position of the mark 51 of the processing unit 50 in the design is assumed to overlap the center point of the field of view of the camera 21 of the hand 200 or a predetermined assumed point. The manipulator 20 is controlled. In this case, it is assumed that the optical axis of the camera 21 is orthogonal to the mark 51. Then, as shown in FIG. 18B, the deviation δx, δy (plane error) between the center point or the predetermined assumed point Pt and the XY plane (direction X and direction Y) of the mark 51 from the image obtained by capturing the mark 51 with the camera 21. ). The direction X and the direction Y are examples of the first direction. When the camera 21 is a distance image camera, not only the XY plane position of the mark 51 but also the Z direction position can be acquired. By acquiring the position in the Z direction, the search range of the depth position error by the manipulator 20 in the next step (S502) can be narrowed down. It should be noted that the positional accuracy of the distance image camera information varies depending on its direction. In general, since the accuracy in the depth direction is low, it is difficult to obtain sufficient accuracy only with the information of the distance image camera. The deviations δx and δy are an example of the first error (S501).

次に、自動較正部101jは、処理部50とマニピュレータ20の奥行位置誤差を、接触センサ200gや、力センサ200h、変位センサ200i等の検出結果に基づいて検出する。具体的に、自動較正部101jは、まず、ハンド200の先端部またはハンド200に設けられたプローブ(不図示)が、マーク51の設計での位置からXY平面においてS501で得られたずれδ1を減らす方向および距離に移動した位置から当該XY平面と直交した方向Zに所定量ずれた位置に移動するよう、マニピュレータ20を制御する。次に、自動較正部101jは、ハンド200の先端部またはプローブがマーク51と接触する位置まで移動するよう、マニピュレータ20を制御する。マーク51との接触は、接触センサ200gや、力センサ200h、変位センサ200i等の検出結果から認識することができる。自動較正部101jは、ハンド200の先端部またはプローブがマーク51と接触した位置でマニピュレータ20を停止し、当該停止した位置でのマニピュレータ座標系S2での位置(奥行き位置、Z方向の位置)を取得する。複数のマーク51について、上述した処理を実行してマニピュレータ座標系S2でのZ方向位置を取得し、さらに各マーク51の設計でのZ方向の位置とのずれδz(奥行誤差)を算出する。方向Zは、第二方向の一例である。ずれδzは、第二誤差の一例である(S502)。   Next, the automatic calibration unit 101j detects a depth position error between the processing unit 50 and the manipulator 20 based on detection results of the contact sensor 200g, the force sensor 200h, the displacement sensor 200i, and the like. Specifically, the automatic calibration unit 101j first detects the deviation δ1 obtained in step S501 on the XY plane from the position of the tip 51 of the hand 200 or the probe (not shown) provided on the hand 200 in the design of the mark 51. The manipulator 20 is controlled so as to move from a position moved in the decreasing direction and distance to a position shifted by a predetermined amount in a direction Z orthogonal to the XY plane. Next, the automatic calibration unit 101j controls the manipulator 20 so as to move to a position where the tip of the hand 200 or the probe contacts the mark 51. The contact with the mark 51 can be recognized from the detection results of the contact sensor 200g, the force sensor 200h, the displacement sensor 200i, and the like. The automatic calibration unit 101j stops the manipulator 20 at the position where the tip of the hand 200 or the probe contacts the mark 51, and determines the position (depth position, position in the Z direction) in the manipulator coordinate system S2 at the stopped position. get. For the plurality of marks 51, the above-described processing is executed to acquire the Z-direction position in the manipulator coordinate system S2, and further, a deviation δz (depth error) from the Z-direction position in the design of each mark 51 is calculated. The direction Z is an example of the second direction. The deviation δz is an example of a second error (S502).

次に、自動較正部101jは、ベース座標系S1においてマニピュレータ座標系S2を較正する。具体的に、自動較正部101jは、複数のマーク51のずれδx,δy,およびδzが最少となる第一補正行列、すなわち、マニピュレータ20(ハンド200)の代表部位のベース座標系S1における位置および姿勢の指令値に対して、当該指令値に極力近い代表部位の実際の位置および姿勢を得るための操作値を算出する第一補正行列を得る。ここでは、第一補正行列を得ることが、ベース座標系S1におけるマニピュレータ座標系S2の較正の一例である。第一補正行列は、指示較正値(第一指示較正値)の一例である(S503)。   Next, the automatic calibration unit 101j calibrates the manipulator coordinate system S2 in the base coordinate system S1. Specifically, the automatic calibration unit 101j has a first correction matrix that minimizes the deviations δx, δy, and δz of the plurality of marks 51, that is, the position of the representative part of the manipulator 20 (hand 200) in the base coordinate system S1 and A first correction matrix for calculating an operation value for obtaining an actual position and posture of a representative part that is as close as possible to the command value is obtained for the command value of the posture. Here, obtaining the first correction matrix is an example of calibration of the manipulator coordinate system S2 in the base coordinate system S1. The first correction matrix is an example of an instruction calibration value (first instruction calibration value) (S503).

次に、自動較正部101jは、ベース座標系S1においてベース30のカメラ33の位置および姿勢を較正する。この処理においては、マニピュレータ座標系S2がベース座標系S1に対して既に較正済みであることが肝要となる。具体的に、自動較正部101jは、まず、図18Cに示されるようなマニピュレータ20(アーム2またはハンド200)に設けられた較正パターンCPが、カメラ33の視野内に入るよう、マニピュレータ20を制御する。次に、自動較正部101jは、較正パターンCPが当該視野内に設定された複数の所定位置に移動するようマニピュレータ20を制御し、それぞれの場所で較正パターンCPを撮影するよう、カメラ33を制御する。次に、自動較正部101jは、カメラ33による較正パターンCPの撮影結果から得られた位置および姿勢と、設計によって本来較正パターンCPのカメラ33による撮影結果から得られるべき位置および姿勢とに基づいて、ベース座標系S1におけるカメラ33の内部光学系の座標系の原点及び姿勢を算出する。カメラの内部光学系の座標系はカメラ座標系と呼ばれ、原点および姿勢は一般に外部パラメータと呼ばれるものであり、その値は、透視投影行列の推定手法等により、算出することができる。ここでは、当該公知の手法により、カメラ33のベース座標系S1における実際の位置および姿勢を得るための第二補正行列を得る。このように、ベース座標系S1におけるカメラ33の位置及び姿勢が較正されることにより、以後カメラ33で撮影した結果から、撮影対象物の位置及び姿勢を正しく算出することが可能となる。第二補正行列は、画像較正値の一例である(S504)。   Next, the automatic calibration unit 101j calibrates the position and orientation of the camera 33 of the base 30 in the base coordinate system S1. In this process, it is important that the manipulator coordinate system S2 is already calibrated with respect to the base coordinate system S1. Specifically, the automatic calibration unit 101j first controls the manipulator 20 so that the calibration pattern CP provided on the manipulator 20 (arm 2 or hand 200) as shown in FIG. To do. Next, the automatic calibration unit 101j controls the manipulator 20 so that the calibration pattern CP moves to a plurality of predetermined positions set in the field of view, and controls the camera 33 so as to capture the calibration pattern CP at each location. To do. Next, the automatic calibration unit 101j is based on the position and orientation obtained from the imaging result of the calibration pattern CP by the camera 33, and the position and orientation that should be obtained from the imaging result of the calibration pattern CP by the camera 33 by design. Then, the origin and orientation of the coordinate system of the internal optical system of the camera 33 in the base coordinate system S1 are calculated. The coordinate system of the internal optical system of the camera is called a camera coordinate system, and the origin and orientation are generally called external parameters, and the values can be calculated by a perspective projection matrix estimation method or the like. Here, the second correction matrix for obtaining the actual position and orientation of the camera 33 in the base coordinate system S1 is obtained by the known method. Thus, by calibrating the position and orientation of the camera 33 in the base coordinate system S1, it is possible to correctly calculate the position and orientation of the object to be imaged from the results obtained by the camera 33 thereafter. The second correction matrix is an example of an image calibration value (S504).

次に、自動較正部101jは、以下に示すS505およびS506の手順を経て、ベース座標系S1において作業台70(装置外)の位置および姿勢を較正する(S507)。この処理においても、マニピュレータ座標系S2がベース座標系S1に対して既に較正済みであることが肝要となる。具体的に、まず、自動較正部101jは、作業台70とマニピュレータ20の平面誤差を、ハンド200に設けられたカメラ21の撮影画像に基づいて検出する。具体的に、自動較正部101jは、作業台70のマーク71がカメラ21の視野内に入るよう、マニピュレータ20を制御する。次に、カメラ21によるマーク71およびその周辺部の特徴点情報から、作業台70の大まかな位置および姿勢を算出する。次に、自動較正部101jは、マーク71の設計での位置がハンド200のカメラ21の視野の中心ポイント、または所定の想定ポイントに重なると想定される位置および姿勢となるよう、マニピュレータ20を制御する。この場合、カメラ21の光軸がマーク71と直交する姿勢とする。そして、カメラ21によりマーク71を撮影した画像から、中心ポイントまたは所定の想定ポイントとマーク71のXY平面のずれ(平面誤差)を計測する(S505)。なお、本実施形態では、カメラ21がマーク71の画像を撮影したが、カメラ33がマーク71の画像を撮影してもよい。カメラ33を用いる場合には、カメラ33の位置及び姿勢がベース座標系S1において較正されていることが肝要である。   Next, the automatic calibration unit 101j calibrates the position and orientation of the work table 70 (outside the apparatus) in the base coordinate system S1 through the following steps S505 and S506 (S507). Also in this process, it is important that the manipulator coordinate system S2 is already calibrated with respect to the base coordinate system S1. Specifically, first, the automatic calibration unit 101 j detects a plane error between the work table 70 and the manipulator 20 based on a photographed image of the camera 21 provided on the hand 200. Specifically, the automatic calibration unit 101j controls the manipulator 20 so that the mark 71 on the workbench 70 is within the field of view of the camera 21. Next, a rough position and orientation of the work table 70 are calculated from the mark 71 and the feature point information of the peripheral portion thereof by the camera 21. Next, the automatic calibration unit 101j controls the manipulator 20 so that the position of the mark 71 in the design is a center point of the field of view of the camera 21 of the hand 200 or a position and posture assumed to overlap a predetermined assumption point. To do. In this case, it is assumed that the optical axis of the camera 21 is orthogonal to the mark 71. Then, a deviation (plane error) between the center point or a predetermined assumed point and the XY plane of the mark 71 is measured from an image obtained by photographing the mark 71 with the camera 21 (S505). In the present embodiment, the camera 21 captures the image of the mark 71, but the camera 33 may capture the image of the mark 71. When using the camera 33, it is important that the position and orientation of the camera 33 are calibrated in the base coordinate system S1.

次に、自動較正部101jは、処理部50とマニピュレータ20の奥行位置誤差を、接触センサ200gや、力センサ200h、変位センサ200i等の検出結果に基づいて検出する。具体的に、自動較正部101jは、まず、ハンド200の先端部またはハンド200に設けられたプローブ(不図示)が、マーク71の設計での位置からXY平面と直交したZ方向に所定量ずれた位置に移動するよう、マニピュレータ20を制御する。次に、自動較正部101jは、ハンド200の先端部またはプローブがマーク71と接触する位置まで移動するよう、マニピュレータ20を制御する。マーク71との接触は、接触センサ200gや、力センサ200h、変位センサ200i等の検出結果から認識することができる。自動較正部101jは、ハンド200の先端部またはプローブがマーク71と接触した位置でマニピュレータ20を停止し、当該停止した位置でのベース座標系S1での位置(奥行き位置、Z方向の位置)を取得する。複数のマーク71について、上述した処理を実行してベース座標系S1でのZ方向位置を取得し、さらに各マーク71の設計でのZ方向の位置とのずれを算出する(S506)。   Next, the automatic calibration unit 101j detects a depth position error between the processing unit 50 and the manipulator 20 based on detection results of the contact sensor 200g, the force sensor 200h, the displacement sensor 200i, and the like. Specifically, the automatic calibration unit 101j first shifts the tip of the hand 200 or a probe (not shown) provided on the hand 200 by a predetermined amount in the Z direction orthogonal to the XY plane from the position of the design of the mark 71. The manipulator 20 is controlled to move to the selected position. Next, the automatic calibration unit 101j controls the manipulator 20 so as to move to a position where the tip of the hand 200 or the probe contacts the mark 71. The contact with the mark 71 can be recognized from detection results of the contact sensor 200g, the force sensor 200h, the displacement sensor 200i, and the like. The automatic calibration unit 101j stops the manipulator 20 at the position where the tip of the hand 200 or the probe contacts the mark 71, and determines the position (depth position, position in the Z direction) in the base coordinate system S1 at the stopped position. get. For the plurality of marks 71, the above-described processing is executed to acquire the Z-direction position in the base coordinate system S1, and the deviation from the Z-direction position in the design of each mark 71 is calculated (S506).

次に、自動較正部101jは、ベース座標系S1において作業台70の位置および姿勢を較正する。具体的に、自動較正部101jは、複数のマーク71の平面方向のずれおよび奥行方向のずれが最少となる第三補正行列、すなわち、作業台70の代表部位のベース座標系S1における位置および姿勢の指令値に対して、当該指令値に極力近い代表部位の実際の位置および姿勢を得るための操作値を算出する第三補正行列を得る。ここでは、第三補正行列を得ることが、ベース座標系S1における作業台70の位置および姿勢の較正の一例である。第三補正行列は、指示較正値(第二指示較正値)の一例である(S507)。   Next, the automatic calibration unit 101j calibrates the position and orientation of the work table 70 in the base coordinate system S1. Specifically, the automatic calibration unit 101j has a third correction matrix that minimizes the shift in the planar direction and the shift in the depth direction of the plurality of marks 71, that is, the position and orientation in the base coordinate system S1 of the representative part of the workbench 70. A third correction matrix for calculating an operation value for obtaining the actual position and posture of the representative part as close as possible to the command value is obtained. Here, obtaining the third correction matrix is an example of calibration of the position and orientation of the work table 70 in the base coordinate system S1. The third correction matrix is an example of an instruction calibration value (second instruction calibration value) (S507).

本実施形態によれば、自動較正部101jは、指令値、カメラ21が撮影した画像、およびセンサによる検出結果から、比較的容易にあるいはより精度良く、指示較正値(第一指示較正値、第二指示較正値)を取得することができるため、指令値に対する誤差を減らすことができる。さらに、自動較正部101jは、複数の指令値と当該指令値のそれぞれに対応してカメラ33が撮影した複数の画像とから、比較的容易にあるいはより精度良く、画像較正値を取得することができるため、画像から得られる位置の誤差を減らすことができる。また、自動較正部101jによる較正処理は、物体ハンドリング装置1が例えば起動時や所定の時刻や時間間隔で自動的に実行されるのが好適である。このようなオートキャリブレーションは、アーム2やハンド200に弾性機構200e等の弾性部や弾性関節が設けられた物体ハンドリング装置1において有益である。本実施形態では、カメラ画像および力センサ200h等の複数のセンサを用いて座標系の較正を行う場合に、それぞれの精度の高い方向の情報をより優先的に活用している。これにより、より精細な座標系の較正が可能となる。なお、本実施形態ではカメラ画像による誤差算出の方向と力センサ200hの誤差算出の方向とが互いに直交している場合について説明したが、これら方向は、直交成分があれば、完全に直交していない場合でも有効である。   According to the present embodiment, the automatic calibration unit 101j relatively easily or more accurately determines the instruction calibration value (the first instruction calibration value, the first instruction value) from the command value, the image captured by the camera 21, and the detection result by the sensor. (Two-indicating calibration value) can be acquired, so that an error with respect to the command value can be reduced. Furthermore, the automatic calibration unit 101j can acquire an image calibration value relatively easily or more accurately from a plurality of command values and a plurality of images taken by the camera 33 corresponding to each of the command values. Therefore, the position error obtained from the image can be reduced. In addition, it is preferable that the calibration processing by the automatic calibration unit 101j is automatically executed when the object handling apparatus 1 is started, for example, at a predetermined time or time interval. Such auto-calibration is useful in the object handling apparatus 1 in which the arm 2 or the hand 200 is provided with an elastic part such as the elastic mechanism 200e or an elastic joint. In the present embodiment, when the coordinate system is calibrated using a plurality of sensors such as a camera image and a force sensor 200h, information with high accuracy in each direction is more preferentially used. Thereby, a finer coordinate system can be calibrated. In the present embodiment, the case where the error calculation direction by the camera image and the error calculation direction of the force sensor 200h are orthogonal to each other has been described. However, these directions are completely orthogonal if there is an orthogonal component. Even if not, it is effective.

[(2)データベースに基づく柔軟なハンドリング]
図19Aおよび図19Bは、物体データベースおよび把持データベースに基づくハンド200による柔軟なハンドリングの手順を示すフローチャートである。また、図20A〜20Cは、動作経由点を示す図であって、図20Aは、初期位置p0、対象物(部品、物体)、および搬送目標位置peを示す図、図20Bは、初期位置p0から把持目標位置p3までの動作経由点を示す図、図20Cは、引上位置p4から把持解放位置p6までの動作経由点を示す図である。ここでは、一例として、演算処理部101(図2)が、ケースBとしての部品かごから、物体Pとしての部品を取り出すよう各部を制御する際の手順が示される。
[(2) Flexible handling based on database]
FIG. 19A and FIG. 19B are flowcharts showing a flexible handling procedure by the hand 200 based on the object database and the gripping database. FIGS. 20A to 20C are diagrams illustrating operation waypoints. FIG. 20A is a diagram illustrating an initial position p0, an object (part, object), and a conveyance target position pe, and FIG. 20B is an initial position p0. FIG. 20C is a diagram showing operation transit points from the pull-up position p4 to the grip release position p6. Here, as an example, a procedure when the arithmetic processing unit 101 (FIG. 2) controls each unit to take out a component as the object P from a component cage as the case B is shown.

演算処理部101は、カメラ21が部品(物体P)の周辺を撮影するよう、カメラ21およびマニピュレータ20を制御する。ここでは、複数の部品の画像が撮影されてもよい(S601)。   The arithmetic processing unit 101 controls the camera 21 and the manipulator 20 so that the camera 21 captures the periphery of the component (object P). Here, images of a plurality of parts may be taken (S601).

次に、物体認識部101hは、カメラ21によって撮影された部品の画像と、物体データベース102aの物体情報とを比較して、撮影された部品を特定する。物体認識部101hは、物体データベース102aから、該当部品の物体ID番号を取得する(S602)。   Next, the object recognition unit 101h compares the image of the part captured by the camera 21 with the object information in the object database 102a, and identifies the captured part. The object recognition unit 101h acquires the object ID number of the corresponding part from the object database 102a (S602).

次に、演算処理部101は、上位から指示された対象物としての部品の物体ID番号とS602で特定された部品の物体ID番号とを比較し、認識した部品に対象物が含まれているか否かを判定する(S603)。   Next, the arithmetic processing unit 101 compares the object ID number of the part as the target instructed by the host with the object ID number of the part specified in S602, and whether the recognized part contains the target object. It is determined whether or not (S603).

認識した部品に対象物が無い場合にあっては(S603でNo)、照明条件や、ハンド200のカメラ21の撮影姿勢等、何らかの撮影条件を変更し、ベース30のカメラ33あるいはハンド200のカメラ21で再撮影を実施し(S604)、S602に戻る。   If there is no object in the recognized part (No in S603), the camera 30 of the base 30 or the camera of the hand 200 is changed by changing some shooting conditions such as the lighting conditions and the shooting posture of the camera 21 of the hand 200. The re-photographing is performed at 21 (S604), and the process returns to S602.

認識した部品に対象物があった場合(S603でYes)、物体認識部101hは、撮影された三次元情報と物体データベース102aのCADモデル情報とのマッチングを行い、認識された物品の姿勢を算出する。このとき、部品かごの姿勢や、対象物以外の部品の姿勢の計算等を実施してもよい(S605)。   If there is an object in the recognized part (Yes in S603), the object recognition unit 101h performs matching between the captured three-dimensional information and CAD model information in the object database 102a, and calculates the posture of the recognized article. To do. At this time, the calculation of the attitude of the parts cage, the attitude of the parts other than the object, and the like may be performed (S605).

次に、把持・動作計画生成部101dは、把持データベース102bに格納されている把持情報を参照し、認識した部品の把持方法および把持点の候補を算出する。ここで、把持データベース102bには、部品に対して、複数の把持方法、複数の把持点、およびそれぞれの把持スコア等が含まれているが、把持・動作計画生成部101dは、認識した部品の位置姿勢情報、部品かごの位置姿勢情報に基づいて、把持スコアの再計算、把持点の選択等を実行する。具体的には、認識した部品の各面に配置された把持点のうち、部品かごの開口部方向に向いた把持点のスコアを高くする、等である(S606)。   Next, the gripping / motion plan generating unit 101d refers to gripping information stored in the gripping database 102b and calculates a gripping method and gripping point candidates for the recognized component. Here, the gripping database 102b includes a plurality of gripping methods, a plurality of gripping points, and gripping scores for the parts, but the gripping / motion plan generating unit 101d does not recognize the recognized parts. Based on the position and orientation information and the position and orientation information of the component cage, recalculation of the grip score, selection of a grip point, and the like are executed. Specifically, among the gripping points arranged on each surface of the recognized component, the score of the gripping point facing the opening of the component cage is increased (S606).

次に、把持・動作計画生成部101dは、ハンド200の初期位置p0から搬送目標位置peまでの図20A〜20Cに示される動作経由点の算出を実行する。動作経由点は、例えば、ハンド200を部品かご(ケースB)に挿入させるための挿入準備位置p1、ハンド200で部品(物体P)の把持する直前の把持直前位置p2、部品の把持動作を行うための把持目標位置p3、把持した部品を部品かごから引き上げる引上位置p4、ハンド200を作業台70の空間に挿入するための作業台進入位置p5、対象物を作業台70の所定の位置に置くための把持解放位置p6等である。挿入準備位置p1は、部品かごの位置姿勢の認識結果から、ハンド200のカメラ21で部品かごを確認しやすいハンド200の位置や把持目標位置p3に移行しやすい位置を考慮して算出する。把持直前位置p2は、把持目標位置p3に対して、法線方向に少し離れた位置など、ほぼ直線的な動作で把持目標位置p3に到達できることを考慮して算出する。作業台進入位置p5は、作業台70の位置姿勢の認識結果から、ハンド200のカメラ21で作業台70を確認しやすいハンド200の位置や把持解放位置p6に移行しやすい位置を考慮して算出する。把持解放位置p6は、部品の把持を解放した際に、部品が所定の位置に収まるように算出する(S607)。   Next, the gripping / motion plan generating unit 101d calculates the motion via points shown in FIGS. 20A to 20C from the initial position p0 of the hand 200 to the conveyance target position pe. For example, the operation via point includes an insertion preparation position p1 for inserting the hand 200 into the component cage (case B), a position immediately before gripping p2 immediately before gripping the component (object P) with the hand 200, and a gripping operation of the component. A grip target position p3, a pull-up position p4 for lifting the gripped part from the part cage, a work table entry position p5 for inserting the hand 200 into the space of the work table 70, and an object at a predetermined position on the work table 70. For example, the grip release position p6 for placement. The insertion preparation position p1 is calculated from the recognition result of the position and orientation of the component cage in consideration of the position of the hand 200 where it is easy to confirm the component cage with the camera 21 of the hand 200 and the position where it is easy to move to the grip target position p3. The position immediately before gripping p2 is calculated in consideration of being able to reach the gripping target position p3 by a substantially linear motion, such as a position slightly away from the gripping target position p3 in the normal direction. The work table approach position p5 is calculated from the recognition result of the position and orientation of the work table 70 in consideration of the position of the hand 200 where the camera 70 of the hand 200 can easily confirm the work table 70 and the position where the work table 70 can easily move to the grip release position p6. To do. The grip release position p6 is calculated so that the component is placed in a predetermined position when the grip of the component is released (S607).

次に、手先軌道生成部121は、動作経由点情報、物体ハンドリング装置1の形状、部品かごや、部品などの外部環境の状態を示す情報を利用し、干渉を避けながら、ハンド200が所望の動作経由点を通過する手先軌道を生成する。具体的には、RRTやPRMといった手法を用いて算出することが可能である(S608)。   Next, the hand trajectory generation unit 121 uses the information indicating the operation environment point, the shape of the object handling apparatus 1, the state of the external environment such as the part cage and the part, and the hand 200 performs the desired operation while avoiding interference. A hand trajectory that passes through the waypoint is generated. Specifically, it can be calculated using a technique such as RRT or PRM (S608).

ここで、有効な軌道が算出できなかった場合において(S609でNo)、演算処理部101は、次の把持点候補が存在するか否かを確認し、次の把持点候補が無かった場合(S610でNo)、作業は状態変更動作F22(図22A,図22B、後に詳述)へ移行する。次の把持点候補があった場合には(S610でYes)、演算処理部101は、当該次の把持点候補を設定し、S607の処理を実行する。   Here, when an effective trajectory cannot be calculated (No in S609), the arithmetic processing unit 101 checks whether or not there is a next gripping point candidate, and when there is no next gripping point candidate ( In S610, the operation shifts to a state change operation F22 (FIGS. 22A and 22B, which will be described in detail later). If there is a next gripping point candidate (Yes in S610), the arithmetic processing unit 101 sets the next gripping point candidate and executes the process of S607.

S608で有効な軌道が算出できた場合(S609でYes)、マニピュレータ制御部110は、ハンド200を初期位置から挿入準備位置p1に移動する。ここで、移動はあらかじめ決められた軌道に添って移動しても良いし、ハンドカメラやハンド200のカメラ21等による部品かごの位置姿勢をもとに、後述のビジュアルフィードバックサーボにより軌道を修正しながら移動しても良い(S612)。   When an effective trajectory can be calculated in S608 (Yes in S609), the manipulator control unit 110 moves the hand 200 from the initial position to the insertion preparation position p1. Here, the movement may be performed along a predetermined trajectory, or the trajectory is corrected by a visual feedback servo to be described later based on the position and orientation of the component cage by the camera 21 of the hand camera or the hand 200. However, it may be moved (S612).

次に、マニピュレータ制御部110は、ハンド200を挿入準備位置p1から、把持直前位置p2に移動する。この際、ハンド200のカメラ21やベース30のカメラ33等による部品の特徴点情報をもとに、後述のビジュアルフィードバックサーボにより軌道を修正しながら移動しても良い(S613)。   Next, the manipulator control unit 110 moves the hand 200 from the insertion preparation position p1 to the position immediately before gripping p2. At this time, based on the feature point information of the parts by the camera 21 of the hand 200, the camera 33 of the base 30, etc., it may be moved while correcting the trajectory by the visual feedback servo described later (S613).

次に、演算処理部101は、ハンド200のカメラ21やベース30のカメラ33等による部品とハンド200の観測情報から、把持目標位置p3に対して位置および姿勢の誤差が算出された場合には、把持目標位置p3およびその際の姿勢を修正する(S614)。   Next, when the position and orientation errors are calculated with respect to the grip target position p3, the arithmetic processing unit 101 calculates from the observation information of the hand 200 and the parts by the camera 21 of the hand 200, the camera 33 of the base 30, and the like. The grip target position p3 and the posture at that time are corrected (S614).

次に、マニピュレータ制御部110は、ハンド200を把持直前位置p2から、把持目標位置p3に移動する(S615)。   Next, the manipulator control unit 110 moves the hand 200 from the position just before gripping p2 to the gripping target position p3 (S615).

次に、ハンド制御部140は、把持動作を開始する。具体的には、吸着方式で把持を行う場合、電磁弁等を走査し、吸着力を発生させる。二指や多指ハンドによる挟持の場合には、指を閉じる動作を開始する(S616)。   Next, the hand control unit 140 starts a gripping operation. Specifically, when gripping by the suction method, an electromagnetic valve or the like is scanned to generate a suction force. In the case of holding with two fingers or a multi-finger hand, an operation of closing the finger is started (S616).

次に、信号処理部101bが把持動作状態の各種センサ情報の処理を実施し、計画生成部101cが把持動作状態情報を監視する。把持動作状態情報は、具体的には、吸着時の真空圧力や流量、接触センサのセンサ値、弾性関節部の変位センサ値、把持機構駆動部のトルク、把持動作処理時間等である。把持動作状態の確認は、把持データベース102bに格納されている把持判定情報を利用する。把持目標位置p3を超えて、さらに把持動作を継続する場合には、把持データベース102bの押込み量情報を利用する。   Next, the signal processing unit 101b performs processing of various sensor information in the gripping motion state, and the plan generation unit 101c monitors the gripping motion state information. Specifically, the gripping operation state information includes the vacuum pressure and flow rate during suction, the sensor value of the contact sensor, the displacement sensor value of the elastic joint, the torque of the gripping mechanism drive unit, the gripping operation processing time, and the like. The confirmation of the gripping operation state uses gripping determination information stored in the gripping database 102b. When the gripping operation is continued beyond the gripping target position p3, the pushing amount information of the gripping database 102b is used.

次に、状態監視部101eは、把持動作状態情報に基づいて、把持確認状態になったか否かの判定を行う。把持確認状態は、具体的には、吸着時であれば真空圧力が所定の値になった状態であり、接触センサで接触が確認された状態であり、変位センサやトルク値が所望の値になった状態である。ここでの判定の閾値は把持データベース102bに登録された把持判定情報を利用する(S618)。   Next, the state monitoring unit 101e determines whether or not a gripping confirmation state has been established based on the gripping operation state information. Specifically, the grip confirmation state is a state in which the vacuum pressure has reached a predetermined value during adsorption, a state in which contact has been confirmed by the contact sensor, and the displacement sensor and torque value have reached the desired values. It is in the state. The determination threshold here uses the grip determination information registered in the grip database 102b (S618).

状態監視部101eは、把持確認状態が検出されたら(S618でYes)、把持状態の結果の判定を行う。具体的には、吸着時であれば真空圧力、二指であれば二指の間隔等で、判定を行うことができる(S619)。   If the grip confirmation state is detected (Yes in S618), the state monitoring unit 101e determines the result of the grip state. Specifically, the determination can be made based on the vacuum pressure at the time of adsorption and the interval between two fingers if it is two fingers (S619).

把持状態の結果の判定において、部品を把持できていないと判定した場合には(S620でNo)、S621に移行する。S621では、現状の把持点で把持点近傍探索処理が実施済みであるかどうかを確認する。探索が実施済みの場合には(S621でYes)、次の把持点候補を設定する(S622)。実施済みでない場合には(S621でNo)、把持探索動作を実施する。   If it is determined in the determination of the gripping state result that the component has not been gripped (No in S620), the process proceeds to S621. In S621, it is confirmed whether or not the gripping point vicinity searching process has been performed at the current gripping point. If the search has been performed (Yes in S621), the next gripping point candidate is set (S622). If it has not been performed (No in S621), a grip search operation is performed.

S620でYesの場合、マニピュレータ制御部110は、引き抜き方向へハンド200を移動する(S623)。   In the case of Yes in S620, the manipulator control unit 110 moves the hand 200 in the pulling direction (S623).

次に、演算処理部101は、把持状態を再度確認し、把持状態が不安定、もしくは把持できていなければ、すなわち、搬送不能な状態であれば(S624でNo)、リトライ動作F24(図24、後に詳述)へ移行する。なお、把持状態の確認のための閾値は、対象物や把持方法等によって異なるため、把持データベース102bの把持判定情報を利用する。   Next, the arithmetic processing unit 101 confirms the gripping state again, and if the gripping state is unstable or cannot be gripped, that is, if it cannot be transported (No in S624), the retry operation F24 (FIG. 24). , Later described in detail). Note that the threshold value for confirming the gripping state differs depending on the object, the gripping method, and the like, and therefore grip determination information in the gripping database 102b is used.

S624の判断において、搬送可能であった場合(S624でYes)、マニピュレータ制御部110は、ハンド200の姿勢を搬送姿勢に変換する。このとき、搬送に適した姿勢や把持の状態は、部品によって異なるため、把持データベース102bの搬送姿勢情報を参照して決定する。具体的には、把持データベース102bで指定される姿勢は、吸着の場合には、部品と吸着パッド200aにモーメントがかかりにくい吸着パッド200aが下向きの姿勢である。挟持の場合には、多指の一部が部品の下部を支えるような姿勢である。いずれの場合にも、搬送時の振動を抑制する為、クラッチ200fを制御することにより弾性機構200eを固定し、非弾性状態にすることが可能である(S625)。   In the determination in S624, when the conveyance is possible (Yes in S624), the manipulator control unit 110 converts the posture of the hand 200 into the conveyance posture. At this time, since the posture suitable for conveyance and the gripping state differ depending on the parts, the posture is determined with reference to the conveyance posture information in the gripping database 102b. Specifically, in the case of suction, the posture specified in the gripping database 102b is a posture in which the suction pad 200a is difficult to apply a moment to the component and the suction pad 200a. In the case of pinching, the posture is such that a part of multiple fingers supports the lower part of the part. In any case, in order to suppress the vibration at the time of conveyance, it is possible to fix the elastic mechanism 200e by controlling the clutch 200f and make it in an inelastic state (S625).

次に、マニピュレータ制御部110は、搬送姿勢を保ったまま、作業台進入位置p5に移動する。ここで、把持中の移動では、把持している部品を落下させるリスクがあるため、把持データベース102bの許容速度情報を用いて、搬送速度を許容速度以下に抑えることで、搬送時間を最大限短縮しながら、安定した搬送を実現することができる。ここでの搬送速度は、把持状態に応じて変更することができる。これは把持データベース102bの把持判定情報に複数のレベルを設定し、当該レベルに応じた複数の搬送許容速度を設定することによって実現できる。例えば、吸着方式の場合、吸着圧を把持判定情報として利用できる。一例として、ある部品に対しては、吸着圧が−40kPa以下である場合には十分に吸着把持ができているため、搬送許容速度を500mm/secに設定する。吸着圧が−40kPa〜−30kPaである場合には、搬送速度を200mm/secに設定する。吸着圧が−30kPa〜−15kPaである場合には、搬送許容速度を200mm/secとする(S626)。なお、搬送状態の許容値は、速度のみに応じて設定する必要はなく、加速度や加加速度(ジャーク)に応じて設定しても良い。また、吸着圧が−15kPaより大きい場合は、十分な吸着把持状態が得られていないため、S624において搬送不能と判断され(S624でNo)、リトライ動作等に移行する。   Next, the manipulator control unit 110 moves to the work table entry position p5 while maintaining the transport posture. Here, there is a risk of dropping the gripped component during movement during gripping. Therefore, using the allowable speed information in the gripping database 102b, the transport speed is kept below the allowable speed, thereby shortening the transport time to the maximum. However, stable conveyance can be realized. The conveyance speed here can be changed according to the gripping state. This can be realized by setting a plurality of levels in the grip determination information of the grip database 102b and setting a plurality of conveyance permissible speeds corresponding to the levels. For example, in the case of the adsorption method, the adsorption pressure can be used as the grip determination information. As an example, when a suction pressure is −40 kPa or less with respect to a certain part, since the suction grip is sufficiently performed, the conveyance allowable speed is set to 500 mm / sec. When the adsorption pressure is −40 kPa to −30 kPa, the conveyance speed is set to 200 mm / sec. When the adsorption pressure is −30 kPa to −15 kPa, the conveyance allowable speed is set to 200 mm / sec (S626). Note that the allowable value of the conveyance state does not need to be set according to only the speed, but may be set according to acceleration or jerk. On the other hand, if the suction pressure is greater than −15 kPa, a sufficient suction grip state has not been obtained, so it is determined that the conveyance is impossible in S624 (No in S624), and the process proceeds to a retry operation.

演算処理部101は、ハンド200のカメラ21を、作業台70の搬送先位置周辺を撮影するよう制御する(S627)。次いで、演算処理部101は、上位からの指示と撮影結果に基づいて、部品の把持解放位置p6を修正する(S628)。次に、マニピュレータ制御部110は、ハンド200を把持解放位置p6へ移動させ、ハンド制御部140は部品の把持を解除して、部品を上位から指示された搬送目標位置peに置く(S629)。これにより、一連の処理が終了する。   The arithmetic processing unit 101 controls the camera 21 of the hand 200 to photograph the vicinity of the conveyance destination position of the work table 70 (S627). Next, the arithmetic processing unit 101 corrects the grip release position p6 of the component based on the instruction from the host and the photographing result (S628). Next, the manipulator control unit 110 moves the hand 200 to the grip release position p6, and the hand control unit 140 releases the grip of the component and places the component at the transport target position pe instructed by the host (S629). As a result, a series of processing ends.

[(3)リアルタイムビジュアルフィードバック制御]
図21Aは、マニピュレータ制御部111(110)のブロック図である。図21Bは、画像特徴量目標値の説明図である。マニピュレータ制御部111は、非線形動力学モデルを用いたモータ111eの制御量を補正するフィードバック系と画像特徴量を用いた特徴量ベースの制御器の両方、もしくはいずれかを持っていることが特徴である。
[(3) Real-time visual feedback control]
FIG. 21A is a block diagram of the manipulator control unit 111 (110). FIG. 21B is an explanatory diagram of an image feature amount target value. The manipulator control unit 111 is characterized by having either or both of a feedback system for correcting the control amount of the motor 111e using the nonlinear dynamic model and a feature amount-based controller using the image feature amount. is there.

マニピュレータ制御部111では、計画生成部101cから、部品(物体P)の把持位置など、ハンド200の移動目標となる位置情報が与えられると、画像特徴量生成器111aが、物体データベース102a等の物体情報を利用して、把持目標位置p3への移動を達成するための画像特徴量目標値を生成する。画像特徴量目標値は、具体的には、図21Bに示すように、ハンド200が把持目標位置p3に到達したときにハンド200のカメラ21等のカメラセンサから得られる部品画像の特徴点の配置情報等である。なお、図21Bでは、理解のために特徴量像を示しているが、実際には特徴点の座標や特徴点間の距離など数値的な情報で良い。これは、物体データベース102aに保存された部品の各面の画像や特徴量情報から必要な面の情報を抜き出したり、CADモデル情報から生成したり、取り出した情報を視点変換することなどにより生成することができる。   In the manipulator control unit 111, when position information as a movement target of the hand 200 such as a grip position of a part (object P) is given from the plan generation unit 101c, the image feature amount generator 111a causes the object database 102a or the like to Using the information, an image feature amount target value for achieving movement to the grip target position p3 is generated. Specifically, as shown in FIG. 21B, the image feature amount target value is an arrangement of feature points of a component image obtained from a camera sensor such as the camera 21 of the hand 200 when the hand 200 reaches the grip target position p3. Information etc. In FIG. 21B, a feature amount image is shown for the sake of understanding, but in practice, numerical information such as the coordinates of feature points and the distance between feature points may be used. This is generated by extracting necessary surface information from the image and feature amount information of each surface of the part stored in the object database 102a, generating from CAD model information, or performing viewpoint conversion of the extracted information. be able to.

特徴量ベース制御器111bは、画像特徴量目標値とハンド200のカメラ21等のカメラセンサから得られる画像特徴量の誤差を入力として、モータ111e制御量を算出する。特徴量ベース制御器111bは、画像ヤコビヤンを用いて、一般的なPI制御系を用いることで構成することができる。   The feature amount base controller 111b calculates the control amount of the motor 111e by using an error between the image feature amount target value and the image feature amount obtained from the camera sensor such as the camera 21 of the hand 200 as an input. The feature amount base controller 111b can be configured using an image Jacobian and using a general PI control system.

算出されたモータ111e制御量は、物体ハンドリング装置1の非線形動力学モデル補償器111dによって、値が補償される。非線形動力学モデルを用いた制御量の補償方法の詳細については後述する。ここで、非線形動力学モデルには、物体ハンドリング装置1だけでなく、重量など把持の部品のモデルや部品の把持位置など把持状態に関する情報が取り込まれている。   The calculated control amount of the motor 111e is compensated for by the nonlinear dynamic model compensator 111d of the object handling apparatus 1. The details of the control amount compensation method using the nonlinear dynamic model will be described later. Here, in the nonlinear dynamic model, not only the object handling apparatus 1 but also information on the gripping state such as the gripping part model and the gripping position of the part such as weight is captured.

モータ111eは補償された制御量に従って、駆動され、アーム2を動かし、ハンド200を所定の位置に動かすなどのタスクを実行する。画像特徴量算出器111fはハンド200のカメラ21等のカメラセンサからの出力画像を用いて、目標に対する画像特徴量を算出する。   The motor 111e is driven according to the compensated control amount, and performs tasks such as moving the arm 2 and moving the hand 200 to a predetermined position. The image feature amount calculator 111f calculates an image feature amount for a target using an output image from a camera sensor such as the camera 21 of the hand 200.

図21Aのマニピュレータ制御部111では、把持目標位置p3に対して、ハンド200のカメラ21で観測される画像が一致するようにマニピュレータ20が動作する為、マニピュレータ20の機構パラメータやカメラパラメータに多少の誤差があっても、最終的には誤差が抑圧され、正確な位置にハンド200を動かすことが可能となる。また、部品が移動していても、部品の移動に合わせて、ハンド200を追従することが可能となる。さらに、マニピュレータ制御部111は、非線形動力学モデル補償器111dを有している。これにより、アーム2のたわみや、振動を補償し、より正確にハンド200の追従が可能になる。カメラ画像を用いた制御系では、アーム2が振動すると、画像情報が大きく揺らぐため、安定した制御を実現することが困難であるが、本システムでは、非線形動力学モデル補償器111dによる振動抑圧によって、安定した制御の実現が可能である。   In the manipulator control unit 111 in FIG. 21A, the manipulator 20 operates so that the image observed by the camera 21 of the hand 200 matches the grip target position p3. Even if there is an error, the error is finally suppressed, and the hand 200 can be moved to an accurate position. Further, even if the component is moving, the hand 200 can be followed in accordance with the movement of the component. Further, the manipulator control unit 111 includes a nonlinear dynamic model compensator 111d. This compensates for the deflection and vibration of the arm 2 and enables the hand 200 to follow more accurately. In the control system using the camera image, when the arm 2 vibrates, the image information greatly fluctuates, so it is difficult to realize stable control. However, in this system, vibration suppression by the nonlinear dynamic model compensator 111d is difficult. It is possible to realize stable control.

さらに、図21Aのマニピュレータ制御部111では、非線形動力学モデルパラメータ管理部111gにより、部品(物体P)の把持状態によって、非線形動力学モデル補償器111dが用いる非線形動力学モデルを切り替えることができる。通常、非線形動力学モデルを用いたモデルベースト制御系では、ハンド200が物体を把持したり、解放したりすることで、アーム2の負荷が変化すると、モデルと現実の差が大きくなり、制御系が不安定となる。しかしながら、マニピュレータ制御部111では、認識された物体情報や、把持の状態の情報から非線形動力学モデルを切り替えることにより、把持搬送作業のどの工程においても、安定した制御を実現することができる。なお、ここでは、把持目標位置p3を示す情報として部品の特徴点を利用したが、作業台70や、処理部50のマーク51、部品かご(ケースB)の特徴点を利用することも可能である。   Furthermore, in the manipulator control unit 111 of FIG. 21A, the nonlinear dynamic model compensator 111d can be switched by the nonlinear dynamic model parameter management unit 111g depending on the gripping state of the part (object P). Normally, in a model-based control system using a non-linear dynamic model, when the load of the arm 2 changes due to the hand 200 gripping or releasing an object, the difference between the model and the reality increases. Becomes unstable. However, the manipulator control unit 111 can realize stable control in any process of the gripping and transporting work by switching the nonlinear dynamic model from the recognized object information and gripping state information. Here, the feature point of the component is used as information indicating the grip target position p3. However, the feature point of the work table 70, the mark 51 of the processing unit 50, or the component cage (case B) can also be used. is there.

図21Cは、マニピュレータ制御部111A(110)の別の例を示すブロック図である。目標画像や特徴点が得られない場合には、図21Aの特徴量ベース制御器111bに替えて図21Cのような通常のPI制御系のPI制御器111hを利用する。マニピュレータ制御部111Aのような制御系であっても十分なキャリブレーションによって、比較的安定した動作が可能となるほか、非線形動力学モデル補償器111dにより、より正確な制御が可能となる。   FIG. 21C is a block diagram illustrating another example of the manipulator control unit 111A (110). When a target image or feature point cannot be obtained, a PI controller 111h of a normal PI control system as shown in FIG. 21C is used instead of the feature amount base controller 111b in FIG. 21A. Even a control system such as the manipulator control unit 111A can perform a relatively stable operation by sufficient calibration, and more accurate control can be performed by the nonlinear dynamic model compensator 111d.

図21Dは、マニピュレータ制御部111におけるパラメータ変更の手順を示すフローチャートである。ここでは、部品かごから、作業台70に物体Pとしての部品を把持搬送する際の手順が示される。   FIG. 21D is a flowchart illustrating a procedure for changing parameters in the manipulator control unit 111. Here, a procedure for gripping and transporting a component as an object P from the component cage to the work table 70 is shown.

演算処理部101は、部品周辺を撮影するよう、ベース30のカメラ33を制御する(S701)。   The arithmetic processing unit 101 controls the camera 33 of the base 30 so as to photograph the periphery of the component (S701).

次に、物体認識部101hは、ベース30のカメラ33によって撮影された画像と物体データベース102aの物体情報とを利用して、撮影された部品の物体ID情報を特定する(S702)。   Next, the object recognition unit 101h specifies the object ID information of the photographed part using the image photographed by the camera 33 of the base 30 and the object information in the object database 102a (S702).

次に、物体認識部101hは、撮影された三次元情報と物体データベース102aのCADモデル情報のマッチングを行い、認識された部品の姿勢を算出する。このとき、部品かごの姿勢や、部品以外の物体の姿勢計算も実行する(S703)。   Next, the object recognition unit 101h performs matching between the captured three-dimensional information and the CAD model information in the object database 102a, and calculates the posture of the recognized component. At this time, the calculation of the attitude of the part cage and the attitude of an object other than the part is also executed (S703).

次に、把持・動作計画生成部101dは、把持データベース102bを参照し、認識した部品に対して把持方法及び把持位置を算出する(S704)。   Next, the gripping / motion plan generation unit 101d refers to the gripping database 102b and calculates a gripping method and a gripping position for the recognized component (S704).

次に、マニピュレータ制御部111(110)は、算出された把持方法に合わせて、ハンド200の状態の変換動作を実施する。具体的には、吸着方式と算出された場合には、吸着パッド200aを突出させる、フィンガー200bによる挟持方式と算出された場合には、吸着パッド200aを収納する、等の動作である(S705)。   Next, the manipulator control unit 111 (110) performs a state conversion operation of the hand 200 in accordance with the calculated gripping method. Specifically, when the suction method is calculated, the suction pad 200a is protruded, and when the pinching method using the finger 200b is calculated, the suction pad 200a is stored (S705). .

次に、非線形動力学モデルパラメータ管理部111gは、S705で設定したハンド200の状態に合わせて、非線形動力学モデル補償器111dで用いる動力学モデルのモデルパラメータを設定する。設定するモデルパラメータには、事前学習によって決定したものが用いられる。また、事前学習が行われていない場合には、このタイミングで制御系にランダム信号等を印加し、パラメータ学習を行っても良い(S706)。   Next, the nonlinear dynamic model parameter management unit 111g sets the model parameters of the dynamic model used in the nonlinear dynamic model compensator 111d in accordance with the state of the hand 200 set in S705. As model parameters to be set, those determined by prior learning are used. Further, when the prior learning is not performed, parameter learning may be performed by applying a random signal or the like to the control system at this timing (S706).

次に、マニピュレータ制御部111は、設定したモデルパラメータを用いて、ハンド200が挿入準備位置p1に移動するようマニピュレータ20を制御する。ここでは、最適なモデルが設定されているため、マニピュレータ20を最高速で動かしても、安定した動作が可能である。さらに、部品かごの特徴点を活用した特徴量ベースの制御を実施することで、より正確に部品かごを挿入準備位置p1に移動することが可能となる(S707)。   Next, the manipulator control unit 111 controls the manipulator 20 so that the hand 200 moves to the insertion preparation position p1 using the set model parameter. Here, since an optimal model is set, stable operation is possible even if the manipulator 20 is moved at the highest speed. Furthermore, by performing the feature-based control utilizing the feature points of the component cage, the component cage can be more accurately moved to the insertion preparation position p1 (S707).

次に、マニピュレータ制御部111は、ハンド200が挿入準備位置p1から把持直前位置p2へ移動するよう、マニピュレータ20を制御する。部品の特徴点情報を活用した特徴量ベースの制御を実施することで、より正確に把持直前位置p2へ移動することができる(S708)。   Next, the manipulator control unit 111 controls the manipulator 20 so that the hand 200 moves from the insertion preparation position p1 to the position just before gripping p2. By performing the feature amount-based control utilizing the feature point information of the part, it is possible to move to the position p2 immediately before gripping more accurately (S708).

次に、マニピュレータ制御部111は、ハンド200が把持直前位置p2から把持目標位置p3へ中速で移動するよう、マニピュレータ20を制御する。このとき、部品の認識のずれ等の影響でハンド200と対象の物体Pや周辺の物体Pが接触しても、ハンド200に弾性部があるため、弾性部が衝撃を吸収し、物体Pを傷つけることが無い。また、弾性部が衝撃や、押込み力を吸収する間に、変位センサ200iや接触センサ200gが接触を判定し、マニピュレータ20の動作を止める、または力を逃がす方向に動かすことで、物体Pや、ハンド200の破壊を回避することができる(S709)。   Next, the manipulator control unit 111 controls the manipulator 20 so that the hand 200 moves from the position immediately before gripping p2 to the gripping target position p3 at a medium speed. At this time, even if the hand 200 and the target object P or the surrounding object P come into contact with each other due to the influence of misrecognition of parts, the hand 200 has an elastic part, so the elastic part absorbs the impact and There is no hurt. Further, while the elastic part absorbs an impact or a pushing force, the displacement sensor 200i or the contact sensor 200g determines the contact and stops the operation of the manipulator 20 or moves it in a direction to release the force, thereby moving the object P, The destruction of the hand 200 can be avoided (S709).

次に、ハンド制御部140は、部品を把持するようハンド200を制御する。ここでは、接触状態を正確に検出することができる為、安定して部品を把持することができる(S710)。   Next, the hand control unit 140 controls the hand 200 to hold the component. Here, since the contact state can be accurately detected, the component can be stably held (S710).

次に、非線形動力学モデルパラメータ管理部111gは、把持方法、把持位置、および部品の特性に合わせて動力学モデルをセットする。把持方法及び、把持位置、把持対象の物体の特性は物体データベース102a、把持データベース102bから算出可能であり、さらに、実際に把持動作を行ったセンサ情報から、正確な把持位置を補正しても良い。非線形動力学モデルパラメータ管理部111gでは、事前に複数の先端負荷の重量や、重心オフセット等の条件で学習したモデルパラメータを有しており、指定された把持方法及び、把持位置、把持対象の物体の特性から最適なモデルパラメータの選択をする、または比較的条件の近い複数のモデルパラメータを用いた内挿等により、最適なパラメータを決定する(S711)。   Next, the nonlinear dynamic model parameter management unit 111g sets a dynamic model in accordance with the gripping method, the gripping position, and the component characteristics. The gripping method, the gripping position, and the characteristics of the object to be gripped can be calculated from the object database 102a and the gripping database 102b, and the accurate gripping position may be corrected from the sensor information that actually performs the gripping operation. . The nonlinear dynamic model parameter management unit 111g has model parameters learned in advance under conditions such as a plurality of tip load weights and gravity center offsets. The designated gripping method, gripping position, and object to be gripped The optimum parameter is determined by selecting the optimum model parameter from the above characteristics or by interpolation using a plurality of model parameters having relatively close conditions (S711).

次に、マニピュレータ制御部111は、把持した部品を部品かごから引き抜くよう、マニピュレータ20を制御する(S712)。   Next, the manipulator control unit 111 controls the manipulator 20 to pull out the gripped component from the component cage (S712).

次に、マニピュレータ制御部111は、把持データベース102bを参照し、搬送許容値情報に基づいて、搬送許容速度で部品を搬送するよう、マニピュレータ20を制御する。このとき、搬送先の作業台70に設けられたマーク71を特徴点として活用することで、より正確な特徴点量が得られる為、安定した特徴量ベースの制御を実施することができる(S713)。   Next, the manipulator control unit 111 refers to the gripping database 102b and controls the manipulator 20 so as to transport the component at the transport allowable speed based on the transport allowable value information. At this time, since the more accurate feature point amount can be obtained by using the mark 71 provided on the work table 70 of the transport destination as the feature point, stable feature amount-based control can be performed (S713). ).

次に、マニピュレータ制御部111は、作業台70の搬送目標位置peに部品を配置する(S714)。   Next, the manipulator control unit 111 places the component at the conveyance target position pe of the work table 70 (S714).

次に、ハンド制御部140は、初期状態となるようハンド200の状態を変換する(S715)。   Next, the hand control unit 140 converts the state of the hand 200 so as to be in the initial state (S715).

次に、非線形動力学モデルパラメータ管理部111gは、ハンド200の状態に合わせて、モデルパラメータを設定する(S716)。   Next, the nonlinear dynamic model parameter management unit 111g sets model parameters in accordance with the state of the hand 200 (S716).

次に、マニピュレータ制御部111は、ハンド200が初期位置p0に最高速度で移動するよう、マニピュレータ20を制御する(S717)。   Next, the manipulator control unit 111 controls the manipulator 20 so that the hand 200 moves to the initial position p0 at the maximum speed (S717).

[(4)エラーリカバリ]
図22Aは、図19Aの状態変更動作F22の手順を示すフローチャートである。図19Aの状態変更動作F22に関し、演算処理部101は、まず、部品かご(ケースB)の位置や姿勢が変化するよう、マニピュレータ20や搬送機構40を制御する(S801)。次に、図19AのS601に戻る(S802)。このような状態変更のリカバリにより、物体ハンドリング装置1と把持対象となる部品(物体P)の位置関係が変化するため、部品を把持するまでの経路を設定できる確率、すなわち部品を把持できる確率が高まりやすい。
[(4) Error recovery]
FIG. 22A is a flowchart showing the procedure of the state change operation F22 of FIG. 19A. Regarding the state change operation F22 of FIG. 19A, the arithmetic processing unit 101 first controls the manipulator 20 and the transport mechanism 40 so that the position and posture of the component cage (case B) change (S801). Next, the process returns to S601 in FIG. 19A (S802). By such a state change recovery, the positional relationship between the object handling device 1 and the component (object P) to be gripped changes, and therefore the probability that a path to grip the component can be set, that is, the probability that the component can be gripped. Easy to increase.

図22Bは、図19Aの状態変更動作F22の図22Aとは別の手順を示すフローチャートである。図19Aの状態変更動作F22に関し、この例では、演算処理部101は、まず、部品の周辺、例えば、部品や部品かごの画像上の中心や画像から算出した想定重心から離れた位置のうち、ハンド200が接触可能な接触可能位置を、算出する。これは、3次元点群など距離画像カメラの情報から、部品(物体P)の外形位置を算出し、そこまでの経路を計算することによって求めることが可能である(S901)。次に、マニピュレータ制御部110は、ハンド200の先端部が接触可能位置に所定の力を印加するよう、マニピュレータ20を制御する。この際、ハンド200は弾性機構200eおよび力センサhを有しており、マニピュレータ制御部110は、印加する力の大きさや加速度等を制御することが可能であるため、部品を損傷させることなく、所定の力を印加することが可能である(S902)。次に、マニピュレータ制御部110は、ハンド200を初期位置p0に戻す(S903)。そして、図19AのS601に戻る(S904)。この手順では、S902において、部品あるいはその周辺に力が加わることで、物品の配置状態が変化する。このような状態変更のリカバリによっても、物体ハンドリング装置1と把持対象となる物品との位置関係が変化するため、物品把持位置への経路が生まれる可能性が高まる。   FIG. 22B is a flowchart showing a procedure different from FIG. 22A of the state change operation F22 of FIG. 19A. With regard to the state change operation F22 in FIG. 19A, in this example, the arithmetic processing unit 101 first determines the periphery of the component, for example, the center on the image of the component or the component cage or the position away from the assumed center of gravity calculated from the image. The contactable position where the hand 200 can contact is calculated. This can be obtained by calculating the outer position of the part (object P) from the information of the distance image camera such as a three-dimensional point cloud and calculating the route to the position (S901). Next, the manipulator control unit 110 controls the manipulator 20 so that a predetermined force is applied to a position where the tip of the hand 200 can be contacted. At this time, the hand 200 has an elastic mechanism 200e and a force sensor h, and the manipulator control unit 110 can control the magnitude of the force to be applied, acceleration, and the like. A predetermined force can be applied (S902). Next, the manipulator control unit 110 returns the hand 200 to the initial position p0 (S903). And it returns to S601 of FIG. 19A (S904). In this procedure, the arrangement state of the article is changed by applying a force to the part or its periphery in S902. The recovery of such a state change also changes the positional relationship between the object handling device 1 and the article to be gripped, and thus increases the possibility of creating a route to the article gripping position.

図23は、図19Bの把持探索動作F23の手順を示すフローチャートである。図19BのS621の後、マニピュレータ制御部110は、ハンド200が一旦把持目標位置p3から所定距離離れた位置に移動するよう、マニピュレータ20を制御する(S1001)。演算処理部101は、把持目標位置p3の周辺を撮影する(S1002)。演算処理部101は、撮影結果から、把持対象となる部品(物体P)の画像が含まれるなど、所定の条件を満たす有効な撮影ができていると判断した場合には(S1003でYes)、把持目標位置p3を計算する(S1005)。他方、S1003で、所定の条件を満たす有効な撮影ができていると判断できなかった場合には(S1003でNo)、演算処理部101は、把持データベース102bに含まれている探索範囲情報を使い、既に算出されている把持目標位置p3から探索範囲情報で指定された範囲内かつ所定距離ずれた位置を、新しい把持目標位置p3に設定する(S1004)。S1004またはS1005の後、図19AのS607に戻る。S607では、S1004またはS1005で設定された新たな把持目標位置p3に対し、動作経由点を算出する(S1006)。探索範囲情報では、部品(物体P)に合わせて、効率の良い探索範囲が指定されている。具体的には、例えば、部品(物体P)が小さいほど探索範囲が狭く設定されるとともに、探索範囲の把持目標位置p3からのオフセット距離(ステップ距離)も小さく設定され、言い換えると、部品が大きいほど探索範囲が広く設定されるとともに、探索範囲の把持目標位置p3からのオフセット距離(ステップ距離)も大きく設定されている。このような把持探索リカバリによって、処理部品を把持するまでの経路を設定できる確率、すなわち部品を把持できる確率が高まりやすい。   FIG. 23 is a flowchart showing the procedure of the grip search operation F23 of FIG. 19B. After S621 in FIG. 19B, the manipulator control unit 110 controls the manipulator 20 so that the hand 200 temporarily moves to a position away from the grip target position p3 by a predetermined distance (S1001). The arithmetic processing unit 101 captures the periphery of the grip target position p3 (S1002). If the arithmetic processing unit 101 determines from the photographing result that an image of the part (object P) to be grasped is included and that effective photographing satisfying a predetermined condition has been performed (Yes in S1003), The grip target position p3 is calculated (S1005). On the other hand, when it is not determined in S1003 that the effective photographing satisfying the predetermined condition has been made (No in S1003), the arithmetic processing unit 101 uses the search range information included in the gripping database 102b. Then, a position within the range specified by the search range information and shifted by a predetermined distance from the already calculated grip target position p3 is set as a new grip target position p3 (S1004). After S1004 or S1005, the process returns to S607 in FIG. 19A. In S607, an operation via point is calculated for the new gripping target position p3 set in S1004 or S1005 (S1006). In the search range information, an efficient search range is designated according to the part (object P). Specifically, for example, as the part (object P) is smaller, the search range is set narrower, and the offset distance (step distance) from the grip target position p3 of the search range is also set smaller, in other words, the part is larger. As the search range is set wider, the offset distance (step distance) from the grip target position p3 of the search range is also set larger. Such grip search recovery tends to increase the probability that a route until a processing component is gripped, that is, the probability that a component can be gripped.

図24は、図19Bのリトライ動作F24の手順を示すフローチャートである。図19BのS624で、搬送不能な状態であると判断された場合、マニピュレータ制御部110は、部品かご(ケースB)にハンド200を所定距離移動し、部品かご上で部品(物体P)の把持を解放するよう、マニピュレータ20を制御する。これにより、部品を部品かご内に戻すことができる(S1101)。そして、図19AのS601に戻る(S1102)。   FIG. 24 is a flowchart showing the procedure of the retry operation F24 of FIG. 19B. If it is determined in S624 in FIG. 19B that the conveyance is impossible, the manipulator control unit 110 moves the hand 200 to the component cage (case B) by a predetermined distance, and grips the component (object P) on the component cage. The manipulator 20 is controlled so as to release. As a result, the component can be returned to the component cage (S1101). And it returns to S601 of FIG. 19A (S1102).

[(5)作業中のパラメータ学習制御]
図25Aは、学習動作やデータベースの生成を実行する手順を示すフローチャートである。物体ハンドリング装置1では、物体データベース102aや把持データベース102bといったデータベースや学習結果を利用した物体認識部101hを備えるなど、事前に作成された学習データを活用している。しかしながら、さまざまな物体を取り扱う場合にあっては、学習データが不十分なあるいは無い物体を取り扱うこともある。そのような場合において、図25Aに示される手順が有効となる。
[(5) Parameter learning control during work]
FIG. 25A is a flowchart illustrating a procedure of executing a learning operation and database generation. The object handling apparatus 1 utilizes learning data created in advance, such as a database such as the object database 102a and the gripping database 102b, and an object recognition unit 101h that uses a learning result. However, when handling various objects, an object with insufficient or no learning data may be handled. In such a case, the procedure shown in FIG. 25A is effective.

まず、演算処理部101は、上位のシステムから特定の物体についての把持・搬送の指令を受ける(S1201)。次に、学習制御部101g(図2)は、物体の物体ID番号に基づいて、物体データベース102aから当該物体に関する物体情報を取得するとともに、把持データベース102bから当該物体に関する把持情報を取得する(S1202)。   First, the arithmetic processing unit 101 receives a grip / convey command for a specific object from a host system (S1201). Next, the learning control unit 101g (FIG. 2) acquires object information related to the object from the object database 102a based on the object ID number of the object, and acquires grip information related to the object from the grip database 102b (S1202). ).

次に、学習制御部101gは、当該物体についての物体情報あるいは把持情報が十分であるか否かを判断し(S1203)、十分であると判断された場合には(S1203でYes)、マニピュレータ制御部110は、図19A,19Bに示されるような通常モードにより、物体の把持および搬送を実行する(S1205)。他方、S1203において、情報が不十分であると判断された場合には(S1203でNo)、演算処理部101は、学習・データベース生成モードで、把持および搬送を実行するよう、各部を制御する。学習・データベース生成モードによる把持および搬送については、後に詳しく述べる(S1204)。   Next, the learning control unit 101g determines whether the object information or the grip information about the object is sufficient (S1203). If it is determined that the information is sufficient (Yes in S1203), the manipulator control is performed. The unit 110 performs gripping and conveyance of the object in the normal mode as shown in FIGS. 19A and 19B (S1205). On the other hand, if it is determined in S1203 that the information is insufficient (No in S1203), the arithmetic processing unit 101 controls each unit to execute gripping and conveyance in the learning / database generation mode. The gripping and conveyance in the learning / database generation mode will be described in detail later (S1204).

把持および搬送の処理が完了すると(S1206)、学習制御部101gは、学習・データベース生成モードで把持および搬送が実行された場合、および通常モードで把持および搬送が実行された場合の双方について、学習データおよび物体データベース102aおよび把持データベース102bを更新する。ここでの更新処理は、例えば、通常モードで把持および搬送がを実行された場合でも、把持の成功や失敗、経由点生成の成功や失敗などの結果を報酬情報とし、選択された把持位置や把持方法などに関連づけられたスコア情報を更新するなどの処理である(S1207)。   When the gripping and transporting process is completed (S1206), the learning control unit 101g learns both when the gripping and transporting is executed in the learning / database generation mode and when the gripping and transporting is executed in the normal mode. Data and object database 102a and gripping database 102b are updated. For example, even when gripping and transporting are executed in the normal mode, the update process here uses the results such as the success or failure of gripping, the success or failure of waypoint generation as reward information, and the selected gripping position or For example, the score information associated with the gripping method is updated (S1207).

図25Bは、学習・データベース生成モードでの把持および搬送の手順を示すフローチャートである。まずは、画像処理部101aが、ベース30のカメラ33で部品かごを撮影した画像から物体ID番号およびアイテムカテゴリ情報を取得し、物体認識部101hは、物体データベース102aに、物体ID番号およびアイテムカテゴリ情報と一致するものが含まれているか否かを調べる(S1301)。物体データベース102aに一致するものがあった場合、把持および搬送の処理の対象とする。次に、演算処理部101は、物体データベース102aに記憶された物体の周辺の3次元画像情報と、把持基本系モデルとのマッチングを実施し、最も一致率の高い把持基本系モデルを選択する(S1302)。そして、把持・動作計画生成部101dは、把持基本系モデルから把持方法基本データを参照し、把持方法及び、ベース座標系S1での把持位置を算出する(S1303)。次に、マニピュレータ制御部110は、通常把持モードよりも低い速度での把持および搬送を実行するよう、マニピュレータ20を制御する(S1304)。   FIG. 25B is a flowchart illustrating a procedure of gripping and transporting in the learning / database generation mode. First, the image processing unit 101a acquires an object ID number and item category information from an image obtained by capturing a part cage with the camera 33 of the base 30, and the object recognition unit 101h stores the object ID number and item category information in the object database 102a. It is checked whether or not a matching item is included (S1301). If there is a match in the object database 102a, the object is subject to gripping and transport processing. Next, the arithmetic processing unit 101 performs matching between the 3D image information around the object stored in the object database 102a and the gripping basic system model, and selects the gripping basic system model having the highest matching rate ( S1302). Then, the gripping / motion plan generating unit 101d refers to the gripping method basic data from the gripping basic system model, and calculates the gripping method and the gripping position in the base coordinate system S1 (S1303). Next, the manipulator control unit 110 controls the manipulator 20 to execute gripping and conveyance at a lower speed than in the normal gripping mode (S1304).

学習制御部101gは、上位装置から学習・データベース作成モードでの処理が指示された場合や、上位装置から指定された処理の完了時刻までに十分に時間がある場合にあっては、詳細学習を実行することとし、S1307へ移行する(S1305でYes)。   The learning control unit 101g performs detailed learning when a processing in the learning / database creation mode is instructed from the host device or when there is sufficient time until the processing completion time designated by the host device. The process proceeds to S1307 (Yes in S1305).

S1305でNoの場合には、低速の状態のまま、所定位置への把持および搬送が実行される(S1306)。   In the case of No in S1305, gripping and transporting to a predetermined position are executed while maintaining a low speed state (S1306).

S1307以降は、詳細学習モードである。まず、S1307において、マニピュレータ制御部110は、物体Pを通常よりも低速で処理部50まで搬送し、当該処理部50上に載置する(S1307)。次に、演算処理部101は、処理部50上に載置された物体Pについて、図14に示されたのと同様の手順により、物体情報を取得する(S1308)。次に、演算処理部101は、ハンド200に設けられたカメラ21により、物体PのRGB画像および距離画像を取得する(S1309)。次に、マニピュレータ制御部110は、物体の姿勢が反転するよう、マニピュレータ20を制御する(S1310)。次に、演算処理部101は、ハンド200に設けられたカメラ21が、物体Pを、多方向から撮影し、RGB画像および距離画像を得るよう、各部を制御する(S1311)。次に、データベース情報生成更新部101iは、撮影された画像情報から3次元画像情報、詳細CADモデル情報、および簡易CADモデル情報等の物体情報を生成する(S1312)。また、データベース情報生成更新部101iは、簡易CADモデル情報や撮影された多方向画像から、把持情報を生成する(S1313)。   The detailed learning mode is performed after S1307. First, in S1307, the manipulator control unit 110 conveys the object P to the processing unit 50 at a lower speed than usual and places it on the processing unit 50 (S1307). Next, the arithmetic processing unit 101 acquires object information for the object P placed on the processing unit 50 by the same procedure as shown in FIG. 14 (S1308). Next, the arithmetic processing unit 101 acquires an RGB image and a distance image of the object P with the camera 21 provided in the hand 200 (S1309). Next, the manipulator control unit 110 controls the manipulator 20 so that the posture of the object is reversed (S1310). Next, the arithmetic processing unit 101 controls each unit so that the camera 21 provided in the hand 200 captures the object P from multiple directions and obtains an RGB image and a distance image (S1311). Next, the database information generation / updating unit 101i generates object information such as 3D image information, detailed CAD model information, and simple CAD model information from the captured image information (S1312). In addition, the database information generation / update unit 101i generates grip information from the simple CAD model information and the captured multidirectional image (S1313).

次に、演算処理部101は、把持のテストを実施する。具体的には、例えば、複数の把持方法を試行し、把持の成功や失敗の確認、失敗した把持方法のデータを削除する。また、把持成功吸着時の真空圧などを用いて、把持判定情報を生成する(S1314)。   Next, the arithmetic processing unit 101 performs a grip test. Specifically, for example, a plurality of gripping methods are tried, the gripping success or failure is confirmed, and the data of the failed gripping method is deleted. Further, the grip determination information is generated by using the vacuum pressure at the time of successful gripping (S1314).

次に、データベース情報生成更新部101iは、S1314で生成された把持情報を把持データベース102bに書き込むことにより、当該把持データベース102bを更新する(S1315)。   Next, the database information generation update unit 101i updates the gripping database 102b by writing the gripping information generated in S1314 to the gripping database 102b (S1315).

次に、マニピュレータ制御部110は、ハンド200を、更新された把持データベース102bの把持情報に基づいて物体Pを把持するように制御し、学習制御部101gは、ハンド200が物体Pを把持した状態で、マニピュレータ制御部110に、非線形動力学モデル学習用のテスト信号を供給する処理を実行する。そして、実行した結果に基づいて、物体データベース102aおよび把持データベース102bを更新する(S1316)。そして、マニピュレータ制御部110は、所定の位置へ物体Pを把持して搬送するよう、マニピュレータ20を制御する(S1317)。   Next, the manipulator control unit 110 controls the hand 200 to grip the object P based on the updated gripping information in the gripping database 102b, and the learning control unit 101g holds the object P in a state where the hand 200 grips the object P. Thus, a process of supplying a test signal for nonlinear dynamic model learning to the manipulator control unit 110 is executed. Then, based on the execution result, the object database 102a and the gripping database 102b are updated (S1316). Then, the manipulator control unit 110 controls the manipulator 20 so as to grip and convey the object P to a predetermined position (S1317).

図26は、複数の物体ハンドリング装置1で学習データを共有する学習システム400の概略構成図である。上述した学習動作は、物体認識用のデータのみならず、把持のためのデータや搬送のためのデータを学習するため、組み合わせ条件が多く、より多くの学習データが必要となる。この点、図26に示されるように、複数の物体ハンドリング装置1で学習データを共有することにより、より高速な学習が可能となる。また、この学習システム400では、マニピュレータ20(ロボット)の動作用の学習データも生成されるため、新しい物体が把持・搬送の対象となった場合のみならず、新しいロボットが導入されたような場合にも、学習データを活用し、より迅速により安定した把持および搬送を実現することが可能となる。   FIG. 26 is a schematic configuration diagram of a learning system 400 that shares learning data among a plurality of object handling apparatuses 1. The learning operation described above learns not only the data for object recognition but also the data for gripping and the data for conveyance, so there are many combination conditions and more learning data is required. In this regard, as shown in FIG. 26, by sharing learning data among a plurality of object handling apparatuses 1, higher speed learning is possible. Further, in this learning system 400, learning data for operation of the manipulator 20 (robot) is also generated, so that not only when a new object becomes a target of gripping / conveying but also when a new robot is introduced. In addition, the learning data can be utilized to realize quicker and more stable gripping and conveyance.

図27には、図1の物体ハンドリングシステムとは別のシステムを示す構成図である。図27のシステムでは、物体ハンドリング装置1Aが移動機構6を備えず固定的に設置されているとともに、作業台70Aが移動機構6Aを備えている。このようなシステムでも、物体ハンドリング装置1Aは、上述したのと同様のオートキャリブレーションを実行することができるし、その他の処理も同様に実行することができる。   FIG. 27 is a block diagram showing a system different from the object handling system of FIG. In the system of FIG. 27, the object handling apparatus 1A is fixedly installed without the moving mechanism 6, and the work table 70A is provided with the moving mechanism 6A. Even in such a system, the object handling apparatus 1A can execute the same auto calibration as described above, and can also execute other processes in the same manner.

[非線形動力学モデルの学習と振動抑制]
図28は、マニピュレータ20Aの断面図である。このマニピュレータ20Aは、架台501、第1リンク503、第1モータ504、第1減速機505、第1エンコーダ506、第2リンク508、第2モータ509、第2減速機510、第2エンコーダ511を有する。架台501の上部に第1リンク503の一端が取り付けられており、第1リンク503の他端には第2リンク508が取り付けられている。第2リンク508の先端に負荷512が付加される。ここで、負荷512は、物体ハンドリング装置1のハンド200または、ハンド200と把持中の物体を合わせたものである。
[Learning of nonlinear dynamic model and vibration suppression]
FIG. 28 is a cross-sectional view of the manipulator 20A. The manipulator 20A includes a gantry 501, a first link 503, a first motor 504, a first speed reducer 505, a first encoder 506, a second link 508, a second motor 509, a second speed reducer 510, and a second encoder 511. Have. One end of the first link 503 is attached to the top of the gantry 501, and the second link 508 is attached to the other end of the first link 503. A load 512 is added to the tip of the second link 508. Here, the load 512 is a combination of the hand 200 of the object handling apparatus 1 or the hand 200 and the object being grasped.

コントローラ100Aは、第1モータ504及び第1エンコーダ506と、バネ特性を持つ第1減速機505との組合せにより、第1軸502を中心として架台501に対して第1リンク503を水平旋回させる。また、コントローラ100Aは、第2モータ509及び第2エンコーダ511と、バネ特性を持つ第2減速機510との組合せにより、第2軸507を中心として第1リンク503に対して第2リンク508を水平旋回させる。   The controller 100A horizontally turns the first link 503 with respect to the gantry 501 around the first shaft 502 by the combination of the first motor 504 and the first encoder 506 and the first speed reducer 505 having a spring characteristic. Further, the controller 100A moves the second link 508 with respect to the first link 503 around the second shaft 507 by combining the second motor 509 and the second encoder 511 with the second speed reducer 510 having spring characteristics. Turn horizontally.

図29は、このマニピュレータの1リンク分を示す模式図である。これは、2慣性系と呼ばれる。図28及び図29を参照して、このマニピュレータは、弾性関節(弾性機構、弾性部)を持つシリアル2リンクアームとして非線形動力学モデル化することができる。図29では、1リンク分の非線形動力学モデルの記述に必要な物理パラメータ、慣性モーメント、摩擦係数、およびバネ係数などについて第1軸を代表として示す。この図29においては、モータ520によってリンク530が減速機525を介して駆動制御される。第1軸に関する物理パラメータとしては、モータ520のトルク入力がuで表され、モータ520の慣性モーメントがmM1で表され、モータ520の回転角、すなわちエンコーダによって検出された出力がθM1で表され、モータ520の粘性摩擦係数がdM1で表され、モータ520のクーロン動摩擦係数がfM1で表され、減速機525の減衰係数がdG1で表され、減速機525のバネ係数がkG1で表され、リンク530の慣性モーメントがmL1で表され、リンク530の粘性摩擦係数がdL1で表され、リンク530の回転角がθL1で表される。 FIG. 29 is a schematic diagram showing one link of this manipulator. This is called a two-inertia system. With reference to FIG. 28 and FIG. 29, this manipulator can be modeled as a nonlinear dynamics as a serial two-link arm having an elastic joint (elastic mechanism, elastic part). In FIG. 29, the first axis is shown as a representative of the physical parameters, moment of inertia, friction coefficient, spring coefficient, and the like necessary for describing the nonlinear dynamic model for one link. In FIG. 29, the link 530 is driven and controlled by the motor 520 via the speed reducer 525. As physical parameters regarding the first axis, the torque input of the motor 520 is represented by u 1 , the moment of inertia of the motor 520 is represented by m M1 , and the rotation angle of the motor 520, that is, the output detected by the encoder is θ M1 . Where the viscous friction coefficient of the motor 520 is represented by d M1 , the Coulomb dynamic friction coefficient of the motor 520 is represented by f M1 , the damping coefficient of the speed reducer 525 is represented by d G1 , and the spring coefficient of the speed reducer 525 is k It is represented by G1 , the moment of inertia of the link 530 is represented by m L1 , the viscous friction coefficient of the link 530 is represented by d L1 , and the rotation angle of the link 530 is represented by θ L1 .

弾性関節を持つシリアル2リンクアームの非線形動力学モデルは、次のようなモータ側が式(1)で与えられ、リンク側が式(2)で与えられる。
ただし、
θ=[θM1,θM2]:モータの回転速度(サフィックス1、2は軸番号)
θ=[θL1,θL2]:リンクの回転速度
α=[α,α]:リンクの並進加速度
(θ)∈R2×2:リンク慣性行列
(dθ/dt,θ)∈R2×1:遠心力およびコリオリ力ベクトル
=diag(mM1,mM2):モータおよび減速機高速段慣性
=diag(dM1,dM2):モータ軸粘性摩擦係数
=diag(dL1,dL2):リンク軸粘性摩擦係数
=diag(kG1,kG2):減速機バネ係数
=diag(dG1,dG2):減速機減衰係数
=diag(nG1,nG2):減速比(nG1,nG2≦1)
=[fM1,fM2]:モータ軸のクーロン動摩擦トルク
E=diag(e,e):トルク/電圧(電流指令値)定数
u=[u,u]:入力電圧(モータの電流制御系への指令値)
である。ここで、式(1)中のsgn(a)は符号関数を表し、aが正、負、零の値に応じてsgn(a)はそれぞれ1、−1、0の値を取る。
また、diag(a、b)は、aおよびbを対角要素とする対角行列を表す。
In the nonlinear dynamic model of a serial two-link arm having an elastic joint, the following motor side is given by equation (1) and the link side is given by equation (2).
However,
θ M = [θ M1 , θ M2 ] T : Motor rotation speed (suffixes 1 and 2 are axis numbers)
θ L = [θ L1, θ L2] T: Rotation speed α = [α 1, α 2 ] Link T: Link translational acceleration M L (θ L) ∈R 2 × 2: link inertia matrix c L (d [theta] L / dt, θ L ) R 2 × 1 : Centrifugal force and Coriolis force vector M M = diag (m M1 , m M2 ): Motor and reduction gear high-speed inertia D M = diag (d M1 , d M2 ): Motor shaft viscous friction coefficient D L = diag (d L1 , d L2 ): Link shaft viscous friction coefficient K G = diag (k G1 , k G2 ): Reducer spring coefficient D G = diag (d G1 , d G2 ): Reduction gear damping coefficient N G = diag (n G1 , n G2 ): reduction ratio (n G1 , n G2 ≦ 1)
f M = [f M1 , f M2 ] T : Coulomb dynamic friction torque of motor shaft E = diag (e 1 , e 2 ): Torque / voltage (current command value) constant u = [u 1 , u 2 ] T : Input Voltage (command value to the motor current control system)
It is. Here, sgn (a) in equation (1) represents a sign function, and sgn (a) takes values of 1, -1, and 0, respectively, depending on whether a is positive, negative, or zero.
Further, diag (a, b) represents a diagonal matrix having a and b as diagonal elements.

ここで、α、β、γをリンクの長さ、重心位置、質量、慣性より構成される基底パラメータとすると、リンクの慣性行列は式(3)のように表される。
上記基底パラメータの詳細は、以下の式(4)にように表される。

α=mg1 +Iz1+m
β=mg2 +lz2 (4)
γ=mg1
ただし、
:各リンクの長さ(iは軸番号)
:各リンクの質量
gi:各リンクの重心位置(リンクは長手方向に左右対称)
zi:各リンクの重心周りの慣性モーメント
である。先端の負荷512が変化すると、当該先端の負荷512が付加されているリンクの質量mが変化し、基底パラメータα、β、γがともに変化する。
遠心力およびコリオリ力ベクトルについては、式(5)のようになる。
Here, if α, β, and γ are basis parameters composed of the link length, the center of gravity position, the mass, and the inertia, the inertia matrix of the link is expressed as Equation (3).
The details of the basis parameters are expressed as the following formula (4).

α = m 1 l g1 2 + I z1 + m 2 l 1 2
β = m 2 l g2 2 + l z2 (4)
γ = m 2 l 1 l g 1
However,
l i : length of each link (i is an axis number)
m i : Mass of each link l gi : Center of gravity of each link (links are symmetrical in the longitudinal direction)
l zi : Moment of inertia around the center of gravity of each link. When the tip load 512 changes, the mass m 2 of the link to which the tip load 512 is added changes, and the base parameters α, β, and γ all change.
About a centrifugal force and a Coriolis force vector, it becomes like a formula (5).

モータ角速度制御系については、PI(比例および積分)制御をFF−I−P(フィードフォワード−積分−比例)制御として2自由度PI制御にした式(6)を基本構成とする。
ただし、
dθMRi/dt:モータの角速度目標値(iは軸番号)
dθMi/dt:モータの角速度
FVi:モータの角速度目標値フィードフォワード制御ゲイン
IVi:モータの角速度偏差積分フィードバック制御ゲイン
PVi:モータの角速度比例フィードバック制御ゲイン
:入力電圧(モータの電流制御系への指令値(トルク入力))
である。
The motor angular velocity control system has a basic configuration based on Formula (6) in which PI (proportional and integral) control is FF-IP (feedforward-integral-proportional) control and two-degree-of-freedom PI control is performed.
However,
MRi / dt: Motor angular velocity target value (i is the axis number)
Mi / dt: motor angular velocity k FVi : motor angular velocity target value feedforward control gain k IVi : motor angular velocity deviation integral feedback control gain k PVi : motor angular velocity proportional feedback control gain u i : input voltage (motor current) Command value to control system (torque input)
It is.

図30は、一般的な速度制御系のブロック図である。この2自由度PI速度制御系は、図30に示すように、位置制御系(P制御)の内側にカスケード接続された制御系として構成される。なお、図30においては、第1軸に関する2自由度PI速度制御系を示している。   FIG. 30 is a block diagram of a general speed control system. The two-degree-of-freedom PI speed control system is configured as a control system cascade-connected inside the position control system (P control) as shown in FIG. FIG. 30 shows a two-degree-of-freedom PI speed control system related to the first axis.

以下においては、位置制御系を除いたモータの角速度制御系に焦点を当てて、制御周期が十分短いものと仮定しこれによりモータの角度制御系が連続系であるとして説明を行う。   In the following, focusing on the angular velocity control system of the motor excluding the position control system, it is assumed that the control cycle is sufficiently short, and the explanation will be made assuming that the angular control system of the motor is a continuous system.

まず、図28に示す2リンクアームの先端の負荷512を例えば5kgとし、式(1)に現れる物理パラメータ(以下においては、基底パラメータα、β、γも含むものとする)を公知の同定法を用いて推定する。この同定法としては、例えば、ロボットモデルの関節剛性を考慮した特許文献3などの同定法等が用いられる。   First, the load 512 at the tip of the two link arm shown in FIG. 28 is set to 5 kg, for example, and the physical parameters appearing in the equation (1) (hereinafter, including the base parameters α, β, and γ) are used using a known identification method. To estimate. As this identification method, for example, an identification method described in Patent Document 3 considering the joint stiffness of the robot model is used.

次に、これらの推定された物理パラメータをモータ速度制御ゲインと共に、動力学モデルを表す式(1)および速度フィードバック制御則を表す式(6)に代入する。これにより、シリアル2リンクアームの速度制御系の時間応答シミュレータを構築し、ロボット実機の時間応答と良く合うかどうかを確認する。   Next, these estimated physical parameters are substituted into equation (1) representing the dynamic model and equation (6) representing the speed feedback control law together with the motor speed control gain. As a result, a time response simulator of the speed control system of the serial 2-link arm is constructed, and it is confirmed whether or not it matches well with the time response of the actual robot.

上記の同定法によって物理パラメータが精度よく推定されていれば、これらの時間応答は良く合うはずである。もし、少しずれているようであれば、上記時間応答シミュレータを用いた非線形最小2乗法(レーベンバーグ−マルカート法など)による最適化計算を用いて、物理パラメータをファインチューニングする。図31は、物理パラメータのファインチューニングによる効果を示す図である。例えば、図31の上側に最適化前、下側に最適化後の角速度ステップ応答を示す。図31において、横軸は時間を示し、縦軸は角速度を示し、実線はロボット実機の応答を示し、破線はシミュレータによる応答結果を示す。最適化後の下側のグラフからわかるように、物理パラメータを最適化することで、シミュレータとロボット実機の角速度ステップ応答を良く合わせることができる。   If the physical parameters are accurately estimated by the above identification method, these time responses should match well. If there is a slight deviation, the physical parameters are fine-tuned using optimization calculation by a non-linear least-squares method (such as Levenberg-Marquardt method) using the time response simulator. FIG. 31 is a diagram showing the effect of fine tuning of physical parameters. For example, the angular velocity step response before optimization is shown on the upper side of FIG. In FIG. 31, the horizontal axis indicates time, the vertical axis indicates angular velocity, the solid line indicates the response of the actual robot, and the broken line indicates the response result by the simulator. As can be seen from the lower graph after optimization, by optimizing the physical parameters, the angular velocity step response of the simulator and the actual robot can be matched well.

そこで、本実施形態においては、上記エンコーダで計測したモータの角速度からリンクの角速度を推定するオブザーバを構成し、モータの角速度の計測値だけでなく、リンクの角速度の推定値もフィードバックすることによってマニピュレータ先端の振動を抑制しながら精度良く動作させる。以下の実施形態では、速度制御されたロボット実機とシミュレーションの時間応答とが良く合うことに着目し、物理パラメータの推定精度の良さを生かしたオブザーバを構成する。以下、各実施形態に係るオブザーバを説明する。   Therefore, in this embodiment, an observer is configured to estimate the angular velocity of the link from the angular velocity of the motor measured by the encoder, and not only the measured value of the angular velocity of the motor but also the estimated value of the angular velocity of the link is fed back. Operates accurately while suppressing vibration at the tip. In the following embodiment, focusing on the fact that the actual robot whose speed is controlled and the time response of the simulation match well, an observer is constructed that takes advantage of the good accuracy of estimation of physical parameters. Hereinafter, the observer according to each embodiment will be described.

(非線形動力学モデルによるマニピュレータ制御部(1))
図32は、マニピュレータ制御部112のオブザーバ600のブロック図である。この実施形態のオブザーバ600は、第1および第2軸のPI制御器601、602と、2リンクアームの非線形動力学モデル603と、非線形動力学モデル603の出力を積分する積分器604a、604b、604c、604d、605a、605b、605c、605dとを有する。PI制御器601は、第1軸を駆動するモータの速度dθM1/dtと第1軸を駆動するモータの回転速度の推定値との偏差に基づいてPI制御する。PI制御器602は、第2軸を駆動するモータの速度dθM2/dtと第2軸を駆動するモータの回転速度の推定値との偏差に基づいてPI制御する。2リンクアームの非線形動力学モデル603は、PI制御器601の出力と第1軸の操作量uとの和となる第1入力τおよびPI制御器602の出力と第2軸の操作量uとの和となる第2入力τに基づいて非線形動力学モデル603に基づいて第1および第2リンクの角加速度の推定を行うとともに第1および第2リンクをそれぞれ駆動するモータの角加速度の推定を行い、推定した角加速度を出力する。
(Manipulator control unit with nonlinear dynamic model (1))
FIG. 32 is a block diagram of the observer 600 of the manipulator control unit 112. The observer 600 of this embodiment includes first and second axis PI controllers 601, 602, a two-link arm nonlinear dynamic model 603, and integrators 604a, 604b that integrate the outputs of the nonlinear dynamic model 603, 604c, 604d, 605a, 605b, 605c, 605d. The PI controller 601 performs PI control based on the deviation between the speed dθ M1 / dt of the motor driving the first axis and the estimated value of the rotation speed of the motor driving the first axis. The PI controller 602 performs PI control based on the deviation between the speed dθ M2 / dt of the motor driving the second axis and the estimated value of the rotation speed of the motor driving the second axis. The two-link arm nonlinear dynamic model 603 includes a first input τ 1 that is the sum of the output of the PI controller 601 and the operation amount u 1 of the first axis, and the output of the PI controller 602 and the operation amount of the second axis. Based on the second input τ 2 that is the sum of u 2 , the angular acceleration of the first and second links is estimated based on the nonlinear dynamic model 603 and the angles of the motors that drive the first and second links, respectively. Acceleration is estimated and the estimated angular acceleration is output.

積分器604aは、非線形動力学モデル603から出力される第1リンクの角加速度の推定値を積分し、角速度の推定値を出力する。積分器604bは、積分器604aの出力を積分し、第1リンクの回転角の推定値を出力する。積分器604cは、非線形動力学モデル603から出力される第1リンクを駆動するモータの角加速度の推定値を積分し、上記モータの角速度の推定値を出力する。積分器604dは、積分器604cの出力を積分し、第1リンクを駆動するモータの回転角の推定値を出力する。   The integrator 604a integrates the estimated value of the angular acceleration of the first link output from the nonlinear dynamic model 603, and outputs the estimated value of the angular velocity. The integrator 604b integrates the output of the integrator 604a and outputs an estimated value of the rotation angle of the first link. The integrator 604c integrates the estimated value of the angular acceleration of the motor driving the first link output from the nonlinear dynamic model 603, and outputs the estimated value of the angular velocity of the motor. The integrator 604d integrates the output of the integrator 604c, and outputs an estimated value of the rotation angle of the motor that drives the first link.

積分器605aは、非線形動力学モデル603から出力される第2リンクの角加速度の推定値を積分し、角速度の推定値を出力する。積分器605bは、積分器605aの出力を積分し、第2リンクの回転角の推定値を出力する。積分器605cは、非線形動力学モデル603から出力される第2リンクを駆動するモータの角加速度の推定値を積分し、上記モータの角速度の推定値を出力する。積分器605dは、積分器605cの出力を積分し、第2リンクを駆動するモータの回転角の推定値を出力する。   The integrator 605a integrates the estimated value of the angular acceleration of the second link output from the nonlinear dynamic model 603, and outputs the estimated value of the angular velocity. The integrator 605b integrates the output of the integrator 605a and outputs an estimated value of the rotation angle of the second link. The integrator 605c integrates the estimated value of the angular acceleration of the motor driving the second link output from the nonlinear dynamic model 603, and outputs the estimated value of the angular velocity of the motor. The integrator 605d integrates the output of the integrator 605c, and outputs an estimated value of the rotation angle of the motor that drives the second link.

これらの第1および第2リンクの角加速度の推定値、第1および第2リンクの角速度の推定値、第1および第2リンクを駆動するモータの角速度の推定値、およびモータの回転角の推定値は、それぞれオブザーバ600から出力される。   The estimated values of the angular acceleration of the first and second links, the estimated values of the angular velocities of the first and second links, the estimated values of the angular velocities of the motors driving the first and second links, and the estimated rotation angles of the motors. Each value is output from the observer 600.

また、このオブザーバ600において、第1リンクの角速度の推定値、第1リンクとこの第1リンクを駆動するモータとの間に設けられる減速機の減速比nG1、および第1リンクを駆動するモータの角速度の推定値に基づいて、第1リンクのねじれ角速度の推定値を演算し、この推定値が出力される。同様に、第2リンクの角速度の推定値、第2リンクとこの第2リンクを駆動するモータとの間に設けられる減速機の減速比nG2、および第2リンクを駆動するモータの角速度の推定値に基づいて、第2リンクのねじれ角速度の推定値を演算し、この推定値が出力される。 Further, in this observer 600, the estimated value of the angular velocity of the first link, the reduction ratio n G1 of the reduction gear provided between the first link and the motor driving the first link, and the motor driving the first link Based on the estimated value of the angular velocity, the estimated value of the torsional angular velocity of the first link is calculated, and this estimated value is output. Similarly, the estimated value of the angular speed of the second link, the reduction ratio n G2 of the speed reducer provided between the second link and the motor driving the second link, and the estimated angular speed of the motor driving the second link Based on the value, an estimated value of the torsional angular velocity of the second link is calculated, and this estimated value is output.

この実施形態のオブザーバ600は、マニピュレータの非線形動力学モデル603を丸ごと内蔵し、PI制御器601、602のオブザーバゲインはマニピュレータの各軸の既存の速度制御系のPI制御ゲインをそのまま使用する、というシミュレータそのものである。すなわち、PI制御器601、602のオブザーバゲインは速度制御と等価なオブザーバゲインである。また、積分制御が入っているので出力推定値の定常偏差を零にする機能も内蔵されている。そして、オブザーバの実装における近似、およびゲイン調整にかかるエンジニアリングコストが全くない。   The observer 600 of this embodiment incorporates a whole nonlinear dynamic model 603 of the manipulator, and the observer gain of the PI controllers 601 and 602 uses the PI control gain of the existing speed control system of each axis of the manipulator as it is. The simulator itself. That is, the observer gain of the PI controllers 601 and 602 is an observer gain equivalent to the speed control. In addition, since integration control is included, a function to make the steady deviation of the estimated output value zero is also built-in. There is no engineering cost for approximation and gain adjustment in observer implementation.

非線形動力学モデル603に基づくPI制御型オブザーバは、式(1)を変形した式(7)に示す2階微分形式で表される。なお、式(7)において、記号「^」は推定値を表す。
ただし、
dθ/dt=[dθM1/dt, dθM2/dt]:オブザーバへのモータ角速度入力
u=[u,u]:オブザーバへの入力(モータ電流指令値)
PV=diag(kPV1,kPV2):速度偏差比例制御ゲイン
IV=diag(kIV1,kIV2):速度偏差積分制御ゲイン
τ=[τ]:オブザーバへの入力(モータ電流指令値)
である。
The PI control type observer based on the nonlinear dynamic model 603 is represented by a second-order differential form shown in Expression (7) obtained by modifying Expression (1). In Expression (7), the symbol “^” represents an estimated value.
However,
M / dt = [dθ M1 / dt, dθ M2 / dt] T : Input motor angular velocity to observer u = [u 1 , u 2 ] T : Input to observer (motor current command value)
K PV = diag (k PV1 , k PV2 ): Speed deviation proportional control gain K IV = diag (k IV1 , k IV2 ): Speed deviation integral control gain τ = [τ 1 , τ 2 ] T : Input to observer ( Motor current command value)
It is.

ここで、PI制御器601、602のオブザーバゲインは、ロボット実機の速度ループのFF−I−P制御(2自由度PI制御)のPとIのゲインと同じものを選んでいる。この場合、オブザーバの追従性能の1自由度だけを考えれば良いので、FF=P、すなわちフィードフォワード系を比例系としたPI制御として設定する。このシステムは、ゲインが一定の非線形オブザーバの一種である。また、積分制御が入っているので出力推定値の定常偏差は零になり、外乱除去オブザーバとしての機能も内蔵されている。   Here, the observer gains of the PI controllers 601 and 602 are selected to be the same as the gains of P and I in the FF-IP control (two-degree-of-freedom PI control) of the speed loop of the actual robot. In this case, since only one degree of freedom of the follow-up performance of the observer needs to be considered, FF = P, that is, PI control with the feedforward system as a proportional system is set. This system is a kind of nonlinear observer with a constant gain. In addition, since integral control is included, the steady-state deviation of the output estimation value becomes zero, and a function as a disturbance removal observer is also incorporated.

式(7)で表される状態オブサーバをコントローラ100Aに実装し、リアルタイムで図32に示す積分器を用いて2回積分することによって状態の推定ができる。なお、実際の積分は数値積分によって行われる。   The state observer represented by the equation (7) is mounted on the controller 100A, and the state can be estimated by integrating twice in real time using the integrator shown in FIG. Actual integration is performed by numerical integration.

さて、2慣性系の角速度制御においては、モータの角速度とリンクの角速度、モータとリンクとの軸ねじれ角速度の3状態量をフィードバックすれば、任意の極の配置が可能となり、速応性(制御系の目標値に追従する速さ)と減衰率を自在に設定できる。しかし、既存のPI制御系の再調整を伴うので移行するのは困難である。そこで、PI制御系への入力として、まず、オブザーバ600から出力される軸ねじれ角速度(リンク角速度とモータ角速度の差)の推定値だけを状態フィードバックする。この軸ねじれ角速度のフィードバックでは、PI制御のゲイン交差周波数を変化させずに減衰率だけを増加させる効果が見込まれる。このため、現場での手調整が容易なので、特に産業用ロボットの制御装置には導入しやすい。   In the two-inertia system angular velocity control, if the three state quantities of the motor angular velocity, the angular velocity of the link, and the axial torsional angular velocity of the motor and the link are fed back, any pole can be arranged, and the speed response (control system) The speed of following the target value) and the attenuation rate can be freely set. However, it is difficult to migrate because it involves readjustment of the existing PI control system. Therefore, as an input to the PI control system, first, only the estimated value of the axial torsional angular velocity (the difference between the link angular velocity and the motor angular velocity) output from the observer 600 is fed back. The feedback of the axial torsional angular velocity is expected to increase only the attenuation rate without changing the gain crossover frequency of PI control. For this reason, hand adjustment at the site is easy, so it is particularly easy to introduce it into a control device for an industrial robot.

図33は、図32のオブザーバ600を有したマニピュレータ制御部112(110)のブロック図である。オブザーバ600には、モータ角速度(エンコーダ差分)とモータドライバへの入力電圧(電流指令値)が入力される。このPI制御型のオブザーバ600による、第1および第2リンクに関する軸ねじれ角速度の推定値の状態フィードバック部701、702、703、704は、式(7)に示す2自由度PI制御(FF−I−P制御)にプラグインする形で実現可能であり、式(8)に示す制御則になる。
FIG. 33 is a block diagram of the manipulator control unit 112 (110) having the observer 600 of FIG. The observer 600 receives the motor angular velocity (encoder difference) and the input voltage (current command value) to the motor driver. The state feedback units 701, 702, 703, and 704 of the estimated values of the axial torsional angular velocities for the first and second links by the PI control type observer 600 are two-degree-of-freedom PI control (FF-I) shown in Expression (7). -P control) can be realized by plugging in, and the control law shown in equation (8) is obtained.

この軸ねじれ角速度の推定値の状態フィードバック制御ゲインkTVi(i=1,2)は、時間応答波形を見ながらの手調整が容易である。また、弾性関節を持つマニピュレータの正確な非線形動力学モデルに基づいたオブザーバを用いているので、シリアルリンクで構成されるマニピュレータの振動抑制制御では、第1軸だけの状態フィードバックだけでも十分な効果がある。なお、図33には、高慣性化のためのリンク角加速度のフィードバック定数算出部705が示されているが、このフィードバック定数算出部705の機能については、後述する。 The state feedback control gain k TVi (i = 1, 2) of the estimated value of the axial torsional angular velocity can be easily adjusted manually while viewing the time response waveform. In addition, since an observer based on an accurate nonlinear dynamic model of a manipulator having an elastic joint is used, in the vibration suppression control of a manipulator configured with a serial link, a sufficient effect can be obtained with only the state feedback of only the first axis. is there. FIG. 33 shows a link angular acceleration feedback constant calculation unit 705 for increasing the inertia. The function of the feedback constant calculation unit 705 will be described later.

本実施形態では、手先負荷が軽い場合にリンク側の慣性を大きく見せかけるための高慣性化制御について示す。その制御則は、式(8)にリンク角加速度の推定値のネガティブフィードバックを加えたものであり(図33の状態フィードバック部703、704)、式(9)に示すようになる。
In the present embodiment, high inertia control for pretending to show a large inertia on the link side when the hand load is light will be described. The control law is obtained by adding negative feedback of the estimated value of the link angular acceleration to Expression (8) (state feedback units 703 and 704 in FIG. 33), and is as shown in Expression (9).

ここで、角加速度の推定値の状態フィードバック制御ゲインkAViは、リンクの慣性モーメントの次元を持っており、マニピュレータの先端負荷の慣性変動分Δmを補償できると考えられる。例えば、式(3)の慣性行列がΔmの変動(減少)を受けると、基底パラメータα、β、γがそれぞれ式(10)に示すように、α’、β’、γ’に変化する。
α’=α―Δm
β’=β−Δm (10)
γ’=γ−Δm
ここで、式(3)の慣性行列の(1、1)成分に、式(10)に示すマニピュレータの先端負荷の慣性変動後のα’、β’、γ’を代入し、減速比nG1を考慮すると、式(11)に示すようになる。
AV1=(2+2cos(θL2))Δm×nG1 (11)
この式(11)により、第1軸の角加速度の推定値の状態フィードバック制御ゲインを算出することができる。式(11)が、図33に示す高慣性化のためのリンク角加速度のフィードバック定数算出部705の機能である。
Here, the state feedback control gain k AVi of the estimated value of the angular acceleration has the dimension of the inertia moment of the link, and it is considered that the inertia variation Δm of the tip load of the manipulator can be compensated. For example, when the inertia matrix of Equation (3) receives a change (decrease) in Δm, the base parameters α, β, and γ change to α ′, β ′, and γ ′ as shown in Equation (10), respectively.
α '= α-Δm
β ′ = β−Δm (10)
γ ′ = γ−Δm
Here, α ′, β ′, γ ′ after inertia change of the tip load of the manipulator shown in Expression (10) is substituted into the (1, 1) component of the inertia matrix of Expression (3), and the reduction ratio n G1 Is taken into account, the equation (11) is obtained.
k AV1 = (2 + 2 cos (θ L2 )) Δm × n G1 (11)
From this equation (11), it is possible to calculate the state feedback control gain of the estimated value of the angular acceleration of the first axis. Expression (11) is a function of the link angular acceleration feedback constant calculation unit 705 for increasing inertia shown in FIG.

(非線形動力学モデルによるマニピュレータ制御部(2))
図34は、マニピュレータ制御部113(110)のブロック図である。マニピュレータ制御部113は、高慣性化および定慣性化によるリンク角加速度のフィードバック制御およびそのゲイン算出機能を備えている。
(Manipulator control unit based on nonlinear dynamic model (2))
FIG. 34 is a block diagram of the manipulator control unit 113 (110). The manipulator control unit 113 is provided with link angular acceleration feedback control by high inertia and constant inertia and a gain calculation function thereof.

上述した慣性の低下は、アーム先端の負荷の質量が軽いときだけでなく、マニピュレータの姿勢変化でも生じる。2リンクマニピュレータでは、例えば、第2軸の角度が大きくなると第1軸の周りの慣性が低下することになる。そこで、姿勢変化による慣性の低下についても、リンク角加速度のフィードバックによって補償することを考える。   The above-described decrease in inertia occurs not only when the load mass at the arm tip is light, but also when the manipulator changes in posture. In the two-link manipulator, for example, when the angle of the second axis increases, the inertia around the first axis decreases. Therefore, it is considered to compensate for a decrease in inertia due to a change in posture by feedback of link angular acceleration.

2リンクマニピュレータの場合、式(3)に示す慣性行列の(1、1)成分の最大値からの慣性低下分を考慮すると、式(12)に示すようになる。
AV1=2γ(1−cos(θL2))nG1 (12)
この式(12)により、第1軸のリンク角加速度のフィードバック制御ゲインを算出できる。このフィードバックによって、アームの姿勢によらずに慣性を一定に保つこと、すなわち、定慣性化制御が実現され、上述の高慣性化制御と同等の振動抑制効果が得られる。
In the case of a two-link manipulator, when the amount of inertia reduction from the maximum value of the (1, 1) component of the inertia matrix shown in Equation (3) is taken into account, Equation (12) is obtained.
k AV1 = 2γ (1-cos (θ L2 )) n G1 (12)
By this equation (12), the feedback control gain of the link angular acceleration of the first axis can be calculated. By this feedback, the inertia is kept constant regardless of the posture of the arm, that is, constant inertia control is realized, and the vibration suppression effect equivalent to the above-described high inertia control is obtained.

この定慣性化制御と、実施形態の高慣性化制御は併用することが可能であり、式(11)と式(12)を融合すると、式(13)に示すようになる。
AV1=[(2+2cos(θ2L))Δm+2γ(1−cos(θL2))]nG1 (13)
この式(13)により、第1軸の高慣性化および定慣性化制御によるリンク角加速度のフィードバック制御ゲインを算出することができる。これが、図34に示す高慣性化および定慣性化制御によるリンク角加速度のフィードバック定数算出部705Aの機能である。
This constant inertial control and the high inertial control of the embodiment can be used in combination, and when Formula (11) and Formula (12) are merged, Formula (13) is obtained.
k AV1 = [(2 + 2 cos (θ 2L )) Δm + 2γ (1−cos (θ L2 ))] n G1 (13)
From this equation (13), it is possible to calculate the feedback control gain of the link angular acceleration by the high inertia and constant inertia control of the first axis. This is the function of the link angular acceleration feedback constant calculation unit 705A by the high inertia and constant inertia control shown in FIG.

さらに、式(3)に示す慣性行列の非対角要素に注目すると、(1、2)成分と(2、1)成分についても、高慣性化および定慣性化制御によるリンク角加速度のフィードバック制御ゲインkBV1、kBV2はそれぞれ、式(14)、(15)のように算出することができる。
BV1=[(1+cos(θ2L))Δm+γ(1−cos(θL2))]nG1 (14)
BV2=[(1+cos(θ2L))Δm+γ(1−cos(θL2))]nG1 (15)
Further, paying attention to the non-diagonal elements of the inertia matrix shown in the equation (3), the feedback control of the link angular acceleration by the high inertia and constant inertia control is also performed for the (1, 2) component and the (2, 1) component. The gains k BV1 and k BV2 can be calculated as shown in equations (14) and (15), respectively.
k BV1 = [(1 + cos (θ 2L )) Δm + γ (1−cos (θ L2 ))] n G1 (14)
k BV2 = [(1 + cos (θ 2L )) Δm + γ (1−cos (θ L2 ))] n G1 (15)

これらkBV1、BV2を用いて、第1軸に第2軸の角加速度のフィードバック、第2軸に第1軸の角加速度のフィードバックを式(9)に加えると、式(16)に示すようになる。
Using these k BV1 and k BV2 , when the feedback of the angular acceleration of the second axis is added to the first axis and the feedback of the angular acceleration of the first axis is added to the second axis, the equation (16) is obtained. It becomes like this.

このようにして、一般化した高慣性化および定慣性化制御を加えた振動抑制制御系が得られる。図34は、高慣性化および定慣性化制御を加えた振動抑制制御系全体のブロック図である。   In this way, a vibration suppression control system to which generalized high inertia and constant inertia control is added is obtained. FIG. 34 is a block diagram of the entire vibration suppression control system to which high inertia and constant inertia control is added.

図35は、別のオブザーバ600Aのブロック図である。この実施形態のオブザーバ600Aは、図32のオブザーバ600において、物理パラメータ切り替え部606を新たに設けた構成を有している。この実施形態のオブザーバ600Aは、先端負荷の変動とそれに伴う摩擦力の変動に対しては、図35に示すように、物理パラメータ切り替え部606によって非線形動力学モデル603の物理パラメータセットの切り替え(ゲインスケジューリング)を行い、振動抑制性能がロボットの先端負荷および摩擦力の変動によらずにロバストになるようにする。物理パラメータセットを陽に切り替えるためには、例えば、“Payload(5kg)”のようなロボット言語を実装し、先端負荷が変化するタイミングで用いれば良い。なお、物理パラメータセットとしては、例えば質量、慣性モーメント、摩擦係数、バネ係数等が挙げられる。   FIG. 35 is a block diagram of another observer 600A. The observer 600A of this embodiment has a configuration in which a physical parameter switching unit 606 is newly provided in the observer 600 of FIG. In the observer 600A of this embodiment, the physical parameter set switching (gain) of the nonlinear dynamics model 603 is performed by the physical parameter switching unit 606, as shown in FIG. Scheduling) is performed so that the vibration suppression performance is robust regardless of fluctuations in the robot tip load and friction force. In order to switch the physical parameter set explicitly, for example, a robot language such as “Payload (5 kg)” may be implemented and used at the timing when the tip load changes. Examples of the physical parameter set include mass, moment of inertia, friction coefficient, spring coefficient, and the like.

図35に示す例では、物理パラメータ切り替え部606は、先端負荷が5、4、3、2、1、0kg、つまり6通りの物理パラメータセットを必要とする。しかし、5kgの物理パラメータセットさえ精度よく推定しておけば、上述した非線形最小2乗法による最適化の手法によって、先端負荷4kgの物理パラメータセットを生成することができる。同じ要領で4kgから3kg、3kgから2kg、2kgから1kg、1kgから0kgの物理パラメータセットを生成することができる。   In the example illustrated in FIG. 35, the physical parameter switching unit 606 requires five physical parameter sets with a tip load of 5, 4, 3, 2, 1, 0 kg. However, as long as the physical parameter set of 5 kg is accurately estimated, the physical parameter set of the tip load of 4 kg can be generated by the optimization method based on the nonlinear least square method described above. In the same manner, a physical parameter set of 4 kg to 3 kg, 3 kg to 2 kg, 2 kg to 1 kg, and 1 kg to 0 kg can be generated.

図36は、さらに別のオブザーバ600Bのブロック図である。この実施形態のオブザーバ600Bは、図32に示す実施形態のオブザーバ600において、テーブル記憶部607と、ステップ応答データ比較部608と、物理パラメータ最適化部609とを新たに設けた構成を有している。第5実施形態のオブザーバ600Bは、先端負荷が5kg、4kg、3kg、2kg、1kg、0kgといった数値からずれていても良い。図36では、予め取得しておいた先端負荷の質量毎(5kg、4kg、3kg、2kg、1kg、0kg)の速度ステップ応答データと、その時の物理パラメータセットを格納するテーブル記憶部607が用意されている。   FIG. 36 is a block diagram of still another observer 600B. The observer 600B of this embodiment has a configuration in which a table storage unit 607, a step response data comparison unit 608, and a physical parameter optimization unit 609 are newly provided in the observer 600 of the embodiment shown in FIG. Yes. In the observer 600B of the fifth embodiment, the tip load may deviate from numerical values such as 5 kg, 4 kg, 3 kg, 2 kg, 1 kg, and 0 kg. In FIG. 36, a table storage unit 607 for storing speed step response data for each mass (5 kg, 4 kg, 3 kg, 2 kg, 1 kg, 0 kg) acquired in advance and a physical parameter set at that time is prepared. ing.

まず、未知の先端負荷を持つ実機の速度ステップ応答データを取得する。次に、取得した速度ステップ応答データと、テーブル記憶部607に格納された、先端負荷毎の速度ステップ応答データとをステップ応答データ比較部608において比較する。そして、この比較結果に基づいて、実機の速度ステップ応答データに対応する先端負荷が、テーブル記憶部607に格納された先端負荷、例えば5kg、4kg、3kg、2kg、1kg、0kgのうちから最も近い先端負荷を選択し、この選択した先端負荷に対応する物理パラメータセットを初期値として選択する。実機の速度ステップ応答データに対応する先端負荷に最も近い先端負荷の選択は、例えば、実機の速度ステップ応答データと、テーブル記憶部607に格納された各先端負荷の速度ステップ応答データとの差の2乗の和が最小となる先端負荷を選択する。   First, speed step response data of an actual machine having an unknown tip load is acquired. Next, the step response data comparison unit 608 compares the acquired speed step response data with the speed step response data for each tip load stored in the table storage unit 607. Based on the comparison result, the tip load corresponding to the speed step response data of the actual machine is the closest from the tip loads stored in the table storage unit 607, for example, 5 kg, 4 kg, 3 kg, 2 kg, 1 kg, 0 kg. A tip load is selected, and a physical parameter set corresponding to the selected tip load is selected as an initial value. The selection of the tip load closest to the tip load corresponding to the speed step response data of the actual machine is, for example, the difference between the speed step response data of the actual machine and the speed step response data of each tip load stored in the table storage unit 607. Select the tip load that minimizes the sum of the squares.

さらに、上記初期値として選択された物理パラメータセットを用いて物理パラメータ最適化部609によって最適化計算を行う。この最適化計算は、上述した非線形最小2乗法による手法と全く同様である。以上によって、未知の先端負荷に対しても、精度の良い物理パラメータセットが得られるので、精度の良いオブザーバを構築でき、効果的な振動抑制制御を供することができる。   Further, optimization calculation is performed by the physical parameter optimization unit 609 using the physical parameter set selected as the initial value. This optimization calculation is exactly the same as the above-described method based on the nonlinear least square method. As described above, since an accurate physical parameter set can be obtained even for an unknown tip load, an accurate observer can be constructed and effective vibration suppression control can be provided.

1,1A…物体ハンドリング装置、2…アーム(可動部)、20…マニピュレータ、21…カメラ(第一カメラ)、30…ベース、33…カメラ(第二カメラ)、50…処理部(載置部)、51…マーク(第一マーク)、71…マーク(第二マーク)、110…マニピュレータ制御部、101j…自動較正部(較正処理部)、200…ハンド(エフェクタ、可動部)、200g…接触センサ(センサ)、200h…力センサ(センサ)、200i…変位センサ(センサ)、X…方向(第一方向)、Y…方向(第一方向)、Z…方向(第二方向)、δx,δy…ずれ(第一誤差)、δz…ずれ(第二誤差)。   DESCRIPTION OF SYMBOLS 1,1A ... Object handling apparatus, 2 ... Arm (movable part), 20 ... Manipulator, 21 ... Camera (first camera), 30 ... Base, 33 ... Camera (second camera), 50 ... Processing part (mounting part) ), 51 ... Mark (first mark), 71 ... Mark (second mark), 110 ... Manipulator control unit, 101 j ... Automatic calibration unit (calibration processing unit), 200 ... Hand (effector, movable unit), 200 g ... Contact Sensor (sensor), 200h ... Force sensor (sensor), 200i ... Displacement sensor (sensor), X ... direction (first direction), Y ... direction (first direction), Z ... direction (second direction), δx, δy: deviation (first error), δz: deviation (second error).

Claims (8)

ベースと、
前記ベースに設けられ、リンクと、可動部と、前記リンクを回転駆動するモータと、を有したマニピュレータと、
前記マニピュレータに設けられた第一カメラと、
前記第一カメラによる前記ベースの所定位置の撮影結果、および前記マニピュレータが前記ベースに接触した際の前記リンクと前記モータの回転角の変化量に基づく前記マニピュレータに生じる負荷に基づいて前記可動部の位置の較正処理を実行する較正処理部と、
を備えた、物体ハンドリング装置。
Base and
A manipulator provided on the base and having a link, a movable part, and a motor for rotationally driving the link;
A first camera provided in the manipulator;
Based on a result of photographing the predetermined position of the base by the first camera and a load generated in the manipulator based on a change amount of a rotation angle of the link and the motor when the manipulator contacts the base. A calibration processing unit for executing a position calibration process;
An object handling device comprising:
前記ベースに設けられた第二カメラを備え、
前記較正処理部は、前記第二カメラが前記可動部を撮影した複数の画像に基づいて前記第二カメラの画像から得られる位置に対する画像較正値を取得することにより較正処理を実行する、請求項1に記載の物体ハンドリング装置。
A second camera provided on the base;
The calibration processing unit performs a calibration process by acquiring an image calibration value for a position obtained from an image of the second camera based on a plurality of images captured by the second camera of the movable unit. The object handling apparatus according to 1.
前記ベースに設けられた第一マークを備え、
前記較正処理部は、前記第一カメラが前記第一マークを撮影した画像に基づいて較正処理を実行する、請求項1または2に記載の物体ハンドリング装置。
A first mark provided on the base;
The object handling apparatus according to claim 1, wherein the calibration processing unit performs a calibration process based on an image obtained by photographing the first mark by the first camera.
物体を載置する載置部を備え、
前記第一マークが前記載置部にあるいは前記載置部と隣接して設けられた、請求項3に記載の物体ハンドリング装置。
A placement unit for placing an object;
The object handling device according to claim 3, wherein the first mark is provided at or adjacent to the mounting portion.
前記較正処理部は、前記第一カメラが物体ハンドリング装置外の所定位置を撮影した画像に基づいて較正処理を実行する、請求項1〜4のうちいずれか一つに記載の物体ハンドリング装置。   5. The object handling device according to claim 1, wherein the calibration processing unit executes a calibration process based on an image obtained by photographing the predetermined position outside the object handling device by the first camera. 前記較正処理部は、前記物体ハンドリング装置外に位置されたエフェクタによるアクセス対象物に設けられた第二マークを前記第一カメラが撮影した画像に基づいて較正処理を実行する、請求項5に記載の物体ハンドリング装置。   The said calibration process part performs a calibration process based on the image which the said 1st camera image | photographed the 2nd mark provided in the access target by the effector located outside the said object handling apparatus. Object handling device. ベースと、前記ベースに設けられ、リンクと、可動部と、前記リンクを回転駆動するモータと、を有したマニピュレータと、前記マニピュレータに設けられた第一カメラと、を備えた、物体ハンドリング装置の較正処理を実行する制御装置であって、
前記第一カメラによる前記ベースの所定位置の撮影結果を取得する第一取得部と、
前記マニピュレータが前記ベースに接触した際の前記リンクと前記モータの回転角の変化量に基づく前記マニピュレータに生じる負荷を取得する第二取得部と、
前記第一取得部によって得られた前記撮影結果および前記第二取得部によって得られた前記負荷に基づいて前記可動部の位置の較正処理を実行する較正処理部と、
を備えた、制御装置。
An object handling device, comprising: a base; a manipulator provided on the base; a link; a movable part; a motor that rotationally drives the link; and a first camera provided on the manipulator. A control device that executes a calibration process,
A first acquisition unit for acquiring a photographing result at a predetermined position of the base by the first camera;
A second acquisition unit that acquires a load generated in the manipulator based on a change amount of a rotation angle of the motor and the link when the manipulator contacts the base;
A calibration processing unit that executes a calibration process of the position of the movable unit based on the imaging result obtained by the first obtaining unit and the load obtained by the second obtaining unit;
A control device comprising:
ベースと、前記ベースに設けられ、リンクと、可動部と、前記リンクを回転駆動するモータと、を有したマニピュレータと、前記マニピュレータに設けられた第一カメラと、前記可動部の位置の較正処理を実行する較正処理部と、を備えた物体ハンドリング装置によって実行される、較正方法であって、
前記第一カメラが、前記ベースの所定位置を撮影し、
前記較正処理部が、前記第一カメラによる撮影結果および前記マニピュレータが前記ベースに接触した際の前記リンクと前記モータの回転角の変化量に基づく前記マニピュレータに生じる負荷に基づいて前記可動部の位置の較正処理を実行する、
較正方法。
A base, a manipulator provided on the base, a link, a movable part, and a motor that rotationally drives the link, a first camera provided on the manipulator, and a calibration process for the position of the movable part A calibration method executed by an object handling device comprising:
The first camera captures a predetermined position of the base;
The position of the movable part is based on a load generated on the manipulator based on a result of photographing by the first camera and a change amount of a rotation angle of the link and the motor when the manipulator contacts the base. Perform the calibration process of
Calibration method.
JP2018048066A 2018-03-15 2018-03-15 Object handling device, control device, and calibration method Pending JP2018158439A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018048066A JP2018158439A (en) 2018-03-15 2018-03-15 Object handling device, control device, and calibration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018048066A JP2018158439A (en) 2018-03-15 2018-03-15 Object handling device, control device, and calibration method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017055536A Division JP6707485B2 (en) 2017-03-22 2017-03-22 Object handling device and calibration method thereof

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020170174A Division JP2021003805A (en) 2020-10-07 2020-10-07 Object handling device, and control method

Publications (1)

Publication Number Publication Date
JP2018158439A true JP2018158439A (en) 2018-10-11

Family

ID=63794782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018048066A Pending JP2018158439A (en) 2018-03-15 2018-03-15 Object handling device, control device, and calibration method

Country Status (1)

Country Link
JP (1) JP2018158439A (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3653349A1 (en) * 2018-11-14 2020-05-20 Toshiba Tec Kabushiki Kaisha Commodity take-out apparatus
JP2020078852A (en) * 2018-11-14 2020-05-28 旭鉄工株式会社 Learning system and robot position adjustment system
WO2020175425A1 (en) * 2019-02-25 2020-09-03 国立大学法人 東京大学 Robot system, robot control device, and robot control program
JP2020163502A (en) * 2019-03-28 2020-10-08 セイコーエプソン株式会社 Object detection method, object detection device, and robot system
JP2020197978A (en) * 2019-06-04 2020-12-10 グローリー株式会社 Object detection device, object gripping system, object detection method, and object detection program
CN112109080A (en) * 2019-06-19 2020-12-22 发那科株式会社 Adjustment auxiliary device
JP2021037583A (en) * 2019-09-03 2021-03-11 日立Geニュークリア・エナジー株式会社 Device, method and program for monitoring work site
CN112476403A (en) * 2020-10-28 2021-03-12 福州国化智能技术有限公司 Intelligent system of traction robot hand
JP2021062978A (en) * 2018-10-30 2021-04-22 株式会社Mujin Robotic system with automatic package scan and registration mechanism, and method of operating the same
WO2022059541A1 (en) * 2020-09-16 2022-03-24 ソニーグループ株式会社 Control device, control system, control method, and robot
US11285624B2 (en) 2019-02-22 2022-03-29 Fanuc Corporation Object detection device, control device, and object detection computer program
CN114619489A (en) * 2022-04-01 2022-06-14 西南交通大学 System and method for recognizing and correcting coordinates of mechanical arm conveyed object based on image processing
KR20230095586A (en) * 2021-12-22 2023-06-29 주식회사 에스에프에이 Robotic picking system that can prevent picking errors
KR20230095587A (en) * 2021-12-22 2023-06-29 주식회사 에스에프에이 A robot picking system capable of preventing an error in picking a plurality of products and a control method therefor
WO2024186054A1 (en) * 2023-03-03 2024-09-12 주식회사 로보에테크놀로지 Robot assembly
JP7562283B2 (en) 2020-04-21 2024-10-07 株式会社東芝 Picking device, control device, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005334998A (en) * 2004-05-25 2005-12-08 Fuji Photo Film Co Ltd Self-propelled robot hand, and its camera adjusting method, hand moving amount correcting method and hand adjusting method
JP2013018075A (en) * 2011-07-11 2013-01-31 Seiko Epson Corp Robot, robot controller, robot control method, and program
JP2015093356A (en) * 2013-11-13 2015-05-18 三菱電機株式会社 Teaching point correction device and teaching point correction method
JP2015100866A (en) * 2013-11-22 2015-06-04 三菱電機株式会社 Robot simulation device, program, recording medium and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005334998A (en) * 2004-05-25 2005-12-08 Fuji Photo Film Co Ltd Self-propelled robot hand, and its camera adjusting method, hand moving amount correcting method and hand adjusting method
JP2013018075A (en) * 2011-07-11 2013-01-31 Seiko Epson Corp Robot, robot controller, robot control method, and program
JP2015093356A (en) * 2013-11-13 2015-05-18 三菱電機株式会社 Teaching point correction device and teaching point correction method
JP2015100866A (en) * 2013-11-22 2015-06-04 三菱電機株式会社 Robot simulation device, program, recording medium and method

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7548516B2 (en) 2018-10-30 2024-09-10 株式会社Mujin Robotic system with automated package scanning and registration mechanism and method of operation thereof
JP7340203B2 (en) 2018-10-30 2023-09-07 株式会社Mujin Robotic system with automatic package scanning and registration mechanism and how it works
US12002007B2 (en) 2018-10-30 2024-06-04 Mujin, Inc. Robotic system with automated package scan and registration mechanism and methods of operating the same
JP2021062978A (en) * 2018-10-30 2021-04-22 株式会社Mujin Robotic system with automatic package scan and registration mechanism, and method of operating the same
US11161240B2 (en) 2018-11-14 2021-11-02 Toshiba Tec Kabushiki Kaisha Commodity take-out apparatus
EP3653349A1 (en) * 2018-11-14 2020-05-20 Toshiba Tec Kabushiki Kaisha Commodity take-out apparatus
JP7207704B2 (en) 2018-11-14 2023-01-18 旭鉄工株式会社 Learning system and robot positioning system
JP2020078852A (en) * 2018-11-14 2020-05-28 旭鉄工株式会社 Learning system and robot position adjustment system
US11285624B2 (en) 2019-02-22 2022-03-29 Fanuc Corporation Object detection device, control device, and object detection computer program
WO2020175425A1 (en) * 2019-02-25 2020-09-03 国立大学法人 東京大学 Robot system, robot control device, and robot control program
JP2020163502A (en) * 2019-03-28 2020-10-08 セイコーエプソン株式会社 Object detection method, object detection device, and robot system
JP7275759B2 (en) 2019-03-28 2023-05-18 セイコーエプソン株式会社 OBJECT DETECTION METHOD, OBJECT DETECTION DEVICE, AND ROBOT SYSTEM
JP2020197978A (en) * 2019-06-04 2020-12-10 グローリー株式会社 Object detection device, object gripping system, object detection method, and object detection program
JP7377627B2 (en) 2019-06-04 2023-11-10 グローリー株式会社 Object detection device, object grasping system, object detection method, and object detection program
CN112109080A (en) * 2019-06-19 2020-12-22 发那科株式会社 Adjustment auxiliary device
JP2021037583A (en) * 2019-09-03 2021-03-11 日立Geニュークリア・エナジー株式会社 Device, method and program for monitoring work site
JP7217212B2 (en) 2019-09-03 2023-02-02 日立Geニュークリア・エナジー株式会社 Field monitoring device, field monitoring method and field monitoring program
JP7562283B2 (en) 2020-04-21 2024-10-07 株式会社東芝 Picking device, control device, and program
WO2022059541A1 (en) * 2020-09-16 2022-03-24 ソニーグループ株式会社 Control device, control system, control method, and robot
CN112476403A (en) * 2020-10-28 2021-03-12 福州国化智能技术有限公司 Intelligent system of traction robot hand
KR20230095586A (en) * 2021-12-22 2023-06-29 주식회사 에스에프에이 Robotic picking system that can prevent picking errors
KR20230095587A (en) * 2021-12-22 2023-06-29 주식회사 에스에프에이 A robot picking system capable of preventing an error in picking a plurality of products and a control method therefor
KR102669836B1 (en) * 2021-12-22 2024-05-28 주식회사 에스에프에이 Robotic picking system that can prevent picking errors
KR102669837B1 (en) * 2021-12-22 2024-05-28 주식회사 에스에프에이 A robot picking system capable of preventing an error in picking a plurality of products and a control method therefor
CN114619489A (en) * 2022-04-01 2022-06-14 西南交通大学 System and method for recognizing and correcting coordinates of mechanical arm conveyed object based on image processing
WO2024186054A1 (en) * 2023-03-03 2024-09-12 주식회사 로보에테크놀로지 Robot assembly

Similar Documents

Publication Publication Date Title
JP6707485B2 (en) Object handling device and calibration method thereof
JP2018158439A (en) Object handling device, control device, and calibration method
JP6807949B2 (en) Interference avoidance device
US10974830B2 (en) Manipulation system and method for an aircraft
CN109318226B (en) Robot control device, robot control method, and storage medium
JP5620445B2 (en) Article takeout device for determining holding position and posture of robot based on selection condition
JP6461712B2 (en) Cargo handling device and operation method thereof
JP5810582B2 (en) Robot control method and robot
CN109848983A (en) A kind of method of highly conforming properties people guided robot work compound
CN105817712A (en) Scraping device and scraping method using robot
JPWO2013176212A1 (en) Robot control device, robot control method, program, recording medium, robot system
JP2018039099A (en) Workpiece contact state estimating device and contact state estimation method
JP2018083274A (en) Robot control device, robot control method and picking device
Dogar et al. Towards coordinated precision assembly with robot teams
Cárdenas et al. Vision-based control of a mobile base and on-board arm
JP2021003805A (en) Object handling device, and control method
CN114502484A (en) Robot apparatus and method for controlling the same
EP3904014A1 (en) System and method for robotic assembly
WO2019069361A1 (en) Gripping position and attitude teaching device, gripping position and attitude teaching method, and robot system
WO2023187006A1 (en) Controlling a robotic manipulator for packing an object
He et al. Decentralised cooperative mobile manipulation with adaptive control parameters
US20230294918A1 (en) Recessed Drawer Opening Apparatus
JP7286524B2 (en) Picking robot, picking method and program
CN117464705A (en) Holding device, holding method, and storage medium
Becker The design of a control architecture for a heavy-lift precision manipulator for use in contact with the environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190903

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20191101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200616

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200707