(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024100419
(43)【公開日】2024-07-26
(54)【発明の名称】部品供給装置の制御方法、プログラム及び部品供給装置。
(51)【国際特許分類】
G06T 7/70 20170101AFI20240719BHJP
G06T 7/593 20170101ALI20240719BHJP
B23P 19/00 20060101ALI20240719BHJP
【FI】
G06T7/70 Z
G06T7/593
B23P19/00 301K
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023004411
(22)【出願日】2023-01-16
(71)【出願人】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110000925
【氏名又は名称】弁理士法人信友国際特許事務所
(72)【発明者】
【氏名】中村 彰宏
(72)【発明者】
【氏名】樋口 裕樹
(72)【発明者】
【氏名】磯川 宏
(72)【発明者】
【氏名】田所 明典
【テーマコード(参考)】
3C030
5L096
【Fターム(参考)】
3C030AA23
5L096AA06
5L096AA09
5L096BA05
5L096CA04
5L096CA05
5L096DA02
5L096FA08
5L096FA12
5L096FA67
5L096FA69
5L096GA51
(57)【要約】
【課題】部品のピックアップ作業の効率を高めることができる部品供給装置の制御方法、プログラム及び部品供給装置を提供する。
【解決手段】部品供給装置の制御方法は、以下(1)から(3)に示す処理を含む。(1)ピック台に積載された部品を異なる複数の視点から撮影する処理。(2)異なる複数の視点から撮影した画像情報に基づいて、部品の特徴点を抽出する処理。(3)抽出した部品の特徴点と、事前に登録した部品の3Dモデルから抽出した特徴点とを比較して、部品の位置及び姿勢を推定する処理。
【選択図】
図9
【特許請求の範囲】
【請求項1】
ピック台に積載された部品を異なる複数の視点から撮影する処理と、
異なる複数の視点から撮影した画像情報に基づいて、前記部品の特徴点を抽出する処理と、
抽出した前記部品の特徴点と、事前に登録した前記部品の3Dモデルから抽出した特徴点とを比較して、前記部品の位置及び姿勢を推定する処理と、
を含む部品供給装置の制御方法。
【請求項2】
前記部品を撮影するカメラを異なる撮影位置に移動させる処理を含む
請求項1に記載の部品供給装置の制御方法。
【請求項3】
異なる撮影位置に配置された複数のカメラを用いて、部品を異なる複数の視点から撮影する
請求項1に記載の部品供給装置の制御方法。
【請求項4】
前記ピック台には、複数の鏡が設置され、
前記部品を撮影するカメラには、異なる複数の角度からの像が映り込む
請求項1に記載の部品供給装置の制御方法。
【請求項5】
前記部品を撮影する位置は、異なる複数の視点から撮影した画像情報から少なくとも4つの特徴点が観測可能な位置に設定される
請求項1に記載の部品供給装置の制御方法。
【請求項6】
前記部品を撮影する位置は、前記部品のピックアップ動作にかかるタクトタイムの許容範囲に応じて設定される
請求項2に記載の部品供給装置の制御方法。
【請求項7】
想定される前記部品の姿勢から事前に設定した撮影位置を複数選出し、選出した複数の撮影位置の中から前記部品のピックアップ動作にかかるタクトタイムの許容範囲内の視点の組合せが、前記部品を撮影する位置が設定される
請求項2に記載の部品供給装置の制御方法。
【請求項8】
前記部品の物理シミュレーション結果に基づいて、前記部品を撮影する位置が設定される
請求項2に記載の部品供給装置の制御方法。
【請求項9】
ピック台に積載された部品を異なる複数の視点から撮影する手順と、
異なる複数の視点から撮影した画像情報に基づいて、前記部品の特徴点を抽出する手順と、
抽出した前記部品の特徴点と、事前に登録した前記部品の3Dモデルから抽出した特徴点とを比較して、前記部品の位置及び姿勢を推定する手順と、
をコンピューターに実行させるプログラム。
【請求項10】
部品が積載されるピック台と、
前記ピック台に積載された前記部品をピックアップし、所定の箇所に供給する供給部と、
前記ピック台に積載された前記部品を撮影するカメラと、
前記カメラが撮影した画像情報に基づいて、前記ピック台に積載された前記部品の状態を判定する制御部と、を備え、
前記制御部は、
前記ピック台に積載された部品を異なる複数の視点から撮影した画像情報に基づいて、前記部品の特徴点を抽出し、抽出した前記部品の特徴点と、事前に登録した前記部品の3Dモデルから抽出した特徴点とを比較して、前記部品の位置及び姿勢を推定する
部品供給装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、部品供給装置の制御方法、プログラム及び部品供給装置に関する。
【背景技術】
【0002】
近年、山積みされた部品群から少量の部品を取り出して、所定の箇所に供給する部品供給装置が提案されている。また、ピック台上に積載された部品をピックアップする際に、カメラにより部品を撮影して、部品の位置や姿勢を認識している。
【0003】
従来の部品を認識する技術としては、例えば、特許文献1に記載されているようなものがある。特許文献1には、被写体を複数台のカメラで撮影した多視点画像と各カメラのカメラパラメータから、多視点画像における被写体の遮蔽輪郭線を抽出することが記載されている。そして、カメラパラメータから、該遮蔽輪郭線を構成する各点において対応する接線を求め、算出した接線上の被写体表面に対する接点の位置を推定し、接点を被写体表面上の特徴点として、被写体の表面の形状を復元する被写体の3次元形状を復元する技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載された技術では、被写体の3次元形状の詳細に復元することを目的としているため、多数の視点からの撮影が必要となっていた。その結果、その結果、特許文献1に記載された技術では、ピック台上で部品を撮影する時間が長くなり、部品供給装置としての生産性が低下する、という問題を有していた。
【0006】
本発明は、上述のような従来の問題点に鑑み、部品のピックアップ作業の効率を高めることができる部品供給装置の制御方法、プログラム及び部品供給装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決し、本発明の目的を達成するため、部品供給装置の制御方法は、以下(1)から(3)に示す処理を含む。
(1)ピック台に積載された部品を異なる複数の視点から撮影する処理。
(2)異なる複数の視点から撮影した画像情報に基づいて、部品の特徴点を抽出する処理。
(3)抽出した部品の特徴点と、事前に登録した部品の3Dモデルから抽出した特徴点とを比較して、部品の位置及び姿勢を推定する処理。
【0008】
また、本発明のプログラムは、次の手順をコンピューターに実行させる。
ピック台に積載された部品を異なる複数の視点から撮影する手順。
異なる複数の視点から撮影した画像情報に基づいて、前記部品の特徴点を抽出する手順。
抽出した前記部品の特徴点と、事前に登録した前記部品の3Dモデルから抽出した特徴点とを比較して、前記部品の位置及び姿勢を推定する手順。
【0009】
また、本発明の部品供給装置は、部品が積載されるピック台と、ピック台に積載された部品をピックアップし、所定の箇所に供給する供給部と、ピック台に積載された部品を撮影するカメラと、カメラが撮影した画像情報に基づいて、ピック台に積載された部品の状態を判定する制御部と、を備えている。制御部は、ピック台に積載された部品を異なる複数の視点から撮影した画像情報に基づいて、部品の特徴点を抽出し、抽出した部品の特徴点と、事前に登録した部品の3Dモデルから抽出した特徴点とを比較して、部品の位置及び姿勢を推定する。
【発明の効果】
【0010】
上記構成の部品供給装置の制御方法、プログラム及び部品供給装置によれば、部品のピックアップ作業の効率を高めることができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の実施の形態例にかかる部品供給装置の斜視図である。
【
図2】本発明の実施の形態例にかかる部品供給装置の上面図である。
【
図3】本発明の実施の形態例にかかる部品供給装置の側面図である。
【
図4】本発明の実施の形態例にかかる部品供給装置における供給部の側面図である。
【
図5】本発明の実施の形態例にかかる部品供給装置における供給部のハンドの斜視図である。
【
図6】本発明の実施の形態例にかかる部品供給装置におけるピック台の斜視図である。
【
図7】本発明の実施の形態例にかかる部品供給装置における制御系の構成例を示すブロック図である。
【
図8】本発明の実施の形態例にかかる部品供給装置の部品供給動作を説明する図である。
【
図9】本発明の実施の形態例にかかる部品供給装置におけるピックアップ動作の一例を示すフローチャートである。
【
図11】第1の例にかかる干渉判定動作を示すフローチャートである。
【
図12】第1の例にかかる干渉判定動作を示す説明図である。
【
図13】第2の例にかかる干渉判定動作を示すフローチャートである。
【
図14】第2の例にかかる干渉判定動作を示す説明図である。
【
図15】第3の例にかかる干渉判定動作を示すフローチャートである。
【
図17】第1の撮影方法にかかるフローチャートである。
【
図19】第2の撮影方法にかかるフローチャートである。
【
図21】第1の撮影位置の設定方法を示すフローチャートである。
【
図22】第2の撮影位置の設定方法を示すフローチャートである。
【
図23】第3の撮影位置の設定方法を示すフローチャートである。
【
図24】第3の撮影位置の設定方法を示すもので、物理シミュレーション結果を示す説明図である。
【
図25】第1の特徴点の設定方法を示すフローチャートである。
【
図26】3Dモデル上の特徴点を示す説明図である。
【
図27】3Dモデル上の特徴点を示す説明図である。
【
図28】第2の特徴点の設定方法を示すフローチャートである。
【
図29】第3の特徴点の設定方法を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下に、本発明を実施するための形態について、
図1~
図29を参照しながら説明する。なお、各図において共通の部材には、同一の符号を付している。また、本発明は、以下の形態に限定されるものではない。
【0013】
1.実施の形態例
1-1.部品供給装置の構成
まず、実施の形態例にかかる部品供給装置の構成について、
図1~3を参照して説明する。
図1は、部品供給装置の斜視図である。
図2は、部品供給装置の上面図である。
図3は、部品供給装置の側面図である。
【0014】
図1に示すように、部品供給装置1は、フレーム2と、収容部3A,3Bと、供給部4と、ピック台5A,5Bと、プレイス台6A,6Bと、制御基板7とを備えている。収容部3A,3B、供給部4、ピック台5A,5B、プレイス台6A,6B、及び制御基板7は、フレーム2に取り付けられている。部品供給装置1は、収容部3A,3B内に収容された部品を、プレイス台6A,6Bに姿勢を揃えて配置し、次工程の装置に供給する。
【0015】
フレーム2は、略直方体状に形成されており、幅、奥行き、高さを有している。ここで、
図1~
図3において、X軸方向はフレーム2の幅方向を示し、Y軸方向はフレーム2の奥行き方向を示し、Z軸方向はフレーム2の高さ方向を示す。X軸方向及びY軸方向は、水平面に平行な二つの軸方向である水平二軸方向に相当し、Z軸方向は、水平面に直交する方向である鉛直方向に相当する。フレーム2は、X軸方向又はY軸方向に延びる横部材と、Z軸方向に延びる縦部材から構成されている。
【0016】
収容部3A,3Bは、フレーム2におけるY軸方向の一側に配置されている。収容部3A,3Bは、X軸方向に適当な距離を空けて対向している。収容部3A,3Bは、上面が開口した略箱状に形成されている。収容部3A,3Bには、底部をZ軸方向に移動させる昇降機構が設けられている。これにより、各収容部3A,3Bは、収容可能な容量及び収容された部品の高さ位置を変更することができる。
【0017】
例えば、収容部3Aには第1の部品が収容され、収容部3Bには第1の部品とは異なる第2の部品が収容される。この場合の部品供給装置1は、次工程の装置に第1の部品と第2の部品を供給する。また、第1の期間において収容部3A,3Bには第1の部品が収容され、第1の期間とは異なる第2の期間において収容部3A,3Bには第2の部品が収容されるようにしてもよい。この場合の部品供給装置1は、第1の期間において次工程の装置に第1の部品を供給し、第2の期間において次工程の装置に第2の部品を供給する。
【0018】
供給部4は、フレーム2の上部における略中央部に配置されている。供給部4は、収容部3A,3Bに収容された多量の第1の部品又は多量の第2の部品の中から1つ又は複数の部品を把持して、ピック台5A,5Bに落下させて供給する。これにより、第1の部品又は第2の部品は、ピック台5A,5Bに載置される。また、供給部4は、ピック台5A,5Bに載置された第1の部品又は第2の部品を1つずつ把持して、プレイス台6A,6Bに供給する。供給部4の構成については、後で
図4及び
図5を参照して説明する。
【0019】
ピック台5A,5Bは、X軸方向において供給部4の両側に配置されている。また、ピック台5A,5Bは、それぞれY軸方向において収容部3A,3Bと隣り合っている。ピック台5A,5Bは、収容部3A,3Bよりも上方に位置している。
【0020】
Z軸方向において、ピック台5Aの一部は、収容部3Aと重なる。これにより、ピック台5Aの一部から落下した部品は、収容部3Aに収容される(戻される)。Z軸方向において、ピック台5Bの一部は、収容部3Bと重なる。これにより、ピック台5Bの一部から落下した部品は、収容部3Bに収容される(戻される)。ピック台5A,5Bの構成については、
図6を参照して後述する。
【0021】
プレイス台6A,6Bは、Y軸方向へ部品を搬送するベルトコンベアを有している。また、プレイス台6A,6Bは、X軸移動機構に取り付けられている。X軸移動機構は、プレイス台6A,6BをX軸方向に移動させる。プレイス台6A,6Bは、供給部4から供給された部品をY軸方向へ搬送して、所定の位置に位置決めする。位置決めされた部品は、次工程の装置に供給される。
【0022】
図1及び
図3に示すように、制御基板7は、フレーム2の側部に取り付けられている。制御基板7には、収容部3A,3B、供給部4、及びプレイス台6A,6Bの動作を制御する制御部71(
図7参照)が設けられている。
【0023】
1-2.供給部の構成
次に、供給部4の構成について、
図4及び
図5を参照して説明する。
図4は、部品供給装置1における供給部4の側面図である。
図5は、部品供給装置1における供給部4のハンドの斜視図である。
【0024】
図4に示すように、供給部4は、アームブロック41と、アームブロック41に接続されたハンドブロック42とを備える。アームブロック41は、支持台411と、支持台411に取り付けられたアーム412とを有する。支持台411は、フレーム2に固定されている。支持台411は、アーム412を回転可能に支持する。
【0025】
アーム412は、ハンドブロック42をX軸方向、Y軸方向、及びZ軸方向に自在に移動させる。また、アーム412は、ハンドブロック42をX軸周り、Y軸周り、及びZ軸周りに自在に回転させる。アーム412は、ベース部材413と、第1リンク部材414と、第2リンク部材415と、接続部材416とを有している。
【0026】
ベース部材413は、支持台411に回転可能に接続されている。ベース部材413は、Z軸(第1軸)を中心に回転する。第1リンク部材414の一端部は、ベース部材413に回動可能に接続されている。第1リンク部材414は、水平方向に延びる軸(第2軸)を中心に回動する。
【0027】
第2リンク部材415は、回動部415aと、回動部415aに接続された旋回部415bとを有している。回動部415aは、第1リンク部材414の他端部に回動可能に接続されている。回動部415aは、水平方向に延びる軸(第3軸)を中心に回動する。旋回部415bは、回動部415aに回転可能に接続されている。旋回部415bは、回動部415aとの接続方向に延びる軸(第4軸)を中心に回転する。
【0028】
接続部材416は、回動部416aと、回動部416aに接続される旋回部416bとを有している。回動部416aは、第2リンク部材415の旋回部415bに回動可能に接続されている。回動部416aは、水平方向に延びる軸(第5軸)を中心に回動する。旋回部416bは、回動部416aに回転可能に接続されている。旋回部416bは、回動部416aとの接続方向に延びる軸(第6軸)を中心に回転する。なお、第2軸、第3軸及び第4軸が延びる方向は、平行である。
【0029】
図5に示すように、ハンドブロック42は、ハウジング421と、ハウジング421に取り付けられたハンド422及びカメラ423とを有する。ハウジング421は、アーム412における接続部材416の旋回部416bに接続されている。ハウジング421は、略直方体状の筐体である。ハウジング421の下面には、ハンド422を貫通させるハンド用孔421aと、カメラ423の対物レンズを露出させるレンズ用孔421bが形成されている。
【0030】
ハンド422は、複数(本実施形態では2つ)把持片422aから構成されている。ハウジング421の内部には、複数の把持片422aを開閉させる開閉機構と、複数の把持片を昇降させる昇降機構が配置されている。複数の把持片422aは、昇降機構により昇降されることにより、ハンド用孔421aから突出する長さが変化する。複数の把持片422aがハンド用孔421aから突出する長さを長くすると、部品を抱えるためのスペースが広くなり、部品の把持数が多くなる。一方、複数の把持片422aがハンド用孔421aから突出する長さを短くすると、部品を抱えるためのスペースが狭くなり、部品の把持数が少なくなる。
【0031】
複数の把持片422aは、その先端部において1つの部品を把持することも可能である。ハンド422は、収容部3A又は収容部3Bに収容された大量の部品から、1つ又は複数の部品を把持してピック台5A又はピック台5Bに供給する。一方、ハンド422は、ピック台5A又はピック台5B上に載っている1つ又は複数の部品から、1つの部品を把持してプレイス台6A又はプレイス台6Bに供給する。
【0032】
また、把持片422aの幅方向の長さ(ハンド指先幅)は、W_hに設定されている。また、2つの把持片422aが開いた状態での間隔(指開き幅)は、W_fに設定されている。そして、把持片422aのハンド指先幅W_hと、指開き幅W_fに関する情報は、後述する記憶部72に格納される。
【0033】
カメラ423は、本発明に係る検出部の一具体例を示す。カメラ423は、撮像素子、対物レンズを含む複数のレンズ、偏光フィルタ、照明等を有している。カメラ423は、ハウジング421に収納されている。カメラ423の対物レンズは、ハウジング421のレンズ用孔421bから露出されている。
【0034】
カメラ423により撮影された画像(映像)は、後述する制御部71に送信される。制御部71は、カメラ423が撮影した画像から、収容部3A,3Bやピック台5A,5Bの位置等の情報を検出する。
【0035】
1-3.ピック台の構成
次に、ピック台5A,5Bの構成について、
図6を参照して説明する。
図6は、部品供給装置1におけるピック台5Aの斜視図である。
【0036】
ピック台5A,5Bは、同じ構成を有する。そのため、ここでは、ピック台5Aを例に挙げてその構成を説明する。
図6に示すように、ピック台5Aは、積載面を形成するトレイ51と、トレイ51に連続する3つの壁板52~54を有している。
【0037】
トレイ51は、略四角形の板体からなる。トレイ51の平面は、Z軸方向に略直交する。トレイ51は、X軸方向に略平行な2辺と、Y軸方向に略平行な2辺とを有する。壁板52は、トレイ51におけるX軸方向に略平行な2辺のうちの収容部3A(
図2参照)から遠い側の辺から略垂直に突出している。また、壁板53、54は、トレイ51におけるY軸方向に略平行な2辺からそれぞれ略垂直に突出している。
【0038】
壁板52~54は、供給された部品がトレイ51から落下することを防ぐ。トレイ51の壁板が設けられていない辺は、Z軸方向において収容部3Aの開口に重なる。これにより、トレイ51の壁板が設けられていない辺から落下した部品は、収容部3Aに戻る。また、ピック台5Aの下部には、ピック台5Aを傾斜させる傾斜機構が設けられている。傾斜機構は、壁板52側が高くなるようにピック台5Aを傾斜させる。これにより、ピック台5Aに載っている部品は、トレイ51の壁板が設けられていない辺から落下して収容部3Aに回収される。
【0039】
1-4.制御系の構成
次に、部品供給装置1の制御系の構成について、
図7を参照して説明する。
図7は、部品供給装置1における制御系の構成例を示すブロック図である。
【0040】
制御基板7(
図1参照)には、制御部71と、記憶部72が設けられている。制御部71は、CPU(Central Processing Unit)と、ROM(Read Only Memory)と、RAM(Random Access Memory)とを備えている。制御部71の各種機能は、CPUがROMに格納された所定の処理プログラムを実行することにより実現される。制御部71の各種機能は、例えば、アーム制御部712によるアーム412の動作制御や、ハンド制御部713によるハンド422の動作制御がある。
【0041】
図7に示すように、制御部71は、全体制御部711と、アーム制御部712と、ハンド制御部713と、認識制御部714とを有する。制御部71は、本発明に係る供給調整部の一具体例を示す。
【0042】
全体制御部711は、アーム制御部712、ハンド制御部713、及び認識制御部714に接続されている。全体制御部711は、収容部3A,3B、ハンド422等の各部の位置、ピック台5A,5Bの大きさや、ハンド422が把持している部品の個数等の検出結果を認識制御部714から受信する。
【0043】
全体制御部711は、認識制御部714から受信した検出結果と、記憶部72に記憶されている供給パラメータ723及び特性情報724に基づいて、アーム制御部712とハンド制御部713の全体的な制御を行う。
【0044】
アーム制御部712は、アーム412の駆動部に接続されている。アーム制御部712は、全体制御部711から制御指令を受信する。アーム制御部712は、全体制御部711から受信した制御指令に基づいて、アーム412を駆動するためのアーム駆動信号を生成し、アーム412の駆動部に送信する。これにより、アーム412は、全体制御部711の制御指令に応じた動作を実行する。
【0045】
ハンド制御部713は、ハンド422の駆動部に接続されている。ハンド制御部713は、全体制御部711から制御指令を受信する。ハンド制御部713は、全体制御部711から受信した制御指令に基づいて、ハンド422を駆動するためのハンド駆動信号を生成し、ハンド422の駆動部に送信する。これにより、ハンド422は、全体制御部711の制御指令に応じた動作を実行する。
【0046】
認識制御部714は、カメラ423に接続されている。認識制御部714は、記憶部72に記憶された撮影パラメータ721に基づいてカメラ423による撮影を制御する。また、認識制御部714は、カメラ423から受信した画像データに、記憶部72に記憶された画像処理パラメータ(各種補正値)に基づく画像処理を施す。
【0047】
認識制御部714は、画像処理を施した画像データから、収容部3A,3B、ピック台5A,5B、プレイス台6A,6Bの位置を検出する。認識制御部714は、画像処理を施した画像データから、ハンド422の姿勢や、ハンド422が把持した部品の個数を検出する。また、認識制御部714は、画像処理を施した画像データから、ピック台5A,5Bの大きさ(面積)、ピック台5A,5Bの形状(壁板の有無)、ピック台5A,5Bに載っている部品の外形(輪郭)等を検出する。そして、認識制御部714は、検出結果を全体制御部711に送信する。
【0048】
記憶部72には、撮影パラメータ721と、画像処理パラメータ722と、供給パラメータ723と、特性情報724が記憶されている。撮影パラメータ721は、カメラ423により各部(ピック台5A,5B等)を撮影する際に用いる。撮影パラメータとしては、例えば、撮影対象に応じた露光時間や照明の光量、画像サイズ等を挙げることができる。画像処理パラメータ722は、カメラ423から受信した画像データに画像処理を施す際に用いられる各種の補正値である。
【0049】
供給パラメータ723は、ピック台5A又はピック台5Bに部品を供給する際の供給部4の動作を決定するために用いられる。供給パラメータ723は、予め記憶部72に記憶されている。
【0050】
特性情報724は、部品の形状、部品の重量、部品の重心位置、部品の材質、部品の表面性、部品の表面摩擦係数、部品の色のうちの少なくとも1つの情報である。特性情報724は、予め部品の種類毎に記憶部72に記憶されている。なお、特性情報724は、制御部71が部品の3Dモデルデータから抽出するようにしてもよい。この場合、予め部品の3Dモデルデータが記憶部72に記憶されている。
【0051】
2.部品供給装置の動作例
2-1.部品供給動作
次に、部品供給装置1の動作例について説明する。まず、
図8を参照して部品供給動作について説明する。
図8は、部品供給装置1の部品供給動作を説明する図である。
【0052】
図8に示すように、部品供給装置1により部品を次工程の装置に供給するには、まず、収容部3A,3B(以下、「収容部3」とする)に部品を収容する。収容部3への部品の収容は、前工程における装置が行ってもよく、また、人が行ってもよい。
【0053】
次に、供給部4が、収容部3内の大量の部品から1つ又は複数の部品を把持して、ピック台5A又はピック台5B(以下、「ピック台5」とする)に供給する。このとき、供給部4は、把持した部品がピック台5上でばらけるような供給動作を行う。以下、部品がピック台5上でばらけるような供給動作を「部品のばらし動作」とする。
【0054】
次に、カメラ423がピック台5上を撮影し、制御部71の認識制御部714がピック台5上を俯瞰認識する。このとき、認識制御部714は、ピック台5上に把持可能な部品があるか否かを判定する。ピック台5上に把持可能な部品がないと判定した場合は、供給部4が、収容部3内の大量の部品から1つ又は複数の部品を把持する。
【0055】
ピック台5上に把持可能な部品があると判定した場合に、認識制御部714は、ピック台5上にある部品のうちの1つを把持するための把持位置を認識(決定)する。そして、供給部4が、1つの部品を把持して、プレイス台6A,6B(以下、「プレイス台6」とする)に供給する。プレイス台6は、供給された部品を所定の位置に位置決めする。所定の位置に位置決めされた部品は、次工程の装置に供給される。
【0056】
供給部4が1つの部品をプレイス台6に供給すると、認識制御部714は、ピック台5上にある部品のうちの1つを把持するための把持位置を認識(決定)する。このとき、ピック台5上に部品が無ければ、プレイス台6への部品の供給動作を終了する。そして、供給部4が、収容部3内の大量の部品から1つ又は複数の部品を把持する。
【0057】
2-2.供給部のピックアップ動作例
次に、
図9を参照して供給部4におけるピックアップ動作例について説明する。
図9は、ピックアップ動作の一例を示すフローチャートである。
図10は部品領域抽出処理を示す説明図である。
【0058】
図9に示すように、まず、供給部4は、収容部3から部品を把持(供給)する(ステップS1)。そして、供給部4は、把持した部品をピック台5のトレイ51に積載する(ステップS2)。そして、制御部71は、供給部4のカメラ423によってトレイ51上を撮影し、全体画像I
0を取得する
(ステップS3)。次に、制御部71は、取得した全体画像I
0から部品領域A(I
0):a1・・・anを抽出する(ステップS4)。すなわち、
図10に示すように、制御部71は、撮像した全体画像I
0から部品画像I_fをラベリングし、部品領域a(i)・(i=1・・・n)を抽出する。
【0059】
次に、抽出した部品領域aiにおいて部品同士が干渉しているか(重なり合っているか)否かの判定処理を行う(ステップS5)。ステップS5において、部品同士の干渉が無いと判断した場合、後述するステップS8の処理に移行する。なお、部品同士の干渉が無いと判断した場合は、抽出した部品領域aiに基づいて部品の位置及び姿勢を推定する。
【0060】
また、ステップS5において、部品同士の干渉が有りと判断した場合、制御部71は、部品領域aiを3次元計測する(ステップS6)。なお、3次元計測の詳細については後述する。そして、制御部71は、3次元計測と、予め対象部品の3Dモデルから設定した特徴点に基づいて部品の位置及び姿勢を推定する(ステップS7)。ステップS7の処理では、予め登録した3Dモデルの特徴点と、3次元計測で取得した特徴点との相対的位置関係と一致する組み合わせを探して部品の位置及び姿勢を推定する。
【0061】
次に、制御部71は、推定した部品の位置及び姿勢からハンド422の把持片422aで部品を把持する位置(把持点)が算出可能か否かを判断する(ステップS8)。ステップ8において、把持点を算出可能であると判断した場合、制御部71は、供給部4を制御し、当該部品をピックする(ステップS9)。
【0062】
このように、部品領域aiを3次元計測し、部品の位置及び姿勢を推定することで、部品同士が重なり/接触した状態も容易に推定することができる。その結果、ピック台5上で重なり/接触した状態の部品を再配置することなく、ハンド422の把持片422aで部品を把持することが可能となる。その結果、ピックアップ作業の効率を高めることができる。
【0063】
また、予め登録した3Dモデルの特徴点と、3次元計測で取得した特徴点とを比較することで部品の位置や姿勢を推定している。このように、予め登録した3Dモデルの特徴点と比較できる特徴点が抽出できればよいため、部品を撮影する視点の数を削減することができる。その結果、部品を3次元計測するために行われる撮影時間の短縮を図ることができ、ピックアップ作業の効率を高めることができる。
【0064】
次に、制御部71は、ピック台5上に部品が残っているか否かを判定する(ステップS10)。ステップS10の処理において、ピック台5上に部品がまだあると判定した場合(ステップS10のYes判定)、制御部71は、ステップS5の処理に戻る。また、ステップS10の処理において、ピック台5上に部品がないと判定した場合(ステップS10のNo判定)、制御部71は、ステップS2の処理に戻り、収容部3から部品を取り出し、ピック台5に部品を積載させる。
【0065】
ステップ8において、把持点を算出不可能であると判断した場合、制御部71は、当該部品のピックアップ作業を保留する(ステップS11)。また、ステップS11の処理が終了すると、制御部71は、ピック台5上の全部品が保留であるか否かを判定する(ステップS12)。ステップS12の処理において、全部品が保留ではないと判定した場合(ステップS12のNo判定)、制御部71は、ステップS5の処理に戻る。
【0066】
これに対して、ステップS12の処理において、全部品が保留であると判定した場合(ステップS12のYes判定)、制御部71は、傾斜機構を駆動させて、ピック台5を傾斜し、ピック台5上の部品を破棄する(ステップS13)。すなわち、ステップS13の処理では、ピック台5に載っている部品は、収容部3に回収される。そして、ステップS2の処理に戻り、収容部3からピック台5に部品が再供給される。
【0067】
上述した処理を繰り返すことで、供給部4を用いた部品の供給動作が行われる。
【0068】
2-3.部品干渉判定動作
次に、部品の干渉(重なり合い)の判定動作について
図11から
図15を参照して説明する。
[第1の例]
図11は、第1の例にかかる干渉判定動作を示すフローチャートであり、
図12は、第1の例にかかる干渉判定動作を示す説明図である。
【0069】
図11に示すように、まず干渉判定動作を行う対象となる部品を指定する(ステップS21)。次に、制御部71は、撮像した全体画像I
0から部品画像I_fをラベリングし、
図12に示すように、面積による干渉判定を行う部品領域aiを取得する(ステップS22)。そして、制御部71は、取得した部品領域aiの面積を算出する(ステップS23)。
【0070】
次に、制御部71は、算出した面積が「接触/重なりがない状態」の面積であるか否かを判断する(ステップS24)。なお、「接触/重なりがない状態」の面積に関する情報は、記憶部72に特性情報724として記憶されている。ステップS24の処理において、「接触/重なりがない状態」の面積であると判断した場合(ステップS24のYes判定)、制御部71は、部品領域aiが接触/重なりがない状態であると判断する(ステップS26)。
【0071】
これに対して、ステップS24の処理において、「接触/重なりがない状態」の面積でないと判断した場合(ステップS24のNo判定)、制御部71は、部品領域aiが接触/重なり有りの状態であると判断する(ステップS25)。これにより、第1の例にかかる干渉判定動作が完了する。
【0072】
[第2の例]
次に、
図13及び
図14を参照して第2の例にかかる干渉判定動作について説明する。
図13は、第2の例にかかる干渉判定動作を示すフローチャートであり、
図14は、第2の例にかかる干渉判定動作を示す説明図である。
【0073】
図13に示すように、まず干渉判定動作を行う対象となる部品を指定する(ステップS31)。次に、制御部71は、撮像した全体画像I
0から部品画像I_fをラベリングし、
図14に示すように輪郭による干渉判定を行う部品領域aiを取得する(ステップS32)。そして、制御部71は、取得した部品領域aiの輪郭D1を検出する(ステップS33)。
【0074】
次に、制御部71は、検出した輪郭D1が「接触/重なりがない状態」の輪郭であるか否かを判断する(ステップS34)。なお、「接触/重なりがない状態」の輪郭に関する情報は、記憶部72に特性情報724として記憶されている。また、ステップS34の判定処理は、例えば、輪郭形状や輪郭線の長さで判定される。
【0075】
ステップS34の処理において、「接触/重なりがない状態」の輪郭であると判断した場合(ステップS34のYes判定)、制御部71は、部品領域aiが接触/重なりがない状態であると判断する(ステップS36)。
【0076】
これに対して、ステップS34の処理において、「接触/重なりがない状態」の輪郭でないと判断した場合(ステップS34のNo判定)、制御部71は、部品領域aiが接触/重なり有りの状態であると判断する(ステップ35)。これにより、第2の例にかかる干渉判定動作が完了する。
【0077】
[第3の例]
次に、
図15を参照して第3の例にかかる干渉判定動作について説明する。
図15は、第3の例にかかる干渉判定動作を示すフローチャートである。
【0078】
図15に示すように、まず干渉判定動作を行う対象となる部品を指定する(ステップS41)。次に、制御部71は、撮像した全体画像I
0から部品領域数nを取得する(ステップS42)。次に、制御部71は、ピック台5に設けた重量センサを用いてピック台5上の部品重量を測定する(ステップS43)。
【0079】
次に、制御部71は、「部分重量÷部品領域数」の値が基準範囲内であるか否かを判断する(ステップS44)。なお、ステップS44で用いられる基準範囲は、記憶部72に特性情報724として記憶されている。
【0080】
ステップS44の処理において、基準範囲内であると判断した場合(ステップS44のYes判定)、制御部71は、ピック台5上の部品は接触/重なりがない状態であると判断する(ステップS46)。これに対して、ステップS44の処理において、基準範囲を超えていると判断した場合(ステップS44のNo判定)、制御部71は、ピック台5上の部品は接触/重なりがある状態であると判断する(ステップS45)。これにより、第3の例にかかる干渉判定動作が完了する。
【0081】
2-4.3次元計測方法
次に、
図9に示すステップS6で行われる3次元計測方法について
図16から
図29を参照して説明する。
【0082】
[撮影方法]
まず、
図16から
図20を参照して撮影方法について説明する。
<第1の撮影方法>
図16及び
図17は、第1の撮影方法を示すもので、
図16は第1の撮影方法を示す説明図、
図17は第1の撮影方法にかかるフローチャートである。
【0083】
まず、
図17に示すように、3次元計測を行う対象となる部品を指定する(ステップS51)。次に、制御部71は、撮影位置P1・・・Pmを算出する(ステップS52)。そして、制御部71のアーム制御部712は、供給部4のアーム412を制御し、
図16に示すようにステップS52で算出した撮影位置Pjにカメラ423を移動させる(S53)。次に、制御部71は、カメラ423を用いて撮影し、画像Ijを取得する(ステップS54)。
【0084】
そして、制御部71は、ステップS53からステップS54の処理を、ステップS52で算出した撮影位置数分繰り返し行う。これにより、複数の異なる視点から部品を撮影することができ、第1の撮影方法による撮影動作が完了する。
【0085】
<第2の撮影方法>
次に、
図18及び
図19を参照して第2の撮影方法について説明する。
図18及び
図19は、第2の撮影方法を示すもので、
図18は第2の撮影方法を示す説明図、
図19は第2の撮影方法にかかるフローチャートである。
【0086】
図18に示すように、第2の撮影方法では、ピック台5の周囲に複数の固定カメラC1、C2、C3、C4、C5が配置されている。そして、第2の撮影方法では、供給部4のハウジング421に設けたカメラ423ではなく、複数の固定カメラC1、C2、C3、C4、C5を用いて撮影が行われる。また、複数の固定カメラC1、C2、C3、C4、C5は、それぞれ異なる撮影位置に配置されている。そして、複数の固定カメラC1、C2、C3、C4、C5の位置は、記憶部72に撮影パラメータ721として記憶されている。
【0087】
この第2の撮影方法では、
図19に示すように、まず3次元計測を行う対象となる部品を指定する(ステップS61)。次に、制御部71は、撮影位置P1・・・Pmを固定カメラC1・・・Ciの位置から選択する(ステップS62)。次に、制御部71は、撮影位置として指定されたカメラCjでの撮影画像Ijを取得する(ステップS63)。そして、制御部71は、ステップS63の処理を、所定の撮影位置数分繰り返し行う。これにより、複数の異なる視点から部品を撮影することができ、第2の撮影方法による撮影動作が完了する。
【0088】
<第3の撮影方法>
次に、
図20を参照して第3の撮影方法について説明する。
図20は第3の撮影方法を示す説明図である。
【0089】
図20に示すように、第3の撮影方法では、ピック台5のトレイ51の鉛直方向の上方に固定カメラ423Fが配置されている。なお、固定カメラ423Fではなく、供給部4のハウジング421に設けたカメラ423を用いてもよい。また、ピック台5の壁板52、53、53の上端部には、それぞれ鏡57が設置されている。鏡57は、トレイ51に積載された部品Mの反射した像がカメラに映り込むように配置されている。そのため、固定カメラ423Fには、部品Mを鉛直方向の一つの視点だけでなく、鏡57の反射により複数の角度からの像が映り込む。これにより、一つの固定カメラ423Fで複数の異なる視点から部品を撮影することができる。
【0090】
なお、撮影方法としては、上述した第1の撮影方法、第2の撮影方法及び第3の撮影方法を併用してもよい。
【0091】
[撮影位置の設定方法]
次に、
図21から
図24を参照して撮影位置の設定方法について説明する。
<第1の撮影位置の設定方法>
図21は、第1の撮影位置の設定方法を示すフローチャートである。
【0092】
図21に示すように、3次元計測を行う対象となる部品を指定する(ステップS71)。次に、制御部71は、供給部4のカメラ423によってトレイ51上を撮影し、全体画像I
0を取得する(ステップS72)。次に、制御部71は、各部品領域a1・・・anが撮影可能かつ、なるべく遠い撮影位置の組み合わせを算出する(ステップS73)。
【0093】
次に、制御部71は、タクトタイム許容範囲内の視点の組み合わせがあるか否かを判断する(ステップS74)。ここで、タクトタイムの許容範囲は、部品供給装置1による部品供給動作における供給部4のピックアップ動作にかかる時間であり、予め登録されている。そして、ステップS74の処理では、タクトタイムの許容範囲と、2点以上の視点で撮影を行う際にかかる時間とを比較して行われる。
【0094】
ステップS74の処理において「組合せ無し」と判断した場合、制御部71は、処理を終了する。これに対して、ステップS74の処理において「組合せ有り」と判断した場合、制御部71は、指定された点数の撮影位置を選択する(ステップS75)。なお、ステップS75の処理では、複数の視点の組合せの中から最も遠い視点の組合せを撮影位置として選択する。これにより、できるだけ遠い2視点以上を設定することができ、撮影された画像から部品の特徴点をより多く抽出することができる。その結果、第1の撮影位置の設定方法が完了する。
【0095】
<第2の撮影位置の設定方法>
図22は、第2の撮影位置の設定方法を示すフローチャートである。
【0096】
図22に示すように、3次元計測を行う対象となる部品を指定する(ステップS81)。次に、制御部71は、供給部4のカメラ423によってトレイ51上を撮影し、全体画像I
0を取得する(ステップS82)。そして、制御部71は、想定される部品の姿勢から事前に設定した撮影位置を複数選出する(ステップS83)。ステップS83の処理で事前に設定されている撮影位置は、対象となる部品の形状から、より多くの特徴点が取得できる可能性の高い視点を任意の点数が設定される。そして、この情報は、記憶部72の撮影パラメータ721として部品ごとに記憶される。
【0097】
次に、制御部71は、ステップS83で選出した複数の撮影位置の中からタクトタイム許容範囲内の視点の組み合わせがあるか否かを判断する(ステップS84)。ステップS84の処理において「組合せ無し」と判断した場合、制御部71は、処理を終了する。これに対して、ステップS84の処理において「組合せ有り」と判断した場合、制御部71は、指定された点数の撮影位置を選択する(ステップS85)。これにより、部品の形状から想定される部品姿勢を考慮し、より多数の特徴点を観測することができる。その結果、第2の撮影位置の設定方法が完了する。
【0098】
<第3の撮影位置の設定方法>
図23は、第3の撮影位置の設定方法を示すフローチャート、
図24は、第3の撮影位置の設定方法を示すもので、物理シミュテーション結果を示す説明図である。
【0099】
図23に示すように、3次元計測を行う対象となる部品を指定する(ステップ91)。次に、制御部71は、ステップS91で指定した部品の物理シミュレーション結果を取得する(ステップS92)。すなわち、
図24に示すように、事前に指定した部品Mをピック台5上にばら積みした物理シミュレーションを行い、より多くの特徴点が取得できる可能性の高い視点を任意の点数設定する。この物理シミュレーション結果と設定した視点の点数は、記憶部72の撮影パラメータ721として部品ごとに記憶される。
【0100】
次に、制御部71は、ステップS92で取得した複数の撮影位置の中からタクトタイム許容範囲内の視点の組み合わせがあるか否かを判断する(ステップS93)。ステップS93の処理において「組合せ無し」と判断した場合、制御部71は、処理を終了する。これに対して、ステップS93の処理において「組合せ有り」と判断した場合、制御部71は、指定された点数の撮影位置を選択する(ステップS84)。これにより、物理シミュレーションにより、より多数の特徴点を観測することができる。その結果、第3の撮影位置の設定方法が完了する。
【0101】
制御部71は、上述した方法により設定した撮影位置に基づいて異なる複数の視点から撮影した画像情報に基づいて、部品の3次元計測を行う。そして、制御部71は、3次元計測から、部品の位置や姿勢を特定する特徴点を抽出する。なお、撮影位置は、部品が3次元的に計測可能な位置に設定され、少なくとも4つの特徴点が観測可能な撮影位置が設定される。
【0102】
[特徴点の設定方法]
次に、
図25から
図29を参照して3次元計測を行う際に用いられる特徴点の設定方法について説明する。
<第1の設定方法>
まず、
図25から
図27を参照して第1の特徴点の設定方法について説明する。
図25は、第1の特徴点の設定方法を示すフローチャート、
図26及び
図27は3Dモデル上の特徴点を示す説明図である。
図26及び
図27における白丸は、3DモデルNの特徴点Q1を示している。
【0103】
図25に示すように、3次元計測を行う部品の3DモデルNを指定する(ステップS101)。次に、角Rを指定し(ステップS102)、3DモデルN上の角部を指定する(ステップS103)。そして、ステップS103で指定した角Rが閾値未満か否かを判断する(ステップS104)。ステップS104の処理において、角Rが閾値未満であると判断した場合(ステップS104のYes判定)、その点を特徴点Q1として設定する(ステップS105)。そして、3DモデルN状のすべての角部に対してステップS103からステップS105の処理を繰り返し行う。これにより、3次元計測を行う部品の特徴点Q1を事前に登録することができる。
【0104】
そして、この処理で設定した特徴点Q1は、部品ごとに記憶部72に特性情報724に登録される。また、記憶部72には、特徴点Q1同士の相対的な位置関係(距離、方向)が記憶される。なお、3Dモデルの角は、少ない視点でも計測できる点である。その結果、少ない視点でも計測できる点を特徴点Q1として登録することで、3次元計測にかかる撮影位置の視点を少なくすることができる。
【0105】
<第2の設定方法>
次に、
図28を参照して第2の特徴点の設定方法について説明する。
図28は、第2の特徴点の設定方法を示すフローチャートである。
【0106】
図28に示すように、3次元計測を行う部品の3DモデルNを指定する(ステップS111)。次に、3DモデルNに対して凸包アルゴリズムによる凸点を検出する(ステップS112)。そして、ステップS112で検出した各凸点を特徴点Q1として設定する(ステップS113)。これにより、3次元計測を行う部品の特徴点Q1を事前に登録することができる。この第2の設定方法においても、
図26及び
図27に示す白丸のように3DモデルNから特徴点Q1を設定することができる。
【0107】
<第3の設定方法>
次に、
図29を参照して第3の特徴点の設定方法について説明する。
図29は、第3の特徴点の設定方法を示すフローチャートである。
【0108】
図29に示すように、3次元計測を行う部品の3DモデルNを指定する(ステップS121)。次に、
図24に示すようなバラ積み物理シミュレーションを実施する(ステップS122)。そして、複数視点からのシミュレーションを実施する(ステップS123)。次に、複数視点から観測できた3Dモデル上の点を特徴点候補とする(ステップS124)。また、ステップS122からステップS124の処理は、任意の回数繰り返し行う。
【0109】
そして、複数回のシミュレーションで観測できた割合が多かった特徴点候補を上位から任意の点数選んで特徴点とする(ステップS125)。これにより、3次元計測を行う部品の特徴点の設定方法が完了する。
【0110】
なお、上述した例では、3DモデルNから自動的に特徴点を設定する例を説明したが、これに限定されるものではない。例えば、ユーザの手動により3Dモデルから特徴点を設定してもよい。その結果、部品の形状から想定される部品姿勢を考慮し、より多数の視点から観測できる点を特徴点として設定することができる。
【0111】
以上、実施の形態例について、その作用効果も含めて説明した。しかしながら、上述の実施の形態例に限定されるものではなく、特許請求の範囲に記載した発明の要旨を逸脱しない範囲内で種々の変形実施が可能である。
【0112】
また、上記の各構成要素、機能、処理部等は、それらの一部又は全部を、例えば集積回路の設計などによりハードウエアで実現してもよい。また、上記の各構成要素、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウエアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、又はICカード、SDカード、DVD等の記録媒体に置くことができる。
【0113】
なお、本明細書において、「平行」及び「直交」等の単語を使用したが、これらは厳密な「平行」及び「直交」のみを意味するものではなく、「平行」及び「直交」を含み、さらにその機能を発揮し得る範囲にある、「略平行」や「略直交」の状態であってもよい。
【符号の説明】
【0114】
1…部品供給装置、 2…フレーム、 3,3A,3B…収容部、 4…供給部、 5,5A,5B…ピック台、 6,6A,6B…プレイス台、 7…制御基板、 41…アームブロック、 42…ハンドブロック、 51…トレイ、 52,53…壁板、 71…制御部、 72…記憶部、 423…カメラ(検出部)、 411…支持台、 412…アーム、 413…ベース部材、 414…第1リンク部材、 415…第2リンク部材、 416…接続部材、 421…ハウジング、 422…ハンド、 422a…把持片、 711…全体制御部、 712…アーム制御部、 713…ハンド制御部、 714…認識制御部、 721…撮影パラメータ、 722…画像処理パラメータ、 723…供給パラメータ、 724…特性情報