(57)【要約】【課題】床面の撓みによってロボットの表現が制約されることを回避する。【解決手段】筐体と、ロボットの重心を移動させてロボットの姿勢を変化させる重心移動機構と、ロボットの姿勢を検知するための第１センサーと、プロセッサと、を備え、プロセッサは、重心移動機構を制御してロボットの重心を第１の位置から第２の位置に移動させることで、ロボットの姿勢を第１の姿勢から第２の姿勢に変化させ、第１センサーの検知結果を参照して、測定値を取得し、測定値は、ロボットが第１の姿勢から第２の姿勢に変化した際のロボットの姿勢の変化量に対応するものであり、測定値と所定の参照値とを比較することにより、ロボットが乗っている床面が撓むかどうかを判断する、ロボット。【選択図】図１６Ａ
2020179005.tif 000002
【特許請求の範囲】
【請求項１】
ロボットであって、
筐体と、
前記ロボットの重心を移動させて前記ロボットの姿勢を変化させる重心移動機構と、
前記ロボットの姿勢を検知するための第１センサーと、
プロセッサと、を備え、
前記プロセッサは、
前記重心移動機構を制御して前記ロボットの重心を第１の位置から第２の位置に移動させることで、前記ロボットの姿勢を第１の姿勢から第２の姿勢に変化させ、
前記第１センサーの検知結果を参照して、測定値を取得し、前記測定値は、前記ロボットが前記第１の姿勢から前記第２の姿勢に変化した際の前記ロボットの姿勢の変化量に対応するものであり、
前記測定値と所定の参照値とを比較することにより、前記ロボットが乗っている床面が撓むかどうかを判断する、ロボット。
【請求項２】
前記プロセッサは、更に、
前記参照値から前記測定値を減じた値が大きいほど、前記床面が撓む程度が大きいと判断する、
請求項１に記載のロボット。
【請求項３】
更に、
前記ロボットを駆動する駆動機構を備え、
前記プロセッサは、
前記駆動機構を制御して、前記ロボットを複数の場所に向けて駆動させて、前記複数の場所のそれぞれにおいて前記ロボットが乗っている床面が撓むかどうかの判断を行い、
所定回数以上前記ロボットが乗っている床面が撓むと判断された場合に、前記ロボットが乗っている床面が撓むと判断する、
請求項１又は２に記載のロボット。
【請求項４】
更に、
前記ロボットを駆動する駆動機構を備え、
前記プロセッサは、更に、
前記駆動機構を制御して、前記ロボットを第１の場所に移動させ、
前記ロボットが前記第１の場所に到着した後、前記ロボットが乗っている床面が撓むかどうかを判断し、
前記第１の場所において前記ロボットが乗っている床面が撓まないと判断した場合、前記駆動機構を制御して、前記ロボットを前記第１の場所において所定時間止まらせ、
前記所定時間経過後に、前記ロボットが乗っている床面が撓むかどうかを判断する、
請求項１〜３の何れか１項に記載のロボット。
【請求項５】
前記プロセッサは、
前記第１の場所において前記ロボットが乗っている床面が撓むと判断されるまでの平均時間を計測し、
前記所定時間経過後に、前記ロボットが乗っている床面が撓むと判断した場合に、前記駆動機構を制御して、前記平均時間が経過する前に、前記ロボットを所定の距離以上移動させる、請求項４に記載のロボット。
【請求項６】
更に、
前記ロボットに実行させるための動作指示を検知するための検知部と、
音声を出力するスピーカー及び映像を出力するディスプレイの少なくとも何れか一つと、を備え、
前記プロセッサは、
前記ロボットが実行可能な一以上の動作と前記ロボットに各動作を行わせるときに必要な前記ロボットの姿勢の変化量とが対応付けられた動作テーブルを参照して、前記検知部によって検知された前記動作指示が示す第１動作が実行できないと判断した時に、
前記第１動作が実行できない旨の音声及び映像の少なくとも何れか一つを前記スピーカー及び前記ディスプレイの少なくとも何れか一つを介して出力させる、
請求項１〜５の何れか１項に記載のロボット。
【請求項７】
更に、
前記ロボットに実行させるための動作指示を検知するための検知部と、を備え、
前記プロセッサは、
前記ロボットが実行可能な複数の動作と前記ロボットに各動作を行わせるときに必要な前記ロボットの姿勢の変化量とが対応付けられた動作テーブルを参照して、前記検知部によって検知された前記動作指示が示す第１動作が実行できないと判断した時に、前記ロボットが乗っている床面上で前記ロボットが実行可能な、前記複数の動作のうちの前記第１動作とは異なる第２動作を検索し、
前記第２動作を前記ロボットに実行させる、
請求項１〜５の何れか１項に記載のロボット。
【請求項８】
更に、
前記ロボットに実行させるための動作指示を検知するための検知部と、
音声を出力するスピーカー及び映像を出力するディスプレイの少なくとも何れか一つと、を備え、
前記プロセッサは、
前記ロボットが実行可能な複数の動作と前記ロボットに各動作を行わせるときに必要な前記ロボットの姿勢の変化量とが対応付けられた動作テーブルを参照して、前記検知部によって検知された前記動作指示が示す第１動作が実行できないと判断した時に、前記ロボットが乗っている床面上で前記ロボットが実行可能な、前記複数の動作のうちの前記第１動作とは異なる第２動作を検索し、
前記第２動作を提案する音声及び映像の少なくとも何れか一つを前記スピーカー及び前記ディスプレイの少なくとも何れか一つを介して出力させる、
請求項１〜５の何れか１項に記載のロボット。
【請求項９】
前記第２動作は、前記第１動作と同一の属性の動作である、
請求項７又は８に記載のロボット。
【請求項１０】
更に、
前記ロボットに実行させるための動作指示を検知するための検知部と、
音声を出力するスピーカー及び映像を出力するディスプレイの少なくとも何れか一つと、を備え、
前記プロセッサは、
前記ロボットが実行可能な一以上の動作と前記ロボットに各動作を行わせるときに必要な前記ロボットの姿勢の変化量とが対応付けられた動作テーブルを参照して、前記検知部によって検知された前記動作指示が示す第１動作が実行できないと判断した時に、別の場所に移動したい旨を示す音声及び映像の少なくとも何れか一つを前記スピーカー及び前記ディスプレイの少なくとも何れか一つを介して出力させる、
請求項１〜９の何れか１項に記載のロボット。
【請求項１１】
更に、
人間を検知するための第２センサーと、
前記ロボットを駆動する駆動機構を備え、
前記プロセッサは、
前記第２センサーの検知結果を参照して、前記ロボットから所定範囲内に前記人間を検知した時に、前記駆動機構を制御して、前記人間に対して前記人間を検知したことを示すために前記ロボットを左右に揺らす動作を前記ロボットに実行させ、
前記ロボットが前記左右に揺らす動作を実行している時に、前記ロボットが乗っている床面が撓むかどうかを判断する、
請求項１〜９の何れか１項に記載のロボット。
【請求項１２】
前記筐体は、球体形状である、
請求項１〜１１の何れか１項に記載のロボット。
【請求項１３】
前記筐体は、球体形状であり、
前記所定の距離は、前記ロボットの直径である、
請求項５に記載のロボット。
【請求項１４】
前記第１のセンサーは、前記ロボットの傾きを検知するためのセンサーであり、
前記測定値は、前記ロボットが前記第１の姿勢から前記第２の姿勢に変化した際の前記ロボットの傾きの変化量である、
請求項１〜１３の何れか１項に記載のロボット。
【請求項１５】
前記第１のセンサーは、角速度センサー又は加速度センサーである、
請求項１４に記載のロボット。
【請求項１６】
前記重心移動機構は、重りを含み、前記重りの前記筐体との相対的位置を移動させることにより前記ロボットの重心を移動させて前記ロボットの姿勢を変化させる、
請求項１〜１５の何れか１項に記載のロボット。
【請求項１７】
ロボットにおける方法であって、
前記ロボットは、
筐体と、
前記ロボットの重心を移動させて前記ロボットの姿勢を変化させる重心移動機構と、
前記ロボットの姿勢を検知するための第１センサーと、を備え、
前記重心移動機構を制御して前記ロボットの重心を第１の位置から第２の位置に移動させることで、前記ロボットの姿勢を第１の姿勢から第２の姿勢に変化させ、
前記第１センサーの検知結果を参照して、測定値を取得し、前記測定値は、前記ロボットが前記第１の姿勢から前記第２の姿勢に変化した際の前記ロボットの姿勢の変化量に対応するものであり、
前記測定値と所定の参照値とを比較することにより、前記ロボットが乗っている床面が撓むかどうかを判断する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ロボット及びロボットにおける方法に関する。
【背景技術】
【０００２】
従来から、種々のロボットが提案されている。例えば、特許文献１及び２には、球体状の筐体を備え、前記筐体を回転させることで移動するロボットが開示されている。また、特許文献１及び２には、前記筐体を左右に搖動させる等して、前記筐体の動作によってロボットの意思を表現することが開示されている。
【０００３】
また、従来から、回転部材と接触する平面に生じた撓みを検出する技術が提案されている。例えば、特許文献３には、センサ架台に配置されたレーザードップラー振動計及び振動加速度計によって、車輪と接触する路面に生じた撓みを計測する技術が開示されている。また、特許文献４には、多関節ロボットの関節軸間を連結するリンク（アーム部）に被測定マークを配置し、当該ロボットから離れた位置に配置したカメラで、当該ロボットが姿勢を変更する前後のリンクを撮影することが開示されている。そして、当該撮影した画像から検出した被測定マークの位置に基づき、ロボットが姿勢を変更することで生じるリンクの実撓み量を算出することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−２１３１１２号公報
【特許文献２】特開２０１８−００５８１０号公報
【特許文献３】特開２０１６−２３５３７号公報
【特許文献４】特開２０１７−５６５０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１〜４に開示の技術では、前記ロボットが乗っている床面が撓んでいる場合に、前記筐体の動作によって前記ロボットの意思を十分に表現することができず、前記ロボットが故障しているとユーザに判断される虞があった。
【０００６】
本開示は、上記問題を鑑みてなされたものであり、床面の撓みによってロボットの表現が制約されることを回避することができるロボット及び当該ロボットにおける方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の一態様は、ロボットであって、筐体と、前記ロボットの重心を移動させて前記ロボットの姿勢を変化させる重心移動機構と、前記ロボットの姿勢を検知するための第１センサーと、プロセッサと、を備え、前記プロセッサは、前記重心移動機構を制御して前記ロボットの重心を第１の位置から第２の位置に移動させることで、前記ロボットの姿勢を第１の姿勢から第２の姿勢に変化させ、前記第１センサーの検知結果を参照して、測定値を取得し、前記測定値は、前記ロボットが前記第１の姿勢から前記第２の姿勢に変化した際の前記ロボットの姿勢の変化量に対応するものであり、前記測定値と所定の参照値とを比較することにより、前記ロボットが乗っている床面が撓むかどうかを判断する。
【発明の効果】
【０００８】
本開示によれば、床面の撓みによってロボットの表現が制約されることを回避することができる。
【図面の簡単な説明】
【０００９】
【図１Ａ】本開示の実施の形態に係るロボットの外観斜視図である。
【図１Ｂ】本開示の実施の形態に係るロボットの外観正面図である。
【図２】本開示の実施の形態に係るロボットの内部斜視図である。
【図３】本開示の実施の形態に係るロボットの内部背面図である。
【図４】本開示の実施の形態に係るロボットの第１球冠部及び第２球冠部の連結状態を示す内部背面図である。
【図５】図３におけるロボットのＡＡ断面図である。
【図６Ａ】図３のＢ視におけるロボットの内部側面図である。
【図６Ｂ】図３のＢ視におけるロボットの第１表示部、第２表示部、及び第３表示部が後方に傾いた状態を示す内部側面図である。
【図６Ｃ】図３のＢ視におけるロボットの第１表示部、第２表示部、及び第３表示部が前方に傾いた状態を示す内部側面図である。
【図７Ａ】図３のＣ視におけるロボットの筐体駆動機構を示す側面図である。
【図７Ｂ】図３のＣ視におけるロボットの直進動作を表す側面図である。
【図８Ａ】図３において、ロボットの重りが左方寄りに位置しているときのロボットの姿勢を示す内部背面図である。
【図８Ｂ】図３において、ロボットの重りが右方寄りに位置しているときのロボット１の姿勢を示す内部背面図である。
【図９】本開示の実施の形態に係るロボットが適用されたロボットシステムの全体構成の一例を示す図である。
【図１０】ロボットの内部回路を示すブロック図である。
【図１１】ロボットの回転軸を示す図である。
【図１２Ａ】ロボットが弾性力の高い床面上に位置するときの床面の撓みを示す図である。
【図１２Ｂ】ロボットが弾性力の高い床面上に位置するときに、ロボットの重りが左方よりに位置しているときのロボットの姿勢を示す図である。
【図１２Ｃ】ロボットが弾性力の高い床面上に位置するときに、ロボットの重りが右方よりに位置しているときのロボットの姿勢を示す図である。
【図１３Ａ】ロボットが弾性力の低い床面上に位置するときの床面の撓みを示す図である。
【図１３Ｂ】ロボットが弾性力の低い床面上に位置するときに、ロボットの重りが左方よりに位置しているときのロボットの姿勢を示す図である。
【図１３Ｃ】ロボットが弾性力の低い床面上に位置するときに、ロボットの重りが右方よりに位置しているときのロボットの姿勢を示す図である。
【図１４】所定の傾き制御量を出力した場合における床面ごとのロボットの傾き角度の推移の一例を示す図である。
【図１５】表現動作テーブルの一例を示す図である。
【図１６Ａ】撓み検出処理を示すフローチャートである。
【図１６Ｂ】撓み検出処理を示すフローチャートである。
【図１７】ロボットがジョイントマット上に接地した直後及び当該接地時点から所定時間経過した時点のそれぞれにおいて、所定の傾き制御量を出力した場合におけるロボットの傾き角度の推移の一例を示す図である。
【図１８】撓み判断部がメモリに記憶した撓み検知結果とタイムスタンプの一例を示す図である。
【図１９】撓み検出処理が開始されるまでに行われる処理を示すフローチャートである。
【図２０】撓み検出処理中に割込処理が受け付けられたときに行われる処理を示すフローチャートである。
【図２１】ロボットの自重及び時間経過によってロボットが乗っている床面に撓みが生じた場合における表現動作の制限を回避する処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
（本開示に係る一態様を発明するに至った経緯）
まず、本発明者は、球体状の筐体を備え、筐体を回転させることで移動するロボットを検討している。そして、ユーザが前記ロボットに対して所定時間以上前記ロボットの名前を呼ぶ等の行動をしなかった場合、前記ロボットに周辺環境を探索させる機能を検討している。本発明者は、このような機能を実現するために、以下のような仕様を考えている。
【００１１】
即ち、前記ロボットは、前進、左旋回及び右旋回を行うことで、周辺環境を探索するように移動する。また、前記ロボットは、周辺環境に存在する壁等の障害物を発見した場合、所定の方向に旋回することで進行方向を変え、障害物を回避する。このようにして、前記ロボットは、ユーザから音声又はジェスチャによる指示を受けるまで前記移動を行う。また、前記ロボットは、ユーザとのインタラクション（相互行為）の実行時及びユーザから前記ロボットの動作に関する指示を受けた時に、意思を表現するため及び前記指示された動作を実行するために、左方又は右方に傾く動作を行う。
【００１２】
しかし、本発明者が種々の実験を試みたところ、前記ロボットの左方又は右方に傾く動作（以下、表現動作）を視認できないことがあった。これにより、本発明者は、前記ロボットが故障していると判断することがあった。
【００１３】
そこで、本発明者は、更に種々の実験を試みた結果、前記ロボットと床面との接触面が撓んだ状態で前記ロボットに表現動作を行わせようとすると、床面から前記ロボットに対して前記ロボットの傾きを妨げる力（以降、応力）がかかり、前記ロボットの左方又は右方に傾く角度が低減されることがわかった。このため、前記ロボットの表現動作が十分には行われないことがわかった。従って、本発明者は、前記ロボットが故障しているとユーザに勘違いされないために、表現動作を改善する必要があると考えた。
【００１４】
そこで、本発明者は、前記ロボットに上記特許文献３及び４に開示の技術を適用し、センサ類によって前記ロボットが乗っている床面が撓むかどうかを検出することを考えた。しかし、前記ロボットは前記筐体を回転させて移動するため、前記筐体と床面との接触面は、前記ロボットの移動に応じて変化する。このため、上記特許文献３に開示のように、前記センサ類を前記筐体の外面に設けると、前記ロボットが自在に移動できなくなるという問題が生じる。また、上記特許文献４に開示のように、前記センサ類を前記筐体から離れた位置に設けると、前記ロボットの移動範囲が、前記センサ類によって前記接触面を検出することが可能な範囲に制限されるという問題が生じる。したがって、前記ロボットに上記特許文献３及び４に開示の技術を適用することは困難であるとの結論に至った。また、前記筐体の内部に設けられたセンサ類では、前記筐体の外部に生じる床面の撓みを直接的に検出することは困難であった。
【００１５】
そこで、本発明者は、鋭意検討し、前記ロボットが乗っている床面の素材に応じて、前記ロボットの左方又は右方への傾き角度の推移が異なることに着目した。例えば、床面が木材のフローリングである場合、前記ロボットは、床面からの応力を略受けないので、指示された角度に近い角度で傾く。一方、前記ロボットが乗っている床面が絨毯である場合、前記ロボットは、床面から応力を受けるので、指示された角度よりも小さい角度で傾く。これらのことから、本発明者は、所定の角度だけ左方又は右方に傾くように前記ロボットに指示した場合に、前記ロボットが実際に左方又は右方に傾いた角度に基づいて、床面の撓みの状態を判断できるとの知見を得て、以下の本開示に係る各態様を想到するに至った。
【００１６】
本開示の一態様は、ロボットであって、筐体と、前記ロボットの重心を移動させて前記ロボットの姿勢を変化させる重心移動機構と、前記ロボットの姿勢を検知するための第１センサーと、プロセッサと、を備え、前記プロセッサは、前記重心移動機構を制御して前記ロボットの重心を第１の位置から第２の位置に移動させることで、前記ロボットの姿勢を第１の姿勢から第２の姿勢に変化させ、前記第１センサーの検知結果を参照して、測定値を取得し、前記測定値は、前記ロボットが前記第１の姿勢から前記第２の姿勢に変化した際の前記ロボットの姿勢の変化量に対応するものであり、前記測定値と所定の参照値とを比較することにより、前記ロボットが乗っている床面が撓むかどうかを判断する。
【００１７】
本態様によれば、ロボットは、自身の姿勢を検知するための第１センサーを備えている。このため、ロボットは、自身の重心を第１の位置から第２の位置に移動させたときに、自身の姿勢が変化した量を第１センサーを用いて取得することができる。これにより、ロボットは、当該取得した自身の姿勢の変化量と参照値とに基づき、自身が乗っている床面が撓むかどうかを判断することができる。その結果、ロボットは、自身が乗っている床面が撓むと判断した場合に、例えば別の場所に移動する等して、床面の撓みによって自身の表現が制約されることを回避することができる。
【００１８】
上記態様において、前記プロセッサは、更に、前記参照値から前記測定値を減じた値が大きいほど、前記床面が撓む程度が大きいと判断してもよい。
【００１９】
本態様によれば、更に、ロボットの重心を第１の位置から第２の位置に移動させたときにロボットの姿勢が変化した量の測定値を前記参照値から減じた値に基づき、前記床面がどの程度撓むのかを判断することができる。
【００２０】
上記態様において、前記ロボットは、更に、前記ロボットを駆動する駆動機構を備え、前記プロセッサは、前記駆動機構を制御して、前記ロボットを複数の場所に向けて駆動させて、前記複数の場所のそれぞれにおいて前記ロボットが乗っている床面が撓むかどうかの判断を行い、所定回数以上前記ロボットが乗っている床面が撓むと判断された場合に、前記ロボットが乗っている床面が撓むと判断してもよい。
【００２１】
本態様によれば、複数の場所のそれぞれにおいて前記ロボットが乗っている床面が撓むかどうかの判断を行った結果、所定回数以上前記床面が撓むと判断されたか否かによって、前記ロボットが撓みが生じ易い弾力性の低い性質の床面に乗っているか、前記ロボットが撓みを生じない性質の床面における窪みがある場所に存在していたか、を判別することができる。
【００２２】
上記態様において、前記ロボットは、更に、前記ロボットを駆動する駆動機構を備え、前記プロセッサは、更に、前記駆動機構を制御して、前記ロボットを第１の場所に移動させ、前記ロボットが前記第１の場所に到着した後、前記ロボットが乗っている床面が撓むかどうかを判断し、前記第１の場所において前記ロボットが乗っている床面が撓まないと判断した場合、前記駆動機構を制御して、前記ロボットを前記第１の場所において所定時間止まらせ、前記所定時間経過後に、前記ロボットが乗っている床面が撓むかどうかを判断してもよい。
【００２３】
本態様によれば、ロボットが第１の場所に到着した後、第１の場所においてロボットが乗っている床面が撓まないと判断した場合、所定時間経過後に、第１の場所において前記床面が撓むかどうかが再判断される。このため、当該再判断の結果、第１の場所において前記床面が撓むと判断した場合には、第１の場所においてロボットを前記所定時間以上停止させたときにロボットの自重で前記床面に撓みが生じることを把握することができる。
【００２４】
上記態様において、前記プロセッサは、前記第１の場所において前記ロボットが乗っている床面が撓むと判断されるまでの平均時間を計測し、前記所定時間経過後に、前記ロボットが乗っている床面が撓むと判断した場合に、前記駆動機構を制御して、前記平均時間が経過する前に、前記ロボットを所定の距離以上移動させてもよい。
【００２５】
本態様によれば、ロボットが乗っている床面が撓むと判断された後、第１の場所においてロボットが乗っている床面が撓むと判断されるまでの平均時間が経過する前に、ロボットが所定の距離以上移動される。このため、ロボットが乗っている床面がロボットの自重によって撓む前に、ロボットを別の場所に移動させることができる。これにより、ロボットの自重で床面が撓む可能性を低減することができる。
【００２６】
上記態様において、前記ロボットは、更に、前記ロボットに実行させるための動作指示を検知するための検知部と、音声を出力するスピーカー及び映像を出力するディスプレイの少なくとも何れか一つと、を備え、前記プロセッサは、前記ロボットが実行可能な一以上の動作と前記ロボットに各動作を行わせるときに必要な前記ロボットの姿勢の変化量とが対応付けられた動作テーブルを参照して、前記検知部によって検知された前記動作指示が示す第１動作が実行できないと判断した時に、前記第１動作が実行できない旨の音声及び映像の少なくとも何れか一つを前記スピーカー及び前記ディスプレイの少なくとも何れか一つを介して出力させてもよい。
【００２７】
本態様によれば、検知部によって検知された動作指示が示す第１動作が実行できないと判断された場合、第１動作が実行できない旨の音声及び映像の少なくとも何れか一つが、スピーカー及びディスプレイの少なくとも何れか一つを介して出力される。このため、第１動作を指示したユーザは、ロボットが第１動作を実行できないことを容易に把握することができる。これにより、当該ユーザによって、ロボットが故障していると捉えられる可能性を低減することができる。
【００２８】
上記態様において、前記ロボットは、更に、前記ロボットに実行させるための動作指示を検知するための検知部と、を備え、前記プロセッサは、前記ロボットが実行可能な複数の動作と前記ロボットに各動作を行わせるときに必要な前記ロボットの姿勢の変化量とが対応付けられた動作テーブルを参照して、前記検知部によって検知された前記動作指示が示す第１動作が実行できないと判断した時に、前記ロボットが乗っている床面上で前記ロボットが実行可能な、前記複数の動作のうちの前記第１動作とは異なる第２動作を検索し、前記第２動作を前記ロボットに実行させてもよい。
【００２９】
本態様によれば、検知部によって検知された動作指示が示す第１動作が実行できないと判断された場合、ロボットが乗っている床面上で実行可能な第２動作がロボットによって実行される。このため、第１動作を指示したユーザは、ロボットが故障していないことを容易に把握することができる。
【００３０】
上記態様において、前記ロボットは、更に、前記ロボットに実行させるための動作指示を検知するための検知部と、音声を出力するスピーカー及び映像を出力するディスプレイの少なくとも何れか一つと、を備え、前記プロセッサは、前記ロボットが実行可能な複数の動作と前記ロボットに各動作を行わせるときに必要な前記ロボットの姿勢の変化量とが対応付けられた動作テーブルを参照して、前記検知部によって検知された前記動作指示が示す第１動作が実行できないと判断した時に、前記ロボットが乗っている床面上で前記ロボットが実行可能な、前記複数の動作のうちの前記第１動作とは異なる第２動作を検索し、前記第２動作を提案する音声及び映像の少なくとも何れか一つを前記スピーカー及び前記ディスプレイの少なくとも何れか一つを介して出力させてもよい。
【００３１】
本態様によれば、検知部によって検知された動作指示が示す第１動作が実行できないと判断された場合、ロボットが乗っている床面上で実行可能な第２動作を提案する音声及び映像の少なくとも何れか一つが、スピーカー及びディスプレイの少なくとも何れか一つを介して出力される。このため、第１動作を指示したユーザは、第１動作とは異なる第２動作が提案されていることに容易に気づくことができる。これにより、当該ユーザによって、ロボットが故障していると捉えられる可能性を低減することができる。
【００３２】
上記態様において、前記第２動作は、前記第１動作と同一の属性の動作であってもよい。
【００３３】
本態様によれば、検知部によって検知された動作指示が示す第１動作が実行できないと判断した時に、第１動作と同一の属性の第２動作が実行される、又は、第２動作を提案する音声及び映像の少なくとも何れか一つが、スピーカー及びディスプレイの少なくとも何れか一つを介して出力される。
【００３４】
このため、前記動作指示を行ったユーザは、自身が指示した第１動作に類似する第２動作を視認することができ、又は、自身が指示した第１動作に類似する第２動作が提案されていることを容易に把握することができる。これにより、第１動作とは属性が異なる、第１動作に類似しない第２動作が実行される場合及び当該第２動作を提案する音声及び映像の少なくとも何れか一つが出力される場合よりも、前記動作指示を行ったユーザがロボットが故障していると捉える可能性を低減することができる。
【００３５】
上記態様において、前記ロボットは、更に、前記ロボットに実行させるための動作指示を検知するための検知部と、音声を出力するスピーカー及び映像を出力するディスプレイの少なくとも何れか一つと、を備え、前記プロセッサは、前記ロボットが実行可能な一以上の動作と前記ロボットに各動作を行わせるときに必要な前記ロボットの姿勢の変化量とが対応付けられた動作テーブルを参照して、前記検知部によって検知された前記動作指示が示す第１動作が実行できないと判断した時に、別の場所に移動したい旨を示す音声及び映像の少なくとも何れか一つを前記スピーカー及び前記ディスプレイの少なくとも何れか一つを介して出力させてもよい。
【００３６】
本態様によれば、検知部によって検知された動作指示が示す第１動作が実行できないと判断された場合、別の場所に移動したい旨を示す音声及び映像の少なくとも何れか一つが、スピーカー及びディスプレイの少なくとも何れか一つを介して出力される。このため、第１動作を指示したユーザは、ロボットが別の場所に移動したがっていることを容易に把握することができる。これにより、当該ユーザによって、ロボットが故障していると捉えられる可能性を低減することができる。
【００３７】
上記態様において、前記ロボットは、更に、人間を検知するための第２センサーと、前記ロボットを駆動する駆動機構を備え、前記プロセッサは、前記第２センサーの検知結果を参照して、前記ロボットから所定範囲内に前記人間を検知した時に、前記駆動機構を制御して、前記人間に対して前記人間を検知したことを示すために前記ロボットを左右に揺らす動作を前記ロボットに実行させ、前記ロボットが前記左右に揺らす動作を実行している時に、前記ロボットが乗っている床面が撓むかどうかを判断してもよい。
【００３８】
本態様によれば、ロボットから所定範囲内に人間が検知された時、ロボットは、左右に揺れる動作を行い、当該動作中にロボットが乗っている床面が撓むかどうかを判断する。このため、ロボットは、所定範囲内に存在する人間に対して、当該人間に気付いたことを表現しながら、効率よく床面が撓むかどうかを判断することができる。
【００３９】
上記態様において、前記筐体は、球体形状であってもよい。
【００４０】
本態様によれば、筐体が球体形状であるので、ロボットの重心の移動によって、ロボットの姿勢を、筐体が球体形状でない場合よりも大きく変化させることができる。これにより、筐体が球体形状でない場合よりもロボットの姿勢の変化量を大きくすることができる。その結果、筐体が球体形状でない場合よりも大きい変化量に基づき、ロボットが乗っている床面が撓むかどうかを、筐体が球体形状でない場合よりも容易に判断することができる。
【００４１】
上記態様において、前記筐体は、球体形状であり、前記所定の距離は、前記ロボットの直径であってもよい。
【００４２】
本態様によれば、ロボットが乗っている床面が撓むと判断された後、第１の場所においてロボットが乗っている床面が撓むと判断されるまでの平均時間が経過する前に、ロボットがロボットの直径以上移動される。このため、床面がロボットの自重で撓んだ状態になるよりも前に、ロボットを撓み掛けている場所から脱出させることができる。これにより、ロボットの自重で床面が撓んだ状態になる可能性を低減することができる。
【００４３】
上記態様において、前記第１のセンサーは、前記ロボットの傾きを検知するためのセンサーであり、前記測定値は、前記ロボットが前記第１の姿勢から前記第２の姿勢に変化した際の前記ロボットの傾きの変化量であってもよい。
【００４４】
本態様によれば、筐体の外部に何ら設けることなく、ロボットの重心を第１の位置から第２の位置に移動させたときのロボットの傾きの変化量に基づき、ロボットが乗っている床面が撓むかどうかを判断することができる。
【００４５】
上記態様において、前記第１のセンサーは、角速度センサー又は加速度センサーであってもよい。
【００４６】
本態様によれば、筐体の外部に何ら設けることなく、ロボットの重心を第１の位置から第２の位置に移動させたときに、角速度センサー又は加速度センサーによって検出されたロボットの傾きの変化量に基づき、ロボットが乗っている床面が撓むかどうかを判断することができる。
【００４７】
上記態様において、前記重心移動機構は、重りを含み、前記重りの前記筐体との相対的位置を移動させることにより前記ロボットの重心を移動させて前記ロボットの姿勢を変化させてもよい。
【００４８】
本態様によれば、重りの筐体との相対的位置を移動させるだけで、ロボットの重心が第１の位置から第２の位置に移動し、ロボットの姿勢が変化する。このため、他の方法でロボットの重心を第１の位置から第２の位置に移動させるよりも、容易に、ロボットの姿勢を変化させることができる。
【００４９】
本開示の他の一態様は、ロボットにおける方法であって、前記ロボットは、筐体と、前記ロボットの重心を移動させて前記ロボットの姿勢を変化させる重心移動機構と、前記ロボットの姿勢を検知するための第１センサーと、を備え、前記重心移動機構を制御して前記ロボットの重心を第１の位置から第２の位置に移動させることで、前記ロボットの姿勢を第１の姿勢から第２の姿勢に変化させ、前記第１センサーの検知結果を参照して、測定値を取得し、前記測定値は、前記ロボットが前記第１の姿勢から前記第２の姿勢に変化した際の前記ロボットの姿勢の変化量に対応するものであり、前記測定値と所定の参照値とを比較することにより、前記ロボットが乗っている床面が撓むかどうかを判断する。
【００５０】
本開示は、このような方法に含まれる特徴的な各処理をコンピュータに実行させるコンピュータプログラムとして実現することもできる。また、このようなコンピュータプログラムを、ＣＤ−ＲＯＭ等のコンピュータ読取可能な非一時的な記憶媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
【００５１】
尚、以下で説明する実施の形態は、何れも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００５２】
（実施の形態）
以下、本発明の各実施の形態について、図面を参照しながら説明する。尚、各図面において、同じ構成要素については同じ符号が用いられている。
【００５３】
（全体構成）
図１Ａは、本開示の実施の形態に係るロボット１の外観斜視図である。図１Ｂは、本開示の実施の形態に係るロボット１の外観正面図である。ロボット１は、図１Ａ、及び図１Ｂに示すように、球帯状のメイン筐体１０１、第１球冠部１０２、及び第２球冠部１０３を備える。メイン筐体１０１、第１球冠部１０２、及び第２球冠部１０３は全体として球体形状の筐体を構成する。即ち、ロボット１は、球体形状を有する。また、ロボット１は、図１Ａに示すように、第１球冠部１０２にカメラ１０４を備え、第２球冠部１０３に距離センサ１０５を備える。カメラ１０４は、光軸が例えばロボット１の正面を向くように第１球冠部１０２に設けられ、ロボット１の周辺環境の映像を取得する。また、距離センサ１０５は、光軸が例えばロボット１の正面を向くように第２球冠部１０３に取り付けられ、ロボット１の周辺に位置する物体までの距離情報を取得する。
【００５４】
また、ロボット１は、図１Ａに示すように、第１球冠部１０２にマイク１０６とスピーカー１０７とを備える。マイク１０６は、ロボット１の周辺環境の音声を取得する。また、スピーカー１０７は、ロボット１の音声情報を出力する。尚、本態様において、ロボット１は、第１球冠部１０２にカメラ１０４を、第２球冠部１０３に距離センサ１０５備えるが、これに限られるものではなく、第１球冠部１０２、及び第２球冠部１０３の少なくとも何れか一方にカメラ１０４と距離センサ１０５とを備えればよい。本態様では、ロボット１は、第１球冠部１０２にマイク１０６とスピーカー１０７とを備えるが、これに限られるものではなく、第１球冠部１０２及び第２球冠部１０３の少なくとも何れか一方にマイク１０６とスピーカー１０７とを備えればよい。
【００５５】
図２は、本開示の実施の形態に係るロボット１の内部斜視図である。図２に示すように、ロボット１は、メイン筐体１０１の内部に、第１表示部１０８、第２表示部１０９、及び第３表示部１１０を備える。第１表示部１０８、第２表示部１０９、及び第３表示部１１０は、固定板金１１１に備え付けられている。また、固定板金１１１は、第１アーム１１２及び第２アーム１１３（図３）を介してシャフト１１５（図３）に取り付けられている。
【００５６】
図３は、本開示の実施の形態に係るロボット１の内部背面図である。図３に示すように第１アーム１１２及び第２アーム１１３は、シャフト１１５と直行する方向にシャフト１１５から延びるようにシャフト１１５に取り付けられている。第１表示部１０８、第２表示部１０９、及び第３表示部１１０は、例えば、複数の発光ダイオードにより構成される。第１表示部１０８（ディスプレイの一例）、第２表示部１０９（ディスプレイの一例）、及び第３表示部１１０（ディスプレイの一例）は、ロボット１の表情を表す映像並びにロボット１の発話の内容を表すメッセージ（文字映像）等の各種映像を出力する。
【００５７】
具体的には、第１表示部１０８、第２表示部１０９、及び第３表示部１１０は、前記複数の発光ダイオードの点灯を個別に制御することにより、図１Ａ及び図１Ｂに示すように、ロボット１の顔の一部、例えば、目及び口を表す映像を出力する。図２の例では、第１表示部１０８がロボット１を正面から見て左目の映像を出力し、第２表示部１０９がロボット１を正面から見て右目の映像を出力し、第３表示部１１０が口の映像を出力している。そして、左目、右目、口の映像は、透明又は半透明の部材からなるメイン筐体１０１を透過し、外部に放射されている。
【００５８】
図３に示すように、ロボット１は、メイン筐体１０１の内部の下方に重り１１４を備える。このため、ロボット１の重心は、メイン筐体１０１の中心から下方に位置する。これにより、ロボット１の動作を安定させることができる。また、図３は、シャフト１１５を回転させるシャフト駆動機構２０６（図１０）、メイン筐体１０１を回転させる筐体駆動機構２０８（図１０）、及びロボット１の重心を移動させる重り駆動機構２１０（図１０）を示す図である。
【００５９】
図３において、シャフト１１５は、ロボット１の中心に位置し、ロボット１の中心軸となる。図４は、本開示の実施の形態に係るロボット１の第１球冠部１０２及び第２球冠部１０３の連結状態を示す内部背面図である。図４において、第１球冠部１０２及び第２球冠部１０３はシャフト１１５によって連結されている。一方、シャフト１１５とメイン筐体１０１は固定されていない。従って、シャフト１１５を回転させると、シャフト１１５に連結された第１球冠部１０２及び第２球冠部１０３は、シャフト１１５に同期して回転するが、メイン筐体１０１は回転しない。
【００６０】
また、図３において、筐体駆動機構２０８（図１０）は、メイン筐体１０１に固定された第１ギア１１６、第１ギア１１６と噛み合う第２ギア１１７、第２ギア１１７に連結された第１モータ１１８、及び第１モータ１１８を固定するフレーム１１９を備える。フレーム１１９はシャフト１１５に吊り下げられているため、シャフト１１５が回転することがあっても、フレーム１１９は回転しない。また、フレーム１１９は、フレーム１１９の回転量を検出する角速度センサ１２０を備える。尚、本態様において、第１ギア１１６の中心とシャフト１１５の中心とは一致している。筐体駆動機構２０８（図１０）の動作の詳細は後述する。
【００６１】
次に重り駆動機構２１０（図１０）について図３、及び図５を用いて説明する。図５は、図３におけるロボット１のＡＡ断面図である。尚、ＡＡ断面とは、Ｂ視（又はＣ視）と直交する平面であって、ロボット１の中心を通る平面でロボット１を切断したときの断面である。
【００６２】
図３及び図５に示すように、重り駆動機構２１０（図１０）は、重り１１４の一端を支持する第３アーム１２３、重り１１４の他端を支持する第４アーム１２４、及び第４アーム１２４に連結された第３モータ１２５を備える。尚、本態様においては、重り駆動機構２１０（図１０）は、フレーム１１９に対して回転自由な状態で取り付けられている。従って、第３モータ１２５を駆動しても、それに連動してフレーム１１９は回転しない。重り駆動機構２１０（図１０）の動作の詳細は後述する。
【００６３】
次にシャフト駆動機構２０６（図１０）について図３及び図６Ａを用いて説明する。図６Ａは、図３のＢ視におけるロボット１の内部側面図である。尚、Ｂ視は、背面から正面を見て左方向からロボット１の側面を見た方向を指す。また、Ｃ視は、背面から正面を見て右方向からロボット１の側面を見た方向を指す。図３及び図６Ａに示すように、シャフト駆動機構２０６（図１０）は、フレーム１１９に固定された第２モータ１２１、第２モータ１２１と連結された第３ギア１２６、第３ギア１２６とシャフト１１５に固定された第４ギア１２７を同期させる駆動ベルト１２２を備える。シャフト駆動機構２０６（図１０）の動作の詳細は後述する。
【００６４】
ロボット１は、図３に図示しないが、制御回路２０１（図１０）、を備える。制御回路２０１は、ロボット１の各種動作を制御する。制御回路２０１（図１０）の詳細は後述する。
【００６５】
次にシャフト駆動機構２０６（図１０）の動作の詳細について図６Ａ、図６Ｂ、及び図６Ｃを参照して説明する。
【００６６】
図６Ｂは、図３のＢ視におけるロボット１の第１表示部１０８、第２表示部１０９、及び第３表示部１１０が後方に傾いた状態を示す内部側面図である。図６Ｃは、図３のＢ視におけるロボット１の第１表示部１０８、第２表示部１０９、及び第３表示部１１０が前方に傾いた状態を示す内部側面図である。
【００６７】
図６Ａに示すように、第１表示部１０８、第２表示部１０９、及び第３表示部１１０は、デフォルト位置において、ロボット１の正面を向いている。第２モータ１２１（図３）を駆動すると、第２モータ１２１に連結された第３ギア１２６が回転する。その動力が駆動ベルト１２２を介して第４ギア１２７に伝達され、第４ギア１２７が固定されたシャフト１１５は第２モータ１２１の駆動に同期して回転する。ここで、図２に示すように、固定板金１１１は、第１アーム１１２及び第２アーム１１３を介してシャフト１１５により連結されている。また、第１球冠部１０２及び第２球冠部１０３はシャフト１１５により連結されている（図４）。このため、シャフト１１５の回転、即ち、第１球冠部１０２及び第２球冠部１０３の回転により、固定板金１１１に備え付けえられた第１表示部１０８、第２表示部１０９、及び第３表示部１１０もシャフト１１５に連動して回転する。
【００６８】
図６Ｂに示すように、上述のデフォルト位置から、矢印１２８及び矢印１２９に示す方向（Ｂ視（図３）において、シャフト１１５回りに時計回りの方向）にシャフト１１５を回転させると、第１表示部１０８、第２表示部１０９（図２）及び第３表示部１１０は、矢印１３０が示す後方（Ｂ視（図３）において、シャフト１１５回りに時計回りの方向）に傾く。また、図６Ｂに図示していないが、シャフト１１５と同期して回転する第１球冠部１０２（図１Ｂ）及び第２球冠部１０３（図１Ｂ）も同様に矢印１３０が示す後方に傾く。即ち、第１球冠部１０２（図１Ｂ）及び第２球冠部１０３（図１Ｂ）に備え付けられたカメラ１０４及び距離センサ１０５が取得する情報も矢印１３０が示す後方に傾く。
【００６９】
一方、図６Ｃに示すように、上述のデフォルト位置から、矢印１３１に示す第３ギア１２６回りに反時計回りの方向及び矢印１３２に示す第４ギア１２７回りに反時計回りの方向にシャフト１１５を回転させると、第１表示部１０８、第２表示部１０９（図２）及び第３表示部１１０は、矢印１３３が示すように前方（Ｂ視（図３）において、シャフト１１５回りに反時計回りの方向）に傾く。また、図６Ｃに図示していないが、シャフト１１５と同期して回転する第１球冠部１０２（図１Ｂ）及び第２球冠部１０３（図１Ｂ）も同様に矢印１３２が示す前方に傾く。即ち、第１球冠部１０２（図１Ｂ）及び第２球冠部１０３（図１Ｂ）に備え付けられたカメラ１０４及び距離センサ１０５が取得する情報の方向も矢印１３２が示す前方に傾く。
【００７０】
次に筐体駆動機構２０８（図１０）の動作の詳細について図７Ａ、及び図７Ｂを参照して説明する。
【００７１】
図７Ａは、図３のＣ視（背面から正面を見て右方向からロボット１の側面を見た方向）におけるロボット１の筐体駆動機構２０８（図１０）を示す側面図である。図７Ｂは、図３のＣ視におけるロボット１の直進動作を表す側面図である。
【００７２】
図７Ａにおいて、第１モータ１１８（図３）を駆動すると、第１モータ１１８に連結された第２ギア１１７が回転する。そして、その動力が第２ギア１１７に噛み合う第１ギア１１６に伝達される。これにより、第１ギア１１６が固定されたメイン筐体１０１は第１モータ１１８の駆動に同期して回転する。
【００７３】
図７Ｂにおいて、第１モータ１１８（図３）を矢印１３４の方向（Ｂ視（図３）において第２ギア１１７回りに時計回りの方向）に回転させると、第２ギア１１７に噛み合う第１ギア１１６は矢印１３５の方向（Ｂ視（図３）においてシャフト１１５回りに反時計回りの方向）に回転する。そして、第１ギア１１６が固定されたメイン筐体１０１は矢印１３６の方向（Ｂ視（図３）においてシャフト１１５回りに反時計回りの方向）に回転する。これにより、ロボット１は、メイン筐体１０１における床面との接触位置１０１１で、床面を矢印１０１２の方向に蹴るようにして前進する（図３の斜線矢印方向に進む）。したがって、メイン筐体１０１における床面との接触位置１０１１は、メイン筐体１０１の回転によるロボット１の移動に応じて、メイン筐体１０１の回転方向とは反対の方向に移動する。また、矢印１３４とは逆方向に第１モータ１１８を回転させると、メイン筐体１０１は矢印１３６の方向に対して反対回りの方向に回転するので、ロボット１は後進する。このように、ロボット１は、筐体駆動機構２０８（図１０）において、第１モータ１１８の回転方向を切り替えることにより、前後の何れの方向にも移動できる。
【００７４】
次に、重り駆動機構２１０（図１０）の動作の詳細について図８Ａ及び図８Ｂを参照して説明する。
【００７５】
図８Ａは、図３において、ロボット１の重り１１４が左方寄りに位置しているときのロボット１の姿勢を示す内部背面図である。図８Ｂは、図３において、ロボット１の重り１１４が右方寄りに位置しているときのロボット１の姿勢を示す内部背面図である。
【００７６】
図８Ａに示すように、第３モータ１２５（図５）を駆動することにより、重り１１４を中央線Ｃ８（メイン筐体１０１の上側の頂点と下側の頂点とを通る線）から矢印１３７が示す左方（ロボット１を背面から正面に見て時計回りの方向）に移動させると、ロボット１の姿勢は矢印１３８が示す方向（鉛直方向に対して地面とロボット１の接点とを中心に反時計回りの方向）に傾く。これとは逆方向に第３モータ１２５（図５）を駆動することにより、図８Ｂに示すように、重り１１４を中央線Ｃ８から矢印１３９が示す右方（ロボット１を背面から正面に見て反時計回りの方向）に移動させると、ロボット１の姿勢は矢印１４０が示す方向（鉛直方向に対して地面とロボット１の接点とを中心に時計回りの方向）に傾く。
【００７７】
次に筐体駆動機構２０８（図１０）の動作と重り駆動機構２１０（図１０）の動作が同時に駆動している状態について図８Ａ及び図８Ｂを参照して説明する。
【００７８】
図８Ａに示すように、ロボット１の姿勢が矢印１３８の示す方向に傾いているときに、第１モータ１１８がロボット１の進行方向に移動するように駆動した場合、ロボット１は、上面視において左方に旋回移動する。また、図８Ｂに示すように、ロボット１の姿勢が矢印１４０の示す方向に傾いているときに、第１モータ１１８がロボット１の進行方向に移動するように駆動した場合、ロボット１は、上面視において右方に旋回移動する。
【００７９】
以上のように、ロボット１の走行方向は、重り駆動機構２１０（図１０）による重り１１４の左方又は右方への切り替えと、筐体駆動機構２０８（図１０）によるメイン筐体１０１の前進又は後進動作とを組み合わせることにより、左右の方向へロボット１を旋回移動させることができる。
【００８０】
次に、図９を参照しつつ、本開示の実施の形態に係るロボット１が適用されたロボットシステム１２００の全体構成の一例について説明する。図９は、本開示の実施の形態に係るロボット１が適用されたロボットシステム１２００の全体構成の一例を示す図である。ロボットシステム１２００は、クラウドサーバ２、携帯端末３及びロボット１を備える。ロボット１は、例えばＷｉ−Fｉ（登録商標）の通信を介してインターネットと接続し、クラウドサーバ２と接続する。また、ロボット１は、例えばＷｉ−Fｉ（登録商標）の通信を介して携帯端末３と接続する。ユーザ１２０１は、例えば子供であり、ユーザ１２０２、１２０３は、例えばその子供の両親である。
【００８１】
ロボット１は、例えば、携帯端末３からある絵本を子供に読み聞かせる指示があったとすると、その絵本の朗読を開始し、子供に読み聞かせる。ロボット１は、例えば、絵本の読み聞かせ中に子供から何らかの質問を受け付けると、その質問をクラウドサーバ２に送り、その質問に対する回答をクラウドサーバ２から受信し、回答を示す音声を発話する。
【００８２】
このように、ユーザ１２０１〜１２０３は、ロボット１をペットのように取り扱い、ロボット１との触れ合いを通じて、言語学習をすることができる。
【００８３】
次に、図１０を参照しつつ、本開示の実施の形態に係るロボット１の内部回路の詳細について説明する。図１０は、ロボット１の内部回路を示すブロック図である。
【００８４】
図１０に示すように、ロボット１は、制御回路２０１、表示部２０４（ディスプレイの一例）、シャフト駆動機構制御部２０５、シャフト駆動機構２０６、筐体駆動機構制御部２０７、筐体駆動機構２０８（駆動機構の一例）、重り駆動機構制御部２０９、重り駆動機構２１０（重心移動機構の一例）、通信部２１１、カメラ１０４（第２センサーの一例）、距離センサ１０５、マイク１０６、スピーカー１０７、及び角速度センサ１２０（第１センサーの一例）を備える。
【００８５】
制御回路２０１は、メモリ２１２と、ＣＰＵ等のプロセッサで構成された主制御部２０２と、表示情報出力制御部２０３と、時刻を計時する図略のタイマー等を含むコンピュータで構成されている。制御回路２０１は、フレーム１１９（図３）の内部に取り付けられている。
【００８６】
メモリ２１２は、例えば、不揮発性の書き換え可能な記憶装置で構成され、ロボット１の制御プログラムなどを記憶する。
【００８７】
主制御部２０２は、メモリ２１２に記憶されているロボット１の制御プログラムを実行する。これにより、主制御部２０２は、傾き制御部２１３、駆動制御部２１４、撓み判断部２１５、表現動作判断部２１６、発話文生成部２１７、人物推定部２１８、センサ情報処理部２１９、及び場所移動判断部２２０として機能する。
【００８８】
カメラ１０４、及び距離センサ１０５は、上述のように、第１球冠部１０２（図１Ａ）及び第２球冠部１０３（図１Ａ）の少なくとも何れか一方に設けられている。このため、カメラ１０４の撮像方向、及び距離センサ１０５が取得する距離情報の方向は、シャフト駆動機構２０６によって第１球冠部１０２（図１Ａ）及び第２球冠部１０３（図１Ａ）を回転させることで、第１球冠部１０２（図１Ａ）及び第２球冠部１０３（図１Ａ）に連動して回転する第１表示部１０８、第２表示部１０９及び第３表示部１１０と同じ方向に向けることができる。これにより、カメラ１０４及び距離センサ１０５は、第１表示部１０８、第２表示部１０９、及び第３表示部１１０が存在するロボット１の前方を撮影し、距離情報を取得できる。カメラ１０４及び距離センサ１０５は、撮像した画像（以降、撮像画像）、及び取得した距離情報を主制御部２０２に出力する。主制御部２０２のセンサ情報処理部２１９は、カメラ１０４から取得した撮像画像から人物の顔の有無、位置、及び大きさを認識し、顔認識結果をメモリ２１２に蓄積することで、顔認識結果を管理する。
【００８９】
マイク１０６は、音を電気信号に変換し、主制御部２０２に出力する。主制御部２０２のセンサ情報処理部２１９は、マイク１０６の取得音声から人物の音声の有無を認識、及び発話内容を認識し、前記音声の認識結果をメモリ２１２に蓄積することで、音声認識結果を管理する。
【００９０】
スピーカー１０７は、音声の電気信号を物理振動に変換する。主制御部２０２の発話文生成部２１７は、所定の発話文を生成し、主制御部２０２のセンサ情報処理部２１９は、前記生成した発話文を音声データへと変換し、前記音声データを、スピーカー１０７から出力することで、ロボット１に発話させる。
【００９１】
角速度センサ１２０は、上述のようにフレーム１１９（図３）に備えられている。図１１は、ロボット１の回転軸を示す図である。角速度センサ１２０は、重力方向に平行な方向軸（図１１に示すＺ軸に平行な方向軸）と、メイン筐体１０１の走行面に平行なメイン筐体１０１の走行方向を、重力方向に直交する水平面に射影した方向軸（図１１に示すＸ軸に平行な方向軸）と、当該２つの方向軸に直交する方向軸（図１１に示すＹ軸に平行な方向軸）と、の３つの方向軸の角速度を検知し、主制御部２０２へ出力する。すわなち、角速度センサ１２０は、Ｘ軸回りの角速度（ロール方向の角速度、第１センサーの検知結果の一例）と、Ｙ軸回りの角速度（ピッチ方向の角速度）と、Ｚ軸回りの角速度（ヨー方向の角速度）とを検知する。主制御部２０２のセンサ情報処理部２１９は、角速度センサ１２０により検知された３つの角速度のそれぞれを、累積してメモリ２１２に蓄積することで、メイン筐体１０１のロール角（測定値の一例）、ピッチ角、及びヨー角を管理する。尚、Ｙ軸はメイン筐体１０１の走行方向（Ｘ軸）に垂直な左右方向の一例である。
【００９２】
主制御部２０２は、音声認識結果、顔認識結果、周辺環境の距離情報、３軸の角速度、及び通信部２１１の情報に基づき、コマンド及び制御量を生成し、表示情報出力制御部２０３、シャフト駆動機構制御部２０５、筐体駆動機構制御部２０７、重り駆動機構制御部２０９、及び通信部２１１等に出力する。主制御部２０２に関する詳細は後述する。
【００９３】
表示情報出力制御部２０３は、主制御部２０２から出力されるコマンドに応じたロボット１の表情等の映像を表示部２０４に出力する。表示部２０４は、図２において説明した第１表示部１０８、第２表示部１０９、及び第３表示部１１０により構成される。
【００９４】
シャフト駆動機構制御部２０５は、主制御部２０２から出力される制御量に応じて、ロボット１のシャフト駆動機構２０６を動作させる。シャフト駆動機構２０６は、図３、及び図６Ａにおいて説明したシャフト１１５、第３ギア１２６、駆動ベルト１２２、第４ギア１２７、第２モータ１２１、及びフレーム１１９により構成される。
【００９５】
筐体駆動機構制御部２０７は、主制御部２０２から出力される制御量に応じて、ロボット１の筐体駆動機構２０８を動作させる。筐体駆動機構２０８は、図３において説明した、第１ギア１１６、第２ギア１１７、第１モータ１１８、及びフレーム１１９により構成される。
【００９６】
重り駆動機構制御部２０９は、主制御部２０２から出力される制御量に応じて、ロボット１の重り駆動機構２１０を動作させる。重り駆動機構２１０は、図３及び図５において説明した、重り１１４、第３アーム１２３、第４アーム１２４、第３モータ１２５、及びフレーム１１９により構成される。
【００９７】
通信部２１１は、ロボット１をクラウドサーバ２（図１０）に接続させるための通信装置で構成される。通信部２１１としては、例えば、Ｗｉ−Fｉ（登録商標）等の無線ＬＡＮの通信装置が採用できるがこれは一例である。通信部２１１は、主制御部２０２から出力されるコマンドに応じてクラウドサーバ２と通信を行う。
【００９８】
次に、主制御部２０２を構成する傾き制御部２１３、駆動制御部２１４、撓み判断部２１５、表現動作判断部２１６、発話文生成部２１７、人物推定部２１８、センサ情報処理部２１９、及び場所移動判断部２２０について説明する。
【００９９】
傾き制御部２１３は、重り駆動機構制御部２０９に出力する制御量を決定する。制御量は、矢印１３８（図８Ａ）方向へロボット１を傾ける（ロボット１を背面から正面に見て時計回りの方向）左方傾き制御量と、矢印１４０（図８Ｂ）方向へロボット１を傾ける（ロボット１を背面から正面に見て反時計回りの方向）右方傾き制御量がある。また、ロボット１の前記矢印１３８、及び矢印１４０の傾きのことを、ロボット１のロール角の傾きとする。
【０１００】
駆動制御部２１４は、筐体駆動機構制御部２０７に出力する制御量を決定する。制御量には、ロボット１を前進させる前進制御量と、ロボット１を後進させる後進制御量と、ロボット１を停止させる停止制御量と、が含まれる。また、駆動制御部２１４は、第１モータ１１８の回転数から、公知の自律航法技術により、ロボット１の移動距離を算出する。尚、ロボット１の移動距離は、上述した第１モータ１１８の回転数による算出方法だけに限らない。例えば、ロボット１が加速度センサやＬＲＦ（レーザーレンジファインダ）、及び全天球カメラ等を保有している場合、公知の空間認識技術を用いて、ロボット１の移動距離を算出しても良い。
【０１０１】
撓み判断部２１５は、ロボット１が乗っている床面の撓み状態を判断する。撓み判断部２１５について、図１２Ａ〜図１４を参照して説明する。図１２Ａ〜Ｃは、フローリング、塗床、タイルマット及びヨガマットなどの弾性力が高い床面２２４上に、ロボット１が存在する場面を示している。具体的には、図１２Ａは、ロボット１が弾性力の高い床面上に位置するときの床面の撓みを示す図である。図１２Ｂは、ロボット１が弾性力の高い床面上に位置するときに、ロボット１の重り１１４（図３）が左方よりに位置しているときのロボット１の姿勢を示す図である。図１２Ｃは、ロボット１が弾性力の高い床面上に位置するときに、ロボット１の重り１１４（図３）が右方よりに位置しているときのロボット１の姿勢を示す図である。尚、左方及び右方とは、背面から正面を見たときの左方及び右方である。
【０１０２】
一方、図１３Ａ〜Ｃは、座布団、ソファ及びラグマットなどの弾性力の低い床面２２７に、ロボット１が存在する場面を示している。具体的には、図１３Ａは、ロボット１が弾性力の低い床面上に位置するときの床面の撓みを示す図である。図１３Ｂは、ロボット１が弾性力の低い床面上に位置するときに、ロボット１の重り１１４（図３）が左方よりに位置しているときのロボット１の姿勢を示す図である。図１３Ｃは、ロボット１が弾性力の低い床面上に位置するときに、ロボット１の重り１１４（図３）が右方よりに位置しているときのロボット１の姿勢を示す図である。
【０１０３】
図１４は、所定の傾き制御量を出力した場合における床面ごとのロボット１の傾き角度の推移の一例を示す図である。図１４において、横軸は、所定の傾き制御量の出力を開始した時点からの経過時間を示し、縦軸は、ロボット１の傾き角度（以下、ロール角度）を示している。具体的には、図１４には、計測値の視認性を考慮して、３０００ｍｓまで、１００ｍｓ毎に、１度ずつの左方傾き制御量を出力した場合における床面ごとのロール角度の推移の一例を示している。ただし、ロボット１を傾けるために、図１４に示すような、所定時間の間、経過時間に応じて所定の傾き制御量を出力する構成が必ずしも必要というわけではない。
【０１０４】
図１４に示すように、床面２２４（図１２Ａ〜Ｃ）に属するフローリング、タイルマット及びヨガマットと、床面２２７（図１３Ａ〜Ｃ）に属する座布団及びラグマットとでは、ロボット１のロール角度の推移は異なる。例えば、ロボット１が床面２２４（図１２Ｂ）に属するフローリングにいる場合に、所定の左方傾き制御量を生成し、矢印２２５（図１２Ｂ）のように傾いたときのロール角度を第１角度とする。この場合、図１４の実線部に示すように、第１角度は、左方傾き制御量が３０度になるまでの間、慣性の影響によって、左方傾き制御量が示す傾き角度よりも大きい角度まで増大した後、左方傾き制御量が示す傾き角度に近づくように減少することを繰り返しながら、次第に増大する。そして、左方傾き制御量が３０度に到達した後も、第１角度は、慣性の影響によって４０度以上の傾き角度まで増大する。その後、図示していないが、第１角度は、次第に３０度付近の角度まで減少し、安定するようになる。
【０１０５】
一方、ロボット１が床面２２７（図１３Ｂ）に属するラグマットにいる場合に、前記左方傾き制御量を生成し、矢印２２８（図１３Ｂ）のように傾いたときのロール角度を第２角度とする。図１３Ｂに示すように、ロボット１の自重によってラグマットとロボット１との接地面に撓みが生じると、ロボット１は、左方へ傾くときにロボット１の傾きを妨げる応力を前記接地面から受ける。また、時間の経過に応じて前記接地面に生じた撓みの程度が大きくなる程、ロボット１が前記接地面から受ける応力も大きくなる。このため、図１４の点線部に示すように、第２角度は、左方傾き制御量の増加に応じて次第に増大するが、撓んだ接地面から応力を受ける影響で、左方傾き制御量が示す傾き角度である３０度よりも小さい５度程度の角度で安定するようになる。このように、第２角度は、第１角度よりも小さい角度で安定するようになる。
【０１０６】
上述の知見に基づき、撓み判断部２１５は、角速度センサ１２０が検知したロール角度と所定の閾値とを比較することで、ロボット１が乗っている床面に撓みが生じているかどうかを判断し、当該判断の結果をメモリ２１２に記憶する。
【０１０７】
表現動作判断部２１６は、ロボット１が、ユーザからの指令及びユーザとのインタラクションの中で何らかの表現をする必要が生じた場合に、当該表現をするのに適切な動作（以降、表現動作）を選択する。具体的には、表現動作判断部２１６は、撓み判断部２１５による床面の撓みについての判断結果と、メモリ２１２に予め記憶されている後述する表現動作テーブル（動作テーブルの一例）と、に基づき、表現動作を決定する。
【０１０８】
図１５は、表現動作テーブルの一例を示す図である。例えば、図１５に示すように、表現動作テーブルには、ロボット１が実行可能な一以上の表現動作それぞれの名称（以降、動作名）と、当該動作名の表現動作を行うときに必要なロボット１の傾き角度の変化量（以降、必要稼働角度）と、当該動作名の表現動作の属性と、ロボット１が当該動作名の表現動作を実行するのに要する時間（以降、動作時間）と、床面の状態が動作を制限する状態であると判断された時に、ロボット１が当該動作名の表現動作を実行できるか否かを示す情報（以降、制限時実行可否情報）と、が対応付けて記憶されている。このように、表現動作テーブルは、ロボット１が実行可能な一以上の表現動作を細分化して管理する構成となっている。
【０１０９】
表現動作判断部２１６は、例えば、表現動作テーブルにおいてユーザが指示した動作名に対応付けられている必要稼働角度と、撓み判断部２１５による床面の撓みについての判断結果と、に基づき、ロボット１に実行させる表現動作を選択する。具体的には、表現動作判断部２１６は、ユーザが指示した表現動作を行えないと判断した場合、代替の動作として、前記指示した表現動作と同一の属性の表現動作をユーザに提案する。又は、表現動作判断部２１６は、ユーザによって指示された表現動作を行えないと判断した場合、前記指示した表現動作が実行可能な床面にロボット１を移動したい旨を提案する。表現動作判断部２１６は、表現動作を実行する場合、当該表現動作の動作名を傾き制御部２１３と、駆動制御部２１４へ出力する。また、表現動作判断部２１６は、ユーザに上述の各提案を行うためのコマンドを、発話文生成部２１７へ出力する。
【０１１０】
発話文生成部２１７は、主制御部２０２内で出力されたコマンドに応じた発話文を生成する。発話文生成部２１７は、生成した文字列データを、センサ情報処理部２１９へ出力する。
【０１１１】
センサ情報処理部２１９は、カメラ１０４と、距離センサ１０５と、マイク１０６と、スピーカー１０７と、及び角速度センサ１２０のセンサ類と、主制御部２０２との、インターフェースに相当する。センサ情報処理部２１９は、カメラ１０４から撮影画像（第２センサーの検知結果の一例）が出力された場合、当該撮影画像における人物の顔の有無、位置及び大きさを認識し、当該認識結果を顔認識結果としてメモリ２１２に記憶する。
【０１１２】
センサ情報処理部２１９は、距離センサ１０５から距離情報が出力された場合は、当該距離情報が示す距離を、例えばメートル等の主制御部２０２が扱いやすい所定の単位に変換し、当該変換後の距離をメモリ２１２に記憶する。
【０１１３】
センサ情報処理部２１９は、マイク１０６から音声信号が出力された場合、メモリ２１２に予め記憶されている音響モデルと言語モデルとを使用する公知の音声認識処理を行う。これにより、センサ情報処理部２１９は、当該出力された音声信号における人物の音声の有無及び当該人物の音声が示す発話の内容を認識し、当該認識結果をメモリ２１２に記憶する。
【０１１４】
センサ情報処理部２１９は、発話文生成部２１７から文字列データが出力された場合、前記文字列データを音声データに変換し、スピーカー１０７へ出力する。
【０１１５】
センサ情報処理部２１９は、角速度センサ１２０から各方向軸の角速度が出力される度に、当該出力された各方向軸の角速度の累積値を、当該各方向軸に対する回転角度としてメモリ２１２に記憶する。
【０１１６】
人物推定部２１８は、センサ情報処理部２１９によってメモリ２１２に記憶された顔認識結果と、メモリ２１２に予め登録されたユーザの顔に関連する顔情報と、を使用する公知のパターンマッチング処理を行う。これによって、人物推定部２１８は、センサ情報処理部２１９が前記顔認識結果の導出に用いたカメラ１０４の撮影画像に含まれる人物を推定する。
【０１１７】
場所移動判断部２２０は、後述する撓み検出処理によって、ロボット１が、床面に撓みが生じているときと同等の影響を受けていると判断された場合に、当該影響を回避するために、ロボット１を所定距離だけ移動させる必要があるかどうかを判断する。
【０１１８】
尚、撓み検出処理では、例えばロボット１が乗っている床面の素材特有の性質が原因で当該床面に撓みが生じた場合に、ロボット１が床面に撓みが生じているときと同等の影響を受けていると判断される。前記床面の素材特有の性質には、例えば弾性率が低いこと等が含まれる。更に、弾性率が低い素材で構成された床面では、ロボット１が静止したまま所定時間経過すると、ロボット１の自重によって当該床面に撓みが生じる可能性がある。従って、当該性質の素材で構成された床面上でロボット１の静止している時間が前記所定時間を超えたときに撓み検出処理が行われると、ロボット１が当該床面に撓みが生じているときと同等の影響を受けていると判断される可能性がある。
【０１１９】
また、撓み検出処理では、ロボット１が乗っている床面の素材特有の性質以外のことが原因で、ロボット１が当該床面に撓みが生じているときと同様の影響を受けていると判断される可能性がある。例えば、ロボット１が床面に形成された窪みがある場所で静止したときに、撓み検出処理が行われたとする。この場合、当該撓み検出処理では、ロボット１が当該床面に撓みが生じているときと同様の影響を受けていると判断される可能性がある。
【０１２０】
場所移動判断部２２０は、ロボット１を所定距離だけ移動させる必要があると判断した場合、当該移動に必要なコマンドを駆動制御部２１４及び／又は傾き制御部２１３へ出力する。
【０１２１】
（撓み検出処理）
次に、図１６Ａ及び図１６Ｂを参照しつつ、撓み検出処理について詳述する。図１６Ａ及び図１６Ｂは、撓み検出処理を示すフローチャートである。
【０１２２】
（撓みによって表現動作が制限される状態であるかどうかの判定）
撓み検出処理が開始されると、傾き制御部２１３は、所定の左方傾き制御量又は所定の右方傾き制御量を、所定の傾き制御量として、重り駆動機構制御部２０９へ出力する。これにより、傾き制御部２１３は、ロボット１を、傾き制御量に対応する角度だけ左方又は右方へ傾けた姿勢（第２の姿勢の一例）に変化させる（ステップＳ１００）。尚、撓み検出処理が開始されるタイミングについては後述する。
【０１２３】
撓み判断部２１５は、センサ情報処理部２１９によってメモリ２１２に記憶された、Ｘ軸（図１１）回りの角速度の累積値を、ロール角度（測定値の一例）として取得する（ステップＳ１０１）。
【０１２４】
次に、撓み判断部２１５は、閾値として設定された所定の角度（参照値の一例）と、ステップＳ１０１で取得したロール角度と、を比較する（ステップＳ１０２）。ステップＳ１０２において、撓み判断部２１５は、ロール角度が前記所定の角度よりも小さい場合（ステップＳ１０２：ＹＥＳ）、ロボット１が乗っている床面に撓みが生じていることを検知する（ステップＳ１０３）。一方、ステップＳ１０２において、撓み判断部２１５は、ロール角度が前記所定の角度よりも大きい場合（ステップＳ１０２：ＮＯ）、床面に撓みが生じていないことを検知する。したがって、ロボット１の筐体の外部に何ら設けることなく、ロボット１の重心を移動させたときのロール角度に基づき、ロボット１が乗っている床面が撓むかどうかを検知することができる。
【０１２５】
ステップＳ１０３の後、及びステップＳ１０２において床面に撓みが生じていないことが検知された場合（ステップＳ１０２：ＮＯ）、傾き制御部２１３は、重り１１４を初期位置へ移動させるように予め定められた標準位置の傾き制御量を、重り駆動機構制御部２０９へ出力する。これにより、傾き制御部２１３は、ロボット１のロール角度を初期状態（第１の姿勢の一例）へ戻す（ステップＳ１０４）。
【０１２６】
そして、撓み判断部２１５は、ステップＳ１０２における床面に撓みが生じているかどうかの検知結果（以降、撓み検知結果）と、撓み検知処理を開始してからの経過時間（以降、タイムスタンプ）と、を対応付けて、メモリ２１２に記憶する（ステップＳ１０５）。
【０１２７】
次に、図１６Ｂを参照して、前記撓み検知結果が、床面に撓みが生じていることの検知を示す場合（ステップＳ１０６：ＹＥＳ）に行われる処理について詳述する。
【０１２８】
前記撓み検知結果が、床面に撓みが生じていることの検知を示す場合（ステップＳ１０６：ＹＥＳ）、表現動作判断部２１６は、ロボット１が乗っている床面が、表現動作を制限する状態（以降、制限状態）であることを示す情報をメモリ２１２に記憶する（ステップＳ１０７）。前記制限状態におけるロボット１の動作の詳細については後述する。
【０１２９】
所定回数以上連続して床面に撓みが生じていることが検知された場合、ロボット１が乗っている床面の素材の性質は、ロボット１が表現動作を行うのに適していない性質であると考えられる。そこで、表現動作判断部２１６は、メモリ２１２に記憶されている過去の撓み検知結果を参照することで、撓み判断部２１５が、所定回数以上連続して、床面に撓みが生じていることを検知したかどうかを判定する（ステップＳ１０８）。
【０１３０】
表現動作判断部２１６が、ステップＳ１０８において、撓み判断部２１５が所定回数以上連続して床面に撓みが生じていることを検知していないと判定したとする（ステップＳ１０８：ＮＯ）。この場合、ロボット１が偶然的に窪みがある場所に移動しただけであり、ロボット１が乗っている床面の素材の性質が、ロボット１が表現動作を行うのに適していない性質であるとは考え難い。このため、当該床面における別の場所において、ロボット１が表現動作を行える可能性はあると考えられる。
【０１３１】
従って、ステップＳ１０８において、所定回数以上連続して床面に撓みが生じていることを検知していないと判定された場合（ステップＳ１０８：ＮＯ）、駆動制御部２１４は、所定の前進制御量を筐体駆動機構制御部２０７へ出力する。これにより、駆動制御部２１４は、ロボット１を前記前進制御量に対応する所定距離だけ前進させる（ステップＳ１０９）。駆動制御部２１４は、ステップＳ１０９においてロボット１を所定距離前進させた後、停止制御量を筐体駆動機構制御部２０７へ出力する。これにより、駆動制御部２１４は、ステップＳ１０９における前進後の位置（第１の場所の一例）でロボット１を停止させる（ステップＳ１１０）。
【０１３２】
尚、ステップＳ１０９において用いられる前進制御量は、ロボット１を床面の撓みから脱出させることを目的として定められている。従って、ステップＳ１０９では、駆動制御部２１４が、前記前進制御量に代えて、ロボット１を後進させて床面の撓みから脱出させるための後進制御量を、筐体駆動機構制御部２０７へ出力するようにしてもよい。又は、ステップＳ１０９では、ロボット１を旋回させて床面の撓みから脱出させるために、駆動制御部２１４が所定の前進制御量又は後進制御量を筐体駆動機構制御部２０７へ出力するとともに、傾き制御部２１３が所定の傾き制御量を重り駆動機構制御部２０９へ出力するようにしても良い。
【０１３３】
また、ステップＳ１０９で出力する各制御量は、ステップＳ１０９において移動する前のロボット１の位置と、ステップＳ１０９において移動した後のロボット１の位置の直線距離が、ロボット１の直径以上となるように定めればよい。これにより、ステップＳ１０９においてロボット１を、少なくとも自身の直径に相当する距離以上移動させ、床面の撓みに存在すると考えられるロボット１の筐体全体を、当該撓みから脱出させるようにすればよい。
【０１３４】
主制御部２０２は、ステップＳ１０９及びステップＳ１１０によって、所定距離移動後に停止したロボット１について、再び床面の撓み検出処理を行う。具体的には、主制御部２０２は、ステップＳ１１０の後、ステップＳ１００以降の処理を実行する。
【０１３５】
（床面の素材の性質による撓みの判定）
次に、前記撓み検知結果が、床面に撓みが生じていることの検知を示し（ステップＳ１０６：ＹＥＳ）、且つ、ステップＳ１０８において、撓み判断部２１５が、所定回数以上連続して床面に撓みが生じていることを検知したと判定した場合（ステップＳ１０８：ＹＥＳ）に行われる処理について詳述する。
【０１３６】
上述のように、所定回数以上連続して床面に撓みが生じていることが検知された場合、ロボット１が乗っている床面の素材の性質は、撓みが生じ易い弾力性の低い性質であり、ロボット１が表現動作を行うのに適していない性質であると考えられる。このため、ステップＳ１０８において、撓み判断部２１５が、所定回数以上連続して床面に撓みが生じていることを検知したと判定した場合（ステップＳ１０８：ＹＥＳ）、主制御部２０２は、ステップＳ１０５でメモリ２１２に記憶された撓み検知結果とタイムスタンプとを破棄し（ステップＳ１１６）、撓み検出処理を終了する。
【０１３７】
このように、上述した態様によれば、ステップＳ１０８の判定を行うことで、ロボット１が撓みが生じ易い弾力性の低い性質の床面に乗っているか、ロボット１が撓みを生じない性質の床面における窪みがある場所に存在していたか、を判別することができる。
【０１３８】
（ロボット１の自重による撓みの判定）
次に、図１６Ｂ及び図１７を参照して、前記撓み検知結果が、床面に撓みが生じていないことの検知を示す場合（ステップＳ１０６：ＮＯ）に行われる処理について詳述する。
【０１３９】
図１７は、ロボット１がジョイントマット上に接地した直後及び当該接地時点から所定時間経過した時点のそれぞれにおいて、所定の傾き制御量を出力した場合におけるロボット１の傾き角度（ロール角度）の推移の一例を示す図である。図１７において、横軸は、ロボット１がジョイントマット上に接地した時点からの経過時間及び当該接地時点から所定時間経過した時点からの経過時間を示している。縦軸は、ロボット１のロール角度を示している。また、図１７には、計測値の視認性を考慮して、１５００ｍｓまで、１００ｍｓ毎に、１度ずつの左方傾き制御量を出力した場合におけるロール角度の推移の一例を示している。図１７の実線部は、ロボット１がジョイントマット上に接地した時点からの時間経過に伴うロール角度の推移の一例を示している。図１７の破線部は、ロボット１がジョイントマット上に接地した時点から所定時間経過した時点を開始時点とし、当該開始時点からの時間経過に伴うロール角度の推移の一例を示している。
【０１４０】
図１７の実線部に示すように、ロボット１をジョイントマット上に接地すると、ロボット１の自重によって、ジョイントマットとロボット１との接地面に図１３Ｂに示すような撓みが生じ始める。これにより、ロボット１は、左方へ傾くときにロボット１の傾きを妨げる応力を前記接地面から受け始める。また、時間の経過に応じて前記接地面に生じた撓みの程度が大きくなる程、前記接地面から受ける応力も大きくなる。その結果、図１７の実線部に示すように、ロール角度は、ジョイントマット上に接地した直後から左方傾き制御量の増加に応じて次第に増大するが、接地面から応力を受ける影響で、左方傾き制御量が示す傾き角度である１５度よりも小さい６度程度の角度で安定するようになる。
【０１４１】
その後、ロボット１がジョイントマット上に接地した直後から所定時間が経過するまでの間、ロボット１を移動させず、ロボット１の自重によってジョイントマットとロボット１との接地面に生じた撓みが最大限の大きさになったとする。このときに左方傾き制御量の出力を開始すると、ロボット１は、左方傾き制御量の出力の開始当初から、撓みに応じた大きさの応力を受けることになる。その結果、図１７の破線部に示すように、ロール角度は、左方傾き制御量を増加させても僅かにしか増大せず、上述した、ロボット１をジョイントマット上に接地した直後の場合よりも小さい１度程度の角度で安定するようになる。
【０１４２】
このように、ジョイントマット等の低反発性の素材の床面上にロボット１を接地させた場合、当該接地当初は、床面に生じる撓みが小さいために、ロボット１に表現動作を制限なく行わせることができる。しかし、同じ場所でロボット１に表現動作を行わせ続けると、ロボット１の自重によって床面に生じる撓みの程度が大きくなり、ロボット１に表現動作を行わせることができない虞がある。
【０１４３】
このような問題を解決するため、前記撓み検知結果が、床面に撓みが生じていないことの検知を示す場合であっても（ステップＳ１０６：ＮＯ）、ステップＳ１１１以降の処理が行われる。
【０１４４】
具体的には、前記撓み検知結果が、床面に撓みが生じていないことの検知を示す場合（ステップＳ１０６：ＮＯ）、表現動作判断部２１６は、ロボット１が乗っている床面が、表現動作の制限状態ではないことを示す情報をメモリ２１２に記憶する（ステップＳ１１１）。尚、ステップＳ１１１において、既に表現動作の制限状態に関する情報がメモリ２１２に記憶されていた場合、表現動作判断部２１６は、当該記憶されている情報を、表現動作の制限状態ではないことを示す情報によって上書きする。
【０１４５】
次に、場所移動判断部２２０は、メモリ２１２に記憶されている全てのタイムスタンプをメモリ２１２から取得する。場所移動判断部２２０は、現在のタイムスタンプから、前記取得したタイムスタンプのうちの最小のタイムスタンプである、初回の撓み検知結果に対応付けられたタイムスタンプを減算する。場所移動判断部２２０は、当該減算の結果を、初回の撓み検知処理からの経過時間（以降、撓み検知期間）として算出する。場所移動判断部２２０は、撓み検知期間が所定時間に満たない場合（ステップＳ１１２：ＮＯ）、所定のインターバル時間（所定時間の一例）だけ待機することにより、当該インターバル時間の間、ロボット１を現在位置において止まらせる（ステップＳ１１３）。当該インターバル時間が経過すると、ステップＳ１００以降の処理が行われる。これにより、ステップＳ１０２において、床面に撓みが生じているかどうかが検知され、ステップＳ１０５において、撓み検知結果とタイムスタンプとがメモリ２１２に記憶される。
【０１４６】
一方、撓み検知期間が所定時間以上となった場合（ステップＳ１１２：ＹＥＳ）、場所移動判断部２２０は、メモリ２１２に、床面に撓みが生じたことの検知を示す撓み検知結果が２回以上記憶されているか否かを判断する。これにより、場所移動判断部２２０は、ロボット１の自重及び時間の経過により、床面に撓みが発生したかどうかを判断する（ステップＳ１１４）。以下、説明の便宜上、床面に撓みが生じたことの検知を示す撓み検知結果を第１検知結果と記載し、床面に撓みが生じていないことの検知を示す撓み検知結果を第２検知結果と記載する。
【０１４７】
ステップＳ１１４において、第１検知結果が２回以上記憶されていると判断された場合（ステップＳ１１４：ＹＥＳ）、場所移動判断部２２０は、ロボット１の自重及び時間の経過により、床面に撓みが発生したと判断し、ステップＳ１１５を行う（ステップＳ１１５）。
【０１４８】
ステップＳ１１５において、場所移動判断部２２０は、撓みが生じていないと検知される場所にロボット１が到着してから、各第１検知結果が得られるまでに要した時間（以降、自重撓み時間）を算出する。具体的には、場所移動判断部２２０は、メモリ２１２を参照し、各第１検知結果と対応付けられているタイムスタンプから、当該第１検知結果の前の第１検知結果の次に記憶された第２検知結果と対応付けられているタイムスタンプを減算し、当該減算の結果を自重撓み時間とする。そして、場所移動判断部２２０は、当該算出した各自重撓み時間の平均値を、ロボット１が乗っている床面が、表現動作が制限される程度に撓むと判断されるまでの平均時間（以降、自重撓み平均時間）として算出し、当該算出した自重撓み平均時間をメモリ２１２に記憶する（ステップＳ１１５）。
【０１４９】
図１８は、撓み判断部２１５がメモリ２１２に記憶した撓み検知結果とタイムスタンプの一例を示す図である。例えば、撓み判断部２１５が、ステップＳ１０５（図１６Ａ）を７回行った結果、図１８に示すように、撓み検知結果とタイムスタンプとがメモリ２１２に記憶されているものとする。
【０１５０】
この場合、ステップＳ１１５において、場所移動判断部２２０は、右中括弧２３０に示すように、処理回数「４」の第１検知結果と対応付けられているタイムスタンプ「４０００」から、当該第１検知結果の前の処理回数「１」の第１検知結果の次に記憶された処理回数「２」の第２検知結果と対応付けられているタイムスタンプ「２０００」を減算する。そして、場所移動判断部２２０は、当該減算の結果「２０００（＝４０００−２０００）」を自重撓み時間とする。
【０１５１】
同様に、場所移動判断部２２０は、右中括弧２３１に示すように、処理回数「６」の第１検知結果と対応付られているタイムスタンプ「６０００」から、当該第１検知結果の前の処理回数「４」の第１検知結果の次に記憶された処理回数「５」の第２検知結果と対応付られているタイムスタンプ「５０００」を減算する。そして、場所移動判断部２２０は、当該減算の結果「１０００（＝６０００−５０００）」を自重撓み時間とする。
【０１５２】
そして、場所移動判断部２２０は、当該算出した二個の自重撓み時間の平均値「１５００（＝（２０００＋１０００）／２）」を自重撓み平均時間として算出し、当該算出した自重撓み平均時間「１５００」をメモリ２１２に記憶する。
【０１５３】
ステップＳ１１５の後、主制御部２０２は、ステップＳ１０５でメモリ２１２に記憶された撓み検知結果とタイムスタンプとを破棄し（ステップＳ１１５）、撓み検出処理を終了する。また、ステップＳ１１４において、第１検知結果が２回以上記憶されていると判断されなかった場合（ステップＳ１１４：ＮＯ）も、主制御部２０２は、ステップＳ１０５でメモリ２１２に記憶された撓み検知結果とタイムスタンプとを破棄し（ステップＳ１１５）、撓み検出処理を終了する。
【０１５４】
（ロボット１の表現動作の制限についての詳細）
次に、図１９及び図２０を参照しつつ、撓み検出結果に基づく、ロボット１の表現動作の制限について詳述する。図１９は、撓み検出処理が開始されるまでに行われる処理を示すフローチャートである。図２０は、撓み検出処理の開始後、ロボット１に対する割り込み処理が発生したときに行われる処理を示すフローチャートである。
【０１５５】
図１９に示すように、ロボット１は、ユーザから動作指示を受けるまでの間、所定の思考ルーチンに基づいて徘徊する。具体的には、傾き制御部２１３は、左方傾き制御量及び右方傾き制御量をランダムに生成し、生成した左方傾き制御量又は右方傾き制御量を、重り駆動機構制御部２０９へ出力する。また、駆動制御部２１４は、前進制御量をランダムに生成し、当該生成した前進制御量を、筐体駆動機構制御部２０７へ出力する（ステップＳ２０１）。
【０１５６】
ステップＳ２０１においてロボット１の徘徊を開始した後、人物推定部２１８は、人物推定処理を行う（ステップＳ２０２）。具体的には、人物推定部２１８は、上述したように、ステップＳ２０２の人物推定処理において、センサ情報処理部２１９によってメモリ２１２に記憶された顔認識結果とメモリ２１２に予め登録されたユーザの顔に関連する顔情報とを使用する公知のパターンマッチング処理を行う。これにより、人物推定部２１８は、センサ情報処理部２１９が顔認識結果の導出に用いたカメラ１０４の撮影画像に含まれる人物を推定する。ステップＳ２０２において、予めメモリ２１２に記憶されている所定のユーザが推定されなかった場合（ステップＳ２０３：ＮＯ）、ステップＳ２０１以降の処理が行われる。
【０１５７】
ステップＳ２０２において、前記所定のユーザが推定された場合（ステップＳ２０３：ＹＥＳ）、センサ情報処理部２１９は、メモリ２１２に記憶されている顔認識結果から、ステップＳ２０２で推定された人物の位置を示す情報を取得する。そして、センサ情報処理部２１９は、当該取得した情報を、前記所定のユーザの位置を示す情報として、傾き制御部２１３及び駆動制御部２１４へ出力する。傾き制御部２１３は、ロボット１が現在位置から前記所定のユーザの位置まで移動するために必要な左方傾き制御量又は右方傾き制御量を生成し、重り駆動機構制御部２０９へ出力する。駆動制御部２１４は、ロボット１が現在位置から前記所定のユーザの位置まで移動するために必要な前進制御量又は後進制御量を生成し、筐体駆動機構制御部２０７へ出力する（ステップＳ２０４）。
【０１５８】
センサ情報処理部２１９は、距離センサ１０５を用いて前記ユーザとの離間距離を取得する（ステップＳ２０５）。ステップＳ２０５で取得された離間距離が所定距離よりも長い場合（ステップＳ２０６：ＮＯ）、ステップＳ２０４以降の処理が行われる。これにより、ロボット１は、前記ユーザとの離間距離が所定距離より短くなるように移動する。
【０１５９】
その後、ステップＳ２０５で取得された離間距離が所定距離よりも短くなると（ステップＳ２０６：ＹＥＳ）、駆動制御部２１４は、停止制御量を筐体駆動機構制御部２０７へ出力することで、ロボット１を停止させる（ステップＳ２０７）。
【０１６０】
ステップＳ２０７の後、ロボット１は、前記ユーザに対して、ロボット１の接近を気付かせる発話を行う（ステップＳ２０８）。具体的には、ステップＳ２０８において、発話文生成部２１７は、例えば「遊ぼう」及び／又は「何しているの」といった、前記ユーザにロボット１の接近を気づかせる内容の所定の発話文を生成し、センサ情報処理部２１９へ出力する。センサ情報処理部２１９は、当該発話文を音声データへと変換し、当該音声データをスピーカー１０７から出力する。
【０１６１】
ステップＳ２０８の後、主制御部２０２は、撓み検出処理を実行する（ステップＳ２０９）。当該撓み検出処理では、ステップＳ１００（図１６Ａ）においてロボット１を左方又は右方に傾けた後、ステップＳ１０１〜ステップＳ１０３においてロボット１が乗っている床面が撓むかどうかを判断し、ステップＳ１０４においてロボット１を元の姿勢に戻す。つまり、ロボット１を左右に揺らす動作をロボット１に実行させ、ロボット１を左右に揺らす動作を実行しているときに、ロボット１が乗っている床面が撓むかどうかを判断する。これにより、例えば、人が首を傾げて前記ユーザに尋ねるような仕草をしたときと同様な印象を、前記ユーザに与えながら、効率よく、ロボット１が乗っている床面が撓むかどうかを判断することができる。
【０１６２】
（割込処理の受け付け時に行われる処理）
次に、主制御部２０２が撓み検出処理中に割込処理を受け付けたときに行われる処理について詳述する。上述したように、撓み検出処理では、ロボット１を傾け、ロボット１のロール角度を取得し、床面に撓みが生じているかどうかの検知を行う（ステップＳ１００〜ステップＳ１０５）。この１回の撓みの検知（ステップＳ１００〜ステップＳ１０５）は、重り１１４の移動時間、つまり、第３モータ１２５のスペックと主制御部２０２の処理能力等に依存するが、１秒に満たない時間で十分に実行可能である。
【０１６３】
一方、主制御部２０２が、割込処理を受け付けた後、当該割込処理を実行するまでには、少なくとも、ユーザが行った発話又はジェスチャ動作等のアクションから、当該アクションに対応する割込処理の内容を把握するのに要する時間が必要である。例えば、ユーザが割込処理の実行を指示する発話をした場合、前記発話の開始から終了までの時間と、前記発話の内容の音声認識処理に要する時間と、を合わせた時間が必要である。当該時間が１秒以上であれば、撓みの検知（ステップＳ１００〜ステップＳ１０５）は、割込処理が実行されるまでの間に少なくとも１回は実行可能である。
【０１６４】
以上のことから、割込処理の実行時には、少なくとも１回は撓みの検知（ステップＳ１００〜ステップＳ１０５）が行われ、その後のステップＳ１０７又はステップＳ１１１において、メモリ２１２には、床面が表現動作の制限状態であるか否かを示す情報が記憶されていると考えられる。
【０１６５】
そこで、以下では、撓み検出処理中に、ユーザが、割込処理として、表現動作の実行を指示する発話を行ったときに行われる処理について、図２０を参照して詳述する。図２０は、撓み検出処理中に割込処理が受け付けられたときに行われる処理を示すフローチャートである。
【０１６６】
撓み検出処理中に、ユーザが、割込処理として、表現動作の実行を指示する発話を行ったとする。これにより、図２０に示すように、センサ情報処理部２１９が表現動作（第１動作の一例）の実行指示を受け付けると（ステップＳ２１０：ＹＥＳ）、表現動作判断部２１６は、メモリ２１２から、床面が表現動作の制限状態であるか否かを示す情報を取得する（ステップＳ２１１）。
【０１６７】
具体的には、ステップＳ２１０では、センサ情報処理部２１９は、マイク１０６が取得したユーザの発話を示す音声信号に対して音声認識処理を行う。センサ情報処理部２１９（検知部の一例）は、当該音声認識処理の結果、ユーザの発話の内容に表現動作（例えば「踊りＡ」）の実行指示が含まれていることを認識した場合に、表現動作の実行指示を受け付ける。尚、割込処理の実行指示の受付方法は、これに限らない。例えば、センサ情報処理部２１９が、カメラ１０４が取得した動画像に対して公知のモーショントラッキング等の処理を行うことで、ユーザが所定のジェスチャ動作を行ったことを認識した場合に、当該ジェスチャ動作に対応する表現動作の実行指示を受け付けても良い。
【０１６８】
ステップＳ２１１の後、表現動作判断部２１６は、メモリ２１２に予め記憶されている表現動作テーブル（図１５）とステップＳ２１１で取得した情報とから、ステップＳ２１０で受け付けられた表現動作の実行が制限されているかどうかを判定する（ステップＳ２１２）。
【０１６９】
具体的には、ステップＳ２１１で取得した情報が、床面が表現動作の制限状態であることを示していたとする。この場合、ステップＳ２１２において、表現動作判断部２１６は、表現動作テーブル（図１５）において、ステップＳ２１０で受け付けられた表現動作の動作名（例えば「踊りＢ」）に対応付けられている制限時実行可否情報（例えば「ＴＲＵＥ」）を参照する。
【０１７０】
表現動作判断部２１６は、当該参照した制限時実行可否情報が、ロボット１が表現動作を実行できること（「ＴＲＵＥ」）を示す場合、ステップＳ２１０で受け付けられた表現動作の実行は制限されていないと判定する（ステップＳ２１２：ＮＯ）。一方、表現動作判断部２１６は、当該参照した制限時実行可否情報が、ロボット１が表現動作を実行できないこと（「ＦＡＬＳＥ」）を示す場合、ステップＳ２１０で受け付けられた表現動作の実行は制限されていると判定する（ステップＳ２１２：ＹＥＳ）。
【０１７１】
また、ステップＳ２１１で取得した情報が、床面が表現動作の制限状態ではないことを示していたとする。この場合、ステップＳ２１２において、表現動作判断部２１６は、ステップＳ２１０で受け付けられた表現動作の実行は制限されていないと判定する（ステップＳ２１２：ＮＯ）。この場合、主制御部２０２は、ステップＳ２１０で受け付けられた表現動作を実行する（ステップＳ２１６）。
【０１７２】
一方、ステップＳ２１２において、ステップＳ２１０で受け付けられた表現動作の実行は動作制限されていると判定された場合（ステップＳ２１２：ＹＥＳ）、表現動作判断部２１６は、ステップＳ２１０で受け付けられた表現動作に代えて実行可能な表現動作（以降、代替表現動作（第２動作の一例））があるかどうかを判定する（ステップＳ２１３）。
【０１７３】
具体的には、ステップＳ２１３において、表現動作判断部２１６は、メモリ２１２に予め記憶されている表現動作テーブル（図１５）を参照し、ステップＳ２１０で受け付けられた表現動作の動作名（例えば「踊りＡ」）に対応付けられている属性（例えば「踊り」）と同じ属性と、ロボット１が表現動作を実行できること（「ＴＲＵＥ」）を示す制限時実行可否情報と、に対応付けられている動作名（例えば「踊りＢ」）が存在するかどうかを判断する。ここで、表現動作判断部２１６は、前記対応付けられている動作名が存在すると判断した場合、代替表現動作があると判定する（ステップＳ２１３：ＹＥＳ）。この場合、表現動作判断部２１６は、前記対応付けられている動作名の表現動作を代替表現動作として特定する。一方、前記対応付けられている動作名が存在しないと判断した場合、代替表現動作はないと判定する（ステップＳ２１３：ＮＯ）。
【０１７４】
尚、表現動作判断部２１６は、前記対応付けられている動作名が複数存在する場合、当該複数存在する動作名のうち、対応付けられている必要稼働角度が最大である動作名を選択し、当該選択した動作名の表現動作を代替表現動作として特定すればよい。または、表現動作判断部２１６は、前記対応付けられている動作名が複数存在する場合、当該複数存在する動作名のうち、対応付けられている必要稼働角度が最小である動作名を選択するようにしてもよい。または、表現動作テーブル（図１５）において、更に、各表現動作を実行する優先順位を対応付けるようにしてもよい。そして、表現動作判断部２１６は、前記対応付けられている動作名が複数存在する場合、当該複数存在する動作名のうち、最も高い優先順位が対応付けられている動作名を選択するようにしてもよい。
【０１７５】
表現動作判断部２１６は、ステップＳ２１３において代替表現動作がないと判定した場合（ステップＳ２１３：ＮＯ）、ロボット１を別の場所に移動することをユーザに提案する（ステップＳ２１５）。
【０１７６】
具体的には、ステップＳ２１５において、表現動作判断部２１６は、ロボット１の場所の移動を提案する発話コマンドを発話文生成部２１７へ出力する。発話文生成部２１７は、当該発話コマンドを受け取ると、例えば「この場所で踊りＡを実行できないから、別の場所に移動しよう」といった、ステップＳ２１０で受け付けられた表現動作が実行できないことと、特定の場所であればステップＳ２１０で受け付けられた表現動作を実行可能である旨を伝える発話文（以降、第１提案発話文）を生成し、センサ情報処理部２１９に出力する。センサ情報処理部２１９は、第１提案発話文を音声データへと変換し、スピーカー１０７から出力する。このため、ステップＳ２１０で受け付けられた表現動作を指示したユーザは、ロボット１が指示した表現動作を実行できず、別の場所に移動したがっていることを容易に把握することができる。これにより、当該ユーザによって、ロボット１が故障していると捉えられる可能性を低減することができる。
【０１７７】
尚、ステップＳ２１５において、別の場所に移動することをユーザに提案する方法は、上述した方法に限らない。例えば、表現動作判断部２１６が、場所の移動を提案する発話コマンドを表示情報出力制御部２０３に出力するようにしてもよい。そして、表示情報出力制御部２０３が、当該発話コマンドを受け取ると、第１提案発話文を示す画像を生成し、表示部２０４に出力するようにしてもよい。また、表現動作判断部２１６が、場所の移動を提案する発話コマンドを、表示情報出力制御部２０３及び発話文生成部２１７に出力するようにしてもよい。
【０１７８】
また、ステップＳ２１５において、発話文生成部２１７は、ステップＳ２１０で受け付けられた表現動作が実行できないことを伝える発話文を、第１提案発話文に含めないようにしてもよい。
【０１７９】
一方、表現動作判断部２１６は、ステップＳ２１３において代替表現動作があると判定した場合（ステップＳ２１３：ＹＥＳ）、当該代替表現動作を実行することをユーザに提案する（ステップＳ２１４）。
【０１８０】
具体的には、ステップＳ２１４において、表現動作判断部２１６は、ステップＳ２１３で特定した代替表現動作の実行を提案する発話コマンドを発話文生成部２１７へ出力する。発話文生成部２１７は、当該発話コマンドを受け取ると、例えば「この場所だと踊りＡは実行できないけど、踊りＢならできるよ」といった、ステップＳ２１０で受け付けられた表現動作が実行できないことと、ステップＳ２１３で特定された代替表現動作であれば実行可能である旨を伝える発話文（以降、第２提案発話文）を生成し、センサ情報処理部２１９に出力する。センサ情報処理部２１９は、第２提案発話文を音声データへと変換し、スピーカー１０７から出力する。これにより、ステップＳ２１０で受け付けられた表現動作を指示したユーザは、ロボット１が指示した表現動作を実行できず、別の場所に移動したがっていることを容易に把握することができる。その結果、当該ユーザによって、ロボット１が故障していると捉えられる可能性を低減することができる。
【０１８１】
尚、ステップＳ２１４において、代替表現動作の実行をユーザに提案する方法は、上述した方法に限らない。例えば、表現動作判断部２１６が、代替表現動作の実行を提案する発話コマンドを表示情報出力制御部２０３に出力するようにしてもよい。そして、表示情報出力制御部２０３が、当該発話コマンドを受け取ると、第２提案発話文を示す画像を生成し、表示部２０４に出力するようにしてもよい。また、表現動作判断部２１６が、代替表現動作の実行を提案する発話コマンドを、表示情報出力制御部２０３及び発話文生成部２１７に出力するようにしてもよい。
【０１８２】
また、ステップＳ２１４において、発話文生成部２１７は、ステップＳ２１０で受け付けられた表現動作が実行できないことを伝える発話文を、第２提案発話文に含めないようにしてもよい。
【０１８３】
または、ステップＳ２１４において、表現動作判断部２１６が、代替表現動作を実行することをユーザに提案することに代えて、代替表現動作を実行するようにしてもよい。この場合、ステップＳ２１０で受け付けられた表現動作を指示したユーザは、ロボット１が、自身が指示した動作と類似する代替表現動作を実行しているので、ロボット１が故障していないことを容易に把握することができる。
【０１８４】
（ロボット１の自重により生じた撓みによる表現動作の制限の回避方法）
次に、図２１を参照しつつ、ロボット１の自重及び時間の経過によってロボット１が乗っている床面に撓みが生じた場合における表現動作の制限の回避方法について説明する。図２１は、ロボット１の自重及び時間経過によってロボット１が乗っている床面に撓みが生じた場合における表現動作の制限を回避する処理を示すフローチャートである。
【０１８５】
上述のように、ステップＳ２０９（図１９）において撓み検知処理が実行され、ステップＳ１１４（図１６Ｂ）において第１検知結果が２回以上記憶されていると判断されたことにより（ステップＳ１１４：ＹＥＳ）、場所移動判断部２２０が、ロボット１の自重及び時間の経過により、床面に撓みが発生したと判断し、ステップＳ１１５を行ったとする。この場合、自重撓み平均時間が算出され、メモリ２１２に記憶される。
【０１８６】
このように、ステップＳ１１５（図１６Ｂ）においてメモリ２１２に自重撓み平均時間が記憶された場合、ロボット１が当該自重撓み平均時間以上移動せずに停止していると、ロボット１が乗っている床面に表現動作が制限される程度の撓みが出現すると考えられる。このため、主制御部２０２は、図２１に示すフローに従って各処理を実行することにより、当該撓みが生じたことが原因で表現動作が制限されることを回避する。
【０１８７】
具体的には、図２１に示すように、ステップＳ１１５（図１６Ｂ）においてメモリ２１２に自重撓み平均時間が記憶されると（ステップＳ３００：ＹＥＳ）、場所移動判断部２２０は、時間の計測を開始する（ステップＳ３０１）。その後、当該計測された時間（以降、計測時間）がメモリ２１２に記憶されている自重撓み平均時間を超過したとする（ステップＳ３０２：ＹＥＳ）。
【０１８８】
この場合、場所移動判断部２２０は、計測時間を初期化し（０に戻し）（ステップＳ３０３）、ロボット１を床面に生じた撓みから脱出させるために、ロボット１を所定距離前進させる（ステップＳ３０４）。具体的には、ステップＳ３０４において、場所移動判断部２２０は、ロボット１を所定距離前進させるためのコマンドを駆動制御部２１４へ出力する。駆動制御部２１４は、当該コマンドを受け取ると、ロボット１を所定距離前進させるのに必要な前進制御量を生成し、筐体駆動機構制御部２０７へ出力する（ステップＳ３０４）。そして、筐体駆動機構制御部２０７は停止制御量を生成し、駆動制御部２１４へ出力する（ステップＳ３０５）。
【０１８９】
尚、ステップＳ３０４において、駆動制御部２１４は、ステップＳ１０９（図１６Ｂ）と同様、所定距離がロボット１の直径以上となるような前進制御量を生成する。また、ステップＳ３０４において、場所移動判断部２２０が、ロボット１を所定距離後進させるためのコマンドを駆動制御部２１４へ出力するようにしてもよい。この場合、駆動制御部２１４は、所定距離がロボット１の直径以上となるような後進制御量を生成すればよい。これにより、ロボット１を、少なくともロボット１の直径以上の距離移動させ、ロボット１の自重によって撓みが生じると考えられる場所から脱出させることができる。その結果、ロボット１の表現動作が制限されることを回避できる。
【０１９０】
前記計測時間がメモリ２１２に記憶されている自重撓み平均時間を超過していない場合に（ステップＳ３０２：ＮＯ）、場所移動判断部２２０が前記ユーザから表現動作の実行指示を受け付けていないときは（ステップＳ３０６：ＮＯ）、ステップＳ３０２以降の処理が行われる。
【０１９１】
一方、前記計測時間がメモリ２１２に記憶されている自重撓み平均時間を超過していない場合に（ステップＳ３０２：ＮＯ）、主制御部２０２が前記ユーザから表現動作（以降、受付表現動作）の実行指示を受け付けていたとする（ステップＳ３０６：ＹＥＳ）。この場合、場所移動判断部２２０は、計測時間と受付表現動作の実行に要する時間との合計時間が、自重撓み平均時間を超過するかどうかを判定する（ステップＳ３０７）。
【０１９２】
具体的には、ステップＳ３０７において、場所移動判断部２２０は、メモリ２１２に予め記憶されている表現動作テーブル（図１５）において、受付表現動作の動作名に対応付けられている動作時間を取得する。そして、場所移動判断部２２０は、当該取得した動作時間と計測時間との合計時間が、自重撓み平均時間を超過するかどうかを判定する。
【０１９３】
前記合計時間が自重撓み平均時間を超過する場合、受付表現動作が終了するまでの間に、ロボット１の自重で床面に撓みが生じると考えられる。このため、場所移動判断部２２０は、ステップＳ３０７において、前記合計時間が自重撓み平均時間を超過すると判定した場合（ステップＳ３０７：ＹＥＳ）、ステップＳ３０４と同様にして、ロボット１を所定距離前進させる（ステップＳ３０８）。そして、筐体駆動機構制御部２０７は、ステップＳ３０５と同様のステップＳ３０９を行う（ステップＳ３０９）。
【０１９４】
尚、ステップＳ３０８において、駆動制御部２１４は、ステップＳ３０４と同様、所定距離がロボット１の直径以上となるような前進制御量を生成する。また、ステップＳ３０８において、場所移動判断部２２０が、ロボット１を所定距離後進させるためのコマンドを駆動制御部２１４へ出力するようにしてもよい。この場合、駆動制御部２１４は、所定距離がロボット１の直径以上となるような後進制御量を生成すればよい。これにより、ロボット１を、少なくともロボット１の直径以上の距離移動させ、ロボット１の自重によって撓みが生じると考えられる場所から脱出させることができる。その結果、ロボット１の表現動作が制限されることを回避できる。
【０１９５】
ステップＳ３０９の後、主制御部２０２は、受付表現動作を実行する（ステップＳ３１０）。また、主制御部２０２は、ステップＳ３０７において前記合計時間が自重撓み平均時間を超過しないと判定された場合にも（ステップＳ３０７：ＮＯ）、受付表現動作を実行する（ステップＳ３１０）。
【０１９６】
そして、ステップＳ３０５の後及びステップＳ３１０の後、主制御部２０２は、ロボット１とユーザとのインタラクションが終了したかどうかを判定する（ステップＳ３０６）。
【０１９７】
具体的には、主制御部２０２は、受付表現動作の実行指示を受け付けた後、マイク１０６が取得したユーザの発話を示す音声信号に対して音声認識処理を行う。主制御部２０２は、当該音声認識処理の結果、ユーザの発話の内容に、ロボット１とのインタラクションを終了する指示が含まれていることを認識した場合、ロボット１とのインタラクションを終了したことを示す情報をメモリ２１２に記憶する。また、主制御部２０２は、受付表現動作の実行指示を受け付けた後、距離センサ１０５を用いて取得したユーザとの離間距離が、所定距離よりも長くなった場合、ロボット１とのインタラクションを終了したことを示す情報をメモリ２１２に記憶する。
【０１９８】
そして、主制御部２０２は、ステップＳ３０５の後及びステップＳ３１０の後、メモリ２１２にロボット１とのインタラクションを終了したことを示す情報が記憶されているときは、ロボット１とユーザとのインタラクションが終了したと判定する（ステップＳ３０６：ＹＥＳ）。一方、主制御部２０２は、ステップＳ３０５の後及びステップＳ３１０の後、メモリ２１２にロボット１とのインタラクションを終了したことを示す情報が記憶されていないときは、ロボット１とユーザとのインタラクションが終了していないと判定する（ステップＳ３０６：ＮＯ）。
【０１９９】
ステップＳ３０６において、ロボット１とユーザとのインタラクションが終了していないと判定された場合（ステップＳ３０６：ＮＯ）、ステップＳ３０１以降の処理が行われる。一方、ステップＳ３０６において、主制御部２０２は、ロボット１とユーザとのインタラクションが終了したと判定した場合（ステップＳ３０６：ＹＥＳ）、図２１に示す処理を終了する。
【０２００】
（変形実施形態）
尚、上記実施形態は、本開示に係る実施形態の例示に過ぎず、本開示を上記実施形態に限定する趣旨ではない。例えば、以下に示す変形実施形態であってもよい。尚、以降の説明では、上述した構成要素と同様の構成要素については、同じ符号を付し、その説明を省略する。
【０２０１】
（１）ステップＳ１０２（図１６Ａ）において、撓み判断部２１５が、ステップＳ１０１（図１６Ａ）で取得したロール角度と、閾値として設定された複数の角度と、を比較するようにしてもよい。これにより、撓み判断部２１５が、ステップＳ１０１（図１６Ａ）で取得したロール角度が複数の角度のうちのどの角度より大きいかによって、床面に生じている撓みの程度を段階的に判断するようにしてもよい。
【０２０２】
例えば、ステップＳ１０２において、撓み判断部２１５が、ステップＳ１０１で取得したロール角度と、閾値として設定された第１の角度と、閾値として設定された第１の角度よりも大きい第２の角度と、を比較するとする。この場合、ステップＳ１０１で取得したロール角度が、第１の角度よりも大きい場合、撓み判断部２１５は、ロボット１が乗っている床面に撓みが生じていることを検知するとともに、当該撓みの程度が第１の角度に対応する第１の程度であると判断するようにしてもよい。一方、ステップＳ１０１で取得したロール角度が、第２の角度よりも大きい場合、撓み判断部２１５は、ロボット１が乗っている床面に撓みが生じていることを検知するとともに、当該撓みの程度が第２の角度に対応する第１の程度よりも大きい第２の程度であると判断するようにしてもよい。
【０２０３】
これに合わせて、ステップＳ２１２（図２０）において、表現動作判断部２１６が、表現動作テーブル（図１５）と、ステップＳ２１１（図２０）で取得した、床面が表現動作の制限状態であるか否かを示す情報と、だけでなく、更に、上記ステップＳ１０２で判断された撓みの程度を用いて、ステップＳ２１０で受け付けられた表現動作の実行が制限されているかどうかを判定するようにしてもよい。
【０２０４】
例えば、表現動作テーブル（図１５）において、ステップＳ２１０で受け付けられた表現動作の動作名に対応付けられている制限時実行可否情報が、ロボット１が表現動作を実行できないこと（「ＦＡＬＳＥ」）を示していたとする。この場合、ステップＳ２１２（図２０）において、表現動作判断部２１６は、更に、本変形実施形態のステップＳ１０２で判断された撓みの程度が、所定の程度（例えば、第２の程度）より小さいか否かを判断するようにしてもよい。そして、表現動作判断部２１６は、前記撓みの程度が前記所定の程度よりも小さければ、ステップＳ２１０で受け付けられた表現動作の実行は制限されていないと判定するようにしてもよい。
【０２０５】
又は、ステップＳ１０２（図１６Ａ）において、撓み判断部２１５が、ステップＳ１０１（図１６Ａ）で取得したロール角度が閾値として設定された所定の角度よりも大きく、ロボット１が乗っている床面に撓みが生じていることを検知した場合に、更に、前記ロール角度と前記所定の角度との差分を当該撓みの程度として算出するようにしてもよい。これにより、撓み判断部２１５が、当該差分が大きいほど、床面に生じた撓みの程度が大きいと判断するようにしてもよい。
【０２０６】
この場合も、ステップＳ２１２（図２０）において、表現動作判断部２１６が、更に、当該ステップＳ１０２で算出された撓みの程度を用いて、ステップＳ２１０で受け付けられた表現動作の実行が制限されているかどうかを判定するようにしてもよい。
【０２０７】
例えば、表現動作テーブル（図１５）において、ステップＳ２１０で受け付けられた表現動作の動作名に対応付けられている制限時実行可否情報が、ロボット１が表現動作を実行できないこと（「ＦＡＬＳＥ」）を示していたとする。この場合、ステップＳ２１２（図２０）において、表現動作判断部２１６は、上記ステップＳ１０２で算出された撓みの程度が、所定の程度より小さければ、ステップＳ２１０で受け付けられた表現動作の実行は制限されていないと判定するようにしてもよい。
【０２０８】
（２）角速度センサ１２０（図３）に代えて、上記３つの方向軸（図１１）に沿う方向の加速度を検知する加速度センサ（第１センサーの一例）をフレーム１１９（図３）に備えても良い。これに合わせて、主制御部２０２のセンサ情報処理部２１９（図１０）は、当該加速度センサにより検知された、Ｘ軸に沿う方向（ロール方向）の加速度、Ｙ軸に沿う方向（ピッチ方向）の加速度（第１センサーの検知結果の一例）及びＺ軸に沿う方向（ヨー方向）の加速度それぞれの累積値を、メイン筐体１０１のロール方向の移動距離、ピッチ方向の移動距離及びヨー方向の移動距離として、メモリ２１２に蓄積するようにしてもよい。
【０２０９】
そして、ステップＳ１０１（図１６Ａ）では、メモリ２１２に記憶されているピッチ方向の移動距離がロボット１の傾きの変化量を示しているものとして、撓み判断部２１５が、メモリ２１２から当該ピッチ方向の移動距離（以降、ピッチ距離）を取得するようにしてもよい。そして、ステップＳ１０２（図１６Ａ）では、撓み判断部２１５が、上記ステップＳ１０１で取得したピッチ距離（測定値の一例）が、閾値として設定された所定の距離（参照値の一例）よりも大きい場合、ロボット１が乗っている床面に撓みが生じていないことを検知し、前記ピッチ距離が所定の距離よりも小さい場合、ロボット１が乗っている床面に撓みが生じていることを検知するようにしてもよい。
【産業上の利用可能性】
【０２１０】
本開示のロボットは、ユーザとのインタラクションの機会が多い家庭向けのロボットとして有用である。
【符号の説明】
【０２１１】
１        ：ロボット
１０１    ：メイン筐体（筐体）
１０２    ：第１球冠部（筐体）
１０３    ：第２球冠部（筐体）
１０４    ：カメラ（第２センサー）
１０７    ：スピーカー
１０８    ：第１表示部（ディスプレイ）
１０９    ：第２表示部（ディスプレイ）
１１０    ：第３表示部（ディスプレイ）
１１４    ：重り
１２０    ：角速度センサ（第１センサー）
２０４    ：表示部（ディスプレイ）
２０８    ：筐体駆動機構（駆動機構）
２１０    ：重り駆動機構（重心移動機構）
２１９    ：センサ情報処理部（検知部）
２２４、２２７    ：床面
【図１Ａ】
2020179005.tif 000003
【図１Ｂ】
2020179005.tif 000004
【図２】
2020179005.tif 000005
【図３】
2020179005.tif 000006
【図４】
2020179005.tif 000007
【図５】
2020179005.tif 000008
【図６Ａ】
2020179005.tif 000009
【図６Ｂ】
2020179005.tif 000010
【図６Ｃ】
2020179005.tif 000011
【図７Ａ】
2020179005.tif 000012
【図７Ｂ】
2020179005.tif 000013
【図８Ａ】
2020179005.tif 000014
【図８Ｂ】
2020179005.tif 000015
【図９】
2020179005.tif 000016
【図１０】
2020179005.tif 000017
【図１１】
2020179005.tif 000018
【図１２Ａ】
2020179005.tif 000019
【図１２Ｂ】
2020179005.tif 000020
【図１２Ｃ】
2020179005.tif 000021
【図１３Ａ】
2020179005.tif 000022
【図１３Ｂ】
2020179005.tif 000023
【図１３Ｃ】
2020179005.tif 000024
【図１４】
2020179005.tif 000025
【図１５】
2020179005.tif 000026
【図１６Ａ】
2020179005.tif 000027
【図１６Ｂ】
2020179005.tif 000028
【図１７】
2020179005.tif 000029
【図１８】
2020179005.tif 000030
【図１９】
2020179005.tif 000031
【図２０】
2020179005.tif 000032
【図２１】
2020179005.tif 000033