JP6908908B2 - Robot arm path generator and path generator - Google Patents
Robot arm path generator and path generator Download PDFInfo
- Publication number
- JP6908908B2 JP6908908B2 JP2019186643A JP2019186643A JP6908908B2 JP 6908908 B2 JP6908908 B2 JP 6908908B2 JP 2019186643 A JP2019186643 A JP 2019186643A JP 2019186643 A JP2019186643 A JP 2019186643A JP 6908908 B2 JP6908908 B2 JP 6908908B2
- Authority
- JP
- Japan
- Prior art keywords
- pose
- candidate
- condition
- hand
- work
- 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
- Numerical Control (AREA)
- Manipulator (AREA)
Description
本発明は、ランダムに山積みされたワークをロボットを用いてピッキングする際に、ロボットの動作経路を生成する経路生成装置および経路生成プログラムに関する。 The present invention relates to a route generation device and a route generation program that generate an operation path of a robot when picking a randomly piled work by using a robot.
従来より、ランダムに山積みされたワークを撮影し、撮影画像を解析してワークを認識し、認識結果に基づいてロボットアームの移動経路を生成するランダムピッキングの技術が知られている。例えば、特許文献1には、ワークの形状モデルを用いてロボットハンドの把持位置の候補を選出し、選出した候補に基づいてロボットハンドの動作経路を生成する技術が開示されている。
Conventionally, there has been known a random picking technique in which a pile of works is photographed at random, the photographed image is analyzed to recognize the work, and a movement path of a robot arm is generated based on the recognition result. For example,
しかし、特許文献1の技術によれば、ピッキングを開始する前に、ロボットにワークを登録してワークの形態を記憶させる必要があるため、手間と工数がかかるという問題があった。また、現場にワークを登録できる技術者がいない場合、作業進められないという問題もあった。
However, according to the technique of
そこで、本発明の目的は、ワークを登録する手間を排し、自動的にロボットの動作経路を生成できる経路生成装置および経路生成プログラムを提供することにある。 Therefore, an object of the present invention is to provide a route generation device and a route generation program capable of automatically generating an operation path of a robot without the trouble of registering a work.
上記課題を解決するために、本発明の経路生成装置は、以下の特徴を備える。
(1)ピッキングロボットの動作経路を生成する装置であって、ピッキングロボットを制御する制御手段を備え、ピッキングロボットが、ハンドと、ハンドを支持するアームと、を含み、制御手段が、ハンドの位置情報および姿勢情報を含むポーズを生成するポーズ生成手段を含み、制御手段は、所定の条件を満たすポーズに基づいて動作経路を生成する。
In order to solve the above problems, the route generator of the present invention has the following features.
(1) A device for generating an operation path of a picking robot, which includes a control means for controlling the picking robot, the picking robot includes a hand and an arm for supporting the hand, and the control means is the position of the hand. The control means generates an operation path based on a pose that satisfies a predetermined condition, including a pose generation means for generating a pose including information and posture information.
(2)ポーズには、ハンドがワークを把持する把持ポーズの候補が含まれ、ポーズ生成手段が、候補を生成する候補生成手段を含み、候補生成手段は、ワークのポーズおよびワークの大きさに基づいて一の候補を生成し、該一の候補を所定の回転軸周りに回転させて他の複数の候補を生成する。 (2) The pose includes a candidate for a gripping pose in which the hand grips the work, the pose generation means includes the candidate generation means for generating the candidate, and the candidate generation means determines the pose of the work and the size of the work. Based on this, one candidate is generated, and the one candidate is rotated around a predetermined rotation axis to generate a plurality of other candidates.
(3)ポーズには、ハンドが把持ポーズの前に形成する接近ポーズと、ハンドが把持ポーズの後に形成する離脱ポーズと、が含まれ、ポーズ生成手段は、候補に基づいて接近ポーズおよび離脱ポーズを生成する。 (3) The pose includes an approach pose formed by the hand before the grip pose and a detachment pose formed by the hand after the grip pose, and the pose generation means includes the approach pose and the detachment pose based on the candidates. To generate.
(4)ポーズ生成手段は、生成したポーズについて逆運動学の解を算出し、解が存在しないポーズに紐づく候補を除外する。 (4) The pose generation means calculates an inverse kinematics solution for the generated pose and excludes candidates associated with a pose for which there is no solution.
(5)ポーズ生成手段は、所定の干渉条件に基づいて物体同士の干渉を検出し、干渉を検出したポーズに紐づく候補を除外する。 (5) The pose generation means detects interference between objects based on a predetermined interference condition, and excludes candidates associated with the pose in which the interference is detected.
(6)このとき、干渉条件には、ハンドを仮想的に表すH領域と、アームを仮想的に表すA領域と、ワークの収容容器を仮想的に表すY領域と、ワークおよびワークを把持したハンドを仮想的に表すHW領域と、H,A,Y,HW領域に各々所定のマージンを付加したH,A,Y,HW拡張領域と、ハンド先端から所定距離に含まれるJ領域と、について、
(条件1)H,A,Y領域が相互に干渉しないこと、
(条件2)H,A,Y,HW領域が相互に干渉しないこと、
(条件3)H,A,Y領域が相互に干渉しないこと、または、干渉した場合であっても、干渉位置がJ領域に該当すること、
(条件4)H,A,Y拡張領域が相互に干渉しないこと、
(条件5)H,A,Y,HW拡張領域が相互に干渉しないこと、が含まれる。
(6) At this time, the interference conditions include an H region that virtually represents the hand, an A region that virtually represents the arm, a Y region that virtually represents the container for the work, and the work and the work. and HW region representing the hand virtually, H, a, Y, H where each adding a predetermined margin to the HW area, a, Y, and HW extension region, and J regions included from the hand tip at a predetermined distance, for ,
(Condition 1) The H, A, and Y regions do not interfere with each other.
(Condition 2) The H, A, Y, and HW regions do not interfere with each other.
(Condition 3) The H, A, and Y regions do not interfere with each other, or even if they do interfere, the interference position corresponds to the J region.
(Condition 4) The H, A, and Y extended regions do not interfere with each other.
(Condition 5) The H, A, Y, and HW extension regions do not interfere with each other.
(7)ポーズ生成手段は、生成したポーズについて、
(イ)接近ポーズの関節位置で(条件3)を満たすこと、
(ロ)候補の関節位置で(条件3)を満たすこと、
(ハ)離脱ポーズの関節位置で(条件3)および(条件5)を満たすこと、
を検査し、(イ)〜(ハ)のいずれか一つを満たさない場合に、該ポーズに紐づく候補を除外する。
(7) The pose generation means is for the generated pose.
(B) Satisfy (Condition 3) at the joint position of the approaching pose,
(B) Satisfy (Condition 3) at the candidate joint position,
(C) Satisfy (Condition 3) and (Condition 5) at the joint position of the withdrawal pose.
If any one of (a) to (c) is not satisfied, the candidates associated with the pose are excluded.
ポーズ生成手段は、候補に基づいて、ハンドが接近ポーズから把持ポーズに向かう接近動作およびハンドが把持ポーズから離脱ポーズに向かう離脱動作と、を生成し、ポーズ生成手段は、生成した各動作について、
(二)接近動作を時系列に細分し、各時間毎の関節位置において(条件3)を満たすこと、
(ホ)離脱動作を時系列に細分し、各時間毎の関節位置において(条件3)を満たすこと、
を検査し、(二)または(ホ)のいずれか一方を満たさない場合に、該動作に紐づく候補を除外する。
Based on the candidates, the pose generating means generates an approaching motion in which the hand moves from the approaching pose to the grasping pose and a leaving motion in which the hand moves from the grasping pose to the leaving pose, and the pose generating means generates, for each generated motion, the pose generating means.
(2) Subdivide the approaching motion in chronological order and satisfy (Condition 3) at the joint position for each hour.
(E) Subdivide the withdrawal movement in chronological order and satisfy (Condition 3) at the joint position for each hour.
Is inspected, and if either (2) or (e) is not satisfied, the candidates associated with the operation are excluded.
また、上記課題を解決するために、本発明の経路生成プログラムは、上記(1)〜(8)の何れか一つに記載の制御手段を備える。 Further, in order to solve the above problems, the route generation program of the present invention includes the control means according to any one of (1) to (8) above.
本発明の経路生成装置および経路生成プログラムによれば、ワークのポーズおよびワークのサイズに基づいて把持ポーズを生成し、生成した把持ポーズに基づいて自動的にピッキングロボットの動作経路を生成するため、あらかじめワークを登録する必要がなく、手間と工数を削減できるという優れた効果を有する。 According to the path generation device and the path generation program of the present invention, the gripping pose is generated based on the pose of the work and the size of the work, and the operation path of the picking robot is automatically generated based on the generated gripping pose. There is no need to register the work in advance, and it has the excellent effect of reducing labor and man-hours.
以下、本発明をピッキングシステムに用いる演算用PCに具体化した一実施形態を図面に基づいて説明する。以下の説明において、ピッキングシステム全体を基準とするワールド座標系、各々のワークWを基準とするワーク座標系、ピッキングロボット3のハンド32を基準とするハンド座標系を用いる。詳しくは、ワールド座標系は、ピッキングロボット3の背面から前方へ向かう方向をx軸正方向、正面視左側から右側へ向かう向きをy軸正方向、鉛直方向下から上に向かう方向をz軸正方向とし、ワーク座標系は、円柱形ワークWの中心Oを通過する中心軸に沿って紙面奥から手前に向かう向きをx軸正方向、円柱の紙面向かって左側面から右側面に向かう方向をy軸正方向、鉛直方向下から上に向かう方向をz軸正方向とし(図5,6参照)、ハンド座標系は、ハンド32の基端から先端に向かう方向をz軸正方向とする(図7参照)。また、「ポーズ」は、所定のxyz空間のある一点を示す位置と、xyz軸を回転軸とする回転量を示す姿勢の二つの要素を含むものとする。
Hereinafter, an embodiment in which the present invention is embodied in a calculation PC used in a picking system will be described with reference to the drawings. In the following description, a world coordinate system based on the entire picking system, a work coordinate system based on each work W, and a hand coordinate system based on the
図1は、ピッキングシステム1の概略図である。ピッキングシステム1は、ランダムに積まれたワークWをピッキングするピッキングロボット3と、ワークW表面の三次元形状をスキャンする3Dスキャナ4と、3Dスキャナ4から受信した計測中間データに基づいてピッキングロボット3が動作する経路を演算する経路生成装置として機能する演算用PC2から構成される。このとき、演算用PC2に経路生成プログラムをインストールして機能を実装しても良い。また、3Dスキャナ4は、ワークWの収容容器としてのパレット7をスキャンし、パレット7の2Dデータおよび3Dデータを取得するためにも用いられる。
FIG. 1 is a schematic view of the
ピッキングロボット3は、ワークWを把持するハンド32とハンド32を所定の姿勢に支持するアーム31から構成される。ハンド32を制御するハンドコントローラ6と、ピッキングロボット3を制御するロボットコントローラ5は、演算用PC2に接続され、演算用PC2から受信した制御信号に基づいて、ハンド32またはピッキングロボット3を作動させる。このとき、経路生成装置をロボットコントローラ5またはハンドコントローラ6に搭載すること、経路生成プログラムをロボットコントローラ5またはハンドコントローラ6にインストールすることも採用できる。
The picking robot 3 is composed of a
図2に示すように、演算用PC2は、ピッキングロボット3を制御する制御部11と、制御部11が算出したデータを保存する記憶部12と、3Dスキャナ4、ロボットコントローラ5、ハンドコントローラ6等の外部装置との間で信号やデータをやりとりするインターフェース(図示なし)から構成される。
As shown in FIG. 2, the arithmetic PC 2 includes a control unit 11 that controls the picking robot 3, a storage unit 12 that stores data calculated by the control unit 11, a
制御部11は、パレット7の3Dデータに基づいてパレット7を検出するパレット検出部21と、把持する対象となるワークWの位置、軸方向(姿勢)、大きさを認識するワーク認識部13と、ピッキングロボット3の動作経路を生成する経路生成装置または経路生成プログラムとして機能する経路生成部22から構成される。なお、このときの動作経路とは、ピッキングロボット3がワークWを把持する動作経路を示す。 The control unit 11 includes a pallet detection unit 21 that detects the pallet 7 based on the 3D data of the pallet 7, and a work recognition unit 13 that recognizes the position, axial direction (posture), and size of the work W to be gripped. It is composed of a route generation device that generates an operation route of the picking robot 3 or a route generation unit 22 that functions as a route generation program. The operation path at this time indicates an operation path in which the picking robot 3 grips the work W.
パレット検出部21は、記憶部12から、パレット縁部を抽出した点群データを読み出し、スキャンされた3Dデータと照合して、パレット7を検出し、パレット7の位置決めを実施する。なお、記憶部12には、当該画像データのほか、パレット7の深さ情報があらかじめ登録されている。 The pallet detection unit 21 reads the point cloud data extracted from the pallet edge portion from the storage unit 12, collates it with the scanned 3D data, detects the pallet 7, and positions the pallet 7. In addition to the image data, the depth information of the pallet 7 is registered in the storage unit 12 in advance.
ワーク認識部13は、3Dスキャナ4から受信した計測中間データを点群データPに変換する点群データ生成部14と、点群データPに基づいてワークWのサイズを推定するサイズ推定部15と、推定したサイズをパラメタとしてモデルMを生成するモデル生成部16と、生成したモデルMを用いて軸方向を推定する軸方向推定部17から構成される。
The work recognition unit 13 includes a point cloud data generation unit 14 that converts the measurement intermediate data received from the
経路生成部22は、ピッキングロボット3がワークWを把持するポーズを生成する把持ポーズ生成部24から構成され、把持ポーズ生成部24は、把持ポーズの候補となる複数のポーズを生成する候補生成部25を含む。 The path generation unit 22 is composed of a grip pose generation unit 24 that generates a pose in which the picking robot 3 grips the work W, and the grip pose generation unit 24 is a candidate generation unit that generates a plurality of poses that are candidates for the grip pose. Includes 25.
ここで、点群データPとは、ワールド座標系における三次元点情報の配列(x,y,z)のことを言う。点群データPの取得の流れは、以下の通りである。
(1)PC2が、3Dスキャナ4へ計測トリガを発行する。
(2)3Dスキャナ4が、計測対象物の表面の三次元形状をスキャンする。
(3)3Dスキャナ4が、計測中間データを演算用PC2へ送信する。
(4)演算用PC2が、計測中間データを点群データPに変換する。
なお、3Dスキャナ4が、点群データPへの変換を実施する場合もある。しかし、点群データPの生成は計算量が多いため、一般的には演算用PC2にて、専用ライブラリを用いて点群データPに変換される。また、三次元形状のスキャン手法としては、例えば、プロジェクタ方式、ステレオカメラ方式等が挙げられる。
Here, the point cloud data P refers to an array (x, y, z) of three-dimensional point information in the world coordinate system. The flow of acquiring the point cloud data P is as follows.
(1) The PC 2 issues a measurement trigger to the
(2) The
(3) The
(4) The arithmetic PC 2 converts the measurement intermediate data into the point cloud data P.
In some cases, the
モデル生成部16は、パラメタとして半径rを入力し、半径r、高さrの半円柱の側面部からなるワークWのモデルを生成する。 The model generation unit 16 inputs the radius r as a parameter, and generates a model of the work W composed of the side surface portions of the semi-cylinder having the radius r and the height r.
以下、ワーク認識部13の構成について説明する。
軸方向推定部17は、図3(a)に示すように、まず、点群データPに含まれる各々の点pについて法線ベクトルnを推定する。そして、点pを法線ベクトルnと逆方向に半径r分進めた点qを、法線ベクトルnの曲面を側面に含む円柱の軸候補点とし、軸候補点qを記憶部12に登録する。なお、点qは、下記の数式1により求められる。
Hereinafter, the configuration of the work recognition unit 13 will be described.
As shown in FIG. 3A, the axial direction estimation unit 17 first estimates the normal vector n for each point p included in the point cloud data P. Then, the point q obtained by advancing the point p in the direction opposite to the normal vector n by the radius r is set as the axis candidate point of the cylinder including the curved surface of the normal vector n on the side surface, and the axis candidate point q is registered in the storage unit 12. .. The point q is obtained by the following
次に、軸方向推定部17は、軸候補点qの集積度を算出し、集積度の高い点qを特定する。そして、あらかじめ生成したモデルMの原点Oを、点qに配置し、モデルMと点群データPとの一致度Dを算出する。一致度Dは、「モデルM付近に配置された点pの数」を、「モデルMを側面とする半径r、高さrの半円柱に含まれる点pの総数」で除算することにより求められる。軸方向推定部17は、モデルMを、z軸周りに0度から180度まで回転させ、z角度5度毎に一致度Dを算出して保持する。そして、最も一致度Dの高かったz角度をモデルMの軸方向として記憶部12に登録する。 Next, the axial direction estimation unit 17 calculates the degree of integration of the axis candidate points q and identifies the points q having a high degree of integration. Then, the origin O of the model M generated in advance is arranged at the point q, and the degree of coincidence D between the model M and the point cloud data P is calculated. The degree of coincidence D is obtained by dividing "the number of points p arranged near the model M" by "the total number of points p included in the semi-cylinder having the radius r and the height r with the model M as the side surface". Be done. The axial direction estimation unit 17 rotates the model M around the z-axis from 0 degrees to 180 degrees, calculates and holds the degree of coincidence D every 5 degrees of the z-angle. Then, the z angle having the highest degree of coincidence D is registered in the storage unit 12 as the axial direction of the model M.
サイズ推定部15は、図4(a)に示すように、最小半径rminと最大半径rmaxを仮定し、下記の数式2により求められるri(rmin≦ri≦rmax:i=0〜100)を半径とするモデルMiをそれぞれ生成し、モデルMi毎に軸方向を推定する。モデルMiの生成および軸方向の推定は、モデル生成部16および軸方向推定部17による処理と同じであるため説明を省略する。 The size estimation unit 15, as shown in FIG. 4 (a), the minimum radius r assumes min and a maximum radius r max, r i (r min ≦ obtained by Equation 2 below r i ≦ r max: i = Models M i with radii from 0 to 100) are generated, and the axial direction is estimated for each model M i. Since the generation of the model M i and the estimation of the axial direction are the same as the processing by the model generation unit 16 and the axial direction estimation unit 17, the description thereof will be omitted.
その後、サイズ推定部25は、各半径riおよび集積度の高い点qについて、モデルMiと点群データPとの一致度Diを算出する。一致度Diは、一致度Dと同様に、「モデルMi付近に配置された点pの数」を、「モデルMiを側面とする半径ri、高さriの半円柱に含まれる点pの総数」で除算することにより求められる。 After that, the size estimation unit 25 calculates the degree of coincidence D i between the model M i and the point cloud data P for each radius r i and the point q with a high degree of integration. Matching degree D i, like matching degree D, include a "number of p points located near the model M i", the semi-cylindrical with a radius r i, the height r i to the side surface of the "model M i It is obtained by dividing by "the total number of points p".
サイズ推定部25は、モデルMiを、z軸周りに0度から180度まで回転させ、z角度5度毎および集積度の高い軸候補点q毎に一致度Di(ri,q)を求める。そして、サイズ推定部25は、一致度Di(ri,q)の最大値maxDi(ri,q)を求め、さらに、maxDi(ri,q)をqに関して平均して、平均値maxDi(ri)を求める。その後、サイズ推定部25は、maxDi(ri)が最大になる半径riを実半径rとして出力する。
Size estimator 25, a model M i, is rotated from 0 degrees around the z-axis to 180 degrees,
図4(b)に、maxDi(ri)をプロットしたグラフを示す。ここでは、rmin=2.0mm、rmax=8.0mmとし、半径riを0.06mm増加させた毎のmaxDiをプロットしている。この例では、maxDiが最も大きいriである4.6mm付近が、ワークWの実半径rと推定される。 In FIG. 4 (b), shows a graph plotting the maxD i (r i). Here, r min = 2.0 mm and r max = 8.0 mm, and max D i is plotted every time the radius r i is increased by 0.06 mm. In this example, the area around 4.6 mm, which is the r i with the largest maxD i, is estimated to be the actual radius r of the work W.
記憶部12は、一致度の高い順にモデルMを記憶している。詳しくは、点群データPには複数のワークWの表面形状が含まれているため、記憶部12では、それぞれのワークWと同じ軸方向を向くモデルMを算出し、一致度の高い順にモデルMを記憶する。 The storage unit 12 stores the model M in descending order of the degree of agreement. Specifically, since the point cloud data P includes the surface shapes of a plurality of works W, the storage unit 12 calculates a model M facing the same axial direction as each work W, and models the models in descending order of degree of coincidence. Memorize M.
続いて、経路生成部22の構成について説明する。
まず、図5に示すように、ポーズ生成部24の候補生成部25は、モデルMの原点Oの座標(xo,yo,zo)、軸方向のベクトル、半径rに基づいて、把持ポーズの候補を一つ生成する。また、把持位置は、ハンド32がワークWを支持する支持方法により定まる。例えば、吸着式ハンドの場合は、把持位置は、位置Pa(xo,yo,zo+r)となり、挟み込み式ハンドの場合は、把持位置は位置Pb(xo,yo,zo)となり、すくい上げ式ハンドの場合は、位置Pc(xo,yo,zo−r)となる。このとき、把持位置Pa,Pb,Pcは、実際のハンド32との接触点ではなく、例えば、挟み込み式ハンドの場合は左右の爪の中点となり、「し」型のすくい上げ式ハンドの場合は「し」の下端を示す。候補生成部25は、これらの位置Pa,Pb,Pcのいずれかに基づいて一つの把持ポーズの候補56を生成する。
Subsequently, the configuration of the route generation unit 22 will be described.
First, as shown in FIG. 5, the candidate generation unit 25 of the pose generation unit 24 grips the model M based on the coordinates (x o , yo , z o ) of the origin O, the vector in the axial direction, and the radius r. Generate one pose candidate. Further, the gripping position is determined by a support method in which the
図6に示すように、候補生成部25は、ワークWのポーズおよび大きさに基づいて一の候補56を生成し、生成した一の候補56を所定の軸周りに回転させ、所定の刻み角度毎に他の候補56を生成する。具体的には、一の候補56を、位置はモデルMの原点O、姿勢はワーク座標系のx軸(モデルMの軸方向)、大きさはモデルMの半径rに基づいて生成する(図6(a))。そして、一の候補56を、中心軸(ワーク座標系のx軸、+方向)周りに−90〜+90度の範囲で5度刻みに回転させ、他の複数の候補56を生成する。次に、先程の一の候補56を、ワーク座標系のWzを中心軸として180度回転させ、さらに新たな一の候補56を生成する(図6(b)。そして、該新たな一の候補56を、中心軸(ワーク座標系のx軸、−方向)周りに−90〜+90度の範囲で5度刻みに回転させ、さらなる他の複数の候補56を生成し、最終的に、73個の候補56を生成する。なお、当該候補生成方法は、図6(c)に示すように、面状のワークおよびリング状のワークに応用できる。例えば、面状のワークを吸着したり、リング状のワークに差し込むポーズの一の候補を生成し、ワーク座標系におけるz軸を中心軸として、−180度〜+180度の範囲を5度刻みに回転させ、73個の候補56を生成できる。なお、刻み角度は、適宜変更可能である。
As shown in FIG. 6, the candidate generation unit 25 generates one
このようにして生成された各々の候補に基づいて、図7に示すように、ポーズ生成部24は、ハンド32が候補56まで接近する接近ポーズ52と、ハンド32が候補56から離脱する離脱ポーズ54を生成する。具体的には、接近ポーズ52は、候補56のポーズを基点としてハンド32の先端部から基端部に向かう方向(ハンド座標系z軸、−方向)に、所定距離移動させたものであり、離脱ポーズ54は、候補56のポーズを基点として鉛直上方向(ワールド座標系z軸、+方向58)に所定距離移動したものである。
Based on each of the candidates generated in this way, as shown in FIG. 7, the pose generation unit 24 has an approach pose 52 in which the
また、このとき、ポーズ生成部24は、候補56と接近ポーズ52との間に生成した直線補間動作を接近動作57とし、候補56と離脱ポーズ54との間に生成した直線補間動作を離脱動作58とする。
Further, at this time, the pose generation unit 24 sets the linear interpolation operation generated between the
ここで、図8〜10に示すように、記憶部12では、物体同士の干渉を検出するための所定の領域情報が保存されている。領域情報には、ハンドを仮想的に表すH領域と、アームを仮想的に表すA領域と、ワークの収容容器を仮想的に表すY領域と、ワークWおよびワークWを把持したハンド32を仮想的に表すHW領域と、H,A,Y,HW領域に所定のマージンを付加したH,A,Y,HW拡張領域と、ハンド32先端から所定距離dに含まれるJ領域が含まれる。
Here, as shown in FIGS. 8 to 10, the storage unit 12 stores predetermined area information for detecting interference between objects. The area information includes an H region that virtually represents the hand, an A region that virtually represents the arm, a Y region that virtually represents the container for the work, and the work W and the
次に、ポーズ生成部24は、生成した各々の候補56と、接近ポーズ52と、離脱ポーズ54とについて、以下(条件1)〜(条件5)の干渉条件について、(イ)〜(ホ)の検査を実施する。ポーズ生成部24は、(イ)〜(ホ)のいずれかの検査が不合格である場合は、検査対象の候補56を除外する。
(条件1)H,A,Y領域が相互に干渉しないこと(図8(a)参照)。
(条件2)H,A,Y,HW領域が相互に干渉しないこと(図9(a)参照)。
(条件3)H,A,Y領域が相互に干渉しないこと、または、干渉した場合であっても、干渉位置がJ領域に該当すること(図10参照)。
(条件4)H,A,Y拡張領域が相互に干渉しないこと(図8(b)参照)。
(条件5)H,A,Y,HW拡張領域が相互に干渉しないこと(図9(b)参照)。
(イ)接近ポーズ52について逆運動学の解が存在し、接近ポーズ52の関節位置で、(条件3)を満たすこと。
(ロ)候補56について逆運動学の解が存在し、候補56の関節位置で、(条件3)を満たすこと。
(ハ)離脱ポーズ55について逆運動学の解が存在し、離脱ポーズ55の関節位置で、(条件3)および(条件5)を満たすこと。
(二)接近動作を時系列に細分し、各時間毎の関節位置において(条件3)を満たすこと。
(ホ)離脱動作を時系列に細分し、各時間毎の関節位置において(条件3)を満たすこと。
このとき、(ハ)の検査が不合格であった場合には、離脱ポーズ54をパレット7の中央位置に向けて、ワールド座標系のxy方向に所定距離分、平行移動させ、(ハ)について再検査することが好ましい。パレット7の隅に配置されたワークWをパレット7から引き離し、ワークWとパレット7との干渉を回避するように調整することが可能である。また、時系列に細分化する場合には、ピッキングロボット3の動作の0.1%ずつ、つまり移動距離2〜3mmごとに検査することが好適である。(イ)〜(ホ)の検査を実施する際のマージン量は、2mm以下であることが望ましい。
Next, the pose generation unit 24 describes the following (condition 1) to (condition 5) interference conditions for each of the generated
(Condition 1) The H, A, and Y regions do not interfere with each other (see FIG. 8A).
(Condition 2) The H, A, Y, and HW regions do not interfere with each other (see FIG. 9A).
(Condition 3) The H, A, and Y regions do not interfere with each other, or even if they interfere with each other, the interference position corresponds to the J region (see FIG. 10).
(Condition 4) The H, A, and Y extended regions do not interfere with each other (see FIG. 8 (b)).
(Condition 5) The H, A, Y, and HW extended regions do not interfere with each other (see FIG. 9B).
(B) There is an inverse kinematics solution for the approach pose 52, and (Condition 3) is satisfied at the joint position of the approach pose 52.
(B) There is an inverse kinematics solution for
(C) There is an inverse kinematics solution for the withdrawal pose 55, and (Condition 3) and (Condition 5) are satisfied at the joint position of the withdrawal pose 55.
(2) The approaching motion is subdivided in chronological order, and (Condition 3) is satisfied at the joint position for each hour.
(E) The withdrawal motion is subdivided in chronological order, and (Condition 3) is satisfied at the joint position for each hour.
At this time, if the inspection of (c) fails, the detachment pose 54 is translated toward the center position of the pallet 7 in the xy direction of the world coordinate system by a predetermined distance, and the (c) It is preferable to re-examine. The work W arranged at the corner of the pallet 7 can be separated from the pallet 7 and adjusted so as to avoid interference between the work W and the pallet 7. Further, in the case of subdividing in time series, it is preferable to inspect each 0.1% of the movement of the picking robot 3, that is, every 2 to 3 mm of moving distance. It is desirable that the margin amount when carrying out the inspections (a) to (e) is 2 mm or less.
最後に、制御部11は、ポーズ生成部24が生成し、ポーズ生成部24により除外されなかった候補56に基づいて、ピッキングロボット3の動作する経路を生成する。このとき、制御部11は、あらかじめ記憶部12に保存されている開始ポーズ51と終了ポーズ55を読み出し、開始ポーズ51から接近ポーズ52に向かう経路を、(条件4)の下で自動生成する。また、離脱ポーズ54から終了ポーズ55に向かう経路を、(条件5)の下で自動生成する。開始ポーズ51から接近ポーズ52に向かう経路および離脱ポーズ54から終了ポーズ55に向かう経路を自動生成する際のマージン量は、5mm程度であることが望ましい。
Finally, the control unit 11 generates a path in which the picking robot 3 operates based on the
経路の自動生成は、例えば、KPIECEアルゴリズムを用いることができる。また、除外されなかった候補56が複数存在する場合には、これらの候補について並列的に経路を自動生成し、最も速く生成された経路を実際のピッキング経路として採用する。一方、候補56が全て除外された場合や、所定の時間内に経路が生成されなかった場合には、経路の生成を中止し、次に一致度の高いモデルMを取り出す。
For the automatic generation of the route, for example, the KPIECE algorithm can be used. When there are a plurality of
次に、上記構成の経路生成部22の処理の流れについて、図11に基づいて説明する。まず、3Dスキャナ4が、ワークWがランダムに山積みされたパレット7をスキャンし、スキャンされた3Dデータに基づいてパレット7を検出する(S1)。次に、3Dスキャナ4は、ワークWをスキャンし、ワーク認識部13が、スキャン結果に基づいてワークWを認識し、認識結果としてのモデルMを一致度の高い順に記憶部12に保存する(S2)。ワークWの認識が終了すると、処理は経路生成部22が引き継ぐ。
Next, the processing flow of the route generation unit 22 having the above configuration will be described with reference to FIG. First, the
経路生成部22において、ポーズ生成部24の候補生成部25は、記憶部12から最も一致度の高いモデルMを一つ取り出し(S3)、モデルMに基づいて把持ポーズの候補56を生成する(S4)。候補56が生成されると、ポーズ生成部24は、全ての候補56について検査を実施し、検査に不合格であった候補56を除外する(S5)。全ての候補56が除外された場合は(S6:No)、次に一致度の高いモデルMを一つ取り出す(S3)。候補56が残った場合は、制御部11は、全ての候補56について並列的に経路の自動生成を実施する。全ての候補56について、所定の時間内に経路が生成されなかった場合には(S7:No)、次に一致度の高いモデルMを一つ取り出す(S3)。一方、所定の時間内に経路が生成された場合には、最も速く経路を生成できた経路を出力する。その後、ピッキングロボット3は出力された経路に従って動作するように制御され、ピッキングが実施される(S8)。
In the route generation unit 22, the candidate generation unit 25 of the pose generation unit 24 takes out one model M having the highest degree of matching from the storage unit 12 (S3), and generates the
ここで、ワーク認識部13の処理の流れについて、図12に基づいて説明する。3Dスキャナ4がワークWをスキャンし、演算用PC2に計測中間データを送信する。計測中間データを受信した演算用PC2は、点群データPを生成し(S21)、半径をrmin〜rmaxと仮定してサイズを推定する(S22)。その後、実半径rを用いてモデルを生成し(S23)、モデルMを点群データPにあてはめて軸方向を推定する(S24)。ここで、ワーク認識は、実半径rを用いたモデルの生成および軸方向の推定を主要部とする。この主要部となる処理は、点群データPに含まれるワークWの全てについて実施され、記憶部12では、一致度が高い順にモデルMをソートして保存する(S25)。
Here, the processing flow of the work recognition unit 13 will be described with reference to FIG. The
以上の構成の経路生成装置および経路生成プログラムによれば、ワークWのポーズである位置、軸方向(姿勢)、大きさに基づいて把持ポーズ53を生成し、生成した把持ポーズ53をワークWの軸周りに回転させて自動的に候補56を生成するため、ワークWの登録が不要となり、手間と工数を削減できるという優れた効果を有する。また、生成した候補56に基づき、H,A,Y,HW拡張領域に基づいて経路を自動生成するため、実際にピッキングロボット3を作動させた場合に、アーム31、ハンド32、ワークW、パレット7との間の接触や衝突をより良く防止することが可能である。さらに、(条件3)を設け、領域Jにおける干渉については無視することとしたため、過敏な検出を排除して、パレット7の隅に配置されたワークWまでハンド32の先端を届かせて、ピッキングすることができるという効果も有する。
According to the path generation device and the route generation program having the above configuration, the gripping pose 53 is generated based on the position, axial direction (posture), and size of the pose of the work W, and the generated gripping pose 53 is used as the work W. Since the
その他、本発明は、上記実施形態に限定されるものではなく、発明の趣旨を逸脱しない範囲で、各部の構成を任意に変更して実施することも可能である。例えば、マージンの大きさについて、領域毎に異なる値に設けることも可能である。 In addition, the present invention is not limited to the above-described embodiment, and the configuration of each part can be arbitrarily changed and implemented without departing from the spirit of the invention. For example, the size of the margin can be set to a different value for each region.
1 ピッキングシステム
2 演算用PC
3 ピッキングロボット
4 3Dスキャナ
5 ロボットコントローラ
6 ハンドコントローラ
7 パレット
11 制御部
12 記憶部
13 ワーク認識部
14 点群データ生成部
15 サイズ推定部
16 モデル生成部
17 軸方向推定部
21 パレット検出部
22 経路生成部
24 ポーズ生成部
25 候補生成部
31 アーム
32 ハンド
51 開始ポーズ
52 接近ポーズ
53 把持ポーズ
54 離脱ポーズ
55 終了ポーズ
56 把持ポーズの候補
57 接近動作
58 離脱動作
S 領域(Sh:H領域、Sh’:H拡張領域、Sa:A領域、Sa:A拡張領域、Sy:Y領域、Sy:Y拡張領域、Shw:HW領域、Shw’:HW拡張領域、Sj:J領域、Sm:マージン)
O 原点
P 点群データ
M モデル
W ワーク
q 軸候補点
p 点群データに含まれる各点
r 半径
n 法線ベクトル
1 Picking system 2 PC for calculation
3 Picking
O Origin P Point cloud data M model W work q-axis candidate point p Each point included in the point cloud data r radius n normal vector
Claims (8)
ピッキングロボットを制御する制御手段を備え、
ピッキングロボットが、ハンドと、ハンドを支持するアームと、を含み、
前記制御手段が、ハンドの位置情報および姿勢情報を含むポーズを生成するポーズ生成手段を含み、
前記ポーズが、ハンドがワークを把持する把持ポーズの候補と、ハンドが前記把持ポーズの前に形成する接近ポーズと、ハンドが前記把持ポーズの後に形成する離脱ポーズと、を含み、
前記ポーズ生成手段は、所定の干渉条件に基づいて物体同士の干渉を検出し、
前記干渉条件が、ハンドを仮想的に表すH領域と、アームを仮想的に表すA領域と、ワークの収容容器を仮想的に表すY領域と、ワークおよびワークを把持したハンドを仮想的に表すHW領域と、H,A,Y,HW領域に各々所定のマージンを付加したH,A,Y,HW拡張領域と、ハンド先端から所定距離に含まれるJ領域と、について、
(条件1)H,A,Y領域が相互に干渉しないこと、
(条件2)H,A,Y,HW領域が相互に干渉しないこと、
(条件3)H,A,Y領域が相互に干渉しないこと、または、干渉した場合であっても、干渉位置がJ領域に該当すること、
(条件4)H,A,Y拡張領域が相互に干渉しないこと、
(条件5)H,A,Y,HW拡張領域が相互に干渉しないこと、
のいずれか一つ以上を含み、
前記制御手段は、前記干渉条件を含む所定の条件を満たす前記ポーズに基づいて前記動作経路を生成することを特徴とする経路生成装置。 A device that generates the operation path of a picking robot.
Equipped with control means to control the picking robot
The picking robot includes a hand and an arm that supports the hand.
The control means includes a pose generation means for generating a pose including the position information and the posture information of the hand.
The pose includes a candidate for a gripping pose in which the hand grips the work, an approaching pose formed by the hand before the gripping pose, and a detachment pose formed by the hand after the gripping pose.
The pose generation means detects interference between objects based on predetermined interference conditions, and detects interference between objects.
The interference condition virtually represents the H region that virtually represents the hand, the A region that virtually represents the arm, the Y region that virtually represents the container for the work, and the work and the hand holding the work. Regarding the HW region, the H, A, Y, HW expansion region in which a predetermined margin is added to each of the H, A, Y, and HW regions, and the J region included in a predetermined distance from the tip of the hand.
(Condition 1) The H, A, and Y regions do not interfere with each other.
(Condition 2) The H, A, Y, and HW regions do not interfere with each other.
(Condition 3) The H, A, and Y regions do not interfere with each other, or even if they do interfere, the interference position corresponds to the J region.
(Condition 4) The H, A, and Y extended regions do not interfere with each other.
(Condition 5) H, A, Y, HW extended regions do not interfere with each other.
Including any one or more of
The control means is a path generation device, characterized in that the operation path is generated based on the pose that satisfies a predetermined condition including the interference condition.
前記候補生成手段は、ワークの位置と、ワークの軸方向と、ワークの大きさと、に基づいて一の前記候補を生成し、該一の候補を所定の回転軸周りに回転させて他の複数の候補を生成する請求項1に記載の経路生成装置。 The pose generation means includes a candidate generation means for generating the candidate.
The candidate generation means generates one candidate based on the position of the work, the axial direction of the work, and the size of the work, and rotates the one candidate around a predetermined rotation axis to rotate the other candidate. The route generation device according to claim 1, wherein the candidate of the above is generated.
(イ)接近ポーズの関節位置で(条件3)を満たすこと、
(ロ)候補の関節位置で(条件3)を満たすこと、
(ハ)離脱ポーズの関節位置で(条件3)および(条件5)を満たすこと、
を検査し、(イ)〜(ハ)のいずれか一つを満たさない場合に、該ポーズに紐づく候補を除外する請求項1〜5のいずれか一項に記載の経路生成装置。 The pose generation means refers to the generated pose.
(B) Satisfy (Condition 3) at the joint position of the approaching pose,
(B) Satisfy (Condition 3) at the candidate joint position,
(C) Satisfy (Condition 3) and (Condition 5) at the joint position of the withdrawal pose.
The route generation device according to any one of claims 1 to 5 , which excludes candidates associated with the pose when any one of (a) to (c) is not satisfied.
前記ポーズ生成手段は、生成した各動作について、
(二)接近動作を時系列に細分し、各時間毎の関節位置において(条件3)を満たすこと、
(ホ)離脱動作を時系列に細分し、各時間毎の関節位置において(条件3)を満たすこと、
を検査し、(二)または(ホ)のいずれか一方を満たさない場合に、該動作に紐づく候補を除外する請求項1〜6のいずれか一項に記載の経路生成装置。 Based on the candidate, the pose generation means generates an approaching motion in which the hand moves from the approaching pose to the gripping pose and a leaving motion in which the hand moves from the gripping pose to the leaving pose.
The pose generation means is used for each generated motion.
(2) Subdivide the approaching motion in chronological order and satisfy (Condition 3) at the joint position for each hour.
(E) Subdivide the withdrawal movement in chronological order and satisfy (Condition 3) at the joint position for each hour.
The route generator according to any one of claims 1 to 6 , which excludes candidates associated with the operation when either (2) or (e) is not satisfied.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019186643A JP6908908B2 (en) | 2019-10-10 | 2019-10-10 | Robot arm path generator and path generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019186643A JP6908908B2 (en) | 2019-10-10 | 2019-10-10 | Robot arm path generator and path generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021062416A JP2021062416A (en) | 2021-04-22 |
JP6908908B2 true JP6908908B2 (en) | 2021-07-28 |
Family
ID=75487232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019186643A Active JP6908908B2 (en) | 2019-10-10 | 2019-10-10 | Robot arm path generator and path generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6908908B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024105783A1 (en) * | 2022-11-15 | 2024-05-23 | ファナック株式会社 | Robot control device, robot system and robot control program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5852364B2 (en) * | 2011-08-26 | 2016-02-03 | キヤノン株式会社 | Information processing apparatus, information processing apparatus control method, and program |
JP5911299B2 (en) * | 2011-12-27 | 2016-04-27 | キヤノン株式会社 | Information processing apparatus, information processing apparatus control method, and program |
JP6335806B2 (en) * | 2015-01-22 | 2018-05-30 | 三菱電機株式会社 | Work supply apparatus and work gripping posture calculation method |
JP6879238B2 (en) * | 2018-03-13 | 2021-06-02 | オムロン株式会社 | Work picking device and work picking method |
-
2019
- 2019-10-10 JP JP2019186643A patent/JP6908908B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2021062416A (en) | 2021-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11511421B2 (en) | Object recognition processing apparatus and method, and object picking apparatus and method | |
JP5458885B2 (en) | Object detection method, object detection apparatus, and robot system | |
JP5788460B2 (en) | Apparatus and method for picking up loosely stacked articles by robot | |
JP3842233B2 (en) | Image processing apparatus and robot system | |
JP4004899B2 (en) | Article position / orientation detection apparatus and article removal apparatus | |
JP6529302B2 (en) | INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM | |
CN108182689A (en) | The plate workpiece three-dimensional recognition positioning method in polishing field is carried applied to robot | |
US20130006423A1 (en) | Target object gripping apparatus, method for controlling the same and storage medium | |
KR102634535B1 (en) | Method for recognizing touch teaching point of workpiece using point cloud analysis | |
JP2010071743A (en) | Method of detecting object, object detection device and robot system | |
JP2018192592A (en) | Workpiece extraction system | |
CN111745640A (en) | Object detection method, object detection device, and robot system | |
JP6908908B2 (en) | Robot arm path generator and path generator | |
JP2008168372A (en) | Robot device and shape recognition method | |
KR20180076966A (en) | Method for detecting workpiece welding line by welding robot | |
JP2010184300A (en) | Attitude changing device and attitude changing method | |
JP2015085434A (en) | Robot, image processing method and robot system | |
JP4793109B2 (en) | Object detection method and robot | |
EP4094904B1 (en) | Robot system control device, robot system control method, computer control program, and robot system | |
JP7309592B2 (en) | Robot curved surface scanning control method | |
JP3516668B2 (en) | Three-dimensional shape recognition method, apparatus and program | |
JP6644846B1 (en) | Work position and orientation recognition device and picking system | |
CN117794704A (en) | Robot control device, robot control system, and robot control method | |
JP7161857B2 (en) | Information processing device, information processing method, and program | |
JP7499967B2 (en) | Transport system, computer-implemented method for controlling transport of an article, and program for causing a computer to execute said method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210413 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210519 |
|
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: 20210615 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210624 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6908908 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |