JP2015058488A - ロボット制御システム、ロボット、ロボット制御方法及びプログラム - Google Patents
ロボット制御システム、ロボット、ロボット制御方法及びプログラム Download PDFInfo
- Publication number
- JP2015058488A JP2015058488A JP2013192211A JP2013192211A JP2015058488A JP 2015058488 A JP2015058488 A JP 2015058488A JP 2013192211 A JP2013192211 A JP 2013192211A JP 2013192211 A JP2013192211 A JP 2013192211A JP 2015058488 A JP2015058488 A JP 2015058488A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- imaging
- robot control
- port
- captured images
- 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.)
- Pending
Links
Images
Abstract
【課題】 撮像画像に基づいて、ポートと撮像部との対応関係を識別することで、撮像画像を用いたロボット制御を適切に行うロボット制御システム、ロボット、ロボット制御方法及びプログラム等を提供すること。【解決手段】 ロボット制御システム300は、複数のポートに接続される複数の撮像部からの複数の撮像画像を取得する撮像画像取得部310と、取得した複数の撮像画像のうち、少なくとも1つの撮像画像に基づいてロボットの制御を行うロボット制御部330と、複数の撮像部のうちのいずれの撮像部が、複数のポートのうちのいずれのポートに接続されたかを識別するポート識別処理を、複数の撮像画像に基づいて行う処理部320を含む。【選択図】 図2
Description
本発明は、ロボット制御システム、ロボット、ロボット制御方法及びプログラム等に関する。
現在、視覚装置を搭載したロボットが数多く用いられている。視覚装置であるカメラが設置される場所として、ロボットの上部(頭部)やロボットアーム先端が代表的である。このように複数台のカメラを使用してロボットにより作業を行なう場合は、どのシーンでどのカメラを使うかを指定し、入力画像(カメラからの撮像画像)を切り替えて処理する必要がある。
例えば、所与のロボット作業においてハンドアイカメラからの画像を用いる必要がある場合、ロボット制御システムに対して入力される複数の撮像画像から、所望のハンドアイカメラの画像を適切に選択しなくてはならない。従来、入力画像がハンドアイカメラの画像であるかを確認するには、現在処理対象としている入力画像をディスプレイに出力し、人の目で確認する等の手法が用いられている。
特許文献1には、カメラのズーム機能、パン・チルト機能を用いて、複数のユーザーの各ユーザーに対して、当該ユーザーの権限に応じて、所望の画像を閲覧可能とするカメラ制御システムが開示されている。つまり特許文献1に開示されたカメラ制御システムを用いることで、実行する処理に応じて取得する撮像画像を切り替え、当該処理において必要な画像を取得(選択)することが可能になると考えられる。
上述したように従来手法では、取得した撮像画像が所望の処理に利用できる適切な画像であるか否かは、ユーザー自身が確認、判断する必要があった。しかしこの確認作業等は非常に煩雑であるため、ユーザーの省力化を考慮すれば、システムによる自動化が望まれる。
特にロボットの分野においては、ロボット自身が複数のポートを有することが一般的である。ここでのポートとはカメラ等の外部機器を接続するためのインターフェースに対応する。カメラの設置位置も、ロボットの上部やアーム先端、或いは作業台上、作業空間の壁や天井等、種々の位置が考えられるところ、どこに設置されるカメラがどのポートに接続されるかは、多くの組み合わせが考えられる。つまりカメラを用いてロボットを適切に制御するためには、どのポートにどのカメラが接続されているかを決定する必要がある。さらにロボットが複数台設けられる場合には、各ロボットについてポートとカメラの対応関係を決定せねばならず、ユーザーが手動で行うのでは負担が大きい。
この点は特許文献1においても同様である。また、特許文献1ではカメラが複数あってもよいとの記載はあるが、あくまでカメラのズーム・パン・チルト機能を用いた撮像範囲(或いは表示範囲)の変更が主眼であり、複数の撮像部のうち、適切な撮像部からの撮像画像を選択するという点には触れられていない。
本発明の幾つかの態様によれば、撮像画像に基づいて、ポートと撮像部との対応関係を識別することで、撮像画像を用いたロボット制御を適切に行うロボット制御システム、ロボット、ロボット制御方法及びプログラム等を提供することができる。
本発明の一態様は、複数のポートに接続される複数の撮像部からの複数の撮像画像を取得する撮像画像取得部と、取得した前記複数の撮像画像のうち、少なくとも1つの撮像画像に基づいてロボットの制御を行うロボット制御部と、前記複数の撮像部のうちのいずれの撮像部が、前記複数のポートのうちのいずれのポートに接続されたかを識別するポート識別処理を、前記複数の撮像画像に基づいて行う処理部と、を含むロボット制御システムに関係する。
本発明の一態様では、複数の撮像部からの撮像画像に基づいて、いずれの撮像部がいずれのポートに接続されたかを識別する。よって、ロボット制御において複数の撮像部を用いる場合であっても、どのポートへの入力がどの撮像部からの撮像画像かを自動的に識別することができ、ユーザーの負担を軽減しつつ、適切なロボット制御を行うこと等が可能になる。
また、本発明の一態様では、前記ロボット制御部は、前記処理部での前記ポート識別処理の処理中において、前記ロボットを動作させる制御を行い、前記処理部は、前記ロボット制御部による前記ロボットの動作中に撮像された前記複数の撮像画像に基づいて、前記ポート識別処理を行ってもよい。
これにより、ポート識別処理中にロボット制御を行うことで、精度よくポート識別処理を行うこと等が可能になる。
また、本発明の一態様では、前記処理部は、前記複数の撮像画像に撮像された1又は複数の識別用マーカーの検出処理を行って、前記複数の撮像画像の各撮像画像に対応する撮像マーカーパターンを取得し、取得した前記撮像マーカーパターンに基づいて、前記ポート識別処理を行ってもよい。
これにより、識別用マーカーを用いてポート識別処理を行うこと等が可能になる。
また、本発明の一態様では、前記処理部は、前記複数の撮像画像のうちの所与の撮像画像に対する前記検出処理により検出された前記識別用マーカーの時系列的な変化を、前記所与の撮像画像に対応する前記撮像マーカーパターンとして取得してもよい。
これにより、検出された識別用マーカーの時系列的な変化を、撮像マーカーパターンとしてポート識別処理に用いること等が可能になる。
また、本発明の一態様では、前記処理部は、前記検出処理により取得した前記撮像マーカーパターンと、前記撮像部の設置位置に応じて決定される基準マーカーパターンとの比較処理に基づいて、前記ポート識別処理を行ってもよい。
これにより、撮像マーカーパターンと基準マーカーパターンとの比較処理によりポート識別処理を行うこと等が可能になる。
また、本発明の一態様では、前記処理部は、前記ロボットの動作環境に配置された1又は複数のマーカーを、前記1又は複数の識別用マーカーとして前記検出処理を行い、前記検出処理の結果に基づいて前記ポート識別処理を行ってもよい。
これにより、ロボットの動作環境に配置された識別用マーカーを用いて、ポート識別処理を行うこと等が可能になる。
また、本発明の一態様では、前記処理部は、前記ロボットに配置された1又は複数のマーカーを、前記1又は複数の識別用マーカーとして前記検出処理を行い、前記検出処理の結果に基づいて前記ポート識別処理を行ってもよい。
これにより、ロボットに配置された識別用マーカーを用いて、ポート識別処理を行うこと等が可能になる。
また、本発明の一態様では、前記処理部は、前記撮像部の設置位置に応じて登録された登録画像と、前記複数の撮像画像との比較処理に基づいて前記ポート識別処理を行ってもよい。
これにより、登録画像に基づいてポート識別処理を行うこと等が可能になる。
また、本発明の一態様では、前記処理部は、前記複数の撮像画像に基づいて前記ポート識別処理を行うとともに、前記複数の撮像画像に基づいて撮像異常検出処理を行ってもよい。
これにより、撮像画像に基づいて、ポート識別処理とともに撮像異常検出処理を行うこと等が可能になる。
また、本発明の一態様では、前記複数の撮像部は、1又は複数のハンドアイカメラと、前記ロボットに取り付けられたグローバルカメラと、を少なくとも含み、前記撮像画像取得部は、前記1又は複数のハンドアイカメラからの前記撮像画像、及び前記グローバルカメラからの前記撮像画像を少なくとも含む、前記複数の撮像画像を取得してもよい。
これにより、ハンドアイカメラ及びグローバルカメラを対象としてポート識別処理を行うこと等が可能になる。
また、本発明の他の態様は、複数のポートに接続される複数の撮像部からの複数の撮像画像を取得する撮像画像取得部と、取得した前記複数の撮像画像のうち、少なくとも1つの撮像画像に基づいてロボットの制御を行うロボット制御部と、前記複数の撮像部のうちのいずれの撮像部が、前記複数のポートのうちのいずれのポートに接続されたかを識別するポート識別処理を、前記複数の撮像画像に基づいて行う処理部と、を含むロボットに関係する。
また、本発明の他の態様は、複数のポートに接続される複数の撮像部からの複数の撮像画像を取得する処理を行い、前記複数の撮像部のうちのいずれの撮像部が、前記複数のポートのうちのいずれのポートに接続されたかを識別するポート識別処理を、前記複数の撮像画像に基づいて行い、取得した前記複数の撮像画像のうち、前記ポート識別処理により前記ポートとの対応関係が識別された少なくとも1つの撮像画像に基づいて、ロボットの制御を行う、ロボット制御方法に関係する。
また、本発明の他の態様は、複数のポートに接続される複数の撮像部からの複数の撮像画像を取得するステップと、前記複数の撮像部のうちのいずれの撮像部が、前記複数のポートのうちのいずれのポートに接続されたかを識別するポート識別処理を、前記複数の撮像画像に基づいて行うステップと、取得した前記複数の撮像画像のうち、前記ポート識別処理により前記ポートとの対応関係が識別された少なくとも1つの撮像画像に基づいて、ロボットの制御を行うステップと、をコンピューターに実行させるプログラムに関係する。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.本実施形態の手法
まず本実施形態の手法について説明する。近年、視覚装置を搭載したロボットが数多く用いられている。ここでの視覚装置とは狭義にはカメラのことであり、以下では撮像部と記載する。視覚装置(撮像部)を搭載したロボットでは、当該撮像部により撮像された撮像画像を用いてロボット制御が行われる。例えば、撮像画像に基づいてロボット自身や周囲環境の変化を検出し、検出結果をフィードバックループにおいて利用するビジュアルサーボを行ってもよい。或いは、作業空間上に配置されるワークを撮像することで、当該ワークの検査処理を行うものであってもよい。その他、撮像画像を用いたロボット制御は種々の手法が考えられる。
まず本実施形態の手法について説明する。近年、視覚装置を搭載したロボットが数多く用いられている。ここでの視覚装置とは狭義にはカメラのことであり、以下では撮像部と記載する。視覚装置(撮像部)を搭載したロボットでは、当該撮像部により撮像された撮像画像を用いてロボット制御が行われる。例えば、撮像画像に基づいてロボット自身や周囲環境の変化を検出し、検出結果をフィードバックループにおいて利用するビジュアルサーボを行ってもよい。或いは、作業空間上に配置されるワークを撮像することで、当該ワークの検査処理を行うものであってもよい。その他、撮像画像を用いたロボット制御は種々の手法が考えられる。
撮像画像を用いたロボット制御では、当該撮像画像として、適切な撮像部により撮像された画像を用いる必要がある。例えば、ロボットのアーム先端にハンドアイカメラを取り付け、当該アーム先端部分を複数のワークの直上に順次移動させて画像を撮像することで、各ワークの検査を行う制御を考える。この場合、検査に用いられる撮像画像は、移動対象であるアームの先端部分に取り付けられた撮像部からの画像でなくてはならない。仮にロボットの上部に設置されたグローバルカメラからの撮像画像を処理に用いてしまうと、各ワークが画像中に充分なサイズで撮像されなかったり、アーム等に遮蔽されることでそもそもワークが画像中に撮像されない等の可能性が考えられ、検査処理の精度低下等につながるためである。
しかし、ロボット制御システムにとって、各撮像画像がどの撮像部により撮像されたものであるかという情報は自明ではない。近年のロボットは図1に示したように複数のポートを有することが一般的である。ここでのポートとは、例えばUSB(Universal Serial Bus)に代表されるような、外部機器を接続するためのインターフェースを表す。また、本実施形態でのポートは、外部機器との接続インターフェースを広く表すものであり、有線接続に用いられるものには限定されない。例えば、短距離無線通信等を用いて外部機器と接続される場合の通信インターフェース(狭義には無線LAN等の接続インターフェース)であってもよい。
また、撮像部側の接続インターフェースも種々考えられることから、ロボット制御システムの複数のポートを用いて、複数の撮像部が接続される可能性は充分考えられる。その場合、ロボット制御システムにとっては、第1のポートからは第1の撮像画像が信号として入力されている、第2のポートからは第2の撮像画像が信号として入力されているといったことはわかるが、第1,第2の撮像画像がどの撮像部により撮像されたものであるかは自明でない。
そのため、従来手法では各撮像画像がどの撮像部により撮像されたものであるかを、ユーザーが手動で入力していた。これは言い換えれば、どの撮像部がどのポートに接続されているか、という対応関係をユーザーが手動で入力するということに対応する。図1の例であれば、ロボットは、ロボット上部に設けられるグローバルカメラGcamと、アーム先端部分に設けられるハンドアイカメラHcamを有する。この場合ユーザーが、ポートsとGcamが対応する、ポートtとHcamが対応する(s、tはポートの番号を表す値)という情報を入力していた。
ユーザーによる対応関係の入力手法は種々考えられるが、例えば各ポートに入力された撮像画像を表示部に表示し、表示された当該撮像画像に撮像された被写体等を用いた判定をユーザーに行わせればよい。図1の例において、ポートtに入力された画像では、図11(A)に示したようにワーク20が画像中で大きく撮像されており、ポートsに入力された画像では、図11(B)に示したようにワーク20や作業台10、ロボットのアーム110等が広く撮像されていれば、各画像を閲覧したユーザーは、ポートsにGcamが接続され、ポートtにHcamが接続されていることを理解できる。よってその対応関係をデータベース等に入力すればよい。実際のロボット制御においては、データベースから対応関係を読み出し、必要な撮像画像を選択して処理に用いる等の手法をとることが考えられる。
或いは、撮像部をポートに接続する際に、接続作業を行うユーザーに対応関係を入力させてもよい。通常、接続作業を行う際には、担当ユーザーはどの撮像部をどのポートに接続しようとしているか認識しているはずである。よって、当該担当ユーザーに対応関係を入力させれば、実際に撮像された画像を閲覧するまでもなく、対応関係を決定可能である。
いずれにせよ、従来手法ではポートと撮像部との対応関係はユーザーの手動入力を前提としていた。しかしこの入力作業は煩雑であり、ユーザーの負担が大きい。例えば、ビジュアルサーボであれば1カ所の制御箇所で2つ(ステレオ用)のカメラを用いることが多い。よってN箇所でビジュアルサーボを行おうとすれば2×Nのカメラが必要となる。またロボットが、ビジュアルサーボ用カメラの他に、グローバルカメラとハンドアイカメラを有することも一般的である。またロボット側についても、例えば8〜10個程度のポートを有することは一般的ある。つまり、撮像画像を用いたロボット制御を適切に行うためには、かなりの数の撮像部を接続し、そのポートとの対応関係を特定しなくてはならない。さらに、工場のライン等では多くのロボットを用いることになり、全てのロボットについて対応関係を入力するのではユーザー負担が過剰となる。
例えば、デフォルトで指定された撮像部を、交換することなく使い続けるのであれば、ユーザー入力を行わずに撮像部とポートの対応関係を1通りに特定可能である。しかし撮像部の故障や、ユーザーによる高スペックな撮像部への変更要求等を考えれば現実的とは言えない。また、特定の撮像部は特定のポートへ接続するという対応関係を事前に決定しておき、ロボットを用いるユーザーに対して当該対応関係に従った接続を行わせることで、対応関係の入力を省略することも考えられる。しかしこの場合も、ユーザーによる撮像部の自由な組み合わせが阻害されることになり好ましくなく、また接続ミスにより事前に規定された対応関係を満たさないことになるケースも生じうる。また、撮像部側が機器特定用の情報(ネットワーク機器でいうMACアドレスに対応する情報)を有することもあるが、安価なカメラを中心にそのような情報を持たない撮像部も多く、対応関係の特定に利用することは難しい。
以上の点を鑑み、本出願人は複数の撮像部について、当該撮像部からの撮像画像に基づいて、ポートとの対応関係を自動的に識別するポート識別処理を行う手法を提案する。このようにすれば、撮像部とポートの対応関係を手動入力する必要がなく、1台のロボットに多数のカメラが接続されたり、そのようなロボットを多数用いるような場合であっても、ユーザーの負担を増大させることなくロボット制御を実行することが可能になる。撮像画像に基づくポート識別処理の詳細については後述する。
また、本出願人はポート識別処理の期間中にロボット制御を行う手法を合わせて提案する。本実施形態では、撮像部からの撮像画像はロボット制御(具体的には対応関係確定後の制御であり、上記の例ではビジュアルサーボや検査等)に用いられることから、ロボット本体の近傍に設けられることが想定される。そのため、図4(B)等を用いて後述するように、ロボットのアーム110を移動させる等のロボット制御を行うことで、特定の撮像部で撮像される被写体を意図的に変化させることが可能である。つまり、所与のロボット制御を行った場合に、特定の撮像部であれば撮像画像に所定の変化が見られ、他の撮像部であれば撮像画像に異なる変化が見られる(或いは変化しない)といった、撮像部ごとの撮像画像の傾向を表す情報を事前に取得することが可能である。よって、このような情報を用いることで、撮像画像に基づくポート識別処理を、より精度よく行うことが可能になる。
以下、ロボット制御システム等のシステム構成例を説明した後、撮像画像に基づくポート識別処理の具体例について説明する。また、ポート識別処理の変形例についても説明し、最後に本実施形態の具体例を説明する。
2.システム構成例
図1に本実施形態に係るロボット制御システムを含むロボットのシステム構成例を示す。本実施形態のロボットは、ロボット本体100と、ベースユニット部200を含む。ただし、ロボットは図1の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。また、種々の変形実施が可能な点は、図2等のシステム構成例においても同様である。
図1に本実施形態に係るロボット制御システムを含むロボットのシステム構成例を示す。本実施形態のロボットは、ロボット本体100と、ベースユニット部200を含む。ただし、ロボットは図1の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。また、種々の変形実施が可能な点は、図2等のシステム構成例においても同様である。
ロボット本体100は、頭部や胴体に相当する部分に加え、アーム110を含む。アーム110は、関節111,113と、関節の間に設けられるフレーム115,117から構成される。また、アーム110の先端にはエンドエフェクターが設けられる。ここでのエンドエフェクターとは、図1に示したようにハンド119であってもよいし、ハンドアイカメラHcam(複数の撮像部のうちの1つ)であってもよいし、工具等の他のものであってもよい。また、図1ではハンドアイカメラHcamは片腕に設けられるものとしたが、複数のアームのそれぞれにハンドアイカメラを設けてもよい。
なお、図1では2本のアームを有する双腕ロボットの例を示したが、本実施形態のロボットはこれに限定されない。例えばアームは1本であってもよいし、3本以上であってもよい。また、各アームに含まれる関節やフレームの数も種々の変形実施が可能である。例えば図1のようにシンプルな構成のアームを用いてもよいし、人間の腕に近いとされている6自由度、7自由度のアームを用いてもよい。ロボット制御においては、作業台10に載せられたワーク20に対して、アーム110を用いて作業を行うことが想定される。
ベースユニット部200は、ロボット本体100の下部に設けられ、ロボット本体100を支持する。図1の例では、ベースユニット部200には車輪等が設けられ、ロボット全体が移動可能な構成となっている。ただし、ベースユニット部200が車輪等を持たず、床面等に固定される構成であってもよい。また、本実施形態に係るロボット制御システムは、ベースユニット部200に格納されてもよい。この場合、撮像部等との接続インターフェースであるポートは、例えば図1に示したようにベースユニット部200の側面等に設けられることになる。
上述したように、ロボットの作業環境には複数の撮像部が設けられる。図1の例では、アーム110の先端にハンドアイカメラHcamが設けられるとともに、ロボット上部(頭部に相当する位置)にグローバルカメラGcamが設けられる。なお、グローバルカメラGcamはステレオマッチングを行うために2つ設けられてもよい。HcamやGcamはそれぞれポートに接続され、ロボット制御システムは当該ポートを介して、Hcam等の撮像部からの撮像画像を取得し、ロボット制御に利用することになる。
図2に、ロボット制御システム300のシステム構成例を示す。ロボット制御システム300は、撮像画像取得部310と、処理部320と、ロボット制御部330を含む。
撮像画像取得部310は、撮像部400からの撮像画像を取得する。撮像部400は、上述したようにハンドアイカメラHcamやグローバルカメラGcamを含んでもよい。また、複数の撮像部の各撮像部は、複数のポートのいずれかに接続され、撮像画像取得部310は、ポートを介して複数の撮像画像を取得する。
処理部320は、撮像画像取得部310が取得した撮像画像に基づいて、各撮像画像がどの撮像部により撮像されたものであるかを識別する。上述したように、各撮像画像がどのポートにより入力されたものであるかはロボット制御システムにとって既知であるため、撮像画像と撮像部の対応付けとは、各撮像部について当該撮像部が接続されたポートを識別するポート識別処理に他ならない。ポート識別処理の詳細については後述する。
ロボット制御部330は、ポート識別処理の結果に基づいて、所望の撮像画像を用いたロボット制御を行う。具体的にはアーム110やエンドエフェクター112(ハンド119等)に対する制御信号を出力する。ただし、ロボット制御部330による制御は、ポート識別処理後に行われるものに限定されない。上述したように、ポート識別処理の期間中にアーム110を移動させる等のロボット制御を行ってもよく、それにより高精度でのポート識別処理が可能になる。ポート識別処理の期間中のロボット制御例については後述する。
なお、図1のロボットでは、ベースユニット部200にロボット制御システム300が格納されることで、ロボット本体100とロボット制御システム300とが一体として構成されるものとしたが、これに限定されない。例えば、図3に示したように、ロボット本体100と、ロボット制御システム300とが別体として構成されてもよい。なお、図3ではPCによりロボット制御システム300を実現する例を示しているが、これに限定されるものではない。
3.撮像画像に基づくポート識別処理の具体例
次に、撮像画像に基づくポート識別処理の具体例として、識別用マーカーの検出処理を用いる手法について説明する。本実施形態では、ロボットの動作環境に1又は複数の識別用マーカーを設置する。そして、所望の撮像部からの撮像画像においては、設置された識別用マーカーは、このようなパターンで撮像されるはずである、ということを表す基準マーカーパターンを設定しておく。
次に、撮像画像に基づくポート識別処理の具体例として、識別用マーカーの検出処理を用いる手法について説明する。本実施形態では、ロボットの動作環境に1又は複数の識別用マーカーを設置する。そして、所望の撮像部からの撮像画像においては、設置された識別用マーカーは、このようなパターンで撮像されるはずである、ということを表す基準マーカーパターンを設定しておく。
その上で、複数の撮像部の各撮像部で実際に撮像された撮像画像に対して、識別用マーカーの検出処理を行い、各撮像画像で検出された識別用マーカーのパターンを、撮像マーカーパターンとして取得する。さらに、取得された撮像マーカーパターンと、基準マーカーパターンの比較処理を行って、所望の撮像部からの撮像画像はどのポートに対する入力であるか、すなわち所望の撮像部がどのポートに接続されたかを識別する。なお、以下の説明では、ポート識別処理の期間中にロボット制御を行うものとしているが、これに限定されない。
具体例を図4(A)等を用いて説明する。図4(A)はロボットの動作環境における識別用マーカーの配置例を表す。図4(A)は、例えば図1の作業台10を上方から見た場合の図に対応する。ここでは、図4(A)に示した位置関係で、6つの識別用マーカーM1〜M6が配置されているものとする。なお、識別用マーカーは作業台10に配置されるものには限定されず、ワーク20に配置されてもよいし、壁や床等に配置されてもよい。
このような識別用マーカーの配置において、ロボット制御部330は、アームARMを制御することで、ARMの先端に設けられたハンドアイカメラHcamを、図4(B)に示した移動経路で移動させる。この際、撮影位置1〜6に示した6カ所の位置で、撮像画像が撮像されるものとする。ここで、撮像位置1は識別用マーカーM1の上部の位置であり、撮像位置2〜6についても、それぞれ識別用マーカーM2〜M6に対応する位置となる。
なお、Hcamを図4(B)に示した経路で移動させるロボット制御とは、例えば、図5(A)〜図5(F)に示したようなアームARMの制御に対応する。図5(A)が撮影位置1に対応し、以下図5(B)〜図5(F)がそれぞれ撮影位置2〜6に対応する。ただし、Hcamを図4(B)の移動経路に沿って移動させるためのロボット制御は、図5(A)〜図5(F)に限定されるものではない。また、図5(A)〜図5(F)では説明の便宜上、識別用マーカーを上部から見た場合に、Hcamの下部に位置する識別用マーカー以外のマーカーが、アームARM等により極力遮蔽されない例を示しているが、そのようにする必要はない。
図4(A)、図4(B)の例では、第1の撮影タイミングt1では、Hcamは識別用マーカーM1の上部に位置するため、t1でのHcamからの撮像画像に対する識別用マーカーの検出処理を行うことで、M1が検出されることになる。同様に、第i(i=2,3,4,5,6)の撮影タイミングtiでは、Hcamは識別用マーカーMiの上部に位置するため、tiでのHcamからの撮像画像に対する識別用マーカーの検出処理を行うことで、Miが検出されることになる。
つまり、t1〜t6での検出処理の結果を時系列順に並べることで、識別用マーカーの検出パターンを、(M1,M2,M3,M4,M5,M6)と規定することができる。つまり、図5(A)〜図5(F)に例示したようなロボット制御を行うことで、アームARMの先端に取り付けられたハンドアイカメラHcamからの撮像画像では、(M1,M2,M3,M4,M5,M6)というパターンの検出結果が得られることが期待されることになる。よって本実施形態では、図4(B)のロボット制御を行った場合のハンドアイカメラHcamからの撮像画像についての基準マーカーパターンとして、(M1,M2,M3,M4,M5,M6)というパターンを保持しておく。
ポート識別処理においては、保持しておいた基準マーカーパターンと、実際に図4(B)のロボット制御において、t1〜t6で取得された撮像画像に対する検出処理の結果とを比較すればよい。ここでの、実際の撮像画像に対する識別用マーカーの検出処理の結果が撮像マーカーパターンである。
所望の撮像部からの撮像画像に対して検出処理を行った場合には、例えば図5(A)〜図5(F)に示したHcamからの撮像画像に対する検出処理となるため、取得される撮像マーカーパターンは(M1,M2,M3,M4,M5,M6)となる。つまり、撮像マーカーパターンと基準マーカーパターンが一致することになり、検出処理の対象とした撮像画像が所望の撮像画像であるということがわかる。これは、処理対象の撮像画像が入力されたポートに対して、所望の撮像部(図5(A)等の例では左腕であるARM先端に取り付けられたハンドアイカメラHcam)が接続されているという識別処理が実行されたということになる。
一方、それ以外の撮像部からの撮像画像に対して検出処理を行った場合には、撮像マーカーパターンと基準マーカーパターンが一致しない。例えば、検出処理の対象である撮像画像が、図5(A)等に不図示の他のアームの先端に設けられたハンドアイカメラからの画像である場合には、当該撮像画像からは少なくともM1〜M6の識別用マーカーが1つずつ順次検出されることはなく、撮像マーカーパターンは基準マーカーパターン(M1,M2,M3,M4,M5,M6)には一致しない。
また、図1に示したグローバルカメラGcamからの撮像画像を対象とした場合には、撮像画像は例えば図5(A)等と同様に、作業台を上部から見た画像として取得されることが想定される。その場合、検出処理の結果としてM1〜M6の識別用マーカーが検出されることはあり得るが、検出結果をt1〜t6の順に時系列順に並べた結果である撮像マーカーパターンは、基準マーカーパターン(M1,M2,M3,M4,M5,M6)に一致するものではない。
つまり、撮像マーカーパターンと基準マーカーパターンが一致しないという結果により、検出処理の対象とした撮像画像が所望の撮像画像ではないということがわかる。これは、処理対象の撮像画像が入力されたポートに対して、所望の撮像部が接続されていない(さらにいえば所望の撮像部以外の撮像部が接続されている)というポート識別処理が実行されたということになる。
以上のことから、ポート識別処理においては、撮像画像取得部310が取得した複数の撮像画像について、それぞれ撮像マーカーパターンを取得して基準マーカーパターンとの比較処理を行っていけばよい。撮像マーカーパターンと基準マーカーパターンが一致する場合には、処理対象である撮像画像が所望の撮像部からの画像であると判定し、撮像マーカーパターンと基準マーカーパターンが一致しない場合には、処理対象である撮像画像が所望の撮像部以外の撮像部からの画像であると判定する。
本実施形態の処理を説明するフローチャートを図6に示す。この処理が開始されると、まずアーム110の移動が行われる(S101)。なお、図6のフローチャートでは図4(B)に示したように所望の撮像部をHcamとしており、アーム110の移動とは当該アームの先端に設けられたハンドアイカメラHcamの移動に対応する。
そして、所定の撮像タイミングで撮像を行い(S102)、処理対象としている撮像部からの撮像画像を取得する。上述してきたように、処理対象である撮像部が特定のポートに接続されている、すなわち取得した撮像画像は特定のポートに対する入力であるということはロボット制御システム300は認識しているが、当該撮像部が所望の撮像部(ここではHcam)であるか否かは不明である。
S102の後、アーム位置が最終位置であるかの判定を行う(S103)。図6ではS101〜S103の1回のループで1回の撮像が行われる。つまり、図4(B)の例であれば、最初のS101,S102の処理で、撮影位置1への移動と、撮像タイミングt1での撮像が行われる。そしてS103では撮影位置6までの撮像が終わっていないため、判定がNoとなりS101に戻る。2回目のS101〜S103のループでは撮影位置2への移動と、撮像タイミングt2での撮像が行われ、やはり最終位置まで移動していないのでS101に戻る。以降も、S101〜S103を繰り返すことでt3〜t6での撮像を行う。
t6までの撮像が終わった場合には、アーム110の移動が終了したものとして、S103でYesとなり、S101〜S103のループにより撮像された撮像画像において、識別用マーカーが順番通りに検出されているかの判定を行う(S104)。具体的には、上述したようにS101〜S103のループにより撮像された撮像画像に対する、識別用マーカーの検出処理の結果を撮像マーカーパターンとして取得し、事前に取得されていた基準マーカーパターンとの比較処理を行えばよい。
撮像マーカーパターンと基準マーカーパターンが一致する場合には、S104でYesとなり、処理対象としていた撮像画像が所望の画像である、すなわちS101〜S103のループで取得した撮像画像が入力されているポートに対して、所望の撮像部であるHcamが接続されていると判定して処理を終了する。
一方、撮像マーカーパターンと基準マーカーパターンが一致しない場合には、S104でNoとなり、処理対象としていた撮像画像が所望の画像でないと判定される。その場合には、処理対象とする撮像部(ポート)を切り替えて(S105)、切り替え後の撮像部に対して同様の処理を行うためS101に戻る。
以上の説明では、所定のロボット制御における基準マーカーパターンは1つであることを想定していた。この場合のポート識別処理は、1つの基準マーカーパターンとの一致不一致の判定となる。つまり1回のポート識別処理においては、所望の撮像部か否かは識別できても、所望の撮像部ではない撮像部についてはそれ以上の判定は行えない。例えば、左腕先端に設けられたハンドアイカメラHcamではない、という情報は取得できても、具体的にどの設置位置に設けられた撮像部であるかは特定できないものであった。
これに対しては、例えば第1のロボット制御で第1の基準マーカーパターンを設定することで、第1の撮像部を特定し、第2のロボット制御で第2の基準マーカーパターンを設定することで、第2の撮像部を特定するといった手法を用いてもよい。具体的には、左腕を動かすロボット制御により左腕先端に設けられたハンドアイカメラを識別し、右腕を動かすロボット制御により右腕先端に設けられたハンドアイカメラを識別するといった手法である。このようにすれば、N回のロボット制御により、N個の撮像部を特定することが可能になる。
しかし本実施形態のポート識別処理はこれに限定されない。例えば、所与のロボット制御を行う場合において、複数の基準マーカーパターンを設定しておいてもよい。具体例を図7(A)等を用いて説明する。
図7(A)に識別用マーカーの配置位置の例を示す。ここでは、図4(A)に加えて識別用マーカーM7が追加された配置となっている。そして図7(B)にロボットのアームの初期位置を示す。ここでのロボットは双腕ロボットであり、右腕に対応するARM1と左腕に対応するARM2を有する。そしてARM1の先端にハンドアイカメラHcam1が設けられ、ARM2の先端にハンドアイカメラHcam2が設けられる。また、ここでのロボットは図1に示したようなグローバルカメラGcamも有しているものとする。
この場合のロボット制御の一例が図7(C)である。ARM2に設けられたHcam2は、図4(B)のHcamと同様に、識別用マーカーM1〜M6の上部を順次移動する。一方、ARM1については、移動が行われず初期位置にとどまったままである。
図7(C)に示したロボット制御が行われることで、ARM2の先端のHcam2については、図4(B)と同様の移動経路、撮像位置となるため、Hcam2に対応する基準マーカーパターンは(M1,M2,M3,M4,M5,M6)となる。一方、ARM1の先端のHcam1については、識別用マーカーM7の直上から移動することがない。しかしARM1と識別用マーカーM7の位置関係を考慮すれば、Hcam1以外の撮像部により、識別用マーカーM7だけを常時検出し続けることは困難と考えられる。つまり、Hcam1で検出される識別用マーカーは、t1〜t6においてM7のまま変化しないパターンとなるが、当該パターンは他の撮像部で見られるものではなく、Hcam1を識別するに当たって有用である。つまり図7(C)に示したロボット制御において、Hcam1に対応する基準マーカーパターンとして(M7,M7,M7,M7,M7,M7)というパターンを設定することができる。
図7(C)のロボット制御を実現するARM1,ARM2の移動の具体例を図8(A)〜図8(F)に示す。図5(A)〜図5(F)と同様に、図8(A)〜図8(F)も、それぞれ撮像タイミングt1〜t6に対応する。ここでグローバルカメラGcamはロボットの上部に設けられるものであるから、下方向(作業台の方向)に光軸を向けることで、Gcamからの撮像画像として、図8(A)〜図8(F)のような画像が撮像できるはずである。つまり、図8(A)〜図8(F)は、アームの姿勢変化を説明する図であると同時に、Gcamからの撮像画像の変化を説明する図である。
図8(A)〜図8(F)をGcamの撮像画像として捉えた場合、図8(A)からわかるように、タイミングt1では、M1がARM2により遮蔽され、M7がARM1により遮蔽されるため、その他の識別用マーカーM2〜M6が検出される。同様に、図8(B)からt2ではM1及びM3〜M6が検出され、以下t3ではM1〜M2及びM4〜M6、t4ではM1〜M3及びM5〜M6、t5ではM1〜M4及びM6、t6ではM1〜M5が検出される。
このようなパターンは、上述したHcam1やHcam2の基準マーカーパターンとは大きく異なるものであり、Gcamを識別する情報として有用である。つまり図7(C)に示したロボット制御において、Gcamに対応する基準マーカーパターンとして(M2〜M6,M1及びM3〜M6,M1〜M2及びM4〜M6,M1〜M3及びM5〜M6,M1〜M4及びM6,M1〜M5)というパターンを設定することができる。
なお、図8(A)〜図8(F)では、撮像タイミングt1〜t6において、Hcam2で撮像している識別用マーカー以外のマーカーを極力遮蔽しないようにARM2が移動するために、基準マーカーパターンが上述のパターンとなった。ただし、ロボット制御及び基準マーカーパターンはこれに限定されない。例えば、ARM2がHcam2の撮像対象以外の識別用マーカーを遮蔽するように移動してもよい。その場合、Gcamの基準マーカーパターンとしては、ARM2による識別用マーカーの遮蔽具合を考慮して設定されることになる。例えば、t1においてARM2がM1を遮蔽するだけではなく、ARM2のフレーム部分によりM6も遮蔽するような場合には、Gcamの基準マーカーパターンのうち、t1に対応する要素については、M1,M6,M7を除いたM2〜M5となる。
以上により、図7(C)に示したような1つのロボット制御に対して、複数の撮像部に対応する複数の基準マーカーパターンを設定することができる。そして、ポート識別処理においては、複数の撮像部からの撮像画像(複数のポートに対する入力)のそれぞれについて、複数の基準マーカーパターンのいずれに一致するかを判定すればよい。
例えば、図9(A)に示したように、入力された3つの撮像画像に対して、それぞれIDを付けて、暫定的にどの撮像部に対応するかを決定する。ここではID=1の画像はGcamの撮像画像であり、ID=2はHcam1、ID=3はHcam2の撮像画像であることを仮定している。
その上で、図7(C)等のロボット制御を行い、各IDに対応する撮像画像を取得し、識別用マーカーの検出処理を行って撮像マーカーパターンを取得する。撮像マーカーパターンの取得例を図10に示す。図10の例では、ID=1の画像に対する検出処理により、(M1,M2,M3,M4,M5,M6)という撮像マーカーパターンが取得された。同様に、ID=2の画像からは(M2〜M6,M1及びM3〜M6,M1〜M2及びM4〜M6,M1〜M3及びM5〜M6,M1〜M4及びM6,M1〜M5)という撮像マーカーパターンが取得され、ID=3の画像からは(M7,M7,M7,M7,M7,M7)という撮像マーカーパターンが取得された。
これらの撮像マーカーパターンと、上記3つの基準マーカーパターンを比較することで、ID=1の画像はHcam2に対応し、ID=2の画像はGcamに対応し、ID=3の画像はHcam1に対応することがわかる。つまり、1回のロボット制御により、Hcam2はID=1に対応するポートに接続され、GcamはID=2に対応するポートに接続され、Hcam1はID=3に対応するポートに接続されているというポート識別処理が実行される。
よって、図9(A)のように暫定的に設定したIDと撮像部との対応関係を、図9(B)に示したようにポート識別処理の結果に基づいて再設定する。以降のロボット制御(ビジュアルサーボ等)においては、再設定後の図9(B)を用いて、所望の撮像部からの画像を選択して処理に用いればよい。このようにすれば、1つのロボット制御において複数の撮像部を特定するポート識別処理を行うこと、及び当該特定される撮像部に、ロボット制御での移動対象となっていない撮像部を含めること等が可能になる。
4.変形例
以上の説明では、作業台10やワーク20、或いはワーク20が載せられ作業台10上に置かれるパレット、或いはロボット周辺の壁や床等に、識別用マーカーが配置されることを想定していた。
以上の説明では、作業台10やワーク20、或いはワーク20が載せられ作業台10上に置かれるパレット、或いはロボット周辺の壁や床等に、識別用マーカーが配置されることを想定していた。
しかし、ポート識別処理終了後に行われる撮像画像を用いたロボット制御において、当該ロボット制御用のマーカーが動作環境に配置されることが充分考えられる。例えば、ワーク20の移動作業において、把持位置や解放位置を決定するための位置決め処理の中で、基準位置に配置されたマーカーの認識処理を行うこと等があり得る。その場合、ポート識別処理のために配置した識別用マーカーがあることで、その後の処理で用いたいマーカーの配置がスペース上の問題から困難になったり、複数のマーカーが混在することでマーカー検出処理の精度が低下するおそれがある。
ポート識別処理と、その後のロボット制御とで、それぞれマーカーの配置をやり直せばそのような問題は生じないが、その都度適切な位置にマーカーを配置する作業が必要となりユーザーの負担が大きい。
そこで、ポート識別処理に用いる識別用マーカーを、ロボットの動作環境ではなくロボット自身に配置してもよい。具体的には、ロボットのアーム110や胴体部、ベースユニット部200等に識別用マーカーを配置する。識別用マーカーが所与の図形等で構成されるのであれば、当該図形等が描かれたシート等をロボットに貼り付ければよい。或いは、識別用マーカーはLED光源等の発光部でもよく、その場合にはロボットに対してLED光源等を設置すればよい。
通常、ロボット制御用のマーカーはロボット自身に配置されることは考えにくいため、当該マーカーと識別用マーカーとの干渉を抑止できる。なお、人間が手首や肘の関節を動かすことで、手を種々の方向(例えば自分の顔や胴体、下半身等の方向)に向けられることからも理解しやすいように、ハンドアイカメラHcam等によりロボット自身の一部又は全部を撮像することは難しくない。つまり、識別用マーカーをロボットに配置したとしても、当該識別用マーカーを撮像してポート識別処理に利用することは容易である。
また、本実施形態の識別用マーカーは、ロボットの動作環境だけに配置されるもの、或いはロボットだけに配置されるものに限定されず、動作環境とロボット自身の両方に識別用マーカーを配置してもよい。
また、以上の説明では、識別用マーカーを用いてポート識別処理を行うものとしたがこれに限定されない。例えば、ロボットが所与の姿勢にあるときに、特定の撮像部において撮像されるであろう画像を、登録画像として登録しておいてもよい。
例えば、ロボットが図1に示した姿勢をとる場合であれば、ハンドアイカメラHcamからは作業台10とワーク20が画像上で大きく撮像されるため、図11(A)に示したような画像が撮像される。一方、グローバルカメラGcamは作業台10を上部から撮像するため、図11(B)に示したような画像が撮像される。よって、図11(A)や図11(B)等を登録画像として登録しておき、ポート識別処理においてはロボットに実際に図1の姿勢をとらせて各撮像部からの撮像画像を取得し、取得した撮像画像と登録画像の比較処理を行う。撮像画像のうちの所与の撮像画像が、図11(A)に近い画像であると特定されれば、当該撮像画像はハンドアイカメラHcamからの画像であると識別できるし、図11(B)に近い画像であると特定されれば、当該撮像画像はグローバルカメラGcamからの画像であると識別できる。ただし、図11(A)、図11(B)では、ロボットの動作環境を撮像した画像を登録画像としている。よって、ロボットが異なる場所に移動される、或いは作業内容が変化する等の要因により動作環境が変化する場合には、登録画像も再登録する必要がある点に留意すべきである。
その他、識別用マーカーを用いないポート識別処理は種々の変形実施が可能である。例えば、所与のハンドに何らかの遮蔽物(例えば板状の物体)を持たせ、当該遮蔽物を用いて各撮像部の正面を順次遮蔽していってもよい。この場合、遮蔽物により遮蔽された撮像部については、極端に暗い画像が撮像されることになる。よって、複数の撮像画像のうち、極端に暗く撮像された画像を特定すれば、当該画像が、対応するタイミングにおいて遮蔽物に遮蔽された撮像部からの画像であると識別することができる。
また、以上の説明では、複数の撮像画像に基づいてポート識別処理を行うものとしたが、当該複数の画像に基づいて他の処理を併せて行ってもよい。例えば、識別用マーカーを用いる場合であれば、撮像画像における識別用マーカーの検出結果を用いて撮像異常検出処理を行ってもよい。
上述したように、図4(B)の例でも図7(C)の例でも、特定したい撮像部については基準マーカーパターンが設定される。図4(B)であればHcamの基準マーカーパターンが設定されるし、図7(C)の例であればGcam,Hcam1,Hcam2の基準マーカーパターンが設定される。また、図4(B)の例であっても、撮像画像が入力されていながら、当該撮像画像がいずれの撮像部に対応するかを特定しないということは考えにくい。上述したように、撮像部との対応関係が特定されていない撮像画像は、ロボット制御において用いることが難しいためである。つまり狭義には、入力された全ての撮像画像に対応する基準マーカーパターンが設定されることになる。
以上の点を鑑みると、入力された撮像画像において、識別用マーカーが全く検出されないということは考えにくい。図7(C)であればGcam,Hcam1,Hcam2のいずれからの撮像画像についても、ロボット制御を行うことで図10に示したようなパターンで識別用マーカーが検出される。図4(B)であれば、Hcam以外の所与の撮像部では、図4(B)に示したロボット制御の期間中には全く識別用マーカーが検出されないという可能性はあり得る。しかし、複数の撮像画像の各撮像画像について、当該所与の撮像部からの画像であるか否かを判定するロボット制御においては、当該所与の撮像部に対応する撮像画像からは所与の基準マーカーパターンに従って識別用マーカーが検出されるはずである。
つまり、ポート識別処理における撮像画像から、全く識別用マーカーが検出されない場合には、当該撮像画像を撮像した撮像部に、何らかの異常が発生していると推測できる。ここでの異常とは、撮像部がハードウェア的に破損しているということもあれば、ホワイトバランスや露光時間のように、撮影に用いられるパラメーターの設定異常ということもあり得る。いずれにせよ、ポート識別処理における複数の撮像画像について、識別用マーカーが検出されない画像があるか否かの判定を行うことで、ポート識別処理と併せて撮像異常検出処理を行うことが可能である。
撮像異常検出処理まで考慮した場合の、本実施形態の処理を説明するフローチャートを図12に示す。S201〜S203については、図6のS101〜S103の処理と同様である。そしてアームの移動が終了した場合(S203でYesの場合)には、撮像マーカーパターンと基準マーカーパターンの比較処理の前に、そもそも識別用マーカーが検出されているか否かの判定を行う(S204)。識別用マーカーが検出されていない場合(S204でNoの場合)には、上述したように撮像異常が疑われる。よって、撮影条件を変更し(S205)、アームを初期位置に移動させた上で(S206)、S201に戻って再度処理をやり直す。なお、図12のフローチャートには不図示であるが、例えば撮影条件を一定回数変更しても、識別用マーカーの検出ができない場合には、対象としている撮像画像を撮像した撮像部には、何らかの異常が発生しているものと確定させてエラー処理に移行してもよい。なお、エラー処理への移行条件は種々の変形実施が可能である。また、エラー処理の具体的な内容については、広く知られた種々の手法を適用可能であるため詳細な説明は省略する。
撮像画像から識別用マーカーが検出された場合(S204でYesの場合)には、図6と同様に、撮像マーカーパターンと基準マーカーパターンの比較処理に移行すればよい。従って、S204でYesとなった後のS207,S208については、図6のS104,S105と同様である。
5.本実施形態の具体例
以上の本実施形態では、ロボット制御システム300は図2に示したように、複数のポートに接続される複数の撮像部からの複数の撮像画像を取得する撮像画像取得部310と、取得した複数の撮像画像のうち、少なくとも1つの撮像画像に基づいてロボットの制御を行うロボット制御部330と、複数の撮像部のうちのいずれの撮像部が、複数のポートのうちのいずれのポートに接続されたかを識別するポート識別処理を、複数の撮像画像に基づいて行う処理部320と、を含む。
以上の本実施形態では、ロボット制御システム300は図2に示したように、複数のポートに接続される複数の撮像部からの複数の撮像画像を取得する撮像画像取得部310と、取得した複数の撮像画像のうち、少なくとも1つの撮像画像に基づいてロボットの制御を行うロボット制御部330と、複数の撮像部のうちのいずれの撮像部が、複数のポートのうちのいずれのポートに接続されたかを識別するポート識別処理を、複数の撮像画像に基づいて行う処理部320と、を含む。
これにより、ロボット制御システム300が複数のポートをインターフェースとして、複数の撮像画像を取得した場合に、各撮像画像がどの撮像部に対応するかを判別する処理、すなわち撮像部とポートとの対応関係を識別するポート識別処理を、撮像画像に基づいて自動的に行うことが可能になる。近年のロボットでは、図1に示したように撮像部(及び撮像部以外の機器)を接続可能なポートが複数用意されるとともに、1つのロボットに対してGcamやHcamに示したように複数の撮像部が接続されることが多く見られる。本実施形態の手法を用いることで、ポートと撮像部との対応関係をユーザーが手動で入力する必要がなくなるため、ユーザーの負担軽減が可能となる。また、本実施形態の手法ではユーザーによる手動での対応関係の入力を妨げるものではない。その場合、ユーザーによる手動入力に誤りが生じるケースも考えられるが、本実施形態の手法を確認用途で用いることで、対応関係の誤りを自動検出し、不適切な撮像画像を用いたロボット制御を行うことを抑止できる。また、本実施形態の手法によれば、誤り検出だけでなく、自動での誤り訂正も可能である。
また、ロボット制御部330は、処理部320でのポート識別処理の処理中(処理期間中)において、ロボットを動作させる制御を行ってもよい。そして処理部320は、ロボット制御部330によるロボットの動作中に撮像された複数の撮像画像に基づいて、ポート識別処理を行う。
ここで、ポート識別処理の処理中におけるロボット制御とは、例えば図4(B)や図7(C)に示したアーム制御であり、さらに具体的には図5(A)〜図5(F)や図8(A)〜図8(F)に示したアーム制御であってもよい。
これにより、ロボット制御に基づくロボットの動作中での撮像画像を用いて、ポート識別処理を行うことができる。例えば図1のハンドアイカメラHcamであれば、当該Hcamが取り付けられたアーム110を動かすことで、撮像画像に撮像される被写体範囲を変更することができる。また、グローバルカメラGcamについても首振り動作を行うことで撮像画像に撮像される被写体範囲を変更することができる。つまり、所与のロボット制御を行うことで、特定の撮像部で撮像される撮像画像の内容をコントロールすることが可能である。よって、所与の撮像部からの撮像画像が、それ以外の撮像部からの撮像画像とは明確に異なるようなロボット制御を行えば、当該所与の撮像部についてのポート識別処理を精度よく行うことが可能になる。なお、複数の撮像部はロボットに設置されるものに限定されず、作業台上や床面、壁面に設置されるものもあり得る。その場合、ロボット制御を行ったとしても、撮像部の位置や撮像方向自体を変更するものとはならないことが想定される。しかし、それらの撮像部もロボット制御に用いられる以上、ロボット近傍に設置される(或いはロボット近傍を撮像する)ため、ロボット制御により撮像対象をコントロール可能である。例えば、ロボットのアーム等を撮像部の撮像エリアに進入させるか否か、さらには進入度合いをどの程度にするか等を制御可能である。
以上の説明からわかるように、ここでのポート識別処理の期間中におけるロボット制御は、所与の撮像部からの撮像画像の内容を変更可能な制御であればよく、図4(B)や図7(C)に示した制御に限定されないことは言うまでもない。
また、処理部320は、複数の撮像画像に撮像された1又は複数の識別用マーカーの検出処理を行って、複数の撮像画像の各撮像画像に対応する撮像マーカーパターンを取得し、取得した撮像マーカーパターンに基づいて、ポート識別処理を行ってもよい。
具体的には、処理部320は、複数の撮像画像のうちの所与の撮像画像に対する検出処理により検出された識別用マーカーの時系列的な変化を、所与の撮像画像に対応する撮像マーカーパターンとして取得してもよい。
これにより、識別用マーカーを用いてポート識別処理を行うことが可能になる。具体的には、識別用マーカーの検出結果を撮像マーカーパターンとして取得し、当該撮像マーカーパターンに基づくポート識別処理を行う。撮像マーカーパターンとして、検出された識別用マーカーの時系列的な変化を用いてもよく、その場合の撮像マーカーパターンは図10に示したように、(M1,M2,M3,M4,M5,M6)等の情報となる。撮像マーカーパターンを時系列的な変化とすることで、所与の撮像画像での撮像マーカーパターンと、他の撮像画像での撮像マーカーパターンとの差異を大きくすることが可能になり、結果としてポート識別処理の精度を向上させることができる。
なお、撮像マーカーパターンは検出された識別用マーカーの時系列的な変化に限定されない。例えば、1つの撮像タイミングでの識別用マーカーの検出結果を撮像マーカーパターンとして用いてもよい。このようにすれば、時系列的な変化を用いる場合に比べて、撮像マーカーパターンを短時間で取得することができ、且つポート識別処理の処理負荷軽減等も可能になる。また、識別用マーカーの検出結果は、所与のマーカーが識別できたか否かを表すものには限定されない。例えば、所与の識別用マーカーが検出された場合に、撮像画像中での当該識別用マーカーのサイズ、位置、角度等を含む情報であってもよい。この場合、検出された識別用マーカーが1つであっても、その画像上サイズ等に応じて、異なる撮像マーカーパターンが取得されることが考えられる。
また、処理部320は、検出処理により取得した撮像マーカーパターンと、撮像部の設置位置に応じて決定される基準マーカーパターンとの比較処理に基づいて、ポート識別処理を行ってもよい。
これにより、撮像マーカーパターンと基準マーカーパターンとの比較処理に基づいて、ポート識別処理を行うことが可能になる。識別用マーカーの配置パターン、及び撮像部がどの位置に設置されどの方向を撮像するかがわかれば、当該撮像部で撮像される撮像画像での識別用マーカーの検出結果は推測可能である。よってそのような推測結果を基準マーカーパターンとして事前に取得しておけば、ポート識別処理は撮像マーカーパターンと基準マーカーパターンの比較処理という容易な処理により実現することができる。
なお、図8(A)〜図8(F)を用いて上述したように、撮像画像に撮像される識別用マーカーは、ロボット制御の内容にも依存する。例えば、図5(A)等でのHcamからの撮像画像は、Hcamが設けられるARMの移動経路に依存するし、図8(A)等を用いて上述したGcamからの撮像画像は、ARM1やARM2による識別用マーカーの遮蔽状況に依存する。つまり基準マーカーパターンとは、狭義には撮像部の設置位置及びロボット制御部330によるロボット制御に応じて決定されることになる。
また、処理部320は、ロボットの動作環境に配置された1又は複数のマーカーを、前記1又は複数の識別用マーカーとして検出処理を行い、検出処理の結果に基づいてポート識別処理を行ってもよい。
或いは、処理部320は、ロボットに配置された1又は複数のマーカーを、前記1又は複数の識別用マーカーとして検出処理を行い、検出処理の結果に基づいてポート識別処理を行ってもよい。
これにより、ロボットの動作環境或いはロボット自身に配置されたマーカーを、識別用マーカーとして用いることが可能になる。マーカーは例えば所与の色や形状を有する図形であってもよい。また、撮像部は光の検出が可能であるから、LED光源等の発光部をマーカーとして利用することも可能である。ロボットの動作環境は、ポート識別処理後のビジュアルサーボ等のロボット制御においても、撮像部の撮像対象となることが想定される。よって、動作環境に配置されるマーカーは、本実施形態で対象としている撮像部による撮像が物理的に不可能となることは考えにくく、識別用マーカーとして用いるのに適切なものである。ここで、「撮像が物理的に不可能」とは、撮像部をどのように移動させてもマーカーを撮像できない相対位置関係にある、或いは、撮像部からマーカーまでの距離が大きく、画像中でのマーカーのサイズが、検出処理ができない程度に小さくなってしまう、等の状況を表す。ロボットに設置されるマーカーについても、撮像が物理的に不可能となることは考えにくいため、同様に扱うことができる。さらに、ロボットに識別用マーカーを配置することで、識別用マーカーと、ポート識別処理後のロボット制御で用いるマーカーとが混在することを抑止でき、マーカーの検出精度を向上させること等が可能である。
また、処理部320は、撮像部の設置位置に応じて登録された登録画像と、複数の撮像画像との比較処理に基づいてポート識別処理を行ってもよい。
これにより、登録画像と撮像画像の比較を行うことで、ポート識別処理を行うことが可能になる。本実施形態の手法では、特定の位置に設置された撮像部であれば、このような特性の撮像画像が取得されるはずである、という基準となる情報を保持しておき、実際に取得された複数の撮像画像から取得された情報と、当該基準となる情報との比較処理によりポート識別処理を行う。上述した識別用マーカーを用いる例であれば、基準となる情報とは基準マーカーパターンであるし、撮像画像から取得された情報とは撮像マーカーパターンである。しかしこれらの情報は識別用マーカーを用いるものに限定されず、画像情報そのものであってもよい。つまり基準となる情報として、特定の条件下で特定の位置に設置された撮像部により撮像された撮像画像を取得しておき、当該撮像画像を登録画像とすればよい。登録画像とは例えば図11(A)や図11(B)等である。具体的には、ロボットが図1の姿勢をとった場合のHcamについての登録画像が図11(A)となり、同様にロボットが図1の姿勢をとった場合のGcamについての登録画像が図11(B)となる。この場合、ポート識別処理とは、実際に撮像された撮像画像と登録画像の比較処理により実現できる。ただし、登録画像は撮像画像である必要はない。例えば、ロボットの動作環境を3次元CG等を用いてモデル化し、当該3次元CG空間上に、撮像部の位置及び姿勢に対応する位置及び姿勢の仮想カメラを配置することで取得される2次元画像を、登録画像として用いてもよい。
また、処理部320は、複数の撮像画像に基づいてポート識別処理を行うとともに、複数の撮像画像に基づいて撮像異常検出処理を行ってもよい。
これにより、図12を用いて上述したように、撮像画像に基づいてポート識別処理と併せて撮像異常検出処理を行うことが可能になる。このようにすれば、撮像部における撮像が正常に行われていないということも自動的に検出できる。よって、ユーザー自身が撮像異常がないかを手動で(例えば撮像画像を実際に閲覧して)確認する必要がなくなり、さらなる省力化が可能になる。
また、複数の撮像部は、1又は複数のハンドアイカメラ(例えば図1のHcam)と、ロボットに取り付けられたグローバルカメラ(例えば図1のGcam)と、を少なくとも含み、撮像画像取得部310は、1又は複数のハンドアイカメラからの撮像画像、及びグローバルカメラからの撮像画像を少なくとも含む、複数の撮像画像を取得してもよい。
これにより、ハンドアイカメラとグローバルカメラを含む複数の撮像部を対象として、ポート識別処理を実行することが可能になる。図1に示したように、ハンドアイカメラはアーム110の先端等に設置されるため、その位置及び姿勢の自由度が高く、ワーク20等の作業対象に近接して撮像することも可能である。一方、グローバルカメラは、ワーク20等の作業対象だけでなく、その周辺環境も撮像範囲とするため、ロボットの動作状況の認識に有用である。つまり近年のロボットでは、当該ロボットにハンドアイカメラとグローバルカメラが接続されることが一般的であり、各撮像部が接続されたポートを適切に識別することは、撮像画像を用いたロボット制御において非常に重要であると言える。
また以上の本実施形態は、複数のポートに接続される複数の撮像部からの複数の撮像画像を取得する撮像画像取得部310と、取得した複数の撮像画像のうち、少なくとも1つの撮像画像に基づいてロボットの制御を行うロボット制御部330と、複数の撮像部のうちのいずれの撮像部が、複数のポートのうちのいずれのポートに接続されたかを識別するポート識別処理を、複数の撮像画像に基づいて行う処理部320と、を含むロボットに適用できる。
ここでのロボットとは、例えば図1に示した形態であってもよく、ロボット制御部330は、ロボットに含まれるアーム110や、アーム110に設けられるエンドエフェクター112(ハンド119等)の制御を行うことになる。
なお、本実施形態のロボット制御システム300等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサーがプログラムを実行することで、本実施形態のロボット制御システム300等が実現される。具体的には、非一時的な情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサーが実行する。ここで、情報記憶媒体(コンピューターにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリー(カード型メモリー、ROM等)などにより実現できる。そして、CPU等のプロセッサーは、情報記憶媒体に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピューターに実行させるためのプログラム)が記憶される。
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またロボット制御システム、ロボット等の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
10 作業台、20 ワーク、100 ロボット本体、110 アーム、
111,113 関節、112 エンドエフェクター、115,117 フレーム、
119 ハンド、200 ベースユニット部、300 ロボット制御システム、
310 撮像画像取得部、320 処理部、330 ロボット制御部、400 撮像部、
500 制御装置、ARM アーム、Gcam グローバルカメラ、
Hcam ハンドアイカメラ、M1-M7 識別用マーカー
111,113 関節、112 エンドエフェクター、115,117 フレーム、
119 ハンド、200 ベースユニット部、300 ロボット制御システム、
310 撮像画像取得部、320 処理部、330 ロボット制御部、400 撮像部、
500 制御装置、ARM アーム、Gcam グローバルカメラ、
Hcam ハンドアイカメラ、M1-M7 識別用マーカー
Claims (13)
- 複数のポートに接続される複数の撮像部からの複数の撮像画像を取得する撮像画像取得部と、
取得した前記複数の撮像画像のうち、少なくとも1つの撮像画像に基づいてロボットの制御を行うロボット制御部と、
前記複数の撮像部のうちのいずれの撮像部が、前記複数のポートのうちのいずれのポートに接続されたかを識別するポート識別処理を、前記複数の撮像画像に基づいて行う処理部と、
を含むことを特徴とするロボット制御システム。 - 請求項1において、
前記ロボット制御部は、
前記処理部での前記ポート識別処理の処理中において、前記ロボットを動作させる制御を行い、
前記処理部は、
前記ロボット制御部による前記ロボットの動作中に撮像された前記複数の撮像画像に基づいて、前記ポート識別処理を行うことを特徴とするロボット制御システム。 - 請求項1又は2において、
前記処理部は、
前記複数の撮像画像に撮像された1又は複数の識別用マーカーの検出処理を行って、前記複数の撮像画像の各撮像画像に対応する撮像マーカーパターンを取得し、取得した前記撮像マーカーパターンに基づいて、前記ポート識別処理を行うことを特徴とするロボット制御システム。 - 請求項3において、
前記処理部は、
前記複数の撮像画像のうちの所与の撮像画像に対する前記検出処理により検出された前記識別用マーカーの時系列的な変化を、前記所与の撮像画像に対応する前記撮像マーカーパターンとして取得することを特徴とするロボット制御システム。 - 請求項4において、
前記処理部は、
前記検出処理により取得した前記撮像マーカーパターンと、前記撮像部の設置位置に応じて決定される基準マーカーパターンとの比較処理に基づいて、前記ポート識別処理を行うことを特徴とするロボット制御システム。 - 請求項3乃至5のいずれかにおいて、
前記処理部は、
前記ロボットの動作環境に配置された1又は複数のマーカーを、前記1又は複数の識別用マーカーとして前記検出処理を行い、前記検出処理の結果に基づいて前記ポート識別処理を行うことを特徴とするロボット制御システム。 - 請求項3乃至5のいずれかにおいて、
前記処理部は、
前記ロボットに配置された1又は複数のマーカーを、前記1又は複数の識別用マーカーとして前記検出処理を行い、前記検出処理の結果に基づいて前記ポート識別処理を行うことを特徴とするロボット制御システム。 - 請求項1乃至7のいずれかにおいて、
前記処理部は、
前記撮像部の設置位置に応じて登録された登録画像と、前記複数の撮像画像との比較処理に基づいて前記ポート識別処理を行うことを特徴とするロボット制御システム。 - 請求項1乃至8のいずれかにおいて、
前記処理部は、
前記複数の撮像画像に基づいて前記ポート識別処理を行うとともに、前記複数の撮像画像に基づいて撮像異常検出処理を行うことを特徴とするロボット制御システム。 - 請求項1乃至9のいずれかにおいて、
前記複数の撮像部は、1又は複数のハンドアイカメラと、前記ロボットに取り付けられたグローバルカメラと、を少なくとも含み、
前記撮像画像取得部は、
前記1又は複数のハンドアイカメラからの前記撮像画像、及び前記グローバルカメラからの前記撮像画像を少なくとも含む、前記複数の撮像画像を取得することを特徴とするロボット制御システム。 - 複数のポートに接続される複数の撮像部からの複数の撮像画像を取得する撮像画像取得部と、
取得した前記複数の撮像画像のうち、少なくとも1つの撮像画像に基づいてロボットの制御を行うロボット制御部と、
前記複数の撮像部のうちのいずれの撮像部が、前記複数のポートのうちのいずれのポートに接続されたかを識別するポート識別処理を、前記複数の撮像画像に基づいて行う処理部と、
を含むことを特徴とするロボット。 - 複数のポートに接続される複数の撮像部からの複数の撮像画像を取得する処理を行い、
前記複数の撮像部のうちのいずれの撮像部が、前記複数のポートのうちのいずれのポートに接続されたかを識別するポート識別処理を、前記複数の撮像画像に基づいて行い、
取得した前記複数の撮像画像のうち、前記ポート識別処理により前記ポートとの対応関係が識別された少なくとも1つの撮像画像に基づいて、ロボットの制御を行う、
ことを特徴とするロボット制御方法。 - 複数のポートに接続される複数の撮像部からの複数の撮像画像を取得するステップと、
前記複数の撮像部のうちのいずれの撮像部が、前記複数のポートのうちのいずれのポートに接続されたかを識別するポート識別処理を、前記複数の撮像画像に基づいて行うステップと、
取得した前記複数の撮像画像のうち、前記ポート識別処理により前記ポートとの対応関係が識別された少なくとも1つの撮像画像に基づいて、ロボットの制御を行うステップと、
をコンピューターに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013192211A JP2015058488A (ja) | 2013-09-17 | 2013-09-17 | ロボット制御システム、ロボット、ロボット制御方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013192211A JP2015058488A (ja) | 2013-09-17 | 2013-09-17 | ロボット制御システム、ロボット、ロボット制御方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015058488A true JP2015058488A (ja) | 2015-03-30 |
Family
ID=52816443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013192211A Pending JP2015058488A (ja) | 2013-09-17 | 2013-09-17 | ロボット制御システム、ロボット、ロボット制御方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015058488A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2017085811A1 (ja) * | 2015-11-18 | 2018-09-06 | 株式会社Fuji | ティーチング装置及び制御情報の生成方法 |
US11637968B2 (en) | 2017-11-15 | 2023-04-25 | Samsung Electronics Co., Ltd. | Image photographing method of electronic device and electronic device |
JP7443014B2 (ja) | 2019-10-08 | 2024-03-05 | 大豊精機株式会社 | ロボットアーム試験装置 |
-
2013
- 2013-09-17 JP JP2013192211A patent/JP2015058488A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2017085811A1 (ja) * | 2015-11-18 | 2018-09-06 | 株式会社Fuji | ティーチング装置及び制御情報の生成方法 |
US11637968B2 (en) | 2017-11-15 | 2023-04-25 | Samsung Electronics Co., Ltd. | Image photographing method of electronic device and electronic device |
JP7443014B2 (ja) | 2019-10-08 | 2024-03-05 | 大豊精機株式会社 | ロボットアーム試験装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6966582B2 (ja) | ロボットモーション用のビジョンシステムの自動ハンドアイ校正のためのシステム及び方法 | |
TWI672206B (zh) | 機械手臂非接觸式工具中心點校正裝置及其方法以及具有校正功能的機械手臂系統 | |
US20200368918A1 (en) | Robot system | |
TWI594097B (zh) | 用於組裝系統中物件之虛擬組裝的系統及方法 | |
JP6427972B2 (ja) | ロボット、ロボットシステム及び制御装置 | |
US10306149B2 (en) | Image processing apparatus, robot system, robot, and image processing method | |
JP2018126857A5 (ja) | 制御方法、ロボットシステム、物品の製造方法、プログラム及び記録媒体 | |
JP6855492B2 (ja) | ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法 | |
KR20180080630A (ko) | 핸드-아이 캘리브레이션을 수행하는 로봇 및 전자 장치 | |
JP2012254518A (ja) | ロボット制御システム、ロボットシステム及びプログラム | |
CN109648568B (zh) | 机器人控制方法、系统及存储介质 | |
JP2008021092A (ja) | ロボットシステムのシミュレーション装置 | |
JP2012091280A (ja) | 座標系校正方法及びロボットシステム | |
CN109822568B (zh) | 机器人控制方法、系统及存储介质 | |
JP2019069493A (ja) | ロボットシステム | |
JP2020012669A (ja) | 物体検査装置、物体検査システム、及び検査位置を調整する方法 | |
JP2015058488A (ja) | ロボット制御システム、ロボット、ロボット制御方法及びプログラム | |
JP2020075327A (ja) | 制御システム | |
CN111225143B (zh) | 图像处理装置及其控制方法以及程序存储介质 | |
KR101535801B1 (ko) | 깊이맵 센서를 이용한 조립공정에서의 조립공정 검사장치, 방법 및 시스템 | |
JP2019113348A (ja) | 物体検査システム及び物体検査方法 | |
JP6390088B2 (ja) | ロボット制御システム、ロボット、プログラム及びロボット制御方法 | |
JP6571723B2 (ja) | 動作プログラムを生成するプログラミング装置、及びプログラム生成方法 | |
CN113858214A (zh) | 一种用于机器人作业的定位方法与控制系统 | |
TWI696529B (zh) | 自動定位方法以及自動控制裝置 |