JP6964827B1 - Control devices, robot systems and control methods - Google Patents
Control devices, robot systems and control methods Download PDFInfo
- Publication number
- JP6964827B1 JP6964827B1 JP2021527101A JP2021527101A JP6964827B1 JP 6964827 B1 JP6964827 B1 JP 6964827B1 JP 2021527101 A JP2021527101 A JP 2021527101A JP 2021527101 A JP2021527101 A JP 2021527101A JP 6964827 B1 JP6964827 B1 JP 6964827B1
- Authority
- JP
- Japan
- Prior art keywords
- image
- unit
- captured
- fpc
- end portion
- 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
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
制御装置(2)は、FPC(6)におけるロボットハンド(4)に把持させる端部(7)が少なくとも撮像された撮像画像を取得する画像取得部(21)と、撮像画像を入力として、マスク画像(5C)を出力する学習済みモデルを用いて、マスク画像(5C)を生成するマスク画像生成部(22)と、マスク画像(5C)から端部(7)の特徴点を抽出する特徴点抽出部(23)と、マスク画像(5C)ごとの端部(7)の特徴点を用いて、ロボットハンド(4)を端部(7)に近づけるためのロボットアーム(3)の制御量を算出する制御量算出部(24)と、制御量算出部(24)によって算出された制御量に基づいてロボットアーム(3)を制御する制御部(25)を備える。The control device (2) has an image acquisition unit (21) for acquiring at least an image captured by the end portion (7) held by the robot hand (4) in the FPC (6), and a mask using the captured image as input. Using the trained model that outputs the image (5C), the mask image generation unit (22) that generates the mask image (5C) and the feature points that extract the feature points of the end portion (7) from the mask image (5C). Using the feature points of the extraction unit (23) and the end portion (7) of each mask image (5C), the control amount of the robot arm (3) for bringing the robot hand (4) closer to the end portion (7) can be controlled. It includes a control amount calculation unit (24) to be calculated, and a control unit (25) that controls the robot arm (3) based on the control amount calculated by the control amount calculation unit (24).
Description
本開示は、制御装置、ロボットシステムおよび制御方法に関する。 The present disclosure relates to control devices, robot systems and control methods.
フレキシブルフラットケーブル(FFC)またはフレキシブルプリント基板(FPC)といった可撓性のある長尺部材は、曲がりまたは捻れの変形により長手方向の端部の位置および姿勢が大きく変化する。このため、ロボットを用いて、長尺部材の端部に設けられたコネクタを基板側のコネクタに接続する作業を自動化する場合、コネクタが設けられた長尺部材の端部を、ロボットハンドで正確に把持する必要がある。 Flexible long members, such as flexible flat cables (FFCs) or flexible printed substrates (FPCs), undergo significant changes in longitudinal end position and orientation due to bending or twisting deformation. Therefore, when using a robot to automate the work of connecting the connector provided at the end of the long member to the connector on the board side, the end of the long member provided with the connector can be accurately pressed with the robot hand. Need to be gripped.
ロボットハンドに長尺部材の目標位置を正確に把持させる従来の技術として、例えば、特許文献1に記載されたロボットシステムがある。当該ロボットシステムは、視覚センサにロボットハンドと把持目標位置を撮像させ、撮像結果を用いて算出したロボットハンドの位置と把持目標位置の誤差に基づき、ロボットハンドが把持目標位置に近接するようにロボットアームを動作させる。
As a conventional technique for causing a robot hand to accurately grasp a target position of a long member, for example, there is a robot system described in
しかしながら、長尺部材が光沢を有する場合、視覚センサによって撮像された撮像画像に、長尺部材の表面における光の反射による白飛びが発生することがある。特許文献1に記載されたロボットシステムでは、撮像画像に発生した白飛びによってロボットハンドの位置と把持目標位置との誤差を正確に算出することができなかった場合、ロボットハンドを把持目標位置に位置合わせするロボットアームの制御ができないという課題があった。
However, when the long member has gloss, whiteout may occur in the captured image captured by the visual sensor due to the reflection of light on the surface of the long member. In the robot system described in
本開示は上記課題を解決するものであり、作業対象部材におけるロボットハンドに把持させる把持対象部分が撮像された撮像画像に白飛びが発生しても、ロボットアームを制御することができる制御装置、ロボットシステムおよび制御方法を得ることを目的とする。 The present disclosure solves the above-mentioned problems, and is a control device capable of controlling the robot arm even if overexposure occurs in the captured image captured by the gripping target portion to be gripped by the robot hand in the work target member. The purpose is to obtain robot systems and control methods.
本開示に係る制御装置は、ロボットハンドが装着されたロボットアームを制御する制御装置であって、長尺部材におけるロボットハンドに把持させる把持対象部分が少なくとも撮像された撮像画像を取得する画像取得部と、長尺部材の全体が撮像された撮像画像を取得する全体画像取得部と、全体画像取得部によって取得された撮像画像に細線化を施すことにより、長尺部材が細線化された細線化画像を生成する細線化部と、細線化画像から長尺部材の端部を検出する端部検出部と、長尺部材の端部の検出情報に基づいてロボットアームを移動させ、画像取得部によって取得された撮像画像に基づいてロボットアームを制御する制御部と、を備えた。 The control device according to the present disclosure is a control device that controls a robot arm to which a robot hand is attached, and is an image acquisition unit that acquires an image captured at least by a gripping target portion to be gripped by the robot hand in a long member. By thinning the whole image acquisition unit that acquires the captured image of the entire long member and the image captured by the overall image acquisition unit , the long member is thinned. The thinning unit that generates an image, the end detection unit that detects the end of the long member from the thinned image, and the robot arm that is moved based on the detection information of the end of the long member, and the image acquisition unit It is provided with a control unit that controls the robot arm based on the acquired captured image .
本開示によれば、作業対象部材におけるロボットハンドに把持させる把持対象部分が撮像された撮像画像を入力として、把持対象部分の特徴点を抽出するためのマスク画像を出力する学習済みモデルを用いて、マスク画像を生成し、マスク画像ごとの把持対象部分の特徴点を用いてロボットアームの制御量を算出し、算出した制御量に基づいてロボットアームを制御する。これにより、本開示に係る制御装置は、作業対象部材におけるロボットハンドに把持させる把持対象部分が撮像された撮像画像に白飛びが発生しても、ロボットハンドを作業対象部材の把持対象部分に位置合わせすることができる。 According to the present disclosure, a trained model is used in which a captured image obtained by capturing an image of a gripping target portion to be gripped by a robot hand in a work target member is input and a mask image for extracting feature points of the gripping target portion is output. , A mask image is generated, a control amount of the robot arm is calculated using the feature points of the gripping target portion for each mask image, and the robot arm is controlled based on the calculated control amount. As a result, the control device according to the present disclosure positions the robot hand at the grip target portion of the work target member even if the captured image of the grip target portion to be gripped by the robot hand in the work target member is overexposed. Can be matched.
実施の形態1.
図1は、実施の形態1に係るロボットシステム1の構成例を示す構成図である。図1において、ロボットシステム1は、制御装置2、ロボットアーム3、ロボットハンド4および単眼カメラ5を備える。ロボットシステム1は、単眼カメラ5によって撮影された作業対象部材の撮像画像を用いてロボットアーム3を制御し、ロボットアーム3に装着されたロボットハンド4が作業対象部材を把持する。
FIG. 1 is a configuration diagram showing a configuration example of the
作業対象部材には、ロボットハンド4によって把持される把持対象部分が設定されている。また、作業対象部材は、例えば、可撓性を有する長尺部材である。長尺部材には、FFCまたはFPCなどがある。以下の説明では、作業対象部材がFPC6であるものとする。また、把持対象部分は端部7であり、FPC6における端部7とは反対側の端部が基板8に接続されている。
A gripping target portion to be gripped by the
制御装置2は、ロボットハンド4が装着されたロボットアーム3の位置を制御する装置である。ロボットアーム3は、制御装置2からの制御に従って、設定角度で各関節を回転させ、設定位置にアーム本体を移動させる。ロボットアーム3には、FPC6を把持するためのロボットハンド4が装着されており、ロボットハンド4には、単眼カメラ5が装着されている。
The
単眼カメラ5は、作業台上に配置された作業対象部材であるFPC6を撮像する第1の撮像部であり、撮像画像を制御装置2に出力する。図1に示すように、単眼カメラ5は、ロボットハンド4の先端部が撮像範囲に収まる位置に装着されている。これにより、ロボットハンド4がFPC6の端部7の近傍に移動したときに、単眼カメラ5は、FPC6の端部7を撮像することができる。また、FPC6の長手方向の一方の端部は、基板8に接続されており、FPC6の他方の端部である端部7は、ロボットハンド4に把持されて、図1において図示しない他の基板に接続される。
The monocular camera 5 is a first imaging unit that images the
図1において破線の囲みで示すように、3次元座標系におけるロボットハンド4およびFPC6の位置は、X座標、Y座標およびZ座標によって表される。ロボットハンド4に把持されたFPC6の端部7の姿勢を示すAx、AyおよびAzは、3次元座標系におけるロボットハンド4に対する端部7のロール角α、ヨー角βおよびピッチ角γによって表される。このようにFPC6の端部7の位置および姿勢は、(X,Y,Z,Ax,Ay,Az)で表され、FPC6の端部7が撮像された撮像画像を画像解析することにより算出される。
As shown by the broken line in FIG. 1, the positions of the
図2は、実施の形態1に係る制御装置2の構成例を示すブロック図である。図2に示すように、制御装置2は、画像取得部21、マスク画像生成部22、特徴点抽出部23、制御量算出部24および制御部25を備える。画像取得部21は、FPC6におけるロボットハンド4に把持させる端部7が少なくとも撮像された撮像画像を取得する。例えば、制御装置2は、図1に示した単眼カメラ5と無線または有線で接続されている。単眼カメラ5は、ロボットアーム3に装着されたロボットハンド4がFPC6の近傍に移動したときに、ロボットハンド4の近傍のFPC6を撮像する。これにより、画像取得部21は、単眼カメラ5によってFPC6の端部7が撮像された撮像画像を取得する。
FIG. 2 is a block diagram showing a configuration example of the
マスク画像生成部22は、画像取得部21によって取得された撮像画像を入力として、FPC6の端部7の特徴点を抽出するためのマスク画像を出力する学習済みモデルを用いて、マスク画像を生成する。マスク画像は、撮像画像におけるFPC6の端部7が写った画像領域が前景となり、それ以外の画像領域がマスクされた画像である。また、学習済みモデルは、学習済みモデル記憶部9に記憶されている。特徴点は、単眼カメラ5によって撮像されたFPC6の端部7を示す情報であり、例えば、マスク画像におけるFPC6の端部7の一部の位置座標情報である。
The mask
学習済みモデルは、画像取得部21によって取得された撮像画像を入力として、撮像画像におけるFPC6の端部7の特徴点を抽出するためのマスク画像を出力するように学習された、ニューラルネットワーク(以下、NNと記載する。)のネットワーク構造およびパラメータからなるデータである。学習済みモデルの生成に用いられる学習用データは、画像取得部21によって取得された撮像画像のうち、撮像画像に対してFPC6の外観の状態を模したノイズが付加された撮像画像を含む複数の撮像画像で構成される。ノイズの要因となるFPC6の外観の状態は、例えば、FPC6の端部7の表面の光沢、または、ロボットアーム3あるいはロボットハンド4の影である。
The trained model is a neural network trained to output a mask image for extracting the feature points of the
特徴点抽出部23は、マスク画像からFPC6の端部7の特徴点を抽出する。例えば、特徴点抽出部23は、マスク画像におけるFPC6の端部7の一部の座標情報を、特徴点を示す情報として抽出する。端部7の一部は、例えば、端部7のコーナー部分である。
The feature
制御量算出部24は、マスク画像ごとのFPC6の端部7の特徴点を用いて、ロボットハンド4を端部7に近づけるためのロボットアーム3の制御量を算出する。例えば、制御量算出部24は、FPC6の端部7の特徴点を示す情報として特徴点抽出部23から取得した端部7のコーナー部分の2次元座標を実空間の3次元座標に変換することで、端部7の位置および姿勢を算出する。そして、制御量算出部24は、ロボットハンド4がFPC6の端部7を把持する際の3次元座標における端部7の目標位置および目標姿勢と、特徴点情報に基づき算出した端部7の位置および姿勢とを比較して、両者の差分値をロボットアーム3の制御量として算出する。
The control
制御部25は、制御量算出部24によって算出された制御量に基づいてロボットアーム3を制御する。例えば、制御部25は、制御量算出部24から取得した差分値が小さくなる方向に一定の距離だけロボットアーム3を移動させ、上記差分値が小さくなる方向に一定の変化量だけロボットハンド4の姿勢を変化させる。この後、画像取得部21、マスク画像生成部22、特徴点抽出部23、制御量算出部24および制御部25が行う各処理が繰り返されることにより、徐々に、ロボットハンド4の位置が端部7に近づき、ロボットハンド4の姿勢が端部7の姿勢に合わされる。これにより、ロボットハンド4によって、FPC6の端部7が目標位置および目標姿勢で把持される。
The
図3は、実施の形態1に係る制御方法を示すフローチャートである。
画像取得部21は、FPC6の端部7が撮像された撮像画像を取得する(ステップST1)。例えば、図1に示した単眼カメラ5は、制御量算出部24からの撮像指示に従ってFPC6の端部7を撮像する。画像取得部21は、単眼カメラ5によって撮像された撮像画像を取得する。FIG. 3 is a flowchart showing a control method according to the first embodiment.
The
マスク画像生成部22は、画像取得部21によって取得された撮像画像および学習済みモデルを用いて、マスク画像を生成する(ステップST2)。マスク画像生成部22は、学習済みモデルを用いてマスク画像を生成する。学習済みモデルの生成に用いられる学習用データは、FPC6の端部7が撮像された撮像画像に対して、FPC6の端部7の外観の状態を模したノイズが付加された画像データである。
The mask
図4Aは、FPC6の端部7が撮像された撮像画像5Aを示す画像図である。例えば、画像取得部21によって取得された撮像画像から、端部7の表面の光沢に起因した白飛び領域、または、ロボットアーム3あるいはロボットハンド4の影に起因した暗領域の面積が、一定の閾値よりも小さい撮像画像5Aが選別される。
FIG. 4A is an image diagram showing a captured
図4Bは、ノイズ41を付加した撮像画像5Bを示す画像図である。撮像画像5Aに対してノイズ41が付加される。ノイズ41は、FPC6の端部7の外観の状態を模したノイズである。ノイズ41としては、例えば、端部7の表面の光沢を模した白飛びノイズ、または、ロボットアーム3あるいはロボットハンド4の影を模した暗領域がある。
FIG. 4B is an image diagram showing a captured image 5B to which
図4Cは、マスク画像5Cを示す画像図である。上記学習済みモデルは、ノイズ41が付加された撮像画像5Bと撮像画像5Bに対応するマスク画像5Cとの複数の組み合わせを、学習用データとして用いたNNの教師あり学習によって生成される。マスク画像5Cは、例えば、FPC6の端部7が撮像された撮像画像において、図4Cに示すように、FPC6の端部7が写る画像領域が前景となり、それ以外の画像領域が黒色にマスクされた画像である。
FIG. 4C is an image diagram showing a
このように、ノイズ41が付加された撮像画像を用いて学習済みモデルが生成される。これにより、学習済みモデルは、画像取得部21によって取得された撮像画像中に白飛びノイズ、暗領域などが発生した場合であっても、作業対象部材における把持対象部分のみが強調されそれ以外の部分がマスクされたマスク画像を生成することが可能である。
In this way, the trained model is generated using the captured image to which the
続いて、特徴点抽出部23は、マスク画像からFPC6の端部7の特徴点を抽出する(ステップST3)。例えば、特徴点抽出部23は、図4Cに示したマスク画像5Cにおける端部7のコーナー部分の位置座標情報を、特徴点を示す情報として抽出する。
なお、単眼カメラ5は、ロボットアーム3に装着されているので、ロボットアーム3の移動に応じて、マスク画像における端部7のコーナー部分の位置は変化する。Subsequently, the feature
Since the monocular camera 5 is attached to the robot arm 3, the position of the corner portion of the
制御量算出部24は、マスク画像5CごとのFPC6の端部7の特徴点を用いて、ロボットハンド4を端部7に近づけるためのロボットアーム3の制御量を算出する(ステップST4)。例えば、FPC6などの長尺部材は、自身の可撓性によって撓むことにより、作業台上で端部7の位置がばらつきやすい。また、長尺部材は、長手方向にまっすぐ伸びた帯形状であるとは限らず、大きく弧を描くように曲がっていたり、折れ曲がっていたりする場合がある。このため、作業台上にFPC6が配置されたときの状態に応じて、ロボットアーム3を制御する必要がある。
The control
制御量算出部24には、ロボットハンド4によって把持させるFPC6の目標位置と、FPC6の端部7の目標姿勢が設定されている。例えば、ロボットハンド4がFPC6を把持する目標位置は、実空間の3次元座標系におけるFPC6の端部7の位置(X1,Y1,Z1)である。目標姿勢は、作業台上に配置されたFPC6の端部7の姿勢(Ax1,Ay1,Az1)である。
The control
制御量算出部24は、マスク画像から抽出された特徴点情報に基づいて、FPC6の端部7のコーナー部分の2次元座標を、実空間の3次元座標に変換する。これにより、単眼カメラ5によって撮像された撮像画像に基づいて、実空間の3次元座標系における端部7の位置(X2,Y2,Z2)および姿勢(Ax2,Ay2,Az2)を示す情報(X2,Y2,Z2,Ax2,Ay2,Az2)が得られる。
The control
続いて、制御量算出部24は、FPC6の端部7の目標位置および目標姿勢を示す情報(X1,Y1,Z1,Ax1,Ay1,Az1)と、撮像画像に基づいて算出されたFPC6の端部7の位置および姿勢を示す情報(X2,Y2,Z2,Ax2,Ay2,Az2)とを比較し、両者の差分値を算出する。この差分値は、実空間において予め設定された目標位置および目標姿勢に対する、撮像画像に基づいて算出されたFPC6の端部7の位置および姿勢の誤差である。すなわち、この誤差はロボットアーム3を制御するための制御量(ΔX,ΔY,ΔZ,ΔAx,ΔAy,ΔAz)である。制御量算出部24は、制御量(ΔX,ΔY,ΔZ,ΔAx,ΔAy,ΔAz)を制御部25に出力する。
Subsequently, the control
制御部25は、制御量(ΔX,ΔY,ΔZ,ΔAx,ΔAy,ΔAz)が閾値(ΔXth,ΔYth,ΔZth,ΔAxth,ΔAyth,ΔAzth)よりも小さいか否かを判定する(ステップST5)。制御量が閾値よりも小さい場合(ステップST5;YES)、ロボットハンド4の位置は、FPC6の端部7の近傍の位置であり、ロボットハンド4の姿勢は、端部7の姿勢に合っている。このため、制御部25は、ロボットアーム3を制御することにより、ロボットハンド4にFPC6の端部7を把持させて、図3に示す一連の処理を終了する。
The
また、制御量が閾値以上である場合(ステップST5;NO)、制御部25は、制御量(ΔX,ΔY,ΔZ)が小さくなる方向に一定の距離だけロボットアーム3を移動させ、(ΔAx,ΔAy,ΔAz)が小さくなる方向に一定の変化量だけロボットハンド4の姿勢を変化させる(ステップST6)。
When the control amount is equal to or greater than the threshold value (step ST5; NO), the
例えば、制御部25は、ロボットアーム3を駆動させるモータに対して制御信号を出力することで、一定の距離だけロボットアーム3を移動させる。この後、制御部25は、画像取得部21に対して撮像画像5Aを再度取得するように指示を出力する。これにより、ステップST1からの一連の処理が繰り返され、ロボットハンド4によってFPC6の端部7が目標位置および目標姿勢で把持される。
For example, the
制御量と比較する閾値は、FPC6をその端部7で把持する際に必要とされる要求精度によって決定される。また、ロボットハンド4がFPC6を掴むのではなく、サクションカップで端部7を吸着する場合、上記閾値を大きく設定することが可能である。すなわちロボットハンド4がFPC6を掴む場合は、サクションカップで吸着する場合よりも閾値が小さく設定される。
The threshold value to be compared with the control amount is determined by the required accuracy required when gripping the
制御装置2における画像取得部21、マスク画像生成部22、特徴点抽出部23、制御量算出部24および制御部25の機能は、処理回路によって実現される。すなわち、制御装置2は、図3に示したステップST1からステップST6までの処理を実行するための処理回路を備える。処理回路は、専用のハードウェアであってもよいが、メモリに記憶されたプログラムを実行するCPU(Central Processing Unit)であってもよい。
The functions of the
図5Aは、制御装置2の機能を実現するハードウェア構成を示すブロック図である。図5Bは、制御装置2の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。図5Aおよび図5Bにおいて、入力インタフェース100は、単眼カメラ5から制御装置2へ出力される撮像画像データを中継するインタフェースである。また、出力インタフェース101は、制御装置2からロボットアーム3へ出力される制御情報を中継するインタフェースである。
FIG. 5A is a block diagram showing a hardware configuration that realizes the functions of the
処理回路が図5Aに示す専用のハードウェアの処理回路102である場合に、処理回路102は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)またはこれらを組み合わせたものが該当する。制御装置2における画像取得部21、マスク画像生成部22、特徴点抽出部23、制御量算出部24および制御部25の機能を別々の処理回路で実現してもよく、これらの機能をまとめて一つの処理回路で実現してもよい。
When the processing circuit is the
処理回路が図5Bに示すプロセッサ103である場合、制御装置2における画像取得部21、マスク画像生成部22、特徴点抽出部23、制御量算出部24および制御部25の機能は、ソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせによって実現される。なお、ソフトウェアまたはファームウェアは、プログラムとして記述されてメモリ104に記憶される。
When the processing circuit is the
プロセッサ103は、メモリ104に記憶されたプログラムを読み出して実行することで、制御装置2における画像取得部21、マスク画像生成部22、特徴点抽出部23、制御量算出部24および制御部25の機能を実現する。例えば、制御装置2は、プロセッサ103によって実行されるときに図2に示すフローチャートにおけるステップST1からステップST6の処理が結果的に実行されるプログラムを記憶するためのメモリ104を備える。これらのプログラムは、画像取得部21、マスク画像生成部22、特徴点抽出部23、制御量算出部24および制御部25が行う処理の手順または方法を、コンピュータに実行させる。メモリ104は、コンピュータを、画像取得部21、マスク画像生成部22、特徴点抽出部23、制御量算出部24および制御部25として機能させるためのプログラムが記憶されたコンピュータ可読記憶媒体であってもよい。
The
メモリ104は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically−EPROM)などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVDなどが該当する。
The
制御装置2における画像取得部21、マスク画像生成部22、特徴点抽出部23、制御量算出部24および制御部25の機能の一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現してもよい。例えば、画像取得部21は、専用のハードウェアである処理回路102によって機能を実現し、マスク画像生成部22、特徴点抽出部23、制御量算出部24および制御部25は、プロセッサ103がメモリ104に記憶されたプログラムを読み出して実行することによって機能を実現する。このように、処理回路はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせにより上記機能を実現することができる。
Some of the functions of the
図6は、制御装置2の変形例である制御装置2Aの構成を示すブロック図である。図6において、図1と同一の構成要素には同一の符号が付されている。制御装置2Aは、画像取得部21、マスク画像生成部22、特徴点抽出部23、制御量算出部24、制御部25、画像選別部26、前処理部27および学習部28を備える。
FIG. 6 is a block diagram showing a configuration of the
画像選別部26は、画像取得部21によって取得された撮像画像のうちから、FPC6の外観の状態に起因したノイズが含まれていない、図4Aに示したような撮像画像5Aを選別する。画像選別部26によって選別された撮像画像5Aは、画像記憶部10に出力されて記憶される。前処理部27は、画像記憶部10から撮像画像5Aをランダムに読み出し、図4Bに示したように、画像記憶部10から読み出した撮像画像5Aに対してFPC6の端部7の外観の状態を模したノイズ41を付加するノイズ付加部である。
The
学習部28は、画像選別部26によって選別された撮像画像5Aと、前処理部27によってノイズ41が付加された撮像画像5Bとを含む複数の撮像画像を、学習用データとして用いて、学習済みモデルを生成する。例えば、学習部28は、撮像画像5Aおよび撮像画像5Bを含む複数の撮像画像と、これらの撮像画像のそれぞれに対応するマスク画像である複数の教師データとを用いたNNの教師あり学習を行うことにより、学習済みモデルを生成する。学習済みモデルは、例えば、画像選別部26によって選別された撮像画像を入力として、図4C示したマスク画像5Cを出力するものであり、学習済みモデル記憶部9に記憶される。NNは、例えば、畳み込みNN(以下、CNNと記載する。)であってもよい。
The
学習済みモデルにおいて、例えば、NNの入力層には、単眼カメラ5により撮像された撮像画像、または、画像記憶部10に記憶されているノイズ41が付加された撮像画像5Bが入力され、NNの出力層からはマスク画像5Cが出力される。
NNの学習過程において、NNの入力層に入力されて当該中間層を経て出力層から出力されるマスク画像が、画像記憶部10に記憶されたマスク画像(教師データ)に近似させるために、NNの中間層のパラメータは最適化される。近似方法としては、例えば、確率的勾配法が利用される。In the trained model, for example, the captured image captured by the monocular camera 5 or the captured image 5B to which the
In the learning process of the NN, the mask image input to the input layer of the NN and output from the output layer via the intermediate layer is approximated to the mask image (teacher data) stored in the
学習部28は、図4Aに示したノイズのない撮像画像5Aのみならず、図4Bに示したようなノイズ41が付加された撮像画像5Bを用いて、学習済みモデルを生成する。学習部28によって生成された学習済みモデルは、学習済みモデル記憶部9に記憶される。
マスク画像生成部22は、上述のようにして生成された学習済みモデルを用いることにより、学習済みモデルに入力する撮像画像に白飛びなどによるノイズが含まれていても、FPC6の端部7の特徴点を抽出するためのマスク画像を生成することができる。
制御装置2または2Aは、上記のマスク画像を用いることにより、FPC6の端部7の位置を正確に特定することができるので、白飛びなどによるノイズが含まれた撮像画像を用いても、FPC6の端部7の位置を正確に検出可能であり、ロボットハンド4を正確にFPC6の端部7に位置合わせすることができる。The
By using the trained model generated as described above, the mask
Since the
なお、制御装置2Aにおける画像取得部21、マスク画像生成部22、特徴点抽出部23、制御量算出部24、制御部25、画像選別部26、前処理部27および学習部28の機能は、処理回路によって実現される。すなわち、制御装置2Aは、図5Aまたは図5Bに示した処理を実行するための処理回路を備える。処理回路は、専用のハードウェアであってもよいが、メモリに記憶されたプログラムを実行するCPUであってもよい。
The functions of the
また、学習部28が学習済みモデルの生成に利用するNNは、一つだけでなく、複数のNNであってもよい。例えば、学習部28は、複数のNNを利用して、ある製品の製造において、製造工程ごとの作業対象部材の把持対象部分の特徴点をそれぞれ抽出する複数の学習済みモデルを生成する。そして、制御装置2または2Aが備えるマスク画像生成部22は、製造工程ごとの学習済みモデルに切り替えた学習済みモデルを用いて、マスク画像を生成する。これにより、制御装置2または2Aは、単眼カメラ5により撮像された撮像画像を用いて、ロボットハンド4を正確に製造工程ごとの作業対象部材の把持対象部分に位置合わせすることができる。
Further, the NN used by the
なお、これまでの説明は作業対象部材がFPC6である場合を示したが、作業対象部材は、FFCであってもよいし、長尺部材以外の部材であってもよい。制御装置2または2Aは、特に表面に光沢を有した部材が作業対象部材であっても、撮像画像を用いて、ロボットハンド4を正確に作業対象部材の把持対象部分に位置合わせすることができる。
Although the description so far has shown the case where the work target member is the
以上のように、実施の形態1に係る制御装置2は、FPC6におけるロボットハンド4に把持させる端部7が撮像された撮像画像を入力として、端部7の特徴点を抽出するためのマスク画像を出力する学習済みモデルを用いて、マスク画像を生成し、マスク画像ごとの端部7の特徴点を用いてロボットアーム3の制御量を算出し、算出した制御量に基づいてロボットアーム3を制御する。これにより、制御装置2は、FPC6が撮像された撮像画像に白飛びが発生しても、ロボットハンド4をFPC6の端部7に位置合わせすることができる。
As described above, the
実施の形態1に係る制御装置2Aは、画像取得部21によって取得された撮像画像のうち、FPC6の外観の状態に起因したノイズが含まれていない撮像画像を選別する画像選別部26と、画像選別部26によって選別された撮像画像に対してFPC6の外観の状態を模したノイズを付加する前処理部27と、画像取得部21によって取得された撮像画像のうち、前処理部27によってノイズが付加された撮像画像を含む複数の撮像画像を学習用データとして学習済みモデルを生成する学習部28を備える。これにより、マスク画像生成部22が、学習済みモデルに入力する撮像画像に白飛びなどによるノイズが含まれていても、FPC6の端部7の特徴点を抽出するためのマスク画像を生成することが可能である。
The
実施の形態1に係るロボットシステム1において、ロボットハンド4が装着されたロボットアーム3と、FPC6を撮像し、FPC6の端部7が少なくとも撮像された撮像画像を画像取得部21に出力する単眼カメラ5と、制御装置2または2Aを備える。このように構成されたロボットシステム1は、FPC6が撮像された撮像画像に白飛びが発生しても、ロボットハンド4をFPC6の端部7に位置合わせすることができる。
In the
実施の形態2.
図7は、実施の形態2に係るロボットシステム1Aの構成例を示す構成図である。図7において、ロボットシステム1Aは、制御装置2B、ロボットアーム3、ロボットハンド4、単眼カメラ5および単眼カメラ11を備える。ロボットシステム1Aは、単眼カメラ5および単眼カメラ11によって撮影された作業対象部材の撮像画像を用いて、ロボットアーム3を制御し、ロボットアーム3に装着されたロボットハンド4が作業対象部材を把持する。
FIG. 7 is a configuration diagram showing a configuration example of the robot system 1A according to the second embodiment. In FIG. 7, the robot system 1A includes a
作業対象部材は、可撓性を有する長尺部材であり、ロボットハンド4に把持させる把持対象部分が設定されている。長尺部材は、例えばFFCまたはFPCである。以下の説明では、作業対象部材がFPC6であるものとする。また、把持対象部分は端部7であり、FPC6における端部7とは反対側の端部が基板8に接続されている。
The work target member is a long member having flexibility, and a grip target portion to be gripped by the
実施の形態1におけるロボットアーム3の初期位置は、単眼カメラ5によってFPC6の端部7が撮像可能な位置であった。単眼カメラ11は、FPC6を撮像し、FPC6の全体が撮像された撮像画像を制御装置2Bへ出力する第2の撮像部である。実施の形態2において、ロボットアーム3の初期位置は、単眼カメラ5がFPC6を撮像できないが、単眼カメラ11によってFPC6の全体が撮像可能な位置である。FPC6の全体とは、FPC6の端部7から、当該端部7とは反対側の端部が接続している基板8を含む構造体全体である。
The initial position of the robot arm 3 in the first embodiment was a position where the
制御装置2Bは、単眼カメラ11によって撮像されたFPC6の撮像画像を用いて、ロボットハンド4がFPC6の端部7を把持するようにロボットアーム3を制御する。図7において、単眼カメラ5は、ロボットアーム3に装着され、単眼カメラ11は、ロボットアーム3に装着されていない。ただし、単眼カメラ11は、ロボットアーム3の制御が開始される位置において、FPC6の全体が撮像範囲内であれば、ロボットアーム3に装着されていてもよい。
The
図8は、実施の形態2に係る制御装置2Bの構成例を示すブロック図である。図8に示すように、制御装置2Bは、画像取得部21、全体画像取得部29、細線化部30、端部検出部31および制御部32を備えている。画像取得部21は、実施の形態1と同様に、FPC6におけるロボットハンド4に把持させる端部7が少なくとも撮像された撮像画像を取得する。例えば、制御装置2Bは、図7に示した単眼カメラ5と無線または有線で接続されている。単眼カメラ5は、ロボットアーム3に装着されたロボットハンド4がFPC6の近傍に位置した際にロボットハンド4の近傍のFPC6を撮像する。画像取得部21は、FPC6の端部7が少なくとも撮像された撮像画像を単眼カメラ5から取得する。
FIG. 8 is a block diagram showing a configuration example of the
全体画像取得部29は、FPC6の全体が撮像された撮像画像を取得する。例えば、制御装置2Bは、図7に示した単眼カメラ11と無線または有線で接続されている。単眼カメラ11は、ロボットアーム3が制御される際に、FPC6の全体を撮像する。全体画像取得部29は、FPC6の全体が撮像された撮像画像を単眼カメラ11から取得する。
The overall
細線化部30は、全体画像取得部29によって取得された撮像画像に細線化を施すことにより、FPC6の外形状が細線化された細線化画像を生成する。FPC6の撮像画像に白飛びなどによるノイズが含まれていても、当該撮像画像を細線化することで、FPC6の外形状のみが細線化される。細線化方法は、例えば、HilditchのアルゴリズムまたはZhang−Suenのアルゴリズムが利用される。ただし、細線化方法は、FPC6の外形状のみが細線化される方法であれば、例示したアルゴリズムに限定されるものではない。
The thinning
端部検出部31は、細線化画像からFPC6の端部7を検出する。例えば、端部検出部31は、細線化画像においてFPC6の基端部からFPC6を示す細線を辿って端部を探索することにより、FPC6の端部7を特定し、特定した端部7の2次元座標および姿勢情報を検出する。FPC6の基端部とは、基板8と接続したFPC6の端部である。端部検出部31は、FPC6の端部7の位置および姿勢を示す検出情報を算出すると、検出情報を制御部32に出力する。制御部32は、FPC6の端部7の検出情報に基づいてロボットアーム3を移動させ、画像取得部21によって単眼カメラ5から取得された撮像画像に基づいてロボットアーム3を制御する。
The
図9は、実施の形態2に係る制御方法を示すフローチャートである。
全体画像取得部29は、FPC6の全体が撮像された撮像画像を取得する(ステップST1a)。例えば、ロボットアーム3の制御が開始される位置において、単眼カメラ11は、FPC6の全体を撮像可能である。図10Aは、FPC6の全体が撮像された撮像画像11Aを示す画像図である。全体画像取得部29は、図10Aに示すように、単眼カメラ11によってFPC6の全体が撮像された撮像画像11Aを取得する。FIG. 9 is a flowchart showing a control method according to the second embodiment.
The overall
細線化部30は、全体画像取得部29によって取得された撮像画像を用いて細線化画像を生成する(ステップST2a)。図10Bは、FPC6の全体が撮像された撮像画像11Aが細線化された細線化画像11Bを示す画像図である。撮像画像11Aを細線化することにより、図10Bに示すように、FPC6の外形状を示す細線51と、その端部52および53のみが強調され、それ以外の画像部分はマスクされたような細線化画像11Bとなる。
The thinning
端部検出部31は、細線化部30によって生成された細線化画像11BからFPC6の端部7を検出する(ステップST3a)。例えば、3次元座標系におけるFPC6の基端部の位置座標は既知であり、当該位置座標を、単眼カメラ11の撮像画像における2次元座標系に変換することは可能である。端部検出部31は、細線化画像11Bにおける端部52の位置座標と、FPC6の基端部の既知の位置座標とを比較し、両者が一致すると、端部52がFPC6の基端部であると判定する。続いて、端部検出部31は、細線化画像11Bにおいて端部52から細線51を辿って探索することによって端部53を特定し、特定した端部53の2次元座標および姿勢を示す情報を、FPC6の端部7の検出情報として制御部32に出力する。
The
図10Cは、複数のFPC6が映り込んだ細線化画像11Cを示す画像図である。細線化画像11Cには、図10Cに示すように、2つのFPC6に対応する細線51と細線54が映り込んでいる。この場合、端部検出部31は、基端部の位置座標が不明な細線54につながる端部の検出は実行せず、基端部の位置座標が既知である細線51につながる端部の検出を実行する。
FIG. 10C is an image diagram showing a thin lined image 11C in which a plurality of
次に、制御部32は、FPC6の端部7の検出情報に基づいて、単眼カメラ5によってロボットハンド4とFPC6の端部7とが撮像可能な位置までロボットアーム3を移動させる(ステップST4a)。ロボットアーム3の移動が完了すると、制御部32の指示により、単眼カメラ5は、ロボットハンド4とFPC6の端部7を撮像する(ステップST5a)。画像取得部21は、単眼カメラ5によって撮像された撮像画像を取得し、取得した撮像画像を制御部32に出力する。
Next, the
制御部32は、画像取得部21によって取得されたFPC6の端部7が少なくとも撮像された撮像画像に基づいて、ロボットハンド4が端部7でFPC6を把持するようにロボットアーム3を制御する(ステップST6a)。FPC6の撮像画像に白飛びなどによるノイズが含まれていても、撮像画像を細線化することで、細線化画像においては、FPC6の外形状のみが細線化される。これにより、制御部32は、FPC6が撮像された撮像画像に白飛びが発生しても、ロボットハンド4をFPC6の端部7に位置合わせすることができる。
The
図11は、実施の形態2に係る制御方法の変形例を示すフローチャートである。図11において、ステップST1bからステップST3bまでの処理は、図9に示したステップST1aからステップST3aまでの処理と同じである。また、図11におけるステップST8bからステップST10bまでの処理は、図9に示したステップST4aからステップST6aまでの処理と同じである。 FIG. 11 is a flowchart showing a modified example of the control method according to the second embodiment. In FIG. 11, the processing from step ST1b to step ST3b is the same as the processing from step ST1a to step ST3a shown in FIG. Further, the processing from step ST8b to step ST10b in FIG. 11 is the same as the processing from step ST4a to step ST6a shown in FIG.
FPC6の位置がばらつくことによって単眼カメラ11の撮像範囲外にFPC6が出た場合、基板8に対するFPC6の基端部の接続が何らかの理由で外れた場合、作業台上に複数のFPC6が重なって配置された場合、または、単眼カメラ11によってFPC6の撮像画像に想定を超えるノイズが発生した場合、端部検出部31が細線化画像からFPC6の端部7を検出できない、または、端部検出部31が一枚の細線化画像から複数の端部を検出して作業対象の端部を特定できない、といった不具合が発生する。
If the
そこで、端部検出部31によって細線化画像からFPC6の端部7が検出された場合、制御部32は、端部検出部31によって細線化画像からFPC6の端部7が一つ検出されたか否かを確認する(ステップST4b)。細線化画像からFPC6の端部7が一つ検出された場合(ステップST4b;YES)、制御部32は、ステップST8bに移行することにより、前述したように、FPC6の端部7の検出情報に基づいて、単眼カメラ5によってFPC6の端部7が撮像可能な位置までロボットアーム3を移動させ、ステップST10bまでの一連の処理を実行する。
Therefore, when the
細線化画像から検出されたFPC6の端部7が一つではない場合(ステップST4b;NO)、制御部32は、端部検出部31によって細線化画像から複数の端部7が検出されたか否かを確認する(ステップST5b)。細線化画像から複数の端部7が検出された場合(ステップST5b;YES)、制御部32は、選択条件に従って、複数の端部7から一つの端部を選択する(ステップST6b)。選択条件は、細線化画像から検出された複数の端部から、作業対象のFPC6の端部7を一つ選択するための条件である。例えば、基端部の位置座標が既知である細線につながる端部を選択するという条件である。
When the
制御部32は、選択条件に従って複数の端部7から一つの端部を選択すると、ステップST8bに移行することにより、選択した端部7の検出情報に基づいて、単眼カメラ5によってFPC6の端部7が撮像可能な位置までロボットアーム3を移動させ、ステップST10bまでの一連の処理を実行する。
When the
細線化画像からFPC6の端部7が一つも検出されなかった場合(ステップST5b;NO)、制御部32は、単眼カメラ11による撮像がエラーであると判断する(ステップST7b)。この場合、制御部32は、例えば、図示しない表示装置または音声出力装置に対してエラーを示す警報を出力させる。または、制御装置2Bは、ステップST1bの処理に戻って、前述した一連の処理を再度実行してもよい。
When no
制御装置2Bにおける画像取得部21、全体画像取得部29、細線化部30、端部検出部31および制御部32の機能は、処理回路により実現される。すなわち、制御装置2Bは、図9に示したステップST1aからステップST6aまでの処理または図11に示したステップST1bからステップST10bまでの処理を実行するための処理回路を備える。処理回路は、専用のハードウェアであってもよいが、メモリに記憶されたプログラムを実行するCPUであってもよい。
The functions of the
図12Aは、制御装置2Bの機能を実現するハードウェア構成を示すブロック図である。図12Bは、制御装置2Bの機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。図12Aおよび図12Bにおいて、第1の入力インタフェース200は、単眼カメラ5から制御装置2Bへ出力される撮像画像データを中継するインタフェースである。また、第2の入力インタフェース201は、単眼カメラ11から制御装置2Bへ出力される撮像画像データを中継するインタフェースである。出力インタフェース202は、制御装置2Bからロボットアーム3へ出力される制御情報を中継するインタフェースである。
FIG. 12A is a block diagram showing a hardware configuration that realizes the functions of the
処理回路が図12Aに示す専用のハードウェアの処理回路203である場合、処理回路203は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGA、またはこれらを組み合わせたものが該当する。制御装置2Bにおける画像取得部21、全体画像取得部29、細線化部30、端部検出部31および制御部32の機能を別々の処理回路で実現してもよく、これらの機能をまとめて一つの処理回路で実現してもよい。
When the processing circuit is the
処理回路が図12Bに示すプロセッサ204である場合、制御装置2Bにおける画像取得部21、全体画像取得部29、細線化部30、端部検出部31および制御部32の機能は、ソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせによって実現される。なお、ソフトウェアまたはファームウェアは、プログラムとして記述されてメモリ205に記憶される。
When the processing circuit is the
プロセッサ204は、メモリ205に記憶されたプログラムを読み出して実行することで、制御装置2Bにおける画像取得部21、全体画像取得部29、細線化部30、端部検出部31および制御部32の機能を実現する。例えば、制御装置2Bは、プロセッサ204によって実行されるときに、図9に示したステップST1aからステップST6aまでの処理または図11に示したステップST1bからステップST10bまでの処理が結果的に実行されるプログラムを記憶するためのメモリ205を備える。これらのプログラムは、画像取得部21、全体画像取得部29、細線化部30、端部検出部31および制御部32が行う処理の手順または方法を、コンピュータに実行させる。
The
メモリ205は、コンピュータを、画像取得部21、全体画像取得部29、細線化部30、端部検出部31および制御部32として機能させるためのプログラムが記憶されたコンピュータ可読記憶媒体であってもよい。メモリ205は、例えば、RAM、ROM、フラッシュメモリ、EPROM、EEPROMなどの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVDなどが該当する。
The
制御装置2Bにおける画像取得部21、全体画像取得部29、細線化部30、端部検出部31および制御部32の機能の一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現してもよい。例えば、画像取得部21は、専用のハードウェアである処理回路203により機能を実現し、全体画像取得部29、細線化部30、端部検出部31および制御部32は、プロセッサ204がメモリ205に記憶されたプログラムを読み出して実行することにより機能を実現する。このように、処理回路は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせにより上記機能を実現することができる。
Some of the functions of the
なお、これまでの説明は、作業対象部材がFPC6である場合を示したが、作業対象部材は、FFCであってもよいし、長尺部材以外の部材であってもよい。制御装置2Bは、特に表面に光沢を有した部材が作業対象部材であっても、撮像画像を用いて、ロボットハンド4を正確に作業対象部材の把持対象部分に位置合わせすることができる。
Although the description so far has shown the case where the work target member is the
以上のように、実施の形態2に係る制御装置2Bは、FPC6の端部7が撮像された撮像画像を取得する画像取得部21と、FPC6の全体が撮像された撮像画像を取得する全体画像取得部29と、全体画像取得部29によって取得された撮像画像に細線化を施すことにより、FPC6の外形状が細線化された細線化画像を生成する細線化部30と、細線化画像からFPC6の端部7を検出する端部検出部31と、FPC6の端部7の検出情報に基づいてロボットアーム3を移動させ、画像取得部21によって取得された撮像画像に基づいてロボットアーム3を制御する制御部33を備える。FPC6の撮像画像に白飛びなどによるノイズが含まれていても当該撮像画像を細線化することで、細線化画像には、FPC6の外形状のみが細線化される。これにより、制御部32は、FPC6が撮像された撮像画像に白飛びが発生しても、ロボットハンド4をFPC6の端部7に位置合わせすることができる。
As described above, the
実施の形態2に係る制御装置2Bにおいて、制御部32は、細線化画像から複数の端部が検出された場合に、選別条件に従って複数の端部から一つの端部を選択し、端部が一つも検出されなかった場合には、エラーと判断する。細線化画像から複数の端部が検出された場合であっても、選択条件に従った適切な端部を選択することができ、細線化画像から端部が一つも検出されなかった場合は、撮像画像を用いたロボットアーム3の位置合わせが不可能であるため、エラーと判断することができる。
In the
実施の形態2に係るロボットシステム1Aは、ロボットハンド4が装着されたロボットアーム3と、FPC6を撮像し、FPC6の全体が撮像された撮像画像を全体画像取得部29に出力する単眼カメラ11と、制御装置2Bを備える。FPC6の撮像画像に白飛びなどによるノイズが含まれていても当該撮像画像を細線化することで、細線化画像には、FPC6の外形状のみが細線化される。これにより、制御装置2Bは、FPC6が撮像された撮像画像に白飛びが発生しても、ロボットハンド4をFPC6の端部7に位置合わせすることができる。
The robot system 1A according to the second embodiment includes a robot arm 3 to which the
実施の形態3.
図13は、実施の形態3に係る制御装置2Cの構成例を示すブロック図である。図13において、制御装置2Cは、画像取得部21、マスク画像生成部22、特徴点抽出部23、制御量算出部24、全体画像取得部29、細線化部30、端部検出部31および制御部33を備える。以下の説明では、作業対象部材がFPC6であるものとする。また、把持対象部分は端部7であり、FPC6における端部7とは反対側の端部が基板8に接続されている。Embodiment 3.
FIG. 13 is a block diagram showing a configuration example of the control device 2C according to the third embodiment. In FIG. 13, the control device 2C includes an
画像取得部21は、FPC6におけるロボットハンド4に把持させる端部7が少なくとも撮像された撮像画像を取得する。例えば、制御部33によってFPC6の端部7を撮像可能な位置にロボットアーム3が移動されると、単眼カメラ5が、FPC6の端部7を撮像する。画像取得部21は、単眼カメラ5によって撮像されたFPC6の端部7の撮像画像を取得する。
The
マスク画像生成部22は、画像取得部21によって取得された撮像画像を入力として、FPC6の端部7の特徴点を抽出するためのマスク画像を出力する学習済みモデルを用いて、マスク画像を生成する。学習済みモデルは、図2および図6に記載した学習済みモデル記憶部9に記憶されている。マスク画像生成部22は、学習済みモデル記憶部9に記憶されている学習済みモデルを用いてマスク画像を生成する。特徴点抽出部23は、マスク画像からFPC6の端部7の特徴点を抽出する。例えば、特徴点抽出部23は、マスク画像におけるFPC6の端部7のコーナー部分の座標情報を、特徴点を示す情報として抽出する。
The mask
制御量算出部24は、FPC6の端部7の特徴点を示す情報に含まれる端部7のコーナー部分の2次元座標を実空間の3次元座標に変換することによって、端部7の位置および姿勢を算出する。そして、制御量算出部24は、ロボットハンド4がFPC6の端部7を把持する際の3次元座標における端部7の目標位置および目標姿勢と特徴点情報に基づき算出した端部7の位置および姿勢とを比較し、両者の差分値をロボットアーム3の制御量として算出し、制御量を制御部33に出力する。
The control
ロボットアーム3の制御が開始される位置において、単眼カメラ11はFPC6の全体を撮像する。全体画像取得部29は、FPC6の全体が撮像された撮像画像を単眼カメラ11から取得する。細線化部30は、全体画像取得部29によって取得された撮像画像に細線化を施すことにより、FPC6の外形状が細線化された細線化画像を生成する。端部検出部31は、細線化画像においてFPC6の基端部からFPC6を示す細線を辿って端部を探索することによりFPC6の端部7を特定し、特定した端部7の2次元座標および姿勢情報を検出する。
At the position where the control of the robot arm 3 is started, the monocular camera 11 images the
制御部33は、端部検出部31によって細線化画像から検出されたFPC6の端部7の検出情報に基づいて、単眼カメラ5によってFPC6の端部7が撮像可能な位置まで、ロボットアーム3を移動させる。制御部33は、単眼カメラ5によって撮像された撮像画像を用いたロボットアーム3の制御として、制御量算出部24から取得された差分値が小さくなる方向に一定の距離だけロボットアーム3を移動させ、一定の変化量だけロボットハンド4の姿勢を変化させる。
The
なお、制御装置2Cにおける画像取得部21、マスク画像生成部22、特徴点抽出部23、制御量算出部24、全体画像取得部29、細線化部30、端部検出部31および制御部33の機能は、処理回路によって実現される。すなわち、制御装置2Cは、図5Aまたは図5Bに示した処理を実行するための処理回路を備えている。処理回路は、専用のハードウェアであってもよいが、メモリに記憶されたプログラムを実行するCPUであってもよい。
The
図14は、実施の形態3に係る制御方法を示すフローチャートである。
図14に示すステップST1cからステップST8cまでの処理は、図11に示したステップST1bからステップST8bまでの処理と同じである。さらに、図14に示すステップST9cからステップST14cまでの処理は、図3に示したステップST1からステップST6までの処理と同じである。制御装置2Cは、単眼カメラ5によってFPC6が撮像された撮像画像を用いたロボットアーム3の制御として、図3に示したステップST1からステップST6までの処理を実行する。これにより、制御装置2Cは、FPC6が撮像された撮像画像に白飛びが発生しても、ロボットハンド4をFPC6の端部7に位置合わせすることができる。FIG. 14 is a flowchart showing a control method according to the third embodiment.
The processing from step ST1c to step ST8c shown in FIG. 14 is the same as the processing from step ST1b to step ST8b shown in FIG. Further, the processing from step ST9c to step ST14c shown in FIG. 14 is the same as the processing from step ST1 to step ST6 shown in FIG. The control device 2C executes the processes from step ST1 to step ST6 shown in FIG. 3 as control of the robot arm 3 using the captured image captured by the
図15は、制御装置2Cの変形例である制御装置2Dの構成を示すブロック図である。図15において、図13と同一の構成要素には同一の符号が付されている。制御装置2Dは、画像取得部21、マスク画像生成部22、特徴点抽出部23、制御量算出部24、制御部25、画像選別部26、前処理部27、学習部28、全体画像取得部29、細線化部30、端部検出部31および制御部33を備える。制御装置2Dは、図13に示した制御装置2Cに対して、画像選別部26、前処理部27および学習部28を追加したものである。画像選別部26、前処理部27および学習部28がそれぞれ行う処理は、図6を用いて前述したものと同じである。
FIG. 15 is a block diagram showing a configuration of the
なお、制御装置2Dにおける画像取得部21、マスク画像生成部22、特徴点抽出部23、制御量算出部24、制御部25、画像選別部26、前処理部27、学習部28、全体画像取得部29、細線化部30、端部検出部31および制御部33の機能は、処理回路によって実現される。すなわち、制御装置2Dは、図5Aまたは図5Bに示した処理を実行するための処理回路を備えている。処理回路は、専用のハードウェアであってもよいが、メモリに記憶されたプログラムを実行するCPUであってもよい。
The
なお、これまでの説明は、作業対象部材がFPC6である場合を示したが、作業対象部材は、FFCであってもよいし、長尺部材以外の部材であってもよい。制御装置2Cまたは2Dは、特に表面に光沢を有した部材が作業対象部材であっても、撮像画像を用いて、ロボットハンド4を正確に作業対象部材の把持対象部分に位置合わせすることができる。
Although the description so far has shown the case where the work target member is the
以上のように、実施の形態3に係る制御装置2Cは、制御装置2の構成要素と制御装置2Bの構成要素とを組み合わせたものである。これにより、制御装置2Cは、FPC6が撮像された撮像画像に白飛びが発生しても、ロボットハンド4をFPC6の端部7に位置合わせすることができる。
As described above, the control device 2C according to the third embodiment is a combination of the components of the
実施の形態3に係る制御装置2Dは、制御装置2Cの構成要素に対して、画像選別部26、前処理部27および学習部28を追加したものである。マスク画像生成部22が、学習済みモデルに入力する撮像画像に白飛びなどによるノイズが含まれていても、FPC6の端部7の特徴点を抽出するためのマスク画像を生成することが可能である。
The
なお、各実施の形態の組み合わせまたは実施の形態のそれぞれの任意の構成要素の変形もしくは実施の形態のそれぞれにおいて任意の構成要素の省略が可能である。 It should be noted that the combination of each embodiment, the modification of each arbitrary component of the embodiment, or the omission of any component in each of the embodiments is possible.
本開示に係る制御装置は、例えば、FPCを用いた製品の組み立てに利用可能である。 The control device according to the present disclosure can be used, for example, for assembling a product using FPC.
1,1A ロボットシステム、2,2A〜2D 制御装置、3 ロボットアーム、4 ロボットハンド、5,11 単眼カメラ、5A,5B,11A 撮像画像、5C マスク画像、6 FPC、7 端部、8 基板、9 学習済みモデル記憶部、10 画像記憶部、11B,11C 細線化画像、21 画像取得部、22 マスク画像生成部、23 特徴点抽出部、24 制御量算出部、25,32,33 制御部、26 画像選別部、27 前処理部、28 学習部、29 全体画像取得部、30 細線化部、31 端部検出部、41 ノイズ、51,54 細線、52,53 端部、100 入力インタフェース、101,202 出力インタフェース、102,203 処理回路、103,204 プロセッサ、104,205 メモリ、200 第1の入力インタフェース、201 第2の入力インタフェース。 1,1A robot system, 2,2A to 2D controller, 3 robot arm, 4 robot hand, 5,11 monocular camera, 5A, 5B, 11A captured image, 5C mask image, 6 FPC, 7 ends, 8 boards, 9 Learned model storage unit, 10 image storage unit, 11B, 11C thinned image, 21 image acquisition unit, 22 mask image generation unit, 23 feature point extraction unit, 24 control amount calculation unit, 25, 32, 33 control unit, 26 Image selection unit, 27 Preprocessing unit, 28 Learning unit, 29 Overall image acquisition unit, 30 Thinning unit, 31 End detection unit, 41 Noise, 51, 54 Fine lines, 52, 53 Ends, 100 Input interface, 101 , 202 output interface, 102, 203 processing circuit, 103, 204 processor, 104, 205 memory, 200 first input interface, 201 second input interface.
Claims (6)
長尺部材における前記ロボットハンドに把持させる端部が少なくとも撮像された撮像画像を取得する画像取得部と、
前記長尺部材の全体が撮像された撮像画像を取得する全体画像取得部と、
前記全体画像取得部によって取得された撮像画像に細線化を施すことにより、前記長尺部材が細線化された細線化画像を生成する細線化部と、
前記細線化画像から前記長尺部材の端部を検出する端部検出部と、
前記長尺部材の端部の検出情報に基づいて前記ロボットアームを移動させ、前記画像取得部によって取得された撮像画像に基づいて前記ロボットアームを制御する制御部と、を備えた
ことを特徴とする制御装置。 A control device that controls a robot arm equipped with a robot hand.
An image acquisition unit that acquires an image captured at least by the end portion of the long member to be gripped by the robot hand, and an image acquisition unit.
An overall image acquisition unit that acquires an captured image of the entire long member, and an overall image acquisition unit.
By performing thinning the captured image acquired by the whole image acquiring unit, and a thinning unit that the long member to generate a thinned image which has been thinned,
An end detection unit that detects the end of the long member from the thinned image, and an end detection unit.
The robot arm is moved based on the detection information of the end portion of the long member, and the robot arm is controlled based on the captured image acquired by the image acquisition unit. Control device.
ことを特徴とする請求項1に記載の制御装置。 When a plurality of ends are detected from the thinned image, the control unit selects one end from the plurality of ends according to the sorting conditions, and when none of the ends is detected, the control unit selects one end. The control device according to claim 1 , wherein the control device is determined to be an error.
前記マスク画像から前記長尺部材の端部の特徴点を抽出する特徴点抽出部と、
前記マスク画像ごとの前記長尺部材の端部の特徴点を用いて、前記ロボットハンドを前記長尺部材の端部に近づけるための前記ロボットアームの制御量を算出する制御量算出部と、
を備え、
前記制御部は、前記制御量算出部によって算出された前記制御量に基づいて前記ロボットアームを制御する
ことを特徴とする請求項1または請求項2に記載の制御装置。 Mask image generation that generates the mask image using a trained model that outputs a mask image for extracting the feature points of the end of the long member by inputting the captured image acquired by the image acquisition unit. Department and
A feature point extraction unit that extracts feature points at the ends of the long member from the mask image,
A control amount calculation unit that calculates a control amount of the robot arm for bringing the robot hand closer to the end portion of the long member by using the feature points of the end portion of the long member for each mask image.
With
The control device according to claim 1 or 2 , wherein the control unit controls the robot arm based on the control amount calculated by the control amount calculation unit.
前記画像選別部によって選別された撮像画像に対して前記長尺部材の外観の状態を模したノイズを付加するノイズ付加部と、
前記画像取得部によって取得された撮像画像のうち、前記ノイズ付加部によってノイズが付加された撮像画像を含む複数の撮像画像を学習用データとして前記学習済みモデルを生成する学習部と、を備えた
ことを特徴とする請求項3に記載の制御装置。 Among the captured images acquired by the image acquisition unit, an image selection unit that selects captured images that do not contain noise according to the appearance state of the long member, and an image selection unit.
A noise addition unit that adds noise that imitates the appearance of the long member to the captured image selected by the image selection unit.
Among the captured images acquired by the image acquisition unit, a learning unit that generates the trained model by using a plurality of captured images including the captured images to which noise is added by the noise adding unit as learning data is provided. The control device according to claim 3 , wherein the control device is characterized by the above.
前記長尺部材を撮像し、前記長尺部材の全体が撮像された撮像画像を前記全体画像取得部に出力する第2の撮像部と、
請求項1から請求項4のいずれか1項に記載の制御装置と、を備えた
ことを特徴とするロボットシステム。 The robot arm to which the robot hand is attached and
A second imaging unit that captures an image of the long member and outputs an image captured by the entire image of the long member to the overall image acquisition unit.
A robot system comprising the control device according to any one of claims 1 to 4.
全体画像取得部が、長尺部材の全体が撮像された撮像画像を取得するステップと、
細線化部が、前記全体画像取得部によって取得された撮像画像に細線化を施すことにより、前記長尺部材が細線化された細線化画像を生成するステップと、
端部検出部が、前記細線化画像から前記長尺部材の端部を検出するステップと、
制御部が、前記長尺部材の端部の検出情報に基づいて前記ロボットアームを移動させ、前記長尺部材における前記ロボットハンドに把持させる端部が少なくとも撮像された撮像画像に基づいて前記ロボットアームを制御するステップと、を備えた
ことを特徴とする制御方法。 It is a control method that controls the robot arm to which the robot hand is attached.
The step that the whole image acquisition unit acquires the captured image in which the entire long member is captured,
Thinning portion, by performing thinning the captured image acquired by the whole image acquiring unit, the steps of the elongated member to generate a thinned image which has been thinned,
A step in which the end detection unit detects the end of the long member from the thinned image,
The control unit moves the robot arm based on the detection information of the end portion of the long member, and the robot arm is based on an image in which the end portion of the long member to be gripped by the robot hand is at least captured. A control method characterized by having a step to control the robot.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/000604 WO2022153345A1 (en) | 2021-01-12 | 2021-01-12 | Control device, robot system, and control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6964827B1 true JP6964827B1 (en) | 2021-11-10 |
JPWO2022153345A1 JPWO2022153345A1 (en) | 2022-07-21 |
Family
ID=78466218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021527101A Active JP6964827B1 (en) | 2021-01-12 | 2021-01-12 | Control devices, robot systems and control methods |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6964827B1 (en) |
WO (1) | WO2022153345A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09159411A (en) * | 1995-12-08 | 1997-06-20 | Honda Motor Co Ltd | Method for detecting position of terminal of long work |
JP2015030086A (en) * | 2013-08-07 | 2015-02-16 | キヤノン株式会社 | Robot control method, robot system, program and recording medium |
JP2019058966A (en) * | 2017-09-25 | 2019-04-18 | マツダ株式会社 | Dispersing discharger |
JP2020001127A (en) * | 2018-06-28 | 2020-01-09 | 勇貴 高橋 | Picking system, picking processing equipment, and program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05165525A (en) * | 1991-12-18 | 1993-07-02 | Pioneer Electron Corp | Method for deciding order to take out objects |
JP5448326B2 (en) * | 2007-10-29 | 2014-03-19 | キヤノン株式会社 | Gripping device and gripping device control method |
JP6822929B2 (en) * | 2017-09-19 | 2021-01-27 | 株式会社東芝 | Information processing equipment, image recognition method and image recognition program |
-
2021
- 2021-01-12 WO PCT/JP2021/000604 patent/WO2022153345A1/en active Application Filing
- 2021-01-12 JP JP2021527101A patent/JP6964827B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09159411A (en) * | 1995-12-08 | 1997-06-20 | Honda Motor Co Ltd | Method for detecting position of terminal of long work |
JP2015030086A (en) * | 2013-08-07 | 2015-02-16 | キヤノン株式会社 | Robot control method, robot system, program and recording medium |
JP2019058966A (en) * | 2017-09-25 | 2019-04-18 | マツダ株式会社 | Dispersing discharger |
JP2020001127A (en) * | 2018-06-28 | 2020-01-09 | 勇貴 高橋 | Picking system, picking processing equipment, and program |
Also Published As
Publication number | Publication date |
---|---|
WO2022153345A1 (en) | 2022-07-21 |
JPWO2022153345A1 (en) | 2022-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11511421B2 (en) | Object recognition processing apparatus and method, and object picking apparatus and method | |
JP6546618B2 (en) | Learning apparatus, learning method, learning model, detection apparatus and gripping system | |
US7283661B2 (en) | Image processing apparatus | |
JP5471355B2 (en) | 3D visual sensor | |
CN109702738B (en) | Mechanical arm hand-eye calibration method and device based on three-dimensional object recognition | |
KR20170053585A (en) | Robot control apparatus and robot control method | |
CN110926330B (en) | Image processing apparatus, image processing method, and program | |
JP5699697B2 (en) | Robot device, position and orientation detection device, position and orientation detection program, and position and orientation detection method | |
CN112775959A (en) | Method and system for determining grabbing pose of manipulator and storage medium | |
JP2014029664A (en) | Image comparison range generation method, positional orientation detection method, image comparison range generation device, positional orientation detection device, robot, robot system, image comparison range generation program and positional orientation detection program | |
CN115629066A (en) | Method and device for automatic wiring based on visual guidance | |
JP7171294B2 (en) | Information processing device, information processing method and program | |
JP6964827B1 (en) | Control devices, robot systems and control methods | |
JP7040147B2 (en) | Control devices, robots, robot systems, and methods for recognizing objects | |
CN116985141B (en) | Industrial robot intelligent control method and system based on deep learning | |
CN111745639B (en) | Information processing method and device, object detection device and robot system | |
JP2021026599A (en) | Image processing system | |
US20230150142A1 (en) | Device and method for training a machine learning model for generating descriptor images for images of objects | |
CN115713547A (en) | Motion trail generation method and device and processing equipment | |
JPH1063318A (en) | Method and device for object recognition | |
US20230415349A1 (en) | Method for controlling a robot for manipulating, in particular picking up, an object | |
WO2023127021A1 (en) | Control device, control system, robot system, control method, and computer program | |
JP6237117B2 (en) | Image processing apparatus, robot system, image processing method, and image processing program | |
WO2023140266A1 (en) | Picking device and image generation program | |
JP2023121899A (en) | Method, system, and computer program for recognizing position and posture of object photographed by camera |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210518 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210518 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20210518 |
|
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: 20210921 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211019 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6964827 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |