(57)【要約】【課題】  ３次元画像センサを用いて、初動動作から最終的な指示座標を予測する自動制御装置および制御プログラムを提供する。【解決手段】  ３次元画像センサによって取得される画像フレームの前後を比較して人の特定部位の変位量を検出する変位量検出手段と、変位量および画像フレームの取得時間から特定部位の速度を算出する速度演算手段と、速度の変化量から特定部位の加速度を算出する加速度演算手段と、加速度の変化量から加速度が極大となったか否かを判断する加速度判断手段と、特定部位の移動開始から加速度が極大となるまでの時間および加速度が極大となった時の特定部位の位置に基づき、特定部位が動作を終了する位置を算出する動作終了位置演算手段と、その演算結果を出力する出力手段とを備えた。【選択図】図１
2013109444.tif 000002
【特許請求の範囲】
【請求項１】
人の特定部位の動作終了位置を予測する自動制御装置であって、
３次元画像センサによって取得される画像フレームの前後を比較して前記特定部位の変位量を検出する変位量検出手段と、
該変位量検出手段により検出された変位量および前記画像フレームの取得時間から前記特定部位の速度を算出する速度演算手段と、
該速度演算手段により算出された速度の変化量から前記特定部位の加速度を算出する加速度演算手段と、
該加速度演算手段により算出された加速度の変化量から加速度が極大となったか否かを判断する加速度判断手段と、
前記特定部位の移動開始から加速度が極大となるまでの時間および加速度が極大となった時の該特定部位の位置に基づき、該特定部位が動作を終了する位置を算出する動作終了位置演算手段と、
該動作終了位置演算手段による演算結果を出力する出力手段とを備えたことを特徴とする自動制御装置。
【請求項２】
前記変位量検出手段は、前記画像フレームが入力されるとき変位量を検出する変位量検出手段であり、前記速度演算手段は、前記変位量検出手段により変位量が検出されるとき特定部位の速度を算出する速度演算手段であり、前記動作終了位置演算手段は、前記速度演算手段による演算結果が所定値を超えるとき、特定部位の当初の変位量の検出時を該特定部位の動作の出発点として、該特定部位の移動量を算出することにより動作終了位置を演算する動作終了位置演算手段である請求項１に記載の自動制御装置。
【請求項３】
人の特定部位の動作を予測する自動制御装置の制御プログラムであって、
前記プログラムは、コンピュータに、
３次元画像センサによって取得される画像フレームの前後を比較して前記特定部位の変位量を検出する変位量検出ステップと、
該変位量検出ステップにより検出された変位量および前記画像フレームの取得時間から前記特定部位の速度を算出する速度演算ステップと、
該速度演算ステップにより算出された速度の変化量から前記特定部位の加速度を算出する加速度演算ステップと、
該加速度演算ステップにより算出された加速度の変化量から加速度が極大となったか否かを判断する加速度判断ステップと、
前記特定部位の移動開始から加速度が極大となるまでの時間および加速度が極大となった時の該特定部位の位置に基づき、該特定部位が動作を終了する位置を算出する動作終了位置演算ステップと、
該動作終了位置演算ステップによる演算結果を出力する出力ステップとを実行させることを特徴とする制御プログラム。
【請求項４】
前記変位量検出ステップは、前記画像フレームが入力されるとき変位量を検出する変位量検出ステップであり、前記速度演算ステップは、前記変位量検出ステップにより変位量が検出されるとき特定部位の速度を算出する速度演算ステップであり、前記動作終了位置演算ステップは、前記速度演算ステップによる演算結果が所定値を超えるとき、特定部位の当初の変位量の検出時を該特定部位の動作の出発点として、該特定部位の移動量を算出することにより動作終了位置を演算する動作終了位置演算ステップである請求項３に記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動制御装置および制御プログラムに関するものである。
【背景技術】
【０００２】
近年、様々な生活支援ロボットの研究・開発が多く行われている。近い将来、生活支援ロボットは日常生活の中に溶け込んでいき、人間とロボットが共生する社会になっていくと予想される。そのような社会において、ロボットが人間と自然にインタラクションを行えるようになることは極めて重要である。例えば、人間同士の会話では、対象を指さしながら会話を進める場合が多くある。ここで、人間とロボットの会話において、人間の指さし行動に対してロボットのレスポンスが遅れてしまうと人間に不自然な印象を与えてしまう。
【０００３】
前述のような対話における指さし行為では、人間は話し相手が指を指す前に大体の方向を無意識に推定している。つまり、他人とやりとりをする時、ある程度先の行動を予測しながら会話などを行う。ロボットと人間の自然なインタラクションを実現するには、この、相手の行動を予測する、ということが必要不可欠である。
【０００４】
本発明では、人間が日常生活で多用しているであろう指さしに焦点を当てる。特許文献１に開示された先行技術では、身体部位の複数の基準点、動作点、参照点から指示動作を静止動作として検出している。
【０００５】
また、非特許文献１によれば、指さしのジェスチャーを予測することが、ロボットと人間との自然なインタラクションを実現するために有効であることが示されている。このシステムでは、モーションキャプチャシステムを用い、指の速度、指と体との距離、人間の体の軸と指さしの方向の角度という３つのパラメータを用いて、人間の様々な行動の中から指さしだけを認識している。そして、指の速度ベクトルを用いて０．３秒後の人間の指の位置の予測を行っている。
【０００６】
一方、指さし時に手が止まる位置を予測するためには、人間の手の動きがわからなければならない。Ｆｌａｓｈらは２点間を移動する手先の運動を表すモデルとして、Ｊｅｒｋ最小モデルを提案した（非特許文献２参照）。Ｊｅｒｋ最小モデルは、完全ではないものの比較的良く人間の運動と一致し、かつ、その軌跡や運動を解析的に解くことができる、という特徴を持つ。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２４０３７０号公報
【非特許文献】
【０００８】
【非特許文献１】O. Sugiyama, T. Kanda, M. Imai, H. Ishiguro,N. Hagita, Natural Deictic Communication with Humanoid Robots, IEEE/RSJInternational Conference on Intelligent Robots and Systems (IROS2007), pp.1441-1448(2007)
【非特許文献２】T. Flash, N. Hogan, The Coordination of Arm Movements, J. Neuroscience,vol.5, pp.1688-1703 (1985)
【発明の概要】
【発明が解決しようとする課題】
【０００９】
前記特許文献１または非特許文献１に示されるような従来のシステムでは、指の座標の認識に光学式モーションキャプチャを使用しているため、あらかじめ人間へのマーカーの装着を必要とし、かつ、モーションキャプチャが設置された空間でしか動作しないという問題がある。また、逐次的に予測を行っており、指先が指す軌跡上に複数の物体があった場合、ポインティング対象として認識される物体が動作の中で次々に移り変わっていくという状況が発生する、という問題があった。
【００１０】
本発明では、上記の問題点にかんがみ、マーカーを使用せずに３次元画像センサのみを用いて、初動動作から最終的な指示座標を予測する自動制御装置および制御プログラムを提供する。
【課題を解決するための手段】
【００１１】
そこで、発明者らは鋭意研究の結果、次の発明を完成するに至った。
すなわち、請求項１に記載の発明は、人の特定部位の動作終了位置を予測する自動制御装置であって、３次元画像センサによって取得される画像フレームの前後を比較して前記特定部位の変位量を検出する変位量検出手段と、該変位量検出手段により検出された変位量および前記画像フレームの取得時間から前記特定部位の速度を算出する速度演算手段と、該速度演算手段により算出された速度の変化量から前記特定部位の加速度を算出する加速度演算手段と、該加速度演算手段により算出された加速度の変化量から加速度が極大となったか否かを判断する加速度判断手段と、前記特定部位の移動開始から加速度が極大となるまでの時間および加速度が極大となった時の該特定部位の位置に基づき、該特定部位が動作を終了する位置を算出する動作終了位置演算手段と、該動作終了位置演算手段による演算結果を出力する出力手段とを備えたことを特徴とする。
【００１２】
請求項２に記載の発明は、請求項１に記載の発明において、前記変位量検出手段が、前記画像フレームが入力されるとき変位量を検出する変位量検出手段であり、前記速度演算手段が、前記変位量検出手段により変位量が検出されるとき特定部位の速度を算出する速度演算手段であり、前記動作終了位置演算手段が、前記速度演算手段による演算結果が所定値を超えるとき、特定部位の当初の変位量の検出時を該特定部位の動作の出発点として、該特定部位の移動量を算出することにより動作終了位置を演算する動作終了位置演算手段であることを特徴とする。
【００１３】
また、請求項３に記載の発明は、人の特定部位の動作を予測する自動制御装置の制御プログラムであって、前記プログラムは、コンピュータに、３次元画像センサによって取得される画像フレームの前後を比較して前記特定部位の変位量を検出する変位量検出ステップと、該変位量検出ステップにより検出された変位量および前記画像フレームの取得時間から前記特定部位の速度を算出する速度演算ステップと、該速度演算ステップにより算出された速度の変化量から前記特定部位の加速度を算出する加速度演算ステップと、該加速度演算ステップにより算出された加速度の変化量から加速度が極大となったか否か（すなわち、躍度が最初に０となるか否か）を判断する加速度判断ステップと、前記特定部位の移動開始から加速度が極大となるまでの時間および加速度が極大となった時の該特定部位の位置に基づき、該特定部位が動作を終了する位置を算出する動作終了位置演算ステップと、該動作終了位置演算ステップによる演算結果を出力する出力ステップとを実行させることを特徴とする。
【００１４】
請求項４に記載の発明は、請求項３に記載の発明において、前記変位量検出ステップが、前記画像フレームが入力されるとき変位量を検出する変位量検出ステップであり、前記速度演算ステップが、前記変位量検出ステップにより変位量が検出されるとき特定部位の速度を算出する速度演算ステップであり、前記動作終了位置演算ステップが、前記速度演算ステップによる演算結果が所定値を超えるとき、特定部位の当初の変位量の検出時を該特定部位の動作の出発点として、該特定部位の移動量を算出することにより動作終了位置を演算する動作終了位置演算ステップであることを特徴とする。
【発明の効果】
【００１５】
現在の３次元画像センサは、小型のヒューマノイドのサイズであれば十分に搭載可能な小型のデバイスであり、かつ、人間になんらかの装備を行わずとも人間の姿勢や部位の３次元座標を取得することができる。人間の行動モデルを用いた予測を応用することで、初動のわずかな動作だけで手の指す最終点を予測することを実現した。
【図面の簡単な説明】
【００１６】
【図１】図１は、自動制御装置の構成を示すブロック図である。
【図２】図２は、人の行動モデルにおける加速度を示すグラフである。
【図３】図３は、制御プログラムのフロー図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図面に基づき説明する。図１は、自動制御装置にかかる本発明の実施形態の構成を示すブロック図である。この図に示すように、本実施形態のシステム全体は、制御処理装置１１および動作取得装置１２によって構成されている。制御処理装置は、速度／加速度演算部２１を備え、動作取得装置１２からの人行動データから速度および加速度データを３次元画像センサによって取得される画像フレームのデータなどから抽出する。また、動作開始検出部２２、加速度変化検出部２３、行動モデル演算部２４をも備え、速度／加速度演算部２１から出力される予測演算に必要な情報である速度および加速度データが入力されるようになっている。さらに、制御演算部３１を備え、行動モデル演算部２４からの予測結果出力を用いて、次の制御予測のために動作開始検出部２２へ予測演算要求を行うことができるようになっている。
【００１８】
人の特定部位の動作予測は、動作開始検出部２２、加速度変化検出部２３、行動モデル演算部２４によって処理される。例えば、動画像を１秒あたり２０〜３０個ごとに分割した個々の画像（以下、画像フレームという）の取得は、速度／加速度演算部２１によって処理されるが、この画像フレームのデータが動作開始検出部２２に入力されると、加速度変化検出部２３が変位量検出手段として機能し、当該特定部位の変位量検出を行う。変位量検出は、画像フレームの前後を比較して前記特定部位の変位量を検出する。また、行動モデル演算部２４は、速度演算手段として機能し、変位量検出により検出された変位量および画像フレームが取得される時間の間隔（以下、取得時間という、（１秒あたり２０個の画像フレームの場合は０．０５秒を意味する））から前記特定部位の速度を算出する。
【００１９】
また、行動モデル演算部２４は、加速度演算手段としても機能し、前記速度演算により算出された速度の変化量から特定部位の加速度を算出する。前述した各演算は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのプロセッサおよび該プロセッサと電気的に接続されたＲＡＭ（Ｒａｍｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの記憶装置ならびにＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）など電子回路制御機構から構成される、プログラム可能な演算処理装置を用いて実行される。各演算結果は記憶装置に保存され、動作終了位置を演算する際に使用される。そして、加速度演算手段により算出された加速度の変化量から加速度が極大であるか否かが行動モデル演算部２４により判断される（行動モデル演算部２４が加速度判断手段として機能する）。加速度が極大であると判断されると、予測値特定部位の移動開始から加速度が極大となるまでの時間および加速度が極大となった時の特定部位の位置に関する情報に基づき、特定部位が動作を終了する位置を算出する動作終了位置を演算する（動作終了位置演算手段として機能する）。そして、その演算結果は制御演算部３１に出力され（行動モデル演算部２４が出力手段として機能し）、制御演算部３１によって必要な処理が実行される。
【００２０】
ところで、動作終了位置演算における算出方法としては、本発明では人間の行動モデルとして、Ｊｅｒｋ最小モデルを用いる。このモデルにおいて、人の特定部位（以下、人の手首を前提とする。なお、人の手首を人間の手先と表現する場合がある。）の動きの開始点、最終点で速度と加速度が０であり、開始点をベクトルｘ０（以下、ベクトル量を上付き矢印つき記号で標記する。）、最終点をベクトルｘｆとすると、ある時刻τにおける手先の座標ベクトルｘ（τ）は以下のように表すことができる。
【００２１】
【数１】
2013109444.tif 000003
ここで、tは動作開始時からの時間であり、Ｔは動作開始から終了までにかかる時間である。また、このベクトルｘ（τ）に対する加速度は、図２のようになる。ここで、加速度の傾きが変化する点τ１、τ２は、数１を３回微分した次式
【００２２】
【数２】
2013109444.tif 000004
から、数２左辺の値を０とした条件を満たすτを求めると、
【００２３】
【数３】
2013109444.tif 000005
となる。
【００２４】
よって、動作開始から加速度が極大となるまで（加速度の微分値（躍度）が最初に０となるまで）の時間τ１は動作終了までの時間の約２１％であることがわかる。つまり、指さし行動時に、手先の加速度が増加から減少に変わる瞬間、すなわち、加速度が極大となる時（躍度が０になる瞬間）が分かれば、その指さし行動にかかるおおまかな時間および最終的な手先の座標を求めることができる。終点ベクトルｘｆを求めるためには、数１を
【００２５】
【数４】
2013109444.tif 000006
と変形し、その時の手先の座標ベクトルｘ（τ１）、動作開始時の座標ベクトルｘ０、τ１（数３）を代入し、
【００２６】
【数５】
2013109444.tif 000007
を求めることで手先の最終点の座標ベクトルｘｆを求めることができる。
【００２７】
上記のように、終点ベクトルｘｆを求めることにより、動作終了位置を算出（予測）することが可能となるのである。本実施形態では、行動モデル演算部２４において、特定部位である手先の速度、加速度およびその変化量を算出し、これらの算出結果とともに、動作当初の位置を前記記憶装置に保存し、これらのデータから動作終了位置を算出しているのである。
【００２８】
次に、制御プログラムにかかる発明の実施形態について説明する。図３は、コンピュータに実行させるべき各ステップの概略を示している。この図に示すように、処理を開始すると、特定部位（手首）の動きが一定値以上か否かが判断される（ステップＳ１）。図示していないが、画像ブロックのデータが入力されると、各ブロック間における特定部位（手首）の変位量が検出され（変位量検出ステップ）、その変位量に基づき特定部位（手首）の速度が算出される（速度演算ステップ）。そこで、特定部位（手首）の動きの一定とは、特定部位（手首）の速度を基準とすることができる。
【００２９】
そして、その手首の動き（速度）が一定値を超えない場合は、その値が一定値を超えるまでループするが、一定値を超えると、次のステップＳ２を実行する。ここでは、動作開始時の時刻および開始座標の記録である。画像フレームの取得時刻と手首の座標は、逐次記録しているが、手首の動きが一定値を超えるとき、すでに記録されている移動開始当初のデータを初期値として再度記録するのである。このステップＳ２と同時期に、手首の加速度の算出が開始される（加速度演算ステップ。図示を省略している。）。そして、この加速度の変化量から加速度が極大となったか否かが判断される（加速度判断ステップ、ステップＳ３）。なお、加速度の変化量から躍度（加速度の微分）を演算させ、その値に着目してもよい。この場合においても、その判断には、時々刻々変化する手首の加速度を比較し、加速度の変化量が＋から−に変化した時をもって躍度を０（加速度は極小あるいは極大）と評価することができる（図２参照）。そして、加速度が極大となったとき（または、最初に躍度が０を示すとき）、当該状態に至るまでに算出された各データから所定の数値を選択し、数５に当てはめて動作終了位置を算出するのである（ステップＳ４）。
【００３０】
上記実施形態では、手首の動き（速度）が一定値以上となるときに各ステップが実行されるようにしたが、この判断を割愛し、特定部位が動作を開始した場合に、その動作全てについて動作終了位置を算出するように構成してもよい。
【実施例】
【００３１】
本発明では、手先の軌跡の認識に３次元画像センサとして、Ｍｉｃｒｏｓｏｆｔ社のＫｉｎｅｃｔ（登録商標）を使用した。そして、Ｋｉｎｅｃｔのデバイスコントロールおよび画像処理からのジェスチャー認識を行うためにＯｐｅｎＮＩ（ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｎｉ．ｏｒｇ／）を使用して、手先の座標を得た。
【００３２】
指さし行動の開始の認識は以下のように行った。まず、人間の手先の位置をフレームごとに取得し、１フレーム前の手先の位置との差を求めることにより、フレームごとの速度を求めた。このとき、閾値を決め、その値以上の速度となった時、指先行動開始時点としてその時刻および手先の座標を記録した。
【００３３】
以降は、手先の位置のフレーム間差分により速度、並びに速度の差分により加速度、加速度の差分により躍度を毎フレーム毎にそれぞれ求めた。数４のτ１に相当する点を検出するために、躍度が０となる時間を探すが、実際に０になることは稀であるため、時刻tにおいて、指さし行動開始後はじめて、ａｔ＜＝ａｔ−１となるとき、ｔ−１をτ１の時刻とし、この時の手先の座標をベクトルｘ（τ）として、数５に代入した。
【００３４】
本実施例ではロボットの視線を再現したディスプレイ上の目を動かすことで動作検証を行っている。動作検証は次の通り実施した。まず、制御処理装置１１および制御演算部３１をＰＣ（Ｉｎｔｅｌ製ＣＰＵ３．４ＧＨｚ、メモリ４ＧＢ）に制御プログラムをＣ＃言語により実装することで構築した。つぎに動作取得装置１２としての３次元画像センサ（Ｍｉｃｒｏｓｏｆｔ製Ｋｉｎｅｃｔ）と、ＰＣとをインターフェースを介し電気的に接続し、画像データを取得できるようにした。対象とする人と３次元センサの距離は２．９ｍ離し、右，下，左にそれぞれオブジェクトを配置し、指差し動作をそれぞれに対して、各方向２０回ずつ行った。三つのオブジェクトと３次元センサの距離は、それぞれ２ｍ（右）、０．７ｍ（下）、２ｍ（左）とした。本実施例は、ひとつの３次元画像センサのみを用いて、マーカーなしにもかかわらず、行動開始から行動終了時間の２１％ほどの時間（数３参照）だけで予測を実現できた。そのときの指さし動作終了時の手の予測位置と実際に手の止まった位置との誤差、および指さし動作の終了時間と予測した終了時間の誤差についての評価を以下に示す。
【００３５】
【表１】
2013109444.tif 000008
【００３６】
上記表１は、指さし動作終了時の手の予測位置と実際に手の止まった位置との誤差をまとめたものである。各指さし方向の平均誤差半径（ＣＥＰ：Ｃｉｒｃｕｌａｒ  Ｅｒｒｏｒ  Ｐｒｏｂａｂｉｌｉｔｙ）と、ＸＹＺ各軸ついての誤差平均、誤差標準偏差を示す。各軸での誤差平均が２００ｍｍ以内であった。
【００３７】
【表２】
2013109444.tif 000009
【００３８】
上記表２は、指さし動作の終了時間と予測した終了時間の誤差をまとめたものである。動作終了時間Ｔに対する誤差平均、誤差標準偏差を示す。動作予測時間の遅れは、０．５秒程度であった。
【００３９】
本発明では人間同士のインタラクションにおいてよく用いられる指さし行動に焦点を当て、ロボットと人間との自然なインタラクションの実現のために、人間にあらかじめ装置などを付与することなく、ロボットが人間の手の指す方向を予測する自動制御装置および制御プログラムを実現した。実現した装置およびプログラムでは、３次元画像センサを用い、人間の行動モデルであるＪｅｒｋ最小モデルに基づき、初動のわずかな動作だけで手の指す最終点を予測することができるが、３次元画像センサおよび行動モデルには限定されないものである。
【産業上の利用可能性】
【００４０】
本発明は、例えば手首の動作の終了位置を算出し、これを出力する構成とする場合、ロボットが人間の自然な手の動きを予測することができ、ロボットが人間の指さし行動に自然な状態で処理することができる。また、人の動作全般に及んで予測する場合は、人間の動作から危険な結果を予測し、それを回避することができるロボットを製作することも可能である。
【符号の説明】
【００４１】
１１  制御処理装置
１２  動作取得装置
２１  速度／加速度演算部
２２  動作開始検出部
２３  加速度変化検出部
２４  行動モデル演算部
３１  制御演算部
【図１】
2013109444.tif 000010
【図２】
2013109444.tif 000011
【図３】
2013109444.tif 000012