(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024103652
(43)【公開日】2024-08-01
(54)【発明の名称】ロボットの制御装置、ロボットの制御方法、及びプログラム
(51)【国際特許分類】
B25J 13/00 20060101AFI20240725BHJP
A63H 11/00 20060101ALI20240725BHJP
【FI】
B25J13/00 Z
A63H11/00 Z
【審査請求】有
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2024088229
(22)【出願日】2024-05-30
(62)【分割の表示】P 2020569604の分割
【原出願日】2020-01-27
(31)【優先権主張番号】P 2019015697
(32)【優先日】2019-01-31
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】川部 祐介
(72)【発明者】
【氏名】北村 謙典
(72)【発明者】
【氏名】井藤 功久
(57)【要約】
【課題】ロボットにユーザが触れた場合に、それに応じてロボットがインタラクションを行う。
【解決手段】本開示によれば、ロボットの可動部に加わる外力を、前記可動部を駆動する関節から得られるパラメータに基づいて検出する検出部と、検出した前記外力に応じて前記ロボットのインタラクションを制御する駆動制御部と、を備える、ロボットの制御装置が提供される。この構成により、ロボットにユーザが触れた場合に、それに応じてロボットがインタラクションを行うことが可能となる。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ロボットの可動部に加わる外力を、前記可動部を駆動する関節から得られるパラメータに基づいて検出する検出部と、
ロボットがユーザから触られたかどうかを認識する認識部と、
センシング結果に基づきロボットの周辺状況またはユーザの特徴を取得する取得部と、
前記検出部で得られた前記外力及び前記認識部で得られた認識結果及び前記取得部で得られた情報取得の結果に応じて、前記ロボットのインタラクションを制御する駆動制御部と、
を備える、ロボットの制御装置。
【請求項2】
前記検出部は、力の直接的なセンシングを行うことなく前記外力を検出する、請求項1に記載のロボットの制御装置。
【請求項3】
前記駆動制御部は、前記可動部に前記外力が加わる位置に応じて、前記インタラクションによる前記ロボットの反応を変化させる、請求項1に記載のロボットの制御装置。
【請求項4】
前記駆動制御部は、前記可動部に加わる前記外力の大きさに応じて、前記インタラクションによる前記ロボットの反応を変化させる、請求項1に記載のロボットの制御装置。
【請求項5】
前記駆動制御部は、前記外力が大きいほど前記反応を大きくする、請求項4に記載のロボットの制御装置。
【請求項6】
前記駆動制御部は、前記外力により前記可動部を触るユーザの属性に応じて、前記インタラクションによる前記ロボットの反応を変化させる、請求項1に記載のロボットの制御装置。
【請求項7】
前記駆動制御部は、前記ロボットによる前記ユーザの認知度が低いほど、前記反応を大きくする、請求項6に記載のロボットの制御装置。
【請求項8】
前記駆動制御部は、前記ロボットに設定された感情に応じて、前記インタラクションによる前記ロボットの反応を変化させる、請求項1に記載のロボットの制御装置。
【請求項9】
前記駆動制御部は、前記感情がネガティブなほど、前記反応を大きくする、請求項8に記載のロボットの制御装置。
【請求項10】
前記駆動制御部は、前記外力が加わる頻度に応じて、前記インタラクションによる前記ロボットの反応を変化させる、請求項1に記載のロボットの制御装置。
【請求項11】
前記駆動制御部は、前記外力が加わる頻度が低いほど、前記反応を大きくする、請求項10に記載のロボットの制御装置。
【請求項12】
前記検出部は、前記関節の角度を計測する関節角センサの計測値と、前記関節を駆動するモータの電流値と、前記関節の角度の指令値と、に基づいて前記外力を検出する、請求項1に記載のロボットの制御装置。
【請求項13】
前記検出部は、前記計測値と前記指令値との偏差と、前記電流値とに基づいて、前記外力を推定する、請求項12に記載のロボットの制御装置。
【請求項14】
前記駆動制御部は、
前記検出部による検出結果または前記認識部による認識結果に基づき、ユーザによる触り方に応じて、前記インタラクションによる前記ロボットの反応を変化させる、
請求項1に記載のロボットの制御装置。
【請求項15】
ロボットの可動部に加わる外力を、前記可動部を駆動する関節から得られるパラメータに基づいて検出することと、
ロボットがユーザから触られたかどうかを認識することと、
センシング結果に基づきロボットの周辺状況またはユーザの特徴を取得することと、
前記検出することで検出した前記外力及び前記認識することで得られた認識結果及び前記取得することで得られた情報取得の結果に応じて前記ロボットのインタラクションを制御することと、
を備える、ロボットの制御方法。
【請求項16】
ロボットの可動部に加わる外力を、前記可動部を駆動する関節から得られるパラメータに基づいて検出する手段、
ロボットがユーザから触られたかどうかを認識する手段、
センシング結果に基づきロボットの周辺状況またはユーザの特徴を取得する手段、
前記検出する手段により検出した前記外力及び前記認識する手段で得られた認識結果及び前記取得する手段で得られた情報取得の結果に応じて前記ロボットのインタラクションを制御する手段、
としてコンピュータを機能させる、ためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボットの制御装置、ロボットの制御方法、及びプログラムに関する。
【背景技術】
【0002】
従来、下記の特許文献1には、ロボット装置及びその制御方法に関し、外部からいかなる動作指令が入力された場合であってもその動作指令に反応して、動作指令に対する動作状態をユーザに認識させることが記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、家庭用のロボットなどにおいて、動物型のロボットなどでは、ユーザが触れた場合に、実際の動物と同様の反応をさせることが望ましい。
【0005】
上記特許文献1に記載された技術は、ロボットが動作指令として音を検出すると、動作指令に対する動作状態をユーザに認識させることを想定している。しかしながら、ユーザが触れた場合のインタラクションによる反応については何ら考慮していなかった。
【0006】
そこで、ロボットにユーザが触れた場合に、それに応じてロボットがインタラクションを行うことが望まれていた。
【課題を解決するための手段】
【0007】
本開示によれば、ロボットの可動部に加わる外力を、前記可動部を駆動する関節から得られるパラメータに基づいて検出する検出部と、ロボットがユーザから触られたかどうかを認識する認識部と、センシング結果に基づきロボットの周辺状況またはユーザの特徴を取得する取得部と、前記検出部で得られた前記外力及び前記認識部で得られた認識結果及び前記取得部で得られた情報取得の結果に応じて、前記ロボットのインタラクションを制御する駆動制御部と、を備える、ロボットの制御装置が提供される。
【0008】
また、本開示によれば、ロボットの可動部に加わる外力を、前記可動部を駆動する関節から得られるパラメータに基づいて検出することと、ロボットがユーザから触られたかどうかを認識することと、センシング結果に基づきロボットの周辺状況またはユーザの特徴を取得することと、前記検出することで検出した前記外力及び前記認識することで得られた認識結果及び前記取得することで得られた情報取得の結果に応じて前記ロボットのインタラクションを制御することと、を備える、ロボットの制御方法が提供される。
【0009】
また、本開示によれば、ロボットの可動部に加わる外力を、前記可動部を駆動する関節から得られるパラメータに基づいて検出する手段、ロボットがユーザから触られたかどうかを認識する手段、センシング結果に基づきロボットの周辺状況またはユーザの特徴を取得する手段、前記検出する手段により検出した前記外力及び前記認識する手段で得られた認識結果及び前記取得する手段で得られた情報取得の結果に応じて前記ロボットのインタラクションを制御する手段、としてコンピュータを機能させる、ためのプログラムが提供される。
【図面の簡単な説明】
【0010】
【
図1】ロボット装置の外観と、関節の回転軸を示す模式図である。
【
図3】ロボット装置を制御する制御装置の構成を示す模式図である。
【
図4】外力検出システムの構成を示す模式図である。
【
図6】触る強さに応じてインタラクションが変化する様子を示す模式図である。
【
図7】触る人に応じてインタラクションが変化する様子を示す模式図である。
【
図8】感情に応じてインタラクションが変化する様子を示す模式図である。
【
図9】ユーザが触る頻度に応じてインタラクションが変化する様子を示す模式図である。
【
図10】制御部で行われる処理を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0012】
なお、説明は以下の順序で行うものとする。
1.ロボット装置の構成
2.制御装置の構成
3.外力検出システムの構成
4.制御部の構成
5.ロボット装置のインタラクションの例
5.1.触る場所に応じたインタラクション
5.2.触る強さに応じたインタラクション
5.3.触り方に応じたインタラクション
5.4.触る人に応じたインタラクション
5.5.感情に応じたインタラクション
5.6.触る頻度に応じたインタラクション
5.7.モーションの例
5.8.インタラクションの実例
5.9.ユーザとのインタラクション以外の実例
6.制御部で行われる処理
【0013】
1.ロボット装置の構成
図1は、本開示の一実施形態に係るロボット装置1000の外観と、関節の回転軸を示す模式図である。ロボット装置1000は、サーボモータ等の電動モータにより駆動される4本の足100,110,120,130を備える。
【0014】
図1に示すように、ロボット装置1000は、複数の関節部を備える。ここで、説明の便宜上、ロボット装置1000をその動きから右前足系統、左前足系統、右後足系統、左後足系統、本体(Body)系統、頭系統に分類することにする。右前足系統は、関節部102、関節部104、関節部106を有する。左前足系統は、関節部112、関節部114、関節部116を有する。右後足系統は、関節部122、関節部124、関節部126を有する。左後足系統は、関節部132、関節部134、関節部136を有する。また、本体系統は、関節部142を有する。頭系統は関節部152、関節部154、関節部156、関節部158を有する。これらの各系統は、胴体140に対して連結されている。なお、
図1に示す各関節部は、電動モータにより駆動される主要な関節部を示している。ロボット装置1000は、
図1に示す関節部の他にも、他の関節部の動きに従って従動的に動く関節部を有する。また、ロボット装置1000は、口、耳、尻尾などの複数の可動部を有し、これらの可動部も電動モータ等によって駆動される。
【0015】
図1では、各関節部を円筒で示している。各関節部において、円筒の中心軸が関節部の回転軸に対応している。頭系統では、関節部152が設けられていることにより、ロボット装置1000を正面から見た場合に、首を左右に傾ける動作が実現される。また、本体系統では、関節部142が設けられていることにより、ロボット装置1000を上から見た場合に、腰を左右に振る動きが実現される。これにより、ロボット装置1000による、今まで以上に多彩な動きを実現することが可能である。
【0016】
各関節部は、サーボモータ等の電動モータ(以下、単にモータという)によって駆動される。なお、駆動源は特に限定されるものではない。各関節部のモータは、ギヤ機構、エンコーダ、及びモータを駆動するためのマイクロコントローラとともに、1つのボックス(箱)に収められている。ボックスは、樹脂材料(プラスチックなど)から構成される。モータとギヤ機構を1つのボックスの中に収納して密閉することで、ロボット装置1000の静粛性を高めることが可能である。
【0017】
右後足系統を例に挙げると、関節部132と関節部134のモータ、ギヤ機構、エンコーダ、マイクロコントローラは、1つのボックスに収納されており、このボックスは2軸の回転軸を構成する。一方、関節部136のモータ、ギヤ機構、マイクロコントローラは、1つのボックスに収納されており、このボックスは1軸の回転軸を構成する。また、頭系統では、関節部152、関節部154、関節部156により3軸の回転軸が構成されている。
【0018】
なお、2軸の回転軸を1つのボックスに収納することで、球体の関節を実現することができる。また、2軸の回転軸を1つのボックスに収納することで、関節部に関わるスペースを抑制することができ、デザインを重視してロボット装置1000の形状を決定することが可能となる。
【0019】
上述した右前足系統などの各系統は、各関節部が備えるマイクロコンピュータによって制御される。関節部のうち、例えば頭系統の関節部158は、電気的にブレーキがかかるように構成されている。電源オフ時などに関節部158が自在に回転できるようになると、頭部が下に降りて、ユーザの手などに当たる可能性がある。関節部158にブレーキをかけておくことで、このような事態を回避できる。ブレーキは、電源オフ時に関節部158のモータの回転により生じる起電力に基づいて、モータの回転を判定し、モータが回転しようとする方向と逆方向に駆動力を生じさせる方法により実現できる。
【0020】
図2は、ロボット装置1000の頭部150、特に顔を示す模式図である。
図2に示すロボット装置1000の目350は、ロボット装置1000の動作に応じて、様々な動きや表示を行うように構成されている。このため、ロボット装置1000は、左右のそれぞれの目350に自発光型の表示装置(OLED)を備えている。
【0021】
2.制御装置の構成
図3は、ロボット装置1000を制御する制御装置2000の構成を示す模式図である。制御装置2000は、ロボット装置1000に搭載される。
図3に示すように、この制御装置2000は、外力検出システム200、特徴認識部300、状況取得部400、制御部500、感情・性格取得部600、駆動部700、を有して構成されている。
【0022】
外力検出システム200は、ロボット装置1000の関節の各モータのそれぞれから、外力が加えられたか否かを示す情報(外力判定値)を検出する。特徴認識部300は、カメラ、慣性計測装置(IMU:Inertial Measurement Unit)等を含み、ロボット装置1000がユーザから触られたか、撫でられたか等を認識する。特徴認識部400は、カメラの撮像画像を画像処理することで、撮像画像の特徴を認識する。
【0023】
状況取得部400は、カメラ等を含み、ロボット装置1000の周辺の状況、特にロボット装置1000を触るユーザの特徴を取得する。
図2に示すように、ロボット装置1000の鼻には、カメラ700が装着されており、カメラ700は、特徴認識部300、状況取得部400のカメラに相当する。駆動部700は、各関節のモータ、エンコーダ、ギヤ機構に対応する。
【0024】
制御部500は、外力検出システム200から得た判定値を利用して、触る場所や触る強さなどに関する情報を得る。外力検出システム200は各関節に設けられるため、外力検出システム200から得られる判定値に基づき、どの部位がどのように触られたかといった情報を得ることができる。制御部500は、外力検出システム200による外力判定値と、特徴認識部300による認識結果、状況取得部400による状況取得の結果を用い、機械学習により触り方などの情報を得ることもできる。制御部500は、触り方などの情報に基づいて、各関節の駆動部700を制御する。
【0025】
感情・性格取得部600は、ロボット装置1000の感情、性格を取得する。ロボット装置1000は、その時々の状態に応じて、複数の感情のうちのいずれかに設定されることができる。感情・性格取得部500は、現時点で設定されているロボット装置1000の感情を取得する。設定される感情としては、「怒り」、「喜び」、「悲しみ」などが挙げられる。
【0026】
また、ロボット装置1000は、先天的または後天的に設定された性格を有している。感情・性格取得部600は、設定されているロボット装置1000の性格を取得する。設定される感情としては、「ワイルド」、「キュート」、「シャイ」、「甘えん坊」などが挙げられる。
【0027】
制御部500は、これらの感情、性格の情報に基づき、外力検出システム200の応答に対して、ユーザへ最適なインタラクションを提供したり、ロボット装置1000自身が最適な行動を選択する。
【0028】
3.外力検出システムの構成
次に、外力検出システム200の構成について説明する。
図4は、外力検出システム200の構成を示す模式図である。外力検出システム200は、ロボット装置1000の各関節に設けられる。
図4に示すように、外力検出システム200は、関節角センサ202、出力軸204、ギヤ機構206、モータ208、電流検出部210、駆動アンプ部212、フィードバック制御部214、外力検出部216、を有して構成されている。外力検出システム200は、トルクセンサやタッチセンサなど力の検出を目的とする機構を用いていなくても、外部からの力を推定することを可能とする。この外力検出システム200の出力を利用することで、ユーザがロボット装置に対して行った行為に対する表現をロボット装置1000が表出できるようになる。
【0029】
モータ208は、関節を駆動する駆動力を出力する。ギヤ機構206は、モータ208の出力を減速する機構である。出力軸204は、ギヤ機構206により減速された駆動力を出力する軸である。出力軸から出力される駆動力により、関節が駆動される。関節角センサ202は、上述したエンコーダに相当し、関節の角度を検出する。
【0030】
フィードバック制御部214には、関節角指令値が入力される。関節角指令値は、外力検出部216にも入力される。駆動アンプ部212には、フィードバック制御部214から電流指令値が入力される。電流指令値は、モータ208の駆動量を指定する指令値である。駆動アンプ部212は、電流指令値を増幅して出力する。駆動アンプ部212により増幅された電流がモータ208に流れ、モータ208が駆動される。このとき、電流検出部210がモータ208に流れる電流(アクチュエータ電流値)を検出する。外力検出部216は、電流検出部210が検出したアクチュエータ電流値、関節角センサ202が計測した関節角計測値、関節角指令値に基づいて、外力を検出する。
【0031】
図5は、外力検出部216の構成を示す模式図である。
図5に示すように、外力検出部216は、サーボ偏差算出部220、第1の演算部222、シフトバッファ部224、第2の演算部226、を有して構成される。外力検出部216は、関節角指令値、関節角計測値、アクチュエータ電流値を時系列で取得し、対象とする関節に外力が加わったか否かを判定する。
【0032】
サーボ偏差算出部220には、関節角指令値と関節角計測値が入力される。サーボ偏差算出部220は、関節角指令値と関節角計測値との偏差θErrorを算出する。第1の演算部222には、偏差θErrorとアクチュエータ電流値Iが入力される。
【0033】
第1の演算部は、偏差θErrorとアクチュエータ電流値Iから、以下の式(1)に基づいて出力Fを演算する。
F=a×θError×I+b×θError+c×I+d ・・・(1)
【0034】
以上のように、関節角指令値と関節角計測値のズレであるサーボ偏差θErrorとアクチュエータに流しているアクチュエータ電流値Iを第1の演算部222に入力し、出力Fを取得する。式(1)の係数a,b,c,dは、機械学習の手法などにより適切に決定する。
【0035】
図5に示すように、出力Fはシフトバッファ部224に入力される。出力Fをシフトバッファ部224へ入力することで、連続したn個の時系列データを逐次取得する。n個の時系列データは、第2の演算部226へ入力される。第2の演算部226は、n個の時系列データに対して演算を行い、外力判定値として出力する。第2の演算部226が行う演算は、n個の時系列データの平均値を演算して時間方向のノイズを除去するものであっても良い。また、第2の演算部226が行う演算は、フィルタを通して高周波を除く演算、ヒステリシスコンパレータを通して二値化した値などであっても良い。この場合、外力判定値が閾値以上の場合に「触られた」と判定する。また、第2の演算部226が行う演算は、機械学習の手法により得られた演算器を用いて行われるものであっても良い。なお、第2の演算部226に入力される情報は、出力Fの時系列情報のみならず、関節角指令値の時系列情報(関節角速度や姿勢情報)などであっても良い。
【0036】
4.制御部の構成
図3に示すように、制御部500は、位置判定部502、外力判定値取得部504、触り方判定部506、ユーザ属性取得部508、感情・性格判定部510、頻度取得部512、反応レベル決定部513、駆動制御部514、モーション決定部516、を有して構成されている。なお、制御部500の各構成要素は、回路(ハードウェア)、またはCPUなどの中央演算処理装置とこれを機能させるためのプログラム(ソフトウェア)から構成することができる。
【0037】
位置判定部502は、ロボット装置1000のどの部分にユーザが触れたかを判定する。外力判定値取得部504は、外力検出システム200が検出した外力判定値を取得する。触り方判定部506は、特徴認識部300が認識した情報に基づき、ユーザによるロボット装置1000への触り方を判定する。ユーザ属性取得部508は、状況取得部300が取得した情報、特に顔の画像情報に基づいて、ロボット装置1000を触ったユーザが見知らぬ人なのか、ロボット装置1000のオーナなのか等、ユーザの属性に関する情報を取得する。
【0038】
感情・性格判定部510は、感情・性格取得部600が取得したロボット装置1000の感情、性格に基づいて、ロボット装置1000の感情、性格を判定する。頻度取得部512は、ユーザがロボット装置1000を触る頻度を取得する。モーション決定部516は、ロボット装置1000がインタラクションを行うに当たって、ユーザが触る位置、触る際の外力の大きさ、触り方、ユーザ属性、感情、性格、触る頻度などに応じて表出させるモーションを決定する。反応レベル決定部513は、触る際の外力の大きさ、触り方、ユーザ属性、感情、性格、触る頻度などに応じて、インタラクションを行う際の反応のレベルを決定する。駆動制御部514は、ユーザが触る位置、触る際の外力の大きさ、触り方、ユーザ属性、感情、性格、触る頻度などに応じて駆動部700を制御し、ロボット装置1000のインタラクションを制御する。
【0039】
5.ロボット装置のインタラクションの例
次に、ユーザがロボット装置1000を触った際のインタラクションについて説明する。本実施形態では、ユーザがロボット装置1000を触ったり撫でたりした場合に、その際に加わる外力を外力検出システム200が検出し、外力判定値に応じたインタラクションを実現する。この際、触る場所、触る強さ、触り方、触る人、ロボットの感情、触る頻度、などに応じてロボット装置1000のモーションを決定し、インタラクションを行う。
【0040】
5.1.触る場所に応じたインタラクション
ロボット装置1000のインタラクションは、ロボット装置1000を複数のブロックに分けた場合に、触られたブロック毎に反応を示すように構成されている。ブロックとして、耳、頭部+首、脚、尻尾、などが挙げられる。例えば、ユーザが尻尾を触った場合、尻尾を振るインタラクションが行われる。
【0041】
また、インタラクションは、触る場所に応じて変化する。例えば、尻尾の場合は尻尾を振って反応を示す、頭部の場合には頭を振って反応を示すなど、実際の動物と同様の反応をロボット装置1000に生じさせることができる。触る場所は、外力判定値の値に基づいて、外力判定値が得られた関節から求めることができる。また、腕や足、尻尾などのタッチセンサを備えている場合、タッチセンサの検出値から触る場所を判定することができる。
【0042】
5.2.触る強さに応じたインタラクション
ロボット装置1000のインタラクションは、触る強さに応じて変化する。
図6は、触る強さに応じてインタラクションが変化する様子を示す模式図である。
図6において、矢印の大きさは触る強さを示している。尻尾の先端に触る場合を例に挙げると、尻尾の先端を強く触る場合は大きく反応し、尻尾が大きく振られる。一方、尻尾の先端を弱く触った場合、反応が弱くなり、尻尾が小さく振られる。触る強さは、外力判定値から求めることができる。
【0043】
5.3.触り方に応じたインタラクション
ロボット装置1000のインタラクションは、触り方に応じて変化する。例えば、尻尾が動いている場合に、尻尾の動きと反対方向に無理に動かした場合は、大きく反応する。一方、尻尾が止まっている場合に尻尾を動かした場合は、弱く反応する。また、ロボット装置1000のインタラクションは、叩き、撫でなどの触り方によっても変化する。例えば、ロボット装置1000が叩かれた場合は大きく反応し、撫でられた場合は弱く反応する。触り方は、制御部500の触り方判定部506が判定する。触り方は、外力判定値の大きさから求めることができる他、特徴認識部300の慣性計測装置の計測値を機械学習することによって求めることもできる。
【0044】
5.4.触る人に応じたインタラクション
ロボット装置1000のインタラクションは、触る人に応じて変化する。
図7は、触る人に応じてインタラクションが変化する様子を示す模式図である。
図7に示すように、ロボット装置1000が認識していない見知らぬ人が触った場合は、強く反応する。一方、ロボット装置1000が良く認識している、ロボット装置1000のオーナが触った場合は、弱く反応する。このように、ロボット装置1000が服従していない人には強く反応し、服従しているオーナに対しては弱く反応する。触る人の属性は、制御部500のユーザ属性取得部508が取得する。
【0045】
5.5.感情に応じたインタラクション
上述したように、ロボット装置1000には感情が設定される。ロボット装置1000のインタラクションは、ロボット装置1000の感情に応じて変化する。
図8は、感情に応じてインタラクションが変化する様子を示す模式図である。
図8に示すように、ロボット装置1000の機嫌が悪い時は反応を大きくする。また、ロボット装置1000が嬉しい感情の場合は、反応を小さくする。
【0046】
5.6.触る頻度に応じたインタラクション
ロボット装置1000のインタラクションは、ユーザが触る頻度に応じて変化する。
図9は、ユーザが触る頻度に応じてインタラクションが変化する様子を示す模式図である。
図9に示すように、ユーザが触る頻度が低い場合、大きく反応する。一方、ユーザが触る頻度が高い場合、反応は小さくなる。つまり、最初触ったときは嫌がるが、何度も触っているうちに徐々に反応が小さくなる動きを実現する。
【0047】
5.7.モーションの例
インタラクションにおけるロボット装置1000のモーションは、モーション決定部514が、モーション決定パラメータにより決定する。例えば、触る強さについて取得したパラメータをb、触る強さの重み成分をw2、触り方について取得したパラメータをc、触る強さの重み成分をw3、触る人について取得したパラメータをd、触る人の重み成分をw4、感情について取得したパラメータをe、感情の重み成分をw5、頻度について取得したパラメータをf、頻度の重み成分をw6、とすると、モーションの反応レベルは以下の式で表すことができる。
モーションの反応レベル=bw2×cw3×dw4×ew5×fw6
なお、各重み成分(w2~w6)は、ロボット装置の性格や個性に合わせて変更する。例えば、調教されたフレンドリーな犬などのように、誰とでも接することに慣れている場合であれば、触る人dに対する、重み成分w4は非常に小さい値とすればよい。
以下では、モーションの6通りの例を示す。なお、以下に示す6通りの例では、先に記したものほどモーションは大きい。
・(頭部)かみつく/(尻尾)上に振り上げる、振り下げる
・(頭部)いやいやする/(尻尾)大きく2回ふる
・(頭部)力方向に早く流す/(尻尾)上下で細かく振動させる
・(頭部)力方向にゆっくり流す/(尻尾)ゆっくり1回振る
・(頭部)力方向に耐える/(尻尾)ゆっくり上げて、ぽんと落とす
【0048】
5.8.インタラクションの実例
以上のような手法により実現されるインタラクションの実例を以下に示す。
・尻尾が軸方向に引っ張られると、尻尾を体の方に素早く引き寄せ、外力を払うように1回以上振り返す
・尻尾が軸を中心に回転させられると、回転させられた同じ方向に、力を逃がすように回転する
・尻尾が軸を中心に回転させられると、回転させられた反対方向に、力を返すように回転する
・尻尾が上げられると、下方向に素早く払うように振り返す、尻尾が下げられると、上方向に素早く払うように振り返す
・尻尾が左右方向にふられると、軸中心に戻し、上下に振動させる
・尻尾の根本を持って細かく回転させられると、尻尾を上にあげて、1回以上細かく振動させる(喜び)
・尻尾を触る人が親しい人(オーナーなど)だと、反応が小さくなる
・尻尾を触る人が見知らぬ人だと、反応が大きくなる
・尻尾を触る回数が、事前のある期間にN回以上の場合、次に触られたときの反応が小さくなる(慣れ)
・尻尾を触る回数が、事前のある期間にM回以下の場合、次に触られたときの反応が大きくなる(驚き)
・ロボットの持つ感情が高まっていると、反応が大きくなる、ロボットの持つ感情が落ち着いていると、反応が小さくなる
【0049】
インタラクションによる反応は、触られたブロック以外のブロックで行われても良い。反応レベルが弱かった場合には、駆動部を駆動せずに、目や声で反応を示してもよい。例えば、目の表現を心地よい状態を示す表現に変更して、もっと触ってほしいと演出してもよい。例えば、「くぅーん」と甘えるような声を出して、もっと触ってほしいと演出してもよい。
【0050】
また、ユーザが触ったブロックが頭部の場合に、頭部の反応レベルが極端に高い場合には、頭部だけでなく、脚のブロックなどにもモーションを表出し、体全体で嫌がっている動作を演出してもよい。
【0051】
5.9.ユーザとのインタラクション以外の実例
以下では、ユーザとのインタラクション以外の実例を示す。
・ロボット装置1000の鼻先に設けられたToFセンサが反応できないような壁際で外力を検知した場合、壁に接していると判断し、行動計画を変更する。
・オーナーの手に向かって、ロボットの手を差し出す、いわゆる「お手」の最中に、ユーザから得た外力をロボットの個性として登録し、ロボットの行動選択要素とする。例えば、やさしい「お手」をするオーナーのロボットは、「お手」に対する反応もやさしくなる。一方、強引に「お手」を触るオーナーのロボットは、「お手」に対する反応もワイルドになる。
・特徴認識部300では判断できない、硬いもの、やわらかいものを識別する。例えば、粘土などの対象物体に対し、駆動部を押し込む動作をすることで得られた外力検出値を利用し、硬いもの、柔らかいものを識別することが可能である。同様に、床面の硬さ、柔らかさを判定することで、床面の素材判定を行うことも可能である。
【0052】
6.制御部で行われる処理
図10は、制御部500で行われる処理を示すフローチャートである。
図10の処理は、所定の制御周期毎に行われる。先ず、ステップS10では、外力検出システム200から外力判定値を取得する。次のステップS12では、位置判定部502が、ロボット装置1000が備える複数のブロックのうち、ユーザが触ったブロックを判定する。具体的には、ステップS12では、耳、頭部+首、脚、尻尾などのブロックのいずれにユーザが触ったかを判定する。
【0053】
次のステップS14では、触り方判定部506が、ユーザがロボット装置1000を触った際の触り方に関する情報を取得し、触り方を判定する。次のステップS16では、ユーザ属性取得部508が、ロボット装置1000を触った人の情報を取得する。次のステップS18では、感情・性格判定部510が、ロボット装置1000の感情を取得する。次のステップS20では、頻度取得部512が、触られたブロックに関し、過去に触られた頻度を取得する。次のステップS22では、反応レベル決定部513が、インタラクションにおける反応のレベルを決定する。次のステップS24では、モーション決定部516が、表出するモーションを決定する。ステップS24の後は処理を終了する。
【0054】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0055】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【0056】
なお、以下のような構成も本開示の技術的範囲に属する。
(1) ロボットの可動部に加わる外力を、前記可動部を駆動する関節から得られるパラメータに基づいて検出する検出部と、
検出した前記外力に応じて前記ロボットのインタラクションを制御する駆動制御部と、
を備える、ロボットの制御装置。
(2) 前記検出部は、力の直接的なセンシングを行うことなく前記外力を検出する、前記(1)に記載のロボットの制御装置。
(3) 前記駆動制御部は、前記可動部に前記外力が加わる位置に応じて、前記インタラクションによる前記ロボットの反応を変化させる、前記(1)又は(2)に記載のロボットの制御装置。
(4) 前記駆動制御部は、前記可動部に加わる前記外力の大きさに応じて、前記インタラクションによる前記ロボットの反応を変化させる、前記(1)~(3)のいずれかに記載のロボットの制御装置。
(5) 前記駆動制御部は、前記外力が大きいほど前記反応を大きくする、前記(4)に記載のロボットの制御装置。
(6) 前記駆動制御部は、前記外力により前記可動部を触るユーザの属性に応じて、前記インタラクションによる前記ロボットの反応を変化させる、前記(1)~(5)のいずれかに記載のロボットの制御装置。
(7) 前記駆動制御部は、前記ロボットによる前記ユーザの認知度が高いほど、前記反応を大きくする、前記(6)に記載のロボットの制御装置。
(8) 前記駆動制御部は、前記ロボットに設定された感情に応じて、前記インタラクションによる前記ロボットの反応を変化させる、前記(1)~(7)のいずれかに記載のロボットの制御装置。
(9) 前記駆動制御部は、前記感情がネガティブなほど、前記反応を大きくする、前記(8)に記載のロボットの制御装置。
(10) 前記駆動制御部は、前記外力が加わる頻度に応じて、前記インタラクションによる前記ロボットの反応を変化させる、前記(1)~(9)のいずれかに記載のロボットの制御装置。
(11) 前記駆動制御部は、前記外力が加わる頻度が低いほど、前記反応を大きくする、前記(10)記載のロボットの制御装置。
(12) 前記検出部は、前記関節の角度を計測する関節角センサの計測値と、前記関節を駆動するモータの電流値と、前記関節の角度の指令値と、に基づいて前記外力を検出する、前記(1)~(11)のいずれかに記載のロボットの制御装置。
(13) 前記検出部は、前記計測値と前記指令値との偏差と、前記電流値とに基づいて、前記外力を推定する、前記(12)に記載のロボットの制御装置。
(14) ロボットの可動部に加わる外力を、前記可動部を駆動する関節から得られるパラメータに基づいて検出することと、
検出した前記外力に応じて前記ロボットのインタラクションを制御することと、
を備える、ロボットの制御方法。
(15) ロボットの可動部に加わる外力を、前記可動部を駆動する関節から得られるパラメータに基づいて検出する手段、
検出した前記外力に応じて前記ロボットのインタラクションを制御する手段、
としてコンピュータを機能させるためのプログラム。
【符号の説明】
【0057】
200 外力検出システム
514 駆動制御部
1000 ロボット装置
2000 制御装置