(57)【特許請求の範囲】
【請求項１】
移動体の自己位置を推定する自己位置推定装置であって、
前記移動体の位置の推定に用いられる情報を取得するセンサである位置推定用センサと、
前記位置推定用センサによって取得された情報を用いて前記移動体の自己位置を推定する推定部と、
移動体が有するセンサによって取得された、当該移動体の位置の推定に用いられる情報、及び当該情報を用いて推定された当該移動体の自己位置の少なくとも一方に関する情報を含む訓練用入力情報と、当該自己位置に関する信頼度である訓練用出力情報との組を複数用いて学習された学習器に、前記位置推定用センサによって取得された情報、及び前記推定部によって推定された自己位置の少なくとも一方に関する情報を含む入力情報を適用することによって、前記推定部によって推定された自己位置に関する信頼度を取得する信頼度取得部と、を備え、
前記訓練用入力情報には、推定された前記移動体の自己位置そのものが含まれており、
前記入力情報には、前記推定部によって推定された自己位置そのものが含まれており、
前記訓練用入力情報と前記訓練用出力情報との組を取得する際に移動体が移動する移動領域と、前記学習器を用いた信頼度の取得を行う際に移動体が移動する移動領域とは同じである、自己位置推定装置。
【請求項２】
前記位置推定用センサは、前記移動体の駆動軸の回転の変位を取得する角位置センサであり、
前記訓練用入力情報は、角位置センサによって取得された、移動体の駆動軸の回転の変位に応じた移動量、及び推定された当該移動体の自己位置を含み、
前記入力情報は、前記位置推定用センサによって取得された駆動軸の回転の変位に応じた移動量、及び前記推定部によって推定された自己位置を含む、請求項１記載の自己位置推定装置。
【請求項３】
前記位置推定用センサは、複数方向に関して周囲の物体までの距離を測定する測距センサであり、
前記推定部は、前記位置推定用センサによって取得された測距結果と、自己位置の推定に用いられる環境地図とを用いて自己位置を推定し、
前記訓練用入力情報は、測距センサによって取得された測距結果と、当該測距結果を用いた自己位置の推定に用いられる環境地図と、当該測距結果及び当該環境地図を用いて推定された自己位置とに関する情報を含み、
前記入力情報は、前記位置推定用センサによって取得された測距結果と、前記推定部による自己位置の推定に用いられる環境地図と、前記推定部によって推定された自己位置とに関する情報を含む、請求項１記載の自己位置推定装置。
【請求項４】
移動体が有するセンサによって取得された、当該移動体の位置の推定に用いられる情報、及び当該情報を用いて推定された当該移動体の自己位置の少なくとも一方に関する情報を含む訓練用入力情報と、当該自己位置に関する信頼度である訓練用出力情報との複数の組の学習結果である学習器であって、
移動体が有する位置推定用センサによって取得された、当該移動体の位置の推定に用いられる情報、及び当該情報を用いて推定された当該移動体の自己位置の少なくとも一方に関する情報を含む入力情報が適用されると、当該自己位置に関する信頼度を取得することができ、
前記訓練用入力情報には、推定された前記移動体の自己位置そのものが含まれており、
前記入力情報には、推定された前記移動体の自己位置そのものが含まれており、
前記訓練用入力情報と前記訓練用出力情報との組を取得する際に移動体が移動する移動領域と、前記学習器を用いた信頼度の取得を行う際に移動体が移動する移動領域とは同じである、学習器。
【請求項５】
移動体の自己位置を推定する、請求項１から請求項３のいずれかに記載された第１の自己位置推定装置と、
前記第１の自己位置推定装置と異なるように前記移動体の自己位置を推定する、請求項１から請求項３のいずれかに記載された第２の自己位置推定装置と、
前記第１及び第２の自己位置推定装置において取得された信頼度のうち、高い方の信頼度に対応する自己位置推定装置によって推定された自己位置である、前記移動体の移動制御に用いられる自己位置を選択する選択部と、を備えた自己位置選択装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体の自己位置を推定する自己位置推定装置等に関する。
【背景技術】
【０００２】
従来、移動体に関する自己位置を取得して移動することが行われており、その自己位置に関する信頼度を取得することも行われている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１８８０６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に記載された技術では、例えば、最後に絶対位置が観測されてからの経過時間や移動距離に応じて減少し、絶対位置が観測されることで増加（回復）する信頼度が取得される。一方、自己位置の信頼度は、絶対位置の観測以外の要因によって変化することもあると考えられる。例えば、ロータリーエンコーダを用いた自己位置の推定が行われる場合に、車輪が滑りやすい領域を移動している際には、絶対位置が観測されてからの移動距離が小さくても、自己位置の信頼度が低くなると考えられる。また、自己位置の信頼度は、自己位置を用いる上で重要な情報であるため、より正確に取得したいという要望がある。
【０００５】
本発明は、上記課題を解決するためになされたものであり、推定された自己位置に関する信頼度を、より高精度に取得することができる自己位置推定装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明による自己位置推定装置は、移動体の自己位置を推定する自己位置推定装置であって、移動体の位置の推定に用いられる情報を取得するセンサである位置推定用センサと、位置推定用センサによって取得された情報を用いて移動体の自己位置を推定する推定部と、移動体が有するセンサによって取得された、移動体の位置の推定に用いられる情報、及び情報を用いて推定された移動体の自己位置の少なくとも一方に関する情報を含む訓練用入力情報と、自己位置に関する信頼度である訓練用出力情報との組を複数用いて学習された学習器に、位置推定用センサによって取得された情報、及び推定部によって推定された自己位置の少なくとも一方に関する情報を含む入力情報を適用することによって、推定部によって推定された自己位置に関する信頼度を取得する信頼度取得部と、を備えたものである。
このような構成により、学習器を用いることによって、例えば、位置推定用センサによって取得された情報や自己位置等に応じた信頼度を取得することができ、より高精度な信頼度を取得することができる。
【０００７】
また、本発明による自己位置推定装置では、位置推定用センサは、移動体の駆動軸の回転の変位を取得する角位置センサであり、訓練用入力情報は、角位置センサによって取得された、移動体の駆動軸の回転の変位に応じた移動量、及び推定された移動体の自己位置を含み、入力情報は、位置推定用センサによって取得された駆動軸の回転の変位に応じた移動量、及び推定部によって推定された自己位置を含んでもよい。
このような構成により、例えば、ロータリーエンコーダ等の角位置センサを用いて自己位置を推定している場合に、移動量や自己位置に応じた信頼度を、学習器を用いて取得することができ、移動体が移動している領域等に応じた高精度な信頼度を取得することができる。
【０００８】
また、本発明による自己位置推定装置では、位置推定用センサは、複数方向に関して周囲の物体までの距離を測定する測距センサであり、推定部は、位置推定用センサによって取得された測距結果と、自己位置の推定に用いられる環境地図とを用いて自己位置を推定し、訓練用入力情報は、測距センサによって取得された測距結果と、測距結果を用いた自己位置の推定に用いられる環境地図と、測距結果及び環境地図を用いて推定された自己位置とに関する情報を含み、入力情報は、位置推定用センサによって取得された測距結果と、推定部による自己位置の推定に用いられる環境地図と、推定部によって推定された自己位置とに関する情報を含んでもよい。
このような構成により、測距結果と環境地図とを用いた自己位置の推定を行っている場合に、測距結果と環境地図と自己位置とに関する情報に応じた信頼度を、学習器を用いて取得することができる。例えば、測距結果に応じた検出点と環境地図との相違に応じた信頼度を取得することができる。
【０００９】
また、本発明による学習器は、移動体が有するセンサによって取得された、移動体の位置の推定に用いられる情報、及び情報を用いて推定された移動体の自己位置の少なくとも一方に関する情報を含む訓練用入力情報と、自己位置に関する信頼度である訓練用出力情報との複数の組の学習結果である学習器であって、移動体が有する位置推定用センサによって取得された、移動体の位置の推定に用いられる情報、及び情報を用いて推定された移動体の自己位置の少なくとも一方に関する情報を含む入力情報が適用されると、自己位置に関する信頼度を取得することができる、ものである。
【００１０】
また、本発明による自己位置選択装置は、移動体の自己位置を推定する、第１の自己位置推定装置と、第１の自己位置推定装置と異なるように移動体の自己位置を推定する、第２の自己位置推定装置と、第１及び第２の自己位置推定装置において取得された信頼度のうち、高い方の信頼度に対応する自己位置推定装置によって推定された自己位置である、移動体の移動制御に用いられる自己位置を選択する選択部と、を備えたものである。
このような構成により、異なるように推定された２個の自己位置のうち、信頼度の高い方の自己位置を用いて、移動体の移動制御を行うことができる。その結果、より精度の高い移動を実現することができる。
【発明の効果】
【００１１】
本発明による自己位置推定装置等によれば、推定された自己位置に関する信頼度を、より高精度に取得することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態による移動体の構成を示すブロック図
【図２】同実施の形態による自己位置選択装置の動作を示すフローチャート
【図３】同実施の形態における環境地図と検出点との関係の一例を示す図
【図４Ａ】同実施の形態における環境地図の一例を示す図
【図４Ｂ】同実施の形態における測距結果に応じた検出点の一例を示す図
【発明を実施するための形態】
【００１３】
以下、本発明による移動体、自己位置選択装置、自己位置推定装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による自己位置推定装置は、学習器を用いて自己位置に関する信頼度を取得するものである。本実施の形態による自己位置選択装置は、そのようにして取得された信頼度を用いて、２個の自己位置推定装置によって推定された自己位置のうち、信頼度の高い方の自己位置を選択するものである。本実施の形態による移動体は、そのようにして選択された自己位置を用いて移動制御を行うものである。
【００１４】
図１は、本実施の形態による移動体１の構成を示すブロック図である。本実施の形態による移動体１は、自己位置選択装置２と、移動機構１１と、移動制御部１２とを備える。自己位置選択装置２は、移動体１の自己位置を推定する第１の自己位置推定装置２１ａと、第１の自己位置推定装置２１ａと異なるように移動体１の自己位置を推定する第２の自己位置推定装置２１ｂと、選択部２２とを備える。第１の自己位置推定装置２１ａは、第１の位置推定用センサ３１ａと、第１の推定部３２ａと、第１の信頼度取得部３３ａとを備える。第２の自己位置推定装置２１ｂは、第２の位置推定用センサ３１ｂと、第２の推定部３２ｂと、第２の信頼度取得部３３ｂとを備える。
【００１５】
移動体１は、例えば、陸上を走行する走行体であってもよく、または、空中を飛行する飛行体であってもよく、水上を移動する水上航行体（例えば、船舶など）であってもよく、水中を移動する水中航行体（例えば、潜水艇など）であってもよい。本実施の形態では、移動体１が走行体である場合について主に説明する。
【００１６】
走行体である移動体１は、例えば、台車であってもよく、自動運転車であってもよく、移動するロボットであってもよい。ロボットは、例えば、エンターテインメントロボットであってもよく、監視ロボットであってもよく、搬送ロボットであってもよく、清掃ロボットであってもよく、動画や静止画を撮影するロボットであってもよく、その他のロボットであってもよい。
【００１７】
飛行体は、例えば、回転翼機であってもよく、飛行機であってもよく、飛行船であってもよく、その他の飛行体であってもよい。任意の位置に移動可能であるという観点からは、飛行体は、回転翼機であることが好適である。回転翼機は、例えば、ヘリコプターであってもよく、３個以上の回転翼（ロータ）を有するマルチコプターであってもよい。マルチコプターは、例えば、４個の回転翼を有するクワッドロータであってもよく、その他の個数の回転翼を有するものであってもよい。
【００１８】
また、移動体１は、例えば、自律的に移動するものであってもよい。なお、移動体１が自律的に移動するとは、移動体１がユーザ等から受け付ける操作指示に応じて移動するのではなく、自らの判断によって目的地に移動することであってもよい。その目的地は、例えば、手動で決められたものであってもよく、または、自動的に決定されたものであってもよい。また、その目的地までの移動は、例えば、移動経路に沿って行われてもよく、または、そうでなくてもよい。また、自らの判断によって目的地に移動するとは、例えば、進行方向、移動や停止などを移動体１が自ら判断することによって、目的地まで移動することであってもよい。また、例えば、移動体１が、障害物に衝突しないように移動することであってもよい。
【００１９】
次に、移動体１の自己位置選択装置２の構成について説明する。
第１及び第２の自己位置推定装置２１ａ，２１ｂは、異なるように自己位置の推定を行うものであるが、その違い以外については、両者は実質的に同様のものである。以下、両者を区別しない場合には、自己位置推定装置２１と呼ぶこともある。また、第１及び第２の位置推定用センサ３１ａ，３１ｂについても、両者を区別しない場合には、位置推定用センサ３１と呼ぶこともある。また、第１及び第２の推定部３２ａ，３２ｂについても、両者を区別しない場合には、推定部３２と呼ぶことがある。また、第１及び第２の信頼度取得部３３ａ，３３ｂについても、両者を区別しない場合には、信頼度取得部３３と呼ぶことがある。
【００２０】
位置推定用センサ３１は、移動体１に装着されており、移動体１の位置の推定に用いられる情報を取得するセンサである。なお、移動体１の位置の推定は、移動体１の位置のみに関する推定であってもよく、または、移動体１の位置及び姿勢（角度）に関する推定であってもよい。本実施の形態では、後者の場合について主に説明する。位置推定用センサ３１は、特に限定されるものではないが、例えば、移動体１の周囲の情報を取得するセンサ、角位置センサ、加速度センサ、ＧＰＳ（Global Positioning System）センサ等であってもよい。移動体１の周囲の情報を取得するセンサは、例えば、測距センサ、画像センサ等であってもよい。
【００２１】
また、移動体１の位置の推定が、移動体１の位置及び姿勢の推定である場合には、位置推定用センサ３１は、２以上のセンサを有していてもよい。例えば、位置推定用センサ３１は、加速度センサと、移動体１の姿勢の検出に用いられるセンサとを有していてもよく、ＧＰＳセンサと、移動体１の姿勢の検出に用いられるセンサとを有していてもよい。移動体１の姿勢の検出に用いられるセンサは、例えば、ジャイロセンサであってもよく、地磁気センサ（電子コンパス）であってもよい。ジャイロセンサは、例えば、移動体１の姿勢を検出するものであってもよく、移動体１の角速度や角加速度を検出するものであってもよい。
【００２２】
測距センサは、複数方向に関して周囲の物体までの距離を測定するセンサであり、例えば、レーザセンサや、超音波センサ、マイクロ波を用いた距離センサ、ステレオカメラによって撮影されたステレオ画像を用いた距離センサなどであってもよい。レーザセンサは、レーザレンジセンサ（レーザレンジスキャナ）であってもよい。なお、それらの測距センサについてはすでに公知であり、それらの説明を省略する。本実施の形態では、測距センサがレーザレンジセンサである場合について主に説明する。また、測距センサは、１個のレーザレンジセンサを有していてもよく、または、２個以上のレーザレンジセンサを有していてもよい。後者の場合には、２個以上のレーザレンジセンサによって、全方向がカバーされてもよい。また、測距センサが超音波センサや、マイクロ波を用いた距離センサなどである場合に、測距センサの測距方向を回転させることによって複数方向の距離を測定してもよく、複数方向ごとに配置された複数の測距センサを用いて複数方向の距離を測定してもよい。複数方向の距離を測定するとは、例えば、あらかじめ決められた角度範囲や全周囲（３６０度）について、あらかじめ決められた角度間隔で複数方向の距離を測定することであってもよい。その角度間隔は、例えば、１度間隔や２度間隔、５度間隔などのように一定であってもよい。測距センサによって取得される情報は、例えば、移動体１のある向きを基準とした複数の方位角のそれぞれに関する周辺の物体までの距離であってもよい。その距離を用いることによって、移動体１のローカル座標系において、移動体１の周囲にどのような物体が存在するのかを知ることができるようになる。
【００２３】
画像センサは、例えば、ＣＣＤイメージセンサや、ＣＭＯＳイメージセンサなどであってもよい。なお、それらの画像センサについてはすでに公知であり、それらの説明を省略する。画像センサは、例えば、画像センサ上に結像させるためのレンズ等の光学系を含んでいてもよい。また、画像センサは、単眼であってもよく、双眼（ステレオカメラ）であってもよい。画像センサは、通常、動画を撮影するもの、すなわち、連続した画像フレームを取得するものである。移動している移動体１の自己位置を取得するために撮影画像を取得することから、そのフレームレートは、移動速度に対して十分大きいものであることが好適である。例えば、フレームレートは、約３０ｆｐｓなどであってもよい。
【００２４】
角位置センサは、移動体１の駆動軸の回転の変位を取得するセンサであり、例えば、ロータリーエンコーダ等であってもよい。角位置センサが回転の変位を取得する対象となる駆動軸は、移動体１の移動のために駆動される駆動軸である。例えば、モータ等の駆動手段と、車輪や無限軌道などとの間に減速機が存在する場合には、回転の変位を取得する対象となる駆動軸は、減速機の入力側（すなわち、モータ等の側）であってもよく、または出力側（すなわち、車輪等の側）であってもよい。なお、角位置センサについてはすでに公知であり、その説明を省略する。角位置センサによって取得される情報は、例えば、駆動軸の回転量や角度であってもよい。
【００２５】
加速度センサは、移動体１の加速度を計測する。この加速度センサは、例えば、２軸の加速度センサであってもよく、３軸の加速度センサであってもよい。なお、加速度センサについてはすでに公知であり、その説明を省略する。移動方向が所定の平面内に限定される場合（例えば、移動体１が床面を移動する走行体である場合など）には、２軸の加速度センサが用いられてもよい。
【００２６】
ＧＰＳセンサは、ＧＰＳ衛星からの電波を受信するセンサである。なお、ＧＰＳセンサについてはすでに公知であり、その説明を省略する。ＧＰＳセンサによって取得される情報は、例えば、ＧＰＳ衛星から送信された電波であってもよい。
【００２７】
ジャイロセンサによって取得される情報は、例えば、移動体１の姿勢（角度）や、角速度、角加速度であってもよい。また、地磁気センサによって取得される情報は、例えば、移動体１の姿勢であってもよい。移動体１の姿勢は、例えば、移動体１の方位角や、移動体１の方位角及び仰俯角であってもよい。
【００２８】
第１及び第２の自己位置推定装置２１ａ，２１ｂが、異なるように自己位置の推定を行うようにするため、例えば、第１及び第２の位置推定用センサ３１ａ，３１ｂは、それぞれ異なる情報を取得するセンサであってもよい。異なる情報を取得するセンサとは、例えば、異なる種類のセンシングによって情報を取得するセンサ（例えば、角位置センサと測距センサなど）であってもよく、同じ種類のセンシングによって異なる対象の情報を取得するセンサ（例えば、移動体１のある方向の範囲（前方の範囲など）について測距を行う測距センサと、別の方向の範囲（後方の範囲など）について測距を行う測距センサなど）であってもよい。なお、第１及び第２の位置推定用センサ３１ａ，３１ｂによる情報の取得は、同期して行われることが好適である。第１及び第２の推定部３２ａ，３２ｂによって、同時点の位置の推定が行われることが好適だからである。
【００２９】
推定部３２は、位置推定用センサ３１によって取得された情報を用いて移動体１の自己位置を推定する。なお、推定部３２は、位置推定に用いる情報を取得した位置推定用センサ３１の種類に応じた自己位置の推定を行うものとする。例えば、位置推定用センサ３１が測距センサである場合には、推定部３２は、測距センサによって取得された情報を用いた位置の推定を行い、位置推定用センサ３１が画像センサである場合には、推定部３２は、画像センサによって取得された情報を用いた位置の推定を行ってもよい。したがって、推定部３２は、特に限定されるものではないが、例えば、移動体１の周囲の情報を取得するセンサによって取得された情報、角位置センサによって取得された情報、加速度センサによって取得された情報、ＧＰＳセンサによって取得された情報等を用いて位置の推定を行うものであってもよい。移動体１の周囲の情報を取得するセンサによって取得された情報は、例えば、測距センサによって取得された情報、画像センサによって取得された情報等であってもよい。
【００３０】
ここで、センサによって取得された情報を用いた位置の推定について簡単に説明する。推定された位置は、例えば、ワールド座標系における位置であってもよい。
まず、位置推定用センサ３１が測距センサであり、推定部３２が、位置推定用センサ３１によって取得された測距結果と、自己位置の推定に用いられる環境地図とを用いて自己位置を推定する場合について説明する。測距結果は、厳密には、測定された各方向の距離である。環境地図は、移動体１の移動領域における障害物の位置を示す地図であり、推定部３２がアクセス可能な図示しない記録媒体において記憶されているものとする。その障害物は、測距センサによる距離の測定対象となる壁や設備等の物体であってもよい。自己位置は、通常、ワールド座標系における位置である。そのような測距結果を用いた自己位置推定は、測距結果を用いたＳＬＡＭ（Simultaneous Localization and Mapping）においてすでに知られているため、その詳細な説明を省略する。なお、推定部３２は、環境地図の作成を行ってもよく、または行わなくてもよい。前者の場合には、推定部３２は、測距結果を用いたＳＬＡＭと同様のものであってもよく、後者の場合には、推定部３２は、既存の環境地図を用いて自己位置推定を行うものであってもよい。
【００３１】
次に、位置推定用センサ３１が画像センサであり、推定部３２が、位置推定用センサ３１によって取得された撮影画像と、自己位置の推定に用いられる環境地図とを用いて自己位置を推定する場合について説明する。その位置の推定において、画像センサによって取得された撮影画像において特定された特徴点、及び移動体１の移動領域における特徴点の位置を示す環境地図が用いられてもよい。なお、環境地図は、推定部３２がアクセス可能な図示しない記録媒体において記憶されているものとする。自己位置は、通常、ワールド座標系における位置である。そのような撮影画像を用いた自己位置推定は、ｖｉｓｕａｌ−ＳＬＡＭとしてすでに知られているため、その詳細な説明を省略する。なお、推定部３２は、環境地図の作成を行ってもよく、または行わなくてもよい。前者の場合には、推定部３２は、ｖｉｓｕａｌ−ＳＬＡＭと同様のものであってもよく、後者の場合には、推定部３２は、既存の環境地図を用いて自己位置推定を行うものであってもよい。
【００３２】
次に、位置推定用センサ３１が、移動体１の駆動軸の回転の変位を取得するロータリーエンコーダ等の角位置センサであり、推定部３２が、位置推定用センサ３１によって取得された、駆動軸の回転量や角度によって、車輪等の回転量を把握し、自己位置を推定する場合について説明する。ここでは、対向２輪型の移動体１の例について具体的に説明する。
【００３３】
角位置センサによって取得された左右の車輪の回転量をそれぞれΔθL、ΔθRとし、車輪径をＲとすると、左右の車輪の移動量ΔｄL、ΔｄRはそれぞれ次のようになる。
ΔｄL＝ＲΔθL
ΔｄR＝ＲΔθR
【００３４】
また、左右の車輪間の距離をＬとすると、移動体１の移動量Δｄと旋回量Δθは、次式のように算出できる。
Δｄ＝（ΔｄR＋ΔｄL）／２
Δθ＝（ΔｄR−ΔｄL）／Ｌ
【００３５】
移動体１の位置を（Ｘ，Ｙ，Θ）とすると、移動体１の相対移動量（ΔＸ，ΔＹ，ΔΘ）は、次式のようになる。なお、（Ｘ，Ｙ）は、２次元ＸＹ座標系における座標値であり、Θは、２次元座標系におけるＸ軸を基準とした角度であってもよい。また、移動体１の位置（Ｘ，Ｙ，Θ）は、ワールド座標系における位置であってもよい。
（ΔＸ，ΔＹ，ΔΘ）＝（Δｄ×ｃｏｓΘ，Δｄ×ｓｉｎΘ，Δθ）
【００３６】
したがって、相対移動量（ΔＸ，ΔＹ，ΔΘ）を前回（時刻：ｔ−１）の自己位置（Ｘt-1，Ｙt-1，Θt-1）に加算することによって、現在（時刻：ｔ）の自己位置（Ｘt，Ｙt，Θt）を取得することができる。
（Ｘt，Ｙt，Θt）＝（Ｘt-1，Ｙt-1，Θt-1）＋（ΔＸ，ΔＹ，ΔΘ）
【００３７】
なお、上式の相対移動量は、ｔ−１からｔまでの間の移動量である。前回の自己位置は、例えば、角位置センサによって取得された情報を用いて推定されたものであってもよく、選択部２２によって選択された自己位置であってもよい。また、ここでは、移動体１が対向２輪型である場合について具体的に説明したが、移動体１が他の形式である場合であっても、同様にして、エンコーダ等の角位置センサによって取得された情報を用いて、移動体１の位置を推定できることは言うまでもない。
【００３８】
また、位置推定用センサ３１は、移動体１の加速度を取得する加速度センサであってもよく、その場合には、推定部３２は、位置推定用センサ３１によって取得された加速度を２階積分することによって移動量（移動距離）を取得してもよい。この場合には、推定部３２は、移動量を順次、加算していくことによって、移動体１の自己位置を推定することができる。なお、この場合には、移動距離を取得することしかできないため、初期位置は入力する必要がある。
【００３９】
また、測距結果や撮影画像、車輪等の回転量、加速度等を用いた位置の推定において、例えば、パーティクルフィルタやカルマンフィルタ等の状態空間モデルが用いられてもよく、ネルダーミード法（Nelder-Mead法；滑降シンプレックス法）が用いられてもよく、その他の手法が用いられてもよい。
【００４０】
また、位置推定用センサ３１は、ＧＰＳセンサであってもよく、その場合には、推定部３２は、位置推定用センサ３１によって受信された複数のＧＰＳ衛星からの電波を用いて自己位置を推定してもよい。なお、ＧＰＳの位置推定はすでに公知であり、その詳細な説明を省略する。
【００４１】
なお、測距センサ、画像センサ、角位置センサによって取得された情報を用いた位置の推定においては、通常、移動体１の位置及び姿勢を推定することができる。一方、加速度センサ、ＧＰＳセンサによって取得された情報を用いた位置の推定においては、通常、移動体１の位置のみを推定することになる。したがって、移動体１の姿勢に関する推定も必要な場合には、ジャイロセンサや地磁気センサ等の姿勢の検出に用いられるセンサによって取得された情報を用いた姿勢に関する推定が行われてもよい。例えば、移動体１の姿勢を検出するジャイロセンサや地磁気センサによって情報が取得される場合には、その取得された情報そのものが移動体１の姿勢として用いられてもよい。また、例えば、角速度センサや角加速度センサであるジャイロセンサによって移動体１の角速度や角加速度が取得される場合には、角速度を積分することによって得られた角度（姿勢の変化量）や角加速度を２階積分することによって得られた角度（姿勢の変化量）を積算することによって移動体１の姿勢が取得されてもよい。
【００４２】
信頼度取得部３３は、位置推定用センサ３１によって取得された情報、及び推定部３２によって推定された自己位置の少なくとも一方に関する情報を含む入力情報を学習器に適用することによって、推定部３２によって推定された自己位置に関する信頼度を取得する。自己位置に関する信頼度は、その推定結果である自己位置を信頼できる程度、すなわち自己位置の確からしさを示す値であってもよい。位置推定用センサ３１によって取得された情報に関する情報は、位置推定用センサ３１によって取得された情報そのものであってもよく、位置推定用センサ３１によって取得された情報に基づいて得られる情報であってもよい。後者の情報は、例えば、角位置センサである位置推定用センサ３１によって取得された情報に基づいて得られた移動量であってもよい。また、推定部３２によって推定された自己位置に関する情報は、推定部３２によって推定された自己位置そのものであってもよく、推定部３２によって推定された自己位置に基づいて得られる情報であってもよい。また、入力情報は、位置推定用センサ３１によって取得された情報、及び推定部３２によって推定された自己位置の両方に基づいて得られる情報であってもよい。
【００４３】
なお、入力情報に含まれる情報を、位置推定用センサ３１によって取得された情報等に基づいて生成する必要がある場合には、信頼度取得部３３は、その情報を生成してもよい。また、移動量などのように、位置推定用センサ３１によって取得された情報に基づいて得られる情報は、推定部３２によって取得されていることもある。そのような場合には、信頼度取得部３３は、入力情報に含まれる情報を、推定部３２等の他の構成要素から受け取ってもよい。
【００４４】
学習器は、移動体が有するセンサによって取得された、その移動体の位置の推定に用いられる情報、及びその情報を用いて推定された、その移動体の自己位置の少なくとも一方に関する情報を含む訓練用入力情報と、その自己位置に関する信頼度である訓練用出力情報との組を複数用いて学習された学習結果である。その学習器は、例えば、信頼度取得部３３がアクセス可能な図示しない記録媒体で記憶されていてもよい。なお、位置推定用センサ３１と、訓練用入力情報に含まれる情報の元となる情報を取得したセンサとの種類は同じであることが好適である。例えば、位置推定用センサ３１が、測距センサである場合には、訓練用入力情報に含まれる情報の元となる情報を取得したセンサも、測距センサであることが好適である。また、訓練用入力情報に自己位置に関する情報も含まれる場合には、その自己位置を推定する方法が、推定部３２による自己位置を推定する方法と同じであることが好適である。また、訓練用入力情報と訓練用出力情報との組を訓練情報と呼ぶこともある。
【００４５】
学習器は、例えば、ニューラルネットワーク（Neural Network）の学習結果であってもよく、それ以外の機械学習の学習結果であってもよい。本実施の形態では、学習器がニューラルネットワークの学習結果である場合について主に説明する。
【００４６】
ニューラルネットワークは、例えば、畳み込み層を含むニューラルネットワークであってもよく、全結合層を含むニューラルネットワークであってもよく、それら以外のニューラルネットワークであってもよい。また、ニューラルネットワークが少なくとも１個の中間層（隠れ層）を有する場合には、そのニューラルネットワークの学習は、深層学習（ディープラーニング、Deep Learning）であると考えてもよい。また、機械学習にニューラルネットワークを用いる場合において、そのニューラルネットワークの層数、各層におけるノード数、各層の種類（例えば、畳み込み層、全結合層など）等については、適宜、選択したものを用いてもよい。また、各層において、バイアスを用いてもよく、または、用いなくてもよい。バイアスを用いるかどうかは、層ごとに独立して決められてもよい。なお、入力層と出力層のノード数は、通常、訓練情報に含まれる訓練用入力情報の情報数と訓練用出力情報の情報数とによって決まる。
【００４７】
また、ニューラルネットワークにおける各設定は、次のようであってもよい。活性化関数は、例えば、ＲｅＬＵ（正規化線形関数）であってもよく、シグモイド関数であってもよく、その他の活性化関数であってもよい。また、学習では、例えば、誤差逆伝搬法を用いてもよく、ミニバッチ法を用いてもよい。また、損失関数（誤差関数）は、平均二乗誤差であってもよい。また、ｅｐｏｃｈ数（パラメータの更新回数）は特に問わないが、過剰適合とならないｅｐｏｃｈ数が選択されることが好適である。また、過剰適合を予防するため、所定の層間においてドロップアウトを行ってもよい。なお、機械学習における学習方法としては、公知の方法を用いることができ、その詳細な説明を省略する。
【００４８】
学習器が所定の記録媒体で記憶されているとは、例えば、学習器そのもの（例えば、入力に対して値を出力する関数や学習結果のモデル等）が記憶されていることであってもよく、学習器を構成するために必要なパラメータ等の情報が記憶されていることであってもよい。後者の場合であっても、そのパラメータ等の情報を用いて学習器を構成できるため、実質的に学習器が記憶されていると考えることができるからである。本実施の形態では、学習器そのものが、推定部３２がアクセス可能な記録媒体で記憶されている場合について主に説明する。また、第１及び第２の位置推定用センサ３１ａ，３１ｂが異なるセンサである場合には、通常、第１及び第２の信頼度取得部３３ａ，３３ｂは、それぞれ異なる学習器を用いて信頼度を取得することになる。一方、第１及び第２の信頼度取得部３３ａ，３３ｂが学習器に適用する情報が同じ種類の情報である場合には、両者は、１個の学習器を用いて信頼度を取得してもよい。例えば、第１及び第２の位置推定用センサ３１ａ，３１ｂが両方とも測距センサであり、一方が移動体１のある方向について測距を行い、他方が移動体１の別の方向について測距を行うような場合には、第１及び第２の信頼度取得部３３ａ，３３ｂは、同一の学習器を用いて信頼度の取得を行ってもよい。
【００４９】
ここで、学習器の生成について、位置推定用センサ３１の種類ごとに説明する。なお、訓練情報を取得するために用いられる移動体は、移動体１であってもよく、または、別の移動体であってもよい。後者の場合であって、例えば、第１の自己位置推定装置２１ａにおける信頼度の取得用の学習器を生成するために用いられる訓練情報を取得する場合には、その移動体は、第１の位置推定用センサ３１ａと同様のセンサと、第１の推定部３２ａと同様の推定部とを有していることが好適である。また、移動体１ではない移動体を用いて訓練情報が取得される場合には、その移動体は、移動制御部等を有しておらず、訓練情報を取得するための構成のみを有しているものであってもよい。
【００５０】
まず、位置推定用センサ３１が測距センサである場合には、訓練用入力情報は、測距センサによって取得された測距結果と、その測距結果を用いた自己位置の推定に用いられる環境地図と、その測距結果及びその環境地図を用いて推定された自己位置とに関する情報であってもよい。例えば、環境地図と、推定された自己位置を基準とした測距結果によって示される点（以下、「検出点」と呼ぶこともある。）とのマッチングの程度を示す情報が訓練用入力情報であってもよい。なお、検出点は、推定された自己位置を基準として測距センサによって距離が測定された、移動領域における点である。そのマッチングの程度を示す情報が訓練用入力情報として用いられることにより、入力されたマッチングの程度に応じた信頼度を出力できる学習器を生成することができると考えられるからである。
【００５１】
例えば、環境地図と測距結果とを用いて推定された自己位置と、その自己位置を基準とした測距結果の位置を示す検出点とは、図３で示されるようになる。図３は、壁や設備等の障害物Ｄ１〜Ｄ４を含む環境地図を示す図であり、その環境地図上に、移動体１ａと、複数の検出点Ｐとを示している。黒塗りの正方形で示される移動体１ａは、訓練情報を取得するために用いられる移動体であって、環境地図における推定された自己位置に配置されており、矢印は、移動体１ａの推定された向き（姿勢）を示している。また、検出点Ｐは、図３における移動体１ａの位置を基準として、各測距結果の位置をプロットしたものである。この場合には、訓練用入力情報は、図４Ａで示される環境地図を示す第１のチャネルの画像と、図４Ｂで示される複数の検出点を示す第２のチャネルの画像とであってもよい。また、このように、訓練用入力情報が２チャネルの画像である場合には、ニューラルネットワークは、１以上の畳み込み層を有していてもよい。
【００５２】
また、例えば、環境地図と、測距結果と、推定された自己位置とを用いることによって、各測距方向における測距結果と、推定された自己位置から環境地図によって示される障害物のエッジまでの距離との差の絶対値を取得することができる。その距離の差の絶対値の集合を、訓練用入力情報としてもよい。この場合には、ニューラルネットワークは、複数の全結合層を有していてもよい。また、上記した以外の環境地図と、検出点とのマッチングの程度を示す情報が、訓練用入力情報として用いられてもよい。
【００５３】
また、訓練用入力情報に、推定された自己位置そのものを含めてもよい。移動体の位置に応じて、測距センサを用いた正確な位置推定を行うことができるかどうかが決まることもあり得るからである。例えば、移動体が長い廊下のように単調な環境に存在する場合には、測距センサによる測距結果を用いて、自己位置を一意に決定できず、誤差が大きくなることもあり得る。また、例えば、移動体が人の出入りの多い領域に存在する場合には、環境地図に含まれない障害物（人間）が存在することにより、誤差が大きくなることもあり得る。そのような状況においては、訓練用入力情報に自己位置が含まれていることによって、より正確な信頼度を取得することができるようになると考えられる。
【００５４】
訓練用出力情報は、推定された自己位置に関する信頼度である。この信頼度は、推定された自己位置の誤差に応じた値であってもよい。その誤差を取得するため、訓練用入力情報の取得に用いられる移動体の位置が正確に測定されることが好適である。その位置の測定は、例えば、３次元のレーザトラッカーなどの３次元測定器を用いて、移動体の所定の位置（例えば、球体等のあらかじめ決められた形状の物体が装着された位置など）を計測することによって行われてもよく、移動体の移動領域側に配置された複数のカメラで移動体を撮影することによって行われてもよく、手動で測定することによって行われてもよく、その他の方法によって行われてもよい。また、その位置の測定は、自己位置の推定のためのセンシングを行った位置に存在する移動体について行われることが好適である。このようにして測定された移動体の正確な位置と、センサによるセンシング結果を用いて推定された自己位置との差（例えば、両位置間の距離）を算出することによって、推定された自己位置の誤差を取得することができる。なお、信頼度は、その誤差が小さいほど、高くなる値であってもよい。例えば、所定の減少関数の変数に誤差を代入することによって求められた値が、信頼度となってもよい。信頼度は、例えば、０から１までの範囲などのように、所定の範囲に規格化されていてもよい。なお、訓練用出力情報については、センサの種類を問わないため、測距センサ以外のセンサについても、このように訓練用出力情報が生成されてもよい。
【００５５】
なお、訓練用入力情報と訓練用出力情報との組は、移動領域における種々の場所において、より多く取得されることが好適である。訓練情報を取得する際に移動体が移動する移動領域と、学習器を用いた信頼度の取得を行う際に移動体１が移動する移動領域とは、同じであることが好適であるが、両移動領域は異なっていてもよい。
【００５６】
位置推定用センサ３１が測距センサである場合には、信頼度取得部３３が学習器に適用する入力情報は、位置推定用センサ３１によって取得された測距結果と、推定部３２による自己位置の推定に用いられる環境地図と、推定部３２によって推定された自己位置とに関する情報を含んでいてもよい。なお、その入力情報は、訓練用入力情報と同種類の情報であることが好適である。
【００５７】
次に、位置推定用センサ３１が画像センサである場合には、訓練用入力情報は、撮影画像と、その撮影画像を用いた自己位置の推定に用いられる環境地図と、その撮影画像及びその環境地図を用いて推定された自己位置とに関する情報であってもよい。例えば、撮影画像における特徴点と、推定された自己位置を基準とした環境地図における特徴点とのマッチングの程度を示す情報が訓練用入力情報であってもよい。そのマッチングの程度を示す情報が訓練用入力情報として用いられることにより、入力されたマッチングの程度に応じた信頼度を出力できる学習器を生成することができると考えられるからである。
【００５８】
上記の測距センサに対応する訓練用入力情報と同様に、特徴点を示す画像を含む訓練用入力情報が用いられてもよく、または、撮影画像と環境地図との間で対応している特徴点の組について、特徴記述子（特徴量）の類似の程度を示す情報（例えば、類似度など）を含む訓練用入力情報が用いられてもよい。訓練用入力情報が画像である場合には、第１のチャネルの画像は、撮影画像における特徴点を示す画像であり、第２のチャネルの画像は、推定された自己位置を基準とした環境地図における特徴点を示す画像であってもよい。なお、各特徴点には、特徴記述子（特徴量）が対応付けられているため、その特徴記述子が、例えば、画像における特徴点の属性として示されてもよい。その属性は、例えば、特徴点の大きさであってもよく、色であってもよく、形状であってもよく、その他の属性であってもよい。なお、特徴点は、例えば、ＯＲＢ−ＳＬＡＭと同様の自己位置推定において用いられる所定個数のＦＡＳＴキーポイントであってもよく、ＳＩＦＴキーポイントやＳＵＲＦキーポイントなどであってもよい。また、特徴記述子の類似度は、例えば、特徴記述子が二値ベクトルである場合（例えば、ＯＲＢ−ＳＬＡＭの場合）には、ハミング距離を用いて算出してもよい。特徴記述子が二値ベクトルではない場合（例えば、ＳＩＦＴキーポイントやＳＵＲＦキーポイントの場合）には、特徴記述子の類似度をコサイン距離やユークリッド距離を用いて算出してもよい。また、位置推定用センサ３１が画像センサである場合にも、訓練用入力情報に、推定された自己位置そのものを含めてもよい。
【００５９】
位置推定用センサ３１が画像センサである場合には、信頼度取得部３３が学習器に適用する入力情報は、位置推定用センサ３１によって取得された撮影画像と、推定部３２による自己位置の推定に用いられる環境地図と、推定部３２によって推定された自己位置とに関する情報を含んでいてもよい。なお、その入力情報は、訓練用入力情報と同種類の情報であることが好適である。
【００６０】
次に、位置推定用センサ３１がロータリーエンコーダ等の角位置センサである場合には、訓練用入力情報は、角位置センサによって取得された、移動体の駆動軸の回転の変位に応じた移動量と、その移動量に応じて推定された移動体の自己位置とであってもよい。移動量は、角位置センサによって取得された情報を用いて取得することができる。例えば、対向２輪型の移動体の場合には、上記（ΔＸ，ΔＹ，ΔΘ）が移動量となる。移動量は、所定の時間間隔における移動体の位置の変化量であるため、例えば、車輪に滑りが発生しているような場合には、移動量が通常よりも大きくなると考えられる。また、車輪に滑りが発生しやすい領域はあらかじめ決まっていると考えられるため、推定された自己位置に応じて、移動体が車輪に滑りが発生しやすい領域に存在するのかどうかが特定されると考えられる。したがって、移動量や推定された自己位置が訓練用入力情報として用いられることにより、入力された移動量や自己位置に応じた信頼度を出力できる学習器を生成することができると考えられる。
【００６１】
位置推定用センサ３１がロータリーエンコーダ等の角位置センサである場合には、信頼度取得部３３が学習器に適用する入力情報は、位置推定用センサ３１によって取得された駆動軸の回転の変位に応じた移動量、及び推定部３２によって推定された自己位置を含んでいてもよい。なお、その入力情報は、訓練用入力情報と同種類の情報であることが好適である。
【００６２】
次に、位置推定用センサ３１が加速度センサを含んでいる場合には、訓練用入力情報は、加速度センサによって取得された加速度と、その加速度を用いて推定された移動体の自己位置とを含んでいてもよい。例えば、移動体が移動を開始して加速を行い、次に等速移動に移行し、その後に減速して停止するなどのように、理想的な速度変化の場合と、急激な加速と減速とを短時間に繰り返すなどのように、理想的ではない速度変化の場合とにおいては、移動体の誤差が異なり、その結果、信頼度が異なると考えられる。また、移動体の自己位置の誤差が発生しやすくなる領域と、そうでない領域とがあると考えられ、移動体の自己位置に応じても、誤差が異なると考えられる。したがって、加速度や推定された自己位置が訓練用入力情報として用いられることにより、入力された加速度や自己位置に応じた信頼度を出力できる学習器を生成することができると考えられる。
【００６３】
位置推定用センサ３１が加速度センサを含んでいる場合には、信頼度取得部３３が学習器に適用する入力情報は、位置推定用センサ３１によって取得された加速度、及び推定部３２によって推定された自己位置を含んでいてもよい。なお、その入力情報は、訓練用入力情報と同種類の情報であることが好適である。
【００６４】
次に、位置推定用センサ３１がＧＰＳセンサを含んでいる場合には、訓練用入力情報は、推定された自己位置を含んでいてもよい。例えば、移動体が、障害物が多い環境などのように、マルチパスの多い環境を移動している場合には、ＧＰＳ衛星からの電波に関するマルチパスの影響によって、推定された自己位置の誤差が大きくなる可能性がある。したがって、推定された自己位置が訓練用入力情報として用いられることにより、入力された自己位置に応じた信頼度を出力できる学習器を生成することができると考えられる。
【００６５】
位置推定用センサ３１がＧＰＳセンサを含んでいる場合には、信頼度取得部３３が学習器に適用する入力情報は、推定部３２によって推定された自己位置を含んでいてもよい。なお、その入力情報は、訓練用入力情報と同種類の情報であることが好適である。
【００６６】
また、位置推定用センサ３１がジャイロセンサを含んでいる場合には、例えば、ジャイロセンサによって取得された角速度や角加速度が、訓練用入力情報に含まれてもよい。移動体の姿勢の変化に応じて、誤差の程度も異なると考えられるからである。また、位置推定用センサ３１が地磁気センサを含んでいる場合には、例えば、推定された自己位置が訓練用入力情報に含まれていてもよい。例えば、エレベータの近くなどのように、磁気の影響を受ける領域においては、誤差が大きくなると考えられるからである。
【００６７】
位置推定用センサ３１がジャイロセンサを含んでいる場合には、信頼度取得部３３が学習器に適用する入力情報は、位置推定用センサ３１によって取得された角速度や角加速度を含んでいてもよい。また、位置推定用センサ３１が地磁気センサを含んでいる場合には、信頼度取得部３３が学習器に適用する入力情報は、推定部３２によって推定された自己位置を含んでいてもよい。なお、その入力情報は、訓練用入力情報と同種類の情報であることが好適である。
【００６８】
上記のように、複数の訓練情報を学習して生成された学習器に、移動体１が有する位置推定用センサ３１によって取得された、移動体１の位置の推定に用いられる情報、及びその情報を用いて推定された移動体１の自己位置の少なくとも一方に関する情報を含む入力情報が入力されると、その自己位置に関する信頼度を取得することができる。その入力情報は、上記したように、学習器を生成する際に用いられる訓練用入力情報と同種類の情報であることが好適である。具体的には、位置推定用センサ３１が測距センサである場合には、環境地図と、推定された自己位置を基準とした測距結果によって示される検出点とのマッチングの程度を示す入力情報が学習器に入力されることによって、信頼度が出力されてもよい。
【００６９】
選択部２２は、第１及び第２の自己位置推定装置２１ａ，２１ｂにおいて取得された信頼度のうち、高い方の信頼度に対応する自己位置推定装置２１によって推定された自己位置である、移動体１の移動制御に用いられる自己位置を選択する。以下、第１の推定部３２ａによって推定された自己位置を第１の自己位置と呼び、第１の信頼度取得部３３ａによって取得された信頼度を第１の信頼度と呼び、第２の推定部３２ｂによって推定された自己位置を第２の自己位置と呼び、第２の信頼度取得部３３ｂによって取得された信頼度を第２の信頼度と呼ぶこともある。そうすると、選択部２２は、第１の信頼度の方が第２の信頼度よりも高い場合には、第１の自己位置を選択し、第２の信頼度の方が第１の信頼度よりも高い場合には、第２の自己位置を選択することになる。なお、第１及び第２の信頼度が同じ値である場合には、選択部２２は、ランダムに一方の自己位置を選択してもよく、または、前回の選択と同じ側の自己位置を選択してもよい。また、第１及び第２の信頼度取得部３３ａ，３３ｂによって取得される信頼度、すなわち第１及び第２の信頼度は、両者を適切に比較することができるように規格化されていることが好適である。具体的には、第１及び第２の信頼度が同程度の値であれば、第１及び第２の自己位置が同程度の信頼性となるようにそれぞれが規格化されていることが好適である。
【００７０】
なお、信頼度に応じて選択対象が切り替わった場合（例えば、選択対象が第１の自己位置から第２の自己位置に切り替わった場合など）には、移動制御に用いられる自己位置が突然に大きく変化することも考えられる。したがって、信頼度に応じて選択対象が切り替わった場合であって、選択対象が切り替わる前の自己位置と選択対象が切り替わった後の自己位置とに、あらかじめ決められた閾値以上の差が存在する場合には、切り替わる直前の自己位置から、新たに選択対象となった自己位置までを滑らかに繋ぐようにしてもよい。具体的には、選択部２２は、両自己位置を滑らかに繋ぐための中間の自己位置を生成して、移動制御部１３に渡してもよい。
【００７１】
次に、移動体１の自己位置選択装置２以外の構成について説明する。
移動機構１１は、移動体１を移動させる。移動機構１１は、例えば、移動体１を全方向に移動できるものであってもよく、または、そうでなくてもよい。全方向に移動できるとは、任意の方向に移動できることである。移動機構１１は、例えば、走行部（例えば、車輪や無限軌道など）と、その走行部を駆動する駆動手段（例えば、モータやエンジンなど）とを有していてもよく、飛行体を飛行させる飛行部を有していてもよく、水上航行体や水中航行体を航行させる航行部を有していてもよい。飛行部は、例えば、回転翼と、その回転翼を駆動する駆動手段とを有していてもよい。また、航行部は、例えば、スクリューと、そのスクリューを駆動する駆動手段とを有していてもよい。また、移動機構１１には、例えば、車輪等の回転量を取得できる機構、例えば、ロータリーエンコーダ等の角位置センサが装着されていてもよい。なお、移動機構１１が、移動体１を全方向に移動できるものである場合には、その走行部は、全方向移動車輪（例えば、オムニホイール、メカナムホイールなど）であってもよい。この移動機構１１としては、公知のものを用いることができるため、その詳細な説明を省略する。
【００７２】
移動制御部１２は、選択部２２によって選択された自己位置を用いて移動機構１１を制御することによって、移動体１の移動を制御する。移動の制御は、移動体１の移動の向きや、移動の開始・停止などの制御であってもよい。例えば、移動経路が設定されている場合には、移動制御部１２は、移動体１がその移動経路に沿って移動するように、移動機構１１を制御してもよい。より具体的には、移動制御部１２は、選択された自己位置が、その移動経路に沿ったものになるように、移動機構１１を制御してもよい。また、移動制御部１２は、地図を用いて、移動の制御を行ってもよい。移動制御部１２による移動機構１１の制御は公知であるため、その詳細な説明を省略する。
【００７３】
次に、自己位置選択装置２の動作について図２のフローチャートを用いて説明する。
（ステップＳ１０１）選択部２２は、自己位置の選択を行うかどうか判断する。そして、自己位置の選択を行う場合には、ステップＳ１０２に進み、そうでない場合には、自己位置の選択を行うと判断するまで、ステップＳ１０１の処理を繰り返す。なお、選択部２２は、例えば、自己位置を選択すると定期的に判断してもよい。
【００７４】
（ステップＳ１０２）第１及び第２の位置推定用センサ３１ａ，３１ｂは、それぞれ移動体１の位置の推定に用いられる情報を取得する。
【００７５】
（ステップＳ１０３）第１及び第２の推定部３２ａ，３２ｂは、それぞれ第１及び第２の位置推定用センサ３１ａ，３１ｂによって取得された情報を用いて、移動体１の自己位置を推定する。
【００７６】
（ステップＳ１０４）第１及び第２の信頼度取得部３３ａ，３３ｂは、それぞれ入力情報を学習器に適用することによって、信頼度を取得する。
【００７７】
（ステップＳ１０５）選択部２２は、第１及び第２の信頼度取得部３３ａ，３３ｂによって取得された第１及び第２の信頼度のうち、高い方の信頼度に対応する自己位置を選択する。その選択された自己位置が、移動体１の移動制御に用いられることになる。そして、ステップＳ１０１に戻る。
【００７８】
なお、図２のフローチャートでは、自己位置を選択する処理のみを示しているが、移動体１においては、その選択された自己位置を用いた移動の制御が移動制御部１２によって行われ、その制御に応じた移動の処理が移動機構１１によって行われてもよい。また、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００７９】
以上のように、本実施の形態による自己位置推定装置２１によれば、学習器を用いて信頼度を取得することによって、自己位置の信頼度をより高い精度で取得することができるようになる。例えば、上記特許文献１に記載された技術のように、信頼度をあらかじめ決められた方法で取得した場合には、想定していない事象（例えば、絶対位置が観測された直後に車輪が滑ることによって、ロータリーエンコーダを用いた自己位置の信頼度が大きく下がることなど）への対応を行うことができないが、学習器を用いることによって、そのような事象にも対応することができるようになるため、信頼度の精度がより高くなる。すなわち、移動体の実際の移動環境における位置推定に基づいて生成された学習器を用いて信頼度を取得するため、その信頼度は、実際の移動環境に応じた高精度のものとなる。また、例えば、ロータリーエンコーダ等の角位置センサによって取得された情報を用いて自己位置の推定を行っている場合に、移動量が通常よりも多いときや、移動体１が滑りやすい領域を移動中であるときには、低い信頼度が取得されることによって、推定結果の信頼性が低いことを知ることができるようになる。また、例えば、測距センサによって取得された情報を用いて自己位置推定を行っている場合に、人などの環境地図に含まれない障害物が多い領域を移動中であるときには、低い信頼度が取得されることによって、推定結果の信頼性が低いことを知ることができるようになる。また、本実施の形態による自己位置選択装置２によれば、第１及び第２の自己位置推定装置２１ａ，２１ｂによって推定された第１及び第２の自己位置のうち、信頼性の高い方の自己位置を選択することができ、より精度の高い自己位置を選択することができるようになる。また、本実施の形態による移動体１によれば、そのようにして選択された自己位置を用いて移動制御を行うことができるため、より精度の高い移動制御を実現することができる。
【００８０】
なお、本実施の形態では、第１及び第２の自己位置推定装置２１ａ，２１ｂが、異なるように自己位置の推定を行うようにするため、第１及び第２の位置推定用センサ３１ａ，３１ｂが、それぞれ異なる情報を取得するセンサである場合について主に説明したが、そうでなくてもよい。例えば、第１及び第２の位置推定用センサ３１ａ，３１ｂによって、同じ情報が取得されてもよい。その場合には、第１及び第２の推定部３２ａ，３２ｂによる自己位置の推定方法が異なっていてもよい。例えば、パーティクルフィルタ、カルマンフィルタ等の状態空間モデルや、ネルダーミード法などを用いて位置の推定が行われる場合に、第１及び第２の推定部３２ａ，３２ｂは、異なるモデルや手法によって、位置の推定を行ってもよい。具体的には、測距センサによって取得された情報を用いて位置推定を行う場合に、第１の推定部３２ａは、パーティクルフィルタを用いて位置の推定を行い、第２の推定部３２ｂは、カルマンフィルタを用いて位置の推定を行ってもよい。また、第１及び第２の推定部３２ａ，３２ｂが同じモデルや同じ手法によって自己位置の推定を行う場合には、第１及び第２の推定部３２ａ，３２ｂは、異なる設定（パラメータ）のモデルや手法によって位置の推定を行ってもよい。例えば、第１及び第２の推定部３２ａ，３２ｂがパーティクルフィルタを用いる場合には、パーティクルの個数がそれぞれ異なっていてもよい。また、例えば、第１及び第２の推定部３２ａ，３２ｂがネルダーミード法を用いる場合には、シンプレックスの頂点の個数がそれぞれ異なっていてもよく、シンプレックスの頂点の初期位置がそれぞれ異なっていてもよい。なお、第１及び第２の位置推定用センサ３１ａ，３１ｂによって同じ情報が取得される場合には、自己位置選択装置２は、１個の位置推定用センサのみを有していてもよい。その場合には、第１及び第２の推定部３２ａ，３２ｂは、１個の位置推定用センサによって取得された情報を用いて、移動体１の自己位置を推定してもよい。
【００８１】
また、自己位置選択装置２によって選択された自己位置が、他の装置等においても用いられる場合には、自己位置選択装置２は、選択部２２によって選択された自己位置を出力する出力部を有していてもよい。その出力は、例えば、所定の機器への通信回線を介した送信でもよく、記録媒体への蓄積でもよい。なお、出力部は、出力を行うデバイス（例えば、通信デバイスなど）を含んでもよく、または含まなくてもよい。また、出力部は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００８２】
また、自己位置推定装置２１によって推定された自己位置が、他の装置等においても用いられる場合には、自己位置推定装置２１は、推定部３２によって推定された自己位置と、信頼度取得部３３によって取得された信頼度とを出力する出力部を有していてもよい。その出力は、例えば、所定の機器への通信回線を介した送信でもよく、記録媒体への蓄積でもよい。なお、出力部は、出力を行うデバイス（例えば、通信デバイスなど）を含んでもよく、または含まなくてもよい。また、出力部は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００８３】
また、本実施の形態では、移動体１が２個の自己位置推定装置２１ａ、２１ｂを有する場合について説明したが、そうでなくてもよい。移動体は、１個の自己位置推定装置２１のみを有しており、その自己位置推定装置２１によって推定された自己位置を用いて移動制御を行ってもよい。その場合には、信頼度は、自己位置の選択以外の用途に用いられてもよい。例えば、移動体が、所定の作業を行うためのマニピュレータ等の構成要素を有している場合には、信頼度に応じて、作業に関する安全率を変更してもよい。この場合には、信頼度が高いほど、安全率が低くされてもよい。例えば、所定の作業を行う構成要素がマニピュレータである場合に、信頼度が高いほど、障害物を検知した際にマニピュレータを停止させる範囲をより小さく設定し、信頼度が低いほど、その範囲をより大きく設定してもよい。
【００８４】
また、本実施の形態において、推定部３２は、自己位置を推定できる情報を複数用いて、自己位置の推定を行ってもよい。例えば、推定部３２は、測距センサによって取得された測距結果と、角位置センサによって取得された駆動軸の回転量や角度とを用いて、自己位置を推定してもよい。この場合には、例えば、パーティクルフィルタ等の状態空間モデルが用いられてもよい。また、この場合には、位置推定用センサ３１は、例えば、２種類以上のセンサ、例えば、測距センサと角位置センサを含んでいてもよい。また、この場合には、訓練用入力情報や入力情報は、各センサに対応した情報、例えば、測距センサに対応した情報と、角位置センサに対応した情報とを含んでいてもよい。
【００８５】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【００８６】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う２個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う２個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【００８７】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
【００８８】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【００８９】
また、上記実施の形態において、移動体１や自己位置選択装置２、自己位置推定装置２１に含まれる２以上の構成要素が通信デバイスや入力デバイス等を有する場合に、２以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【００９０】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【００９１】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【００９２】
以上より、本発明による自己位置推定装置等によれば、自己位置の信頼度をより高い精度で取得できるという効果が得られ、例えば、移動体において自己位置を推定する装置等として有用である。
【符号の説明】
【００９３】
１  移動体、２  自己位置選択装置、２１  自己位置推定装置、２１ａ  第１の自己位置推定装置、２１ｂ  第２の自己位置推定装置、２２  選択部、３１  位置推定用センサ、３１ａ  第１の位置推定用センサ、３１ｂ  第２の位置推定用センサ、３２  推定部、３２ａ  第１の推定部、３２ｂ  第２の推定部、３３  信頼度取得部、３３ａ  第１の信頼度取得部、３３ｂ  第２の信頼度取得部
【図１】
0006832394.tif 000002
【図２】
0006832394.tif 000003
【図３】
0006832394.tif 000004
【図４Ａ】
0006832394.tif 000005
【図４Ｂ】
0006832394.tif 000006