(57)【要約】【課題】障害物の隙間を広げることによって走行路を確保する。【解決手段】制御回路は、メイン筐体を回転させてロボットが走行している時に、センサーによって検知された値が所定値以上であった場合は、重り駆動機構を制御して重力方向を軸として重りを左右に傾けて、ロボットをローリング運動させ、ロボットがローリング運動する前のロボットの座標からロボットがローリング運動した後のロボットの座標が変化しているか否かに基づいて、ロボットが前進したか否か判断し、ロボットが前進していると判断した場合は、メイン筐体を回転させてロボットを表示部が向いている方向に走行させる。【選択図】図１Ａ
2020058596.tif 000002
【特許請求の範囲】
【請求項１】
ロボットであって、
球体の第１側部と前記第１側部に対向する第２側部とをカットした球帯状のメイン筐体と、
前記第１側部に対応する第１球冠部と、
前記第２側部に対応する第２球冠部と、
前記第１球冠部と前記第２球冠部とを連結するシャフトと、
前記シャフトにアームを介して取り付けられた、少なくともロボットの顔の一部を表示する表示部と、
前記メイン筐体の内部に設けられ前記シャフトと直交する重りの軸を中心に回転する重りと、
前記シャフトの回転により前記第１球冠部及び前記第２球冠部を回転させる第１駆動機構と、
前記第１駆動機構から独立し、前記シャフトを中心に前記メイン筐体を回転させる第２駆動機構と、
前記重りの軸回りに前記重りを回転させる重り駆動機構と、
前記ロボットの姿勢もしくは動きを検知するセンサーと、
制御回路と、を備え、
前記制御回路は、
前記メイン筐体を回転させて前記ロボットが走行している時に、前記センサーによって検知された値が所定値以上であった場合は、前記重り駆動機構を制御して重力方向を軸として重りを左右に傾けて、前記ロボットをローリング運動させ、
前記ロボットが前記ローリング運動する前の前記ロボットの座標から前記ロボットが前記ローリング運動した後の前記ロボットの座標が変化しているか否かに基づいて、前記ロボットが前進したか否か判断し、
前記ロボットが前進していると判断した場合は、前記メイン筐体を回転させて前記ロボットを前記表示部が向いている方向に走行させる、
ロボット。
【請求項２】
前記制御回路は、
前記ロボットが前進していないと判断した場合は、前記ロボットが前記ローリング運動を開始した時の速度に第１速度ずつ加算した速度で前記ロボットを繰り返し前記ローリング運動させ、
前記第１速度ずつ加算した速度が所定速度になる、もしくは、前記ロボットが前進していると判断するまで、前記重り駆動機構を制御して前記ロボットを繰り返し前記ローリング運動させる、
請求項１記載のロボット。
【請求項３】
前記第１速度ずつ加算した速度が前記所定速度になった場合は、
前記制御回路は、
前記第２駆動機構を制御して前記メイン筐体を逆回転させて走行させ、
前記重り駆動機構を制御して前記ロボットを左もしくは右に傾けさせながら、前記第２駆動機構を制御して前記メイン筐体を逆回転させて前記ロボットを旋回させる、
請求項２記載のロボット。
【請求項４】
前記制御回路は、
前記ロボットが前進していないと判断した場合は、前記ロボットが前記ローリング運動を開始した時の傾き角度に第１角度ずつ加算した角度で前記ロボットを繰り返し前記ローリング運動させ、
前記第１角度ずつ加算した角度が所定角度になる、もしくは、前記ロボットが前進していると判断するまで、前記重り駆動機構を制御して前記ロボットを繰り返し前記ローリング運動させる、
請求項１記載のロボット。
【請求項５】
前記第１角度ずつ加算した角度が前記所定角度になった場合は、
前記制御回路は、
前記第２駆動機構を制御して前記メイン筐体を逆回転させて走行させ、
前記重り駆動機構を制御して前記ロボットを左もしくは右に傾けさせながら、前記第２駆動機構を制御して前記メイン筐体を逆回転させて前記ロボットを旋回させる、
請求項４記載のロボット。
【請求項６】
前記メイン筐体を回転させて前記ロボットが走行している時に、前記センサーによって検知された値が所定値以上であった場合は、
前記制御回路は、前記第２駆動機構を制御して前記メイン筐体の回転を停止させた後に、前記ロボットを前記ローリング運動させる、
請求項１記載のロボット。
【請求項７】
ロボットであって、
球体の第１側部と前記第１側部に対向する第２側部とをカットした球帯状のメイン筐体と、
前記第１側部に対応する第１球冠部と、
前記第２側部に対応する第２球冠部と、
前記第１球冠部と前記第２球冠部とを連結するシャフトと、
前記シャフトにアームを介して取り付けられた、少なくともロボットの顔の一部を表示する表示部と、
前記メイン筐体の内部に設けられ前記シャフトと直交する重りの軸を中心に回転する重りと、
前記シャフトの回転により前記第１球冠部及び前記第２球冠部を回転させる第１駆動機構と、
前記第１駆動機構から独立し、前記シャフトを中心に前記メイン筐体を回転させる第２駆動機構と、
前記重りの軸回りに前記重りを回転させる重り駆動機構と、
前記ロボットの姿勢もしくは動きを検知するセンサーと、
制御回路と、を備え、
前記制御回路は、
前記メイン筐体を回転させて前記ロボットが走行している時に、前記センサーによって検知された値が所定値以上であった場合は、
前記第２駆動機構を制御して前記メイン筐体の回転を停止させ、
前記重り駆動機構を制御して重力方向を軸として重りを左右に傾けて、前記ロボットをローリング運動させ、
前記メイン筐体を回転させて前記ロボットを所定速度で走行させ、
前記ロボットが前記ローリング運動する前の前記ロボットの座標から前記メイン筐体を回転させて前記ロボットを所定速度で走行させた後の前記ロボットの座標が変化しているか否かに基づいて、前記ロボットが前進したか否か判断し、
前記ロボットが前進していると判断した場合は、前記メイン筐体を回転させて前記ロボットを前記表示部が向いている方向に走行させる、
ロボット。
【請求項８】
前記制御回路は、
前記ロボットが前進していないと判断した場合は、
前記第２駆動機構を制御して前記メイン筐体を逆回転させて走行させ、
前記重り駆動機構を制御して前記ロボットを左もしくは右に傾けさせながら、前記第２駆動機構を制御して前記メイン筐体を逆回転させて前記ロボットを旋回させる、
請求項７記載のロボット。
【請求項９】
ロボットであって、
球体の第１側部と前記第１側部に対向する第２側部とをカットした球帯状のメイン筐体と、
前記第１側部に対応する第１球冠部と、
前記第２側部に対応する第２球冠部と、
前記第１球冠部と前記第２球冠部とを連結するシャフトと、
前記シャフトにアームを介して取り付けられた、少なくともロボットの顔の一部を表示する表示部と、
前記メイン筐体の内部に設けられ前記シャフトと直交する重りの軸を中心に回転する重りと、
前記シャフトの回転により前記第１球冠部及び前記第２球冠部を回転させる第１駆動機構と、
前記第１駆動機構から独立し、前記シャフトを中心に前記メイン筐体を回転させる第２駆動機構と、
前記重りの軸回りに前記重りを回転させる重り駆動機構と、
前記ロボットの姿勢もしくは動きを検知するセンサーと、
制御回路と、を備え、
前記制御回路は、
前記メイン筐体を回転させて前記ロボットが走行している時に、前記センサーによって検知された値が所定値以上であった場合は、
前記メイン筐体を回転させて前記ロボットを所定速度で走行させながら、前記重り駆動機構を制御して重力方向を軸として重りを左右に傾けて、前記ロボットをローリング運動させ、
前記ロボットが前記ローリング運動する前の前記ロボットの座標から前記ロボットが前記ローリング運動した後の前記ロボットの座標が変化しているか否かに基づいて、前記ロボットが前進したか否か判断し、
前記ロボットが前進していると判断した場合は、前記メイン筐体を回転させて前記ロボットを前記表示部が向いている方向に走行させる、
ロボット。
【請求項１０】
前記制御回路は、
前記ロボットが前進していないと判断した場合は、
前記第２駆動機構を制御して前記メイン筐体を逆回転させて走行させ、
前記重り駆動機構を制御して前記ロボットを左もしくは右に傾けさせながら、前記第２駆動機構を制御して前記メイン筐体を逆回転させて前記ロボットを旋回させる、
請求項９記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ロボットに関する。
【背景技術】
【０００２】
特許文献１には、ロボット本体ユニットに取り付けられた複数の車輪ユニットにより走行面上を移動し、且つ、段差を乗り越えることを前提とする移動ロボットにおいて、ロボット本体ユニットの前方側に取り付けられた前方段差検出手段により検出した段差量が予め設定した値よりも大きい場合に段差を回避するようにロボットを制御する移動ロボットが開示されている。
【０００３】
特許文献２には、複数の腕部を含む車体と、車体を移動させるように地面Ｇに接触しながら動作する走行体とを備える複腕移動ロボットにおいて、走行体は、クローラと、前方のフリッパと、後方のフリッパとを備え、空間認識センサにより段差が検出された場合、段差の手前で前方のフリッパの先端側を上方に持ち上げ、前方のフリッパを段差の上端に引っ掛けながらクローラ全体の回転動作で段差を登るものが開示されている。そして、特許文献２では、クローラ全体の回転動作のみでは段差を登れないと判断された場合、複数の腕部の先端を地面に接触させ、複数の腕部で地面を押しながら車体を更に持ち上げることにより、段差を登ることが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２８８６５５号公報
【特許文献２】特開２０１７−５２０１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１、２のいずれも、障害物の隙間を広げて走行路を確保することに関する開示がないため、更なる改善が必要である。
【０００６】
本開示は、障害物の隙間を広げて走行路を確保することができるロボットを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の一態様に係るロボットは、
球体の第１側部と前記第１側部に対向する第２側部とをカットした球帯状のメイン筐体と、
前記第１側部に対応する第１球冠部と、
前記第２側部に対応する第２球冠部と、
前記第１球冠部と前記第２球冠部とを連結するシャフトと、
前記シャフトにアームを介して取り付けられた、少なくともロボットの顔の一部を表示する表示部と、
前記メイン筐体の内部に設けられ前記シャフトと直交する重りの軸を中心に回転する重りと、
前記シャフトの回転により前記第１球冠部及び前記第２球冠部を回転させる第１駆動機構と、
前記第１駆動機構から独立し、前記シャフトを中心に前記メイン筐体を回転させる第２駆動機構と、
前記重りの軸回りに前記重りを回転させる重り駆動機構と、
前記ロボットの姿勢もしくは動きを検知するセンサーと、
制御回路と、を備え、
前記制御回路は、
前記メイン筐体を回転させて前記ロボットが走行している時に、前記センサーによって検知された値が所定値以上であった場合は、前記重り駆動機構を制御して重力方向を軸として重りを左右に傾けて、前記ロボットをローリング運動させ、
前記ロボットが前記ローリング運動する前の前記ロボットの座標から前記ロボットが前記ローリング運動した後の前記ロボットの座標が変化しているか否かに基づいて、前記ロボットが前進したか否か判断し、
前記ロボットが前進していると判断した場合は、前記メイン筐体を回転させて前記ロボットを前記表示部が向いている方向に走行させる。
【発明の効果】
【０００８】
本開示によれば、障害物の隙間を広げて走行路を確保することができる。
【図面の簡単な説明】
【０００９】
【図１Ａ】本開示の実施の形態に係るロボットの外観斜視図である。
【図１Ｂ】本開示の実施の形態に係るロボットの外観正面図である。
【図２】本開示の実施の形態に係るロボットの内部斜視図である。
【図３】本開示の実施の形態に係るロボットの内部背面図である。
【図４】本開示の実施の形態に係るロボットの第１球冠部及び第２球冠部の連結状態を示す内部背面図である。
【図５】図３におけるロボット１のＡＡ断面図である。
【図６Ａ】図３のＢ視におけるロボットの内部側面図である。
【図６Ｂ】図３のＢ視における、本開示の実施の形態に係るロボットの第１表示部、第２表示部、及び第３表示部が上方に傾いた状態を示す内部側面図である。
【図６Ｃ】図３のＢ視における、本開示の実施の形態に係るロボットの第１表示部、第２表示部、及び第３表示部が下方に傾いた状態を示す内部側面図である。
【図７Ａ】図３のＣ視における、本開示の実施の形態に係るロボットの第２駆動機構を示す側面図である。
【図７Ｂ】図３のＣ視におけるロボットの直進動作を表す側面図である。
【図８Ａ】図３において、ロボットの重りが左方寄りに位置しているときのロボットの姿勢を示す内部背面図である。
【図８Ｂ】図３において、ロボットの重りが右方寄りに位置しているときのロボットの姿勢を示す内部背面図である。
【図９】メイン筐体が図７Ｂに示す矢印の方向に回転を始めるまでのロボットの姿勢を示す図である。
【図１０】本開示の実施の形態に係るロボットが適用されたロボットシステムの全体構成の一例を示す図である。
【図１１】本開示の実施の形態に係るロボットを示すブロック図である。
【図１２】本開示の実施の形態におけるローリング運動制御の第１パターンのメインルーチンを示すフローチャートである。
【図１３】図１２のローリング運動制御の第１パターンのサブルーチンを示すフローチャートである。
【図１４】本開示の実施の形態におけるローリング運動制御の第２パターンのサブルーチンを示すフローチャートである。
【図１５】本開示の実施の形態におけるローリング運動制御の第３パターンのメインルーチンを示すフローチャートである。
【図１６】ローリング運動制御の第３パターンのサブルーチンを示すフローチャートである。
【図１７】ローリング運動制御の第１パターンを採用した場合のロボットの動作を示す図である。
【図１８】ローリング運動制御の第１パターンを採用した場合のロボットの動作を示す図である。
【図１９】ローリング運動制御の第１パターンを採用した場合のロボットの動作を示す図である。
【図２０】ローリング運動制御の第１パターンを採用した場合のロボットの動作を示す図である。
【図２１】ローリング運動制御の第１パターンを採用した場合のロボットの動作を示す図である。
【図２２】ローリング運動制御の第１パターンを採用した場合のロボットの動作を示す図である。
【図２３】ローリング運動制御の第１パターンを採用した場合のロボットの動作を示す図である。
【図２４】ローリング運動制御の第２パターンを採用した場合のロボットの動作を示す図である。
【図２５】ローリング運動制御の第２パターンを採用した場合のロボットの動作を示す図である。
【図２６】ローリング運動制御の第２パターンを採用した場合のロボットの動作を示す図である。
【図２７】ローリング運動制御の第２パターンを採用した場合のロボットの動作を示す図である。
【図２８】ローリング運動制御の第２パターンを採用した場合のロボットの動作を示す図である。
【図２９】ローリング運動制御の第２パターンを採用した場合のロボットの動作を示す図である。
【図３０】ローリング運動制御の第２パターンを採用した場合のロボットの動作を示す図である。
【発明を実施するための形態】
【００１０】
（本開示に至る経緯）
本発明者は、球体状の筐体を備え、この筐体を回転させることで家庭内等の室内で自律的に移動する球体ロボットを検討している。球体ロボットを、常時、移動させると、球体ロボットをペットのように振る舞わせることができ、ユーザに対する球体ロボットへの愛着が増すと考えられる。したがって、球体ロボットの自律的な移動は可能な限り制限しない方がよく、そのためには、球体ロボットが自律的に移動できる領域を確保することが好ましい。
【００１１】
家庭内では、例えば、ドア、引き戸、散らかった床、家具というような様々な物体が自由に配置されているため、これらの物体が障害物となって、球体ロボットのスムーズな移動を妨げる場面が多々存在する。そのような場所においては、障害物上に走行ルートが設定されることもある。この場合、ロボットは障害物と衝突してしまうが、従来の技術では、ロボットは障害物に衝突すると、進路を変更し、障害物を回避する行動をとるのが一般的である。しかし、これでは、球体ロボットが自律的に移動できる領域が狭まるため、好ましくない。
【００１２】
そこで、本発明者は、球体ロボットが障害物に衝突した場所が障害物の隙間であるような場面について検討した。本発明者が検討している球体ロボットは、ロール方向に揺動可能に取り付けられた重りを備えており、この重りを揺動させることで、ロール方向に揺動することが可能である。そのため、このような場所において、球体ロボットがロール方向に揺動すると、障害物が例えば玩具のような軽い物体であれば、球体ロボットにより障害物が押されて、障害物の隙間が徐々に広がっていき、走行路を確保できるとの知見が得られた。また、球体ロボットが半開きのドアの隙間又は引き戸の隙間に衝突した場合であっても、これらの障害物は移動が容易であるため、上記と同様、球体ロボットは走行路を確保できるとの知見が得られた。
【００１３】
特許文献１では、前方段差検出手段により検出した段差量が予め設定した値よりも大きい場合に段差を回避するようにロボットを制御することが開示されているに過ぎず、障害物の隙間を広げることによって走行路を確保することに関する記載はない。
【００１４】
特許文献２の複腕移動ロボットは、複数の腕部を用いて障害物を把持することが開示されているため障害物を取り除くことは可能であるが、そのためには複数の腕部が必要であるため、装置構成が複雑化するという課題がある。また、特許文献２に開示のロボットは複数の腕部を備える複腕移動ロボットであるため、本開示が対象とする球体ロボットとは前提が異なる。更に、特許文献２には、障害物の隙間を広げることによって走行路を確保することに関する記載はない。
【００１５】
本開示は、以上の課題を鑑みてなされたものであり、障害物の隙間を広げることによって走行路を確保するロボットを提供することを目的とする。
【００１６】
本開示の一態様に係るロボットは、
球体の第１側部と前記第１側部に対向する第２側部とをカットした球帯状のメイン筐体と、
前記第１側部に対応する第１球冠部と、
前記第２側部に対応する第２球冠部と、
前記第１球冠部と前記第２球冠部とを連結するシャフトと、
前記シャフトにアームを介して取り付けられた、少なくともロボットの顔の一部を表示する表示部と、
前記メイン筐体の内部に設けられ前記シャフトと直交する重りの軸を中心に回転する重りと、
前記シャフトの回転により前記第１球冠部及び前記第２球冠部を回転させる第１駆動機構と、
前記第１駆動機構から独立し、前記シャフトを中心に前記メイン筐体を回転させる第２駆動機構と、
前記重りの軸回りに前記重りを回転させる重り駆動機構と、
前記ロボットの姿勢もしくは動きを検知するセンサーと、
制御回路と、を備え、
前記制御回路は、
前記メイン筐体を回転させて前記ロボットが走行している時に、前記センサーによって検知された値が所定値以上であった場合は、前記重り駆動機構を制御して重力方向を軸として重りを左右に傾けて、前記ロボットをローリング運動させ、
前記ロボットが前記ローリング運動する前の前記ロボットの座標から前記ロボットが前記ローリング運動した後の前記ロボットの座標が変化しているか否かに基づいて、前記ロボットが前進したか否か判断し、
前記ロボットが前進していると判断した場合は、前記メイン筐体を回転させて前記ロボットを前記表示部が向いている方向に走行させる。
【００１７】
本構成によれば、ロボットの走行中にロボットの姿勢もしくは動きを検知するセンサーにより検知された値が所定値以上となって障害物へのロボットの衝突が検知されると、ロボットは、重りを左右に傾けてローリング運動を開始する。この場合、衝突した場所が障害物の隙間であり、その障害物が移動が容易な物体で構成されていれば、ロボットは球体状であるため、その場所でローリング運動をすることで隙間を徐々に広げて走行路を確保することができる。
【００１８】
そして、ロボットの座標からロボットが前進しているか否かを判断し、前進していると判断すると、ロボットは表示部が向いている方向、すなわち、前方に走行する。
【００１９】
このように、本構成によれば、ロボットは、障害物の隙間を広げて走行路を確保して、自律的に走行できる領域を広げることができる。
【００２０】
上記構成において、前記制御回路は、
前記ロボットが前進していないと判断した場合は、前記ロボットが前記ローリング運動を開始した時の速度に第１速度ずつ加算した速度で前記ロボットを繰り返し前記ローリング運動させ、
前記第１速度ずつ加算した速度が所定速度になる、もしくは、前記ロボットが前進していると判断するまで、前記重り駆動機構を制御して前記ロボットを繰り返し前記ローリング運動させることが好ましい。
【００２１】
ローリング運動の開始当初の速度を高速に設定すると床面に対してメイン筐体がスリップし、隙間を広げるパワーが弱まる可能性がある。本構成によれば、速度が徐々に増大されながらローリング運動が実行されるため、ローリング運動の開始時の速度を低速に設定することで床面に対してメイン筐体がスリップする可能性を低減できる。そして、速度が徐々に増大されていくため、隙間を広げるためのロボットのパワーが徐々に増大し、ロボットはより確実に隙間を広げることが可能となる。
【００２２】
上記構成において、前記第１速度ずつ加算した速度が前記所定速度になった場合は、
前記制御回路は、
前記第２駆動機構を制御して前記メイン筐体を逆回転させて走行させ、
前記重り駆動機構を制御して前記ロボットを左もしくは右に傾けさせながら、前記第２駆動機構を制御して前記メイン筐体を逆回転させて前記ロボットを旋回させることが好ましい。
【００２３】
本構成によれば、所定速度になるまで速度を増大しても前進できなかった場合、ロボットは、左斜め後方又は右斜め後方に旋回することができる。これにより、例えば、障害物の重量が過大であり、自身のパワーでは隙間を広げることが困難な場合、ロボットは、障害物の突破を断念して別ルートを走行することが可能となる。その結果、ロボットの走行を継続させることができる。
【００２４】
上記構成において、前記制御回路は、
前記ロボットが前進していないと判断した場合は、前記ロボットが前記ローリング運動を開始した時の傾き角度に第１角度ずつ加算した角度で前記ロボットを繰り返し前記ローリング運動させ、
前記第１角度ずつ加算した角度が所定角度になる、もしくは、前記ロボットが前進していると判断するまで、前記重り駆動機構を制御して前記ロボットを繰り返し前記ローリング運動させることが好ましい。
【００２５】
ローリング運動の開始当初において左右に傾くロール角を大きな角度に設定すると、ロボットは障害物の隙間にうまく入り込むことができない可能性がある。本構成によれば、ロール角が徐々に増大されながらローリング運動が実行されるため、ローリング運動の開始時のロール角を小さく設定することで、ロボットが狭い隙間に入り込む可能性を高めることができる。そして、ロール角が徐々に増大されるため、隙間を広げる際のロボットのパワーが徐々に高められ、ロボットはより確実に隙間を広げることが可能となる。
【００２６】
上記構成において、前記第１角度ずつ加算した角度が前記所定角度になった場合は、
前記制御回路は、
前記第２駆動機構を制御して前記メイン筐体を逆回転させて走行させ、
前記重り駆動機構を制御して前記ロボットを左もしくは右に傾けさせながら、前記第２駆動機構を制御して前記メイン筐体を逆回転させて前記ロボットを旋回させることが好ましい。
【００２７】
本構成によれば、所定速度になるまでロール角を増大しても前進できなかった場合、ロボットは、左斜め後方又は右斜め後方に旋回する。これにより、例えば、障害物の重量が過大であり、自身のパワーでは隙間を広げることが困難な場合、ロボットは、障害物の突破を断念して別ルートを走行することが可能となる。その結果、ロボットの走行を継続させることができる。
【００２８】
上記構成において、前記メイン筐体を回転させて前記ロボットが走行している時に、前記センサーによって検知された値が所定値以上であった場合は、
前記制御回路は、前記第２駆動機構を制御して前記メイン筐体の回転を停止させた後に、前記ロボットを前記ローリング運動させることが好ましい。
【００２９】
本構成によれば、障害物への衝突が検知されると、一旦、メイン筐体の回転が停止された後にローリング運動が開始されるため、衝突時の衝撃を緩和させながらローリング運動を行うことができる。
【００３０】
本開示の別の一態様に係るロボットは、
球体の第１側部と前記第１側部に対向する第２側部とをカットした球帯状のメイン筐体と、
前記第１側部に対応する第１球冠部と、
前記第２側部に対応する第２球冠部と、
前記第１球冠部と前記第２球冠部とを連結するシャフトと、
前記シャフトにアームを介して取り付けられた、少なくともロボットの顔の一部を表示する表示部と、
前記メイン筐体の内部に設けられ前記シャフトと直交する重りの軸を中心に回転する重りと、
前記シャフトの回転により前記第１球冠部及び前記第２球冠部を回転させる第１駆動機構と、
前記第１駆動機構から独立し、前記シャフトを中心に前記メイン筐体を回転させる第２駆動機構と、
前記重りの軸回りに前記重りを回転させる重り駆動機構と、
前記ロボットの姿勢もしくは動きを検知するセンサーと、
制御回路と、を備え、
前記制御回路は、
前記メイン筐体を回転させて前記ロボットが走行している時に、前記センサーによって検知された値が所定値以上であった場合は、
前記第２駆動機構を制御して前記メイン筐体の回転を停止させ、
前記重り駆動機構を制御して重力方向を軸として重りを左右に傾けて、前記ロボットをローリング運動させ、
前記メイン筐体を回転させて前記ロボットを所定速度で走行させ、
前記ロボットが前記ローリング運動する前の前記ロボットの座標から前記メイン筐体を回転させて前記ロボットを所定速度で走行させた後の前記ロボットの座標が変化しているか否かに基づいて、前記ロボットが前進したか否か判断し、
前記ロボットが前進していると判断した場合は、前記メイン筐体を回転させて前記ロボットを前記表示部が向いている方向に走行させる。
【００３１】
本構成によれば、ロボットの走行中にロボットの姿勢もしくは動きを検知するセンサーが検知した値が所定値以上となって障害物への衝突が検知されると、ロボットは、一旦停止した後、重りを左右に傾けてローリング運動を実行する。そして、ロボットは再度走行を開始させ、ロボットの座標から前進しているか否かを判断し、前進していると判断すると、ロボットは表示部が向いている方向、すなわち、前方に走行する。
【００３２】
したがって、本構成によれば、衝突した場所が障害物の隙間であり、その障害物が移動が容易な物体で構成されていれば、ロボットは球体状であるため、その場所でローリング運動をすることで隙間を徐々に広げて走行路を確保することができる。特に、本構成では、ロボットは、停止状態でローリング運動を実行するため、衝撃を緩和させながらローリング運動を行うことができる。
【００３３】
このように、本構成によれば、ロボットは、障害物の隙間を広げて走行路を確保して、自律的に走行できる領域を広げることができる。
【００３４】
上記構成において、前記制御回路は、
前記ロボットが前進していないと判断した場合は、
前記第２駆動機構を制御して前記メイン筐体を逆回転させて走行させ、
前記重り駆動機構を制御して前記ロボットを左もしくは右に傾けさせながら、前記第２駆動機構を制御して前記メイン筐体を逆回転させて前記ロボットを旋回させることが好ましい。
【００３５】
本構成によれば、所定速度になるまで速度を増大しても前進できなかった場合、ロボットは、左斜め後方又は右斜め後方に旋回することができる。これにより、例えば、障害物の重量が過大であり、自身のパワーでは隙間を広げることが困難な場合、ロボットは、障害物の突破を断念して別ルートを走行することが可能となる。その結果、ロボットの走行を継続させることができる。
【００３６】
本開示の更に別の一態様に係るロボットは、
球体の第１側部と前記第１側部に対向する第２側部とをカットした球帯状のメイン筐体と、
前記第１側部に対応する第１球冠部と、
前記第２側部に対応する第２球冠部と、
前記第１球冠部と前記第２球冠部とを連結するシャフトと、
前記シャフトにアームを介して取り付けられた、少なくともロボットの顔の一部を表示する表示部と、
前記メイン筐体の内部に設けられ前記シャフトと直交する重りの軸を中心に回転する重りと、
前記シャフトの回転により前記第１球冠部及び前記第２球冠部を回転させる第１駆動機構と、
前記第１駆動機構から独立し、前記シャフトを中心に前記メイン筐体を回転させる第２駆動機構と、
前記重りの軸回りに前記重りを回転させる重り駆動機構と、
前記ロボットの姿勢もしくは動きを検知するセンサーと、
制御回路と、を備え、
前記制御回路は、
前記メイン筐体を回転させて前記ロボットが走行している時に、前記センサーによって検知された値が所定値以上であった場合は、
前記メイン筐体を回転させて前記ロボットを所定速度で走行させながら、前記重り駆動機構を制御して重力方向を軸として重りを左右に傾けて、前記ロボットをローリング運動させ、
前記ロボットが前記ローリング運動する前の前記ロボットの座標から前記ロボットが前記ローリング運動した後の前記ロボットの座標が変化しているか否かに基づいて、前記ロボットが前進したか否か判断し、
前記ロボットが前進していると判断した場合は、前記メイン筐体を回転させて前記ロボットを前記表示部が向いている方向に走行させる。
【００３７】
本構成によれば、ロボットの走行中にロボットの姿勢もしくは動きを検知するセンサーが検知した値が所定値以上となって障害物への衝突が検知されると、ロボットは、重りを左右に傾けてローリング運動を開始する。そして、ロボットの座標から前進しているか否かを判断し、前進していると判断すると、ロボットは表示部が向いている方向、すなわち、前方に走行する。
【００３８】
このように、本構成によれば、衝突した場所が障害物の隙間であり、その障害物が移動が容易な物体で構成されていれば、ロボットは球体状であるため、その場所でローリング運動をすることで隙間を徐々に広げて走行路を確保することができる。特に、本構成では、ロボットは、障害物と衝突しても停止せずにローリング運動を開始しているため、走行時の勢いを保持した強いパワーで障害物を移動させることができ、より確実に隙間を広げることができる。
【００３９】
したがって、本構成によれば、ロボットは、ローリング運動によって障害物の隙間を広げて走行路を確保して、自律的に移動できる領域を広げることができる。
【００４０】
上記構成において、前記制御回路は、
前記ロボットが前進していないと判断した場合は、
前記第２駆動機構を制御して前記メイン筐体を逆回転させて走行させ、
前記重り駆動機構を制御して前記ロボットを左もしくは右に傾けさせながら、前記第２駆動機構を制御して前記メイン筐体を逆回転させて前記ロボットを旋回させることが好ましい。
【００４１】
本構成によれば、所定速度になるまで速度を増大しても前進できなかった場合、ロボットは、左斜め後方又は右斜め後方に旋回する。これにより、例えば、障害物の重量が過大であり、自身のパワーでは隙間を広げることが困難な場合、ロボットは、隙間の通過を断念して別ルートを走行することが可能となる。その結果、ロボットの走行を継続させることができる。
【００４２】
本開示の更に別の一態様に係るロボットは、
球体形状の筐体と、
前記筐体の内部に設けられ、重りの軸を中心に回転する重りと、
前記筐体を回転させて、前記ロボットを走行させる駆動機構と、
前記重りの軸を中心に、前記重りを回転させる重り駆動機構と、
障害物を検知するセンサーと、
制御回路と、を備え、
前記制御回路は、
前記駆動機構を制御して、前記球体形状の筐体を回転させて前記ロボットを走行させている時に、前記センサーによって前記障害物を検知した場合に、前記重り駆動機構を制御して重力方向を軸として前記重りを左右に傾けることにより、前記球体形状の筐体を転がし、これにより、前記障害物に対して前記球体形状の筐体を衝突させて、前記障害物を移動させる。
【００４３】
本開示は、このような情報更新方法に含まれる特徴的な各構成をコンピュータに実行させるプログラム、或いはこのプログラムによって動作するシステムとして実現することもできる。また、このようなコンピュータプログラムを、ＣＤ−ＲＯＭ等のコンピュータ読取可能な非一時的な記録媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
【００４４】
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることもできる。
【００４５】
（実施の形態）
以下、本開示の各実施の形態について、図面を参照しながら説明する。尚、各図面において、同じ構成要素については同じ符号が用いられている。
【００４６】
（全体構成）
図１Ａは、本開示の実施の形態に係るロボット１の外観斜視図である。図１Ｂは、本開示の実施の形態に係るロボット１の外観正面図である。ロボット１は、図１Ａ、及び図１Ｂに示すように、球帯状のメイン筐体１０１、第１球冠部１０２、及び第２球冠部１０３を備える。メイン筐体１０１、第１球冠部１０２、及び第２球冠部１０３は全体として球体を構成する。即ち、ロボット１は、球体形状を有する。また、ロボット１は、図１Ａに示すように、第１球冠部１０２にカメラ１０４を備え、第２球冠部１０３に距離センサ１０５を備える。カメラ１０４は、光軸が例えばロボット１の正面を向くように第１球冠部１０２に設けられ、ロボット１の周辺環境の映像を取得する。また、距離センサ１０５は、光軸が例えばロボット１の正面を向くように第２球冠部１０３に取り付けられ、ロボット１の前方に位置する物体までの距離情報を取得する。
【００４７】
また、ロボット１は、図１Ａに示すように、第１球冠部１０２にマイク１０６とスピーカ１０７とを備える。マイク１０６は、ロボット１の周辺環境の音を取得する。また、スピーカ１０７は、ロボット１の音声情報を出力する。尚、本態様において、ロボット１は、第１球冠部１０２にカメラ１０４を、第２球冠部１０３に距離センサ１０５を備えるが、これに限られるものではなく、第１球冠部１０２、及び第２球冠部１０３の少なくともいずれか一方にカメラ１０４と距離センサ１０５とを備えればよい。本態様では、ロボット１は、第１球冠部１０２にマイク１０６とスピーカ１０７とを備えるが、これに限られるものではなく、第１球冠部１０２及び第２球冠部１０３の少なくともいずれか一方にマイク１０６とスピーカ１０７とを備えればよい。
【００４８】
図２は、本開示の実施の形態に係るロボット１の内部斜視図である。図２に示すように、ロボット１は、メイン筐体１０１の内部に、第１表示部１０８、第２表示部１０９、及び第３表示部１１０を備える。第１表示部１０８、第２表示部１０９、及び第３表示部１１０は、固定板金１１１に備え付けられている。また、固定板金１１１は、第１アーム１１２及び第２アーム１１３を介してシャフト１１５（図３）に取り付けられている。図３は、本開示の実施の形態に係るロボット１の内部背面図である。図３に示すように第１アーム１１２及び第２アーム１１３は、シャフト１１５と直行する方向にシャフト１１５からロボット１の正面に延びるようにシャフト１１５に取り付けられている。第１表示部１０８、第２表示部１０９、及び第３表示部１１０は、例えば、複数の発光ダイオードにより構成される。第１表示部１０８、第２表示部１０９、及び第３表示部１１０は、ロボット１の表情の表示情報を表示する。具体的には、第１表示部１０８、第２表示部１０９、及び第３表示部１１０は、前記複数の発光ダイオードの点灯を個別に制御することにより、図１Ａ及び図１Ｂに示すように、ロボット１の顔の一部、例えば、目及び口を表示する。図２の例では、第１表示部１０８がロボット１を正面から見て左目の画像を表示し、第２表示部１０９がロボット１を正面から見て右目の画像を表示し、第３表示部１１０が口の画像を表示している。そして、左目、右目、口の画像は、透明又は半透明の部材からなるメイン筐体１０１を透過し、外部に放射されている。
【００４９】
なお、第１アーム１１２及び第２アーム１１３はロボット１の正面に延びるようにシャフト１１５に取り付けられている。そのため、第１表示部１０８及び第２表示部１０９が向いている方向、すなわち、表示部が向いている方向は正面方向に相当する。
【００５０】
図３に示すように、ロボット１は、メイン筐体１０１の内部の下方に重り１１４を備える。このため、ロボット１の重心は、メイン筐体１０１の中心から下方に位置する。これにより、ロボット１の動作を安定させることができる。また、図３は、シャフト１１５を回転させる第１駆動機構２０６（図１１）、メイン筐体１０１を回転させる第２駆動機構２０８（図１１）、及びロボット１の重心を移動させる重り駆動機構２１０（図１１）を示す図である。
【００５１】
図３において、シャフト１１５は、ロボット１の中心に位置し、ロボット１の中心軸となる。図４は、本開示の実施の形態に係るロボットの第１球冠部１０２及び第２球冠部１０３の連結状態を示す内部背面図である。図４において、第１球冠部１０２及び第２球冠部１０３はシャフト１１５によって連結されている。一方、シャフト１１５とメイン筐体１０１は固定されていない。従って、シャフト１１５を回転させると、シャフト１１５に連結された第１球冠部１０２及び第２球冠部１０３は、シャフト１１５に同期して回転するが、メイン筐体１０１は回転しない。なお、シャフト１１５には、シャフト１１５回りのメイン筐体１０１の回転量を検出するためのホイルエンコーダＥ１が設けられている。
【００５２】
また、図３において、第２駆動機構２０８（図１１）は、メイン筐体１０１に固定された第１ギア１１６、第１ギア１１６と噛み合う第２ギア１１７、第２ギア１１７に連結された第１モータ１１８、及び第１モータ１１８を固定するフレーム１１９を備える。フレーム１１９はシャフト１１５に吊り下げられているため、シャフト１１５が回転することがあっても、フレーム１１９は回転しない。また、フレーム１１９は、フレーム１１９の回転量を検出するジャイロセンサＳ１、ロボット１に生じる加速度を検出する加速度センサＳ２を備える。尚、本態様において、第１ギア１１６の中心とシャフト１１５の中心とは一致している。第２駆動機構２０８（図１１）の動作の詳細は後述する。
【００５３】
次に重り駆動機構２１０（図１１）について図３、及び図５を用いて説明する。図５は、図３におけるロボット１のＡＡ断面図である。なお、ＡＡ断面とは、Ｂ視（又はＣ視）と直交する平面であって、ロボット１の中心を通る平面でロボット１を切断したときの断面である。
【００５４】
図３及び図５に示すように、重り駆動機構２１０（図１１）は、重り１１４の一端を支持する第３アーム１２３、重り１１４の他端を支持する第４アーム１２４、及び第４アーム１２４に連結された第３モータ１２５を備える。尚、本態様においては、重り駆動機構２１０（図１１）は、フレーム１１９に対して回転自由な状態で取り付けられている。従って、第３モータ１２５を駆動しても、それに連動してフレーム１１９は回転しない。
【００５５】
詳細には、第３アーム１２３は、上端に重り軸１２３ａが取り付けられ、重り軸１２３ａを介して、フレーム１１９に回転自由に取り付けられている。第４アーム１２４は上端に重り軸１２４ａが取り付けられ、重り軸１２４ａを介して、フレーム１１９に回転自由に取り付けられている。
【００５６】
重り軸１２３ａ及び重り軸１２４ａは、シャフト１１５を通る鉛直面に対して直交するようにフレーム１１９に対して一直線上に取り付けられている。
【００５７】
より詳細には、重り軸１２３ａは、シャフト１１５側の一端がフレーム１１９に形成された孔に回転自由に挿入されている。重り軸１２４ａは、シャフト１１５側の一端がフレーム１１９に形成された孔に回転自由に挿入され、第３モータ１２５と連結されている。重り１１４は、例えば円筒状であり、長手方向が重り軸１２３ａ及び重り軸１２４ａと平行になるように第３アーム１２３の下端と第４アーム１２４の下端とにより挟持されている。これにより、重り１１４は、重り軸１２３ａ，１２４ａ回り、すなわち、ロール軸回りに回転可能となるように、フレーム１１９に取り付けられている。重り駆動機構２１０（図１１）の動作の詳細は後述する。
【００５８】
次に、第１駆動機構２０６（図１１）について図３及び図６Ａを用いて説明する。図６Ａは、図３のＢ視におけるロボット１の内部側面図である。なお、Ｂ視は、背面から正面を見て左方向からロボット１の側面を見た方向を指す。また、Ｃ視は、背面から正面を見て右方向からロボット１の側面を見た方向を指す。図３及び図６Ａに示すように、第１駆動機構２０６（図１１）は、フレーム１１９に固定された第２モータ１２１、第２モータ１２１と連結された第３ギア１２６、第３ギア１２６とシャフト１１５に固定された第４ギア１２７とを同期させる駆動ベルト１２２を備える。第１駆動機構２０６（図１１）の動作の詳細は後述する。
【００５９】
ロボット１は、図３に図示しないが、制御回路２０１（図１１）、を備える。制御回路２０１は、ロボット１の各種動作を制御する。制御回路２０１（図１１）の詳細は後述する。
【００６０】
次に第１駆動機構２０６（図１１）の動作の詳細について図６Ａ、図６Ｂ、及び図６Ｃを参照して説明する。
【００６１】
図６Ｂは、図３のＢ視における、本開示の実施の形態に係るロボット１の第１表示部１０８、第２表示部１０９、及び第３表示部１１０が上方に傾いた状態を示す内部側面図である。図６Ｃは、図３のＢ視における、本開示の実施の形態に係るロボット１の第１表示部１０８、第２表示部１０９、及び第３表示部１１０が下方に傾いた状態を示す内部側面図である。
【００６２】
図６Ａに示すように、第１表示部１０８、第２表示部１０９、及び第３表示部１１０は、デフォルト位置において、ロボット１の正面を向いている。第２モータ１２１（図３）を駆動すると、第２モータ１２１に連結された第３ギア１２６が回転する。その動力が駆動ベルト１２２を介して第４ギア１２７に伝達され、第４ギア１２７が固定されたシャフト１１５は第２モータ１２１の駆動に同期して回転する。ここで、図２に示すように、固定板金１１１は、第１アーム１１２及び第２アーム１１３を介してシャフト１１５に連結されている。また、第１球冠部１０２及び第２球冠部１０３はシャフト１１５により連結されている（図４）。このため、シャフト１１５の回転、即ち、第１球冠部１０２及び第２球冠部１０３の回転により、固定板金１１１に備え付けえられた第１表示部１０８、第２表示部１０９、及び第３表示部１１０も連動して回転する。
【００６３】
図６Ｂに示すように、上述のデフォルト位置から、矢印１２８及び矢印１２９に示す方向にシャフト１１５を回転させると、第１表示部１０８、第２表示部１０９（図２）及び第３表示部１１０は、矢印１３０が示す上方に傾く。ここで、矢印１２８及び１２９に示す方向は、Ｂ視（図３）において、シャフト１１５回りに時計回りの方向を指す。矢印１３０が示す上方とは、Ｂ視（図３）において、シャフト１１５回りに時計回りの方向を指す。
【００６４】
また、図６Ｂに図示していないが、シャフト１１５と同期して回転する第１球冠部１０２（図１Ｂ）及び第２球冠部１０３（図１Ｂ）も同様に矢印１３０が示す上方に傾く。即ち、第１球冠部１０２（図１Ｂ）及び第２球冠部１０３（図１Ｂ）に備え付けられたカメラ１０４及び距離センサ１０５の光軸も矢印１３０が示す上方に傾く。
【００６５】
一方、図６Ｃに示すように、上述のデフォルト位置から、矢印１３１に示す第３ギア１２６回りに反時計回りの方向及び矢印１３２に示す第４ギア１２７回りに反時計回りの方向にシャフト１１５を回転させると、第１表示部１０８、第２表示部１０９（図２）及び第３表示部１１０は、矢印１３３が示すように下方に傾く。ここで、矢印１３３が示す下方とは、Ｂ視（図３）において、シャフト１１５回りに反時計回りの方向を指す。また、図６Ｃに図示していないが、シャフト１１５と同期して回転する第１球冠部１０２（図１Ｂ）及び第２球冠部１０３（図１Ｂ）も同様に矢印１３３が示す下方に傾く。即ち、第１球冠部１０２（図１Ｂ）及び第２球冠部１０３（図１Ｂ）に備え付けられたカメラ１０４及び距離センサ１０５の光軸も矢印１３３が示す下方に傾く。
【００６６】
次に第２駆動機構２０８（図１１）の動作の詳細について図７Ａ、及び図７Ｂを参照して説明する。
【００６７】
図７Ａは、図３のＣ視における、本開示の実施の形態に係るロボット１の第２駆動機構２０８（図１１）を示す側面図である。図７Ｂは、図３のＣ視におけるロボット１の直進動作を表す側面図である。
【００６８】
図７Ａにおいて、第１モータ１１８（図３）を駆動すると、第１モータ１１８に連結された第２ギア１１７が回転する。そして、その動力が第２ギア１１７に噛み合う第１ギア１１６に伝達される。これにより、第１ギア１１６が固定されたメイン筐体１０１は第１モータ１１８の駆動に同期して回転する。
【００６９】
図７Ｂにおいて、第１モータ１１８（図３）を矢印１３４の方向に回転させると、第２ギア１１７に噛み合う第１ギア１１６は矢印１３５の方向に回転する。ここで、矢印１３４の方向はＣ視（図３）において第２ギア１１７回りに時計回りの方向を指す。また、矢印１３５の方向は、Ｃ視（図３）においてシャフト１１５回りに反時計回りの方向を指す。そして、第１ギア１１６が固定されたメイン筐体１０１は矢印１３６の方向に回転する。ここで、矢印１３６の方向は、Ｃ視（図３）においてシャフト１１５回りに反時計回りの方向を指す。これにより、ロボット１は前進する。また、矢印１３４とは逆方向に第１モータ１１８を回転させると、メイン筐体１０１は矢印１３６の方向に対して反対回りの方向に回転するので、ロボット１は後進する。このように、ロボット１は、第２駆動機構２０８（図１１）において、第１モータ１１８の回転方向を切り替えることにより、前後のいずれの方向にも移動できる。
【００７０】
次に、重り駆動機構２１０（図１１）の動作の詳細について図８Ａ及び図８Ｂを参照して説明する。
【００７１】
図８Ａは、図３において、ロボット１の重り１１４が左方寄りに位置しているときのロボット１の姿勢を示す内部背面図である。図８Ｂは、図３において、ロボット１の重り１１４が右方寄りに位置しているときのロボット１の姿勢を示す内部背面図である。
【００７２】
図８Ａに示すように、第３モータ１２５（図５）を駆動することにより、重り１１４を中央線Ｃ８から矢印１３７が示す左方に移動させると、ロボット１の姿勢は矢印１３８が示す方向に傾く。ここで、中央線Ｃ８は、メイン筐体１０１の上側の頂点と下側の頂点とを通る線を指す。また、矢印１３７が示す左方は、ロボット１を背面から正面に見て時計回りの方向を指す。また、矢印１３８が示す方向は、地面とロボット１との接点を中心に反時計回りの方向を指す。
【００７３】
これとは逆方向に第３モータ１２５（図５）を駆動することにより、図８Ｂに示すように、重り１１４を中央線Ｃ８から矢印１３９が示す右方に移動させると、ロボット１の姿勢は矢印１４０が示す方向に傾く。ここで、矢印１３９が示す右方は、ロボット１を背面から正面に見て反時計回りの方向を指す。また、矢印１４０が示す方向は、地面とロボット１との接点を中心に時計回りの方向を指す。なお、図３に示すように重り１１４が右方及び左方に傾けられておらず、第３アーム１２３及び第４アーム１２４が鉛直方向を向いている場合の重り１１４の位置を初期位置と呼ぶ。
【００７４】
次に第２駆動機構２０８（図１１）の動作と重り駆動機構２１０（図１１）の動作とが同時に駆動している状態について図８Ａ及び図８Ｂを参照して説明する。
【００７５】
図８Ａに示すように、ロボット１の姿勢が矢印１３８の示す方向に傾いているときに、第１モータ１１８がロボット１の進行方向に移動するように駆動した場合、ロボット１は、上面視において左方に旋回移動する。また、図８Ｂに示すように、ロボット１の姿勢が矢印１４０の示す方向に傾いているときに、第１モータ１１８がロボット１の進行方向に移動するように駆動した場合、ロボット１は、上面視において右方に旋回移動する。
【００７６】
以上のように、ロボット１の走行方向は、重り駆動機構２１０（図１１）による重り１１４の左方または右方への切り替えと、第２駆動機構２０８（図１１）によるメイン筐体１０１の前進または後進動作とを組み合わせることにより、左右の方向へロボット１を旋回移動させることができる。
【００７７】
次に、走行開始時のロボット１の姿勢について図９を参照して説明する。
【００７８】
図９は、メイン筐体１０１が図７Ｂに示す矢印１３６の方向に回転を始めるまでのロボット１の姿勢を示す図である。メイン筐体１０１は、第２駆動機構２０８（図１１）が駆動することで発生する力が、床面１４３の摩擦等の外的要因による力よりも大きい場合に、矢印１３６（図７Ｂ）の方向に回転を始める。また、メイン筐体１０１は、第２駆動機構２０８（図１１）が駆動することで発生する力が、床面１４３の摩擦等の外的要因による力よりも小さい場合に、回転を始めることは無い。このとき、第１ギア１１６は、メイン筐体１０１に固定されているため、メイン筐体１０１が回転しない場合は、第１ギア１１６も回転することは無い。図９において、メイン筐体１０１が回転しない場合、第１モータ１１８を矢印１３４の方向に回転させると、第２ギア１１７は、噛み合う第１ギア１１６の歯に沿って移動する。第２ギア１１７及び第１モータ１１８は、フレーム１１９（図３）に固定されているため、フレーム１１９（図３）、及びフレーム１１９（図３）に固定されている重り駆動機構２１０（図１１）、ジャイロセンサＳ１（図３）、及び加速度センサＳ２とともに矢印１４４の方向へ回転する。ここで、矢印１４４の方向は、Ｃ視（図３）においてシャフト１１５回りに時計回りの方向を指す。
【００７９】
これにより、フレーム１１９は、ロボット１が走行を開始するまでの間、外的要因による力の影響によりピッチ角が増大していくのである。また、ジャイロセンサＳ１は、フレーム１１９に取り付けられている。そのため、ジャイロセンサＳ１はフレーム１１９のピッチ方向の角度を検出できる。
【００８０】
次に、図１０を参照しつつ、本開示の実施の形態に係るロボット１が適用されたロボットシステム１２００の全体構成の一例について説明する。図１０は、本開示の実施の形態に係るロボット１が適用されたロボットシステム１２００の全体構成の一例を示す図である。ロボットシステム１２００は、クラウドサーバ２、携帯端末３、及びロボット１を備える。ロボット１は例えばＷｉｆｉ（登録商標）の通信を介してインターネットと接続し、クラウドサーバ２と接続する。また、ロボット１は例えばＷｉｆｉ（登録商標）の通信を介して携帯端末３と接続する。ユーザ１２０１は例えば、子供であり、ユーザ１２０２，１２０３は、例えば、その子供の両親である。
【００８１】
ロボット１は、例えば、携帯端末３からある絵本を子供に読み聞かせる指示があったとすると、その絵本の朗読を開始し、子供に読み聞かせる。ロボット１は、例えば、絵本の読み聞かせ中に子供から何らかの質問を受け付けると、その質問をクラウドサーバ２に送り、その質問に対する回答をクラウドサーバ２から受信し、回答を示す音声を発話する。
【００８２】
このように、ユーザ１２０１〜１２０３は、ロボット１をペットのように取り扱い、ロボット１との触れ合いを通じて、言語学習をすることができる。
【００８３】
（ブロック図）
次に、図１１を参照しつつ、本開示の実施の形態に係るロボット１の内部回路の詳細について説明する。図１１は、本開示の実施の形態に係るロボット１を示すブロック図である。
【００８４】
図１１に示すように、ロボット１は、制御回路２０１、表示部２０４、第１駆動機構制御部２０５、第１駆動機構２０６、第２駆動機構制御部２０７、第２駆動機構２０８、重り駆動機構制御部２０９、重り駆動機構２１０、通信部２１１、カメラ１０４、距離センサ１０５、ホイルエンコーダＥ１、ジャイロセンサＳ１、及び加速度センサＳ２を備える。
【００８５】
制御回路２０１は、メモリ２１２と、ＣＰＵ等のプロセッサで構成された主制御部２０２と、表示情報出力制御部２０３と、時刻を計時する図略のタイマー２１３等を含むコンピュータで構成されている。制御回路２０１は、フレーム１１９（図３）の内部に取り付けられている。
【００８６】
メモリ２１２は、例えば、不揮発性の書き換え可能な記憶装置で構成され、ロボット１の制御プログラムなどを記憶する。
【００８７】
主制御部２０２は、メモリ２１２に記憶されているロボット１の制御プログラムを実行する。これにより、主制御部２０２は、衝突判断部２１、ローリング運動制御部２２、回避走行制御部２３、駆動制御部２４、及び自己位置推定部２５として機能する。
【００８８】
衝突判断部２１は、ロボット１が障害物に衝突したか否かを判断する。ロボット１が障害物に衝突するとその衝撃が加速度センサＳ２が検出する加速度に表れる。また、ロボット１が衝突した障害物を突破できていない場合、ロボット１の位置は大きく変化しない。そこで、衝突判断部２１は、加速度センサＳ２により検出された加速度が所定の閾値を超え、且つ、ロボット１の位置の変化量が閾値未満である場合、ロボット１が障害物に衝突したと判断する。
【００８９】
ここで、衝突判断部２１は、加速度センサＳ２が検出した加速度を積分することによりロボット１の実速度を算出し、その実速度が閾値未満（例えば、０）であればロボット１の位置が変化していないと判断すればよい。或いは、衝突判断部２１は、自己位置推定部２５が推定したロボット１の位置を用いてロボット１の位置の変化量が閾値未満であるか否かを判断してもよい。
【００９０】
また、衝突判断部２１は、第２駆動機構制御部２０７に前進コマンドを出力しているにも拘わらず、ロボット１の位置の変化量が閾値未満である場合、ロボット１は障害物に衝突したと判断してもよい。
【００９１】
また、衝突判断部２１は、加速度センサＳ２により検出された加速度として、例えば進行方向（Ｘ軸方向）の加速度成分を用いてもよいし、それ以外の加速度成分を用いてもよい。
【００９２】
また、衝突判断部２１は、ジャイロセンサＳ１により検出された角速度を積分することで、フレーム１１９のピッチ角を算出し、ピッチ角が閾値を超えた場合、ロボット１は障害物に衝突したと判断してもよい。図９で説明したように、第１モータ１１８が回転しているにも拘わらず、メイン筐体１０１が回転していない場合、フレーム１１９のピッチ角は増大する。これにより、ジャイロセンサＳ１が検出したピッチ角からロボット１が障害物に衝突したか否かを判断できる。
【００９３】
ローリング運動制御部２２は、衝突判断部２１によりロボット１が障害物に衝突したと判断された場合、ロボット１にローリング運動を実行させる。この場合、ローリング運動制御部２２は、重り駆動機構制御部２０９に重り１１４を左方又は右方に傾斜させる傾斜コマンドを出力する。これにより、重り駆動機構制御部２０９は、重り１１４を重力方向を軸として左右に傾けて、ロボット１をローリング運動させる。
【００９４】
ここで、ローリング運動とは、図８Ａに示すように重り１１４を中央線Ｃ８から左方に移動させてロボット１をＺ軸に対して左方に揺動させる動作と、図８Ｂに示すように重り１１４を中央線Ｃ８から右方に移動させてロボット１をＺ軸に対して右方に揺動させる動作とを１回以上繰り返す動作を指す。
【００９５】
また、ローリング運動制御部２２は、自己位置推定部２５が推定したロボット１の位置を取得し、ローリング運動する前のロボット１の位置からロボット１がローリング運動をした後のロボット１の位置の変化量が閾値より大きくなったことを検知した場合、ローリング運動によりロボット１が前進したと判断する。この場合、ロボット１は障害物の隙間を広げて走行路を確保できたので、ローリング運動制御部２２は、ロボット１を前進させる前進コマンドを第２駆動機構制御部２０７に出力することにより、メイン筐体１０１を回転させてロボット１を前進させる。
【００９６】
回避走行制御部２３は、ローリング運動制御部２２により、ローリング運動する前のロボット１の位置からローリング運動をした後のロボット１の位置の変化量が閾値より大きくなったことを検知されなかった場合、ロボット１に回避走行制御を実行させる。この場合、回避走行制御部２３は、第２駆動機構制御部２０７及び重り駆動機構制御部２０９のそれぞれに対してロボット１を後進させる後進コマンド及びロボット１を左方又は右方に傾斜させる傾斜コマンドを出力する。これにより、第２駆動機構制御部２０７は、第１モータ１１８を逆回転させることでメイン筐体１０１を逆回転させてロボット１を後進させる。同時に、重り駆動機構制御部２０９は、第３モータ１２５を回転させることで重りをＺ軸に対して左方又は右方に傾ける。これにより、ロボット１は左後方又は右後方に旋回して、衝突した障害物とは異なる方向に正面を向ける。そして、駆動制御部２４の制御の下、ロボット１を自律走行を再開する。その結果、ロボット１が障害物を突破することができなかった場合において衝突した障害物を避けるようにロボット１を走行させることができる。
【００９７】
駆動制御部２４は、第２駆動機構制御部２０７に前進コマンド等を出力することで、ロボット１を前進させる。ここで、駆動制御部２４は、障害物を避けながら自律的にロボット１を走行させてもよい。この場合、駆動制御部２４は、自己位置推定部２５により推定されたロボット１の位置と、カメラ１０４及び距離センサ１０５により撮像された撮像画像とを用いて障害物を避けながらロボットが自律的に走行するように第２駆動機構制御部２０７及び重り駆動機構制御部２０９のそれぞれに対して前進コマンド及び傾斜コマンドを出力すればよい。一方、駆動制御部２４は、衝突判断部２１により障害物への衝突が検知されると、ロボット１の制御をローリング運動制御部２２に委ねる。
【００９８】
自己位置推定部２５は、ロボット１の周辺の環境情報又はロボット１の移動量を用いて、所定の時間間隔で実空間上におけるロボット１の現在の位置を推定する。例えば、自己位置推定部２５は、カメラ１０４が周辺を撮像することで取得した画像データ、及び距離センサ１０５が検出したロボット１の周辺に位置する物体までの距離を示す距離情報を参照して、例えば、Ｖ−ＳＬＡＭ（Ｖｉｓｕａｌ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ）を用いて、ロボット１の現在位置を推定すればよい。或いは、自己位置推定部２５は、ホイルエンコーダＥ１から取得できるメイン筐体１０１の回転量、及びジャイロセンサＳ１から取得できるロボット１の重力方向に平行な方向軸（Ｚ軸）回りの角速度（ヨー角の角速度）を用いたデッドレコニングのような公知の方法で、ロボット１の現在位置を推定しても良い。
【００９９】
カメラ１０４及び距離センサ１０５は、上述のように、第１球冠部１０２（図１Ａ）及び第２球冠部１０３（図１Ａ）の少なくともいずれか一方に設けられている。このため、カメラ１０４の撮像方向、及び距離センサ１０５が取得する距離情報の方向は、第１駆動機構２０６によって回転される第１球冠部１０２（図１Ａ）及び第２球冠部１０３（図１Ａ）に連動して回転する第１表示部１０８、第２表示部１０９及び第３表示部１１０と同じ方向に向けることができる。これにより、カメラ１０４及び距離センサ１０５は、ロボット１の前方を撮像し、撮像画像及び距離情報を取得できる。カメラ１０４及び距離センサ１０５は、撮像画像及び距離情報を主制御部２０２に出力する。
【０１００】
ジャイロセンサＳ１は、上述のようにフレーム１１９（図３）に備わっている。ジャイロセンサＳ１は、重力方向に平行な方向軸（図２に示すＺ軸）、メイン筐体１０１の走行面に平行なメイン筐体１０１の走行方向を、重力方向に直交する水平面に射影した方向軸（図２に示すＸ軸）、及び前記２方向に直交する方向軸（図２に示すＹ軸）の３つの方向軸の角速度を検知し、主制御部２０２へ出力する。すわなち、ジャイロセンサＳ１は、Ｚ軸回りの角速度（ヨー方向の角速度）と、Ｘ軸回りの角速度（ロール方向の角速度）と、Ｙ軸回りの角速度（ピッチ方向の角速度）とを検知する。駆動制御部２４は、ジャイロセンサＳ１により検知された３つの角速度のそれぞれを積分してメモリ２１２に蓄積することで、メイン筐体１０１のヨー角、ロール角、及びピッチ角を管理する。
【０１０１】
加速度センサＳ２は、例えば、図２に示すＸ軸、Ｙ軸、及びＺ軸の３つの加速度成分を計測する３軸の加速度センサで構成されている。
【０１０２】
ジャイロセンサＳ１及び加速度センサＳ２は、ロボット１の姿勢もしくは動きを検知するセンサーの一例である。
【０１０３】
ホイルエンコーダＥ１は、図４に示すようにシャフト１１５に取り付けられ、シャフト１１５回りのメイン筐体１０１の回転量を検出する。
【０１０４】
表示情報出力制御部２０３は、主制御部２０２から出力されるコマンドに応じたロボット１の表情の表示情報を表示部２０４に表示する。表示部２０４は、図２において説明した第１表示部１０８、第２表示部１０９、及び第３表示部１１０により構成される。
【０１０５】
第１駆動機構制御部２０５は、主制御部２０２から出力されるコマンドに応じて、ロボット１の第１駆動機構２０６を動作させ、第１球冠部１０２及び第２球冠部１０３のピッチ角を変化させる。第１駆動機構２０６は、図３、及び図６Ａにおいて説明したシャフト１１５、第３ギア１２６、駆動ベルト１２２、第４ギア１２７、第２モータ１２１、及びフレーム１１９により構成される。
【０１０６】
第２駆動機構制御部２０７は、主制御部２０２から出力される前進コマンド及び後進コマンドに応じて、第２駆動機構２０８を動作させ、ロボット１を前進又は後進させる。第２駆動機構２０８は、図３において説明した、第１ギア１１６、第２ギア１１７、第１モータ１１８、及びフレーム１１９により構成される。
【０１０７】
重り駆動機構制御部２０９は、主制御部２０２から出力される傾斜コマンドに応じて、ロボット１の重り駆動機構２１０を動作させ、Ｚ軸に対して重り１１４を左方又は右方に傾斜させる。重り駆動機構２１０は、図３及び図５において説明した、重り１１４、第３アーム１２３、第４アーム１２４、第３モータ１２５、及びフレーム１１９により構成される。
【０１０８】
通信部２１１は、ロボット１をクラウドサーバ２（図１１）に接続させるための通信装置で構成される。通信部２１１としては、例えば、Ｗｉｆｉ（登録商標）等の無線ＬＡＮの通信装置が採用できるがこれは一例である。通信部２１１は、主制御部２０２から出力されるコマンドに応じてクラウドサーバと通信を行う。
【０１０９】
（ローリング運動制御の第１パターン）
図１２は、本開示の実施の形態におけるローリング運動制御の第１パターンのメインルーチンを示すフローチャートである。ローリング運動制御の第１パターンは、ロボット１を前進させながらロボット１にローリング運動をさせる。
【０１１０】
Ｓ１では、駆動制御部２４は、第２駆動機構制御部２０７に前進コマンドを出力するとともに必要に応じて傾斜コマンドを重り駆動機構制御部２０９に出力することでロボット１を通常走行させる。
【０１１１】
Ｓ２では、衝突判断部２１は、ロボット１が障害物に衝突したか否かを検知する。ここで、衝突判断部２１の処理の詳細は上述したため説明を省く。
【０１１２】
Ｓ２において衝突が検知された場合（Ｓ２でＹＥＳ）、衝突判断部２１は、停止コマンドを第２駆動機構制御部２０７に出力し、ロボット１の走行を停止させる（Ｓ３）。この場合、第２駆動機構制御部２０７は、第１モータ１１８の回転を停止させ、ロボット１の走行を停止させる。
【０１１３】
Ｓ４では、ローリング運動制御部２２は、ロボット１にローリング運動をさせるローリング運動制御を実行する。このパターンの詳細については図１３を用いて後述する。
【０１１４】
ローリング運動制御の実行結果がロボット１が障害物を突破できていないことを示していれば（Ｓ５でＹＥＳ）、処理はＳ６に進み、ロボット１が障害物を突破できたことを示していれば（Ｓ５でＮＯ）、処理はＳ７に進む。
【０１１５】
Ｓ７では、駆動制御部２４は、第２駆動機構制御部２０７に前進コマンドを出力するとともに必要に応じて傾斜コマンドを重り駆動機構制御部２０９に出力することで、ロボット１を通常走行させる。
【０１１６】
Ｓ６では、回避走行制御部２３は、第２駆動機構制御部２０７及び重り駆動機構制御部２０９のそれぞれに後進コマンド及び傾斜コマンドを出力することで、回避走行制御を実行する。これにより、ロボット１は、障害物とは異なる方向に正面を向ける。例えば、回避走行制御部２３は、ロボット１の後方旋回中、カメラ１０４の撮像画像から障害物が存在していない方向を探索し、その方向にロボット１の正面を向ければよい。或いは、回避走行制御部２３は、予め定められた角度（例えば、４５度、９０度、１８０度等）、ロボット１を後方旋回させてもよい。
【０１１７】
図１３は、図１２のローリング運動制御の第１パターンのサブルーチンを示すフローチャートである。Ｓ１１では、ローリング運動制御部２２は、ローリング運動におけるローリング回数をカウントするための変数ｎに０を設定し、変数ｎを初期化する。このフローでは、ロボット１がＺ軸に対して左方に１回傾斜し、右方に１回傾斜したことを、ローリング回数の１回としてカウントする。
【０１１８】
Ｓ１２では、ローリング運動制御部２２は、ローリング運動におけるロボット１の設定速度ｖを初期値Ｖｉに設定する。Ｓ１３では、ローリング運動制御部２２は、ローリング運動におけるロボット１の設定ロール角ａを初期値Ａｉに設定する。
【０１１９】
Ｓ１４では、ローリング運動制御部２２は、設定速度ｖが上限速度Ｖｍ（所定速度の一例）に到達する、又は、設定ロール角ａが上限角度Ａｍ（所定角度の一例）に到達したか否かを判定する。設定速度ｖが上限速度Ｖｍに到達しておらず、且つ、設定ロール角ａが上限角度Ａｍに到達していない場合（Ｓ１４でＮＯ）、処理はＳ１５に進む。
【０１２０】
Ｓ１５では、ローリング運動制御部２２は、設定速度ｖに対して、第１速度Ｖｔに変数ｎを乗じた値を加算して、設定速度ｖをｖ＋Ｖｔ＊ｎに設定する。なお、最初のループでは変数ｎ＝０であるため、設定速度ｖは初期値Ｖｉになる。
【０１２１】
Ｓ１６では、ローリング運動制御部２２は、Ｓ１５で設定した設定速度ｖでロボット１を前進させる前進コマンドを第２駆動機構制御部２０７に出力する。この前進コマンドを受信した第２駆動機構制御部２０７は、第１モータ１１８を設定速度ｖで回転させる制御信号を第１モータ１１８に出力する。
【０１２２】
Ｓ１７では、ローリング運動制御部２２は、設定ロール角ａに対して、第１角度Ａｔに変数ｎを乗じた値を加算して、設定ロール角ａをａ＋Ａｔ＊ｎに設定する。
【０１２３】
Ｓ１８では、ローリング運動制御部２２は、Ｓ１７で設定した設定ロール角ａでロボット１をＺ軸に対して左方に傾斜させる傾斜コマンドを重り駆動機構制御部２０９に出力する。この場合、重り駆動機構制御部２０９は、ロボット１をＺ軸に対して左方に設定ロール角ａで傾斜させる傾斜コマンドを第３モータ１２５に出力する。
【０１２４】
Ｓ１９では、ローリング運動制御部２２は、Ｓ１７で設定した設定ロール角ａでロボット１をＺ軸に対して右方に傾斜させる傾斜コマンドを重り駆動機構制御部２０９に出力する。この場合、重り駆動機構制御部２０９は、ロボット１をＺ軸に対して右方に傾斜させる制御信号を第３モータ１２５に出力する。
【０１２５】
Ｓ２０では、ローリング運動制御部２２は、ロボット１が前進したか否かを判定する。この場合、ローリング運動制御部２２は、例えば、ローリング運動を開始したときのロボット１の位置に対する現在のロボット１の位置の変化量が閾値を超えていれば、ロボット１が前進したと判断すればよい。なお、ロボット１の位置は、例えば、自己位置推定部２５が算出した位置を採用すればよい。
【０１２６】
ローリング運動制御部２２は、ロボット１の前進を検知した場合（Ｓ２０でＹＥＳ）、ローリング運動制御の実行結果を「突破」に設定する（Ｓ２３）。一方、ローリング運動制御部２２は、ロボット１が前進していないと判断した場合（Ｓ２０でＮＯ）、処理をＳ２１に進める。Ｓ２１では、ローリング運動制御部２２は、変数ｎを１インクリメントし、処理をＳ１４に戻す。
【０１２７】
すなわち、ローリング運動制御部２２は、設定速度ｖを第１速度Ｖｔずつ増大させ、且つ、設定ロール角ａを第１角度Ａｔずつ増大させていく。そして、ローリング運動制御部２２は、ロボット１の前進を検知した場合（Ｓ２０でＹＥＳ）、ロボット１が障害物を突破できたとして処理を図１２に戻す。
【０１２８】
一方、ローリング運動制御部２２は、ロボット１の前進を検知することなく（Ｓ２０でＮＯ）、設定速度ｖが上限速度Ｖｍに到達する、又は、設定ロール角ａが上限角度Ａｍに到達した場合（Ｓ１４でＹＥＳ）、処理をＳ２２に進める。上限速度Ｖｍとしては、例えば、通常走行時の設定速度が採用されてもよいし、通常走行時の設定速度よりも低い速度が採用されてもよい。また、上限角度Ａｍとしては、例えば、ロボットが傾斜し得る予め定められた最大角度が採用されてもよいし、その最大角度よりも小さな角度が採用されてもよい。
【０１２９】
Ｓ２２では、ローリング運動制御部２２は、ローリング運動制御の判断結果を「突破できない」に設定し、処理を図１２に戻す。
【０１３０】
図１７〜図２３は、ローリング運動制御の第１パターンを採用した場合のロボット１の動作を示す図である。本明細書では、ロボット１の進行方向に向けて左側を左方、右側を右方と定めたため、図１７〜図２３において、左右の方向は逆になっている。また、図１７〜図２３では、上面視からのロボット１が示されている。また、図１８〜図２３において、点線は１つ前のタイミングにおけるロボット１と障害物Ｏ１，Ｏ２との位置を示している。なお、これらのことは、後述する図２４〜図３０も同じである。
【０１３１】
図１７に示すタイミングＴ１では、ロボット１は通常走行を行っている。図１８に示すタイミングＴ２では、ロボット１は障害物Ｏ１，Ｏ２に衝突している。そのため、衝突判断部２１は、衝突を検知し、停止コマンドを第２駆動機構制御部２０７に出力することでロボット１の前進を停止させる。ここでは、ロボット１は隣接する２つの障害物Ｏ１，Ｏ２と衝突している。なお、後述する第３パターンでは、ロボット１は障害物Ｏ１，Ｏ２に衝突しても停止せずにローリング運動を開始する。
【０１３２】
図１９に示すタイミングＴ３では、ロボット１は、Ｚ軸に対して左方に傾斜した状態で走行している。そのため、ロボット１は矢印で示す左斜め前方に移動し、障害物Ｏ２は、ロボット１により押され、左斜め前方に移動している。これにより、障害物Ｏ１と障害物Ｏ２との隙間がタイミングＴ２のときよりも少し増大している。
【０１３３】
図２０に示すタイミングＴ４では、ロボット１は、Ｚ軸に対して右方に傾斜した状態で走行している。そのため、ロボット１は矢印で示す右斜め前方に移動し、障害物Ｏ１と衝突している。
【０１３４】
図２１に示すタイミングＴ５では、ロボット１は、Ｚ軸に対して右方に傾斜した状態で走行している。そのため、ロボット１は、矢印で示す右斜め前方に移動し、障害物Ｏ１はロボット１により押され、右斜め前方に移動している。これにより、障害物Ｏ１と障害物Ｏ２との隙間がタイミングＴ４のときよりも増大している。
【０１３５】
図２２に示すタイミングＴ６では、ロボット１は、Ｚ軸に対して左方に傾斜した状態で走行している。そのため、ロボット１は矢印で示す左斜め前方に移動している。このとき、障害物Ｏ１と障害物Ｏ２との隙間が、ロボット１の横幅よりも大きくなったため、ロボット１は障害物Ｏ１と障害物Ｏ２との隙間を通り、障害物を突破できている。そのため、ローリング運動の開始時のロボット１の位置から現在のロボット１の位置の変化量が閾値を超え、ローリング運動制御部２２は、ロボット１が前進できたと判断する。
【０１３６】
図２３に示すタイミングＴ７では、ロボット１は、通常走行に切り替えて前進している。
【０１３７】
このように、ローリング運動制御の第１パターンでは、ロボット１は前進しながらローリング運動を実行することにより、障害物Ｏ１と障害物Ｏ２との隙間を徐々に増大させ、走行路の確保を図ることができる。
【０１３８】
なお、図１３のフローでは、設定速度ｖと設定ロール角ａとの両方が徐々に増大されているが、本開示はこれに限定されず、いずれか一方が徐々に増大されてもよい。また、図１３のフローでは、設定速度ｖと設定ロール角ａとのそれぞれが上限速度Ｖｍ及び上限角度Ａｍに到達したか否かが判断されているが、いずれか一方が上限速度Ｖｍ及び上限角度Ａｍに到達したか否か判断されてもよい。
【０１３９】
また、図１３のＳ１９の後に、ローリング運動制御部２２は、ロボット１の設定ロール角ａを０度に戻してから、Ｓ２０の前進の有無を検知してもよい。
【０１４０】
（ローリング運動制御の第２パターン）
図１４は、本開示の実施の形態におけるローリング運動制御の第２パターンのサブルーチンを示すフローチャートである。ローリング運動制御の第２パターンは、停止状態のロボット１にローリング運動をさせる。なお、ローリング運動制御の第２パターンにおいて、メインルーチンは図１２と同じであるため、説明を省略する。
【０１４１】
Ｓ３１は図１３のＳ１１と同じである。Ｓ３２では、ローリング運動制御部２２は、ローリング回数をカウントするためのもう一つの変数ｍに０を設定し、変数ｍを初期化する。Ｓ３３では、ローリング運動制御部２２は、設定ロール角ａでロボット１をＺ軸に対して左方に傾斜させる傾斜コマンドを重り駆動機構制御部２０９に出力する。Ｓ３４では、ローリング運動制御部２２は、設定ロール角ａでロボット１をＺ軸に対して右方に傾斜させる傾斜コマンドを重り駆動機構制御部２０９に出力する。
【０１４２】
Ｓ３５では、ローリング運動制御部２２は、変数ｍが上限値Ｍに到達したか否かを判断する。ここで、上限値Ｍは、ロボット１の前進に先立ってロボット１のローリング回数を規定するための値であり、例えば、１以上の整数が採用できる。
【０１４３】
Ｓ３５において、変数ｍが上限値Ｍに到達していない場合（Ｓ３５でＮＯ）、ローリング運動制御部２２は、変数ｍを１インクリメントし（Ｓ３７）、処理をＳ３３に戻す。一方、Ｓ３５において、変数ｍが上限値Ｍに到達した場合（Ｓ３５でＹＥＳ）、ローリング運動制御部２２は、設定速度ｖを設定し、前進コマンドを第２駆動機構制御部２０７に出力する。ここで、設定速度ｖは予め定められた所定の値に設定される。これにより、ロボット１は走行を再開する。
【０１４４】
Ｓ３８では、ローリング運動制御部２２は、ロボット１が前進したか否かを判断する。この処理の詳細は、図１３のＳ２０と同じである。
【０１４５】
ローリング運動制御部２２は、ロボット１の前進を検知した場合（Ｓ３８でＹＥＳ）、ローリング運動制御の実行結果を「突破」に設定する（Ｓ４３）。一方、ローリング運動制御部２２は、ロボット１の前進を検知しなかった場合（Ｓ３８でＮＯ）、処理をＳ３９に進める。
【０１４６】
Ｓ３９では、ローリング運動制御部２２は、変数ｎが上限値Ｎに到達したか否かを判断する。変数ｎが上限値Ｎに到達していない場合（Ｓ３９でＮＯ）、ローリング運動制御部２２は、設定速度ｖを０に設定する（Ｓ４０）、Ｓ４１では、ローリング運動制御部２２は、変数ｎを１インクリメントして処理をＳ３３に戻す。ここで、上限値Ｎは、ローリング運動制御の終了条件を定める予め定められた値が採用される。
【０１４７】
一方、Ｓ３９において変数ｎが上限値Ｎに到達した場合（Ｓ３９でＹＥＳ）、ローリング運動制御部２２は、ローリング運動制御の実行結果を「突破できない」に設定する（Ｓ４２）。Ｓ４２及びＳ４３の処理が終了すると処理は図１２に戻る。
【０１４８】
すなわち、ローリング運動制御の第２パターンは、停止状態のロボット１にＭ回のローリング運動を実行させた後にロボット１を前進させる処理を１セットとし、その１セットの処理をロボット１が障害物を突破するまで実行する制御になっている。また、ローリング運動制御の第２パターンは、この１セットの処理をＮ回実行してもロボット１が障害物を突破できなかった場合、ロボット１に回避走行をさせる制御になっている。
【０１４９】
なお、図１４のフローのＳ３３、Ｓ３４において設定ロール角ａは、ローリング回数が増大するにつれて増大するように設定されてもよい。また、Ｓ３６において、設定速度ｖは、ローリング回数が増大するにつれて増大するように設定されてもよい。
【０１５０】
図２４〜図３０は、ローリング運動制御の第２パターンを採用した場合のロボット１の動作を示す図である。図２４に示すタイミングＴ１では、ロボット１は通常走行を行っている。図２５に示すタイミングＴ２では、ロボット１は障害物Ｏ１，Ｏ２に衝突している。そのため、衝突判断部２１は、衝突を検知し、停止コマンドを第２駆動機構制御部２０７に出力することでロボット１の前進を停止させる。
【０１５１】
図２６に示すタイミングＴ３では、ロボット１は、停止状態でＺ軸に対して矢印で示す左方に傾斜している。そのため、障害物Ｏ２は、ロボット１により押され、左方に移動している。これにより、障害物Ｏ１と障害物Ｏ２との隙間がタイミングＴ２のときよりも少し増大している。
【０１５２】
図２７に示すタイミングＴ４では、ロボット１は、停止状態でＺ軸に対する傾斜を０度にして姿勢を元に戻している。そのため、ロボット１はタイミングＴ２の状態に戻り、障害物Ｏ１と衝突している。
【０１５３】
図２８に示すタイミングＴ５では、ロボット１は、停止状態でＺ軸に対して矢印で示すように右方に傾斜している。そのため、障害物Ｏ１はロボット１により押され、右方に移動している。これにより、障害物Ｏ１と障害物Ｏ２との隙間がタイミングＴ４のときよりも増大している。
【０１５４】
図２９に示すタイミングＴ６では、ロボット１は、Ｚ軸に対する傾斜を０度にして姿勢を元に戻す。図３０に示すタイミングＴ７では、ロボット１は前進を試みる。このとき、障害物Ｏ１と障害物Ｏ２との隙間が、ロボット１の横幅より大きくなったため、ロボット１は障害物Ｏ１と障害物Ｏ２との隙間を通り、障害物を突破できている。そのため、ローリング運動の開始時のロボット１の位置から現在のロボット１の位置の変化量が閾値を超え、ロボット１は、ローリング運動制御部２２により前進できたと判断される。そして、ロボット１は、通常走行に切り替える。
【０１５５】
このようにローリング運動制御の第２パターンでは、ロボット１は、停止状態でローリング運動を行うため、障害物Ｏ１，Ｏ２へ与える衝撃を緩和させながら、ローリング運動を行うことができる。
【０１５６】
（ローリング運動制御の第３パターン）
図１５は、本開示の実施の形態におけるローリング運動制御の第３パターンのメインルーチンを示すフローチャートである。ローリング運動制御の第３パターンは、ロボット１が障害物Ｏ１と衝突してもロボット１を停止させずに、ロボット１にローリング運動を実行させる。
【０１５７】
図１５において、図１２との相違点は、図１２のＳ３に示すロボット１を停止させる処理が省かれている点にある。それ以外は、図１５の処理は図１２の処理と同じである。図１６は、ローリング運動制御の第３パターンのサブルーチンを示すフローチャートである。
【０１５８】
Ｓ５１は図１３のＳ１１と同じである。Ｓ５２では、ローリング運動制御部２２は、ロボット１の設定速度ｖを設定し、前進コマンドを第２駆動機構制御部２０７に出力する。ここで、設定速度ｖは予め定められた所定の値に設定される。ここでは、設定速度ｖは例えば、通常走行時の設定速度よりも低い速度が設定される。
【０１５９】
Ｓ５３では、ローリング運動制御部２２は、設定ロール角ａでロボット１をＺ軸に対して左方に傾斜させる傾斜コマンドを重り駆動機構制御部２０９に出力する。Ｓ５４では、ローリング運動制御部２２は、設定ロール角ａでロボット１をＺ軸に対して右方に傾斜させる傾斜コマンドを重り駆動機構制御部２０９に出力する。
【０１６０】
Ｓ５５では、ローリング運動制御部２２は、ロボット１が前進したか否かを判定する。この処理の詳細は、図１３のＳ２０と同じである。
【０１６１】
ローリング運動制御部２２は、ロボット１の前進を検知した場合（Ｓ５５でＹＥＳ）、ローリング運動制御の実行結果を「突破」に設定する（Ｓ５８）。一方、ローリング運動制御部２２は、ロボット１の前進を検知しなかった場合（Ｓ５５でＮＯ）、処理をＳ５６に進める。
【０１６２】
Ｓ５６では、ローリング運動制御部２２は、変数ｎが上限値Ｎに到達したか否かを判定する。変数ｎが上限値Ｎに到達していない場合（Ｓ５６でＮＯ）、ローリング運動制御部２２は、変数ｎを１インクリメントし（Ｓ５７）、処理をＳ５３に戻す。ここで、上限値Ｎは、ローリング運動制御の終了条件を定める予め定められた値が採用される。
【０１６３】
一方、Ｓ５６において変数ｎが上限値Ｎに到達した場合（Ｓ５６でＹＥＳ）、ローリング運動制御部２２は、ローリング運動制御の実行結果を「突破できない」に設定する（Ｓ５９）。Ｓ５８及びＳ５９の処理が終了すると処理は図１５に戻る。
【０１６４】
すなわち、ローリング運動制御の第３パターンは、障害物と衝突しても前進を維持した状態でロボット１にローリング運動を実行させ、障害物の突破を試みる制御になっている。そして、第３パターンは、ローリング運動をＮ回実行しても障害物を突破することができなかった場合、ロボット１に回避走行をさせる制御になっている。
【０１６５】
このように、ローリング運動制御の第３パターンは、ロボット１は、障害物と衝突しても停止せずにローリング運動を開始しているため、走行時の勢いを保持した強いパワーで障害物を移動させることができ、より確実に隙間を広げることができる。
【０１６６】
なお、図１５のフローのＳ５３、Ｓ５４において設定ロール角ａは、ローリング回数が増大するにつれて増大するように設定されてもよい。また、Ｓ５２において、設定速度ｖは、通常走行と同じ設定速度ｖが設定されてもよい。この場合、ロボット１は通常走行時における設定速度を維持した状態でローリング運動を実行することになる。また、設定速度ｖはローリング回数が増大するにつれて増大するように設定されてもよい。
【０１６７】
（変形例）
（１）上記実施の形態では、ローリング運動制御部２２は、設定ロール角ａに設定して、ロボット１をＺ軸に対して左方に傾斜させた後、ロボット１をＺ軸に対して右方に傾斜させるというように、ロボット１をＺ軸に対して対称にローリング運動をさせていた。本開示はこれに限定されず、ローリング運動制御部２２は、ロボット１をＺ軸に対して対称にローリング運動させなくてもよい。例えば、ロボット１をＺ軸に対して左方に設定ロール角ａで傾斜させた後、ロボット１をＺ軸に対して右方に設定ロール角ｂで傾斜させてもよい。ここで、設定ロール角ａと設定ロール角ｂとは異なる角度である。
【０１６８】
（２）上記実施の形態では、ロボット１が障害物に衝突したときロボット１の中央線Ｃ８は、Ｚ軸と同じ方向を向いているものとして説明したが、本開示はこれに限定されない。例えば、ロボット１は中央線Ｃ８がＺ軸に対して傾斜した状態で衝突することもある。この場合、ローリング運動制御部２２は、中央線Ｃ８に対して対称にロボット１をローリング運動させてもよいし、Ｚ軸に対して対称にロボット１をローリング運動をさせてもよい。なお、Ｚ軸に対して対称にロボット１をローリング運動させる場合、ローリング運動制御部２２は、ジャイロセンサＳ１が検知したロール方向の角速度からＺ軸に対する中央線Ｃ８の傾斜角度θを求める。ここで、傾斜角度θがＺ軸に対して左方に傾斜しているとすると、ローリング運動制御部２２は、左方の設定ロール角をａ−θ、右方の設定ロール角をａ＋θに設定して、Ｚ軸に対して線対称にロボット１をローリング運動をさせればよい。
【産業上の利用可能性】
【０１６９】
本開示によれば、障害物が自由に配置された場所においても障害物の隙間を広げて走行路を確保できるため、家庭用のペットロボットとして有用である。
【符号の説明】
【０１７０】
１        ：ロボット
２１      ：衝突判断部
２２      ：ローリング運動制御部
２３      ：回避走行制御部
２４      ：駆動制御部
２５      ：自己位置推定部
１０１    ：メイン筐体
１０２    ：第１球冠部
１０３    ：第２球冠部
１０４    ：カメラ
１０５    ：距離センサ
１０６    ：マイク
１０７    ：スピーカ
１０８    ：第１表示部
１０９    ：第２表示部
１１０    ：第３表示部
１１１    ：固定板金
１１４    ：重り
１１５    ：シャフト
１１９    ：フレーム
１２１    ：第２モータ
１２５    ：第３モータ
２０１    ：制御回路
２０２    ：主制御部
２０３    ：表示情報出力制御部
２０４    ：表示部
２０５    ：第１駆動機構制御部
２０６    ：第１駆動機構
２０７    ：第２駆動機構制御部
２０８    ：第２駆動機構
２０９    ：重り駆動機構制御部
２１０    ：重り駆動機構
２１１    ：通信部
Ｅ１      ：ホイルエンコーダ
Ｓ１      ：ジャイロセンサ
Ｓ２      ：加速度センサ
【図１Ａ】
2020058596.tif 000003
【図１Ｂ】
2020058596.tif 000004
【図２】
2020058596.tif 000005
【図３】
2020058596.tif 000006
【図４】
2020058596.tif 000007
【図５】
2020058596.tif 000008
【図６Ａ】
2020058596.tif 000009
【図６Ｂ】
2020058596.tif 000010
【図６Ｃ】
2020058596.tif 000011
【図７Ａ】
2020058596.tif 000012
【図７Ｂ】
2020058596.tif 000013
【図８Ａ】
2020058596.tif 000014
【図８Ｂ】
2020058596.tif 000015
【図９】
2020058596.tif 000016
【図１０】
2020058596.tif 000017
【図１１】
2020058596.tif 000018
【図１２】
2020058596.tif 000019
【図１３】
2020058596.tif 000020
【図１４】
2020058596.tif 000021
【図１５】
2020058596.tif 000022
【図１６】
2020058596.tif 000023
【図１７】
2020058596.tif 000024
【図１８】
2020058596.tif 000025
【図１９】
2020058596.tif 000026
【図２０】
2020058596.tif 000027
【図２１】
2020058596.tif 000028
【図２２】
2020058596.tif 000029
【図２３】
2020058596.tif 000030
【図２４】
2020058596.tif 000031
【図２５】
2020058596.tif 000032
【図２６】
2020058596.tif 000033
【図２７】
2020058596.tif 000034
【図２８】
2020058596.tif 000035
【図２９】
2020058596.tif 000036
【図３０】
2020058596.tif 000037