(57)【要約】【課題】  生活空間において，移動ロボットが種々の物品の把持や，会話による動作など，多様な動作を実現するためのロボット制御プログラムの作成において，プログラムの複雑化を抑制し，操作者の負担を軽減できるプログラミング環境を提供する。【解決手段】  物品の把持シーケンスプログラムを，データベースの物品情報ごとに記憶し，ロボット１０の制御プログラムの実行時に，把持対象物品の電子タグ情報を電子タグリーダ１３で読み取り，その電子タグ情報をキーとしてデータベースより該物品の把持シーケンスを取得し，ロボット制御プログラムに挿入する，という手順で処理する。【選択図】図１
2009269162.tif 000002
【特許請求の範囲】
【請求項１】
物品に設けられた物品識別手段の物品識別情報を読み取る読み取り手段と，前記物品を把持するための把持手段と，床面を移動するための移動手段と，を備えた移動ロボットと，
前記移動ロボットの制御を行う制御手段と，を備えたロボットシステムにおいて，
前記物品識別情報および当該物品に対応する物品の把持プログラムシーケンスを記憶する第１のデータベースを備えたことを特徴とするロボットシステム。
【請求項２】
前記物品識別手段は，電子タグであることを特徴とする請求項１記載のロボットシステム。
【請求項３】
前記読み取り手段は，電子タグリーダであることを特徴とする請求項１記載のロボットシステム。
【請求項４】
前記制御手段は，第１のコンピュータに設けられ，
前記第１のデータベースは第２のコンピュータに設けられ，
前記移動ロボット，前記第１および第２のコンピュータは，中継装置を備えたネットワークを介してデータを送受信することを特徴とする請求項１記載のロボットシステム。
【請求項５】
マイクと，前記マイクから得られた音声を解析し，当該音声に対応する音声識別情報を得る音声識別手段と，床面を移動するための移動手段と，を備えた移動ロボットと，
前記移動ロボットの制御を行う制御手段と，を備えたロボットシステムにおいて，
前記音声識別手段から得られた音声識別情報および当該音声識別情報に対応する動作プログラムシーケンスを記憶する第２のデータベースを備えたことを特徴とするロボットシステム。
【請求項６】
前記制御手段は，第１のコンピュータに設けられ，
前記第２のデータベースは第２のコンピュータに設けられ，
前記移動ロボット，前記第１および第２のコンピュータは，中継装置を備えたネットワークを介してデータを送受信することを特徴とする請求項５記載のロボットシステム。
【請求項７】
物品に設けられた物品識別手段の物品識別情報を読み取る読み取り手段と，前記物品を把持するための把持手段と，床面を移動するための移動手段と，を備えた移動ロボットと，
前記移動ロボットの制御を行う制御手段と，前記物品識別情報および当該物品に対応する物品の把持プログラムシーケンスを記憶する第１のデータベースと，を備えたロボットシステムにおいて，
前記ロボットの制御プログラムの実行時に，前記第１のデータベースから把持対象物品の物品識別情報をキーとして前記物品の把持シーケンスを取得し，
前記制御プログラムに挿入する，という手順で処理することを特徴とするロボット制御プログラムの構築方法。
【請求項８】
前記物品識別手段は，電子タグであることを特徴とする請求項７記載のロボット制御プログラムの構築方法。
【請求項９】
前記読み取り手段は，電子タグリーダであることを特徴とする請求項７記載のロボット制御プログラムの構築方法。
【請求項１０】
前記制御手段は，第１のコンピュータに設けられ，
前記第１のデータベースは第２のコンピュータに設けられ，
前記移動ロボット，前記第１および第２のコンピュータは，中継装置を備えたネットワークを介してデータを送受信することを特徴とする請求項７記載のロボット制御プログラムの構築方法。
【請求項１１】
マイクと，前記マイクから得られた音声を解析し当該音声に対応する音声識別情報を得る音声識別手段と，床面を移動するための移動手段と，を備えた移動ロボットと，
前記移動ロボットの制御を行う制御手段と， 
前記音声識別手段から得られた音声識別情報および当該音声識別情報に対応する動作プログラムシーケンスを記憶する第２のデータベースと，を備えたロボットシステムにおいて，
前記ロボットの制御プログラムの実行時に，前記第２のデータベースから前記音声識別情報をキーとして当該音声に対応する動作プログラムシーケンスを取得し，
前記制御プログラムに挿入する，という手順で処理することを特徴とするロボット制御プログラムの構築方法。
【請求項１２】
前記制御手段は，第１のコンピュータに設けられ，
前記第２のデータベースは第２のコンピュータに設けられ，
前記移動ロボット，前記第１および第２のコンピュータは，中継装置を備えたネットワークを介してデータを送受信することを特徴とする請求項１１記載のロボット制御プログラムの構築方法。
【請求項１３】
物品を把持するための把持手段と，床面を移動するための移動手段と，を備えた移動ロボットと，前記移動ロボットの制御を行う制御手段と，前記移動ロボットおよび人間を含む移動体と環境をセンシングするセンシング手段を備えたロボットシステムにおいて，
前記センシング手段が発行するイベント識別情報および当該イベントに対応する動作プログラムシーケンスを記憶する第３のデータベースを備えたことを特徴とするロボットシステム。
【請求項１４】
前記センシング手段は，環境センサと，センシング情報を処理する第３のコンピュータと，を備えたことを特徴とする請求項１３記載のロボットシステム。
【請求項１５】
物品を把持するための把持手段と，床面を移動するための移動手段と，を備えた移動ロボットと，前記移動ロボットの制御を行う制御手段と，前記移動ロボットおよび人間を含む移動体と環境をセンシングするセンシング手段と，前記センシング手段が発行するイベント識別情報および当該イベントに対応する動作プログラムシーケンスを記憶する第３のデータベースと，を備えたロボットシステムにおいて，
前記ロボットの制御プログラムの実行時に，前記第３のデータベースから前記イベント識別情報をキーとして当該イベントに対応する動作プログラムシーケンスを取得し，前記制御プログラムに挿入する，という手順で処理することを特徴とするロボット制御プログラムの構築方法。
【請求項１６】
物品に設けられた物品識別手段の物品識別情報を読み取る読み取り手段と，前記物品を把持するための把持手段と，床面を移動するための移動手段と，を備えた移動ロボットと，前記移動ロボットの制御を行う制御手段と，を備え，前記物品識別手段に，前記物品識別情報および当該物品に対応する物品の把持プログラムシーケンスが予め記憶されたロボットシステムにおいて，
前記移動ロボットの所定のコマンドの実行時に，前記物品識別手段に記憶された把持シーケンスを取得し，前記移動ロボットの制御プログラムに挿入する，という手順で処理することを特徴とするロボット制御プログラムの構築方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，移動ロボットの制御プログラムに関するものであり，特に，生活空間で要求される多種多様な動作を，移動ロボットの取得する情報と，データベースの格納情報とを使用して実現するプログラム構築方法およびシステムに関する。
【背景技術】
【０００２】
従来より，種々の環境において人間の行う作業の代行や補助を行う，たとえばサービスロボットなどのロボット，およびロボットシステムの研究が進められている。人間の生活環境において，衣服を取り出す，食器を片付けるなど様々なサービスを提供するためには，多種多様な動作をすることがロボットに要求される。
多様な動作を可能とするシステムとしては，車輪を駆動して移動する自律移動型ロボットと，該自律移動型ロボットに着脱自在に取り付けられ，所定の機能（掃除機，配膳機能，車椅子機能，把持機能）を実行する複数の機能モジュールとを目的に応じて組み合わせ，容易に動作させる機能可変型ロボットシステムが提案されている。（たとえば，特許文献１参照）。該ロボットは，使用する機能モジュールの制御プログラムをデータベースからダウンロードすることで，対象機能を有した自律移動型ロボットとしてパーソナルコンピュータから制御可能とするものである。
【特許文献１】特開２００７−１９３７３６号公報  第１０頁 図２
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら，人間の生活環境においては，あるひとつのサービス内容においても動作対象に応じて異なる動きを求められる場合がある。たとえば，衣服をハンガー掛けから取り出す場合のロボットアームの動きと，食器を掴む場合の動きは異なり，また食器のみを考えても，その種類によって求められる動作は異なる。前記従来技術では，機能モジュールとして把持機能モジュールが挙げられているが，該機能モジュールを使用可能とした後，パーソナルコンピュータ側で制御する方式（ロボット制御プログラム），たとえば把持対象物に応じた動作の切り替えについては具体的に述べられていない。すなわち，物品によって形状や重量は多種多様であるため，手先の移動位置や姿勢を数種類にパターン化するのは困難であり，状況に応じた多様な動作を実現する必要がある。また，人間との会話の内容に応じた動作や，カメラなどの環境センサからのイベントに応じた動作なども実現する必要がある。
例として，図７にロボットの把持動作のシーケンスを記述するプログラムを示す。なお，ここでロボットは，手先などに電子タグリーダが備えられており，物品に貼り付けられた電子タグを読み取り，読み取った電子タグＩＤをキーとしてデータベースシステムに物品情報を問い合わせているものとする。
図では，まず“ＲｅａｄＴａｇ”コマンドで，物品に貼り付けされた電子タグを読み取っている。つぎに“ＧｅｔＴａｇＩｎｆｏ”コマンドで前記データベースに物品情報を問い合わせている。つぎに物品情報に応じて，“Ｓｗｉｔｃｈ”文で分岐し，対応する把持動作を実行する。なお，説明のため，図の左側に示す１つのケースのみ記述している。把持動作では，まず，“ＳｅｔＶａｒ”コマンドにより必要なパラメータ設定を行い，つぎに“ＭＯＶＬｖｃｌ”で移動台車の制御，“ＭＯＶＪｇｒｐ”で左右グリッパの制御，“ＭＯＶＪａｒｍ”で左右アームの制御を並列に実行している。また各コマンドのプロパティで位置情報などコマンドパラメータが設定されている。以上のようなシーケンスは，種別の異なる物品が増えるたびに分岐が必要となることが予想され，プログラムが複雑になる等の問題点がある。同様に，人間との会話の内容に応じた動作や，環境センサからのイベントに応じた動作の実現においても，音声の種類やイベントの種類に応じた分岐が必要となることが予想される。
本発明はこのような問題点に鑑みてなされたものであり，多様な動作を実現するためのロボット制御プログラムの作成において，プログラムの複雑化を抑制し，操作者の負担を軽減できるプログラミング環境を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため，本発明は，次のように構成したのである。
請求項１に記載の発明は，物品に設けられた物品識別手段の物品識別情報を読み取る読み取り手段と，前記物品を把持するための把持手段と，床面を移動するための移動手段と，を備えた移動ロボットと，前記移動ロボットの制御を行う制御手段と，を備えたロボットシステムにおいて，前記物品識別情報および当該物品に対応する物品の把持プログラムシーケンスを記憶する第１のデータベースを備えたことを特徴とするものである。
また，請求項２に記載の発明は，前記物品識別手段は，電子タグであることを特徴とするものである。
また，請求項３に記載の発明は，前記読み取り手段は，電子タグリーダであることを特徴とするものである。
また，請求項４に記載の発明は，前記制御手段は，第１のコンピュータに設けられ，前記第１のデータベースは第２のコンピュータに設けられ，前記移動ロボット，前記第１および第２のコンピュータは，中継装置を備えたネットワークを介してデータを送受信することを特徴とするものである。
また，請求項５に記載の発明は，マイクと，前記マイクから得られた音声を解析し，当該音声に対応する音声識別情報を得る音声識別手段と，床面を移動するための移動手段と，を備えた移動ロボットと，前記移動ロボットの制御を行う制御手段と，を備えたロボットシステムにおいて，前記音声識別手段から得られた音声識別情報および当該音声識別情報に対応する動作プログラムシーケンスを記憶する第２のデータベースを備えたことを特徴とするものである。
また，請求項６に記載の発明は，前記制御手段は，第１のコンピュータに設けられ，前記第２のデータベースは第２のコンピュータに設けられ，前記移動ロボット，前記第１および第２のコンピュータは，中継装置を備えたネットワークを介してデータを送受信することを特徴とするものである。
また，請求項７に記載の発明は，物品に設けられた物品識別手段の物品識別情報を読み取る読み取り手段と，前記物品を把持するための把持手段と，床面を移動するための移動手段と，を備えた移動ロボットと，前記移動ロボットの制御を行う制御手段と，前記物品識別情報および当該物品に対応する物品の把持プログラムシーケンスを記憶する第１のデータベースと，を備えたロボットシステムにおいて，前記ロボットの制御プログラムの実行時に，前記第１のデータベースから把持対象物品の物品識別情報をキーとして前記物品の把持シーケンスを取得し，前記制御プログラムに挿入する，という手順で処理することを特徴とするものである。
また，請求項８に記載の発明は，前記物品識別手段は，電子タグであることを特徴とするものである。
また，請求項９に記載の発明は，前記読み取り手段は，電子タグリーダであることを特徴とするものである。
また，請求項１０に記載の発明は，前記制御手段は，第１のコンピュータに設けられ，前記第１のデータベースは第２のコンピュータに設けられ，前記移動ロボット，前記第１および第２のコンピュータは，中継装置を備えたネットワークを介してデータを送受信することを特徴とするものである。
また，請求項１１に記載の発明は，マイクと，前記マイクから得られた音声を解析し当該音声に対応する音声識別情報を得る音声識別手段と，床面を移動するための移動手段と，を備えた移動ロボットと，前記移動ロボットの制御を行う制御手段と， 前記音声識別手段から得られた音声識別情報および当該音声識別情報に対応する動作プログラムシーケンスを記憶する第２のデータベースと，を備えたロボットシステムにおいて，前記ロボットの制御プログラムの実行時に，前記第２のデータベースから前記音声識別情報をキーとして当該音声に対応する動作プログラムシーケンスを取得し，前記制御プログラムに挿入する，という手順で処理することを特徴とするものである。
また，請求項１２に記載の発明は，前記制御手段は，第１のコンピュータに設けられ，
前記第２のデータベースは第２のコンピュータに設けられ，前記移動ロボット，前記第１および第２のコンピュータは，中継装置を備えたネットワークを介してデータを送受信することを特徴とするものである。
また，請求項１３に記載の発明は，物品を把持するための把持手段と，床面を移動するための移動手段と，を備えた移動ロボットと，前記移動ロボットの制御を行う制御手段と，前記移動ロボットおよび人間を含む移動体と環境をセンシングするセンシング手段を備えたロボットシステムにおいて，前記センシング手段が発行するイベント識別情報および当該イベントに対応する動作プログラムシーケンスを記憶する第３のデータベースを備えたことを特徴とするものである。
また，請求項１４に記載の発明は，前記センシング手段は，環境センサと，センシング情報を処理する第３のコンピュータと，を備えたことを特徴とするものである。
また，請求項１５に記載の発明は，物品を把持するための把持手段と，床面を移動するための移動手段と，を備えた移動ロボットと，前記移動ロボットの制御を行う制御手段と，前記移動ロボットおよび人間を含む移動体と環境をセンシングするセンシング手段と，前記センシング手段が発行するイベント識別情報および当該イベントに対応する動作プログラムシーケンスを記憶する第３のデータベースと，を備えたロボットシステムにおいて，前記ロボットの制御プログラムの実行時に，前記第３のデータベースから前記イベント識別情報をキーとして当該イベントに対応する動作プログラムシーケンスを取得し，前記制御プログラムに挿入する，という手順で処理することを特徴とするものである。
また，請求項１６に記載の発明は，物品に設けられた物品識別手段の物品識別情報を読み取る読み取り手段と，前記物品を把持するための把持手段と，床面を移動するための移動手段と，を備えた移動ロボットと，前記移動ロボットの制御を行う制御手段と，を備え，前記物品識別手段に，前記物品識別情報および当該物品に対応する物品の把持プログラムシーケンスが予め記憶されたロボットシステムにおいて，前記移動ロボットの所定のコマンドの実行時に，前記物品識別手段に記憶された把持シーケンスを取得し，前記移動ロボットの制御プログラムに挿入する，という手順で処理することを特徴とするものである。
【発明の効果】
【０００５】
本発明によれば，物品の種別に応じて異なる把持動作を実現するシーケンスプログラムを，物品種別ごとにデータベースに格納し，ロボット制御プログラム実行時に，把持対象物品の電子タグ情報をキーとして前記データベースより該物品の把持シーケンスを取得し，前記ロボット制御プログラムに挿入するため，操作者が，予めロボット制御プログラム上に物品ごとの把持シーケンスを記述する必要がなくなり，負担を軽減できるとともにプログラムの複雑化が抑制される。音声認識情報やイベント情報についても，音声の種類，イベントの種類に対応する動作シーケンスプログラムをデータベースに格納しておきロボット制御プログラム実行時に動的に取得し，挿入できるようにすることで，同様の効果が期待できる。
また，上記データベースに格納するシーケンスプログラムは，複数のクライアントから共有することができるため，同様のシーケンスプログラムをロボット制御プログラム毎に記述する必要がなくなる効果がある。
また，物品の種別に応じて異なる把持動作を実現するシーケンスプログラムを，該物品の電子タグの記憶領域に記憶し，ロボット制御プログラム実行時に，把持対象物品の前記記憶領域より該物品の把持シーケンスを取得し，前記ロボット制御プログラムに挿入することで，同様の効果が期待できる。
【発明を実施するための最良の形態】
【０００６】
以下，本発明の方法の具体的実施例について，図を用いて説明する。実施例においては，ロボットシステムが適用される場所として，住宅を例とし，居住者の作業の補助や代行，たとえば食器の取り出しや収納などを行うサービスロボットを想定している。
【実施例１】
【０００７】
図１は，本発明のロボットシステムの構成を示す概略図である。図において，１０は移動ロボットであり，左右アーム１１，左右グリッパ１２，移動台車１４（移動手段）から構成される。なお，移動台車１４は，脚式の移動手段であっても良い。
グリッパ１２の先端に設置されている１３は電子タグリーダ（読み取り手段）であり，把持対象物など物品に貼り付けられた電子タグ（物品識別手段）を読み取るのに使用される。また，移動台車１４の底面に設置された電子タグリーダ１５は，床面に敷設された電子タグを読み取るのに使用される。１６はマイクであり，操作者の音声を認識するために使用される。１７はデータベースシステムであり，物品情報などをデータベースに記憶しており，データ取得のためのインターフェースを提供している。１８は，制御用コンピュータであり，移動ロボット１０の制御プログラムを作成および実行するものである。
６０は環境センサであり，人の存在の有無や，障害物の有無を検出するためのカメラやレーザレンジファインダなどである。６１はセンサ用コンピュータであり，環境センサ６０が検出した移動体の位置情報などを処理する。移動ロボット１０，データベースシステム１７，制御用コンピュータ１８，センサ用コンピュータ６１は，互いに中継装置１９を使用したネットワークを介してデータの送受信を行う。
なお，制御用コンピュータ１８，および，データベースシステム１７は同一のコンピュータであっても良く，更には，センサ用コンピュータ６１までも含んで同一のコンピュータとしても良い。すなわち，データベースシステム１７，制御用コンピュータ１８，センサ用コンピュータ６１は，それぞれ独立していなくてもよく，要するに，データベースシステム１７内のデータベースと，制御用コンピュータ１８の機能と，環境センサ６０とが，何らかの方法で互いにデータの送受信を行うことができればよいのである。さらには，これらの一部または全部を移動ロボット１０に内蔵させることも可能である。
【０００８】
図２は，本発明の方法を実施する移動ロボット１０の機能的構成を示すブロック図である。図において２１はアーム制御モジュールであり，移動ロボット１０の左右アーム１１を制御する。ここでモジュールとは，制御に必要なコントローラ，サーボモータ，ソフトウェアなどが含まれるものとする。２２はグリッパ制御モジュールであり，移動ロボット１０の左右グリッパ１２を制御する。２３は移動台車制御モジュールであり，移動ロボット１０の移動台車１４を制御する。２４はタグリーダ制御モジュールであり，移動ロボット１０のグリッパ設置の電子タグリーダ１３，および移動台車設置の電子タグリーダ１５の読み取りデータの処理などを行う。２５は音声認識モジュールであり，移動ロボット１０のマイク１６から入力された音声の判別処理などを行う。モジュール管理部２０は，上記各モジュールとやり取りするための情報を管理しており，通信部２６を介して，情報を提供する。
【０００９】
図３は，本発明の方法を実施する制御用コンピュータ１８の構成を示すブロック図である。図において３０はユーザインタフェースであり，入力受付部３１と表示部３２からなる。操作者は，表示部３２に表示されるプログラミング画面を参照しながら，コマンドを配置してプログラムの作成や作成したプログラムの実行を行う。図７はこのようなユーザインタフェースを使用して作成されたプログラム例である。各コマンドはアイコン化されており，プログラム上にドラッグして作成される。図３において，３３は，動作判定部でありユーザインタフェース３０の操作状況に応じて処理を振り分ける。３４は，プログラム解析部であり，プログラム記憶部３６に保存されているプログラムを読み出し，解析して表示部３２に表示する。３５は，プログラム実行部であり，指定されたプログラムの実行を行う。プログラムの実行は，通信部３７を介して，移動ロボット１０，データベースシステム１７とデータの送受信を行いながら実現される。たとえば，図７において，“ＲｅａｄＴａｇ”コマンドで，物品に貼り付けされた電子タグを読み取っている。この場合，プログラム実行部３５は，移動ロボット１０のモジュール管理部２０からタグリーダ制御モジュール２４とやりとりするための情報を取得し，タグリーダ制御モジュール２４に問い合わせて読み取ったタグ情報を取得する。また，“ＧｅｔＴａｇＩｎｆｏ”コマンドでは，プログラム実行部３５は前記データベースシステム１７に物品情報を問い合わせている。
“ＭＯＶＪａｒｍ”コマンドで，移動ロボット１０のアーム１１を制御している。この場合，プログラム実行部３５は，移動ロボット１０のモジュール管理部２０からアーム制御モジュール２１とやりとりするための情報を取得し，アーム制御モジュール２１に駆動指令を送信する。
なお，図７のようにして作成されたプログラムの保存は，ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記述されたテキスト形式で保存されるものとする。
【００１０】
図４は，本発明の方法を実施するデータベースシステム１７の構成を示すブロック図である。図において５０はデータベースであり，電子タグＩＤ（物品識別情報）と物品情報を関連付ける物品タグ情報５１，電子タグＩＤと床面の位置情報を関連付ける床面タグ情報５２，会話（音声）情報と移動ロボットの動作を関連付ける会話情報５３，移動ロボットの形状情報や位置情報を含む移動体情報５４，床面の電子タグ配置情報である地図情報５５，イベントＩＤ（イベント識別情報）と移動ロボットの動作を関連付けるイベント情報５９が格納される。５６は通信部５７を介して制御用コンピュータ１８から送られたデータの送受信要求を解析し，前記データベース５０のデータの更新や抽出を行うとともに，センサ用コンピュータ６１から送信されたセンシング情報に基づいたデータの更新，またイベント情報が通知された場合に該イベントの購読者（移動ロボット）にイベント通知を行うデータベース処理モジュールである。５８はデータベース５０のデータを直接編集，参照するためのユーザインタフェースである。
【００１１】
図５は，本発明を実施するデータベースシステム１７のデータベース設定例を示す図である。図５（a）は物品タグ情報５１，図５（b）は会話情報５３，図５（c）はイベント情報５９が記憶された例である。（a）においては，電子タグＩＤ（物品識別情報）に対応した物品タグ情報（名前，大きさ，色，把持シーケンス）がデータベース（第１のデータベース）として記憶されている。（b）においては，音声データに割り当てられたＩＤ（音声識別情報）に対応した会話情報（言葉，動作プログラムシーケンス）がデータベース（第２のデータベース）として記憶されている。（c）においては，イベントＩＤ（イベント識別情報）に対応したイベント情報（説明，動作プログラムシーケンス）がデータベース（第３のデータベース）として記憶されている。
【００１２】
図６は，本発明によるプログラム構築方法を使用した場合のプログラム例を示す図である。図６（a）は物品タグ情報５１を使用した例であり，図６（b）は会話情報５３を使用した例である。図６（c）はイベント情報５９を使用した例であり，図６（d）は電子タグに記憶されたプログラムシーケンスを使用した例である。
【００１３】
図１〜図６を用いて，ロボットを制御するためのプログラムの構築方法を説明する。まず，物品を把持するプログラムシーケンスについて説明する。図５（a）の物品タグ情報５１では，各物品に貼り付けられた電子タグの電子タグＩＤと物品情報を関連付けている。物品情報として，名前“ｎａｍｅ”，大きさ“ｓｉｚｅ”，色“ｃｏｌｏｒ”などに加え，該物品を把持する際のプログラムシーケンスを記述したＸＭＬファイル“ｇｒｉｐ  ｓｅｑｕｅｎｃｅ”が関連付けられている。一方，制御用コンピュータ１８のプログラミング画面で図６（a）のように作成し，プログラムの実行を行うと，プログラム実行部３５は，まず“ＲｅａｄＴａｇ”コマンドに基づき，物品に貼り付けされた電子タグを読み取り，“ＧｅｔＴａｇＩｎｆｏ”コマンドに基づき，前記データベースシステム１７に物品情報を問い合わせる。たとえば，読み取られた電子タグＩＤが“Ｅ００５”である場合，物品タグ情報５１の該当行の情報が取得される。
“ＰａｒｓｅＧｒｉｐ”コマンドでは，“ＧｅｔＴａｇＩｎｆｏ”コマンドの実行により得られた把持する際のプログラムシーケンスを記述したＸＭＬファイル“ｄｉｓｈ１．ｘｍｌ”を該コマンドの位置に挿入し，実行を行う。これにより，物品に対応した把持動作が実行できる。
物品タグ情報５１のデータとして，前記ＸＭＬファイルが関連付けられていない場合は，図７のようなプログラム記述となり，物品ごとの把持シーケンスを記述する必要が生じる。
【００１４】
つぎに，音声情報により移動ロボットの動作を切り替えるプログラムシーケンスについて説明する。ここで，移動ロボット１０の音声認識モジュール（音声識別手段）２５は，マイク１６から入力された音声を解析し，自身が管理する認識可能な音声データリストと照らしあわせ，合致すれば該音声データに割り当てられたＩＤ（音声識別情報）を，制御用コンピュータ１８に送信する。
図５（b）の会話情報５３では，各音声データに割り当てられたＩＤと該音声を認識した際の移動ロボット１０の動作プログラムシーケンスを記述したＸＭＬファイル“ａｃｔｉｏｎ  ｓｅｑｕｅｎｃｅ”が関連付けられている。一方，制御用コンピュータ１８のプログラミング画面で図６（b）のように作成し，プログラムの実行を行うと，プログラム実行部３５は，まず“ＷａｉｔＥｖｅｎｔ”コマンドに基づき，指定されたイベント（ここでは会話イベント）を待機する。“ＷａｉｔＥｖｅｎｔ”コマンドは，移動ロボット１０の音声認識モジュール２５より音声ＩＤが送信された場合に，“Ｓｗｉｔｃｈ”文の第１の分岐（図左側）を実行し，それ以外の場合（たとえば中断イベント）には第２の分岐（図右側）を実行する。つぎに，“ＧｅｔＷｏｒｄＩｎｆｏ”コマンドに基づき，前記データベースシステム１７に会話情報を問い合わせる。たとえば，受信した音声ＩＤが“１００２”である場合，会話情報５３の該当行の情報が取得される。なお，該当行の“ａｃｔｉｏｎ  ｓｅｑｕｅｎｃｅ”は玄関へ移動するためのシーケンスプログラムが格納されている。
“ＰａｒｓｅＡｃｔｉｏｎ”コマンドでは，“ＧｅｔＷｏｒｄＩｎｆｏ”コマンドの実行により得られたプログラムシーケンスを記述したＸＭＬファイル“ｅｎｔｒａｎｃｅ．ｘｍｌ”を該コマンドの位置に挿入し，実行を行う。操作者の音声に対応した動作を実行できる。
会話情報５３がデータベースに存在しない場合，図７の把持動作と同様，音声ごとの動作シーケンスを記述する必要が生じる。
【００１５】
つぎに，イベント情報により移動ロボットの動作を切り替えるプログラムの構築方法について説明する。まず，センサ用コンピュータ６１は環境センサ６０が検出した情報に基づき，データベースシステム１７にイベント情報を通知する。ここで，イベントには，訪問者検出や障害物検出等があり，イベント情報とは，そのイベントの種類を識別するイベントＩＤである。
データベースシステム１７のデータベース処理モジュール１６は通知されたイベント情報を，移動ロボットの制御用コンピュータ１８に送信する。
図５のイベント情報５９では，各イベントに割り当てられたＩＤと該イベント発生時の移動ロボット１０の動作プログラムシーケンスを記述したＸＭＬファイル“ａｃｔｉｏｎ  ｓｅｑｕｅｎｃｅ”が関連付けられている。たとえば，イベントＩＤ“１０１”は訪問者検出イベントであり，プログラムシーケンスとしては“玄関まで移動し，発話する”などが考えられる。また，イベントＩＤ“１０３”は障害物検出イベントであり，プログラムシーケンスとしては“生活空間の地図情報を再取得する”などが考えられる。
制御用コンピュータ１８のプログラミング画面で図６（c）のように作成し，プログラムの実行を行うと，プログラム実行部３５は，まず“ＷａｉｔＥｖｅｎｔ”コマンドに基づき，イベントを待機する。なお，本コマンドは，待機するイベントの種別（イベントＩＤ）を指定するパターンと，指定せずに任意のイベントを待機するパターンの動作が可能とし，ここでは後者のパターンで実行するものとする。
“ＷａｉｔＥｖｅｎｔ”コマンドは，データベースシステム１７からイベントＩＤが送信されると，“ＧｅｔＥｖｅｎｔＩｎｆｏ”コマンドの実行に移る。“ＧｅｔＥｖｅｎｔＩｎｆｏ”コマンドでは，通知されたイベントＩＤに基づき，前記データベースシステム１７にイベント情報を問い合わせる。たとえば，受信したイベントＩＤが“１０１”である場合，イベント情報５９の該当行の情報が取得される。
つぎに，“ＰａｒｓｅＡｃｔｉｏｎ”コマンドでは，“ＧｅｔＥｖｅｎｔＩｎｆｏ”コマンドの実行により得られたプログラムシーケンスを記述したＸＭＬファイル“ｖｉｓｉｔｏｒ．ｘｍｌ”を該コマンドの位置に挿入し，実行を行う。このようにしてイベント種別に対応した動作を実行できる。
なお，イベント情報５９がデータベースに登録されておらず，イベントと動作シーケンスが関連付けられていない場合，“ＷａｉｔＥｖｅｎｔ”コマンドで取得したイベントＩＤごとに，“Ｓｗｉｔｃｈ”文で分岐し，対応する動作シーケンスを記述する必要が生じる。
【００１６】
このように，本発明によれば，物品の種別に応じて異なる把持動作を実現するシーケンスプログラムを，物品種別ごとにデータベース５０に格納し，ロボット制御プログラム実行時に，把持対象物品の電子タグ情報をキーとして前記データベース５０より該物品の把持シーケンスを取得し，前記ロボット制御プログラムに挿入するため，操作者が予めロボット制御プログラム上に物品ごとの把持シーケンスを記述する必要がなくなり，負担を軽減できるとともにプログラムの複雑化が抑制される。
また，音声認識情報についても，音声の種類に対応する動作シーケンスプログラムを前記データベース５０に格納しておきロボット制御プログラム実行時に動的に取得し，挿入できるようにすることで，同様の効果が期待できる。
また，イベント情報についても，イベントの種類に対応する動作シーケンスプログラムを前記データベース５０に格納しておきロボット制御プログラム実行時に動的に取得し，挿入できるようにすることで，同様の効果が期待できる。
また，前記データベース５０に格納するシーケンスプログラムは，複数のクライアントから共有することができるため，同様のシーケンスプログラムをロボット制御プログラム毎に記述する必要がなくなる。
【実施例２】
【００１７】
つぎに，把持対象物など物品に貼り付けられた電子タグの記憶情報によるプログラムの構築方法を説明する。各物品に貼り付けられた電子タグの記憶領域に，電子タグＩＤと該物品を把持する際のプログラムシーケンス（ＸＭＬ形式）を予め記憶しておく。
制御用コンピュータ１８のプログラミング画面で図６（d）のように作成し，プログラムの実行を行うと，プログラム実行部３５は，まず“ＲｅａｄＴａｇ”コマンドに基づき，物品に貼り付けされた電子タグを読み取り，このとき該物品を把持する際のプログラムシーケンスを取得する。
“ＰａｒｓｅＧｒｉｐ”コマンドでは，電子タグの記憶領域から取得した把持する際のプログラムシーケンスを該コマンドの位置に挿入し，実行を行う。これにより，物品に対応した把持動作が実行できる。
前記プログラムシーケンス情報が電子タグに記憶されていない場合は，図７のようなプログラム記述となり，物品ごとの把持シーケンスを記述する必要が生じる。
【００１８】
このように，本発明によれば，物品の種別に応じて異なる把持動作を実現するシーケンスプログラムを，該物品の電子タグの記憶領域に記憶し，ロボット制御プログラム実行時に，把持対象物品の前記記憶領域より該物品の把持シーケンスを取得し，前記ロボット制御プログラムに挿入することで，操作者が予めロボット制御プログラム上に物品ごとの把持シーケンスを記述する必要がなくなり，負担を軽減できるとともにプログラムの複雑化が抑制される。
【図面の簡単な説明】
【００１９】
【図１】本発明を実施するロボットシステムの構成を示す概略図
【図２】本発明の方法を実施する移動ロボットの機能的構成を示すブロック図
【図３】本発明の方法を実施する制御用コンピュータの構成を示すブロック図
【図４】本発明の方法を実施するデータベースシステムの構成を示すブロック図
【図５】本発明を実施するデータベースシステムのデータベース設定例
【図６】本発明によるプログラム構築方法を使用した場合のプログラム例
【図７】従来のロボットの把持動作のシーケンスを記述するプログラム例
【符号の説明】
【００２０】
１０    移動ロボット
１１    アーム
１２    グリッパ
１３    電子タグリーダ（グリッパ設置）
１４    移動台車
１５    電子タグリーダ（移動台車設置）
１６    マイク
１７    データベースシステム
１８    制御用コンピュータ
１９    中継装置
２０    モジュール管理部
２１    アーム制御モジュール
２２    グリッパ制御モジュール
２３    移動台車制御モジュール
２４    タグリーダ制御モジュール
２５    音声認識モジュール
２６    通信部
３０    ユーザインタフェース
３１    入力受付部
３２    表示部
３３    動作判定部
３４    プログラム解析部
３５    プログラム実行部
３６    プログラム記憶部
３７    通信部
５０    データベース
５１    物品タグ情報
５２    床面タグ情報
５３    会話情報
５４    移動体情報
５５    地図情報
５６    データベース処理モジュール
５７    通信部
５８    ユーザインタフェース
５９    イベント情報
６０    環境センサ
６１    センサ用コンピュータ
【図１】
2009269162.tif 000003
【図２】
2009269162.tif 000004
【図３】
2009269162.tif 000005
【図４】
2009269162.tif 000006
【図５】
2009269162.tif 000007
【図６】
2009269162.tif 000008
【図７】
2009269162.tif 000009