(57)【要約】【課題】接地面に接地しているか否かを誤判定することなく判定することができるロボット、ロボットの制御方法及びプログラムを提供する。【解決手段】ロボット１００は、回動部（可動部材１５１）と、回動部（可動部材１５１）の回動状態を検出する検出手段（センサ部１４０）と、検出手段（センサ部１４０）による検出結果に基づいて、自装置が接地面に接地しているか否かを判定する判定手段（制御部１１０）と、を備える。ロボット１００は、自装置を移動させる移動手段（移動部１３０）と、判定手段（制御部１１０）の判定結果に基づいて、移動手段（移動部１３０）を制御する制御手段（制御部１１０）と、を更に備えてもよい。【選択図】図２
2017226037.tif 000002
【特許請求の範囲】
【請求項１】
回動部と、
前記回動部の回動状態を検出する検出手段と、
前記検出手段による検出結果に基づいて、自装置が接地面に接地しているか否かを判定する判定手段と、
を備える、
ことを特徴とするロボット。
【請求項２】
前記自装置を移動させる移動手段と、
前記判定手段の判定結果に基づいて、前記移動手段を制御する制御手段と、
を更に備える、
ことを特徴とする請求項１に記載のロボット。
【請求項３】
前記制御手段は、
前記判定手段により前記自装置が前記接地面に接地していると判定された場合に、前記移動手段を前記自装置が前記接地面を移動するように制御し、
前記判定手段により前記自装置が前記接地面に接地していないと判定された場合に、前記移動手段を停止するように制御する、
ことを特徴とする請求項２に記載のロボット。
【請求項４】
前記検出手段は、前記回動状態として前記回動部の回動可能な角度を検出し、
前記判定手段は、前記検出手段が検出した前記回動部の回動可能な角度が所定の条件を満たすか否かに応じて、前記自装置が前記接地面に接地しているか否かを判定する、
ことを特徴とする請求項１乃至３の何れか１項に記載のロボット。
【請求項５】
前記検出手段は、前記回動部の第１の方向に回動可能な角度と、前記回動部の前記第１の方向とは逆向きの第２の方向に回動可能な角度と、を検出し、
前記判定手段は、前記回動部の前記第１の方向に回動可能な角度と前記第２の方向に回動可能な角度とが同等であるか否かに応じて、前記自装置が前記接地面に接地しているか否かを判定する、
ことを特徴とする請求項４に記載のロボット。
【請求項６】
前記判定手段は、前記回動部の前記第１の方向に回動可能な角度と前記第２の方向に回動可能な角度とがいずれも所定の角度範囲以内であるか否かに応じて、前記自装置が前記接地面に接地しているか否かを判定する、
ことを特徴とする請求項５に記載のロボット。
【請求項７】
前記判定手段は、
前記回動部の前記第１の方向に回動可能な角度と前記第２の方向に回動可能な角度とがいずれも前記所定の角度範囲以内である場合に、前記自装置が前記接地面に接地していると判定し、
前記回動部の前記第１の方向に回動可能な角度と前記第２の方向に回動可能な角度とのうちの少なくとも一方が前記所定の角度範囲を超える場合に、前記自装置が前記接地面に接地していないと判定する、
ことを特徴とする請求項６に記載のロボット。
【請求項８】
前記判定手段は、前記回動部の前記第１の方向に回動可能な角度と前記第２の方向に回動可能な角度とのうちの少なくとも一方が前記所定の角度範囲を超える場合に、前記自装置が所定の対象によって前記接地面から持ち上げられていると判定する、
ことを特徴とする請求項７に記載のロボット。
【請求項９】
前記所定の対象は、人である、
ことを特徴とする請求項８に記載のロボット。
【請求項１０】
前記自装置が前記接地面に接地しているとは、前記自装置を移動させる移動手段の一部を構成する左右の足部にそれぞれ内蔵された車輪が前記接地面にそれぞれ接していることである、
ことを特徴とする請求項２乃至９の何れか１項に記載のロボット。
【請求項１１】
前記回動部は、前記自装置の尻尾部である、
ことを特徴とする請求項１乃至１０の何れか１項に記載のロボット。
【請求項１２】
回動部と、
前記回動部の回動状態を検出する検出手段と、
自装置を移動させる移動手段と、
前記検出手段の検出結果に基づいて、前記移動手段を制御する制御手段と、
を備える、
ことを特徴とするロボット。
【請求項１３】
回動部を備えるロボットの制御方法であって、
前記回動部を回動する回動ステップと、
前記回動部の回動状態を検出する検出ステップと、
前記検出ステップでの検出結果に基づいて、前記ロボットが接地面に接地しているか否かを判定する判定ステップと、
を含む、
ことを特徴とするロボットの制御方法。
【請求項１４】
回動部を備えるロボットのコンピュータに、
前記回動部を回動する回動処理と、
前記回動部の回動状態を検出する検出処理と、
前記検出処理による検出結果に基づいて、前記ロボットが接地面に接地しているか否かを判定する判定処理と、
を実行させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
ロボット、ロボットの制御方法及びプログラムに関する。
【背景技術】
【０００２】
外部状態や内部状態を示す情報（物理量）を検出する各種センサを備え、各種センサから取得した検出データに基づいて自律的に動作（行動）するロボットに関する技術が広く知られている。例えば、特許文献１は、車輪に隣接する床表面を検出する床近接センサを備え、床表面に適切に配置されているか否かを検出して移動制御するロボットを開示している。この床近接センサは、赤外線発光器及び赤外線受光器を含み、床表面に対して照射した赤外線ビームの反射光の強度や時間差に基づいて下方の床表面を検出するように構成されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１７６７６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術では、床表面の状態によっては反射光を測定できずに誤判定をするという問題があった。
【０００５】
本発明は、前述の事情に鑑みてなされたものであり、接地面に接地しているか否かを誤判定することなく判定することができるロボット、ロボットの制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記の目的を達成するため、本発明の第１の観点に係るロボットは、
回動部と、
前記回動部の回動状態を検出する検出手段と、
前記検出手段による検出結果に基づいて、自装置が接地面に接地しているか否かを判定する判定手段と、
を備える、
ことを特徴とする。
【０００７】
また、前記の目的を達成するため、本発明の第２の観点に係るロボットは、
回動部と、
前記回動部の回動状態を検出する検出手段と、
自装置を移動させる移動手段と、
前記検出手段の検出結果に基づいて、前記移動手段を制御する制御手段と、
を備える、
ことを特徴とする。
【０００８】
また、前記の目的を達成するため、本発明に係るロボットの制御方法は、
回動部を備えるロボットの制御方法であって、
前記回動部を回動する回動ステップと、
前記回動部の回動状態を検出する検出ステップと、
前記検出ステップでの検出結果に基づいて、前記ロボットが接地面に接地しているか否かを判定する判定ステップと、
を含む、
ことを特徴とする。
【０００９】
また、前記の目的を達成するため、本発明に係るプログラムは、
回動部を備えるロボットのコンピュータに、
前記回動部を回動する回動処理と、
前記回動部の回動状態を検出する検出処理と、
前記検出処理による検出結果に基づいて、前記ロボットが接地面に接地しているか否かを判定する判定処理と、
を実行させる、
ことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、接地面に接地しているか否かを誤判定することなく判定することができるロボット、ロボットの制御方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】（Ａ）は本発明の実施形態に係るロボットの正面外観図であり、（Ｂ）はロボットの背面外観図である。
【図２】ロボットの機能的な構成を示す図である。
【図３】ロボットの尻尾部の形状及び駆動モータとの接続状態などを説明するための図である。
【図４】ロボットの尻尾部の動作の一例を示す図である。（Ａ）は接地面に接地したロボットの尻尾部が停止した状態、（Ｂ）は接地面に接地したロボットの尻尾部が揺動している状態、（Ｃ）は接地面に接地したロボットの尻尾部が回動している状態、（Ｄ）は転倒したロボットの尻尾部が回動している状態、を示す。
【図５】ロボットの尻尾部の動作の他の例を示す図である。（Ａ）は所定の対象の手に把持されて接地面の上方に持ち上げられたロボットの尻尾部が揺動している状態、（Ｂ）は所定の対象の手に把持されて接地面の上方に持ち上げられたロボットの尻尾部が回動している状態、（Ｃ）は所定の対象の手に把持されて接地面の上方にわずかに持ち上げられたロボットの尻尾部が回動している状態、（Ｄ）は所定の対象の手に把持されて接地面の上方に持ち上げられたロボットの尻尾部が停止している状態、を示す。
【図６】動作制御処理の流れを示すフローチャートである。
【図７】回動動作処理の流れを示すフローチャートである。
【図８】ロボットの尻尾部の回動動作を説明するための図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら、本発明の実施形態に係るロボットについて説明する。
【００１３】
本発明の実施形態に係るロボット１００は、ユーザ等の所定の対象からの働きかけなどに応じて自律的に動作するロボット装置である。ロボット１００は、図１（Ａ），（Ｂ）に示すように、外観的には小型犬を模した立体的な形状を有し、プラスチック等の硬質合成樹脂を主たる材料として作製されている。ロボット１００は、頭部１０１、胴体部１０２、左右の手部１０７、左右の足部１０８、尻尾部１０９を備える。胴体部１０２は、腹部１０２Ａと背部１０２Ｂとを有する。また、頭部１０１は、耳部１０３、眼部１０４、鼻部１０５、口部１０６を有する。
【００１４】
ロボット１００は、機能的には、図２に示すように、制御部１１０、記憶部１２０、移動部１３０、センサ部１４０、可動部１５０、音声出力部１６０、通信部１７０、電源部１８０を備える。
【００１５】
制御部１１０は、ロボット１００全体の動作を制御する。制御部１１０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）を有するマイクロコンピュータにより構成される。制御部１１０は、ＣＰＵがＲＯＭに記憶された動作プログラムを読み出してＲＡＭ上で実行することにより、ロボット１００の各部を制御する。このように、制御部１１０は、制御手段として機能する。
【００１６】
制御部１１０は、動作プログラムに基づき、例えば、センサ部１４０から取得した各種データに応じて、ロボット１００を移動させるための駆動信号を生成して移動部１３０に送信することにより、ロボット１００の移動動作を制御する。
【００１７】
記憶部１２０は、制御部１１０がロボット１００の各部を制御するために必要な種々のデータを記憶する。記憶部１２０は、例えば、フラシュメモリやＨＤＤ（Hard Disc Drive）などの不揮発性の記憶装置により構成される。
【００１８】
移動部１３０は、ロボット１００を移動させるための部位である。移動部１３０は、ロボット１００の足部１０８の底面に設けられた左右の車輪１３１と、左右の車輪１３１を回転駆動する駆動モータ１３２と、駆動モータ１３２を駆動制御する駆動回路１３３と、を有する。制御部１１０から受信した制御信号に従って、駆動回路１３３は、駆動モータ１３２に駆動用のパルス信号を供給する。駆動モータ１３２は、駆動用のパルス信号に従って、左右の車輪１３１を回転駆動させ、ロボット１００を移動させる。このように、移動部１３０は、ロボット１００を移動させる移動手段として機能する。なお、左右の車輪１３１がそれぞれ独立して回転駆動するように構成され、ロボット１００が前進、後退、旋回、加減速などの走行が可能であれば、駆動モータ１３２の数は任意である。例えば、連結機構や操舵機構を設けるなどして１つのモータで左右の車輪１３１を駆動させてもよい。また、駆動モータ１３２の数に合わせて駆動回路１３３の数も適宜変更することもできる。
【００１９】
センサ部１４０は、ロボット１００の外部状態及び内部状態を示す情報（物理量）を取得し、適宜、所定の信号に変換して制御部１１０に供給する。センサ部１４０は、例えば、エンコーダ、加速度センサ、角速度センサ、距離センサ、イメージセンサ、マイクロフォン等のセンサ群から構成される。エンコーダは、後述する可動部１５０の駆動機構１５２の一部を構成する駆動モータ１５２Ａの回転軸１５２Ｂに取り付けられ、この回転軸１５２Ｂの回動可能角度を計測するセンサ（検出手段）である。また、加速度センサ及び角速度センサは胴体部１０２の内部に、距離センサ及びイメージセンサは眼部１０４の内部に、マイクロフォンは耳部１０３の内部に、配置される。
【００２０】
可動部１５０は、揺動運動や回転運動などを行う部位である。可動部１５０は、頭部１０１、手部１０７、足部１０８、尻尾部１０９等の可動部材１５１と、可動部材１５１を駆動する駆動モータやアクチュエータ等から成る駆動機構１５２と、駆動機構１５２を駆動制御する駆動回路１５３と、から構成される。ロボット１００は、制御部１１０の制御に従って可動部材１５１を運動させることにより、例えば、手足を動かす動作や頭を上下左右に振る動作を実現する。
【００２１】
可動部材１５１の一部である尻尾部１０９は、図１（Ｂ）に示すように、ロボット１００の胴体部１０２の背部１０２Ｂに配置される。また、尻尾部１０９は、図３に示すように、短尺部１０９Ａと長尺部１０９ＢとからなるＬ字形の細長棒状体である。短尺部１０９Ａは、尻尾部１０９を駆動するための駆動機構１５２としての駆動モータ１５２Ａの回転軸１５２Ｂに接続されており、尻尾部１０９は、回転軸１５２Ｂの回転とともに回動するように構成されている。このように、尻尾部１０９は、回動部として機能する。なお、駆動モータ１５２Ａは、ロボット１００が接地面ＧＳに接地している状態において、その回転軸１５２Ｂの中心軸線ＣＡが接地面ＧＳに対して平行になるように胴体部１０２内に設置されている。
【００２２】
ここで、ロボット１００が接地面ＧＳに接地しているとは、図４（Ａ）〜（Ｃ）に示すように、左右の足部１０８にそれぞれ内蔵された、移動手段の一部を構成する車輪（不図示）が接地面ＧＳに接している状態をいう。したがって、図４（Ｄ）に示すように、ロボット１００が転倒して頭部１０１や胴体部１０２が接地面ＧＳに接している状態や、図５（Ａ）〜（Ｃ）に示すように、ロボット１００が所定の対象の手ＵＨに把持されて接地面ＧＳの上方に持ち上げられている状態は、左右の足部１０８の車輪が接地面ＧＳに接していないため、ロボット１００が接地面ＧＳに接地しているとは言わない。
【００２３】
音声出力部１６０は、スピーカ及び音声出力インタフェースで構成され、制御部１１０により生成された音声データを音声に変換して外部に出力する。スピーカは、例えば、口部１０６に嵌め込まれた状態で設置される。ロボット１００は、センサ部１４０のマイクロフォンで所定の対象の音声を収集し、制御部１１０の制御の下、所定の対象の発話内容に対応する音声を音声出力部１６０から出力することにより、所定の対象と簡単な会話をすることができる。
【００２４】
通信部１７０は、無線通信モジュール及びアンテナにより構成され、外部装置とデータ通信を行う。
【００２５】
電源部１８０は、電源回路やバッテリなどから構成され、制御部１１０の指示に従って、ロボット１００の各部に電力を供給する。
【００２６】
次に、図６に示すフローチャートを参照しながら、ロボット１００の制御部１１０が実行する動作制御処理について説明する。動作制御処理は、ロボット１００が実行する各種動作を制御する処理である。制御部１１０は、所定の対象の操作により、ロボット１００の電源が投入されたことに応答して、動作制御処理を開始する。
【００２７】
制御部１１０は、動作制御処理を開始すると、まず、記憶部１２０の所定の記憶領域に格納された初期データを読み出し、ロボット１００の各部を初期状態に設定する（ステップＳ１０１）。
【００２８】
続いて、制御部１１０は、回動動作処理を実行する（ステップＳ１０２）。回動動作処理は、ロボット１００が床や机などの接地面（平面）ＧＳに接地しているか否かを判定するために、尻尾部１０９を回動させて回動可能角度を取得するための処理である。このように、制御部１１０は、判定手段として機能する。
【００２９】
図７を参照して、回動動作処理について説明する。制御部１１０は、回動動作処理を開始すると、先ず最初に、尻尾部１０９をデフォルト位置に配置するように駆動信号を生成し、この信号を可動部１５０に送信する（ステップＳ２０１）。ここで、図８に示すように、尻尾部１０９の長尺部１０９Ｂがロボット１００の縦方向（図中の上下方向）の中心線ＣＬに沿う位置（実線で描かれた尻尾部１０９の位置）を尻尾部１０９のデフォルト位置（ホームポジション）とする。
【００３０】
次に、制御部１１０は、尻尾部１０９を反時計回り方向（第１の方向）に一回転（３６０度）回動するように駆動信号を生成し、この信号を可動部１５０の駆動回路１５３に送信する（ステップＳ２０２）。これにより、尻尾部１０９の駆動機構１５２としての駆動モータ１５２Ａの回転軸１５２Ｂが反時計回り方向に回転する。これに伴い、回転軸１５２Ｂに接続された尻尾部１０９は、デフォルト位置から反時計回り方向に回動する。
【００３１】
図４（Ｃ）及び図８に示すように、ロボット１００が接地面ＧＳに接地している場合、長尺部１０９Ｂの先端部が接地面ＧＳに当接することで、反時計回り方向の回動が規制されて停止する。また、図５（Ｃ）に示すように、ロボット１００が接地面ＧＳに接地していない場合であっても、ロボット１００が所定の対象の手ＵＨに把持されて接地面ＧＳの上方にわずかに持ち上げられて保持されている場合も、同様に、長尺部１０９Ｂの先端部が接地面ＧＳに当接することで、反時計回り方向の回動が規制されて停止する。ここで、図４（Ｃ）及び図８に示すように、反時計回り方向の回動が規制されて尻尾部１０９が停止する位置（中心線ＣＬの左側に二点鎖線で描かれた長尺部１０９Ｂの位置）を、左回動規制位置と呼ぶ。
【００３２】
一方、図５（Ｂ）に示すように、ロボット１００が所定の対象の手ＵＨに把持されて長尺部１０９Ｂの先端部が接地面ＧＳに接触しない高さまで接地面ＧＳの上方に持ち上げられて保持されている場合、反時計回り方向の回動を規制するものが存在しないため、尻尾部１０９は反時計回り方向に３６０度（２π）回動する。
【００３３】
制御部１１０は、駆動モータ１５２Ａの回転軸１５２Ｂに取り付けられたエンコーダから出力される角度データを受信し、尻尾部１０９のデフォルト位置から左回動規制位置までの反時計回り方向の回動可能角度θｃｃｗ（以下、「反時計回り方向の回動可能角度θｃｃｗ」を、単に「回動可能角度θｃｃｗ」と称することがある）を取得する（ステップＳ２０３）。
【００３４】
ステップＳ２０３の処理を実行した後、制御部１１０は、尻尾部１０９をデフォルト位置に復帰するように駆動信号を生成し、この信号を可動部１５０に送信する（ステップＳ２０４）。ステップＳ２０２の反時計回り方向の回動動作において、尻尾部１０９が左回動規制位置に停止した場合には、駆動モータ１５２Ａの回転軸１５２Ｂの時計回り方向の回転により、尻尾部１０９は、左回動規制位置からデフォルト位置に復帰して停止する。
【００３５】
続いて、制御部１１０は、尻尾部１０９を時計回り方向（第２の方向）に一回転（３６０度）回動するように駆動信号を生成し、この信号を可動部１５０の駆動回路１５３に送信する（ステップＳ２０５）。これにより、駆動モータ１５２Ａの回転軸１５２Ｂは時計回り方向に回転する。これに伴い、回転軸１５２Ｂに接続された尻尾部１０９は、デフォルト位置から時計回り方向に回動する。
【００３６】
図４（Ｃ）及び図８に示すように、ロボット１００が接地面ＧＳに接地している場合、反時計回り方向の回動の場合と同様、長尺部１０９Ｂの先端部が接地面ＧＳに当接することで、時計回り方向の回動が規制されて停止する。また、図５（Ｃ）に示すように、ロボット１００が接地面ＧＳに接地していない場合であっても、ロボット１００が所定の対象の手ＵＨに把持されて接地面ＧＳの上方にわずかに持ち上げられて保持されている場合も、同様に、長尺部１０９Ｂの先端部が接地面ＧＳに当接することで、時計回り方向の回動が規制されて停止する。ここで、図４（Ｃ）及び図８に示すように、時計回り方向の回動が規制されて尻尾部１０９が停止する位置（中心線ＣＬの右側に二点鎖線で描かれた長尺部１０９Ｂの位置）を、右回動規制位置と呼ぶ。
【００３７】
一方、図５（Ｂ）に示すように、ロボット１００が所定の対象の手ＵＨに把持されて長尺部１０９Ｂの先端部が接地面ＧＳに接触しない高さまで接地面ＧＳの上方に持ち上げられて保持されている場合、時計回り方向の回動を規制するものが存在しないため、反時計回り方向の回動の場合と同様、尻尾部１０９は時計回り方向に３６０度回動する。
【００３８】
制御部１１０は、駆動モータ１５２Ａの回転軸１５２Ｂに取り付けられたエンコーダから出力される角度データを受信し、尻尾部１０９のデフォルト位置から右回動規制位置までの時計回り方向の回動可能角度θｃｗ（以下、「時計回り方向の回動可能角度θｃｗ」を、単に「回動可能角度θｃｗ」と称することがある）を取得する（ステップＳ２０６）。
【００３９】
ステップＳ２０６の処理を実行した後、制御部１１０は、尻尾部１０９をデフォルト位置に復帰するように駆動信号を生成し、この信号を可動部１５０に送信する（ステップＳ２０７）。ステップＳ２０５の時計回り方向の回動動作において、尻尾部１０９が右回動規制位置に停止した場合には、駆動モータ１５２Ａの回転軸１５２Ｂの反時計回り方向の回転により、尻尾部１０９は、右回動規制位置からデフォルト位置に復帰して停止する。その後、制御部１１０は、回動動作処理を終了する。
【００４０】
図６に示す動作制御処理のフローチャートの説明に戻り、制御部１１０は、ステップＳ１０２の回動動作処理によって取得した回動可能角度θｃｗと回動可能角度θｃｃｗとが同等であるか否かを判定する（ステップＳ１０３）。ここで、回動可能角度θｃｗと回動可能角度θｃｃｗとが同等とは、両角度が同値であることの他、所定の誤差（例えば、±３度）を含んでほぼ同じとみなすことができる場合も含むものとする。
【００４１】
回動可能角度θｃｗと回動可能角度θｃｃｗとが同等ではないと判定した場合（ステップＳ１０３；ＮＯ）、制御部１１０は、ロボット１００を平面である接地面ＧＳに接地することを促すメッセージを出力する（ステップＳ１０４）。制御部１１０は、例えば、記憶部１２０に格納されたロボット１００の接地を促す音声データを音声出力部１６０に供給し、スピーカから音声として出力させる。ステップＳ１０４の処理を実行した後、制御部１１０は、処理をステップＳ１０２に戻す。
【００４２】
一方、回動可能角度θｃｗと回動可能角度θｃｃｗとが同等であると判定した場合（ステップＳ１０３；ＹＥＳ）、制御部１１０は、さらに、回動可能角度θｃｗと回動可能角度θｃｃｗとのいずれもが所定範囲以内であるか否かを判定する（ステップＳ１０５）。
【００４３】
ここで、ロボット１００が接地面ＧＳに接地している状態において、時計回り方向の回動可能角度θｃｗと反時計回り方向の回動可能角度θｃｃｗとは、論理的には同値であり、図８に示すように、回動可能角度θｃｗ及び回動可能角度θｃｃｗの論理角度θＬは、接地面ＧＳから駆動モータ１５２Ａの回転軸１５２Ｂの中心軸線ＣＡまでの距離をＬＧ（図３及び図８参照）、長尺部１０９Ｂの長手方向の中心線ＣＢと回転軸１５２Ｂの中心軸線ＣＡとの交点ＰＡから左回動規制値又は右回動規制位置における中心線ＣＢと接地面ＧＳとの交点ＰＢまでの距離をＬＢ（図３及び図８参照）としたとき、下式から一意に決まる。なお、下式のａｒｃｓｉｎ（ＬＧ／ＬＢ）は、図８に示すθｇに該当する。
θＬ = π／２ + ａｒｃｓｉｎ（ＬＧ／ＬＢ）
ただし、０ ≦ ａｒｃｓｉｎ（ＬＧ／ＬＢ） ≦  π／２
【００４４】
したがって、回動可能角度θｃｗと回動可能角度θｃｃｗとのいずれもが所定範囲以内であるか否かは、例えば、回動可能角度θｃｗと回動可能角度θｃｃｗとの各々が、ロボット１００が接地面ＧＳに接地しているとみなすことができる角度の範囲、すなわち、上式で一意に決まる論理角度θＬの所定の誤差（例えば、±３度）の範囲に収まっているか否かで判定される。
【００４５】
前述したように、回動動作処理において、ロボット１００が所定の対象の手ＵＨに把持されて接地面ＧＳの上方に持ち上げられている場合であっても、ロボット１００が接地面ＧＳに接地している場合と同様に、回動可能角度θｃｗと回動可能角度θｃｃｗとして同等の数値を得ることがある。しかしながら、ステップＳ１０５の処理において、回動可能角度θｃｗ及び回動可能角度θｃｃｗが所定範囲以内であるか否かを判定することにより、ロボット１００が接地面ＧＳに接地されているか否かをより的確に確認することができる。
【００４６】
回動可能角度θｃｗと回動可能角度θｃｃｗとのいずれかが所定範囲以内ではないと判定した場合（ステップＳ１０５；ＮＯ）、制御部１１０は、ステップＳ１０３においてＮＯと判定した場合と同様、ステップＳ１０４に処理を進める。
【００４７】
回動可能角度θｃｗと回動可能角度θｃｃｗとのいずれもが所定範囲以内であると判定した場合（ステップＳ１０５；ＹＥＳ）、制御部１１０は、通常動作を実行するための駆動信号を生成し、この信号を移動部１３０及び可動部１５０に送信する（ステップＳ１０６）。制御部１１０は、ロボット１００の通常動作として、頭部１０１、手部１０７、足部１０８、尻尾部１０９が独立して動作するように各可動部材に対応する駆動機構１５２のアクチュエータを駆動する。例えば、尻尾部１０９は、初期状態においては、図４（Ａ）に示すように、長尺部１０９Ｂがデフォルト位置に位置して停止しているが、通常動作が実行されると、図４（Ｂ）に示すように、長尺部１０９Ｂが所定角度θｆで左右に揺動するように制御される。また、制御部１１０は、通常動作として、ロボット１００が配置された空間内でランダムに移動するように駆動モータ１３２を駆動する。また、制御部１１０は、通常動作として、ロボット１００が配置された空間内で移動しないように駆動モータ１３２を駆動しなくてもよい。
【００４８】
制御部１１０は、時間の経過を計測するタイマが出力する時刻情報に基づき、通常動作の実行を開始してから、あるいは、前回の所定時間の経過時から、所定時間（例えば、３０秒）が経過したか否かを判定する（ステップＳ１０７）。所定時間が経過していないと判定した場合（ステップＳ１０７；ＮＯ）、制御部１１０は、ステップＳ１０７の処理を所定時間が経過するまで繰り返し実行する。
【００４９】
所定時間が経過したと判定した場合（ステップＳ１０７；ＹＥＳ）、制御部１１０は、回動動作処理を実行する（ステップＳ１０８）。このように、制御部１１０は、通常動作の実行中において、所定時間が経過するごとに定期的に回動動作処理を実行し、ロボット１００が接地面ＧＳに接地しているか否かを確認する。
【００５０】
ステップＳ１０８の回動動作処理を実行し、回動可能角度θｃｗ及び回動可能角度θｃｃｗを取得した後、制御部１１０は、回動可能角度θｃｗと回動可能角度θｃｃｗとが同等であるか否かを判定する（ステップＳ１０９）。
【００５１】
回動可能角度θｃｗと回動可能角度θｃｃｗとが同等であると判定した場合（ステップＳ１０９；ＹＥＳ）、制御部１１０は、回動可能角度θｃｗと回動可能角度θｃｃｗとのいずれもが所定範囲以内であるか否かを判定する（ステップＳ１１０）。回動可能角度θｃｗと回動可能角度θｃｃｗとのいずれもが所定範囲以内であると判定した場合（ステップＳ１１０；ＹＥＳ）、制御部１１０は、ステップＳ１０７に処理を戻し、所定時間が再度経過するまでステップＳ１０７の処理を繰り返し実行する。
【００５２】
ステップＳ１０９又はステップＳ１１０においてＮＯと判定した場合、制御部１１０は、ロボット１００が接地面ＧＳに接地していないとして、通常動作を中止するための停止信号を生成し、この信号を移動部１３０及び可動部１５０に送信して通常動作を中止させる（ステップＳ１１１）。通常動作の中止により、例えば、移動部１３０の車輪１３１の回転運動が停止される。また、尻尾部１０９は、その揺動動作が中断され、図５（Ｄ）に示すように、デフォルト位置において停止する。このように、所定の対象がロボット１００を持ち上げているときなどに通常動作を停止することにより、可動部材１５１の通常動作の継続に伴って生じる所定の対象の負傷や移動部１３０の車輪１３１の空転などによる無駄な電力消費を抑止することができる。
【００５３】
続いて、制御部１１０は、通常動作の実行を中止してから、あるいは、前回の所定時間の経過時から、所定時間（例えば、３０秒）が経過したか否かを判定する（ステップＳ１１２）。所定時間が経過していないと判定した場合（ステップＳ１１２；ＮＯ）、制御部１１０は、ステップＳ１１２の処理を所定時間が経過するまで繰り返し実行する。
【００５４】
所定時間が経過したと判定した場合（ステップＳ１１２；ＹＥＳ）、制御部１１０は、回動動作処理を実行する（ステップＳ１１３）。このように、制御部１１０は、通常動作の停止中において、所定時間が経過するごとに定期的に回動動作処理を実行し、ロボット１００が接地面ＧＳに再び接地されたか否かを確認する。
【００５５】
ステップＳ１１３の回動動作処理を実行し、回動可能角度θｃｗ及び回動可能角度θｃｃｗを取得した後、制御部１１０は、回動可能角度θｃｗと回動可能角度θｃｃｗとが同等であるか否かを判定する（ステップＳ１１４）。
【００５６】
回動可能角度θｃｗと回動可能角度θｃｃｗとが同等であると判定した場合（ステップＳ１１４；ＹＥＳ）、制御部１１０は、回動可能角度θｃｗと回動可能角度θｃｃｗとのいずれもが所定範囲以内であるか否かを判定する（ステップＳ１１５）。回動可能角度θｃｗと回動可能角度θｃｃｗとのいずれもが所定範囲以内であると判定した場合（ステップＳ１１５；ＹＥＳ）、制御部１１０は、ステップＳ１０６に処理を戻し、通常動作を再開させる。
【００５７】
ステップＳ１１４又はステップＳ１１５においてＮＯと判定した場合、制御部１１０は、ステップＳ１１２に処理を戻し、所定時間が経過するまで待機する。
【００５８】
以上で述べたように、本実施の形態によれば、ロボット１００は、尻尾部１０９の回動動作を定期的に実行することにより、新たにセンサを取り付けることなく、床や机などの接地面ＧＳに接地しているか否かを判定し、判定結果に応じて異なる動作を自律的に実行する。ロボット１００は、接地面ＧＳに接地している場合には、移動部１３０を制御して配置された空間内を移動したり、可動部１５０を制御して手足をゆっくり揺動させるなどの通常動作を実行する一方、接地面ＧＳに接地していない場合には、車輪１３１の駆動を停止したり、手足の揺動動作を停止したりする。このように、ロボット１００によれば、接地面ＧＳに接地しているか否かを既設の尻尾部１０９を回動動作させるという簡単な構成によって誤判定することなく判定することができる。
【００５９】
さらに、ロボット１００は、所定の対象の接触の強度に対応する異なる速度で移動することが可能である。また、ロボット１００は、移動動作に連動して、例えば、まぶたを閉じるなどの所定の対象の接触に呼応するような動作を実行することも可能である。また、所定の対象の接触頻度に応じてさらに多様な動作を実施することができる。このように、ロボット１００は、所定の対象に長期にわたって利用させることができる。
【００６０】
なお、本発明は、前記の実施の形態に限定されず、種々の変形及び応用が可能である。前記の実施の形態は、次のように変形されてもよい。
【００６１】
前記の実施の形態では、ロボット１００が接地面ＧＳに接地しているか否かを判定するにあたり、動作制御処理のステップＳ１０３などにおいて尻尾部１０９の時計回り方向の回動可能角度θｃｗと反時計回り方向の回動可能角度θｃｃｗとが同等であるか否かを判定し、更に、ステップＳ１０５などにおいて回動可能角度θｃｗと回動可能角度θｃｃｗとのいずれもが所定範囲以内であるか否かを判定している。しかし、回動可能角度θｃｗ又は回動可能角度θｃｃｗの少なくとも一方が論理角度θＬを超える場合には、これらの判定を行うまでもなく接地面ＧＳに接地していないと判定するようにしてもよい。
【００６２】
例えば、ロボット１００は、ロボット１００が備えるセンサのみならず、外部に配置された各種センサから検出データなどを取得するように構成されてもよい。
また、所定の対象は、ユーザ等としたが、人であればユーザでなくてもよい。
【００６３】
本発明は、本発明の広義の精神と範囲とを逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【００６４】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００６５】
（付記１）
回動部と、
前記回動部の回動状態を検出する検出手段と、
前記検出手段による検出結果に基づいて、自装置が接地面に接地しているか否かを判定する判定手段と、
を備える、
ことを特徴とするロボット。
【００６６】
（付記２）
前記自装置を移動させる移動手段と、
前記判定手段の判定結果に基づいて、前記移動手段を制御する制御手段と、
を更に備える、
ことを特徴とする付記１に記載のロボット。
【００６７】
（付記３）
前記制御手段は、
前記判定手段により前記自装置が前記接地面に接地していると判定された場合に、前記移動手段を前記自装置が前記接地面を移動するように制御し、
前記判定手段により前記自装置が前記接地面に接地していないと判定された場合に、前記移動手段を停止するように制御する、
ことを特徴とする付記２に記載のロボット。
【００６８】
（付記４）
前記検出手段は、前記回動状態として前記回動部の回動可能な角度を検出し、
前記判定手段は、前記検出手段が検出した前記回動部の回動可能な角度が所定の条件を満たすか否かに応じて、前記自装置が前記接地面に接地しているか否かを判定する、
ことを特徴とする付記１乃至３の何れか１つに記載のロボット。
【００６９】
（付記５）
前記検出手段は、前記回動部の第１の方向に回動可能な角度と、前記回動部の前記第１の方向とは逆向きの第２の方向に回動可能な角度と、を検出し、
前記判定手段は、前記回動部の前記第１の方向に回動可能な角度と前記第２の方向に回動可能な角度とが同等であるか否かに応じて、前記自装置が前記接地面に接地しているか否かを判定する、
ことを特徴とする付記４に記載のロボット。
【００７０】
（付記６）
前記判定手段は、前記回動部の前記第１の方向に回動可能な角度と前記第２の方向に回動可能な角度とがいずれも所定の角度範囲以内であるか否かに応じて、前記自装置が前記接地面に接地しているか否かを判定する、
ことを特徴とする付記５に記載のロボット。
【００７１】
（付記７）
前記判定手段は、
前記回動部の前記第１の方向に回動可能な角度と前記第２の方向に回動可能な角度とがいずれも前記所定の角度範囲以内である場合に、前記自装置が前記接地面に接地していると判定し、
前記回動部の前記第１の方向に回動可能な角度と前記第２の方向に回動可能な角度とのうちの少なくとも一方が前記所定の角度範囲を超える場合に、前記自装置が前記接地面に接地していないと判定する、
ことを特徴とする付記６に記載のロボット。
【００７２】
（付記８）
前記判定手段は、前記回動部の前記第１の方向に回動可能な角度と前記第２の方向に回動可能な角度とのうちの少なくとも一方が前記所定の角度範囲を超える場合に、前記自装置が所定の対象によって前記接地面から持ち上げられていると判定する、
ことを特徴とする付記７に記載のロボット。
【００７３】
（付記９）
前記所定の対象は、人である、
ことを特徴とする付記８に記載のロボット。
【００７４】
（付記１０）
前記自装置が前記接地面に接地しているとは、前記自装置を移動させる移動手段の一部を構成する左右の足部にそれぞれ内蔵された車輪が前記接地面にそれぞれ接していることである、
ことを特徴とする付記２乃至９の何れか１つに記載のロボット。
【００７５】
（付記１１）
前記回動部は、前記自装置の尻尾部である、
ことを特徴とする付記１乃至１０の何れか１つに記載のロボット。
【００７６】
（付記１２）
回動部と、
前記回動部の回動状態を検出する検出手段と、
自装置を移動させる移動手段と、
前記検出手段の検出結果に基づいて、前記移動手段を制御する制御手段と、
を備える、
ことを特徴とするロボット。
【００７７】
（付記１３）
回動部を備えるロボットの制御方法であって、
前記回動部を回動する回動ステップと、
前記回動部の回動状態を検出する検出ステップと、
前記検出ステップでの検出結果に基づいて、前記ロボットが接地面に接地しているか否かを判定する判定ステップと、
を含む、
ことを特徴とするロボットの制御方法。
【００７８】
（付記１４）
回動部を備えるロボットのコンピュータに、
前記回動部を回動する回動処理と、
前記回動部の回動状態を検出する検出処理と、
前記検出処理による検出結果に基づいて、前記ロボットが接地面に接地しているか否かを判定する判定処理と、
を実行させる、
ことを特徴とするプログラム。
【符号の説明】
【００７９】
１００…ロボット、１０１…頭部、１０２…胴体部、１０２Ａ…腹部、１０２Ｂ…背部、１０３…耳部、１０４…眼部、１０５…鼻部、１０６…口部、１０７…手部、１０８…足部、１０９…尻尾部、１０９Ａ…短尺部、１０９Ｂ…長尺部、１１０…制御部、１２０…記憶部、１３０…移動部、１３１…車輪、１３２…駆動モータ、１３３…駆動回路、１４０…センサ部、１５０…可動部、１５１…可動部材、１５２…駆動機構、１５２Ａ…駆動モータ、１５２Ｂ…回転軸、１５３…駆動回路、１６０…音声出力部、１７０…通信部、１８０…電源部、ＣＡ…中心軸線、ＣＢ…中心線、ＣＬ…中心線、ＧＳ…接地面、ＰＡ，ＰＢ…交点、ＵＨ…所定の対象の手、θｃｗ，θｃｃｗ…回動可能角度、θｆ…所定角度
【図１】
2017226037.tif 000003
【図２】
2017226037.tif 000004
【図３】
2017226037.tif 000005
【図４】
2017226037.tif 000006
【図５】
2017226037.tif 000007
【図６】
2017226037.tif 000008
【図７】
2017226037.tif 000009
【図８】
2017226037.tif 000010