(57)【要約】【課題】  姿勢変化に対する機体のコンプライアンスを積極的に利用して自律的動作を引き起こすための直感的なインターフェースを実現することができる倒立２輪走行ロボットを提供する。【解決手段】  不安定な機体３と、姿勢センサ４と、姿勢を保持する力を発生するアクチュエータ２ａ，２ｂと、姿勢を安定化する姿勢制御部７と、上記姿勢センサの変化から人間の意図を判定する姿勢変動検出部１３と、姿勢変動検出部１３の出力から動作モードを決定する動作制御部９を有する。【選択図】図２
2006123014.tif 000002
【特許請求の範囲】
【請求項１】
同軸上に配置されて２つの車軸にそれぞれ連結された２つの車輪と、上記２つの車軸を回転可能に支持する車体を有する機体と、
上記機体の姿勢を検出する姿勢センサと、
上記２つの車軸をそれぞれ回転駆動して上記機体の上記姿勢を保持する力を発生させるアクチュエータと、
上記機体の上記姿勢を安定化させるように上記アクチュエータを動作制御する姿勢制御部と、
上記姿勢センサからの上記機体の経時的な姿勢変化に基づいて上記人間の意図を判定する判定部と、
上記判定部の出力から動作モードを変更する動作制御部とを有することを特徴とする倒立２輪走行ロボット。
【請求項２】
上記動作制御部で変更する上記動作モードは、走行開始のために待機する待機モード、上記人間に追従して走行する追従モード、上記走行を停止する停止モードを含むことを特徴とする請求項１に記載の倒立２輪走行ロボット。
【請求項３】
上記判定部が、上記姿勢センサからの上記機体の経時的な姿勢変化が閾値を超えれば上記人間の意図であると判定し、上記閾値以下ならば上記人間の意図ではないと判定するとともに、上記判定部が上記人間の意図であると判定したときのみ上記動作制御部で上記動作モードを変更することを特徴とする請求項１又は２に記載の倒立２輪走行ロボット。
【請求項４】
上記動作モードは、上記ロボットの周囲の状況を検出して検出結果を上記動作制御部に入力する周囲状況検出センサをさらに備え、
上記周囲状況検出センサによる検出結果に基づき、追従可能か否かを判断し、追従可能なときのみ追従動作を行い、追従不可のときは停止する追従モードを上記動作モードとして有することを特徴とする請求項１〜３のいずれか１つに記載の倒立２輪走行ロボット。
【請求項５】
荷物を検出する物体検出センサをさらに備え、
上記動作制御部は、上記物体検出センサによる検出結果に基づき、上記動作モードを、荷物載置のために待機する待機モード中では上記待機モードから荷物載置後に上記人間に追従しての走行開始指示を待つ追従開始待ちモードに切り替えるとともに、上記人間に追従して走行する追従モード中では上記追従モードから荷下ろしのために待機する荷下ろし待ちモードに切り替えることを特徴とする請求項１〜４のいずれか１つに記載の倒立２輪走行ロボット。
【請求項６】
上記動作制御部で変更する上記動作モードは、荷物載置のために待機する待機モード、荷物載置後に上記人間に追従しての走行開始指示を待つ追従開始待ちモード、上記人間に追従して走行する追従モード、上記走行を停止して荷下ろしのために待機する荷下ろし待ちモードを含み、
上記姿勢センサからの上記機体の経時的な姿勢変化が閾値を超えたと上記判定部で判断すれば、上記待機モード、上記追従開始待ちモード、上記追従モード、上記荷下ろし待ちモード、上記待機モードの順に上記動作制御部で上記動作モードを変更することを特徴とする請求項１に記載の倒立２輪走行ロボット。
【請求項７】
上記動作制御部で変更する上記動作モードは、荷物載置のために待機する待機モード、荷物載置後に上記人間に追従しての走行開始指示を待つ追従開始待ちモード、上記人間に追従して走行する追従モード、上記走行を停止して荷下ろしのために待機する荷下ろし待ちモードを含み、
上記物体検出センサにより上記物体を検出した場合には、上記待機モードから上記追従開始待ちモードに上記動作制御部で上記動作モードを変更する一方、上記物体検出センサにより上記物体が無くなったことを検出した場合には、上記荷下ろし待ちモードから上記待機モード上記動作制御部で上記動作モードを変更し、
上記姿勢センサからの上記機体の経時的な姿勢変化が閾値を超えたと上記判定部で判断すれば、上記追従開始待ちモードにおいては上記追従開始待ちモードから上記追従モードに上記動作制御部で上記動作モードを変更する一方、上記追従モードにおいては上記追従モードから上記荷下ろし待ちモードに上記動作制御部で上記動作モードを変更することを特徴とする請求項５に記載の倒立２輪走行ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人間と共存しながら作業を行うロボットのうち、本来不安定な機体を制御の力によってバランスするタイプのロボットに対して、人間にとって直感的でわかりやすい動作指示インターフェースを実現する倒立２輪走行ロボットに関するものである。
【背景技術】
【０００２】
従来の不安定な機体を制御によってバランスを取る人間と共存する自動機械としては、米国で開発された同軸２輪タイプの乗り物Ｓｅｇｗａｙ（登録商標）が有名である。その基本構成を図１６に示す。なお、図１６は特許文献１に記載されている。
【０００３】
図１６において、車輪１００ａ，１００ｂをフレーム１０２で連結し、そのフレームにＤＣサーボモータ１０４ａ，１０４ｂを固定して車輪を駆動する様に車両を構成するようにしている。フレーム１０２にはステム１０６を介してハンドルバー１０８が取着される。またフレーム１０２上の適宜位置にはボックス１１０が儲けられ、その内部には傾斜センサと制御ユニット（共に図示せず）が収納される。尚、ハンドルバー１０８のグリップにはスイッチ１１２ａ，１１２ｂが設けられ、例えばスイッチ１１２ａをオンすることによりＤＣサーボモータ１０４ａが停止した右旋回する様に構成される。
【０００４】
フレーム１０２には図示しない人間がハンドルレバー１０８を握る形で乗車する。図示しない制御ユニットはボックス１１０から検出されるフレーム１０２の傾斜を基に、傾斜がゼロになるようモータ１０４ａ，１０４ｂにフィードバック制御を行う。人間がフレーム１０２上で所望の前後方向に体重移動をさせると、ボックス１１０が行っているバランス制御とあいまって、その方向に車両を走行させることができる。
【０００５】
図１７において、ロボット２１０は主として子供とのコミュニケーションを図ることを目的に開発されたコミュニケーションロボットで、音声等によるコミュニケーションの他に、接触や抱きつきなどのボディコミュニケーションが可能であるように意図されている。ロボット２１０は、同軸上に取り付けられた２つの車輪２１８ａ及び２１８ｂを制御することによって、ロボット２１０本体の転倒を防いでいる。さらに、子供とのコミュニケーションにおける接触等による突発的な外力による転倒を防ぐために、腰関節２２８とこれを駆動する腰モータ２５６を有している。この腰関節２２８の動作は、たとえば胸部２３２、２４０ａの表面に取り付けられている図示しない衝突センサが接触を検出した時、押された方向に腰関節２２８を動かすことによって、力を逃がす動作を行うことができる。また、腰関節２２８と胸部関節２６２をリンク２６４で連結することにより、１つの腰モータ２５６により双方の関節を動かし、逃げる動作をより大きくとることが可能となっている。以上のように、車輪２１８ａ，２１８ｂによるバランス制御と腰関節２２８，胸部関節２６２による逃げる動作の組み合わせにより、接触・衝突に対してもロバストな倒立制御を実現し、コミュニケーションをとる子供との安全な共存を可能としている。
【０００６】
【特許文献１】特許第３０７００１５号公報（第２３図）
【特許文献２】特開２００３−２７１２４３公報（第３図）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来の構成では、制御によってバランスをとるロボットや自動機器に対する、人間にとって直感的でわかりやすい動作指示インターフェースを実現することはできないという課題を有していた。
【０００８】
つまり、特許文献１においては、人間が体重移動することで前後への移動を制御できるという意味では自動車のアクセルと同様に直感的であるが、人間は常に体重を所望の方向にかけ続ける必要があり、本乗り物は指示を受けて自律的に動作したとは言えない。
【０００９】
また、特許文献２においては、子供のロボットへの接触が引き金となって、ロボットの上体の逃げる動作を引き起こしているが、ロボットが反射的に動作を起こしたにすぎず、接触が取り除かれれば再び元の状態に戻り、ロボットが動作指示を受けて自律的に動作を起こしたとは言い難い。
【００１０】
本発明は、上記従来の課題を解決するもので、本来不安定な機体を制御の力によってバランスするタイプのロボットに対して、人間にとって直感的でわかりやすい動作指示インターフェースを実現する。このため、ロボットがバランスを取ろうとすることに起因する姿勢保持方向のコンプライアンスを利用することにより、人間がロボットに対して働きかける力を姿勢の変化としてとらえ、この変化パターンから人間の意図をよみ取る。
【００１１】
従って、本発明は、姿勢を変化させる人間の動作指示に対して、自律的な動作を起こすような倒立２輪走行ロボットを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明は以下のように構成する。
【００１３】
上記従来の課題を解決するために、本発明の１つの態様によれば、同軸上に配置されて２つの車軸にそれぞれ連結された２つの車輪と、上記２つの車軸を回転可能に支持する車体を有する機体と、
上記機体の姿勢を検出する姿勢センサと、
上記２つの車軸をそれぞれ回転駆動して上記機体の上記姿勢を保持する力を発生させるアクチュエータと、
上記機体の上記姿勢を安定化させるように上記アクチュエータを動作制御する姿勢制御部と、
上記姿勢センサからの上記機体の経時的な姿勢変化に基づいて上記人間の意図を判定する判定部と、
上記判定部の出力から動作モードを変更する動作制御部とを有することを特徴とする倒立２輪走行ロボットを提供する。よって、この構成では、人間がロボットに対して働きかける力をロボットの姿勢の変化として捉え、この変化パターンから人間の意図を読み取り自律的な動作を行うことができる。
【００１４】
本構成によって、人間にとって直感的でわかりやすい自律ロボットに対する動作指示インターフェースを実現することができる。
【発明の効果】
【００１５】
本発明の倒立２輪走行ロボットによれば、制御により姿勢を維持しようとすることに起因するコンプライアンスを利用して、人間が力をかけて姿勢を変化させることで動作指示を与えることが可能となる。たとえば、ロボットに対して、「背中を押してスタートさせる」又は「胸を押して停止させる」といった人間が日常の習慣から理解しやすい動作指示を実現することが可能となる。これは、従来発明にあったような、機器のアクセルを踏み続けて動作させる（従来例１）、あるいは、人間が与える力に対して反射的な動作を取らせる（従来例２）、といった受動的な動作ではない、自律的な動作を直感的にわかりやすい方法で簡易に指示するインターフェースを実現するものである。
【発明を実施するための最良の形態】
【００１６】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する前に、本発明の種々の態様について説明する。
【００１７】
本発明の第１態様によれば、同軸上に配置されて２つの車軸にそれぞれ連結された２つの車輪と、上記２つの車軸を回転可能に支持する車体を有する機体と、
上記機体の姿勢を検出する姿勢センサと、
上記２つの車軸をそれぞれ回転駆動して上記機体の上記姿勢を保持する力を発生させるアクチュエータと、
上記機体の上記姿勢を安定化させるように上記アクチュエータを動作制御する姿勢制御部と、
上記姿勢センサからの上記機体の経時的な姿勢変化に基づいて上記人間の意図を判定する判定部と、
上記判定部の出力から動作モードを変更する動作制御部とを有することを特徴とする倒立２輪走行ロボットを提供する。
【００１８】
本発明の第２態様によれば、上記動作制御部で変更する上記動作モードは、走行開始のために待機する待機モード、上記人間に追従して走行する追従モード、上記走行を停止する停止モードを含むことを特徴とする第１の態様に記載の倒立２輪走行ロボットを提供する。
【００１９】
本発明の第３態様によれば、上記判定部が、上記姿勢センサからの上記機体の経時的な姿勢変化が閾値を超えれば上記人間の意図であると判定し、上記閾値以下ならば上記人間の意図ではないと判定するとともに、上記判定部が上記人間の意図であると判定したときのみ上記動作制御部で上記動作モードを変更することを特徴とする第１又は２の態様に記載の倒立２輪走行ロボットを提供する。
【００２０】
本発明の第４態様によれば、上記動作モードは、上記ロボットの周囲の状況を検出して検出結果を上記動作制御部に入力する周囲状況検出センサをさらに備え、
上記周囲状況検出センサによる検出結果に基づき、追従可能か否かを判断し、追従可能なときのみ追従動作を行い、追従不可のときは停止する追従モードを上記動作モードとして有することを特徴とする第１〜３のいずれか１つの態様に記載の倒立２輪走行ロボットを提供する。
【００２１】
本発明の第５態様によれば、荷物を検出する物体検出センサをさらに備え、
上記動作制御部は、上記物体検出センサによる検出結果に基づき、上記動作モードを、荷物載置のために待機する待機モード中では上記待機モードから荷物載置後に上記人間に追従しての走行開始指示を待つ追従開始待ちモードに切り替えるとともに、上記人間に追従して走行する追従モード中では上記追従モードから荷下ろしのために待機する荷下ろし待ちモードに切り替えることを特徴とする第１〜４のいずれか１つの態様に記載の倒立２輪走行ロボットを提供する。
【００２２】
本発明の第６態様によれば、上記動作制御部で変更する上記動作モードは、荷物載置のために待機する待機モード、荷物載置後に上記人間に追従しての走行開始指示を待つ追従開始待ちモード、上記人間に追従して走行する追従モード、上記走行を停止して荷下ろしのために待機する荷下ろし待ちモードを含み、
上記姿勢センサからの上記機体の経時的な姿勢変化が閾値を超えたと上記判定部で判断すれば、上記待機モード、上記追従開始待ちモード、上記追従モード、上記荷下ろし待ちモード、上記待機モードの順に上記動作制御部で上記動作モードを変更することを特徴とする第１の態様に記載の倒立２輪走行ロボットを提供する。
【００２３】
本発明の第７態様によれば、上記動作制御部で変更する上記動作モードは、荷物載置のために待機する待機モード、荷物載置後に上記人間に追従しての走行開始指示を待つ追従開始待ちモード、上記人間に追従して走行する追従モード、上記走行を停止して荷下ろしのために待機する荷下ろし待ちモードを含み、
上記物体検出センサにより上記物体を検出した場合には、上記待機モードから上記追従開始待ちモードに上記動作制御部で上記動作モードを変更する一方、上記物体検出センサにより上記物体が無くなったことを検出した場合には、上記荷下ろし待ちモードから上記待機モード上記動作制御部で上記動作モードを変更し、
上記姿勢センサからの上記機体の経時的な姿勢変化が閾値を超えたと上記判定部で判断すれば、上記追従開始待ちモードにおいては上記追従開始待ちモードから上記追従モードに上記動作制御部で上記動作モードを変更する一方、上記追従モードにおいては上記追従モードから上記荷下ろし待ちモードに上記動作制御部で上記動作モードを変更することを特徴とする第５の態様に記載の倒立２輪走行ロボットを提供する。
【００２４】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００２５】
（第１実施形態）
図１Ａは本発明の第１実施形態における自律ロボットの一例としての倒立２輪走行ロボット６７の側面図である。図１Ａ，図１Ｂ，図１Ｃにおいて、１ａ，１ｂは同軸上に配置されて２つの車軸２ｃ，２ｄにそれぞれ連結された２つの車輪、２ａ，２ｂは２つの車軸２ｃ，２ｄにそれぞれ連結されて２つの車輪１ａ，１ｂをそれぞれ独立して回転駆動してロボット６７を走行させるとともに機体３の姿勢を所定の姿勢（図１Ｂや図６（ａ）のような起立姿勢）に保持するための、アクチュエータの一例としての２つのモータ、３は車軸２ｃ，２ｄの軸回りに回動可能に車軸２ｃ，２ｄに支持されてモータ２ａ，２ｂを保持する機体、４は機体３の姿勢を検出する姿勢センサである。
【００２６】
また、このロボット６７は荷物運びをタスクとするため、荷台５を機体３の一部として有している。なお、２９は荷台５上の荷物である。なお、１５は動作指示を与えようとしている人間（ユーザ）であり、ロボット６７に対して接触することで動作指示を与える。さらに、本ロボット６７はユーザ１５に追従して荷物運びをするためにユーザ１５の位置を検出して制御部１００（詳しくは後述する動作制御部９）に検出結果を出力する、周囲状況検出センサの一例としての人間検出センサ６も、例えば、機体３の上部に有している。この人間検出センサ６は、ユーザ１５の位置以外にも、ロボット６７の周囲の物体、例えば走行時に障害となる障害物や他の人間などの物体を検出するようにしてもよい。ただし、障害物を検出した場合には、動作制御部９により、障害物を避けるようにモータ２ａ，２ｂを動作制御してロボット６７が障害物を避けるように走行させるか、障害物を避けられない場合には障害物にロボット６７が接触する前にロボット６７の走行を停止するようにモータ２ａ，２ｂを動作制御することができる。すなわち、上記人間検出センサ６による検出結果に基づき、追従可能か否かを判断し、追従可能なときのみ追従動作を行い、追従不可のときは停止する追従モードを持つことができる。
【００２７】
ここで、人間検出センサ６の例としては、超音波を用いたものが信頼性が高く頻繁に用いられる。人間に超音波と赤外線の発振器を持たせ、人間検出センサ６として２つの超音波マイクと赤外線受光素子を設けることにより（受信器）、２つの超音波マイクに超音波が到達する時間差から人間の位置（発信器の位置）を測定することが可能である。このような原理を応用した商品としては、例えば米国Ｖｉｒｔｕａｌ  Ｉｎｋ  Ｃｏｒｐｏｒａｔｉｏｎ社のｍｉｍｉｏ（登録商標）がある。この商品は、ホワイトボードに受信器を、ホワイトボード用ペンに発信器を取り付けることにより、ペンの位置を非接触で検出し、ユーザがホワイトボードに書いた字や絵をリアルタイムでパソコンに取り込める商品である。
【００２８】
人間検出センサ６には電波を用いることも可能である。その場合は、株式会社国際電気通信基礎技術研究所(ＡＴＲ)で開発されたエスパーアンテナ（登録商標）のように、電波の到来方向を検出できるものが有効である。この場合、人間は電波の発信機を持つことになる。
【００２９】
人間検出センサ６の他の例として、カメラ画像の画像認識を用いたもの、遠赤外線カメラの熱線画像を用いたもの、などがある。
【００３０】
また、ロボット６７の周囲の物体を検出するセンサとしては、独ＳＩＣＫ社のレーザスキャナ式エリアセンサがよく用いられる。このセンサはレーザを平面スキャンすることにより、光を反射する物体までの距離を求めるもので、障害物のロボットとの相対位置関係が平面的に把握できる。
【００３１】
また、荷台５上に荷物２９などの物体が載せられたか否かは、荷台５上に荷物２９が載せられると機体３の姿勢が変化し、その変化を姿勢センサ４により検出することにより、荷物２９の荷台５への載置を検出することができるようにしている。しかしながら、荷台５上の物体の存在をより正確に検出するため、物体検出センサの一例としての近接センサ７０ａ，７０ｂを備えるようにしてもよく、その場合には、近接センサ７０ａ，７０ｂの検出結果は制御部１００に入力される。物体検出センサとしては、荷台５上の物体の重量を検出する重量センサや、荷台５上の物体を光学的に検出する光学センサや、荷台５上に物体が載置されると、機械的なスイッチがオンする接触式センサなど種々のセンサを使用することができる。
【００３２】
姿勢センサ４の一例としてジャイロ・加速度センサが用いられ、重力方向を姿勢センサ４により検出することにより、重力方向に対する機体３の姿勢を検出して、上記倒立２輪走行ロボット６７の走行動作などの制御を行う制御部１００に検出結果を出力する。検出された姿勢に基づき、制御部１００がモータ２ａ，２ｂに対して適切なトルク指令を与えて、機体３のバランスを維持して、機体３が所定の姿勢（図１Ｂや図６（ａ）のような起立姿勢）を維持するように調整する。
【００３３】
図２は本発明の第１実施形態における倒立２輪走行ロボット６７の制御系ブロック図である。図２において、３は倒立２輪走行ロボット６７の機体、２ａ，２ｂは倒立２輪走行ロボット６７の２つの車輪１ａ，１ｂを回転駆動するためのモータ、４は機体３の姿勢を検出するための姿勢センサである。図２において、機体３に対しては、姿勢センサ４と状況検出センサ６と荷物センサ７０ａ、７０ｂと荷重センサ８２とが設けられ、さらに、エンコーダ２ｅ、２ｆも設けられている。このエンコーダ２ｅ、２ｆは、車輪の回転角及び回転角速度を検出するためのセンサである。エンコーダ２ｅ、２ｆの出力は制御ループ８を介して制御器７にフィードバックされる。機体３から姿勢センサ４及びエンコーダ２ｅ、２ｆへ伝達される情報は、「機械的な運動」であり、モータ２ａ、２ｂから機体３に対して与えられたトルクに対して機体３が応答した結果である。
【００３４】
制御部１００は、姿勢センサ４の出力が入力される、判定部の一例として機能する姿勢変動検出部１３と、姿勢変動検出部１３に動作モード１１を出力するとともに姿勢変動検出部１３から変動検出信号１２が入力される動作制御部９と、動作制御部９から動作指令１０が入力されるとともに姿勢センサ４の出力も入力される、姿勢制御部の一例として機能する制御器７とより構成されている。よって、姿勢センサ４の出力はフィードバックされて制御器７を介して、モータ２ａ，２ｂへのトルク入力となる。以上の制御ループ８により、ロボット６７は倒立姿勢を維持することができる。９は動作制御部で、あらかじめタスクに応じて用意されかつ動作シナリオ用データベース１４Ａに記憶された動作シナリオ１４を基に、ロボット６７がどのように動くべきか（具体的には、どのような動作モードで動くべきか）を決定し、動作指令１０を、制御ループ８に与える。動作指令１０の指令値として、図１Ａに示すロボット６７の場合、左右車輪１ａ，１ｂの回転速度を用いることができるし、また、左右車輪１ａ，１ｂの回転速度の差又は平均に相当する並進速度又は回転速度を指令値として用いることもできる。姿勢センサ４の出力は姿勢変動検出部１３に入力され、ここで、ロボット６７の動作制御部９から与えられる動作モード１１に対応する、あらかじめ定められた判定アルゴリズムにより姿勢変動が検出された場合、変動検出信号１２を動作制御部９に返す。動作制御部９はこれをユーザ１５の動作指示として解釈することにより、動作モード１１を動作シナリオ１４に基づいて先に進める。
【００３５】
ここで、姿勢センサ４及びエンコーダ２ｅ、２ｆで検出された機体３の姿勢及び車輪回転角に基づき、制御部１００がモータ２ａ，２ｂに対して適切なトルク指令を与えて機体３のバランスを維持する際に制御部１００で用いられる制御アルゴリズムは、文献１である、Ｙ．  Ｈａ  ａｎｄ  Ｓ．  Ｙｕｔａ：  Ｔｒａｊｅｃｔｏｒｙ  Ｔｒａｃｋｉｎｇ  Ｃｏｎｔｒｏｌ  ｆｏｒ  Ｎａｖｉｇａｔｉｏｎ  ｏｆ  Ｓｅｌｆ−Ｃｏｎｔａｉｎｅｄ  Ｍｏｂｉｌｅ  Ｉｎｖｅｒｓｅ  Ｐｅｎｄｕｌｕｍ，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｒｏｂｏｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，  ｐｐ．１８７５−１８８２，  １９９４に詳説されている。以下、制御部１００で用いられる制御アルゴリズムについて、具体的に説明する。
【００３６】
まず、図３に示すように機体３のパラメータを定義する。車輪１ａ，１ｂの回転角をθ、機体３の姿勢角をφ、機体３の質量をＭｂ、機体３の慣性モーメントをＩｂ、車輪１ａ，１ｂの質量をＭｗ（車輪１ａ，１ｂは２つあるため、１つの車輪の質量の２倍として表示。）、車輪１ａ，１ｂの慣性モーメントをＩｗ（車輪１ａ，１ｂは２つあるため、１つの車輪の慣性モーメントの２倍として表示。）、車輪１ａ，１ｂの半径をｒ，機体３の重心高さ（距離）をＬで、を図３に示すように定義する。さらに、一例として、これらの機体３のパラメータに、試作したロボットの実測値を以下のように当てはめる。また、モータ２ａ，２ｂの粘性摩擦係数μｓと地面と車輪の粘性摩擦係数μｇは経験値をそれぞれ代入し、モータ２ａ，２ｂのトルク定数τｔ及び減速比η及び慣性モーメントＩＭ（モータ２ａ，２ｂは２つあるため、１つのモータの慣性モーメントの２倍として表示。）は使用するモータ２ａ，２ｂのカタログデータをそれぞれ採用する。
【００３７】
Ｍｂ＝５９．４            機体の質量            （ｋｇ）
Ｍｗ＝３．２５７＊２      車輪の質量            （ｋｇ）
Ｉｂ＝６．０５            機体の慣性モーメント  （Ｋｇ・ｍ２）
Ｉｗ＝０．０２７＊２      車輪の慣性モーメント  （Ｋｇ・ｍ２）
ＩＭ＝０．０５２７＊２    モータの慣性モーメント（Ｋｇ・ｍ２）
ｒ＝０．２                車輪半径              （ｍ）
Ｌ＝１５２／１０００      機体の重心距離        （ｍ）
μｓ＝０．０００１        モータの粘性摩擦定数    （Ｎ・ｍ／（ｒａｄ／ｓｅｃ））
μｇ＝０．０００１        地面と車輪の粘性摩擦係数（Ｎ・ｍ／（ｒａｄ／ｓｅｃ））
τｔ＝３．６９            モータのトルク定数      （Ｎ・ｍ／Ａ）
η＝３０                  モータの減速比
ｇ＝９．８０６６５        重力加速度              （ｍ／ｓ２）
【００３８】
以上の変数を用いると図３に示された倒立移動ロボット（言い換えれば上記倒立２輪走行ロボット）６７の運動方程式は以下の２式のようになる。ただし、ロボット６７は倒立状態で機体３の姿勢角φはほぼゼロという仮定を用いている。
【００３９】
【数１】
2006123014.tif 000003
【００４０】
【数２】
2006123014.tif 000004
（式２）
【００４１】
さらに、状態変数を式３のように定義すると、式１、式２は次の状態方程式としてまとめ上げることができる。
【００４２】
【数３】
2006123014.tif 000005
【００４３】
機体３の姿勢角φは姿勢センサ４により測定可能であり、また、車輪１ａ，１ｂの回転角θはモータ２ａ，２ｂに取り付けられかつ制御部１００に回転角θの情報を入力可能なエンコーダ２ｅ，２ｆによって測定が可能であるため、状態変数はすべて測定可能である。このため、適当な状態フィードバック係数を最適レギュレータ法などにより定めることで、ロボット６７を倒立状態で安定化することが可能である。
【００４４】
図４に、より具体的な例として、上記ロボット６７の制御系のブロック線図を示す。上記図１Ａに示すような倒立２輪走行ロボット６７はモータトルク指令６８を入力とし、状態変数６９を出力とする１入力４出力系である。状態変数６９は合算点７０を経て状態フィードバックゲイン７１を掛け合わせた後、合算点７２を経てモータトルク指令６８として倒立２輪走行ロボット６７にフィードバックされる。合算点７２の目的は、線形モデルとして記述できない系の摩擦をフィードフォワードすることであり、角速度指令値７３の関数として表される摩擦推定器７４の出力が使われる。また、合算点７０の目的は、状態変数６９の目標値を与えることであり、角速度指令値７３の関数として表される目標状態生成器７５の出力が使われる。目標状態生成器７５は、角速度指令値７３から角度指令値θｒｅｆを作るだけでなく、摩擦推定器７４の値を基に摩擦力とバランスする姿勢角φの目標値φｒｅｆも生成する。
【００４５】
図５は本発明の第１実施形態における倒立２輪走行ロボット６７の動作シナリオ１４の一例を表す図である。図５において、ステップＳ１６，Ｓ１８，Ｓ２０，Ｓ２２は図２における動作モード１１の具体例である。また、ステップＳ１７，Ｓ１９，Ｓ２１，Ｓ２３は動作モード１１を次に進める際の判断基準を示している。ここに、ロボット６７のタスクはユーザ１５の荷物２９を代行して運搬することであり、このタスクに基づき以下、動作モード１１の変化を説明する。
【００４６】
まず、動作シナリオ１４の概略を図６を用いて説明する。まず、図６の中央のグラフについて図７に取り出して説明する。すなわち、図７は本発明の第１実施形態における倒立２輪走行ロボット６７の姿勢センサ４により検出された機体３の姿勢変化とこれに基づく動作モード１１の変化を表す図である。図６及び図７において、２４は姿勢センサ４の前後方向の姿勢の時間変化を表すグラフであり、ステップＳ１６（待機モード），Ｓ１８（スタート待ちモード），Ｓ２０（追従モード），Ｓ２２（荷下ろし待ちモード）は動作シナリオ１４に伴う動作モード１１の変化を表している。動作Ｍ２５（荷物置き動作）、動作Ｍ２６（背中押し動作）、動作Ｍ２７（胸押し動作）、動作Ｍ２８（荷下ろし動作）は具体的なユーザ１５の動作を表している。
【００４７】
待機モード（ステップＳ１６）では、ロボット６７は荷物２９が載せられていない状態で荷台５が水平となるようにバランス制御される（図６の（ａ）参照）。
【００４８】
ユーザ１５の荷物２９を荷台５に載せる荷物置き動作Ｍ２５（図６の（ｂ）参照）において、荷物２９を荷台５上に置いたこと（荷物置き動作Ｍ２５）をきっかけとして、姿勢変動が発生し、これが安定するのを待って動作モード１１がスタート待ちモード（ステップＳ１８）（図６の（ｃ）参照）へ移行する。姿勢変動が安定するのを待って動作モード１１を変更する理由は、荷物２９が確実に置かれるまで待つためである。ここで、荷台５に搭載された荷物２９はロボット６７の倒立制御に対して外乱要素として作用する。この外乱を制御系が吸収した後は、一定の姿勢オフセット３０が発生する。
【００４９】
スタート待ちモード（ステップＳ１６）（図６の（ｃ）参照）では荷物２９が荷台５に載せられた状態で、荷物２９の重さの影響で水平がやや崩れることはあるものの引き続きバランス制御される。
【００５０】
ユーザ１５のロボット６７の背中を押す動作Ｍ２６（図６の（ｄ）参照）による前傾姿勢、さらにユーザ１５が手を離すことによる姿勢復帰を姿勢センサ４で検出することをきっかけとして、ロボット６７は追従モード（ステップＳ２０）（図６の（ｅ）参照）へと遷移する。手を離すまで待つ理由は、ユーザ１５の意思を確実に判断するためで、ユーザ１５が想定する以上に追従モードＳ２０に速く移行することによる衝突等の危険を最小限にするためである。ロボット６７は制御の力によって倒立を維持しようとするコンプライアンスを持っており、この力に抗してユーザ１５がロボット６７をしっかり押すことによりロボット６７に対して明確な意志を伝達することができる。また、ロボット６７を前傾させることができる限り、背中のどこを押しても良いし、また、ロボット全面を引っ張っても良い。このようなある程度の力を必要とする指示動作、及び、接触する場所に対する許容度の広さが、機械スイッチ等による動作指示と異なる点である。
【００５１】
追従モード（ステップＳ２０）（図６の（ｅ）参照）中の定常モードにおいては、ユーザ１５に追従しながら走行する、すなわち、ユーザ１５の動きに応じてロボット６７が加減速し、姿勢角変動３１ａ，３１ｂが発生する。が、車輪１ａ，１ｂと地面９０の間にはころがり摩擦が存在するため、ロボット６７はこれを相殺するような姿勢前傾角を持ちながら走行する。すなわち、定速走行時には、車輪１ａ，１ｂの転がり摩擦に相当する姿勢角φのオフセット３２が発生する。これらの姿勢角φの変動は文献１に示されるロボットの力学方程式より予想が可能であるため、これらの変動を姿勢変動検出部１３がユーザ１５からの指示と誤解することはない。
【００５２】
ユーザ１５が目的地に到着し、ユーザ１５がロボット６７の胸を押す動作Ｍ２７（図６の（ｆ）参照）によりロボット６７に後傾姿勢が発生すると、姿勢がゼロクロスした瞬間にユーザ１５の動作指示があったと判断し、荷下ろし待ちモード（ステップＳ２２）（図６の（ｇ）参照）に変化する。姿勢がゼロクロスした瞬間にユーザ１５の動作指示があったと判断する理由は、仮に停止命令を早めに判断したとしても、ロボット６７は安全サイドに動作することになり、ユーザ１５との衝突の危険性が下がるからである。
【００５３】
荷下ろし待ちモード（ステップＳ２２）（図６の（ｇ）参照）では、スタート待ちモード（ステップＳ１８）（図６の（ｃ）参照）と同様に荷物２９が載った状態でバランス制御されながら、ユーザ１５の荷台５からの荷物下ろし動作（図６の（ｈ）参照）を待つ。荷物下ろし動作（図６の（ｈ）参照）の後は待機モード（ステップＳ１６）（図６の（ｉ）参照）に戻る。
【００５４】
以下、この動作シナリオ１４を詳細に説明する。
【００５５】
まず、動作モード１１が待機モードのステップＳ１６であるロボット６７は、ステップＳ１７で、ユーザ１５から荷物２９を荷台５上に載せられて、姿勢センサ４により機体３の姿勢の変化を検出して検出信号が制御部１００に入力されるか、又は、物体検出センサの一例としての近接センサ７０ａ，７０ｂにより荷物有りと検出される（すなわち、近接センサ７０ａ，７０ｂから荷物検出信号が制御部１００に入力される）のを待つ。
【００５６】
ステップＳ１７で荷物２９が載置されたことを、姿勢センサ４又は近接センサ７０ａ，７０ｂにより確認すると（すなわち、姿勢センサ４から姿勢変化信号又は近接センサ７０ａ，７０ｂから荷物検出信号が制御部１００に入力されると）、制御部１００によりスタート待ちであるステップＳ１８に入り、次いでステップＳ１９で、ユーザ１５からの動作開始指令が来る（すなわち、姿勢センサ４により機体３の姿勢の変化が検出される）のを待つ。
【００５７】
ステップＳ１９でユーザ１５からの動作開始指令があったと姿勢センサ４により検出されると、制御部１００によりステップＳ１９から追従モードであるステップＳ２０に入り、制御部１００の動作制御によるユーザ１５に対する追従動作を開始する。追従のための動作制御アルゴリズムとしては、文献２、大矢晃久、南雲陽介：  発光器をガイドとした自律移動ロボットの人間追従走行、日本機械学会ロボティクスメカトロニクス講演会  ２００１．６．９−１０で開示されているものが利用可能である。追従モードの一例については後述する。
【００５８】
追従モードであるステップＳ２０は、ステップＳ２１で姿勢センサ４によりユーザ１５の停止指令が検出されること（すなわち、姿勢センサ４により機体３の姿勢の変化が検出されること）をもって終了し、次いで、ユーザ１５が荷物２９を下ろしてくれるのを待つ（すなわち、荷物２９を下ろすときの機体３の姿勢の変化を姿勢センサ４で検出するか、又は、近接センサ７０ａ，７０ｂにより荷台５に荷物２９が無いことが検出されるのを待つ）荷下ろし待ちモードであるステップＳ２２に入る。
【００５９】
次いで、ステップＳ２３で、姿勢センサ４により姿勢変化したことを検出したか又は荷台５に荷物２９が有ると検出されていた近接センサ７０ａ，７０ｂからの信号が無くなったことにより、荷物２９の下ろしが終了したか否かを判断する。荷物２９の下ろしの終了が検出されたことで、一連のタスクが終了し、待機モードであるステップＳ１６に復帰する。
【００６０】
次に、図５に示した動作シナリオ１４を図８及び図９を用いて、ロボット６７とユーザ１５との間の動きの観点から、より理解しやすいように説明する。図８及び図９はロボット６７とユーザ１５を上方から見た場合を表し、１５はユーザ、２９は荷物、１ａ，１ｂはロボット６７の車輪、３は機体、５は荷台である。黒い矢印８３はロボット６７の前方向を表す。
【００６１】
図８の（ａ）において荷物２９を持ったユーザ１５が待機モード（ステップＳ１６）のロボット６７のところに到着する。
【００６２】
図８の（ｂ）において、ユーザ１５が荷物２９を荷台５の上に載せると、ステップＳ１７で、ロボット６７は姿勢センサ４により姿勢変化を検出することにより、又は、近接センサ７０ａ，７０ｂから荷物検出信号が制御部１００に入力されることにより、のユーザ１５の荷物載置動作を制御部１００で認識してスタート待ちモード（ステップＳ１８）に変化する。
【００６３】
さらに、図８の（ｃ）において、ユーザ１５が機体３を押すと、ロボット６７は、ステップＳ１９で姿勢センサ４により後側から前側への機体３の姿勢変化を検出することにより、この動作を制御部１００により認識して追従モード（ステップＳ２０）になる。そこで、図８の（ｄ）のようにユーザ１５がロボット６７の前に回り込むと、ロボット６７の前進すなわちユーザ１５に追従しての走行が始まる。図８の（ｅ）のように人間センサ６を頼りに、ユーザ１５が歩き続けるのに応じて追従を行う。追従モード（ステップＳ２０）では、人間センサ６によりユーザ１５の位置を制御部１００が認識し、ロボット６７とユーザ１５との間隔が常に一定の間隔になるように、モータ２ａ，２ｂを制御部１００で動作制御して追従動作を行うが、ユーザ１５が近すぎる場合や、ロボット６７の前方に見えない場合はロボット６７は走行を停止する。
【００６４】
次いで、図９の（ｆ）において、ユーザ１５が立ち止まると、人間センサ６により検出されるロボット６７とユーザ１５との間隔が一定の間隔以下になるため、制御部１００によりモータ２ａ，２ｂの駆動を停止することにより、ロボット６７は停止する。もちろん、再度ユーザ１５が歩き出せば、人間センサ６によりロボット６７とユーザ１５との間隔が一定の間隔を超えて離れることになるため、制御部１００によりモータ２ａ，２ｂの駆動を開始することにより、ロボット６７は追従動作を再び行う。
【００６５】
また、図９の（ｇ）のようにユーザ１５が振り返ってロボット６７に近寄ると、人間センサ６により検出されるロボット６７とユーザ１５との間隔が一定の間隔以下になるため、制御部１００によりモータ２ａ，２ｂの駆動を停止することにより、ロボット６７はその場で停止状態となる。さらに、図９の（ｈ）のようにユーザ１５が機体３を押すと、ロボット６７は、姿勢センサ４により前側から後側への機体３の姿勢変化を検出することにより、この動作を制御部１００により認識して追従モード（ステップＳ２０）を終了して、荷下ろし待ちモード（ステップＳ２２）となる。
【００６６】
次いで、図９の（ｉ）において、ユーザ１５が荷物２９を取り除くと、姿勢センサ４により姿勢変化を検出して制御部１００に入力されることにより、又は、近接センサ７０ａ，７０ｂから荷物検出信号が制御部１００に入力されなくなることにより、再度ロボット６７は制御部１００によりこの動作を認識して待機モード（ステップＳ１６）に変化する。
【００６７】
次いで、図９の（ｊ）では、待機モード（ステップＳ１６）となったロボット６７から、ユーザ１５は荷物２９とともに立ち去る。
【００６８】
上記第１実施形態にかかる倒立２輪走行ロボット６７は、まず、倒立２輪走行ロボットの基本的な特徴として、
・４輪ロボットに比べてバランスを保ちながら背を高くできるため、底面積小さく、小回りが利く、
・常時バランスを取るため、段差を乗り越える時にも、車体が傾かないで済む、
・常時バランスを取るため、衝突した時に自然に反対方向へ逃げる動作が生じて安全である、
などが挙げられる。
【００６９】
以上の理由から、倒立２輪走行ロボットは空港等の人混みの中で荷物を運搬するロボットに採用した場合、
・人混みの中で小回りが利く上に、格納時もスペースをとらない、
・段差やスロープを通過する際にも荷台が傾かず、荷物の荷崩れが防げる、
・人や物に衝突した場合にも、衝撃を最小限に留めることが可能、
といったメリットがある。
【００７０】
しかしながら、従来例に記載したように、倒立２輪走行ロボットに荷物の運搬を指示する際のインターフェースに課題があった。つまり、機械的なスイッチを用いてユーザインターフェースを構築する場合、ユーザはバランスを取りながらふらふらする不安定な機体上で、スイッチの位置を探して押す必要があった。このことは、スイッチを見つけることが面倒であるだけでなく、ふらふらして、一見、不安定なロボットの機体を押さなければならないという不安感を伴い、ユーザインターフェースとして不適切なものであった。
【００７１】
そこで、本発明の上記第１実施形態では、倒立２輪走行ロボット６７がバランスを制御する方向に姿勢がコンプライアンスを持つ（言い換えれば、押された力に応じて姿勢が許容的に変位する）ことを利用し、ユーザ１５がロボット６７の機体３上の任意の場所を押した場合でも、ユーザ１５の意思を理解できるインターフェースを実現することができるものである。
【００７２】
従来例にも記載したように、倒立２輪メカニズムに対するユーザインターフェースの従来例としてセグウェイ（登録商標）の方式が知られている。そこで、図１０を用いて本発明の上記第１実施形態によるインターフェース方式とセグウェイ（登録商標）方式の違いを示す。セグウェイ（登録商標）は乗車したユーザ２１５が体重移動して車体２００を傾けると（図１０の（ａ）を参照）、車体２００の傾きを補償するように車輪２０１が回転することにより、前進（後退）を行う（図１０の（ｂ），（ｃ）を参照）。この操作方法は非常に直感的ではあるが、ユーザ２１５は走行中常に体を傾けている必要がある。これは、乗用車のアクセル操作と同様であり、ユーザ２１５は常に指示を与え続ける必要がある。これに対して本発明の上記第１実施形態は、ユーザ１５が倒立２輪走行ロボット６７の機体３を押すことにより（図１１の（ｆ）を参照）、ロボット６７が自律的にモードを変え、停止モード（図１１の（ｅ）を参照）からユーザ１５への追従モード（図１１の（ｇ）を参照）へと移行する。さらに、再度ユーザ１５が機体３を押すことで（図１１の（ｈ）を参照）、再び停止モード（図１１の（ｉ）を参照）へと移行する。つまり、本発明の上記第１実施形態では、ロボット６７の動作のきっかけを、ユーザ１５が手で押したことによるロボット６７の姿勢変化として与えている。このため、ユーザ１５はロボット６７に指示を与え続ける必要はなく、一度指示を出したら後はロボット６７の自律動作を見守るだけで十分である。
【００７３】
従って、上記第１実施形態の倒立２輪走行ロボット６７によれば、制御により姿勢を維持しようとすることに起因するコンプライアンスを利用して、ユーザ１５が力をかけて姿勢を変化させることで動作指示を与えることが可能となる。たとえば、倒立２輪走行ロボット６７に対して、「背中を押してスタートさせる」又は「胸を押して停止させる」といったユーザ１５が日常の習慣から理解しやすい動作指示を実現することが可能となる。これは、従来発明にあったような、機器のアクセルを踏み続けて動作させる（従来例１）、あるいは、ユーザが与える力に対して反射的な動作を取らせる（従来例２）、といった受動的な動作ではない、自律的な動作を直感的にわかりやすい方法で簡易に指示するインターフェースを実現するものである。
【００７４】
図１２に、モードの遷移タイミングの決定方法を示す。姿勢角φの時系列変化を測定し、ある安定した姿勢角φからの変動量があらかじめ決められた閾値を超え、さらに、変化に要する時間が予め決められた制限時間内であるときに、この変化は外乱ではなく、ユーザ１５の行動の結果起きた変化であると判断する。変化が閾値を超えた瞬間をタイミングＡとし、変化が終了し再度安定した瞬間をタイミングＢとし、動作モードによっていずれのタイミングでモード変化を起こすかをあらかじめ決めておく。この理由は、動作モードによっては、早めにモード遷移をした方が望ましく、また、別の動作モードでは遅めにモード遷移をした方が望ましいためである。例を挙げると、スタート待ちモードでは安全のため姿勢の安定を待ってタイミングＢで追従モードへモード遷移する。また、追従モードではユーザ１５の停止命令を早めに反映するためにタイミングＡで荷下ろし待ちモードに遷移する。
【００７５】
また、図１２に示すように、モード切替の検出は姿勢角変化量がある閾値を超えること、変化に要する時間がある制限時間以下であること、の両者を満たした場合である。つまり、姿勢角変化の大きさがある値以上であり、また、変化率もある大きさ以上であることを判断基準としている。姿勢角変化の大きさがある値以上であることは、その変動が振動やノイズでないことを保証するために必要である。変化時間を制限する理由は制御系の自律的姿勢制御動作と区別するためである。一般に倒立制御系はフィードバックゲインや機体質量・慣性モーメントから決まる固有振動数を持っている。このため、加減速時の姿勢角変化はこの振動数付近の変動となり、比較的ゆっくりしたものとなる。反面、ユーザ１５がロボット６７を押す場合は接触に伴う衝撃があり、姿勢角φの変化率が大きくなり短時間の変化となる。よって、ユーザ１５が押す動作は制限時間内に大きな姿勢変化をもたらすことになる。以上により、ノイズ・振動・走行中の加減速に影響されない、ユーザ１５の接触動作の検出が可能となる。
【００７６】
図１３及び図１４には、図４で示した制御系と式３で表されるロボット６７の線形モデルを組み合わせたシミュレーションの結果を示している。シミュレーションの中で、ユーザ１５にロボット６７が押される状態、荷物２９を荷台５に置いた状態、ロボット６７が凸凹道を走行する状態をそれぞれモデル化するため、各状況に応じたトルク外乱を設定し、これに対する機体３の姿勢角φの変化を計算した。ここでは、ユーザ１５がロボット６７を押す動作をモデル化する際に、ユーザ１５がロボット６７を押す力を三角波として近似し、ユーザ１５の押す力をシュミレーションに取り込む際に、ロボット６７の観点から外乱トルクと呼んでいる。
【００７７】
まず、図１３の（ａ）と（ｂ）には、ユーザ１５が、停止中のロボット６７の機体３を押した時をモデル化したモータ２ａ，２ｂのトルク外乱の設定値７９と、
そのトルク外乱の下での機体３の姿勢角変化のグラフ８０を示す。図１３の（ａ）が１０秒間の設定したトルク外乱変化のグラフ（外乱トルクと時間との関係のグラフ）７９を表す。ユーザ１５が機体３の高さ１ｍの場所を５Ｎの力で押すことを仮定し、モータ２ａ，２ｂのトルクの最大値は５Ｎｍとした。図１３の（ｂ）は１０秒間の姿勢変化のグラフ（姿勢角φと時間との関係のグラフ）８０を表す。ユーザ１５が機体３を押す動作を姿勢センサ４により検出するために設定された姿勢角φの閾値Ｖ７６は０．０５ラジアンとし、姿勢変化の立ち上がりを判定するための予め定めた時間Ｔ７８は０．５秒とした。１つの実例モデルとして、定常状態から、設定された閾値Ｖ７６までの立ち上がり時間Ｔ７７は０．３〜０．４秒であり、予め定めた上記時間Ｔ７８である０．５秒より短く、ロボット６７が、これをユーザ１５からの動作として制御部１００により認識することができることを示している。
【００７８】
図１３の（ｃ）と（ｄ）には、ユーザ１５が、停止中のロボット６７の荷台５に荷物２９を載せた時のモータ２ａ，２ｂのトルク外乱の設定値７９と、
そのトルク外乱の下での機体３の姿勢角変化のグラフ８０を示す。なお、ここでも、荷物２９を中心位置からズレた状態で荷台５に置くと、ロボット６７を転倒させようとするトルクが働くことになり、このトルクを図１３（ｃ）の７９のような階段的に変化する形に近似している。このトルクは、ロボット６７にとっては外乱と見えるため、外乱トルクと呼んでいる。図１３の（ｃ）のトルク設定値は、ユーザ１５が４０ｋｇの荷物２９をその重心が荷台５の上でかつ車軸の真上から２．５ｃｍずれた場所に置いた場合を仮定して、そのように荷物２９を荷台５に載せることにより最大１０Ｎｍの外乱トルクが発生したと仮定している。この時の図１３の（ｄ）の姿勢角変化のグラフ８０は、設定された閾値Ｖ７６に対して約０．２秒で到達しており、予め定めた時間Ｔ７８である０．５秒より十分に短い。このことから、ロボット６７は、制御部１００により、ユーザ１５の荷物載せ動作を認識することができる。
【００７９】
図１４の（ｅ）と（ｆ）には、ロボット６７が高さ１ｃｍの突起を連続して乗り越える場合のトルク外乱設定値のグラフ（外乱トルクと時間との関係のグラフ）７９と姿勢角変化のグラフ（姿勢角φと時間との関係のグラフ）８０を示す。図１４の（ｅ）のトルク設定値は、地面に転がるケーブル等をイメージした高さ１ｃｍの突起を２秒毎にロボット６７が乗り越えていく時の状態を、最大約５Ｎｍのパルス状外乱トルクとしてモデル化している。この時の姿勢角変化のグラフ８０は、設定された閾値Ｖ７６をプラス方向にもマイナス方向にも越えることがないため、ロボット６７はこの姿勢角変化８０をユーザ１５の動作として制御部１００により検出することはない。
【００８０】
図１４の（ｇ）と（ｈ）には、ロボット６７が停止状態から０．６ｍ／ｓまで加速して、その後に減速する時の速度変化のグラフ（速度と時間との関係のグラフ）８１と姿勢角変化のグラフ（姿勢角φと時間との関係のグラフ）８０を示している。ロボット６７の加減速のシュミレーションには外乱トルクの設定は必要なく、速度指令値７３を変化させるだけでよい。図１４の（ｇ）には、シュミレーションにより算出されたロボット６７の速度変化のグラフ８１を示す。図１４の（ｈ）には、この時の姿勢角変化のグラフ８０が、設定された閾値Ｖ７６を越えるまでに立ち上がり時間Ｔ７７が約０．８秒であることを示す。立ち上がり時間Ｔ７７が予め定めた時間Ｔ７８である０．５秒より大きいため、この姿勢角変化８０も、ロボット６７がユーザ１５の動作として制御部１００により認識することはない。
【００８１】
以上のように、図１３の（ａ）及び図１３の（ｂ）はロボット６７にユーザ動作として認識されるため、動作モードを変更するきっかけとなるが、図１３の（ｃ）及び図１３の（ｄ）はロボット６７に認識されることがない。このおかげで、ロボット６７が床の状態や自分の加減速によりユーザ１５の動作を誤認識することを防ぐことが可能となる。
【００８２】
なお、図１３の（ａ）、図１３の（ｂ）において、ユーザ１５が停止中のロボット６７の機体３を押したこと、ユーザ１５が停止中のロボット６７の荷台５に荷物２９を載せたこと、を検出できることを示しているが、その両者を明確に区別することは難しい場合がある。
【００８３】
そこで、上記近接センサなどの物体検出センサが配置されていない場合には、ロボット６７の運用上は、ロボット６７の現在の動作モードに応じて、検出された姿勢の変化がユーザ１５の荷物載せに対応するのか、ユーザ１５が押したことに対応するのかを判断している。すなわち、制御部１００は、検出された姿勢の変化は、それぞれ、待機モードでは荷物載置に対応すると判断し、スタート待ちモードではユーザ１５が押したことに対応すると判断し、追従モードではユーザ１５が押したことに対応すると判断し、荷下ろし待ちモードでは荷下ろしに対応すると判断するようにしている。
【００８４】
一方、上記近接センサなどの物体検出センサが配置されている場合には、その検出毛かにより制御部１００が判断する。具体的には、図１Ｂ及び図１Ｃに示す第１実施形態の変形例においては、ユーザ１５の荷物載せとユーザ１５の押し動作の区別をするための新たなセンサを用意している。図１Ｂ及び図１Ｃにおいて、１ａ，１ｂは同軸上に配置されて２つの車軸２ｃ，２ｄにそれぞれ連結された２つの車輪、２ａ，２ｂは２つの車軸２ｃ，２ｄにそれぞれ連結されて２つの車輪１ａ，１ｂをそれぞれ独立して回転駆動するための、アクチュエータの一例としての２つのモータ、３は車軸２ｃ，２ｄの軸回りに回動可能に車軸２ｃ，２ｄに支持されてモータ２ａ，２ｂを保持する機体、４は機体３の姿勢を検出する姿勢センサである。２９は荷台５上の荷物である。なお、１５は動作指示を与えようとしているユーザであり、ロボット６７に対してユーザ１５が接触することで動作指示を与える。７０ａ，７０ｂは荷台５上の物体の存在を検出するための近接センサで、近接センサ７０ａ，７０ｂにより荷物２９が荷台５に存在するかを検出することができる。この近接センサ７０ａ，７０ｂを用いることにより、ユーザ１５の荷物載せとユーザ１５の押し動作の相違を判断することができ、制御系の判断ミスによるロボット６７の誤動作を確実に防ぐことができる。また、荷台５に搭載された荷物２９の重さを測定する荷重センサ８２を用いても、荷物２９の有り無しを判断することが出来るので、近接センサ７０ａ，７０ｂを配置する場合と同様な効果を得ることができる。なお、近接センサ７０ａ，７０ｂや荷重センサ８２の検出結果はそれぞれ上記制御部１００の動作制御部９に入力される（図２参照）。
【００８５】
（第２実施形態）
本発明は上記実施形態に限定されるものではなく、その他種々の態様で実施できる。例えば、本発明は、荷載せ、荷下ろし動作を行う倒立２輪走行ロボットに限定されるものではなく、荷載せ、荷下ろし動作が無い倒立２輪走行ロボットにも適用することができる。図１５は荷載せ、荷下ろし動作が無い倒立２輪走行ロボットのタスクにおけるユーザ１５とのインタラクションの例を示している。ここでは、荷物２９を仮定する必要がないある建物の構内で、倒立２輪走行ロボット６７によりユーザ１５の案内動作を行う例について説明を行う。図１５はロボット６７とユーザ１５を上方から見た状況を表し、１５はユーザ、１ａ，１ｂはロボット６７の車輪、３は機体、６は人間センサである。黒い矢印８３はロボット６７の前方向を表す。
【００８６】
図１５の（ａ）においてユーザ１５がロボット６７の所に到着する。
【００８７】
図１５の（ｂ）でユーザ１５が機体３を後ろから押すと、姿勢センサ４により後側から前側への機体３の姿勢変化が検出されてロボット６７の制御部１００がこれを認識して案内モードへと変化する。
【００８８】
案内モードにおいては、人間センサ６を頼りに、ロボット６７とユーザ１５との間に一定距離をとりながら、ユーザ１５を目的地へ先導していくようにロボット６７がユーザの前を走行する（図１５の（ｃ））。
【００８９】
ユーザ１５が立ち止まった時には、ユーザ１５を見失うことを防ぐためにロボット６７は停止状態となり、次のユーザ１５の指示を待つ。よって、図１５の（ｄ）においてユーザ１５が立ち止まると、人間センサ６により検出されるロボット６７とユーザ１５との間隔が一定の間隔を超えることになるため、制御部１００によりモータ２ａ，２ｂの駆動を停止することにより、ロボット６７は停止する。
【００９０】
ここで、図１５の（ｅ−１）のようにユーザ１５が再度機体３を押すと、姿勢センサ４により後側から前側への機体３の姿勢変化を検出して制御部１００によりモータ２ａ，２ｂを再び駆動させるため、ロボット６７は前進を開始する。しかしながら、図１５の（ｅ−２）のようにユーザ１５が前方に回り込んで機体３を前方から押すと、姿勢センサ４により前側から後側への機体３の姿勢変化を検出して制御部１００によりモータ２ａ，２ｂの駆動を停止させるため、案内モードが終了する。
【００９１】
本第２実施形態では、ユーザ１５の荷物２９の載せ・下ろしを検出していないが、ユーザ１５が前後から押したことを認識している。このことで、直感的にわかりやすいインターフェースで、案内の開始と終了を行うことが可能となる。
【００９２】
なお、上記様々な実施形態のうちの任意の実施形態を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【００９３】
本発明にかかる倒立２輪走行ロボットは、不安定な機体と、機体の姿勢を検出する姿勢センサと、上記２つの車軸をそれぞれ回転駆動して上記機体の上記姿勢を保持する力を発生させるアクチュエータと、上記機体の上記姿勢を安定化させるように上記アクチュエータを動作制御する姿勢制御部と、上記姿勢センサからの上記機体の経時的な姿勢変化に基づいて上記人間の意図を判定する判定部と、上記判定部の出力から動作モードを変更する動作制御部を有する。さらに、倒立２輪走行ロボットのバランス動作により生ずるコンプライアンスを積極的に利用することで、ロボットの概略部位を押すとか引くといった人間の直感的な動作によってロボットに動作指示を与え、ロボットに自律的動作を起こさせることができ有用である。また、この技術はロボット以外の制御によるバランス動作を用いた乗り物等の動作モードの直感的な切替用途にも応用できる。
【図面の簡単な説明】
【００９４】
【図１Ａ】本発明の第１実施形態における倒立２輪走行ロボットの側面図である。
【図１Ｂ】上記第１実施形態の変形例における倒立２輪走行ロボットの側面図である。
【図１Ｃ】第１実施形態の上記変形例における倒立２輪走行ロボットの正面図である。
【図２】上記第１実施形態におけるロボットの制御系のブロック図である。
【図３】上記第１実施形態の倒立２輪走行ロボットの機体のパラメータの定義を説明するための説明図である。
【図４】上記第１実施形態の倒立２輪走行ロボットの制御系のより具体的なブロック線図である。
【図５】上記第１実施形態におけるロボットの動作シナリオの一例を表すフローチャートである。
【図６】上記第１実施形態におけるロボットの動作シナリオの概略を示す説明図である。
【図７】上記第１実施形態におけるロボットの姿勢センサの変化の様子を表す図である。
【図８】（ａ）〜（ｅ）はそれぞれ上記第１実施形態におけるロボットとユーザを上方から見た平面図である。
【図９】（ｆ）〜（ｊ）はそれぞれ上記第１実施形態におけるロボットとユーザを上方から見た平面図である。
【図１０】（ａ）〜（ｄ）はそれぞれ上記第１実施形態におけるロボットと比較のためのセグウェイ（登録商標）方式のロボットの動作を示す説明図である。
【図１１】（ｅ）〜（ｉ）はそれぞれ上記第１実施形態におけるロボットの動作を示す説明図である。
【図１２】上記第１実施形態におけるロボットのモードの遷移タイミングの決定方法を示す説明図である。
【図１３】（ａ）及び（ｂ）は上記第１実施形態におけるロボットにおいてユーザが停止中のロボットの機体を押したときの外乱トルクと見なされるユーザの押す力と時間との関係のグラフ及び姿勢角φと時間との関係のグラフであり、（ｃ）及び（ｄ）は上記第１実施形態におけるロボットにおいてユーザが停止中のロボットの荷台に荷物を載せたときの外乱トルクと見なされる荷物による回転トルクと時間との関係のグラフ及び姿勢角φと時間との関係のグラフである。
【図１４】（ｅ）及び（ｆ）は上記第１実施形態におけるロボットにおいて高さ１ｃｍの突起を連続してロボットが乗り越えたときの外乱トルクと見なされる乗り越えに必要な車輪トルクと時間との関係のグラフ及び姿勢角φと時間との関係のグラフであり、（ｇ）及び（ｈ）は上記第１実施形態におけるロボットにおいて停止状態から０．６ｍ／ｓの走行状態に変化したときの速度と時間との関係のグラフ及び姿勢角φと時間との関係のグラフである。
【図１５】（ａ）〜（ｅ−２）はそれぞれ本発明の第２実施形態におけるロボットとユーザを上方から見た平面図である。
【図１６】従来の制御によってバランスされる乗り物を表す図である。
【図１７】従来の制御によってバランスするロボットの側面図である。
【符号の説明】
【００９５】
１ａ，１ｂ  車輪
２ａ，２ｂ  モータ
２ｃ，２ｄ  車軸
２ｅ，２ｆ  エンコーダ
３  機体
４  姿勢センサ
５  荷台
６  人間検出センサ
７  制御器
８  制御ループ
９  動作制御部
１０  動作指令
１１  動作モード
１２  変動検出信号
１３  姿勢変動検出部
１４  動作シナリオ
１４Ａ  動作シナリオ用データベース
１５  人間（ユーザ）
２４  姿勢の時間変化
２９  荷物
６７  倒立２輪走行ロボット
６８  モータトルク指令
６９  状態変数
７０  合算点
７０ａ，７０ｂ  近接センサ
７１  状態フィードバックゲイン
７２  合算点
７３  角速度指令値
７４  摩擦推定器
７５  目標状態生成器
８２  荷重センサ
９０  地面
１００  制御部
【図１Ａ】
2006123014.tif 000006
【図１Ｂ】
2006123014.tif 000007
【図１Ｃ】
2006123014.tif 000008
【図２】
2006123014.tif 000009
【図３】
2006123014.tif 000010
【図４】
2006123014.tif 000011
【図５】
2006123014.tif 000012
【図６】
2006123014.tif 000013
【図７】
2006123014.tif 000014
【図８】
2006123014.tif 000015
【図９】
2006123014.tif 000016
【図１０】
2006123014.tif 000017
【図１１】
2006123014.tif 000018
【図１２】
2006123014.tif 000019
【図１３】
2006123014.tif 000020
【図１４】
2006123014.tif 000021
【図１５】
2006123014.tif 000022
【図１６】
2006123014.tif 000023
【図１７】
2006123014.tif 000024