説明

ロボット及び情報処理装置のプログラム

【課題】環境地図の再作成に要するコストを低減し、かつ環境地図をタイムリーに再作成することのできる技術を提供する。
【解決手段】所定領域内の固定物の配置位置を含む地図情報を記憶し、地図再作成の際、所定領域内をロボット10を移動させつつ(1)乃至(5)を繰返し実行する。(1)エンコーダ21を積算してロボットの自己位置を算出する(2)ロボットの所定視野角範囲内にある固定物及び移動可能物までの距離を測定する(3)測定した距離と、地図情報から得られる固定物までの距離とから補正自己位置を求める(4)測定値の内、移動可能物までの距離を表す測定値を抽出する(5)抽出した測定値と補正自己位置とから移動可能物の配置位置を算出する。そして、算出した移動可能物の配置位置を集約処理して新たな配置位置を求め、求めた新たな配置位置を外部に出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、環境地図の再作成に要するコストを低減し、かつ環境地図をタイムリーに再作成することのできるロボットのプログラム及び情報処理装置のプログラムに関する。
【背景技術】
【0002】
現在、サービス分野において、例えば、案内、清掃、搬送などのサービスを行う移動ロボットが使用されている。この移動ロボットは、人間にサービスを行うために所定の作業スケジュールに従って自律的に移動する。
【0003】
従来の技術では、移動ロボットは、移動用の車輪の回転を積算して移動量を求めるオドメトリにより自己位置を推定する。オドメトリとは、左右の車輪の回転速度からロボットの並進速度とロボット本体の角速度を求め、それらを積分してロボットの位置と姿勢を求める方法である。その推定自己位置に基づいて、定められた経路に従って走行することにより、移動ロボットは、必要な位置へ移動することができる。
【0004】
ところで、移動ロボットが動作する環境は人間が活動している環境である。従って、その環境は不変ではなく変化するのが普通である。一方、ほとんどの移動ロボットは、予め与えられた環境地図に基づいて自律移動を行う。そのため、移動ロボットが保有する環境地図と実際の外界の環境とが異なった場合には、移動ロボットの自己位置認識機能が低下する。
【0005】
移動ロボットの自己位置認識機能の低下を防止するためには環境地図を外界の環境に合わせるように再作成することが必要である。しかし、環境地図の再作成においても新たな環境地図作成時と同様に、特別なスキルを備えた要員による特別の作業が不可欠であるため、コスト及び納期の面において改善が求められている。
【0006】
特許文献1に開示された技術では、自走ロボットが移動経路を学習する際に、教示者が移動経路を辿って歩くだけで、学習モードにセットされた自走ロボットが教示者の移動経路を後追いして経路教示データを確定する自動処理を実行するため、教示者が位置データを直接に編集しなくとも自走ロボットに経路を教示することができる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2004−240698号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1に記載された技術では、現場における教示が必要となるため、所要のスキルを備えた教示者と移動ロボットの動作している環境とが離れている場合には、環境変化が発生する毎に現地における教示が必要となり運用コストの増加につながるとともに、環境変化に対して必ずしもタイムリーな対応ができるものでもなかった。
今後、サービス分野における移動ロボットの普及を促進していく上では、移動ロボットに使用される環境地図の再作成に要するコストを低減し、かつ環境地図をタイムリーに再作成できることが求められる。
【0009】
本発明は、斯かる事情に鑑みてなされたものであって、環境地図の再作成に要するコストを低減し、かつ環境地図をタイムリーに再作成することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するための本発明は、所定領域内を自動で移動するロボットを制御するプログラムであって、前記所定領域内の固定物の配置位置を含む地図情報を記憶するステップ、外部から地図再作成の指示を受付けた際、前記所定領域内を前記ロボットを移動させつつ(1)乃至(5)のステップを繰返し実行するステップ、(1)エンコーダの測定値を積算して前記ロボットの自己位置を算出するステップ、(2)前記ロボットの所定視野角範囲内にある前記固定物及び移動可能物までの距離を水平面の特定角度毎に測定するステップ、(3)測定した距離と、前記地図情報から得られる前記固定物までの距離とを処理して、前記算出した自己位置を補正した補正自己位置を求めるステップ、(4)前記測定値の内、前記移動可能物までの距離を表す測定値を抽出するステップ、(5)前記抽出した測定値と前記補正自己位置とから前記移動可能物の配置位置を算出するステップ、前記算出した移動可能物の配置位置を集約処理して新たな配置位置を求めるステップ、前記求めた新たな配置位置を外部に出力するステップ、を前記ロボットに搭載されるコンピュータに実行させるためのプログラムである。
【0011】
また本発明は、情報処理装置のプログラムであって、上記記載の発明であるプログラムを搭載した前記ロボットが出力した前記移動可能物についての新たな配置位置を入力するステップ、前記新たな配置位置をユーザに提示するステップ、この新たな配置位置に基づくユーザの操作に対応して環境地図を再作成するステップ、を前記情報処理装置に搭載したコンピュータに実行させるためのプログラムである。
【発明の効果】
【0012】
この発明によれば、環境地図の再作成に要するコストを低減し、かつ環境地図をタイムリーに再作成することができる。
【図面の簡単な説明】
【0013】
【図1】地図作成システムの構成を示す図。
【図2】移動ロボットの構成を示す図。
【図3】新たに地図を作成する際の移動ロボットの動作を示すフロー図。
【図4】作成された地図を示す図。
【図5】作業のために自律移動する際の移動ロボットの動作を示すフロー図。
【図6】自己位置を補正する手順を示すフロー図。
【図7】対応点の探索方法を示す図。
【図8】地図を再作成する際の移動ロボットの動作を示すフロー図。
【図9】移動可能物位置取得処理の概略の手順を示すフローチャート。
【発明を実施するための形態】
【0014】
[第1の実施の形態]
図1は、地図作成システムの構成を示す図である。
本地図作成システムでは、博物館1に備えられた移動ロボット10と、保守センタ2のセンタ情報処理端末11とがインターネット12、無線LANルータ13を介して情報を授受する。そして、博物館1に設けられたユーザ情報処理端末14は、無線LANルータ13を介して移動ロボット10及びセンタ情報処理端末11と情報を授受することができる。
【0015】
移動ロボット10は、博物館1への入場者を引率して所定の経路を進み、それぞれの展示物の前で静止して当該展示物の説明を行うなどの案内業務を担当する。また夜間には、博物館内の所定の経路を巡るなどの見回り作業も担当する。
【0016】
保守センタ2の保守者は、センタ情報処理端末11を操作して遠隔で移動ロボット10を操作することができる。移動ロボット10は、遠隔からの指令に従って動作するとともに、収集した情報をセンタ情報処理端末11に送信する。
博物館1のユーザは、ユーザ情報処理端末14を操作して遠隔で移動ロボット10を操作することができる。移動ロボット10は、遠隔からの指令に従って動作するとともに、収集した情報をユーザ情報処理端末14に送信する。
【0017】
図2は、移動ロボット10の構成を示す図である。
移動ロボット10には、統括コントローラ20、エンコーダ21、レーザレンジファインダ(LRF:Laser Range Finder)22、通信部23、リモートコントローラ24及びデータ蓄積装置25が設けられている。
【0018】
統括コントローラ20は、移動ロボット10に予め設定されたプログラム動作を実行するとともに、移動ロボット10の動作を統括して制御する。エンコーダ21は、移動ロボット10の左右の移動用車軸に設けられ、車輪の回転速度を測定することができる。測定した回転速度からオドメトリにより移動ロボット10の自己位置を推定することができる。 LRF22は、測域センサであり、移動ロボット10の視野範囲(例えば、240度の範囲)にある物体までの距離を、水平面の特定角度毎に測定する。通信部23は、無線LANによってセンタ情報処理端末11、ユーザ情報処理端末14と情報を授受する。リモートコントローラ24は、人間の操作によって移動ロボット10を動作させる場合の操縦装置である。
【0019】
続いて、移動ロボット10の新規地図作成動作、自律移動動作及び地図再作成動作をそれぞれ説明する。
図3は、新たに地図を作成する際の移動ロボット10の動作を示すフロー図である。
この最初の地図作成においては、通常は保守センタ2で業務を行っている保守者が現地に出掛けて、例えばリモートコントローラ24を用いて移動ロボット10を操作する。
【0020】
動作開始に際し、移動ロボット10は、内部にある自己位置を初期値に設定する。例えば、待機ステーションにいる場合は、その位置を初期の自己位置として設定する。
次に、移動ロボット10は、リモートコントローラ24からの指示を受信し、その指示に従った動作を実行する。
【0021】
ステップS01において、受信した指示が回転・並進の移動指示の場合、統括コントローラ20はアクチュエータにトルクを与えて移動ロボット10を指示方向に移動させて停止する。この際、移動ロボット10は、オドメトリより自己位置を推定する。ここで、推定する自己位置は、例えば、平面上のX,Y位置及び向きを示す角度θである。
【0022】
ステップS02において、受信した指示が外界データ取得指示の場合、統括コントローラ20は、LRF22に測定させると共に測定したデータを取得する。そして、ステップS03において、データ蓄積装置25内に格納してある環境地図に、自己位置を基準として測定データを合成する。
図4は、作成された地図を示す図である。
図4の小さな点で表される点群(ポイントクラウド)がLRF22で測定したデータを表している。上述のように、LRF22は、移動ロボット10の視野範囲(例えば、240度の範囲)にある物体までの距離を、水平面の特定角度毎に測定する。従って、測定値は、物体の外形を不連続に測定した複数の点で表される。これが図4に示される点群である。この点群で表される地図を環境地図という。
【0023】
図4の直線は、移動ロボットの経路を表している。図4の大きな丸で表される位置は移動ロボット10が移動方向を変更するために停止した位置(通過地点)を表している。この通過地点において、移動ロボット10は、指定された角度回転して移動方向を転換する。この経路と停止位置で表される地図を経路地図という。
【0024】
図3のステップS04において、上述の動作を移動範囲の地図を作成するまで繰り返して実行する。そして、ステップS05において、作成した環境地図、経路地図を地図情報としてデータ蓄積装置25に保存すると共に通信部23を介してセンタ情報処理端末11に送信する。
【0025】
送信された地図情報である環境地図、経路地図は、センタ情報処理端末11のデータ蓄積装置32に格納され、保守者によってさらに編集される。保守者は、入出力装置31を用いて環境地図、経路地図を表示させながらGUI(Graphical User Interface)を介して編集作業を実行する。
【0026】
ステップT01において、経路・地点情報を編集する。例えば、図4の直線で表される経路を追加・修正・削除する。また、図4の大きな丸で表される通過地点を追加・修正・削除する。
【0027】
ステップT02において、移動可能物・固定物を設定する。例えば、図4の点群に対して移動可能物・固定物の属性を付与する。ここで、固定物は、例えば柱、特定の展示物、固定壁など、半永久的に所定位置に存在している物体である。移動可能物は、固定物以外の物であり、例えば椅子、特定の展示物、簡易仕切壁など設置位置が変更されうるものが該当する。
保守者は、図4で示される点群の内から、マウスのドラッグ&ドロップ操作によって複数の点群(グループ)を選択して、グループ名(個々の移動可能物及び固定物の名称)を設定し、移動可能物か固定物かの区分情報を設定入力する。この動作を繰り返して環境地図ファイルを作成する。
【0028】
環境地図ファイルは、マスターファイルとスレーブファイルとで構成されている。
【0029】
マスターファイルには、グループ毎に、グループの基準となる座標(X,Y)、グループ名、移動種別(M,IM)が格納されている。グループの基準となる座標(X,Y)は、例えば、選択された複数の点群の内最も座標原点に近い点の座標である。移動種別は、移動可能物(M:Movable)か固定物(IM:Immovable)かの区分を表す。
スレーブファイルは、マスターファイルのグループ毎に設けられ、このグループに含まれる複数の点のそれぞれの座標(X,Y)が格納されている。
【0030】
ステップT03において、作業シナリオを編集する。保守者は、移動ロボット10の動作を規定した作業シナリオを作成する。例えば、移動ロボットがどの移動地点からどの移動地点までどの経路を辿って移動するかを規定する。また、例えば、ある展示物の前では所定時間停止して説明用の音声を出力するなどの動作を規定する。
【0031】
保守者によって編集された上述の各情報はインターネット12と無線LAN13を介して移動ロボット10に送信され、データ蓄積装置25に蓄積される。なお、データ蓄積装置25への蓄積状況は、適宜移動ロボット10からセンタ情報処理端末11に送信される。
【0032】
図5は、作業のために自律移動する際の移動ロボット10の動作を示すフロー図である。
移動ロボット10は、センタ情報処理端末11からの指示あるいはタイマからのイベントにより所定の作業シナリオに従った動作を開始する。
【0033】
ステップS11において、移動ロボット10は起動時の自己位置を推定する。ここで、移動ロボット10が充電ステーション(不図示)など、所定の待機位置にいる場合は、自己位置は直ちに確定する。しかし、所定の待機位置にいないときは、LRF22で測定した点群と、データ蓄積装置25に保持している環境地図とを比較して自己位置を推定する。なお、自己位置の推定が困難なときは、別の位置に移動してLRF22の測定と自己位置推定の動作を繰り返す。移動する方向は、LRF22の測定結果で物体の存在しない方向とする。
【0034】
自己位置が推定できた場合、経路情報と作業シナリオを認識したことを表す動作状態ログを保守センタに送信する。そして、ステップS12において、経路情報に従って次に移動すべき地点に移動する。ステップS13において、エンコーダ21より推定自己位置を算出する。なお、エンコーダ21による推定自己位置の算出はロボットの移動中において所定距離ごと、又は所定時間ごとに行っている。
【0035】
ところで推定自己位置は、エンコーダ21を用いて測定した並進成分、回転成分を積算することによって求められる。しかし移動経路が平坦でなく凹凸が存在している等で発生した誤差が積算されるため、適宜自己位置を正しい値に補正する必要がある。
【0036】
そこで、ステップS14において、環境地図とLRF22の測定結果とを基にエンコーダ21による現在推定自己位置を補正する。
【0037】
図6は、自己位置を補正する手順を示すフロー図である。
ステップT11において、オドメトリによる現在推定自己位置を基にLRF22を用いた測距範囲の部分の環境地図を抽出する。なお、推定自己位置の誤差を考慮して、所定範囲だけ広い部分を抽出する。
【0038】
ステップT12において、環境地図上の点とLRF22の測定データをICPスキャンマッチングする。つまり、オドメトリによる推定自己位置の算出処理とは別に、LRF22の測定データを基にした推定自己位置の算出処理を実行する。ここで、環境地図上には、移動可能物と固定物とが存在するが、ICPスキャンマッチングでは、移動可能物、固定物に分けて実施する。
【0039】
続いてICPスキャンマッチング方法について説明する。
【0040】
[A.最近傍対応点探索]
ステップA1:LRF22で測定したデータは、移動ロボット10を基準とした(LRF22の位置を原点とする)ロボット座標系で表されている。一方、環境地図の座標は、環境地図の原点を基準とした世界座標系で表されている。そこで、測定した点の位置をロボット座標系から世界座標系に変換(同次変換)する。同次変換後の測定点(変換点)の座標は式(1)で表される。
【数1】

【0041】
ここで、式(1)の右辺第1項は移動ロボット10の向きを補正する回転成分であり、第2項は移動ロボット10の平行移動成分を表している。
【0042】
ステップA2:式(1)で求めた変換点と、距離が最小となる環境地図上の点(参照点)を探索し、この2点から成る組を対応組とする。
図7は、対応組の探索方法を示す図である。変換点qtがi個存在し、参照点pがj個存在している場合は、それぞれの変換点ごとに全ての参照点との距離を求める。そして、変換点ごとに、距離が最小となる参照点を選択し、その変換点と参照点を対応させ、対応組とする。この探索中には、常時、外れ値除去を行う。外れ値除去とは、探索中に算出した距離が所定の閾値以上の場合は、前記選択の対象から除外し、以降の処理の対象からも除外する。
【0043】
なお、外れ値除去は、上述のような探索中に限られず、この探索の結果で得られた対応組の変換点と参照点との距離が所定の閾値以上の場合は、以降の処理の対象から除外するようにしても良い。
【0044】
[B.外れ値除去パラメータ更新]
この外れ値除去のための閾値は、前回の探索において求めた各対応組の変換点と参照点との間の距離の平均値と、その標準偏差を所定倍(例えば、2倍)したものとの和で得られた値を用いる。従って、今回の探索において求めた外れ値除去のための閾値は、次回の探索で用いられる。
【0045】
[C.ニュートン法を用いた同次変換値の更新]
ここでは、式(1)より求めた変換点qti(n)を対応する参照点pjに近づけるように初期自己位置及び更新自己位置を更新する。このとき、自己位置の内部データを更新するのであって、実際にロボットを移動させてその自己位置を更新するわけではない。
【0046】
そのため、ステップC1:変換点qti(n)と参照点pjが近づいたか否かの指標となる評価関数を導入する。次に、ステップC2:ステップ1の評価関数に最適化法の1つであるニュートン法を用いることにより、変換点qti(n)が対応する参照点pjに近づくように処理を行う。ステップC3:この処理に対応して、ロボットの初期自己位置および更新自己位置(tx(n)、ty(n)、tθ(n))を更新して(tx(n+1)、ty(n+1)、tθ(n+1))とする。ステップC4:更新後の自己位置と更新前の自己位置の対応成分同士の差の2乗をそれぞれ求め、これらの総和値を算出する。ステップC5:更新後の自己位置を基に新たな変換点を算出し、この新たな変換点を用いて前記総和値が閾値以下となるまでステップC2からステップC4までの処理を繰り返す。総和値が閾値以下となったときICPスキャンマッチングを終了する。このときの更新後の自己位置がICPスキャンマッチングの結果、つまりLRF22による推定自己位置である。
【0047】
なお、ステップC2からステップC5までの処理では、ステップC2における変換点と参照点との距離が閾値以下となることを前提とし、前記総和値が閾値以下になったとしても、ステップC2における変換点と参照点との距離が閾値以下とならないまま、ステップC2からステップC4までの処理の繰り返し回数が閾値を超える場合には、エラーを出力して処理を終了するようにしても良い。このとき出力されたエラーを集計してマッチングエラー率として地図再作成が必要か否かの指標に利用することができる。例えば、ロボットが走行空間内のn箇所で上記ステップC1からステップC5までを実行して、その内マッチングエラーとして出力された箇所がm箇所である場合には、マッチングエラー率を(m/n)×100として算出し、この値が閾値を超える場合には地図再作成が必要であると判断する。
【0048】
以上のようにして、ICPスキャンマッチングによりLRF22による推定自己位置を算出した後、図6のステップT13において、エンコーダ21による現在推定自己位置を補正する。
【0049】
このためには、移動可能物を基にしたLRF22による推定自己位置と、固定物を基にしたLRF22による推定自己位置と、エンコーダ21による推定自己位置とをカルマンフィルタを用いた最尤推定法により融合して新たな自己位置を算出する。ここで算出された新たな自己位置が補正後の自己位置である。なお、この融合処理には、エンコーダ21による推定自己位置の誤差の大きさとLRF22による推定自己位置の誤差の大きさを考慮し、それらの誤差の大きさに依存した重み付けをして、より正確な自己位置を算出する処理を含む。カルマンフィルタを用いた最尤推定法による融合については、例えば、日本ロボット学会誌Vol.22 No.3、pp.343-352、2004を参考にして実施することができる。
【0050】
なお、移動可能物、固定物から求めた2つの自己位置から融合によって新たな自己位置を推定するのは、例えば、広く簡素な空間を測定する場合のように、固定物が少ないために固定物に基づく自己位置の誤差が大きくなるようなケースにおいて、移動可能物による自己位置の情報を取り入れることによって精度の低下を防止するためである。
【0051】
従って、本実施の形態に示すように、対象とするエリアが限定され、自己位置算定に必要な数の固定物が配置されている場合は、移動可能物については融合処理を行う必要はない。
【0052】
走行空間に固定物がまばらな場合において、移動可能物、固定物から求めた2つの推定自己位置を融合する方法としては、例えば、現在の自己位置から固定物までの距離について、LRF22の測定結果と環境地図上の対応する点同士を比較して誤差率を算出し、この誤差率が閾値以下であれば移動可能物の融合比率を0とする。閾値を超える場合には移動可能物の融合比率を誤差率に依存した係数にて設定し、この融合比率に応じて移動可能物、固定物から求めた2つの推定自己位置を融合する。
【0053】
移動ロボット10は、上述の手順によって算出した自己位置を環境地図と照合する。そして、図5のステップS15において、目的地に到達したかどうかを判断する。
【0054】
ステップS15でNoの場合、即ち、まだ目的地に到達していない場合は、移動ロボット10は、上述のステップS12からの動作を継続する。このように移動ロボット10は、移動中においても所定距離ごと、又は所定時間ごとにエンコーダ21による現在推定自己位置の補正を繰り返して実行する。
ステップS15でYesの場合、即ち、目的地に到達した場合は、ステップS16において、その地点での作業シナリオに登録された作業があればその作業を実行する。
【0055】
ステップS17において、ロボット動作時に必要が生じた場合随時、動作状態ログを保守センタに送信する。この動作状態ログには、現在の地点、実施した作業内容、外界と環境地図とのマッチングエラー率などが含まれる。そして、移動ロボット10は、次の目的地に向けて、上述のステップS12からの動作を継続する。
【0056】
保守センタでは、動作ログに基づいて移動ロボット10が正常な動作を行っているかどうかを判断する。もし、例えば、移動可能物を対象とするLRF22による測定において、環境地図と所定以上の誤差をもつ測定点の割合、即ち前記マッチングエラー率が増加し、閾値を超える場合は、移動ロボット10の故障あるいは地図再作成の必要性が考えられる。また、オドメトリによる推定自己位置とLRF22による推定自己位置との差が連続して閾値を超える場合に地図再作成が必要であると判断しても良い。
【0057】
例えば、物体(固定物及び移動可能物)までの距離に関して、測定値と地図情報から得られる距離との誤差の程度を表す指数値が増加している場合は、移動ロボット10の精度不良が発生しているため精度検査が必要と判断できる。
また、移動可能物までの距離に関して、測定値と地図情報から得られる距離との誤差の程度を表す指数値が増加し、固定物までの距離に関して、測定値と地図情報から得られる距離との誤差の程度を表す指数値が増加していない場合は、移動可能物の移動、出現、消失が発生したため地図再作成が必要と判断できる。
【0058】
なお、移動ロボット10は、電池残量が閾値以下になったことを検知した場合は、作業シナリオを充電ステーションへの帰還に切り替え、所定の経路に従って充電ステーションへ移動する。
【0059】
図8は、地図を再作成する際の移動ロボット10の動作を示すフロー図である。
地図の再作成は、例えば、上述の測定値と地図情報から得られる距離との誤差の程度を表す指数値が所定値以上になったときに、保守センタ2の保守者の判断に基づいてセンタ情報処理端末11から送信される地図再作成指示によって開始する。
【0060】
具体的には、実際の環境が変化して、あらかじめ環境地図を作成した時の環境と異なるなどの場合には、環境変化後の夜間や休館日等において、保守者からの指示(インターネットを介した遠隔から指示可能)または、あらかじめ決められたスケジュール(例えば、所定期間経過)等のトリガにより自律的に地図を再作成する。
【0061】
ステップS21において、固定物と移動可能物とが記載された環境地図に基づいて、閉領域を探索する。探索方法としては、ニューフロンティア法等の公知の技術を用いることができる。ステップS22において、統括コントローラ20は、LRF22に測定させると共に測定したデータを取得する。そして、ステップS23において、移動可能物位置取得処理(図9)を実行する。ステップS23は、固定物の位置を基に自己位置を補正した後、この補正自己位置を基に移動可能物の正確な位置を求めることを目的とする。
【0062】
図9は、移動可能物位置取得処理の概略の手順を示すフローチャートである。
ステップT21において、LRF22で測定した点群を同次変換する。ステップT22において、同次変換された測定値と環境地図に記載された固定物を表す点群とを対比する。ステップT23において、ICPスキャンマッチングを行って自己位置を補正する。このステップT22、T23の処理は、図6のステップT12、T13の処理と同様である。もし固定物に対応した測定点が存在しない場合は、エンコーダ21による測定値から求められた自己位置が維持される。
【0063】
ステップT24において、固定物以外の点群を移動可能物とする。例えば、環境地図上で世界座標系で表されたそれぞれの固定物の座標点を中心とする所定の領域を設定し、その領域外にある点群を移動可能物とする。そして、補正された自己位置に基づいて上記移動可能物の位置を世界座標系で求める。
【0064】
ステップT25において、求めた移動可能物の位置を一時的に保存する。そして、図8にリターンする。
【0065】
図8のステップS24において、閉領域をくまなく探索するまで上述のステップS21〜S23を実行する。探索が終了したときは、ステップS25において、移動可能物の座標位置を集約する。
集約とは、上述の探索において多数の移動可能物の位置が得られることにより、処理効率が低下してしまうことを防止するために行う処理である。
【0066】
そこで、ステップS25において、得られた移動可能物の測定点を集約する。例えば、集約の方法としては、間引きによって移動可能物の測定点を選択する。例えば、n(2以上の整数)個おきに抽出した測定点を、新たな移動可能物の測定点として選択し、これを新たな移動可能物の測定点とする。なお、新たな移動可能物の測定点を求める手法としては、近隣する測定点の中から代表点を選択し、これを新たな移動可能物の測定点としても良いし、移動可能物の測定点を複数のグループにまとめ、そのグループに属する複数の測定点の位置の平均値に対応する点を、新たに移動可能物の測定点としても良い。また、要因分析を行いマハラノビス距離を用いる等により、移動可能物を複数のグループにまとめる。そしてそのグループに属する複数の点の位置の平均値を、新たに移動可能物の位置として集約しても良い。さらに、上述の方法を適宜の順番で組み合わせて新たな移動可能物の測定点を求めても良い。
【0067】
ここで、環境地図上で世界座標系で表されたそれぞれの固定物の座標点を中心とする所定の領域内であれば固定物であり、領域外であれば移動可能物であるが、環境地図上にこれらを合成した後に一定の範囲内に存在する複数の点は、処理効率向上のためにマージして以降の処理では1点として扱う。
【0068】
ステップS26において、集約した移動可能物の位置データをデータ蓄積装置25に保存すると共にステップS27において、通信部23を介してセンタ情報処理端末11に送信する。
送信された集約した移動可能物の位置データは、センタ情報処理端末11のデータ蓄積装置32に格納される。センタ情報処理端末11は、更にこの位置データに基づいて環境地図を作成し保守者に提示する。保守者は提示された環境地図をさらに編集して所望の環境地図を再作成する。
【0069】
なお、集約した移動可能物の位置データをセンタ情報処理端末11に送信するのは伝送量を低減するためであるが、もちろん集約した移動可能物の位置データを含めた環境地図をセンタ情報処理端末11に送信しても良い。
【0070】
[実施の形態の効果]
以上説明した実施の形態によれば、地図再作成において次の効果を挙げることができる。
【0071】
移動ロボット10は、自動で自己位置を補正しつつ移動し、さらに自動で地図を再作成する。従って、恒常的に高精度の地図を作成し、ユーザの経済的、時間的負担を軽減することができる。
【0072】
更に、移動ロボット10は環境地図にある固定物に基づいて自己位置を補正し、補正した自己位置に基づいて移動可能物を特定すると共にその位置を算出する。そして、移動可能物の位置を集約して新たな移動可能物の位置を取得する。この結果、移動可能物の位置精度が良くなると共に、高精度の地図を効率的に作成することができる。
【0073】
更には、移動ロボット10はLRFによる推定自己位置の算出を、環境地図に基づいて移動可能物、固定物に分けて実施する。そして、移動可能物を基にしたLRFによる推定自己位置と、固定物を基にしたLRFによる推定自己位置と、エンコーダによる推定自己位置とを融合することにより各センサの誤差を相殺することができる。その結果、精確な自己位置補正を行うことができる。
【0074】
また、移動ロボットは、作業中においてLRFでの測定値と地図情報から得られる距離との誤差の程度を表す指数値を算出して保守センタに伝送する。従って、保守センタでは、この指数値を管理することにより移動ロボットの精度検査の要否、地図再作成の要否を現地に赴かなくても把握することができる。
【0075】
なお、上述の実施の形態で説明した各機能は、ハードウエアを用いて構成しても良く、また、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現しても良い。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【0076】
更に、各機能は図示しない記録媒体に格納したプログラムをコンピュータに読み込ませることで実現させることもできる。ここで本実施の形態における記録媒体は、プログラムを記録でき、かつコンピュータが読み取り可能な記録媒体であれば、その記録形式は何れの形態であってもよい。
【0077】
尚、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0078】
1…博物館、2…保守センタ、10…移動ロボット、11…センタ情報処理端末、12…インターネット、13…無線LANルータ、14…ユーザ情報処理端末、20…統括コントローラ、21…エンコーダ、22…レーザレンジファインダ、23…通信部、24…リモートコントローラ、25…データ蓄積装置、31…入出力装置、32…データ蓄積装置。

【特許請求の範囲】
【請求項1】
所定領域内を自動で移動するロボットを制御するプログラムであって、
前記所定領域内の固定物の配置位置を含む地図情報を記憶するステップ、
外部から地図再作成の指示を受付けた際、前記所定領域内を前記ロボットを移動させつつ(1)乃至(5)のステップを繰返し実行するステップ、
(1)エンコーダの測定値を積算して前記ロボットの自己位置を算出するステップ、
(2)前記ロボットの所定視野角範囲内にある前記固定物及び移動可能物までの距離を水平面の特定角度毎に測定するステップ、
(3)測定した距離と、前記地図情報から得られる前記固定物までの距離とを処理して、前記算出した自己位置を補正した補正自己位置を求めるステップ、
(4)前記測定値の内、前記移動可能物までの距離を表す測定値を抽出するステップ、
(5)前記抽出した測定値と前記補正自己位置とから前記移動可能物の配置位置を算出するステップ、
前記算出した移動可能物の配置位置を集約処理して新たな配置位置を求めるステップ、
前記求めた新たな配置位置を外部に出力するステップ、
を前記ロボットに搭載されるコンピュータに実行させるためのプログラム。
【請求項2】
請求項1に記載のプログラムであって、
前記地図情報には前記所定領域内の移動可能物の配置位置がさらに含まれ、
前記測定した距離と、前記地図情報から得られる前記固定物及び移動可能物までの距離との誤差の程度を表すそれぞれの指数を算出するステップ、
前記算出したそれぞれの指数を外部に出力するステップ、
を前記ロボットに搭載されるコンピュータに更に実行させるためのプログラム。
【請求項3】
前記集約処理では、前記算出した移動可能物の配置位置に対して間引き処理を実行することを特徴とする請求項1に記載のプログラム。
【請求項4】
情報処理装置のプログラムであって、
請求項1乃至3の内の1項に記載のプログラムを搭載した前記ロボットが出力した前記移動可能物についての新たな配置位置を入力するステップ、
前記新たな配置位置をユーザに提示するステップ、
この新たな配置位置に基づくユーザの操作に対応して地図を再作成するステップ、
を前記情報処理装置に搭載したコンピュータに実行させるためのプログラム。
【請求項5】
情報処理装置のプログラムであって、
請求項2に記載のプログラムを搭載した前記ロボットが出力した前記固定物及び移動可能物それぞれについての誤差の程度を表す指数を入力するステップ、
前記誤差の程度を表す指数をユーザに提示するステップ、
この指数に基づくユーザの操作に対応して地図再作成の指示を前記ロボットに出力するステップ、
を前記情報処理装置に搭載したコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−89174(P2012−89174A)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願番号】特願2012−24994(P2012−24994)
【出願日】平成24年2月8日(2012.2.8)
【分割の表示】特願2010−78912(P2010−78912)の分割
【原出願日】平成22年3月30日(2010.3.30)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成21年度独立行政法人新エネルギー・産業技術総合開発機構「次世代ロボット知能化技術開発プロジェクト」に関する委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(593059773)富士ソフト株式会社 (28)
【出願人】(504171134)国立大学法人 筑波大学 (510)
【Fターム(参考)】