(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024148431
(43)【公開日】2024-10-18
(54)【発明の名称】ロボット
(51)【国際特許分類】
A63H 11/00 20060101AFI20241010BHJP
G05D 1/43 20240101ALI20241010BHJP
【FI】
A63H11/00 Z
G05D1/02 H
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023061551
(22)【出願日】2023-04-05
(71)【出願人】
【識別番号】308036402
【氏名又は名称】株式会社JVCケンウッド
(74)【代理人】
【識別番号】110000121
【氏名又は名称】IAT弁理士法人
(72)【発明者】
【氏名】熊岡 泰佑
(72)【発明者】
【氏名】浅野 大樹
(72)【発明者】
【氏名】氷室 俊之
(72)【発明者】
【氏名】上村 真史
【テーマコード(参考)】
2C150
5H301
【Fターム(参考)】
2C150CA02
2C150DA01
2C150ED21
2C150ED70
2C150EF03
2C150EF11
2C150EF13
2C150EF16
2C150EF33
5H301AA01
5H301BB14
5H301CC03
5H301CC06
5H301CC10
5H301GG07
5H301GG09
5H301GG17
5H301QQ04
(57)【要約】
【課題】本来の動物の挙動に沿った動きをするロボットを提供する。
【解決手段】爬虫類型ロボット1は、人物との距離を測定する検知部11と、移動装置の移動を制御する動作制御部31とを有し、動作制御部31は、人物との距離が第1の閾値T1以下になった場合、爬虫類型ロボット1を移動させる人物逃避制御部41と、爬虫類型ロボット1が存在する面が、人物が存在する第1の面か前記人物が存在しない第2の面かに応じて、第1の閾値の値を変更する閾値変更部42とを有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
人物との距離を検知する検知部と、
ロボットの移動を制御する動作制御部と
を有し、
前記動作制御部は、
前記人物との距離が第1の閾値以下になった場合、前記ロボットを移動させる人物逃避制御部と、
前記ロボットが存在する面が、前記人物が存在する第1の面か前記人物が存在しない第2の面かに応じて、前記第1の閾値の値を変更する閾値変更部と
を有するロボット。
【請求項2】
請求項1に記載のロボットにおいて、
前記閾値変更部は、
前記ロボットが存在する面が前記第1の面である場合は、前記第1の閾値を、第1の距離とし、前記ロボットが存在する面が前記第2の面である場合は、前記第1の閾値を、前記第1の距離よりも短い第2の距離とする
ロボット。
【請求項3】
請求項1または請求項2に記載のロボットにおいて、
前記人物逃避制御部は、前記ロボットが存在する面において、前記人物から前記ロボットへの方向を含む所定の角度の範囲内から逃避経路を選択し、前記ロボットを前記逃避経路に沿って移動させる
ロボット。
【請求項4】
請求項3に記載のロボットにおいて、
前記人物逃避制御部は、前記所定の角度の範囲内における、前記ロボットが存在する面とその面に繋がる他の面との境界と、前記ロボットの座標を結ぶ経路を前記逃避経路として選択する
ロボット。
【請求項5】
請求項1または請求項2に記載のロボットにおいて、
前記人物逃避制御部は、前記人物との距離が前記第1の閾値より小さい第2の閾値になった場合、前記ロボットの移動を停止する
ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットに関する。
【背景技術】
【0002】
愛玩用の犬や猫などの動物を模したロボットが知られている。このロボットは、本来の動物の挙動に沿った動きをすることでユーザに癒しを与えるため、やむを得ない事情で動物を飼えない人や、世話のいらないペットとして人気である。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来のロボットは、ユーザに寄りそう動作(お座りなど)をするようになっているが、例えば、人物が近づいたら逃げる等、ユーザに寄り添わない動作をするものが存在しなかった。生物は、本来人物が近づいたら逃げる挙動をするが、そのような挙動に沿ったロボットは存在しなかった。
【0005】
本発明は、かかる問題に鑑みてなされたものであり、その目的とするところは、本来の動物の挙動に沿った動きすることで、ユーザに癒しを与えるロボットを提供しようとするものである。
【課題を解決するための手段】
【0006】
本発明の一側面のロボットは、人物との距離を検知する検知部と、ロボットの移動を制御する動作制御部とを有し、動作制御部は、人物との距離が第1の閾値以下になった場合、ロボットを移動させる人物逃避制御部と、ロボットが存在する面が、人物が存在する第1の面か人物が存在しない第2の面かに応じて、第1の閾値の値を変更する閾値変更部とを有する。
【発明の効果】
【0007】
本発明によると、ロボットは、ユーザに癒しを与えることができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、爬虫類型ロボット1の構成例を示す図である。
【
図2】
図2は、爬虫類型ロボット1の挙動の選択処理の流れを示すフローチャートである。
【
図3】
図3は、壁や天井を爬虫類型ロボット1が移動する様子を説明するために天井、壁の配置を模式的に示した図である。
【
図4】
図4は、爬虫類型ロボット1が窓やドアなどを侵入禁止領域として設定する様子を示した図である。
【
図5】
図5は、爬虫類型ロボット1の人物逃避移動処理の流れを示すフローチャートである。
【
図7】
図7は、逃避経路Rcの選択処理の流れを示すフローチャートである。
【
図8】
図8は、爬虫類型ロボット1が床(第1の面)に存在する場合における、同一面逃避範囲の決定方法について説明するための図である。
【
図9】
図9は、爬虫類型ロボット1が壁(第2の面)に存在する場合における、同一面逃避範囲の決定方法について説明するための図である。
【
図10】
図10は、爬虫類型ロボット1が同一面逃避経路Raを選択する場面を示す図である。
【
図11】
図11は、爬虫類型ロボット1が異面逃避経路Rbを選択する場面を示す図である。
【
図12】
図12は、異面逃避経路Rbの角度の例を示す図である。
【
図13】
図13は、爬虫類型ロボット1の停止処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0009】
[一実施の形態]
以下に、本発明の一実施の形態に係るロボットとしての爬虫類型ロボット1について説明する。
図1は、爬虫類型ロボット1の構成例を示す図である。
【0010】
爬虫類型ロボット1は、外観がトカゲ、蛇等の爬虫類を模した外観を有し、床の他、壁、天井などもファンデルワールス力を利用して移動できるロボットである。例えば、爬虫類型ロボット1は、壁や天井との接地面に、ヤモリなどの爬虫類生物の足の表面を模した構成を有する。より具体的には、爬虫類型ロボット1は、壁や天井との接地面に無数の微細な溝を備え、それらの微細な溝と壁や天井の凹凸をかみ合わせることで、爬虫類型ロボット1機体を支えるのに十分な強さのファンデルワールス力を生み出して壁や天井の移動を行う。なお、壁、天井等の移動はファンデルワールス力を利用したものに限定されず、粘着力、磁力、静電気力を生み出して移動を行っても良い。
【0011】
爬虫類型ロボット1は、検知部11、入力部12、制御部13、記憶部14、駆動部15、充放電部16、および表示部17を備えている。
【0012】
検知部11は、例えば三次元加速度センサやジャイロセンサ、カメラ(いずれも図示せず)などを有し、制御部13の制御により動作し、検出結果や撮像画像を制御部13に供給する。検知部11は、例えば、ユーザと爬虫類型ロボット1との間の距離を検知する。距離の検知方法としては、公知の技術を用いても良い。なお、検知部11は、爬虫類型ロボット1に搭載されるのではなく、爬虫類型ロボット1とは別の装置として、爬虫類型ロボット1本機とは離れて設置され、爬虫類型ロボット1と通信可能としても良い。
【0013】
入力部12は、例えばボタン、タッチパネル(いずれも図示せず)などを有し、それらを介してユーザの爬虫類型ロボット1に対する情報の入力を受け付け、制御部13に供給する。
【0014】
制御部13は、図示は省略するが、CPU(Central Processing Unit)、記憶部位(ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発メモリ等)、ハードウェアを含む、その他の要素から構成される。制御部13は、記憶部14に記憶されている図示せぬ制御用プログラムを実行することで、動作制御部31、充放電制御部32、および表示制御部33として機能する。
【0015】
動作制御部31は、駆動部15を制御して爬虫類型ロボット1の動作(移動)を制御する。例えば動作制御部31は、記憶部14に記憶されている、予め設定された所定の移動範囲(以下、設定移動範囲と称する)の3次元マップ14aに基づいて、爬虫類型ロボット1を、侵入禁止領域を避けながら、設定移動範囲をランダムに移動させる。動作制御部31は、人物逃避制御部41および閾値変更部42を有する。人物逃避制御部41は、閾値変更部42により設定された閾値(第1の閾値)を参照して、ランダム移動中に、爬虫類型ロボット1を移動させる。閾値変更部42は、爬虫類型ロボット1が存在する面が、ユーザが存在する第1の面かユーザが存在しない第2の面かに応じて、閾値(第1の閾値)の値を変更する。
【0016】
人物逃避制御部41は、爬虫類型ロボット1を移動させる際、爬虫類型ロボット1が存在する面において、ユーザから爬虫類型ロボット1への方向を含む所定の角度の範囲内から逃避経路を選択し、爬虫類型ロボット1を逃避経路に沿って移動させる。また人物逃避制御部41は、所定の角度の範囲内における、爬虫類型ロボット1が存在する面とその面に繋がる他の面との境界と、爬虫類型ロボット1とを結ぶ経路を逃避経路として選択することができる。爬虫類型ロボット1の動作の詳細は後述する。
【0017】
充放電制御部32は、充放電部16による爬虫類型ロボット1の充電処理を制御する。
【0018】
表示制御部33は、爬虫類型ロボット1の状態、動作に合わせて、眼、口を模した表示部17の表示を制御する。
【0019】
記憶部14は、例えばROM(Read Only Memory)、RAM(Random Access Memory)、不揮発メモリを有する。記憶部14には、上述した設定移動範囲の3次元マップ14aや制御用プログラムが記憶されているとともに、制御部13の制御動作時に必要とされる各種データが一時的に記憶される。
【0020】
駆動部15は、モータやファンデルワールス力で物体の表面に粘着できる粘着部(いずれも図示せず)を有し、動作制御部31の制御に従って各部を動作させる。
【0021】
充放電部16は、内蔵されたバッテリ(図示せず)を有し、爬虫類型ロボット1の充電及び放電を制御する。内蔵されたバッテリに、専用の端子もしくはUSB(Universal Serial Bus)端子など汎用的なものを介して充放電部16が接続されることで、充電される。充放電部16は、充電器を壁や天井に取り付けることもできる。また、充放電部16として、電球ソケットを利用することもできる。
【0022】
表示部17は、例えば液晶や有機EL(Electro Luminescence)表示装置などであり、動物の表情の再現や爬虫類型ロボット1の状態を表示する。
【0023】
(動作処理の説明)
次に、
図2のフローチャートを参照して、爬虫類型ロボット1の動作処理について説明する。
【0024】
ステップS11において、動作制御部31は、爬虫類型ロボット1の動作モードが自律移動モードか対話モードであるかを判定し、動作モードが自律移動モードであると判定した場合、ステップS12に進む。
【0025】
ステップS12において、動作制御部31は、爬虫類型ロボット1の自律移動処理を実行する。爬虫類型ロボット1の自律移動には、予め設定された所定の設定移動範囲をランダムに移動するランダム移動と、ランダム移動中に、侵入禁止領域を避けながら移動する侵入禁止領域回避移動と、ランダム移動中に、人物を避けながら移動する人物逃避移動がある。ランダム移動、侵入禁止領域回避移動、および人物逃避移動の詳細についてはそれぞれ後述する。
【0026】
ステップS11で、動作制御部31が対話モードであると判定した場合、動作制御部31は、ステップS13において、対話動作処理を実行する。対話動作処理により、爬虫類型ロボット1は、ユーザのそばで、ユーザが撫でることによるユーザの接触や、声がけを受け、それに応じた動作を行う。例えば、表示部17に表示された眼や口、表情が変化する。
【0027】
ステップS12で自律移動処理が開始され、またはステップS13で対話動作処理が開始されると、ステップS14において、充放電制御部32は、バッテリの充電残量が一定値を下回っているか否かを判定し、バッテリの充電残量が一定値を下回っていないと判定した場合、ステップS11に戻りそれ以降の処理が実行される。
【0028】
ステップS14でバッテリの充電残量が一定値を下回ったと判定した場合、充放電制御部32は、ステップS15に進み、充電処理を開始する。自律移動モード中の場合、充放電制御部32は、駆動部15を制御し、爬虫類型ロボット1の充放電部16への移動、爬虫類型ロボット1の充放電部16への接続などを実行し、自ら充電できる処理を行う。対話モード中の場合、充放電制御部32は、充電残量が一定値を下回ったことをユーザに通知する処理を行う。例えば、表示部17に表示される表情や動きによってユーザにバッテリが少ないことが通知される。また、ユーザが操作するスマートフォンアプリなどにバッテリ残量情報が表示される。ユーザは、例えば、充電残量が一定値を下回ったことを示す通知を受けると、爬虫類型ロボット1を手にとって、充電を行う。
【0029】
その後処理は終了する。
【0030】
(ランダム移動処理の説明)
ステップS12における自律移動処理により実行されるランダム移動、侵入禁止領域回避移動、および人物逃避移動について説明する。はじめにランダム移動について説明する。ランダム移動においては、爬虫類型ロボット1は、予め設定された所定の設定移動範囲をランダムに移動する。
【0031】
設定移動範囲は、事前の登録処理により生成される3次元マップ14aによって定められる。3次元マップ14aの作成は、爬虫類型ロボット1をランダムに動き回らせることによって行う。爬虫類型ロボット1は、充放電部16を中心に、床、壁、天井をランダムに動き回る。その際に、検知部11は、次元加速度センサやジャイロセンサによる計測と、カメラによる撮像を行い、その計測と撮像により得られたデータに基づいて3次元マップ14aが生成される。そして、ユーザは、スマートフォン、タブレット、PC(personal computer)などを介して3次元マップ14aを確認し、3次元マップ14a上に存在する物体(ドア、窓、棚等)の識別情報等を付与する。
【0032】
なお椅子や机など、一定の幅以下の物体は頻繁に動かす物体だと判断し、3次元マップ14aには組み込まないようにすることができる。すなわち3次元マップ14a上においてはその物体が存在しないようにすることができる。
【0033】
ランダム移動により爬虫類型ロボット1は、壁、天井等、水平面から角度をもって立ち上がった面にもファンデルワールス力を利用し、張り付いて移動することができるが、机や椅子の脚など、爬虫類型ロボット1の幅より狭くファンデルワールス力を利用できない恐れがある物体には張り付かないようにすることができる。
【0034】
またランダム移動の中で、ユーザが同室内に居る場合、爬虫類型ロボット1は、ユーザの視線の先を中心に移動するなど、ランダム移動に一定の制限を設けることができる。またユーザが一定時間同じ場所に居る場合、検知部11のカメラ等で眼を検知してユーザの視線を予測し視野の範囲内で動作するようにもできる。また、より自然な動作とするため、一時的に視野から外れることがあっても良い。どのような動きをするかはAI(Artificial Intelligence)などを使ってユーザの好みに合わせることができる。
【0035】
(侵入禁止領域回避移動の説明)
次に、侵入禁止領域回避移動について
図3,4を参照して説明する。侵入禁止領域回避移動においては、爬虫類型ロボット1は、設定された侵入禁止領域を避けて移動する。
【0036】
爬虫類型ロボット1は、上述したランダム移動処理により、例えば、家屋のある部屋を設定移動範囲として、その部屋内の床の他、
図3に示すように、ファンデルワールス力を利用して壁、天井を移動する。
図3は、壁や天井を爬虫類型ロボット1が移動する様子を説明するために天井、壁の配置を模式的に示した図である。
図3の破線矢印は爬虫類型ロボット1が移動する経路を示す。なお
図3の例では、自律運動モード時の充電のための充放電部16が天井に設けられている。
【0037】
床面の他、このように、床に置かれた棚の側面、ドア、窓も爬虫類型ロボット1は移動することができるが、その一部が頻繁に動くことが予想されるドア、窓、家具等には移動しないようにすることができる。その部分が動いたときの振動等により爬虫類型ロボット1が落下する可能性があるためである。
例えば、天井より低い範囲に存在する物体において水平方向の長さが所定の長さより短い物は、頻繁に動くものとして、その物を含む領域を侵入禁止領域に設定し、そこに移動しないようにすることができる。具体的には、
図4に示すように、水平方向の長さHが所定の長さより短い窓が壁に存在する場合は、窓を侵入禁止領域としてそこを通らずに移動することができる。
図3の例では、窓、ドアを含む領域が侵入禁止領域とされている。
【0038】
(人物逃避移動処理の説明)
次に、人物逃避移動処理について
図5のフローチャートを参照して説明する。人物逃避移動においては、爬虫類型ロボット1は、ユーザを避けて移動する。
【0039】
自律移動の開始が指示されると、ステップS31において、動作制御部31の閾値変更部42は、爬虫類型ロボット1が存在する面が、ユーザが存在する第1の面かユーザが存在しない第2の面かに応じて、第1の閾値T1を設定する。
【0040】
具体的には、
図6Aに示すように、爬虫類型ロボット1が、ユーザWが立っている床(第1の面)に存在する場合、閾値変更部42は、第1の閾値T1を、第1の距離L1と設定する。
【0041】
また、
図6Bに示すように、爬虫類型ロボット1が、壁に位置し、ユーザWが立ってない壁(第2の面)に存在する場合、閾値変更部42は、第1の閾値T1を、第1の距離L1よりも短い第2の距離L2と設定する。
【0042】
なおユーザが立っている面、ユーザが立ってない面の対象となる領域は、ユーザが、3次元マップ14a上に設定することもできる。
図6Bの例では、ユーザが存在する領域が床として登録されており、爬虫類型ロボット1が存在する領域が壁として登録されている場合、閾値変更部42は、爬虫類型ロボット1が存在する壁は、ユーザWが立っている床ではない(ユーザWが立っていない第2の面である)と判定する。また床にスロープがある場合、そのスロープを含めた領域を1つの面(床)として登録することもできるし、スロープの領域を他の面(スロープ)として登録することもできる。また1つの床においても、領域毎に他の面であるとして登録することができる。
【0043】
また、閾値変更部42は、爬虫類型ロボット1が存在する面と、ユーザが存在する面との角度に基づいて爬虫類型ロボット1が存在する面がユーザが存在する第1の面かユーザが存在しない第2の面であるかを判定することができる。閾値変更部42は、爬虫類型ロボット1が存在する面とユーザが存在する面との角度が所定の閾値(例えば、45°)以上ある場合(
図6Bの例のように、90°ある場合)、爬虫類型ロボット1が存在する面は、ユーザWが立っていない第2の面であると判定する。この閾値を5°とすれば、ユーザが存在する床から10°程度のスロープ上に、爬虫類型ロボット1が存在する場合、閾値変更部42は、爬虫類型ロボット1が存在する面が、ユーザが立っていない第2の面であると判定する。面同士の角度は、カメラ(3D(three-dimensional)カメラを含む)で3次元的に空間を把握することで検出することができる。またジャイロセンサで爬虫類型ロボット1の傾きを検出し、その傾きによって両者の角度を検出することもできる。
【0044】
ステップS32において、人物逃避制御部41は、検知部11から供給される検知データに基づいて、ユーザと爬虫類型ロボット1間の距離が第1の閾値T1以下であるか否かを判定し、第1の閾値T1以下であると判定した場合、ステップS33に進む。なおユーザと爬虫類型ロボット1との間の距離は、爬虫類型ロボット1の部位のうちユーザとの距離が最も近い点とユーザの部位のうち爬虫類型ロボット1との距離が最も近い点との距離とすることができる。
【0045】
ステップS33において、人物逃避制御部41は、ユーザから逃避するための逃避経路を選択する。ユーザは、逃避経路の距離(以下、指定距離と称する)を予め指定することができる。指定距離は、例えば10mなどである。逃避経路の選択処理については後述する。
【0046】
ステップS34において、人物逃避制御部41は、駆動部15を制御し、爬虫類型ロボット1を逃避経路に沿って移動させる。その後、ステップS31に戻り、それ以降の処理が実行される。
【0047】
なお、人物逃避制御部41は、爬虫類型ロボット1を逃避経路に沿って移動させる際、単に逃避経路となる線上を移動させることもできるし、逃避経路となる線を中心とする一定の幅の範囲を蛇行しつつ移動させることもできる。この幅は、ユーザが予め設定しても良いし、検知部11が測定した経路の長さや記憶部14内の3次元マップ14aに保存された部屋の大きさ、ロボットの大きさ等に応じて変化させても良い。
【0048】
以上の処理により、ユーザと爬虫類型ロボット1間の距離が第1の閾値T1以下となった場合、爬虫類型ロボット1は、逃避経路にてユーザから離れるように動く。ステップS31において爬虫類型ロボット1がユーザと異なる面に存在する場合(
図6B)は、第1の閾値T1を、爬虫類型ロボット1がユーザと同じ面に存在する場合(
図6A)により小さな値にしたのは、爬虫類型ロボット1がユーザと同じ面に存在する場合に比べ、ユーザの邪魔にならないと想定したためである。第1の閾値T1として設定される第1の距離L1および第2の距離L2は、ユーザが適宜設定できる。また逃避経路の移動速度もユーザが適宜設定することができる。
【0049】
(逃避経路の選択処理の説明)
図5のステップS33における逃避経路を決定する処理について、
図7のフローチャートを参照して説明する。
【0050】
ステップS51において、人物逃避制御部41は、現在爬虫類型ロボット1が存在する面において、ユーザから爬虫類型ロボット1への方向を含む所定の角度の範囲を同一面逃避範囲として決定する。
【0051】
ここで、同一面逃避範囲の決定方法について説明する。はじめに、爬虫類型ロボット1が存在する面が、ユーザWが存在する第1の面である場合について、
図8を参照して説明する。
図8Aは、爬虫類型ロボット1とユーザWが同じ床に存在する室内を横からみた図であり、
図8Bは、その室内を天井からみた図である。この場合、人物逃避制御部41は、ユーザWの部位のうち、爬虫類型ロボット1との距離が最も短い部位Aの座標(X1,Y1,Z1)と、爬虫類型ロボット1の部位のうち、ユーザWとの距離が最も長い部位Bの座標(X2,Y2,Z2)とを求める。人物逃避制御部41は、部位Aの座標(X1,Y1,Z1)から部位Bの座標(X2,Y2,Z2)への方向を示す直線の式を算出し、部位Aの座標(X1,Y1,Z1)から部位Bの座標(X2,Y2,Z2)への方向を含む、部位Aの座標を頂点とした所定の角度θからなる床上の範囲を同一面逃避範囲として決定する。
【0052】
次に、爬虫類型ロボット1が存在する面が、ユーザWが存在しない第2の面である場合について
図9を参照して説明する。
図9Aは、爬虫類型ロボット1が壁に存在し、ユーザWが床に存在する室内を横からみた図であり、
図9Bは、ユーザWが、爬虫類型ロボット1が存在する壁をみた図である。この場合、人物逃避制御部41は、ユーザWの部位のうち、爬虫類型ロボット1との距離が最も短い部位Aの座標(X11,Y11,Z11)、爬虫類型ロボット1の部位のうち、ユーザWとの距離が最も長い部位Bの座標(X21,Y21,Z21)の他、爬虫類型ロボット1が存在する壁のうち、ユーザWから最も近い点Cの座標を求める。具体的には、人物逃避制御部41は、部位Aの座標(X11,Y11,Z11)との距離が最も短い、爬虫類型ロボット1が存在する壁上の点Cの座標(X11,Y21,Z11)を求める。
図9の例では、ユーザWが存在する床と爬虫類型ロボット1が存在する壁は直交しているので、点C座標のY軸の値は、部位Bの座標(X21,Y21,Z21)のY軸の値「Y21」と同一となり、部位Cの座標は(X11,Y21,Z11)となる。
【0053】
そして、人物逃避制御部41は、壁上における、点Cの座標(X11,Y21,Z11)から、部位Bの座標(X21,Y21,Z21)への方向を示す直線の式を算出し、点Cの座標(X11,Y21,Z11)から、部位Bの座標(X21,Y21,Z21)への方向を含む、点Cの座標を頂点とした所定の角度θからなる壁上の範囲を同一面逃避範囲として決定する。
【0054】
なお上述した同一面逃避範囲の決定方法は一例であり、これに限られない。
【0055】
次に、ステップS52において、人物逃避制御部41は、同一面逃避範囲を直線で移動して、指定距離を移動できるか否かを判定する。すなわち、人物逃避制御部41は、現在爬虫類型ロボット1が存在する面のみを移動することで指定距離を移動できるか否かを判定する。
【0056】
ステップS52で、人物逃避制御部41が、同一面逃避範囲のみを移動することで指定距離を移動できると判定した場合、ステップS53において、人物逃避制御部41は、現在の位置からその面上を指定距離だけ移動する経路を逃避経路Rcとして選択する。
【0057】
ステップS52で、人物逃避制御部41が、同一面逃避範囲のみを移動することで指定距離を移動できないと判定した場合、すなわち指定距離移動するためには現在爬虫類型ロボット1が存在する面と異なる面への移動が必要な場合、ステップS54に進む。
【0058】
ステップS54において、人物逃避制御部41は、同一面逃避経路の中で、爬虫類型ロボット1が存在する面とその面に繋がる他の面との境界と、爬虫類型ロボット1の座標を結ぶ経路のうち、侵入禁止領域を通らない、最も長い経路(以下、同一面逃避経路Raと称する)を選択する。そして、人物逃避制御部41は、同一面逃避経路Raに続く経路であって、爬虫類型ロボット1が存在する面と繋がる他の面上の経路(以下、異面逃避経路Rbと称する)を選択する。異面逃避経路Rbは、侵入禁止領域を通らない経路であり、異面逃避経路Rbの距離は、指定距離から同一面逃避経路Raの距離を差し引いた距離となる。人物逃避制御部41は、それぞれ選択した同一面逃避経路Raと異面逃避経路Rbとからなる経路を逃避経路Rcとする。この処理について、
図10と
図11を参照して具体的に説明する。
【0059】
図10は、同一面逃避範囲のみを移動することで指定距離を移動できない場合の例である。
図10の例では、人物逃避制御部41は、同一面逃避範囲内であって、爬虫類型ロボット1が存在する床とその床に繋がる壁との境界と、爬虫類型ロボット1の座標を結ぶ経路のうち、侵入禁止領域を通らない、最も長い経路Ra3が同一面逃避経路Raとして選択する。この例では、同一面逃避範囲内の図中左端までの経路Ra1が、床と壁との境界と、爬虫類型ロボット1の座標を結ぶ経路のうち、最も長い経路であるが、侵入禁止領域を通過しているので同一面逃避経路Raとして選択されない。また、経路Ra2は、侵入禁止領域を通過していないが、爬虫類型ロボット1の座標から床と壁との境界までの距離が経路Ra3よりも短いため選択されない。そこで経路Ra1の次に、床と壁の境界までの距離が長い経路Ra3が同一面逃避経路Raとして選択される。
【0060】
このように同一面逃避経路Raが選択されると、次に、
図11に示すように、人物逃避制御部41は、同一面逃避経路Ra3に続く経路であって、床に繋がる壁上の異面逃避経路Rbを選択する。例えば、異面逃避経路Rbの角度は、爬虫類型ロボット1が存在する面と、その面に繋がる面の境界に対する同一面逃避経路Raの角度の±10°である。具体的には、
図12Aに示すように、床と壁の境界に対する同一面逃避経路Raの角度が30°である場合、異面逃避経路Rbの角度は床と壁の境界に対して20°~30°内の角度となる。また、
図12Bに示すように、床と壁の境界に対する同一面逃避経路Raの角度が60°である場合、異面逃避経路Rbの角度は床と壁の境界に対して50°~70°内の角度となる。なお上述した異面逃避経路Rbの角度は一例であり、これに限られない。
【0061】
上述したように、爬虫類型ロボット1が存在する面とその面に繋がる他の面との境界と、爬虫類型ロボット1の座標を結ぶ経路のうち、最も長い経路を同一面逃避経路Raとし、その経路を移動すること、すなわち人物から逃避する際に爬虫類型ロボット1が存在する面を移動することを優先したのは、生物は、移動する際、無駄なエネルギを消費することを避けるためである。
【0062】
<停止処理の説明>
図5に示した自律移動動作では、爬虫類型ロボット1は人物が近づいたら逃げるという本来の動物の挙動に沿った動きをするが、実際の爬虫類型ロボット1の使用においてユーザが捕まえることができなければ困る場合がある。そこでユーザが爬虫類型ロボット1の逃避動作時の速度より早い速度で爬虫類型ロボット1に近づき、逃避を開始する第1の閾値T1より短い第2の閾値まで近づいたときは、動作を停止するようにできる。
図13は、この動作を説明するフローチャートである。ステップS71~S73においては、
図5のステップS31~S33における処理と同様の処理が実行されるので、その説明は省略する。
【0063】
ステップS74において、人物逃避制御部41は、爬虫類型ロボット1の逃避経路上の移動を開始すると、ステップS75において、検知部11から供給される検知データに基づいて、ユーザと爬虫類型ロボット1間の距離が第2の閾値以下であるか否かを判定し、第2の閾値以下であると判定した場合、ステップS76に進む。
【0064】
ステップS76において、人物逃避制御部41は、爬虫類型ロボット1の自律移動を一定時間停止し、一定時間経過後、爬虫類型ロボット1の逃避経路上の移動を再開する。このように、ユーザと爬虫類型ロボット1間の距離が第2の閾値以下になると、爬虫類型ロボット1は移動を一時的に停止する。そこで、ユーザは止まった爬虫類型ロボット1を手にとることができる。
【0065】
爬虫類型ロボット1が一時停止している間にユーザが爬虫類型ロボット1を捕まえて、電源オフなどしなければ、爬虫類型ロボット1の逃避経路上の移動は再開される。
【0066】
ステップS76の処理の後、またはステップS75で第2の閾値以下でないと判定された場合、ステップS77において、人物逃避制御部41は、爬虫類型ロボット1の逃避経路上の移動が完了したか否かを判定し、完了していないと判定した場合、ステップS75に戻り、それ以降の処理が実行される。
【0067】
ステップS77で、爬虫類型ロボット1の逃避経路上の移動が完了したと判定した場合、人物逃避制御部41は、ステップS71に戻り、それ以降の処理を実行する。
【0068】
<爬虫類型ロボット1の移動>
上述した実施の形態においては、爬虫類型ロボット1がランダム移動する場合を例として説明したが、ランダム移動を行わなくてもよい。また爬虫類型ロボット1は人物を避けながら移動する場合を例として説明したが、それに限定されるものではない。
【0069】
<逃避経路の指定距離>
図7を参照して説明した逃避経路選択処理においては、現在爬虫類型ロボット1が存在する面のみを移動する場合(同一面逃避範囲を移動する場合)の指定距離と、現在爬虫類型ロボット1が存在する面とその面と異なる面を移動する場合(同一面逃避経路と異面逃避経路からなる逃避経路を移動する場合)の指定距離を同じ距離としたが、それぞれ異なるものとすることができる。
【0070】
<逃避経路の優先経路>
図10を参照して説明した逃避経路選択処理においては、生物は無駄なエネルギを消費することを避けることを前提に、現在爬虫類型ロボット1が存在する面を移動することを優先した。
【0071】
しかしながら、ユーザの立場からすると、ユーザが近づいた場合、爬虫類型ロボット1が、ユーザが存在する面と異なる面に移動すれば、ユーザの邪魔にならないことも考えられる。そこで、ユーザが存在する面と異なる面に移動することを優先することも可能である。この場合、人物逃避制御部41は、ユーザが存在する面での移動が最も短くなる経路を選択することができる。
図10の場合、人物逃避制御部41は、逃避経路Ra2を選択する。爬虫類型ロボット1は、床上の逃避経路Ra2を移動したのち、壁上に移動する。
【0072】
また同一面逃避経路Raは、同一面逃避経路の中で、爬虫類型ロボット1から最も遠い、爬虫類型ロボット1が存在する面と、その面と異なる面の境界までの経路であって侵入禁止領域を通らない経路としたが、侵入禁止領域を通ることを許容することもできる。
【0073】
<同一面逃避経路Raの選択>
図7を参照して説明した逃避経路選択処理においては、同一面逃避範囲のみを移動することで指定距離を移動できない場合、爬虫類型ロボット1が存在する面とその面に繋がる他の面との境界と、爬虫類型ロボット1の座標を結ぶ経路を、逃避経路の候補としたが(
図7の例では、そのうち最も長い経路が同一面逃避経路Raとして選択された)、同一面逃避範囲のみを移動することで指定距離を移動できる場合においても、その経路を、逃避経路とすることができる。
【0074】
<ユーザと異なる面>
爬虫類型ロボット1がユーザと異なる面に存在する例として、
図6を参照して、ユーザが床に存在し、爬虫類型ロボット1が壁に存在する場合を示したが、ユーザが床に存在し、爬虫類型ロボット1が天井に存在する場合も、爬虫類型ロボット1がユーザと異なるに存在することになる。またユーザが床に存在し、爬虫類型ロボット1が、例えば、床面から一定以上の高さを有するソファの座面、棚の上に存在する場合も、爬虫類型ロボット1がユーザWと異なる面に存在する、とすることができる。
【0075】
<ユーザとの距離>
図5を参照して説明した人物逃避移動処理では、ユーザと爬虫類型ロボット1との間の距離が第1の閾値T1以下か否かの判定において(ステップS32)、爬虫類型ロボット1の部位のうちユーザとの距離が最も近い部位とユーザの部位のうち爬虫類型ロボット1との距離が最も近い部位との距離に基づいて判定したが、それに限定されない。例えば、ユーザと爬虫類型ロボット1との距離を求める際のユーザの位置については、ユーザの胴体の重心の位置、頭部の重心の位置、頭頂部の位置とすることができる。また、爬虫類型ロボット1の位置については、爬虫類型ロボット1の重心の位置、爬虫類型ロボット1の進行方向先端部の位置、進行方向とは逆の方向の先端部の位置とすることができる。
【0076】
また、ユーザと爬虫類型ロボット1との間の距離は、爬虫類型ロボット1が存在する面が、ユーザが存在する第1の面かユーザが存在しない第2の面かに応じて変えることができる。ユーザと爬虫類型ロボット1が共に床に存在する(爬虫類型ロボット1が第1の面に存在する)場合は、例えばユーザの足元と爬虫類型ロボット1との間からの距離とすることができる。また爬虫類型ロボット1が壁や天井に存在する(爬虫類型ロボット1が第2の面に存在する)場合、ユーザと爬虫類型ロボット1が存在する壁との距離とすることができる。
【0077】
<逃避の対象>
図5を参照して説明した人物逃避移動処理では言及しなかったが、爬虫類型ロボット1が逃避する物体は、予め登録された爬虫類型ロボット1のユーザであってもよいし、ユーザ以外の人を爬虫類型ロボット1が認識し、その人から逃避するようにしてもよい。また人に限らず犬や猫などから逃避するようにもできる。
【0078】
<爬虫類型ロボット1の他の例>
以上においては、爬虫類型ロボット1を例として説明したが、犬型ロボット、猫型ロボットでも利用することができる。また鳥型ロボット、虫型ロボットなど、飛行するロボットでも利用することができる。
【0079】
<仮想空間での利用>
以上においては、実世界における利用を前提に説明したが、仮想空間におけるユーザとペットにおいても利用することができる。その場合、検知部11は、仮想空間上のユーザとペットとの距離を検出し、制御部13は仮想空間の逃避経路を選択する。
【0080】
[実施形態の補足説明]
上述した実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、構成要素、構成要素の配置位置および接続形態の順序、フローチャートにおける処理の順序等は、一例であり、本発明を限定する主旨ではない。また、各図は、必ずしも厳密に図示されたものではない。
【0081】
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0082】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0083】
[効果のまとめ]
上述したように、爬虫類型ロボット1は、
ユーザとの距離を検知する検知部11と、
爬虫類型ロボット1の移動を制御する動作制御部31と
を有し、
動作制御部31は、
ユーザとの距離が第1の閾値以下になった場合、爬虫類型ロボット1を移動させる人物逃避制御部41(
図5のステップS33,S34)と、
爬虫類型ロボット1がユーザと同じ面に存在するか、爬虫類型ロボット1がユーザと異なる面に存在するかによって、第1の閾値の値を変更する閾値変更部42(ステップS31)と
を有する。
【0084】
このような構成を有するので、ユーザとの距離が第1の閾値以下になった場合、爬虫類型ロボット1を移動させることができるので、例えば、ユーザから離れるように移動させることで、爬虫類型ロボット1に、人物が近づいたら逃げるという本来の動物の挙動に沿った動きをさせることができる。またユーザと爬虫類型ロボット1が存在する面に応じて爬虫類型ロボット1がユーザから逃避する距離を変更することができる。
【0085】
また、上述したように、閾値変更部42は、
爬虫類型ロボット1がユーザと同じ面に存在する場合(
図6A)は、第1の閾値T1を、第1の距離L1とし、爬虫類型ロボット1がユーザと異なる面に存在する場合(
図6B)は、第1の閾値T1を、第1の距離L1よりも短い第2の距離L2とすることができる。
【0086】
このような構成を有するので、爬虫類型ロボット1がユーザと同じ面に存在する場合に比べ、ユーザの邪魔にならないと想定される、爬虫類型ロボット1がユーザと異なる面に存在する場合、ユーザから逃避する距離を短くすることができる。すなわちより使用実態に合わせてユーザから逃避することができる。
【0087】
また、上述したように、人物逃避制御部41は、爬虫類型ロボット1が存在する面において、ユーザから爬虫類型ロボット1への方向を含む所定の角度の範囲から逃避経路を選択し、爬虫類型ロボット1を逃避経路Rcに沿って移動させることができる。
【0088】
このような構成を有するので、例えば、ユーザの視野に入る範囲で爬虫類型ロボット1が移動するので、よりユーザに癒しまたは面白味等を与えることができる。
【0089】
また、上述したように、人物逃避制御部41は、所定の角度の範囲内における、爬虫類型ロボット1が存在する面とその面に繋がる他の面との境界と、爬虫類型ロボット1の座標を結ぶ経路を逃避経路として選択することができる。
【0090】
動物が人から逃避する場合、隠れようとして物の隅に移動することが多い。そこでこのような構成を有するので、物の隅と言える、爬虫類型ロボット1が存在する面とその面に繋がる他の面との境界に、爬虫類型ロボット1を移動させることができる。また爬虫類型ロボット1が存在する面とその面に繋がる他の面との境界と、爬虫類型ロボット1の座標を結ぶ経路のうち、最も長い経路を逃避経路とすることで、爬虫類型ロボット1は、爬虫類型ロボット1が存在する面を優先的に移動することができるので、爬虫類型ロボット1が存在する面と異なる面を移動してエネルギを消費することを防止することができる。この動作も本来の動物の挙動に沿ったものである。
【0091】
人物逃避制御部41は、ユーザとの距離が第1の閾値より小さい第2の閾値になった場合、爬虫類型ロボット1の自律移動を停止することができる。
【0092】
このような構成を有するので、ユーザは、爬虫類型ロボット1との距離が第2の閾値にまるまで近づけば、爬虫類型ロボット1を停止させることができるので、ユーザは、安全に、爬虫類型ロボット1を手にとることができる。
【符号の説明】
【0093】
1 爬虫類型ロボット
11 検知部
12 入力部
13 制御部
14 記憶部
14a 3次元マップ
15 駆動部
16 充放電部
17 表示部
31 動作制御部
32 充放電制御部
33 表示制御部
41 人物逃避制御部
42 閾値変更部
T1 第1の閾値
L1 第1の距離
L2 第2の距離
Ra 同一面逃避経路
Rb 異面逃避経路
Rc 逃避経路