(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023104375
(43)【公開日】2023-07-28
(54)【発明の名称】ロボット制御システム
(51)【国際特許分類】
B25J 13/08 20060101AFI20230721BHJP
【FI】
B25J13/08 A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022005311
(22)【出願日】2022-01-17
(71)【出願人】
【識別番号】000001096
【氏名又は名称】倉敷紡績株式会社
(74)【代理人】
【識別番号】100167988
【弁理士】
【氏名又は名称】河原 哲郎
(72)【発明者】
【氏名】増田 勝彦
(72)【発明者】
【氏名】坂本 淳一
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707AS12
3C707BS10
3C707KS07
3C707KS16
3C707KS20
3C707KS36
3C707KT03
3C707KT05
3C707LV05
3C707NS02
3C707NS17
3C707NS26
(57)【要約】
【課題】ビジュアルフィードバック制御によってロボットに作業を行わせるロボット制御システムを提供する。
【解決手段】ロボットハンド24によってワーク50を把持するロボット20を制御するシステムであって、前記ワークの3次元情報を取得する3次元視覚センサ30と、前記3次元視覚センサを移動させるセンサ移動手段と、制御装置40とを有し、前記制御装置は、前記3次元情報に基づいて前記ワーク上の把持位置と前記ロボットハンドとの距離を算出し、前記把持位置と前記ロボットハンドとの距離を減少させるように前記ロボットハンドの位置をフィードバック制御し、前記把持位置が前記3次元視覚センサの視野内にあるか否かを判定し、視野外であると判定した場合は、前記3次元視覚センサの視野を広げるか移動させることにより前記把持位置を探索するロボット制御システム11。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ロボットハンドの動作に連動して移動する第1の対象を、静止しているまたは前記ロボットハンドの動作によらず移動する第2の対象まで移動させるロボットを制御するシステムであって、
前記第2の対象の3次元情報を取得する3次元視覚センサと、
前記3次元視覚センサを移動させるセンサ移動手段と、
制御装置とを有し、
前記制御装置は、
前記3次元情報に基づいて前記第2の対象と前記第1の対象の距離を算出し、前記第2の対象と前記第1の対象の距離を減少させるように前記ロボットハンドの位置をフィードバック制御し、
前記第2の対象が前記3次元視覚センサの視野内にあるか否かを判定し、視野外であると判定した場合は、前記3次元視覚センサの視野を広げるか移動させることにより前記第2の対象を探索し、前記第2の対象が前記3次元視覚センサの視野に含まれるように前記センサ移動手段を制御する、
ロボット制御システム。
【請求項2】
前記第1の対象が前記ロボットハンド自体であり、
前記第2の対象がワーク上の作業目標である、
請求項1に記載のロボット制御システム。
【請求項3】
前記制御装置はさらに、前記3次元情報に基づいて前記ロボットハンドが前記作業目標に対して作業するための作業姿勢を算出し、該作業姿勢と前記ロボットハンドの姿勢のずれを減少させるように前記ロボットハンドの姿勢をフィードバック制御する、
請求項2に記載のロボット制御システム。
【請求項4】
前記第1の対象が前記ロボットハンドが把持したワークの特定部位であり、
前記第2の対象が前記特定部位を接続する接続目標である、
請求項1に記載のロボット制御システム。
【請求項5】
前記制御装置はさらに、前記3次元情報に基づいて前記特定部位を前記接続目標に接続するための接続姿勢を算出し、該接続姿勢と前記特定部位の姿勢のずれを減少させるように前記ロボットハンドの姿勢をフィードバック制御する、
請求項4に記載のロボット制御システム。
【請求項6】
前記第1の対象が前記ロボットハンドが把持したワークであり、
前記第2の対象が前記ワークを配置する配置目標であり、
前記制御装置はさらに、前記3次元情報に基づいて前記配置目標の姿勢を算出し、該配置目標の姿勢と前記ワークの姿勢のずれを減少させるように前記ロボットハンドの姿勢をフィードバック制御する、
請求項1に記載のロボット制御システム。
【請求項7】
前記3次元視覚センサが前記ロボットハンドに固定され、
前記センサ移動手段が前記ロボットである、
請求項2~6のいずれか一項に記載のロボット制御システム。
【請求項8】
前記3次元視覚センサが前記ロボットと離れて設置される、
請求項2~6のいずれか一項に記載のロボット制御システム。
【請求項9】
前記3次元視覚センサがステレオカメラである、
請求項2~8のいずれか一項に記載のロボット制御システム。
【請求項10】
前記ワークが線状物または帯状物である、
請求項2~9のいずれか一項に記載のロボット制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元視覚センサを利用してロボットをフィードバック制御するロボット制御システムに関する。
【背景技術】
【0002】
ワークを把持する作業やワークを所定の位置に接続する作業を、ロボットを利用して自動化することが行われている。一般的なロボット制御システムでは、ロボットのハンドを目標となる対象物まで移動させるために、カメラ等の視覚センサで対象物の位置情報を取得した後、この位置情報をカメラ座標系から世界座標系に変換し、さらにロボット座標系に変換してロボットに伝える。しかし、カメラ座標系-世界座標系間の変換行列を決定するには、カメラのキャリブレーションを行う必要があり、このキャリブレーション作業は極めて手間とコストのかかる作業であった。
【0003】
これに対して近年、ビジュアルフィードバック制御と呼ばれる技術の開発が進んでいる。この制御方法は、視覚センサが撮像した画像から得られる特徴量に基づいてロボットをフィードバック制御する方法である。例えば、対象物とロボットのハンドとの距離を特徴量として、この距離が減少するようにロボットの動作をフィードバック制御することにより、対象物の位置の座標変換を行うことなく、ハンドを対象物に到達させることができる。
【0004】
特許文献1には、ワークの把持等を行うロボットシステムにおいて、ロボットアームの位置姿勢の視覚フィードバック制御を行うロボット制御装置が記載されている。特許文献1に記載されたロボット制御装置は、まず、ロボットアームを予めワークに対する教示目標位置に位置させた状態でロボットアームに取付けられたCCDカメラによりワークを撮影し、得られた画像上の特徴量を目標データとして視覚認識装置に記憶する。そして、作業中の現在データと目標データとの誤差を求め、誤差が0に収束するまでロボットアームの位置姿勢を制御することを繰返す。特徴量は、ワークに設定された複数個の特徴点を画像から抽出して、その位置や向きに基づいて視覚認識装置によって求められ、ワークの位置及び姿勢を認識するものである。
【0005】
特許文献2には、高齢者等の介護を支援する生活支援ロボットアーム及びハンドをビジュアルフィードバック制御する制御装置であって、ロボットアームのハンドに把持対象物を把持させた後、把持対象物を目標位置に移動させる制御装置が記載されている。特許文献2には、把持対象物を把持する直前、直後に、把持対象物自体がカメラの視界を阻害し、目標位置の特定ができないという問題を解決するために、ハンドの把持部に前方カメラを設けるとともに側方にも側方カメラを設置し、ハンドが把持対象物を把持する直前あるいは直後において、ビジュアルフィードバック制御の基礎となるカメラを前方カメラから側方カメラに切り換えることが記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2003-211381号公報
【特許文献2】特開2011-235386号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、特許文献1に記載された制御装置は、ワークが線状物などであって変形しやすく、特徴点相互の位置関係が一定しない場合には、ワーク毎に目標データとすべき特徴量が異なるため、かかるワークを対象とする作業には適用できないという問題があった。また、特許文献2に記載された制御装置では、把持対象物や目標位置が動いてカメラの視野から外れると作業を完了させることができない。
【0008】
本発明は、上記を考慮してなされたものであり、ビジュアルフィードバック制御によってロボットに作業を行わせるロボット制御システムであって、ワークが変形しやすい場合にも適用可能で、作業の対象が3次元視覚センサの視野から外れた場合にも作業を継続可能なロボット制御システムを提供することを課題とする。
【課題を解決するための手段】
【0009】
本発明のロボット制御システムは、ロボットハンドの動作に連動して移動する第1の対象を、静止しているまたは前記ロボットハンドの動作によらず移動する第2の対象まで移動させるロボットを制御するシステムであって、前記第2の対象の3次元情報を取得する3次元視覚センサと、前記3次元視覚センサを移動させるセンサ移動手段と、制御装置とを有する。そして、前記制御装置は、前記3次元情報に基づいて前記第2の対象と前記第1の対象の距離を算出し、前記第2の対象と前記第1の対象の距離を減少させるように前記ロボットハンドの位置をフィードバック制御し、前記第2の対象が前記3次元視覚センサの視野内にあるか否かを判定し、視野外であると判定した場合は、前記3次元視覚センサの視野を広げるか移動させることにより前記第2の対象を探索し、前記第2の対象が前記3次元視覚センサの視野に含まれるように前記センサ移動手段を制御する。
【0010】
本発明のロボット制御システムの第1の態様において、前記第1の対象が前記ロボットハンド自体であり、前記第2の対象がワーク上の作業目標である。
すなわち、第1の態様のロボット制御システムは、ロボットハンドを、静止しているまたは前記ロボットハンドの動作によらず移動するワーク上の作業目標まで移動させるロボットを制御するシステムであって、前記作業目標の3次元情報を取得する3次元視覚センサと、前記3次元視覚センサを移動させるセンサ移動手段と、制御装置とを有する。そして、前記制御装置は、前記3次元情報に基づいて前記作業目標と前記ロボットハンドの距離を算出し、前記作業目標と前記ロボットハンドの距離を減少させるように前記ロボットハンドの位置をフィードバック制御し、前記作業目標が前記3次元視覚センサの視野内にあるか否かを判定し、視野外であると判定した場合は、前記3次元視覚センサの視野を広げるか移動させることにより前記作業目標を探索し、前記作業目標が前記3次元視覚センサの視野に含まれるように前記センサ移動手段を制御する。
【0011】
ここで、作業とは、ロボットハンドによってワーク上の作業目標に対して何らかの作用を及ぼすことを広く意味し、例えば、ロボットハンドによって作業目標を挟持や吸着によって把持することや、作業目標に切削、研削、放電、はんだ付け等の各種加工を施すことなどが含まれる。
【0012】
上記第1の態様のロボット制御システムにおいて、好ましくは、前記制御装置はさらに、前記3次元情報に基づいて前記ロボットハンドが前記作業目標に対して作業するための作業方向を算出し、該作業方向と前記ロボットハンドの向きのずれを減少させるように前記ロボットハンドの向きをフィードバック制御する。
【0013】
上記第1の態様のロボット制御システムにおいて、好ましくは、前記制御装置はさらに、前記3次元情報に基づいて前記ロボットハンドが前記作業目標に対して作業するための作業姿勢を算出し、該作業姿勢と前記ロボットハンドの姿勢のずれを減少させるように前記ロボットハンドの姿勢をフィードバック制御する。
【0014】
本発明のロボット制御システムの第2の態様において、前記第1の対象が前記ロボットハンドの把持したワークの特定部位であり、前記第2の対象が前記特定部位を接続する接続目標である。
すなわち、第2の態様のロボット制御システムは、ロボットハンドが把持したワークの特定部位を、前記特定部位を接続する接続目標であって、静止しているまたは前記ロボットハンドの動作によらず移動する接続目標まで移動させるロボットを制御するシステムであって、前記接続目標の3次元情報を取得する3次元視覚センサと、前記3次元視覚センサを移動させるセンサ移動手段と、制御装置とを有する。そして、前記制御装置は、前記3次元情報に基づいて前記接続目標と前記特定部位の距離を算出し、該接続目標と該特定部位の距離を減少させるように前記ロボットハンドの位置をフィードバック制御し、前記接続目標が前記3次元視覚センサの視野内にあるか否かを判定し、視野外であると判定した場合は、前記3次元視覚センサの視野を広げるか移動させることにより前記接続目標を探索して、前記接続目標が前記3次元視覚センサの視野に含まれるように前記センサ移動手段を制御する。
【0015】
ここで、接続とは、ワークの特定部位を移動させて接続目標に一致させることを広く意味し、例えば、ワークが備えるコネクタ(特定部位)を対となる他のコネクタ(接続目標)に接続することや、線状や帯状のワークの先端(特定部位)を穴やスリット(接続目標)に挿入することなどが含まれる。
【0016】
上記第2の態様のロボット制御システムにおいて、好ましくは、前記制御装置はさらに、前記3次元情報に基づいて前記特定部位を前記接続目標に接続するための接続方向を算出し、該接続方向と前記特定部位の向きのずれを減少させるように前記ロボットハンドの姿勢をフィードバック制御する。
【0017】
上記第2の態様のロボット制御システムにおいて、好ましくは、前記制御装置はさらに、前記3次元情報に基づいて前記特定部位を前記接続目標に接続するための接続姿勢を算出し、該接続姿勢と前記特定部位の姿勢のずれを減少させるように前記ロボットハンドの姿勢をフィードバック制御する。
【0018】
本発明のロボット制御システムの第3の態様において、前記第1の対象が前記ロボットハンドの把持したワークであり、前記第2の対象が前記ワークを配置する配置目標であり、前記制御装置はさらに、前記3次元情報に基づいて前記ワークを前記配置目標に配置するための配置姿勢を算出し、該配置姿勢と前記ワークの姿勢のずれを減少させるように前記ロボットハンドの姿勢をフィードバック制御する。
すなわち、第3の態様のロボット制御システムは、ロボットハンドが把持したワークを、前記ワークを配置する配置目標であって、静止しているまたは前記ロボットハンドの動作によらず移動する配置目標まで移動させるロボットを制御するシステムであって、前記配置目標の3次元情報を取得する3次元視覚センサと、前記3次元視覚センサを移動させるセンサ移動手段と、制御装置とを有する。そして、前記制御装置は、前記3次元情報に基づいて前記配置目標と前記ワークの距離を算出し、前記配置目標の姿勢を算出し、前記配置目標と前記ワークの距離、および前記配置目標の姿勢と前記ワークの姿勢のずれを減少させるように前記ロボットハンドの位置をフィードバック制御し、前記配置目標が前記3次元視覚センサの視野内にあるか否かを判定し、視野外であると判定した場合は、前記3次元視覚センサの視野を広げるか移動させることにより前記配置目標を探索して、前記配置目標が前記3次元視覚センサの視野に含まれるように前記センサ移動手段を制御する。
【0019】
ここで、配置目標は、ワークを配置するために十分な大きさを有する領域であり、配置とはワークを配置目標内に置くことを意味する。
【発明の効果】
【0020】
本発明のロボット制御システムによれば、ビジュアルフィードバック制御によってロボットに作業を行わせるにあたり、ワークが変形しやすいものであっても適用可能であり、作業の対象が3次元視覚センサの視野から外れた場合にも作業が継続可能である。
【図面の簡単な説明】
【0021】
【
図1】第1実施形態のロボット制御システムの機器構成を示す図である。
【
図2】第1実施形態のロボット制御システムを用いたワーク把持作業の工程フロー図である。
【
図3】線状のワークの把持位置および把持姿勢を説明するための図である。
【
図4】第2実施形態のロボット制御システムの機器構成を示す図である。
【
図5】第2実施形態のロボット制御システムを用いたワーク把持作業の工程フロー図である。
【
図6】第3実施形態のロボット制御システムの機器構成を示す図である。
【
図7】第3実施形態のロボット制御システムを用いた接続作業の工程フロー図である。
【
図8】接続目標の接続姿勢を説明するための図である。
【
図9】第4実施形態のロボット制御システムの機器構成を示す図である。
【
図10】第5実施形態のロボット制御システムの機器構成を示す図である。
【
図11】第5実施形態または第6実施形態のロボット制御システムを用いた配置作業の工程フロー図である。
【
図12】第6実施形態のロボット制御システムの機器構成を示す図である。
【発明を実施するための形態】
【0022】
本発明のロボット制御システムの第1実施形態を
図1~3に基づいて説明する。本実施形態では、ワークをロボットハンドで把持する作業において、ロボットハンドに固定された3次元視覚センサが取得する情報に基づいてロボットハンドの移動をフィードバック制御する。
【0023】
本実施形態のロボット制御システム11は、ロボットハンド24を備えたロボット20と、ロボットハンドに固定されたステレオカメラ30と、ロボット制御システム11の全体を制御する制御装置40とを有する。ロボット制御システム11は、ワークであるケーブル50上の把持位置52をロボットハンド24に把持させる。把持位置52はこの把持作業における作業目標である。ロボットハンド24の位置姿勢は、ステレオカメラ30が取得する3次元情報に基づいて、制御装置40によってフィードバック制御される。なお、本明細書において、ロボットハンドを単に「ハンド」ということがある。また、ハンドの位置は、特に断りのない限り、ハンドのツールセンターポイント(TCP)の位置を意味する。
【0024】
本実施形態では、ケーブル50をワークの例として説明するが、ハンド24が把持するワークの種類は特に限定されない。ワークはケーブル以外の線状物であってもよいし、線状物以外の、例えばフラットケーブル等の帯状物であってもよい。また、ワークはコネクタ付きハーネス、電子部品、食品、文房具などであってもよい。本実施形態のロボット制御システム11は、柔軟で変形しやすいワークに対しても適用できるので、ワークが線状物や帯状物である場合に特にメリットがある。ケーブル50の供給形態は特に限定されない。ケーブル50はトレイ等の上に載置されていてもよいし、筒状の容器に、一端を容器の外に出して収容されていてもよい。また、ケーブル50は静止していてもよいし、コンベアベルト55などに載置されて、ハンド24の動作とは無関係に移動していてもよい。
【0025】
また、本実施形態では、ケーブルの把持作業を例として説明するが、ハンド24が作業目標に対して行う作業は、把持作業には限定されない。例えば、ハンドとして適当なエンドエフェクタを選択することによって、ワークの作業目標に切削、研削、放電、はんだ付け等の各種加工を施してもよい。
【0026】
ロボット20は多関節ロボットであって、複数のリンク22と関節23からなるアーム21と、アームの先端に装着されたハンド24を備える。ハンド24の形式は特に限定されず、ワークの種類に応じて、その把持に適したものを用いることができる。ハンドは、例えばワークを一対の指で挟持するものであってもよいし、ワークをノズルで真空吸着して把持するものであってもよい。なお、本実施形態では、ハンド24に3次元視覚センサであるステレオカメラ30が固定されており、ロボット20がステレオカメラの位置および姿勢を変化させるセンサ移動手段を兼ねている。
【0027】
ステレオカメラ30は3次元視覚センサであって、ケーブル50の3次元情報を取得する。ここで、ケーブルの3次元情報とは、ケーブル上の把持位置の3次元座標を導出可能とする情報である。ステレオカメラ30が取得する3次元情報は、具体的には、異なる視点から撮像された2枚の画像である。以下において、ステレオカメラ30が取得する画像を「ステレオ画像」または単に「画像」という。
【0028】
本実施形態のステレオカメラ30はハンド24に固定されている。ステレオカメラは、ハンドの基端部に、ハンドの先端方向に向けて設置することが好ましい。ただし、ステレオカメラとハンドの相対的な位置関係は設計図等から既知であるため、ステレオカメラの視野にハンドが入っていなくても差し支えない。
【0029】
3次元視覚センサの種類はステレオカメラに限定されず、ワークの3次元情報を含む画像が取得可能であれば特に限定されない。3次元視覚センサの例としては、ステレオ方式のカメラの1台を光を投影するプロジェクタに置き換えた光切断法などのアクティブステレオ方式、ToF方式などの機器が挙げられる。3次元視覚センサとしては、好ましくはステレオカメラを用いる。ステレオカメラは、近距離にある対象物を精度良く3次元計測するのに適しており、ハンド24がケーブル50を把持する際に、ステレオカメラ30がケーブル50に近付くにしたがって、把持位置52の3次元座標等をより高精度で求めることができるからである。なお、ステレオカメラは3台以上のカメラによって、同時に3枚以上の画像を撮像するものであってもよい。
【0030】
制御装置40は、各種演算を行うとともに、ロボット制御システム11の全体を制御する。制御装置40は、ステレオカメラ30が取得した画像の画像処理を行い、ケーブル50上の把持位置52の3次元座標を求め、把持位置52とハンド24の距離を算出するなどの各種演算を行う。制御装置40は、把持位置52とハンド24との距離を減少させるように、ロボット20をフィードバック制御してハンド24を移動させることによって、ハンドの位置をフィードバック制御する。また、制御装置40は、把持位置がステレオカメラ30の取得した画像内にあるか否かを判定する。そして、把持位置52がステレオカメラ30の視野外にあって、画像に写っていない場合は、ステレオカメラの位置、姿勢またはその両方を変えることにより把持位置を探索して、把持位置がステレオカメラの視野に含まれるようにセンサ移動手段、本実施形態ではロボット20の動作を制御する。制御装置による演算や制御の内容の詳細は後述する。
【0031】
制御装置40の物理的な構成は特に限定されない。制御装置40は、物理的に1台の装置として構成されていてもよいし、2つ以上の部分に分けて構成されていてもよい。また、制御装置40は、ロボット20の関節23やハンド24の動作を制御するロボットの制御部(図示せず)と一体に構成されていてもよい。
【0032】
次に、本実施形態のロボット制御システム11を用いて、ハンド24でケーブル50を把持する作業を
図2の工程フローに沿って説明する。
【0033】
(S11)ステレオカメラ30でケーブル50を撮像して、ケーブルの3次元情報を取得する。この3次元情報は、制御装置40がケーブル50上の把持位置52の3次元座標等を算出する基礎となるので、ステレオカメラは、少なくとも把持位置の座標を算出可能な範囲を撮像する。把持位置の座標を算出可能な範囲とは、例えば、把持位置がマークで示されている場合はそのマークが含まれていれば足り、把持位置がマークやケーブルの先端など何らかの目印からの距離で決められている場合は、当該目印から把持位置までの部分をいう。
図3では、把持位置52はケーブル50の先端51から距離dの位置に設定されている。
【0034】
また、ケーブル50を把持するときのハンド24の向きXが制限される場合には、ステレオカメラ30は、少なくともハンドが把持位置52を把持するための把持方向Aを算出可能な範囲を撮像する。把持方向Aを算出可能な範囲とは、例えば、ケーブルを側方から把持する場合であれば、把持位置を含む領域であって、把持位置52におけるケーブルの接線方向Tが算出可能な程度に広い範囲である。接線方向Tが求まれば、ケーブルに対する把持方向Aを算出することができる。
【0035】
さらに、本実施形態のように、ハンド24がその向きXの周りに等方的でなく、2本の指でケーブル50を挟持する場合は、ツールセンターポイントTCPを把持位置52に一致させたときに指がケーブルと干渉することを避ける必要があるので、ハンドがケーブルを把持する際に、ハンドの向きXに加えて、Xの周りの回転角度θも制限される。このような場合、ステレオカメラ30は、少なくともハンドが把持位置52を把持するための把持姿勢を算出可能な範囲を撮像する。把持姿勢は、ハンドがケーブルを把持するのに所要の姿勢である。ハンドの姿勢は、ハンドの向きXとXの周りの回転角度θで表され、把持姿勢は、把持方向Aと把持位置を把持するハンドのAの周りの回転角度αで表される。把持姿勢を算出可能な範囲は、上記の把持方向Aを算出可能な範囲と同様に、例えば、ケーブルを側方から把持する場合であれば、把持位置を含む領域であって、把持位置52におけるケーブルの接線方向Tが算出可能な程度に広い範囲である。
【0036】
(S12)制御装置40は、ステレオカメラ30が取得したステレオ画像に把持位置52が含まれているか否かを判定する。把持位置がステレオカメラ30の視野内になく、画像に含まれていない場合は、把持位置を探索する。探索工程(S17)については後述する。なお、把持位置の近傍に目印がなく、把持位置の3次元座標を求めてみなければ画像に把持位置が含まれるか否かの判定ができない場合は、次工程(S13)の後に本判定工程(S12)を実施する。次工程(S13)で把持位置52の3次元座標が算出できれば把持位置は画像に含まれていたことになり、把持位置52の3次元座標が算出できなければ把持位置は画像に含まれていなかったと判定できる。
【0037】
(S13)制御装置40は、ステレオ画像を処理して、ケーブル50の立体形状を認識し、把持位置52の3次元座標と把持姿勢を算出する。これらの値は、ある程度の幅を持った許容範囲として算出してもよい。制御装置40が算出する3次元座標や姿勢は、すべてカメラ座標系における値である。ケーブルの立体形状の認識、把持位置52の3次元座標と把持姿勢の算出方法は、公知の方法によって行うことができる。例えば、ワークが帯状物である場合について把持位置および把持方向を算出する方法が、本出願人による特開2020-037147に開示されている。
【0038】
(S14)制御装置40は、把持位置52とハンド24との距離、および把持姿勢とハンドの姿勢とのずれを算出する。ハンド24の位置および姿勢は、ハンドがステレオカメラ30の視野内にあって画像に写っていれば、画像に基づいて算出してもよいが、本実施形態では、ハンド24にステレオカメラ30が固定されているためステレオカメラとハンドの相対的な位置関係が既知であるので、ハンドが画像に写っていない場合であっても、カメラ座標系でのハンドの位置および姿勢を知ることができる。
【0039】
(S15)制御装置40は、把持位置52とハンド24の位置の座標、および把持姿勢とハンド24の姿勢が一致しているか否かを判定する。把持位置とハンドの位置、および把持姿勢とハンドの姿勢が一致した場合は、ハンド24で把持位置を把持する(工程S18)。なお、把持姿勢としてその許容範囲が与えられている場合は、ハンドの姿勢がその範囲内にあれば、両者は一致したとみなす。把持位置の3次元座標についても同様である。
【0040】
(S16)把持位置52とハンド24の位置、または把持姿勢とハンド24の姿勢が一致していない場合は、制御装置40がロボット20に指示して、把持位置とハンドの距離、および把持姿勢とハンド24の姿勢のずれを減少させるようにハンド24の位置姿勢をフィードバック制御する。この過程で、ハンド24に固定されたステレオカメラ30も把持位置に近づいていくので、把持位置の3次元座標等の算出精度も次第に高まることとなる。
【0041】
(S17)工程S12で、ステレオカメラ30が取得した画像に把持位置52が含まれていないと判定された場合は、ステレオカメラの視野を広げるか移動させて、ステレオカメラの視野から外れた把持位置を探索する。
【0042】
ステレオカメラの視野を広げる一つの方法は、ステレオカメラが固定されたハンド24をケーブル50から遠ざかるように移動させる方法である。把持位置52が見つかったら、工程S11以降を繰り返す。または、ステレオカメラ30の向きを変えて把持位置を視野の中心に寄せた後、工程S11以降を繰り返してもよい。
【0043】
ステレオカメラの視野を広げる他の方法は、ステレオカメラ30の焦点距離が可変である場合に、ステレオカメラをズームアウトする方法である。把持位置52が見つかったら、ステレオカメラ30の向きを変えて把持位置を視野の中心に寄せた後、工程S11以降を繰り返す。ステレオカメラの焦点距離は、把持位置を視野の中心に寄せた後、または工程S11以降を繰り返す過程のどこかの段階で元に戻す。
【0044】
ステレオカメラの視野を移動させる一つの方法は、ステレオカメラが固定されたハンド24の姿勢を変えて、例えば、視線中心が螺旋を描くように視野を移動させる方法である。把持位置52が見つかったら、ステレオカメラ30の向きを把持位置52が見つかった向きのままにして、あるいは好ましくは把持位置を視野の中心に寄せた後、工程S11以降を繰り返す。
【0045】
以上のとおり、制御装置40がセンサ移動手段であるロボット20を制御し、あるいはロボット20およびステレオカメラ30を制御して、把持位置52を探索できる。なお、本工程(S17)において把持位置をステレオカメラの視野の中心に寄せるために、ビジュアルフィードバック制御を用いることができる。また、本工程(S17)では、把持位置52がステレオカメラ30の視野内にあるか否かが分かればよく、把持位置の3次元座標は利用しない。したがって、本工程はステレオ画像のうち1枚の画像だけを利用して実施することもできる。
【0046】
以上の工程を繰り返すことで、前述のとおり、工程S15において把持位置52とハンド24の位置、および把持姿勢とハンドの姿勢が一致していると判定された場合は、ハンド24で把持位置52を把持して(S18)、作業が完了する。
【0047】
なお、ワークを把持する際のハンドの姿勢が問題とならない場合は、把持姿勢の算出や把持姿勢とハンドの姿勢のずれの算出、一致判定は不要である。上記各工程は、把持位置とハンド24の位置だけに着目して実施することができる。同様に、ワークを把持する際のハンドの回転角度θが問題とならない場合は、上記各工程は、把持位置、把持方向A、ハンドの位置およびハンドの向きXだけに着目して実施することができる。また、ハンドの向きXや回転角度θの修正は、ハンドの位置の修正とは独立して、上記工程を繰り返す過程のどこかの段階でまとめて実施してもよい。ハンドの姿勢や回転角度が問題とならない場合にハンドの位置や向きXだけに着目すればよいことは、以降の第2~第4実施形態においても同様である。また、ハンドの姿勢の修正を位置の修正と独立して実施可能なことは、以降の第2~第6実施形態においても同様である。
【0048】
本発明のロボット制御システムの第2実施形態を
図4~5および
図3に基づいて説明する。本実施形態では、ワークをロボットハンドで把持する作業において、ロボットとは離れて設置された3次元視覚センサが取得する情報に基づいてロボットハンドの移動をフィードバック制御する。以下においては、第1実施形態と異なる部分を説明し、第1実施形態と同様の部分については説明を省略する。
【0049】
本実施形態のロボット制御システム12は、ロボットハンド24を備えたロボット20と、ロボットとは離れて設置されたステレオカメラ30と、ステレオカメラを移動させるセンサ移動手段32と、ロボット制御システム12の全体を制御する制御装置40とを有する。ロボット制御システム12は、ワークであるケーブル50上の把持位置52をロボットハンド24に把持させる。この把持作業において、ロボットハンド24の位置姿勢は、ステレオカメラ30が取得する3次元情報に基づいて、制御装置40によってフィードバック制御される。
【0050】
ステレオカメラ30は、ケーブル50の3次元情報を取得するとともに、本実施形態ではハンド24の3次元情報も取得する。
【0051】
センサ移動手段32は3次元視覚センサであるステレオカメラ30の位置および姿勢を変化させる。センサ移動手段の構造は、ロボット20と同様の多関節ロボットであってもよいが、作業の内容に応じて、ステレオカメラの位置および姿勢を所定の範囲で変化させられればよいので、ロボット20より単純な構造とすることができる。例えば、ケーブル50が移動しない場合は、ハンド24の移動にしたがって、ケーブルに向けたステレオカメラとケーブルとの距離を変化させるだけでよいので、シリンダーを伸縮させるリニアアクチュエータを用いることができる。ケーブル50が移動する場合で、関節を有するアームを用いる場合であっても、関節の数をロボット20より少なくできることが多い。
【0052】
制御装置40は、ステレオカメラ30が取得した画像の画像処理を行い、ケーブル50上の把持位置52の3次元座標とともにハンド24の位置の3次元座標を算出し、ステレオカメラ30が取得したステレオ画像に把持位置52およびハンド24が含まれているか否かを判定する。制御装置による演算や制御の内容の詳細は後述する。
【0053】
次に、本実施形態のロボット制御システム12を用いて、ハンド24でケーブル50を把持する作業を
図5の工程フローに沿って説明する。
【0054】
(S21)ステレオカメラ30でケーブル50およびハンド24を撮像して、ケーブルおよびハンドの3次元情報を取得する。
【0055】
(S22)制御装置40は、ステレオカメラ30が取得したステレオ画像に把持位置52およびハンド24が含まれているか否かを判定する。把持位置およびハンドのいずれかがステレオカメラ30の視野内になく、画像に含まれていない場合は、探索工程(S27)によって把持位置またはハンドを探索する。
【0056】
(S23)制御装置40は、ステレオ画像を処理して、ケーブル50の立体形状を認識して把持位置52の3次元座標と把持姿勢を算出し、同時に、ハンド24の立体形状を認識してハンドの位置および姿勢を算出する。
【0057】
(S24)制御装置40は、把持位置52とハンド24との距離、および把持姿勢とハンドの姿勢とのずれを算出する。
【0058】
(S25)制御装置40は、把持位置52とハンド24の位置の座標、および把持姿勢とハンド24の姿勢が一致しているか否かを判定する。把持位置とハンドの位置、および把持姿勢とハンドの姿勢が一致した場合は、ハンド24で把持位置を把持する(工程S28)。
【0059】
(S26)把持位置52とハンド24の位置、または把持姿勢とハンド24の姿勢が一致していない場合は、制御装置40がロボット20に指示して、把持位置とハンドの距離、および把持姿勢とハンド24の姿勢のずれを減少させるようにハンド24の位置姿勢をフィードバック制御する。また、制御装置40は、センサ移動手段32に指示して、ステレオカメラ30の位置姿勢を制御する。具体的には、把持位置52またはハンド24が画像の周縁部にあるときは、両者を画像の中心に向けて寄せるように、ステレオカメラの視野を移動させる。また、ハンドがケーブルに近づくのに合わせて、把持位置およびハンドの位置姿勢の計測精度を高めるために、ステレオカメラと把持位置との距離を縮める。
【0060】
(S27)工程S22で、ステレオカメラ30が取得した画像に把持位置52またはハンド24が含まれていないと判定された場合は、把持位置を探索する。把持位置を探索する方法は、第1実施形態と同様に、ステレオカメラ30の視野を広げるか移動させることによって行うことができる。具体的には、ステレオカメラをケーブル50から遠ざけることにより、またはステレオカメラ30の焦点距離が可変である場合はステレオカメラを制御してズームアウトすることによりカメラの視野を広げて、ステレオカメラの視野から外れた把持位置を探索する。あるいは、ステレオカメラの視野を移動させて、ステレオカメラの視野から外れた把持位置を探索する。把持位置52またはハンド24が見つかったら、把持位置およびハンドをステレオカメラの視野に収めた状態にした後、工程S21以降を繰り返す。
【0061】
以上の工程を繰り返すことで、前述のとおり、工程S25において把持位置52とハンド24の位置、および把持姿勢とハンドの姿勢が一致していると判定された場合は、ハンド24で把持位置52を把持して(S28)、作業が完了する。
【0062】
本発明のロボット制御システムの第3実施形態を
図6~8に基づいて説明する。本実施形態では、ロボットハンドが把持したワーク上の特性部位を所定の接続目標に接続する作業において、ロボットハンドに固定された3次元視覚センサが取得する情報に基づいてロボットハンドの移動をフィードバック制御する。以下においては、第1実施形態と異なる部分を説明し、第1実施形態と同様の部分については説明を省略する。
【0063】
本実施形態のロボット制御システム13は、ロボットハンド24を備えたロボット20と、ロボットハンドに固定されたステレオカメラ30と、ロボット制御システム13の全体を制御する制御装置40とを有する。ロボット制御システム13は、ロボットハンド24が把持したケーブル60(ワーク)の先端に装着されたプラグ61(特定部位)を、基板62上のソケット63(接続目標)に接続する。この接続作業において、ロボットハンド24の位置姿勢は、ステレオカメラ30が取得する3次元情報に基づいて、制御装置40によってフィードバック制御される。
【0064】
本実施形態では、ケーブル60をワーク、プラグ61を特定部位、ソケット63を接続目標の例として説明するが、これらの種類は特に限定されない。本実施形態のロボット制御システム13は、例えば、ケーブルやチューブの先端を加工装置等の開口部やスリットに通す、各種部品の所定の部位を機器内の所定の位置に嵌める、カバーや外装パネルの所定の部位を機器本体等の所定の位置に固定するなどの接続作業にも適用できる。また、ソケット63は静止していてもよいし、コンベアベルト55などに載置されて、ハンド24の動作とは無関係に移動していてもよい。
【0065】
本実施形態において、ワークが変形しない場合(ロボットハンド24がプラグ61を直接把持している場合などを含む)は、ワークを特定の位置および向きで把持していれば、ハンド24に固定されたステレオカメラ30とプラグ61の相対的な位置関係は既知である。一方、ワークが柔軟であるとか、変形しやすいまたはワークの把持位置や向きが定まっていない場合には、ステレオカメラとプラグの相対的な位置関係が一定せず、未知である。以下においては、ステレオカメラとプラグの相対的な位置関係が未知である場合について説明する。
【0066】
ステレオカメラ30はソケット63およびプラグ61の3次元情報を取得する。なお、本実施形態のロボット20はステレオカメラの位置および姿勢を変化させるセンサ移動手段を兼ねている。
【0067】
制御装置40は、ステレオカメラ30が取得した画像の画像処理、各種演算、ロボット20のフィードバック制御、ソケット63の探索などを行う。制御装置による演算や制御の内容は後述する。
【0068】
次に、本実施形態のロボット制御システム13による接続作業を、
図7の工程フローに沿って説明する。
【0069】
(S31)ステレオカメラ30でソケット63およびプラグ61を撮像して、それぞれの位置の3次元情報を取得する。また、プラグをソケットに接続するときのプラグの向きYおよびYの周りの回転角度φが制限される場合には、ステレオカメラ30は、少なくともソケットにプラグを接続するための接続方向BおよびBの周りの回転角度βを算出可能な範囲を撮像する。以下において、プラグをソケットに接続するのに所要の接続方向Bおよび回転角度βを総称して「接続姿勢」という。
【0070】
(S32)制御装置40は、ステレオカメラ30が取得したステレオ画像にソケット63およびプラグ61が含まれているか否かを判定し、ソケットまたはプラグがステレオカメラ30の視野内になく、画像に含まれていない場合は、探索工程(S37)を実施する。
【0071】
(S33)制御装置40は、ステレオ画像を処理して、ソケット63およびプラグ61の立体形状を認識し、ソケットの位置の3次元座標と接続姿勢を算出するとともに、プラグの位置の3次元座標および姿勢を算出する。
【0072】
(S34)制御装置40は、ソケット63とプラグ61との距離、および接続姿勢とプラグの姿勢とのずれを算出する。
【0073】
(S35)制御装置40は、ソケット63とプラグ61の位置、および接続姿勢とプラグの姿勢が一致しているか否かを判定する。ソケットとプラグの位置、および接続姿勢とプラグ姿勢が一致した場合は、プラグをソケットに接続する(工程S38)。
【0074】
(S36)ソケット63とプラグ61の位置、または接続姿勢とプラグ姿勢が一致していない場合は、制御装置40がロボット20に指示して、ソケットとプラグの距離、および接続姿勢とプラグ姿勢のずれを減少させるようにハンド24をフィードバック制御する。この過程で、ハンド24に固定されたステレオカメラ30もソケットに近づいていくので、ソケットの3次元座標等の算出精度も次第に高まることとなる。
【0075】
(S37)工程S32での判定結果により、ソケット63またはプラグ61を探索する場合は、第1実施形態と同様に、ステレオカメラの視野を広げ、または移動させて、ステレオカメラの視野から外れたソケットまたはプラグの探索を行う。
【0076】
以上の工程を繰り返すことで、前述のとおり、工程S35においてソケット63とプラグ61の位置、および接続姿勢とプラグ姿勢が一致していると判定された場合は、プラグをソケットに接続して(S38)、作業が完了する。
【0077】
なお、ステレオカメラ30とプラグ61の相対的な位置関係が既知である場合は、工程S31におけるプラグの撮像、工程S32におけるプラグが画像に含まれるか否かの判定、工程S33におけるプラグの位置姿勢の算出、および工程S37におけるプラグの探索は行わなくてもよい。
【0078】
本発明のロボット制御システムの第4実施形態を
図8~9に基づいて説明する。本実施形態では、ロボットハンドが把持したワーク上の特性部位を所定の接続目標に接続する作業において、ロボットとは離れて設置された3次元視覚センサが取得する情報に基づいてロボットハンドの移動をフィードバック制御する。以下においては、第3実施形態と異なる部分を説明し、第3実施形態と同様の部分については説明を省略する。
【0079】
本実施形態のロボット制御システム14は、ロボットハンド24を備えたロボット20と、ロボットとは離れて設置されたステレオカメラ30と、ステレオカメラを移動させるセンサ移動手段32と、ロボット制御システム14の全体を制御する制御装置40とを有する。ロボット制御システム14は、ロボットハンド24が把持したケーブル60(ワーク)の先端に装着されたプラグ61(特定部位)を、基板62上のソケット63(接続目標)に接続する。この接続作業において、ロボットハンド24の位置姿勢は、ステレオカメラ30が取得する3次元情報に基づいて、制御装置40によってフィードバック制御される。
【0080】
本実施形態では、ステレオカメラ30がロボットとは離れて設置されているため、ワークの種類によらず、ステレオカメラ30とプラグ61の相対的な位置関係は未知である。したがって、ステレオカメラ30はソケット63およびプラグ61の3次元情報を取得し、制御装置40は、ステレオカメラ30が取得した画像に基づいてソケットおよびプラグの位置の3次元座標を算出する。また、制御装置40は、ソケットおよびプラグが画像内にあるか否かを判定し、ソケットまたはプラグが画像に写っていない場合はソケットまたはプラグを探索する。センサ移動手段32は3次元視覚センサであるステレオカメラ30の位置および姿勢を変化させる。センサ移動手段32の構造は第2実施形態で説明したものと同じである。
【0081】
本実施形態のロボット制御システム14による接続作業方法は、第3実施形態においてステレオカメラ30とプラグ61の相対的な位置関係が未知である場合と同様である。ただし、本実施形態では、ステレオカメラ30がロボットとは離れて設置されているため、
図7の工程S36において、ハンド24を移動させるとともに、制御装置40がセンサ移動手段32に指示して、ステレオカメラ30の位置姿勢を制御する。具体的には、ソケット63またはプラグ61が画像の周縁部にあるときは、両者を画像の中心に向けて寄せるように、ステレオカメラの視野を移動させる。また、ハンドがソケットに近づくのに合わせて、ソケットおよびプラグの位置姿勢の計測精度を高めるために、ステレオカメラとソケットとの距離を縮める。
【0082】
本発明のロボット制御システムの第5実施形態を
図10~11に基づいて説明する。本実施形態では、ロボットハンドが把持したワークを所定の配置目標に配置する作業において、ロボットハンドに固定された3次元視覚センサが取得する情報に基づいてロボットハンドの移動をフィードバック制御する。以下においては、第1および第3実施形態と異なる部分を説明し、第1または第3実施形態と同様の部分については説明を省略する。
【0083】
本実施形態のロボット制御システム15は、ロボットハンド24を備えたロボット20と、ロボットハンドに固定されたステレオカメラ30と、ロボット制御システム15の全体を制御する制御装置40とを有する。ロボット制御システム15は、ロボットハンド24が把持したケーブル70をトレイ72上に配置する。この配置作業において、ロボットハンド24の位置姿勢は、ステレオカメラ30が取得する3次元情報に基づいて、制御装置40によってフィードバック制御される。
【0084】
本実施形態では、ケーブル70をワーク、トレイ72を配置目標の例として説明するが、これらの種類は特に限定されない。本実施形態のロボット制御システム15は、各種のワークを所定の場所に載置したり、所定の容器に収めたりする作業に適用できる。また、トレイ72は静止していてもよいし、コンベアベルト55などに載置されて、ハンド24の動作とは無関係に移動していてもよい。
【0085】
本実施形態においても第3実施形態と同様に、ワークが変形しない場合は、ハンド24に固定されたステレオカメラ30とワークの相対的な位置関係は既知である。一方、ワークが柔軟であるとか、変形しやすい場合には、ステレオカメラとワークの相対的な位置関係が一定せず、未知である。以下においては、ステレオカメラとワークの相対的な位置関係が未知である場合について説明する。
【0086】
ステレオカメラ30はトレイ72およびケーブル70の3次元情報を取得する。ロボット20はステレオカメラの位置および姿勢を変化させるセンサ移動手段を兼ねている。制御装置40は、ステレオカメラ30が取得した画像の画像処理、各種演算、ロボット20のフィードバック制御、トレイ72の探索などを行う。制御装置による演算や制御の内容は後述する。
【0087】
次に、本実施形態のロボット制御システム15による接続作業を、
図11の工程フローに沿って説明する。
【0088】
(S41)ステレオカメラ30でトレイ72およびケーブル70を撮像して、それぞれの位置および姿勢を算出可能な3次元情報を取得する。
【0089】
(S42)制御装置40は、ステレオカメラ30が取得したステレオ画像にトレイ72およびケーブル70が含まれているか否かを判定し、トレイまたはケーブルがステレオカメラ30の視野内になく、画像に含まれていない場合は、探索工程(S47)を実施する。
【0090】
(S43)制御装置40は、ステレオ画像を処理して、トレイ72およびケーブル70の立体形状を認識し、トレイの位置および姿勢、ならびにケーブルの位置および姿勢を算出する。ここで、トレイの位置および姿勢は、トレイの面の中心位置と姿勢で表すことができ、ケーブルの位置および姿勢は、ケーブルを内包し、かつトレイに納まる大きさの長方形または直方体の中心位置と姿勢で表すことができる。
【0091】
(S44)制御装置40は、トレイ72とケーブル70の距離、および姿勢のずれを算出する。
【0092】
(S45)制御装置40は、トレイ72とケーブル70の位置および姿勢が一致しているか否かを判定する。トレイとケーブルの位置および姿勢が一致した場合は、ケーブルをトレイ上に配置する(工程S48)。
【0093】
(S46)トレイ72とケーブル70の位置または姿勢が一致していない場合は、制御装置40がロボット20に指示して、トレイとケーブルの距離、および姿勢のずれを減少させるようにハンド24をフィードバック制御する。
【0094】
(S47)工程S42での判定結果により、トレイ72またはケーブル70を探索する場合は、第1実施形態と同様に、ステレオカメラの視野を広げ、または移動させて、ステレオカメラの視野から外れたトレイまたはケーブルの探索を行う。
【0095】
以上の工程を繰り返すことで、前述のとおり、工程S45においてトレイ72とケーブル70の位置および接続が一致していると判定された場合は、ケーブルをトレイ上に配置して(S48)、作業が完了する。
【0096】
本発明のロボット制御システム16の第6実施形態は、ロボットハンドが把持したワークを所定の配置目標に配置する作業において、ロボットとは離れて設置された3次元視覚センサが取得する情報に基づいてロボットハンドの移動をフィードバック制御する。
【0097】
本実施形態のロボット制御システム16は、
図12を参照して、ステレオカメラ30がロボット20と離れて設置され、ロボットと独立したセンサ移動手段32に装着される点で第5実施形態と異なり、その他の構成は第5実施形態と同様である。また、本実施形態のロボット制御システム16を用いたケーブルの配置作業方法は、
図11に示した工程フローに沿って実施され、ステレオカメラの移動がロボット20ではなくセンサ移動手段32を制御して行われる点で第5実施形態と異なり、その他は第5実施形態と同様である。
【0098】
本発明は、上記の実施形態や実施例に限定されるものではなく、その技術的思想の範囲内で種々の変形が可能である。
【符号の説明】
【0099】
11~16 ロボット制御システム
20 ロボット
21 アーム
22 リンク
23 関節
24 ロボットハンド
25 ツールセンターポイント
30 ステレオカメラ(3次元視覚センサ)
32 センサ移動手段
40 制御装置
50 ケーブル(ワーク)
51 ケーブル先端
52 把持位置(作業目標)
55 コンベアベルト
60 ケーブル(ワーク)
61 プラグ(特定部位)
62 基板
63 ソケット(接続目標)
70 ケーブル(ワーク)
72 トレイ(配置目標)
A 把持方向
B 接続方向
d ケーブル先端から把持位置までの距離
T 把持位置におけるケーブルの接線方向
X ハンドの向き
Y プラグの向き
α 把持姿勢の回転角度
β 接続姿勢の回転角度
θ ロボットハンドの回転角度
φ プラグの回転角度