JP7331527B2 - Apparatus, method and program for determining robot motion - Google Patents
Apparatus, method and program for determining robot motion Download PDFInfo
- Publication number
- JP7331527B2 JP7331527B2 JP2019137588A JP2019137588A JP7331527B2 JP 7331527 B2 JP7331527 B2 JP 7331527B2 JP 2019137588 A JP2019137588 A JP 2019137588A JP 2019137588 A JP2019137588 A JP 2019137588A JP 7331527 B2 JP7331527 B2 JP 7331527B2
- Authority
- JP
- Japan
- Prior art keywords
- container
- wall surface
- motion
- definition information
- setting
- 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.)
- Active
Links
Images
Landscapes
- Manipulator (AREA)
Description
本技術は、ロボットの動作を決定する装置、方法およびプログラムに関する。 The present technology relates to an apparatus, method, and program for determining motion of a robot.
従来、視覚センサを用いて、容器の中に収容された対象物を把持して取り出すピッキング動作を行なうロボットが知られている。容器の壁面近傍に位置する対象物に対するピッキング動作の際に、対象物が容器に接触し、対象物がロボットから落下する可能性がある。 2. Description of the Related Art Conventionally, robots are known that use a visual sensor to perform a picking operation of gripping and taking out an object contained in a container. When picking an object positioned near the wall surface of the container, the object may come into contact with the container and fall from the robot.
特開2012-106335(特許文献1)には、ロボットアームと、ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する技術が開示されている。当該技術を用いることにより、対象物と容器との接触を防止できる。 Japanese Patent Application Laid-Open No. 2012-106335 (Patent Document 1) discloses an effective movement method in which an interference check is performed between a robot arm and obstacles that hinder the movement of the robot arm, and only effective movement paths that avoid interference are extracted. A technique for creating a route network is disclosed. By using the technology, contact between the object and the container can be prevented.
しかしながら、特許文献1に記載の技術では、ロボットアームと障害物との干渉チェックのために複雑な演算が実行される。そのため、移動経路を生成するための計算コストが増加する。
However, with the technique described in
本発明は、上記の問題に鑑みてなされたものであり、その目的は、計算コストの増加を抑制しながら、容器に収容された対象物をピッキングするロボットの動作を決定できる装置、方法およびプログラムを提供することである。 The present invention has been made in view of the above problems, and an object of the present invention is to provide an apparatus, method, and program capable of determining the motion of a robot that picks up an object housed in a container while suppressing an increase in computational cost. is to provide
本開示の一例によれば、容器に収容された対象物をピッキングするロボットの動作を決定する装置は、領域設定部と、情報設定部と、検出部と、決定部とを備える。領域設定部は、容器内の空間において、互いに排他的な関係にある複数の領域を設定する。情報設定部は、複数の領域の各々と対応付けて、ロボットが有するエンドエフェクタの並進動作を定義する定義情報を設定する。検出部は、容器を撮像することにより得られた画像に基づいて、対象物の位置を検出する。決定部は、対象物を保持してから対象物を容器外に搬送するまでのエンドエフェクタのピッキング動作を決定する。決定部は、複数の領域のうち検出部によって検出された位置を含む領域に対応付けられた定義情報によって定義される並進動作をピッキング動作の並進成分として決定する。 According to one example of the present disclosure, an apparatus for determining an operation of a robot for picking an object housed in a container includes an area setting unit, an information setting unit, a detection unit, and a determination unit. The region setting unit sets a plurality of mutually exclusive regions in the space inside the container. The information setting unit sets definition information that defines the translational motion of the end effector of the robot in association with each of the plurality of areas. The detection unit detects the position of the object based on the image obtained by imaging the container. The determination unit determines a picking operation of the end effector from holding the object to conveying the object out of the container. The determining unit determines, as a translational component of the picking motion, a translational motion defined by definition information associated with a region including the position detected by the detecting unit among the plurality of regions.
この開示によれば、装置は、複雑な計算を行なうことなく、予め設定した定義情報を用いて、対象物に対するピッキング動作の並進成分を容易に決定できる。その結果、計算コストの増大を抑制しながら、容器に収容された対象物をピッキングするロボットの動作を決定できる。 According to this disclosure, the device can easily determine the translational component of the picking motion with respect to the object using preset definition information without performing complicated calculations. As a result, it is possible to determine the motion of the robot that picks up the object housed in the container while suppressing an increase in calculation cost.
上述の開示において、複数の領域は、容器内における第1対象壁面に隣接する第1領域と、第1領域よりも第1対象壁面から離れた位置の第2領域とを含む。 In the above disclosure, the plurality of regions includes a first region adjacent to the first target wall surface within the container and a second region located farther from the first target wall surface than the first region.
この開示によれば、第1領域と第2領域とのそれぞれについて、ピッキング動作の並進成分を決定するための定義情報を別個に設定できる。すなわち、第1領域および第2領域の各々について、当該領域に適した並進動作を定義する定義情報を設定することができる。 According to this disclosure, the definition information for determining the translational component of the picking motion can be set separately for each of the first area and the second area. That is, for each of the first area and the second area, definition information that defines a translational motion suitable for that area can be set.
上述の開示において、領域設定部は、第1対象壁面からの距離情報を用いて第1領域および第2領域を設定する。この開示によれば、第1領域および第2領域を容易に設定できる。 In the above disclosure, the area setting section sets the first area and the second area using distance information from the first target wall surface. According to this disclosure, the first area and the second area can be easily set.
例えば、第1領域に対応付けられた第1定義情報は、第1対象壁面から遠ざかる第1方向を示す。第1定義情報によって定義される並進動作は、起点に対する終点の方向が第1方向に一致する動作である。 For example, the first definition information associated with the first area indicates the first direction away from the first target wall surface. A translational motion defined by the first definition information is a motion in which the direction of the end point with respect to the starting point coincides with the first direction.
あるいは、第1領域に対応付けられた第1定義情報は、対象物が通過すべき指定位置を指定するための情報であってもよい。第1定義情報によって定義される並進動作は、検出された位置と指定位置とを通る直線または曲線に沿った動作である。 Alternatively, the first definition information associated with the first area may be information for designating a designated position through which the object should pass. The translational motion defined by the first definition information is motion along a straight line or curve passing through the detected position and the designated position.
これらの開示によれば、第1定義情報で示される方向または指定位置に従って、ピッキング動作の並進成分が決定される。 According to these disclosures, the translational component of the picking motion is determined according to the direction or specified position indicated by the first definition information.
上述の開示において、指定位置は、検出された位置に応じて指定される。この開示によれば、検出された位置に適した指定位置を指定することができる。 In the above disclosure, the designated position is designated according to the detected position. According to this disclosure, a designated position suitable for the detected position can be designated.
上述の開示において、第1領域は、第1対象壁面から第1距離以内である。指定位置は、第1対象壁面の上端から第1対象壁面の法線方向に沿って第2距離だけ離れた位置であってもよい。第2距離は第1距離以上である。 In the above disclosure, the first area is within a first distance from the first target wall surface. The designated position may be a position a second distance away from the upper end of the first target wall surface along the normal direction of the first target wall surface. The second distance is greater than or equal to the first distance.
上述の開示において、第2領域に対応付けられた第2定義情報は、例えば、第1対象壁面および容器の底面に直交する平面上において第1対象壁面に平行な上向きの方向、底面の法線方向、鉛直方向上向き、および、これらの方向のいずれかに対して第1対象壁面から離れるように傾斜した方向、のいずれかである第2方向を示す。第2定義情報によって定義される並進動作は、第2方向に沿った動作である。 In the above disclosure, the second definition information associated with the second region is, for example, an upward direction parallel to the first target wall surface on a plane orthogonal to the first target wall surface and the bottom surface of the container, the normal to the bottom surface A second direction is shown which is either a direction, vertically upwards, and a direction slanted away from the first target wall surface with respect to any of these directions. A translational motion defined by the second definition information is a motion along the second direction.
第2領域は、第1対象壁面から離れた位置にある。そのため、上記の第2方向に沿ったピッキング動作を行なっても、第1対象壁面と対象物との接触リスクが低い。 The second area is located away from the first target wall surface. Therefore, even if the picking operation is performed along the second direction, the risk of contact between the first object wall surface and the object is low.
上述の開示において、容器は、水平面に対して傾斜している。領域設定部は、容器の水平面に対する傾斜方向および傾斜角度に応じて複数の領域の少なくとも1つのサイズを調整する。この開示によれば、傾斜に応じて領域のサイズが適宜自動的に調整される。これにより、ユーザの手間を削減できる。 In the above disclosure the container is inclined with respect to the horizontal plane. The region setting unit adjusts the size of at least one of the plurality of regions according to the tilt direction and tilt angle of the container with respect to the horizontal plane. According to this disclosure, the size of the region is automatically adjusted accordingly depending on the slope. As a result, the user's trouble can be reduced.
上述の開示において、領域設定部は、エンドエフェクタによる対象物の保持位置と対象物の表面上の点との最大距離以上の第1距離を設定し、第1対象壁面から第1距離以内の領域を第1領域として設定する。 In the above disclosure, the area setting unit sets a first distance equal to or greater than the maximum distance between the position where the object is held by the end effector and a point on the surface of the object, and the area within the first distance from the first object wall surface is set as the first region.
あるいは、エンドエフェクタは、複数の爪を有する。なお、「爪」は、対象物を保持(把持)する際に、対象物に接触する部位であり、「指」とも称される。領域設定部は、複数の爪による対象物の保持位置の中心点と、対象物に外接する直方体または対象物および対象物を保持する複数の爪に外接する直方体の表面上の点との最大距離以上の第1距離を設定し、第1対象壁面から第1距離以内の領域を第1領域として設定してもよい。 Alternatively, the end effector has multiple pawls. A “claw” is a part that comes into contact with an object when holding (grasping) the object, and is also called a “finger”. The area setting unit determines the maximum distance between the center point of the holding position of the object by the plurality of claws and the point on the surface of the rectangular parallelepiped circumscribing the object or the object and the plurality of claws holding the object. The above first distance may be set, and a region within the first distance from the first target wall surface may be set as the first region.
これらの開示によれば、第1領域の範囲が自動的に設定される。その結果、ユーザの手間を削減できる。 According to these disclosures, the extent of the first region is automatically set. As a result, the user's trouble can be reduced.
上述の開示において、検出部は、対象物の姿勢をさらに検出する。決定部は、検出部によって検出された姿勢に基づいて、対象物と容器内における第2対象壁面との最短距離が長くなるようにピッキング動作の回転成分をさらに決定する。 In the above disclosure, the detector further detects the orientation of the object. The determination unit further determines a rotation component of the picking motion so as to increase the shortest distance between the object and the second object wall surface in the container, based on the orientation detected by the detection unit.
この開示によれば、ピッキング動作における回転動作によって、第2対象壁面と対象物との接触リスクを低減できる。 According to this disclosure, it is possible to reduce the risk of contact between the second object wall surface and the object by rotating the picking operation.
上述の開示において、複数の領域の各々の優先度を設定するための優先度設定部をさらに備える。容器には複数の物体が収容されている。検出部は、複数の物体の各々の位置を検出し、複数の物体のうち、優先度の最も高い領域に属する物体を対象物として決定する。 The above disclosure further includes a priority setting unit for setting the priority of each of the plurality of areas. A container contains a plurality of objects. The detection unit detects the position of each of the plurality of objects, and determines the object belonging to the region with the highest priority among the plurality of objects as the target object.
この開示によれば、優先度設定部は、例えば、壁面との接触リスクの低い領域の優先度を高く設定できる。その結果、ロボットは、壁面との接触リスクの低い対象物から順にピッキングできる。 According to this disclosure, the priority setting unit can, for example, set a high priority for an area with a low risk of contact with a wall surface. As a result, the robot can pick objects in descending order of risk of contact with the wall surface.
本開示の一例によれば、容器に収容された対象物をピッキングするロボットの動作を決定する方法は、第1~第4のステップを備える。第1のステップは、容器内の空間において、互いに排他的な関係にある複数の領域を設定するステップである。第2のステップは、複数の領域の各々と対応付けて、ロボットが有するエンドエフェクタの並進動作を定義する定義情報を設定するステップである。第3のステップは、容器を撮像することにより得られた画像に基づいて、対象物の位置を検出するステップである。第4のステップは、対象物を保持してから対象物を容器外に搬送するまでのエンドエフェクのピッキング動作を決定するステップとを備える。第4のステップは、複数の領域のうち検出された位置を含む領域に対応付けられた定義情報によって定義される並進動作をピッキング動作の並進成分として決定するステップを含む。 According to one example of the present disclosure, a method of determining a movement of a robot for picking an object contained in a container comprises first through fourth steps. The first step is to set a plurality of mutually exclusive regions in the space within the container. The second step is a step of setting definition information that defines the translational motion of the end effector of the robot in association with each of the plurality of regions. A third step is a step of detecting the position of the object based on the image obtained by imaging the container. A fourth step comprises determining an end effect picking motion from holding the object to transporting the object out of the container. A fourth step includes determining, as a translational component of the picking motion, a translational motion defined by definition information associated with a region including the detected position among the plurality of regions.
本開示の一例によれば、プログラムは、上記の方法をコンピュータに実行させる。これらの開示によっても、計算コストの増大を抑制しながら、容器に収容された対象物をピッキングするロボットの動作を決定できる。 According to one example of the present disclosure, a program causes a computer to perform the above method. According to these disclosures as well, it is possible to determine the motion of a robot that picks up an object housed in a container while suppressing an increase in computational cost.
本開示によれば、計算コストの増大を抑制しながら、容器に収容された対象物をピッキングするロボットの動作を決定できる。 Advantageous Effects of Invention According to the present disclosure, it is possible to determine the motion of a robot that picks up an object housed in a container while suppressing an increase in computational cost.
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. The same or corresponding parts in the drawings are denoted by the same reference numerals, and the description thereof will not be repeated.
§1 適用例
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に係る制御システムの全体構成を示す概略図である。図1に例示される制御システムSYSは、生産ラインなどに組み込まれ、容器であるコンテナ2に収容されたワーク1に対するピックアンドプレースの制御を行なう。図1に例示されるコンテナ2は、内底面が平坦であり、内壁面が内底面に対して垂直である直方体状の箱である。ワーク1は、コンテナ2内にばら積みされる。そのため、コンテナ2内でのワーク1の位置姿勢はランダムである。
§1 Application Example First, an example of a scene to which the present invention is applied will be described with reference to FIG. FIG. 1 is a schematic diagram showing the overall configuration of a control system according to an embodiment. A control system SYS exemplified in FIG. 1 is incorporated in a production line or the like, and controls pick-and-place operations for
図1に例示される制御システムSYSは、画像処理装置100と、ロボットコントローラ200と、ロボット300と、計測ヘッド400とを備える。画像処理装置100には、ディスプレイ150および入力装置160が接続されている。入力装置160は、例えばキーボードおよびマウスを含む。
The control system SYS illustrated in FIG. 1 includes an
ロボット300は、ワーク1に対するピックアンドプレースを行なう。ロボット300は、ワーク1を保持するエンドエフェクタ30と、エンドエフェクタの位置姿勢を変更するための多関節アーム31と、多関節アーム31を支持するベース32とを含む。ロボット300の動作は、ロボットコントローラ200によって制御される。
The
図1に例示されるエンドエフェクタ30は、2つの爪33を有し、2つの爪33を用いてワーク1を把持する。なお、爪33は、ワーク1を保持(把持)する際に、ワーク1に接触する部位であり、「指」とも称される。なお、ワーク1の保持方法は、2つの爪を用いた把持に限定されない。例えば、エンドエフェクタ30は、3つの爪を用いてワークを把持してもよいし、吸着パッドを用いてワーク1を吸着してもよい。
The
ロボットコントローラ200は、画像処理装置100からの動作指令を受けて、ロボット300の多関節アーム31を制御する。具体的には、ロボットコントローラ200は、エンドエフェクタ30がアプローチ動作、ピッキング動作およびプレース動作を行なうように多関節アーム31を制御する。「アプローチ動作」は、コンテナ2の外側の待機位置からワーク1の把持位置までのエンドエフェクタ30の動作である。「ピッキング動作」は、ワーク1を把持してからワーク1をコンテナ2の外側の退避位置に搬送するまでのエンドエフェクタ30の動作である。「プレース動作」は、ワーク1を退避位置から目標位置に搬送するまでのエンドエフェクタ30の動作である。
The
計測ヘッド400は、コンテナ2およびコンテナ2に収容されたワーク1が被写体となるように設置され、当該被写体を撮像する。計測ヘッド400は、投影部401と撮像部402とを備える。投影部401は、画像処理装置100からの指示に従って任意の投影パターン光を被写体に投影する。投影パターンは、例えば照射面内の所定方向に沿って明るさが周期的に変化するパターンである。撮像部402は、投影パターン光が投影された状態の被写体を撮像する。
The
投影部401は、主要なコンポーネントとして、例えば、LED(Light Emitting Diode)やハロゲンランプなどの光源と、投影部401の照射面の側に配置されたフィルタとを含む。フィルタは、後述するような三次元形状の計測に必要な投影パターン光を発生させるものであり、画像処理装置100からの指令に従って、面内の透光率を任意に変化させることができる。投影部401は、液晶またはDMD(Digital Mirror Device)と光源(LEDまたはレーザ光源など)とを用いた構成であってもよい。
The
撮像部402は、主要なコンポーネントとして、例えば、レンズなどの光学系と、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった撮像素子とを含む。
The
画像処理装置100は、計測ヘッド400から受けた画像に基づいて、コンテナ2に収容されたワーク1の位置姿勢を検出する。画像処理装置100は、検出したワーク1の位置姿勢に基づいて、エンドエフェクタ30のアプローチ動作、ピッキング動作およびプレース動作を決定する。画像処理装置100は、決定した動作に対応する動作指令を生成し、生成した動作指令をロボットコントローラ200に出力する。ロボットコントローラ200は、動作指令に従って、画像処理装置100によって決定されたアプローチ動作、ピッキング動作およびプレース動作をロボット300に実行させる。
The
ワーク1を把持した後のピッキング動作は、ワーク1とコンテナ2との干渉を考慮して決定される必要がある。特許文献1に開示の技術を用いて、ワーク1とコンテナ2との干渉チェックを行なうことによりピッキング動作を決定することが考えられる。しかしながら、上述したように、干渉チェックのための計算コストが増加するという問題が生じる。そのため、本実施の形態に係る画像処理装置100は、以下のような処理に従ってピッキング動作を決定する。
The picking operation after gripping the
図2は、実施の形態に係る画像処理装置におけるピッキング動作を決定する方法を説明する図である。図2の上方にはコンテナ2の平面図が示され、図2の下方にはコンテナ2の縦断面図が示される。
FIG. 2 is a diagram explaining a method of determining a picking operation in the image processing apparatus according to the embodiment. A plan view of the
図2に示されるように、画像処理装置100は、コンテナ2内の空間において、互いに排他的な関係にある複数の領域4a~4h,5を設定する。図2に示す例では、画像処理装置100は、コンテナ2の壁面3a~3dにそれぞれ隣接する領域4a~4dと、壁面3a,3bの両方に隣接する領域4eと、壁面3b,3cの両方に隣接する領域4fと、壁面3c,3dの両方に隣接する領域4gと、壁面3d,3aの両方に隣接する領域4hと、中央に位置する領域5とを設定している。領域5は、領域4a~4dよりも壁面3a~3dからそれぞれ離れている。
As shown in FIG. 2, the
画像処理装置100は、複数の領域4a~4h,5の各々と対応付けて、エンドエフェクタ30の並進動作を定義する定義情報をさらに設定する。コンテナ2のいずれかの壁面に隣接する領域4a~4hについては、隣接する壁面から遠ざかる並進動作を定義する定義情報が設定される。例えば、画像処理装置100は、領域4bに対応付けて、壁面3bから遠ざかる並進動作40bを定義する定義情報を設定する。同様に、画像処理装置100は、領域4dに対応付けて、壁面3dから遠ざかる並進動作40dを定義する定義情報を設定する。さらに、画像処理装置100は、壁面3a~3dから離れた位置の領域5に対応付けて、コンテナ2の底面3zの法線方向(鉛直方向上向き)に沿った並進動作50を定義する定義情報を設定する。
The
画像処理装置100は、複数の領域4a~4h,5のうち、ピッキング対象のワーク1について検出された位置を含む領域に対応付けられた定義情報によって定義される並進動作を、ピッキング動作の並進成分として決定する。例えば、ワーク1の位置が領域4bに含まれる場合、画像処理装置100は、領域4bに対応付けられた定義情報によって定義される並進動作40bをピッキング動作の並進成分として決定する。
The
上記の処理によれば、画像処理装置100は、複雑な計算を行なうことなく、予め設定した定義情報を用いて、ワーク1に対するピッキング動作の並進成分を容易に決定できる。その結果、計算コストの増大を抑制しながら、コンテナ2に収容されたワーク1をピッキングするロボットの動作を決定できる。
According to the above process, the
§2 具体例
次に、本実施の形態に係る制御システムの具体例について説明する。
§2 Specific Example Next, a specific example of the control system according to the present embodiment will be described.
<A.画像処理装置のハードウェア構成例>
画像処理装置100は、典型的には、汎用的なアーキテクチャを有しているコンピュータであり、予めインストールされたプログラム(命令コード)を実行することで、本実施の形態に係る画像処理を実行する。このようなプログラムは、典型的には、各種記録媒体などに格納された状態で流通し、あるいは、ネットワークなどを介して画像処理装置100にインストールされる。
<A. Hardware Configuration Example of Image Processing Apparatus>
The
このような汎用的なコンピュータを利用する場合には、本実施の形態に係る画像処理を実行するためのアプリケーションに加えて、コンピュータの基本的な処理を実行するためのOS(Operating System)がインストールされていてもよい。この場合には、本実施の形態に係るプログラムは、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。すなわち、本実施の形態に係るプログラム自体は、上記のようなモジュールを含んでおらず、OSと協働して処理が実行されてもよい。本実施の形態に係るプログラムとしては、このような一部のモジュールを含まない形態であってもよい。 When using such a general-purpose computer, in addition to the application for executing the image processing according to the present embodiment, an OS (Operating System) for executing the basic processing of the computer is installed. may have been In this case, the program according to the present embodiment may call necessary modules out of the program modules provided as part of the OS in a predetermined sequence at a predetermined timing to execute processing. good. That is, the program itself according to the present embodiment does not include the modules described above, and the processing may be executed in cooperation with the OS. A program according to the present embodiment may be in a form that does not include such a part of modules.
さらに、本実施の形態に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係るプログラムとしては、このような他のプログラムに組込まれた形態であってもよい。なお、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。 Furthermore, the program according to the present embodiment may be provided by being incorporated into a part of another program. Even in that case, the program itself does not include the modules included in the other program to be combined as described above, and the processing is executed in cooperation with the other program. That is, the program according to the present embodiment may be incorporated in such other program. A part or all of the functions provided by executing the program may be implemented as a dedicated hardware circuit.
図3は、図1に示す画像処理装置のハードウェア構成の一例を示す概略図である。図3に示されるように、画像処理装置100は、演算処理部であるCPU(Central Processing Unit)110と、記憶部としてのメインメモリ112およびハードディスク114と、計測ヘッドインターフェース116と、入力インターフェース118と、表示コントローラ120と、通信インターフェース124と、データリーダ/ライタ126とを含む。これらの各部は、バス128を介して、互いにデータ通信可能に接続される。
FIG. 3 is a schematic diagram showing an example of the hardware configuration of the image processing apparatus shown in FIG. As shown in FIG. 3, the
CPU110は、ハードディスク114にインストールされたプログラム(コード)をメインメモリ112に展開して、これらを所定順序で実行することで、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク114から読み出されたプログラムに加えて、計測ヘッド400によって取得された画像などを保持する。さらに、ハードディスク114には、後述するような各種データなどが格納される。なお、ハードディスク114に加えて、あるいは、ハードディスク114に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
The
計測ヘッドインターフェース116は、CPU110と計測ヘッド400との間のデータ伝送を仲介する。すなわち、計測ヘッドインターフェース116は、計測ヘッド400と接続される。計測ヘッドインターフェース116は、CPU110が発生した内部コマンドに従って、計測ヘッド400に対して投影コマンドおよび撮像コマンドを与える。計測ヘッドインターフェース116は、計測ヘッド400からの画像を一時的に蓄積するための画像バッファ116aを含む。計測ヘッドインターフェース116は、画像バッファ116aに所定コマ数の画像が蓄積されると、その蓄積された画像をメインメモリ112へ転送する。
The measuring
入力インターフェース118は、CPU110と入力装置160との間のデータ伝送を仲介する。すなわち、入力インターフェース118は、ユーザが入力装置160に入力した入力情報を受付ける。
表示コントローラ120は、ディスプレイ150と接続され、CPU110における処理結果などをユーザに通知するようにディスプレイ150の表示を制御する。
The
通信インターフェース124は、CPU110とロボットコントローラ200などの外部装置との間のデータ伝送を仲介する。通信インターフェース124は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。
データリーダ/ライタ126は、CPU110と記録媒体であるメモリカード106との間のデータ伝送を仲介する。すなわち、メモリカード106には、画像処理装置100で実行されるプログラムなどが格納された状態で流通し、データリーダ/ライタ126は、このメモリカード106からプログラムを読出す。また、データリーダ/ライタ126は、CPU110の内部指令に応答して、計測ヘッド400によって撮像された画像および/または画像処理装置100における処理結果などをメモリカード106へ書込む。なお、メモリカード106は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記憶媒体や、CD-ROM(Compact Disk Read Only Memory)などの光学記憶媒体等からなる。
Data reader/
<B.画像処理装置の機能構成例>
図4は、図1に示す画像処理装置の機能構成の一例を示すブロック図である。図4に示されるように、画像処理装置100は、記憶部10と、ヘッド制御部11と、設定部12と、画像処理部13とを備える。記憶部10は、図3に示すメインメモリ112およびハードディスク114によって実現される。ヘッド制御部11は、図3に示すCPU110および計測ヘッドインターフェース116によって実現される。設定部12は、図3に示すCPU110、入力インターフェース118および表示コントローラ120によって実現される。画像処理部13は、図3に示すCPU110および通信インターフェース124によって実現される。
<B. Functional Configuration Example of Image Processing Apparatus>
FIG. 4 is a block diagram showing an example of the functional configuration of the image processing apparatus shown in FIG. 1. As shown in FIG. As shown in FIG. 4 , the
記憶部10には、ワーク1の三次元形状を示すCAD(Computer Aided Design)データ101aと、コンテナ2の三次元形状を示すCADデータ101bとが予め格納される。記憶部10には、ワーク1を様々な視点から見たときの姿勢ごとの画像を示す複数のテンプレートデータ102が格納される。テンプレートデータ102は、例えばCADデータ101aに基づいて予め生成される。記憶部10には、計測ヘッド400の撮像により得られた画像データ103が格納される。さらに、記憶部10には、設定部12によって設定された領域情報104および定義情報105が格納される。領域情報104および定義情報105の詳細については後述する。
CAD (Computer Aided Design)
ヘッド制御部11は、計測ヘッド400の動作を制御する。ヘッド制御部11は、予め定められた投影パターン光の投影を指示する投影コマンドを計測ヘッド400に出力する。ヘッド制御部11は、投影パターン光が投影されている状態で撮像コマンドを計測ヘッド400に出力する。ヘッド制御部11は、計測ヘッド400から取得した画像データ103を記憶部10に格納する。
The
設定部12は、領域設定部12aと情報設定部12bとを有する。領域設定部12aは、コンテナ2内の空間において、互いに排他的な関係にある複数の領域を設定する。領域設定部12aは、複数の領域を設定するための設定画面をディスプレイ150に表示し、入力装置160への入力に従って複数の領域を設定する。領域設定部12aは、設定した複数の領域それぞれを示す領域情報104を生成し、生成した領域情報104を記憶部10に格納する。領域情報104は、例えば、コンテナ2の特徴点(例えば左上角)を原点とする座標系における、複数の領域それぞれのx座標、y座標およびz座標の範囲を示す。
The setting
情報設定部12bは、複数の領域の各々と対応付けて、エンドエフェクタ30の並進動作を定義する定義情報105を設定する。情報設定部12bは、定義情報105を設定するための設定画面をディスプレイ150に表示し、入力装置160への入力に従って定義情報105を設定する。情報設定部12bは、複数の領域の各々について設定した定義情報105を記憶部10に格納する。
The
画像処理部13は、計測ヘッド400の撮像により得られた画像データ103に対する処理を行なう。図4に示されるように、画像処理部13は、3D画像生成部14と、検出部15と、動作指令決定部16と、通信部17とを含む。
The
3D画像生成部14は、画像データ103に基づいて、計測ヘッド400の視野領域における三次元計測を行ない、三次元点群データを生成する。三次元点群データは、計測ヘッド400の視野領域に存在する物体表面上の各点の三次元座標を示す。
Based on the
三次元計測処理として、例えば三角測距方式、同軸方式が採用され得る。三角測距方式は、撮像と投光との光軸を基線長分だけ離間させ、視差を距離に変換する方式である。三角測距方式には、アクティブ法とパッシブ法とが含まれる。アクティブ法には、構造化照明法、位相シフト法、空間コード法が含まれる。同軸方式は、撮像と測距手段との光軸を同一に設定する方式である。測距手段として、TOF(Time of Flight)方式、焦点方式が含まれる。3D画像生成部14は、これらの方式のいずれかを用いて三次元計測処理を実行すればよい。例えば位相シフト法を用いて三次元計測処理が行なわれる。
As the three-dimensional measurement processing, for example, a triangulation method and a coaxial method can be adopted. The triangulation method is a method in which the optical axes of imaging and light projection are spaced apart by the length of the base line, and parallax is converted into distance. Triangulation methods include active methods and passive methods. Active methods include structured illumination methods, phase shift methods, and spatial code methods. The coaxial method is a method in which the optical axes of the imaging and distance measuring means are set to be the same. Range finding means includes a TOF (Time of Flight) method and a focus method. The 3D
位相シフト法は、正弦波状に濃淡を変化させた投影パターン光を被写体に投影した状態で撮像された画像(正弦波投影画像)を用いる方法である。濃淡の変化周期や位相を異ならせた投影パターンが複数用意され、計測ヘッド400の投影部401は、撮像部402の視野領域に対して、複数の投影パターン光を順次照射する。3D画像生成部14は、複数の投影パターンが投影されたときにそれぞれ撮像される画像データ103の群(正弦波投影画像群)を記憶部10から読み出す。そして、3D画像生成部14は、これらの画像データ103間における対応する部分の明るさ(輝度や明度)の変化に基づいて、三次元座標を算出する。
The phase shift method is a method that uses an image (sinusoidal projection image) captured in a state in which projection pattern light with shading changed in a sinusoidal manner is projected onto an object. A plurality of projection patterns with different gradation change periods and phases are prepared, and the
検出部15は、記憶部10に格納された各テンプレートデータ102と三次元点群データとを照合し、三次元点群データの中からテンプレートと類似するデータを抽出する。検出部15は、抽出したデータに基づいて、ワーク1の位置姿勢を検出する。検出部15によって検出されるワーク1の位置姿勢は、計測ヘッド400の撮像部402の座標系(カメラ座標系)で示される。
The
さらに、コンテナ2の位置が一定ではない場合、検出部15は、画像データ103または三次元点群データに基づいて、コンテナ2の位置姿勢を検出してもよい。コンテナ2の位置姿勢の検出方法の詳細については後述する。
Furthermore, when the position of the
なお、検出部15は、複数のワーク1の位置姿勢を検出した場合、予め定められた選択基準に従って、当該複数のワーク1のうちの1つをピッキング対象として選択する。
When detecting the positions and orientations of a plurality of
動作指令決定部16は、ピッキング対象のワーク1の位置姿勢に応じて、エンドエフェクタ30の動作を決定する。動作指令決定部16は、決定した動作に対応する動作指令を生成する。
The motion
まず、動作指令決定部16はアプローチ動作を決定する。動作指令決定部16は、エンドエフェクタ30の待機位置がコンテナ2の開口部の上方である場合、例えば、待機位置からピッキング対象となるワーク1の把持位置まで移動する並進動作をアプローチ動作の並進成分として決定すればよい。さらに、動作指令決定部16は、ワーク1の姿勢に応じた回転動作をアプローチ動作の回転成分として決定すればよい。エンドエフェクタ30がワーク1を把持するときのワーク1に対するエンドエフェクタ30の相対位置姿勢は、把持点登録情報として予め登録されている。動作指令決定部16は、検出されたワーク1の位置姿勢と把持点登録情報とに基づいて、当該ワーク1を把持するときのエンドエフェクタ30の位置姿勢を計算すればよい。
First, the motion
次に、動作指令決定部16はピッキング動作を決定する。動作指令決定部16は、ピッキング対象のワーク1の位置姿勢とコンテナ2の位置姿勢とに基づいて、コンテナ2に対するワーク1の相対位置を計算する。コンテナ2に対するワーク1の相対位置は、例えばコンテナ2の特徴点(例えば左上角)を原点とする座標系で示される。動作指令決定部16は、コンテナ2に対するワーク1の相対位置と領域情報104とに基づいて、ワーク1の位置を含む領域を特定する。動作指令決定部16は、特定した領域に定義付けられた定義情報105によって定義される並進動作をピッキング動作の並進成分として決定する。
Next, the motion
なお、動作指令決定部16は、ピッキング動作の回転成分について、0に決定してもよいし、後のプレース動作にスムーズに移行するような値に決定してもよい。
Note that the motion
次に、動作指令決定部16はプレース動作を決定する。動作指令決定部16は、ピッキング動作後のワーク1の退避位置と目標位置とを結ぶ線に沿った並進動作をプレース動作の並進成分として決定すればよい。
Next, the motion
通信部17は、ロボットコントローラ200と通信可能であり、動作指令決定部16によって生成された動作指令をロボットコントローラ200に送信する。
The
ロボットコントローラ200は、動作指令に従ってロボット300を制御する。これにより、ロボット300のエンドエフェクタ30は、動作指令決定部16によって決定されたアプローチ動作、ピッキング動作およびプレース動作を順に行なう。ただし、ロボット300の機構(並進機構および回転機構)における動作精度には誤差がある。そのため、ロボット300のエンドエフェクタ30の実際の動作と動作指令決定部16によって決定された動作との間に誤差が生じ得る。
The
<C.領域の設定>
図5~図8を参照して、領域設定部12aによる領域の設定方法の一例について説明する。図5は、コンテナの形状を登録するための画面例を示す図である。図5に例示される画面60は、自動登録ボタン61と手動登録ボタン62とを有する。自動登録ボタン61が操作されると、領域設定部12aは、入力欄63に入力されたファイル名で示されるコンテナ2のCADデータに基づいて、コンテナ2の形状を登録する。手動登録ボタン62が操作されると、領域設定部12aは、入力欄64に入力された値に従って、コンテナ2の形状を登録する。
<C. Area setting>
An example of a region setting method by the
コンテナ2の形状は、コンテナ2の幅(外寸)W、奥行き(外寸)D、外寸高さH1、内寸高さH2、コンテナ2の側壁の幅方向の最大厚みB1、コンテナ2の側壁の奥行き方向の最大厚みB2、傾斜方向および傾斜角度で示される。傾斜方向および傾斜角度は、コンテナ2が設置される台の傾斜に応じて登録される。
The shape of the
画像処理装置100の記憶部10には、生産ラインで使用され得る複数種類のコンテナ2にそれぞれ対応する複数のCADデータ101bが格納されていてもよい。ユーザは、使用するコンテナ2の種類変更のタイミングにおいて、変更後の種類のコンテナ2に対応するCADデータ101bを入力欄63に入力すればよい。もしくは、生産ラインで使用され得る複数種類のコンテナ2ごとのW、D、H1、H2、B1およびB2を示す形状データが記憶部10に予め格納されていてもよい。ユーザは、使用するコンテナ2の種類変更のタイミングにおいて、変更後の種類のコンテナ2に対応する形状データを入力欄64に入力すればよい。
The
画像処理装置100は、使用するコンテナ2の種類変更のタイミングにおいて、変更後のコンテナ2の種類を示す情報を図示しない上位制御装置から取得してもよい。上位制御装置は、生産ラインの運用を管理する装置である。画像処理装置100は、上位制御装置からコンテナ2の種類を示す情報を取得すると、変更後の種類のコンテナ2に対応するCADデータ101bを入力欄63に自動的に入力してもよい。もしくは、画像処理装置100は、上位制御装置からコンテナ2の種類を示す情報を取得すると、変更後の種類のコンテナ2に対応する形状データを入力欄64に自動的に入力してもよい。
The
図6は、ワークの形状を登録するための画面例を示す図である。図6に例示される画面65は、自動登録ボタン66と手動登録ボタン67とを有する。自動登録ボタン66が操作されると、領域設定部12aは、入力欄68に入力されたファイル名で示されるワーク1のCADデータに基づいて、ワーク1の形状を登録する。手動登録ボタン67が操作されると、領域設定部12aは、入力欄69に入力された値に従って、ワーク1の形状を登録する。ワーク1の形状は、例えばワーク1の外接直方体の幅W、奥行きD、高さHで示される。
FIG. 6 is a diagram showing an example of a screen for registering the shape of a workpiece. A
画面65は、エンドエフェクタ30の2つの爪33による概略把持位置を入力するための入力欄70を含む。2つの爪33でワーク1を把持する場合、2つの爪33は、通常、ワーク1の外接直方体の幅方向または奥行き方向に沿って配置される。そのため、概略把持位置は、ワーク1の外接直方体の幅方向に直交する側面からの距離C1、および、奥行き方向に直交する側面からの距離C2のいずれかによって示される。すなわち、ワーク1を把持するときに2つの爪33が外接直方体の幅方向に沿って配置される場合には、距離C1が入力される。ワーク1を把持するときに2つの爪33が外接直方体の奥行き方向に沿って配置される場合には、距離C2が入力される。距離C1または距離C2は、予め登録されている把持点登録情報に基づいて自動的に入力されてもよい。
The
領域設定部12aは、2つの爪33による概略把持位置の中心点と、ワーク1の外接直方体の表面上の点との最大距離をマージン幅Mとして計算する。計算されたマージン幅Mは、画面65の表示欄71に表示される。
The
図7は、マージン幅の設定方法の一例を示す図である。領域設定部12aは、距離C1が入力された場合、ワーク1の外接直方体RPの対角線DLと、外接直方体RPの奥行き方向に直交する側面に平行であり、かつ、当該側面から距離C1だけ内側の平面との交点を概略把持位置の中心点Pとして決定する。領域設定部12aは、距離C2が入力された場合、ワーク1の外接直方体RPの対角線DLと、外接直方体RPの幅方向に直交する側面に平行であり、かつ、当該側面から距離C2だけ内側の平面との交点を概略把持位置の中心点Pとして決定する。領域設定部12aは、対角線DLを中心点Pで分割したときの一方の長さM1と他方の長さM2とのうちの長い方をマージン幅M(=max(M1,M2))として計算する。
FIG. 7 is a diagram showing an example of a margin width setting method. When the distance C1 is input, the
図8は、複数の領域を設定するための画面の一例を示す図である。図2を参照して上述したように、箱状のコンテナ2内の空間に対して、互いに排他的な関係にある複数の領域4a~4h,5が設定される。
FIG. 8 is a diagram showing an example of a screen for setting a plurality of areas. As described above with reference to FIG. 2, a plurality of
領域設定部12aは、コンテナ2の壁面3aから距離DM1以内の領域(ただし、領域4e,4hを除く)を領域4aとして設定する。領域設定部12aは、コンテナ2の壁面3bから距離WM1以内の領域(ただし、領域4e,4fを除く)を領域4bとして設定する。領域設定部12aは、コンテナ2の壁面3cから距離DM2以内の領域(ただし、領域4f,4gを除く)を領域4cとして設定する。領域設定部12aは、コンテナ2の壁面3dから距離WM2以内の領域(ただし、領域4g,4hを除く)を領域4dとして設定する。領域設定部12aは、壁面3aから距離DM1以内であり、かつ、壁面3bから距離WM1以内の領域を領域4eとして設定する。領域設定部12aは、壁面3bから距離WM1以内であり、かつ、壁面3cから距離DM2以内の領域を領域4fとして設定する。領域設定部12aは、壁面3cから距離DM2以内であり、かつ、壁面3dから距離WM2以内の領域を領域4gとして設定する。領域設定部12aは、壁面3dから距離WM2以内であり、かつ、壁面3aから距離DM1以内の領域を領域4hとして設定する。
The
図8に例示される画面72は、自動設定ボタン73と手動設定ボタン74とを有する。自動設定ボタン73が操作されると、領域設定部12aは、距離DM1,DM2,WM1.WM2の全てをマージン幅Mに設定する。
A
手動設定ボタン74が操作されると、領域設定部12aは、距離DM1,DM2,WM1.WM2を設定するための入力欄75への入力を受け付ける。領域設定部12aは、入力欄75に入力された値に従って、距離DM1,DM2,WM1,WM2を設定する。
When the
また、画面72は、コンテナ2を模式的に示す画像76を含む。手動設定ボタン74が操作されると、領域設定部12aは、画像76において、距離DM1,DM2,WM1,WM2を定義付ける矩形状の枠線77を表示する。さらに、領域設定部12aは、枠線77の位置およびサイズを変更するためのカーソル78を表示し、カーソル78に対する操作に従って枠線77の位置およびサイズを変更する。領域設定部12aは、変更後の枠線77の位置およびサイズに従って、距離DM1,DM2,WM1,WM2を設定してもよい。
The
<D.定義情報の設定>
図9および図10を参照して、情報設定部12bによる定義情報の設定方法の一例について説明する。
<D. Setting of definition information>
An example of a method of setting definition information by the
図9は、定義情報を設定するための画面例を示す図である。図9に例示される画面79は、ボタン群80と入力欄81とを含む。入力欄81は、壁面に隣接する領域4a~4hにそれぞれ対応付けられた定義情報105(以下、「第1定義情報」とも称する。)を設定するために使用される。ボタン群80は、壁面から離れた位置の領域5に対応付けられる定義情報105(以下、「第2定義情報」とも称する。)を設定するために使用される。
FIG. 9 is a diagram showing an example of a screen for setting definition information. A
ボタン群80は、鉛直方向上向きを選択するラジオボタン80aと、壁面平行を選択するラジオボタン80bとを含む。ラジオボタン80aが操作された場合、情報設定部12bは、領域5に対応付けて、鉛直方向上向きを示す第2定義情報を設定する。ラジオボタン80bが操作された場合、情報設定部12bは、領域5に対応付けて、壁面およびコンテナ2の底面に直交する平面上において壁面に平行な上向きの方向を示す第2定義情報を設定する。第2定義情報によって定義される並進動作は、第2定義情報で示される方向に沿った動作である。
The
なお、コンテナ2が水平に設置され、かつ、コンテナ2の壁面が底面に垂直である場合、ラジオボタン80a,80bのいずれを操作しても、同一の第2定義情報が設定される。
Note that when the
コンテナ2の壁面3a~3dが底面3zに対して傾斜している場合には、壁面およびコンテナの底面に直交する平面上において壁面に平行な上向きの方向と、底面の法線方向とは一致しない。さらに、コンテナ2が水平面に対して傾斜している場合、鉛直方向上向きと、底面の法線方向とも一致しない。そのため、ボタン群80は、ラジオボタン80a,80bの他に、底面の法線方向を選択するラジオボタンを含んでもよい。当該ラジオボタンが操作された場合、情報設定部12bは、領域5に対応付けて、底面の法線方向を示す第2定義情報を設定する。
When the wall surfaces 3a to 3d of the
入力欄81には、ワーク1が通過すべき指定位置を指定するための逃げ幅が入力される。情報設定部12bは、入力欄81に入力された逃げ幅を第1定義情報として設定する。第1定義情報によって定義される並進動作は、検出部15によって検出されたワーク1の位置と第1定義情報によって指定される指定位置とを通る直線に沿った動作である。
An
図10は、領域4aに対応付けられた第1定義情報によって定義される並進動作を示す図である。図10において、エンドエフェクタ30の待機位置Paとワーク1の検出位置Pbとを結ぶ線は、アプローチ動作の軌跡を示す。検出位置Pbと退避位置Pcとを結ぶ線は、ピッキング動作の軌跡を示す。退避位置Pcと目標位置Pdとを結ぶ線は、プレース動作の軌跡を示す。
FIG. 10 is a diagram showing the translational motion defined by the first definition information associated with the
検出位置Pbと検出位置Pbの鉛直方向上向きの退避位置Pc1とを結ぶ線に沿ってピッキング動作をさせた場合、ワーク1と壁面3aとが接触する可能性がある。そのため、ワーク1を壁面3aから遠ざかるように、退避位置を修正することが好ましい。従って、壁面3aから遠ざかるような並進動作が第1定義情報によって定義されるように、指定位置Pc2が指定される。図10に示す例では、コンテナ2の上端を通る平面7において、検出位置Pbから下した垂線の足である点Qから逃げ幅F1だけ壁面3aから離れた位置が指定位置Pc2として指定される。検出位置Pbと指定位置Pc2とを通る直線上に修正後の退避位置Pcが設定される。第1定義情報で定義される並進動作は、検出位置Pbと退避位置Pcとを結ぶ直線に沿った動作である。
When the picking operation is performed along the line connecting the detection position Pb and the retracted position Pc1 that faces upward in the vertical direction of the detection position Pb, the
なお、第1定義情報で定義される並進動作は、わずかにカーブする動作であってもよい。すなわち、第1定義情報によって定義される並進動作は、検出位置Pbと指定位置Pc2とを通る曲線に沿った動作であってもよい。この場合、当該曲線上に退避位置Pcが設定される。 Note that the translational motion defined by the first definition information may be a slightly curving motion. That is, the translational motion defined by the first definition information may be motion along a curve passing through the detected position Pb and the designated position Pc2. In this case, the retracted position Pc is set on the curve.
<E.コンテナが傾斜して設置されているときの処理例>
次に、コンテナ2が水平面に対して傾斜して設置されているときの処理例について説明する。ロボット300の多関節アーム31の可動範囲に応じて、コンテナ2が水平面に対して傾斜して設置され得る。
<E. Example of processing when the container is installed at an angle>
Next, an example of processing when the
図11は、水平面に対して傾斜角度θだけ傾斜して設置されたコンテナを示す断面図である。図11に示す例では、壁面3aが上側に位置し、壁面3cが下側に位置するように、コンテナ2が水平面に対して傾斜して設置されている。
FIG. 11 is a cross-sectional view showing a container installed at an inclination angle θ with respect to the horizontal plane. In the example shown in FIG. 11, the
コンテナ2が傾斜して設置されている場合、上側に位置する壁面3aとピッキング動作中のエンドエフェクタ30に把持されたワーク1との接触リスクが高まる。一方、下側に位置する壁面3cとピッキング動作中のエンドエフェクタ30に把持されたワーク1との接触リスクは低くなる。そのため、領域設定部12aは、壁面3aに隣接する領域4a,4e、4hのサイズを定める距離DM1(図8参照)と、壁面3cに隣接する領域4c,4f、4gのサイズを定める距離DM2(図8参照)とを傾斜角度θに応じて調整してもよい。
When the
図11に示す例では、領域設定部12aは、マージン幅M/cosθを距離DM1に設定し、マージン幅M×cosθを距離DM2に設定している。なお、領域設定部12aは、コンテナ2の内寸高さH2×tanθを距離DM2に設定してもよい。
In the example shown in FIG. 11, the
図12は、コンテナが水平面に対して傾斜して設置され、かつ、鉛直方向上向きを示す第2定義情報が設定されたときの領域の設定方法の一例を示す図である。第2定義情報が鉛直方向上向きを示す場合、領域5の範囲を図11に示す領域4cの範囲まで広げたとしても、下側に位置する壁面3cとピッキング動作中のエンドエフェクタ30に把持されたワーク1との接触リスクは低い。そのため、図12に示されるように、領域設定部12aは、壁面3cに隣接するように領域5を設定してもよい。
FIG. 12 is a diagram showing an example of a region setting method when the container is installed tilted with respect to the horizontal plane and the second definition information indicating the vertically upward direction is set. When the second definition information indicates the upward vertical direction, even if the range of the
コンテナ2が水平面に対して傾斜している場合であっても、情報設定部12bは、<D.定義情報の設定>で説明した方法と同じ方法に従って定義情報を設定すればよい。
Even if the
図13は、コンテナが水平面に対して傾斜して設置されているときの、領域4aに対応付けられた第1定義情報によって定義される並進動作を示す図である。図13に示されるように、ピッキング動作時のワーク1と壁面3aとの接触を回避するために、壁面3aから遠ざかるような並進動作が第1定義情報によって定義されるように、指定位置Pc2が指定される。図13に示す例では、コンテナ2の上端を通る平面7において、検出位置Pbから下した垂線の足である点Qから逃げ幅F1だけ壁面3aから離れた位置が指定位置Pc2として指定される。そして、検出位置Pbと指定位置Pc2とを通る直線上に修正後の退避位置Pcが設定される。第1定義情報によって定義される並進動作は、検出位置Pbと退避位置Pcとを結ぶ直線に沿った動作である。
FIG. 13 is a diagram showing the translational movement defined by the first definition information associated with the
なお、第1定義情報で定義される並進動作は、わずかにカーブする動作であってもよい。すなわち、第1定義情報によって定義される並進動作は、検出位置Pbと指定位置Pc2とを通る曲線に沿った動作であってもよい。この場合、当該曲線上に退避位置Pcが設定される。 Note that the translational motion defined by the first definition information may be a slightly curving motion. That is, the translational motion defined by the first definition information may be motion along a curve passing through the detected position Pb and the designated position Pc2. In this case, the retracted position Pc is set on the curve.
ロボット300の並進機構における動作精度には誤差がある。そのため、領域5に対応付けられた第2定義情報が鉛直方向上向き(Z軸正方向)に沿った並進動作を定義する場合、領域5に位置するワーク1に対するピッキング動作において、ワーク1と上側に位置する壁面3aとの接触リスクが高まる。そこで、図9において例えばラジオボタン80aが操作された場合に、鉛直方向上向き(Z軸正方向)よりも壁面3aから離れるように傾斜した方向に沿った並進動作を定義する第2定義情報が領域5に対応付けて設定されてもよい。このとき、並進動作の方向と鉛直方向上向き(Z軸正方向)とのなす角度は、ロボット300の並進機構における動作精度の誤差以上に設定される。
There is an error in the operational accuracy of the translational mechanism of the
<F.コンテナの位置姿勢の検出方法>
コンテナ2が固定位置に設置されない場合、検出部15は、コンテナ2に対するワーク1の相対位置姿勢を特定するために、コンテナ2の位置姿勢を検出する。
<F. Method for Detecting Position and Orientation of Container>
If the
図14は、コンテナの位置姿勢を検出する方法の一例を説明する図である。コンテナ2内にはワーク1が収容されるため、計測ヘッド400の撮像部402によって撮像される画像には、コンテナ2の上端面8が含まれる。コンテナ2が設置される台の高さが固定である場合、上端面8の高さ(Z座標)は一定である。ただし、コンテナ2の設置位置に応じて、上端面8のX座標およびY座標は変化しうる。そこで、検出部15は、二次元サーチの手法を用いてコンテナ2の位置姿勢を検出できる。すなわち、検出部15は、撮像部402から見たときのコンテナ2の上端面8の二次元形状を示すテンプレートデータを予め記憶しておき、当該テンプレートデータと画像データ103とを照合することにより、コンテナ2の位置姿勢を検出する。
FIG. 14 is a diagram illustrating an example of a method of detecting the position and orientation of a container. Since the
図15は、コンテナの位置姿勢を検出する方法の別の例を説明する図である。図15に示す例では、コンテナ2の上端面8上に4つの検出マーク8a~8dが描かれている。検出部15は、画像データ103の中から検出マーク8a~8dの位置を特定することにより、コンテナ2の位置姿勢を検出してもよい。
FIG. 15 is a diagram explaining another example of a method for detecting the position and orientation of a container. In the example shown in FIG. 15, four
図16は、コンテナの位置姿勢を検出する方法のさらに別の例を説明する図である。図16に示す例では、コンテナ2は、水平面に対して傾斜した台に設置される。コンテナ2が水平面に対して傾斜して設置される場合、上端面8上に描かれた4つの検出マーク8a~8dを頂点とする四角形が歪む。検出部15は、4つの検出マーク8a~8dを頂点とする四角形の歪み度合いに基づいて、コンテナ2の水平面に対する傾斜角度θを検出できる。例えば、検出部15は、傾斜角度θと4つの検出マーク8a~8d間の距離との関係式を予め記憶しておき、当該関係式を用いて傾斜角度θを計算すればよい。
FIG. 16 is a diagram explaining still another example of a method of detecting the position and orientation of a container. In the example shown in FIG. 16, the
検出部15は、ワーク1と同様に三次元サーチの手法を用いてコンテナ2の位置姿勢を検出してもよい。すなわち、コンテナ2を様々な方向から見たときの三次元形状を示すテンプレートデータが予め記憶部10に格納される。検出部15は、3D画像生成部14によって生成された三次元点群データとテンプレートデータとを照合することにより、コンテナ2の位置姿勢を検出する。
The
<G.設定処理の流れ>
図17は、画像処理装置における設定処理の流れの一例を示すフローチャートである。まず、画像処理装置100のCPU110は、コンテナ2内の空間において、互いに排他的な関係にある複数の領域(例えば図2に示す領域4a~4h,5)を設定する(ステップS1)。CPU110は、例えば図8に示す画面72をディスプレイ150に表示し、入力装置160への入力に従って複数の領域を設定する。CPU110は、設定した複数の領域のそれぞれの範囲を示す領域情報104を生成する。
<G. Setting process flow>
FIG. 17 is a flowchart showing an example of the flow of setting processing in the image processing apparatus. First, the
次に、CPU110は、ステップS1で設定した複数の領域の各々に対応付けて、エンドエフェクタの並進動作を定義する定義情報105を設定する。CPU110は、例えば図9に示す画面79をディスプレイ150に表示し、入力装置160への入力に従って定義情報105を設定する。
Next, the
<H.ロボット動作の制御処理の流れ>
図18は、画像処理装置におけるロボット動作の制御処理の流れの一例を示すフローチャートである。まず、CPU110は、計測ヘッド400によって撮像された複数の画像データ103に基づいて、計測ヘッド400の視野領域の三次元計測を行なう(ステップS11)。ステップS11において、CPU110は、三次元点群データを生成する。
<H. Flow of Robot Motion Control Processing>
FIG. 18 is a flowchart showing an example of the flow of control processing for robot motion in the image processing apparatus. First,
次に、CPU110は、ワーク1を様々に方向から見たときの三次元形状を示す複数のテンプレートデータ102と三次元点群データとを照合することにより、ワーク1の位置姿勢を検出する(ステップS12)。コンテナ2の位置姿勢が固定されていない場合、ステップS12において、検出部15は、コンテナ2の位置姿勢を検出してもよい。
Next, the
次に、CPU110は、ピッキング対象のワーク1の位置姿勢に応じてロボット300の動作を決定する(ステップS13)。ロボット300の動作には、上述したように、アプローチ動作とピッキング動作とプレース動作とが含まれる。具体的には、CPU110は、ステップS1において生成された領域情報104に基づいて、複数の領域のうちワーク1の位置を含む領域を特定する。CPU110は、特定した領域に対応付けられた定義情報105によって定義される並進動作をピッキング動作の並進成分として決定する。
Next, the
次に、CPU110は、決定した動作を実行させるための動作指令を生成し、生成した動作指令をロボットコントローラ200に出力する(ステップS14)。
Next, the
<I.作用・効果>
以上のように、本実施の形態に係る画像処理装置100は、コンテナ2に収容されたワークをピッキングするロボット300の動作を決定する。画像処理装置100は、領域設定部12aと、情報設定部12bと、検出部15と、動作指令決定部16とを備える。領域設定部12aは、コンテナ2内の空間において、互いに排他的な関係にある複数の領域を設定する。情報設定部12bは、複数の領域の各々と対応付けて、エンドエフェクタ30の並進動作を定義する定義情報105を設定する。検出部15は、コンテナ2を撮像することにより得られた画像に基づいて、ワーク1の位置を検出する。動作指令決定部16は、ワーク1を把持してからワーク1をコンテナ2外に搬送するまでのエンドエフェクタ30のピッキング動作を決定する。動作指令決定部16は、複数の領域のうち検出部15によって検出されたワーク1の位置を含む領域に対応付けられた定義情報105によって定義される並進動作を、ピッキング動作の並進成分として決定する。
<I. Action/Effect>
As described above, the
これにより、画像処理装置100は、複雑な計算を行なうことなく、予め設定した定義情報105を用いて、ワーク1に対するピッキング動作の並進成分を容易に決定できる。その結果、計算コストの増大を抑制しながら、コンテナ2に収容されたワーク1をピッキングするロボットの動作を決定できる。
As a result, the
複数の領域は、コンテナ2内における壁面3a~3dにそれぞれ隣接する領域4a~4dと、領域4a~4dよりも壁面3a~3dからそれぞれ離れた位置の領域5とを含む。これにより、コンテナ2の壁面3a~3dにそれぞれ隣接する領域4a~4dと、壁面3a~3dから離れた領域5とのそれぞれについて、ピッキング動作の並進成分を決定するための定義情報105を別個に設定できる。すなわち、複数の領域の各々について、当該領域に適した並進動作を定義する定義情報を設定することができる。
The plurality of areas include
領域設定部12aは、壁面3a~3dからの距離情報を用いて領域4a~4d,5を設定すればよい。これにより、領域4a~4d,5を容易に設定できる。
The
例えば、壁面3aに隣接する領域4aに対応付けられた定義情報105は、ワーク1が通過すべき指定位置を指定するための情報である。そして、当該定義情報105によって定義される並進動作は、ワーク1の検出位置と指定位置とを通る直線または曲線に沿った動作である。これにより、領域ごとに指定位置を設定することにより、ピッキング動作の並進成分が決定される。
For example, the
指定位置は、検出位置に応じて指定されてもよい。例えば、図10に示す例では、コンテナ2の上端を通る平面7において、検出位置Pbから下した垂線の足である点Qから逃げ幅F1だけ壁面3aから離れた位置が指定位置Pc2として指定される。これにより、検出位置Pbに適した指定位置が指定される。
The specified position may be specified according to the detected position. For example, in the example shown in FIG. 10, on the
領域5に対応付けられた定義情報105は、例えば、壁面3aおよび容器の底面3zに直交する平面上において壁面3aに平行な上向きの方向、底面3zの法線方向、鉛直方向上向き、およびこれらの方向よりも壁面3aから離れるように傾斜した方向、のいずれかを示す。領域5に対応付けられた定義情報105によって定義される並進動作は、これらの方向に沿った動作である。領域5は、壁面から離れた位置にある。そのため、これらの方向に沿ったピッキング動作を行なっても、壁面とワーク1との接触リスクが低い。
The
領域設定部12aは、コンテナ2が水平面に対して傾斜して設置される場合、コンテナ2の水平面に対する傾斜方向および傾斜角度に応じて、複数の領域の少なくとも1つ(図11に示す例では領域4a、4c)のサイズを調整する。これにより、傾斜に応じて領域のサイズが適宜自動的に調整される。これにより、ユーザの手間を削減できる。
When the
領域設定部12aは、2つの爪33によるワーク1の把持位置の中心点(図7の点P)と、ワーク1の外接直方体RPの表面上の点との最大距離をマージン幅Mとして設定する。そして、領域設定部12aは、壁面3a~3dからそれぞれマージン幅M以内の領域を領域4a~4dとして自動的に設定してもよい。これにより、領域の設定に要するユーザの手間を削減できる。なお、2つの爪33によるワーク1の把持位置の中心点(図7の点P)と、ワーク1の外接直方体RPの表面上の点との最大距離以上の距離がマージン幅Mとして設定されてもよい。
The
<J.変形例>
(J-1.変形例1)
上記の実施の形態では、内底面が平坦であり、内壁面が内側面に対して垂直である直方体状の箱であるコンテナ2を、ワーク1が収容される容器の一例として説明した。しかしながら、ワーク1が収容される容器は、コンテナ2の形状に限定されず、複雑な形状を有していてもよい。
<J. Variation>
(J-1. Modification 1)
In the above embodiment, the
図19は、ワークが収容される容器の別の例を示す平面図である。図20は、図19のV-V線に沿った矢視断面図である。図19および図20に例示されるコンテナ2aは、4つの凹部9a~9dを有する。ワークは、凹部9a~9d内に収容されるか、もしくは、凹部9a~9d内に収容されたワークの上に載せられる。図19および図20に示す例では、ワーク1bは凹部9a内に収容されており、ワーク1cは凹部9d内に収容されている。ワーク1aは、凹部9a内に収容されているワーク1bの上に載せられ、凹部9aの上方に位置している。
FIG. 19 is a plan view showing another example of a container in which works are stored. 20 is a cross-sectional view taken along line VV of FIG. 19. FIG. The
図21は、図19に示す凹部9a付近を示す拡大平面図である。図21に示されるように、凹部9aは、4つの壁面3e~3hによって囲まれている。壁面3e,3fは、凹部9aの底面に垂直である。壁面3g,3hは、凹部9aが上方に向かって広がるように、底面の法線方向に対して傾斜している。
21 is an enlarged plan view showing the vicinity of the
領域設定部12aは、凹部9a~9dの各々について、互いに排他的な関係にある複数の領域を設定すればよい。図21に示す例では、領域設定部12aは、凹部9a内の空間について領域4i~4p,5aを設定している。領域4iは壁面3e,3fに隣接する。領域4jは壁面3eに隣接する。領域4kは壁面3e,3hに隣接する。領域4lは壁面3fに隣接する。領域4mは壁面3hに隣接する。領域4nは壁面3f,3gに隣接する。領域4oは壁面3gに隣接する。領域4pは壁面3g,3hに隣接する。領域5aは、領域4e,4l,4o,4mよりも壁面3e~3hからそれぞれ離れている。
The
情報設定部12bは、各領域に対応付けて、エンドエフェクタ30の並進動作を定義する定義情報105を設定する。図21に示す例では、情報設定部12bは、領域4i~4p,5aに対応付けて、並進動作40i~40p,50aを定義する定義情報105をそれぞれ設定する。
The
並進動作40iは、領域4iに隣接する壁面3e,3fから離れる方向に移動する動作である。並進動作40jは、領域4jに隣接する壁面3eから離れる方向に移動する動作である。並進動作40lは、領域4lに隣接する壁面3fから離れる方向に移動する動作である。並進動作40mは、領域4mに隣接する壁面3hから離れる方向に移動する動作である。並進動作40oは、領域4oに隣接する壁面3gから離れる方向に移動する動作である。並進動作40pは、領域4pに隣接する壁面3g,3hから離れる方向に移動する動作である。
The
なお、凹部9aの底面とのなす角度が鈍角となるように傾斜している壁面3g,3hへのワークの接触リスクは低い。そのため、領域4m,4o,4pにそれぞれ対応する並進動作40m,40o,40pは、鉛直方向上向き(Z軸正方向)に沿った直線移動であってもよい。
The risk of the work contacting the wall surfaces 3g and 3h, which are inclined at an obtuse angle with the bottom surface of the
領域4kでは、凹部9aの底面とのなす角度が鈍角となるように傾斜している壁面3hよりも底面に垂直な壁面3eへのワークの接触リスクが高い。そのため、領域4kに対応する並進動作40kは、壁面3eから離れる方向に移動する動作である。同様に、領域4nでは、凹部9aの底面に対して傾斜している壁面3gよりも底面に垂直な壁面3fへのワークの接触リスクが高い。そのため、領域4nに対応する並進動作40nは、壁面3fから離れる方向に移動する動作である。
In the
図21に例示される並進動作50aは、鉛直方向上向き(Z軸正方向)に沿った直線移動である。ただし、ロボット300の並進機構における動作精度には誤差がある。そのため、ある方向に直線移動させようとしても、当該方向から誤差分だけ傾斜した方向に移動する可能性がある。凹部9aは、底面に垂直な壁面3e,3fと、底面とのなす角度が鈍角となるように傾斜している壁面3g,3hとに囲まれている。そのため、壁面3g,3hよりも壁面3e,3fへのワークの接触リスクが高い。そこで、図9において例えばラジオボタン80aが操作された場合に、鉛直方向上向き(Z軸正方向)よりも壁面3e,3fから離れるように傾斜した方向に沿った直進動作が並進動作50aとして設定されてもよい。このとき、並進動作50aの方向と鉛直方向上向き(Z軸正方向)とのなす角度は、ロボット300の並進機構における動作精度の誤差以上に設定される。
The
(J-2.変形例2)
コンテナ2,2aに収容された複数のワークを1つずつ順にピッキングする場合、壁面との接触リスクの低いワークからピッキングすることが好ましい。そこで、設定部12は、ピッキング対象となるワークを選択する基準となる優先度を領域ごとに設定してもよい。
(J-2. Modification 2)
When picking a plurality of works housed in the
図22は、変形例2に係る設定部の内部構成を示す図である。図22に例示される設定部12は、領域設定部12aおよび情報設定部12bの他に、優先度設定部12cを含む。
22 is a diagram illustrating an internal configuration of a setting unit according to
優先度設定部12cは、入力装置160への入力に従って、領域設定部12aによって設定された複数の領域の各々について優先度を設定する。優先度設定部12cは、領域ごとに設定した優先度を領域情報104に含める。
The
例えば、図2に示すコンテナ2の場合、領域5に位置するワーク1は、領域4a~4hに位置するワーク1よりも壁面3a~3dのいずれかへ接触するリスクが低い。そのため、ユーザは、領域5について、領域4a~4hの優先度よりも高い優先度を入力装置160に入力すればよい。これにより、優先度設定部12cは、領域5の優先度を領域4a~4hの優先度よりも高く設定する。
For example, in the case of the
図21に示すコンテナ2aの場合、底面に垂直な壁面3e,3f近傍のワークは、底面とのなす角度が鈍角となるように傾斜している壁面3g,3h近傍のワークよりも、壁面へ接触するリスクが低い。そのため、ユーザは、壁面3e,3fに隣接する領域について、相対的に低い優先度を入力装置160に入力すればよい。
In the case of the
図23は、変形例2において生成された領域情報の一例を示す図である。図23には、図21に示すコンテナ2aに対して生成された領域情報104が示される。図23に示されるように、壁面から最も離れた領域5aの優先度が最も高い「1」に設定されている。底面とのなす角度が鈍角となるように傾斜している壁面3g,3hの一方にのみ隣接している領域4m,4oの優先度が次に高い「2」に設定されている。壁面3g,3hの両方に隣接している領域4pの優先度が次に高い「3」に設定されている。底面に垂直な壁面3e,3fの一方にのみ隣接している領域4j,4lの優先度が次に高い「4」に設定されている。壁面3e,3fの一方と壁面3g,3hの一方とに隣接している領域4k,4nの優先度が次に高い「5」に設定されている。壁面3e,3fの両方に隣接している領域4iの優先度が最も低い「6」に設定されている。
23 is a diagram illustrating an example of area information generated in
検出部15は、複数のワークを検出した場合、領域情報104を参照して、当該複数のワークの中から優先度の最も高い領域に位置するワークをピッキング対象として選択すればよい。これにより、ロボット300は、壁面との接触リスクの低いワークから順にピッキングすることができる。
When detecting a plurality of works, the
例えば、図19に示す例では、まず、凹部9aの上方に位置しているワーク1aがピッキングされる。次に、底面とのなす角度が鈍角となるように傾斜している壁面近傍に位置するワーク1cがピッキングされる。最後に、底面に垂直な壁面近傍に位置するワーク1bがピッキングされる。
For example, in the example shown in FIG. 19, first, the
(J-3.変形例3)
図6に示す例では、ワーク1の形状として、ワーク1の外接直方体の幅W、奥行きD、高さHが登録され、当該外接直方体に基づいてマージン幅Mが計算される。しかしながら、ピッキング動作では、ワーク1とエンドエフェクタ30とが一体となって移動する。そのため、ワーク1とワーク1を把持するエンドエフェクタ30の爪33との外接直方体の幅、奥行き、高さが登録され、当該外接直方体に基づいてマージン幅Mが計算されてもよい。これにより、エンドエフェクタ30の爪33と壁面との接触リスクを低減できる。
(J-3. Modification 3)
In the example shown in FIG. 6, the width W, depth D, and height H of the circumscribed cuboid of the
(J-4.変形例4)
上記の説明では、2つの爪33によるワーク1の把持位置の中心点(図7の点P)と対象物の表面上の点との最大距離がマージン幅Mとして設定されるものとした。しかしながら、例えば、エンドエフェクタ30が1つの吸着パッドを用いてワーク1を吸着する場合、ワーク1に対する当該吸着パッドの吸着位置(保持位置)とワーク1の表面上の点との最大距離以上がマージン幅Mとして設定される。
(J-4. Modification 4)
In the above description, the margin width M is set as the maximum distance between the center point (point P in FIG. 7) of the gripping position of the
(J-5.変形例5)
上記の説明では、領域4a~4hに対応付けられた定義情報105は、コンテナ2の上端を通る平面7において、検出位置Pbから下した垂線の足である点Qと指定位置Pc2とから逃げ幅F1を示す(図10参照)。これにより、定義情報105によって指定位置Pc2が指定され、当該指定位置Pc2を通るように並進動作が定義される。
(J-5. Modification 5)
In the above description, the
しかしながら、領域4a~4hに対応付けられた定義情報105は、壁面の上端から壁面の法線方向に沿った距離である逃げ幅F2(図10および図13参照)を示してもよい。この場合、平面7において、壁面の上端から壁面の法線方向に逃げ幅F2だけ離れた位置が指定位置Pc3として指定される。そして、定義情報105によって定義される並進動作は、検出位置Pbと指定位置Pc3とを通る直線または曲線に沿った動作となる。なお、逃げ幅F2は、距離DM1,Dm2,WM1,WM2(図8参照)以上に設定される。
However, the
(J-6.変形例6)
上記の説明では、領域4a~4hに対応付けられた定義情報105は、ワーク1が通過すべき指定位置を示すものとした。しかしながら、領域4a~4hの各々に対応付けられた定義情報105は、当該領域に隣接する壁面から遠ざかる方向を示してもよい。例えば、壁面3aに隣接する領域4aに対応付けられた定義情報105は、壁面3aおよび底面3zに直交する平面上において、壁面3aから遠ざかる上向きの方向を示してもよい。この場合、当該定義情報105によって定義される並進動作は、起点に対する終点の方向が定義情報105で示される方向に一致する動作である。なお、定義情報105によって定義される並進動作は、定義情報105で示される方向に沿った直線動作であってもよいし、ピッキング動作の起点から終点に向かってわずかにカーブする動作であってもよい。
(J-6. Modification 6)
In the above description, the
(J-7.変形例7)
上記の実施の形態では、対象となる壁面に隣接する領域に対して、当該壁面から離れる方向に移動する並進動作を定義する定義情報105が設定される。これにより、ピッキング動作において、対象となる壁面へのワークの接触リスクを低減できる。ただし、ワークを収容する容器の形状によっては、対象となる壁面へのワークの接触リスクを低減できたとしても、当該壁面とは異なる壁面へのワークの接触リスクが依然として高い場合がある。このような場合、当該異なる壁面への接触リスクを低減するために、ピッキング動作の回転成分が決定されてもよい。
(J-7. Modification 7)
In the embodiment described above, the
図24は、ワークを収容するコンテナのさらに別の例を示す平面図である。図25は、図24に示すコンテナを示す縦断面図である。 FIG. 24 is a plan view showing still another example of a container that accommodates works. 25 is a longitudinal sectional view of the container shown in FIG. 24; FIG.
図24に例示されるコンテナ2bは、壁面3i,3j,3kを有する。コンテナ2b内の空間において壁面3iの法線方向に沿った長さは、直方体状のワーク1の対角線の長さよりも十分に長い。そのため、壁面3iに隣接する領域に対して、壁面3iから離れる方向の並進動作40を定義する定義情報105を設定することにより、ピッキング動作において壁面3iへのワークの接触リスクを低減できる。
A container 2b illustrated in FIG. 24 has
壁面3j,3kは壁面3iに隣り合う。壁面3j,3kは互いに対向している。壁面3jと壁面3kとの距離は、直方体状のワーク1の対角線の長さと同程度である。そのため、壁面3jから離れる方向にワーク1を並進動作させた場合、壁面3kにワーク1が接触する可能性が高まる。そこで、動作指令決定部16は、検出部15によって検出されたワーク1の姿勢に基づいて、ワーク1と壁面3j,3kとの最短距離が長くなるようにピッキング動作の回転成分を決定する。
The wall surfaces 3j and 3k are adjacent to the
例えば、動作指令決定部16は、検出部15によって検出された位置姿勢のワーク1をコンテナ2bの底面に平行な平面に投影し、投影部分の外接矩形を特定する。次に、動作指令決定部16は、特定した外接矩形の4つの頂点に内接する円90の中心Oを通り、かつ、コンテナ2bの底面の法線方向に平行な軸を回転軸として決定する。
For example, the motion
なお、動作指令決定部16は、ワーク1を把持するときの爪33が外接矩形の4つの頂点に内接する円の内部に位置するか否かを判定してもよい。動作指令決定部16は、判定結果が否を示す場合、ワーク1を把持するときの爪33が内部に含まれるように円90の位置およびサイズを補正し、補正後の円90の中心Oを通り、かつ、コンテナ2bの底面の法線方向に平行な軸を回転軸として決定してもよい。
The motion
次に、動作指令決定部16は、特定した外接矩形の長辺と壁面3j,3kとのなす角度を回転角度として計算するとともに、外接矩形の長辺を壁面3j,3kと平行にするための回転方向(図24に示す例では時計回りの方向)を決定する。動作指令決定部16は、決定した回転方向に回転角度だけ回転させる回転動作45をピッキング動作の回転成分として決定する。これにより、並進動作40により壁面3iとワーク1との接触リスクを低減するとともに、回転動作45により壁面3j,3kとワーク1との接触リスクを低減できる。
Next, the motion
<K.付記>
以上のように、本実施の形態および変形例は以下のような開示を含む。
<K. Note>
As described above, the present embodiment and modifications include the following disclosures.
(構成1)
容器(2,2a,2b)に収容された対象物(1)をピッキングするロボット(300)の動作を決定する装置(100)であって、
前記容器(2,2a,2b)内の空間において、互いに排他的な関係にある複数の領域(4a~4p,5,5a)を設定するための領域設定部(12a)と、
前記複数の領域(4a~4p,5,5a)の各々と対応付けて、前記ロボット(300)が有するエンドエフェクタ(30)の並進動作を定義する定義情報(105)を設定するための情報設定部(12b)と、
前記容器(2,2a,2b)を撮像することにより得られた画像に基づいて、前記対象物(1)の位置を検出するための検出部(15)と、
前記対象物(1)を保持してから前記対象物(1)を前記容器(2,2a,2b)外に搬送するまでの前記エンドエフェクタ(30)のピッキング動作を決定するための決定部(16)とを備え、
前記決定部(16)は、前記複数の領域(4a~4p,5,5a)のうち前記検出部(15)によって検出された位置を含む領域に対応付けられた前記定義情報(105)によって定義される並進動作を前記ピッキング動作の並進成分として決定する、装置(100)。
(Configuration 1)
A device (100) for determining the movement of a robot (300) for picking objects (1) contained in containers (2, 2a, 2b), comprising:
an area setting unit (12a) for setting a plurality of areas (4a to 4p, 5, 5a) that are mutually exclusive in the space within the container (2, 2a, 2b);
Information setting for setting definition information (105) defining translational motion of an end effector (30) of the robot (300) in association with each of the plurality of areas (4a to 4p, 5, 5a) a part (12b);
a detection unit (15) for detecting the position of the object (1) based on an image obtained by imaging the container (2, 2a, 2b);
Determination unit ( 16) and
The determination unit (16) is defined by the definition information (105) associated with an area including the position detected by the detection unit (15) among the plurality of areas (4a to 4p, 5, 5a). apparatus (100) for determining an applied translational motion as a translational component of said picking motion.
(構成2)
前記複数の領域(4a~4p,5,5a)は、前記容器(2,2a,2b)内における第1対象壁面(3a~3i)に隣接する第1領域(4a~4p)と、前記第1領域よりも前記第1対象壁面(3a~3i)から離れた位置の第2領域(5,5a)とを含む、構成1に記載の装置(100)。
(Configuration 2)
The plurality of regions (4a to 4p, 5, 5a) include first regions (4a to 4p) adjacent to first target wall surfaces (3a to 3i) in the container (2, 2a, 2b), and the first A device (100) according to
(構成3)
前記領域設定部(12a)は、前記第1対象壁面(3a~3i)からの距離情報を用いて前記第1領域(4a~4p)および前記第2領域(5,5a)を設定する、構成2に記載の装置(100)。
(Composition 3)
The area setting unit (12a) sets the first area (4a to 4p) and the second area (5, 5a) using distance information from the first target wall surface (3a to 3i). 3. The apparatus (100) of
(構成4)
前記第1領域(4a~4p)に対応付けられた第1定義情報は、前記第1対象壁面(30a~30i)から遠ざかる第1方向を示し、
前記第1定義情報によって定義される並進動作は、起点に対する終点の方向が前記第1方向に一致する動作である、構成2または3に記載の装置(100)。
(Composition 4)
The first definition information associated with the first area (4a-4p) indicates a first direction away from the first target wall surface (30a-30i),
4. The apparatus (100) according to
(構成5)
前記第1領域(4a~4p)に対応付けられた第1定義情報は、前記対象物(1)が通過すべき指定位置を指定するための情報であり、
前記第1定義情報によって定義される並進動作は、前記検出された位置と前記指定位置とを通る直線または曲線に沿った動作である、構成2または3に記載の装置(100)。
(Composition 5)
The first definition information associated with the first regions (4a to 4p) is information for designating a designated position through which the object (1) should pass,
4. The apparatus (100) of
(構成6)
前記指定位置は、前記検出された位置に応じて指定される、構成5に記載の装置(100)。
(Composition 6)
6. The apparatus (100) of
(構成7)
前記第1領域(4a~4p)は、前記第1対象壁面(3a~3i)から第1距離以内であり、
前記指定位置は、前記第1対象壁面(3a~3i)の上端から前記第1対象壁面の法線方向に沿って第2距離だけ離れた位置であり、
前記第2距離は前記第1距離以上である、構成5に記載の装置(100)。
(Composition 7)
The first regions (4a-4p) are within a first distance from the first target wall surfaces (3a-3i),
The specified position is a position separated by a second distance from the upper end of the first target wall surface (3a to 3i) along the normal direction of the first target wall surface,
6. The apparatus (100) of
(構成8)
前記第2領域(5,5a)に対応付けられた第2定義情報は、前記第1対象壁面(3a~3i)および前記容器(2,2a,2b)の底面(3z)に直交する平面上において前記第1対象壁面(3a~3i)に平行な上向きの方向、前記底面(3z)の法線方向、鉛直方向上向き、および、これらの方向のいずれかに対して前記第1対象壁面(3a~3i)から離れるように傾斜した方向、のいずれかである第2方向を示し、
前記第2定義情報によって定義される並進動作は、前記第2方向に沿った動作である、構成2から7のいずれかに記載の装置(100)。
(Composition 8)
The second definition information associated with the second region (5, 5a) is on a plane perpendicular to the first target wall surface (3a to 3i) and the bottom surface (3z) of the container (2, 2a, 2b) in the upward direction parallel to the first target wall surface (3a to 3i), the normal direction of the bottom surface (3z), the vertical upward direction, and the first target wall surface (
8. The apparatus (100) of any of configurations 2-7, wherein the translational motion defined by the second definition information is motion along the second direction.
(構成9)
前記容器(2,2a,2b)は、水平面に対して傾斜しており、
前記領域設定部(12a)は、前記容器(2,2a,2b)の水平面に対する傾斜方向および傾斜角度に応じて前記複数の領域の少なくとも1つのサイズを調整する、構成1から8のいずれかに記載の装置(100)。
(Composition 9)
The container (2, 2a, 2b) is inclined with respect to a horizontal plane,
9. Any one of
(構成10)
前記領域設定部(12a)は、
前記エンドエフェクタ(30)による前記対象物(1)の保持位置と前記対象物(1)の表面上の点との最大距離以上の第1距離を設定し、
前記第1対象壁面(3a~3i)から前記第1距離以内の領域を前記第1領域(4a~4p)として設定する、構成3に記載の装置(100)。
(Configuration 10)
The region setting unit (12a)
setting a first distance equal to or greater than the maximum distance between the holding position of the object (1) by the end effector (30) and a point on the surface of the object (1);
The device (100) according to
(構成11)
前記エンドエフェクタ(30)は、複数の爪(33)を有し、
前記領域設定部(12a)は、
前記複数の爪(33)による前記対象物(1)の保持位置の中心点と、前記対象物(1)に外接する直方体、または前記対象物(1)および前記対象物を保持する前記複数の爪に外接する直方体の表面上の点との最大距離以上の第1距離を設定し、
前記第1対象壁面(3a~3i)から前記第1距離以内の領域を前記第1領域として設定する、構成3に記載の装置(100)。
(Composition 11)
The end effector (30) has a plurality of claws (33),
The region setting unit (12a)
A center point of the holding position of the object (1) by the plurality of claws (33), a rectangular parallelepiped circumscribing the object (1), or the object (1) and the plurality of holding positions of the object setting a first distance greater than or equal to the maximum distance from a point on the surface of the cuboid circumscribing the nail;
The device (100) according to
(構成12)
前記検出部(15)は、前記対象物(1)の姿勢をさらに検出し、
前記決定部(16)は、前記検出部(15)によって検出された姿勢に基づいて、前記対象物(1)と前記容器(2b)内における第2対象壁面(3j,3k)との最短距離が長くなるように前記ピッキング動作の回転成分をさらに決定する、構成1から11のいずれかに記載の装置(100)。
(Composition 12)
The detection unit (15) further detects the posture of the object (1),
The determination unit (16) determines the shortest distance between the object (1) and second object wall surfaces (3j, 3k) in the container (2b) based on the orientation detected by the detection unit (15). 12. Apparatus (100) according to any of the
(構成13)
前記複数の領域(4a~4p,5,5a)の各々の優先度を設定するための優先度設定部(12c)をさらに備え、
前記容器(2,2a,2b)には複数の物体(1)が収容されており、
前記検出部(15)は、
前記複数の物体(1)の各々の位置を検出し、
前記複数の物体(1)のうち、前記優先度の最も高い領域に属する物体を前記対象物(1)として決定する、構成1から12のいずれかに記載の装置(100)。
(Composition 13)
Further comprising a priority setting unit (12c) for setting the priority of each of the plurality of areas (4a to 4p, 5, 5a),
A plurality of objects (1) are accommodated in the container (2, 2a, 2b),
The detection unit (15) is
detecting the position of each of the plurality of objects (1);
13. The apparatus (100) according to any of the
(構成14)
容器(2,2a,2b)に収容された対象物(1)をピッキングするロボット(300)の動作を決定する方法であって、
前記容器(2,2a,2b)内の空間において、互いに排他的な関係にある複数の領域(4a~4p,5,5a)を設定するステップと、
前記複数の領域(4a~4p,5,5a)の各々と対応付けて、前記ロボット(300)が有するエンドエフェクタ(30)の並進動作を定義する定義情報(105)を設定するステップと、
前記容器(2,2a,2b)を撮像することにより得られた画像に基づいて、前記対象物(1)の位置を検出するステップと、
前記対象物(1)を保持してから前記対象物(1)を前記容器(2,2a,2b)外に搬送するまでの前記エンドエフェクタ(30)のピッキング動作を決定するステップとを備え、
前記ピッキング動作を決定するステップは、
前記複数の領域(4a~4p,5,5a)のうち前記検出部(15)によって検出された位置を含む領域に対応付けられた前記定義情報(105)によって定義される並進動作を前記ピッキング動作の並進成分として決定するステップを含む、方法。
(Composition 14)
A method for determining a movement of a robot (300) for picking an object (1) contained in a container (2, 2a, 2b), comprising:
setting a plurality of regions (4a to 4p, 5, 5a) that are mutually exclusive in the space within the container (2, 2a, 2b);
a step of setting definition information (105) defining a translational motion of an end effector (30) of the robot (300) in association with each of the plurality of areas (4a to 4p, 5, 5a);
a step of detecting the position of the object (1) based on an image obtained by imaging the container (2, 2a, 2b);
determining a picking operation of the end effector (30) from holding the object (1) to conveying the object (1) out of the container (2, 2a, 2b);
The step of determining the picking action comprises:
the translational motion defined by the definition information (105) associated with the region including the position detected by the detection unit (15) among the plurality of regions (4a to 4p, 5, 5a) as the picking motion; determining as the translational component of .
(構成15)
容器に収容された対象物をピッキングするロボットの動作を決定する方法をコンピュータに実行させるプログラムであって、
前記方法は、
前記容器(2,2a,2b)内の空間において、互いに排他的な関係にある複数の領域(4a~4p,5,5a)を設定するステップと、
前記複数の領域(4a~4p,5,5a)の各々と対応付けて、前記ロボット(300)が有するエンドエフェクタ(30)の並進動作を定義する定義情報(105)を設定するステップと、
前記容器(2,2a,2b)を撮像することにより得られた画像に基づいて、前記対象物(1)の位置を検出するステップと、
前記対象物(1)を保持してから前記対象物(1)を前記容器(2,2a,2b)外に搬送するまでの前記エンドエフェクタ(30)のピッキング動作を決定するステップとを備え、
前記ピッキング動作を決定するステップは、
前記複数の領域(4a~4p,5,5a)のうち前記検出部(15)によって検出された位置を含む領域に対応付けられた前記定義情報(105)を前記ピッキング動作の並進成分として決定するステップとを含む、プログラム。
(Composition 15)
A program for causing a computer to execute a method for determining a movement of a robot for picking an object contained in a container,
The method includes:
setting a plurality of regions (4a to 4p, 5, 5a) that are mutually exclusive in the space within the container (2, 2a, 2b);
a step of setting definition information (105) defining a translational motion of an end effector (30) of the robot (300) in association with each of the plurality of areas (4a to 4p, 5, 5a);
a step of detecting the position of the object (1) based on an image obtained by imaging the container (2, 2a, 2b);
determining a picking operation of the end effector (30) from holding the object (1) to conveying the object (1) out of the container (2, 2a, 2b);
The step of determining the picking action comprises:
determining the definition information (105) associated with an area including the position detected by the detection unit (15) among the plurality of areas (4a to 4p, 5, 5a) as a translational component of the picking motion; A program, including steps and .
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 Although the embodiments of the present invention have been described, the embodiments disclosed this time should be considered as illustrative in all respects and not restrictive. The scope of the present invention is indicated by the claims, and is intended to include all changes within the meaning and range of equivalents to the claims.
1,1a~1c ワーク、2,2a,2b コンテナ、3a~3k 壁面、3z 底面、4a~4p,5,5a 領域、7 平面、8 上端面、8a~8d 検出マーク、9a~9d 凹部、10 記憶部、11 ヘッド制御部、12 設定部、12a 領域設定部、12b 情報設定部、12c 優先度設定部、13 画像処理部、14 3D画像生成部、15 検出部、16 動作指令決定部、17 通信部、30 エンドエフェクタ、31 多関節アーム、32 ベース、33 爪、60,65,69,72,79 画面、61,66 自動登録ボタン、62,67 手動登録ボタン、63,64,68~70,75,81 入力欄、71 表示欄、73 自動設定ボタン、74 手動設定ボタン、76 画像、77 枠線、78 カーソル、80 ボタン群、80a,80b ラジオボタン、100 画像処理装置、101a,101b CADデータ、102 テンプレートデータ、103 画像データ、104 領域情報、105 定義情報、106 メモリカード、110 CPU、112 メインメモリ、114 ハードディスク、116 計測ヘッドインターフェース、116a 画像バッファ、118 入力インターフェース、120 表示コントローラ、124 通信インターフェース、126 データリーダ/ライタ、128 バス、150 ディスプレイ、160 入力装置、200 ロボットコントローラ、300 ロボット、400 計測ヘッド、401 投影部、402 撮像部、RP 外接直方体、SYS 制御システム。 1, 1a to 1c workpiece, 2, 2a, 2b container, 3a to 3k wall surface, 3z bottom surface, 4a to 4p, 5, 5a region, 7 plane, 8 upper end surface, 8a to 8d detection mark, 9a to 9d recess, 10 Storage unit 11 Head control unit 12 Setting unit 12a Area setting unit 12b Information setting unit 12c Priority setting unit 13 Image processing unit 14 3D image generation unit 15 Detection unit 16 Operation command determination unit 17 Communication unit, 30 end effector, 31 articulated arm, 32 base, 33 nail, 60, 65, 69, 72, 79 screen, 61, 66 automatic registration button, 62, 67 manual registration button, 63, 64, 68 to 70 , 75, 81 input field, 71 display field, 73 automatic setting button, 74 manual setting button, 76 image, 77 frame line, 78 cursor, 80 button group, 80a, 80b radio button, 100 image processing device, 101a, 101b CAD data, 102 template data, 103 image data, 104 area information, 105 definition information, 106 memory card, 110 CPU, 112 main memory, 114 hard disk, 116 measurement head interface, 116a image buffer, 118 input interface, 120 display controller, 124 Communication interface, 126 data reader/writer, 128 bus, 150 display, 160 input device, 200 robot controller, 300 robot, 400 measurement head, 401 projection unit, 402 imaging unit, RP circumscribed cuboid, SYS control system.
Claims (14)
前記容器内の空間において、互いに排他的な関係にある複数の領域を設定するための領域設定部と、
前記複数の領域の各々と対応付けて、前記ロボットが有するエンドエフェクタの並進動作を定義する定義情報を設定するための情報設定部と、
前記容器を撮像することにより得られた画像に基づいて、前記対象物の位置を検出するための検出部と、
前記対象物を保持してから前記対象物を前記容器外に搬送するまでの前記エンドエフェクタのピッキング動作を決定するための決定部とを備え、
前記決定部は、前記複数の領域のうち前記検出部によって検出された位置を含む領域に対応付けられた前記定義情報によって定義される並進動作を前記ピッキング動作の並進成分として決定し、
前記複数の領域は、前記容器内における第1対象壁面に隣接する第1領域と、前記第1領域よりも前記第1対象壁面から離れた位置の第2領域とを含み、
前記第1領域に対応付けられた第1定義情報は、前記対象物が通過すべき指定位置を指定するための情報であり、
前記第1定義情報によって定義される並進動作は、前記検出された位置と前記指定位置とを通る直線または曲線に沿った動作であり、
前記第1領域は、前記第1対象壁面から第1距離以内であり、
前記指定位置は、前記第1対象壁面の上端から前記第1対象壁面の法線方向に沿って第2距離だけ離れた位置であり、
前記第2距離は前記第1距離以上である、装置。 A device for determining the motion of a robot for picking an object contained in a container,
a region setting unit for setting a plurality of mutually exclusive regions in the space within the container;
an information setting unit for setting definition information defining a translational motion of an end effector of the robot in association with each of the plurality of areas;
a detection unit for detecting the position of the object based on an image obtained by imaging the container;
a determination unit for determining a picking operation of the end effector from holding the object to conveying the object out of the container;
The determining unit determines, as a translational component of the picking motion, a translational movement defined by the definition information associated with an area including the position detected by the detecting unit among the plurality of areas,
The plurality of regions includes a first region adjacent to the first target wall surface in the container and a second region located farther from the first target wall surface than the first region,
the first definition information associated with the first area is information for designating a designated position through which the object should pass;
The translational motion defined by the first definition information is motion along a straight line or curve passing through the detected position and the specified position,
The first region is within a first distance from the first target wall surface,
The designated position is a position separated by a second distance from the upper end of the first target wall surface along the normal direction of the first target wall surface,
The apparatus , wherein the second distance is greater than or equal to the first distance.
前記容器内の空間において、互いに排他的な関係にある複数の領域を設定するための領域設定部と、
前記複数の領域の各々と対応付けて、前記ロボットが有するエンドエフェクタの並進動作を定義する定義情報を設定するための情報設定部と、
前記容器を撮像することにより得られた画像に基づいて、前記対象物の位置を検出するための検出部と、
前記対象物を保持してから前記対象物を前記容器外に搬送するまでの前記エンドエフェクタのピッキング動作を決定するための決定部とを備え、
前記決定部は、前記複数の領域のうち前記検出部によって検出された位置を含む領域に対応付けられた前記定義情報によって定義される並進動作を前記ピッキング動作の並進成分として決定し、
前記複数の領域は、前記容器内における第1対象壁面に隣接する第1領域と、前記第1領域よりも前記第1対象壁面から離れた位置の第2領域とを含み、
前記第2領域に対応付けられた第2定義情報は、前記第1対象壁面および前記容器の底面に直交する平面上において前記第1対象壁面に平行な上向きの方向、前記底面の法線方向、鉛直方向上向き、および、これらの方向のいずれかに対して前記第1対象壁面から離れるように傾斜した方向、のいずれかである第2方向を示し、
前記第2定義情報によって定義される並進動作は、前記第2方向に沿った動作である、装置。 A device for determining the motion of a robot for picking an object contained in a container,
a region setting unit for setting a plurality of mutually exclusive regions in the space within the container;
an information setting unit for setting definition information defining a translational motion of an end effector of the robot in association with each of the plurality of areas;
a detection unit for detecting the position of the object based on an image obtained by imaging the container;
a determination unit for determining a picking operation of the end effector from holding the object to conveying the object out of the container;
The determining unit determines, as a translational component of the picking motion, a translational movement defined by the definition information associated with an area including the position detected by the detecting unit among the plurality of areas,
The plurality of regions includes a first region adjacent to the first target wall surface in the container and a second region located farther from the first target wall surface than the first region,
The second definition information associated with the second area includes an upward direction parallel to the first target wall surface on a plane orthogonal to the first target wall surface and the bottom surface of the container, a normal direction to the bottom surface, a second direction that is either vertically upward and a direction slanted away from the first target wall surface with respect to any of these directions;
The device , wherein the translational motion defined by the second definition information is motion along the second direction.
前記容器内の空間において、互いに排他的な関係にある複数の領域を設定するための領域設定部と、
前記複数の領域の各々と対応付けて、前記ロボットが有するエンドエフェクタの並進動作を定義する定義情報を設定するための情報設定部と、
前記容器を撮像することにより得られた画像に基づいて、前記対象物の位置を検出するための検出部と、
前記対象物を保持してから前記対象物を前記容器外に搬送するまでの前記エンドエフェクタのピッキング動作を決定するための決定部とを備え、
前記決定部は、前記複数の領域のうち前記検出部によって検出された位置を含む領域に対応付けられた前記定義情報によって定義される並進動作を前記ピッキング動作の並進成分として決定し、
前記容器は、水平面に対して傾斜しており、
前記領域設定部は、前記容器の水平面に対する傾斜方向および傾斜角度に応じて前記複数の領域の少なくとも1つのサイズを調整する、装置。 A device for determining the motion of a robot for picking an object contained in a container,
a region setting unit for setting a plurality of mutually exclusive regions in the space within the container;
an information setting unit for setting definition information defining a translational motion of an end effector of the robot in association with each of the plurality of areas;
a detection unit for detecting the position of the object based on an image obtained by imaging the container;
a determination unit for determining a picking operation of the end effector from holding the object to conveying the object out of the container;
The determining unit determines, as a translational component of the picking motion, a translational movement defined by the definition information associated with an area including the position detected by the detecting unit among the plurality of areas,
The container is inclined with respect to a horizontal plane,
The device according to claim 1, wherein the region setting unit adjusts the size of at least one of the plurality of regions according to the tilt direction and tilt angle of the container with respect to the horizontal plane.
前記容器内の空間において、互いに排他的な関係にある複数の領域を設定するための領域設定部と、
前記複数の領域の各々と対応付けて、前記ロボットが有するエンドエフェクタの並進動作を定義する定義情報を設定するための情報設定部と、
前記容器を撮像することにより得られた画像に基づいて、前記対象物の位置を検出するための検出部と、
前記対象物を保持してから前記対象物を前記容器外に搬送するまでの前記エンドエフェクタのピッキング動作を決定するための決定部とを備え、
前記決定部は、前記複数の領域のうち前記検出部によって検出された位置を含む領域に対応付けられた前記定義情報によって定義される並進動作を前記ピッキング動作の並進成分として決定し、
前記複数の領域は、前記容器内における第1対象壁面に隣接する第1領域と、前記第1領域よりも前記第1対象壁面から離れた位置の第2領域とを含み、
前記領域設定部は、
前記第1対象壁面からの距離情報を用いて前記第1領域および前記第2領域を設定し、
前記エンドエフェクタによる前記対象物の保持位置と前記対象物の表面上の点との最大距離以上の第1距離を設定し、
前記第1対象壁面から前記第1距離以内の領域を前記第1領域として設定する、装置。 A device for determining the motion of a robot for picking an object contained in a container,
a region setting unit for setting a plurality of mutually exclusive regions in the space within the container;
an information setting unit for setting definition information defining a translational motion of an end effector of the robot in association with each of the plurality of areas;
a detection unit for detecting the position of the object based on an image obtained by imaging the container;
a determination unit for determining a picking operation of the end effector from holding the object to conveying the object out of the container;
The determining unit determines, as a translational component of the picking motion, a translational movement defined by the definition information associated with an area including the position detected by the detecting unit among the plurality of areas,
The plurality of regions includes a first region adjacent to the first target wall surface in the container and a second region located farther from the first target wall surface than the first region,
The area setting unit
setting the first area and the second area using distance information from the first target wall surface;
setting a first distance equal to or greater than a maximum distance between a position where the end effector holds the object and a point on the surface of the object;
An apparatus for setting an area within the first distance from the first target wall surface as the first area.
前記容器内の空間において、互いに排他的な関係にある複数の領域を設定するための領域設定部と、
前記複数の領域の各々と対応付けて、前記ロボットが有するエンドエフェクタの並進動作を定義する定義情報を設定するための情報設定部と、
前記容器を撮像することにより得られた画像に基づいて、前記対象物の位置を検出するための検出部と、
前記対象物を保持してから前記対象物を前記容器外に搬送するまでの前記エンドエフェクタのピッキング動作を決定するための決定部とを備え、
前記決定部は、前記複数の領域のうち前記検出部によって検出された位置を含む領域に対応付けられた前記定義情報によって定義される並進動作を前記ピッキング動作の並進成分として決定し、
前記複数の領域は、前記容器内における第1対象壁面に隣接する第1領域と、前記第1領域よりも前記第1対象壁面から離れた位置の第2領域とを含み、
前記エンドエフェクタは、複数の爪を有し、
前記領域設定部は、
前記第1対象壁面からの距離情報を用いて前記第1領域および前記第2領域を設定し、
前記複数の爪による前記対象物の保持位置の中心点と、前記対象物に外接する直方体、または前記対象物および前記対象物を保持する前記複数の爪に外接する直方体の表面上の点との最大距離以上の第1距離を設定し、
前記第1対象壁面から前記第1距離以内の領域を前記第1領域として設定する、装置。 A device for determining the motion of a robot for picking an object contained in a container,
a region setting unit for setting a plurality of mutually exclusive regions in the space within the container;
an information setting unit for setting definition information defining a translational motion of an end effector of the robot in association with each of the plurality of areas;
a detection unit for detecting the position of the object based on an image obtained by imaging the container;
a determination unit for determining a picking operation of the end effector from holding the object to conveying the object out of the container;
The determining unit determines, as a translational component of the picking motion, a translational movement defined by the definition information associated with an area including the position detected by the detecting unit among the plurality of areas,
The plurality of regions includes a first region adjacent to the first target wall surface in the container and a second region located farther from the first target wall surface than the first region,
The end effector has a plurality of claws,
The area setting unit
setting the first area and the second area using distance information from the first target wall surface;
A center point of the holding position of the object by the plurality of claws and a point on the surface of a rectangular parallelepiped circumscribing the object or the object and the plurality of claws holding the object Set the first distance greater than or equal to the maximum distance,
An apparatus for setting an area within the first distance from the first target wall surface as the first area.
前記容器内の空間において、互いに排他的な関係にある複数の領域を設定するための領域設定部と、
前記複数の領域の各々と対応付けて、前記ロボットが有するエンドエフェクタの並進動作を定義する定義情報を設定するための情報設定部と、
前記容器を撮像することにより得られた画像に基づいて、前記対象物の位置を検出するための検出部と、
前記対象物を保持してから前記対象物を前記容器外に搬送するまでの前記エンドエフェクタのピッキング動作を決定するための決定部とを備え、
前記決定部は、前記複数の領域のうち前記検出部によって検出された位置を含む領域に対応付けられた前記定義情報によって定義される並進動作を前記ピッキング動作の並進成分として決定し、
前記検出部は、前記対象物の姿勢をさらに検出し、
前記決定部は、前記検出部によって検出された姿勢に基づいて、前記対象物と前記容器内における第2対象壁面との最短距離が長くなるように前記ピッキング動作の回転成分をさらに決定する、装置。 A device for determining the motion of a robot for picking an object contained in a container,
a region setting unit for setting a plurality of mutually exclusive regions in the space within the container;
an information setting unit for setting definition information defining a translational motion of an end effector of the robot in association with each of the plurality of areas;
a detection unit for detecting the position of the object based on an image obtained by imaging the container;
a determination unit for determining a picking operation of the end effector from holding the object to conveying the object out of the container;
The determining unit determines, as a translational component of the picking motion, a translational movement defined by the definition information associated with an area including the position detected by the detecting unit among the plurality of areas,
The detection unit further detects a posture of the object,
wherein the determination unit further determines a rotation component of the picking operation based on the attitude detected by the detection unit so that the shortest distance between the object and a second object wall surface in the container is long . place.
前記第1定義情報によって定義される並進動作は、起点に対する終点の方向が前記第1方向に一致する動作である、請求項2,4,5,7および8のいずれか1項に記載の装置。 The first definition information associated with the first area indicates a first direction away from the first target wall surface,
9. The apparatus according to any one of claims 2, 4, 5, 7 and 8, wherein the translational motion defined by said first definition information is a motion in which a direction of an end point with respect to a starting point is aligned with said first direction. .
前記第1定義情報によって定義される並進動作は、前記検出された位置と前記指定位置とを通る直線または曲線に沿った動作である、請求項2,4,5,7および8のいずれか1項に記載の装置。 the first definition information associated with the first area is information for designating a designated position through which the object should pass;
9. Any one of claims 2, 4, 5, 7 and 8, wherein the translational motion defined by the first definition information is a motion along a straight line or a curved line passing through the detected position and the specified position. 3. Apparatus according to paragraph .
前記容器には複数の物体が収容されており、
前記検出部は、
前記複数の物体の各々の位置を検出し、
前記複数の物体のうち、前記優先度の最も高い領域に属する物体を前記対象物として決定する、請求項1から11のいずれか1項に記載の装置。 Further comprising a priority setting unit for setting the priority of each of the plurality of areas,
The container contains a plurality of objects,
The detection unit is
detecting the position of each of the plurality of objects;
12. The apparatus according to any one of claims 1 to 11 , wherein, among the plurality of objects, an object belonging to the region with the highest priority is determined as the target object.
前記容器内の空間において、互いに排他的な関係にある複数の領域を設定するステップと、
前記複数の領域の各々と対応付けて、前記ロボットが有するエンドエフェクタの並進動作を定義する定義情報を設定するステップと、
前記容器を撮像することにより得られた画像に基づいて、前記対象物の位置を検出するステップと、
前記対象物を保持してから前記対象物を前記容器外に搬送するまでの前記エンドエフェクタのピッキング動作を決定するステップとを備え、
前記ピッキング動作を決定するステップは、
前記複数の領域のうち検出された位置を含む領域に対応付けられた前記定義情報によって定義される並進動作を前記ピッキング動作の並進成分として決定するステップを含み、
前記複数の領域は、前記容器内における第1対象壁面に隣接する第1領域と、前記第1領域よりも前記第1対象壁面から離れた位置の第2領域とを含み、
前記第2領域に対応付けられた第2定義情報は、前記第1対象壁面および前記容器の底面に直交する平面上において前記第1対象壁面に平行な上向きの方向、前記底面の法線方向、鉛直方向上向き、および、これらの方向のいずれかに対して前記第1対象壁面から離れるように傾斜した方向、のいずれかである第2方向を示し、
前記第2定義情報によって定義される並進動作は、前記第2方向に沿った動作である、、方法。 1. A method for determining a movement of a robot for picking an object contained in a container, comprising:
setting a plurality of mutually exclusive regions in the space within the container;
setting definition information defining a translational movement of an end effector of the robot in association with each of the plurality of areas;
a step of detecting the position of the object based on an image obtained by imaging the container;
determining a picking operation of the end effector from holding the object to conveying the object out of the container;
The step of determining the picking action comprises:
determining, as a translational component of the picking motion, a translational motion defined by the definition information associated with the region including the detected position among the plurality of regions ;
The plurality of regions includes a first region adjacent to the first target wall surface in the container and a second region located farther from the first target wall surface than the first region,
The second definition information associated with the second area includes an upward direction parallel to the first target wall surface on a plane orthogonal to the first target wall surface and the bottom surface of the container, a normal direction to the bottom surface, a second direction that is either vertically upward and a direction slanted away from the first target wall surface with respect to any of these directions;
, the method , wherein the translational motion defined by the second definition information is motion along the second direction .
前記方法は、
前記容器内の空間において、互いに排他的な関係にある複数の領域を設定するステップと、
前記複数の領域の各々と対応付けて、前記ロボットが有するエンドエフェクタの並進動作を定義する定義情報を設定するステップと、
前記容器を撮像することにより得られた画像に基づいて、前記対象物の位置を検出するステップと、
前記対象物を保持してから前記対象物を前記容器外に搬送するまでの前記エンドエフェクタのピッキング動作を決定するステップとを備え、
前記ピッキング動作を決定するステップは、
前記複数の領域のうち検出された位置を含む領域に対応付けられた前記定義情報によって定義される並進動作を前記ピッキング動作の並進成分として決定するステップとを含み、
前記複数の領域は、前記容器内における第1対象壁面に隣接する第1領域と、前記第1領域よりも前記第1対象壁面から離れた位置の第2領域とを含み、
前記第2領域に対応付けられた第2定義情報は、前記第1対象壁面および前記容器の底面に直交する平面上において前記第1対象壁面に平行な上向きの方向、前記底面の法線方向、鉛直方向上向き、および、これらの方向のいずれかに対して前記第1対象壁面から離れるように傾斜した方向、のいずれかである第2方向を示し、
前記第2定義情報によって定義される並進動作は、前記第2方向に沿った動作である、プログラム。 A program for causing a computer to execute a method for determining a movement of a robot for picking an object contained in a container,
The method includes:
setting a plurality of mutually exclusive regions in the space within the container;
setting definition information defining a translational movement of an end effector of the robot in association with each of the plurality of areas;
a step of detecting the position of the object based on an image obtained by imaging the container;
determining a picking operation of the end effector from holding the object to conveying the object out of the container;
The step of determining the picking action comprises:
determining, as a translational component of the picking motion, a translational motion defined by the definition information associated with the region including the detected position among the plurality of regions ;
The plurality of regions includes a first region adjacent to the first target wall surface in the container and a second region located farther from the first target wall surface than the first region,
The second definition information associated with the second area includes an upward direction parallel to the first target wall surface on a plane orthogonal to the first target wall surface and the bottom surface of the container, a normal direction to the bottom surface, a second direction that is either vertically upward and a direction slanted away from the first target wall surface with respect to any of these directions;
The program , wherein the translational motion defined by the second definition information is motion along the second direction .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019137588A JP7331527B2 (en) | 2019-07-26 | 2019-07-26 | Apparatus, method and program for determining robot motion |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019137588A JP7331527B2 (en) | 2019-07-26 | 2019-07-26 | Apparatus, method and program for determining robot motion |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021020266A JP2021020266A (en) | 2021-02-18 |
JP7331527B2 true JP7331527B2 (en) | 2023-08-23 |
Family
ID=74573544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019137588A Active JP7331527B2 (en) | 2019-07-26 | 2019-07-26 | Apparatus, method and program for determining robot motion |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7331527B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW202233370A (en) | 2021-02-18 | 2022-09-01 | 日商發那科股份有限公司 | Robot system, and control device |
US20220355474A1 (en) * | 2021-05-04 | 2022-11-10 | Mujin, Inc. | Method and computing system for performing robot motion planning and repository detection |
CN116175540B (en) * | 2021-11-28 | 2023-11-10 | 梅卡曼德(北京)机器人科技有限公司 | Grabbing control method, device, equipment and medium based on position and orientation |
CN116197888B (en) * | 2021-11-28 | 2023-12-19 | 梅卡曼德(北京)机器人科技有限公司 | Method and device for determining position of article, electronic equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012106335A (en) | 2012-02-27 | 2012-06-07 | Fujitsu Ltd | Method, device and program for generating moving route, and device and program for controlling robot arm |
JP2013132742A (en) | 2011-12-27 | 2013-07-08 | Canon Inc | Object gripping apparatus, control method for object gripping apparatus, and program |
JP2017042859A (en) | 2015-08-25 | 2017-03-02 | キヤノン株式会社 | Picking system, and processing device and method therefor and program |
WO2017130286A1 (en) | 2016-01-26 | 2017-08-03 | 富士機械製造株式会社 | Job creation device, work system and work robot control device |
JP2018187687A (en) | 2017-04-28 | 2018-11-29 | ファナック株式会社 | Article take-out system |
-
2019
- 2019-07-26 JP JP2019137588A patent/JP7331527B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013132742A (en) | 2011-12-27 | 2013-07-08 | Canon Inc | Object gripping apparatus, control method for object gripping apparatus, and program |
JP2012106335A (en) | 2012-02-27 | 2012-06-07 | Fujitsu Ltd | Method, device and program for generating moving route, and device and program for controlling robot arm |
JP2017042859A (en) | 2015-08-25 | 2017-03-02 | キヤノン株式会社 | Picking system, and processing device and method therefor and program |
WO2017130286A1 (en) | 2016-01-26 | 2017-08-03 | 富士機械製造株式会社 | Job creation device, work system and work robot control device |
JP2018187687A (en) | 2017-04-28 | 2018-11-29 | ファナック株式会社 | Article take-out system |
Also Published As
Publication number | Publication date |
---|---|
JP2021020266A (en) | 2021-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7331527B2 (en) | Apparatus, method and program for determining robot motion | |
JP6984633B2 (en) | Devices, methods and programs that detect the position and orientation of an object | |
JP6427972B2 (en) | Robot, robot system and control device | |
US10279473B2 (en) | Image processing device, image processing method, and computer program | |
US9415511B2 (en) | Apparatus and method for picking up article randomly piled using robot | |
US10805546B2 (en) | Image processing system, image processing device, and image processing program | |
EP1413850B1 (en) | Optical sensor for measuring position and orientation of an object in three dimensions | |
JP6879238B2 (en) | Work picking device and work picking method | |
US12002240B2 (en) | Vision system for a robotic machine | |
KR20140008262A (en) | Robot system, robot, robot control device, robot control method, and robot control program | |
JP6758903B2 (en) | Information processing equipment, information processing methods, programs, systems, and article manufacturing methods | |
JP7180783B2 (en) | CALIBRATION METHOD FOR COMPUTER VISION SYSTEM AND 3D REFERENCE OBJECT USED FOR CALIBRATION METHOD | |
JP6973444B2 (en) | Control system, information processing device and control method | |
JP2010210511A (en) | Recognition device of three-dimensional positions and attitudes of objects, and method for the same | |
JP7365567B2 (en) | Measurement system, measurement device, measurement method and measurement program | |
JP2021024052A (en) | Image processing device, image processing method and program | |
JP2018146347A (en) | Image processing device, image processing method, and computer program | |
JP7519222B2 (en) | Image Processing Device | |
JP7535400B2 (en) | Image Processing Device | |
CN114901441B (en) | Control device for robot system, control method for robot system, computer control program, and robot system | |
JP7538595B2 (en) | Measuring Equipment | |
JP7055883B2 (en) | robot | |
JP2021091056A (en) | measuring device | |
JP7552468B2 (en) | Position measuring device, position measuring method, position measuring program, and logistics system | |
WO2023209974A1 (en) | Control device, control system, robot system, control method, and computer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220513 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230530 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230711 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230724 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7331527 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |