(57)【要約】【課題】把持対象物の把持位置を適切に認識し把持の成功率を高めることができるとともに、把持に要する時間を短縮することができる。【解決手段】マニピュレータを有するロボットは、把持対象物を含む環境空間の撮像を取得する撮像取得部と、ロボットにおける動作を制御する制御部と、を備え、制御部は、把持対象物に接近するようにロボットを移動させながら撮像取得部により把持対象物の情報を複数取得させ、当該情報のそれぞれについて学習済みモデルを用いて把持対象物の把持位置及び当該把持位置の確からしさの指標を計算し、マニピュレータを動作させて当該計算の結果に基づいて選択された把持位置において把持対象物の把持を試みるものである。【選択図】図１
2020093366.tif 000002
【特許請求の範囲】
【請求項１】
マニピュレータを有するロボットであって、
把持対象物を含む環境空間の撮像画像を取得する撮像取得部と、
前記ロボットにおける動作を制御する制御部と、を備え、
前記制御部は、
前記把持対象物に接近するように前記ロボットを移動させながら前記撮像取得部により前記把持対象物の撮像画像を複数取得させ、前記撮像画像より得られた情報について学習済みモデルを用いて前記把持対象物の把持位置及び当該把持位置の確からしさの指標を計算し、前記マニピュレータを動作させて当該計算の結果に基づいて選択された把持位置において前記把持対象物の把持を試みる、ロボット。
【請求項２】
前記制御部は、前記指標が相対的に高いものに対応する把持位置を優先的に選択し、当該把持位置において前記把持対象物の把持を試みる、請求項１に記載のロボット。
【請求項３】
前記制御部は、前記指標が所定の閾値よりも高いものが得られた時点で前記マニピュレータを動作させて前記把持対象物の把持を試みる、請求項１に記載のロボット。
【請求項４】
前記撮像取得部は前記マニピュレータによって前記把持対象物の視覚情報が遮られない位置に設置される、請求項１に記載のロボット。
【請求項５】
前記撮像取得部は前記マニピュレータの先端部に設置される、請求項４に記載のロボット。
【請求項６】
前記情報は、前記撮像取得部が複数取得した前記把持対象物の撮像画像を合成して作成した３Ｄ画像の画像データである、請求項１に記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、把持対象物を把持するマニピュレータを有するロボットに関する。
【背景技術】
【０００２】
把持対象物を把持するためのマニピュレータを有する移動可能なロボットが知られている。特許文献１には、把持対象物に接近したところでロボットを停止させ、視覚センサにより把持対象物の情報を取得し、認識器において当該情報を用いて把持対象物の認識を行い、軌道制御器において当該認識結果に基づいて把持計画を作成することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１９８９４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術のように、ロボットを停止させて把持対象物の情報を取得する場合、把持対象物の情報が一方向の視野からしか得られないので、把持対象物の把持位置を適切に認識できない場合がある。このため、把持の成功率があまり良くないという問題があった。また、把持対象物の情報の取得のためにロボットの移動を止めていたので把持に要する時間が余分にかかっていた。
【０００５】
本発明は、以上の背景に鑑みなされたものであり、把持対象物の把持位置を適切に認識し把持の成功率を高めることができるとともに、把持に要する時間を短縮することができるロボットを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明にかかるロボットは、マニピュレータを有するロボットであって、前記把持対象物を含む環境空間の撮像画像を取得する撮像取得部と、前記ロボットにおける動作を制御する制御部と、を備え、前記制御部は、前記把持対象物に接近するように前記ロボットを移動させながら前記撮像取得部により前記把持対象物の撮像画像を複数取得させ、前記撮像画像より得られた情報について学習済みモデルを用いて前記把持対象物の把持位置及び当該把持位置の確からしさの指標を計算し、前記マニピュレータを動作させて当該計算の結果に基づいて選択された把持位置において前記把持対象物の把持を試みるものである。
【０００７】
把持対象物の情報を一方向のみから取得する場合、把持対象物における見ることのできなかった箇所により望ましい把持位置が存在する可能性がある。ロボットを移動させながら把持対象物の情報を複数取得すると、把持対象物の情報を異なる方向から取得することができる。このため、把持対象物の情報を一方向のみから取得する場合に対し、把持対象物における見ることのできなかった箇所をより少なくすることができるので、把持対象物の把持位置を適切に認識することができる。そして、これらの把持対象物の情報から学習済モデルを用いて把持位置と尤度を計算し、当該計算の結果に基づいて把持位置を選択することで、より望ましいと推定される把持位置を割り出すことが可能になり、把持の成功率を高めることができる。さらに、把持対象物に接近させるようにロボットを移動させている間に把持対象物の情報を取得するので、把持対象物に接近させた後にロボットを停止させて把持対象物の情報を取得する場合と比べて、把持対象物の把持に要する時間を短縮することができる。
【０００８】
また、前記制御部は、前記指標が相対的に高いものに対応する把持位置を優先的に選択し、当該把持位置において前記把持対象物の把持を試みるようにしてもよい。このように、尤度が相対的に高いものに対応する把持位置を優先的に選択することで、より望ましいと推定される把持位置を割り出すことが可能になり、把持の成功率を高めることができる。
【０００９】
さらに、前記制御部は、前記指標が所定の閾値よりも高いものが得られた時点で前記マニピュレータを動作させて前記把持対象物の把持を試みるようにしてもよい。このように尤度が所定の閾値より高いものが得られた時点で把持対象物の情報の取得を打ち切り、把持を試みるようにすることで、把持に要する時間をより短縮することができる。
【００１０】
さらに、前記撮像取得部は、前記マニピュレータによって前記把持対象物の視覚情報が遮られない位置に設置されるのが好ましい。このようにすると、撮像取得部により取得された把持対象物の情報において、把持対象物の把持位置が認識できないリスクを低減することができる。
【００１１】
さらに、前記撮像取得部は前記マニピュレータの先端部に設置されるのが好ましい。ロボットにおいて、マニピュレータの先端部は把持対象物に最も近接させることができる。このため、撮像取得部をマニピュレータの先端部に設置すると、把持対象物の情報をより精度良く取得することができる。
【００１２】
さらに、前記情報は、前記撮像取得部が複数取得した前記把持対象物の撮像画像を合成して作成した３Ｄ画像の画像データであってもよい。
【発明の効果】
【００１３】
本発明によれば、把持対象物の把持位置を適切に認識し把持の成功率を高めることができるとともに、把持に要する時間を短縮することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係る制御装置を適用するロボットの外観斜視図である。
【図２】ロボットの制御構成を示すブロック図である。
【図３】制御装置において、ロボットが把持対象物の把持を行う動作を制御する処理の流れについて説明するフローチャートである。
【図４】学習前のニューラルネットワークを学習させる方法について教師あり学習を例に説明する模式図である。
【図５】図３のステップＳ１０１の処理について、より具体的に説明する模式図である。
【図６】ロボットが把持対象物を把持することが可能な範囲内に接近した状態で把持対象物の情報を取得する例について示す模式図である。
【図７】制御部において、ロボットが把持対象物の把持を行う動作を制御する処理の流れの変形例１について説明するフローチャートである。
【発明を実施するための形態】
【００１５】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１６】
まず、本実施形態に係る制御装置を適用するロボットの構成について説明する。
図１は、本実施形態に係る制御装置を適用するロボット１００の外観斜視図である。図において、ｘｙ平面はロボット１００の走行面であり、ｚ軸プラス方向は天頂方向を示す。図１に示すように、ロボット１００は、大きく分けて、走行面を移動するための移動機構としての台車部１１０と、本体部１２０と、把持機構としてのマニピュレータ２３０と、によって構成される。マニピュレータ２３０は、ロボットアーム１３０及びロボットハンド１４０を含む。
【００１７】
台車部１１０は、円筒形状の筐体内に、それぞれが走行面に接地する２つの駆動輪１１１と１つのキャスター１１２とを支持している。２つの駆動輪１１１は、互いに回転軸芯が一致するように配設されている。それぞれの駆動輪１１１は、不図示のモータによって独立して回転駆動される。キャスター１１２は、従動輪であり、台車部１１０から鉛直方向に延びる旋回軸が車輪の回転軸から離れて車輪を軸支するように設けられており、台車部１１０の移動方向に倣うように追従する。ロボット１００は、例えば、２つの駆動輪１１１が同じ方向に同じ回転速度で回転されれば直進し、逆方向に同じ回転速度で回転されれば台車部１１０の２つの駆動輪１１１の中央を通る鉛直軸周りに旋回する。
【００１８】
本体部１２０は、ロボットアーム１３０を支持すると共に、ユーザインタフェースの一部を成す表示パネル１２３を有する。表示パネル１２３は、例えば液晶パネルであり、キャラクターの顔を表示したり、ロボット１００に関する情報を提示したりする。表示パネル１２３は、表示面にタッチパネルを有し、ユーザからの指示入力を受け付けることができる。
【００１９】
本体部１２０に支持されたロボットアーム１３０は、複数のリンク、例えば図示するように２つのリンクを有し、各リンクを回動可能に連結する関節部１３１（手首関節、肘関節、肩関節など）に設けられたアクチュエータを駆動させることにより様々な姿勢を取り得る。各関節部１３１には、減速機構が設けられている。ロボットアーム１３０の先端部にはロボットハンド１４０が接続されており、ロボットハンド１４０の全体は、ロボットアーム１３０の先端リンクの伸延方向と平行な旋回軸周りに、アクチュエータの駆動によって旋回し得る。ロボットハンド１４０は、先端部に設けられたアクチュエータによって駆動される第１フィンガー１４０ａと第２フィンガー１４０ｂを備える。第１フィンガー１４０ａと第２フィンガー１４０ｂは、点線矢印で示すようにそれぞれが互いに接近するように動作して、対象物を挟持することにより把持を実現する。また、本体部１２０には、コントロールユニット１９０が設けられている。コントロールユニット１９０は、後述の制御部とメモリ等を含む。
【００２０】
撮像取得部２５０は、把持対象物を含む環境空間の撮像画像を取得する。撮像取得部２５０は、マニピュレータ２３０によって把持対象物の視覚情報が遮られない位置に設置される。なお、撮像取得部２５０は、マニピュレータ２３０の先端部に設置されるのが好ましい。ロボット１００において、マニピュレータ２３０の先端部は把持対象物に最も近接させることができる。このため、撮像取得部２５０をマニピュレータ２３０の先端部に設置すると、把持対象物の情報をより精度良く取得することができる。
【００２１】
撮像取得部２５０は、例えば、本体部１２０におけるロボットアーム１３０及びロボットハンド１４０の動作範囲を含む前方の環境空間を見渡せる位置に配設された環境カメラ１２１と、ロボットアーム１３０の先端部に配設されたハンドカメラ１４１と、を有する。環境カメラ１２１及びハンドカメラ１４１は、例えばＣＭＯＳイメージセンサである撮像素子と画像データ生成部を含む。環境カメラ１２１は、前方の環境空間を撮像して生成した画像データを出力する。ハンドカメラ１４１は、ロボットハンド１４０の前方空間を撮像して生成した画像データを出力する。なお、撮像取得部２５０は、複数のカメラを有している必要はなく、カメラが１つである構成であってもよい。
【００２２】
図２は、ロボット１００の制御構成を示すブロック図である。本実施形態に係る制御部２００は、ロボット１００に組み込まれている。すなわち、制御部２００は、例えばＣＰＵであり、本体部１２０のコントロールユニット１９０（図１参照）に格納されている。駆動ユニット２１０は、駆動輪１１１（図１参照）を駆動するための駆動回路やモータを含み、台車部１１０（図１参照）に設けられている。
【００２３】
マニピュレータ２３０に含まれるロボットアーム１３０は、図１を用いて説明した構造体の他に、各関節部１３１を駆動するアクチュエータ１３２と、各関節部１３１（図１参照）の回転情報を検出する回転センサ１３４と、各関節部１３１の操作力（トルク）を検出する力センサ１３３と、を有する。アクチュエータ１３２は、例えばサーボモータなどである。回転センサ１３４は、例えばエンコーダなどである。力センサ１３３は、例えば、各関節部１３１のトルクを検出するトルクセンサなどである。マニピュレータ２３０に含まれるロボットハンド１４０は、第１フィンガー１４０ａと第２フィンガー１４０ｂ（図１参照）を駆動するアクチュエータ１４２と、ロボットハンド１４０の操作力を検出する力センサ１４３と、を有する。
【００２４】
センサユニット２２０は、移動中に障害物を検出したり、外部からの接触を検出したりする各種センサを含み、台車部１１０及び本体部１２０（図１参照）に分散して配置されている。制御部２００は、センサユニット２２０に制御信号を送ることにより、各種センサを駆動してその出力を取得する。
【００２５】
撮像取得部２５０の環境カメラ１２１は、上述のように、ロボットアーム１３０及びロボットハンド１４０の動作範囲を含む前方の環境空間を観察するために利用され、制御部２００の撮像指示に従って撮像を実行する。環境カメラ１２１は、生成した画像データを制御部２００へ引き渡す。ハンドカメラ１４１は、上述のように、ロボットハンド１４０の前方空間を観察するために利用され、制御部２００の撮像指示に従って撮像を実行する。ハンドカメラ１４１は、生成した画像データを制御部２００へ引き渡す。
【００２６】
メモリ２４０は、不揮発性の記憶媒体であり、例えばソリッドステートドライブが用いられる。メモリ２４０は、ロボット１００を制御するためのロボット制御プログラムの他、制御に用いられる様々なパラメータ値、関数、ルックアップテーブル等を記憶していてもよい。
【００２７】
制御部２００は、ロボット１００の動作を制御する。すなわち、制御部２００は、駆動ユニット２１０へ駆動信号を送ることにより、駆動輪１１１の回転制御を実行する。また、ロボットアーム１３０のアクチュエータ１３２及びロボットハンド１４０のアクチュエータ１４２へ駆動信号を送ることにより、マニピュレータ２３０により把持対象物を把持する動作を制御する。制御部２００における、ロボット１００の動作の制御の詳細については後述する。
【００２８】
制御部２００は、インターネット６００に接続されたシステムサーバ５００より学習済みモデル５００ａを読み出す。制御部２００は、無線ルータ７００を介してインターネット６００と接続されている。ここで、システムサーバ５００を接続するネットワークはインターネットに限らず、イントラネット等他のネットワークであっても構わない。
【００２９】
次に、制御部２００において、ロボット１００が把持対象物の把持を行う動作を制御する処理の流れについて説明する。なお、以下の説明では図１及び図２についても適宜参照する。
【００３０】
図３は、制御部２００において、ロボット１００が把持対象物の把持を行う動作を制御する処理の流れについて説明するフローチャートである。図３に示すように、まず、把持対象物に接近するようにロボット１００を移動させながら、所定の時間が経過するまで、撮像取得部２５０により把持対象物の情報を複数取得させる（ステップＳ１０１）。なお、「ロボット１００を移動させる」ことには、移動機構としての台車部１１０のみを駆動させる場合、把持機構としてのマニピュレータ２３０のみを駆動させる場合、台車部１１０とマニピュレータ２３０の両方を駆動させる場合、のいずれも含まれる。
【００３１】
ステップＳ１０１に続いて、取得した把持対象物の情報のそれぞれについて学習済みモデルを用いて把持対象物の把持位置及び当該把持位置の確からしさの指標である尤度を計算する（ステップＳ１０２）。ここで、学習済みモデルは最尤推定法を用いたものである。最尤推定法では、尤度関数を最大化するパラメータ及びその尤度を計算する。尤度は、取得した把持対象物の情報から計算したパラメータがどの程度確からしいかを示す指標である。ここでは、計算するパラメータは把持位置で、尤度は計算した把持位置がどの程度確からしいかを示す。続いて、ステップＳ１０２の計算の結果より、尤度が最も高いものに対応する把持位置を選択し、マニピュレータ２３０を動作させて、選択した把持位置で把持対象物の把持を試みる（ステップＳ１０３）。
【００３２】
ステップＳ１０３に続いて、把持対象物の把持に成功したか否かを判定する（ステップＳ１０４）。ステップＳ１０４において把持対象物の把持に成功したと判定された場合は、処理を終了する。ステップＳ１０４において把持対象物の把持に成功していないと判定された場合は、ステップＳ１０２の計算により得られた把持位置のうち把持を試みていないものが残っているか否か判定する（ステップＳ１０５）。
【００３３】
ステップＳ１０５において、ステップＳ１０２の計算により得られた把持位置のうち把持対象物の把持を試みていないものが残っていないと判定された場合は処理を終了する。ステップＳ１０５において、ステップＳ１０２の計算により得られた把持位置のうち把持対象物の把持を試みていないものが残っていると判定された場合は、尤度が、前回把持を試みた把持位置の次に高いものに対応する把持位置を選択し、マニピュレータ２３０を動作させて、選択した把持位置で把持対象物の把持を試みる（ステップＳ１０６）。そして、ステップＳ１０４に処理を戻す。このように、制御部２００は、尤度が相対的に高いものに対応する把持位置を優先的に選択し、当該把持位置において把持対象物の把持を試みる。
【００３４】
次に、図３のステップＳ１０２において用いる学習済モデルの学習方法の一例について説明する。ここで、学習済みモデル５００ａ（図２参照）は、例えばニューラルネットワークである。また、上述したように、学習済みモデルは最尤推定法を用いたものである。
【００３５】
図４は、学習前のニューラルネットワーク（以下「未学習ＮＮ５００ｂ」などと記す）を学習させる方法について教師あり学習を例に説明する模式図である。ここで、教師あり学習は、学習対象のデータに正解があらかじめ決まっている場合に、学習対象のデータ（入力）と正解（出力）の組み合わせによって構成される訓練データセットを事前に大量に与えて、入力と出力の関係を学習させる方法である。
【００３６】
図４に示すように、入力としての学習対象の画像データ１６１と、出力としての判定データ１６２の組み合わせによって構成される訓練データセット１６０を、未学習ＮＮ５００ｂに与える。ここで、学習対象の画像データ１６１は、様々な把持対象物の画像データであり、判定データ１６２は、それぞれの把持対象物に対応する望ましい把持位置である。訓練データセット１６０は、例えば人がティーチングペンダント等でロボット１００を操作するなどして、ロボット１００に把持対象物の把持動作を繰り返し行わせることによって予め複数取得されたものである。これにより、把持対象物の把持動作における、学習対象の画像データ１６１と判定データ１６２との関係を未学習ＮＮ５００ｂに学習させる。訓練データセット１６０の取得数ｎを増やすことによって学習済みモデル５００ａの判定精度を高めることができる。
【００３７】
次に、図３のステップＳ１０１の処理について、より具体的に説明する。
図５は、図３のステップＳ１０１の処理について、より具体的に説明する模式図である。図５の上段に示すように、ロボット１００の制御部２００（図２参照）は、把持対象物に接近させるべくロボット１００の移動を開始させた位置から撮像取得部２５０により把持対象物Ｗ１の情報を取得させる。このとき、把持対象物Ｗ１を矢印Ｐ１で示す方向から撮像した画像データが得られる。ロボット１００は、経路計画により得られた、破線で示す経路Ｌ１に沿って把持対象物に接近する。ここで、経路計画には、ＲＲＴ（Ｒａｐｉｄｌｙ−ｅｘｐｌｏｒｉｎｇ  Ｒａｎｄｏｍ  Ｔｒｅｅ）などの公知の手法を用いることができる。そして、制御部２００は、ロボット１００を経路Ｌ１に沿って移動させながら、所定の時間が経過するまで、撮像取得部２５０により把持対象物の情報を複数取得させる。所定の時間は、例えばユーザなどにより予め設定される。
【００３８】
図５の下段に示すように、ロボット１００を経路Ｌ１に沿って移動させている途中で、把持対象物Ｗ１を、矢印Ｐ１で示す方向とは異なる矢印Ｐ２で示す方向から撮像した画像の画像データが得られる。このように、ロボット１００を経路Ｌ１に沿って移動させている間に、把持対象物Ｗ１を異なる複数の方向からそれぞれ撮像した画像データが得られる。
【００３９】
把持対象物Ｗ１を一方向から撮像した画像データのみで把持対象物Ｗ１の望ましいと推定される把持位置を割り出す場合、把持対象物Ｗ１における見ることのできなかった箇所により望ましい把持位置が存在する可能性がある。把持対象物Ｗ１を複数の異なる方向からそれぞれ撮像した画像データで把持対象物Ｗ１の望ましいと推定される把持位置を割り出すようにすると、把持対象物Ｗ１における見ることのできなかった箇所はより少なくなるので、把持位置を適切に認識することができる。
【００４０】
また、ロボット１００では、把持対象物Ｗ１に接近させるべくロボット１００を移動させている間に把持対象物Ｗ１の情報を取得する。このため、ロボットを把持対象物に接近させた後にロボットを停止させて把持対象物の情報を取得する場合と比べて、把持対象物の把持に要する時間を短縮することができる。
【００４１】
なお、ロボット１００が把持対象物Ｗ１を把持することが可能な範囲内に接近した時点で、所定の時間が経過していない場合は、把持可能な範囲内において、所定の時間が経過するまでロボット１００を移動させ、撮像取得部２５０に把持対象物Ｗ１の情報を取得させる。図６は、ロボット１００が把持対象物Ｗ１を把持することが可能な範囲内に接近した状態で把持対象物Ｗ１の情報を取得する例について示す模式図である。図６において、ロボット１００が把持対象物Ｗ１を把持することが可能な範囲を破線で囲まれた領域Ｒで示す。
【００４２】
図６の上段に示すよう、ロボット１００が把持対象物Ｗ１を把持することが可能な範囲Ｒ内に接近した状態において、撮像取得部２５０のハンドカメラ１４１により、把持対象物Ｗ１を矢印Ｐ３で示す方向から撮像した画像データが得られる。この状態において、マニピュレータ２３０を動作させてハンドカメラ１４１の位置を移動させる。このようにすることで、図６の下段に示すように、撮像取得部２５０のハンドカメラ１４１により、把持対象物Ｗ１を、矢印Ｐ３で示す方向とは異なる方向である矢印Ｐ４で示す方向から撮像した画像データが得られる。なお、把持対象物Ｗ１を把持することが可能な範囲Ｒ内でのロボット１００の移動は、マニピュレータ２３０のみを駆動させる場合、台車部１１０のみを駆動させる場合、マニピュレータ２３０と台車部１１０の両方を駆動させる場合、のいずれによるものであってもよい。
【００４３】
［変形例１］
図３を参照して説明した、ロボット１００の制御部２００において、ロボット１００が把持対象物の把持を行う動作を制御する処理の流れの変形例について説明する。なお、以下の説明では図１及び図２についても適宜参照する。
【００４４】
本変形例では、制御部２００は、尤度が所定の閾値よりも高い把持位置が得られた時点でマニピュレータ２３０を動作させて把持対象物の把持を試みる。このようにすることで、把持に要する時間をより短縮することができる。
【００４５】
図７は、制御部２００において、ロボット１００が把持対象物の把持を行う動作を制御する処理の流れの変形例について説明するフローチャートである。図７に示すように、まず、把持対象物に接近するようにロボット１００を移動させながら、撮像取得部２５０により把持対象物の情報を取得させる（ステップＳ２０１）。
【００４６】
ステップＳ２０１に続いて、取得した把持対象物の情報について学習済みモデルを用いて把持対象物の把持位置及び把持の確からしさの指標である尤度を計算する（ステップＳ２０２）。続いて、尤度が所定の閾値を超えたか否かを判定する（ステップＳ２０３）ここで、所定の閾値はユーザなどが予め設定する。
【００４７】
ステップＳ２０３において尤度が所定の閾値を超えたと判定された場合、マニピュレータ２３０を動作させて、今計算した把持位置で把持対象物の把持を試みる（ステップＳ２０４）。続いて、把持対象物の把持に成功したか否かを判定する（ステップＳ２０５）。ステップＳ２０５において把持対象物の把持に成功したと判定された場合、処理を終了する。ステップＳ２０５において把持対象物の把持に成功しなかったと判定された場合、所定の時間が経過したか否か判定する（ステップＳ２０６）。ステップＳ２０６において所定の時間が経過していないと判定された場合、処理をステップＳ２０１に戻す。ステップＳ２０６において所定の時間が経過したと判定された場合、計算により得られた把持位置のうち把持対象物の把持を試みていないものが残っているか否かを判定する（ステップＳ２０７）。
【００４８】
ステップＳ２０７において、計算により得られた把持位置のうち把持対象物の把持を試みていないものが残っていると判定された場合は、残っている把持位置のうち、尤度が最も高いものに対応する把持位置を選択し、マニピュレータ２３０を動作させて、選択した把持位置で把持対象物の把持を試みる（ステップＳ２０８）。続いて、把持対象物の把持に成功したか否かを判定する（ステップＳ２０９）。ステップＳ２０９において把持対象物の把持に成功していないと判定された場合、処理をステップＳ２０７に戻す。ステップＳ２０９において把持対象物の把持に成功したと判定された場合、処理を終了する。
【００４９】
以上より、本実施の形態に係るロボット１００は、ロボットを移動させながら把持対象物の情報を複数取得する。このようにすると、把持対象物の情報を異なる方向から取得することができる。このため、把持対象物の情報を一方向のみから取得する場合に対し、把持対象物における見ることのできなかった箇所はより少なくすることができるので、把持対象物の把持位置を適切に認識することができる。そして、ロボット１００は、学習済みモデルを用いて、複数の異なる方向から取得した把持対象物の情報から、それぞれ、把持位置及び尤度を計算し、計算結果に基づいて把持を試みる把持位置を選択する。このようにすることで、より望ましいと推定される把持位置を割り出すことが可能になり、把持の成功率を高めることができる。さらに、把持対象物に接近させるようにロボット１００を移動させている間に把持対象物の情報を取得するので、把持対象物に接近させた後にロボットを停止させて把持対象物の情報を取得する場合と比べて、把持対象物の把持に要する時間を短縮することができる。
【００５０】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。上記実施の形態では、学習済みモデルが、ロボットの外部のシステムサーバに記憶される構成例について説明したが、これに限るものではなく、例えば、学習済みモデルがロボットに搭載されたメモリ（例えば図２のメモリ２４０）に記憶される構成であっても良い。
【００５１】
制御部において、ロボット１００を移動させながら複数取得した把持対象物の撮像画像を合成して把持対象物の３Ｄ画像を作成し、作成した３Ｄ画像に基づいて把持対象物の把持位置を選択するようにしてもよい。３Ｄ画像は、例えば、把持対象物の撮像画像を所定の個数取得するごとに、または、所定の時間が経過する毎に作成する。作成した３Ｄ画像の画像データのそれぞれについて、学習済モデルを用いて把持対象物の把持位置、及び、尤度などの把持位置の確からしさの指標を計算する。ここでいう学習済モデルは、ロボット１００を移動させながら複数取得した把持対象物の撮像画像の画像データを入力とする学習済みモデル５００ａ（図２参照）とは異なる、３Ｄ画像用の学習済モデル（以下、「３Ｄ画像用学習済モデル」という）である。３Ｄ画像用学習済モデルは、例えばニューラルネットワークで、学習対象の３Ｄ画像のデータ（入力）と把持位置（出力）の組み合わせによって構成される訓練データセットを事前に大量に与えて入力と出力の関係を学習させたものである。学習済みモデルに入力させる３Ｄ画像のデータは、３次元座標データを計算処理がしやすい形式に変換処理されたもの（例えば3次元座標が極座標に変換されたもの）であってもよい。そして、尤度が相対的に高いものに対応する把持位置を優先的に選択し、マニピュレータを動作させて、当該把持位置において把持対象物の把持を試みる。このようにすることで、把持対象物の把持位置をより適切に認識することができる。
【００５２】
上記実施の形態では、学習済モデルを用いて計算する、把持位置の確からしさの指標を尤度としたが、これに限るものではない。把持位置の確からしさの指標は、例えば、ランクＡ、ランクＢ、・・・、といった離散的なランク付けや、可・不可といった２値分類であってもよい。なお、把持位置の確からしさの指標を、離散的なランク付けや２値分類とした場合、直近で、好ましいとの判断結果が得られた把持位置を選択し、把持対象物の把持を試みるようにする。
【符号の説明】
【００５３】
１００  ロボット
１１０  台車部
１１１  駆動輪
１１２  キャスター
１２０  本体部
１２１  環境カメラ
１２３  表示パネル
１３０  ロボットアーム
１３１  関節部
１３２  アクチュエータ
１３３  力センサ
１３４  回転センサ
１４０  ロボットハンド
１４０ａ  第１フィンガー
１４０ｂ  第２フィンガー
１４１  ハンドカメラ
１４２  アクチュエータ
１４３  力センサ
１６０  訓練データセット
１６１  学習対象の画像データ
１６２  判定データ
１９０  コントロールユニット
２００  制御部
２１０  駆動ユニット
２２０  センサユニット
２３０  マニピュレータ
２４０  メモリ
２５０  撮像取得部
５００  システムサーバ
５００ａ  学習済みモデル
５００ｂ  未学習ＮＮ
６００  インターネット
７００  無線ルータ
【図１】
2020093366.tif 000003
【図２】
2020093366.tif 000004
【図３】
2020093366.tif 000005
【図４】
2020093366.tif 000006
【図５】
2020093366.tif 000007
【図６】
2020093366.tif 000008
【図７】
2020093366.tif 000009