(57)【要約】【課題】ロボット性能を向上するための技術を提供する。【解決手段】アプリケーションプロセッサ３０は、アプリケーションを処理する。センサプロセッサ５０は、画像センサ５２から画像データを取得して解析する。運動制御プロセッサ７０は、ロボットの可動部位の運動を制御する。運動制御プロセッサ７０は、画像センサ５２の向きを特定するための姿勢情報を、アプリケーションプロセッサ３０を経由することなく、センサプロセッサ５０に提供する。姿勢情報は、画像センサ５２の位置を特定するための情報を含む。【選択図】図２
2020116711.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを処理するアプリケーションプロセッサと、
画像センサから画像データを取得して解析するセンサプロセッサと、
ロボットの可動部位の運動を制御する運動制御プロセッサと、を備え、
前記運動制御プロセッサは、前記画像センサの向きを特定するための姿勢情報を、前記アプリケーションプロセッサを経由することなく、前記センサプロセッサに提供する、
ことを特徴とするロボット制御システム。
【請求項２】
姿勢情報は、前記画像センサの位置を特定するための情報を含む、
ことを特徴とする請求項１に記載のロボット制御システム。
【請求項３】
前記運動制御プロセッサは、前記センサプロセッサにより解析される画像データを前記画像センサが取得したときの姿勢情報を、前記センサプロセッサに提供する、
ことを特徴とする請求項１または２に記載のロボット制御システム。
【請求項４】
前記運動制御プロセッサは、ロボットの関節部分に設けられたモーションセンサのセンサデータから姿勢情報を導出する、
ことを特徴とする請求項１から３のいずれかに記載のロボット制御システム。
【請求項５】
前記運動制御プロセッサは、前記画像センサの設置場所に設けられたモーションセンサのセンサデータから姿勢情報を導出する、
ことを特徴とする請求項１から４のいずれかに記載のロボット制御システム。
【請求項６】
前記センサプロセッサは、画像解析時に、前記運動制御プロセッサに姿勢情報の提供を要求する、
ことを特徴とする請求項１から５のいずれかに記載のロボット制御システム。
【請求項７】
前記運動制御プロセッサは、周期的に、前記センサプロセッサに姿勢情報を提供する、
ことを特徴とする請求項１から６のいずれかに記載のロボット制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの行動を制御するシステムに関する。
【背景技術】
【０００２】
従来より、様々なタイプのロボットの研究、開発が行われている。特許文献１は、人間型の脚式移動ロボットによる歩行制御の学習手法を開示する。特許文献１は、初期に与えられた歩行軌道でロボットが安定歩行できない場合に、歩行可能となる安定歩行軌道を強化学習する方法を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−９６０６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボット技術は日々進化している。従来は４足歩行タイプのペット型ロボットが市販モデルの主流であったが、近年ではダンスなどの複雑な動作を行う人型ロボットが流通している。演算処理能力の向上および学習モデルの改良により、ロボットが自身で学習して既存機能を向上し、また新たな機能を獲得することが期待される。
【０００５】
自律ロボットの行動目的および行動態様は、実行するアプリケーションにより定まる。ロボットを自律歩行させるアプリケーションは、ロボット周辺の環境情報を収集して解析し、ロボット関節を構成する複数のモータの回転速度を算出する。各モータには制御用のマイコンが備えられ、複数のマイコンが同期して、算出された回転速度に応じた電力をモータに供給する。たとえばユーザを追いかけるという行動目的をもつアプリケーションは、カメラ画像からユーザおよび障害物の空間内位置を特定し、当該ユーザを追うルートを定めて、ルート上をロボットが移動するように各ロボット関節のモータ回転速度を算出する。
【０００６】
ロボットでは、画像センシングした正確なデータにもとづいて複数のモータの回転速度が算出され、算出された回転速度で時間遅延なくモータが回転することで、行動目的にしたがう行動態様が実現される。ロボットに高度な自律行動機能をもたせようとするとアプリケーションによる演算量が大きくなるが、その場合であってもロボットが行動できるようにするためには、画像センシング機能および／または運動制御機能を即時的に実現するための仕組みを構築する必要がある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様のロボット制御システムは、アプリケーションを処理するアプリケーションプロセッサと、画像センサから画像データを取得して解析するセンサプロセッサと、ロボットの可動部位の運動を制御する運動制御プロセッサとを備える。運動制御プロセッサは、画像センサの向きを特定するための姿勢情報を、アプリケーションプロセッサを経由することなく、センサプロセッサに提供する。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを読み取り可能に記録した記録媒体、データ構造などの間で変換したものもまた、本発明の態様として有効である。
【図面の簡単な説明】
【０００９】
【図１】実施例のエンターテインメントシステムの概略構成を示す図である。
【図２】制御システムのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１０】
図１は、実施例のエンターテインメントシステム１の概略構成を示す。エンターテインメントシステム１は、ロボット装置２０およびサーバ装置１０を備える。ロボット装置２０は自律歩行可能な移動体であって、アクセスポイント（ＡＰ）３を介して、インターネットなどのネットワーク２経由でサーバ装置１０と通信可能に接続する。
【００１１】
ロボット装置２０は人型ロボットとして構成され、オーナであるユーザにより所有される。ロボット装置２０はオーナを、画像解析による顔認証や音声解析による声紋認証などによって認識できることが好ましい。ロボット装置２０がオーナを認識することで、たとえばオーナからの指示のみを受け付け、オーナ指示にしたがって行動させることができる。
【００１２】
ロボット装置２０は人間と同じような部位を持ち、人間が親しみを覚える外形を有することが好ましい。ロボット装置２０は、頭部、頸部、体幹（胸部、腹部、背部）、上肢、下肢を有し、上肢は上腕、前腕および手を、下肢は大腿、下腿および足を有してよい。部位同士はアクチュエータによって連結される。アクチュエータは、可動部位である関節部分に配置されるモータと、モータ間を連結するリンク機構とを少なくとも含む。ロボット装置２０はアクチュエータを駆動することで姿勢のバランスを保ちつつ、行動目的に応じた挙動を示す。
【００１３】
ロボット装置２０は、歩いたり、走ったりする機能や、障害物を回避する機能を含む基本機能を、各アクチュエータの制御手法を記述した基本アプリケーションプログラム（以下、「基本アプリケーション」とも呼ぶ）により実現する。基本アプリケーションはロボット装置２０の基本機能を担当することから、ロボット装置２０にプリインストールされていることが好ましく、たとえばミドルウェアに組み込まれていてよい。
【００１４】
基本アプリケーション以外のアプリケーションプログラムは、応用アプリケーションプログラム（以下、「応用アプリケーション」とも呼ぶ）である。応用アプリケーションはたとえばダンス機能などの付加的な機能を実現する。応用アプリケーションは、サーバ装置１０から必要に応じて供給されて、ロボット装置２０にインストールされる。ロボット装置２０は、新しい応用アプリケーションをダウンロードしてインストールすることで、新しい機能を獲得する。
【００１５】
図２は、制御システム４のハードウェア構成を示す。実施例の制御システム４は、ロボット装置２０の画像センシング機能および運動制御機能の即時性を実現するためのアーキテクチャを備える。制御システム４はマルチプロセッサ構成をとり、アプリケーションを処理するアプリケーションプロセッサ３０、画像データを処理するセンサプロセッサ５０、ロボット装置２０の可動部位の運動を制御する運動制御プロセッサ７０を備える。制御システム４において、アプリケーションプロセッサ３０およびセンサプロセッサ５０は、画像解析システムを構築し、アプリケーションプロセッサ３０および運動制御プロセッサ７０は、運動制御システムを構築する。アプリケーションプロセッサ３０、センサプロセッサ５０、運動制御プロセッサ７０はロボット装置２０の筐体内に設けられ、２つのプロセッサ間は、互いに通信可能に接続されている。
【００１６】
このアーキテクチャでは、アプリケーションプロセッサ３０がメインプロセッサとして動作する。センサプロセッサ５０は、アプリケーションプロセッサ３０により指示された画像解析を実施して、画像解析結果をアプリケーションプロセッサ３０に提供する。運動制御プロセッサ７０は、アプリケーションプロセッサ３０により指示された回転速度でアクチュエータを駆動制御する。センサプロセッサ５０および運動制御プロセッサ７０がそれぞれ担当の処理を実施することで、アプリケーションプロセッサ３０は画像センシング機能および運動制御機能をもつ必要がなく、アプリケーションプロセッサ３０の処理負荷を低減できる。
【００１７】
アプリケーションプロセッサ３０は、第１オペレーティングシステム（以下、「第１ＯＳ」とも呼ぶ）を実行して、アプリケーションを処理する。処理対象となるアプリケーションは、基本アプリケーションおよび応用アプリケーションの双方であり、アプリケーションプロセッサ３０は、複数の基本アプリケーションを同時に処理しながら、必要な応用アプリケーションも処理する。そのためアプリケーションプロセッサ３０は複数のＣＰＵコアを搭載する。第１ＯＳは、様々なアプリケーションを同時に実行できる汎用ＯＳであることが好ましい。
【００１８】
アプリケーションプロセッサ３０には、表示装置３２、スピーカ３４、通信装置３６およびマイク３８が接続される。表示装置３２およびスピーカ３４は、アプリケーションプロセッサ３０で生成された画像および音声をそれぞれ出力し、ユーザに情報を提示する。通信装置３６は無線ＬＡＮでＡＰ３に接続し、ＡＰ３を介してサーバ装置１０と通信する。なお通信装置３６は携帯電話通信機能を有してもよい。通信装置３６は、サーバ装置１０から応用アプリケーションやパッチファイルをダウンロードできる。マイク３８は、周囲の音声を集音して音声信号に変換し、アプリケーションプロセッサ３０に提供する。アプリケーションプロセッサ３０は音声認識機能を有し、ユーザによる音声指示をもとに行動を決定してもよい。
【００１９】
センサプロセッサ５０は、画像センシング機能を実施するプロセッサであって、画像センサ５２、距離センサ５４およびイベント駆動型センサ５６と接続する。画像センサ５２、距離センサ５４およびイベント駆動型センサ５６はロボット装置２０に搭載されて、ロボット装置２０の周辺情報を取得する視覚センサとして動作し、センサプロセッサ５０は、ビジョンに関する認識機能を担当する。
【００２０】
画像センサ５２はカメラであって、所定の周期（たとえば１／６０秒）で撮影したＲＧＢ画像をセンサプロセッサ５０に供給する。距離センサ５４は、ＴＯＦ距離画像センサであってよく、三次元距離画像をセンサプロセッサ５０に供給する。イベント駆動型センサ５６は撮像素子の画素の輝度値変化を検出するセンサであって、検出した時刻と画素座標の組合せをセンサプロセッサ５０に供給する。距離センサ５４およびイベント駆動型センサ５６は、画像データに含まれる被写体に関する情報を検出する情報センサである。
【００２１】
イベント駆動型センサ５６は、画像センサ５２よりも広いダイナミックレンジを有し、画像センサ５２のダイナミックレンジを超えた入射光が存在する環境下においても、被写体の動きを正確に検出できる。またイベント駆動型センサ５６は、画像センサ５２よりも高い時間分解能で被写体の動きを検出できるため、センサプロセッサ５０は、画像センサ５２で取得された画像データを処理する際に、イベント駆動型センサ５６で取得された動き情報を補完的に利用することが可能である。
【００２２】
センサプロセッサ５０は、第２オペレーティングシステム（以下、「第２ＯＳ」とも呼ぶ）を実行して、画像センサ５２で取得された画像データを処理する。センサプロセッサ５０は画像データに含まれる対象物を、機械学習されたモデルを用いて認識するニューラルネットワークを有してよい。センサプロセッサ５０は、距離センサ５４から被写体の奥行き情報を、イベント駆動型センサ５６から被写体の動き情報を取得し、これらの被写体情報を用いて画像センサ５２から取得した画像データを解析する。アプリケーションプロセッサ３０は、処理するアプリケーションに応じて、実施するべき画像解析機能をセンサプロセッサ５０に指示する。
【００２３】
たとえばアプリケーションプロセッサ３０が、追従対象であるオーナをロボット装置２０が追従するアプリケーションを処理する際、センサプロセッサ５０に対して、当該オーナの位置を特定することを要求する。センサプロセッサ５０は要求を受けて、オーナを撮影画像から認識するための画像解析用パラメータセットをニューラルネットワークに設定し、画像解析によるオーナの認識処理を実施する。なおオーナ認識用のパラメータセットは、センサプロセッサ５０に接続する記憶装置（図示せず）に記憶されていてよいが、アプリケーションプロセッサ３０から提供されてもよい。センサプロセッサ５０は、距離センサ５４およびイベント駆動型センサ５６で取得された被写体情報を加味して画像データの解析処理を実行してよい。
【００２４】
センサプロセッサ５０は、アプリケーションに特化した画像解析機能を実現するために、ニューラルネットワークのパラメータセットを最適化する学習機能を有してよい。この例でセンサプロセッサ５０はオーナ認識用パラメータセットを最適化する学習を事前に実施しておき、アプリケーションプロセッサ３０がオーナを追従するアプリケーションを実施する前に、パラメータセットを最適化しておくことが好ましい。
【００２５】
学習機能における目的関数（誤差関数）は、学習用の画像をニューラルネットワークに入力することにより得られる出力と、その画像に対応する正解値（つまり対象者がオーナであること）とを比較して誤差を算出する。学習機能は誤差に基づいて、勾配逆伝搬法等によりパラメータについての勾配を計算し、モーメンタム法に基づいてニューラルネットワークの最適化対象パラメータを更新する。アプリケーションに特化した学習を行うことで、アプリケーションごとに最適なパラメータセットを生成でき、正確な画像解析機能が実現されるようになる。なおセンサプロセッサ５０は他の種類の学習機能を有してよい。
【００２６】
たとえばアプリケーションプロセッサ３０が、動いている特定の物体の行き先を予測してロボット装置２０が先回りするアプリケーションを処理する際、センサプロセッサ５０は、特定の物体を認識する画像解析を実施しつつ、当該物体の移動軌跡を予測する。イベント駆動型センサ５６は、高い時間分解能で被写体の動き情報を検出するため、その動き情報は、正確な移動予測に好適に利用可能である。センサプロセッサ５０は、画像センサ５２、距離センサ５４、イベント駆動型センサ５６からの情報をもとに、特定の物体の移動軌跡を予測する。
【００２７】
またアプリケーションプロセッサ３０が、オーナのジェスチャなどの動きに同期した動きをロボット装置２０が行うアプリケーションを処理する際、センサプロセッサ５０は、オーナを認識する画像解析を実施しつつオーナの動きを把握し、さらには将来の動きを予測してもよい。センサプロセッサ５０は、イベント駆動型センサ５６により検出されるオーナの動き情報を取得して、オーナの現在の動きを把握するとともに、現在までの動き情報をもとに、これから行われる動きを予測してもよい。センサプロセッサ５０がオーナの動きを予測すると、ロボット装置２０は、オーナの動きを先取りして動くことが可能となる。
【００２８】
以上のようにセンサプロセッサ５０において実行される第２ＯＳは、画像解析用ニューラルネットワークを制御するＯＳであることが好ましい。第２ＯＳはニューラルネットワークに適した特別なＯＳであり、したがって第２ＯＳは汎用ＯＳではなく、第１ＯＳと異なる。
【００２９】
運動制御プロセッサ７０は、ロボット装置２０の可動部位の運動を制御するプロセッサであって、複数のモーションセンサ７２、複数のタッチセンサ７４および複数のマイコン７６ａ〜７６ｎ（以下、特に区別しない場合には「マイコン７６」と呼ぶ）と接続する。１つのマイコン７６が１つのモータの駆動を担当する。運動制御プロセッサ７０は、ロボット装置２０の運動制御機能を担当し、マイコン７６を制御して、モータに駆動電流を供給させる。
【００３０】
モーションセンサ７２は、３軸加速度センサおよび３軸ジャイロセンサを有する。モーションセンサ７２は、各関節部分に設けられて、関節部分の３次元空間における位置および姿勢を示すセンサデータおよび／または位置および姿勢の変化を示すセンサデータを運動制御プロセッサ７０に提供してよい。なお実施例ではモーションセンサ７２が画像センサ５２の位置に設けられて、３次元空間における画像センサ５２の位置および姿勢を示すセンサデータおよび／または位置および姿勢の変化を示すセンサデータを運動制御プロセッサ７０に提供してよい。タッチセンサ７４は、ロボット装置２０の外表面に設けられて、ロボット装置２０への接触を検出する。
【００３１】
運動制御プロセッサ７０は、第３オペレーティングシステム（以下、「第３ＯＳ」とも呼ぶ）を実行して、ロボット装置２０の可動部位の運動、つまりはモータの回転を制御する。運動制御プロセッサ７０の役割は、アプリケーションプロセッサ３０で算出される各モータの回転速度となるようにマイコン７６をリアルタイムで管理することであり、さらに重要な役割は、ロボット装置２０を転倒させないことである。そのため運動制御プロセッサ７０は、アプリケーションプロセッサ３０からの運動要求に応える前提として、モーションセンサ７２のセンサデータを常時監視して、転倒防止のための姿勢制御アプリケーションを実施している。運動制御プロセッサ７０は、たとえばロボット装置２０が障害物にぶつかって転倒しそうなときには、直ちに転倒防止のためのモータ制御を実行する。
【００３２】
このように運動制御プロセッサ７０によるモータ制御には即時性が要求される。そこで運動制御プロセッサ７０において実行される第３ＯＳは、リアルタイムＯＳであることが好ましい。リアルタイムＯＳとは、姿勢制御アプリケーションなどの特定のアプリケーションを高精度なタイミングで実行するように設計され、アプリケーションをリアルタイム処理可能なＯＳである。当然のことながら、第３ＯＳは、第１ＯＳ、第２ＯＳとも異なる。
【００３３】
以上のようにアプリケーションプロセッサ３０、センサプロセッサ５０、運動制御プロセッサ７０が構成される。たとえば、追従対象であるオーナにロボット装置２０を追従させるアプリケーションを実行する際、アプリケーションプロセッサ３０は、オーナの空間内位置と、ロボット装置２０とオーナの間に存在する障害物の空間内位置を知る必要がある。そこでアプリケーションプロセッサ３０は、センサプロセッサ５０に対して、画像センサ５２の画像データに含まれるオーナおよび障害物の位置を特定することを指示する。以下、アプリケーションプロセッサ３０の認識対象となるオーナおよび障害物を、単に「対象物」とも呼ぶ。
【００３４】
センサプロセッサ５０は、画像センサ５２から画像データを取得し、距離センサ５４の奥行き情報およびイベント駆動型センサ５６の動き情報を用いて、アプリケーションプロセッサ３０により指示された画像解析を実施する。センサプロセッサ５０は、画像センサ５２を基点とするカメラ座標系における対象物の位置座標を含む画像解析結果を、アプリケーションプロセッサ３０に提供する。この画像解析結果には、カメラ座標系における対象物の奥行き情報（距離情報）も含まれる。したがってアプリケーションプロセッサ３０は、画像センサ５２を基点としたカメラ座標系における対象物の３次元座標を特定できる。
【００３５】
運動制御プロセッサ７０は、センサプロセッサ５０に、画像センサ５２の向きを特定するための姿勢情報を提供する。この姿勢情報は、画像センサ５２の位置を特定するための情報を含んでよい。つまり姿勢情報は、画像センサ５２が画像データを取得したときの空間内の光軸向きおよび位置を特定するための情報を含む。ロボット装置２０において、各関節部分や主要部位の位置は、ロボット機体における基準位置を原点としたロボット座標系で定義される。運動制御プロセッサ７０は、３次元実空間座標系（空間座標系）における基準位置の３次元座標を常に算出しており、ロボット座標系における画像センサ５２の向きおよび位置を特定することで、画像センサ５２の空間座標系における向きおよび位置を特定するための姿勢情報を生成する。センサプロセッサ５０は画像解析結果を、画像センサ５２の姿勢情報とともにアプリケーションプロセッサ３０に送信する。
【００３６】
アプリケーションプロセッサ３０は、姿勢情報を取得することで空間座標系における画像センサ５２の向きおよび位置を特定し、画像解析結果を取得することでカメラ座標系における画像センサ５２の３次元座標を特定する。これによりアプリケーションプロセッサ３０は、対象物の空間座標系における３次元座標を取得する。
【００３７】
運動制御プロセッサ７０は、センサプロセッサ５０により解析される画像データを画像センサ５２が取得したときの姿勢情報を、センサプロセッサ５０に提供する。運動制御プロセッサ７０は、各関節部分に設けられた各モーションセンサ７２のセンサデータから、画像センサ５２の姿勢情報を導出してよい。なお画像センサ５２の設置場所にモーションセンサ７２が設けられている場合、運動制御プロセッサ７０は画像センサ５２の姿勢情報を、当該モーションセンサ７２のセンサデータを用いて導出してよい。
【００３８】
センサプロセッサ５０は、解析に使用する画像データの撮影時刻を運動制御プロセッサ７０に通知し、運動制御プロセッサ７０は、撮影時刻と同一時刻の画像センサ５２の姿勢情報をセンサプロセッサ５０に提供する。運動制御プロセッサ７０は、姿勢制御アプリケーションを常に実施しており、センサプロセッサ５０における画像解析周期（たとえば１／６０秒）よりも遙かに短いサンプリング周期で各関節部分および主要部位の位置座標を算出している。実施例の運動制御プロセッサ７０は、このサンプリング周期で画像センサ５２の姿勢情報を導出して時刻情報とともに記憶装置（図示せず）に記憶しておき、画像データの撮影時刻が通知されると、同一時刻の画像センサ５２の姿勢情報を記憶装置から読み出して、センサプロセッサ５０に提供してよい。
【００３９】
センサプロセッサ５０は、画像データの解析中に、運動制御プロセッサ７０から姿勢情報を提供される。センサプロセッサ５０は、画像データの解析を終了すると、画像センサ５２の姿勢情報をメタデータとして画像解析結果に付加し、画像解析結果をアプリケーションプロセッサ３０に提供する。アプリケーションプロセッサ３０は、画像解析結果と姿勢情報とから、空間内における対象物の位置を特定する。
【００４０】
実施例の運動制御プロセッサ７０は、画像センサ５２の姿勢情報を、アプリケーションプロセッサ３０を経由することなく、センサプロセッサ５０に提供する。つまり運動制御プロセッサ７０は、センサプロセッサ５０との間を接続するバス経由で、センサプロセッサ５０に姿勢情報を直接提供する。
【００４１】
通常のアーキテクチャ設計では、メインプロセッサであるアプリケーションプロセッサ３０が、他のプロセッサ同士の間のデータ伝送を中継するため、データ伝送時間は、アプリケーションプロセッサ３０による中継時間を加算したものとなる。一方で制御システム４では、センサプロセッサ５０と運動制御プロセッサ７０とがバス接続されているため、運動制御プロセッサ７０が画像センサ５２の姿勢情報をセンサプロセッサ５０に提供する場合、アプリケーションプロセッサ３０を経由するよりも、センサプロセッサ５０に直接提供した方がデータ伝送時間は短くなる。そこでリアルタイム性を高めるために、運動制御プロセッサ７０は、画像センサ５２の姿勢情報を、センサプロセッサ５０に直接送信する。
【００４２】
センサプロセッサ５０は、画像解析時、運動制御プロセッサ７０に画像センサ５２の姿勢情報の提供を要求してよい。このときセンサプロセッサ５０は、解析で使用する画像データの撮影時刻を運動制御プロセッサ７０に通知してよい。運動制御プロセッサ７０は、姿勢情報の提供要求を受けると、画像センサ５２の姿勢情報をセンサプロセッサ５０に直接提供する。運動制御プロセッサ７０は、画像データの撮影時刻を通知されると、その後は、センサプロセッサ５０の画像解析周期に応じて、周期的に姿勢情報を提供してよい。たとえばセンサプロセッサ５０の画像解析周期が１／６０秒である場合、運動制御プロセッサ７０は、通知された撮影時刻を起点として同じ周期で姿勢情報をセンサプロセッサ５０に提供してよい。なお運動制御プロセッサ７０は、センサプロセッサ５０からの要求によらず、周期的に姿勢情報をセンサプロセッサ５０に提供してもよい。
【００４３】
センサプロセッサ５０は、姿勢情報をメタデータとして画像解析結果に付加し、画像解析結果をアプリケーションプロセッサ３０に提供する。これによりアプリケーションプロセッサ３０は、対象物の空間内位置を特定できる。なおセンサプロセッサ５０は、画像解析結果を提供するが、画像解析で使用した画像データをアプリケーションプロセッサ３０に提供しない。制御システム４では、センサプロセッサ５０が画像データをアプリケーションプロセッサ３０に提供しないことで、センサプロセッサ５０からアプリケーションプロセッサ３０の間の伝送遅延リスクを低減し、アプリケーションプロセッサ３０に時間遅延なく画像解析結果を提供する。またセンサプロセッサ５０が画像データをアプリケーションプロセッサ３０に提供しないことで、個人情報を含む画像データがロボット装置２０の外部に流出する事態を避けられる。
【００４４】
なおセンサプロセッサ５０は画像解析結果を運動制御プロセッサ７０に提供してもよい。たとえば運動制御プロセッサ７０が所定の対象物のトラッキング機能を有する場合に、センサプロセッサ５０による画像解析結果を用いて自律トラッキング行動を制御してよい。
【００４５】
以上のように制御システム４では、センサプロセッサ５０および運動制御プロセッサ７０を設けることで、アプリケーションプロセッサ３０に負荷が集中する状況を回避する。またアプリケーションプロセッサ３０、センサプロセッサ５０、運動制御プロセッサ７０のそれぞれが、担当する処理に適したＯＳを実行することで、制御システム４の全体としての即時性を向上する。
【００４６】
本発明を実施例をもとに説明した。実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。ロボット装置２０は移動可能なロボットであればよく、２足歩行ロボットに限られない。またロボット装置２０は、産業用ロボットなどであってもよい。
【００４７】
実施例では、運動制御プロセッサ７０が画像センサ５２の姿勢情報をセンサプロセッサ５０に提供したが、アプリケーションプロセッサ３０に提供してもよい。このときアプリケーションプロセッサ３０は、姿勢情報をセンサプロセッサ５０に転送せずに保持し、センサプロセッサ５０から提供される画像解析結果に紐付ける。アプリケーションプロセッサ３０は、画像解析結果に含まれる画像解析に使用した画像データの撮影時刻と、姿勢情報に含まれる姿勢情報の導出に使用したセンサデータの取得時刻を参照して、同じ時刻の画像解析結果および姿勢情報を紐付け、対象物の空間位置の特定に利用する。
【００４８】
実施例では、アプリケーションプロセッサ３０、センサプロセッサ５０および運動制御プロセッサ７０がロボット装置２０の筐体内に設けられる例について説明した。変形例では、センサプロセッサ５０および運動制御プロセッサ７０がロボット装置２０の筐体内に設けられ、アプリケーションプロセッサ３０が、ロボット装置２０の筐体外に設けられてもよい。アプリケーションプロセッサ３０の機能をロボット装置２０の外部、たとえばサーバ装置１０に設けることで、アプリケーションプロセッサ３０に高い処理能力をもたせることができ、複雑な演算処理を行わせることが可能となる。
【００４９】
実施例では、センサプロセッサ５０がアプリケーションプロセッサ３０に画像データを提供しないことを説明したが、所定の動作モードをユーザが設定した場合には、画像データを提供可能としてもよい。
【００５０】
ロボット装置２０のメイン電源がオフされている間、イベント駆動型センサ５６、モーションセンサ７２およびタッチセンサ７４は、待機電力で駆動されていてもよい。イベント駆動型センサ５６、モーションセンサ７２およびタッチセンサ７４の少なくとも１つが何らかの情報を検出したときに、メイン電源が自動オンされるように構成されてもよい。
【符号の説明】
【００５１】
１・・・エンターテインメントシステム、２・・・ネットワーク、３・・・ＡＰ、４・・・制御システム、１０・・・サーバ装置、２０・・・ロボット装置、３０・・・アプリケーションプロセッサ、３２・・・表示装置、３４・・・スピーカ、３６・・・通信装置、３８・・・マイク、５０・・・センサプロセッサ、５２・・・画像センサ、５４・・・距離センサ、５６・・・イベント駆動型センサ、７０・・・運動制御プロセッサ、７２・・・モーションセンサ、７４・・・タッチセンサ、７６・・・マイコン。
【図１】
2020116711.tif 000003
【図２】
2020116711.tif 000004