(57)【要約】  ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構を備える。動作制御部は、センサの検出値であるセンサ値ＳＡが反射閾値を超えたとき、センサにあらかじめ対応づけられるリアクション・モーションＲを選択する低次制御回路と、センサ値ＳＤに応じて、ロボットの行動特性を変化させる高次制御回路を含む。アナログデータとして入力されたセンサ値ＳＡは、低次制御回路によりデジタルデータ（センサ値ＳＤ）に変換され、高次制御回路に供給される。
2019088160.tif 000002
【特許請求の範囲】
【請求項１】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、を備え、
前記動作制御部は、
センサの検出値が閾値を超えたとき、前記センサにあらかじめ対応づけられるリアクション・モーションを選択する低次制御回路と、
前記センサの検出値に応じて、ロボットの行動特性を変化させる高次制御回路と、を含むことを特徴とする自律行動型ロボット。
【請求項２】
前記高次制御回路は、前記検出値に応じて、ロボットのノーマル・モーションを選択し、
前記動作制御部は、前記低次制御回路に選択されたリアクション・モーションと前記高次制御回路に選択されたノーマル・モーションとを前記駆動機構に実行させ、かつ、前記検出値が前記閾値を超えるときには、ノーマル・モーションよりもリアクション・モーションを優先実行させることを特徴とする請求項１に記載の自律行動型ロボット。
【請求項３】
複数のセンサそれぞれに対応して複数の前記低次制御回路が設けられ、
前記高次制御回路は、前記複数の低次制御回路から出力される検出値の組み合わせに応じて、ロボットのノーマル・モーションを選択することを特徴とする請求項１に記載の自律行動型ロボット。
【請求項４】
前記高次制御回路は、センサに対応づけるべきリアクション・モーションを設定することを特徴とする請求項１に記載の自律行動型ロボット。
【請求項５】
前記高次制御回路は、前記閾値を更新することを特徴とする請求項１に記載の自律行動型ロボット。
【請求項６】
前記低次制御回路は、１種類のセンサの検出値に応じて、リアクション・モーションを選択し、
前記高次制御回路は、複数種類のセンサの検出値の組み合わせに応じて、ロボットの行動特性を変化させることを特徴とする請求項１に記載の自律行動型ロボット。
【請求項７】
前記低次制御回路は、センサの検出値が前記閾値を超えたとき、センサにあらかじめ対応づけられる典型行動としてのリアクション・モーションを実行させ、
前記高次制御回路は、センサの検出値に応じて感情パラメータを変化させ、前記感情パラメータの変化に応じてロボットの行動特性を変化させることを特徴とする請求項１に記載の自律行動型ロボット。
【請求項８】
前記低次制御回路は、前記リアクション・モーションとして、前記駆動機構に含まれるアクチュエータへの通電を停止させることを特徴とする請求項１に記載の自律行動型ロボット。
【請求項９】
前記駆動機構は、ロボットの筐体に格納可能な移動機構、を更に備え、
前記低次制御回路は、センサにより落下が検出されたとき、前記リアクション・モーションとして前記移動機構をロボットの筐体に格納させることを特徴とする請求項１に記載の自律行動型ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内部状態または外部環境に応じて自律的に行動選択するロボット、に関する。
【背景技術】
【０００２】
人間は、癒やしを求めてペットを飼う。その一方、ペットの世話をする時間を十分に確保できない、ペットを飼える住環境にない、アレルギーがある、死別がつらい、といったさまざまな理由により、ペットをあきらめている人は多い。もし、ペットの役割が務まるロボットがあれば、ペットを飼えない人にもペットが与えてくれるような癒やしを与えられるかもしれない（特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３２３２１９号公報
【特許文献２】国際公開第２０１７／１６９８２６号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、ロボット技術は急速に進歩しつつあるが、ペットのような伴侶としての存在感を実現するには至っていない。ロボットに自由意志があるとは思えないからである。人間は、ペットの自由意志があるとしか思えないような行動を観察することにより、ペットに自由意志の存在を感じ、ペットに共感し、ペットに癒される。【０００５】
また、自由意志だけでなく、「本能」も生物を特徴づけるものである。本能とは、意識的な判断をともなうことなく、環境からの刺激によって引き起こされる生得的な行動様式である。危険回避はその代表例である。本能に基づく反射的な行動（以下、「反射行動」とよぶ）は、無意識ゆえに単純であり、即時的である。自由意志を感じさせる複雑多様な行動（以下、「意識行動」とよぶ）だけでなく、外部からの刺激に対する素早い反射行動もロボットに生物のような存在感をもたせる上で重要である。本発明者らの検討によれば、ロボットが刺激を受けてから反射行動を開始するまでの時間（タイムラグ）が２００ミリ秒を超えると、反射行動として不自然に見えてしまうことがわかった。【０００６】
本発明は上記課題認識に基づいて完成された発明であり、その主たる目的は、外部で発生するさまざまな事象に対するロボットの反射行動を効率的に制御するための技術、を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、を備える。
動作制御部は、センサの検出値が閾値を超えたとき、センサにあらかじめ対応づけられるリアクション・モーションを選択する低次制御回路と、センサの検出値に応じて、ロボットの行動特性を変化させる高次制御回路と、を含む。
【発明の効果】
【０００８】
本発明によれば、ロボットに自然な反射行動を実行させやすくなる。
【図面の簡単な説明】
【０００９】
【図１】ロボットによる反射行動の実現方法を説明するための概念図である。
【図２】図２（ａ）はロボットの正面外観図である。図２（ｂ）は、ロボットの側面外観図である。
【図３】ロボットの構造を概略的に表す断面図である。
【図４】基本構成におけるロボットのハードウェア構成図である。
【図５】ロボットシステムの機能ブロック図である。
【図６】本実施形態におけるロボットのハードウェア構成図である。
【図７】低次制御回路、高次制御回路および動作制御部の対応関係を示す模式図である。
【図８】低次制御を説明するための模式図である。
【図９】高次制御を説明するための模式図である。
【図１０】ロボットの行動制御システムの回路構成図である。
【図１１】リアクションテーブルの概念図である。
【発明を実施するための形態】
【００１０】
図１は、ロボット１００による反射行動の実現方法を説明するための概念図である。
生物は瞬間的に強い刺激を受けたときに反射的な行動をとる。たとえば、身体を叩かれれば身を引き、大きな音がすれば身を縮める。本実施形態におけるロボット１００は、こうした反射行動を実現するための構成を備える。ロボット１００は、外部環境からさまざまな刺激を受ける。ロボット１００は、センサの検出値（以下、単に「センサ値」とよぶ）により外部事象（イベント）を認識し、行動を選択する。ロボット１００の行動（モーション）は、「ノーマル・モーション」と「リアクション・モーション」の２種類に大別される。
【００１１】
ノーマル・モーションは、生物の意識行動を模した行動である。リアクション・モーションは、生物の無意識的行動（反射行動）を模した行動である。リアクション・モーションはノーマル・モーションよりも単純である代わりに即時性（高速応答性）が求められる。
【００１２】
ロボット１００は、低次制御回路２５０と高次制御回路２５２を含む。高次制御回路２５２としては、ＣＰＵ（Central Processing Unit）などの汎用プロセッサが想定される。高次制御回路２５２は、ソフトウェアにより複雑な行動表現が可能である。人が「瞬間的反応」と認識する反応時間（事象の発生から行動開始までの時間）は、一般的には２００ミリ秒以内と言われる。したがって、ロボット１００の反応時間が２００ミリ秒を超えると、瞬間的反応に見えなくなる。
【００１３】
高次制御回路２５２は多様な処理を実行することが予定される電子回路であるため、高次制御回路２５２が指示を受けてから処理を開始するまでの時間はロボット１００の状況に応じてばらつきが生じる。本実施形態においては、一定以上の刺激に対して、常時、規定時間以内の処理を実行するための低次制御回路２５０を設ける。低次制御回路２５０は、高次制御回路２５２とはハードウェア的に独立しているため、高次制御回路２５２にかかる処理負荷に影響されることはない。低次制御回路２５０は、センサから順次届くセンサ値を予め定められた条件と比較することで、センサ値の異常を検知する。低次制御回路２５０は、異常を検知したときには即座にリアクション・モーションの実行を指示する。低次制御回路２５０としては、専用設計のマイクロ・コントローラが想定されるが、汎用のマイクロプロセッサでプログラムを実行することで実現されてもよい。低次制御回路２５０は、電子部品の組み合わせとして形成されてもよい。低次制御回路２５０は、高次制御回路２５２に比べると処理内容が定型化・典型化されるため、高次制御回路２５２よりも外部事象に対して高速に反応できる。
【００１４】
ロボット１００は、外部刺激をセンサ値ＳＡ（アナログデータ）として検出する。本実施形態においては、センサ値ＳＡが閾値（以下、「反射閾値」とよぶ）を越えたとき、低次制御回路２５０はあらかじめ定義されたリアクション・モーションＲの実行を指示する。たとえば、大きな音が聞こえたとき、低次制御回路２５０はロボット１００の身体を震わせることでロボット１００が大きな音にびっくりした様子を表現する。
【００１５】
また、低次制御回路２５０は、アナログデータのセンサ値ＳＡをデジタルデータのセンサ値ＳＤにＡ／Ｄ変換（Analog/Digital Conversion）し、センサ値ＳＤを高次制御回路２５２に送信する。高次制御回路２５２は、外部事象をセンサ値ＳＤ（デジタルデータ）により認識し、ノーマル・モーションＮの実行を指示する。たとえば、ユーザＰ１が怒鳴り声を発したとき、高次制御回路２５２はユーザＰ１に対する親密度を低下させ、ユーザＰ１から離れる、着座するなどさまざまなノーマル・モーションＮを選択する。
【００１６】
リアクション・モーションＲとノーマル・モーションＮを同時に実行可能な状況においては、リアクション・モーションＲがノーマル・モーションＮに優先する。これを「低次優先の原則」とよぶ。低次制御回路２５０は、高次制御回路２５２に優先して外部事象について判断する機会を与えられ、必要に応じてリアクション・モーションＲを優先的に実行することにより、即時的な反射行動を実現する。
以下、ロボット１００の基本構成について図２から図５に関連して説明したあと、本実施形態における反応行動の実装方法を中心として説明する。
【００１７】
［基本構成］
図２（ａ）は、ロボット１００の正面外観図である。図２（ｂ）は、ロボット１００の側面外観図である。
本実施形態におけるロボット１００は、外部環境および内部状態に基づいて行動を決定する自律行動型のロボットである。外部環境は、カメラやサーモセンサなど各種のセンサにより認識される。内部状態はロボット１００の感情を表現するさまざまなパラメータとして定量化される。ロボット１００は、オーナー家庭の家屋内を行動範囲とする。以下、ロボット１００に関わる人間を「ユーザ」とよぶ。
【００１８】
ロボット１００のボディ１０４は、全体的に丸みを帯びた形状を有し、ウレタンやゴム、樹脂、繊維などやわらかく弾力性のある素材により形成された外皮を含む。ロボット１００に服を着せてもよい。ロボット１００の総重量は５〜１５キログラム程度、身長は０．５〜１．２メートル程度である。適度な重さと丸み、柔らかさ、手触りのよさ、といった諸属性により、ユーザがロボット１００を抱きかかえやすく、かつ、抱きかかえたくなるという効果が実現される。
【００１９】
ロボット１００は、一対の前輪１０２（左輪１０２ａ，右輪１０２ｂ）と、一つの後輪１０３を含む。前輪１０２が駆動輪であり、後輪１０３が従動輪である。前輪１０２は、操舵機構を有しないが、回転速度や回転方向を個別に制御可能とされている。後輪１０３は、キャスターであり、ロボット１００を前後左右へ移動させるために回転自在となっている。後輪１０３はオムニホイールであってもよい。
【００２０】
前輪１０２および後輪１０３は、駆動機構（回動機構、リンク機構）によりボディ１０４に完全収納できる。走行時においても各車輪の大部分はボディ１０４に隠れているが、各車輪がボディ１０４に完全収納されるとロボット１００は移動不可能な状態となる。すなわち、車輪の収納動作にともなってボディ１０４が降下し、床面Ｆに着座する。この着座状態においては、ボディ１０４の底部に形成された平坦状の着座面１０８（接地底面）が床面Ｆに当接する。
【００２１】
ロボット１００は、２つの手１０６を有する。手１０６には、モノを把持する機能はない。手１０６は上げる、振る、振動するなど簡単な動作が可能である。２つの手１０６も個別制御可能である。
【００２２】
目１１０は、液晶素子または有機ＥＬ素子による画像表示が可能である。ロボット１００は、音源方向を特定可能なマイクロフォンアレイや超音波センサなどさまざまなセンサを搭載する。また、スピーカーを内蔵し、簡単な音声を発することもできる。
【００２３】
ロボット１００の頭部にはツノ１１２が取り付けられる。上述のようにロボット１００は軽量であるため、ユーザはツノ１１２をつかむことでロボット１００を持ち上げることも可能である。ツノ１１２には全天球カメラが取り付けられ、ロボット１００の上部全域を一度に撮像可能である。
【００２４】
図３は、ロボット１００の構造を概略的に表す断面図である。
図３に示すように、ロボット１００のボディ１０４は、ベースフレーム３０８、本体フレーム３１０、一対の樹脂製のホイールカバー３１２および外皮３１４を含む。ベースフレーム３０８は、金属からなり、ボディ１０４の軸芯を構成するとともに内部機構を支持する。ベースフレーム３０８は、アッパープレート３３２とロアプレート３３４とを複数のサイドプレート３３６により上下に連結して構成される。複数のサイドプレート３３６間には通気が可能となるよう、十分な間隔が設けられる。ベースフレーム３０８の内方には、バッテリー１１８、制御回路３４２および各種アクチュエータが収容されている。
【００２５】
本体フレーム３１０は、樹脂材からなり、頭部フレーム３１６および胴部フレーム３１８を含む。頭部フレーム３１６は、中空半球状をなし、ロボット１００の頭部骨格を形成する。胴部フレーム３１８は、段付筒形状をなし、ロボット１００の胴部骨格を形成する。胴部フレーム３１８は、ベースフレーム３０８と一体に固定される。頭部フレーム３１６は、胴部フレーム３１８の上端部に相対変位可能に組み付けられる。
【００２６】
頭部フレーム３１６には、ヨー軸３２０、ピッチ軸３２２およびロール軸３２４の３軸と、各軸を回転駆動するためのアクチュエータ３２６が設けられる。アクチュエータ３２６は、各軸を個別に駆動するための複数のサーボモータを含む。首振り動作のためにヨー軸３２０が駆動され、頷き動作のためにピッチ軸３２２が駆動され、首を傾げる動作のためにロール軸３２４が駆動される。
【００２７】
頭部フレーム３１６の上部には、ヨー軸３２０を支持するプレート３２５が固定されている。プレート３２５には、上下間の通気を確保するための複数の通気孔３２７が形成される。
【００２８】
頭部フレーム３１６およびその内部機構を下方から支持するように、金属製のベースプレート３２８が設けられる。ベースプレート３２８は、クロスリンク機構３２９（パンタグラフ機構）を介してプレート３２５と連結される一方、ジョイント３３０を介してアッパープレート３３２（ベースフレーム３０８）と連結される。
【００２９】
胴部フレーム３１８は、ベースフレーム３０８と車輪駆動機構３７０を収容する。車輪駆動機構３７０は、回動軸３７８およびアクチュエータ３７９を含む。胴部フレーム３１８の下半部は、ホイールカバー３１２との間に前輪１０２の収納スペースＳを形成するために小幅とされる。
【００３０】
外皮３１４は、ウレタンゴムからなり、本体フレーム３１０およびホイールカバー３１２を外側から覆う。手１０６は、外皮３１４と一体成形される。外皮３１４の上端部には、外気を導入するための開口部３９０が設けられる。
【００３１】
図４は、ロボット１００のハードウェア構成図である。
ロボット１００は、内部センサ１２８、通信機１２６、記憶装置１２４、プロセッサ１２２、駆動機構１２０およびバッテリー１１８を含む。プロセッサ１２２と記憶装置１２４は、制御回路３４２に含まれる。各ユニットは電源線１３０および信号線１３２により互いに接続される。バッテリー１１８は、電源線１３０を介して各ユニットに電力を供給する。各ユニットは信号線１３２により制御信号を送受する。バッテリー１１８は、リチウムイオン二次電池であり、ロボット１００の動力源である。
【００３２】
内部センサ１２８は、ロボット１００が内蔵する各種センサの集合体である。具体的には、カメラ（全天球カメラ）、マイクロフォンアレイ、測距センサ（赤外線センサ）、サーモセンサ、タッチセンサ、加速度センサ、ニオイセンサなどである。タッチセンサは、外皮３１４と本体フレーム３１０の間に設置され、ユーザのタッチを検出する。ニオイセンサは、匂いの元となる分子の吸着によって電気抵抗が変化する原理を応用した既知のセンサである。
【００３３】
通信機１２６は、各種の外部機器を対象として無線通信を行う通信モジュールである。記憶装置１２４は、不揮発性メモリおよび揮発性メモリにより構成され、コンピュータプログラムや各種設定情報を記憶する。プロセッサ１２２は、コンピュータプログラムの実行手段である。駆動機構１２０は、複数のアクチュエータおよび上述した車輪駆動機構３７０を含む。このほかには、表示器やスピーカーなども搭載される。
【００３４】
駆動機構１２０は、主として、車輪（前輪１０２）と頭部（頭部フレーム３１６）を制御する。駆動機構１２０は、ロボット１００の移動方向や移動速度を変化させるほか、車輪（前輪１０２および後輪１０３）を昇降させることもできる。車輪が上昇すると、車輪はボディ１０４に完全に収納され、ロボット１００は着座面１０８にて床面Ｆに当接し、着座状態となる。また、駆動機構１２０は、ワイヤ１３４を介して、手１０６を制御する。
【００３５】
図５は、ロボットシステム３００の機能ブロック図である。
ロボットシステム３００は、ロボット１００、サーバ２００および複数の外部センサ１１４を含む。ロボット１００およびサーバ２００の各構成要素は、ＣＰＵ（Central Processing Unit）および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
ロボット１００の機能の一部はサーバ２００により実現されてもよいし、サーバ２００の機能の一部または全部はロボット１００により実現されてもよい。
【００３６】
家屋内にはあらかじめ複数の外部センサ１１４が設置される。サーバ２００には、外部センサ１１４の位置座標が登録される。ロボット１００の内部センサ１２８および複数の外部センサ１１４から得られる情報に基づいて、サーバ２００がロボット１００の基本行動を決定する。外部センサ１１４はロボット１００の感覚器を補強するためのものであり、サーバ２００はロボット１００の頭脳を補強するためのものである。ロボット１００の通信機１２６が外部センサ１１４と定期的に通信し、サーバ２００は外部センサ１１４によりロボット１００の位置を特定する（特許文献２も参照）。
【００３７】
（サーバ２００）
サーバ２００は、通信部２０４、データ処理部２０２およびデータ格納部２０６を含む。
通信部２０４は、外部センサ１１４およびロボット１００との通信処理を担当する。データ格納部２０６は各種データを格納する。データ処理部２０２は、通信部２０４により取得されたデータおよびデータ格納部２０６に格納されるデータに基づいて各種処理を実行する。データ処理部２０２は、通信部２０４およびデータ格納部２０６のインタフェースとしても機能する。
【００３８】
データ格納部２０６は、モーション格納部２３２と個人データ格納部２１８を含む。
ロボット１００は、複数の動作パターン（モーション）を有する。手１０６を震わせる、蛇行しながらオーナーに近づく、首をかしげたままオーナーを見つめる、などさまざまなモーションが定義される。
【００３９】
モーション格納部２３２は、モーションの制御内容を定義する「モーションファイル」を格納する。各モーションは、モーションＩＤにより識別される。モーションファイルは、ロボット１００のモーション格納部１６０にもダウンロードされる。どのモーションを実行するかは、サーバ２００で決定されることもあるし、ロボット１００で決定されることもある。
【００４０】
ロボット１００のモーションの多くは、複数の単位モーションを含む複合モーションとして構成される。たとえば、ロボット１００がオーナーに近づくとき、オーナーの方に向き直る単位モーション、手を上げながら近づく単位モーション、体を揺すりながら近づく単位モーション、両手を上げながら着座する単位モーションの組み合わせとして表現されてもよい。このような４つのモーションの組み合わせにより、「オーナーに近づいて、途中で手を上げて、最後は体をゆすった上で着座する」というモーションが実現される。モーションファイルには、ロボット１００に設けられたアクチュエータの回転角度や角速度などが時間軸に関連づけて定義される。モーションファイル（アクチュエータ制御情報）にしたがって、時間経過とともに各アクチュエータを制御することで様々なモーションが表現される。
【００４１】
先の単位モーションから次の単位モーションに変化するときの移行時間を「インターバル」とよぶ。インターバルは、単位モーション変更に要する時間やモーションの内容に応じて定義されればよい。インターバルの長さは調整可能である。
以下、いつ、どのモーションを選ぶか、モーションを実現する上での各アクチュエータの出力調整など、ロボット１００の行動制御に関わる設定のことを「行動特性」と総称する。ロボット１００の行動特性は、モーション選択アルゴリズム、モーションの選択確率、モーションファイル等により定義される。
【００４２】
モーション格納部２３２は、モーションファイルのほか、各種のイベントが発生したときに実行すべきモーションを定義するモーション選択テーブルを格納する。モーション選択テーブルにおいては、イベントに対して１以上のモーションとその選択確率が対応づけられる。
【００４３】
個人データ格納部２１８は、ユーザの情報を格納する。具体的には、ユーザに対する親密度とユーザの身体的特徴・行動的特徴を示すマスタ情報を格納する。年齢や性別などの他の属性情報を格納してもよい。
【００４４】
ロボット１００は、ユーザごとに親密度という内部パラメータを有する。ロボット１００が、自分を抱き上げる、声をかけてくれるなど、自分に対して好意を示す行動を認識したとき、そのユーザに対する親密度が高くなる。ロボット１００に関わらないユーザや、乱暴を働くユーザ、出会う頻度が低いユーザに対する親密度は低くなる。
【００４５】
データ処理部２０２は、位置管理部２０８、認識部２１２、動作制御部２２２、親密度管理部２２０および状態管理部２４４を含む。
位置管理部２０８は、ロボット１００の位置座標を特定する。状態管理部２４４は、充電率や内部温度、プロセッサ１２２の処理負荷などの各種物理状態など各種内部パラメータを管理する。また、状態管理部２４４は、ロボット１００の感情（寂しさ、好奇心、承認欲求など）を示すさまざまな感情パラメータを管理する。これらの感情パラメータは常に揺らいでいる。感情パラメータに応じてロボット１００の移動目標地点が変化する。たとえば、寂しさが高まっているときには、ロボット１００はユーザのいるところを移動目標地点として設定する。
【００４６】
時間経過によって感情パラメータが変化する。また、後述の応対行為によっても各種感情パラメータは変化する。たとえば、オーナーから「抱っこ」をされると寂しさを示す感情パラメータは低下し、長時間にわたってオーナーを視認しないときには寂しさを示す感情パラメータは少しずつ増加する。
【００４７】
認識部２１２は、外部環境を認識する。外部環境の認識には、温度や湿度に基づく天候や季節の認識、光量や温度に基づく物陰（安全地帯）の認識など多様な認識が含まれる。ロボット１００の認識部１５６は、内部センサ１２８により各種の環境情報を取得し、これを一次処理した上でサーバ２００の認識部２１２に転送する。
【００４８】
具体的には、ロボット１００の認識部１５６は、画像から移動物体、特に、人物や動物に対応する画像領域を抽出し、抽出した画像領域から移動物体の身体的特徴や行動的特徴を示す特徴量の集合として「特徴ベクトル」を抽出する。特徴ベクトル成分（特徴量）は、各種身体的・行動的特徴を定量化した数値である。たとえば、人間の目の横幅は０〜１の範囲で数値化され、１つの特徴ベクトル成分を形成する。人物の撮像画像から特徴ベクトルを抽出する手法については、既知の顔認識技術の応用である。ロボット１００は、特徴ベクトルをサーバ２００に送信する。
【００４９】
サーバ２００の認識部２１２は、ロボット１００の内蔵カメラによる撮像画像から抽出された特徴ベクトルと、個人データ格納部２１８にあらかじめ登録されているユーザ（クラスタ）の特徴ベクトルと比較することにより、撮像されたユーザがどの人物に該当するかを判定する（ユーザ識別処理）。また、認識部２１２は、ユーザの表情を画像認識することにより、ユーザの感情を推定する。認識部２１２は、人物以外の移動物体、たとえば、ペットである猫や犬についてもユーザ識別処理を行う。
【００５０】
認識部２１２は、ロボット１００になされたさまざまな応対行為を認識し、快・不快行為に分類する。認識部２１２は、また、ロボット１００の行動に対するオーナーの応対行為を認識することにより、肯定・否定反応に分類する。
快・不快行為は、ユーザの応対行為が、生物として心地よいものであるか不快なものであるかにより判別される。たとえば、抱っこされることはロボット１００にとって快行為であり、蹴られることはロボット１００にとって不快行為である。肯定・否定反応は、ユーザの応対行為が、ユーザの快感情を示すものか不快感情を示すものであるかにより判別される。抱っこされることはユーザの快感情を示す肯定反応であり、蹴られることはユーザの不快感情を示す否定反応である。
【００５１】
サーバ２００の動作制御部２２２は、ロボット１００の動作制御部１５０と協働して、ロボット１００のモーションを決定する。サーバ２００の動作制御部２２２は、ロボット１００の移動目標地点とそのための移動ルートを作成する。動作制御部２２２は、複数の移動ルートを作成し、その上で、いずれかの移動ルートを選択してもよい。
【００５２】
動作制御部２２２は、モーション格納部２３２の複数のモーションからロボット１００のモーションを選択する。各モーションには状況ごとに選択確率が対応づけられている。たとえば、オーナーから快行為がなされたときには、モーションＡを２０％の確率で実行する、気温が３０度以上となったとき、モーションＢを５％の確率で実行する、といった選択方法が定義される。
【００５３】
親密度管理部２２０は、ユーザごとの親密度を管理する。上述したように、親密度は個人データ格納部２１８において個人データの一部として登録される。快行為を検出したとき、親密度管理部２２０はそのオーナーに対する親密度をアップさせる。不快行為を検出したときには親密度はダウンする。また、長期間視認していないオーナーの親密度は徐々に低下する。
【００５４】
（ロボット１００）
ロボット１００は、通信部１４２、データ処理部１３６、データ格納部１４８、内部センサ１２８および駆動機構１２０を含む。
通信部１４２は、通信機１２６（図４参照）に該当し、外部センサ１１４、サーバ２００および他のロボット１００との通信処理を担当する。データ格納部１４８は各種データを格納する。データ格納部１４８は、記憶装置１２４（図４参照）に該当する。データ処理部１３６は、通信部１４２により取得されたデータおよびデータ格納部１４８に格納されているデータに基づいて各種処理を実行する。データ処理部１３６は、プロセッサ１２２およびプロセッサ１２２により実行されるコンピュータプログラムに該当する。データ処理部１３６は、通信部１４２、内部センサ１２８、駆動機構１２０およびデータ格納部１４８のインタフェースとしても機能する。
【００５５】
データ格納部１４８は、ロボット１００の各種モーションを定義するモーション格納部１６０を含む。
ロボット１００のモーション格納部１６０には、サーバ２００のモーション格納部２３２から各種モーションファイルがダウンロードされる。モーションは、モーションＩＤによって識別される。前輪１０２を収容して着座する、手１０６を持ち上げる、２つの前輪１０２を逆回転させることで、あるいは、片方の前輪１０２だけを回転させることでロボット１００を回転行動させる、前輪１０２を収納した状態で前輪１０２を回転させることで震える、ユーザから離れるときにいったん停止して振り返る、などのさまざまなモーションを表現するために、各種アクチュエータ（駆動機構１２０）の動作タイミング、動作時間、動作方向などがモーションファイルにおいて時系列定義される。
データ格納部１４８には、個人データ格納部２１８からも各種データがダウンロードされてもよい。
【００５６】
データ処理部１３６は、認識部１５６および動作制御部１５０を含む。
ロボット１００の動作制御部１５０は、サーバ２００の動作制御部２２２と協働してロボット１００のモーションを決める。一部のモーションについてはサーバ２００で決定し、他のモーションについてはロボット１００で決定してもよい。また、ロボット１００がモーションを決定するが、ロボット１００の処理負荷が高いときにはサーバ２００がモーションを決定するとしてもよい。サーバ２００においてベースとなるモーションを決定し、ロボット１００において追加のモーションを決定してもよい。モーションの決定処理をサーバ２００およびロボット１００においてどのように分担するかはロボットシステム３００の仕様に応じて設計すればよい。
【００５７】
ロボット１００の動作制御部１５０は選択したモーションを駆動機構１２０に実行指示する。駆動機構１２０は、モーションファイルにしたがって、各アクチュエータを制御する。
【００５８】
動作制御部１５０は、親密度の高いユーザが近くにいるときには「抱っこ」をせがむ仕草として両方の手１０６をもちあげるモーションを実行することもできるし、「抱っこ」に飽きたときには左右の前輪１０２を収容したまま逆回転と停止を交互に繰り返すことで抱っこをいやがるモーションを表現することもできる。駆動機構１２０は、動作制御部１５０の指示にしたがって前輪１０２や手１０６、首（頭部フレーム３１６）を駆動することで、ロボット１００にさまざまなモーションを表現させる。
【００５９】
ロボット１００の認識部１５６は、内部センサ１２８から得られた外部情報を解釈する。認識部１５６は、視覚的な認識（視覚部）、匂いの認識（嗅覚部）、音の認識（聴覚部）、触覚的な認識（触覚部）が可能である。
【００６０】
認識部１５６は、移動物体の撮像画像から特徴ベクトルを抽出する。上述したように、特徴ベクトルは、移動物体の身体的特徴と行動的特徴を示すパラメータ（特徴量）の集合である。移動物体を検出したときには、ニオイセンサや内蔵の集音マイク、温度センサ等からも身体的特徴や行動的特徴が抽出される。これらの特徴も定量化され、特徴ベクトル成分となる。認識部１５６は、特許文献２等に記載の既知の技術に基づいて、特徴ベクトルからユーザを特定する。
【００６１】
検出・分析・判定を含む一連の認識処理のうち、ロボット１００の認識部１５６は認識に必要な情報の取捨選択や抽出を行い、判定等の解釈処理はサーバ２００の認識部２１２により実行される。認識処理は、サーバ２００の認識部２１２だけで行ってもよいし、ロボット１００の認識部１５６だけで行ってもよいし、上述のように双方が役割分担をしながら上記認識処理を実行してもよい。
【００６２】
ロボット１００に対する強い衝撃が与えられたとき、認識部１５６はタッチセンサおよび加速度センサによりこれを認識し、サーバ２００の認識部２１２は、近隣にいるユーザによって「乱暴行為」が働かれたと認識する。ユーザがツノ１１２を掴んでロボット１００を持ち上げるときにも、乱暴行為と認識してもよい。ロボット１００に正対した状態にあるユーザが特定音量領域および特定周波数帯域にて発声したとき、サーバ２００の認識部２１２は、自らに対する「声掛け行為」がなされたと認識してもよい。また、体温程度の温度を検知したときにはユーザによる「接触行為」がなされたと認識し、接触認識した状態で上方への加速度を検知したときには「抱っこ」がなされたと認識する。ユーザがボディ１０４を持ち上げるときの物理的接触をセンシングしてもよいし、前輪１０２にかかる荷重が低下することにより抱っこを認識してもよい。
まとめると、ロボット１００は内部センサ１２８によりユーザの行為を物理的情報として取得し、サーバ２００の認識部２１２は快・不快を判定する。また、サーバ２００の認識部２１２は特徴ベクトルに基づくユーザ識別処理を実行する。
【００６３】
サーバ２００の認識部２１２は、ロボット１００に対するユーザの各種応対を認識する。各種応対行為のうち一部の典型的な応対行為には、快または不快、肯定または否定が対応づけられる。一般的には快行為となる応対行為のほとんどは肯定反応であり、不快行為となる応対行為のほとんどは否定反応となる。快・不快行為は親密度に関連し、肯定・否定反応はロボット１００の行動選択に影響する。
【００６４】
認識部１５６により認識された応対行為に応じて、サーバ２００の親密度管理部２２０はユーザに対する親密度を変化させる。原則的には、快行為を行ったユーザに対する親密度は高まり、不快行為を行ったユーザに対する親密度は低下する。
【００６５】
以上の基本構成を前提として、次に、本実施形態におけるロボット１００の実装について、特に、本実装の特徴と目的および基本構成との相違点を中心として説明する。
【００６６】
［反射行動の実装］
図６は、本実施形態におけるロボット１００のハードウェア構成図である。
本実施形態におけるロボット１００は、プロセッサ１２２に加えて、ＣＮＳ（Central Nervous System）基板１１６を搭載する。プロセッサ１２２は高次制御回路２５２（図１参照）として機能する。ＣＮＳ基板１１６は低次制御回路２５０（図１参照）として機能する。ＣＮＳ基板１１６は、ロボット１００が外部から刺激を受けた時点から一定時間内にリアクション・モーションＲ（反射行動）を実行するために設計された電子回路である。以下、低次制御回路２５０によるリアクション・モーションＲの実行判断に関わる制御を「低次制御」、高次制御回路２５２によるノーマル・モーションＮ（意識行動）に関わる制御を「高次制御」とよぶ。
【００６７】
図７は、低次制御回路２５０、高次制御回路２５２および動作制御部１５０の対応関係を示す模式図である。
ロボット１００のデータ処理部１３６の機能は、ロボット１００のハードウェアおよびソフトウェアの協働により実現される。データ処理部１３６の機能の一部を担う動作制御部１５０は、サーバ２００の動作制御部２２２とも協働してロボット１００のモーションを決める。本実施形態における低次制御回路２５０は、ソフトウェアの実行が想定されていない低次制御に特化した電子回路である。高次制御回路２５２は、汎用のプロセッサ１２２であり、各種ソフトウェアを実行する。動作制御部１５０の機能は、低次制御回路２５０、高次制御回路２５２、高次制御回路２５２により実行されるソフトウェアにより実現される。
【００６８】
図８は、低次制御を説明するための模式図である。
本実施形態においては、複数のセンサに対して複数の低次制御回路２５０が一対一にて対応づけられる。１つの低次制御回路２５０には１つのリアクション・モーションＲが対応づけられる。１つの低次制御回路２５０に対しては１以上のアクチュエータが対応づけられる。複数の低次制御回路２５０は、ロボット１００の内部に分散配置されてもよいし、制御回路３４２に集約的に格納されてもよい。
【００６９】
複数の低次制御回路２５０のうち、図８に示す低次制御回路２５０はセンサＦ１に対応づけられ、センサＦ１のセンサ値Ｓ１（アナログデータ）を検出する。低次制御回路２５０は、センサ値Ｓ１が反射閾値Ｔ１以上であれば、リアクション・モーションＲ１の実行を駆動機構１２０（アクチュエータ）に指示する。リアクション・モーションＲ１に関わるアクチュエータは２以上の場合もある。
【００７０】
たとえば、センサＦ１はマイクロフォンアレイであり、センサ値Ｓ１はマイクロフォンアレイが検出した音声の音量値であるとする。リアクション・モーションＲ１は、ロボット１００の頭部フレーム３１６を震わせるモーションであるとする。低次制御回路２５０は、センサ値Ｓ１が反射閾値Ｔ１以上であるとき、頭部フレーム３１６を制御するアクチュエータ３２６に所定の指示信号を送信して頭部フレーム３１６を震わせることにより、ロボット１００が大きな音にびっくりした様子を行動表現する。
【００７１】
低次制御回路２５０においては、リアクション・モーションＲ１にともなって指示対象となるアクチュエータとその指示信号があらかじめ定義されている。このため、低次制御回路２５０は、「大きな音」のような単純な外部事象に対して典型的かつ単純なリアクション・モーションＲを即時実行できる。低次制御回路２５０の処理は単純であり、ソフトウェアの実行にともなうオーバーヘッドもないため、応答性に優れる。
【００７２】
図９は、高次制御を説明するための模式図である。
ノーマル・モーションＮの実行可否は、１以上のセンサのセンサ値と行動特性モデル２５４に基づいて高次制御回路２５２（プロセッサ１２２およびソフトウェア）により総合的に判断される。行動特性モデル２５４は、感情パラメータや親密度など、ロボット１００の行動特性を決定するアルゴリズムであり、ソフトウェアにより構成される。行動特性モデル２５４は、サーバ２００とも協働することで、ロボット１００の行動特性を決定する。行動特性モデル２５４は、ロボット１００の認識・関心・記憶・予測・選好・行動を表現するアルゴリズムである。図９の高次制御回路２５２には、センサＦ１〜Ｆｎのセンサ値Ｓ１〜Ｓｎ（デジタルデータ）が入力される。高次制御回路２５２は、センサ値Ｓ１〜Ｓｎに基づいてノーマル・モーションＮを決定し、その実行を駆動機構１２０に指示する。
【００７３】
たとえば、認識部１５６（行動特性モデル２５４の一部）は、タッチセンサによりユーザＰ２によるボディ１０４への接触を検出し、かつ、カメラと加速度センサによりロボット１００の上昇を検出したとき、ロボット１００が「抱っこ」されたと総合的に判定する。抱っこに際し、サーバ２００の親密度管理部２２０はユーザＰ１に対する親密度を上昇させる。親密度の変化により、ロボット１００の行動特性が変化する。たとえば、ロボット１００のカメラがユーザＰ２を撮像（視認）したとき、ユーザＰ２の親密度が高いほど、動作制御部１５０がユーザＰ２に近接する行動を選択する確率が高くなる。低次制御においては、センサ値とリアクション・モーションＲが直結している。一方、高次制御においては、センサ値により外部事象を解釈し、親密度や感情パラメータ等の内部変数を変化させることで行動選択基準を変化させ、行動特性モデル２５４の処理結果としてノーマル・モーションＮが選択される。
【００７４】
図１０は、ロボット１００の行動制御システム１７０の回路構成図である。
行動制御システム１７０は、低次制御を担当するＣＮＳ基板１１６（低次制御回路２５０）と高次制御を担当するプロセッサ１２２（高次制御回路２５２）を含む。ＣＮＳ基板１１６（低次制御回路２５０）は、コア回路１７４と出力回路１７６を含む。本実施形態においては、センサＦごとにＣＮＳ基板１１６が設けられ、１つのＣＮＳ基板１１６は１以上のアクチュエータに指示信号を送信可能である。ここでいうセンサＦは、カメラ等の内部センサ１２８であってもよいし、外部センサ１１４であってもよい。
【００７５】
コア回路１７４は、センサＦのセンサ値に応じてリアクション・モーションＲの実行可否を決定する。また、コア回路１７４は、センサ値をＡ／Ｄ変換し、デジタルデータとしてのセンサ値をプロセッサ１２２（高次制御回路２５２）に出力するＡ／Ｄ変換回路を含んでもよい。コア回路１７４は、プロセッサ１２２が利用しやすい形式にセンサ値を整形する機能を含んでもよい。出力回路１７６は、１以上のアクチュエータ（駆動機構１２０）を制御する。
【００７６】
（コア回路１７４）
コア回路１７４は、センサ値入力部１７８、整形部１８０、センサ値出力部１８２、判定部１８４、信号生成部１８６および設定入力部１８８を含む。
センサ値入力部１７８は、センサ値を取得する。センサ値は、アナログデータであってもよいし、デジタルデータであってもよい。判定部１８４は、センサ値があらかじめ設定された閾値（上述の「反射閾値」）以上であるか否かを判定する。以下、センサ値が反射閾値以上となる外部事象を「強度事象」とよぶ。判定部１８４は、強度事象が発生したときには、信号生成部１８６にリアクション・モーションＲの実行を指示する制御信号を生成させ、キャンセル信号をプロセッサ１２２に送信する。信号生成部１８６は、判定部１８４から指示を受けたことを契機として、あらかじめ設定されているリアクション・モーションＲの実行を出力回路１７６の信号出力部１９２に指示する。より具体的には、リアクション・モーションＲに関連付けられる１以上のアクチュエータに対する指示信号（動作量、動作速度、動作方向）を信号出力部１９２に送信する。
【００７７】
一方、強度事象であるか否かに関わらず、センサ値は、整形部１８０により後段の処理において利用しやすい形式に整形される。ロボット１００には様々な種類のセンサＦが設けられる。センサＦは、センサ値を一定の間隔で出力するが、出力周期は同一ではない。高次制御回路２５２（プロセッサ１２２）は、複数のセンサＦにおけるセンサ値に基づいて処理をおこなうため、処理に用いるセンサのセンサ値が異なるタイミングで届くと、タイミング調整処理が必要となるために自らの計算リソースを消費してしまう。そこで、整形部１８０は、各センサＦから届くセンサ値を必要に応じてバッファに蓄積し、各センサ値の出力タイミングを同期させる。整形部１８０がセンサ値の出力タイミングの調整を担当することにより、高次制御回路２５２の処理負荷が低減される。整形部１８０において、出力タイミングを調整する場合には、他のセンサ用に設けられたＣＮＳ基板１１６と同期するように設計されてもよいし、複数のＣＮＳ基板１１６で整形部１８０およびセンサ値出力部１８２を共有してもよい。
【００７８】
センサ値出力部１８２は、リアクション・モーションＲの実行要否に関わらず、センサ値を高次制御回路２５２に出力する。高次制御回路２５２において実行されるソフトウェアは、センサ値にしたがってロボット１００の行動特性を決定する。反射閾値は、ロボット１００のおかれた環境や状態に応じて変更できることが好ましい。高次制御回路２５２は、ＣＮＳ基板１１６（低次制御回路２５０）における反射閾値およびリアクション・モーションＲの設定を変更するときには、設定信号を設定入力部１８８に送信する。設定入力部１８８は、判定部１８４における反射閾値を更新し、信号生成部１８６におけるリアクション・モーションＲの設定を変更する。
【００７９】
（出力回路１７６）
出力回路１７６は、指示入力部１９０と信号出力部１９２を含む。
高次制御回路２５２は、ノーマル・モーションＮを実行するとき、アクチュエータごとに指示信号を送る。指示入力部１９０は高次制御回路２５２からノーマル・モーションＮのための指示信号を受信し、信号出力部１９２に送信する。信号出力部１９２は、リアクション・モーションＲの指示信号を信号生成部１８６（コア回路１７４）から受信し、ノーマル・モーションＮの指示信号を指示入力部１９０（高次制御回路２５２）から受信する。信号出力部１９２は、信号生成部１８６からリアクション・モーションＲの制御信号を受信したときには、指示入力部１９０から受信するノーマル・モーションＮの制御信号を無効にして、リアクション・モーションＲの制御信号を優先して駆動機構１２０に送信する。
【００８０】
駆動機構１２０は、制御信号にしたがって動作する。信号出力部１９２は、リアクション・モーションＲの実行を指示するときには、現在の駆動状態を停止する制御信号（コマンド）を送信した後に、リアクション・モーションＲを実行するための制御信号を送信する。すなわち、信号出力部１９２は、駆動機構１２０における現在進行中の動作を中止させた上で、リアクション・モーションＲを即時実行させる。信号出力部１９２は、信号生成部１８６からリアクション・モーションＲの実行指示がなければ、指示入力部１９０から届くノーマル・モーションＮの制御信号を駆動機構１２０に順次送信する。
【００８１】
コア回路１７４の判定部１８４は、強度事象が発生したためにリアクション・モーションＲを実行するときにはキャンセル信号を高次制御回路２５２に送信する。高次制御回路２５２はキャンセル信号を受信したときにはノーマル・モーションＮの実行を中断し、新たにセンサ値出力部１８２から出力されるセンサ値に応じた処理を開始する。このような制御方法によれば、リアクション・モーションＲは即時実行される一方、高次制御回路２５２はリアクション・モーションＲの終了後に実行すべきノーマル・モーションＮをリアクション・モーションＲの終了を待たずに判断できる。
【００８２】
図１１は、リアクションテーブル１９４の概念図である。
反射閾値は判定部１８４（コア回路１７４）に設定される。リアクション・モーションＲ、より厳密には、リアクション・モーションＲに関わるアクチュエータに対する指示値は信号生成部１８６（コア回路１７４）に設定される。図１１に示すリアクションテーブル１９４は、判定部１８４に設定される反射閾値と信号生成部１８６に設定されるリアクション・モーションＲの対応関係を模式的に示したものである。低次制御回路２５０ごとに、いいかえれば、センサＦごとに反射閾値とリアクション・モーションＲのセット（リアクションテーブル１９４）が定義される。
【００８３】
図１１に示すリアクションテーブル１９４は、センサＦ１（センサ値Ｓ１）に対する反射閾値Ｔとリアクション・モーションＲを定義する。図１１においては、反射閾値Ｔ＝Ｔ１が設定される。リアクション・モーションＲとしては、モーションＭ１〜Ｍ４のいずれかが選択可能であるが、図１１においてはモーションＭ１が設定されている。すなわち、センサ値Ｓ１が反射閾値Ｔ１を超えるとき、コア回路１７４はリアクション・モーションＲとしてモーションＭ１の実行を指示する。信号生成部１８６には、モーションＭ１を実現する上で制御対象となるアクチュエータと、その指示値（動作量、動作方向、動作速度）が設定される。
以下、リアクション・モーションＲの具体例をいくつか列挙する。
【００８４】
（例１：大きな音が聞こえたときの反射行動）
ロボット１００は、大きな音を聞くと反射的に手１０６を震わせる。このようなリアクション・モーションＲを実現するため、マイクロフォンアレイに対応づけられる低次制御回路２５０は、音量値を検出する。音量値（センサ値）が反射閾値以上となると、信号生成部１８６はワイヤ１３４を振動させる。低次制御回路２５０は大音量を検出したときにワイヤ１３４を振動させるという単純な処理を実行することにより、「大きな音に驚いて手１０６を震わせる」という反射行動を高い応答性にて表現できる。
【００８５】
高次制御回路２５２は、低次制御回路２５０で用いられる反射閾値を変更できる。たとえば、単位時間あたり反射閾値Ｔ１以上の音声を検出した回数が所定回数を超える時、高次制御回路２５２（動作制御部１５０）は反射閾値をＴ１からＴ２（＞Ｔ１）に変更してもよい。このような制御方法によれば、大きな音を聞き続けたロボット１００は反射閾値Ｔ１程度の音では反応しなくなる。いいかえれば、ロボット１００の大きな音に対する慣れを表現できる。単位時間あたり反射閾値Ｔ２以下の音声を検出した回数が所定回数以内であるとき、高次制御回路２５２（動作制御部１５０）は反射閾値をＴ２からＴ１に変更してもよい。
【００８６】
高次制御回路２５２は、リアクション・モーションＲも変更できる。モーションＭ１は手１０６を震わせるモーションであり、モーションＭ２は前輪１０２をボディ１０４に格納して着座するモーションであるとする。たとえば、反射閾値以上の音声を所定時間以上検出しなかったとき、高次制御回路２５２は「手１０６を震わせるモーションＭ１」から「座り込むモーションＭ２」にリアクション・モーションＲを変更してもよい。このような制御方法によれば、大きな音に慣れていないロボット１００は、大きな音が聞こえるとその場に座り込む。
【００８７】
以上のように、高次制御回路２５２は、所定の変更条件が成立したとき、反射閾値およびリアクション・モーションＲを変更する。以下、反射閾値とリアクション・モーションＲをまとめて「反射特性」とよぶ。高次制御回路２５２が外部事象または内部事象に応じて低次制御回路２５０の反射特性を変更することにより、リアクション・モーションの高速な応答性と反射特性の多様化を両立させることができる。
【００８８】
（例２：叩かれたときの反射行動）
ロボット１００は、ユーザに頭を叩かれると反射的に後退する。このようなリアクション・モーションＲを実現するため、低次制御回路２５０のひとつはロボット１００の頭部に取り付けられるタッチセンサの接触強度をセンサ値として検出する。センサ値が反射閾値以上であれば、いいかえれば、頭部に対する強い接触が検出されたときには、信号生成部１８６は前輪１０２に後方回転を指示する。このような制御により、「頭を叩かれて後ろに逃げる」という反射行動をロボット１００に実行させることができる。
【００８９】
反射閾値を変更することにより、叩かれることに対する敏感度が変化する。反射閾値を低く設定すれば、ロボット１００は軽く叩かれただけでも後退する。反射閾値を高く設定すれば、ロボット１００は強く叩かれたときだけ後退する。タッチセンサの反射閾値を変更することにより、ロボット１００の「痛み」に対する敏感さ・耐性を調整できる。
【００９０】
後退以外にもさまざまなリアクション・モーションＲを設定可能である。たとえば、叩かれたときにロボット１００はボディ１０４を揺らしてもよい。低次制御回路２５０は目１１０に表示される瞳画像を変化させることにより叩かれたときに瞼を閉じてもよい。このように、低次制御回路２５０はアクチュエータのような機械的な制御装置以外、たとえば、表示装置などの電気的な制御装置に対して指示信号を送信してもよい。
【００９１】
ロボット１００は、叩かれたときなど、外部事象によってはアクチュエータへの通電を抑制または停止させて、脱力を表現してもよい。低次制御回路２５０は、アクチュエータの動きを固定することで「硬直」や「緊張」を表現してもよい。
【００９２】
（例３：落下したときの反射行動）
ロボット１００は、落下中に、全アクチュエータへの通電を反射的に停止させる。これは、アクチュエータの可動性を最大にすることで衝撃に備えるためである。いわば、アクチュエータ（関節）に柔軟性をもたせることでロボット１００に受け身をとらせている。低次制御回路２５０は、加速度センサにより検出された加速度（センサ値）が反射閾値以上であるとき、アクチュエータへの通電停止を指示する。ロボット１００は、落下検出に際しては、前輪１０２をボディ１０４に格納してもよい。通常、前輪１０２はボディ１０４から露出するため、前輪１０２（移動機構）をボディ１０４に格納することにより落下の衝撃によって前輪１０２が破損するのを防止できる。リアクション・モーションＲは、本能的な即時反応を表現するだけでなく、ロボット１００の機構保護のために実行されてもよい。
【００９３】
（例４：緊急停止）
ロボット１００には、緊急停止用のスイッチ（以下「緊急停止スイッチ」とよぶ）が設けられる。ユーザにより緊急停止スイッチがオンされたとき、ＣＮＳ基板１１６は全アクチュエータへの通電を即時停止させる。緊急停止スイッチがオフのとき（正常状態）、センサ値入力部１７８には通電状態として「１」が入力される。緊急停止スイッチがオンされると、センサ値入力部１７８には通電状態として「０」が入力される。判定部１８４には、判定条件として「０」が設定されている。判定部１８４は、センサ値入力部１７８から供給されたセンサ値が「０」になったときに、信号生成部１８６にアクチュエータへの通電を停止することを指示する。
【００９４】
上述したように、１つのセンサに対して複数のリアクション・モーションＲを対応づけ、高次制御回路２５２はいずれか１つを選択する。このような制御方法によれば、センサ値に応じて、あらかじめ定義されたリアクション・モーションを高速に実行できる。複数のリアクション・モーションのうちどのリアクション・モーションを実行対象とするかを決定する変更条件は任意に設定可能である。たとえば、センサＦ１にリアクション・モーションとしてモーションＭ１〜Ｍ４が選択可能に設定されているとする。高次制御回路２５２は、リアクション・モーションＭ１〜Ｍ４のいずれかを定期的にランダムに選択してもよい。
【００９５】
行動の内容にかぎらず、行動の運動量をモーションによって異なってもよい。たとえば、リアクション・モーションＭ１が１メートル以上後退するモーション、リアクション・モーションＭ２が１０センチメートル後退するモーションであるとする。大きな音が頻発する環境においては、モーションＭ１よりもモーションＭ２を設定することにより、ロボット１００の大きな音に対する慣れを行動表現できる。また、ロボット１００の製造日からの経過日数が所定値を超えたことを契機として、リアクション・モーションＭ１をリアクション・モーションＭ２に変更してもよい。このような制御方法によれば、加齢にともなって大きな音に驚かなくなるという「落ち着き」を表現できる。
【００９６】
以上、実施形態に基づいてロボット１００およびロボット１００を含むロボットシステム３００について説明した。
本実施形態においては、複雑な行動特性を高次制御回路２５２（ソフトウェア・レベル）により表現し、本能的・即時的な行動を低次制御回路２５０（ハードウェア・レベル）により実行する。人間の脳が合理的思考を司る大脳新皮質と、大脳辺縁系のような旧皮質に分かれているように、ロボット１００においても意識的行動の制御機構と無意識的行動の制御機構を分離させている。このような設計により、ロボット１００に複雑な行動特性とともに、本能的で単純な反射行動も実行させることができる。
【００９７】
低次制御回路２５０は、センサ値が反射閾値を超えるか否かをチェックするだけでリアクション・モーションＲの実行可否を判断する。このため、強度事象が発生してからリアクション・モーションＲの実行に至るまでのタイムラグは２００ミリ秒以内に抑えることが可能となる。低次制御回路２５０はセンサ値をアナログデータとして受信してもよいし、デジタルデータとして受信してもよい。データの種類に応じて、適宜、Ａ／Ｄ変換の機能が設けられる。
【００９８】
低次制御回路２５０がリアクション・モーションＲを実行するときには、キャンセル信号により高次制御回路２５２によるノーマル・モーションＮの実行が抑止される。このような制御により、リアクション・モーションＮとノーマル・モーションＮが同時または連続実行されることにともなう不自然さを防止する制御も工夫点である。低次制御回路２５０のアルゴリズムは単純であるため、低次制御回路２５０はソフトウェアがなくても、ハードウェア・レベルで実装できる。低次制御回路２５０には、ソフトウェアの実行にともなうオーバーヘッドが発生しない。一方、高次制御回路２５２は、ソフトウェアによりアルゴリズムが実装されるため、低次制御回路２５０よりは判断が低速となるが、複数のセンサ値に基づく複雑な行動特性を表現できる。
【００９９】
高次制御回路２５２は、複数のセンサ値に基づいて感情パラメータや親密度などの各種パラメータを変化させる。これらのパラメータがロボット１００の「精神状態」や「性格」などの固有状態を表現する。ロボット１００の固有状態と外部事象に基づいて、ロボット１００の行動（ノーマル・モーションＮ）が決まる。
【０１００】
高次制御回路２５２は、低次制御回路２５０のアルゴリズムの判断基準である反射閾値と行動内容であるリアクション・モーションＲを変更する。高次制御回路２５２による反射特性の変更により、リアクション・モーションＲの単調化を防ぐことができる。
【０１０１】
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
【０１０２】
１つのロボット１００と１つのサーバ２００、複数の外部センサ１１４によりロボットシステム３００が構成されるとして説明したが、ロボット１００の機能の一部はサーバ２００により実現されてもよいし、サーバ２００の機能の一部または全部がロボット１００に割り当てられてもよい。１つのサーバ２００が複数のロボット１００をコントロールしてもよいし、複数のサーバ２００が協働して１以上のロボット１００をコントロールしてもよい。
【０１０３】
ロボット１００やサーバ２００以外の第３の装置が、機能の一部を担ってもよい。図５において説明したロボット１００の各機能とサーバ２００の各機能の集合体は大局的には１つの「ロボット」として把握することも可能である。１つまたは複数のハードウェアに対して、本発明を実現するために必要な複数の機能をどのように配分するかは、各ハードウェアの処理能力やロボットシステム３００に求められる仕様等に鑑みて決定されればよい。
【０１０４】
上述したように、「狭義におけるロボット」とはサーバ２００を含まないロボット１００のことであるが、「広義におけるロボット」はロボットシステム３００のことである。サーバ２００の機能の多くは、将来的にはロボット１００に統合されていく可能性も考えられる。
【０１０５】
本実施形態における低次制御回路２５０は、コア回路１７４と出力回路１７６の双方を含むが、コア回路１７４を「狭義における低次制御回路２５０」と捉えることもできる。
【０１０６】
本実施形態においては、センサごとに低次制御回路２５０を対応づけ、低次制御回路２５０は１以上のアクチュエータを制御するとして説明した。変形例としてセンサごとにコア回路１７４を対応づけ、アクチュエータごとに出力回路１７６を対応づけてもよい。ｎ個のセンサとｍ個のアクチュエータが存在するとき、１つのＣＮＳ基板１１６にｎ個のコア回路１７４とｍ個の出力回路１７６を搭載してもよい。
【０１０７】
１個のＣＮＳ基板１１６に複数のセンサを対応づけてもよい。この場合には、コア回路１７４のセンサ値入力部１７８は、複数のセンサ値を取得し、判定部１８４はセンサごとにリアクション・モーションＲの実行可否を判定してもよい。
【０１０８】
低次制御回路２５０は、落下や衝撃など、ロボット１００に危害が加えられる状況においては、前輪１０２以外にもツノ１１２等の突起部分をボディ１０４に格納し、保護してもよい。
【０１０９】
低次制御回路２５０のアルゴリズムは単純であるため、ハードウェアのみで実装可能であるがソフトウェアの実装を排除するものではない。低次制御回路２５０がシンプルなソフトウェアを実行することで低次制御機能を実現してもよい。低次制御機能をソフトウェアにより実装する場合には、単一のプロセッサ上に複数のセンサＦに対応する複数の低次制御機能を実装することもできる。
【０１１０】
低次制御回路２５０には複数の反射閾値を設定してもよい。低次制御回路２５０は、センサ値が反射閾値Ｔ１を超えたときにはリアクション・モーションＭ１を実行し、センサ値が反射閾値Ｔ２（＞Ｔ１）を超えたときにはリアクション・モーションＭ２を実行してもよい。このように、低次制御回路２５０は、複数の反射閾値に対応して複数のリアクション・モーションを実行させてもよい。
【０１１１】
音声については、音量に限らず、周波数など他のセンサ値に基づいてリアクション・モーションＲの実行可否を判断してもよい。音量が小さくても、不快な高周波音が聞こえたときには、リアクション・モーションＲを実行するとしてもよい。マイクロフォンアレイに対して、音量値を検出する低次制御回路２５０と周波数を検出する低次制御回路２５０を別々に設けてもよい。このように１つのセンサに対して複数の低次制御回路２５０（コア回路１７４）を対応づけてもよい。
【０１１２】
本実施形態においては、低次制御の低次制御回路２５０と高次制御の高次制御回路２５２の２段階制御を前提として説明した。変形例として、低次制御と高次制御の中間レベルの制御（中間制御）を行う電子回路を設けることにより３以上の電子回路に３段階以上の制御を分担させてもよい。
【０１１３】
低次制御回路２５０と高次制御回路２５２の２つを設けるのではなく、プロセッサ１２２により低次制御と高次制御の双方を実行してもよい。具体的には、プロセッサ１２２において低次制御用のソフトウェアＬＳと高次制御用のソフトウェアＨＳを並列実行させればよい。たとえば、ソフトウェアＬＳをソフトウェアＨＳよりも優先度の高いプロセスまたはスレッドとして実装してもよい。
【０１１４】
本実施形態における低次制御回路２５０はソフトウェアの実行が想定されていない電子回路であるとして説明したが、低次制御回路２５０はファームウェア（firmware）としての組み込みのソフトウェアを実行する電子回路であってもよい。低次制御回路２５０は、ＦＰＧＡ（Field-Programmable Gate Array）のようなＰＬＤ（Programmable Logic Device）として構成されてもよい。
【０１１５】
本実施形態においては、リアクション・モーションＲの具体例として（例１）大きな音が聞こえたときの反射行動、（例２）叩かれたときの反射行動、（例３）落下したときの反射行動、（例４）緊急停止、の４つを例示した。このほかにも、下記のようなリアクション・モーションＲが考えられる。
【０１１６】
（例５：障害物を検出したときの反射行動）
ロボット１００は、ＴｏＦ（Time of Flight）センサあるいはソナーなどの測距センサを搭載してもよい。低次制御回路２５０は、測距センサにより、壁、段差、穴、崖を検出したとき、ロボット１００の移動を停止させてもよい。低次制御回路２５０は、たとえば、至近距離に障害物を検知したとき、前輪１０２の駆動停止を指示する。ロボット１００の安全が脅かされると想定されるセンサ値を契機として、ロボット１００の移動を停止させることにより、ロボット１００を危険から守ることができる。高次制御回路２５２は、障害物が検出されたとき、他のセンサから収集した情報に基づいて「イベント」を判定し、「後退」などの次にとるべきノーマル・モーションＮを選択する。ロボット１００は、低次制御回路２５０からの指示により急停止したあと、高次制御回路２５２に指示されたノーマル・モーションＮを実行する。このように、ロボット１００は、リアクション・モーションＲを即時実行した上で、ノーマル・モーションＮを引き続き実行してもよい。
【０１１７】
ロボットの目前に障害物が落下したとき、あるいは、障害物が設置されたときときにも、低次制御回路２５０は至近距離の障害物を検出したことを契機としてロボット１００の移動停止を指示してもよい。上述したように、安全確保のためのリアクション・モーションＲ（急停止）の実行後、高次制御回路２５２はノーマル・モーションＮを実行してもよい。たとえば、高次制御回路２５２は、ロボット１００の手１０６を上げたり、目１１０に表示させる眼画像の瞳孔を拡大させたり、瞬きをさせることでロボット１００の驚きを表現してもよい。
【０１１８】
（例６：熱源を検出したときの反射行動）
ロボット１００は、サーモセンサにより熱源を検出してもよい。低次制御回路２５０は、所定閾値以上の温度（高温）を検出したとき、ロボット１００の移動停止を指示する。所定閾値は、ロボット１００を形成する部材の耐熱温度に応じて決めてもよい。ヒーターやストーブなどの発熱器具に近づいたとき、ロボット１００の高温化を防止するためのリアクション・モーションＲを実行することでロボット１００の安全を確保できる。また、ロウソクやたばこ等の炎をともなう熱源に近づいたときもロボット１００の熱源への接近行動を中止することにより、ロボット１００の安全を確保できる。
【０１１９】
（例７：閃光を検出したときの反射行動）
ロボット１００は、目１１０に眼画像を表示させる。低次制御回路２５０は、カメラまたは光センサにより強い光（閃光）を検出したとき、目１１０において瞼を閉じる眼画像を表示させる。このような制御方法によれば、ロボット１００が強い光を浴びたときに思わず目を閉じる様子を即時的に表現できる。このほかにも、ロボット１００の顔を背ける、頭部を下に向ける、移動を停止するなどのリアクション・モーションＲを実行してもよい。
【０１２０】
（例８：暗転時の反射行動）
低次制御回路２５０は、カメラまたは光センサにより、光量が所定値以下となったことを検出したとき、移動停止させてもよい。たとえば、ユーザが部屋の電灯を切ったときには、ロボット１００を移動停止させることでロボット１００が暗闇で室内物体にぶつかるのを防ぐことができる。
【０１２１】
ロボット１００の顔に光センサを取り付けてもよい。ユーザがロボット１００の目１１０に目隠しをしたときには、低次制御回路２５０は手１０６を揺らすことでロボット１００の驚きを表現してもよい。このほかにも、眼画像で瞬きを実行する、頭部を左右に揺らすなども驚きの表現として考えられる。
【０１２２】
低次制御回路２５０により指示されるリアクション・モーションＲは、高次制御回路２５２により指示されるノーマル・モーションＮに優先して実行される。ノーマル・モーションＮの実行中に低次制御回路２５０によりリアクション・モーションＲが実行指示された場合、実行中のノーマル・モーションＮは即時停止され、リアクション・モーションＲが先に実行される。また、実行待ちのリアクション・モーションＲが存在するとき高次制御回路２５２によりノーマル・モーションＮが選択された場合には、予定されているすべてのリアクション・モーションＲの実行完了後に、ノーマル・モーションＮを実行する。このように、リアクション・モーションＲとノーマル・モーションＮは並列実行されることはなく、リアクション・モーションＲとノーマル・モーションＮの実行順序はシリアライズされる。
【０１２３】
図１０に示した低次制御回路２５０は、リアクション・モーションＲの実行状況を高次制御回路２５２に通知するための実行状況通知部（図示せず）を備えてもよい。より具体的には、信号生成部１８６がリアクション・モーションＲの実行指示信号を生成し、信号出力部１９２にこれを出力した後、実行状況通知部はリアクション・モーションＲの実行が完了したことを高次制御回路２５２に通知する。実行状況通知部は、１以上のリアクション・モーションＲのうちの最後の実行指示が、信号出力部１９２から駆動機構１２０に動作指示として伝えられて、駆動機構１２０が最後の実行指示に対応する動作を完了したことを検出する。このとき、実行状況通知部は、１以上のリアクション・モーションＲをすべて完了したことを高次制御回路２５２に通知する。
【０１２４】
すなわち、すべての予定されているリアクション・モーションＲの実行が完了したあと、高次制御回路２５２は、既に選択していたノーマル・モーションＮの実行を指示する。モーションの実行は、機械的動作をともなうことが多いため、実行の開始から完了までにはある程度の時間を要する。一方、高次制御回路２５２（電子回路とソフトウェア）によるモーション選択は、将来的にはいっそう高速化すると考えられる。上述した制御方法によれば、実行状況通知部がリアクション・モーションＲの実行状況を高次制御回路２５２に通知しつつ、いいかえれば、高次制御回路２５２によるノーマル・モーションＮの実行を待たせつつ、低次制御回路２５０が１以上のリアクション・モーションＲを優先的に実行できる。将来、ノーマル・モーションＮが多様化したときでも、リアクション・モーションＲの即時実行（即時反応）を実現しやすくなる。
【０１２５】
ノーマル・モーションＮの実行中にリアクション・モーションＲを実行するためにノーマル・モーションＮを一時停止させることもある。この場合、リアクション・モーションＲの実行後（反射行動後）、事前に実行していたノーマル・モーションＮを再開してもよい。たとえば、ノーマル・モーションＮ１，Ｎ２の連続実行を予定している状況において、ノーマル・モーションＮ１の実行中にリアクション・モーションＲ１の実行を指示したとする。このときには、ノーマル・モーションＮ１の実行を中止し、リアクション・モーションＲ１を先に実行する。リアクション・モーションＲ１の完了後、ノーマル・モーションＮ１を途中から再開してもよいし、ノーマル・モーションＮ１を最初からやり直してもよいし、ノーマル・モーションＮ１をキャンセルしてノーマル・モーションＮ２を実行してもよい。また、反射行動のきっかけとなった事象に応じて、ロボット１００の内部状態（感情パラメータ、親密度など）を変化させ、内部状態の変化に基づいて新たなノーマル・モーションＮを選択し直してもよい。たとえば、新たな移動目標地点を設定した上で、ロボット１００を移動させてもよい。
【図１】
2019088160.tif 000003
【図２】
2019088160.tif 000004
【図３】
2019088160.tif 000005
【図４】
2019088160.tif 000006
【図５】
2019088160.tif 000007
【図６】
2019088160.tif 000008
【図７】
2019088160.tif 000009
【図８】
2019088160.tif 000010
【図９】
2019088160.tif 000011
【図１０】
2019088160.tif 000012
【図１１】
2019088160.tif 000013
【国際調査報告】
2019088160.tif 000014
2019088160.tif 000015
2019088160.tif 000016
2019088160.tif 000017