(57)【要約】      （修正有）【課題】物体の一部しか観測できていない場合であっても、物体との接触の可能性を低減する。【解決手段】所定範囲に制限された観測範囲において、周辺の物体を観測する観測ステップと、記憶部に格納された物体形状データが示す物体の形状に基づいて、観測ステップで観測された物体の一部を基準として物体がとり得る範囲を特定する特定ステップと、特定ステップで新たに特定された物体がとり得る範囲と、現在認識している物体がとり得る範囲とを統合し、統合結果を現在認識している物体がとり得る範囲として更新する統合ステップと、を備える。【選択図】図３
2015125725.tif 000002
【特許請求の範囲】
【請求項１】
所定範囲にある物体を観測することができるセンサで周辺の物体を観測する観測ステップと、
前記センサで観測された結果と、記憶部に格納しておいた物体モデルデータが示す物体のモデルと、に基づき、前記センサで観測された結果において物体の一部を認識した場合には、前記記憶部に格納された物体形状データが示す物体の形状に基づいて、当該認識した物体の一部を基準として当該物体がとり得る範囲を特定する特定ステップと、
前記特定ステップで新たに特定された前記物体がとり得る範囲と、現在認識している当該物体がとり得る範囲とを統合し、統合結果を前記現在認識している当該物体がとり得る範囲として更新する統合ステップと、
を備えることを特徴とする物体範囲推定方法。
【請求項２】
前記物体がとり得る範囲は、前記物体の位置がとり得る範囲、及び、前記物体の姿勢がとり得る範囲が含まれる、
ことを特徴とする請求項１に記載の物体範囲推定方法。
【請求項３】
前記特定ステップでは、前記物体がとり得る範囲として、当該物体の形状に応じた複数の離散的な範囲を特定する、
ことを特徴とする請求項１又は２に記載の物体範囲推定方法。
【請求項４】
前記物体がとり得る範囲は、所定の方向について前記物体の位置がとり得る範囲が含まれ、
前記物体範囲推定方法は、さらに、前記所定の方向について前記物体の位置が一意に特定できていない場合には、前記所定の方向に前記観測範囲を移動させる制御ステップを備える、
ことを特徴とする請求項１に記載の物体範囲推定方法。
【請求項５】
前記センサは、カメラであり、
前記観測ステップでは、前記周辺の物体の観測として、前記カメラによって前記観測範囲を撮像することで前記周辺の物体を含む画像を生成し、
前記特定ステップでは、前記観測ステップで生成された画像において前記物体の一部を認識した場合に当該物体がとり得る範囲を特定する、
ことを特徴とする請求項１乃至４のいずれか１項に記載の物体範囲推定方法。
【請求項６】
前記統合ステップでは、前記統合として、前記特定ステップで新たに特定された物体がとり得る範囲と、現在認識している当該物体がとり得る範囲との論理積を算出する、
ことを特徴とする請求項１乃至５のいずれか１項に記載の物体範囲推定方法。
【請求項７】
所定範囲にある物体を観測することができるセンサと、
前記物体のモデルを示す物体モデルデータと、前記物体の形状を示す物体形状データが格納された記憶部と、
前記センサで観測された結果と、前記記憶部に格納された物体モデルデータが示す物体のモデルと、に基づき、前記センサで観測された結果において物体の一部を認識した場合には、前記記憶部に格納された物体形状データが示す物体の形状に基づいて、当該認識した物体の一部を基準として当該物体がとり得る範囲を特定する特定部と、
前記特定部によって新たに特定された物体がとり得る範囲と、現在認識している当該物体がとり得る範囲とを統合し、統合結果を前記現在認識している当該物体がとり得る範囲として更新する統合部と、
を備えることを特徴とする物体範囲推定装置。
【請求項８】
請求項７に記載の物体範囲推定装置を備え、
前記物体範囲推定装置において現在認識している物体がとり得る範囲に基づいて移動経路を決定して移動する、
ことを特徴とするロボット。
【請求項９】
請求項７に記載の物体範囲推定装置と、
物体を把持するアームと、を備え、
前記物体範囲推定装置において現在認識している物体がとり得る範囲に基づいて前記アームの移動経路を決定し、前記アームを動作させる、
ことを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体範囲推定方法、物体範囲推定装置及びロボットに関し、特に、所定範囲に制限された観測範囲で物体を認識する技術に関する。
【背景技術】
【０００２】
特許文献１には、自己推定の精度が悪い状況に陥ること防ぐことができるロボットが開示されている。このロボットは、外界センサによって取得した外界情報に基づいて、自己位置の推定のしやすさを示す自己位置推定容易性パラメータを算出し、自己位置推定容易性パラメータの値に応じて、自己位置推定の容易性をモニタに表示する。ユーザは、その表示を参考に、ロボットによる自己位置推定が容易になるように障害物を設置する操作をロボットに対して行うことができる。これによれば、ユーザに自己位置推定の困難な場所の改善を促すことができ、ロボットが自己位置推定の精度が悪い状況に陥ってしまうことを回避することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１４１６６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したように周辺環境を示すセンサデータ（外界情報）を取得するセンサは、一般的に、観測可能な範囲が一定範囲に制限されている。したがって、ロボット（センサ）と障害物との距離が近い場合には、センサによって障害物の一部しか観測することができなくなってしまう。この場合、ロボットは、障害物が存在する範囲も正確に認識することができない場合がある。
【０００５】
例えば、ロボットがテーブルを横方向から観測したときに、テーブルの天板の側面のうち、その左端及び右端を含まない一部しかセンサの観測範囲に含まれていない場合には、天板の側面において、どの辺りの位置を観測しているのか分からないため、テーブルの位置を正確に特定することができない。よって、ロボットが事前にテーブルの形状を把握していたとしても、テーブルの位置を特定することができないため、テーブルが存在する範囲（テーブルが存在する領域）も特定することができない。
【０００６】
このように、障害物の存在する範囲を正確に認識することができないため、ロボットが移動した際に障害物と接触してしまう可能性があるという問題があった。すなわち、上述したテーブルの例であれば、テーブルが存在する範囲を特定することができないため、ロボットがセンサの観測範囲外に存在するテーブルと接触してしまう可能性があった。
【０００７】
本発明は、上述した知見に基づいてなされたものであって、物体の一部しか観測できていない場合であっても、物体との接触の可能性を低減することができる物体範囲推定方法、物体範囲推定装置及びロボットを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の態様に係る物体範囲推定方法は、所定範囲にある物体を観測することができるセンサで周辺の物体を観測する観測ステップと、前記センサで観測された結果と、記憶部に格納しておいた物体モデルデータが示す物体のモデルと、に基づき、前記センサで観測された結果において物体の一部を認識した場合には、前記記憶部に格納された物体形状データが示す物体の形状に基づいて、当該認識した物体の一部を基準として当該物体がとり得る範囲を特定する特定ステップと、前記特定ステップで新たに特定された前記物体がとり得る範囲と、現在認識している当該物体がとり得る範囲とを統合し、統合結果を前記現在認識している当該物体がとり得る範囲として更新する統合ステップと、を備えることを特徴とするものである。
【０００９】
本発明の第２の態様に係る物体範囲推定装置は、所定範囲にある物体を観測することができるセンサと、前記物体のモデルを示す物体モデルデータと、前記物体の形状を示す物体形状データが格納された記憶部と、前記センサで観測された結果と、前記記憶部に格納された物体モデルデータが示す物体のモデルと、に基づき、前記センサで観測された結果において物体の一部を認識した場合には、前記記憶部に格納された物体形状データが示す物体の形状に基づいて、当該認識した物体の一部を基準として当該物体がとり得る範囲を特定する特定部と、前記特定部によって新たに特定された物体がとり得る範囲と、現在認識している当該物体がとり得る範囲とを統合し、統合結果を前記現在認識している当該物体がとり得る範囲として更新する統合部と、を備えることを特徴とするものである。
【００１０】
本発明の第３の態様に係るロボットは、上記第２の態様に係る物体範囲推定装置を備え、前記物体範囲推定装置において現在認識している物体がとり得る範囲に基づいて移動経路を決定して移動する、ことを特徴とするものである。
【００１１】
本発明の第４の態様に係るロボットは、上記第２の態様に係る物体範囲推定装置と、物体を把持するアームと、を備え、前記物体範囲推定装置において現在認識している物体がとり得る範囲に基づいて前記アームの移動経路を決定し、前記アームを動作させる、ことを特徴とするものである。
【発明の効果】
【００１２】
上述した本発明の各態様によれば、物体の一部しか観測できていない場合であっても、物体との接触の可能性を低減することができる物体範囲推定方法、物体範囲推定装置及びロボットを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態に係るロボットの外部構成図である。
【図２】実施の形態に係るロボットの内部構成図である。
【図３】実施の形態に係るロボットの処理ブロック図である。
【図４】実施の形態に係るロボットによる物体の観測例を示す図である。
【図５】図４の観測例においてテーブルがとり得る状態を示す図である。
【図６】図４の観測例においてテーブルがとり得る範囲を示す図である。
【図７】実施の形態に係るロボットによる統合処理の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下に図面を参照しながら、本発明の好適な実施の形態について説明する。以下の実施の形態に示す具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、それに限定されるものではない。また、以下の記載及び図面では、説明の明確化のため、当業者にとって自明な事項等については、適宜、省略及び簡略化がなされている。
【００１５】
＜発明の実施の形態＞
まず、本実施の形態に係るロボット１について説明する。図１を参照して、本実施の形態に係るロボット１の外部構成について説明する。図１は、本実施の形態に係るロボット１の外部構成図である。
【００１６】
ロボット１は、ロボット本体１０、移動台車２０、アーム３０、及び頭部４０を有している。ロボット１は、典型的には、家庭内において人が行う作業を、人に代わり実行するための生活支援ロボットである。ロボット１は、例えば、任意の場所に移動し、物を拾い人に届ける、窓を開ける等の作業を実行する。
【００１７】
移動台車２０は、その上方でロボット本体１０を支持するように、その上部がロボット本体１０の下部に連結されている。移動台車２０は、その下部に設けられた車輪（図示せず）を駆動することでロボット１を移動させる。
【００１８】
アーム３０は、ロボット本体１０の前方に突出するように、ロボット本体１０の前部に接続されている。アーム３０は、多関節のアームである。アーム３０は、その先端部に、任意の物体を把持できるハンド（把持部）６を含む。これにより、ロボット１は、アーム３０の各関節の角度を調整することで、ハンド６０を所望の位置に移動させ、その位置に存在する物体を把持することができる。
【００１９】
頭部４０は、ロボット本体１０の上方でロボット本体１０に支持されるように、ロボット本体１０の上部に連結されている。頭部４０は、その前方をセンサ５０によって観測可能となるように、その前部にセンサ５０が取り付けられている。センサ５０は、ロボット１の周辺の環境を観測し、観測した環境を示すセンサデータを生成するセンサである。
【００２０】
センサ５０は、測定可能な角度範囲（画角）が所定の角度に限られている。一方で、頭部４０とロボット本体１０との連結部は、頭部４０を動作可能となるように多自由度の関節構造となっている。例えば、関節構造として少なくとも２自由度以上を有するようにすることで、頭部４０は、少なくとも上下左右に動作させることが可能とされている。これにより、センサ５０の測定可能な角度範囲が限られていても、頭部４０を動作させることで広範囲を観測することを可能としている。
【００２１】
センサ５０は、ロボット１の周辺の物体を観測可能なセンサであれば、３次元距離センサ及びカメラ等のセンサのうち、任意のセンサを利用するようにしてよい。センサ５０として３次元距離センサを用いる場合、センサ５０は、ロボット１からロボット１の周辺の物体までの距離を測定して、ロボット１の周辺の物体までの距離を示す距離データをセンサデータとして生成する。ここで、３次元距離センサは、光学式、超音波式、及びレーザ光線式等の各種方式のうち、任意の方式のものを使用するようにしてよい。例えば、レーザ光線式の３次元距離センサとして、レーザレンジファインダ（ＬＲＦ：Laser range finder）がある。また、センサ５０にカメラを用いる場合、センサ５０は、ロボット１の周辺を撮像して、ロボット１の周辺の画像を示す画像データをセンサデータとして生成する。ここで、カメラは、ＲＧＢカメラ及びＲＧＢＤカメラ等のカメラのうち、カメラを使用するようにしてよい。すなわち、カメラとして、ＲＧＢＤカメラのように、画像データに加えて、物体までの距離（深度）を示す距離データもセンサデータとして生成するカメラを使用するようにしてもよい。
【００２２】
しかしながら、好ましくは、センサ５０として、ＬＲＦではなく、ＲＧＢカメラ及びＲＧＢＤカメラ等のカメラを使用するとよい。一般的に、ＬＲＦは、画角も大きく、コストが非常に高くなってしまう。それに対して、一般的に、ＲＧＢカメラ及びＲＧＢＤカメラ等のカメラは、ＬＲＦと比較して画角が狭く安価であり、コストを低減することができる。
【００２３】
操作端末９は、ロボット１と無線又は有線によって通信可能な情報処理端末である。なお、本実施の形態では、操作端末９とロボット１とが無線によって通信する例について説明する。操作端末９は、デスクトップＰＣのような据え置き型の情報処理端末であってもよいが、好ましくは、ユーザが生活空間において制限なくロボット１を操作可能とするために、携帯型の情報処理端末であるとよい。携帯型の情報処理端末は、スマートフォン、又はタブレット端末等である。
【００２４】
ユーザは、操作端末９によってロボット１に対して、上述したような人が行う作業を指示することができる。ロボット１は、ユーザから指示された作業をユーザに代わり実行する。このようにして、ロボット１によってユーザの生活が支援される。
【００２５】
上述した構成により、ロボット１は、ユーザから指示された作業を実行するにあたり、センサ５０によってロボット１の周辺の環境を観測し、観測した環境における障害物となる物体を避けて行動する。
【００２６】
続いて、図２を参照して、本実施の形態に係るロボット１の内部構成について説明する。図２は、本実施の形態に係るロボット１の内部構成図である。
【００２７】
ロボット１は、制御部１１、記憶部１２、通信部１３、アクチュエータ２１ａ、２１ｂ、車輪２２ａ、２２ｂ、アクチュエータ３１ａ、３１ｂ、角度センサ（ポテンショメータ）３２ａ、３２ｂ、及びアクチュエータ４１を有する。制御部１１、記憶部１２、及び通信部１３は、ロボット本体１０に含まれる。アクチュエータ２１ａ、２１ｂ及び車輪２２ａ、２２ｂは、移動台車２０に含まれる。アクチュエータ３１ａ、３１ｂ及び角度センサ３２ａ、３２ｂは、アーム３０に含まれる。アクチュエータ４１は、頭部４０に含まれる。
【００２８】
制御部１１は、ロボット１を統括的に制御する。制御部１１は、ＣＰＵ（Central Processing Unit）を有しており、そのＣＰＵが記憶部１２に格納されたプログラムを実行することで、制御部１１としての各種処理を実現する。すなわち、このプログラムは、制御部１１が有するＣＰＵに制御部１１としての各所処理を実行させるためのコードを含んでいる。
【００２９】
記憶部１２は、上記プログラムや、その他の制御部１１が使用する各種情報が格納される。記憶部１２は、上記プログラムや各種情報を格納可能な記憶装置の少なくとも１つを含む。記憶装置として、例えば、メモリ及びハードディスク等の少なくとも１つを任意に使用してよい。
【００３０】
通信部１３は、操作端末９に送信するために制御部１１から出力された情報を、無線信号に変換し、操作端末９に送信する。通信部１３は、操作端末９から受信した無線信号を、制御部１１で処理可能な情報となるように電気信号に変換し、制御部１１に出力する。
【００３１】
アクチュエータ２１ａ、２１ｂは、ロボット１の車輪２２ａ、２２ｂを駆動する。アクチュエータ２１ａは、制御部１１からの制御によって駆動され、車輪２２ａを回転させる。アクチュエータ２１ｂは、制御部１１からの制御によって駆動され、車輪２２ｂを回転させる。
【００３２】
車輪２２ａ及び車輪２２ｂは、上述した移動台車２０の下部に取り付けられた車輪に該当する。すなわち、制御部１１は、アクチュエータ２１ａ、２１ｂを制御して、車輪２２ａ、２２ｂを回転させることでロボット１を移動させる。
【００３３】
アクチュエータ３１ａ、３１ｂは、ロボット１のアーム３０を駆動する。アクチュエータ３１ａ、３１ｂは、制御部１１からの制御によって駆動され、アーム３０を動作させるアクチュエータ３１ａ、３１ｂのそれぞれは、アーム３０の関節として設けられている。なお、ここでは、アーム３０が、アクチュエータ３１ａとアクチュエータ３１ｂとの２つの関節を有する例について説明するが、アーム３０の関節数は、これに限られない。
【００３４】
角度センサ３２ａ、３２ｂのそれぞれは、アーム３０の各関節の角度を検出するセンサである。角度センサ３２ａは、アクチュエータ３１ａに取り付けられており、アクチュエータ３１ａの角度を検出する。角度センサ３２ａは、検出した角度を示す角度信号を制御部１１に出力する。角度センサ３２ｂは、アクチュエータ３１ａに取り付けられており、アクチュエータ３１ｂの角度を検出する。角度センサ３２ｂは、検出した角度を示す角度信号を制御部１１に出力する。これにより、制御部１１は、角度センサ３２ａ、３２ｂのそれぞれから出力された角度信号が示す角度に基づいて、アーム３０の状態を認識することが可能となる。
【００３５】
アクチュエータ４１は、ロボット１の頭部４０を駆動する。アクチュエータ４１は、制御部１１からの制御によって駆動され、頭部４０を動作させる。アクチュエータ４１は、例えば、多自由度（２自由度以上の所定自由度）のアクチュエータとして、頭部４０を上下左右に動作可能としてよい。また、頭部４０を駆動するアクチュエータ４１を複数有するようにして、頭部４０の多自由度での駆動を実現するようにしてもよい。また、アクチュエータ４１として１自由度のアクチュエータを１つだけ有するようにして、頭部４０が上下又は左右のみに動作するようにされていてもよい。
【００３６】
続いて、図３〜図７を参照して、本実施の形態に係るロボット１の処理について説明する。図３は、本実施の形態に係るロボット１の処理ブロック図である。
【００３７】
図３に示すように、ロボット１は、処理ブロックとして、センサ５０、認識器１０１、及び統合器１０２を有する。ここで、上述した制御部１１が、認識器１０１及び統合器１０２として機能する。
【００３８】
センサ５０、認識器１０１、及び統合器１０２は、物体の位置・姿勢がとり得る範囲を認識（推定）する物体範囲推定装置として機能する。認識器１０１は、センサ５０で観測された物体の一部を基準としてその物体のとり得る範囲（物体の位置・姿勢がとり得る範囲）を特定する特定部として機能する。統合器１０２は、認識器１０１によって新たに特定された物体がとり得る範囲と、現在認識しているその物体がとり得る範囲とを統合し、統合結果を現在認識しているその物体がとり得る範囲として更新する。
【００３９】
センサ５０は、上述のセンサデータを認識器１０１に出力する。具体的には、センサ５０は、上述したように、好ましくは、ＲＧＢカメラ及びＲＧＢＤカメラ等のカメラを用いるとよい。以下、センサ５０として、ＲＧＢＤカメラを用いた場合について説明する。よって、センサデータには、センサ５０の観測範囲において周辺を撮像した画像を示すＲＧＢ画像データ（画像データ）と、センサ５０の観測範囲において周辺の物体までの深度を示す深度データ（距離データ、例えばポイントクラウド）が含まれる。
【００４０】
認識器１０１は、センサ５０から出力されたセンサデータが示す環境において物体の一部のみが含まれている場合、その物体の一部を基準としてその物体の位置・姿勢がとり得る範囲（以下、「位置姿勢範囲」とも呼ぶ）を認識し、認識した物体に位置姿勢範囲を示す位置姿勢範囲データを生成し、統合器１０２に出力する。なお、物体の「位置」は、物体において予め任意に定めた点となる。例えば、物体の重心を、物体の位置として定めるようにしてよい。また、物体の「姿勢」は、物体の鉛直軸周りの回転角度となる。
【００４１】
ここで、物体の位置姿勢範囲を認識するために、記憶部１２は、ロボット１の動作範囲となる環境に含まれる物体毎に、物体の形状を示す物体形状データが予め格納されている。認識器１０１は、一部のみが観測されている物体を特定し、記憶部１２に格納された物体形状データのうち、特定した物体に対応する物体形状データが示すその物体の形状と、その物体の観測されている一部に基づいて、その物体の一部を基準として位置姿勢範囲を特定する。
【００４２】
統合器１０２は、認識器１０１が新たに認識した物体の位置姿勢範囲と、現在認識しているその物体の位置姿勢範囲とを統合した位置姿勢範囲を算出する。具体的には、統合器１０２は、統合として、新たに認識した物体の位置姿勢範囲と、現在認識している物体の位置姿勢範囲との論理積（ＡＮＤ）をとった位置姿勢範囲を算出する。統合器１０２は、統合によって算出した位置姿勢範囲を示す位置姿勢範囲データを生成し、出力する。ロボット１が認識している物体の位置姿勢範囲は、この出力された位置姿勢範囲データが示す位置姿勢範囲に更新される。これにより、ロボット１が認識している認識している物体の位置姿勢範囲が、新たに認識したその物体の位置姿勢範囲と統合される毎に狭い範囲に絞り込まれていくことになる。
【００４３】
ここで、統合器１０２は、位置姿勢範囲データを出力して、記憶部１２に格納する。すなわち、記憶部１２に格納された物体の位置姿勢範囲データは、統合器１０２から出力された最新のその物体の位置姿勢範囲データに更新される。これにより、統合器１０２は、現在認識している物体の位置姿勢範囲として、記憶部１２に格納された位置姿勢範囲データが示す位置姿勢範囲を取得し、新たに認識した物体の位置姿勢範囲として、認識器１０１から出力された位置姿勢範囲データが示す位置姿勢範囲を取得し、それらの統合演算を行うことができる。
【００４４】
また、制御部１１は、ロボット１の移動計画を立てる際に、記憶部１２に格納された位置姿勢範囲データが示す物体の位置姿勢範囲に基づいて、物体が存在し得る範囲（物体が存在し得る領域）とロボット１とが重複してしまう移動経路を、移動経路から除外する。ここでの「移動経路」とは、ロボット１が部屋内を動き回るための経路、及び、アーム３０が三次元空間中を動作するための経路のうち、少なくとも１つの経路を意味する。これにより、ロボット１の物体（障害物）との接触を回避することができる。ここで、制御部１１は、物体の位置を基準としてその物体の物体形状データが示す形状をその物体の姿勢で配置した範囲を、その物体の存在し得る範囲として算出することができる。すなわち、位置姿勢範囲データにおいて物体の位置・姿勢が範囲をもつ場合には、その範囲内の位置・姿勢のそれぞれにおける物体が存在し得る範囲を重ね合わせた範囲が、その物体が存在し得る範囲として算出される。
【００４５】
以下、具体例を挙げて、ロボット１の処理について説明する。ここでは、ロボット１が移動対象とする部屋内の物体として、家具（冷蔵庫、テーブル、及びドア等）の位置・姿勢を認識する例について説明する。また、ロボット１は、家具の大まかな位置は把握しているものとする。例えば、ロボット１は、事前に部屋内を移動して各家具を観測し、各家具の大まかな位置・姿勢を把握するようにしてもよい。また、ユーザが、操作端末９を介して、ロボット１に対して各家具の大まかな位置・姿勢を登録することで、ロボット１が各家具の大まかな位置・姿勢を把握するようにしてもよい。また、各家具は、その家具がある位置から大きくずれることは無いものと仮定する。しかしながら、この例に限られず、事前の観測せずにロボット１の動作を開始するようにしてもよい。言い換えると、事前に家具の大まかな位置を把握せずとも、以下に説明する処理によれば、センサ５０による観測結果によって家具を認識し、その家具の位置・姿勢絞り込んでいくことが可能である。
【００４６】
以下、図３に示す処理ブロックの処理順序に従って、各処理について説明する。
【００４７】
（センサ５０の処理）
ユーザは、ロボット１に対して、部屋内に置かれている所望の物体をユーザに拾い届けることを指示する場合、操作端末９にその旨を入力する。この入力は、例えば、操作端末９が有する入力装置（例えば、キーボード又はタッチパネル等）を介して行われる。操作端末９は、ユーザからの入力に応じて、その物体を拾い届けることを指示する指示情報を生成し、無線通信を介してロボット１に送信する。
【００４８】
ロボット１は、操作端末９からの指示情報の受信に応じて、指示情報が示す物体の位置への移動を開始する。この際に、センサ５０は、随時（例えば所定の時間間隔で）、その画角内で周辺の環境を観測し、観測結果となるセンサデータを生成して認識器１０１に出力する。
【００４９】
ここで、図４に示すように、ロボット１がテーブルの直前まで移動し、センサ５０の画角内でテーブルの天板の一部のみを観測している例について説明する。より具体的には、ロボット１は、センサ５０によって、テーブルを手前側から奥行き方向に斜め上方から見下ろすように観測しており、テーブルの天板の側面の左端及び右端はいずれも観測できていないが、その上端及び下端のエッジが観測できているものとする。すなわち、センサ５０は、テーブルの天板の一部を含む環境を示すセンサデータを生成し、認識器１０１に出力している。よって、そのセンサデータに含まれるＲＧＢ画像データが示す画像には、図４に示すように、テーブルの天板の側面の一部と、そのエッジ（上端及び下端）が含まれている。
【００５０】
なお、図４及び以降に説明する図５〜図７で示すように、センサ５０での観測方向に対して左右水平方向をＸ軸とし、センサ５０での観測方向に対して上下鉛直方向をＺ軸とし、かつセンサ５０での観測方向に対して前後水平方向をＹ軸とした場合について説明する。テーブルの天板は、一辺がＹ軸と平行し、その一辺と直交する他辺がＸ軸と平行するものとする。すなわち、上述の例では、ロボット１のセンサ５０による観測方向（センサ５０の画角の中心方向）の前後水平成分と、テーブルのＸ軸に沿った天板の側面とが直交する関係にある。
【００５１】
（認識器１０１の処理）
認識器１０１は、センサ５０から出力されたセンサデータに基づいて、そのセンサデータが示す画像において、家具の一部が含まれているか否かを判定する。
【００５２】
具体的には、認識器１０１は、各家具について予め用意したモデルと、センサデータのＲＧＢ画像データが示す画像における物体とをマッチングすることで、家具の一部を検出する。例えば、認識器１０１は、マッチングによる一致度が所定の閾値よりも高い部分を、家具の一部であると認識する。
【００５３】
ここで、各家具について、家具のモデルを示すモデル情報を記憶部１２に予め格納しておくようにし、記憶部１２に格納されたモデル情報が示すモデルと、センサデータのＲＧＢ画像データが示す画像における物体とを比較し、家具の一部を検出する。この比較は、例えば、家具のモデルとして特徴量を用意し、センサデータのＲＧＢ画像データが示す画像において特徴量を算出して、それらを比較する。そして、画像において、家具のモデルの一部と一致する部分を、家具の一部であると判定する。なお、特徴量として、ＳＩＦＴ、ＳＵＲＦ、エッジ、コーナー、及び色情報等の特徴量のうち、任意の特徴量を用いるようにしてよい。なお、家具の一部の検出は、センサデータが示す情報であればＲＧＢ画像データのみに限られず、深度データ（距離データ）のみを使用してもよく、それらを総合的に使用して行ってもよい。また、深度データを使用する場合には、それに応じた特徴量を使用するようにすればよい。
【００５４】
また、認識器１０１は、上述したように、各家具の大まかな位置・姿勢を事前に把握している場合には、認識器１０１は、事前に把握している各家具の大まかな位置と、現在のロボット１の位置及びセンサ５０が向いている方向等の少なくとも１つに基づいて、センサ５０の観測範囲に含まれる、もしくは、最も近いと判定した家具のモデルについてマッチングを行うようにすればよい。さらに、認識器１０１は、事前に把握している各家具の大まかな姿勢と、現在のロボット１の位置及びセンサ５０が向いている方向等の少なくとも１つに基づいて、センサ５０の観測範囲に含まれる、もしくは、最も近いと判定した家具のモデルの面についてマッチングを行うようにしてもよい。なお、各家具の大まかな位置・姿勢を事前に把握していない場合には、記憶部１２に格納された家具のモデルのそれぞれとマッチングを行えばよい。そして、一致度が最も高いモデルの家具が存在すると認識するようにすればよい。
【００５５】
ここで、現在のロボット１の位置及びセンサ５０が向いている方向は、一般的な技術を用いて認識すればよいため、詳細な説明は省略する。例えば、センサ５０からのセンサデータから導出した周辺の物体からのロボット１の相対位置や、累積計算したロボット１の移動量等によって特定するようにしてもよい。また、ロボット１が事前の観測をしていない場合には、例えば、全ての家具のモデルとマッチングを行うようにすればよい。しかしながら、この場合は、マッチング処理に時間がかかってしまうため、好ましくは、上述したように事前に観測を行うとよい。
【００５６】
認識器１０１は、家具の一部が含まれていると判定した場合、記憶部１２に格納されたその家具の物体形状データに基づいて、その家具の位置姿勢範囲を特定する。
【００５７】
ここで、図４に示すようにテーブルの天板の側面の一部を観測している場合には、図５の上図に示すように天板の右端寄りの側面を観測しているのか、図５の下図に示すように天板の左端寄りの側面を観測しているのか特定することはできない。すなわち、Ｘ軸方向におけるテーブルの位置を一意に特定することができない。
【００５８】
一方で、上述したように、ロボット１のセンサ５０による観測方向の前後水平成分と、テーブルのＸ軸に沿った天板の側面とが直交する関係にあるため、Ｙ軸方向におけるテーブルの位置、及び、テーブルの姿勢は一意に特定することができる。例えば、認識器１０１は、センサデータに含まれる深度データが示すテーブルの天板の側面までの深度（距離）に基づいて、ロボット１に対するＹ軸方向におけるテーブルの位置を特定することができる。また、認識器１０１は、センサデータに含まれる深度データが示すテーブルまでの深度（距離）に基づいて、テーブルの天板の側面までの深度が観測範囲において左右対称となることから、ロボット１に対してテーブルの姿勢に傾きがないものとして、テーブルの姿勢を特定することができる。
【００５９】
そのため、認識器１０１は、テーブルの位置姿勢範囲として、Ｘ軸方向における位置については、観測したテーブルの天板の一部を基準としてＸ軸方向についてとり得る範囲を認識し、Ｙ軸方向における位置及び姿勢については、一意な値を認識する。すなわち、テーブルの位置姿勢範囲は、次式（１）のように、Ｘ軸方向におけるテーブルの位置ｘを範囲をもった値とし、Ｙ軸方向におけるテーブルの位置ｙ、及び、テーブルの姿勢θを一意な値として認識される。なお、物体の位置ｘ、ｙは、ロボット１が動作する環境におけて予め定めた任意の点を基準とした絶対的な値であってもよく、ロボット１の位置を基準とした相対的な値であってもよい。また、物体の姿勢θも、任意の方向を基準（０度）として予め定めるようにしてよい。
【００６０】
【数１】
2015125725.tif 000003
【００６１】
具体的には、Ｘ軸方向におけるテーブルの位置ｘを、図６に示すように、観測したテーブルの天板の一部が最も左端である場合におけるテーブルの位置から、観測したテーブルの天板の一部が最も右端である場合におけるテーブルの位置までの範囲とする。すなわち、記憶部１２に予め格納されたテーブルの物体形状データが示すテーブルの形状に基づいて、観測したテーブルの天板の一部が最も左端である場合におけるテーブルの位置を算出してｘｍａｘとし、観測したテーブルの天板の一部が最も右端である場合におけるテーブルの位置を算出してｘｍｉｎとして決定する。このように、観測された物体の一部を基準として、その物体がとり得る最大の範囲を特定する。言い換えると、ある方向について物体の位置のとり得る範囲を特定する場合には、その物体の形状に基づいて、その物体がその方向に沿って最も負側にとり得る位置から、その物体がその方向に沿って最も正側にとり得る位置までの範囲を、物体の位置がとり得る範囲として認識する。
【００６２】
ここで、認識器１０１で生成される位置姿勢範囲データの形式は、式（１）に示した例に限られない。例えば、位置及び姿勢の全てを一意に特定することができない場合には、式（２）に示すように、Ｘ軸方向における位置ｘ、Ｙ軸方向における位置ｙ、及び姿勢θの全てについて範囲をもった位置姿勢範囲データを生成するようにしてよい。
【００６３】
【数２】
2015125725.tif 000004
【００６４】
式（２）に示す形式の位置姿勢範囲データは、例えば、テーブルの天板を斜め上方から観測し、かつ天板のエッジが１つも観測されていない場合に生成される。この場合、Ｘ軸方向における位置ｘ、Ｙ軸方向における位置ｙ、及び姿勢θの全てを一意に特定することができないからである。
【００６５】
また、例えば、式（１）とは異なるパターンで、Ｘ軸方向における位置、Ｙ軸方向における位置、及び姿勢のうちの一部を特定することができない場合には、特定できないものについて範囲をもった位置姿勢範囲データを生成するようにしてもよい。例えば、姿勢を一意に特定することができるが、位置を一意に特定することができない場合には、式（３）に示すように、Ｘ軸方向におけるテーブルの位置ｘ及びＹ軸方向におけるテーブルの位置ｙを範囲もった値とし、テーブルの姿勢θを一意な値とした位置姿勢範囲データを生成するようにしてよい。
【００６６】
【数３】
2015125725.tif 000005
【００６７】
また、例えば、観測された家具の一部に基づくと、複数の離散的な候補があるような場合には、式（４）に示すように、複数の位置・姿勢の範囲を示す位置姿勢範囲データを用意するようにしてもよい。なお、式（４）では、位置・姿勢の範囲を３つ以上として示しているが、２つであってもよい。
【００６８】
【数４】
2015125725.tif 000006
【００６９】
【数５】
2015125725.tif 000007
【００７０】
式（５）に示す形式の位置姿勢範囲データは、例えば、長方形のテーブルの天板を斜め上方から観測し、かつ天板のエッジが１つだけ観測されている場合に生成される。この場合、Ｘ軸方向における位置ｘ、及びＹ軸方向における位置ｙは、一意に特定することができないが、姿勢θは、天板の側面の長手と短手の組み合わせがとり得る数として４通りの一意な値に特定される。よって、この場合における位置姿勢範囲データは、４つの離散的な範囲が示される。このように、認識器１０１は、物体がとり得る範囲として、物体の形状に応じた複数の離散的な範囲を認識するようにしてもよい。このように、長方形のテーブルのように、縦方向と横方向とで長さが異なる物体については、複数の離散的な位置姿勢範囲を認識するようにすることで、漏れなく位置姿勢範囲を認識することができる。尚、この表現形式を一般化すると式（４）のような表現となる。
【００７１】
そして、認識器１０１は、認識した家具の位置・姿勢のとり得る範囲を示す位置姿勢範囲データを統合器１０２に出力する。
【００７２】
（統合器１０２の処理）
統合器１０２は、認識器１０１から出力された位置姿勢範囲データが示す範囲と、前回の統合器１０２の出力となる位置姿勢範囲データが示す範囲とを統合する。この統合では、認識した家具の位置・姿勢のとり得る範囲として、それぞれの位置姿勢範囲データが示す範囲をＡＮＤをとった範囲を算出する。これにより、認識した家具の位置・姿勢のとり得る範囲が、より狭くなる方向に絞り込まれる。
【００７３】
具体的には、ロボット１がテーブルの天板の側面の一部を一箇所のみ観測した場合、認識器１０１は、図７の上図に示すように（図６と同様に）、その天板の側面の一部を基準として、テーブルがとり得る範囲を認識し、認識結果としてその位置姿勢範囲データを統合器１０２に出力する。統合器１０２は、この位置姿勢範囲データがそのテーブルに関して最初に出力されたものである場合、その位置姿勢範囲データが示す範囲を、テーブルがとり得る範囲として認識する。すなわち、統合器１０２においても、認識器１０１から出力された位置姿勢範囲データが示す範囲を、テーブルがとり得る範囲として認識し、その範囲を示す位置姿勢範囲データを出力する。
【００７４】
ここで、次にロボット１が少し右方向（Ｘ軸の正方向）に移動した一致からテーブルの天板の側面の一部を観測したものとする。また、この場合においても、最初の観測と同様に、センサ５０から出力されたセンサデータが示す画像において、テーブルの天板の側面の左端及び右端はいずれも観測できていないが、その上端及び下端のエッジが観測できているものとする。
【００７５】
この場合、認識器１０１は、図７の中図に示すように（図６と同様に）、その天板の側面の一部を基準として、テーブルがとり得る範囲を認識し、認識結果としてその位置姿勢範囲データを統合器１０２に出力する。
【００７６】
統合器１０２は、認識器１０１から出力された位置姿勢範囲データが示す範囲と、前回の統合器１０２の出力となる位置姿勢範囲データが示す範囲との論理積（ＡＮＤ）をとり、図７の下図に示すように、論理積の結果を最新のテーブルがとり得る範囲として認識する。例えば、式（１）において、最初の認識結果としてｘｍｉｎ〜ｘｍａｘ＝１０〜２０であり、次の認識結果としてｘｍｉｎ〜ｘｍａｘ＝１２〜２２である場合、統合結果として、ｘｍｉｎ〜ｘｍａｘ＝１２〜２０が算出される。
【００７７】
そして、統合器１０２は、算出したテーブルのとり得る範囲を示す位置姿勢範囲データを出力する。これにより、制御部１１は、ロボット１を移動させる場合には、ロボット１の移動計画において、統合器１０２から出力された位置姿勢範囲データが示すテーブルの位置姿勢範囲に基づいて、テーブルとの接触を避けた移動経路を導出することができる。具体的には、制御部１１は、統合器１０２から出力された位置姿勢範囲データが示すテーブルの位置姿勢範囲と、記憶部１２に格納された物体形状データが示すテーブルの形状とに基づいて、テーブルの存在し得る範囲を算出し、そのテーブルの存在し得る範囲とロボット１が重複しない移動経路を決定する。なお、テーブルの存在し得る範囲とロボット１とが重複するか否かは、ロボット１の形状を示す情報を記憶部１２に予め格納しておくようにし、その情報が示すロボット１の形状に基づいて判定するようにすればよい。そして、制御部１１は、決定した移動経路でアクチュエータ２１ａ、２１ｂを駆動してロボット１を移動させる。
【００７８】
また、制御部１１は、ロボット１のアーム３０を動作させる場合には、統合器１０２から出力された位置姿勢範囲データが示すテーブルの位置姿勢範囲に基づいて、テーブルとの接触を避けたアーム３０の移動経路を導出することができる。具体的には、制御部１１は、統合器１０２から出力された位置姿勢範囲データが示すテーブルの位置姿勢範囲と、記憶部１２に格納された物体形状データが示すテーブルの形状とに基づいて、テーブルの存在し得る範囲を算出し、そのテーブルの存在し得る範囲とアーム３０が重複しない移動経路を決定する。なお、テーブルの存在し得る範囲とアーム３０が重複するか否かは、アーム３０の関節間の各リンクの形状を示す情報を記憶部１２に予め格納しておくようにし、その情報が示す各リンクの形状と、角度センサ３２ａ、３２ｂから出力された角度信号が示す角度に基づいてアーム３０の形状を特定し、特定したアーム３０の形状に基づいて判定するようにすればよい。そして、制御部１１は、決定した移動経路でアクチュエータ３１ａ、３１ｂを駆動して、アーム３０を移動させる。
【００７９】
これにより、テーブルの位置・姿勢が確定していない場合であっても、テーブルの存在し得る範囲を把握することができるため、ロボット１（アーム３０）とテーブルとの接触を回避することができる。なお、以上の説明では、テーブルの例について説明したが、他の物体についても同様に回避することができることは自明である。
【００８０】
以上に説明したように、本実施の形態に係るロボット１は、物体形状データが示す物体の形状に基づいて、観測されたその物体の一部を基準としてその物体がとり得る範囲を認識し、新たに認識された物体がとり得る範囲と、現在認識しているその物体がとり得る範囲とを統合し、統合結果を現在認識しているその物体がとり得る範囲として更新するようにしている。
【００８１】
これによれば、物体の一部しか観測できていない場合であっても、その物体の位置・姿勢がとり得る範囲を認識することができるため、物体との接触の可能性を低減することができる。よって、物体を避けて移動するロボットの移動計画に好適に利用することができる。特に、生活支援ロボットにおいては、家具を操作する又は家具に置かれた物体を把持するために家具に接近してしまい、家具の一部しか観測することができないといった状況が容易に発生し得る。よって、本実施の形態は、そのような状況に非常に有効である。
【００８２】
また、本実施の形態では、ロボット１のセンサ５０として、ＬＲＦではなく、上述したようにカメラ（例えばＲＧＢＤカメラ等）を使用するようにしてもよい。これによれば、高価なＬＲＦを使用する場合と比較して、コストを低減することができる。
【００８３】
また、本実施の形態では、上述したように、物体の一部しか観測できていない場合であっても、物体のとり得る範囲を認識するようにしているため、物体の複数部分を観測してから物体の存在する範囲を認識する技術と比較し、即座に物体を認識することができる。よって、物体を避けて移動するロボットに適用することで、応答性を高めることができる。
【００８４】
また、統合によって、物体がとり得る範囲が絞り込むようにしているため、即座に物体を認識しつつも、認識精度も向上していくことができる。
【００８５】
＜本発明の他の実施の形態＞
上述した実施の形態において、現在認識している物体の位置・姿勢がとり得る範囲（統合器１０２の出力で示される範囲）を、より狭める方向に、ロボット１の位置もしくはセンサ５０の向きを変更するようにしてもよい。すなわち、制御部１１は、現在認識している物体の位置・姿勢がとり得る範囲に基づいて、その範囲が狭くなるように、アクチュエータ２１ａ、２１ｂを駆動してロボット１を移動させる、もしくは、アクチュエータ４１を駆動して頭部４０のセンサ５０の向きを変えるようにしてもよい。
【００８６】
例えば、図４に示すように、テーブルの天板の側面の一部を観測しており、Ｘ軸方向における物体の位置が特定できていない場合には、図７を参照して説明したように、センサ５０で観測する範囲をそのテーブルの位置が特定できていない方向（Ｘ軸方向）に移動させることで、テーブルの位置・姿勢がとり得る範囲を絞り込むことができる。言い換えると、ある方向について物体の位置が特定できていない場合には、観測範囲をその方向に沿って移動させることで、その方向についてその物体の位置がとり得る範囲を減少させることができる。
【００８７】
よって、制御部１１は、ある方向について物体の位置の範囲が特定できていない場合には、その方向に沿ってセンサ５０による観測範囲が変更されるように、アクチュエータ２１ａ、２１ｂを駆動してロボット１をその方向に沿って移動させる、もしくは、アクチュエータ４１を駆動して頭部４０のセンサ５０の向きをその方向に沿って変えるようにしてもよい。
【００８８】
なお、本発明は上記の実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００８９】
例えば、上述の実施の形態では、物体の位置姿勢範囲として、Ｘ軸方向の位置、Ｙ軸方向の位置、及び姿勢を認識するようにしていたが、これに限られない。例えば、Ｘ軸方向の位置、Ｙ軸方向の位置、Ｚ軸方向の位置、及び姿勢のうち、任意の１つ以上を認識するようにしてもよい。
【００９０】
また、上述の実施の形態では、記憶部１２に格納されたモデル情報（物体モデルデータ）が示す物体のモデルに基づいて物体の一部を認識し、記憶部１２に格納された物体形状データに基づいて物体の位置姿勢範囲を特定する場合について説明しているが、モデル情報と物体形状データとして同一のデータを利用するようにしてもよい。例えば、モデル情報及び物体形状データとして利用されるデータとして、１つの物体形状データを記憶部１２に格納しておき、認識部１０１がセンサ５０の観測結果を解析して物体の形状を抽出し、モデル情報としても利用される物体形状データに基づいて物体の一部を認識するようにしてもよい。
【符号の説明】
【００９１】
１  ロボット
９  操作端末
１０  ロボット本体
２０  移動台車
３０  アーム
４０  頭部
５０  センサ
６０  ハンド
１１  制御部
１２  記憶部
１３  通信部
２１ａ、２１ｂ  アクチュエータ
２２ａ、２２ｂ  車輪
２３ａ、２３ｂ  角度センサ
３１ａ、３１ｂ  アクチュエータ
３２ａ、３２ｂ  角度センサ
４１  アクチュエータ
１０１  認識器
１０２  統合器
【図１】
2015125725.tif 000008
【図２】
2015125725.tif 000009
【図３】
2015125725.tif 000010
【図４】
2015125725.tif 000011
【図５】
2015125725.tif 000012
【図６】
2015125725.tif 000013
【図７】
2015125725.tif 000014