(57)【要約】【課題】外部環境に応じた動作を実行するロボット装置において、外部環境の３次元データ中に存在する自己の身体の一部の像を識別可能とする。【解決手段】ロボット１は、外部環境を視覚的に認識する視覚センサ１０１と、視覚センサ１０１による取得情報に基づいて、外部環境の３次元データを作成する環境復元部１０２と、３次元データの中に、ロボット１の身体の像が含まれるか否かを判定し、３次元データの中にロボット１の身体の像が含まれると判定された場合に、３次元データ中におけるロボット１の身体の像が占める領域を特定する身体推定部１０４とを備える。【選択図】図２
2008006519.tif 000002
【特許請求の範囲】
【請求項１】
外部環境に応じて動作を実行するロボット装置であって、
外部環境を視覚的に認識する視覚センサと、
前記視覚センサによる取得情報に基づいて、前記外部環境の３次元データを作成する３次元データ作成部と、
前記３次元データの中に、当該ロボット装置の身体の像が含まれるか否かを判定する判定部と、
前記判定部により前記３次元データの中に当該ロボット装置の身体の像が含まれると判定された場合に、前記３次元データ中における当該ロボット装置の身体の像が占める領域を特定する領域特定部と、
を備えるロボット装置。
【請求項２】
前記領域特定部による特定は、前記３次元データと当該ロボット装置の身体モデルとを照合することにより行う請求項１に記載のロボット装置。
【請求項３】
当該ロボット装置の身体の位置及び姿勢を算出する算出部をさらに備え、
前記領域特定部は、前記算出部により算出された位置及び姿勢に基づいて、前記身体モデルと照合される前記３次元データの領域を特定する請求項２に記載のロボット装置。
【請求項４】
前記領域特定部による特定結果と、前記３次元データとに基づいて前記ロボット装置の動作内容を決定する動作計画部を備える請求項１乃至３のいずれかに記載のロボット装置。
【請求項５】
前記ロボット装置の身体の像を前記３次元データから除去する補正部と、
前記補正部によって補正された３次元データに基づいて、前記ロボット装置の動作内容を決定する動作計画部とをさらに備える請求項１乃至３のいずれかに記載のロボット装置。
【請求項６】
外部環境に応じて動作を実行するロボット装置の制御方法であって、
外部環境の３次元データの中に、当該ロボット装置の身体の像が含まれるか否かを判定し、
前記３次元データの中に当該ロボット装置の身体の像が含まれると判定された場合に、前記３次元データ中における当該ロボット装置の身体の像が占める領域を特定し、
前記領域の特定結果と、前記３次元データとに基づいて前記ロボット装置の動作内容を決定することとした制御方法。
【請求項７】
外部環境に応じて動作を実行するロボット装置の制御方法であって、
外部環境の３次元データを取得し、
前記ロボット装置の身体の位置及び姿勢を算出し、
算出した前記ロボット装置の身体の位置及び姿勢に基づいて、前記３次元データから処理対象領域を選択し、
選択した前記処理対象領域と当該ロボット装置の身体モデルとの照合により、前記３次元データの中で前記ロボット装置の身体の像が含まれる身体領域を検出することとした制御方法。
【請求項８】
前記身体領域の検出結果に応じて前記３次元データを補正し、
補正後の３次元データに基づいて前記ロボット装置の動作内容を決定することとした請求項７に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体把持等の外部環境に応じた動作を実行するロボット装置及びその制御方法に関する。
【背景技術】
【０００２】
作業環境内に存在する物体を認識して把持動作を実行するロボット装置や、作業環境内を自律的に移動するロボット装置など、外部環境に応じた動作を実行するロボット装置が従来から提案されている。例えば、特許文献１には、ステレオカメラを用いて作業環境の３次元データを取得し、取得した３次元データによって環境内に存在する把持対象物体の位置及び姿勢を認識して、これに対する把持動作を実行するロボット装置が開示されている。
【特許文献１】特開２００４−１１２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来から提案されている外部環境に応じた動作を実行するロボット装置は、自身が備えるステレオカメラ等の視覚センサによって取得した作業環境の３次元データに含まれている物体の像が、自己の身体の一部の像であるか、それとも作業環境内に存在している外部の物体の像であるかを識別できないという問題がある。
【０００４】
この問題点の影響が顕著となるロボット装置の一例として、作業環境に存在する障害物を回避しつつ、腕部による把持対象物体の把持動作を行うロボット装置を想定する。当該ロボット装置が外部環境の３次元データに基づいて把持対象物体に対する腕部の移動経路を算出する際に、３次元データ中にロボット装置の身体の一部の像が含まれていると、本来であれば把持対象物体に対して直線的に腕部を移動できるにもかかわらず、障害物と認識してしまった身体の一部を回避する経路を生成してしまうために、最適な動作を実行できない可能性がある。また、把持を行う腕部を障害物と認識してしまうと、既に腕部と障害物とが衝突していることになり、腕部の移動経路を算出できないという弊害を生じる可能性がある。
【０００５】
本発明は上述した問題点を考慮してなされたものであって、本発明の目的は、外部環境に応じた動作を実行するロボット装置において、外部環境の３次元データに含まれる自己の身体の像を識別可能とすることである。
【課題を解決するための手段】
【０００６】
本発明の第１の態様にかかるロボット装置は、外部環境に応じて動作を実行するロボット装置であって、外部環境を視覚的に認識する視覚センサと、前記視覚センサによる取得情報に基づいて、前記外部環境の３次元データを作成する３次元データ作成部と、前記３次元データの中に、当該ロボット装置の身体の像が含まれるか否かを判定する判定部と、前記判定部により前記３次元データの中に当該ロボット装置の身体の像が含まれると判定された場合に、前記３次元データ中における当該ロボット装置の身体の像が占める領域を特定する領域特定部とを備える。このような構成により、外部環境の３次元データに含まれる自己の身体の像を識別することができる。なお、ここでの身体の像とは、身体の一部分の像を意味している。また、以下で説明する発明の実施の形態１にかかるロット装置が備える環境復元部が、前記３次元データ作成部に相当する。また、発明の実施の形態１における身体推定部が、前記判定部及び前記領域特定部に相当する。
【０００７】
なお、前記領域特定部による特定は、前記３次元データと当該ロボット装置の身体モデルとを照合することにより行うとよい。
【０００８】
また、前記第１の態様にかかるロボット装置は、当該ロボット装置を構成する各部の位置及び姿勢を算出する算出部をさらに備えることとし、前記領域特定部は、前記算出部により算出された位置及び姿勢に基づいて、前記身体モデルと照合される前記３次元データの領域を特定することが望ましい。このような構成により、３次元データと身体モデルとの照合を効率よく行うことができる。
【０００９】
また、前記第１の態様にかかるロボット装置は、前記領域特定部による特定結果と、前記３次元データとに基づいて前記ロボット装置の動作内容を決定する動作計画部を備えることが望ましい。このような構成により、視覚センサによって取得した３次元データに自己の身体の像が含まれるか否かに応じてロボット装置の動作内容を変更するなど、ロボット装置の動作の多様性を向上できる。
【００１０】
また、前記第１の態様にかかるロボット装置は、前記ロボット装置の身体の像を前記３次元データから除去する補正部と、前記補正部によって補正された３次元データに基づいて、前記ロボット装置の動作内容を決定する動作計画部とを備えてもよい。このような構成により、視覚センサによって取得した３次元データに自己の身体の像が含まれることによるロボット装置の誤動作を抑制することができる。
【００１１】
本発明の第２の態様にかかる方法は、外部環境に応じて動作を実行するロボット装置の制御方法である。具体的には、まず、外部環境の３次元データの中に、当該ロボット装置の身体の像が含まれるか否かを判定する。次に、前記３次元データの中に当該ロボット装置の身体の像が含まれると判定された場合に、前記３次元データ中における当該ロボット装置の身体の像が占める領域を特定する。続いて、前記領域の検出結果と、前記３次元データとに基づいて前記ロボット装置の動作内容を決定する。このような方法により、外部環境の３次元データに含まれる自己の身体の像を識別し、外部環境の３次元データに自己の身体の像が含まれるか否かに応じてロボット装置の動作内容を変更するなど、ロボット装置の動作の多様性を向上できる。
【００１２】
本発明の第３の態様にかかる方法は、外部環境に応じて動作を実行するロボット装置の制御方法である。具体的には、外部環境の３次元データを取得するとともに、前記ロボット装置の身体の位置及び姿勢を算出する。次に、算出した前記ロボット装置の身体の位置及び姿勢に基づいて前記３次元データから処理対象領域を選択し、選択した前記処理対象領域と当該ロボット装置の身体モデルとの照合により、前記３次元データの中で前記ロボット装置の身体の像が含まれる身体領域を検出するものである。このような方法により、外部環境の３次元データに含まれる自己の身体の像を識別することができる。
【発明の効果】
【００１３】
本発明により、外部環境の３次元データに含まれる自己の身体の像を識別可能なロボット装置及びロボット装置の制御方法を提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。なお、以下に示す発明の実施の形態は、物体把持を行う腕部を備えたロボットに本発明を適用したものである。
【００１５】
発明の実施の形態１．
本実施の形態にかかるロボット１の外観を図１に示す。ロボット１の頭部１０には、外界の３次元の点群データ（以下、距離画像データと呼ぶ）を取得する視覚センサ１０１が設けられている。頭部１０は、胴体部１１に連結されている。また、胴体部１１には、腕部１２が連結されている。より詳細には、腕部１２に含まれる上腕部１２１が胴体部１１と肩関節機構（不図示）を介して連結され、上腕部１２１と前腕部１２３とが肘関節部１２２を介して連結され、前腕部１２３の先端に手部１２４が設けられている。さらに、胴体部１１にはロボット１の移動機構である車輪１３１及び１３２が設けられている。
【００１６】
本実施の形態にかかるロボット１は、視覚センサ１０１によって取得した距離画像データを用いて把持対象である物体５０の位置及び姿勢を認識する。次に、ロボット１は、認識した物体５０を把持可能な位置まで腕部１２を移動させるための経路計画を実行して、腕部１２による物体５０の把持を行う。なお、腕部１２の経路計画の実行時は、物体５０と腕部１２との間に障害物が存在するか否かを視覚センサ１０１によって取得した距離画像データに基づいて判定し、障害物を回避して物体５０に到達する経路を決定する。このとき、視覚センサ１０１によって取得した距離画像データに、腕部１２が撮像されている場合がある。この場合に、腕部１２を障害物と認識してしまうと最適な経路計画を実行することができないため、ロボット１は、腕部１２を障害物と認識しないための仕組みを備えている。
【００１７】
以下では、ロボット１が行う物体５０の把持動作について、特に、視覚センサ１０１によって取得した距離画像データに腕部１２が撮像されている場合に、これを障害物と認識しないための仕組みについて、図２及び図３を用いて詳細に説明する。図２のブロック図は、物体５０の把持を行うための処理に関係するロボット１の主要部の内部構成を示している。
【００１８】
図２において、視覚センサ部１０１は、上述したように、ロボット１の外界の３次元点群データ（距離画像データ）を取得する。具体的には、レーザレンジファインダ等のアクティブ距離センサによって距離画像データを取得する。なお、ＣＣＤイメージセンサ又はＣＭＯＳイメージセンサ等の撮像素子を備えた複数のカメラを備え、これら複数のカメラによって撮影した画像データを用いて距離画像データを生成してもよい。具体的には、複数のカメラによって撮影した画像データから対応点を検出し、ステレオ視によって対応点の３次元位置を復元する。ここで、複数の撮影画像における対応点の探索は、複数の撮影画像に対する時空間微分の拘束式を用いた勾配法や相関法等の公知の手法を適用して行えばよい。
【００１９】
環境復元部１０２は、視覚センサ１０１によって得た距離画像データの近傍点の間を連結することによって三角ポリゴンを生成し、ロボット１の外部環境をモデル化したポリゴンデータ（以下、環境データと呼ぶ）を生成する。ここで、環境データの基準座標系は、ロボット１に固定された座標系としてもよいし、ロボット１が存在する環境内に固定された座標系としてもよい。
【００２０】
なお、広範囲にわたる環境データを生成する場合には、視覚センサ１０１、つまり頭部１０を動かすことによって複数の異なる視点における距離画像データを取得し、複数視点での距離画像データを統合した後の距離画像データをもとに環境データを生成する。ここで、複数視点で得られた距離画像データの統合は、オドメトリ情報、具体的には、頭部１０と胴体部１１を連結する首関節の関節角センサ（不図示）の計測情報を収集し、視覚センサ１０１による距離画像データ取得時の首関節の角度に基づいて複数の距離画像データを位置合わせすることにより行う。または、複数の距離画像データから対応点を求めることによって、距離画像データ相互の位置合わせを行ってもよい。環境復元部１０２によって生成された環境データは、環境データ記憶部１０３に格納される。
【００２１】
身体推定部１０４は、環境データ中の腕部１２の像が含まれている領域を特定する処理を行う。以下では、身体推定部１０４の処理フローを図３のフローチャートを用いて説明する。
【００２２】
ステップＳ１０１では、制御部１０７からロボット１のオドメトリ情報を入力する。ここで、オドメトリ情報とは、ロボット１を構成する頭部１０、腕部１２、車輪１３２及び１３３の位置、角度、速度、角速度等を検出するためにロボット１が備えているエンコーダ（不図示）や関節角センサ（不図示）等の内界センサの計測情報である。
【００２３】
ステップＳ１０２では、ロボット１の身体モデルと、制御部１０７から入力したオドメトリ情報を利用して、ロボット１の位置及び姿勢を算出する。ここで、身体モデルとは、ロボット１の身体を幾何学的にモデル化したものであり、関節と、関節の間を繋ぐリンクとによって表現される。身体モデルは、ロボット１の身体と同じ自由度及び拘束条件を有する。
【００２４】
ステップＳ１０３では、ステップＳ１０２において算出したロボット１の位置及び姿勢をもとに、視覚センサ１０１によって距離画像データを取得した際の視野内に、腕部１２の像が存在しているか否かを判定する。当該判定は、身体モデルが構成する凸なポリゴン群と、視覚センサ１０１の画角がつくる四角錐形状のポリゴンの交差判定によって行うことができる。
【００２５】
視野内にロボット１の身体の一部が存在すると判定した場合は、ロボット１の身体モデルと、環境復元部１０３が生成した環境データとのマッチングを行って、環境データの中で腕部１２の像が含まれている領域を特定する（ステップＳ１０４）。具体的には、ロボット１が予め記憶している腕部１２の三次元形状データと、環境データとをマッチングして、環境データの中で腕部１２の像が含まれている領域を特定する。ここで、マッチングは、従来から知られている画像認識の手法を採用して行えばよい。
【００２６】
なお、ステップＳ１０４の始めに、オドメトリ情報を用いて特定したロボット１の位置及び姿勢によって、環境データ中の腕部１２の像が含まれる領域を大まかに特定し、これをマッチングの初期値とすることが望ましい。ステップＳ１０４の始めに初期値の設定を行わずに、環境データの全体を走査することも可能である。しかしながら、オドメトリ情報を用いて特定したロボット１の位置及び姿勢によって、身体モデルとマッチングされる環境データの領域を選択することによって、走査領域の減少による演算量の削減、及びマッチング処理の高速化が可能となる点で有効である。
【００２７】
図２に戻って説明を続ける。補正部１０５は、身体推定部１０４の処理結果に応じて、環境データ記憶部１０３に格納された環境データを補正する。具体的には、後述する経路計画部１０６において腕部１２が障害物として検出されないように、環境データ中で腕部１２の像が含まれると判定された領域のデータを削除する。
【００２８】
なお、補正部１０５による環境データの補正の目的は、環境データに含まれている腕部１２に関する距離情報が、経路計画部１０６によって算出される腕部１２の経路に影響を与えないように、腕部１２の像を環境データから除去することである。このため、補正部１０５によるデータ補正の内容は、経路計画部１０６の処理に適したものにすればよく、例えば、環境データ中の腕部１２の像が含まれると判定された領域のデータを削除してもよいし、腕部１２の像が含まれていない周辺の距離データによって置換してもよいし、腕部１２の像が含まれていない周辺の距離データによる補間によって代替の距離データを生成してもよい。
【００２９】
経路計画部１０６は、補正部１０５による補正後の環境データと、ロボット１が予め記憶している物体５０の三次元形状データとを照合することにより、物体５０の位置及び姿勢を算出する。また、経路計画部１０６は、物体５０とロボット１の間に存在する障害物の位置を、環境データを用いて算出する。さらに、経路計画部１０６は、算出した物体５０の位置及び姿勢、並びに障害物の位置をもとに、障害物を回避して物体５０を把持するための腕部１２の移動経路を算出し、腕部１２の動作情報を制御部１０７に出力する。
【００３０】
制御部１０７は、頭部１０、腕部１２、車輪１３２及び１３３の位置、角度、速度、角速度等を検出するためにロボット１が備えているエンコーダ（不図示）や関節角センサ（不図示）等の内界センサの計測情報を収集し、頭部１０、腕部１２、車輪１３２及び１３３を駆動するための制御信号を、これらを駆動する駆動部に対して出力する。さらに、制御部１０７は、経路計画部１０６によって決定された腕部１２の移動経路に従って腕部１２を動作させるための制御信号をアーム駆動部１０８に出力する。アーム駆動部１０８は、腕部１２のアクチュエータを動作させるための駆動回路である。
【００３１】
上述したように、本実施の形態にかかるロボット１は、視覚センサ１０１による計測データを用いて生成された環境データに存在する腕部１２の像を検出し、腕部１２の像を環境データから除去することによって環境データを補正するものである。これにより、ロボット１が置かれた環境内に存在する障害物を回避して物体５０を把持するための腕部１２の移動経路を決定する場合に、ロボット１の身体の一部である腕部１２を障害物と認識することによる誤動作を防止することができる。
【００３２】
また、環境データ中での腕部１２が存在する領域を単にオドメトリ情報のみによって特定すると、視覚センサ１０１による距離画像データの取得タイミングと、腕部１２のオドメトリ情報の取得タイミングのズレ等に起因して、腕部１２が存在する領域の特定誤差が増大する可能性がある。これに対して、本実施の形態にかかるロボット１は、オドメトリ情報を用いて特定したロボット１の位置及び姿勢によって、環境データ中の腕部１２の像が含まれる領域を大まかに特定した後に、ロボット１の身体モデルと環境データとのマッチングを行って、環境データの中で腕部１２の像が含まれている領域を特定している。このため、オドメトリ情報のみによる場合に比べて、環境データの中での腕部１２の像が含まれている領域を詳細に特定することができる。
【００３３】
その他の実施の形態．
発明の実施の形態１では、身体推定部１０４が、視覚センサ１０１によって取得した距離画像データをポリゴン化した環境データの中から、腕部１２が存在する領域を検出する構成を説明した。しかしながら、身体推定部１０４は、視覚センサ１０１によって取得した点群データである距離画像データの中から腕部１２が存在する領域を検出してもよい。
【００３４】
また、発明の実施の形態１では、身体推定部１０４において、腕部１２の像が環境データ中に含まれるか否かを検出することとしたが、腕部１２に限らずロボット１の身体の他の部位を検出対象としてもよい。
【００３５】
また、発明の実施の形態１では、障害物を回避して腕部１２の移動経路を動作計画部１０６において決定することとしたが、障害物を検出した場合には把持動作を停止することとしてもよいし、警報音等によって外部に対して注意を促すこととしてもよい。つまり、障害物の検出に応じたその後の動作は任意である。
【００３６】
また、発明の実施の形態１では、ロボット１が視覚センサ１０１を備え、環境データを自律的に取得することとしたが、ロボット１の外部に設けた距離センサ等によって距離画像データを取得し、通信手段を介して取得した距離画像データをロボット１に送信してもよい。
【００３７】
また、発明の実施の形態１にかかるロボット１は、障害物を回避しながら物体５０の把持動作を行うものとして説明した。しかしながら、本発明は、このような把持動作を行うロボットに限らず、視覚センサによって認識した外部環境に応じて動作を実行するロボットに対して広く適用可能である。
【００３８】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００３９】
【図１】発明の実施の形態１にかかるロボットの外観を示す図である。
【図２】発明の実施の形態１にかかるロボットの内部構成を示すブロック図である。
【図３】発明の実施の形態１にかかるロボットが行う身体推定処理を示すフローチャートである。
【符号の説明】
【００４０】
１  ロボット
１０  頭部
１０１  視覚センサ
１０２  環境復元部
１０３  環境データ記憶部
１０４  身体推定部
１０５  補正部
１０６  経路計画部
１０７  制御部
１０８  アーム駆動部
１１  胴体部
１２  腕部
１２１  上腕部
１２２  肘関節機構
１２３  前腕部
１２４  手部
５０  物体
【図１】
2008006519.tif 000003
【図２】
2008006519.tif 000004
【図３】
2008006519.tif 000005