(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024109208
(43)【公開日】2024-08-14
(54)【発明の名称】情報処理装置、プログラム、および情報処理方法
(51)【国際特許分類】
G05D 1/43 20240101AFI20240806BHJP
G01C 21/26 20060101ALI20240806BHJP
G08G 1/09 20060101ALI20240806BHJP
G08G 1/123 20060101ALI20240806BHJP
【FI】
G05D1/02 H
G01C21/26 B
G08G1/09 V
G08G1/123 A
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023013881
(22)【出願日】2023-02-01
(71)【出願人】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100140958
【弁理士】
【氏名又は名称】伊藤 学
(74)【代理人】
【識別番号】100137888
【弁理士】
【氏名又は名称】大山 夏子
(74)【代理人】
【識別番号】100190942
【弁理士】
【氏名又は名称】風間 竜司
(72)【発明者】
【氏名】村田 悠太朗
【テーマコード(参考)】
2F129
5H181
5H301
【Fターム(参考)】
2F129AA03
2F129BB20
2F129BB22
2F129BB26
2F129BB33
2F129CC03
2F129CC14
2F129CC15
2F129DD10
2F129DD29
2F129EE52
2F129EE78
2F129FF15
2F129FF20
2F129GG17
2F129GG18
2F129HH04
2F129HH12
5H181AA27
5H181CC03
5H181CC04
5H181CC11
5H181CC12
5H181CC14
5H181FF04
5H181FF07
5H181FF13
5H181FF14
5H301AA02
5H301BB10
5H301BB14
5H301CC03
5H301CC06
5H301CC10
5H301DD07
5H301DD17
5H301GG09
5H301GG10
5H301GG12
5H301GG14
5H301GG17
5H301LL14
(57)【要約】
【課題】自律移動装置の位置の座標をより精度高く変換することが可能な、新規かつ改良された技術を提供する。
【解決手段】第1の地図において自律移動装置の位置を示す位置情報を取得する取得部と、前記第1の地図と第2の地図の間で対応する位置を示す複数の対応点のうち、前記位置からの近傍点を複数選択する選択部と、選択された前記近傍点に基づき、前記位置情報を前記第2の地図での座標値に変換する第1の変換パラメータを算出する変換値算出部と、前記第1の変換パラメータを用いて、前記位置情報を前記第2の地図での座標に変換する座標変換部と、を備える、情報処理装置。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1の地図において自律移動装置の位置を示す位置情報を取得する取得部と、
前記第1の地図と第2の地図の間で対応する位置を示す複数の対応点のうち、前記位置からの近傍点を複数選択する選択部と、
選択された前記近傍点に基づき、前記位置情報を前記第2の地図での座標値に変換する第1の変換パラメータを算出する変換値算出部と、
前記第1の変換パラメータを用いて、前記位置情報を前記第2の地図での座標に変換する座標変換部と、
を備える、情報処理装置。
【請求項2】
前記選択部は、前記自律移動装置の前記位置から前記対応点までの到達難易度を示す移動コストを算出し、
前記移動コストに基づき、前記対応点の中から複数の前記近傍点を選択する、
請求項1に記載の情報処理装置。
【請求項3】
前記選択部は、前記対応点のうち、前記移動コストがより低い対応点から順に、2以上の前記対応点を前記近傍点として選択する、
請求項2に記載の情報処理装置。
【請求項4】
前記選択部は、前記第1の地図または前記第2の地図において、前記自律移動装置が移動可能な範囲を示す移動可能領域の情報を取得し、
前記移動可能領域の情報に基づき、前記位置から前記対応点の各々までの前記自律移動装置の移動距離を算出し、
前記移動距離がより短い前記対応点ほど、前記移動コストが低いと見做す、
請求項2に記載の情報処理装置。
【請求項5】
前記変換値算出部は、前記第1の地図を複数の領域に分割し、
前記領域ごとに前記第1の変換パラメータを算出し、
前記座標変換部は、前記自律移動装置の前記位置が属する前記領域の前記第1の変換パラメータを用いて、前記位置の前記位置情報の座標を前記第2の地図での座標に変換する、
請求項1に記載の情報処理装置。
【請求項6】
前記変換値算出部は、選択された前記近傍点の、前記第1の地図上での座標と、前記第2の地図上での座標に基づき、前記第1の変換パラメータを算出する、
請求項1に記載の情報処理装置。
【請求項7】
前記変換値算出部は、選択された前記近傍点の、前記第1の地図上での座標を、前記第2の地図での座標に変換するための行列を算出し、
前記行列に基づいて前記第1の変換パラメータを算出する、
請求項6に記載の情報処理装置。
【請求項8】
前記第2の地図を表示する表示部と、
前記第2の地図での座標へ変換後の前記自律移動装置の前記位置情報に基づき、前記自律移動装置の前記位置を前記第2の地図上に表示する表示画面を生成し、
前記表示画面を前記表示部に出力させる、画面制御部
をさらに備える、請求項1に記載の情報処理装置。
【請求項9】
ユーザの入力操作を受け付ける入力部と、
前記入力部における前記ユーザの入力操作に基づき、前記第1の地図と前記第2の地図の前記対応点を設定する設定部、をさらに備える、
請求項8に記載の情報処理装置。
【請求項10】
前記設定部は、前記入力部における前記ユーザの入力操作に基づき、前記表示部に表示された前記第1の地図および前記第2の地図上で指定された位置を、前記第1の地図と前記第2の地図の前記対応点に設定する、
請求項9に記載の情報処理装置。
【請求項11】
前記設定部は、前記第1の地図および前記第2の地図に対し画像解析を行うことにより、前記第1の地図および前記第2の地図の前記対応点を設定する、
請求項9に記載の情報処理装置。
【請求項12】
前記設定部は、前記第1の地図および前記第2の地図の各々から抽出された特徴点のマッチング処理を行うことにより、前記第1の地図および前記第2の地図の前記対応点を設定する、
請求項9に記載の情報処理装置。
【請求項13】
前記座標変換部は、ユーザの入力操作により指定された前記第2の地図上の位置に基づき、前記自律移動装置が移動する目的地の位置を指示する移動指示情報を生成し、
前記移動指示情報を前記自律移動装置へ通知する、
請求項8に記載の情報処理装置。
【請求項14】
前記変換値算出部は、前記第2の地図上の位置の座標を、前記第1の地図での座標に変換する第2の変換パラメータを算出し、
前記第2の変換パラメータに基づき、前記移動指示情報を生成する、
請求項13に記載の情報処理装置。
【請求項15】
前記座標変換部は、前記入力操作により指定された前記第2の地図上の位置の座標を、前記第2の変換パラメータに基づいて前記第1の地図での座標に変換し、
前記第1の地図での座標に変換後の当該位置に基づき、前記移動指示情報を生成する、
請求項14に記載の情報処理装置。
【請求項16】
前記変換値算出部は、算出した前記第1の変換パラメータに基づき、前記第2の変換パラメータを算出する、
請求項15に記載の情報処理装置。
【請求項17】
前記第1の地図は、互いに異なる複数の前記自律移動装置の各々が保持する地図情報であり、
前記取得部は、前記自律移動装置の各々から、前記自律移動装置の各々の前記位置の前記位置情報を取得し、
前記変換値算出部は、前記自律移動装置ごとに、前記第1の変換パラメータおよび前記第2の変換パラメータの少なくともいずれかまたは両方を算出する、
請求項14に記載の情報処理装置。
【請求項18】
前記座標変換部は、前記自律移動装置ごとに算出された前記第1の変換パラメータに基づき、前記自律移動装置の各々の前記位置を、前記第2の地図での座標に変換し、
前記画面制御部は、前記第2の地図での座標に変換後の前記位置に基づき、互いに異なる複数の前記自律移動装置の各々の前記位置を、前記第2の地図上に表示する表示画面を生成する、
請求項17に記載の情報処理装置。
【請求項19】
コンピュータを、
第1の地図において自律移動装置の位置を示す位置情報を取得する取得部と、
前記第1の地図と第2の地図の間で対応する位置を示す複数の対応点のうち、前記位置からの近傍点を複数選択する選択部と、
選択された前記近傍点に基づき、前記位置情報を前記第2の地図での座標値に変換する第1の変換パラメータを算出する変換値算出部と、
前記第1の変換パラメータを用いて、前記位置情報を前記第2の地図での座標に変換する座標変換部と、
を備える、情報処理装置として機能させるための、プログラム。
【請求項20】
第1の地図において自律移動装置の位置を示す位置情報を取得することと、
前記第1の地図と第2の地図の間で対応する位置を示す複数の対応点のうち、前記位置からの近傍点を複数選択することと、
選択された前記近傍点に基づき、前記位置情報を前記第2の地図での座標値に変換する第1の変換パラメータを算出することと、
前記第1の変換パラメータを用いて、前記位置情報を前記第2の地図での座標に変換することと、
を含む、コンピュータにより実行される情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、プログラム、および情報処理方法に関する。
【背景技術】
【0002】
近年、SLAM(Simultaneous Localization And Mapping)技術を用いて、自律制御により移動する自律移動装置の、位置を管理するための技術が検討されている。例えば、特許文献1には、自律移動装置が構築して内部的に保持する環境地図の座標を、人が位置の管理に用いる平面直角座標系での座標に変換する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、地図構築時の誤差の蓄積等の要因で、自律移動装置の保持する地図に歪みが生じると、座標変換後の自律移動装置の位置情報の精度が低下する場合があった。
【0005】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、自律移動装置の位置の座標をより精度高く変換することが可能な、新規かつ改良された技術を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある観点によれば、第1の地図において自律移動装置の位置を示す位置情報を取得する取得部と、前記第1の地図と第2の地図の間で対応する位置を示す複数の対応点のうち、前記位置からの近傍点を複数選択する選択部と、選択された前記近傍点に基づき、前記位置情報を前記第2の地図での座標値に変換する第1の変換パラメータを算出する変換値算出部と、前記第1の変換パラメータを用いて、前記位置情報を前記第2の地図での座標に変換する座標変換部と、を備える、情報処理装置が提供される。
【0007】
前記選択部は、前記自律移動装置の前記位置から前記対応点までの到達難易度を示す移動コストを算出し、前記移動コストに基づき、前記対応点の中から複数の前記近傍点を選択してもよい。
【0008】
前記選択部は、前記対応点のうち、前記移動コストがより低い対応点から順に、2以上の前記対応点を前記近傍点として選択してもよい。
【0009】
前記選択部は、前記第1の地図または前記第2の地図において、前記自律移動装置が移動可能な範囲を示す移動可能領域の情報を取得し、前記移動可能領域の情報に基づき、前記位置から前記対応点の各々までの前記自律移動装置の移動距離を算出し、前記移動距離がより短い前記対応点ほど、前記移動コストが低いと見做してもよい。
【0010】
前記変換値算出部は、前記第1の地図を複数の領域に分割し、前記領域ごとに前記第1の変換パラメータを算出し、前記座標変換部は、前記自律移動装置の前記位置が属する前記領域の前記第1の変換パラメータを用いて、前記位置の前記位置情報の座標を前記第2の地図での座標に変換してもよい。
【0011】
前記変換値算出部は、選択された前記近傍点の、前記第1の地図上での座標と、前記第2の地図上での座標に基づき、前記第1の変換パラメータを算出してもよい。
【0012】
前記変換値算出部は、選択された前記近傍点の、前記第1の地図上での座標を、前記第2の地図での座標に変換するための行列を算出し、前記行列に基づいて前記第1の変換パラメータを算出してもよい。
【0013】
前記情報処理装置は、前記第2の地図を表示する表示部と、前記第2の地図での座標へ変換後の前記自律移動装置の前記位置情報に基づき、前記自律移動装置の前記位置を前記第2の地図上に表示する表示画面を生成し、前記表示画面を前記表示部に出力させる、画面制御部をさらに備えてもよい。
【0014】
前記情報処理装置は、ユーザの入力操作を受け付ける入力部と、前記入力部における前記ユーザの入力操作に基づき、前記第1の地図と前記第2の地図の前記対応点を設定する設定部、をさらに備えてもよい。
【0015】
前記設定部は、前記入力部における前記ユーザの入力操作に基づき、前記表示部に表示された前記第1の地図および前記第2の地図上で指定された位置を、前記第1の地図と前記第2の地図の前記対応点に設定してもよい。
【0016】
前記設定部は、前記第1の地図および前記第2の地図に対し画像解析を行うことにより、前記第1の地図および前記第2の地図の前記対応点を設定してもよい。
【0017】
前記設定部は、前記第1の地図および前記第2の地図の各々から抽出された特徴点のマッチング処理を行うことにより、前記第1の地図および前記第2の地図の前記対応点を設定してもよい。
【0018】
前記座標変換部は、ユーザの入力操作により指定された前記第2の地図上の位置に基づき、前記自律移動装置が移動する目的地の位置を指示する移動指示情報を生成し、前記移動指示情報を前記自律移動装置へ通知してもよい。
【0019】
前記変換値算出部は、前記第2の地図上の位置の座標を、前記第1の地図での座標に変換する第2の変換パラメータを算出し、前記第2の変換パラメータに基づき、前記移動指示情報を生成してもよい。
【0020】
前記座標変換部は、前記入力操作により指定された前記第2の地図上の位置の座標を、前記第2の変換パラメータに基づいて前記第1の地図での座標に変換し、前記第1の地図での座標に変換後の当該位置に基づき、前記移動指示情報を生成してもよい。
【0021】
前記変換値算出部は、算出した前記第1の変換パラメータに基づき、前記第2の変換パラメータを算出してもよい。
【0022】
前記第1の地図は、互いに異なる複数の前記自律移動装置の各々が保持する地図情報であってもよく、前記取得部は、前記自律移動装置の各々から、前記自律移動装置の各々の前記位置の前記位置情報を取得し、前記変換値算出部は、前記自律移動装置ごとに、前記第1の変換パラメータおよび前記第2の変換パラメータの少なくともいずれかまたは両方を算出してもよい。
【0023】
前記座標変換部は、前記自律移動装置ごとに算出された前記第1の変換パラメータに基づき、前記自律移動装置の各々の前記位置を、前記第2の地図での座標に変換し、前記画面制御部は、前記第2の地図での座標に変換後の前記位置に基づき、互いに異なる複数の前記自律移動装置の各々の前記位置を、前記第2の地図上に表示する表示画面を生成してもよい。
【0024】
また、上記課題を解決するために本発明の別の観点によれば、コンピュータを、第1の地図において自律移動装置の位置を示す位置情報を取得する取得部と、前記第1の地図と第2の地図の間で対応する位置を示す複数の対応点のうち、前記位置からの近傍点を複数選択する選択部と、選択された前記近傍点に基づき、前記位置情報を前記第2の地図での座標値に変換する第1の変換パラメータを算出する変換値算出部と、前記第1の変換パラメータを用いて、前記位置情報を前記第2の地図での座標に変換する座標変換部と、を備える、情報処理装置として機能させるための、プログラムが提供される。
【0025】
また、上記課題を解決するために本発明の別の観点によれば、第1の地図において自律移動装置の位置を示す位置情報を取得することと、前記第1の地図と第2の地図の間で対応する位置を示す複数の対応点のうち、前記位置からの近傍点を複数選択することと、選択された前記近傍点に基づき、前記位置情報を前記第2の地図での座標値に変換する第1の変換パラメータを算出することと、前記第1の変換パラメータを用いて、前記位置情報を前記第2の地図での座標に変換することと、を含む、コンピュータにより実行される情報処理方法が提供される。
【発明の効果】
【0026】
以上説明したように本発明によれば、自律移動装置の位置の座標をより精度高く変換することが可能な、新規かつ改良された技術が提供される。
【図面の簡単な説明】
【0027】
【
図1】本発明の一実施形態による情報処理システムの概要を説明する図である。
【
図2】情報処理装置20が保持するサーバ地図の一例を示す図である。
【
図3】自律移動装置10が内部的に保持する自律移動装置地図の一例を示す図である。
【
図4】自律移動装置10が内部的に保持する自律移動装置地図の他の一例を示す図である。
【
図5】自律移動装置の位置の座標変換前後での誤差について説明する図である。
【
図6】本発明の一実施形態による自律移動装置10の機能構成例を示すブロック図である。
【
図7】本実施形態による情報処理装置20の構成例を示すブロック図である。
【
図8】制御部250の有する機能を説明するブロック図である。
【
図9】設定部251により設定される、自律移動装置地図とサーバ地図の対応点の一例を説明する図である。
【
図10】ユーザの入力操作に基づき設定部251が設定する対応点の一例について説明する図である。
【
図11】選択部252による移動コストの算出および近傍点の選択について説明する図である。
【
図12】本情報処理システムの第1の動作例における、事前処理のフローチャートである。
【
図13】本情報処理システムの第1の動作例における、事前処理完了後の動作例を示すフローチャートである。
【
図14】本情報処理システムの第2の動作例における事前処理のフローチャート図である。
【
図15】本情報処理システムの第2の動作例における、事前処理完了後の動作例を示すフローチャートである。
【
図16】本情報処理システムの第3の動作例における、逆変換パラメータ算出処理の動作例を示すフローチャートである。
【
図17】本情報処理システムの第3の動作例における、移動指示情報の生成処理の動作例を示すフローチャートである。
【
図18】本情報処理システムの第4の動作例を説明するフローチャートである。
【
図19】本発明の一実施形態による情報処理装置20のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0028】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0029】
また、本明細書および図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字またはアルファベットを付して区別する場合もある。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、複数の構成要素の各々に同一符号のみを付する。
【0030】
<1.概要>
まず、本発明の一実施形態による情報処理システムの概要について説明する。本発明は、1以上の自律移動装置の各々から、各自律移動装置の自己位置を示す位置情報を受信し、サーバ地図での座標系に当該位置情報を変換する変換パラメータを算出する情報処理装置に関する。
【0031】
<1-1.システム構成例>
図1は、本発明の一実施形態による情報処理システムの概要を説明する図である。
図1に示すように、本実施形態による情報処理システムは、自律移動装置10および情報処理装置20を有する。自律移動装置10および情報処理装置20は、互いに通信可能に構成される。
【0032】
(自律移動装置10)
自律移動装置10は、車輪等の移動機構を有し、自律制御により移動することが可能な自律移動装置である。自律移動装置10の用途は特に限定されず、自律移動装置10は、例えば掃除ロボットであってもよいし、配膳等の各種サービスをユーザに提供するサービスロボット等であってもよい。
【0033】
図1に示した例では、本情報処理システムは自律移動装置10A~自律移動装置10Cの3の自律移動装置を有する。自律移動装置10A~自律移動装置10Cは、それぞれ、空間S1内を自律的に移動している。
【0034】
このような自律移動装置10は、SLAM技術を用いて、自律移動装置10の周辺環境の地図を構築しながら、自己位置推定を行う機能を有する。以下、本明細書では、自律移動装置10の各々が構築する地図を、自律移動装置地図と称する。自律移動装置地図は、第1の地図の一例である。
【0035】
自律移動装置10の各々は、自己位置推定の結果に基づき、自律移動装置10自身の位置を示す位置情報を情報処理装置20へ送信する。このとき、自律移動装置10の位置の位置情報は、自律移動装置10が内部的に保持する自律移動装置地図での座標により表される。
【0036】
(情報処理装置20)
情報処理装置20は、自律移動装置10の各々から自律移動装置10の位置の位置情報を受信し、当該位置情報を情報処理装置20が保持する地図での座標に変換する機能を有する。以下、本明細書において、情報処理装置20が保持する地図をサーバ地図と称する。サーバ地図は、第2の地図の一例である。
【0037】
情報処理装置20は、ワークステーションまたはPCのような汎用コンピュータであってもよいし、クラウドサーバであってもよい。
【0038】
また、情報処理装置20は、表示部270を備えていてもよい。情報処理装置20は、サーバ地図での座標に変換後の自律移動装置10の位置情報に基づいて、自律移動装置10の各々の位置をサーバ地
図MW上に示す表示画面を生成してもよい。情報処理装置20は、生成した表示画面を表示部270に出力させてもよい。これにより、情報処理装置20のユーザは、表示部270に表示されたサーバ地
図MW上で、自律移動装置10の各々の位置を確認することが出来る。
【0039】
情報処理装置20が保持するサーバ地図は、自律移動装置10の各々の自律移動装置地図と対応する領域を少なくとも含む地図である。サーバ地図には、ユーザが自律移動装置10の位置を表示させたい任意の地図の画像データが用いられてよい。
【0040】
図2は、情報処理装置20が保持するサーバ地図の一例を示す図である。
図2に示したサーバ地
図MW1は、
図1に示した空間S1を上空からみたフロアマップである。サーバ地
図MW1には、自律移動装置10が移動可能な領域である移動可能領域MA1と、壁の位置を示す壁位置W1の位置が示されていてもよい。
【0041】
また、情報処理装置20は、ユーザの入力操作に基づき、サーバ地
図MW上で指定された位置への移動指示情報を自律移動装置10の各々へ送信する機能を有していてもよい。
【0042】
<1-2.課題の整理>
ここで、自律移動装置によるSLAM技術を用いた環境地図の構築は、一般に、自律移動装置と周辺環境の物の位置との距離の計測結果と、自律移動装置の自己位置の推定結果に基づいて行われる。自律移動装置は、センサにより、周辺環境に位置する物までの距離と、自律移動装置の自己位置を推定するためのセンシングデータを取得する。このとき、センシングデータに含まれる誤差またはノイズの蓄積により、自律移動装置が構築する環境地図に歪みが生じる場合がある。
【0043】
なお、本明細書において、自律移動装置により構築される環境地図の歪みとは、周辺環境の物の位置の、大域的な位置関係(相対的な位置関係)と、実際の位置関係とに誤差が生じる事を指す。
【0044】
例えば、車輪を有する自律移動装置の自己位置推定に用いられる手法の一例として、車輪の回転角のセンシング結果に基づき自己位置を算出するオドメトリ(デッドレコニングとも称される)の手法が挙げられる。この場合、自律移動装置は車輪の回転角を検出する内界センサを有する。この手法では車輪の回転角から算出された車輪の回転速度に基づき自律移動装置の自己位置推定が行われるが、計算の過程で推定結果に累積誤差が発生することが知られている。
【0045】
自律移動装置による環境地図の構築において、自律移動装置の自己位置、および、周辺の環境との距離計測結果の誤差が蓄積すると、構築される環境地図の各位置の大域的な位置関係が保証されなくなる場合がある。
【0046】
自律移動装置による環境地図の構築は、自律移動装置の現在の位置から、周辺環境に位置する物との距離の計測結果に基づき構築される。例えば、自律移動装置は、自身の周囲にある壁との距離を計測する。自律移動装置は、移動しながら、移動経路上の異なる位置から周辺環境の物との距離の計測を行う。このため、自律移動装置が距離計測を行った時点での自律移動装置の位置から、距離計測範囲内にある周辺環境の物の位置関係は、比較的精度高く取得され得る。しかし、自律移動装置の移動距離が長くなり、自己位置推定結果と実際の自律移動装置の位置とのズレが蓄積するほど、構築される環境地図の大域的な周辺環境の物の位置関係の誤差が大きくなる。
【0047】
図3は、自律移動装置10が内部的に保持する自律移動装置地図の一例を示す図である。
図3に示した自律移動装置地
図ML1は、
図1に示した空間S1を移動している自律移動装置10Aにより構築された空間S1を示す地図であるとする。
図3に示した自律移動装置地
図ML1は、
図2に示したサーバ地
図MW1と比較して、地図に歪みが生じている事が理解される。
【0048】
また、
図4は、自律移動装置10が内部的に保持する自律移動装置地図の他の一例を示す図である。
図4に示した自律移動装置地
図ML2は、
図1に示した自律移動装置10Bにより構築された、空間S1を示す地図であるとする。
図4に示した自律移動装置地
図ML2についても、
図2に示したサーバ地
図MW1と比較して、地図に歪みが生じていることが理解される。さらに、
図3に示した自律移動装置地
図ML1および
図4に示した自律移動装置地
図ML2の間で、各地図に生じている歪みは異なっていることが理解される。
【0049】
このように、自律移動装置により構築される自律移動装置地図が歪みを含んでいる場合、自律移動装置の位置をサーバ地図での座標に変換する際に、実際の自律移動装置の位置と、変換後の地図上での位置との誤差が大きくなる可能性がある。
【0050】
図5は、自律移動装置の位置の座標変換前後での誤差について説明する図である。
図5の左側に示したように、自律移動装置10Aが、空間S1の実位置RP1の位置に居るとするとする。
【0051】
自律移動装置10Aは、
図5の中央に示したように、自己位置推定を行った結果、自律移動装置10A自身の位置を自律移動装置地
図ML1の推定自己位置LP1の位置として推定したとする。自律移動装置地
図ML1は、実際の空間S1での環境の大域的な位置関係と比較して、歪みを含んでいることが理解される。
【0052】
自律移動装置10Aにより推定された推定自己位置LP1の位置情報に基づき、自律移動装置地
図ML1が含む歪みを考慮せずにサーバ地図での座標への変換が行われると、
図5の右側のサーバ地
図MW1に示したように、自律移動装置10Aの実際の空間S1における位置(実位置RP1)と、座標変換後の位置情報に基づくサーバ地
図MW1上の位置である変換後位置SP1とに、誤差が生じてしまう。
【0053】
そこで、本発明の一実施形態による情報処理システムは上記の事情に鑑みて着想されたものであり、自律移動装置の位置の座標をより精度高く変換することが可能な、新規かつ改良された技術を実現するものである。
【0054】
このために、本発明の一実施形態による情報処理装置20は、自律移動装置10の各々により構築される自律移動装置地図と、サーバ地図との間で、対応する位置を示す複数の対応点の中から、自律移動装置10の各々の位置からの近傍点を複数選択する。
【0055】
さらに、本実施形態による情報処理装置20は、選択した複数の近傍点に基づいて、自律移動装置の位置をサーバ地図での座標値に変換する第1の変換パラメータを算出する。
【0056】
このとき、本実施形態による情報処理装置20は、自律移動装置10が移動可能領域を移動し、各対応点へ到達するまでの到達難易度を示す移動コストを算出してもよい。移動コストは、例えば、自律移動装置10が、現在の位置から移動可能領域を移動して各対応点へ到達するための距離であってもよい。情報処理装置20は、移動コストがより低い対応点から順に2以上の対応点を、近傍点として選択してもよい。
【0057】
上記で説明したように、自律移動装置により構築された自律移動装置地図においては、移動距離がより離れた2地点よりも、移動距離がより近い2地点の方が、センサ誤差による位置関係のズレの影響をより受けにくく、位置関係の精度が高いことが推定される。従って、情報処理装置20が、自律移動装置地図とサーバ地図との対応点のうち、自律移動装置の位置からの移動距離がより近い近傍点に基づいて変換パラメータを算出することで、より精度の高い変換パラメータを算出することが可能となる。
【0058】
また、情報処理装置20は、算出した第1の変換パラメータを用いて、自律移動装置10から取得した自律移動装置10の位置の位置情報を、サーバ地図での座標に変換する。
【0059】
これにより、情報処理装置20は、自律移動装置地図とサーバ地図との間の対応関係に基づき算出された変換パラメータにより、自律移動装置の位置をサーバ地図での座標に変換する処理を行うことが出来る。従って、自律移動装置地図が歪みを含む場合であっても、自律移動装置の位置の座標をより精度高くサーバ地図での座標に変換することが出来る。
【0060】
さらに、情報処理装置20は、算出した第1の変換パラメータに基づき、サーバ地図での位置の座標を、自律移動装置地図での座標に逆変換する第2の変換パラメータを算出してもよい。
【0061】
また、情報処理装置20は、第2の変換パラメータに基づき、サーバ地図上で指定された位置を自律移動装置地図での座標に逆変換し、逆変換後の座標を用いて、自律移動装置への移動指示を含む移動指示情報を生成してもよい。情報処理装置20は、生成した移動指示情報を自律移動装置10へ送信してもよい。
【0062】
これにより、情報処理装置20は、例えばユーザからの自律移動装置への移動位置の指示をサーバ地図上の位置の指定によって受け付け、第2の変換パラメータを用いて、より精度の高い移動指示情報を生成することが出来る。
【0063】
以上、
図1を参照して、本発明の一実施形態による情報処理システムの概要を説明した。なお、
図1では、本実施形態による情報処理システムが、自律移動装置10A~自律移動装置10Cの3の自律移動装置を有する例を説明した。しかし、自律移動装置10の数は係る例に限定されない。例えば、本実施形態による情報処理システムは、1の自律移動装置10を有していてもよい。または、本実施形態に係る情報処理システムは、4以上の自律移動装置10を有していてもよい。
【0064】
また、
図1では、情報処理装置20が、汎用コンピュータである例を説明したが、本発明は係る例に限定されない。例えば、情報処理装置20は、タブレット端末、スマートフォン、携帯電話、またはPC(Personal Computer)等の情報処理端末により実現されてもよい。
【0065】
以下、上記を実現する自律移動装置10、および、情報処理装置20の機能構成例について詳細に説明する。
【0066】
<2.機能構成例>
<2-1.自律移動装置10>
図6は、本発明の一実施形態による自律移動装置10の機能構成例を示すブロック図である。
図6に示すように、自律移動装置10は、通信部110、制御部120、センサ部130、駆動部140、および、記憶部150を有する。
【0067】
(通信部110)
通信部110は、制御部120の制御に従い、他の装置と通信を行う機能を有する。例えば、通信部110は、制御部120により推定された自律移動装置10の位置を示す位置情報を、情報処理装置20へ送信する。また、通信部110は、制御部120により生成された自律移動装置地図を情報処理装置20へ送信する。
【0068】
また、通信部110は、情報処理装置20から、自律移動装置10の移動先の目的地の位置を指示する、移動指示情報を受信してもよい。
【0069】
(制御部120)
制御部120は、自律移動装置10の動作全般を制御する機能を有する。例えば、制御部120は、通信部110を制御し、自律移動装置10の位置の位置情報と、自律移動装置地図を情報処理装置20へ送信させる。
【0070】
また、制御部120は、後述する駆動部140を制御し、自律移動装置10の移動を制御する機能を有する。例えば、制御部120は、情報処理装置20から移動指示情報を受信した場合、当該移動指示情報に含まれる目的地の位置情報に基づいて、自律移動装置10を当該目的地まで移動させる制御を行ってもよい。
【0071】
さらに、制御部120は、SLAM技術を用いて、センサ部130により取得されるセンシングデータに基づき、自律移動装置10の周辺環境の地図情報(自律移動装置地図)の生成、および、自律移動装置10の自己位置の推定を行う機能を有する。
【0072】
(センサ部130)
センサ部130は、制御部120による環境地図の生成、および、自己位置推定の処理に用いられる各種センシングデータを取得する機能を有する。
【0073】
例えば、センサ部130は、自律移動装置10の位置姿勢等の状態を示すセンシングデータを取得する内界センサを含んでいてよい。内界センサは、例えば、IMU(Inertial Measurement Unit)、ジャイロセンサ、または、角速度センサであってもよい。制御部120は、センサ部130により取得された自律移動装置10の移動速度、移動方向、姿勢および傾き等のセンシングデータに基づき、自己位置推定を行ってもよい。
【0074】
また、センサ部130は、自律移動装置10の周辺環境に位置する物との距離を計測することが可能な外界センサをさらに含んでいてよい。外界センサは、例えば、Lidar(Light Detection And Ranging)センサ、測距センサ、カメラ、超音波距離センサ(ソナー)、または、ミリ波レーダー等であってもよい。制御部120は、センサ部130により計測された周辺環境の物との距離に基づき、自律移動装置地図を生成してもよい。
【0075】
(駆動部140)
駆動部140は、制御部120の制御に従い、自律移動装置10の移動を実行する機能を有する。駆動部140は、車輪等の、自律移動装置10が移動するための移動機構と、当該移動機構を駆動制御するモータなどの駆動装置により実現されてもよい。
【0076】
(記憶部150)
記憶部150は、制御部120を動作させるためのプログラムおよびデータを記憶する。また、記憶部150は、制御部120の動作の過程で必要となる各種データを一時的に記憶することもできる。
【0077】
また、記憶部150は、制御部120により生成された自律移動装置地図の地図情報を記憶する。また、記憶部150は、制御部120により推定された自律移動装置10の位置の位置情報を保持する。
【0078】
以上、本実施形態に係る自律移動装置10の機能構成例について述べた。なお、
図6を用いて説明した上記の機能構成例はあくまで一例であり、本実施形態に係る自律移動装置10の構成は係る例に限定されない。
【0079】
例えば、自律移動装置10は、ユーザによる情報の入力を受け付ける入力部、および、各種の情報を表示する表示部などをさらに備えてもよい。本実施形態に係る自律移動装置10の構成は、仕様および運用に応じて柔軟に変形可能である。
【0080】
<2-2.情報処理装置20>
次に、
図7および
図8を参照して、本実施形態による情報処理装置20の構成例を説明する。
図7は、本実施形態による情報処理装置20の構成例を示すブロック図である。
図7に示すように、情報処理装置20は、通信部210、記憶部230、制御部250、表示部270、および、入力部290を有する。
【0081】
(通信部210)
通信部210は、制御部250の制御に従い、他の装置と通信を行う機能を有する。例えば、通信部210は、自律移動装置10から、自律移動装置10の位置の位置情報を受信する。また、通信部210は、自律移動装置10から、自律移動装置10の保持する自律移動装置地図の地図情報(自律移動装置地図情報)を受信する。
【0082】
また、通信部210は、制御部250の制御に従い、自律移動装置10へ移動指示情報を送信してもよい。
【0083】
(記憶部230)
記憶部230は、制御部250を動作させるためのプログラムおよびデータを記憶する。また、記憶部230は、制御部250の動作の過程で必要となる各種データを一時的に記憶することもできる。
【0084】
また、記憶部230は、サーバ地図の地図情報(サーバ地図情報)を記憶する。情報処理装置20のユーザは、自律移動装置10の位置を表示させたい任意の地図を情報処理装置20に設定することが出来る。サーバ地図情報は、例えば、見取り図またはフロアマップのような屋内地図であってもよいし、地形図等の屋外地図であってもよい。サーバ地図情報は、画像データであってもよい。
【0085】
情報処理装置20は、入力部290におけるユーザの入力操作によりサーバ地図情報の設定を受け付け、記憶部230に記憶させてもよい。または、情報処理装置20は、通信部210を介してサーバ地図の画像データを受信することにより、サーバ地図情報の設定を受け付けてもよい。
【0086】
また、記憶部230は、自律移動装置10の各々から受信した自律移動装置地図情報を記憶する。または、記憶部230は、情報処理装置20の管理者により予め設定された自律移動装置地図情報を記憶していてもよい。
【0087】
また、記憶部230は、後述する制御部250により算出される、座標変換処理に用いられる変換パラメータの情報を記憶する。
【0088】
(制御部250)
制御部250は、情報処理装置20の動作全般を制御する機能を有する。例えば、制御部250は、通信部210を制御して、自律移動装置10の位置の位置情報を受信させる。
【0089】
このような制御部250は、自律移動装置10から受信した自律移動装置の位置の座標を、自律移動装置地図での座標からサーバ地図での座標に変換する、変換パラメータを算出する処理を行う機能を有する。制御部250は、算出した変換パラメータに基づき、座標変換処理を行う。
【0090】
また、制御部250は、サーバ地図の表示を含む画面等、各種情報を含む画面を生成し、生成した画面を表示部270へ表示させる機能を有していてもよい。
【0091】
また、制御部250は、変換後の座標に基づく自律移動装置への移動指示情報の生成を行ってもよい。制御部250の有する機能の詳細は、後に
図8を参照してより詳細に説明する。
【0092】
(表示部270)
表示部270は、制御部250の制御に従い、各種の情報を画面出力する機能を有する。表示部270は、例えばCRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)、OLED(Organic Light Emitting Diode)装置等の表示装置であってもよい。または、表示部270は、情報処理装置20と通信可能に構成された、情報処理装置20とは別体の表示装置として実現されてもよい。この場合、表示部270は、インターネットを通じて、情報処理装置20から配信された表示データに基づき画面を出力してもよい。配信される表示データは、例えば、HTML(Hyper Text Markup Language)とJavaScript(登録商標)で構成されたデータであってもよい。
【0093】
例えば、表示部270は、制御部250の制御に従い、サーバ地図を表示する。また、表示部270は、制御部250の制御に従い、自律移動装置の位置を当該サーバ地図上に示す画面を表示する。
【0094】
(入力部290)
入力部290は、ユーザによる入力操作を受け付ける機能を有する。入力部290は、例えば、コンピュータの操作全般に用いられるマウス、キーボート、テンキー、ボタン、コントローラー等の入力装置により実現されてもよい。また、入力部290は、インターネットを通じて通信部210が受信したデータを、入力データとして取得してもよい。
【0095】
または、情報処理装置20の入力部290としての機能は、表示部270と一体的に構成されていてもよい。この場合、表示部270および入力部290は、タッチパネルにより実現されてもよい。
【0096】
また、入力部290は、音声入力を受け付けるマイクにより実現されてもよい。
【0097】
(制御部250の機能の詳細)
続いて、
図8を参照して、制御部250の機能をより詳細に説明する。
図8は、制御部250の有する機能を説明するブロック図である。
図8に示すように、制御部250は、設定部251、選択部252、変換値算出部253、座標変換部254、画面制御部255、および、指示部256としての機能を有する。
【0098】
(設定部251)
設定部251は、自律移動装置10から受信した自律移動装置地図と、記憶部230に記憶されているサーバ地図との対応点を設定する機能を有する。対応点とは、自律移動装置地図とサーバ地図との間で対応する位置を指す。
【0099】
図9は、設定部251により設定される、自律移動装置地図とサーバ地図の対応点の一例を説明する図である。
図9の左側に示したサーバ地
図MW1は、情報処理装置20が記憶しているサーバ地図を示している。また、
図9の中央および右側に示した自律移動装置地
図ML1、および、自律移動装置地
図ML2は、
図1に示した自律移動装置10A、および、自律移動装置10Bのそれぞれによって生成された自律移動装置地図であるとする。
【0100】
対応点Pa~対応点Pd各々は、サーバ地
図MW1と、自律移動装置地
図ML1、および自律移動装置地
図ML2のそれぞれとの間で、同一の位置に対応する点を指す。
【0101】
設定部251は、入力部290におけるユーザの入力操作に基づき、自律移動装置地図とサーバ地図との対応点を設定してもよい。例えば、設定部251は、入力部290におけるユーザの入力操作により、表示部270に表示された自律移動装置地図、および、サーバ地図上で指定された位置を、自律移動装置地図とサーバ地図の対応点に設定してもよい。
【0102】
図10は、ユーザの入力操作に基づき設定部251が設定する対応点の一例について説明する図である。
図10に示した画面D1は、ユーザによる対応点の入力操作を受け付ける画面の一例である。後述する画面制御部255は、画面D1のような、サーバ地
図MWおよび自律移動装置地
図MLの対応点の設定の受付画面を生成し、表示部270に表示させてもよい。
【0103】
画面D1は、サーバ地
図MW1と自律移動装置地
図ML1の表示、および、ユーザへの対応点設定方法の案内文言を含む。設定部251は、ユーザが入力部290において入力操作を行い指定したサーバ地
図MW1上の位置と、自律移動装置地
図ML1上の位置を、対応点として設定してもよい。
【0104】
自律移動装置地図とサーバ地図との対応点は、後述する変換パラメータの算出のため、少なくとも2以上の位置に設定される。制御部250は、
図10に示した画面D1のように、ユーザに対し2以上の対応点を設定するよう促す案内文言を含む画面を生成してもよい。
【0105】
また、設定部251は、入力部290において、画面D1に表示された確認ボタンB1を選択または押下する操作が検出されると、ユーザの入力操作により指定された位置を、サーバ地
図MW1と自律移動装置地
図ML1の対応点に設定してもよい。
【0106】
また、設定部251は、自律移動装置地図およびサーバ地図に対して画像解析を行うことにより、自律移動装置地図およびサーバ地図の対応点を設定してもよい。例えば、設定部251は、自律移動装置地図およびサーバ地図に対しパターン認識を行うことにより、自律移動装置地図とサーバ地図の対応点を抽出し、対応点の設定を行ってもよい。
【0107】
また、設定部251は、自律移動装置地図およびサーバ地図の各々から特徴点を抽出してもよい。設定部251は、抽出された特徴点の、自律移動装置地図とサーバ地図との間でのマッチング処理を行うことにより、自律移動装置地図およびサーバ地図の対応点を設定してもよい。
【0108】
(選択部252)
選択部252は、設定部251により設定された自律移動装置地図とサーバ地図との間の対応点の中から、自律移動装置10から受信した自律移動装置10の位置の近傍点を複数選択する機能を有する。
【0109】
例えば、選択部252は、自律移動装置10の位置から、各対応点までの到達難易度を示す移動コストを算出してもよい。選択部252は、算出した移動コストに基づき、対応点の中から複数の近傍点を選択してもよい。選択部252は、例えば、自律移動装置10の位置から各対応点の位置まで、自律移動装置10が移動可能領域を移動して到達する経路の距離を算出し、当該距離を各対応点までの移動コストとして用いてもよい。
【0110】
図11は、選択部252による移動コストの算出および近傍点の選択について説明する図である。
図11に示した自律移動装置地
図ML1、および、対応点Pa~対応点Pdは、
図9を参照して説明した通りであるので重複する説明を省略する。
【0111】
図11に示した現在位置CL1は、自律移動装置地
図ML1を生成した、自律移動装置10Aの位置を示す。情報処理装置20は、自律移動装置10Aの位置として、現在位置CL1の位置情報を受信したものとする。
【0112】
現在位置CL1から対応点Pa、対応点Pb、および対応点Pcの各々へ伸びている破線矢印は、自律移動装置10Aが現在位置CL1から対応点Pa、対応点Pb、および対応点Pcへ移動する経路を示している。
【0113】
図11に示した例では、対応点Pa~対応点Pdのうち、現在位置CL1からの移動経路の距離が最も短いのは、対応点Paである。また、現在位置CL1からの移動経路の距離が2番目に短いのは、対応点Pbである。
【0114】
自律移動装置地
図ML1上で、壁の位置と移動可能領域とを無視し、現在位置CL1から対応点Pa~対応点Pdの各々の位置への直線距離を算出した場合には、現在位置CL1からの距離が最も短いのは、対応点Pcである。しかし、実際には、現在位置CL1と対応点Pcをつないだ直線上には壁があり、自律移動装置10Aは移動可能領域を移動する必要がある。従って、自律移動装置10Aが現在位置CL1から移動可能領域を移動して対応点Pcに到達するまでの距離は、破線矢印で示したように、対応点Pa~対応点Pdの中で最も長い。
【0115】
選択部252は、自律移動装置地
図ML上の複数の対応点Pのうち、自律移動装置10Aの現在位置CL1からの移動距離が最も短い対応点Pから順に、2以上の対応点Pを近傍点として選択してもよい。
図11に示した例では、選択部252は、対応点Paおよび対応点Pbを、近傍点として選択する。
【0116】
このように、選択部252は、自律移動装置地図上の移動可能領域を移動し自律移動装置10が各対応点Pに到達するまでの距離を、各対応点までの自律移動装置10の移動コストとして用いてもよい。選択部252は、到達するまでの距離が短い対応点ほど、当該対応点の移動コストが低いと見做してもよい。
【0117】
また、選択部252は、移動コストの算出に用いられる、各対応点までの自律移動装置10の移動難易度に関する情報の他の例として、移動可能領域において検知された障害物情報、または、路面状況等の、各種の情報を用いてもよい。自律移動装置10のいる空間が屋外である場合には、例えば、天候、または、災害発生状況等の情報が移動コストの算出に用いられてもよい。また、選択部252は、このような自律移動装置10の各対応点までの移動難易度に関わる情報のうち、いずれか1の情報を移動コストとして用いてもよいし、複数の情報を組み合わせて移動コストの算出に用いてもよい。
【0118】
(変換値算出部253)
変換値算出部253は、選択部252により選択された近傍点に基づき、自律移動装置10の位置の位置情報を、サーバ地図での座標値に変換する変換パラメータを算出する機能を有する。自律移動装置10の位置の位置情報をサーバ地図での座標値に変換する変換パラメータは、第1の変換パラメータの一例である。
【0119】
変換値算出部253は、選択された近傍点の、自律移動装置地図上での座標と、サーバ地図上での座標に基づき、選択された近傍点の自律移動装置地図上での座標を、サーバ地図情報での座標に変換するための行列を算出してもよい。変換値算出部253は、算出した行列に基づいて、変換パラメータを算出してもよい。
【0120】
例えば、変換値算出部253は、アフィン変換、または、ヘイマート変換により、自律移動装置地図上の位置情報をサーバ地図での座標に変換するための変換式を導出してもよい。
【0121】
より具体的に、例えば、自律移動装置地図上の位置の、座標変換前の座標を(x,y)とし、当該位置をサーバ地図での座標に変換した後の座標を(X,Y)とする。このとき、座標(x,y)を座標(X,Y)に変換する変換式は、4つのパラメータa,b,c,dを用いて次の数式(1)により表すことができる。
【0122】
【0123】
上記数式(1)を(a、b、c、d)Tについて式変換すると、次の数式(2)のように表すことが出来る。
【0124】
【0125】
また、選択部により選択された、当該位置の近傍点の座標を(x1…n,y1…n)、および、(X1…n,Y1…n)とする。また、サーバ地図での座標に変換後の座標(X,Y)の、変換前の座標(x,y)に対する誤差(残差)をEとすると、上記数式(2)は次の数式(3)のように表すことができる。
【0126】
【0127】
ここで、行列Lを次の数式(4)の通り定義する。
【0128】
【0129】
また、サーバ地図での座標(X,Y)により表される近傍点の座標値の行列(X1,…,Xn,Y1,…,Yn)Tを行列Aとする。また、(a,b,c,d)Tを行列wとすると、数式(3)は次のように表される。
【0130】
【0131】
変換値算出部253は、上記数式(5)について、誤差Eを最小にするようなwを算出してもよい。数式(5)について、誤差Eを最小にするようなwの値は、最小二乗法により次の数式(6)のように求めることが出来る。
【0132】
【0133】
変換値算出部253は、算出した誤差Eを最小にするようなw=(a,b,c,d)Tの各パラメータa~dの値を、変換パラメータとして算出してもよい。
【0134】
なお、変換値算出部253は、複数の自律移動装置10ごとに、変換パラメータを算出してもよい。これにより、各自律移動装置10により構築された自律移動装置地図が異なる場合であっても、自律移動装置10ごとに精度の高い変換パラメータを算出することが出来る。
【0135】
また、変換値算出部253は、自律移動装置地図を複数の領域に分割し、領域ごとに変換パラメータを算出してもよい。
【0136】
例えば、変換値算出部253は、自律移動装置地図上に一定間隔の格子点を生成し、各格子点によって領域を分割してもよい。また、変換値算出部253は、ユーザの入力操作に基づき、自律移動装置地図の領域を分割してもよい。
【0137】
変換値算出部253は、算出した変換パラメータの情報を、記憶部230へ記憶させる。変換値算出部253は、領域ごとに変換パラメータを算出した場合には、領域ごとの変換パラメータを記憶部230へ記憶させてもよい。
【0138】
また、変換値算出部253は、算出した変換パラメータに基づき、サーバ地図上の位置の座標を、各自律移動装置の自律移動装置地図での座標に逆変換する、逆変換パラメータを算出してもよい。逆変換パラメータは、第2の変換パラメータの一例である。
【0139】
例えば、変換値算出部253は、算出した変換パラメータと、上記数式(1)から、サーバ地図での座標(X,Y)を自律移動装置地図での座標(x,y)に変換する逆行列を算出し、当該逆行列に基づき逆変換パラメータを算出してもよい。
【0140】
変換値算出部253は、算出した逆変換パラメータの情報を、記憶部230へ記憶させてもよい。
【0141】
(座標変換部254)
座標変換部254は、変換値算出部253により算出された変換パラメータを用いて、自律移動装置10の位置の位置情報を、サーバ地図での座標値に変換する座標変換処理を行う。
【0142】
座標変換部254は、変換値算出部253により、自律移動装置地図上で分割された領域ごとに変換パラメータが算出されている場合には、自律移動装置10の位置が属する領域の変換パラメータを用いて、自律移動装置10の位置の座標変換処理を行ってもよい。
【0143】
また、座標変換部254は、逆変換パラメータを用いて、サーバ地図上の位置の座標を、自律移動装置地図上での座標に変換する処理を行ってもよい。
【0144】
(画面制御部255)
画面制御部255は、サーバ地図の表示等の各種情報を含む画面を生成し、生成した画面を表示部270に出力させる制御を行う機能を有する。
【0145】
例えば、画面制御部255は、上記で
図10を参照して説明した画面D1のような、自律移動装置地図とサーバ地図の対応点の設定を受け付ける画面を生成してもよい。
【0146】
また、画面制御部255は、座標変換部254によりサーバ地図での座標値に変換後の自律移動装置10の位置情報に基づき、自律移動装置10の位置をサーバ地図上に表示する画面を生成してもよい。画面制御部255は、複数の自律移動装置10の位置を同時にサーバ地図上に表示する画面を生成してもよいし、ユーザの操作により指定された特定の自律移動装置10の位置をサーバ地図上に表示する画面を生成してもよい。
【0147】
さらに、画面制御部255は、表示部270に表示させたサーバ地図上において、ユーザの入力操作により、自律移動装置10の移動の目的地の位置の指示を受け付ける画面を生成してもよい。
【0148】
(指示部256)
指示部256は、ユーザの入力操作により、サーバ地図上の位置によって指定された自律移動装置10の移動の目的地の位置に基づき、当該位置への移動指示を含む移動指示情報を生成する機能を有する。指示部256は、座標変換部254により、逆変換パラメータを用いて自律移動装置地図での座標に変換された目的地の位置情報を用いて、移動指示情報を作成してもよい。
【0149】
以上、
図7および
図8を用いて、本実施形態による情報処理装置20の機能構成例を詳細に説明した。なお、情報処理装置20の構成例は、上記で説明した例に限られない。
【0150】
例えば、情報処理装置20は、
図7および
図8に図示しない、イベント検出部としての機能をさらに備えていてもよい。イベント検出部は、自律移動装置10から受信した自律移動装置10の位置に基づき、各自律移動装置10の位置の座標を監視し、当該座標が特定の条件を満たした場合に、自律移動装置への制御を行ってもよい。例えば、イベント検出部は、自律移動装置10の位置の座標が一時停止領域に入ったことを検出した場合、自律移動装置10を一時停止させる制御を行ってもよい。または、イベント検出部は、自律移動装置10の位置の座標が侵入禁止領域に入ったことを検出した場合、自律移動装置10を停止させる制御を行ってもよい。
【0151】
情報処理装置20の機能構成例は、仕様及び運用に応じて適宜変形可能である。
【0152】
<3.動作例>
続いて、
図12~
図18を参照して、本発明の一実施形態による情報処理システムの動作例を説明する。
【0153】
<3-1.第1の動作例>
まず、
図12および
図13を参照して、本実施形態による情報処理システムの第1の動作例を説明する。
図12は、本情報処理システムの第1の動作例における、事前処理のフローチャートである。
図12に示した事前処理のフローチャートは、情報処理装置20が自律移動装置10から受信する位置の座標変換処理を開始する前に、予め行われる動作処理の流れを示す。
【0154】
本動作例では、情報処理装置20は、
図12に示す動作例に沿って、事前に自律移動装置10から自律移動装置地図を取得し、当該自律移動装置地図とサーバ地図との対応点を設定する。また、情報処理装置20は、
図13に示す動作例に沿って、自律移動装置10から位置を受信する都度、設定済みの対応点の中から近傍点を選択し、当該近傍点に基づき変換パラメータを算出する。
【0155】
まず、情報処理装置20の通信部210は、自律移動装置10から自律移動装置地図を受信する。制御部250は、受信した自律移動装置地図を記憶部230に記憶させる。また、制御部250は、ユーザからサーバ地図の登録を受け付け、当該サーバ地図を記憶部230に記憶させる(S101)。なお、サーバ地図は、予め記憶部230に記憶されていてもよい。
【0156】
次いで、情報処理装置20の設定部251は、登録された自律移動装置地図およびサーバ地図の対応点を設定する(S103)。
【0157】
以上、
図12を参照して、第1の動作例における事前処理の動作例を説明した。
図13は、本情報処理システムの第1の動作例における、事前処理完了後の動作例を示すフローチャートである。
【0158】
まず、情報処理装置20の通信部210は、自律移動装置10から、自律移動装置10の位置の位置情報を受信する(S201)。
【0159】
情報処理装置20の選択部252は、位置を受信した自律移動装置10の自律移動装置地図、および、サーバ地図の対応点の中から、受信した位置の近傍点を選択する(S203)。
【0160】
変換値算出部253は、選択された近傍点に基づき、自律移動装置地図の座標をサーバ地図での座標へ変換する変換パラメータを算出する(S205)。
【0161】
座標変換部254は、算出された変換パラメータを用いて、自律移動装置10から受信した自律移動装置10の位置の座標を、サーバ地図での座標に変換する(S207)。
【0162】
画面制御部255は、変換後の座標に基づき、自律移動装置10の位置をサーバ地図上に表示する画面を生成し、表示部270へ表示させる(S209)。
【0163】
以上、
図13を参照して、本情報処理システムの第1の動作例における、事前処理完了後の動作例を説明した。上記で説明したように、本実施形態による情報処理装置20は、各自律移動装置10の保持する自律移動装置地図と、サーバ地図との対応点の中から、受信した位置の近傍点を選択する。さらに、情報処理装置20は、選択した近傍点に基づき、自律移動装置10の位置をサーバ地図での座標に変換する変換パラメータを算出する。これにより、情報処理装置20は、地図構築時の誤差の蓄積によって自律移動装置地図が歪みを含む場合であっても、精度高く座標変換を行うことができる。また、情報処理装置20は、自律移動装置10の位置をサーバ地図上に表示する際に、より正確な自律移動装置10の位置を表示させることが出来る。
【0164】
また、情報処理装置20は、事前に自律移動装置10から自律移動装置地図を取得し、当該自律移動装置地図とサーバ地図との対応点を設定する処理を行う。これにより、情報処理装置20は、自律移動装置10の位置を受信するたびに対応点の設定処理を行うことなく、変換パラメータの算出処理を開始することが出来る。従って、情報処理装置20が自律移動装置10の位置を受信してから、当該位置を座標変換処理してサーバ地図上に表示させるまでの処理負荷を低減することが出来る。また、情報処理装置20が自律移動装置10の位置の位置情報を受信してから、当該位置が表示部270においてサーバ地図上に表示されるまでの表示遅延を低減することが出来る。
【0165】
<3-2.第2の動作例>
続いて、
図14~
図15を参照して、本情報処理システムの第2の動作例を説明する。本動作例では、情報処理装置20は、事前処理の段階で、地図間の対応点から選択される近傍点に基づく変換パラメータの算出を行う。また、本動作例では、情報処理装置20は、自律移動装置地図を複数の領域に分割し、領域ごとに変換パラメータを算出する。これにより、変換パラメータ算出の1回の処理における情報処理装置20の処理負荷の低減が可能となる。
【0166】
図14は、本情報処理システムの第2の動作例における事前処理のフローチャート図である。なお、S101およびS103の処理は、第1の動作例において
図12を参照して説明した通りであるので、重複する説明を省略する。
【0167】
S101およびS103の処理が行われた後、情報処理装置20の変換値算出部253は、自律移動装置地図の領域を複数の領域に分割する(S105)。
【0168】
情報処理装置20の選択部252は、分割後の領域ごとに、基準位置(例えば、各領域の重心位置等の、領域内の一地点)からの近傍点を選択する(S107)。
【0169】
変換値算出部253は、分割後の領域ごとに変換用パラメータを算出する(S109)。変換値算出部253は、分割後の領域ごとに、算出した変換パラメータを記憶部230へ記憶させる(S111)。
【0170】
図15は、本情報処理システムの第2の動作例における、事前処理完了後の動作例を示すフローチャートである。なお、S201、および、S209の処理は、第1の動作例において
図13を参照して説明した通りであるので重複する説明を省略する。
【0171】
S201に次いで、情報処理装置20の座標変換部254は、受信した自律移動装置10の位置の属する領域の変換パラメータに基づき、当該位置をサーバ地図での座標へ変換する処理を行う(S211)。次いで、S209へ進む。
【0172】
以上、
図14および
図15を参照し、本情報処理システムの第2の動作例を説明した。上述したように、第2の動作例では、情報処理装置20は、自律移動装置地図を複数の領域に分割し、領域ごとに変換パラメータを算出する。これにより、領域を分割せずに変換パラメータの算出処理が行われる場合と比較して、事前処理完了後において、変換値算出部253による変換パラメータの算出の処理の計算負荷が低減し得る。
【0173】
また、第2の動作例では、変換値算出部253が、事前処理の処理フローの段階で変換パラメータを算出することを説明した。また、座標変換部254は、自律移動装置10の位置の位置情報を受信すると、事前処理において予め算出された当該変換パラメータを用いて、座標変換処理を行うことを説明した。これにより、情報処理装置20が、自律移動装置10の位置の位置情報を受信してから当該位置情報をサーバ地図での座標に変換し、自律移動装置10の位置を表示部270に表示させるまでの処理速度が向上し得る。
【0174】
<3-3.第3の動作例>
次に、
図16および
図17を参照して、情報処理装置20による、逆変換パラメータの算出および移動指示情報の生成処理の動作例を説明する。
図16は、本情報処理システムの第3の動作例における、逆変換パラメータ算出処理の動作例を示すフローチャートである。
【0175】
情報処理装置20は、第1の動作例および第2の動作例で
図13および
図14を参照し説明した、変換パラメータの算出処理が完了した後に、
図16に示すようなフローに沿って、逆変換パラメータを算出してもよい。
【0176】
情報処理装置20の変換値算出部253は、算出した変換パラメータに基づき、自律移動装置10から受信した自律移動装置10の位置を、サーバ地図での座標から自律移動装置地図での座標へ変換する逆変換パラメータを算出する(S301)。このとき、変換パラメータが自律移動装置地図の分割された領域ごとに算出されている場合は、変換値算出部253は、当該領域ごとに逆変換パラメータを算出してもよい。
【0177】
変換値算出部253は、算出した逆変換パラメータを、記憶部230へ記憶させる(S303)。
【0178】
図17は、本情報処理システムの第3の動作例における、移動指示情報の生成処理の動作例を示すフローチャートである。
【0179】
まず、情報処理装置20の入力部290において検出されたユーザの入力操作に基づき、指示部256は、サーバ地図上での位置により、自律移動装置の移動目的地の指定を受け付ける(S401)。
【0180】
次いで、座標変換部254は、逆変換パラメータに基づき、S401において指定されたサーバ地図上の位置の座標を、自律移動装置地図での座標に変換する(S403)。
【0181】
指示部256は、自律移動装置地図での座標に変換後の位置情報を用いて、移動指示情報を生成する(S405)。
【0182】
通信部210は、制御部250の制御に従い、自律移動装置10へ、指示部256により生成された移動指示情報を送信する(S407)。
【0183】
以上、
図16および
図17を用いて、本情報処理システムの第3の動作例における、逆変換パラメータ算出処理および移動指示情報生成の処理の流れを説明した。上記のような処理が行われることにより、情報処理装置20のユーザは、表示部270に表示されたサーバ地図上の位置を指定して、自律移動装置10への移動指示を行うことが可能となる。また、本実施形態に係る情報処理システムにおいて、ユーザは、サーバ地図として用いたい地図の画像データを任意に選んで情報処理装置20に登録することが出来る。従って、ユーザの利便性が向上する。
【0184】
<3-4.第4の動作例>
次に、
図18を参照して、情報処理装置20が、複数の自律移動装置の各々から受信した位置の位置情報を、他の自律移動装置地図での座標に変換して、他の自律移動装置へ送信する場合の動作例を説明する。
【0185】
図18は、本情報処理システムの第4の動作例を説明するフローチャートである。本動作例では、情報処理装置20は、ある自律移動装置から受信した当該自律移動装置の位置の位置情報を、別の自律移動装置へ送信する。これにより、情報処理装置20と通信可能に接続された複数の自律移動装置同士が、互いの位置の位置情報を取得することが出来る。
【0186】
情報処理装置20は、例えば上記で第1の動作例または第2の動作例において説明した処理フローに沿って、変換パラメータの算出が予め完了している状態で、
図18に示す処理フロー沿った処理を開始する。なお、
図18に示したS301、および、S303の処理は、上記で
図16を参照して説明した通りであるので、重複する説明を省略する。
【0187】
S301およびS303の処理が行われた後、情報処理装置20の座標変換部254は、位置を受信した自律移動装置10とは別の自律移動装置10の逆変換パラメータを用いて、受信した当該位置を、当該別の自律移動装置10が保持する自律移動装置地図での座標値に変換する(S305)。
【0188】
なお、座標変換部254は、S305において、受信した自律移動装置10の位置情報を、変換パラメータを用いてサーバ地図での座標値にまず変換してから、逆変換パラメータを用いて、当該位置情報を別の自律移動装置10の自律移動装置地図での座標に変換してもよい。
【0189】
次いで、制御部250は、別の自律移動装置10の自律移動装置地図での座標に変換した後の、受信した自律移動装置10の位置の位置情報を、当該別の自律移動装置10へ通知する(S307)。
【0190】
以上、
図18を参照して、本情報処理システムの第4の動作例を説明した。上述したように、情報処理装置20は、ある自律移動装置10から受信した自律移動装置10の位置を、変換パラメータおよび逆変換パラメータを用いて、別の自律移動装置10の自律移動装置地図での座標に変換する。さらに、情報処理装置20は、座標変換後の自律移動装置10の位置の位置情報を、当該別の自律移動装置10へ通知する。これにより、各自律移動装置10は、他の自律移動装置10の位置の位置情報を取得することが出来る。各自律移動装置10は、他の自律移動装置10の位置情報を、自身の移動経路の計画、衝突回避、または、各自律移動装置間での連携した動作の実施等に用いることが出来る。
【0191】
<4.ハードウェア構成例>
以上、本発明の一実施形態を説明した。上述した、情報処理装置20による、自律移動装置地図とサーバ地図の対応点の設定処理、近傍点の選択処理、変換パラメータの算出処理、および、座標変換処理等の各処理は、ソフトウェアと、情報処理装置20のハードウェアとの協働により実現される。以下では、本発明の実施形態による情報処理装置20のハードウェア構成例について説明する。
【0192】
なお、以下に説明する情報処理装置20のハードウェア構成例は、情報処理装置20のハードウェア構成の一例に過ぎない。したがって、情報処理装置20のハードウェア構成は、以下に説明する情報処理装置20のハードウェア構成から不要な構成が削除されてもよいし、新たな構成が追加されてもよい。
【0193】
また、以下に説明する情報処理装置20のハードウェア構成例は、自律移動装置10にも適用され得る。
【0194】
図19は、本発明の一実施形態による情報処理装置20のハードウェア構成例を示す図である。情報処理装置20は、プロセッサ1001と、ROM(Read Only Memory)1002と、RAM(Random Access Memory)1003と、内部バス1004と、入出力インターフェース1010と、表示装置1011と、入力装置1012と、音声出力部1013と、記憶装置1014と、ドライブ1015と、ネットワークインターフェース1016と、外部インターフェース1017と、を備えることができる。
【0195】
プロセッサ1001は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置20内の動作全般を制御する。プロセッサ1001が後述するROM1002、RAM1003およびソフトウェアと協働することにより、例えば、制御部120および制御部250の機能が実現され得る。
【0196】
ROM1002は、プロセッサ1001が使用するプログラムおよび演算パラメータ等を記憶する。RAM1003は、プロセッサ1001の実行において使用するプログラム、およびその実行において適宜変化するパラメータ等を一時記憶する。
【0197】
プロセッサ1001、ROM1002、RAM1003は、内部バス1004によって相互に接続され、さらに入出力インターフェース1010を介して後述する表示装置1011、入力装置1012、音声出力部1013、記憶装置1014、ドライブ1015、ネットワークインターフェース1016および外部インターフェース1017と接続される。
【0198】
表示装置1011は、例えば、CRTディスプレイ装置、液晶ディスプレイ(LCD)、OLED装置などの表示装置であり、映像データを映像に変換して出力する。また、入力装置1012は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、センサ、スイッチおよび制御回路などから構成され得る。また、音声出力部1013は、スピーカおよびヘッドフォンなどの音声出力装置であり、音声データなどを音声に変換して出力する。
【0199】
記憶装置1014は、本実施形態による記憶部150および記憶部230の一例として構成されたデータ記憶用の装置である。記憶装置1014は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置、および記憶媒体に記録されたデータを削除する削除装置などを含んでいてもよい。記憶装置1014は、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)、あるいは同等の機能を有するメモリ等で構成される。この記憶装置1014は、ストレージを駆動し、プロセッサ1001により実行されるプログラムまたは各種データを記憶する。
【0200】
ドライブ1015は、記憶媒体用リーダライタであり、情報処理装置20に内蔵、または外付けされる。ドライブ1015は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記憶媒体に記憶されている情報を読み出して、RAM1003に出力する。また、ドライブ1015は、リムーバブル記憶媒体に情報を書き込むことも可能である。
【0201】
ネットワークインターフェース1016は、例えば、インターネットなどの通信網に接続するためのデバイス等で構成された通信インターフェースである。また、ネットワークインターフェース1016は、無線LAN(Local Area Network)または/および有線LAN対応の通信装置であってもよい。
【0202】
外部インターフェース1017は、例えばUSB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート、RS-232Cポートまたは光オーディオ端子などのような外部接続機器を接続するための接続ポートで構成された接続インターフェースである。
【0203】
<5.まとめ>
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0204】
例えば、上記実施形態では、情報処理装置20が、汎用コンピュータ等の情報端末により実現される例を説明した。しかし、情報処理装置20は、自律移動装置であってもよい。例えば、自律移動装置10において、自身の自律移動装置地図とサーバ地図との対応点の設定処理、近傍点の選択処理、変換パラメータの算出処理、座標変換処理、および、各自律移動装置の位置の表示等の処理を行う機能が実現されてもよい。
【0205】
また、上記実施形態では、情報処理装置20が、事前処理として各自律移動装置10の自律移動装置地図を受信し、自律移動装置地図とサーバ地図との対応点の設定を行う動作例を説明した。しかし、情報処理装置20は、各自律移動装置10から位置を受信する都度、当該自律移動装置10の自律移動装置地図を取得してもよい。また、情報処理装置20は、各自律移動装置10から位置を受信する都度、当該自律移動装置10の自律移動装置地図とサーバ地図との対応点を設定してもよい。または、情報処理装置20は、自律移動装置10が内部的に保持する自律移動装置地図が更新されたことを検出した場合に、自律移動装置10から自律移動装置地図を取得して対応点の設定処理を行ってもよい。このような変形例によれば、自律移動装置10の周辺環境の状況が変化して、自律移動装置10が生成する自律移動装置地図に更新が生じた場合でも、情報処理装置20は、最新の自律移動装置地図に基づき、高精度な変換パラメータを算出することが出来る。
【0206】
また、本実施形態による自律移動装置10、および情報処理装置20の動作の処理におけるステップは、必ずしも説明図として記載された順序に沿って時系列に処理する必要はない。例えば、自律移動装置10および情報処理装置20の動作の処理における各ステップは、説明図として記載した順序と異なる順序で処理されてもよく、並列的に処理されてもよい。
【0207】
また、上述した自律移動装置10および情報処理装置20に内蔵されるCPU、ROMおよびRAMなどのハードウェアに、本実施形態による情報処理システムの機能を発揮させるための1以上のコンピュータプログラムも作成可能である。また、当該1以上のコンピュータプログラムを記憶させたコンピュータにより読み取り可能な記憶媒体も提供される。
【0208】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本発明に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【符号の説明】
【0209】
20 情報処理装置
210 通信部
230 記憶部
250 制御部
251 設定部
252 選択部
253 変換値算出部
254 座標変換部
255 画面制御部
256 指示部
270 表示部
290 入力部