IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソフトバンクグループ株式会社の特許一覧

<>
  • 特開-行動制御システム及びプログラム 図1
  • 特開-行動制御システム及びプログラム 図2
  • 特開-行動制御システム及びプログラム 図3
  • 特開-行動制御システム及びプログラム 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024136261
(43)【公開日】2024-10-04
(54)【発明の名称】行動制御システム及びプログラム
(51)【国際特許分類】
   B25J 13/00 20060101AFI20240927BHJP
【FI】
B25J13/00 Z
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023047332
(22)【出願日】2023-03-23
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.SMALLTALK
(71)【出願人】
【識別番号】591280485
【氏名又は名称】ソフトバンクグループ株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】孫 正義
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS34
3C707BS27
3C707KS39
3C707KT01
3C707KT04
3C707WA03
3C707WL05
3C707WL07
3C707WL13
3C707WL14
3C707WL15
(57)【要約】
【課題】従来技術では、ユーザからの質問に対して適切な行動をロボットに実行させる上で改善の余地がある。
【解決手段】行動制御システムは、ユーザとロボットを対話させる対話機能に基づき、前記ユーザの質問に対する回答を生成する回答生成部と、前記ユーザの感情を推定する感情推定機能に基づき、前記回答に対する前記ユーザの感情を判定する感情判定部と、前記感情に対応する前記ロボットの行動を決定する行動決定部と、を含む。
【選択図】図2
【特許請求の範囲】
【請求項1】
ユーザとロボットを対話させる対話機能に基づき、前記ユーザの質問に対する回答を生成する回答生成部と、
前記ユーザの感情を推定する感情推定機能に基づき、前記回答に対する前記ユーザの感情を判定する感情判定部と、
前記感情に対応する前記ロボットの行動を決定する行動決定部と、
を含む行動制御システム。
【請求項2】
前記行動決定部は、複数の感情の中から特定行動を決定する、請求項1に記載の行動制御システム。
【請求項3】
前記行動決定部は、
前記感情が前記ユーザの第1感情を示す場合、第1特定行動を決定し、
前記感情が前記ユーザの前記第1感情とは異なる第2感情を示す場合、前記第1特定行動とは異なる第2特定行動を決定する、請求項1に記載の行動制御システム。
【請求項4】
前記行動決定部は、
前記第1感情が前記ユーザの喜びの場合、前記ユーザの腕の動きに前記ロボットのハンドを連動させることで前記ユーザの手に接触させる動作を、前記第1特定行動として決定し、
前記第2感情が前記ユーザの怒りの場合、前記ユーザの腕の動きに前記ロボットのハンドを連動させずに前記ハンドを前記ロボットの上部に突き上げる動作を、前記第2特定行動として決定する、請求項3に記載の行動制御システム。
【請求項5】
コンピュータを、請求項1から4の何れか一項に記載の行動制御システムとして機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、行動制御システム及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、ユーザの状態に対してロボットの適切な行動を決定する技術が開示されている。特許文献1の従来技術は、ロボットが特定の行動を実行したときのユーザの反応を認識し、認識したユーザの反応に対するロボットの行動を決定できなかった場合、認識したユーザの状認に適した行動に関する情報をサーバから受信することで、ロボットの行動を更新する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許6053847号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら従来技術では、ユーザからの質問に対して適切な行動をロボットに実行させる上で改善の余地がある。
【課題を解決するための手段】
【0005】
本発明の第1の態様によれば、行動制御システムが提供される。行動制御システムは、ユーザとロボットを対話させる対話機能に基づき、前記ユーザの質問に対する回答を生成する回答生成部と、前記ユーザの感情を推定する感情推定機能に基づき、前記回答に対する前記ユーザの感情を判定する感情判定部と、前記感情に対応する前記ロボットの行動を決定する行動決定部と、を含む。
【0006】
前記行動決定部は、前記感情が前記ユーザの第1感情を示す場合、第1特定行動を決定し、前記感情が前記ユーザの前記第1感情とは異なる第2感情を示す場合、前記第1特定行動とは異なる第2特定行動を決定してよい。
【0007】
前記行動決定部は、前記第1感情が前記ユーザの喜びの場合、前記ユーザの腕の動きに前記ロボットのハンドを連動させることで前記ユーザの手に接触させる動作を、前記第1特定行動として決定し、前記第2感情が前記ユーザの怒りの場合、前記ユーザの腕の動きに前記ロボットのハンドを連動させずに前記ハンドを前記ロボットの上部に突き上げる動作を、前記第2特定行動として決定してよい。
【0008】
本発明の第2の態様によれば、プログラムが提供される。プログラムは、コンピュータを、上記の行動制御システムとして機能させる。
【0009】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0010】
図1図1は、本実施形態に係るシステム1の一例を概略的に示す図である。
図2図2は、ロボット100の機能構成を概略的に示す図である。
図3図3は、ロボット100において行動を決定する動作に関する動作フローの一例を概略的に示す図である。
図4図4は、コンピュータ1200のハードウェア構成の一例を概略的に示す図である。
【発明を実施するための形態】
【0011】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0012】
図1は、本実施形態に係るシステム1の一例を概略的に示す。システム1は、ロボット100、ロボット101、ロボット102、及びサーバ300を備える。ユーザ10a、ユーザ10b、ユーザ10c、及びユーザ10dは、ロボット100のユーザである。ユーザ11a、ユーザ11b及びユーザ11cは、ロボット101のユーザである。ユーザ12a及びユーザ12bは、ロボット102のユーザである。なお、本実施形態の説明において、ユーザ10a、ユーザ10b、ユーザ10c、及びユーザ10dを、ユーザ10と総称する場合がある。また、ユーザ11a、ユーザ11b及びユーザ11cを、ユーザ11と総称する場合がある。また、ユーザ12a及びユーザ12bを、ユーザ12と総称する場合がある。ロボット101及びロボット102は、ロボット100と略同一の機能を有する。そのため、ロボット100の機能を主として取り上げてシステム1を説明する。
【0013】
ロボット100は、ユーザ10と会話を行ったり、ユーザ10に映像を提供したりする。このとき、ロボット100は、通信網20を介して通信可能なサーバ300等と連携して、ユーザ10との会話や、ユーザ10への映像等の提供を行う。例えば、ロボット100は、自身で適切な会話を学習するだけでなく、サーバ300と連携して、ユーザ10とより適切に会話を進められるように学習を行う。また、ロボット100は、撮影したユーザ10の映像データ等をサーバ300に記録させ、必要に応じて映像データ等をサーバ300に要求して、ユーザ10に提供する。
【0014】
また、ロボット100は、自身の感情の種類を表す感情値を持つ。例えば、ロボット100は、「喜」、「怒」、「哀」、「楽」、「快」、「不快」、「安心」、「不安」、「悲しみ」、「興奮」、「心配」、「安堵」、「充実感」、「虚無感」及び「普通」のそれぞれの感情の強さを表す感情値を持つ。ロボット100は、例えば興奮の感情値が大きい状態でユーザ10と会話するときは、早いスピードで音声を発する。このように、ロボット100は、自己の感情を行動で表現することができる。
【0015】
また、ロボット100は、AI(Artificial Intelligence)チャットエンジンと感情エンジンをマッチングさせることで、ユーザ10の感情に対応するロボット100の行動を決定するように構成してよい。具体的には、ロボット100は、ユーザ10からの質問を受付けて、当該質問に対するユーザ10の感情を判定し、判定した感情に対応するロボット100の行動を決定するように構成してよい。
【0016】
より具体的には、ロボット100は、ユーザ10からの質問を受付けた場合、予め設定されたチャットエンジンを用いて、当該質問に対する回答を自動で生成する。チャットエンジンは、文字による自動対話処理のためのアルゴリズム及び演算と解釈してよい。チャットエンジンは、例えば特開2018-081444号公報に開示される通り公知であるため、その詳細な説明を省略する。
【0017】
更に、ロボット100は、予め設定された感情エンジンを利用して、当該回答の内容がユーザ10のどのような感情に相当するかをマッチングし、マッチングする感情に基づく特定の動作、つまり特定行動を行う。感情エンジンは、所定の感情生成アルゴリズムを有する。感情生成アルゴリズムとしては、公知の技術(例えば特許第6351528号を参照)を適用することができる。質問に対する回答とユーザ10の感情とのマッチングには、例えば予め機械学習により生成されたモデルを用いてよい。
【0018】
特定行動は、ロボット100の身振り、及び手振りを含み得る。具体的には、特定行動は、ハイタッチのジェスチャー、拳を振り上げるジェスチャーなどである。より具体的には、ロボット100は、ユーザ10の感情が「喜び」の場合、特定行動として、ハイタッチのジェスチャーを行うことができる。また、ロボット100は、ユーザ10の感情が「怒り」の場合、特定行動として、拳を振り上げるようなジェスチャーを行うことができる。なお、特定行動は、ロボット100のジェスチャー以外にも、ロボット100の指の動き、ロボット100の胴体の動き、ロボット100の頭の動き、ロボット100の表情の変化などを含み得る。
【0019】
このようにロボット100は、ロボットハンドを利用し、またチャットエンジンに感情エンジンなどを組み合わせることで、ユーザ10の感情をジェスチャーで表現する能力を有する。またロボット100は、質問に対する回答とユーザ10の感情とのマッチングを行うことで、明示されていない場の雰囲気などを感じ取って行動することができる。
【0020】
また、ロボット100は、ユーザ10の行動を認識する機能を有する。ロボット100は、カメラ機能で取得したユーザ10の顔画像や、マイク機能で取得したユーザ10の音声を解析することによって、ユーザ10の行動を認識する。ロボット100は、認識したユーザ10の行動等に基づいて、ロボット100が実行する行動を決定する。
【0021】
ロボット100は、ユーザ10の行動に基づいてロボット100が実行する行動を定めたルールを記憶しており、ルールに従って各種の行動を行う。
【0022】
具体的には、ロボット100には、ユーザ10の行動に基づいてロボット100の行動を決定するための反応ルールを有している。反応ルールには、例えば、ユーザ10の行動が「笑う」である場合に対して、「笑う」という行動が、ロボット100の行動として定められている。また、反応ルールには、ユーザ10の行動が「怒る」である場合に対して、「謝る」という行動が、ロボット100の行動として定められている。また、反応ルールには、ユーザ10の行動が「質問する」である場合に対して、「回答する」という行動が、ロボット100の行動として定められている。反応ルールには、ユーザ10の行動が「悲しむ」である場合に対して、「声をかける」という行動が、ロボット100の行動として定められている。
【0023】
ロボット100は、反応ルールに基づいて、ユーザ10の行動が「笑う」であると認識した場合、反応ルールで定められた「笑う」という行動を、ロボット100が実行する行動として選択する。例えば、ロボット100は、「笑う」という行動を選択した場合に、「笑う」動作を行うと共に、笑い声を表す音声を出力する。これにより、ロボット100は、ユーザ10と一緒に笑うことができる。
【0024】
また、ロボット100は、この行動によって、ユーザ10からポジティブな反応が得られたことを示すユーザ反応情報を、サーバ300に送信する。ユーザ反応情報には、例えば、「笑う」というユーザ行動、「笑う」というロボット100の行動、ユーザ10の反応がポジティブであったこと、及びユーザ10の属性が含まれる。
【0025】
サーバ300は、ロボット100から受信したユーザ反応情報を記憶する。なお、サーバ300は、ロボット100だけでなく、ロボット101及びロボット102のそれぞれからもユーザ反応情報を受信して記憶する。そして、サーバ300は、ロボット100、ロボット101及びロボット102からのユーザ反応情報を解析して、反応ルールを更新する。
【0026】
ロボット100は、更新された反応ルールをサーバ300に問い合わせることにより、更新された反応ルールをサーバ300から受信する。ロボット100は、更新された反応ルールを、ロボット100が記憶している反応ルールに組み込む。これにより、ロボット100は、ロボット101やロボット102等が獲得した反応ルールを、自身の反応ルールに組み込むことができる。
【0027】
図2は、ロボット100の機能構成を概略的に示す図である。ロボット100は、センサ部200と、センサモジュール部210と、格納部220とを有する。またロボット100は、ユーザ状態認識部230と、ユーザ行動認識部231と、回答生成部232と、感情判定部233と、行動決定部234と、行動制御部235と、制御対象236と、通信処理部237と、を有する。
【0028】
制御対象236は、表示装置、スピーカ及び目部のLED、並びに、腕、手及び足等を駆動するモータ等を含む。ロボット100の姿勢や仕草は、腕、手及び足等のモータを制御することにより制御される。ロボット100の感情の一部は、これらのモータを制御することにより表現できる。また、ロボット100の目部のLEDの発光状態を制御することによっても、ロボット100の感情の一部を表現できる。なお、ロボット100の姿勢、仕草及び表情は、ロボット100の態度の一例である。
【0029】
センサ部200は、マイク201と、3D深度センサ202と、2Dカメラ203と、距離センサ204とを含む。マイク201は、音声を連続的に検出して音声データを出力する。なお、マイク201は、ロボット100の頭部に設けられ、バイノーラル録音を行う機能を有してよい。3D深度センサ202は、赤外線パターンを連続的に照射して、赤外線カメラで連続的に撮影された赤外線画像から赤外線パターンを解析することによって、物体の輪郭を検出する。2Dカメラ203は、イメージセンサの一例である。2Dカメラ203は、可視光によって撮影して、可視光の映像情報を生成する。距離センサは、例えばレーザや超音波等を照射して物体までの距離を検出する。なお、センサ部200は、この他にも、時計、ジャイロセンサ、タッチセンサ、モータフィードバック用のセンサ等を含んでよい。
【0030】
なお、図2に示すロボット100の構成要素のうち、制御対象236及びセンサ部200を除く構成要素は、ロボット100が有する行動制御システム2が有する構成要素の一例である。ロボット100の行動制御システム2は、制御対象236を制御の対象とする。
【0031】
格納部220は、反応ルール221を含む。格納部220の少なくとも一部は、メモリ等の記憶媒体によって実装される。格納部220は、ユーザ10の顔画像、ユーザ10の属性情報等を格納する人物DBを含んでもよい。なお、図2に示すロボット100の構成要素のうち、制御対象236、センサ部200及び格納部220を除く構成要素の機能は、CPU(Central Processing Unit)がプログラムに基づいて動作することによって実現できる。例えば、基本ソフトウエア(OS:Operating System)及びOS上で動作するプログラムによって、これらの構成要素の機能をCPUの動作として実装できる。
【0032】
センサモジュール部210は、音声感情認識部211と、発話理解部212と、表情認識部213と、顔認識部214とを含む。センサモジュール部210には、センサ部200で検出された情報が入力される。センサモジュール部210は、センサ部200で検出された情報を解析して、解析結果をユーザ状態認識部230に出力する。
【0033】
センサモジュール部210の音声感情認識部211は、マイク201で検出されたユーザ10の音声を解析して、ユーザ10の感情を認識する。例えば、音声感情認識部211は、音声の周波数成分等の特徴量を抽出して、抽出した特徴量に基づいて、ユーザ10の感情を認識する。発話理解部212は、マイク201で検出されたユーザ10の音声を解析して、ユーザ10の発話内容を表す文字情報を出力する。
【0034】
表情認識部213は、2Dカメラ203で撮影されたユーザ10の画像から、ユーザ10の表情及びユーザ10の感情を認識する。例えば、表情認識部213は、目及び口の形状、位置関係等に基づいて、ユーザ10の表情及び感情を認識する。
【0035】
顔認識部214は、ユーザ10の顔を認識する。例えば、顔認識部214は、人物DB(図示省略)に格納されている顔画像と、2Dカメラ203によって撮影されたユーザ10の顔画像とをマッチングすることによって、ユーザ10を認識する。
【0036】
ユーザ状態認識部230は、センサモジュール部210で解析された情報に基づいて、ユーザ10の状態を認識する。例えば、ユーザ状態認識部230は、センサモジュール部210の解析結果を用いて、主として知覚に関する処理を行う。例えば、ユーザ状態認識部230は、「パパが1人です。」、「パパが笑顔でない確率90%です。」等の知覚情報を生成する。生成された知覚情報の意味を理解する処理を行う。例えば、ユーザ状態認識部230は、「パパが1人、寂しそうです。」等の意味情報を生成する。
【0037】
ユーザ行動認識部231は、センサモジュール部210で解析された情報、及びユーザ状態認識部230によって認識されたユーザ10の状態に基づいて、ユーザ10の行動を認識する。例えば、ユーザ行動認識部231は、センサモジュール部210で解析された情報、及び認識されたユーザ10の状態を、予め学習されたニューラルネットワークに入力し、予め定められた複数の行動分類(例えば、「笑う」、「怒る」、「質問する」、「悲しむ」)の各々の確率を取得し、最も確率の高い行動分類を、ユーザ10の行動として認識する。
【0038】
回答生成部232は、ユーザ行動認識部231によってユーザの行動が、「質問する」であると認識された場合、ユーザ10とロボット100を対話させる対話機能に基づき、ユーザ10の質問に対する回答を生成する。対話機能は、前述したチャットエンジンと解釈してよい。回答生成部232は、質問に対する回答を示す情報を感情判定部233に対して出力する。
【0039】
感情判定部233は、回答生成部232から、質問に対する回答を示す情報を入力して、ユーザ10の感情を推定する感情推定機能に基づき、回答に対するユーザ10の感情を判定する。感情推定機能は、前述した感情エンジンと解釈してよい。
【0040】
感情判定部233は、ユーザ10の感情が第1感情を示す場合、第1感情であることを示す情報を行動決定部234に対して出力する。第1感情は「喜び」と解釈してよい。また、感情判定部233は、ユーザ10の感情が、第1感情とは異なる第2感情を示す場合、第2感情であることを示す情報を行動決定部234に対して出力する。第2感情は「怒り」と解釈してよい。
【0041】
なお、第1感情及び第2感情は、上記の例に限定されず、例えば「楽しい」、「心地よい」、「不快」、「安心」、「不安」、「悲しみ」、「興奮」、「心配」、「安堵」、「充実感」、「虚無感」などでもよい。
【0042】
行動決定部234は、ユーザ行動認識部231によって認識されたユーザ10の行動と、反応ルール221と、感情判定部233によって判定された感情とに基づいて、ロボット100の行動を決定する。
【0043】
具体的には、行動決定部234は、感情がユーザ10の第1感情を示す場合、第1特定行動を決定し、感情がユーザ10の第1感情とは異なる第2感情を示す場合、第1特定行動とは異なる第2特定行動を決定する。なお、感情の数と特定行動の数は2つに限定されず、3以上でもよい。行動決定部234は、複数の感情の中から特定行動を決定してよい。行動決定部234は、決定した特定行動を示す情報を、行動制御部235に対して出力する。
【0044】
より具体的には、行動決定部234は、第1感情がユーザ10の「喜び」の場合、ユーザ10の腕の動きにロボット100のハンドを連動させることでユーザ10の手に接触させる動作(ハイタッチ)を、第1特定行動として決定する。また、行動決定部234は、第2感情がユーザ10の「怒り」の場合、ユーザ10の腕の動きにロボット100のハンドを連動させずに、ロボット100のハンドをロボット100の上部に突き上げる動作を、第2特定行動として決定する。
【0045】
行動制御部235は、行動決定部234が決定した行動に基づいて、制御対象236を制御する。
【0046】
具体的には、行動制御部235は、行動決定部234が第1特定行動を決定した場合、ハンドの指を開いた状態で、手(ハンド)のひら側をユーザ10に向けたまま、アームをロボット100の上部に向けて伸ばすように、腕、手などを駆動するモータの駆動指令を生成する。また、行動制御部235は、行動決定部234が第2特定行動を決定した場合、ハンドの指を閉じて握り拳を作った状態で、握り拳を突き上げるようにアームを動作させるように、腕、手などを駆動するモータの駆動指令を生成する。
【0047】
また、行動制御部235は、行動決定部234が発話することを含む行動を決定した場合に、制御対象236に含まれるスピーカから音声を出力させる。このとき、行動制御部235は、ロボット100の感情値に基づいて、音声の発声速度を決定してもよい。
【0048】
また、行動制御部235は、行動決定部234が「ユーザから質問されることを喜ぶ行動」を決定した場合に、得意げなことを表す音声(例えば、「こういう質問に答えるのは得意なんです」)をスピーカから出力させる。また行動制御部235は、腕、手及び足等のモータを駆動することで、得意げなことを表すロボット100の姿勢や仕草(例えば、片手をゆっくり上げる動作)を表現する。
【0049】
行動制御部235は、行動決定部234が決定した行動を実行したことに対するユーザ10の感情の変化を認識してもよい。例えば、行動制御部235は、ユーザ10の音声や表情に基づいて感情の変化を認識してよい。その他、行動制御部235は、センサ部200に含まれるタッチセンサで衝撃が検出されたことに基づいて、ユーザ10の感情の変化を認識してよい。行動制御部235は、センサ部200に含まれるタッチセンサで衝撃が検出された場合に、ユーザ10の感情が悪くなったと認識したり、センサ部200に含まれるタッチセンサの検出結果から、ユーザ10の反応が笑っている、あるいは、喜んでいる等と判断される場合には、ユーザ10の感情が良くなったと認識してよい。ユーザ10の反応を示す情報は、通信処理部237に出力される。
【0050】
通信処理部237は、サーバ300(図1参照)との通信を担う。上述したように、通信処理部237は、ユーザ反応情報をサーバ300に送信する。また、通信処理部237は、更新された反応ルールをサーバ300から受信する。通信処理部237がサーバ300から、更新された反応ルールを受信すると、反応ルール221を更新する。
【0051】
サーバ300は、ロボット100、ロボット101及びロボット102とサーバ300との間の通信を行い、ロボット100から送信されたユーザ反応情報を受信し、ポジティブな反応が得られた行動を含む反応ルールに基づいて、反応ルールを更新する。
【0052】
図3は、ロボット100において行動を決定する動作に関する動作フローの一例を概略的に示す図である。図3に示す動作フローは、繰り返し実行される。このとき、センサモジュール部210で解析された情報が入力されているものとする。なお、動作フロー中の「S」は、実行されるステップを表す。
【0053】
まず、ステップS100において、ユーザ状態認識部230は、センサモジュール部210で解析された情報に基づいて、ユーザ10の状態を認識する。
【0054】
ステップS101において、ユーザ行動認識部231は、センサモジュール部210で解析された情報及びユーザ状態認識部230によって認識されたユーザ10の状態に基づいて、ユーザ10の行動分類を認識する。
【0055】
ステップS102において、上記ステップS101で認識されたユーザ10の行動分類が、「質問」であるか否かを判定する。上記ステップS101で認識されたユーザ10の行動分類が、「質問」である場合、ステップS104へ移行する。一方、上記ステップS101で認識されたユーザ10の行動分類が、「質問」ではない場合、ステップS103へ移行する。
【0056】
ステップS104において、回答生成部232は、ユーザ10とロボット100を対話させる対話機能に基づき、ユーザ10の質問に対する回答を生成する。
【0057】
ステップS105において、感情判定部233は、回答生成部232からの情報及び感情推定機能に基づき、回答に対するユーザ10の感情を判定する。ユーザ10の感情が第1感情を示す場合、ステップS106へ移行する。一方、ユーザ10の感情が第2感情を示す場合、ステップS107へ移行する。
【0058】
ステップS106において、行動決定部234は、感情判定部233によって判定された第1感情を示す情報に基づき、第1特定行動を決定する。行動決定部234は、第1感情がユーザ10の「喜び」の場合、ハイタッチの動作を第1特定行動として決定する。
【0059】
ステップS107において、行動決定部234は、感情判定部233によって判定された第2感情を示す情報に基づき、第2特定行動を決定する。行動決定部234は、第2感情がユーザ10の「怒り」の場合、握り拳を突き上げる動作を第2特定行動として決定する。
【0060】
ステップS108において、行動制御部235は、行動決定部234が決定した行動に基づいて、制御対象236を制御する。
【0061】
以上に説明したように、本発明の行動制御システム2は、ユーザ10の質問に対する回答を生成し、回答に対するユーザ10の感情を判定し、感情に対応するロボット100の行動を決定するように構成されている。この構成により、ユーザ10からの質問に対して適切な行動をロボット100に実行させることができるため、ユーザ10の感情をジェスチャーなどで表現する能力を、ロボット100に与えることができる。
【0062】
なお、ロボット100は、行動制御システム2を備える電子機器の一例である。行動制御システム2の適用対象は、ロボット100に限られず、様々な電子機器に行動制御システム2を適用できる。また、サーバ300の機能は、1以上のコンピュータによって実装されてよい。サーバ300の少なくとも一部の機能は、仮想マシンによって実装されてよい。また、サーバ300の機能の少なくとも一部は、クラウドで実装されてよい。
【0063】
図4は、ロボット100及びサーバ300として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す図である。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又は全てに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0064】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ1226、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブ1226は、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0065】
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0066】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブ1226は、プログラム又はデータをDVD-ROM1227等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0067】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0068】
プログラムは、DVD-ROM1227又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0069】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM1227、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0070】
また、CPU1212は、記憶装置1224、DVDドライブ1226(DVD-ROM1227)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0071】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0072】
上で説明したプログラム又はソフトウェアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0073】
本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0074】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0075】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードの何れかを含んでよい。
【0076】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0077】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0078】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【0079】
なお、以上の説明に関して更に以下の付記を開示する。
【0080】
(付記1)
ユーザとロボットを対話させる対話機能に基づき、前記ユーザの質問に対する回答を生成する回答生成部と、前記ユーザの感情を推定する感情推定機能に基づき、前記回答に対する前記ユーザの感情を判定する感情判定部と、前記感情に対応する前記ロボットの行動を決定する行動決定部と、を含む行動制御システム。
【0081】
(付記2)
前記行動決定部は、複数の感情の中から特定行動を決定する、付記1に記載の行動制御システム。
【0082】
(付記3)
前記行動決定部は、前記感情が前記ユーザの第1感情を示す場合、第1特定行動を決定し、前記感情が前記ユーザの前記第1感情とは異なる第2感情を示す場合、前記第1特定行動とは異なる第2特定行動を決定する、付記1に記載の行動制御システム。
【0083】
(付記4)
前記行動決定部は、前記第1感情が前記ユーザの喜びの場合、前記ユーザの腕の動きに前記ロボットのハンドを連動させることで前記ユーザの手に接触させる動作を、前記第1特定行動として決定し、前記第2感情が前記ユーザの怒りの場合、前記ユーザの腕の動きに前記ロボットのハンドを連動させずに前記ハンドを前記ロボットの上部に突き上げる動作を、前記第2特定行動として決定する、付記3に記載の行動制御システム。
【0084】
(付記5)
コンピュータを、付記1から4の何れか一つに記載の行動制御システムとして機能させるためのプログラム。
【符号の説明】
【0085】
1 システム、2 行動制御システム、10a、10b、10c、11a、11b、11c、12a、12b ユーザ、20 通信網、100、101、102 ロボット、200 センサ部、201 マイク、202 深度センサ、203 カメラ、204 距離センサ、210 センサモジュール部、211 音声感情認識部、212 発話理解部、213 表情認識部、214 顔認識部、220 格納部、221 反応ルール、230 ユーザ状態認識部、231 ユーザ行動認識部、232 回答生成部、233 感情判定部、234 行動決定部、235 行動制御部、236 制御対象、237 通信処理部、300 サーバ、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1226 DVDドライブ、1227 DVD-ROM、1230 ROM、1240 入出力チップ。
図1
図2
図3
図4