(57)【特許請求の範囲】
【請求項１】
地図データを有するコントローラと複数の移動するロボットから構成されるロボットシステムであって、
前記ロボットは、それぞれ周囲の物体との距離を複数計測し、前記コントローラから入力した地図データと照合することで前記ロボットの位置及び角度を同定し、
前記コントローラは、複数の前記ロボットのうち、動作中であることを確認したロボットが計測した前記物体との距離と前記位置及び角度を基に、動作中の複数のロボットの地図更新データを合成することにより、前記地図データを生成又は更新することを特徴とするロボットシステム。
【請求項２】
地図データを有するコントローラと複数の移動するロボットから構成されるロボットシステムであって、
前記ロボットは、周囲の物体との距離を複数計測する距離センサと、前記地図データのうち、ロボット近傍の地域地図データを選択するデータ選択装置と、前記地域地図データと前記距離を照合することで前記ロボットの位置と角度を同定する同定装置を備え、
前記コントローラは、複数の前記ロボットのうち、動作中であることを確認したロボットの位置と角度、及び、動作中のロボットが計測した前記物体との距離を基に、動作中の複数のロボットの地図更新データを合成することにより、前記地図データを生成又は更新する地図生成装置を備えたことを特徴とするロボットシステム。
【請求項３】
地図データを有するコントローラと複数の移動するロボットから構成されるロボットシステムであって、
前記ロボットは、周囲の物体との距離を複数計測する距離センサと、前記地図データのうち、ロボット近傍の地域地図データを記憶する記憶装置と、前記地域地図データと前記距離を照合することで前記ロボットの位置と角度を同定する同定装置を備え、
前記コントローラは、複数の前記ロボットのうち、動作中であることを確認したロボットの位置と角度、及び、動作中のロボットが計測した前記物体との距離を基に、動作中の複数のロボットの地図更新データを合成することにより、前記地図データを生成又は更新する地図生成装置を備えたことを特徴とするロボットシステム。
【請求項４】
請求項１乃至３のいずれかに記載のロボットシステムにおいて、
前記距離センサはレーザ測長器であることを特徴とするロボットシステム。
【請求項５】
請求項１乃至３のいずれかに記載のロボットシステムにおいて、
前記ロボットの位置と角度を同定した後に、該位置と角度、及び、前記コントローラからの動作指示により前記ロボットが自律移動することを特徴とするロボットシステム。
【請求項６】
請求項１記載のロボットシステムにおいて、
前記複数のロボットは相互にロボットの位置を同定することを特徴とするロボットシステム。
【請求項７】
請求項２乃至３のいずれかに記載のロボットシステムにおいて、
前記地域地図データは同定したロボットの位置により変更することを特徴とするロボットシステム。
【請求項８】
請求項７記載のロボットシステムにおいて、
前記地域地図データを選択又は記憶したときのロボットの位置から所定距離以上、前記ロボットの位置が移動したとき、前記地域地図データを変更することを特徴とするロボットシステム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は移動ロボットシステムに関し、特に、地図を生成・更新する機能を有する移動
ロボットシステムに関する。
【背景技術】
【０００２】
移動ロボットが周囲状態を計測し、そのデータを基に自己位置を推定しながら、かつ、同時に地図を生成する方法が提案されている。この方法はSLAM（Simultaneous Localization and Mapping）とよばれる技術で、地図情報を持たない環境にロボットが置かれた場合でも、ロボットが地図を生成しながら自己位置を推定していくことができるので、自律的に移動する特徴を持っている。
【０００３】
例えば、特許文献１には、移動ロボットの移動センサと認識手段により、物体間の相対姿勢で表わされる地図情報とロボットの姿勢の同時推定を行うことで、新規地図情報を作成していく方法が示されている。また、特許文献２では、GPS（Global Positioning System）などの自己位置検出手段と、周囲の物体との距離と方向を検出する物体検出手段と、それらの検出データを基に移動する方向の環境地図を生成する機能を備えた移動制御装置が述べられている。さらに、特許文献３においては、マップデータ生成部と位置推定部が自律移動型ロボット、あるいは、サーバ装置に配置されていることが示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２７６１６８号公報
【特許文献２】特開２００５−３３２２０４号公報
【特許文献３】特開２００７−９４７４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これらの公知例で示されているロボットシステムは、地図を生成する地図生成部とロボ
ットの自己位置を推定する自己位置推定部の配置方法により、２つのケースに分けられる
。一方の方法は地図生成部と自己位置推定部がロボットに内蔵されている場合であり、他
方はロボットの動作を制御する上位のコントローラ（サーバ装置）にそれらが内蔵されて
いる場合である。なお、地図生成をすること自体を目的としたロボットシステムの場合、
ロボットは自律的に動作する必要はないので、人間が操作あるいは押す車両も本発明のロ
ボットとよぶことにする。
【０００６】
前者の場合、ロボットに内蔵したロボットコントローラの演算負荷が非常に大きくなっ
てしまうとともに、地図を保存する記憶装置も大きくなってしまう課題がある。特に、複
数のロボットが同時に稼動するシステムにおいては、それぞれのロボットで生成した地図
を相互に利用する場合には、上位のコントローラに各ロボットの地図情報を出力し、上位
のコントローラがそれぞれの地図の整合性を取りながら、広い地図を再生成していく必要
がある。そのため、膨大な地図データを通信して、上位のコントローラで高速演算処理し
なければならない。
【０００７】
また、後者の場合、ロボットで得られた周囲の環境情報（画像、障害物検知、移動機構
のセンサ情報など）を上位のコントローラに送信し、位置を推定しながら地図を生成する
ので、それを基にロボットを移動制御する場合には、上位コントローラとロボットの間の
送受信で時間がかかり、高速応答のロボット走行制御を行うことができない問題点がある
。さらに、複数のロボットをこの方式により稼動する場合には、ロボット走行制御演算の
ため、上位コントローラは高速・高性能の演算処理を必要とする課題がある。
【０００８】
本発明は前記課題に対してなされたもので、その目的とするところは、ロボットの高応
答性能を確保しながら演算負荷を低減するとともに、複数のロボットを駆動する場合にも
、上位のコントローラが比較的安価になるロボットシステムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するに当って、以下のような対応を図るものである。
【００１０】
地図データを有するコントローラと複数の移動するロボットから構成されるロボットシステムであって、前記ロボットは、それぞれ周囲の物体との距離を複数計測し、前記コントローラから入力した地図データと照合することで前記ロボットの位置及び角度を同定し、前記コントローラは、複数の前記ロボットのうち、動作中であることを確認したロボットが計測した前記物体との距離と前記位置及び角度を基に、動作中の複数のロボットの地図更新データを合成することにより、前記地図データを生成又は更新する。
【００１１】
また、地図データを有するコントローラと複数の移動するロボットから構成されるロボットシステムであって、前記ロボットは、周囲の物体との距離を複数計測する距離センサと、前記地図データのうち、ロボット近傍の地域地図データを選択するデータ選択装置と、前記地域地図データと前記距離を照合することで前記ロボットの位置と角度を同定する同定装置を備え、前記コントローラは、複数の前記ロボットのうち、動作中であることを確認したロボットの位置と角度、及び、動作中のロボットが計測した前記物体との距離を基に、動作中の複数のロボットの地図更新データを合成することにより、前記地図データを生成又は更新する。
【発明の効果】
【００１２】
本発明によれば、ロボット及びコントローラの演算負荷を低減できるので、高応答性を
有するロボットを制御する比較的安価なロボットシステムを提供できる効果がある。
【図面の簡単な説明】
【００１３】
【図１】実施例１のシステム構成を示すブロック図
【図２】ロボットの動き方と物体距離を測長する範囲を示した地図
【図３】ロボットの初期姿勢と物体の距離を計測したときの状態を上部から見た関係図
【図４】地図データと測長した距離を照合してロボットの位置と角度を同定したときの状態を上部から見た関係図
【図５】ロボットの姿勢を同定する処理方法を示したフローチャート
【図６】同定したロボットの姿勢と測長データから、新たな物体を検出する地図生成方法を示した関係図
【図７】実際のロボットと物体の関係を上部から見た関係図
【図８】地図生成の演算を行うフローチャート
【図９】図１と異なる他の実施例で、複数のロボットが動作するときのシステム構成を示すブロック図
【図１０】複数のロボットにより地図生成を行うフローチャート
【図１１】複数のロボットが相互に位置同定する機能を追加した図１０と異なる実施例のフローチャート
【図１２】ロボット２２が物体との距離を測長したときの状態を上部から見た関係図
【図１３】ロボット２１が物体との距離を測長したときの状態を上部から見た関係図
【図１４】ロボットが相互に計測した範囲を上部から見た関係図
【図１５】広範囲の動作領域を運行するロボットシステムの構成を示すブロック図
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態を図１〜図１４に基づいて説明する。
【実施例１】
【００１５】
図１は、本発明に特徴的な上位のコントローラ１と移動する１つのロボット２から構成
されるロボットシステムのブロック図である。コントローラ１はロボット2の走行指令を
出力する走行制御指令部３、ロボット2が走行する領域の地図を記憶した地図データ記憶
部４、地図生成を行う地図生成装置５、及び、ロボット２とデータの送受信を行う送受信
部６から構成される。また、ロボット２は上位のコントローラ２との通信を行う送受信部
７、コントローラ１から出力される走行指令によりロボット２の走行状態を制御する走行
制御部８、ロボット２と周囲にある物体１３との距離ｄを計測する距離センサ９、この距
離ｄのデータと、コントローラ１から入力される地図のデータを基にロボット２の自己位
置を同定する同定装置１０、及び、ロボット２を走行する車輪１１、１２から構成されて
いる。
【００１６】
ここで、絶対座標系（ｘ−ｙ静止座標系）におけるロボット２の位置を（ｘｒ、ｙｒ）
とし、ロボット２の角度をθｒと表わすことにする。また、ロボット位置（ｘｒ、ｙｒ）
及び角度θｒを合わせて、ロボット２の姿勢とよぶ。
【００１７】
まず、ロボット２の走行制御に関する動作を、図１、図２により説明する。図２はロボ
ットが動作領域１４の中を移動する状態の一例を上部から見た状態図である。図２の動作
領域１４は塀に囲まれており、ロボット２は物体１５、１６、１７、１８を避けながらそ
の他の領域（つまり、通路）を走行することができる。ここで、物体１５、１６、１７、
１８は作業台、部屋、あるいは、壁などを意味しているが、ここでは説明を単純化するた
めに、物体もしくは作業台とよぶことにする。図２はロボット２を作業台１５の出発点４
１から到着点４２まで移動している途中の状態を示している。
【００１８】
コントローラ１の走行制御指令部３では、人間からの指令、あるいは、記述していない
上位のロボット運行管理システムからの指令などを与えられると、それらの指令とロボッ
ト２の姿勢から得られるロボット位置（ｘｒ、ｙｒ）を基に、ロボット２を出発点４１に
移動させた後、到着点４２までのロボットの走行経路を計画し、図２のような破線で示し
た経路を走行指令として、ロボット２の走行制御部８に出力する。走行制御部８では、走
行指令に対して、後述する同定装置１０から出力されるロボット２の姿勢を入力し、フィ
ードバック制御を行い、車輪１１、１２の走行速度、及び、操舵角を制御する。これによ
り、ロボット２は図２の破線で示した経路どおりに到着点４２まで移動することができる
。また、走行制御部８では、入力したロボット２の姿勢と、その後に走行制御によりロボ
ットが移動した距離、角度から、ロボット２の姿勢が幾何学的に推定される。しかしなが
ら、車輪１１、１２のすべりなどがあるため、実際のロボット２の姿勢と異なることがあ
るので、以下、走行制御部８で算出されたロボット２の姿勢は推定姿勢とよぶことにする
。
【００１９】
次に、図1の距離センサ９について説明する。距離センサ9が測長する範囲を図2に示す
。この実施例で用いる距離センサ９はレーザ測長器とよばれるもので、ロボット2の前方
に取り付けられている。この距離センサ９により、ロボット2の正面を中心に±９０°、
つまり、１８０°の範囲でロボット２から周囲の物体までの距離ｄを計測できる。図２の
場合には、ロボット２から見たそれぞれの角度に対する動作領域１４の壁と、あるいは、
物体１７までの距離ｄを計測していることを示している。
【００２０】
ここで、図１の同定装置１０における処理内容について図３から図８までを用いて説明
する。走行制御部８において算出された前述の推定姿勢が同定装置１０に入力される。同
定装置１０では、入力された推定姿勢を、初期姿勢（ｘr0、yr0、θr0）と定義し、以下これに従う。この初期姿勢（ｘr0、yr0、θr0）をロボット２の姿勢と見なして、計測した距離ｄを地図上に展開すると、図３のようになる。なお、この地図はコントローラ１の地図記憶部４から同定装置１０に入力されたものである。図３によれば、動作領域１４の壁の下側及び右側において、距離ｄのデータと地図が大きくずれていることがわかる。この距離ｄのデータと地図が図4のようにほぼ一致すると、ロボット2の姿勢（ｘr、yr、θr）が距離ｄを計測したときの実際の姿勢を示していることを意味する。初期姿勢（ｘr0、yr0、θr0）は走行制御部８で推定した値であり、図3の場合には、ロボット2の実際の姿勢（ｘr、yr、θr）とは異なることを意味している。
【００２１】
そこで、初期姿勢（ｘr0、yr0、θr0）を基にロボット2の実際の姿勢（ｘr、yr、θr）を求める同定装置１０の演算方法について、図５を用いて、初期姿勢（ｘr0、yr0、θr0）は実際の姿勢（ｘr、yr、θr）の近傍にあることを前提とした場合について説明する。
なお、求めるパラメータは位置ｘr、yr、及び、角度θrの３つである。このうち、x軸、
ｙ軸に関しては、ｘr0とｘrの差、yr0とyrの差が最大となる可能性がある値よりも大きい
距離探索値Wを設定する。また、θ方向に関しては、θr0とθrの差が最大となる可能性が
ある値よりも大きい角度探索値γを設定する。
【００２２】
初期姿勢（ｘr0、yr0、θr0）のそれぞれの値が同時に実際の姿勢（ｘr、yr、θr）と一致したとき、図４のように、地図と距離ｄのデータがほぼ一致する。言い換えれば、図４の状態のとき、複数からなる距離ｄのデータから地図までの誤差の和を計算すると、その値が最小となる。これを下記のようにして、探索法で求める。
【００２３】
ステップ１０１で、ロボットの推定姿勢、つまり、初期姿勢（ｘr0、yr0、θr0）を入力する。ステップ１０２では、図５に示すように、３つのパラメータについて、探索するための初期値（ｘrc、yrc、θrc）を計算する。また、差の総和Eを総和最大値Emaxに設定する。総和最大値Emaxは、下記に示すステップ１０３，１０４で計算されるEcの中で最大
となる値よりも、はるかに大きい値に設定するものとする。ステップ１０３においては、
ロボットの姿勢が（ｘrc、yrc、θrc）であるとして、距離ｄ（η）と地図との差ｅ（η
）を求める。なお、距離ｄ（η）は距離センサ９で計測した角度ηの距離のことを表わす
ものとする。また、ｅ（η）は、地図のデータの中で、距離ｄ（η）に最も近い地図デー
タとの差を示す。例えば、図３では、図示するように、η＝０のとき、距離ｄ（０）に対
するｅ（０）は動作領域１４の右側の壁との最小距離がその値となる。ステップ１０３で
は、角度ηを−９０°から＋９０°までの誤差ｅ（η）をそれぞれ計算する。次のステッ
プ１０４は、角度ηを−９０°から＋９０°までの誤差ｅ（η）の総和Ｅcを求める。
【００２４】
総和Eと総和Ecとをステップ１０５で比較した結果、EcがEより小さい場合には、ステップ１０６の処理を行う。EcがE以上のときには、ステップ１０７に直接ジャンプする。ステップ１０６の処理は、総和Ec、位置ｘrc、ｙrc、角度θrcを、それぞれ総和E、位置ｘr、ｙr、角度θrにセットする。ステップ１０６の処理は、ステップ１０３、ステップ１０４で計算した総和Ecの中で、最も小さいときの位置ｘrc、ｙrc、角度θrcを位置ｘr、ｙr、角度θrに記憶しておくことを意味している。ステップ１０６の処理が終了した後は、ステップ１０７に飛ぶ。
【００２５】
ステップ１０７の計算は、位置ｘrcをｘ軸計算幅Δｘだけ加算したものを位置ｘrcとし
て再設定するものである。ｘ軸計算幅Δｘは同定して得られる姿勢（ｘr、yr、θr）の精
度と計算量から考慮される小さい値に設定することが望ましい。後述するｙ軸計算幅Δｙ
、角度計算幅Δθについても、同様である。
【００２６】
ステップ１０８において、位置ｘrcがｘr0＋W/2に到達したかを判断し、位置ｘrcがｘr
0＋W/2以下であれば、ステップ１０３からステップ１０７までの処理を繰り返す。ここまでの処理は、位置ｙrc、角度θrcを一定とした状態で、位置ｘrcをｘr0―W/2からｘr0＋W/2まで、ｘ軸計算幅Δｘ毎に、総和Ｅcの計算を行い、その範囲における最小値を求めるものである。ステップ１０８で位置ｘrcがｘr0＋W/2を越えたと判断したときには、距離探索の領域外となることを意味するので、ステップ１０９にジャンプし、図5に記述しているように、位置ｘrcを初期値であるｘr0―W/2に、位置ｙrcをｙ軸計算幅Δｙだけ加算したものを位置ｙrcに置換えている。ステップ１１０は、ステップ１０８と同様に、位置ｙrcがｙr0＋W/2に到達したかを判断し、位置ｙrcがｙr0＋W/2以下であれば、ステップ１０３からステップ１０９までの処理を繰り返す。この結果、総和Eは、θrcを一定の値として、ｘ軸、ｙ軸方向の距離探索の領域全域における最小値を求めることができる。従って、その範囲における総和Eが最小となるロボットの姿勢（ｘr、yr、θr）も得られる。
【００２７】
ステップ１１０で位置ｙrcがｙr0＋W/2を越えたと判断した場合には、図５のステップ
１１１に示す処理を行う。つまり、位置ｙrcを初期値であるｙr0―W/2に、位置θrcを角
度計算幅Δθだけ加算したものを位置θrcに置換えている。次に、ステップ１１２では、
角度θrcがθr0＋γ/2に到達したかを判断し、角度θrcがθr0＋γ/2以下である場合には
、ステップ１０３からステップ１１１までの処理を繰り返す。角度θrcがθr0＋γ/2を越
えたときには、同定演算を終了することになる。以上の処理を行うことにより、ｘ軸、y
軸の距離探索値Wの範囲、及び、θ方向の角度探索値γの範囲について、すべての総和Ec
を計算し、その中で最小となるEcを総和Eとして確定することができる。そのとき、記憶
されている位置ｘr、yr、角度θrが、実際のロボットの姿勢（ｘr、yr、θr）であると同
定することができる。図４がそのときの結果である。
【００２８】
ここで、図4の右側において、距離ｄのデータの中に、明らかに地図と一致しないデー
タd（a）、d（b）、d（c）があり、その場所に地図に示されていない何らかの物体が存在
することを意味している。例えば、レイアウト替えにより物体が配置された場合が考えら
れる。本実施例では、図７における動作領域１４の右側の壁と物体１７の間にある物体１
９がある場合で説明する。図４の結果から、図６に示すように、新たな物体１９の一部を
検出することになる。この情報を基に、コントローラ１の地図生成装置５では、地図の生
成・更新を行う。
【００２９】
この演算方法について、図８のフローチャートを用いて説明する。まず、ステップ２０
１でロボット２の姿勢（ｘr、yr、θr）を入力し、ステップ２０２において距離センサ９
で得られた距離ｄを入力する。次のステップ２０３では、角度ηに対する物体との距離ｄ
（η）を基に、ロボット２から±９０°の範囲内で検出される物体の位置（静止座標系）
、つまり、物体検出位置（ｘd（η）、ｙd（η））を求める。角度ηの演算刻み幅Δηは
距離センサ９のデータ数、演算処理時間などにより決定するものであり、ステップ２０３
、２０４、及び、２０５の繰返し演算はこの演算刻み幅Δη毎に行う。ステップ２０４に
おける演算は、ロボット位置（ｘr（η）、ｙr（η））から物体検出位置（ｘd（η）、
ｙd（η））までの地図更新データを作成するものである。ロボット２から物体の位置ま
での距離を検出するということは、物体が存在する位置を検出することだけでなく、ロボ
ット２から検出した物体の位置までの間には、他の物体が存在しないことも計測している
ことになる。従って、ステップ２０４では、物体の位置だけでなく、物体が存在しない範
囲も含めて、地図更新データを作成する。ステップ２０５では、この地図更新データを用
いて、地図データの要素毎に、書き換え、及び、フィルタリング処理演算を行う。この結
果得られる地図の変更データは地図データ記憶部４に出力される。
【００３０】
以上の処理により、ロボット２が収集した距離データに基づきロボット２の姿勢を同定
するとともに、コントローラ１が常に地図を追加・更新する。これにより、高速の演算処
理時間を必要とする姿勢の同定処理と、地図生成を分離するので、ロボット２で行う演算
処理を軽減でき、ロボットを安価にすることができる。
【００３１】
図９は複数のロボットがコントローラ１により運行されるシステムの実施例である。ロ
ボット２０、２１及び２２が動作領域１４の中を動作するものであり、それぞれのロボッ
トはコントローラ１により制御される。図９におけるコントローラ１は、ロボット運行管
理部２３、走行制御指令部２４、２５、２６、地図生成装置２７、地図データ記憶部４、
送受信部６から構成される。ロボット運行管理部２３は、ロボット２０、２１及び２２の
運行方法を管理するもので、各ロボットをそれぞれ設定した位置まで移動するように指令
を与える機能を有する。この運行指令により、走行制御指令部２４、２５及び２６はそれ
ぞれロボット２０、２１及び２２に走行指令を出力し、それらの動作を制御する。これら
の処理方法は、図３の走行制御指令部３で説明したものと同様である。これらの走行指令
により、ロボット２０、２１及び２２は移動・停止を行う。また、図５の実施例で説明し
たように、各ロボットはそれぞれ自己の姿勢を同定し、その結果を走行制御指令部２４、
２５、２６と地図生成装置２７に出力する。
【００３２】
次に、本実施例で特徴的な地図生成装置２７について図１０を用いて説明する。ステッ
プ３０１において、ロボット２０が動作中であるか否かを判断し、動作中である場合には
ステップ３０２の処理を、そうでない場合にはステップ３０３にジャンプする。ステップ
３０２はロボット２０の地図更新データを作成するものであり、ロボット２０の距離セン
サにより検出できる範囲について、図８で説明した処理方法と同様の処理を行う。ロボッ
ト２０が動作中でない場合には、新しい情報が得られないので、ステップ３０２の処理を
行わないことにする。ステップ３０３、３０４はロボット２１を対象として、ステップ３
０５、３０６はロボット２２を対象として、それぞれ地図更新データを作成するものであ
る。これらの処理により得られた地図更新データは、ステップ３０７で合成される。この
結果、３つのロボットで得られた情報を１つの地図更新データにまとめると、次のステッ
プ３０８において、地図の書き換え、フィルタリング処理を行い、新しい情報を含む地図
を更新することができる。
【００３３】
ここで、従来のシステムと本実施例の違いについてまとめる。まず、従来のシステムの
１つとして、ロボットの姿勢の同定と地図生成をコントローラ１ですべて行うシステムで
ある場合を説明する。この場合、多くのロボットの姿勢同定をするために、演算が膨大に
なってしまい、演算結果を得るまでの時間が長くなる問題がある。つまり、姿勢同定結果
を基にしたロボットのフィードバック制御では、高速応答化することができない。また、
従来システムの他の事例として、ロボットが姿勢の同定と地図生成をそれぞれ行うシステ
ムでは、各ロボットが収集した情報だけで作成した地図が複数存在することになり、他の
ロボットが得た最新の情報を活用できないという問題がある。これに対して、図９、図１
０の実施例によれば、複数のロボットが運行されるシステムにおいて、それぞれのロボッ
トの演算負荷を大きくすることなく、ロボットの姿勢を同定することができる。また、コ
ントローラ１において複数のロボットからの情報を集めて、地図を統一的に作成すること
ができるので、すべてのロボットが同じ地図情報を基に制御され、移動することになる。
そのため、他のロボットが収集した情報を含む最新の地図情報でロボットの姿勢の同定も
行うことができるので、より信頼度と精度の高い同定を行うことができる。
【００３４】
図１１は、図９、図１０の実施例における地図生成装置２７の演算が異なる他の実施例
である。図１０と比べて、ステップ３０９の演算が追加されたものであり、複数のロボッ
トが動作する場合に有効な処理である。例えば、図１２〜図１４に示すように、ロボット
２１とロボット２２が互いに距離センサにより地図更新データとして検出できる場合を考
える。ロボット２２は搭載している距離センサで図１２に示す範囲の距離を検出すること
になるので、図１１のステップ３０６において、ロボット２１を含めて地図更新データを
作成する。また、図１３のように、ロボット２１についても、図１１のステップ３０４に
おいて、ロボット２２を含めて地図更新データを作成する。
【００３５】
ステップ３０９では、図９の地図生成装置に入力されたすべてのロボットの姿勢と、図
１１のステップ３０２、３０４、３０６で得られた地図更新データを照合して、ロボット
の位置が正しく同定されているかを判断する。正しく同定されていないと判断した場合に
は、ロボット位置同定異常として、警報を吹鳴する、あるいは、システムを停止するなど
の処置を行う。
【００３６】
また、図１４に示すように、ロボット２１とロボット２２が向かい合っている場合には
、互いのロボットの姿勢と距離の情報から、ロボット２１とロボット２２の距離が誤差精
度範囲内で正しく計測されているかを確認する。この方法により、ロボットに搭載した距
離センサの高い信頼性を確保することができる。さらに、２つのロボットが同時に計測す
る物体の範囲については、三角測量の原理から、高精度に地図を生成することができる。
図１４の場合には、太線で表した物体１７の左側の一部、物体１５の上部右側、物体１８
の下部右側がそれに相当する。このように、複数のロボットで相互にロボットの位置を同
定することにより、高い信頼性を持つシステムを構築できるとともに、地図生成の高精度
化にも寄与できる特徴を持つ。
【００３７】
図１５は広範囲の領域を動くロボットシステムの実施例であり、広範囲の地図データの
うち、ロボット２がいる位置の近傍だけの地図をロボットの姿勢の同定に利用するもので
ある。以下、このロボット近傍の地図を地域地図とよぶことにする。図１５の実施例が図
１と異なる点は、地図データ記憶部３０、走行制御指令部３１、モータ制御部３２の処理
方法である。
【００３８】
走行制御指令部３１では、図１の走行制御指令部３と同様の方法で走行指令を求める。
次に、ロボット２から検出された車輪１１、１２の回転数、舵角を走行制御指令部３１に
入力する。なお、これらの回転数、舵角のことをオドメトリとよぶことにする。また、ロ
ボット２の同定装置１０で同定された姿勢も走行制御指令部３１に入力している。入力さ
れた姿勢とオドメトリから、最新のロボット２の姿勢を推定して、走行指令に対するロボ
ット２の姿勢のフィードバック制御を行う。この結果に基づき、車輪１１、１２を駆動す
る各モータのモータ制御指令をロボット２に出力する。ロボット２のモータ制御部３２で
は、これらのモータ制御指令に基づき、モータの制御を行い、ロボット２を駆動する。
【００３９】
また、本実施例の特徴的な点は、地図データ記憶部３０に入出力するデータである。地
図生成装置５で、ロボット２の姿勢からロボット２がどの地域にいるかを判断し、地域選
択指令を地図データ記憶部３０に出力する。この地域選択指令に基づき、ロボットが存在
する地域地図を地図データ記憶部３０からロボット２の同定装置１０に出力する。同定装
置１０は、図１の実施例と同様であり、地域地図を基にロボット２の姿勢を同定する処理
を行う。なお、地図生成装置５から地図データ記憶部３０に出力される変更データは、地
域地図の範囲に限定されるものではなく、ロボット２が測定した距離データから得られる
地図更新データに基づくものである。
【００４０】
ロボットが設定した地域外に移動する場合には、地域選択指令を変更することにより、
自動的にロボット２が必要とする地域地図に書き換えられる特徴がある。従って、本実施
例を用いることにより、広範囲の領域を動き回るロボットシステムにおいて、ロボットの
地図が必要とする記憶装置を大きくすることなく、ロボットの姿勢同定、地図生成・更新
を行うことができるので、工場や物流センタなどの広範囲の動作領域を動くロボットシス
テムを比較的安価に提供できる利点がある。
【００４１】
以上が、工場や物流センタなどの所定の動作領域で運行するロボットシステムにおいて
、適用した実施例であるが、ビルや病院内で運行するロボットシステムにも適用できる。
１つのロボットが運行するシステムと複数のロボットが運行するシステムについて、異な
る制御方法によりロボットを制御する方法を実施例として説明したが、これらの方法を組
合せて実施する方法も、有効である。また、先にも述べたように、地図生成することを目
的としたロボットシステムの場合、ロボットは自律的に動作する必要はないので、人間が
操作あるいは押す車両も本発明のロボットであり、それに適用することもできる。従って
、本実施例に述べた方法に限定するものでなく、複数の組合せを併用した場合でも、本発
明は広く適用できる。
【符号の説明】
【００４２】
１：コントローラ          ２、２０、２１、２２：ロボット
３、２４、２５、２６、３１：走行制御指令部
４、２７、３０：地図データ記憶部                  ５：地図生成装置
６、７：送受信部          ８：走行制御            ９：距離センサ
１０：同定装置            １１、１２：車輪            
１３、１５、１６、１７、１８、１９：物体もしくは作業台
１４：動作領域            ２３：ロボット運行管理部
３２：モータ制御部    ４１：出発点                ４２：到着点
【図１】
0005439552.tif 000002
【図２】
0005439552.tif 000003
【図３】
0005439552.tif 000004
【図４】
0005439552.tif 000005
【図５】
0005439552.tif 000006
【図６】
0005439552.tif 000007
【図７】
0005439552.tif 000008
【図８】
0005439552.tif 000009
【図９】
0005439552.tif 000010
【図１０】
0005439552.tif 000011
【図１１】
0005439552.tif 000012
【図１２】
0005439552.tif 000013
【図１３】
0005439552.tif 000014
【図１４】
0005439552.tif 000015
【図１５】
0005439552.tif 000016