(57)【要約】【課題】動作軌道の計画の生成にあたり把持対象物が周辺の障害物と干渉するおそれをより低減することができる動作軌道生成装置を提供する。【解決手段】動作軌道生成装置の演算処理部は、距離画像センサにより取得された対象物の周辺における距離画像から対象物に対応する第１点群データを抽出することによって対象物を特定し、距離画像において、対象物の周辺の点群データである第２点群データから第１点群データを除外し、第１点群データが除かれた後の第２点群データを用いて、距離画像における、第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定し、推定した第３点群データを第１点群データが除かれた空間領域に補完し、把持アームと対象物のそれぞれが、第１点群データを除外した第２点群データ及び第３点群データと干渉しないように動作軌道の計画を生成する。【選択図】図２
2019126866.tif 000002
【特許請求の範囲】
【請求項１】
対象物を把持するための把持アームと、
被写体の表面上における複数の点の座標データである点群データを含む距離画像を取得する距離画像センサと、
前記把持アームの動作軌道の計画を生成するための演算処理を行う演算処理部と、を備える、前記把持アームの動作軌道生成装置であって、
前記演算処理部は、
前記距離画像センサにより取得された前記対象物の周辺における距離画像から前記対象物に対応する第１点群データを抽出することによって前記対象物を特定し、
前記距離画像において、前記対象物の周辺の点群データである第２点群データから前記第１点群データを除外し、
前記第１点群データと前記第１点群データが除かれた後の前記第２点群データの少なくとも一方を用いて、前記距離画像における、前記第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定し、前記第３点群データを前記第１点群データが除かれた空間領域に補完し、
前記把持アームと前記対象物のそれぞれが、前記第１点群データを除外した後の前記第２点群データ、及び、前記第３点群データと干渉しないように前記動作軌道の計画を生成する、動作軌道生成装置。
【請求項２】
前記演算処理部は、前記第１点群データが除かれた後の前記第２点群データより前記対象物の周辺に存在する面を特定し、前記対象物の周辺に存在する面を前記第１点群データが除かれた空間領域まで延長し、延長された当該面のうち前記第１点群データが除かれた空間領域にある部分に対応する点群データを前記第３点群データと推定する、請求項１に記載の動作軌道生成装置。
【請求項３】
前記演算処理部は、前記距離画像における前記第２点群データから水平方向に対して角度を持つ方向に延在する障害物を特定できるか否か判定し、前記角度を持つ方向に延在する障害物を特定できない場合には、前記距離画像における第２点群データから前記第１点群データを除外し、推定した前記第３点群データを前記第１点群データが除かれた空間領域に補完する処理を行わない、請求項１に記載の動作軌道生成装置。
【請求項４】
対象物を把持するための把持アームの動作軌道の計画を、被写体の表面上における複数の点の座標データである点群データを含む距離画像を取得する距離画像センサを用いて生成する動作軌道生成方法であって、
前記距離画像センサにより取得された前記対象物の周辺における距離画像から前記対象物に対応する第１点群データを特定するステップと、
前記距離画像において、前記対象物の周辺の点群データである第２点群データから前記第１点群データを除外するステップと、
前記第１点群データと前記第１点群データが除かれた後の前記第２点群データの少なくとも一方を用いて、前記距離画像における、前記第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定し、推定した前記第３点群データを前記第１点群データが除かれた空間領域に補完するステップと、
前記把持アームと前記対象物のそれぞれが、前記第２点群データ及び前記第３点群データと干渉しないように前記動作軌道の計画を生成するステップと、を含む、動作軌道生成方法。
【請求項５】
対象物を把持するための把持アームの動作軌道の計画を、被写体の表面上における複数の点の座標データである点群データを含む距離画像を取得する距離画像センサを用いて生成する処理手順をコンピュータに実行させるためのプログラムであって、
前記距離画像センサにより取得された前記対象物の周辺における距離画像から前記対象物に対応する第１点群データを特定する処理手順と、
前記距離画像において、前記対象物の周辺の点群データである第２点群データから前記第１点群データを除外する処理手順と、
前記第１点群データと前記第１点群データが除かれた後の前記第２点群データの少なくとも一方を用いて、前記距離画像における、前記第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定し、推定した前記第３点群データを前記第１点群データが除かれた空間領域に補完する処理手順と、
前記把持アームと前記対象物のそれぞれが、前記第２点群データ及び前記第３点群データと干渉しないように前記動作軌道の計画を生成する処理手順と、を含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、把持アームの動作軌道生成装置に関する。
【背景技術】
【０００２】
把持アームの動作軌道の計画を生成するにあたって、把持対象物の周辺にある障害物と把持アームとの干渉の有無を判定する動作軌道生成装置が知られている。特許文献１には、距離画像センサにより把持対象物を含む作業環境を計測した距離画像の中から、特定された把持対象物の領域を除き、把持対象物の領域を除いた領域と把持アームとの干渉判定を行う動作軌道生成装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−００９３１４号公報
【特許文献２】特許第５７２４９１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の動作軌道生成装置では、把持対象物の領域を除いた領域において、仮に、把持対象物の周辺の障害物が把持対象物の背景の空間領域にまで連続していたとしても、当該空間領域には障害物が何も存在していないとして扱われる。このため、生成した動作軌道の計画に基づいて実際に把持アームを動かすと、把持アームと把持対象物の少なくとも一方が、把持対象物の背後の障害物にぶつかってしまう場合があった。
【０００５】
本発明は、以上の背景に鑑みなされたものであり、把持アームを生成した動作軌道に従って動作させたときに、把持アームと把持対象物のそれぞれが、把持対象物の周辺の障害物と干渉するおそれをより低減することができる動作軌道生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、対象物を把持するための把持アームと、被写体の表面上における複数の点の座標データである点群データを含む距離画像を取得する距離画像センサと、前記把持アームの動作軌道の計画を生成するための演算処理を行う演算処理部と、を備える、前記把持アームの動作軌道生成装置であって、前記演算処理部は、前記距離画像センサにより取得された前記対象物の周辺における距離画像から前記対象物に対応する第１点群データを抽出することによって前記対象物を特定し、前記距離画像において、前記対象物の周辺の点群データである第２点群データから前記第１点群データを除外し、前記第１点群データと前記第１点群データが除かれた後の前記第２点群データの少なくとも一方を用いて、前記距離画像における、前記第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定し、前記第３点群データを前記第１点群データが除かれた空間領域に補完し、前記把持アームと前記対象物のそれぞれが、前記第１点群データを除外した後の前記第２点群データ、及び、前記第３点群データと干渉しないように前記動作軌道の計画を生成するものである。
【０００７】
距離画像において、把持対象物に対応する第１点群データが除かれた後の第２点群データを用いて、第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定し、推定した第３点群データを当該空間領域に補完する。このようにすると、動作軌道の計画の生成にあたって、第１点群データが除かれた空間領域に障害物がある場合に、当該障害物があることが考慮される。これにより、生成した動作軌道の計画に従って、把持アームを実際に動作させた場合に、把持アームと把持対象物のそれぞれが、障害物と干渉するおそれを低減することができる。
【０００８】
さらに、前記演算処理部は、前記第１点群データが除かれた後の前記第２点群データより前記対象物の周辺に存在する面を特定し、前記対象物の周辺に存在する面を前記第１点群データが除かれた空間領域まで延長し、延長された当該面のうち前記第１点群データが除かれた空間領域にある部分に対応する点群データを前記第３点群データと推定するものである。
対象物の周辺に存在する面は、第１点群データが除かれた後の第２点群データより容易に特定できる。この特定した面を、第１点群データが除かれた空間領域まで延長したときに、延長された当該面のうち第１点群データが除かれた空間領域にある部分に対応する点群データは容易に算出することができる。すなわち、延長された当該面のうち第１点群データが除かれた空間領域にある部分に対応する点群データを第３点群データと推定することで、複雑な計算を行うことなく、第１点群データが除かれた空間領域に存在する障害物を補完することができる。
【０００９】
さらに、前記演算処理部は、前記距離画像における前記第２点群データから水平方向に対して角度を持つ方向に延在する障害物を特定できるか否か判定し、前記角度を持つ方向に延在する障害物を特定できない場合には、前記距離画像における第２点群データから前記第１点群データを除外し、推定した前記第３点群データを前記第１点群データが除かれた空間領域に補完する処理を行わない。
このようにすることで、無駄な処理に要する計算時間を排除することができるので、把持アームが動作する軌道を生成するための演算処理をより円滑に行うことができる。
【００１０】
本発明は、対象物を把持するための把持アームの動作軌道の計画を、被写体の表面上における複数の点の座標データである点群データを含む距離画像を取得する距離画像センサを用いて生成する動作軌道生成方法であって、前記距離画像センサにより取得された前記対象物の周辺における距離画像から前記対象物に対応する第１点群データを特定するステップと、前記距離画像において、前記対象物の周辺の点群データである第２点群データから前記第１点群データを除外するステップと、前記第１点群データと前記第１点群データが除かれた後の前記第２点群データの少なくとも一方を用いて、前記距離画像における、前記第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定し、推定した前記第３点群データを前記第１点群データが除かれた空間領域に補完するステップと、前記把持アームと前記対象物のそれぞれが、前記第２点群データ及び前記第３点群データと干渉しないように前記動作軌道の計画を生成するステップと、を含むものである。これにより、動作軌道の計画の生成にあたって、把持アームと把持対象物のそれぞれが、把持対象物の周辺の障害物と干渉するおそれをより低減することができる。
【００１１】
本発明は、対象物を把持するための把持アームの動作軌道の計画を、被写体の表面上における複数の点の座標データである点群データを含む距離画像を取得する距離画像センサを用いて生成する処理手順をコンピュータに実行させるためのプログラムであって、前記距離画像センサにより取得された前記対象物の周辺における距離画像から前記対象物に対応する第１点群データを特定する処理手順と、前記距離画像において、前記対象物の周辺の点群データである第２点群データから前記第１点群データを除外する処理手順と、前記第１点群データと前記第１点群データが除かれた後の前記第２点群データの少なくとも一方を用いて、前記距離画像における、前記第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定し、推定した前記第３点群データを前記第１点群データが除かれた空間領域に補完する処理手順と、前記把持アームと前記対象物のそれぞれが、前記第２点群データ及び前記第３点群データと干渉しないように前記動作軌道の計画を生成する処理手順と、を含むものである。これにより、動作軌道の計画の生成にあたって、把持アームと把持対象物のそれぞれが、把持対象物の周辺の障害物と干渉するおそれをより低減することができる。
【発明の効果】
【００１２】
本発明によれば、把持アームを生成した動作軌道に従って動作させたときに、把持アームと把持対象物のそれぞれが、把持対象物の周辺の障害物と干渉するおそれをより低減することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態にかかる動作軌道生成装置としての移動ロボットの外観斜視図である。
【図２】本実施形態にかかる動作軌道生成装置としての移動ロボットの制御ブロック図である。
【図３】本実施形態にかかる動作軌道生成装置としての移動ロボットにおける、把持アームが動作する軌道を生成するための演算処理の流れを示すフローチャートである。
【図４】把持アームが動作する軌道を生成するための演算処理において、第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定する方法について説明する模式図である。
【図５】比較例にかかる動作軌道生成装置における、把持アームが動作する軌道を生成する方法の問題点について説明する模式図である。
【図６】本実施の形態にかかる動作軌道生成装置としての移動ロボットにおける、把持アームが動作する軌道を生成する方法について説明する模式図である。
【図７】変形例１にかかる、把持アームが動作する軌道を生成するための演算処理の流れを示すフローチャートである。
【図８】変形例２にかかる、把持対象物に対応する第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定する方法について説明する模式図である。
【図９】変形例３にかかる、把持対象物に対応する第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定する方法について説明する模式図である。
【発明を実施するための形態】
【００１４】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
【００１５】
図１は、本実施形態にかかる動作軌道生成装置としての移動ロボット１００の外観斜視図である。図１に示すように、移動ロボット１００は、把持アーム１５０と、距離画像センサ１４０と、コントロールユニット１９０と、を備えている。また、移動ロボット１００は、移動機構が取り付けられた台車ベース１１０と、距離画像センサ１４０が取り付けられた上体ベース１２０と、をさらに備える。
【００１６】
把持アーム１５０は、主に、複数のアームとハンドから構成される。アームの一端は、上体ベース１２０に軸支されている。アームの他端は、ハンドを軸支している。把持アーム１５０は、不図示のアクチュエータによって駆動されると、搬送物を把持するなど、与えられたタスクに応じた把持動作を実行する。
【００１７】
距離画像センサ１４０は、上体ベース１２０の前方に配置されている。距離画像センサ１４０は、被写体の表面上における複数の点の座標データである点群データを含む距離画像を取得する。具体的には、距離画像センサ１４０は、パターン光を対象空間に照射する照射ユニットを含み、その反射光を撮像素子で受光して、画像におけるパターンの歪みや大きさから各ピクセルが捉えた被写体の表面上における点の座標データを取得する。なお、対象空間を撮像して、ピクセルごとに被写体までの距離を取得するものであれば距離画像センサ１４０として採用し得る。
【００１８】
台車ベース１１０は、移動機構として２つの駆動輪１１２と１つのキャスター１１３を備える。２つの駆動輪１１２は、台車ベース１１０の対向する側方のそれぞれに、回転軸芯が一致するように配設されている。それぞれの駆動輪１１２は、不図示のモータによって独立して回転駆動される。キャスター１１３は、従動輪であり、台車ベース１１０から鉛直方向に延びる旋回軸が車輪の回転軸から離れて車輪を軸支するように設けられており、台車ベース１１０の移動方向に倣うように追従する。移動ロボット１００は、例えば、２つの駆動輪１１２が同じ方向に同じ回転速度で回転されれば直進し、逆方向に同じ回転速度で回転されれば重心を通る鉛直軸周りに旋回する。
【００１９】
台車ベース１１０には、コントロールユニット１９０が設けられている。コントロールユニット１９０は、後述する演算処理部とメモリ等を含む。
【００２０】
上体ベース１２０は、台車ベース１１０に対して鉛直軸周りに旋回可能なように、台車ベース１１０に支持されている。上体ベース１２０は、不図示のモータによって旋回され、台車ベース１１０の進行方向に対して所定の方向を向くことができる。
【００２１】
コントロールユニット１９０に含まれる演算処理部は、把持アーム１５０が動作する軌道を生成するための演算処理を行う。把持アーム１５０が動作する軌道を生成するための演算処理の詳細については後述する。
【００２２】
図２は、移動ロボット１００の制御ブロック図である。コントロールユニット１９０（図１参照）に含まれる演算処理部２００は、例えばＣＰＵであり、把持対象分離部２０１と、欠損補完部２０２と、干渉判定部２０３と、動作計画部２０４と、動作制御部２０５と、を備えている。
【００２３】
把持対象分離部２０１は、距離画像の中から、把持対象物の領域とそれ以外の領域を分離し、把持対象物以外の領域を抽出する。欠損補完部２０２は、距離画像において、把持対象物に対応する第１点群データが除かれた空間領域を補完する。
【００２４】
干渉判定部２０３は、生成された動作軌道の計画に従ってアームユニット２２０に含まれる把持アーム１５０を動作させた際に、把持アーム１５０と把持対象物のそれぞれが、周辺の障害物と干渉するか否かを判定する。動作計画部２０４は、把持アーム１５０が把持対象物を把持してから取り出すまでの動作軌道の計画を生成する。動作制御部２０５は、把持アーム１５０が動作軌道の計画に従って動作するように把持アーム１５０を駆動するアクチュエータを制御する。
【００２５】
アームユニット２２０は、把持アーム１５０の他に、把持アーム１５０を駆動するための駆動回路とアクチュエータ、アクチュエータの動作量を検出するエンコーダ等を含む。演算処理部２００の動作制御部２０５は、アームユニット２２０へ駆動信号を送ることにより、アクチュエータを動作させ、把持アーム１５０の姿勢制御や把持制御を実行する。また、エンコーダの検出信号を受け取ることにより、把持アーム１５０の稼働速度、稼働距離、姿勢等を演算する。
【００２６】
演算処理部２００は、さらに、駆動輪ユニット２１０、旋回ユニット２３０、メモリ２４０、距離画像センサ１４０等との間で指令やサンプリングデータ等の情報を授受することにより、移動ロボット１００の制御に関わる様々な演算を実行してもよい。
【００２７】
ここで、駆動輪ユニット２１０は、台車ベース１１０に設けられており、駆動輪１１２を駆動するための駆動回路とモータ、モータの回転量を検出するエンコーダ等を含み、自律移動するための移動機構として機能する。旋回ユニット２３０は、台車ベース１１０と上体ベース１２０に跨いで設けられており、上体ベース１２０を旋回させるための駆動回路とモータ、モータの回転量を検出するエンコーダ等を含む。メモリ２４０は、不揮発性の記憶媒体である。メモリ２４０は、移動ロボット１００を制御するための制御プログラム、制御に用いられる様々なパラメータ値、関数、ルックアップテーブル等を記憶している。
【００２８】
演算処理部２００の動作制御部２０５は、駆動輪ユニット２１０へ駆動信号を送ることにより、駆動輪ユニット２１０におけるモータの回転制御を実行してもよい。また、動作制御部２０５は、エンコーダの検出信号を受け取ることにより、移動ロボット１００の移動速度、移動距離、旋回角等を演算してもよい。動作制御部２０５は、移動ロボット１００の移動速度、移動距離、旋回角等を演算した後、旋回ユニット２３０に駆動信号を送ることにより、旋回ユニット２３０におけるモータを動作させ、例えば距離画像センサ１４０を特定の方向へ向けることができる。
【００２９】
次に、把持アーム１５０が動作する軌道を生成するための演算処理について詳細に説明する。
図３は、把持アーム１５０が動作する軌道を生成するための演算処理の流れを示すフローチャートである。図３に示すように、まず、距離画像センサ１４０により、把持対象物の周辺における距離画像を取得する（ステップＳ１）。すなわち、距離画像センサ１４０は、演算処理部２００から制御信号を受け取ると、把持対象物の周辺における距離画像を取得し、当該距離画像を演算処理部２００に返す。
【００３０】
続いて、演算処理部２００の把持対象分離部２０１では、距離画像センサ１４０により取得された対象物の周辺における距離画像から対象物に対応する第１点群データを抽出することによって把持対象物を特定する（ステップＳ２）。
【００３１】
さらに、把持対象分離部２０１では、距離画像において、対象物の周辺の点群データである第２点群データから第１点群データを除外する（ステップＳ３）。つまり、距離画像データにおける把持対象物の領域と把持対象物以外の領域とを分離し、把持対象物の領域を除外した距離画像データを生成する。
【００３２】
続いて、演算処理部２００の欠損補完部２０２では、第１点群データが除かれた後の第２点群データを用いて、距離画像における、第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定する（ステップＳ４）。つまり、欠損補完部２０２では、把持対象物の形状と距離画像データにおける把持対象物以外の領域の障害物の形状の少なくとも一方に基づいて、把持対象物を除外した空間領域に存在する障害物の形状を推定する。
【００３３】
さらに、欠損補完部２０２では、推定した第３点群データを第１点群データが除かれた空間領域に補完する（ステップＳ５）。つまり、欠損補完部２０２では、距離画像において、当該推定した障害物が当該空間領域に存在するように当該空間領域を補完する。
【００３４】
ステップＳ５に続く処理（ステップＳ６〜ステップＳ９）では、把持アーム１５０と把持対象物のそれぞれが、第１点群データを除外した後の第２点群データ、及び、第３点群データと干渉しないように把持アーム１５０の動作軌道を生成する。
【００３５】
まず、動作計画部２０４では、把持アーム１５０の動作軌道の計画を生成し、生成した動作軌道の計画を干渉判定部２０３に出力する（ステップＳ６）。なお、動作軌道の計画を生成する方法は、特許文献２などに記載の既知の方法を用いることができる。さらに、干渉判定部２０３では、補完された距離画像を用いて、生成された動作軌道の計画に従って把持アーム１５０を動作させた際に、把持アーム１５０と把持対象物の少なくとも一方と、第１点群データを除外した後の第２点群データ、及び、第３点群データと、が干渉するか否かを判定する（ステップＳ７）。
【００３６】
ステップＳ７において、干渉が発生すると判定された場合（ＹＥＳの場合）、動作計画部２０４では、干渉が発生した箇所の情報を考慮して、把持アーム１５０の動作軌道の計画を再度生成し、生成した動作軌道の計画を干渉判定部２０３に出力する（ステップＳ８）。ステップＳ８の後、再度、ステップＳ７に処理を戻す。
【００３７】
ステップＳ７において、干渉が発生しないと判定された場合（ＮＯの場合）、動作制御部２０５が、把持アーム１５０が生成した動作軌道の計画に従って動作するよう制御する（ステップＳ９）。すなわち、動作制御部２０５が、把持アーム１５０のアクチュエータに対して、生成した動作軌道の計画に従って動作するように制御信号を送る。
【００３８】
次に、図３のステップＳ５における、把持対象物に対応する第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定する方法について説明する。
図４は、把持対象物に対応する第１点群データＤ１が除かれた空間領域Ｓ１に存在する障害物に対応する点群データである第３点群データＤ３を推定する方法について説明する模式図である。まず、図４の上段に示すように、把持対象分離部２０１（図２参照）が、距離画像Ｇ１における、把持対象物の周辺の第２点群データから第１点群データＤ１を除く。次に、図４の中段に示すように、欠損補完部２０２（図２参照）が、第１点群データＤ１が除かれた後の第２点群データＤ２より、対象物の周辺に存在する面Ｐ１、Ｐ２を特定する。次に、欠損補完部２０２（図２参照）が、対象物の周辺に存在する面Ｐ１、Ｐ２を第１点群データＤ１が除かれた空間領域Ｓ１まで延長し、延長された当該面のうち第１点群データが除かれた空間領域にある部分に対応する点群データを第３点群データＤ３と推定する。そして、欠損補完部２０２（図２参照）が、第１点群データが除かれた空間領域Ｓ１に、推定した第３点群データＤ３を補完する（図４の下段参照）。このようにすることで、複雑な計算を行うことなく、第１点群データＤ１が除かれた空間領域Ｓ１に存在する障害物を補完することができる。
【００３９】
次に、本実施の形態にかかる動作軌道生成装置としての移動ロボット１００における、把持アーム１５０が動作する軌道を生成する方法の効果について説明する。
【００４０】
まず、図５を参照して、比較例にかかる動作軌道生成装置における、把持アーム１５０が動作する軌道を生成する方法の場合に生じうる問題点について説明する。図５は、比較例にかかる動作軌道生成装置における、把持アーム１５０が動作する軌道を生成する方法の問題点について説明する模式図である。
【００４１】
図５の上段左側に示すように、まず、距離画像センサ１４０により、把持対象物の周辺における距離画像を取得する。そして、図５の上段右側に示すように、距離画像データにおける把持対象物８０の領域と把持対象物８０以外の障害物９０の領域とを分離し、把持対象物８０の領域を除外した距離画像データを生成する。
【００４２】
このとき、距離画像において、把持対象物８０を除外した空間領域は補完されないので、図５の上段右側の障害物９０における部分９０ａは、干渉判定部２０３で“穴”と認識される。つまり、動作計画部２０４が生成した動作軌道の計画において、部分９０ａの位置を把持対象物８０が通過する軌道があっても、干渉判定部２０３では干渉はないと判定されてしまう。
【００４３】
このため、図５の下段左側に示す、把持アーム１５０により把持対象物８０が把持された状態から把持アーム１５０を動作軌道の計画に従って動作させると、図５の下段右側に示すように、把持対象物８０と障害物９０における部分９０ａが干渉するおそれがある。
【００４４】
図６は、本実施の形態にかかる動作軌道生成装置としての移動ロボット１００における、把持アーム１５０が動作する軌道を生成する方法について説明する模式図である。図６の上段左側に示すように、まず、距離画像センサ１４０により、把持対象物の周辺における距離画像を取得する。そして、図６の上段右側に示すように、距離画像データにおける把持対象物８０の領域と把持対象物８０以外の障害物９０の領域とを分離し、把持対象物８０の領域を除外した距離画像データを生成する。
【００４５】
距離画像において、把持対象物８０の領域が除外された後、図６の中段左側に示すように、把持対象物８０を除外した空間領域は欠損補完部２０２によって補完される。このため、障害物９０における部分９０ａは、干渉判定部２０３で“障害物”と認識される。つまり、動作計画部２０４が生成した動作軌道の計画において、部分９０ａの位置を把持対象物８０が通過する軌道があった場合、干渉判定部２０３では干渉が生じていると判定する。
【００４６】
これにより、図６の中段左側に示す、把持アーム１５０により把持対象物８０が把持された状態から、把持アーム１５０を動作軌道の計画に従って動作させた場合、図６の下段左側及び下段右側に示すように、把持アーム１５０と把持対象物８０のそれぞれが、障害物９０における部分９０ａと干渉することはない。
【００４７】
以上より、本実施の形態にかかる動作軌道生成装置としての移動ロボット１００によれば、把持アームを生成した動作軌道に従って動作させたときに、把持アームと把持対象物のそれぞれが、把持対象物の周辺の障害物と干渉するおそれをより低減することができる。
【００４８】
［変形例１］
把持アーム１５０が動作する軌道を生成するための演算処理の変形例１について説明する。
【００４９】
距離画像における、第１点群データが除かれた後の第２点群データから水平方向に対して角度を持つ方向に延在する障害物を特定できない場合、把持対象物の周辺には、把持アーム１５０と干渉するおそれのある障害物は存在しないことになる。このような場合、推定した第３点群データを第１点群データが除かれた空間領域に補完する処理を行う必要はない。なお、上述したように、第１点群データは把持対象物に対応する点群データであり、第２点群データは対象物の周辺の点群データである。
【００５０】
図７は、変形例１にかかる、把持アーム１５０が動作する軌道を生成するための演算処理の流れを示すフローチャートである。図７に示すように、変形例１にかかる演算処理では、図３に示すフローチャートに、推定した第３点群データを第１点群データが除かれた空間領域に補完する処理の要否判断が追加されている。すなわち、ステップＳ３とステップＳ４の間に、当該要否判断を行うステップＳ３−２が追加されている。
【００５１】
ステップＳ３−２では、演算処理部２００における把持対象分離部２０１は、距離画像における第２点群データから水平方向に対して角度を持つ方向に延在する障害物を特定できるか否か判定する。ステップＳ３−２において、水平方向に対して角度を持つ方向に延在する障害物を特定できる場合（ＹＥＳの場合）には、処理をステップＳ４に進める。ステップＳ３−２において、水平方向に対して角度を持つ方向に延在する障害物を特定できない場合（ＮＯの場合）には、ステップＳ４〜ステップＳ５の処理は行わずに、処理をステップＳ６に進める。
【００５２】
このようにすることで、無駄な処理に要する計算時間を排除することができるので、把持アーム１５０が動作する軌道を生成するための演算処理をより円滑に行うことができる。
【００５３】
ところで、工場や家庭内に配置されている人工物は、一般的に、水平方向の面と鉛直方向の面から構成されるものが多い。このため、把持対象物の周辺に存在する障害物として、水平方向の面と鉛直方向の面から構成される人工物しかないことが予め分かっている場合は、図７のステップＳ３−２における処理をより単純化することができる。すなわち、図７のステップＳ３−２において、演算処理部２００における把持対象分離部２０１は、距離画像における第２点群データから鉛直方向に延在する障害物を特定できるか否か判定する。なお、把持対象分離部２０１は、鉛直方向に近い角度（例えば鉛直方向に対して±５°）を鉛直方向であると認識するものとする。このようにすると、把持対象分離部２０１は、距離画像における第２点群データから水平方向に対して角度を持つ方向に延在する障害物を特定できるか否かを判定する場合に比べ、処理がより単純になり、計算時間をより短縮できる。
【００５４】
［変形例２］
把持対象物に対応する第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定する方法の変形例２について説明する。把持対象物の形状が既知である場合には、図４で説明した方法とは別の、変形例２にかかる方法で把持対象物に対応する第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定することができる。
【００５５】
図８は、変形例２にかかる、把持対象物に対応する第１点群データＤ２１が除かれた空間領域Ｓ２に存在する障害物に対応する点群データである第３点群データＤ２３を推定する方法について説明する模式図である。ここで、第２点群データＤ２２は、対象物の周辺の点群データである第２点群データから第１点群データＤ２１が除かれた後の点群データである。
【００５６】
まず、図８の上段に示すように、把持対象分離部２０１（図２参照）が、距離画像Ｇ２における、把持対象物の周辺の第２点群データから第１点群データＤ２１を除く。次に、図８の中段に示すように、欠損補完部２０２（図２参照）が、把持対象物に対応する第１点群データＤ２１における、距離画像センサ１４０（図１参照）から死角となる部分に存在する面Ｐ３を抽出する。この抽出した面Ｐ３に対応する点群を、第１点群データＤ２１が除かれた空間領域Ｓ２に存在する障害物に対応する点群データである第３点群データＤ２３と推定する。そして、欠損補完部２０２（図２参照）が、図８の中段に示す第１点群データが除かれた空間領域Ｓ２に、図８の下段に示すように、推定した第３点群データＤ２３を補完する。このようにすることで、複雑な計算を行うことなく、第１点群データが除かれた空間領域に存在する障害物を補完することができる。
【００５７】
［変形例３］
把持対象物に対応する第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定する方法の変形例３について説明する。把持対象物の形状が既知である場合に、変形例２で説明した方法とは別の、変形例３にかかる方法で把持対象物に対応する第１点群データが除かれた空間領域に存在する障害物に対応する点群データである第３点群データを推定することもできる。
【００５８】
図９は、変形例３にかかる、把持対象物に対応する第１点群データＤ３１が除かれた空間領域Ｓ３に存在する障害物に対応する点群データである第３点群データＤ３３を推定する方法について説明する模式図である。ここで、第２点群データＤ３２は、対象物の周辺の点群データである第２点群データから第１点群データＤ３１が除かれた後の点群データである。
【００５９】
まず、図９の上段に示すように、把持対象分離部２０１（図２参照）が、距離画像Ｇ３における、把持対象物の周辺の第２点群データから第１点群データＤ３１を除く。次に、図９の中段に示すように、欠損補完部２０２（図２参照）が、第１点群データＤ３１より、距離画像センサ１４０（図１参照）から死角となる部分の平面Ｐ４、Ｐ５、Ｐ６を抽出する。そして、第１点群データＤ３１を除いた第２点群データＤ３２より、把持対象物の面Ｐ４、Ｐ５、Ｐ６と平行である面Ｐ７、Ｐ８を抽出する。なお、第１点群データＤ３１を除いた第２点群データＤ３２において、把持対象物の面Ｐ４と平行な面が面Ｐ７であり、把持対象物の面Ｐ５と平行な面が面Ｐ８であり、把持対象物の面Ｐ６と平行な面は存在しない。
【００６０】
次に、欠損補完部２０２（図２参照）が、対象物の周辺に存在する面Ｐ７、Ｐ８を第１点群データＤ３１が除かれた空間領域Ｓ３まで延長し、延長された面Ｐ７、Ｐ８のうち空間領域Ｓ３にある部分に対応する点群データを第３点群データＤ３３と推定する。そして、図９の下段に示すように、第１点群データが除かれた空間領域Ｓ３に、推定した第３点群データＤ３３を補完する。このようにすることで、複雑な計算を行うことなく、第１点群データＤ３１が除かれた空間領域に存在する障害物を補完することができる。
【００６１】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。上記実施の形態では、動作軌道生成装置が移動ロボット１００である構成について説明したがこれに限るものではない。動作軌道生成装置は、少なくとも、把持アーム１５０と、距離画像センサ１４０と、コントロールユニット１９０に含まれる演算処理部２００と、を備える構成であればその他の構成であってもよい。
【００６２】
上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、各処理を、ＣＰＵにコンピュータプログラムを実行させることにより実現することも可能である。
【００６３】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（Ｎｏｎ−Ｔｒａｎｓｉｔｏｒｙ  Ｃｏｍｐｕｔｅｒ  Ｒｅａｄａｂｌe  Ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（Ｔａｎｇｉｂｌｅ  Ｓｔｏｒａｇｅ  Ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（Ｔｒａｎｓｉｔｏｒｙ  Ｃｏｍｐｕｔｅｒ  Ｒｅａｄａｂｌｅ  Ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００６４】
１００  移動ロボット
１１０  台車ベース
１１２  駆動輪
１１３  キャスター
１２０  上体ベース
１４０  距離画像センサ
１５０  把持アーム
１９０  コントロールユニット
２００  演算処理部
２０１  把持対象分離部
２０２  欠損補完部
２０３  干渉判定部
２０４  動作計画部
２０５  動作制御部
２１０  駆動輪ユニット
２２０  アームユニット
２３０  旋回ユニット
２４０  メモリ
【図１】
2019126866.tif 000003
【図２】
2019126866.tif 000004
【図３】
2019126866.tif 000005
【図４】
2019126866.tif 000006
【図５】
2019126866.tif 000007
【図６】
2019126866.tif 000008
【図７】
2019126866.tif 000009
【図８】
2019126866.tif 000010
【図９】
2019126866.tif 000011