(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。
【0011】
図1は、一実施形態よるロボット及び搭載されたセンサーの一例を示す図である。
【0012】
図1を参照すると、ロボット1には、多数の種類のセンサーが搭載され、各センサーはそれぞれ一つ以上のセンサーを備える。例えば、頭部や手部にタッチセンサー、音声・音響入力用のマイク、RGBカラーの静止画/動画撮影・認識用のカメラ、人や物体の接近を検知するレーザーセンサー、赤外線センサー、ソナーセンサー、人や物体との接触や衝突を検知するバンパーセンサー、ロボットの傾き、移動、位置を検知する多軸加速度センサー等の3次元センサー、ジャイロセンサー等が搭載され、センサー入力やタイマー設定等に応じてロボットの各可動部位の駆動、各可動部位の連携による各種動作、各種動作を組み合わせたアプリケーションの起動などが行われる。
【0013】
ロボットは、この他にも、センサー入力等に応じてロボットの頭部、手部、胴部の各可動部位の駆動、各可動部位の連携による各種動作、各種動作を組み合わせたアプリケーションの実行等のために、多数のアクチュエータ、スピーカ、タッチパネル、インジケータ用LED、外部装置と情報を授受するための有線・無線通信部、これらを自律的に制御するための制御部、制御プログラムが保存される記憶部、バッテリー等を搭載する
【0014】
図2は、
図1に示すロボットの機能の一例を示す図である。
【0015】
図2は、ロボットの駆動、各種動作、アプリケーションの起動の一例として、予め設定されたロボットの自律的動作プログラムによる動作の一覧を示す。
【0016】
時間区分として、「日時」、「毎時」、「一定間隔」、「ランダム」が設定され、「日時」は、日付、時刻を設定して動作を開始する。例えば、設定された日時になると、搭載されたタッチパネルのディスプレイに開催イベントの内容を画面表示し、予め設定された動作を伴いスピーカから音声を発して開催イベントを告知する。「毎時」は、毎時指定した間隔で動作を開始する。例えば、16時にタイムセールを告知する。「一定間隔」は、一定間隔動作を開始する。例えば、5分間隔で呼び込みを行う。「ランダム」は、ランダムに動作を開始する。例えば、商品紹介等、様々なトークを複数回行う。
【0017】
センサー区分として、「センサー」、「人検知」、「画面タッチ」が設定され、「センサー」は、頭、右手甲、左手甲にタッチ入力を感知すると動作を開始する。例えば、頭部に触れられたことを検知すると、頭を傾けて手を動かす等の予め設定された動作を伴いスピーカから音声を発して挨拶する。また右手に触れられたことを検知すると日本語で挨拶し、左手に触れられたことを検知すると英語で挨拶する。「人検知」は、人の接近を検知して動作を開始する。例えば、人が近づくと呼込みや挨拶をする。「画面タッチ」は、搭載されたタッチパネルのタッチパッドにタッチを検知すると動作を開始する。例えば、タッチパネルのディスプレイ画面に「Welcomメッセージ」を表示し、予め設定された動作を伴いスピーカから音声を発する。
【0018】
択一区分として、「商品説明」が設定され、「商品説明」は、2択、3択、4択、6択、9択等の選択画面をタッチパネルのディスプレイに表示し、ユーザの選択操作に応じて動作を開始する。例えば、FAQによる質問に対する回答、商品紹介等を音声合成によるスピーカ出力を伴いタッチパネルのディスプレイ上に表示する。
【0019】
会話入力区分として、「話しかけ」が設定され。「話しかけ」は、1/2/3や「こんにちは」等の単語を認識すると動作を開始する。例えば、マイクからの入力を音声認識し、記憶部に予め登録された文章と音声認識した内容とを照合し、これに対応する予め登録されたテキストや画像をタッチパネルのディスプレイに表示すると共に、対応する予め登録された文章を音声合成によりスピーカを介して発声して簡単な会話等を行う。
【0020】
ロボットアプリケーション呼出し区分として、「アプリケーション起動」が設定され、「アプリケーション起動」は、アプリケーションストアから取得したアプリケーションや個別に開発したアプリケーションをパス指定することで、アプリケーションを起動する。例えば、クイズアプリケーション等のストアアプリケーションを実行する。呼出されるアプリケーションは予めロボット内にインストールしておく。
【0021】
ログ区分として、「データ取得」が設定され、「データ取得」は、ロボットで取得されたログを、有線・無線通信部を介してクラウド上の特定装置に保存する。例えば、センサー入力や人の感知、それに伴う属性情報、アンケート結果等をクラウド上の特定サーバ等に保存し、特定サーバのアプリケーションにより一覧表示やグラフ表示等を行う。
【0022】
図3は、一実施形態よるロボット制御プログラム生成システムを示す概略構成図である。
【0023】
図3を参照すると、ロボット制御プログラム生成システムは、ロボット1、Webサーバ2、クライアント端末3、通信ネットワーク4で構成される。
【0024】
ロボット1は、制御部11、記憶部12、入力部13、出力部14、センサー15、駆動部16、通信部17、及び電源部18を含む。ロボット1は、コンピュータシステムを内蔵し、センサー15、駆動部16等を含むハードウエア及びロボット1の各部位を制御するためのドライバを含むソフトウエアを実装して各種動作を具現する。
【0025】
制御部11は、CPU(中央処理装置)によりロボット1の動作に必要な各種処理を司り、可動部を動かすためのアクチュエータを含む駆動部16の制御、センサー15からの入力に伴う各種処理、アプリケーションの実行によるプログラム動作等を行う。CPUは、ロボット1の各機能に応じて複数に分散することもできる。
【0026】
記憶部12は、フラッシュROM、RAM、SSD(ソリッドステートディスク)等の記憶装置からなり、本実施形態で機能する各部(12〜18)は、記憶部12に保存されたドライバやアプリケーションプログラムを実行することで、関連するハードウエアを利用して具現される。
【0027】
入力部13は、音声入力のためのマイク、画像入力のためのカメラ、タッチやテキスト入力のためのタッチパネルのタッチパッド等の入力装置を含み、ユーザインターフェースやオペレータ用途として利用される。
【0028】
出力部14は、静止画/動画像やテキストを表示するディスプレイとしてタッチパネル、音声出力部としてスピーカ、各種インジケータ等の出力装置(図示せず)を含み、ユーザインターフェースやオペレータ用途として利用される。
【0029】
センサー15は、頭部や手部にタッチセンサー、音量等を検出する音響入力用のマイク、画像認識のためのカメラ、人や物体の接近を検知する近接センサーとしてレーザーセンサー、赤外線センサー、ソナーセンサー、人や物体との接触や衝突を検知するバンパーセンサー、ロボットの傾き、移動、位置等を検知する多軸加速度センサー、ジャイロセンサー等をそれぞれ複数含み、センサー15からの入力に応じて、制御部11の制御により、ロボット1の駆動部16、出力部14等の各部の連携による各種動作、各種動作を組み合わせたアプリケーションの起動などが行われる。
【0030】
駆動部16は、複数の可動部を動かすそれぞれのアクチュエータを含み、制御部11の制御により、ロボット1の頭部、首部、手部、腕部、胴部、本体等の可動部を動かす。駆動部16のドライバは、ロボット1の頭部、首部、手部、腕部等の動きが滑らかな自然な動きになるように制御する機能を有する。
【0031】
通信部17は、ロボット1をクラウド上のWebサーバ2やクライアント端末3に通信ネットワーク4を介して接続し、クラウド上で生成されたロボットの制御プログラムをロボット1に組み込むために用いられる。通信ネットワーク4は、光ファイバーやメタル配線等の有線接続に限定されず、携帯電話通信網、LTE通信網、無線LAN、近接無線通信等が含まれ、通信部17にはこれらに対応して機能する通信手段が搭載される。
【0032】
電源部18は、ロボット1の頭部、首部、手部、腕部、胴部、本体等を動かし、各可動部位の連携による各種動作、各種動作を組み合わせたアプリケーションの実行等のために必要なバッテリーを備える。
【0033】
Webサーバ2は、クラウド上でロボット制御プログラムを生成するために用いられ、Webサーバ2に接続されたクライアント端末3で生成されたロボット制御コンテンツをロボット1に組み込むために使用される。
【0034】
クライアント端末3は、クラウド上のWebサーバ2に接続してロボット制御コンテンツを作成する。クライアント端末3は、ブラウザ機能を有するPC(パーソナルコンピュータ)、タブレット端末、スマートフォン等を含む。
【0035】
図4は、ロボット制御プログラム生成システムを説明するための概念図である。
【0036】
図4を参照すると、ロボット制御プログラム生成システムは、ロボットOS41、ロボットミドルウエア42、クラウドシステム43、クラウドシステム43上のロボット制御コンテンツ45、及びロボットアプリケーション44を含む。
【0037】
ロボットOS41は、ロボット用の基本OS部分であり、センサー、アクチュエータ、音声、画像等に関する各種IC(集積回路)チップやハードウエア構成要素を制御するためのSDK(ソフトウエア開発キット)を含む。
【0038】
ロボットミドルウエア42は、ミドルウエアとしての開発ツールであり、ロボット1のアプリケーション開発用のSDKを含む。
【0039】
ロボット1に電源が投入されると、ロボットOS41が起動する。続いて、ロボットミドルウエア42を起動して、ロボット1は、この状態で、予め組み込まれたロボットの自律的制御プログラムが作動し、センサーやタイマー等による動作イベント(トリガー)が発生することで、所定の動作を開始する。この動作の中で、ロボットミドルウエア42から、予めインストールされたロボットアプリケーション44を起動することもできる。
【0040】
クラウドシステム43は、ロボット1に通信ネットワーク4を介して接続されたクラウド上のWebサーバ2、認証サーバ(図示せず)、クライアント端末3等で構成され、ロボット制御コンテンツ45は、クライアント端末3で作成されてWebサーバ2に保存され、Webサーバ2を介してロボット1にロボット制御プログラムとして組み込まれる。
【0041】
図5は、ロボット制御プログラム生成システムのミドルウエアSDKの一例を示す図である。
【0042】
図5(a)を参照すると、ロボットミドルウエア42のプログラム開発は、ロボット1が所定の動作を行うように、ミドルウエアSDKの個々のパーツの入出力部を繋いでいくことで行われる。
【0043】
図6は、
図5に示すミドルウエアSDKの個々のパーツの一例を示す図である。
【0044】
図6を参照すると、ミドルウエアSDKの個々のパーツとして、「話す」パーツ61、「聞く」パーツ62、「センサー」パーツ63、「画像/動画再生」パーツ64、「歩く」パーツ65、「音声」パーツ66、「顔認識」パーツ67、「動作」パーツ68等が含まれる。
【0045】
「話す」パーツ61は、言語を選択し、音声合成によりスピーカから出力される文章をテキストボックスに入力することで会話等に利用される。
【0046】
「聞く」パーツ62は、予め用意された文章から所望のテキストを選択し、マイクから入力された音声が音声認識により対応する文章に相当すると判断されると、その内容を取り込む。
【0047】
「センサー」パーツ63は、頭部のタッチ、左手部のタッチ、右手部のタッチ等を選択することで、対応する動作イベントの入力として用いられる。
【0048】
「画像/動画再生」パーツ64は、記憶部12に予め保存された静止画像、動画像データの中から所望の画像データを選択することで、選択された画像をタッチパネルのディスプレイに表示する。
【0049】
「歩く」パーツ65は、ロボット1自身を所定の位置に移動するために使用される。
【0050】
「音声」パーツ66は、「話す」パーツ61以外に、記憶部12に予め保存された音声データや音楽データを再生するために使用され、開催イベントの告知、呼び込み、クイズに対する回答、早口言葉等のアプリケーションに利用される。
【0051】
「顔認識」パーツ67は、カメラで撮影された画像を、記憶部12に予め保存された画像と特徴点抽出等により照合して一致するか否かを判断する。また撮影された画像を新たな顔画像として認識情報等の属性を付して記憶部12に保存する。
【0052】
「動作」パーツ68は、「Hello」等のインデックスを付して区別され、頭部、手部、腕部等を組み合わせて表現される各種動作に対応する所望の「動作」パーツ68を選択する際に用いられる。
【0053】
クラウドシステム43とのインターフェースには、
図5(a)に示したロボット1のミドルウエアSDKに組み込まれ、クラウドに接続してデータを入出力するための
図5(b)に示す専用インターフェースパーツを用意する。
【0054】
図7は、ミドルウエアSDKとクラウドとのインターフェースを説明するための概略構成図である。
【0055】
図7は、
図5(b)に示したクラウドとの専用インターフェースパーツを用いることで具現される
図4に示したロボットミドルウエア42とクラウドシステム43との間の処理の流れを示す。
【0056】
先ず、
図7(a)を参照し、ロボット1の電源がONにされると、ロボットミドルウエア42は、駆動部16の各種パラメータや一時記憶領域を初期化(ステップ801)してロボット1を初期状態に設定する。
【0057】
次に、ロボット制御プログラム生成のためのクラウドシステム43とのアクセスを許諾するため、ロボット認証段階に入り、ロボット1のタッチパッドからプロダクトキーを入力する(ステップ802)。プロダクトキーが入力されると、ロボットミドルウエア42は、予め登録されたプロダクトキーと照合してプロダクトキーをチェックし(ステップ803)、アプリケーションモジュールがアップデートされてクラウドシステム43に対応することをチェックする(ステップ804)。
【0058】
プロダクトキーのチェック(ステップ803)は、認証サーバ81により行われ、認証サーバ81は、クラウドシステム43を利用してロボット制御プログラムを生成するユーザに割り当てられたプロダクトキー、即ちクラウド端末3からWebサーバ2に予め登録されたプロダクトキー及びユーザを特定する顧客環境情報(ステップ821)を、クラウドシステム43から取得してチェックする(ステップ811)。認証サーバ81は、SSL(Secure Sockets Layer)通信における認証局に相当する。
【0059】
プロダクトキーがチェックされて認証されると、Webサーバ2に接続したクライアント端末3は、クラウドシステム43でロボット制御プログラムを生成する。Webサーバ2に接続されたクラウド端末3により、ロボット1のタッチパネルのディスプレイに表示される画像、スピーカを介して音声合成により出力されるテキスト(セリフ)、及びロボットの所定部位の動作設定を同期させてシーケンシャルにロボットを動作させる動作情報のスクリプトを作成する(ステップ823)。
【0060】
ロボットメイン段階で、Webサーバ2は、クライアント端末3により作成されたスクリプトをロボット制御コンテンツとして保存すると共にロボット1に接続し、ロボット1は、作成されたロボット制御コンテンツを、スクリプトに沿って動作するように通信部17を介してWebサーバ2に接続し、
図5(b)に示したミドルウエアSDKのパーツとして用意されたクラウドとの専用インターフェースパーツを介してロボットミドルウエア42に組み込む。ロボット1は、センサーやタイマーイベント或いはタッチパネルのタッチパッドでのユーザ入力によるロボット操作(ステップ805)に応じて、組み込まれたロボット制御プログラムに従って動作する。ロボットの動作及び動作に伴い取得された情報は、クラウドシステム43の動作ログに履歴として保存される(ステップ824)。
【0061】
図7(b)を参照してロボットメイン段階の動作について具体例により説明すると、ロボット1は、通信部17を介してWebサーバ2に接続し、クライアント端末3がWebサーバ2に接続して作成したロボット制御コンテンツの動作情報を取得し(ステップ831)、ロボット1がトリガーに応答して話しかける「呼び掛け動作」(ステップ832)、タッチパネルのディスプレイに表示されたアンケートに答える「アンケート動作」(ステップ833)、タッチパネルのディスプレイへの静止画/動画像の表示及び音声出力と頭部、手部、腕部等の動きを伴う商品紹介動作(ステップ834)等の取得されたロボット制御コンテンツのアプリケーションに応じて、ロボットミドルウエア42に組み込まれたスクリプトに従って動作する。
【0062】
アプリケーションの実行により対応履歴やアンケート回答等のそれぞれの属性情報が取得されると(ステップ835)、属性情報を動作ログとして出力し(ステップ836)、動作ログをクラウドシステム43に転送して保存・蓄積する(ステップ824)。蓄積された動作ログは、クラウドシステム43によってグラフや一覧表等の統計情報として処理される。
【0063】
図8は、ロボット制御プログラム生成システムのスクリプト作成の一例を示す図である。
【0064】
図8の画面は、作成されたロボット制御コンテンツの一連の処理を示したものである。
図8を参照すると、予めロボット制御プログラム生成システムの利用登録を済ませ、通信ネットワーク4を介してWebサーバ2に接続されたクライアント端末3を使用するユーザは、ユーザに割り当てられたプロダクトキーを入力して認証サーバ81による認証後に、クライアント端末3のブラウザ上で、「画像。動画」欄91に示すようにロボット1のタッチパネルのディスプレイに表示される画像、「セリフ」欄92に示すようにスピーカを介して音声合成により出力されるテキスト、「動き」欄93に示すようにロボットの所定部位の動作設定、「有効/無効」欄に示すように有効をそれぞれ入力してロボットの動作及びロボットの動作条件を設定し、ロボットのシーケンシャルな動作に沿って順次同様に設定してスクリプトを作成する。
【0065】
「画像。動画」欄91のロボット1のタッチパネルのディスプレイに表示される画像には、予め作成されWebサーバ2又はクラウド端末3に保存された画像を、コピーアンドペーストやドラッグアンドドロップで設定し、「セリフ」欄92のスピーカを介して音声合成により出力されるテキストには、任意の文章を入力し、「動き」欄93のロボットの所定部位の動作設定には、別ウインドウに表示された動作一覧から所定の動作を選択して設定する。動作一覧には、動作のタイトル名とアニメーションによるロボット1の所定部位の動作が示され、ユーザはこれを参照しながらドラッグアンドドロップ等で設定することができる。
【0066】
作成されたスクリプトに、例えば「日付」を2014−07−19に、「タイトル」をセミナー告知に、「有効/無効」を有効に、「展示時間」を時刻指定に、「時間」を16:55にそれぞれ設定してロボット制御コンテンツを作成する。
【0067】
図9は、ロボット制御プログラム生成システムのスクリプト作成の設定画面を示す図である。
【0068】
図9を参照すると、Webサーバ2に接続されたクライアント端末3のブラウザには、
図8に示したロボット制御コンテンツに関連する設定画面が表示される。各ロボット制御コンテンツは、「日付」、「タイトル」、「毎日繰り返す」、「展示時間」、「時間」、「table」、「作成日時」「有効/無効」等が一覧表示され、先頭のファイルアイコンをクリックすることで、該当するロボット制御コンテンツ101設定画面が呼び出される。ロボット制御コンテンツが呼び出されると、
図8に示したコンテンツ設定画面102と共に、動作条件等を設定する動作条件設定画面103が表示される。
【0069】
動作条件設定画面103には、例えば、「タイトル」、「有効/無効」の入力欄、時間欄として「毎日繰り返す」、「日時」、「展示時間」、「時間」の入力欄、センサー欄として「左手」、「頭」、「右手」、「左バンパー」、「後バンパー」、「右バンパー」、「近づいたら」欄のON/OFF設定、「言語設定」の入力欄等が設けられ、動作イベントとして使用される。
【0070】
図10は、ロボット制御プログラム生成システムの利用例を示す図である。
【0071】
図10を参照すると、
図8及び
図9のコンテンツ設定画面102に示したようなロボット制御コンテンツが、クラウドシステム43からロボット1に転送されて組み込まれ、設定された動作イベントに従って、例えば指定日時になると、ロボット1は、設定された画像をロボット1のタッチパネルのディスプレイに表示し、「本日、15時半から、セミナールームで業務改革の新たな手段、ファストエスアイ最新事例、クラウド活用セミナーを実施します。みなさん、時間前にはセミナールームへ集まってくださいねぇ。」という文章を音声合成によりスピーカから出力し、音声出力に同期して腕を動かす等の設定されたロボット1の所定部位の動作を行う。
【0072】
また、
図8〜
図10で説明したロボット制御プログラム生成システムのスクリプト作成の際の動作パターンとして、起動するロボットアプリケーションのパスをスクリプト内に記述することで、ロボット1に予め登録されたアプリケーションを起動することができる。例えば、ロボット制御コンテンツの動作条件としてセンサー入力が設定され、対応するセンサー入力の動作イベントが発生、例えば手部のタッチセンサーにタッチが検知されると、ロボット1は、ロボット制御コンテンツのスクリプトに沿って、「クイズはじめるよー ちょっと待ってね」のような音声合成出力を伴い、腕を動かす等の設定されたロボット1の所定部位の動作を行う。
【0073】
更に、
図8〜
図10で説明したロボット制御コンテンツの動作パターンに、センサーやユーザのタッチパッド入力による動作イベントによる割り込み処理として、複数のロボット制御コンテンツに優先順位を設定し、特定のロボット制御コンテンツの実行中にその処理を中断し、新たなロボット制御コンテンツに移行させることもできる。また、新たに移行したロボット制御コンテンツが終了した場合の戻り先も設定することができ、例えば中断した箇所から続けて処理を実行することもできる。
【0074】
ロボットアプリケーションに連携した利用例として、上述の開催イベント日時による起動例に加えて、タッチ入力の検出によるアプリケーションの起動例として、右手にタッチが検知されると「接客対応」アプリケーションが呼び出され、頭部にタッチが検知されると「クイズ」アプリケーションが呼び出され、左手にタッチが検知されると「早口言葉」アプリケーションが呼び出され、近接センサーによる人の接近を検知すると「いらっしゃいませ 頭を触って! クイズをだすよー」のようなセリフを発する、というように任意且つ自在にアプリケーションを起動させることができる。
【0075】
上述のロボット制御プログラム生成システムによれば、クラウドシステムを利用することでロボット制御プログラムによるロボット動作をPCだけでなくスマートフォンやタブレットからも簡単に登録・更新することができ、またロボット制御コンテンツのアプリケーションをクラウドシステム43上に登録することで、複数のロボットの管理をすることができ、複数のロボットで容易にアプリケーションを共有することができる。また、多数の動作イベント及び動作条件を設定することができるため、例えば全国の店舗に配置されたロボットを本部で遠隔コントロールし、地域の特色を活かした設定が可能になり、個々のロボットに多様な場面に対応した多様なアプリケーションを搭載することができる。
【0076】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【解決手段】本発明のロボット制御プログラム生成システムは、少なくとも複数のセンサー、複数の可動部、入力部、及び出力部を備えるロボットの制御プログラムを生成するためのシステムであって、ブラウザを介してロボットの動作及びロボットの動作条件を設定する手段と、予め設定されたロボットの自律的制御プログラムにロボットの動作及びロボットの動作条件を組み込む手段と、組み込まれたロボットの動作条件に従ってロボットの制御プログラムを実行する手段と、を有する。