説明

把持装置および把持装置制御方法

【課題】 本発明は、複雑な把持動作が必要になる把持装置の制御を、円滑に行うことを目的とする。
【解決手段】 本発明は、把持手段に把持される被把持部材の位置および姿勢に関する情報を取得する情報取得手段と、前記取得された情報に基づき前記被把持部材の把持に適した状態である把持目標状態を取得し、当該把持目標状態に向かうように前記把持手段の移動経路を設定する移動経路設定手段と、前記設定された移動経路に沿って、前記把持手段を移動させ、前記被把持部材を把持させる制御手段とを有することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、把持対象を把持するための把持装置および把持装置制御方法に関する。
【背景技術】
【0002】
工業製品の生産には様々な工程があり、各工程の作業を自動的に行うために様々な作業用ロボットが用いられている。しかし、作業が複雑であるほど、作業用ロボットによる各工程の自動化は困難である。
【0003】
特許文献1には、作業工程が比較的複雑になるフレキシブルケーブルを把持し、把持したフレキシブルケーブルをコネクタに接続する作業を行う把持装置が提案されている。
【0004】
特許文献1における作業方法は、まず、位置変位の少ないフレキシブルケーブルの途中部位を第一のハンドで緩めに把持し、第一のハンドでフレキシブルケーブルをしごいてケーブル先端部を所定位置に固定する。そして、ケーブル先端部を所定位置に固定した後、固定された先端部を第二のハンドで把持するというものである。
【特許文献1】特開2005−11580
【発明の開示】
【発明が解決しようとする課題】
【0005】
特許文献1における把持装置は、把持の際に、第一のハンドと第二のハンドとによる二工程が必要になり、把持作業が複雑になってしまっていた。
【0006】
本発明は、上記課題を鑑み、複雑な把持動作が必要になる把持装置の制御を、円滑に行うことを目的とする。
【課題を解決するための手段】
【0007】
本発明は、把持手段に把持される被把持部材の位置および姿勢に関する情報を取得する情報取得手段と、前記取得された情報に基づき前記被把持部材の把持に適した状態である把持目標状態を取得し、当該把持目標状態に向かうように前記把持手段の移動経路を設定する移動経路設定手段と、前記設定された移動経路に沿って、前記把持手段を移動させ、前記被把持部材を把持させる制御手段とを有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、複雑な把持動作が必要になる把持装置の制御を、円滑に行うことが出来る。
【発明を実施するための最良の形態】
【0009】
(第一の実施形態)
図1は本実施形態における把持装置の機能構成を示す図である。
【0010】
A10は、被把持部材に対して、把持などの作業を行う把持手段である。把持手段A10は、把持などを行うためのロボットアーム、ロボットハンドなどから構成される。
【0011】
A40は、把持手段A10の動作を制御する制御手段である。制御手段A40は、把持手段A10の動作量を算出するパーソナルコンピュータなどから構成される。
【0012】
A310は、把持手段A10が被把持部材を把持する際の把持手段A10、被把持部材の位置を取得する第一の三次元位置取得手段である。第一の三次元位置取得手段は、カメラなどの撮像手段から構成される。
【0013】
A320も、把持手段A10が被把持部材を接合部材に接合する際の把持手段A10、被把持部材の位置を取得する第二の三次元位置取得手段である。第二の三次元位置取得手段も、カメラなどの撮像手段から構成される。
【0014】
A510は、情報取得手段の一部として機能し、第一の三次元位置取得手段A310で取得された三次元位置情報に基づき、把持手段A10、被把持部材の位置、姿勢状態などの三次元情報を推定する第一の三次元状態推定手段である。第一の三次元状態推定手段A510は、推定処理のための演算を行うパーソナルコンピュータなどから構成される。
【0015】
A520も、情報取得手段の一部として機能し、第一の三次元位置取得手段A310で取得された三次元位置情報に基づき、把持手段A10、被把持部材の位置、姿勢状態などの三次元情報を推定する第二の三次元状態推定手段である。第二の三次元状態推定手段A520も、推定処理のための演算を行うパーソナルコンピュータなどから構成される。
【0016】
A610は、第一の三次元状態推定手段A510の三次元情報に基づき、把持手段A10の把持動作を行う際の移動経路(第一の情報)を生成する第一の移動経路設定手段である。第一の移動経路設定手段演算A610は、経路生成のための演算を行うパーソナルコンピュータなどから構成される。
【0017】
A620は、第二の三次元状態推定手段A520の三次元情報に基づき、把持手段A10の接合作業を行う際の移動経路(第二の情報)を生成する第二の移動経路設定手段である。第二の移動経路設定手段A620は、経路生成のための演算を行うパーソナルコンピュータなどから構成される。
【0018】
制御手段A40は、第一の移動経路設定手段演算A610および第二の移動経路設定手段A620からの移動経路に基づき、把持手段A10の移動を制御し、被把持部材に対する把持および接合作業を行う。
【0019】
図2は、図1で示した機能構成の具体的な構成を示す図である。
【0020】
10は図1における制御手段A40に対応し、把持装置に指示を送るロボットコントローラである。
【0021】
11は把持手段A10を構成し、被把持部材を把持するロボットアームである。
【0022】
12は把持手段A10を構成し、ロボットアーム11のエンドエフェクタとして取り付けられたグリッパ形式のロボットハンドである。
【0023】
21は、把持手段A10による被作業物体の一つであるプリント基板である。
【0024】
22は、把持手段A10による被作業物体の一つである接合部材であり、例えば、コネクタである。
【0025】
23は、把持手段A10による被作業物体の一つである被把持部材であり、例えば、フレキシブルケーブルである。プリント基板21、接合部材22、被把持部材23は一括してワークとも呼ばれる。
【0026】
41は、計算機であり、CPU、RAMなどを有するパーソナルコンピュータなどにより構成される。計算機41は、図1における第一の三次元状態推定手段A510、第二の三次元状態推定手段A520、第一の移動経路設定手段A610、第二の移動経路設定手段A620に対応する。計算機41のRAMには、第一の三次元状態推定手段A510、第二の三次元状態推定手段A520、第一の移動経路設定手段A610、第二の移動経路設定手段A620それぞれを動作させるためのコンピュータプログラムが格納されている。計算機41による演算結果は、ロボットコントローラ10に送信され、ロボットコントローラ10はロボットアーム11、ロボットハンド12を制御する。
【0027】
A311は、図1における第一の三次元位置取得手段A310に対応し、情報取得手段の一部として機能する第一のステレオカメラである。
【0028】
A321は、図1における第二の三次元位置取得手段A320に対応し、情報取得手段の一部として機能する第二のステレオカメラである。第一のステレオカメラA311、第二のステレオカメラA321は、例えば被把持部材23が変形したとしても、ワークを撮像可能な位置に配置する。
【0029】
図3は、図2におけるロボットハンド12の先端部の詳細な構成を示す図である。
【0030】
13は、ロボットハンド12が被把持部材23を把持する際に被把持部材23に接触するフィンガーであり、被把持部材23を把持するために十分な長さを有する。
【0031】
14は、被把持部材23を把持する際に被把持部材23と接触するフィンガー13の把持面である。
【0032】
15は、被把持部材23を把持する際の把持中心位置である。
【0033】
16は、フィンガー13の中心を示すフィンガー中心基準線である。
【0034】
17は、ロボットハンド12の中心軸であり、フィンガー13は中心軸を挟んで配置されている。
【0035】
なお、把持作業の際には様々な誤差が蓄積する可能性があるため、ロボットハンド12は、後述する作業において、微小量の倣い機構が備わっていることが望ましい。
【0036】
図4は、図2における把持装置による把持作業処理フローである。尚、図4の各処理は、計算機41の計算結果がロボットコントローラ10に送信され、ロボットコントローラ10がロボットアーム11、ロボットハンド12の動作を制御することにより、行われる。
【0037】
(S100)S100で、本実施形態における把持装置の作業を開始する。
【0038】
(S200)S200では、ロボットコントローラ10により、初期動作としてロボットアーム11およびロボットハンド12を第一の待機状態へと移動させる。図7(a)は、本実施形態におけるロボットアーム11およびロボットハンド12の第一待機状態を示す図である。第一の待機状態とは、ロボットアーム11およびロボットハンド12が作業の開始位置に位置している状態である。第一の待機状態では、ロボットアーム11およびロボットハンド12によって、第一のステレオカメラA311による被把持部材23の計測は遮られない。
【0039】
(S300)S300では、ロボットコントローラ10が、本実施形態の把持装置による作業が終了したか否かを判定する。作業が終了したと判定された場合、後述するS700に処理を進め、把持装置による作業を終了させる。作業が終了していないと判定された場合、後述するS400に処理を進める。尚、把持作業が終了したか否かの判断は、ユーザー指示により決定してもよい。
【0040】
(S400)S400では、第一のステレオカメラA311により、ワーク(プリント基板21、接合部材22、被把持部材23)を撮像する。
【0041】
図8は、第一のステレオカメラA311撮像されたカメラ画像である。図8(a)は、第一のステレオカメラA311の左カメラによる画像である。図8(b)は、第一のステレオカメラA321の右カメラにより撮像されたカメラ画像である。S400では、左カメラ画像もしくは右カメラ画像から、把持装置が作業を行うことが出来る位置にワークが配置されているか否かを検出する。左カメラ画像もしくは右カメラ画像にワークが撮像されていた場合、ワークは作業を行うことが出来る位置に位置していると判定し、S500に処理を進める。
【0042】
(S500)S500では、本実施形態の把持装置による把持動作を行う。ここでは、ロボットアーム11により被把持部材23を把持する。S500における処理の詳細は、後述する。S500における把持動作の終了後は、S600へ処理を進める。
【0043】
(S600)S600では、本実施形態の把持装置による接合作業を行う。ここでは、S500で把持された被把持部材23を接合部材22に接合する。S600における接合作業の詳細は、後述する。S600における接合作業の終了後は、他の作業を行うためにS200へ進む。
【0044】
(S700)S700では、一連の作業が終了後、把持装置の処理を終了させる。
【0045】
以上が、本実施形態における把持装置の作業フローである。
【0046】
次に、図4における把持動作S500の処理の詳細を説明する。
【0047】
図5は、把持動作S500の詳細な処理を示すフローである。
(S510)S510では、第一のステレオカメラA311が、ワーク(プリント基板21、接合部材22、被把持部材23)の位置を取得する第一の三次元位置取得工程を行う。S400では、ワークが撮像画像中に存在するか否かで、把持装置が作業を行うことが出来る位置にワークが配置されているか否かを検出した。本ステップS510では把持手段A10およびワークの位置座標を算出する。接合部材22、被把持部材23それぞれの位置の自由度は高く、設計値から正確な位置座標を予想することは困難であるため、本ステップS510で位置座標を検出する必要がある。本ステップS510では、図8(a)の左カメラ画像と図8(b)の右カメラ画像とから、三角測量の手法などを用いてワークの位置座標を算出する。
【0048】
(S520)S520では、計算機41が、左カメラ画像と右カメラ画像とから視差画像を算出し、ワークの三次元位置状態を推定する第一の三次元状態推定工程を行う。本実施形態では、ワークの三次元位置状態とはワークの位置および姿勢を示す。また、視差画像とは、左カメラ画像と右カメラ画像とのズレの大きさを表した画像である。ズレはステレオカメラA311もしくはステレオカメラA321から遠いほど大きくなるため、視差画像から遠近情報を得ることが出来る。視差画像におけるズレの大きさは、色分けなどで表現される。得られた視差画像を解析することにより、ワークの三次元位置状態を推定することが出来る。
【0049】
図9(a)は、視差画像に対して、ワークの三次元位置状態を推定するための処理の一つである閾値処理を行った画像を示す図である。図9(a)は、閾値処理により、被把持部材23を抽出した図である。図9(a)のような画像を取得するためには、例えば、あらかじめ被把持部材23が位置する位置範囲を取得しておき、S510で算出された位置情報を用いて、位置範囲外の部分を閾値処理により消去すればよい。
【0050】
図9(b)は、図8(a)、(b)における左カメラ画像もしくは右カメラ画像に対して、ワークの三次元位置状態を推定するための処理の一つであるエッジ処理を行った画像である。エッジ処理を行うことによって、プリント基板21、接合部材22、被把持部材23それぞれのエッジが抽出され、境界を把握しやすくなる。
【0051】
図9(c)は、被把持部材23に対してエッジ処理を行った画像である。図9(b)の画像を用いることにより、図9(a)の画像から、被把持部材23のエッジを抽出することが出来る。
【0052】
図9(d)は、被把持部材23のエッジを世界座標系に適用した状態を示す図である。
【0053】
図10は、図9(d)の状態に対して、三次元位置状態を推定するための処理の一つであるフィッティング処理を行った状態を示す図である。フィッティング処理とは、所定形状のモデルを三次元座標空間上の適切な位置に配置する処理である。本実施形態では、被把持部材23の形状である矩形形状モデルを、図9(d)のエッジに当てはめるように配置する。フィッティング処理を行うことによって、配置された矩形形状モデルから被把持部材23の位置姿勢を算出することが出来る。例えば、矩形形状モデルの端点102の位置座標から平面の方程式を算出し、平面の方程式から法線ベクトル101を算出することにより、被把持部材23の姿勢を定量化することが出来る。また、図10の103は、被把持部材23の把持位置を示し、104は被把持部材23の中心軸を示している。把持位置103は、被把持部材23の材質などを考慮して、矩形形状モデル上にあらかじめ設定されている。また、把持位置103と中心軸104との交点105が、把持中心目標位置となる。
【0054】
(S530)S530では、計算機41が、S520で推定した被把持部材23の三次元位置状態を用いて、第一の移動経路設定処理を行う。第一の移動経路とは、被把持部材23を把持するまでにロボットアーム11およびロボットハンド12が移動する移動経路である。
【0055】
本実施形態では、被把持部材23の把持を行う場合、フィンガー13と被把持部材23が重なり合う位置まで、ロボットアーム11およびロボットハンド12を移動させる。
【0056】
図11は、フィンガー13と被把持部材23とが重なり合う位置まで、ロボットアーム11およびロボットハンド12を移動させた状態を示す図である。
【0057】
図12は、図11と同様の位置までロボットアーム11およびロボットハンド12を移動させた状態を斜視図で示した図である。図11および図12に示すように、フィンガー13の把持面14の法線ベクトルと、S510で算出された法線ベクトルとが平行になるようにさせた後、フィンガー13を閉じれば、被把持部材23をスムーズに把持することが出来る。
【0058】
本ステップで生成する第一の移動経路は、図11もしくは図12の状態までロボットアーム11およびロボットハンド12を移動させる経路である。第一の移動経路を生成するために、第二待機状態、アプローチ状態、把持目標状態を設定する。
【0059】
図7(b)では第二待機状態、図7(c)ではアプローチ状態、図7(d)では把持目標状態を示している。本実施形態では把持を行う際に、ロボットアーム11およびロボットハンド12を、第二の待機状態からアプローチ状態へ移動させ、更に、アプローチ状態から把持目標状態へと移動させる。以下にそれぞれの状態を説明する。
【0060】
第二待機状態とは、把持を行う際の移動開始位置である。第二待機状態の算出の際には、あらかじめ把持に適した複数の第二待機状態をLUT(ルックアップテーブル)などに記録しておき、適切な第二待機状態を選択する。第二待機状態の選択の際には、アプローチ状態とそれぞれの第二待機状態をスプライン曲線などで結んだ移動曲線上に特異点が存在するか否かで判定する。特異点上では速度ベクトルがゼロになってしまうため、ロボットアーム11およびロボットハンド12の移動に際に、不具合が生じる可能性がある。よって、算出した移動曲線上に特異点が存在しない第二待機状態を選択する。従って、第二の待機状態を選択するためには、まずアプローチ状態を算出する必要がある。
【0061】
アプローチ状態とは、フィンガー13が被把持部材13と重なり合う直前の状態である。
【0062】
図13は、本実施形態におけるアプローチ状態を示す図である。本実施形態におけるアプローチ状態は、把持目標状態から、フィンガー13を所定距離だけ引き抜く方向に移動させた状態である。このときの所定距離は、例えば、図13に示すように、把持中心基準位置15からフィンガー13の先端位置までの距離dと被把持部材23の半分の幅すなわち長方形モデルの横エッジと中心軸104の距離dの和にマージンεを加えたものとする。図13のように所定距離を設定することにより、フィンガー13と被把持部材23とが干渉することを防止することが出来る。
【0063】
把持目標状態とは、被把持部材23を把持するためのロボットアーム11およびロボットハンド12の最終的な位置および姿勢である。最終的な位置姿勢は、前述したように、フィンガー13の把持面14の法線ベクトルと、S510で算出された法線ベクトルとが平行になる位置姿勢である。また、把持時には図10に示した把持位置103と図3に示したフィンガー中心基準線16が一致すべきであり、同様に把持中心目標位置105と把持中心基準位置15も一致しているべきである。これらの条件を満たすために、把持目標状態は、把持手段中心線17と把持位置103が一致し、両フィンガー13の把持中心基準位置15を結ぶ直線18が把持中心目標位置105を通るような位置に設定される。
【0064】
以上の第二待機状態、アプローチ状態、把持目標状態の位置姿勢を、スプライン関数などを用いて結ぶことにより、第一の移動経路を生成する。
【0065】
図14は、第一の移動経路を示す概念図である。図14に示すように、把持部材23の位置姿勢に応じて、ロボットアーム11およびロボットハンド12の移動経路はさまざまに変化する。
【0066】
(S540)S540では、生成された第一の移動経路に基づき、ロボットコントローラ10が移動指示を送信することにより、ロボットアーム11およびロボットハンド12が移動し、把持動作を行う。S540は、以下、S541〜S544から構成される。
【0067】
(S541)S541では、初期状態である第一待機状態から第二待機状態へ、ロボットアーム11およびロボットハンド12を移動させる。
【0068】
(S542)S542では、第二待機状態からアプローチ状態へ、ロボットアーム11およびロボットハンド12を移動させる。
【0069】
(S543)S543では、アプローチ状態から把持目標状態へ、ロボットアーム11およびロボットハンド12を移動させる。
【0070】
(S544)S544では、把持目標状態でフィンガー13を閉じ、把持部材23をフィンガー13で把持する。
【0071】
次に、図4における接合作業S600の処理の詳細を説明する。S600は、S611〜S647から構成される。S600の接合作業における移動経路も、S500の把持作業と同様に、複数のロボットアーム11およびロボットハンド12状態をつなぐことにより、生成される。
【0072】
図15は、本実施形態におけるS600の各ステップにおけるロボットアーム11およびロボットハンド12の状態を示す図である。以下にそれぞれの状態の詳細および算出方法を説明する。
【0073】
図15(a)は、被把持部材23が接合部材22に接合される前の状態である接合前状態を示す図である。接合前状態とは、接合の準備のために、被把持部材23が接合部材22の手前に位置している状態である。
【0074】
図16は、本実施形態における接合前状態を示す図である。
【0075】
図16において、25は接合部材22の接合部分である。
【0076】
図16に示すように、本実施形態の接合前状態は、接合部材22の接合部分25手前で、被把持部材23が接合部材22と平行を保ちつつ所定の距離δ(例えば、δ=5mm)を開けた状態であるとする。ただし、接合部材22の取り付け公差や被把持部材の把持ずれなどの要因により、接合部材22と被把持部材23の位置関係は必ずしも所望の状態にはなっていない。
【0077】
図15(b)は、接合部材22と被把持部材23を接合するにあたって、被把持部材の一端点の挿入を開始する直前の接合待機状態を示す図である。接合待機状態は、後述する端部挿入状態から挿入方向の逆方向に所定距離だけ移動させた状態である。ただし、接合前状態から接合待機状態を経由して端部挿入状態へとスムーズに移行させるため、接合前状態よりも被把持部材23が接合部材22に近づき、かつ被把持部材23が接合部分25内部に入り込まない状態であることが望ましい。
【0078】
図15(c)は、被把持部材23を接合部材22に接合するために、被把持部材23の一端を接合部材22に挿入した端部挿入状態を示す図である。被把持部材23の一端を接合部材22に挿入する理由は、接合の失敗を防止するためである。例えば、被把持部材23を接合部材22に挿入する場合、機械誤差などにより被把持部材23が接合部材22に対して平行でないために、挿入が失敗する場合がある。よって、最初に、被把持部材23の一端を接合部材22に挿入することにより、挿入が失敗する可能性を低くすることが出来る。
【0079】
以下に、端部挿入状態の算出方法について説明する。
【0080】
図17(a)は、被把持部材23が接合部分25の近傍に位置している状態を示した図である。図17(a)のような画像は、図16の状態を撮像することにより、取得することが出来る。取得した画像に対して、S520の処理と同様のフィッティング処理を行うことにより、被把持部材23、接合部材22の三次元位置状態を推定し、端部挿入状態を算出することが出来る。
【0081】
図17(b)は、図17(a)に対して、S520の場合と同様に、閾値処理およびエッジ処理を行った状態を示す図である。
【0082】
図18は、図17(b)のような画像データに対して、フィッティング処理を行った状態を示す図である。図18に示すように、接合部材22に対して矩形形状モデル200、把持部材23に対してコの字形状モデル300を用いている。図18のように、フィッティング処理を行うことによって、S520の場合と同様に、把持部材23の位置姿勢を算出することが出来る。また、線分形状モデル220を用いてフィッティング処理することにより、接合部分25の位置姿勢を算出することが出来る。尚、201は、矩形形状モデル200に対する法線ベクトル、301は、コの字形状モデル300に対する法線ベクトル、を示している。311、312はコの字形状モデル300の端点、221、222は線分形状モデル22の端点、211、212は矩形形状モデルの端点である。
【0083】
以下に、図18の情報に基づいて、端部挿入状態の位置姿勢を算出する方法を説明する。
【0084】
本実施形態では、把持部材23の挿入が失敗する可能性を低くするために、把持部材23を接合部分25に対して斜めに挿入する。仮に、把持部材23を接合部分25に対して平行に挿入すると、わずかな誤差で把持部材23と接合部材22とが接触し、挿入が失敗する可能性がある。しかし、斜めに挿入することによって、わずかな誤差が生じていても、把持部材23と接合部材22との接触後、把持部材23と接合部材22との接触位置がずれて接合部材22への挿入を成功させることが出来る。
【0085】
図19、図20、図21は、端部挿入状態の位置姿勢を算出する際の概念図である。図19に示すように、まず、線分形状モデル220に対して、仰角θ(例えばθ=15°)を持ち、かつ線分形状220を通る平面Pを設定する。そして、平面Pに平行で、かつ線分210を通る平面Pを設定する。平面Pと平面Pとに挟まれていて、かつ両平面に平行な平面Pを設定する。PとPの距離は微小量で、前述した把持手段A10の持つ倣い機構の許容範囲内の値であるとし、接合部材23の寸法や被把持部材23の弾性、ロボットアーム11の微小移動に関する誤差を考慮して設定する。例えば平面Pと平面Pの距離が0。5mmであったとき、PとPの距離を0。1mmと設定する。また、平面Pは接合部25の幅方向に対して線分220の両端点221および222から推定される接合部の幅で切り取られた、幅方向に有限な平面であるとする。
【0086】
尚、端部挿入動作の動作方向ベクトルdは、線分210もしくは220の方向ベクトルに直交し、かつ平面Pの法線ベクトル401に直交するベクトルで定義される。動作方向ベクトルdは、前述した接合待機状態を、端部挿入状態から算出する際に用いられる。
【0087】
ここで、接合部分25のエッジである線分220を通り、接合部材22の法線ベクトル201と同じ方向の法線ベクトル501を持つ平面Pを考える。平面Pは、平面Pと同様、接合部25の幅方向に対して線分220の両端点221および222から推定される接合部の幅で切り取られた、幅方向に有限な平面である。線分220から前述の微小挿入量βの距離だけ離れた平面P上の直線510を引き、直線510上で平面Pの幅方向端から距離ρにある点520を、端部挿入状態における被把持部材23の端点312の目標位置とする。ここでのρは微小量で、把持手段の持つ倣い機構の許容範囲内であるとする。端部挿入状態における被把持部材23の状態は、端点312が端点目標位置520に一致し、線分310が直線510の上に乗り、被把持部材23の法線ベクトル301が平面Pの法線ベクトル501と一致した状態である。
【0088】
以上の処理により、把持部材23の端部挿入状態における位置姿勢を算出することが出来る。
【0089】
図15(d)は、図15(c)の端部挿入状態では挿入されていない他端を接合部材22に挿入した先端部挿入状態を示す図である。
【0090】
先端部挿入状態は、端部挿入状態と同様に、把持部材23の端点311の端点目標位置を求めることにより、算出することが出来る。
【0091】
図15(e)は、図15(c)の先端部挿入状態から接合方向に挿入することで、被把持部材23と接合部材22とが接合された接合状態を示す図である。
【0092】
図22は、接合状態を算出する際の概念を示す概念図である。端部挿入状態を算出する際に得られた平面P上において、線分220から距離L+ξにある直線610を設定する。ここでLは接続部材22および被把持部材23の設計値から与えられる被把持部材23の接合に必要な押し込み量であり、ξは微小量で、ロボットハンド12の持つ倣い機構の許容範囲内であるとする。平面Pの中心線601と直線610の交点を、被把持部材23先端部の中心位置に関する目標位置620とする。接合状態における被把持部材23の状態は、両端点311および312の中点が目標位置620に一致し、線分310が直線610の上に乗り、被把持部材23の法線ベクトル301が平面Pの法線ベクトル501と一致した状態である。
【0093】
以上の処理により、接合状態における把持部材23の位置姿勢を算出することが出来る。
【0094】
図15(f)は、図15(e)の接合状態からフィンガー13を開いて、被把持部材23と干渉しないようにロボットハンド12を引き抜いた接合終了状態を示す図である。
【0095】
接合終了状態は、S520におけるアプローチ状態と同様にして算出する。すなわち、接合状態から把持手段中心線17に沿ってロボットハンド12を引き抜く方向へと移動させる。このときの移動距離は把持中心基準位置15からフィンガー13先端位置の距離dと被把持部材23の半分の幅すなわち長方形モデルの横エッジと中心軸104の距離dの和にマージンεを加えたものとする。
【0096】
図6は、S600における各ステップの流れを示す図である。図6を用いて、S600における各ステップを説明する。S600における各ステップは、ロボットコントローラ10から指示が送信され、ロボットアーム11およびロボットハンド12が駆動することにより、処理される。
【0097】
(S611)S611では、ロボットコントローラ10が、ロボットアーム11およびロボットハンド12を接合前状態に移動させる。
【0098】
(S612)S612では、第二のステレオカメラA321が、ワークを撮像することにより、ワークの位置を取得する三次元位置取得工程を行う。本工程の処理は、S510の処理とほぼ同様である。
【0099】
(S620)S620では、S510の処理とほぼ同様に、計算機41が、ステレオカメラA321の左カメラ画像と右カメラ画像とから視差画像を算出し、ワークの三次元位置状態を推定する第二の三次元状態推定工程を行う。本工程における三次元状態推定は、前述した図15の各状態の算出の際に説明したワークの三次元位置および姿勢の算出である。
【0100】
(S630)S630では、計算機41が、接合作業の際に用いる第二の経路を生成する。第二の経路生成の際には、前述した図15の各状態を用いる。図15の各状態をスプライン関数などを用いて結び、第二の経路を生成する。ロボットアーム11およびロボットハンド12を第二の経路に従い移動させれば、接合作業を行うことが出来る。
【0101】
S640以降は、把持部材23を接合部材22に接合する工程である。
接合作業工程では、第二の経路に従い、S641(接合待機状態)、S642(端部挿入状態)S643(先端部挿入状態)、S644(接合状態)、の間を移動する。
【0102】
(S645)S645では、ロボットコントローラ10がフィンガー13を把持部材23に対して開放方向に駆動させ、把持終了動作させる。
【0103】
(S646)S646では、ロボットコントローラ10が、ロボットアーム11およびロボットハンド12を接合終了状態に移動させる。
【0104】
(S647)S647では、次の把持動作のために、ロボットコントローラ10がロボットアーム11およびロボットハンド12を第二の待機状態に移動させる。このときの第二の待機状態は、記憶されたLUTもしくは識別関数を呼び出すことで、計算機41が接合終了状態に対応する第二待機状態を選択する。
【0105】
以上のS200からS600までの処理後、再びS200へ処理を戻し、作業待ち状態となる。
【0106】
以上の処理を行うことによって、フレキシブルケーブルとコネクタを嵌合させるような複雑な把持動作作業を円滑に行うことが出来る。尚、図4における各処理は、把持装置を制御する制御プログラムが格納された記憶装置、CPUなどから構成されるコンピュータで代替してもよい。
【0107】
(第二の実施形態)
図23は、本実施形態における機能構成を示す図である。図23から分かるように、基本的な構成は第一の実施形態の図1と同様である。第一の実施形態と異なる点は、3D−CADデータA50を備えることである。3D−CADデータA50には、把持部材23、接合部材22などの正確な外形形状データが格納されている。これらのデータを矩形形状モデルやコの字形状モデルなどのパラメトリックなモデルデータの替わりに用いることによって、本実施形態では、より正確なフィッティング処理を行うことが出来る。正確なフィッティング処理を行うことにより、被把持部材23、接合部材22の位置姿勢の推定精度が向上し、ロボットハンド12の倣い機構に依存する設定値β、γおよびρの値をより小さな値に設定することができ、作業の正確性が向上する。
【0108】
(第三の実施形態)
図24は、本実施形態における把持装置の構成を示す図である。図24から分かるように、基本的な構成は第一の実施形態における図2と同様である。第一の実施形態と異なる点は、第一のステレオカメラA311と第二のステレオカメラA321とを別の手段に置き換えていることである。第一のステレオカメラA311の替わりに、第一のカメラA313と第一の投光器A314を備えている。また、第二のステレオカメラA321の替わりに、第二のカメラA323と第二の投光器A324とを備えている。投光器としては、2本以上のスリット光を照射することができるマルチスリット光型であることが望ましい。また、ガルバノミラーもしくはポリゴンミラーによる走査型であってもよい。
【0109】
本実施形態では、撮像を行う際に、まずカメラ光軸から所定角度をもって、投光器からスリット光を投光する。そして、カメラが撮像した画像からスリット光による照射位置を検出し、三角測量の原理を用いて撮像対象の奥行き情報を取得することが出来る。この手法は、一般的に光切断法と呼ばれている。本実施形態では、ステレオカメラの替わりに、投光器およびカメラを用いた光切断法によって、撮像対象の三次元位置および姿勢を検出することが出来る。
【0110】
(第四の実施形態)
図25は、本実施形態における把持装置の構成を示す図である。図25から分かるように、基本的な構成は第一の実施形態における図2と同様である。第一の実施形態と異なる点は、第一のステレオカメラA311と第二のステレオカメラA321とを別の手段に置き換えていることである。第一のステレオカメラA311の替わりに、第一のカメラA315と第一のプロジェクタA315とを備えている。また、第二のステレオカメラA321の替わりに、第二のカメラA325と第二のプロジェクタA324とを備えている。本実施形態では、ステレオカメラの替わりに、カメラとプロジェクタを用いることにより、空間コード化法による撮像対象の位置計測が可能である。空間コード化法とは、まず、プロジェクタから撮像対象に対してコード化パターンを投影する。そして、カメラが撮像した画像からコード化パターンを検出し、三角測量の原理を用いて撮像対象の奥行き情報を取得する方法である。
【0111】
本実施形態では、ステレオカメラの替わりに、プロジェクタおよびカメラを用いることよって、撮像対象の三次元位置および姿勢を検出することが出来る。
【0112】
(第五の実施形態)
図26は、本実施形態における把持装置の構成を示す図である。図26から分かるように、基本的な構成は第一の実施形態における図2と同様である。第一の実施形態と異なる点は、第二のステレオカメラA321とを別の手段に置き換えていることである。第二のステレオカメラA321の替わりに、第一のカメラA323と投光器A324とを備えている。本実施形態では、把持時における撮像にはステレオカメラを用いて、把持部材23の接合時における撮像に対しては、カメラと投光器とを用いている。カメラと投光器によって撮像された画像に対する処理は、第三の実施形態と同様である。
【0113】
尚、本実施形態の変形例として、第一のステレオカメラA311の替わりに、カメラと投光器を用いても良い。また、カメラと投光器の替わりに、プロジェクタとカメラを用いて、第四の実施形態と同様の方法により、撮像対象の位置および姿勢を検出してもよい。
【0114】
(第六の実施形態)
図28は、本実施形態における把持装置の構成を示す図である。図28から分かるように、基本的な構成は第一の実施形態における図2と同様である。第一の実施形態と異なる点は、第二のステレオカメラA321を備えていないことである。本実施形態では、第一のステレオカメラA301を、把持および接合時に被把持部材23を撮像可能な位置に配置する。そして、第一のステレオカメラA301で、把持および接合時の撮像を行う。
【0115】
図27は、本実施形態における把持装置の機能構成を示す図である。図27から分かるように、基本的な構成は第一の実施形態における図1と同様である。第一の実施形態と異なる点は、第一の三次元位置取得手段A310および第二の三次元位置取得手段A320の機能を、三次元位置取得手段A300が担っていることである。三次元位置取得手段A300は、図28における第一のステレオカメラA301に対応している。
【0116】
以上のように、第一のステレオカメラA301を適切な位置に配置することにより、第二のステレオカメラを配置せずに把持および接合動作が可能であり、装置の製造コストを削減することが出来る。
【図面の簡単な説明】
【0117】
【図1】第一の実施形態における把持装置の機能構成を示す図。
【図2】第一の実施形態における把持装置の具体的な構成を示す図。
【図3】ロボットハンド12の先端部の詳細な構成を示す図。
【図4】第一の実施形態における把持装置による把持作業処理フローを示す図。
【図5】把持動作S500の詳細な処理フローを示す図。
【図6】接合作業S600の各ステップの流れを示す図。
【図7】第一の実施形態における把持作業中の把持手段の状態を示す図。
【図8】第一のステレオカメラにより撮像されたカメラ画像を示す図。
【図9】視差画像に対して閾値処理を行った画像を示す図。
【図10】閾値処理を行った画像に対してフィッティング処理を行った画像を示す図。
【図11】フィンガーと被把持部材とが重なりあっている状態を示す図。
【図12】フィンガーと被把持部材とが重なりあっている状態を斜視図で示す図。
【図13】第一の実施形態におけるアプローチ状態と把持目標状態の関係を説明した図。
【図14】第一の実施形態における第一の移動経路を示す概念図。
【図15】第一の実施形態におけるS600の各ステップにおける把持手段の状態を示す図。
【図16】第一の実施形態における接合前状態を示す図。
【図17】被把持部材が接合部分の近傍に位置している状態を示す図。
【図18】フィッティング処理を行った状態を示す図。
【図19】端部挿入状態の位置姿勢を算出する際の概念図。
【図20】端部挿入状態の位置姿勢を算出する際の概念図。
【図21】端部挿入状態の位置姿勢を算出する際の概念図。
【図22】接合状態を算出する際の概念を示す概念図。
【図23】第二の実施形態における把持装置の機能構成を示す図。
【図24】第三の実施形態における把持装置の構成を示す図。
【図25】第四の実施形態における把持装置の構成を示す図。
【図26】第五の実施形態における把持装置の構成を示す図。
【図27】第六の実施形態における把持装置の機能構成を示す図。
【図28】第六の実施形態における把持装置の構成を示す図。

【特許請求の範囲】
【請求項1】
把持手段に把持される被把持部材の位置および姿勢に関する情報を取得する情報取得手段と、
前記取得された情報に基づき前記被把持部材の把持に適した状態である把持目標状態を取得し、当該把持目標状態に向かうように前記把持手段の移動経路を設定する移動経路設定手段と、
前記設定された移動経路に沿って、前記把持手段を移動させ、前記被把持部材を把持させる制御手段とを有することを特徴とする把持装置。
【請求項2】
前記移動経路設定手段は、
前記被把持部材が前記接合部材に接合された状態とは異なる角度で、前記把持手段により被把持部材の端部が前記接合部材に挿入されている挿入状態を取得し、
前記挿入状態を経由するように、前記第一の移動経路を設定することを特徴とすることを特徴とする請求項1に記載の把持装置。
【請求項3】
前記制御手段は、前記設定された移動経路に基づき、前記被把持部材を把持した前記把持手段を移動させ、前記被把持部材を接合部材に接合させることを特徴とする請求項1もしくは2のいずれかに記載の把持装置。
【請求項4】
前記情報取得手段は、前記把持手段が前記被把持部材を把持する際の前記被把持部材の位置および姿勢に関する第一の情報と、
前記把持手段が前記被把持部材を前記接合部材に接合する際の前記被把持部材の位置および姿勢に関する第二の情報とを取得し、
前記移動経路設定手段は、前記第一の情報に基づき、前記把持手段が前記被把持部材を把持する際の前記把持手段の第一の移動経路を設定し、
前記第二の情報に基づき、前記第二の情報に基づき、前記把持手段が前記被把持手段を前記接合部材に接合する際の前記把持手段の第二の経路を設定し、
前記制御手段は、前記設定された第一の移動経路に基づき、前記把持手段を移動させ、前記被把持部材を把持させ、
前記設定された第二の移動経路に基づき、前記被把持部材を把持した前記把持手段を移動させ、前記被把持部材を接合部材に接合させることを特徴とする請求項3に記載の把持装置。
【請求項5】
前記移動経路設定手段は、前記把持目標状態につながるような曲線を算出し、当該曲線を前記第一の移動経路として設定することを特徴とする請求項1乃至4のいずれかに記載の把持装置。
【請求項6】
前記情報取得手段は、前記被把持部材の位置および姿勢をパラメトリックなモデルデータで取得することを特徴とする請求項1乃至5のいずれかに記載の把持装置。
【請求項7】
前記パラメトリックなモデルデータは、矩形形状のモデルデータであることを特徴とする請求項6に記載の把持装置。
【請求項8】
前記移動経路設定手段は、前記把持手段の複数の把持に必要な姿勢状態を設定し、
当該複数の姿勢状態を経由するように、前記移動経路を設定することを特徴とする請求項1に記載の把持装置。
【請求項9】
前記パラメトリックなモデルデータと、CADデータから得られた前記被把持部材の外形を元にしたモデルであることを特徴とする請求項6に記載の把持装置。
【請求項10】
前記情報取得手段は、複数のカメラを有することを特徴とする請求項1乃至9のいずれかに記載の把持装置。
【請求項11】
前記情報取得手段は、カメラと投光器とを有することを特徴とする請求項1乃至9のいずれかに記載の把持装置。
【請求項12】
前記情報取得手段は、カメラとプロジェクタとを有することを特徴とする請求項1乃至9のいずれかに記載の把持装置。
【請求項13】
情報取得手段が、把持手段に把持される被把持部材の位置および姿勢に関する情報を取得する情報取得工程と、
移動経路設定手段が、前記取得された情報に基づき前記被把持部材の把持に適した状態である把持目標状態を取得し、当該把持目標状態に向かうように前記把持手段の移動経路を設定する移動経路設定工程と、
制御手段が、前記設定された移動経路に沿って、前記把持手段を移動させ、前記被把持部材を把持させる制御工程とを有することを特徴とする把持装置制御方法。
【請求項14】
コンピュータを、
把持手段に把持される被把持部材の位置および姿勢に関する情報を取得する情報取得手段と、
前記取得された情報に基づき前記被把持部材の把持に適した状態である把持目標状態を取得し、当該把持目標状態に向かうように前記把持手段の移動経路を設定する移動経路設定手段と、
前記設定された移動経路に沿って、前記把持手段を移動させ、前記被把持部材を把持させる制御手段として機能させるためのコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate


【公開番号】特開2009−107043(P2009−107043A)
【公開日】平成21年5月21日(2009.5.21)
【国際特許分類】
【出願番号】特願2007−280439(P2007−280439)
【出願日】平成19年10月29日(2007.10.29)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】