(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-28
(45)【発行日】2025-05-09
(54)【発明の名称】制御装置及びロボットシステム
(51)【国際特許分類】
B25J 13/08 20060101AFI20250430BHJP
B25J 5/00 20060101ALI20250430BHJP
B25J 9/10 20060101ALI20250430BHJP
【FI】
B25J13/08 A
B25J5/00 E
B25J9/10 A
(21)【出願番号】P 2023550935
(86)(22)【出願日】2021-09-30
(86)【国際出願番号】 JP2021036217
(87)【国際公開番号】W WO2023053374
(87)【国際公開日】2023-04-06
【審査請求日】2024-04-05
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【氏名又は名称】廣瀬 繁樹
(74)【代理人】
【識別番号】100130133
【氏名又は名称】曽根 太樹
(72)【発明者】
【氏名】高橋 悠太郎
(72)【発明者】
【氏名】並木 勇太
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2010-162635(JP,A)
【文献】特開平07-116972(JP,A)
【文献】特開2021-030371(JP,A)
【文献】特開2018-107315(JP,A)
【文献】特開2004-301796(JP,A)
【文献】米国特許出願公開第2018/0284802(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 5/00-19/04
G05D 1/43
(57)【特許請求の範囲】
【請求項1】
搬送装置およびロボットを含む移動型ロボットに搭載した視覚センサの情報から作業空間に対する前記ロボットの動作の補正量を算出する補正量算出部と、
前記ロボットの動作の補正量に基づいて前記視覚センサの撮像位置及び撮像姿勢の少なくとも一方を変更し、変更後の前記視覚センサの情報に基づいて前記ロボットの動作に補正をかける制御部と、を備え、
前記補正量算出部は、前記ロボットが作業を行う位置に搬送装置が到達したときに、移動型ロボットの周りに予め配置されている複数の基準点を撮像した前記視覚センサの情報に基づいて、前記ロボットの動作の補正量を算出し、
前記補正量算出部は、前記基準点が前記視覚センサから取得した検出画像に写っていない場合に、前記基準点が前記視覚センサの視野内に配置されるように、前記視覚センサの撮像位置および撮像姿勢のうち少なくとも一方を変更するための前記ロボットの動作の補正量を設定する、制御装置。
【請求項2】
前記制御部は、過去の
補正量に基づいて前記視覚センサの前記撮像位置及び前記撮像姿勢の少なくとも一方を変更する、請求項1に記載の制御装置。
【請求項3】
前記補正量算出部は、前記視覚センサの情報に基づいて検出された検出三次元情報と基準三次元情報とに基づき、前記作業空間に対する前記ロボットの基準位置及び基準姿勢の少なくとも一方からのずれ量を
補正量として算出し、前記制御部は、前記ずれ量に基づいて前記視覚センサの前記撮像位置及び前記撮像姿勢の少なくとも一方を変更する、請求項1または2に記載の制御装置。
【請求項4】
前記補正量算出部は、前記作業空間の
前記基準点が前記視覚センサから取得した検出画像に写っている場合には、前記検出画像を基準画像に近づけるように前記ロボットの移動量を
補正量として算出し、前記制御部は、前記移動量に基づいて前記視覚センサの前記撮像位置及び前記撮像姿勢の少なくとも一方を変更する、
請求項1または2に記載の制御装置。
【請求項5】
前記補正量算出部は機械学習を使用して
補正量を算出し、前記制御部は
補正量に基づいて前記視覚センサの移動と撮像を繰り返す、
請求項1から4のいずれか一項に記載の制御装置。
【請求項6】
前記基準点は、前記ロボットが作業を行う機械に配置されている、請求項1から5のいずれか一項に記載の制御装置。
【請求項7】
搬送装置およびロボットを含む移動型ロボットに搭載した視覚センサの情報から作業空間に対する前記ロボットの動作の補正量を算出する補正量算出部と、
前記ロボットの動作の補正量に基づいて前記視覚センサの撮像位置及び撮像姿勢の少なくとも一方を変更し、変更後の前記視覚センサの情報に基づいて前記ロボットの動作に補正をかける制御部と、を備え、
前記補正量算出部は、前記ロボットが作業を行う位置に搬送装置が到達したときに、移動型ロボットの周りに予め配置されている複数の基準点を撮像した前記視覚センサの情報に基づいて、前記ロボットの動作の補正量を算出し、
前記補正量算出部は、ステレオ法によって複数の前記基準点の位置を検出するように形成されており、複数の前記基準点のうち少なくとも一つが前記視覚センサの視野の端の領域に配置されるように、前記視覚センサの撮像位置および撮像姿勢のうち少なくとも一方を変更する補正量を設定する、制御装置。
【請求項8】
請求項1または7に記載の制御装置と、
移動型ロボットと、
前記移動型ロボットに搭載した視覚センサと、
を備える、ロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの制御技術に関し、特にロボットの動作に補正をかける制御装置及びロボットシステムに関する。
【背景技術】
【0002】
昨今、台車、AGV(automated guided vehicle:無人搬送車)、搬送レールシステム等の搬送装置に載せたロボットや、搬送装置と一体化したロボット等の移動型ロボットにおいて、移動型ロボットを、工作機械、建設機械等の機械の近傍や、車両、航空機、建築物、これら部品等のワークの近傍に移動させ、ロボットによって種々の作業を行うロボットシステムが多数提案されている。
【0003】
斯かる移動型ロボットが、ワークのロード/アンロード、ツールの交換、ワークの加工(例えば切削、研磨、溶接、嵌合、締結、シーリング等)等の種々の作業を行う場合に、移動型ロボットの停止位置や停止姿勢が変わると、又は作業空間における作業対象である機械やワークの位置や姿勢が変化すると、作業空間に対するロボットの位置や姿勢も変化するため、ロボットは毎回同じ動作をしているだけでは適切に作業できないことがある。このため、作業空間に対するロボットの位置や姿勢のずれを計測し、ロボットの動作に補正をかける技術が提案されている。
【0004】
ロボットの動作に補正をかける手法としては、例えばロボットの手先等に視覚センサを取付け、視覚センサを用いて作業空間に設置した複数の基準点の三次元位置を検出し、作業空間に対するロボットの基準位置や基準姿勢からのずれ量(補正量)を算出してロボットの動作に補正をかける技術がある(例えば特許文献1、2等)。しかしながら、例えば移動型ロボットが他の機械や他のワークの近傍へ移動し、移動型ロボットの停止位置や停止姿勢が変化すると、又は作業空間における作業対象である機械やワークの位置や姿勢が変化すると、作業空間にある基準点が視覚センサの視野から外れてしまうことがある。このため、基準点が視覚センサの視野に入るように、移動型ロボットの停止位置や停止姿勢を手動で変更したり、又は作業対象である機械やワークの位置や姿勢を手動で変更したり、又は撮像位置又は撮像姿勢を教示し直したりといった手間や試行錯誤が発生する。従って、ロボットの補正処理に時間を要することになる。
【0005】
特許文献1には、ロボットが搭載された無人搬送車上に視覚センサを固定し、作業台上にマークを設け、無人搬送車が教示位置に停止した状態で視覚センサにより検出したマークの位置ずれ量に基づいてロボットによるワークに対するハンドリング位置を補正することが記載されています。
【0006】
特許文献2には、ロボットを搭載した無人搬送車が停止した状態で撮像手段により基準点位置の検出を行い、当該停止した状態でロボットがワークに対して所定の作業を行うと、作業に要する時間が長くなり高タクト化が難しくなるため、ロボットを搭載した第1の移動体が移動している状態で第1の移動体に取付けたカメラが異なるタイミングで撮像した基準物の2以上の画像を取得し、第1の移動体が移動している状態で2以上の画像に基づいて所定の作業を行うことが記載されている。
【先行技術文献】
【特許文献】
【0007】
【文献】特開平11-156764号公報
【文献】特開2019-093481号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、従来の問題点に鑑み、ロボットの補正処理を自動化する技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本開示の第1の態様は、搬送装置およびロボットを含む移動型ロボットに搭載した視覚センサの情報から作業空間に対するロボットの動作の補正量を算出する補正量算出部と、ロボットの動作の補正量に基づいて視覚センサの撮像位置及び撮像姿勢の少なくとも一方を変更し、変更後の視覚センサの情報に基づいてロボットの動作に補正をかける制御部と、を備える、制御装置を提供する。補正量算出部は、ロボットが作業を行う位置に搬送装置が到達したときに、移動型ロボットの周りに予め配置されている複数の基準点を撮像した視覚センサの情報に基づいて、ロボットの動作の補正量を算出する。補正量算出部は、基準点が視覚センサから取得した検出画像に写っていない場合に、基準点が視覚センサの視野内に配置されるように、視覚センサの撮像位置および撮像姿勢のうち少なくとも一方を変更するためのロボットの動作の補正量を設定する。
本開示の第2の態様は、搬送装置およびロボットを含む移動型ロボットに搭載した視覚センサの情報から作業空間に対するロボットの動作の補正量を算出する補正量算出部と、ロボットの動作の補正量に基づいて視覚センサの撮像位置及び撮像姿勢の少なくとも一方を変更し、変更後の視覚センサの情報に基づいてロボットの動作に補正をかける制御部と、を備える、制御装置を提供する。補正量算出部は、ロボットが作業を行う位置に搬送装置が到達したときに、移動型ロボットの周りに予め配置されている複数の基準点を撮像した視覚センサの情報に基づいて、ロボットの動作の補正量を算出する。補正量算出部は、ステレオ法によって複数の基準点の位置を検出するように形成されており、複数の基準点のうち少なくとも一つが視覚センサの視野の端の領域に配置されるように、視覚センサの撮像位置および撮像姿勢のうち少なくとも一方を変更する補正量を設定する。
本開示の第3の態様は、前述の制御装置と、移動型ロボットと、ロボットに搭載した視覚センサと、を備える、ロボットシステムを提供する。
【発明の効果】
【0010】
本開示の一態様によれば、移動型ロボットの停止位置又は停止姿勢が変化する場合であっても、又は作業対象である機械やワークの位置や姿勢が変化する場合であっても、補正量に基づいて視覚センサの撮像位置及び撮像姿勢の少なくとも一方を自動的に変更するため、基準点が視覚センサの視野に入るように、移動型ロボットの停止位置又は停止姿勢を手動で変更したり、又は作業対象である機械やワークの位置や姿勢を手動で変更したり、又は撮像位置や撮像姿勢を教示し直したりといった手間や試行錯誤がなくなり、ロボットの補正処理を自動化できる。
【図面の簡単な説明】
【0011】
【
図1】第一実施形態のロボットシステムの構成図である。
【
図2】第一実施形態のロボットシステムの機能ブロック図である。
【
図3】第一実施形態のロボットシステムの初回の補正フローチャートである。
【
図4】第一実施形態のロボットシステムの次回以降の補正ローチャートである。
【
図5】視覚センサの撮像位置姿勢と基準点の検出三次元位置の一例の説明図である。
【
図6】移動型ロボットのずれ量(補正量)の算出例の説明図である。
【
図7】第二実施形態のロボットシステムの補正フローチャートである。
【
図8】第二実施形態のロボットの移動量(補正量)の算出原理の説明図である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して本開示の実施形態を詳細に説明する。各図面において、同一又は類似の構成要素には同一又は類似の符号が付与されている。また、以下に記載する実施形態は、特許請求の範囲に記載される発明の技術的範囲及び用語の意義を限定するものではない。
【0013】
以下、第一実施形態のロボットシステム1について説明する。
図1は第一実施形態のロボットシステム1の構成図である。ロボットシステム1は、移動型ロボット10と、視覚センサ11と、移動型ロボット10を制御する制御装置12と、を備えている。また、ロボットシステム1は、必須ではないが、移動型ロボット10に対する教示や状態の確認を行う教示装置13をさらに備えている。
【0014】
移動型ロボット10は、ロボット10aと、搬送装置10bと、ツール10cと、を備えている。移動型ロボット10はロボット10aと搬送装置10bが着脱可能に連結されて構成されるが、これに限定されず、他の実施形態では、ロボット10aと搬送装置10bが一体化されて構成されてもよい。
【0015】
ロボット10aは、多関節ロボットで構成されるが、これに限定されず、他の実施形態では、単関節ロボット、双腕ロボット、パラレルリンク型ロボット等の他の産業用ロボット(ロボットアーム)で構成されてもよいし、又はヒューマノイド等の他の形態のロボットで構成されてもよい。ロボット10aは、搬送装置10bに搭載され、制御装置12によって制御される。
【0016】
搬送装置10bは、台車等の手動搬送装置で構成されるが、これに限定されず、他の実施形態では、AGV(automated guided vehicle:無人搬送車)、搬送レールシステム等の自動搬送装置で構成されてもよい。自動搬送装置の場合、搬送装置10bは、制御装置12によって制御されてもよい。
【0017】
ツール10cは、多指把持式ハンド、吸着式ハンド等のハンドで構成されるが、これに限定されず、他の実施形態では、切削ツール、溶接ツール、シーリングツール等の加工ツールで構成されてもよい。ツール10cは、ロボット10aの手先に着脱可能に連結される。
【0018】
視覚センサ11は、輝度情報を出力する二次元センサを備えているが、これに限定されず、他の実施形態では、距離情報を出力する三次元センサを備えていてもよい。また、視覚センサ11は、一台のカメラで構成されるが、これに限定されず、他の実施形態では、二台のステレオカメラで構成されてもよい。視覚センサ11は、移動型ロボット10に搭載される。視覚センサ11は、ロボット10aの手首部に搭載されるが、これに限定されず、他の実施形態では、ロボット10aの腕部、ツール10c、搬送装置10b等の他の可動部に搭載されてもよい。
【0019】
制御装置12は、公知のPLC(programmable logic controller)で構成されるが、他の実施形態では、他のコンピュータで構成されてもよい。制御装置12は、互いにバスで接続されたプロセッサ、メモリ、入出力インタフェース等(図示せず)を備えている。制御装置12は、教示装置13で教示された動作プログラムに従って移動型ロボット10の動作を制御する。制御装置12は、ロボット10aの動作を制御するが、これに限定されず、他の実施形態では、搬送装置10bの動作を制御してもよい。
【0020】
制御装置12は、世界座標系、機械座標系、フランジ座標系、ツール座標系、カメラ座標系、ユーザ座標系等の種々の座標系を設定する。これら座標系は、例えば直交座標系でよい。説明を容易にするため、本実施形態では、制御装置12は、機械座標系Mとカメラ座標系Cを設定しているものとする。機械座標系Mは、ロボット10aの基準位置(例えばベース)に固定される。カメラ座標系Cは、視覚センサ11の基準位置(例えば焦点位置)に固定される。
【0021】
教示装置13は、ティーチペンダント等で構成されるが、これに限定されず、他の実施形態では、教示操作盤、他のコンピュータ等で構成されてもよい。教示装置13は、移動型ロボット10の動作プログラムを編集し又は作成する。教示装置13は、編集又は作成した動作プログラムを制御装置12へ送出する。
【0022】
以上の構成のロボットシステム1において、移動型ロボット10は、作業対象である機械20の近傍に移動され、ワークWのロード/アンロード、機械20のツール交換等を行うが、これに限定されず、他の実施形態では、ワークWの加工(例えば切削、研磨、溶接、嵌合、締結、シーリング等)等の他の作業を行うこともある。
【0023】
機械20は、フライス盤等の公知の工作機械で構成されるが、これに限定されず、他の実施形態では、建設機械、農業機械等の他の産業機械で構成されてもよい。例えば機械20は、ワークWを加工するツール21と、ツール21の動作を制御する制御装置22と、を備えている。制御装置22は、公知のCNC(computerized numerical control:コンピュータ数値制御)装置で構成される。
【0024】
移動型ロボット10は、作業空間Sにおいて、ワークWを機械20にロード/アンロードしたり、又は機械20のツール21を交換したりといった作業を行う。移動型ロボット10が他の機械20や他のワークWの近傍へ移動し、移動型ロボット10(搬送装置10b)の停止位置や停止姿勢が変化すると、又は作業空間Sにおける作業対象である機械20やワークWの位置や姿勢が変化すると、作業空間Sに対する移動型ロボット10の位置及び姿勢の少なくとも一方も変化するため、ロボット10aは毎回同じ動作をしているだけでは適切に作業を実行できない。
【0025】
そこで、制御装置12は、視覚センサ11の情報から作業空間Sに対する移動型ロボット10の位置及び姿勢の少なくとも一方のずれ量を補正量として算出し、ずれ量(補正量)に基づいて移動型ロボット10(ロボット10a)の動作に補正をかける。制御装置12は、ずれ量(補正量)に基づいてロボット10aの動作に補正をかけるが、搬送装置10bが自動搬送装置の場合は、ずれ量(補正量)に基づいて搬送装置10bの動作に補正をかけることもある。
【0026】
作業空間Sに対する移動型ロボット10の位置及び姿勢の少なくとも一方のずれ量を算出するため、制御装置12は、視覚センサ11の情報から作業空間Sの基準点Ta、Tb、Tcの三次元位置を検出する。基準点Ta、Tb、Tcの三次元位置の検出には、ステレオ法を用いるが、他の実施形態では、TOF(time of flight)法、光投影法(光切断法、位相シフト法、空間コード法等)、焦点法等の他の三次元計測法を用いてもよい。
【0027】
作業空間Sに対する移動型ロボット10の位置及び姿勢の少なくとも一方を算出するため、基準点Ta、Tb、Tcは、複数(少なくとも二個以上)なければならない。例えば基準点Ta、Tb、Tcは、作業空間Sに設置された三個のターゲットマークであるが、これに限定されず、他の実施形態では、作業空間Sに存在する既知の特徴点、例えば機械20の角部等でもよい。
【0028】
作業空間Sに対する移動型ロボット10の位置及び姿勢の少なくとも一方を精度良く算出するため、複数の基準点Ta、Tb、Tcは、互いに極力離して設置されるとよい。例えば二個の基準点Ta、Tbは機械20の外部(例えば機械20の右外部と左外部)にそれぞれ設置し、一個の基準点Tcは機械20の内部(例えばワークWの上部)に設置されるが、これに限定されず、他の実施形態では、一個の基準点が機械20の外部に設置され、二個の基準点が機械20の内部に設置されてもよい。
【0029】
制御装置12は、ロボット10aを動作させて視覚センサ11を撮像位置及び撮像姿勢の少なくとも一方へ順次移動させ、視覚センサ11は、基準点Ta、Tb、Tcを順次撮像していく。制御装置12は、視覚センサ11の情報に基づいて基準点Ta、Tb、Tcの検出三次元位置を含む検出三次元情報を検出し、検出三次元情報と、基準点Ta、Tb、Tcの基準三次元位置を含む基準三次元情報とに基づき、作業空間Sに対する移動型ロボット10の基準位置及び基準姿勢の少なくとも一方からのずれ量を補正量として算出し、ずれ量(補正量)に基づいて移動型ロボット10の動作に補正をかける。
【0030】
図2は第一実施形態のロボットシステム1の機能ブロック図である。制御装置12は、記憶部33、三次元情報検出部32、補正量算出部30、及び制御部31を備えている。記憶部33は、RAM、ROM等のメモリで構成される。記憶部33以外の構成要素は、コンピュータプログラムの一部又は全部で構成されるが、これに限定されず、他の実施形態では、半導体集積回路の一部又は全部で構成されてもよい。また、他の実施形態において、制御部31以外の構成要素は、有線又は無線で制御装置12に接続可能な外部コンピュータ装置に配置されてもよい。
【0031】
記憶部33は、移動型ロボット10の動作プログラム、視覚センサ11のキャリブレーションデータ(いわゆる内部パラメータ及び外部パラメータ)、基準点Tの基準三次元位置を含む基準三次元情報、過去のずれ量(補正量)等の種々の情報を記憶している。なお、基準点Tは、複数の基準点Ta、Tb、Tcを省略表記したものである。
【0032】
三次元情報検出部32は、視覚センサ11の情報に基づいて基準点Tの検出三次元位置を含む検出三次元情報を検出する。前述の通り、三次元情報検出部32は、ステレオ法を用いて基準点Tの検出三次元位置を検出するが、これに限定されず、他の実施形態では、TOF法、光投影法、焦点法等の他の三次元計測法を用いてもよい。三次元情報検出部32は、検出三次元情報を補正量算出部30へ送出する。
【0033】
補正量算出部30は、ずれ量算出部30aを備えている。ずれ量算出部30aは、コンピュータプログラムの一部又は全部で構成されるが、これに限定されず、他の実施形態では、半導体集積回路の一部又は全部で構成されてもよい。ずれ量算出部30aは、検出三次元情報と、予め記憶された基準三次元情報とに基づき、作業空間Sに対する移動型ロボット10の基準位置及び基準姿勢の少なくとも一方からずれ量(補正量)を算出する。ずれ量算出部30aは、算出したずれ量(補正量)を制御部31へ送出すると共に、ずれ量(補正量)を過去の補正量として記憶部33に記憶しておく。
【0034】
制御部31は、ずれ量(補正量)に基づいて移動型ロボット10の動作に補正をかける。制御部31は、ずれ量(補正量)に基づいてロボット10aの動作に補正をかけるが、他の実施形態では、ずれ量(補正量)に基づいて搬送装置10bの動作に補正をかけてもよい。
【0035】
移動型ロボット10が他の機械20や他のワークWの近傍へ移動し、移動型ロボット10(搬送装置10b)の停止位置又は停止姿勢が変化した場合や、作業対象である機械20やワークWの位置や姿勢が変化した場合は、基準点Tが視覚センサ11の視野から外れてしまう可能性がある。従って、過去のずれ量(補正量)が記憶部33に既に記憶されている場合は、先ず、制御部31が過去のずれ量(補正量)に基づいて視覚センサ11の撮像位置及び撮像姿勢の少なくとも一方を自動的に変更して移動型ロボット10を動作させる。制御部31は、変更後に撮像指令を視覚センサ11へ送出し、視覚センサ11は、撮像指令に応じて基準点Tを撮像する。
【0036】
これにより、基準点Tが視覚センサ11の視野に入る可能性が高くなるため、基準点Tが視覚センサ11の視野に入るように、移動型ロボット10(搬送装置10b)の停止位置又は停止姿勢を手動で変更する手間や、作業対象である機械20やワークWの位置や姿勢を手動で変更する手間や、撮像位置や撮像姿勢を教示し直す試行錯誤等がなくなり、移動型ロボット10の補正処理を自動化できることになる。
【0037】
基準点Tが視覚センサ11の視野に入った後、三次元情報検出部32は、視覚センサ11の情報に基づいて基準点Tの検出三次元位置を含む検出三次元情報を検出し、補正量算出部30は、検出三次元情報と、基準点Tの基準三次元位置を含む基準三次元情報とに基づき、作業空間Sに対する移動型ロボット10の基準位置及び基準姿勢の少なくとも一方からのずれ量(補正量)を算出し、制御部31は、ずれ量(補正量)に基づいて移動型ロボット10の動作を補正する。
【0038】
以下、
図3-
図6を参照して第一実施形態のロボットシステム1の詳細な動作について説明する。
図3は第一実施形態のロボットシステム1の初回の補正フローチャートである。初回の補正とは、過去のずれ量(補正量)が記憶部33に記憶されていないときのロボットの動作に補正をかける処理である。
【0039】
初回の補正では、先ず、ステップS1において、移動型ロボット10(搬送装置10b)を手動で又は自動で基準位置又は基準姿勢に移動させる。ステップS2では、制御部31が移動型ロボット10を動作させて視覚センサ11を予め教示した撮像位置及び撮像姿勢の少なくとも一方へ移動させる。
【0040】
図5は、視覚センサ11の撮像位置姿勢C1~C6と基準点Ta、Tb、Tcの検出三次元位置の一例の説明図である。撮像位置姿勢C1~C6は、撮像位置及び撮像姿勢の少なくとも一方を含む。ステレオ法を用いる場合、一個の基準点につき異なる位置で二回撮像するため、三個の基準点Ta、Tb、Tcがある場合、撮像位置姿勢C1~C6は六箇所になる。但し、TOF法、光切断法を用いる他の実施形態では、撮像位置姿勢が三箇所になることに留意されたい。撮像位置姿勢C1~C6は予め教示されているものとする。
【0041】
図3を再び参照すると、ステップS3では、視覚センサ11が基準点Ta、Tb、Tcを撮像位置姿勢C1~C6で撮像する。基準点Ta、Tb、Tcが視覚センサ11の視野に入っていない場合、初回の補正では、基準点Ta、Tb、Tcが視覚センサ11の視野に入るように移動型ロボット10(搬送装置10b)の停止位置又は停止姿勢を手動で変更し、又は作業対象である機械20やワークWの位置や姿勢を手動で変更し、又は視覚センサ11の撮像位置又は撮像姿勢を教示し直す。
【0042】
図5に示すように、特にステレオ法を用いる場合、基準点Ta、Tb、Tcが視覚センサ11の視野の端にくると、二枚の撮像画像に写る基準点Tの距離(つまり視差)を長くとれるため、基準点Ta、Tb、Tcの三次元位置の精度が向上する。従って、ステレオ法を用いる場合は、基準点Tが視覚センサ11の視野の端にくるように移動型ロボット10(搬送装置10b)の停止位置又は停止姿勢を手動で変更し、又は作業対象である機械20やワークWの位置や姿勢を手動で変更し、又は視覚センサ11の撮像位置又は撮像姿勢を教示し直す。
【0043】
図3を再び参照すると、ステップS4では、三次元情報検出部32が視覚センサ11の情報に基づいて基準点Ta、Tb、Tcの検出三次元位置を含む検出三次元情報を検出する。
【0044】
以下、
図5を参照して基準点Ta、Tb、Tcの検出三次元位置の検出例について説明する。説明を容易にするため、撮像位置姿勢C1とC2、撮像位置姿勢C3とC4、及び撮像位置姿勢C5とC6において、視覚センサ11は等位平行化して配置されるものとする。つまり撮像位置姿勢C1とC2、撮像位置姿勢C3とC4、及び撮像位置姿勢C5とC6において、視覚センサ11は基線長Bだけ離れ、視覚センサ11の光軸Oが平行に配置され、光軸Oに直交する面内に視覚センサ11のイメージセンサが配置され、イメージセンサのx方向及びy方向が同一方向に配向されるものとする。
【0045】
例えば撮像位置姿勢C1とC2において、二箇所の撮像位置姿勢C1とC2のうちの撮像位置姿勢C1をカメラ座標系Cの原点とし、撮像位置姿勢C1、C2のそれぞれを視覚センサ11の焦点位置とし、視覚センサ11の焦点距離をfとし、2枚の撮像画像に写る基準点Taの視差をDとし、視覚センサ11の画素間ピッチを1mm(=1画素)とすると、カメラ座標系Cの原点から基準点Taまでの距離、つまりカメラ座標系Cにおける基準点TaのZ座標c1zaは、ステレオ法により、下記式から求められる。
【0046】
【0047】
なお、c1zaにおいて、左上添え字は座標系の原点を表し、右下添え字はその座標系における座標点を表す。つまりc1zaは、カメラ座標系Cの原点が撮像位置姿勢C1にあり、カメラ座標系Cにおける基準点TaのZ座標を表す。
【0048】
基線長Bと焦点距離fは、二箇所の撮像位置姿勢と視覚センサ11の設計で定まる定数であるため、三次元情報検出部32は、基準点Taの検出処理、マッチング処理等の画像処理に基づいて2枚の撮像画像に写る基準点Taの視差Dを算出すれば、基準点Taのz座標c1zaを検出できることになる。
【0049】
また、撮像画像の左上端を原点とした画像座標系において、撮像画像に写る基準点Tの画像座標を(x,y)とし、画像座標系の画像中心を(cx,cy)とすると、三次元情報検出部32は、カメラ座標系Cにおける基準点Taのx座標c1xaとy座標c1yaは、例えば下記式から算出される。
【0050】
【0051】
【0052】
なお、c1xa、c1yaにおいて、左上添え字は座標系の原点を表し、右下添え字はその座標系における座標点を表す(以下同)。つまりc1xa、c1yaはそれぞれ、カメラ座標系Cの原点が撮像位置姿勢C1にあるときの、カメラ座標系Cにおける基準点TaのX座標、Y座標を表す。
【0053】
また、三次元情報検出部32は、必要に応じて収差補正を行うこともある。収差補正の補正係数、焦点距離f、画像中心(cx,cy)、画素間ピッチ等の視覚センサ11の内部パラメータは、記憶部33に予め記憶されているものとする。
【0054】
以上から、カメラ座標系Cにおける基準点Taの検出三次元位置(c1xa,c1ya,c1za)が求められる。同様に、カメラ座標系Cにおける基準点Tb、Tcの検出三次元位置(c3xb,c3yb,c3zb)、(c5xc,c5yc,c5zc)も求められる。
【0055】
次に、三次元情報検出部32は、基準点Ta、Tb、Tcの検出三次元位置をカメラ座標系Cから機械座標系Mへ変換する。撮像位置姿勢C1、C3、C5において、機械座標系Mにおける視覚センサ11の位置及び姿勢(つまりカメラ座標系Cの位置及び姿勢)が、C1(mxc1,myc1,mzc1,mwc1,mpc1,mrc1)、C3(mxc3,myc3,mzc3,mwc3,mpc3,mrc3)、及びC5(mxc5,myc5,mzc5,mwc5,mpc5,mrc5)、)であるとすると、機械座標系Mの三次元位置をカメラ座標系Cの三次元位置に座標変換するための視覚センサ11の外部パラメータ(R,t)c1、(R,t)c3、(R,t)c5は、例えば同次変換行列で、下記式のように表される。なお、視覚センサ11の外部パラメータは、記憶部33に予め記憶されているものとする。
【0056】
【0057】
上記式において、Rは回転行列(同次変換行列の第一行第一列から第三行第三列まで)を表し、tは平行移動量、つまり並進ベクトル(同次変換行列の第一行第四列から第三行第四列まで)を表す。また、mxc1、myc1、mzc1はそれぞれ、機械座標系Mにおける視覚センサ11の撮像位置姿勢C1のX座標、Y座標、Z座標(カメラ座標系Cの位置)であり、mwc1、mpc1、mrc1はそれぞれ、機械座標系Mにおける視覚センサ11の撮像位置姿勢C1のX軸回りの回転量、Y軸回りの回転量、Z軸回りの回転量(カメラ座標系の姿勢)である。撮像位置姿勢C3、C5についても同様である。
【0058】
従って、カメラ座標系Cにおける基準点Ta、Tb、Tcの検出三次元位置(c1xa,c1ya,c1za)、(c3xb,c3yb,c3zb)、(c5xc,c5yc,c5zc)はそれぞれ、下記式により、機械座標系Mにおける基準点Ta、Tb、Tcのそれぞれの三次元位置(mxa,mya,mza)、(mxb,myb,mzb)、(mxc,myc,mzc)に変換される。
【0059】
【0060】
上記式において、RTは、回転行列Rの転置行列を表す。以上により、三次元情報検出部32は、機械座標系Mにおける基準点Ta、Tb、Tcの検出三次元位置を検出する。
【0061】
図3を再び参照すると、ステップS5では、ずれ量算出部30aが、基準点Ta、Tb、Tcの検出三次元位置を含む検出三次元情報と、基準点Ta、Tb、Tcの基準三次元位置を含む基準三次元情報とに基づき、作業空間Sに対する移動型ロボット10の基準位置及び基準姿勢の少なくとも一方からのずれ量(補正量)を算出する。また、ずれ量算出部30aは、算出したずれ量(補正量)を過去の補正量として記憶部33に記憶しておく。
【0062】
以下、作業空間Sに対する移動型ロボット10の基準位置及び基準姿勢の少なくとも一方からのずれ量の算出例について説明する。
図6は、移動型ロボット10のずれ量(補正量)の算出例の説明図である。
図6には、基準三次元情報と検出三次元情報が示されている。基準三次元情報は、機械座標系M(0,0,0,0,0,0)における基準点Ta、Tb、Tcの基準三次元位置Ta(
mx
ra,
my
ra,
mz
ra)、Tb(
mx
rb,
my
rb,
mz
rb)、Tc(
mx
rc,
my
rc,
mz
rc)を含んでいる。一方、検出三次元情報は、移動型ロボット10(搬送装置10b)の停止位置又は停止姿勢のずれ、又は作業対象である機械20やワークWの位置や姿勢のずれにより、基準三次元情報の機械座標系Mからずれた機械座標系M’(0,0,0,0,0,0)における基準点Ta、Tb、Tcの検出三次元位置Ta(
m’x
a,
m’y
a,
mz
a)、Tb(
m’x
b,
m’y
b,
m’z
b)、Tc(
m’x
c,
m’y
c,
m’z
c)を含んでいる。
【0063】
基準三次元情報において、基準点Ta、Tb、Tcを底面とし、機械座標系Mの原点を頂点とする三角錐が、検出三次元情報における機械座標系M’上で回転及び平行移動したと考えると、作業空間Sに対する移動型ロボット10の基準位置及び基準姿勢の少なくとも一方からのずれ量(補正量)は、検出三次元情報の機械座標系M’における基準三次元情報の機械座標系Mの位置及び姿勢に相当することになる。つまり、作業空間Sに対する移動型ロボット10の基準位置及び基準姿勢の少なくとも一方からのずれ量(補正量)は、M(m’xm,m’ym,m’zm,m’wm,m’pm,m’rm)と表現できる。なお、m’xm、m’ym、m’zmはそれぞれ、検出三次元情報の機械座標系M’における基準三次元情報の機械座標系Mの位置のX座標、Y座標、Z座標であり、m’wm,m’pm,m’rmはそれぞれ、検出三次元情報の機械座標系M’における基準三次元情報の機械座標系Mの姿勢(X軸回りの回転量、Y軸回りの回転量、Z軸回りの回転量)である。
【0064】
このとき、基準三次元情報における三角錐の各点、つまりM(0,0,0)、Ta(mxra,myra,mzra)、Tb(mxrb,myrb,mzrb)、Tc(mxrc,myrc,mzrc)が、検出三次元情報の機械座標系M’において回転及び平行移動した後に、M(m’xm,m’ym,m’zm)、Ta(m’xa,m’ya,m’za)、Tb(m’xb,m’yb,m’zb)、Tc(m’xc,m’yc,m’zc)へ移動したと考えると、基準点Ta、Tb、Tcの基準三次元位置と、基準点Ta、Tb、Tcの検出三次元位置との間には、下記の関係式が成り立つ。
【0065】
【0066】
上記式において、r11~r33は回転行列の各要素(同次変換行列の第一行第一列から第三行第三列まで)を表し、m’xm,m’ym,m’zmは平行移動量、つまり並進ベクトルの各要素(同次変換行列の第一行第四列から第三行第四列まで)を表す。
【0067】
上記式をX’=T・Xと表し、この両辺にXの逆行列X-1を掛けると、T=X’・X-1となる。Xの逆行列X-1は、余因子行列又は掃出し法で求められる。同次変換行列T=X’・X-1において、不明な変数は、ずれ量(補正量)であるM(m’xm,m’ym,m’zm,m’wm,m’pm,m’rm)の六個であるため、少なくとも6つの連立方程式を立てて解くことにより、作業空間Sに対する移動型ロボット10の基準位置及び基準姿勢の少なくとも一方からのずれ量(補正量)が算出される。
【0068】
上記ずれ量(補正量)の算出方法は、あくまで一例であり、いわゆる線形代数学に基づく手法であるが、これに限定されず、他の実施形態では、幾何学等の他の手法を用いてもよいことに留意されたい。例えば基準三次元情報における三角錐の辺の成す角度や体積は不変であるため、TaTb・TaM、TaTc・TaM、TbTa・TbM、TbTc・TbM、TcTa・TcM、TcTb・TcM等のような内積や、1/6×(TaTb×TaTc)・TaMで求められる三角錐の体積は不変である。そこで、基準三次元情報の機械座標系Mで計算した値=検出三次元情報の機械座標系M’で計算した値という等式を少なくとも6つ立てて6個の連立方程式を解くことにより、ずれ量(補正量)m’xm,m’ym,m’zm,m’wm,m’pm,m’rmを求めてもよい。
【0069】
図3を再び参照すると、ステップS6では、制御部31がずれ量(補正量)に基づいて移動型ロボット10の動作に補正をかける。つまり制御部31は、ずれ量(補正量)であるM(
m’x
m,
m’y
m,
m’z
m,
m’w
m,
m’p
m,
m’r
m)に基づいてロボット10aの動作軌道を構成する各教示点を補正する。例えば下記式に基づき、ロボット10aの動作軌道を構成する各教示点は、教示したときの機械座標系Mから、作業空間Sに対して移動型ロボット10の位置及び姿勢の少なくとも一方がずれた後の機械座標系M’へ補正(座標変換)される。
【0070】
【0071】
以上により、初回の補正が終了する。初回の補正が終了した後、移動型ロボット10が他の機械20や他のワークWの近傍へ移動し、移動型ロボット10(搬送装置10b)の停止位置又は停止姿勢がさらに変化した場合、又は作業空間Sにおける作業対象である機械20やワークWの位置や姿勢がさらに変化した場合、ロボットシステム1は、次回以降の補正フローチャートに従って移動型ロボット10の動作を補正する。
【0072】
図4は第一実施形態のロボットシステム1の次回以降の補正フローチャートである。次回以降の補正とは、過去のずれ量(補正量)が記憶部33に記憶されているときのロボットの動作に補正をかける処理である。先ず、ステップS7において、移動型ロボット10(搬送装置10b)を他の機械20や他のワークWの近傍へ手動で又は自動で移動させる。ステップS8では、制御部31が過去のずれ量(補正量)に基づいて視覚センサ11の撮像位置姿勢C1~C6を自動的に変更して移動型ロボット10を動作させる。つまり撮像位置姿勢C1~C6は、例えば下記式により、過去のずれ量(補正量)であるM(
m’x
m,
m’y
m,
m’z
m,
m’w
m,
m’p
m,
m’r
m)に基づいて撮像位置姿勢C1’~C6’へ補正(変換)される。
【0073】
【0074】
ステップS9では、視覚センサ11が基準点Ta、Tb、Tcを変更後の撮像位置姿勢C1’~C6’で撮像する。このとき、過去のずれ量(補正量)に基づいて撮像位置姿勢C1~C6が撮像位置姿勢C1’~C6’へ補正されているため、基準点Ta~Tcが視覚センサ11の視野に入る可能性が高くなる。つまり次回以降の補正では、初回の補正の場合と比べ、基準点Ta~Tcが視覚センサ11の視野に入るように、移動型ロボット10(搬送装置10b)の停止位置又は停止姿勢を手動で変更する手間や、作業対象である機械20やワークWの位置や姿勢を手動で変更する手間や、撮像位置又は撮像姿勢を教示し直す試行錯誤等がなくなり、移動型ロボット10の補正処理を自動化できることになる。
【0075】
特にステレオ法を用いる場合、
図5に示すように基準点Ta、Tb、Tcが二枚の撮像画像の端にくるように(つまり視差Dを長くとるように)撮像位置姿勢C1~C6を教示することで基準点Ta、Tb、Tcの三次元位置の精度が向上するが、移動型ロボット10(搬送装置10b)の停止位置又は停止姿勢が変化すると、又は作業対象である機械20やワークWの位置や姿勢が変化すると、基準点Ta、Tb、Tcが視覚センサ11の視野から外れてしまうことがある。従って、過去のずれ量(補正量)を用いて撮像位置姿勢C1’~C6’へ自動的に補正することにより、基準点Ta~Tcが視覚センサ11の視野から外れず、さらに、視覚センサ11の視野の端にくるように撮像できる可能性が高くなる。従って、ステレオ法を用いる場合であっても、ユーザは特別難しい教示をせずに、移動型ロボット10の動作に自動的に補正がかかることになる。また、ロボット10aの動作プログラムの作成の難易度を下げることができ、動作プログラムの作成時間を短縮できるといった副次的効果も得られる。
【0076】
なお、
図4のステップS10からステップS12までの処理は、
図3のステップS4からステップS6までの処理と同一であるため、説明を省略する。
【0077】
以上のように第一実施形態のロボットシステム1によれば、移動型ロボット10(搬送装置10b)の停止位置又は停止姿勢が変化する場合であっても、又は作業対象である機械20やワークWの位置や姿勢が変化する場合であっても、過去のずれ量(補正量)に基づいて視覚センサ11の撮像位置及び撮像姿勢の少なくとも一方を自動的に変更するため、基準点Ta、Tb、Tcが視覚センサ11の視野に入るように、移動型ロボット(搬送装置10b)の停止位置又は停止姿勢を手動で変更したり、又は作業対象である機械20やワークWの位置や姿勢を手動で変更したり、又は撮像位置又は撮像姿勢を教示し直したりといった手間や試行錯誤がなくなり、ロボットの補正処理を自動化できる。
【0078】
以下、第二実施形態のロボットシステム1について説明する。
図1を再び参照すると、第二実施形態のロボットシステム1は、視覚センサ11から取得した検出画像を基準画像に近づけるように移動型ロボット10の移動量を補正量として算出し、移動量(補正量)に基づいて視覚センサ11の撮像位置及び撮像姿勢の少なくとも一方を変更し、変更後の視覚センサ11の情報に基づいて移動型ロボット10の動作に補正をかける。
【0079】
説明を容易にするため、移動型ロボット10の移動量(補正量)は、視覚センサ11の撮像位置及び撮像姿勢の少なくとも一方の移動量(カメラ座標系Cの移動量)とする。移動量(補正量)は、例えば移動前のカメラ座標系Cにおける移動後のカメラ座標系C’の位置姿勢C(cxc’,cyc’,czc’,cwc’,cpc’,crc’)と表すことができる。
【0080】
他の実施形態において、移動型ロボット10の移動量(補正量)は、ロボット10aの先端(例えばフランジ中心)の位置及び姿勢の少なくとも一方の移動量(フランジ座標系の移動量)でもよいし、又はTCP(tool center point:ツール中心点)におけるツール10cの位置及び姿勢の少なくとも一方の移動量(ツール座標系の移動量)でもよい。
【0081】
図2を再び参照すると、第二実施形態のロボットシステム1では、補正量算出部30が移動量算出部30bを備えている点で、第一実施形態のロボットシステム1とは異なる。移動量算出部30bは、コンピュータプログラムの一部又は全部で構成されるが、これに限定されず、他の実施形態では、半導体集積回路の一部又は全部で構成されてもよい。
【0082】
移動型ロボット10(搬送装置10b)を手動で又は自動で他の停止位置又は停止姿勢に移動させた後、又は作業対象である機械20やワークWを手動で又は自動で他の位置又は姿勢に移動させた後、制御部31は、移動型ロボット10を動作させて視覚センサを予め教示した撮像位置姿勢C1~C6へ視覚センサ11を移動する。制御部31は、移動後に撮像指令を視覚センサ11に送出し、視覚センサ11は、撮像指令に応じて撮像位置姿勢C1~C6で基準点Tを撮像する。
【0083】
移動量算出部30bは、視覚センサ11から取得した検出画像に基準点Tが写っているか否かを判定する。検出画像に基準点Tが写っていない場合、移動量算出部30bは、任意の移動量(補正量)を制御部31へ送出し、制御部31は、任意の移動量(補正量)に基づいて視覚センサ11の撮像位置及び撮像姿勢の少なくとも一方を変更して移動型ロボット10を動作させる。任意の移動量(補正量)は、予め指定された移動量(補正量)でよく、例えばC(cxsc’,cysc’,czsc’,cwsc’,cpsc’,crsc’)と表される。例えば任意の移動量(補正量)は、変更前の撮像位置を所定量だけ順次上下左右へ平行移動する4個の移動量(補正量)や、変更前の撮像姿勢を所定量だけ順次上下左右へ回転する4個の移動量(補正量)や、これらを組み合わせた4個の移動量(補正量)を含む。また、他の実施形態では、任意の補正量は第一実施形態におけるずれ量でもよい。制御部31は、変更後に撮像指令を視覚センサ11へ送出し、視覚センサ11は、撮像指令に応じて基準点Tを撮像する。
【0084】
一方、検出画像に基準点Tが写っている場合、移動量算出部30bは、視覚センサ11から取得した検出画像が記憶部33に予め記憶した基準画像に近づくように移動量(補正量)を算出する。移動量(補正量)の算出には、後述の機械学習を用いる。
【0085】
次に、移動量算出部30bは、算出した移動量(補正量)が閾値以下か否かを判定する。移動量(補正量)が閾値を超えている場合、基準点Tが視覚センサ11の視野の端にない可能性が高いため、移動量算出部30bは、算出した移動量(補正量)を制御部31へ送出し、制御部31は、算出された移動量(補正量)に基づいて視覚センサ11の撮像位置及び撮像姿勢の少なくとも一方を変更して移動型ロボット10を動作させる。制御部31は、変更後に撮像指令を視覚センサ11へ送出し、視覚センサ11は、撮像指令に応じて基準点Tを撮像する。
【0086】
一方、移動量(補正量)が閾値以下である場合、基準点Tが視覚センサ11の視野の端にある可能性が高いため、移動量算出部30bは、ずれ量(補正量)の算出指令をずれ量算出部30aへ送出し、ずれ量算出部30aは、第一実施形態で説明したように作業空間Sに対する移動型ロボット10の基準位置及び基準姿勢の少なくとも一方からのずれ量(補正量)を算出する。
【0087】
ずれ量算出部30aは、算出したずれ量(補正量)を制御部31へ送出し、制御部31は、ずれ量(補正量)に基づいて移動型ロボット10の動作に補正をかける。制御部31は、ずれ量(補正量)に基づいてロボット10aの動作に補正をかけるが、搬送装置10bが自動搬送装置である他の実施形態では、ずれ量(補正量)に基づいて搬送装置10bの動作に補正をかけてもよい。
【0088】
以下、
図7-
図8を参照して第二実施形態のロボットシステム1の詳細な動作について説明する。
図7は第二実施形態のロボットシステム1の補正フローチャートである。先ず、ステップS1において、移動型ロボット10(搬送装置10b)を他の機械20や他のワークWの近傍へ手動で又は自動で移動させる。ステップS2では、制御部31が移動型ロボット10を動作させて視覚センサ11を予め教示した撮像位置姿勢C1~C6(
図5を参照)へ移動させる。
【0089】
ステップS3では、視覚センサ11が基準点Ta、Tb、Tcを撮像位置姿勢C1~C6で撮像する。ステップS4では、移動量算出部30bが視覚センサ11からの検出画像に基準点Ta、Tb、Tcが写っているか否かを判定する。基準点Ta、Tb、Tcの検出には、マッチング処理等の画像処理を用いるとよい。検出画像に基準点Ta、Tb、Tcが写っていない場合(ステップS4のNO)、制御部31は、任意の移動量(補正量)に基づいて視覚センサ11の撮像位置姿勢C1~C6を自動的に変更して移動型ロボット10を動作させる。つまり撮像位置姿勢C1~C6は、例えば下記式により、任意の移動量(補正量)であるC(cxsc’,cysc’,czsc’,cwsc’,cpsc’,crsc’)に基づいて撮像位置姿勢C1’~C6’へ補正(変換)される。
【0090】
【0091】
そして、ステップS3に戻り、視覚センサ11が基準点Ta、Tb、Tcを変更後の撮像位置姿勢C1’~C6’で再び撮像し、ステップS4において、移動量算出部30bが視覚センサ11からの検出画像に基準点Ta、Tb、Tcが写っているか否かを再び判定する。検出画像に基準点Ta、Tb、Tcが写っている場合(ステップS4のYES)、移動量算出部30bは、視覚センサ11から取得した検出画像が記憶部33に予め記憶した基準画像に近づくように移動量(補正量)を算出する。
【0092】
以下、
図8を参照して移動量(補正量)の算出に用いる機械学習について説明する。第二実施形態のロボットの移動量(補正量)の算出原理の説明図である。移動量算出部30bは、視覚センサ11から取得した検出画像と、検出画像を基準画像に近づけるように算出した移動型ロボット10の移動量(補正量)を状態変数として観測する。また、移動量算出部30bは、記憶部33から基準画像を判定データとして取得する。
【0093】
次に、移動量算出部30bは、状態変数及び判定データの組み合せによって構成される訓練データセットに従って、移動型ロボット10を任意の位置及び姿勢の少なくとも一方から基準位置及び基準姿勢の少なくとも一方に移動させる移動量(補正量)を学習する。
【0094】
移動量算出部30bは、移動後の視覚センサ11の撮像位置及び撮像姿勢の少なくとも一方と、基準点Tの基準位置に基づいて報酬を計算し、報酬に基づいて現在の状態変数から視覚センサ11の移動量(補正量)を推測するための関数を更新するとよい。つまり、移動量算出部30bは、いわゆるQ学習を用いて強化学習を行うとよい。
【0095】
或いは、移動量算出部30bは、所定の位置及び姿勢の少なくとも一方に移動した視覚センサ11から取得した検出画像と、所定の位置及び姿勢の少なくとも一方から基準点Tの基準位置への視覚センサ11の移動量(補正量)のデータ集合とをラベルとして教師あり学習を行ってもよい。教師あり学習を行うことにより、基準位置及び基準姿勢の少なくとも一方で撮像した基準画像と、基準位置及び基準姿勢の少なくとも一方を記憶した後、適当な位置に移動して、その移動量(補正量)とその位置及び姿勢の少なくとも一方で撮像した検出画像を取得し、そのセットを複数用意することで画像の変化と移動量(補正量)の関係を学習でき、大量の学習データセットを自動的に取得できる。
【0096】
制御部31は、視覚センサ11から取得した検出画像を基準画像に近づけるように算出した移動量(補正量)に基づいて視覚センサ11を移動させ、移動後の視覚センサ11の位置及び姿勢の少なくとも一方が、基準位置及び基準姿勢に近いほど高い報酬を与えるようにしてもよい。
【0097】
移動量算出部30bは、状態変数及び報酬に基づいて視覚センサ11の移動量(補正量)に対応する行動価値テーブルを更新することが好ましい。移動量算出部30bは、観測した状態変数を多層構造で演算し、行動価値を判断するための行動価値テーブルをリアルタイムで更新することが好ましい。ここで、状態変数を多層構造で演算する方法として、いわゆる多層ニューラルネットワークを用いることができる。
【0098】
移動量算出部30bは、移動型ロボット10と同一構成の他の移動型ロボットの状態変数と報酬に基づいて他の移動型ロボットの視覚センサの移動量(補正量)に対応する価値関数を更新するようにしてもよい。つまり、移動量算出部30bが学習して更新した価値関数を用いて自己の価値関数を更新するのではなく、他の機械学習装置で更新された価値関数を用いて自己の価値関数を更新するようにしてもよい。例えば、複数の制御装置12間でデータを送受信し、他の制御装置12の学習内容を自身の学習に活用するようにしてもよい。
【0099】
移動量算出部30bは、現在の状態変数及び判定データの組み合せによって構成される追加の訓練データセットに従って、移動型ロボット10の移動量(補正量)を再学習して更新するように構成されてもよい。
【0100】
移動量算出部30bは、訓練データセットに従って学習した結果に基づいて、移動型ロボット10に対する動作指令を意思決定することが好ましい。移動量算出部30bは、視覚センサ11の移動後の撮像位置及び撮像姿勢の少なくとも一方で撮像した検出画像を状態変数とし、基準画像を判定データとして、視覚センサ11に写る基準点Tを基準画像の基準点Tに近づける移動型ロボット10の移動量(行動データ)を算出する。例えば、移動量算出部30bは、任意の位置に移動した視覚センサ11から取得した検出画像を基準画像に近づけるように視覚センサ11の移動量(補正量)を計算する。
【0101】
図7を再び参照すると、ステップS7において、移動量算出部30bは、算出した移動量(補正量)が閾値以下か否かを判定する。移動量(補正量)が閾値を超えている場合(ステップS7のNO)、基準点Ta、Tb、Tcが視覚センサ11の視野の端にない可能性が高いため、ステップS8において、制御部31は、算出された移動量(補正量)に基づいて視覚センサ11の撮像位置姿勢C1~C6を変更して移動型ロボット10を動作させる。そして、ステップS3に戻り、視覚センサ11が基準点Ta、Tb、Tcを変更後の撮像位置姿勢C1’~C6’で再び撮像し、ステップS4において、移動量算出部30bが視覚センサ11からの検出画像に基準点Ta、Tb、Tcが写っているか否かを再び判定する。検出画像に基準点Ta、Tb、Tcが写っている場合(ステップS4のYES)、移動量算出部30bは、視覚センサ11から取得した検出画像を基準画像に近づけるように移動量(補正量)を再び算出する。
【0102】
一方、移動量(補正量)が閾値以下である場合(ステップS7のYES)、基準点Ta、Tb、Tcが視覚センサ11の視野の端にある可能性が高いため、ステップS9において、ずれ量算出部30aが、第一実施形態で説明したように作業空間Sに対する移動型ロボット10の基準位置及び基準姿勢の少なくとも一方からのずれ量(補正量)を算出する。そして、ステップS10において、制御部31は、ずれ量(補正量)に基づいて移動型ロボット10の動作に補正をかける。制御部31は、ずれ量(補正量)に基づいてロボット10aの動作に補正をかけるが、搬送装置10bが自動搬送装置である他の実施形態では、ずれ量(補正量)に基づいて搬送装置10bの動作に補正をかけてもよい。
【0103】
以上のように第二実施形態のロボットシステム1によれば、移動型ロボット10(搬送装置10b)の停止位置又は停止姿勢が変化する場合であっても、又は作業対象である機械20やワークWの位置や姿勢が変化する場合であっても、機械学習を使用して移動量(補正量)を算出し、移動量(補正量)に基づいて移動型ロボット10を動作させて視覚センサ11の移動と撮像を繰り返すため、基準点Ta、Tb、Tcが視覚センサ11の視野の端にくるように、移動型ロボット(搬送装置10b)の停止位置又は停止姿勢を手動で変更したり、又は作業対象である機械20やワークWの位置や姿勢を手動で変更したり、又は撮像位置又は撮像姿勢を教示し直したりといった手間や試行錯誤がなくなり、ロボットの補正処理を自動化できる。
【0104】
また、第二実施形態のロボットシステム1によれば、検出画像に基準点Ta、Tb、Tcが写っているか否かを判定し、検出画像に基準点Ta、Tb、Tcが写っていない場合は、任意の移動量(補正量)に基づいて視覚センサ11の撮像位置姿勢C1~C6を自動的に変更するため、基準点Ta、Tb、Tcが視覚センサ11の視野に入るように、移動型ロボット(搬送装置10b)の停止位置又は停止姿勢を手動で変更したり、又は作業対象である機械20やワークWの位置や姿勢を手動で変更したり、又は撮像位置又は撮像姿勢を教示し直したりといった手間や試行錯誤がなくなり、ロボットの補正処理を自動化できる。
【0105】
前述のコンピュータプログラムは、コンピュータ読取り可能な非一時的記録媒体、例えばCD-ROM等に記録して提供してもよいし、或いは有線又は無線を介してWAN(wide area network)又はLAN(local area network)上のサーバ装置から配信して提供してもよい。
【0106】
本明細書において種々の実施形態について説明したが、本発明は、前述の実施形態に限定されるものではなく、以下の特許請求の範囲に記載された範囲内において種々の変更を行えることを認識されたい。
【符号の説明】
【0107】
1 ロボットシステム
10 移動型ロボット
10a ロボット
10b 搬送装置
10c ツール
11 視覚センサ
12 制御装置
13 教示装置
20 機械
21 ツール
22 制御装置
30 補正量算出部
30a ずれ量算出部
30b 移動量算出部
31 制御部
32 三次元情報検出部
33 記憶部
C カメラ座標系
C1~C6 撮像位置
M、M’ 機械座標系
S 作業空間
T、Ta、Tb、Tc 基準点
W ワーク