以下、本発明の実施形態を、図面を参照して詳細に説明する。なお、以下の説明においては便宜上、図示の状態を基準に各構造の位置関係を表現することがある。また、以下の実施形態およびその変形例について、ほぼ同一の構成要素については同一の符号を付し、その説明を適宜省略することがある。
図1は、実施形態に係るロボット100の外観を表す図である。図1(a)は正面図であり、図1(b)は側面図である。
ロボット100は、外部環境および内部状態に基づいて行動や仕草(ジェスチャー)を決定する自律行動型ロボットである。外部環境は、カメラやサーモセンサなど各種のセンサにより認識される。内部状態はロボット100の感情を表現する様々なパラメータとして定量化される。
ロボット100は、屋内行動が前提とされており、例えば、ユーザ宅の屋内を行動範囲とする。なお、本実施形態では、ロボット100に関わる人間を「ユーザ」とよぶ。
ロボット100のボディ104は、全体的に丸みを帯びた形状を有し、柔軟で弾力性のある素材により形成された外皮314を含む。丸くてやわらかく、手触りのよいボディ104とすることで、ロボット100はユーザに安心感とともに心地よい触感を提供する。ロボット100には、衣装を着せることができる。ユーザの好みに応じて衣装を着せることで、季節感や誕生日などのイベントを楽しむことができる。
ロボット100は、3輪走行するための3つの車輪を備える。図示のように、一対の前輪102(左輪102a,右輪102b)と、一つの後輪103を含む。前輪102が駆動輪であり、後輪103が従動輪である。前輪102は、回転速度や回転方向が個別に制御可能とされている。後輪103は、ロボット100を前後左右への移動させるために回転自在となっている。
前輪102および後輪103は、図示しない駆動機構(回動機構、リンク機構)によりボディ104に完全収納できる。走行時においても各車輪の大部分はボディ104に隠れているが、各車輪がボディ104に完全収納されるとロボット100は移動不可能な状態となる。車輪の収納動作に伴ってボディ104が降下し、床面Fに着座する。この着座状態においては、ボディ104の底部に形成された着座面108が床面Fに当接する。
ロボット100は、2つの手106を有する。手106には、モノを把持する機能はない。手106は、図示しない内蔵ワイヤを引っ張る又は緩めることにより、上げる、振る、振動するなど簡単な動作が可能である。2つの手106も個別制御可能である。
ロボット100の頭部正面(顔)には2つの目110が設けられている。目110は、液晶素子または有機EL素子により、様々な表情で表示される。ロボット100は、スピーカーを内蔵し、簡単な音声を発することもできる。ロボット100の頭頂部にはツノ112が取り付けられる。ツノ112には全天球カメラが内蔵され、上下左右全方位を一度に撮影できる。また、ロボット100の頭部正面には、高解像度カメラが設けられる(図示せず)。
図2は、ロボット100の構造を概略的に表す断面図である。
ロボット100のボディ104は、ベースフレーム308、本体フレーム310、一対のホイールカバー312および外皮314を含む。ベースフレーム308は、ボディ104の軸芯を構成するとともに内部機構を支持する。ベースフレーム308は、アッパープレート332とロアプレート334とを複数のサイドプレート336により連結して構成される。ベースフレーム308の内方には、バッテリー118、制御回路342および各種アクチュエータ等が収容されている。
本体フレーム310は、頭部フレーム316および胴部フレーム318を含む。頭部フレーム316は、中空半球状をなし、ロボット100の頭部骨格を形成する。胴部フレーム318は、段付筒形状をなし、ロボット100の胴部骨格を形成する。胴部フレーム318は、ベースフレーム308に固定されている。頭部フレーム316は、内部機構およびジョイント330等を介してアッパープレート332に接続され、胴部フレーム318に対して相対変位可能とされている。
頭部フレーム316には、ヨー軸321、ピッチ軸322およびロール軸323の3軸と、各軸を回転駆動するアクチュエータ324,325が設けられている。アクチュエータ324は、ヨー軸321を駆動するためのサーボモータを含む。アクチュエータ325は、ピッチ軸322およびロール軸323をそれぞれ駆動するための複数のサーボモータを含む。首振り動作のためにヨー軸321が駆動され、頷き動作,見上げ動作および見下ろし動作のためにピッチ軸322が駆動され、首を傾げる動作のためにロール軸323が駆動される。頭部フレーム316の上部には、ヨー軸321に支持されるプレート326が固定されている。
頭部フレーム316およびその内部機構を下方から支持するように、ベースプレート328が設けられている。ベースプレート328は、ジョイント330を介してアッパープレート332(ベースフレーム308)と連結されている。ベースプレート328には支持台335が設けられ、アクチュエータ324,325およびクロスリンク機構329(パンタグラフ機構)が支持されている。クロスリンク機構329は、アクチュエータ324,325を上下に連結し、それらの間隔を変化させることができる。
ヨー軸321を回転させることにより、プレート326と頭部フレーム316とを一体に回転(ヨーイング)させることができ、首振り動作を実現できる。ピッチ軸322を回転させることにより、クロスリンク機構329と頭部フレーム316とを一体に回転(ピッチング)させることができ、頷き動作等を実現できる。ロール軸323を回転させることにより、アクチュエータ325と頭部フレーム316とを一体に回転(ローリング)させることができ、首を傾げる動作を実現できる。クロスリンク機構329を伸縮させることにより、首の伸縮動作を実現できる。
胴部フレーム318は、ベースフレーム308および車輪駆動機構370を収容している。車輪駆動機構370は、前輪102を駆動する前輪駆動機構と、後輪103を駆動する後輪駆動機構と、これらの駆動機構を駆動するアクチュエータ379を含む。胴部フレーム318は、ボディ104のアウトラインに丸みをもたせるよう、上半部が滑らかな曲面形状とされている。胴部フレーム318の下半部は、ホイールカバー312との間に前輪102の収納スペースSを形成するために小幅とされ、前輪102の回動軸378を支持している。
一対のホイールカバー312は、胴部フレーム318の下半部を左右から覆うように設けられている。ホイールカバー312は、胴部フレーム318の上半部と連続した滑らかな外面(曲面)を形成する。ホイールカバー312の上端部が、上半部の下端部に沿って連結されている。それにより、下半部の側壁とホイールカバー312との間に、下方に向けて開放される収納スペースSが形成されている。
前輪駆動機構は、前輪102を回転させるための回転駆動機構と、前輪102を収納スペースSから進退させるための収納作動機構とを含む。前輪駆動機構の駆動により、前輪102を収納スペースSから外部へ向けて進退駆動できる。後輪駆動機構の駆動により、後輪103を収納スペースSから外部へ向けて進退駆動できる。
外皮314は、本体フレーム310を外側から覆う。外皮314は、人が弾力を感じる程度の厚みを有し、ウレタンスポンジなどの伸縮性を有する素材で形成される。これにより、ユーザがロボット100を抱きしめると、適度な柔らかさを感じ、人がペットにするように自然なスキンシップをとることができる。本体フレーム310と外皮314の間には、静電容量型のタッチセンサが設けられる。タッチセンサは、複数箇所に設けられ、ロボット100のほぼ全域におけるタッチを検出する。タッチセンサは外皮314の内側に設けられているので、外皮314が変形すると検出レベルが高くなる。つまり、人がロボット100を強く抱きしめているか、そっと抱きしめているか等の接触状態を判断できる。手106は、外皮314と一体に形成されている。外皮314の上端部には、開口部390が設けられる。ツノ112の下端部が、開口部390を介して頭部フレーム316に接続されている。
手106を駆動するための駆動機構は、外皮314に埋設されたワイヤ134と、その駆動回路340(通電回路)を含む。ワイヤ134は、本実施形態では形状記憶合金線からなり、加熱されると収縮硬化し、徐熱されると弛緩伸長する。ワイヤ134の両端から引き出されたリード線が、駆動回路340に接続されている。駆動回路340のスイッチがオンされるとワイヤ134(形状記憶合金線)に通電がなされる。
ワイヤ134は、外皮314から手106に延びるようにモールド又は編み込まれている。ワイヤ134の両端から胴部フレーム318の内方にリード線が引き出されている。ワイヤ134は外皮314の左右に1本ずつ設けてもよいし、複数本ずつ並列に設けてもよい。ワイヤ134に通電することで腕(手106)を上げることができ、通電遮断することで腕(手106)を下げることができる。また、別の形態では、手106の先端付近にワイヤを取り付け、胴部フレーム318にワイヤを巻き取る機構を設け、ワイヤの長さを巻き取り機構の出し入れで調整することにより手106を駆動してもよい。
本実施形態では、ロボット100が衣服を着用しておらず、外皮314のみ装着している状態(以下「基準状態」ともいう)での腕の可動範囲を75度とし、腕が下向きでボディ104に当接した状態から上方に75度としている(以下、可動範囲「0〜75°」のようにも表記する)。
頭部フレーム316は、ベースプレート328およびジョイント330等を介して胴部フレーム318と連結されている。図示のように、頭部フレーム316と胴部フレーム318との間には、上下方向に十分な間隔が確保されているため、ピッチ軸322を中心とする頭部フレーム316の可動範囲(回転範囲)を大きくとることができる。
本実施形態では、上記基準状態での頭部フレーム316の上下可動範囲を90度とし、視線が水平となる状態から上下に45度ずつとしている。すなわち、ロボット100が上向く角度(見上げ角)の限界値が45度とされ、下向く角度(見下ろし角)の限界値が−45度とされている(以下、可動範囲「−45〜45°」のようにも表記する)。
また、基準状態での頭部フレーム316の左右可動範囲を150度とし、視線が正面となる状態から左右に75度ずつとしている。すなわち、ロボット100が正面に対して右を向く角度の限界値が75度とされ、左を向く角度の限界値が−75度とされている(以下、可動範囲「−75〜75°」のようにも表記する)。
さらに、基準状態での頭部フレーム316の傾き可動範囲を60度とし、頭部を真っ直ぐに立てた状態から左右への傾きが30度ずつとしている。すなわち、ロボット100が右側に傾げる限界値が30度とされ、左側に傾げる限界値が−30度とされている(以下、可動範囲「−30〜30°」のようにも表記する)。ロボット100は、衣装を着用した場合に、その衣装に応じた各可動部の調整を行う。詳細については後述する。
図3は、衣装着用時におけるロボット100の正面外観図である。
ユーザは、ロボット100に様々な種類の衣装180を着せることができる。例えば、カジュアルなデザインのポロシャツ、フォーマルなデザインのスーツ、冬場に着せるコートやダウンの上着、漫画のキャラクタを模した衣装など様々な種類の衣装180が考えられる。ロボット100は、モータ等のアクチュエータにより可動部を動かす。各部の駆動力には設計上の上限があるため、軽く動きやすくデザインされたポロシャツを着せた場合には、可動部に加わる負荷が少なく、皮など重く硬い生地でできたコートを着せた場合には、可動部に加わる負荷は大きくなる。ロボット100にフィットするよう製作できたとしても、衣装180のデザイン形状や使われている生地によりロボット100がそれを着用することで適正な動作制御が阻害される可能性がある。場合によって、ロボット100に予め設定された駆動力では、関節部位を動かせなくなることも想定される。また、タッチセンサなどのセンサの検出感度が変わることで、ロボット100における外部環境の認識処理に問題が生じることも想定される。人間に衣装を着せる場合、体型に対して寸法が合っていなかったり、奇抜なデザインであったとしても、着にくい、動きにくいという感覚はあるものの、着て動けなくなるという状況にはならない。しかしながら、ロボット100の場合は、駆動力や可動範囲に明確な限界があり、その限界を超えると全く動かなくなったり、モータなどのアクチュエータが異常に発熱してしまう。人間にとっては、単なる衣装かもしれないが、ロボット100にとっては正常な動作を左右する重要な要素のひとつと言える。
そこで本実施形態の衣装製作支援装置は、ロボットの衣装製作を支援するとともに、ロボットがその衣装を着用した際に適正な動作制御ができるよう調整するための情報(以下「作動設定ファイル」という)を提供する。作動設定ファイルにより、ロボット100は、衣装に応じた各可動部の作動条件の調整を行う。作動条件には、可動部の駆動力、可動範囲、タッチセンサなどセンサの感度補正等の、衣装180を着用することでロボット100に生じる影響をキャンセルするために利用可能な情報が含まれる。言い換えれば、衣装180を着用することでロボット100に生じた特性の変化により、ロボット100に悪影響が生じないようにロボット100を制御するための情報が含まれる。ロボット100は、衣装180に取り付けられたICタグ182の「タグID」を読み込むことで、装着中の衣装に適した作動条件(補正情報)を取得できる。タグIDは、アクチュエータごとの作動条件を定義した作動設定ファイルを取得するための「識別情報」として機能する。
すなわち、衣装180の特定位置にはICタグ182が縫い付けられている。ICタグ182は、RFID(Radio Frequency Identifier)タグである。ICタグ182は、タグIDを至近距離に発信する。ロボット100は、ICタグ182からタグIDを読み込むことにより、衣装180に適合するアクチュエータごとの補正情報を取得できる。
図4は、ロボットシステム300の構成図である。
ロボットシステム300は、ロボット100、ロボット管理サーバ200および複数の外部センサ114を含む。家屋内にはあらかじめ複数の外部センサ114(外部センサ114a、114b、・・・、114n)が設置される。外部センサ114は、家屋の壁面に固定されてもよいし、床に載置されてもよい。ロボット管理サーバ200には、外部センサ114の位置座標が登録される。位置座標は、ロボット100の行動範囲として想定される家屋内においてx,y座標として定義される。
ロボット100の内蔵するセンサおよび複数の外部センサ114から得られる情報に基づいて、ロボット管理サーバ200がロボット100の基本行動を決定する。
外部センサ114は、定期的に外部センサ114のID(以下、「ビーコンID」とよぶ)を含む無線信号(以下、「ロボット探索信号」とよぶ)を送信する。ロボット100はロボット探索信号を受信するとビーコンIDを含む無線信号(以下、「ロボット返答信号」とよぶ)を返信する。ロボット管理サーバ200は、外部センサ114がロボット探索信号を送信してからロボット返答信号を受信するまでの時間を計測し、外部センサ114からロボット100までの距離を測定する。複数の外部センサ114とロボット100とのそれぞれの距離を計測することで、ロボット100の位置座標を特定する。
図5は、ロボット100のハードウェア構成図である。
ロボット100は、内部センサ128、通信機126、記憶装置124、プロセッサ122、駆動機構120およびバッテリー118を含む。駆動機構120は、上述した車輪駆動機構370を含む。プロセッサ122と記憶装置124は、制御回路342に含まれる。各ユニットは電源線130および信号線132により互いに接続される。バッテリー118は、電源線130を介して各ユニットに電力を供給する。各ユニットは信号線132により制御信号を送受する。バッテリー118は、リチウムイオン二次電池であり、ロボット100の動力源である。
内部センサ128は、ロボット100が内蔵する各種センサの集合体である。具体的には、カメラ(全天球カメラ)、マイクロフォンアレイ、測距センサ(赤外線センサ)、サーモセンサ、タッチセンサ、加速度センサ、ニオイセンサなどである。タッチセンサは、外皮314と本体フレーム310の間に設置され、静電容量の変化に基づいてユーザのタッチを検出する。ニオイセンサは、匂いの元となる分子の吸着によって電気抵抗が変化する原理を応用した既知のセンサである。
通信機126は、ロボット管理サーバ200や外部センサ114、ユーザの有する携帯機器など各種の外部機器を対象として無線通信を行う通信モジュールである。記憶装置124は、不揮発性メモリおよび揮発性メモリにより構成され、コンピュータプログラムや各種設定情報を記憶する。プロセッサ122は、コンピュータプログラムの実行手段である。駆動機構120は、内部機構を制御するアクチュエータである。このほかには、表示器やスピーカーなども搭載される。
プロセッサ122は、通信機126を介してロボット管理サーバ200や外部センサ114と通信しながら、ロボット100の行動選択を行う。内部センサ128により得られる様々な外部情報も行動選択に影響する。駆動機構120は、主として、車輪(前輪102)と頭部(頭部フレーム316)を制御する。駆動機構120は、2つの前輪102それぞれの回転速度や回転方向を変化させることにより、ロボット100の移動方向や移動速度を変化させる。また、駆動機構120は、車輪(前輪102および後輪103)を昇降させることもできる。車輪が上昇すると、車輪はボディ104に完全に収納され、ロボット100は着座面108にて床面Fに当接し、着座状態となる。また、駆動機構120は、ワイヤ134を介して、手106を制御する。
図6は、衣装製作支援システム500の構成を模式的に示す図である。
衣装製作支援システム500は、ユーザからの依頼に応じてロボット100のオリジナル衣装を製作するための支援サービスを行う。このサービスは、ユーザに対して衣装の生地や型紙を販売し、型紙にあわせた生地の裁断や生地の縫い付けなどの衣装製作についてはユーザに委ねるものである。衣装製作支援システム500においては、ロボット管理サーバ200およびユーザ端末250が、インターネット510を介して衣装管理サーバ400に接続される。
衣装管理サーバ400は、衣装サービス会社402に設置され、「衣装製作支援装置」として機能する。衣装管理サーバ400は、支援サービスを実行するための支援プログラムや、ロボットの種別ごとに様々な衣装を製作するための支援データを保有する。支援データには、衣装ごとのイメージデータ、型紙データ(デザイン情報)、生地データ、ロボット用の補正データ(作動条件)等が含まれる。
ユーザ端末250は、ラップトップPCなどの汎用コンピュータ、スマートフォンであってよい。ユーザ端末250とインターネット510は有線又は無線接続される。
支援サービスの概要は以下のとおりである。衣装管理サーバ400は、ユーザ端末250からの要求に基づき、ロボット100の衣装およびその生地を特定し、その衣装の型紙データをユーザに送信するとともに、生地の発送処理を実行する。また、それと並行してその衣装のタグIDを発行し、その発送処理を実行する。衣装管理サーバ400は、衣装を着用する際のロボット100の作動条件(可動部の駆動力や可動範囲等)を記録した作動設定ファイルをタグIDと対応づけて保持している。生地は、外部業者(生地業者)からユーザ宅252に郵送される。タグIDは、外部業者(ICタグ発行業者)によってICタグ182に書き込まれ、ユーザ宅252に郵送される。すなわち、タグIDは、ICタグ182に書き込まれることで、ユーザが直接参照できない状態で提供される。
ユーザ宅252に生地とICタグ182が届くと、ユーザは、型紙に基づいて生地を裁断し、衣装180を作製する。そして、衣装180における指定位置にICタグ182を縫い付け、その衣装180をロボット100に着せる。ロボット100は、衣装180の装着を検出すると、ICタグ182に記録されたタグIDをロボット管理サーバ200に送信する。ロボット管理サーバ200は、衣装管理サーバ400にアクセスし、タグIDに対応した作動設定ファイルを取得し、ロボット100へ送信する。ロボット100は、その作動設定ファイルに記録されている作動条件を制御指令値に反映させことで、衣装に合った無理のない動作を行えるようになる。つまり、衣装管理サーバ400を利用して製作された衣装180であれば、ロボット100は着用中の衣装180に応じて適切な調整をおこない適切な動作ができる。
図7は、衣装製作支援システム500の機能ブロック図である。
上述のように、衣装製作支援システム500は、ロボットシステム300および衣装管理サーバ400を含む。ロボットシステム300は、ロボット100、ロボット管理サーバ200および複数の外部センサ114を含む。ロボット100、ロボット管理サーバ200および衣装管理サーバ400の各構成要素は、CPU(Central Processing Unit)および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。ロボット100の機能の一部はロボット管理サーバ200により実現されてもよいし、ロボット管理サーバ200の機能の一部または全部はロボット100により実現されてもよい。
(ロボット管理サーバ200)
ロボット管理サーバ200は、通信部204、データ処理部202およびデータ格納部206を含む。通信部204は、外部センサ114およびロボット100との通信処理を担当する。データ格納部206は各種データを格納する。データ処理部202は、通信部204により取得されたデータおよびデータ格納部206に格納されるデータに基づいて各種処理を実行する。データ処理部202は、通信部204およびデータ格納部206のインタフェースとしても機能する。
データ格納部206は、モーション格納部232、マップ格納部216、個人データ格納部218および補正情報格納部219を含む。ロボット100は、複数の動作パターン(モーション)を有する。手106を震わせる、蛇行しながらユーザに近づく、首をかしげたままユーザを見つめる、など様々なモーションが定義される。
モーション格納部232は、モーションの制御内容を定義する「モーションファイル」を格納する。各モーションは、モーションIDにより識別される。モーションファイルは、ロボット100のモーション格納部160にもダウンロードされる。どのモーションを実行するかは、ロボット管理サーバ200で決定されることもあるし、ロボット100で決定されることもある。ロボット100のモーションの多くは、複数の単位モーションを含む複合モーションとして構成される。
マップ格納部216は、状況に応じたロボットの行動を定義した行動マップのほか、椅子やテーブルなどの障害物の配置状況を示すマップも格納する。個人データ格納部218は、ユーザの情報を格納する。具体的には、ユーザに対する親密度とユーザの身体的特徴・行動的特徴を示すマスタ情報を格納する。年齢や性別などの他の属性情報を格納してもよい。
ロボット100は、ユーザごとに親密度という内部パラメータを有する。ロボット100が、自分を抱き上げる、声をかけてくれるなど、自分に対して好意を示す行動を認識したとき、そのユーザに対する親密度が高くなる。ロボット100に関わらないユーザや、乱暴を働くユーザ、出会う頻度が低いユーザに対する親密度は低くなる。
補正情報格納部219は、衣装管理サーバ400から取得したロボット100の動作条件を、可動部(アクチュエータ)の補正情報として格納する。この補正情報には、ロボット100のアクチュエータごとの動作補正値(駆動力に関する補正値)および可動範囲(駆動量に関する設定値)が含まれる。
データ処理部202は、位置管理部208、認識部212、動作制御部222および親密度管理部220を含む。位置管理部208は、ロボット100の位置座標を、図4を用いて説明した方法にて特定する。位置管理部208はユーザの位置座標もリアルタイムで追跡してもよい。
認識部212は、外部環境を認識する。外部環境の認識には、温度や湿度に基づく天候や季節の認識、光量や温度に基づく物陰(安全地帯)の認識など多様な認識が含まれる。ロボット100の認識部150は、内部センサ128により各種の環境情報を取得し、これを一次処理した上でロボット管理サーバ200の認識部212に転送する。
認識部212は、更に、人物認識部214と応対認識部228を含む。人物認識部214は、ロボット100の内蔵カメラによる撮像画像から抽出された特徴ベクトルと、個人データ格納部218にあらかじめ登録されているユーザ(クラスタ)の特徴ベクトルと比較することにより、撮像されたユーザがどの人物に該当するかを判定する(ユーザ識別処理)。人物認識部214は、表情認識部230を含む。表情認識部230は、ユーザの表情を画像認識することにより、ユーザの感情を推定する。
応対認識部228は、ロボット100になされた様々な応対行為を認識し、快・不快行為に分類する。応対認識部228は、また、ロボット100の行動に対するユーザの応対行為を認識することにより、肯定・否定反応に分類する。快・不快行為は、ユーザの応対行為が、生物として心地よいものであるか不快なものであるかにより判別される。
動作制御部222は、ロボット100の動作制御部152と協働して、ロボット100のモーションを決定する。動作制御部222は、ロボット100の移動目標地点とそのための移動ルートを作成する。動作制御部222は、複数の移動ルートを作成し、その上で、いずれかの移動ルートを選択してもよい。動作制御部222は、モーション格納部232の複数のモーションからロボット100のモーションを選択する。
親密度管理部220は、ユーザごとの親密度を管理する。親密度は個人データ格納部218において個人データの一部として登録される。快行為を検出したとき、親密度管理部220はそのユーザに対する親密度をアップさせる。不快行為を検出したときには親密度はダウンする。また、長期間視認していないユーザの親密度は徐々に低下する。
(ロボット100)
ロボット100は、通信部142、データ処理部136、データ格納部148、内部センサ128、および駆動機構120を含む。通信部142は、通信機126(図5参照)に該当し、外部センサ114、ロボット管理サーバ200および他のロボット100との通信処理を担当する。データ格納部148は各種データを格納する。データ格納部148は、記憶装置124(図5参照)に該当する。データ処理部136は、通信部142により取得されたデータおよびデータ格納部148に格納されているデータに基づいて各種処理を実行する。データ処理部136は、プロセッサ122およびプロセッサ122により実行されるコンピュータプログラムに該当する。データ処理部136は、通信部142、内部センサ128、駆動機構120およびデータ格納部148のインタフェースとしても機能する。
データ格納部148は、モーション格納部160および補正情報格納部162を含む。モーション格納部160は、ロボット100の各種モーションを定義するモーションファイルを格納する。モーション格納部160には、ロボット管理サーバ200のモーション格納部232から各種モーションファイルがダウンロードされる。モーションは、モーションIDによって識別される。様々なモーションを表現するために、各種アクチュエータ(駆動機構120)の動作タイミング、動作時間、動作方向などがモーションファイルにおいて時系列定義される。
補正情報格納部162には、ロボット管理サーバ200を介して衣装管理サーバ400から取得したロボット100の動作条件を格納する。補正情報格納部162には、ロボット管理サーバ200の補正情報格納部219から補正値ファイルがダウンロードされる。
データ格納部148には、マップ格納部216および個人データ格納部218からも各種データがダウンロードされてもよい。
データ処理部136は、認識部150、動作制御部152、装備検出部154および補正処理部156を含む。認識部150は、内部センサ128から得られた外部情報を解釈する。認識部150は、視覚的な認識(視覚部)、匂いの認識(嗅覚部)、音の認識(聴覚部)、触覚的な認識(触覚部)が可能である。
認識部150は、内蔵の全天球カメラにより定期的に外界を撮像し、人やペットなどの移動物体を検出する。認識部150は、移動物体の撮像画像から特徴ベクトルを抽出する。上述したように、特徴ベクトルは、移動物体の身体的特徴と行動的特徴を示すパラメータ(特徴量)の集合である。移動物体を検出したときには、ニオイセンサや内蔵の集音マイク、温度センサ等からも身体的特徴や行動的特徴が抽出される。これらの特徴も定量化され、特徴ベクトル成分となる。
認識部150により認識された応対行為に応じて、ロボット管理サーバ200の親密度管理部220はユーザに対する親密度を変化させる。原則的には、快行為を行ったユーザに対する親密度は高まり、不快行為を行ったユーザに対する親密度は低下する。
動作制御部152は、ロボット管理サーバ200の動作制御部222とともにロボット100の移動方向を決める。行動マップに基づく移動をロボット管理サーバ200で決定し、障害物をよけるなどの即時的移動をロボット100で決定してもよい。駆動機構120は、動作制御部152の指示にしたがって前輪102を駆動することで、ロボット100を移動目標地点に向かわせる。
動作制御部152は、ロボット管理サーバ200の動作制御部222と協働してロボット100のモーションを決める。一部のモーションについてはロボット管理サーバ200で決定し、他のモーションについてはロボット100で決定してもよい。また、ロボット100がモーションを決定するが、ロボット100の処理負荷が高いときにはロボット管理サーバ200がモーションを決定するとしてもよい。ロボット管理サーバ200においてベースとなるモーションを決定し、ロボット100において追加のモーションを決定してもよい。モーションの決定処理をロボット管理サーバ200およびロボット100においてどのように分担するかはロボットシステム300の仕様に応じて設計すればよい。
動作制御部152は、選択したモーションを駆動機構120に実行指示する。駆動機構120は、モーションファイルにしたがって、各アクチュエータを制御する。
動作制御部152は、親密度の高いユーザが近くにいるときには「抱っこ」をせがむ仕草として両方の手106をもちあげるモーションを実行することもできるし、「抱っこ」に飽きたときには左右の前輪102を収容したまま逆回転と停止を交互に繰り返すことで抱っこをいやがるモーションを表現することもできる。駆動機構120は、動作制御部152の指示にしたがって前輪102や手106、首(頭部フレーム316)を駆動することで、ロボット100に様々なモーションを表現させる。
装備検出部154は、衣装180に縫い付けられたICタグ182からタグIDを読み取ったとき、衣装180が着用されたと判定する。タグIDは至近距離にあるとき読み取り可能である。複数のタグIDが読み取られたときには、重ね着をしている、と判断される。タグIDに対応する補正情報が既に補正情報格納部162に存在するときには、後述の方法により、動作制御部152はその補正情報に合わせて動作設定を変更する。
装備検出部154は、ICタグ182以外にも、さまざまな方法により衣装着用を検出してもよい。たとえば、ロボット100の内部温度が上昇したとき衣装が着用されたと判断してもよい。カメラにより着用する衣装を画像認識してもよい。外皮314の広範囲に静電容量センサを設置し、この静電容量センサが広範囲の接触を検出したときに、衣装が着用されたと判定してもよい。以下、ICタグ182以外に、画像情報や温度情報、接触情報等の物理的情報に基づいて衣装着用を検出することを「物理認識」とよぶ。
以下、ICタグ182によってタグIDを登録されている衣装を「公認衣装」、ICタグ182によってタグIDを登録されていない衣装を「非公認衣装」とよぶ。特に区別しないときには、単に、「衣装」とよぶ。
補正処理部156は、衣装180が検出されると、衣装180に適合するようロボット100の動作補正を行う。つまり、タグIDに対応する補正情報に基づき、各アクチュエータに対する制御指令値を補正する。タグIDに対応する補正情報が補正情報格納部162にないときには、補正処理部156は、ロボット管理サーバ200にタグIDを送信し、対応する補正情報(動作補正値と動作範囲)をダウンロードする。補正情報がロボット管理サーバ200にもないときには、ロボット管理サーバ200は、衣装管理サーバ400から補正情報をダウンロードする。
ロボット100に衣装が装着されたことが検出されるものの、タグIDが検出されないとき、その衣装は、公認衣装でありながらICタグ182の装着がなされていないか、又は非公認衣装ということになる。このため、動作制御部152は、形式的に衣装を着ていない状態をいやがるモーション(公認衣装着用要求モーション)を選択する。
公認衣装着用要求モーションは、例えばロボット100が体を激しく揺らす、全く動かなくなる等の拒絶動作であってもよい。ロボット100に特有の「何かを知らせるときの動作のうち、特に、何かをいやがっているときの典型的な動作(モーション)」としてあらかじめ初期設定されてもよい。それにより、ユーザがICタグ182の装着忘れに気づき、公認衣装への縫い付けを行えば、補正処理部156が上記補正処理を実行できる。
一方、非公認衣装であってICタグ182の装着ができない場合、補正情報の取得はできない。このため、公認衣装着用要求モーションの実行後に所定期間が経過してもタグIDが検出されないとき、補正処理部156は、補正情報に頼らない自律補正処理を実行する。すなわち、動作制御部152が、予め定める補正用モーションを選択し、その実行の際に各アクチュエータに与える出力とその動作量を計測して動作データとして記録する。補正処理部156は、その動作データに基づいて適正な補正値を算出し、各アクチュエータに対する制御指令値を補正する。
(衣装管理サーバ400)
衣装管理サーバ400は、通信部410、データ処理部412およびデータ格納部414を含む。通信部410は、ロボット管理サーバ200やユーザ端末250との通信処理を担当する。データ格納部414は、支援サービスとしてロボット100の衣装製作をガイドするための各種データを格納する。データ処理部412は、通信部410により取得されたデータおよびデータ格納部414に格納されているデータに基づいて各種処理を実行する。データ処理部412は、通信部410とデータ格納部414のインタフェースとしても機能する。
図8および図9は、衣装管理サーバ400がユーザに提供する衣装製作支援画面を表す図である。図8(a)〜(c)は、衣装を選択し、それぞれの部位毎に生地を選択するための画面遷移を示す図である。図9(a)および(b)は、衣装および生地を選択した後に表示される購入画面を示す。ユーザ端末250から衣装管理サーバ400へアクセスすると、図8(a)に示す衣装カテゴリ選択画面が表示される。この画面には、「スーツ/コート」「ジャケット/ジャージ」・・・のように衣装のカテゴリごとの選択ボタンが表示される。
ユーザが衣装のカテゴリを選択すると、図8(b)に示す衣装選択画面が表示される。図示の例では、ユーザが「ジャケット/ジャージ」を選択したため、画面左側にそのカテゴリに属するジャケット(衣装ID:J001)、ジャージ(衣装ID:J002)、ベスト(衣装ID:J003)・・・のように衣装ごとの選択ボタンが表示されている。画面右側には、衣装の装着対象となるロボット100の画像が表示されている。
ユーザが衣装を選択すると、図8(c)に示す生地選択画面が表示される。図示の例では、ユーザが「ジャケット(J001)」を選択したため、画面左側にそのジャケットの製作に選択可能な生地が表示されている。この生地の選択は、型紙に対応したパーツごとに段階的に行われる。図示の例では、「襟」部分について生地A(赤)(生地ID:A001)、生地A(青)(生地ID:A002)、・・・のように生地の種別ごとの選択ボタンが表示される。上述のように、同種の生地であっても模様や配色によって生地IDが異なる。ユーザは、衣装の部位ごとに(型紙ごとに)任意の生地を選択可能である。
画面右側には、衣装を装着したロボット100のイメージ画像が表示されている。このとき、生地A(赤)を選択すると、該当するイメージファイルが読み込まれ、赤色の襟を有するジャケットがプレビューされる。襟の選択が終了すると、袖、正面、背面等、各部について生地の選択画面が順次表示される。
このようにして生地の選択が完了すると、図9(a)に示すように、生地および型紙の購入画面が表示される。図示の例では、ジャケット(J001)の生地および型紙の料金として¥1,000が表示され、「購入」「キャンセル」「前画面に戻る」の各ボタンが表示されている。ユーザが購入ボタンを選択すると、課金処理が実行される。キャンセルボタンを選択すると、それまでの選択手続を含めてキャンセルされる。「前画面に戻る」を選択すると、生地の選択画面に戻る。ユーザは、生地を選択し直すことができる。
ユーザが購入ボタンを選択し、課金処理が完了すると、図9(b)に示すように、購入完了画面が表示される。画面右側には型紙がプレビューされ、画面左側にはその型紙をダウンロードするためのボタンが表示されている。ユーザは、このボタンを選択することで、型紙ファイルをダウンロードできる。また、この画面には、生地およびICタグが別途郵送(配送)される旨が表示される。
図10は、図7の衣装管理サーバ400の機能を詳細に表すブロック図である。データ処理部412は、選択部430、作動条件生成部432、ID生成部434、管理部436、作動条件提供部438、課金処理部440、ICタグ発送依頼部442、生地発送依頼部444およびデザイン情報提供部446を含む。データ格納部414は、デザイン情報格納部420、生地特性格納部422、作動条件格納部424および課金情報格納部426を含む。
選択部430は、ユーザ端末250からの要求に応じて、図8および図9を用いて説明した製作対象とする衣装の選択画面を提供する。デザイン情報格納部420は、衣装デザインに関する様々な情報を保持し、選択部430は、デザイン情報格納部420を参照して、選択画面を構成する。デザイン情報格納部420は、例えば、衣装の完成イメージ、製作に利用できる生地、生地のイメージなどの衣装の選択画面を形成するために必要な種々の情報と、衣装の型紙データ、製作手順を記したマニュアルなどの衣装を製作するために利用する情報を保持する。
図11(a)は、デザイン情報格納部420に格納されている衣装情報テーブルのデータ構造の一例を示す。衣装情報テーブルは、衣装毎に型紙の部位と利用できる生地の材質を指定するためのテーブルである。衣装は「衣装ID」により識別され、衣装IDごとに型紙データが割り当てられている。また、型紙の部位毎に、利用できる生地の材質が対応付けられている。例えば、衣装ID「C001」に対して型紙ファイル「C001.zip」が対応付けられており、型紙の襟の部位には、材質A(例えば、皮)が指定されている。また襟の部位は、他に材質B(例えば、布地)も指定されている。これは、襟には材質Aと材質Bの生地を選択できることを意味する。同様に、袖の部位には、材質Aと材質Bの生地を選択出来ることが指定されている。
図11(b)は、生地情報テーブルのデータ構造の一例を示す。生地情報テーブルは、生地毎に、材質の情報を対応付けて格納する。生地は「生地ID」によって識別される。生地IDは、生地の材質が同じであっても、その色や模様に応じて異なる。例えば、同種の材質Aであっても、赤色の生地であれば「A001」、水玉模様の生地であれば「A003」のように異なる生地IDが設定される。同じ赤色であっても、材質Aであれば「A001」、材質Bであれば「B001」のように異なる生地IDが設定される。デザイン情報格納部420が、衣装の製作をガイドする情報を保持する「格納部」として機能する。図10の選択部430は、衣装情報テーブルおよび生地情報テーブルを参照して、ユーザに選択された衣装と、その衣装の製作に用いることができる生地の選択肢を提示しながら、ユーザが所望する衣装を製作するための生地の組み合わせを確定する。
課金処理部440は、ユーザによる選択が終了したときに課金処理画面を送信し、ユーザの購入要求に応じて課金処理を実行する。デザイン情報提供部446は、課金処理の完了を条件としてデザイン情報格納部420から型紙ファイルを取得し、ユーザ端末250へ送信する。デザイン情報提供部446は、「デザイン情報」として型紙ファイルを出力する「提供部」として機能する。
課金情報格納部426は、衣装の生地および型紙ファイルの提供に際して実行される課金処理のための情報を格納する。この情報には、衣装IDごとに請求すべき金額情報や、各ユーザの購入履歴情報などが含まれる。
作動条件生成部432は、課金処理部440において課金処理が完了したことを契機に、選択部430からユーザに選択された衣装および型紙部位ごとの生地の情報を受け取り、その衣装を着用したときのロボット100の作動条件を決定する。そして、作動条件生成部432は、決定した作動条件に基づいて作動設定ファイルを作成する。作動条件生成部432は、ロボットの作動条件を決定して出力する「決定部」として機能し、また、作動条件に基づいて作動設定ファイルを作成する「生成部」として機能する。
生地特性格納部422は、生地毎の補正情報を衣装と使用される部位毎に格納する。この補正情報は、ロボット100が衣装180を着用した際に適正な動作制御ができるよう、各アクチュエータの制御量(制御指令値)を補正するための補正値として提供される。この補正値は、ロボット100が外皮314のみ装着している基準状態の制御量を基準として設定され、アクチュエータの駆動力に対する補正係数と、アクチュエータによる駆動対象の可動範囲が含まれる。
図12は、生地特性格納部422のデータ構造の一例を示す。生地特性格納部422は、衣装の種別ごとに衣装の部位(型紙の部位)、その部位に採用される生地の材質、その部位が作動に影響を与えるアクチュエータ(可動部)、そのアクチュエータの駆動力に設定すべき補正係数、そのアクチュエータの可動範囲が対応づけられて格納される。
例えば、衣装ID「C001」のコートは、襟の部位に材質A(例えば皮)を用いた場合、頭部の作動抵抗が比較的大きくなる。このため、頭部を左右に駆動するアクチュエータの補正係数として1.5が設定され、頭部の左右可動範囲が−30〜30°とされる。上述のように、基準状態での可動範囲が−75〜75°であることから、制御量に大きな制約をかけることとなる。一方、襟に材質B(例えば布地)を用いた場合、頭部の作動抵抗は比較的小さい。このため、頭部を左右に駆動するアクチュエータの補正係数として1.2が設定され、頭部の左右可動範囲が−50〜50°とされる。
衣装がジャケット(J001)である場合、構造上、コート(C001)よりも自由度が高い。このため、頭部を駆動するアクチュエータの補正値は緩和される傾向にある。腕部を駆動するアクチュエータについても同様である。衣装がタンクトップ(T001)である場合、頭部や腕部の作動には影響しないため、それらを駆動するアクチュエータについて補正は行わない。あるいは、補正係数1.0とし、可動範囲を基準状態と一致させる。タンクトップであっても、正面の生地に材質Cを選択した場合、その重量が車輪の進退制御にやや影響を与える。このため、補正係数を1.1としている。
図10の作動条件生成部432は、生地特性格納部422を参照して、衣装と生地の組み合わせに応じた作動条件を決定する。一般に、衣装は生地を型紙に合わせて裁断し、裁断した生地を縫い合わせることで製作される。型紙の部位毎に、その部位がロボット100のアクチュエータに及ぼす影響を鑑みて得られた補正情報を予め用意することで、作動条件生成部432は、ユーザが任意に選んだ組み合わせの生地で製作された衣装を着用した際に必要となる適切な作動条件を決定できる。
管理部436は、作動設定ファイルを作動条件生成部432から受け取る。その後、管理部436は、ID生成部434にタグIDの生成を指示する。ID生成部434は、管理部436の指示を受け、タグIDを生成する。タグIDは、衣装毎に生成される識別情報であり、同一の衣装、同一の生地の組み合わせであっても重複しない。つまり、衣装管理サーバ400を利用して製作された衣装毎に生成され、衣装を一意に特定できる情報である。管理部436は、ID生成部434が生成したタグIDと、作動条件生成部432が生成した作動設定ファイルとを対応づけて作動条件格納部424に格納する。
図13は、作動条件格納部424のデータ構造の一例を示す図である。作動条件格納部424は、タグIDと、作動設定ファイルとしてアクチュエータごとの補正係数と可動範囲と対応づけたテーブルを保持する。この図では、説明のため、作動設定ファイルに保持される情報がテーブルとして表記されているが、作動条件格納部424は、タグIDをキーとして、対応する作動設定ファイルを抽出できるようデータを格納すればよい。
図10の作動条件提供部438は、ロボット管理サーバ200からタグIDを受信し、受信したタグIDと関連付けられた作動設定ファイルを作動条件格納部424から読み出す。そして、作動条件提供部438は作動設定ファイルをロボット管理サーバ200へ送信する。作動条件提供部438は、タグIDをキーに用いて作動条件格納部424を参照することにより、ロボットの各アクチュエータについて補正係数と可動範囲を取得できる。
ICタグ発送依頼部442は、管理部436にて処理されたタグIDをICタグ182に記録してユーザに郵送するよう、ICタグ発行業者に依頼する。生地発送依頼部444は、選択部430にて選択された生地をユーザに郵送するよう、生地業者に依頼する。これらの依頼情報は、各業者の端末へ自動送信されてもよい。
図14は、支援サービス利用開始時における衣装管理サーバとユーザ端末との通信の概要を表すシーケンス図である。
ユーザ端末250からアクセス要求があると(S10)、衣装管理サーバ400は、上述した選択画面を順次送信する(S12)。ユーザ端末250は、ユーザの入力にしたがって衣装や生地等の情報(衣装情報)を選択し(S14)、その選択情報を衣装管理サーバ400へ送信する(S16)。衣装管理サーバ400は、ユーザによる選択が完了すると、その選択情報を登録し(S18)、購入画面を送信する(S20)。
ユーザ端末250は、ユーザにより購入ボタンが選択されると(S22)、購入要求を送信する(S24)。衣装管理サーバ400は、この購入要求に応じて課金処理を実行し(S26)、それが完了すると、ユーザ端末250に課金完了通知を送信するとともに(S28)、衣装情報に対応する型紙ファイルを読み込む(S30)。
ユーザ端末250から型紙要求があると(S32)、その型紙ファイルを送信する(S34)。ユーザ端末250は、ユーザの操作に応じてその型紙ファイルをダウンロードし(S40)、型紙を印刷する(S42)。
一方、衣装管理サーバ400は、その衣装情報に対応するタグIDを発行し(S44)、作動条件(作動設定ファイル)を作成する(S46)。そして、作成した作動条件をタグIDに対応づけて登録する(S48)。その後、上述したタグID発送処理を実行し(S50)、生地発送処理を実行する(S52)。
図15は、ICタグ発行業者および生地業者とユーザとの手続の概要を表すシーケンス図である。
ICタグ発行業者は、図14のS50の発送指示およびタグIDを受け取った後、そのタグIDをICタグ182に書き込み(S60)、ユーザ宅252へ配送する(S62)。一方、生地業者は、図14のS52の発送指示を受け取った後、該当する生地を準備し(S64)、ユーザ宅252へ発送する。ユーザは、これらを受け取ると、既にダウンロードした型紙にしたがってその生地を裁断し(S68)、衣装180を縫製し(S70)、その衣装180にICタグ182を縫い付ける(S72)。
図16は、ロボット100の衣装着用時の動作補正過程を示すフローチャートである。
まず、装備検出部154は、画像情報や温度情報、接触情報等の物理的情報に基づいて衣装着用を物理認識する(S100)。衣装着用を物理認識できないときには(S100のN)、以降の処理は実行されない。衣装着用を物理認識できたときであって(S100のY)、装備検出部154がタグIDも検出できたとき(S102のY)、つまり公認衣装の着用時には、補正処理部156が各アクチュエータの制御量に関して以下の補正処理を実行する。
補正処理部156は、まず、既に補正がなされたことを示す補正済フラグがオフであれば(S104のN)、ロボット管理サーバ200を介して作動条件を取得する作動条件取得処理を実行する(S106)。それにより作動条件が取得されると(S108のY)、その作動条件に含まれる補正係数および作動範囲を制御量に反映させる補正処理を実行する(S110)。動作補正後、動作制御部152は各アクチュエータを実際に動かし、出力値と動作量を計測する。出力値と動作量の関係を示す動作データを参照し、動作補正後に所望の動作量が実現されているか否かを判定する(S116)。
一方、装備検出部154がタグIDを検出できないとき(S102のN)、つまり非公認衣装の着用時には、動作制御部152は、上述した公認衣装着用要求モーションを実行する(S112)。このとき、所定時間経過してもタグIDが検出されないとき(S114のY)、つまりロボット100に公認衣装を着せる意思がユーザにないと判断されるときには、S116へ移行し、動作確認を実行する。
S116の動作確認により、動作量が適正であれば(S118のY)、動作制御部152は、補正済フラグをオンにし(S120)、補正情報を更新する(S124)。動作量が適正でなければ(S118のN)、動作制御部152は、自律的に補正処理を実行する(S122)。すなわち、動作制御部152は、アクチュエータの出力値と動作量を動作データとして記録し、各アクチュエータの出力値として支障のない動作補正(駆動力の補正、可動範囲の補正)を実行する。そして、その補正情報を更新する(S124)。
図17は、図16におけるS106の作動条件取得処理に関連して、ロボット、ロボット管理サーバおよび衣装管理サーバの通信の概要を表すシーケンス図である。
ロボット100からタグIDが送信されるとともに作動条件の送信要求があると(S80)、ロボット管理サーバ200は、衣装管理サーバ400にアクセスし、そのタグIDを送信するとともに作動条件の送信を要求する。
衣装管理サーバ400は、受信したタグIDに基づいてデータテーブルを参照し、対応する作動設定ファイルを読み出し(S84)、ロボット管理サーバ200へ送信する。ロボット管理サーバ200は、その作動設定ファイルに定義された作動条件を補正情報格納部219に格納するとともに(S88)、ロボット100へ送信する(S90)。ロボット100は、その作動条件を作動条件格納部424に格納する(S92)。
以上、実施形態に基づき、衣装製作支援システム500について説明した。本実施形態によれば、衣装180の製作をガイドする画面が順次提供されることで、ユーザによるロボット100の衣装製作を支援できる。そして特に、その支援に基づいて製作された衣装180に関し、ロボット100がこれを着用した際の作動条件(補正情報)が出力される。ロボット100が、その作動条件を制御に反映させることで、衣装180に合わせた無理のない動作を行うことができ、その性能を適正に発揮できる。衣装の種別やその生地に基づいて適正な作動条件が設定されるため、ロボット100のアクチュエータに支障が生じることを防止又は抑制できる。これにより、ユーザが安心して、ロボット100に様々な衣装180を着せることができ、ロボット100との暮らしを楽しむことができる。
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
上記実施形態では、衣装の製作方法を指定する「デザイン情報」として型紙データをネットワークを介して提供する例を示した。変形例においては、製作手順を示すマニュアルその他のデザイン情報を提供してもよい。衣装が3Dプリンターで作製される場合には、その3Dプリンターの制御情報をデザイン情報として提供してもよい。また、デザイン情報(型紙など)を配送してもよい。
上記実施形態では、衣装管理サーバ400が、選択された衣装の生地と型紙をユーザに提供する例を示した。変形例においては、生地については提供しないか、提供有無をユーザ側で選択できるようにしてもよい。それにより、ユーザは同じ材質の生地を別ルートで購入でき、より自分の好みに合う色や模様を有する生地にて衣装製作を行えるようになる。それにより、ユーザは、よりオリジナル性の高い衣装を作製できる。衣装サービス会社402は、型紙および作動条件を提供することの対価としてユーザに課金することができる。その結果、支援サービスの自由度も高められる。
あるいは、衣装サービス会社が衣装製作に必要な材料(生地や型紙)を別ルートで販売し、衣装管理サーバは、ロボットの作動条件のみを提供してもよい。例えば、ユーザがロボットの衣装をインターネット上(オンライン)又は店舗(オフライン)にて購入し、その購入に際して補正IDを入手できるようにしてもよい。「補正ID」は、その衣装を着用するロボットの作動条件(補正情報)を取得するための識別情報である。その補正IDを用いて衣装管理サーバに作動条件の提供を要求してもよい。その場合、ユーザ側でICタグとそのICタグに補正IDを書き込むライタを保有してもよい。補正IDが書き込まれたICタグをロボットに装着することにより、上記実施形態と同様、ロボットの作動条件を取得することができる。
補正IDは、例えば文字列で提供されるなど、ユーザが直接認識可能な状態で提供されてもよい。その場合、ユーザ端末から衣装管理サーバにアクセスして作動条件を要求する。ユーザ端末で取得した情報をロボット又はロボット管理サーバに転送できる。あるいは、上記実施形態と同様にタグIDとして提供されるなど、ユーザが直接認識できない状態で提供されてもよい。その場合、ロボット又はロボット管理サーバが衣装管理サーバにアクセスして作動条件を要求する。
上記実施形態では述べなかったが、衣装におけるICタグの取り付け位置を指定する情報をデザイン情報(型紙データ等)に含めてもよい。ICタグがその指定位置に装着されなかった場合、ロボットがタグ情報を読み取れない構成としてもよい。
上記実施形態では、ユーザ端末250とロボット管理サーバ200とを別構成とする例を示した。変形例においては、ユーザ端末250とロボット管理サーバ200とが一体に構成されてもよい。例えば、ユーザ端末250をラップトップPCなどの汎用コンピュータとし、その一部の機能によりロボット管理サーバ200を実現してもよい。
上記実施形態では、ユーザ端末250がインターネット510を介して衣装管理サーバ400に接続することで、支援サービスを受ける構成を示した。変形例においては、ユーザが衣装サービス会社402に設置された端末を用いて、衣装管理サーバ400に直接アクセスできるようにしてもよい。
上記実施形態では、ロボットが特定形状の柔らかい外皮を有し、その外皮の上から衣装を着せる構成を示した。変形例においては、上記と異なる形状や材質の外皮を有するロボット、あるいは外皮を有しないロボットの衣装製作に上記支援装置を利用してもよい。
上記実施形態および変形例では、衣装の装着対象としてロボットの一態様を示したが、上記支援装置は、他のヒューマノイドロボットやペットロボット等にも適用可能である。
上記実施形態では、アクチュエータの補正を主に説明したが、図10の作動条件生成部432は、タッチセンサの感度補正など、衣装を着用することで特性が変化するセンサ等の補正するための値も作動設定ファイルに含めてもよい。
上記実施形態の変形例として、図10のICタグ発送依頼部442は、暗号化したタグIDを業者に送信し、ICタグへの書き込みを依頼してもよい。ロボット100だけが暗号化されたタグIDを復号できるように構成することで、タグIDが不正に利用され複数の衣装に共通のタグIDが使われることを防止できる。
上記実施形態では述べなかったが、製作対象となる衣装ごとに固有のモーション(「衣装固有モーション」ともいう)を設定してもよい。「衣装固有モーション」は、衣装に対応づけられる衣装特有の特定動作である。さらに、衣装固有のモーションごとにその発動条件を設定してもよい。例えば、タグIDに対応する衣装がダンス衣装である場合、衣装固有のモーションとしてロボットにダンスを踊らせるモーションを設定し、その発動条件としてダンスミュージックが検知されることを設定してもよい。あるいは、タグIDに対応する衣装が特定のアイドルや俳優の衣装を模したものである場合、衣装固有のモーションとしてロボットにそのアイドル等のものまねをさせるモーションを設定し、その発動条件として、ユーザによるそのアイドル等の呼びかけが検知されることを設定してもよい。そして、タグIDに上述した作動条件(補正情報)に加え、衣装固有モーションおよびその発動条件を対応づけて作動設定ファイルを生成してもよい。作動設定ファイルには、衣装固有モーションの制御内容が定義された衣装固有モーションファイルが含まれる。
ロボットは、タグIDをロボット管理サーバ又は衣装管理サーバに送信することで、着用した衣装に対応する作動設定ファイルをダウンロードできる。衣装管理サーバは、衣装固有モーションファイルを提供する。ロボットは、タグIDに対応した作動条件が成立すると、そのタグIDに対応する衣装固有モーションを実行する。このように、作動設定ファイルに衣装固有モーションを対応づけることで、ロボットの衣装製作に関するサービスをより充実させることができる。
なお、衣装固有モーションとその発動条件については、上記のほか様々な態様を設定できる。例えば、厚手の衣装のタグIDに対し、衣装固有モーションとして暑がる仕草を表現するモーションを設定し、気温が20度以上であることをその発動条件としてもよい。
上記実施形態では述べなかったが、ロボットを機能面から保護する衣装を製作対象としてもよい。図18は、機能的衣装として帽子を例示する図である。
ロボット100における頭部フレーム316の頭頂部には、外皮314の開口部390と同軸状に孔が設けられ、ツノ112が挿通される(図2参照)。この孔とツノ112との隙間が通気通路となっており、頭部フレーム316内に外気を導入できる。外気は、頭部フレーム316内の機能部品(回路基板等の発熱部品)を冷却する。このため、衣装として帽子を製作する場合、この冷却機能を損なわないようにするのが好ましい。
図18(a)に示す帽子520は、頂部にロボット100のツノ112を挿通させる挿通孔522を有する。帽子520における挿通孔522の周囲にはメッシュ524が設けられ、部分的に通気性が高められている。図18(b)に示す帽子530は、頂部のメッシュ524に加え、後部にもメッシュ526を有する。例えば、頭部フレーム316の後頭部に排気口を設けるような場合、その排気口の位置に合わせてメッシュ526を設けることで、通気性をさらに向上させることができる。なお、各帽子の生地の材質として布地、皮、合成樹脂(プラスチック)が選択可能とされている。
なお、本変形例ではロボット100の構造に合わせて、帽子に通気構造を設ける例を示したが、帽子以外の衣装に同様の通気構造を採用してもよい。例えば、ペット型ロボットにおいて尻尾の接続部に通気通路が形成される場合、衣装に尻尾を挿通させる孔を設け、その孔の周囲や近傍をメッシュ構造にするなどして通気性を高めてもよい。
すなわち、ロボットに着用させる衣装について、そのロボットにおける通気通路を覆う部分、又はその通気通路の近傍に通気向上領域を設けてもよい。「通気向上領域」は、メッシュなどの多孔構造により実現してもよいし、さらに相対的に生地が薄い領域とすることで実現してもよい。「通気向上領域」は、ロボットにおいて外気を導入する給気口に対応する位置、および内気を排出する排気口に対応する位置にそれぞれ設けられることが好ましい。