(57)【特許請求の範囲】
【請求項１】
移動ロボットの動作指令を生成して前記移動ロボットに送信する外部端末と、前記移動ロボットに設けられ、前記送信された動作指令に基づいて前記移動ロボットの動作を制御する制御手段とを備えた移動ロボットの制御装置において、前記移動ロボットは、
ａ．所定の時間間隔ごとに時系列データを順次生成して前記外部端末に送信する時系列データ生成手段、
を備えると共に、前記外部端末は、
ｂ．前記送信された時系列データを受信して前記動作指令に付加する時系列データ付加手段、
を備え、前記制御手段は、前記時系列データ生成手段によって生成された最新の時系列データと前記動作指令に付加された時系列データとの差が所定値以下のとき、前記送信された動作指令に従って前記移動ロボットの動作を制御する一方、前記差が前記所定値を超えるとき、前記移動ロボットの動作を中断することを特徴とする移動ロボットの制御装置。
【請求項２】
移動ロボットの動作指令を生成して前記移動ロボットに送信する外部端末と、前記移動ロボットに設けられ、前記送信された動作指令に基づいて前記移動ロボットの動作を制御する制御手段とを備えた移動ロボットの制御装置において、前記移動ロボットは、
ａ．所定の時間間隔ごとに時系列データを順次生成して前記外部端末に送信する時系列データ生成手段、
を備えると共に、前記外部端末は、
ｂ．前記送信された時系列データを受信して保持する時系列データ保持手段と、
ｃ．前記送信された時系列データが受信されるとき、前記外部端末と前記移動ロボットの通信状態が正常であると判断する一方、前記送信された時系列データが受信されないとき、前記通信状態が異常であると判断する通信状態判断手段と、
ｄ．前記通信状態判断手段によって前記通信状態が異常であると判断されるとき、前記動作指令を前記保持された時系列データを付加して保持する動作指令保持手段と、
および
ｅ．前記通信状態判断手段によって前記通信状態が正常であると判断されるとき、前記保持された動作指令に付加された時系列データと受信された最新の時系列データとに基づき、前記保持された動作指令を前記移動ロボットに送信するか否か判断する送信判断手段と、
を備えることを特徴とする移動ロボットの制御装置。
【請求項３】
前記送信判断手段は、前記動作指令に付加された時系列データと前記受信された最新の時系列データとの差が所定値を超えるとき、前記保持された動作指令の送信を中止することを特徴とする請求項２記載の移動ロボットの制御装置。
【請求項４】
さらに、前記外部端末は、
ｆ．前記送信が中止された動作指令を消去する動作指令消去手段、
を備えることを特徴とする請求項３記載の移動ロボットの制御装置。
【請求項５】
さらに、前記外部端末は、
ｇ．第２の所定の時間間隔ごとに通信確認信号を生成して前記移動ロボットに送信する信号生成手段、
を備えると共に、前記移動ロボットは、
ｈ．前記送信された通信確認信号が受信されるとき、前記通信状態が正常であると判断する一方、前記送信された通信確認信号が受信されないとき、前記通信状態が異常であると判断する第２の通信状態判断手段と、
および
ｉ．前記第２の通信状態判断手段の判断結果に基づいて前記第２の所定の時間間隔を変更する時間間隔変更手段と、
を備えることを特徴とする請求項３または４記載の移動ロボットの制御装置。
【請求項６】
前記時間間隔変更手段は、前記第２の通信状態判断手段によって前記通信状態が異常であると判断されるとき、前記第２の所定の時間間隔を短縮することを特徴とする請求項５記載の移動ロボットの制御装置。
【請求項７】
さらに、前記移動ロボットは、
ｊ．前記移動ロボットの位置情報を生成して前記外部端末に送信する位置情報生成手段、
を備えると共に、前記外部端末は、
ｋ．前記送信された位置情報を受信して表示する表示手段、
を備えることを特徴とする請求項１から６のいずれかに記載の移動ロボットの制御装置。
【請求項８】
前記移動ロボットは、少なくとも基体と、前記基体に接続された２本の脚部と、前記基体に接続された２本の腕部とを備えた人型ロボットであり、前記２本の脚部を駆動して移動することを特徴とする請求項１から７のいずれかに記載の移動ロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は移動ロボットの制御装置に関し、より詳しくは、移動ロボットを遠隔操作するようにした移動ロボットの制御装置に関する。
【背景技術】
【０００２】
移動ロボットを遠隔操作するようにした移動ロボットの制御装置として、例えば特許文献１に記載される技術を挙げることができる。特許文献１に記載される技術にあっては、移動ロボットと動作指令の送信元である外部端末が通信不可となった場合、移動ロボットを通信履歴に基づいて外部端末と通信可能な場所まで移動させることで、移動ロボットを所定の範囲内のみで行動させるように構成している。
【特許文献１】特開２００２−２７３６７７号公報（段落０００７など）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、外部端末と移動ロボットの通信が切断された場合、移動ロボットに受信されなかった動作指令は外部端末に蓄積される。蓄積された動作指令は、通信が復旧したときに移動ロボットに受信され、移動ロボットが動作を開始する。しかしながら、その動作はオペレータの意思と異なるタイミングで突発的に実行されるため、オペレータに違和感を与えるという不具合があった。
【０００４】
従って、この発明の目的は上記した課題を解決し、動作指令の送信元である外部端末と移動ロボットの通信が切断状態から復旧した際に移動ロボットが突発的に動作するのを防止し、よってオペレータに違和感を与えるのを防止するようにした移動ロボットの制御装置を提供することにある。
【課題を解決するための手段】
【０００５】
上記した課題を解決するために、請求項１にあっては、移動ロボットの動作指令を生成して前記移動ロボットに送信する外部端末と、前記移動ロボットに設けられ、前記送信された動作指令に基づいて前記移動ロボットの動作を制御する制御手段とを備えた移動ロボットの制御装置において、前記移動ロボットは、所定の時間間隔ごとに時系列データを順次生成して前記外部端末に送信する時系列データ生成手段を備えると共に、前記外部端末は、前記送信された時系列データを受信して前記動作指令に付加する時系列データ付加手段を備え、前記制御手段は、前記時系列データ生成手段によって生成された最新の時系列データと前記動作指令に付加された時系列データとの差が所定値以下のとき、前記送信された動作指令に従って前記移動ロボットの動作を制御する一方、前記差が前記所定値を超えるとき、前記移動ロボットの動作を中断するように構成した。
【０００７】
また、請求項２に係る移動ロボットの制御装置にあっては、移動ロボットの動作指令を生成して前記移動ロボットに送信する外部端末と、前記移動ロボットに設けられ、前記送信された動作指令に基づいて前記移動ロボットの動作を制御する制御手段とを備えた移動ロボットの制御装置において、前記移動ロボットは、所定の時間間隔ごとに時系列データを順次生成して前記外部端末に送信する時系列データ生成手段を備えると共に、前記外部端末は、前記送信された時系列データを受信して保持する時系列データ保持手段と、前記送信された時系列データが受信されるとき、前記外部端末と前記移動ロボットの通信状態が正常であると判断する一方、前記送信された時系列データが受信されないとき、前記通信状態が異常であると判断する通信状態判断手段と、前記通信状態判断手段によって前記通信状態が異常であると判断されるとき、前記動作指令を前記保持された時系列データを付加して保持する動作指令保持手段と、および前記通信状態判断手段によって前記通信状態が正常であると判断されるとき、前記保持された動作指令に付加された時系列データと受信された最新の時系列データとに基づき、前記保持された動作指令を前記移動ロボットに送信するか否か判断する送信判断手段とを備えるように構成した。
【０００８】
また、請求項３に係る移動ロボットの制御装置にあっては、前記送信判断手段は、前記動作指令に付加された時系列データと前記受信された最新の時系列データとの差が所定値を超えるとき、前記保持された動作指令の送信を中止するように構成した。
【０００９】
また、請求項４に係る移動ロボットの制御装置にあっては、さらに、前記外部端末は、前記送信が中止された動作指令を消去する動作指令消去手段を備えるように構成した。
【００１０】
また、請求項５に係る移動ロボットの制御装置にあっては、さらに、前記外部端末は、第２の所定の時間間隔ごとに通信確認信号を生成して前記移動ロボットに送信する信号生成手段を備えると共に、前記移動ロボットは、前記送信された通信確認信号が受信されるとき、前記通信状態が正常であると判断する一方、前記送信された通信確認信号が受信されないとき、前記通信状態が異常であると判断する第２の通信状態判断手段と、および前記第２の通信状態判断手段の判断結果に基づいて前記第２の所定の時間間隔を変更する時間間隔変更手段とを備えるように構成した。
【００１１】
また、請求項６に係る移動ロボットの制御装置にあっては、前記時間間隔変更手段は、前記第２の通信状態判断手段によって前記通信状態が異常であると判断されるとき、前記第２の所定の時間間隔を短縮するように構成した。
【００１２】
また、請求項７に係る移動ロボットの制御装置にあっては、さらに、前記移動ロボットは、前記移動ロボットの位置情報を生成して前記外部端末に送信する位置情報生成手段を備えると共に、前記外部端末は、前記送信された位置情報を受信して表示する表示手段を備えるように構成した。
【００１３】
また、請求項８に係る移動ロボットの制御装置にあっては、前記移動ロボットは、少なくとも基体と、前記基体に接続された２本の脚部と、前記基体に接続された２本の腕部とを備えた人型ロボットであり、前記２本の脚部を駆動して移動するように構成した。
【発明の効果】
【００１４】
請求項１に係る移動ロボットの制御装置にあっては、移動ロボットで所定の時間間隔ごとに時系列データを順次生成して外部端末に送信し、前記外部端末で前記時系列データを受信して前記移動ロボットの動作指令に付加すると共に、前記移動ロボットにおいて前記時系列データが付加された動作指令を受信し、生成された最新の時系列データと動作指令に付加された時系列データとの差（具体的には、時間上の差）が所定値以下のとき、送信された動作指令に従って移動ロボットの動作を制御する一方、前記差が前記所定値を超えるとき、前記移動ロボットの動作を中断するように構成したので、動作指令の送信元である外部端末と移動ロボットの通信が切断状態から復旧した際に移動ロボットが突発的に動作するのを防止することができ、よってオペレータに違和感を与えるのを防止することができる。
【００１６】
また、請求項２に係る移動ロボットの制御装置にあっては、移動ロボットで所定の時間間隔ごとに時系列データを順次生成して外部端末に送信し、外部端末で前記送信された時系列データを受信して保持し、前記送信された時系列データが受信されるとき、前記外部端末と前記移動ロボットの通信状態が正常であると判断する一方、前記送信された時系列データが受信されないとき、前記通信状態が異常であると判断し、前記通信状態が異常であると判断されるとき、前記動作指令を前記保持された時系列データを付加して保持し、前記通信状態が正常であると判断されるとき、前記保持された動作指令に付加された時系列データと受信された最新の時系列データとに基づき、前記保持された動作指令を前記移動ロボットに送信するか否か判断するように構成したので、動作指令の送信元である外部端末と移動ロボットの通信が切断状態から復旧した際に移動ロボットが突発的に動作するのを防止することができ、よってオペレータに違和感を与えるのを防止することができる。
【００１７】
また、請求項３に係る移動ロボットの制御装置にあっては、動作指令に付加された時系列データと受信された最新の時系列データとの差（具体的には、時間上の差）が所定値を超えるとき、保持された動作指令の送信を中止するように構成したので、外部端末と移動ロボットの通信が切断状態から復旧した際に移動ロボットが突発的に動作するのを防止することができ、よってオペレータに違和感を与えるのを防止することができる。
【００１８】
また、請求項４に係る移動ロボットの制御装置にあっては、送信が中止された動作指令を消去するように構成したので、上記した効果に加え、記憶領域が不必要に消費されるのを防止することができる。
【００１９】
また、請求項５に係る移動ロボットの制御装置にあっては、外部端末で第２の所定の時間間隔ごとに通信確認信号を生成して移動ロボットに送信し、移動ロボットで前記送信された通信確認信号が受信されるとき、通信状態が正常であると判断する一方、前記送信された通信確認信号が受信されないとき、前記通信状態が異常であると判断し、その判断結果に基づいて前記第２の所定の時間間隔を変更するように構成したので、上記した効果に加え、外部端末と移動ロボットの通信が切断状態から復旧した際に動作指令を移動ロボットに送信すべきか否かを速やかに判断することができる。
【００２０】
また、請求項６に係る移動ロボットの制御装置にあっては、通信状態が異常であると判断されるとき、第２の所定の時間間隔を短縮するように構成したので、請求項６と同様に、外部端末と移動ロボットの通信が切断状態から復旧した際に動作指令を移動ロボットに送信すべきか否かを速やかに判断することができる。
【００２１】
また、請求項７に係る移動ロボットの制御装置にあっては、移動ロボットで位置情報を生成して外部端末に送信し、外部端末で前記送信された位置情報を受信して表示するように構成したので、上記した効果に加え、オペレータが移動ロボットを目視できない場合であっても、移動ロボットを操作することができる。
【００２２】
また、請求項８に係る移動ロボットの制御装置にあっては、移動ロボットは、少なくとも基体と、前記基体に接続された２本の脚部と、前記基体に接続された２本の腕部とを備えた人型ロボットであり、前記２本の脚部を駆動して移動するように構成したので、人型ロボット（ヒューマノイドロボット）においても上記した効果を得ることができる。
【発明を実施するための最良の形態】
【００２３】
以下、添付図面に即してこの発明に係る移動ロボットの制御装置を実施するための最良の形態について説明する。
【実施例１】
【００２４】
図１は、第１実施例に係る移動ロボットの制御装置が搭載されるロボットの正面図であり、図２は図１に示すロボットの側面図である。尚、この実施例にあっては、移動ロボットとして、基体とそれに接続された２本の脚部と２本の腕部を備え、２本の脚部を駆動して（２足歩行して）移動する人型ロボット（ヒューマノイドロボット）を例にとる。
【００２５】
図１に示すように、移動ロボット（以下単に「ロボット」と呼ぶ）１０は、左右の脚部１２Ｌ，１２Ｒ（左側をＬ、右側をＲとする。以下同じ）を備える。脚部１２Ｌ，１２Ｒは、基体１４の下部に連結される。基体１４は、その上部に頭部１６が連結されると共に、側部に左右の腕部２０Ｌ，２０Ｒが連結される。左右の腕部２０Ｌ，２０Ｒの先端には、それぞれハンド２２Ｌ，２２Ｒが連結される。
【００２６】
また、図２に示すように、基体（上体）１４の背部には格納部２４が設けられ、その内部には電子制御ユニット（以下「ＥＣＵ」と呼ぶ）２６やバッテリ（図示せず）などが収容される。
【００２７】
図３は、図１に示すロボット１０をスケルトンで表す説明図である。以下、図３を参照し、ロボット１０の内部構造について関節を中心に説明する。
【００２８】
左右の脚部１２Ｌ，１２Ｒは、それぞれ大腿リンク３０Ｌ，３０Ｒと下腿リンク３２Ｌ，３２Ｒと足部３４Ｌ，３４Ｒとを備える。大腿リンク３０Ｌ，３０Ｒは、股関節を介して基体１４に連結される。尚、図３では、基体１４を基体リンク３６として簡略的に示す。また、大腿リンク３０Ｌ，３０Ｒと下腿リンク３２Ｌ，３２Ｒは、膝関節を介して連結されると共に、下腿リンク３２Ｌ，３２Ｒと足部３４Ｌ，３４Ｒは足関節を介して連結される。
【００２９】
股関節は、Ｚ軸（ヨー軸。具体的には、ロボット１０の高さ方向）回りの回転軸４０Ｌ，４０Ｒと、Ｙ軸（ピッチ軸。具体的には、ロボット１０の左右方向）回りの回転軸４２Ｌ，４２Ｒと、Ｘ軸（ロール軸。具体的には、ロボット１０の前後方向）回りの回転軸４４Ｌ，４４Ｒとから構成される。即ち、股関節は、３自由度を備える。
【００３０】
膝関節は、Ｙ軸回りの回転軸４６Ｌ，４６Ｒから構成され、１自由度を備える。また、足関節は、Ｙ軸回りの回転軸４８Ｌ，４８ＲとＸ軸回りの回転軸５０Ｌ，５０Ｒとから構成され、２自由度を備える。このように、左右の脚部１２Ｌ，１２Ｒのそれぞれには、３個の関節を構成する６個の回転軸（自由度）が与えられ、脚部全体としては、合計１２個の回転軸が与えられる。
【００３１】
脚部１２Ｌ，１２Ｒは、アクチュエータ（図示せず）によって駆動される。脚部１２Ｌ，１２Ｒを駆動するアクチュエータは、具体的には基体１４や脚部１２Ｌ，１２Ｒの適宜位置に配置された１２個の電動モータからなり、上記した１２個の回転軸を個別に駆動する。従って、各電動モータの動作を制御して各回転軸を適宜な角度で駆動することにより、脚部１２Ｌ，１２Ｒに所望の動きを与えることができる。
【００３２】
また、左右の腕部２０Ｌ，２０Ｒは、それぞれ上腕リンク５２Ｌ，５２Ｒと下腕リンク５４Ｌ，５４Ｒとハンド２２Ｌ，２２Ｒとを備える。上腕リンク５２Ｌ，５２Ｒは、肩関節を介して基体１４に連結される。また、上腕リンク５２Ｌ，５２Ｒと下腕リンク５４Ｌ，５４Ｒは、肘関節を介して連結されると共に、下腕リンク５４Ｌ，５４Ｒとハンド２２Ｌ，２２Ｒは手関節を介して連結される。
【００３３】
肩関節は、Ｙ軸回りの回転軸５６Ｌ，５６Ｒと、Ｘ軸回りの回転軸５８Ｌ，５８Ｒと、Ｚ軸回りの回転軸６０Ｌ，６０Ｒとから構成され、３自由度を備える。一方、肘関節は、Ｙ軸回りの回転軸６２Ｌ，６２Ｒから構成され、１自由度を備える。また、手関節は、Ｚ軸回りの回転軸６４Ｌ，６４Ｒと、Ｙ軸回りの回転軸６６Ｌ，６６Ｒと、Ｘ軸回りの回転軸６８Ｌ，６８Ｒとから構成され、３自由度を備える。このように、左右の腕部２０Ｌ，２０Ｒのそれぞれには、３個の関節を構成する７個の回転軸（自由度）が与えられ、腕部全体として合計１４個の回転軸が与えられる。
【００３４】
腕部２０Ｌ，２０Ｒも、脚部１２Ｌ，１２Ｒと同様に図示しないアクチュエータによって駆動される。腕部２０Ｌ，２０Ｒを駆動するアクチュエータは、具体的には基体１４や腕部２０Ｌ，２０Ｒの適宜位置に配置された１４個の電動モータからなり、上記した１４個の回転軸を個別に駆動する。従って、各電動モータの動作を制御して各回転軸を適宜な角度で駆動することにより、腕部２０Ｌ，２０Ｒに所望の動きを与えることができる。
【００３５】
また、ハンド２２Ｌ，２２Ｒには、５本の指部７０Ｌ，７０Ｒが設けられる。指部７０Ｌ，７０Ｒは、図示しない駆動機構（アクチュエータを含む）によって動作自在とされ、腕部２０Ｌ，２０Ｒの動きに連動して物を把持するなどの動作が実行可能とされる。
【００３６】
また、頭部１６は、基体１４に首関節を介して連結される。首関節は、Ｚ軸回りの回転軸７２と、Ｙ軸回りの回転軸７４とから構成され、２自由度を備える。回転軸７２，７４も、図示しないアクチュエータ（電動モータ）によって個別に駆動される。
【００３７】
また、左右の脚部１２Ｌ，１２Ｒ（具体的には、足部３４Ｌ，３４Ｒと足関節の間）には、それぞれ６軸力センサ７６Ｌ，７６Ｒが取り付けられる。６軸力センサ７６Ｌ，７６Ｒは、それぞれ床面から脚部１２Ｌ，１２Ｒに作用する床反力（より詳しくは、脚部１２Ｌ，１２Ｒを介してロボット１０に作用する床反力）の３方向成分Ｆｘ，Ｆｙ，Ｆｚとモーメントの３方向成分Ｍｘ，Ｍｙ，Ｍｚを示す信号を出力する。
【００３８】
左右の腕部２０Ｌ，２０Ｒ（具体的には、ハンド２２Ｌ，２２Ｒと手関節の間）にも、同種の６軸力センサ８０Ｌ，８０Ｒが取り付けられる。６軸力センサ８０Ｌ，８０Ｒは、腕部２０Ｌ，２０Ｒに作用する外力（より詳しくは、腕部２０Ｌ，２０Ｒを介してロボット１０に作用する外力）の３方向成分Ｆｘ，Ｆｙ，Ｆｚとモーメントの３方向成分Ｍｘ，Ｍｙ，Ｍｚを示す信号を出力する。
【００３９】
基体１４には傾斜センサ８２が設置され、鉛直軸に対する基体１４の傾き（傾斜角度）とその角速度の少なくともいずれか、即ち、基体１４の傾斜（姿勢）などの状態量を示す信号を出力する。また、頭部１６には、左右のＣＣＤカメラ８４Ｌ，８４Ｒが設置される。ＣＣＤカメラ８４Ｌ，８４Ｒは、同時刻にロボット１０の周辺環境を撮影し、よって得た画像を出力する。
【００４０】
上記したセンサやカメラの出力は、図２に示すＥＣＵ２６に入力される。尚、ＥＣＵ２６はマイクロコンピュータからなり、図示しないＣＰＵや入出力回路、ＲＯＭ、ＲＡＭなどを備えると共に、外部端末９０と通信自在とされる。
【００４１】
図４は、ロボット１０と外部端末９０の構成、およびそれらの動作を機能的に表すブロック図である。
【００４２】
図４に示すように、ロボット１０は、上記したセンサやカメラに加え、回転角センサ９２と、ジャイロセンサ９４と、ＧＰＳ受信器９６とを備える。回転角センサ９２は、具体的には複数個のロータリエンコーダからなり、上記した各回転軸の回転角（別言すれば、各電動モータの動作量）に応じた信号を出力する。また、ジャイロセンサ９４は、ロボット１０の移動距離と移動方向に応じた信号を出力する。ＧＰＳ受信器９６は、衛星から発信された電波を受信し、ロボット１０の位置情報（緯度と経度）を取得する。
【００４３】
ＥＣＵ２６は、周辺情報生成部１００と、自己位置情報生成部１０２と、自己情報生成部１０４と、動作制御部１０６と、タイマーデータ生成部１０８とを備える。周辺情報生成部１００は、ＣＣＤカメラ８４Ｌ，８４Ｒが取得した画像を入力し、ロボット１０の周辺情報を生成する。具体的には、ＣＣＤカメラ８４Ｌ，８４Ｒで撮影された画像の明度に基づいて３次元の距離データを生成し、かかる距離データを例えばヒストグラム処理することにより、障害物を示すクラスタを抽出する。そして、抽出したクラスタから、実空間上の障害物の平均位置や大きさなどの特徴量を抽出し、ロボット１０の周辺の障害物マップを作成する。尚、障害物の認識に関する技術は、先に本出願人が提案した特開２００１−２４２９３４号公報や特開２００２−２８６４１６号公報に詳しいので、これ以上の説明は省略する。
【００４４】
自己位置情報生成部１０２は、ＧＰＳ受信器９６から入力された位置情報に基づき、ロボット１０の現在位置情報を生成する。衛星から発信された電波をＧＰＳ受信器９６で受信できないときは、ジャイロセンサ９４によって検出されたロボット１０の移動方向と距離に基づいて現在位置情報を生成する。尚、回転角センサ９２で検出されたロボット１０の動作量、あるいは動作制御部１０６から入力される各電動モータの制御値（後述）に基づいて現在位置情報を生成してもよい。
【００４５】
自己情報生成部１０４は、周辺情報生成部１００で生成されたロボット１０の周辺情報（障害物マップ）と自己位置情報生成部１０２で生成されたロボット１０の現在位置情報とに基づき、障害物に対する自己位置などの自己情報を生成する。自己情報生成部１０４で生成された自己情報は、動作制御部１０６に入力される。
【００４６】
タイマーデータ生成部１０８は、所定の時間間隔ごと、具体的には０．５秒ごとにタイマーデータ（時系列データ）を順次生成する。以下、上記した所定の時間間隔を「タイマーデータ生成間隔」という。
【００４７】
このタイマーデータは、時刻（タイマーデータが生成された時刻）を示すデータであり、ある時刻からの経過時間（例えば、０．５秒，１．０秒，１．５秒，・・・）で表記してもよいし、タイマーデータ生成間隔ごとに一定の法則で更新させられる変数（例えば、１，２，３，・・・）で表記してもよい。この実施例では、ある時刻を示すタイマーデータを「タイマーデータ（ｎ）」と表記したとき、タイマーデータ（ｎ）で示される時刻からタイマーデータ生成間隔がｍ回経過した時刻を示すタイマーデータを「タイマーデータ（ｎ＋ｍ）」と表記する。即ち、タイマーデータ（ｎ）で示される時刻から０．５秒後を示すタイマーデータを「タイマーデータ（ｎ＋１）」と表記し、１．０秒後を示すタイマーデータを「タイマーデータ（ｎ＋２）」と表記する。タイマーデータ生成部１０８で生成されたタイマーデータは、ロボット１０に設けられたデータ送信部１１０を介して外部端末９０に送信される。
【００４８】
外部端末９０は、具体的にはパーソナルコンピュータからなり、ロボット１０から離間した位置に配置される。外部端末９０は、ロボット１０の動作指令の送信元であり、オペレータによって操作自在な入力部（キーボードやマウス）１１２と、動作指令生成部１１４と、データ保持部１１６と、データ送信部１１８と、データ受信部１２０と、表示部（ディスプレイ）１２２とを備える。
【００４９】
データ送信部１１８とデータ受信部１２０は、それぞれロボット１０に設けられたデータ受信部１２４とデータ送信部１１０と無線通信自在とされる。尚、無線通信は、具体的にはＴＣＰ（Transmission Control Protocol）を使用したソケット通信である。
【００５０】
ロボット１０のデータ送信部１１０から送信されたタイマーデータは、外部端末９０のデータ受信部１２０で受信されてデータ保持部１１６に入力される。データ保持部１１６は、入力されたタイマーデータの最新値（外部端末９０が受信した最新のタイマーデータの値）を保持（記憶）する。
【００５１】
また、外部端末９０において動作指令生成部１１４は、オペレータによる入力部１１２の操作に従ってロボット１０の動作指令を生成する。動作指令生成部１１４で生成された動作指令には、データ保持部１１６に保持（記憶）されたタイマーデータが付加される。動作指令とそれに付加されたタイマーデータは、データ送信部１１８からロボット１０に送信される。
【００５２】
データ送信部１１８から送信された動作指令とタイマーデータは、ロボット１０のデータ受信部１２４で受信されて動作制御部１０６に入力される。
【００５３】
動作制御部１０６は、タイマーデータ生成部１０８によって生成されたタイマーデータと動作指令に付加されたタイマーデータに基づいてロボット１０の動作を決定する。具体的には、最新の（現在の）タイマーデータと動作指令に付加されたタイマーデータとの差、より詳しくは、最新のタイマーデータが示す時刻と動作指令に付加されたタイマーデータが示す時刻との差（即ち、時間上の差）が所定値以下のとき、外部端末９０から送信された動作指令に従ってロボット１０の動作を制御する。ロボット１０の動作は、ロボット１０に搭載された各電動モータの制御値を動作指令や自己情報、各センサの出力に基づいて算出し、算出した制御値を各電動モータに出力してその動作を制御することで行われる。尚、ロボット１０の歩行制御としては、例えば本出願人が先に提案した特開平１０−２７７９６９号公報などに記載される技術が用いられるが、本願の要旨とは直接の関係を有しないのでここでの説明は省略する。
【００５４】
一方、最新のタイマーデータが示す時刻と動作指令に付加されたタイマーデータが示す時刻の差が所定値を超えるときは、ロボット１０の動作を中断する。具体的には、ロボット１０が動作の途中であるときはその動作を中断して初期状態に復帰させると共に、動作の開始前であればそのままの姿勢を保持する。
【００５５】
また、動作制御部１０６は、ロボット１０の動作情報をデータ送信部１１０を介して外部端末９０に送信する。動作情報には、ロボット１０の動作指令実行処理の結果（後述）や位置データ（位置情報。具体的には、自己情報生成部１０４で生成された、障害物に対する自己位置などの自己情報）、状態データ（各センサの異常情報、ロボット１０に搭載されるバッテリ（図示せず）の残量、ソケット通信の無線強度など）が含まれる。
【００５６】
ロボット１０から送信された動作情報は、データ受信部１２０で受信され、前記したタイマーデータと共にデータ保持部１１６に保持（記憶）される。データ保持部１１６に保持されたデータ（位置データ、状態データ、動作指令実行処理の結果）は表示部１２２に表示され、オペレータに報知される。
【００５７】
次いで、ロボット１０と外部端末９０の間で実行されるタイマーデータなどの送受信処理について説明する。図５は、その処理を表すフローチャートである。尚、以下の説明において、ステップ（Ｓ）番号の後ろの括弧書きは、当該処理が図４に示すどのブロックで実行されるかを示している。
【００５８】
図５フローチャートを説明すると、先ずＳ１０（タイマーデータ生成部１０８）でタイマーデータを更新する。次いでＳ１２とＳ１４（共に動作制御部１０６）で位置データと状態データを更新した後、Ｓ１６（タイマーデータ生成部１０８、動作制御部１０６）でタイマーデータ、位置データおよび状態データの更新データを作成し、Ｓ１８（データ送信部１１０）で更新データを送信する。上記したＳ１０からＳ１８まではロボット１０側の処理である。
【００５９】
次いでＳ２０（データ受信部１２０）で更新データを受信し、Ｓ２２からＳ２６（いずれもデータ保持部１１６）で更新データ（タイマーデータ、位置データおよび状態データ）を保持（記憶）する。次いでＳ２８（表示部１２２）に進み、保持したデータの表示を更新する。上記したＳ２０からＳ２８までは外部端末９０側の処理であり、ロボット１０とのソケット通信が正常であれば実行されるが、なんらかの理由でソケット通信が遮断されているときは実行されない。即ち、ソケット通信が遮断されているときは、外部端末９０のデータ保持部１１６に保持されているタイマーデータなどは更新されない。
【００６０】
次いで、ロボット１０と外部端末９０で実行されるロボット１０の動作制御処理について説明する。図６は、その処理を表すフローチャートである。
【００６１】
図６フローチャートについて説明すると、先ずＳ１００（動作指令生成部１１４）において、オペレータによる入力部１１２の操作に従ってロボット１０の動作指令を生成する。次いでＳ１０２（動作指令生成部１１４、データ保持部１１６）に進み、データ保持部１１６に保持されたタイマーデータを、生成された動作指令に付加する。次いでＳ１０４（データ送信部１１８）に進み、生成された動作指令とそれに付加されたタイマーデータをソケット通信によってロボット１０に送信する。上記したＳ１００からＳ１０４は外部端末９０側の処理である。
【００６２】
次いでＳ１０６（データ受信部１２４）に進み、送信された動作指令とそれに付加されたタイマーデータを受信する。次いでＳ１０８（動作制御部１０６）に進み、タイマーデータ生成部１０８によって生成された最新の（現在の）タイマーデータが示す時刻と動作指令に付加されたタイマーデータが示す時刻との差が所定値（所定時間）以下か否か判断する。この実施例にあっては、前記所定値は２．０秒に設定される。即ち、動作指令に付加されたタイマーデータをタイマーデータ（ｎ）とするとき、最新のタイマーデータがタイマーデータ（ｎ）からタイマーデータ（ｎ＋４）の間の値であればＳ１０８の判断で肯定される。
【００６３】
Ｓ１０８で肯定されるときはＳ１１０（動作制御部１０６）に進み、動作指令実行処理を続行（あるいは開始）する。尚、動作指令実行処理とは、入力された動作指令に従ってロボット１０の動作を制御する処理のことをいう。次いでＳ１１２（動作制御部１０６）に進み、動作指令実行処理の結果を「正常」とすると共に、Ｓ１１４（データ送信部１１０）に進んで動作指令実行処理の結果をソケット通信によって外部端末９０に送信する。このように、ロボット１０は、オペレータによる外部端末９０（入力部１１２）の操作に従って遠隔操作される。
【００６４】
一方、Ｓ１０８で否定されるときはＳ１１６（動作制御部１０６）に進み、動作指令実行処理を中断して（あるいは開始することなく）Ｓ１１８（動作制御部１０６）に進む。そして、Ｓ１１８で動作指令実行処理の結果を「タイムアウトエラー」とした後、Ｓ１１４に進んでかかる結果を外部端末９０に送信する。上記したＳ１０６からＳ１１８まではロボット１０側の処理である。
【００６５】
次いでＳ１２０（データ受信部１２０）に進み、送信された動作指令実行処理の結果を受信すると共に、Ｓ１２２（表示部１２２）に進み、受信した動作指令実行処理の結果を表示してオペレータに報知する。Ｓ１２０とＳ１２２の処理は外部端末９０側の処理である。
【００６６】
尚、図５フローチャートと図６フローチャートでは、理解の便宜のため、ロボット１０と外部端末９０の処理を一連の処理のように示したが、ロボット１０側の処理と外部端末９０側の処理は、それぞれ独立して実行される。
【００６７】
次いで、上述した図５フローチャートと図６フローチャートの処理について、図７を参照して再説する。図７は、ロボット１０と外部端末９０との間で実行される動作指令とタイマーデータの送受信処理を表すタイム・チャートである。
【００６８】
図７に示すように、ロボット１０から送信されたタイマーデータは、ソケット通信が正常に行われていれば外部端末９０に受信されてデータ保持部１１６に保持される。一方、ソケット通信が切断されると、ロボット１０から送信されたタイマーデータは外部端末９０に受信されない。従って、通信が切断されると、外部端末９０に保持されたタイマーデータが示す時刻とロボット１０で生成された最新のタイマーデータが示す時刻との間に差が生じる。かかる差は、通信の切断時間を表しており、切断時間が長くになるに従って増大する。
【００６９】
外部端末９０は、オペレータから入力部１１２を介して動作指令の入力があると、入力された動作指令に保持しているタイマーデータを付加し、それらをロボット１０に送信する。このとき、ソケット通信が切断状態にあれば動作指令とそれに付加されたタイマーデータはロボット１０に受信されず、外部端末９０のデータ送信部１１８に蓄積される。
【００７０】
蓄積された動作指令とタイマーデータは、ソケット通信が切断状態から復旧したときにロボット１０に受信される。ロボット１０の動作制御部１０６は、この受信したタイマーデータが示す時刻とロボット１０で生成された最新のタイマーデータが示す時刻の差が所定値（２．０秒）以下か判断する。図示の例では、受信したタイマーデータの示す時刻が（ｎ＋１）であり、ロボット１０で生成された最新のタイマーデータの示す時刻が（ｎ＋７）であることから、それらの差が３．０秒となって所定値を上回る。従って、動作制御部１０６は動作指令に従った動作を中断すると共に、動作指令実行処理の結果をタイムアウトエラーとして外部端末９０に送信する。外部端末９０は、かかる結果（タイムアウトエラー）を受信して表示部１２２に表示し、オペレータに報知する。オペレータは、その表示から入力した動作指令が通信異常のために無効とされたことを認識する。
【００７１】
このように、この発明の第１実施例に係る移動ロボットの制御装置にあっては、ロボット１０側でタイマーデータ生成間隔ごとにタイマーデータを順次生成して外部端末９０に送信する一方、外部端末９０ではロボット１０に送信する動作指令に前記送信されたタイマーデータを付加する。そして、動作制御部１０６は、生成されたタイマーデータと動作指令に付加されたタイマーデータとに基づいてロボット１０の動作を決定する、より詳しくは、生成された最新のタイマーデータと動作指令に付加されたタイマーデータとの差（通信の切断時間）が所定値以下のとき、送信された動作指令に従ってロボット１０の動作を制御する一方、前記差が前記所定値を超えるとき、ロボット１０の動作を中断するように構成した。これにより、動作指令の送信元である外部端末９０とロボット１０の通信が切断状態から復旧した際にロボット１０が突発的に動作するのを防止することができ、よってオペレータに違和感を与えるのを防止することができる。
【００７２】
特にこの実施例に係るロボット１０のように、基体１４とそれに接続された２本の脚部１２Ｌ，１２Ｒと２本の腕部２０Ｌ，２０Ｒとを備えた人型ロボットにあっては、突発的な動作が行われた際に周囲の人に与える違和感がペット型のロボットなどに比して大きいという不具合があった。しかしながら、本願の構成を採用することで、そのような不具合も解消することができる。
【００７３】
また、ロボット１０で位置データを生成して外部端末９０に送信すると共に、送信された位置データを外部端末で受信して表示部１２２で表示するように構成したので、オペレータがロボット１０を目視できない場合であっても、表示部１２２を見ながらロボット１０を操作することができる。
【実施例２】
【００７４】
次いで、この発明の第２実施例に係る移動ロボットの制御装置について説明する。
【００７５】
図８は、この発明の第２実施例に係る移動ロボットの制御装置の構成（移動ロボットと外部端末の構成）、およびその動作を機能的に表す、図４と同様なブロック図である。尚、図８において、第１実施例と同じ構成には同一符号を付して説明を省略する。また、第１実施例と動作の一部や扱うデータなどが異なる構成には、同一符号の末尾に符号ｂを付して示す。
【００７６】
以下、第１実施例との相違点に焦点をおいて説明すると、図８に示すように、ロボット１０ｂのＥＣＵ２６ｂは、周辺情報生成部１００と、自己位置情報生成部１０２と、自己情報生成部１０４と、動作制御部１０６ｂと、タイマーデータ生成部１０８ｂとを備える。タイマーデータ生成部１０８ｂは、タイマーデータ生成間隔ごとに時刻を示すタイマーデータを生成する。尚、第２実施例にあっては、タイマーデータはある時刻からの経過時間で表記される。
【００７７】
また、外部端末９０ｂは、オペレータによって操作自在な入力部１１２と、動作指令生成部１１４ｂと、データ保持部１１６と、データ送信部１１８ｂと、データ受信部１２０ｂと、表示部１２２ｂと、送信判断部１３０と、動作指令保持部１３２と、通信確認信号生成部１３４とを備える。
【００７８】
タイマーデータ生成部１０８ｂにおいてタイマーデータ生成間隔ごとに生成されたタイマーデータは、データ送信部１１０ｂから外部端末９０ｂに送信される。送信されたタイマーデータは、外部端末９０ｂのデータ受信部１２０ｂで受信されてデータ保持部１１６と送信判断部１３０に入力される。送信判断部１３０は、入力されたタイマーデータに基づき、外部端末９０ｂとロボット１０ｂの通信状態が正常であるか（ソケット通信が正常に行われているか）否か判断する。
【００７９】
動作指令生成部１１４ｂで生成された動作指令は、送信判断部１３０に入力される。送信判断部１３０は、通信状態が正常であれば、入力された動作指令をデータ送信部１１８ｂを介してロボット１０ｂに送信する。送信された動作指令は、ロボット１０ｂのデータ受信部１２４ｂで受信されて動作制御部１０６ｂに入力される。動作制御部１０６ｂは、入力された動作指令に従ってロボット１０ｂの動作を制御する。
【００８０】
一方、送信判断部１３０は、通信状態が異常であれば（ソケット通信が切断状態にあれば）、動作指令にデータ保持部１１６に保持された最新のタイマーデータを付加すると共に、動作指令とそれに付加されたタイマーデータを動作指令保持部１３２に保持（記憶）させる（即ち、ロボット１０ｂへの動作指令の送信は行われない）。
【００８１】
また、送信判断部１３０は、通信状態が異常から正常に復旧したとき、動作指令保持部１３２に保持された動作指令に付加されたタイマーデータと、タイマーデータ生成部１０８ｂで生成された最新のタイマーデータとに基づき、保持された動作指令をロボット１０ｂに送信すべきか判断する。
【００８２】
また、通信確認信号生成部１３４は、第２の所定の時間間隔（この実施例では０．５秒とする）ごとに通信確認信号を生成する。以下、上記した第２の所定の時間間隔を「通信確認信号生成間隔」という。通信確認信号生成部１３４で生成された通信確認信号は、データ送信部１１８ｂを介してロボット１０ｂに送信される。送信された通信確認信号は、データ受信部１２４ｂで受信されて動作制御部１０６ｂに入力される。動作制御部１０６ｂは、入力された通信確認信号に基づき、ロボット１０ｂと外部端末９０ｂの通信状態が正常であるか否か判断すると共に、その判断結果に基づいてタイマーデータ生成間隔を変更する。
【００８３】
次いで、ロボット１０ｂと外部端末９０ｂの間で実行されるタイマーデータと通信確認信号の送受信処理について説明する。図９は、その処理を表すフローチャートである。尚、以下の説明において、ステップ（Ｓ）番号の後ろの括弧書きは、当該処理が図８に示すどのブロックで実行されるかを示している。
【００８４】
図９フローチャートを説明すると、先ずＳ２００（通信確認信号生成部１３４）で通信確認信号生成間隔（０．５秒）ごとに通信確認信号を生成し、Ｓ２０２（データ送信部１１８ｂ）で通信確認信号を送信する。以上は外部端末９０ｂ側の処理である。
【００８５】
次いでＳ２０４（動作制御部１０６ｂ、データ受信部１２４ｂ）で通信確認信号が受信されているか否か判断する。Ｓ２０４の処理では、具体的には、通信確認信号生成間隔を超える時間継続して通信確認信号が受信されなかったときに否定され、通信確認信号生成間隔ごとに通信確認信号が受信されているときに肯定される。
【００８６】
Ｓ２０４で否定されるときはＳ２０６（動作制御部１０６ｂ）に進み、ロボット１０ｂと外部端末９０ｂの通信状態が異常である（ソケット通信が切断状態にある）と判断すると共に、Ｓ２０８（動作制御部１０６ｂ）に進んでタイマーデータ生成間隔を短縮する。短縮されたタイマーデータ生成間隔は、例えば０．１秒に設定される。他方、Ｓ２０４で肯定されるときはＳ２１０（動作制御部１０６ｂ）に進み、通信状態が正常であると判断し、Ｓ２０８の処理はスキップする。尚、通信状態が正常であると判断されるときは、タイマーデータ生成間隔は０．５秒に設定される。
【００８７】
次いでＳ２１２（タイマーデータ生成部１０８ｂ）でタイマーデータを更新し、Ｓ２１４とＳ２１６（共に動作制御部１０６ｂ）で位置データと状態データを更新する。次いでＳ２１８（タイマーデータ生成部１０８ｂ、動作制御部１０６ｂ）でタイマーデータ、位置データおよび状態データの更新データを作成し、Ｓ２２０（データ送信部１１０ｂ）で更新データを送信する。更新データの送信は、タイマーデータ生成間隔が０．５秒であるときは０．５秒間隔で行われ、タイマーデータ生成間隔が０．１秒であるときは０．１秒間隔で行われる。即ち、タイマーデータは、生成されるごとに随時送信される。上記したＳ２０４からＳ２２０まではロボット１０ｂ側の処理である。
【００８８】
次いでＳ２２２（データ受信部１２０ｂ）で更新データを受信し、Ｓ２２４からＳ２２８（いずれもデータ保持部１１６ｂ）で更新データを保持（記憶）する。次いでＳ２３０（表示部１２２ｂ）に進み、保持したデータの表示を更新する。上記したＳ２２２からＳ２３０は第１実施例で説明した図５フローチャートのＳ２０からＳ２８までと同じであり、いずれも外部端末９０ｂ側の処理である。
【００８９】
尚、図９フローチャートでは、理解の便宜のため、ロボット１０ｂと外部端末９０ｂの処理を一連の処理のように示したが、ロボット１０ｂ側の処理と外部端末９０ｂ側の処理は、それぞれ独立して実行される。
【００９０】
次いで、外部端末９０ｂで実行される動作指令の送信処理について説明する。図１０は、その処理を表すフローチャートである。図示のプログラムは所定の周期で実行される。
【００９１】
図１０フローチャートについて説明すると、先ずＳ３００（動作指令生成部１１４ｂ）において、オペレータによる入力部１１２の操作に従ってロボット１０ｂの動作指令を生成する。次いでＳ３０２（データ受信部１２０ｂ、送信判断部１３０）に進み、タイマーデータが受信されているか否か判断する。Ｓ３０２の処理では、具体的には、タイマーデータが０．５秒（非短縮時のタイマーデータ生成間隔）を超える時間継続して受信されなかったときに否定され、０．５秒あるいは０．１秒（短縮時のタイマーデータ生成間隔）ごとに受信されているときに肯定される。
【００９２】
Ｓ３０２で否定されるときはＳ３０４（送信判断部１３０）に進み、ロボット１０ｂと外部端末９０ｂの通信状態が異常である（ソケット通信が切断されている）と判断すると共に、Ｓ３０６（送信判断部１３０）に進み、データ保持部１１６に保持された最新のタイマーデータ、即ち、通信状態が異常となる前に受信された最新のタイマーデータを、送信判断部１３０に入力された動作指令に付加する。そして、Ｓ３０８（動作指令保持部１３２）に進んで動作指令とそれに付加されたタイマーデータを動作指令保持部１３２に保持（記憶）すると共に、Ｓ３１０（表示部１２２ｂ）に進んで表示部１２２ｂに「通信異常」と表示し、通信状態が異常であることをオペレータに報知する。
【００９３】
一方、Ｓ３０２で肯定されるときはＳ３１２に進み、通信状態が正常であると判断すると共に、Ｓ３１４（送信判断部１３０）に進み、前回のプログラム実行時に通信状態が異常であると判断されていたか否か判断する。即ち、通信状態が異常から正常に復旧したのか、あるいは正常状態が継続しているのか判断する。
【００９４】
Ｓ３１４で否定されるとき（正常状態が継続しているとき）はＳ３１６（送信判断部１３０、データ送信部１１８ｂ）に進んでロボット１０ｂに動作指令を送信すると共に、Ｓ３１８（表示部１２２ｂ）に進んで表示部１２２ｂに「正常」と表示する。尚、ロボット１０ｂの動作制御部１０６ｂは、Ｓ３１６の処理で送信された動作指令に従い、ロボット１０ｂの動作を制御する。
【００９５】
また、Ｓ３１４で肯定されるときはＳ３２０（送信判断部１３０）に進み、動作指令（動作指令保持部１３２に保持された動作指令）に付加されたタイマーデータが示す時刻と受信された最新のタイマーデータが示す時刻との差（即ち、通信時間の切断時間）が所定値（所定時間）以下か否か判断する。この実施例にあっては、前記所定値は２．０秒に設定される。
【００９６】
Ｓ３２０で肯定されるときはＳ３１６に進み、動作指令保持部１３２に保持された動作指令を送信する。一方、Ｓ３２０で否定されるときはＳ３２２（送信判断部１３０）に進んで動作指令の送信を中止すると共に、Ｓ３２４に進んで保持された動作指令（送信が中止された動作指令）を消去する。そして、Ｓ３２６（表示部１２２ｂ）に進んで「タイムアウトにより送信中止」と表示し、動作指令の送信が中止されたことをオペレータに報知する。
【００９７】
上述した図９フローチャートと図１０フローチャートの処理について、図１１を参照して再説する。図１１は、ロボット１０ｂと外部端末９０ｂとの間で実行される動作指令、タイマーデータ、および通信確認信号の送受信処理を表すタイム・チャートである。
【００９８】
図１１に示すように、ロボット１０ｂから送信されたタイマーデータは、ソケット通信が正常に行われていれば外部端末９０ｂに受信される。また、外部端末９０ｂから送信された通信確認信号は、ソケット通信が正常に行われていればロボット１０ｂに受信される。
【００９９】
一方、ソケット通信が切断状態にあると、外部端末９０ｂから送信された通信確認信号はロボット１０ｂに受信されない。ロボット１０ｂでは、通信確認信号が受信されないとき、通信状態が異常であると判断し、タイマーデータ生成間隔（送信間隔）を０．５秒から０．１秒に短縮する。
【０１００】
また、ソケット通信が切断状態にあれば、ロボット１０ｂから送信されたタイマーデータは外部端末９０ｂに受信されない。外部端末９０ｂでは、タイマーデータが受信されないとき、通信状態が異常であると判断する。通信状態が異常であると判断されるときに動作指令が生成されると、かかる動作指令は、通信状態が正常なときに受信した最新のタイマーデータが付加されつつ動作指令保持部１３２に保持される。
【０１０１】
その後、ソケット通信が切断状態から復旧すると、外部端末９０ｂはタイマーデータを受信し、通信状態が正常であると判断する。そして、外部端末９０ｂは、この受信したタイマーデータが示す時刻と保持している動作指令に付加されたタイマーデータが示す時刻との差が所定値（２．０秒）以下であれば、保持している動作指令をロボット１０に送信する。一方、前記差が所定値を超えていれば、保持している動作指令の送信を中止すると共に、保持している動作指令を動作指令保持部１３２から消去する。
【０１０２】
尚、図示は省略するが、ソケット通信が復旧してロボット１０ｂが通信確認信号を受信すると、ロボット１０はタイマーデータ生成間隔を０．１秒から０．５秒に戻す。
【０１０３】
このように、この発明の第２実施例に係る移動ロボットの制御装置にあっては、ロボット１０ｂでタイマーデータ生成時間ごとにタイマーデータを順次生成して外部端末９０ｂに送信する。外部端末９０ｂは、タイマーデータが受信されるとき、通信状態が正常であると判断する一方、受信されないとき、通信状態が異常であると判断し、動作指令をタイマーデータと共に保持する。そして、通信が復旧してタイマーデータが受信されると、保持された動作指令に付加されたタイマーデータと受信された最新のタイマーデータとに基づき、保持された動作指令を移動ロボットに送信するか否か判断する、具体的には、動作指令に付加されたタイマーデータと受信された最新のタイマーデータとの差（通信の切断時間）が所定値を超えるとき、保持された動作指令の送信を中止するように構成したので、外部端末９０ｂとロボット１０ｂの通信が切断状態から復旧した際にロボット１０が突発的に動作するのを防止することができ、よってオペレータに違和感を与えるのを防止することができる。
【０１０４】
また、送信が中止された動作指令を消去するように構成したので、動作指令保持部１３２の記憶領域が不必要に消費されるのを防止することができる。
【０１０５】
また、外部端末９０ｂで通信確認信号生成間隔ごとに通信確認信号を生成してロボット１０ｂに送信すると共に、ロボット１０ｂは、通信確認信号が受信されるとき、通信状態が正常であると判断する一方、通信確認信号が受信されないとき、通信状態が異常であると判断し、その判断結果に基づいて前記通信確認生成間隔を変更する、具体的には、通信状態が異常であると判断されるとき、第２の所定の時間間隔を短縮するように構成したので、外部端末９０ｂとロボット１０ｂの通信が切断状態から復旧した際に動作指令をロボット１０ｂに送信すべきか否かを速やかに判断することができる。
【０１０６】
尚、残余の構成および効果は第１実施例と同様であるので、説明を省略する。
【０１０７】
以上のように、この発明の第１実施例にあっては、移動ロボット（１０）の動作指令を生成して前記移動ロボットに送信する外部端末（９０）と、前記移動ロボットに設けられ、前記送信された動作指令に基づいて前記移動ロボットの動作を制御する制御手段（動作制御部１０６、図６フローチャートのＳ１１０，Ｓ１１６）とを備えた移動ロボットの制御装置において、前記移動ロボットは、所定の時間間隔（タイマーデータ生成間隔）ごとに時系列データ（タイマーデータ）を順次生成して前記外部端末に送信する時系列データ生成手段（タイマーデータ生成部１０８、データ送信部１１０、図５フローチャートのＳ１０，Ｓ１８）を備えると共に、前記外部端末は、前記送信された時系列データを受信して前記動作指令に付加する時系列データ付加手段（動作指令生成部１１４、データ保持部１１６、データ受信部１２０、図５フローチャートのＳ２０，Ｓ２２、図６フローチャートのＳ１０２）を備え、前記制御手段は、前記時系列データ生成手段によって生成された最新の時系列データと前記動作指令に付加された時系列データとの差が所定値以下のとき、前記送信された動作指令に従って前記移動ロボットの動作を制御する（図６フローチャートのＳ１１０）一方、前記差が前記所定値を超えるとき、前記移動ロボットの動作を中断する（図６フローチャートのＳ１１６）ように構成した。
【０１０９】
また、この発明の第２実施例にあっては、移動ロボット（１０ｂ）の動作指令を生成して前記移動ロボットに送信する外部端末（９０ｂ）と、前記移動ロボットに設けられ、前記送信された動作指令に基づいて前記移動ロボットの動作を制御する制御手段（動作制御部１０６ｂ）とを備えた移動ロボットの制御装置において、前記移動ロボットは、所定の時間間隔（タイマーデータ生成間隔）ごとに時系列データ（タイマーデータ）を順次生成して前記外部端末に送信する時系列データ生成手段（タイマーデータ生成部１０８ｂ、データ送信部１１０ｂ、図９フローチャートのＳ２１２，Ｓ２２０）を備えると共に、前記外部端末は、前記送信された時系列データを受信して保持する時系列データ保持手段（データ保持部１１６ｂ、データ受信部１２０ｂ、図９フローチャートのＳ２２２，Ｓ２２４）と、前記送信された時系列データが受信されるとき、前記外部端末と前記移動ロボットの通信状態が正常であると判断する一方、前記送信された時系列データが受信されないとき、前記通信状態が異常であると判断する通信状態判断手段（送信判断部１３０、図１０フローチャートのＳ３０２，Ｓ３０４，Ｓ３１２）、前記通信状態判断手段によって前記通信状態が異常であると判断されるとき、前記動作指令を前記保持された時系列データを付加して保持する動作指令保持手段（送信判断部１３０、動作指令保持部１３２、図１０フローチャートのＳ３０６，Ｓ３０８）と、および前記通信状態判断手段によって前記通信状態が正常であると判断されるとき、前記保持された動作指令に付加された時系列データと受信された最新の時系列データとに基づき、前記保持された動作指令を前記移動ロボットに送信するか否か判断する送信判断手段（送信半判断部１３０、図１０フローチャートのＳ３２０，Ｓ３１６，Ｓ３２２）とを備えるように構成した。
【０１１０】
また、前記送信判断手段は、前記動作指令に付加された時系列データと前記受信された最新の時系列データとの差が所定値を超えるとき、前記保持された動作指令の送信を中止する（図１０フローチャートのＳ３２２）ように構成した。
【０１１１】
さらに、前記外部端末は、前記送信が中止された動作指令を消去する動作指令消去手段（送信判断部１３０、図１０フローチャートのＳ３２４）を備えるように構成した。
【０１１２】
さらに、前記外部端末は、第２の所定の時間間隔（通信確認信号生成間隔）ごとに通信確認信号を生成して前記移動ロボットに送信する信号生成手段（通信確認信号生成部１３４、データ送信部１１８ｂ、図９フローチャートのＳ２００，Ｓ２０２）を備えると共に、前記移動ロボットは、前記送信された通信確認信号が受信されるとき、前記通信状態が正常であると判断する一方、前記送信された通信確認信号が受信されないとき、前記通信状態が異常であると判断する第２の通信状態判断手段（動作制御部１０６ｂ、図９フローチャートのＳ２０４，Ｓ２０６，Ｓ２１０）と、および前記第２の通信状態判断手段の判断結果に基づいて前記第２の所定の時間間隔を変更する時間間隔変更手段（動作制御部１０６ｂ、図９フローチャートのＳ２０８）とを備えるように構成した。
【０１１３】
また、前記時間間隔変更手段は、前記第２の通信状態判断手段によって前記通信状態が異常であると判断されるとき、前記第２の所定の時間間隔を短縮する（動作制御部１０６ｂ、図９フローチャートのＳ２０８）ように構成した。
【０１１４】
また、第１および第２実施例にあっては、さらに、前記移動ロボット（１０，１０ｂ）は、前記移動ロボットの位置情報（位置データ）を生成して前記外部端末（９０，９０ｂ）に送信する位置情報生成手段（自己情報生成部１０４）を備えると共に、前記外部端末は、前記送信された位置情報を受信して表示する表示手段（表示部１２２，１２２ｂ）を備えるように構成した。
【０１１５】
また、前記移動ロボットは、少なくとも基体（１４）と、前記基体に接続された２本の脚部（１２Ｌ，１２Ｒ）と、前記基体に接続された２本の腕部（２０Ｌ，２０Ｒ）とを備えた人型ロボットであり、前記２本の脚部を駆動して移動するように構成した。
【０１１６】
尚、上記において、移動ロボットとして２足の人型ロボットを例に挙げたが、１足あるいは３足以上のロボットであってもよく、車輪やクローラ式のロボットであってもよい。
【０１１７】
また、ロボット１０（１０ｂ）と外部端末９０（９０ｂ）を無線通信自在としたが、有線であってもよい。また、ソケット通信以外の通信方式を採用してもよい。
【図面の簡単な説明】
【０１１８】
【図１】この発明の第１実施例に係る移動ロボットの制御装置が搭載されるロボットの正面図である。
【図２】図１に示すロボットの側面図である。
【図３】図１に示すロボットをスケルトンで示す説明図である。
【図４】図２に示すロボットと外部端末の構成、およびそれらの動作を機能的に表すブロック図である。
【図５】図２に示すロボットと外部端末の間で実行されるタイマーデータなどの送受信処理を表すフローチャートである。
【図６】図２に示すロボットと外部端末で実行されるロボットの動作制御処理を表すフローチャートである。
【図７】図２に示すロボットと外部端末との間で実行される動作指令とタイマーデータの送受信処理を表すタイム・チャートである。
【図８】この発明の第２実施例に係る移動ロボットの制御装置の構成、およびその動作を機能的に表す、図４と同様なブロック図である。
【図９】図８に示すロボットと外部端末の間で実行されるタイマーデータと通信確認信号の送受信処理を表すフローチャートである。
【図１０】図８に示す外部端末で実行される動作指令の送信処理を表すフローチャートである。
【図１１】図８に示すロボットと外部端末との間で実行される動作指令、タイマーデータ、および通信確認信号の送受信処理を表すタイム・チャートである。
【符号の説明】
【０１１９】
１０，１０ｂ：移動ロボット、１４：基体、１２Ｌ，１２Ｒ：腕部、２０Ｌ，２０Ｒ：脚部、９０，９０ｂ：外部端末、１０４：自己情報生成部（位置情報生成手段）、１０６：動作制御部（制御手段）、１０６ｂ：動作制御部（制御手段、第２の通信状態判断手段、時間間隔変更手段）、１０８，１０８ｂ：タイマーデータ生成部（時系列データ生成手段）、１１０，１１０ｂ：データ送信部（時系列データ送信手段）、１１４：動作指令生成部（時系列データ付加手段）、１１６：データ保持部（時系列データ付加手段）、１１６ｂ：データ保持部（時系列データ保持手段）、１２０ｂ：データ受信部（時系列データ保持手段）、１３０：送信判断部（通信状態判断手段、動作指令保持手段、送信判断手段、動作指令消去手段）、１３２：動作指令保持部（動作指令保持手段）、１３４：通信確認信号生成部（信号生成手段）
【図１】
0004824362.tif 000002
【図２】
0004824362.tif 000003
【図３】
0004824362.tif 000004
【図４】
0004824362.tif 000005
【図５】
0004824362.tif 000006
【図６】
0004824362.tif 000007
【図７】
0004824362.tif 000008
【図８】
0004824362.tif 000009
【図９】
0004824362.tif 000010
【図１０】
0004824362.tif 000011
【図１１】
0004824362.tif 000012