(57)【要約】【課題】  ユーザが大まかに経路を入力するだけで、自律移動を行うことができるロボットを構築することを目的とする。【解決手段】本発明のシステムは、入力された経路に基づいて移動装置の経路を設定する経路設定部と、移動装置の存在する環境を計測する計測部と、計測部が計測した値に基づいて環境に存在する物体の存在領域を抽出する抽出部と、経路設定部により設定された経路と抽出部により抽出された物体の存在領域に基づいて経路の有効性を判定する判定部と、判定部により無効と判定されなかった経路の中から移動装置が進むべき目標位置を決定する位置決定部と、目標位置に移動装置が移動するよう制御する移動制御部を備える。【選択図】図１
2007122304.tif 000002
【特許請求の範囲】
【請求項１】
入力された経路に基づいて、移動装置の経路を設定する経路設定部と、
前記移動装置の存在する環境を計測する計測部と、
前記計測部が計測した結果に基づいて、前記環境に存在する物体の存在領域を抽出する抽出部と、
前記経路設定部により設定された経路と、前記抽出部により抽出された物体の存在領域に基づいて、経路の有効性を判定する判定部と、
前記判定部により無効と判定されなかった経路の中から、前記移動装置が進むべき目標位置を決定する位置決定部と、
前記目標位置に前記移動装置が移動するよう制御する移動制御部を備える、システム。
【請求項２】
前記判定部は、前記入力された経路の中で、前記計測部の計測範囲に含まれない部分を無効と判定する、請求項１記載のシステム。
【請求項３】
前記判定部は、前記入力された経路の中で、前記物体の存在領域に含まれる部分を無効と判定する、請求項２記載のシステム。
【請求項４】
前記入力された経路の中の点には、識別子が割り振られ、
前記位置決定部は、前記判定部により無効と判定されなかった経路の中から、前記識別子に基づいて、前記目標位置を決定する、請求項３記載のシステム。
【請求項５】
前記識別子は、前記入力された経路の終端位置に近い点ほど大きな数値が割り当てられ、
前記位置決定部は、前記数値の大きさに基づいて、前記目標位置を決定する、請求項４記載のシステム。
【請求項６】
前記入力された経路と、前記物体の存在領域と、前記移動装置が進むべき経路と、前記目標位置、のうち、少なくとも一つの画像を表示する表示部を更に備える、請求項１記載のシステム。
【請求項７】
プリンタを制御するプリンタ制御部を更に備え、
前記移動装置は、前記プリンタを搭載する、請求項１記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律移動するロボットに関する。
【背景技術】
【０００２】
ロボットを自律移動させる技術において、ユーザが障害物に衝突しないような経路を予めPC画面上に描画する手法が提案されている（非特許文献１参照）。また、ユーザが大まかな経路を予めPC画面上に描画し、実際の環境に存在する交差点やＴ字路等を表す目印をPC画面上に設定しておく手法が提案されている（非特許文献２参照）。
【０００３】
【非特許文献１】Myers G., Julia L. Cheyera, and Gherbi S., “Multimodal User Interface for Mobile Robots, ” Eleventh Annual Symposium on User Interface Software and Technology, 1998.
【非特許文献２】及川一美，土谷武士，“手書き地図を用いた通路状環境のオフライン教示手法，” Vol.17，No.5，pp.100-109，日本ロボット学会誌，1999．
【発明の開示】
【発明が解決しようとする課題】
【０００４】
非特許文献１では、障害物に衝突しないような正確な経路の設定が必要である。一方、非特許文献２では、正確な経路は必要ないものの、目印の設定が必要となる。このように、従来技術の手法では、ロボットが存在する環境中の情報を予め詳細に設定しておく必要があり、ユーザにとって煩わしい、という課題がある。
【０００５】
そこで、本発明の目的は、大まかに経路を入力するだけで、自律移動を行うことができるロボットを構築することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の望ましい態様の一つは次の通りである。
【０００７】
本発明のシステムは、入力された経路に基づいて移動装置の経路を設定する経路設定部と、移動装置の存在する環境を計測する計測部と、計測部が計測した結果に基づいて環境に存在する物体の存在領域を抽出する抽出部と、経路設定部により設定された経路と抽出部により抽出された物体の存在領域に基づいて経路の有効性を判定する判定部と、判定部により無効と判定されなかった経路の中から移動装置が進むべき目標位置を決定する位置決定部と、目標位置に移動装置が移動するよう制御する移動制御部を備える。
【発明の効果】
【０００８】
本発明によれば、大まかに経路を入力するだけで、自律移動を行うことができるロボットを構築することができる。
【発明を実施するための最良の形態】
【０００９】
以下、実施形態について、図を用いて説明する。
【実施例１】
【００１０】
図１は、本実施例のシステムのハードウェア構成を示す図である。
【００１１】
本システムは、プログラムに基づいて処理を行うプロセッサ１１、データを一時的に格納するメインメモリ１２、記憶装置１３、ユーザインタフェース（ディスプレイ、グラフィックボード、マウス、ロボット制御ボード、距離センサ制御ボード等）１４、センサ１５、プリンタ１６、無線LAN１７、及びこれらを接続する接続線１８とから構成される。
【００１２】
尚、本稿で扱うロボットとは、移動する装置であれば何でもよく、例えば、図１のシステム自体をロボットとしてもよいし、本システムを搭載する台車をロボットとしてもよい。また、ロボットの形態も、車両型、船舶型、脚型など、どのような形態を採用してもよい。
【００１３】
記憶装置１３には、ＯＳ３１、全体の処理を制御する全体制御部３２、ユーザの入力に基づいて経路の設定を行う経路設定部３３、センサ１５等の計測を制御する計測部３４、障害物存在領域を抽出する抽出部３５、ロボットの位置を推定する位置推定部３６、ロボットの経路を決定する際に様々な判定を行う判定部３７、ロボットの進むべき目標位置を決定する位置決定部３８、目標位置に移動するようにロボットを制御する移動制御部３９、生成された画像を表示する表示部４０、生成された画像などの処理結果を保持する画像保持部４１、プリンタ１６を制御するプリンタ制御部４２、環境のモデルを生成する環境モデル生成部４３などの機能を備えるプログラムが格納されている。
【００１４】
プロセッサ１１は、以上のようなプログラムを記憶装置１３からメインメモリ１２にロードして、処理を実行する。しかし、これらプログラムの機能を、ＬＳＩ等のハードウェアにより実現してもよい。また、これらの機能がハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせにより実現できることは、いうまでもない。更に、上記機能を実現するためのプログラムやセンサの計測値などのデータは、ＣＤ−ＲＯＭ等の記憶媒体から移してもよいし、ネットワーク経由で他の装置からダウンロードしてもよい。
【００１５】
以上のハードウェアやソフトウェアは、実施形態に応じて、取捨選択することができる。
【００１６】
センサ１５は、レーザ距離センサ（レーザを水平、もしくは鉛直に走査することで計測を行う）、赤外線センサ、超音波センサ、カメラ等、障害物までの距離と方位が計測できるものであれば何を用いてもよい。また、本実施例では、未知環境を自律移動する車輪型移動ロボットを想定しているが、センサをロボット以外の車両や船舶などに取り付けてもよい。更に、センサの走査範囲は、何度であってもよい。
【００１７】
接続線１８は、図１の構成要素をそれぞれ接続するものであれば、何でもよい。
【００１８】
図２は、ロボット制御のフローを示す図である。以下、図２の処理を、図３〜６を用いながら説明する。尚、以下、経路設定部等の機能モジュールがハードウェアであるかのように説明するが（機能モジュールを処理主体とする）、該機能がソフトウェアで実現される場合の主体は、プログラムを実行するプロセッサ１１であることはいうまでもない。
【００１９】
まず、ユーザが、経路設定画面（図３参照）上でロボットが進むべき経路を、マウスなどのポインティングデバイスを用いて、大まかに入力する。３０３が入力された経路を示す。尚、ユーザは、ロボットのアイコン３０１を、画面上で操作することでロボットの初期位置と姿勢を設定してもよい。
【００２０】
経路設定部３３は、ユーザに入力に基づいてロボットが経由すべき経路を複数の点３０２で設定し（例えば、３０２−１には１、３０２−２には２、のように、各点に整数値などの識別子を割り振る）、複数の点の間を補間する点列３０３を生成する（ステップ２０２）。この点列は、ロボットの初期位置３０４、経路の終端位置３０５、及び、複数の点３０２からなる情報であり、メインメモリ１２に格納される。
【００２１】
次に、計測部３４の制御により、センサ１５が環境の計測を行う（ステップ２０２）。未知環境で障害物の位置を計測する様子を図４に示す。ロボットは初期位置３０４において、範囲４０２についてレーザの走査を行い、実際の環境に存在する障害物４０３までの距離と方位からなるセンサデータが得られたとする。このセンサデータにより、障害物に対してレーザが当たった位置が点４０４のように求められる。
【００２２】
次に、抽出部３５は、障害物存在領域を抽出する（ステップ２０３）。具体的には、計測により得られた点４０４を膨張させた円形の領域５０１（図５）を障害物の存在領域として算出し、画像として記録する。尚、点を膨張させるときはロボットの大きさを基準とする膨張率を予め設定しておく。この画像に、ユーザに入力された経路情報を描画すると、図５の画像が得られる。図５は、現在のロボットの位置から観測される障害物の存在しうる領域とユーザが設定した経路の位置関係を示している。
【００２３】
次に、位置推定部３６は、ロボットの位置推定を行う（ステップ２０４）。ここで、位置推定とは、ロボットの初期位置を原点とする座標系（以下：初期位置座標系）におけるロボットの位置・姿勢を推定することである。ロボットの位置推定は、連続して得られたセンサデータ間の幾何的な特徴が最も重なるようなデータ間の相対位置姿勢を求め、これを積算することによって求められる（特願２００４−１４２３３６参照）。
【００２４】
次に、判定部３７は、経路の有効性を判定する。具体的には、まず、判定部３７は、経路においてセンサの計測範囲外の部分をなす点列５０６を無効と判定する（ステップ２０５）。次に、障害物存在領域に含まれる部分をなす点列５０４を無効と判定する（ステップ２０６）。
【００２５】
次に、位置決定部３８は、ロボットの目標位置を決定する（ステップ２０７）。具体的には、前ステップにおいて無効と判定されなかった（即ち、有効と判定された）点列の中から、識別子が最も大きい点を終端地点に最も近い点とみなして目標位置５０３とする。図５で説明すると、センサの範囲内で有効な点列は５０７（ユーザが入力した経路３０３の中の、ロボットの現在位置から目標位置５０３までの線）のみであるから、点列５０７の中で最も識別子が大きい点である５０３に向かって、線５０２（初期位置３０４と目標位置５０３を結ぶ線分）に沿って移動する。但し、例えば、図５において、センサの範囲が非常に広く、ユーザの入力した経路が全て含まれるような場合には、識別子が最も大きい点は５０８となるため、５０８を目標位置と設定し、５０８に向かって、線５０９（初期位置３０４と目標位置５０３を結ぶ線分）に沿って移動する。
【００２６】
次に、移動制御部３９は、目標位置５０３に移動するようにロボットを制御する（ステップ２０８）。
【００２７】
次に、表示部４０は、ユーザに入力された経路を描画した画像、及びステップ２０３により得られた画像に基づいて、目標位置５０３を画面に表示する（ステップ２０９）。
【００２８】
以上の処理を繰り返すことで、目標位置をロボットの移動に伴って決定しながら終端位置に向かうように移動する。
【００２９】
判定部３７は、ロボットが終端位置に到着したか否かを判定し（ステップ２１０）、終端位置に到着していない場合は一連の処理を繰り返し、終端位置に到着した場合は、処理を終了する。
【００３０】
図６は、ロボットが目標位置を決定しながら移動している様子を示す図である。
【００３１】
ロボットが初期位置３０４にいる時点では、目標位置は５０３である。従って、線５０２に沿って移動する。しかし、ロボットが移動するにつれて、センサの範囲も前方に移行する。そして、６０６の位置まで移動すると、センサは、５０３より識別子の大きい点６０１をとらえる。従って、この時点で、目標位置を６０１に変更し、６０１に向かって、線６０４に沿って移動する。更に、６０５の位置まで移動すると、センサは、６０１より識別子の大きい点６０２をとらえる。従って、この時点で、目標位置を６０２に変更し、６０２に向かって、線６０３に沿って移動する。このようにして、終端位置３０５に移動することになる。
【００３２】
本実施例によれば、経路をユーザが大まかに指定しただけで、その経路が障害物存在領域を通るよう経路であっても、その障害物に衝突せずに終端位置に移動するようにロボットを制御でき、未知環境を自律移動する車両や船舶、あるいは自動掃除機などへの応用が期待できる。
【実施例２】
【００３３】
実施例２では、プリンタを搭載したロボットについて説明する。
【００３４】
ユーザは、無線LAN１７により、ロボット上のユーザインタフェースに限らず、遠隔のPCなどのユーザインタフェースを用いて、経路設定を行うこともできる。これは、画面を遠隔のPCに表示するリモートデスクトップ技術による実装、または、GUIをホームページ（以下：HP）として遠隔のPCから操作可能とする実装などにより実現される。
【００３５】
例えば、オフィスで働く複数のユーザの各座席間の移動経路を予め作成しておくとする。この時、無線LAN１７を介して、あるユーザからプリントアウトを指示されると、プリンタ制御部４２は、プリントアウトを開始する。それに伴い、ロボットは、現在位置からプリントアウトを指示したユーザの座席までの移動を開始する。これにより、プリントアウトを、ロボットの移動と並行して行うことができる。
【００３６】
本実施例によれば、遠隔からの操作により、物体の単純な搬送だけでなく、ロボットの移動と並行したロボット以外の機器の制御が可能となり、例えばコーヒーを沸かしながら指定した座席まで運んでくるロボットなどへの応用が期待できる。
【実施例３】
【００３７】
実施例３では、収集した環境情報を遠隔のユーザに表示するシステムについて説明する。
【００３８】
図７は、ロボットの外観を示す図である。台車７１１上に、カメラ７０５、レーザ距離センサ７０８、７１０、赤外線センサ７０１、超音波センサ７０２、マイク７０４、スピーカ７０３が取り付けられている。これらは雲台部分７０６、７０７、７０９によってパン・チルトと高さの調節が可能となっている。また、レーザ距離センサ７０８は鉛直方向に走査するレーザ７１２によって鉛直方向の障害物の幾何形状を、レーザ距離センサ７１０は水平方向に走査するレーザ７１３によって水平方向の障害物の幾何形状をそれぞれ計測する。
【００３９】
このようなロボットをオフィスや工場などに配置し、ユーザが大まかな経路を与える。これはロボットに搭載したPC画面上でも、遠隔のPC画面上でもよい。計測部４４は、レーザ距離センサ７０８、７１０、カメラ７０５、赤外線センサ７０１、超音波センサ７０２、マイク７０４等の計測を制御する。
【００４０】
計測により得られたセンサデータ（以下：マルチセンサデータ）のうち、水平方向に走査するレーザ距離センサのマルチセンサデータを用いて、実施例１と同様にロボットの位置と姿勢を求めておき、この位置・姿勢と時刻をマルチセンサデータに付加して、メインメモリ１２と記憶装置１３に記録する。記録されたデータにより、ロボットがいつ、どこで、どのようなマルチセンサデータを取得したかが容易に分かるようになる。
【００４１】
環境モデル生成部４３は、環境モデルを生成する。ここで、環境モデルとは、記録されたマルチセンサデータを３次元幾何モデル上に付加したものを示す。３次元幾何モデル生成のため、推定されたロボットの位置・姿勢と雲台の位置・姿勢から、レーザ距離センサのセンサデータをなす各点の初期位置座標系での位置を求める。これにより、鉛直方向に走査したレーザ距離センサ７０８のセンサデータが初期位置座標系を基準とする３次元空間にプロットされる。同様に赤外線センサ７０１と超音波センサ７０２によるセンサデータも同じ３次元空間にプロットする。カメラ７０５の画像データはレーザ距離センサ７０８による３次元モデルに対してテクスチャとして貼り付けられ、またマイクの音声データはプロットせずに、ロボットの位置・姿勢から辿ることが可能なデータ構造で保持しておく。以上により、環境モデルが生成される。
【００４２】
このように生成された領域の環境モデルは、例えばこれがビル内のオフィスであればビルのモデルから辿れるようにしておく。ここでは、ウェブ上のHPでビルを検索して、ビルからオフィスの環境モデルを参照する例を以下で説明する。
【００４３】
図８は、ウェブブラウザに表示されたHPの画面を示す図である。
【００４４】
画面には世界地図８０１とキーワード検索用入力欄８０８が表示されている。この世界地図を始め、以下に出てくる地図は３次元幾何モデルに衛星や航空機による実写画像をテクスチャとして貼り付けたものを想定する。
【００４５】
日本国内にあるA社ビルのオフィスの環境モデルを参照する場合、ユーザは、世界地図から、日本８０２を選択する。これにより日本が拡大して表示される（８０３）。この地図上で関東地方８０４を選択すると、関東地方が拡大して表示される（８０５）。この中でA社ビルを選択するとテクスチャの貼られた３次元モデルが表示される（８０６）。更に、このビルの３次元モデル上で特定の部屋を指定すると、部屋のモデルが表示される（８０７）。
【００４６】
上記のように画像上で表示したいモデルを選択する他に、予めモデルに名前を登録しておくことで、キーワード検索も可能とする。この場合、キーワード検索用入力欄８０８に国名やビル名などを入力することで検索を行う。図８のように国名とビル名を指定したときは、ビル名より８０６の環境モデルが表示される。表示された環境モデルは入力デバイスの操作によって視点位置と方向の変更、拡大縮小などが可能である。
【００４７】
環境モデルを表示した際に、その環境にロボットが存在するときはロボットのCGモデル８０９が表示される。このロボットに対しては、実施例１で示した経路設定によって移動を指示できる。
【００４８】
このように、環境モデルがまだ作られていない領域にロボットを移動させることで、新たな環境のマルチセンサデータを取得し、環境モデルを生成することができる。新たに生成された環境モデルは、ウェブ上で参照できる。また、ロボットに搭載されたカメラ７０５による画像８０１が表示され、ユーザは環境の実写画像を見ることができる。
【００４９】
以上の操作は、PC、テレビ、携帯電話、PDA、プロジェクタなどで表示された画面上で行われる。特にプロジェクタによる画面の表示では、複数のプロジェクタを用いた平面または非平面（円筒面、球面）のスクリーンへの投影によって、高解像度・広視野角な画像を表示できる。
【００５０】
尚、汎用のウェブブラウザによって環境モデルを参照する例を示したが、専用のビューワーソフトウェアによって同様の結果を得ることもできる。
【図面の簡単な説明】
【００５１】
【図１】システムのハードウェア構成を示す図。
【図２】ロボット制御のフローを示す図。
【図３】経路設定画面を示す図。
【図４】障害物の位置を計測する様子を示す図。
【図５】障害物の存在しうる領域とユーザが入力した経路の位置関係を示す図。
【図６】ロボットが目標位置を決定しながら移動する様子を示す図。
【図７】ロボットの外観を示す図。
【図８】ウェブブラウザに表示されたHPの画面を示す図。
【符号の説明】
【００５２】
１１…ＣＰＵ、１２…メインメモリ、１３…記憶装置、１４…ユーザインタフェース、１５…センサ
【図１】
2007122304.tif 000003
【図２】
2007122304.tif 000004
【図３】
2007122304.tif 000005
【図４】
2007122304.tif 000006
【図５】
2007122304.tif 000007
【図６】
2007122304.tif 000008
【図７】
2007122304.tif 000009
【図８】
2007122304.tif 000010