説明

自動制御装置

【課題】 3次元画像センサを用いて、初動動作から最終的な指示座標を予測する自動制御装置および制御プログラムを提供する。
【解決手段】 3次元画像センサによって取得される画像フレームの前後を比較して人の特定部位の変位量を検出する変位量検出手段と、変位量および画像フレームの取得時間から特定部位の速度を算出する速度演算手段と、速度の変化量から特定部位の加速度を算出する加速度演算手段と、加速度の変化量から加速度が極大となったか否かを判断する加速度判断手段と、特定部位の移動開始から加速度が極大となるまでの時間および加速度が極大となった時の特定部位の位置に基づき、特定部位が動作を終了する位置を算出する動作終了位置演算手段と、その演算結果を出力する出力手段とを備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自動制御装置および制御プログラムに関するものである。
【背景技術】
【0002】
近年、様々な生活支援ロボットの研究・開発が多く行われている。近い将来、生活支援ロボットは日常生活の中に溶け込んでいき、人間とロボットが共生する社会になっていくと予想される。そのような社会において、ロボットが人間と自然にインタラクションを行えるようになることは極めて重要である。例えば、人間同士の会話では、対象を指さしながら会話を進める場合が多くある。ここで、人間とロボットの会話において、人間の指さし行動に対してロボットのレスポンスが遅れてしまうと人間に不自然な印象を与えてしまう。
【0003】
前述のような対話における指さし行為では、人間は話し相手が指を指す前に大体の方向を無意識に推定している。つまり、他人とやりとりをする時、ある程度先の行動を予測しながら会話などを行う。ロボットと人間の自然なインタラクションを実現するには、この、相手の行動を予測する、ということが必要不可欠である。
【0004】
本発明では、人間が日常生活で多用しているであろう指さしに焦点を当てる。特許文献1に開示された先行技術では、身体部位の複数の基準点、動作点、参照点から指示動作を静止動作として検出している。
【0005】
また、非特許文献1によれば、指さしのジェスチャーを予測することが、ロボットと人間との自然なインタラクションを実現するために有効であることが示されている。このシステムでは、モーションキャプチャシステムを用い、指の速度、指と体との距離、人間の体の軸と指さしの方向の角度という3つのパラメータを用いて、人間の様々な行動の中から指さしだけを認識している。そして、指の速度ベクトルを用いて0.3秒後の人間の指の位置の予測を行っている。
【0006】
一方、指さし時に手が止まる位置を予測するためには、人間の手の動きがわからなければならない。Flashらは2点間を移動する手先の運動を表すモデルとして、Jerk最小モデルを提案した(非特許文献2参照)。Jerk最小モデルは、完全ではないものの比較的良く人間の運動と一致し、かつ、その軌跡や運動を解析的に解くことができる、という特徴を持つ。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2009−240370号公報
【非特許文献】
【0008】
【非特許文献1】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)
【非特許文献2】T. Flash, N. Hogan, The Coordination of Arm Movements, J. Neuroscience,vol.5, pp.1688-1703 (1985)
【発明の概要】
【発明が解決しようとする課題】
【0009】
前記特許文献1または非特許文献1に示されるような従来のシステムでは、指の座標の認識に光学式モーションキャプチャを使用しているため、あらかじめ人間へのマーカーの装着を必要とし、かつ、モーションキャプチャが設置された空間でしか動作しないという問題がある。また、逐次的に予測を行っており、指先が指す軌跡上に複数の物体があった場合、ポインティング対象として認識される物体が動作の中で次々に移り変わっていくという状況が発生する、という問題があった。
【0010】
本発明では、上記の問題点にかんがみ、マーカーを使用せずに3次元画像センサのみを用いて、初動動作から最終的な指示座標を予測する自動制御装置および制御プログラムを提供する。
【課題を解決するための手段】
【0011】
そこで、発明者らは鋭意研究の結果、次の発明を完成するに至った。
すなわち、請求項1に記載の発明は、人の特定部位の動作終了位置を予測する自動制御装置であって、3次元画像センサによって取得される画像フレームの前後を比較して前記特定部位の変位量を検出する変位量検出手段と、該変位量検出手段により検出された変位量および前記画像フレームの取得時間から前記特定部位の速度を算出する速度演算手段と、該速度演算手段により算出された速度の変化量から前記特定部位の加速度を算出する加速度演算手段と、該加速度演算手段により算出された加速度の変化量から加速度が極大となったか否かを判断する加速度判断手段と、前記特定部位の移動開始から加速度が極大となるまでの時間および加速度が極大となった時の該特定部位の位置に基づき、該特定部位が動作を終了する位置を算出する動作終了位置演算手段と、該動作終了位置演算手段による演算結果を出力する出力手段とを備えたことを特徴とする。
【0012】
請求項2に記載の発明は、請求項1に記載の発明において、前記変位量検出手段が、前記画像フレームが入力されるとき変位量を検出する変位量検出手段であり、前記速度演算手段が、前記変位量検出手段により変位量が検出されるとき特定部位の速度を算出する速度演算手段であり、前記動作終了位置演算手段が、前記速度演算手段による演算結果が所定値を超えるとき、特定部位の当初の変位量の検出時を該特定部位の動作の出発点として、該特定部位の移動量を算出することにより動作終了位置を演算する動作終了位置演算手段であることを特徴とする。
【0013】
また、請求項3に記載の発明は、人の特定部位の動作を予測する自動制御装置の制御プログラムであって、前記プログラムは、コンピュータに、3次元画像センサによって取得される画像フレームの前後を比較して前記特定部位の変位量を検出する変位量検出ステップと、該変位量検出ステップにより検出された変位量および前記画像フレームの取得時間から前記特定部位の速度を算出する速度演算ステップと、該速度演算ステップにより算出された速度の変化量から前記特定部位の加速度を算出する加速度演算ステップと、該加速度演算ステップにより算出された加速度の変化量から加速度が極大となったか否か(すなわち、躍度が最初に0となるか否か)を判断する加速度判断ステップと、前記特定部位の移動開始から加速度が極大となるまでの時間および加速度が極大となった時の該特定部位の位置に基づき、該特定部位が動作を終了する位置を算出する動作終了位置演算ステップと、該動作終了位置演算ステップによる演算結果を出力する出力ステップとを実行させることを特徴とする。
【0014】
請求項4に記載の発明は、請求項3に記載の発明において、前記変位量検出ステップが、前記画像フレームが入力されるとき変位量を検出する変位量検出ステップであり、前記速度演算ステップが、前記変位量検出ステップにより変位量が検出されるとき特定部位の速度を算出する速度演算ステップであり、前記動作終了位置演算ステップが、前記速度演算ステップによる演算結果が所定値を超えるとき、特定部位の当初の変位量の検出時を該特定部位の動作の出発点として、該特定部位の移動量を算出することにより動作終了位置を演算する動作終了位置演算ステップであることを特徴とする。
【発明の効果】
【0015】
現在の3次元画像センサは、小型のヒューマノイドのサイズであれば十分に搭載可能な小型のデバイスであり、かつ、人間になんらかの装備を行わずとも人間の姿勢や部位の3次元座標を取得することができる。人間の行動モデルを用いた予測を応用することで、初動のわずかな動作だけで手の指す最終点を予測することを実現した。
【図面の簡単な説明】
【0016】
【図1】図1は、自動制御装置の構成を示すブロック図である。
【図2】図2は、人の行動モデルにおける加速度を示すグラフである。
【図3】図3は、制御プログラムのフロー図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態を図面に基づき説明する。図1は、自動制御装置にかかる本発明の実施形態の構成を示すブロック図である。この図に示すように、本実施形態のシステム全体は、制御処理装置11および動作取得装置12によって構成されている。制御処理装置は、速度/加速度演算部21を備え、動作取得装置12からの人行動データから速度および加速度データを3次元画像センサによって取得される画像フレームのデータなどから抽出する。また、動作開始検出部22、加速度変化検出部23、行動モデル演算部24をも備え、速度/加速度演算部21から出力される予測演算に必要な情報である速度および加速度データが入力されるようになっている。さらに、制御演算部31を備え、行動モデル演算部24からの予測結果出力を用いて、次の制御予測のために動作開始検出部22へ予測演算要求を行うことができるようになっている。
【0018】
人の特定部位の動作予測は、動作開始検出部22、加速度変化検出部23、行動モデル演算部24によって処理される。例えば、動画像を1秒あたり20〜30個ごとに分割した個々の画像(以下、画像フレームという)の取得は、速度/加速度演算部21によって処理されるが、この画像フレームのデータが動作開始検出部22に入力されると、加速度変化検出部23が変位量検出手段として機能し、当該特定部位の変位量検出を行う。変位量検出は、画像フレームの前後を比較して前記特定部位の変位量を検出する。また、行動モデル演算部24は、速度演算手段として機能し、変位量検出により検出された変位量および画像フレームが取得される時間の間隔(以下、取得時間という、(1秒あたり20個の画像フレームの場合は0.05秒を意味する))から前記特定部位の速度を算出する。
【0019】
また、行動モデル演算部24は、加速度演算手段としても機能し、前記速度演算により算出された速度の変化量から特定部位の加速度を算出する。前述した各演算は、CPU(Central Processing Unit)などのプロセッサおよび該プロセッサと電気的に接続されたRAM(Ramdom Access Memory)などの記憶装置ならびにROM(Read Only Memory)など電子回路制御機構から構成される、プログラム可能な演算処理装置を用いて実行される。各演算結果は記憶装置に保存され、動作終了位置を演算する際に使用される。そして、加速度演算手段により算出された加速度の変化量から加速度が極大であるか否かが行動モデル演算部24により判断される(行動モデル演算部24が加速度判断手段として機能する)。加速度が極大であると判断されると、予測値特定部位の移動開始から加速度が極大となるまでの時間および加速度が極大となった時の特定部位の位置に関する情報に基づき、特定部位が動作を終了する位置を算出する動作終了位置を演算する(動作終了位置演算手段として機能する)。そして、その演算結果は制御演算部31に出力され(行動モデル演算部24が出力手段として機能し)、制御演算部31によって必要な処理が実行される。
【0020】
ところで、動作終了位置演算における算出方法としては、本発明では人間の行動モデルとして、Jerk最小モデルを用いる。このモデルにおいて、人の特定部位(以下、人の手首を前提とする。なお、人の手首を人間の手先と表現する場合がある。)の動きの開始点、最終点で速度と加速度が0であり、開始点をベクトルx(以下、ベクトル量を上付き矢印つき記号で標記する。)、最終点をベクトルxとすると、ある時刻τにおける手先の座標ベクトルx(τ)は以下のように表すことができる。
【0021】
【数1】

ここで、tは動作開始時からの時間であり、Tは動作開始から終了までにかかる時間である。また、このベクトルx(τ)に対する加速度は、図2のようになる。ここで、加速度の傾きが変化する点τ、τは、数1を3回微分した次式
【0022】
【数2】

から、数2左辺の値を0とした条件を満たすτを求めると、
【0023】
【数3】

となる。
【0024】
よって、動作開始から加速度が極大となるまで(加速度の微分値(躍度)が最初に0となるまで)の時間τは動作終了までの時間の約21%であることがわかる。つまり、指さし行動時に、手先の加速度が増加から減少に変わる瞬間、すなわち、加速度が極大となる時(躍度が0になる瞬間)が分かれば、その指さし行動にかかるおおまかな時間および最終的な手先の座標を求めることができる。終点ベクトルxを求めるためには、数1を
【0025】
【数4】

と変形し、その時の手先の座標ベクトルx(τ)、動作開始時の座標ベクトルx、τ(数3)を代入し、
【0026】
【数5】

を求めることで手先の最終点の座標ベクトルxを求めることができる。
【0027】
上記のように、終点ベクトルxを求めることにより、動作終了位置を算出(予測)することが可能となるのである。本実施形態では、行動モデル演算部24において、特定部位である手先の速度、加速度およびその変化量を算出し、これらの算出結果とともに、動作当初の位置を前記記憶装置に保存し、これらのデータから動作終了位置を算出しているのである。
【0028】
次に、制御プログラムにかかる発明の実施形態について説明する。図3は、コンピュータに実行させるべき各ステップの概略を示している。この図に示すように、処理を開始すると、特定部位(手首)の動きが一定値以上か否かが判断される(ステップS1)。図示していないが、画像ブロックのデータが入力されると、各ブロック間における特定部位(手首)の変位量が検出され(変位量検出ステップ)、その変位量に基づき特定部位(手首)の速度が算出される(速度演算ステップ)。そこで、特定部位(手首)の動きの一定とは、特定部位(手首)の速度を基準とすることができる。
【0029】
そして、その手首の動き(速度)が一定値を超えない場合は、その値が一定値を超えるまでループするが、一定値を超えると、次のステップS2を実行する。ここでは、動作開始時の時刻および開始座標の記録である。画像フレームの取得時刻と手首の座標は、逐次記録しているが、手首の動きが一定値を超えるとき、すでに記録されている移動開始当初のデータを初期値として再度記録するのである。このステップS2と同時期に、手首の加速度の算出が開始される(加速度演算ステップ。図示を省略している。)。そして、この加速度の変化量から加速度が極大となったか否かが判断される(加速度判断ステップ、ステップS3)。なお、加速度の変化量から躍度(加速度の微分)を演算させ、その値に着目してもよい。この場合においても、その判断には、時々刻々変化する手首の加速度を比較し、加速度の変化量が+から−に変化した時をもって躍度を0(加速度は極小あるいは極大)と評価することができる(図2参照)。そして、加速度が極大となったとき(または、最初に躍度が0を示すとき)、当該状態に至るまでに算出された各データから所定の数値を選択し、数5に当てはめて動作終了位置を算出するのである(ステップS4)。
【0030】
上記実施形態では、手首の動き(速度)が一定値以上となるときに各ステップが実行されるようにしたが、この判断を割愛し、特定部位が動作を開始した場合に、その動作全てについて動作終了位置を算出するように構成してもよい。
【実施例】
【0031】
本発明では、手先の軌跡の認識に3次元画像センサとして、Microsoft社のKinect(登録商標)を使用した。そして、Kinectのデバイスコントロールおよび画像処理からのジェスチャー認識を行うためにOpenNI(http://www.openni.org/)を使用して、手先の座標を得た。
【0032】
指さし行動の開始の認識は以下のように行った。まず、人間の手先の位置をフレームごとに取得し、1フレーム前の手先の位置との差を求めることにより、フレームごとの速度を求めた。このとき、閾値を決め、その値以上の速度となった時、指先行動開始時点としてその時刻および手先の座標を記録した。
【0033】
以降は、手先の位置のフレーム間差分により速度、並びに速度の差分により加速度、加速度の差分により躍度を毎フレーム毎にそれぞれ求めた。数4のτ1に相当する点を検出するために、躍度が0となる時間を探すが、実際に0になることは稀であるため、時刻tにおいて、指さし行動開始後はじめて、a<=at−1となるとき、t−1をτの時刻とし、この時の手先の座標をベクトルx(τ)として、数5に代入した。
【0034】
本実施例ではロボットの視線を再現したディスプレイ上の目を動かすことで動作検証を行っている。動作検証は次の通り実施した。まず、制御処理装置11および制御演算部31をPC(Intel製CPU3.4GHz、メモリ4GB)に制御プログラムをC#言語により実装することで構築した。つぎに動作取得装置12としての3次元画像センサ(Microsoft製Kinect)と、PCとをインターフェースを介し電気的に接続し、画像データを取得できるようにした。対象とする人と3次元センサの距離は2.9m離し、右,下,左にそれぞれオブジェクトを配置し、指差し動作をそれぞれに対して、各方向20回ずつ行った。三つのオブジェクトと3次元センサの距離は、それぞれ2m(右)、0.7m(下)、2m(左)とした。本実施例は、ひとつの3次元画像センサのみを用いて、マーカーなしにもかかわらず、行動開始から行動終了時間の21%ほどの時間(数3参照)だけで予測を実現できた。そのときの指さし動作終了時の手の予測位置と実際に手の止まった位置との誤差、および指さし動作の終了時間と予測した終了時間の誤差についての評価を以下に示す。
【0035】
【表1】

【0036】
上記表1は、指さし動作終了時の手の予測位置と実際に手の止まった位置との誤差をまとめたものである。各指さし方向の平均誤差半径(CEP:Circular Error Probability)と、XYZ各軸ついての誤差平均、誤差標準偏差を示す。各軸での誤差平均が200mm以内であった。
【0037】
【表2】

【0038】
上記表2は、指さし動作の終了時間と予測した終了時間の誤差をまとめたものである。動作終了時間Tに対する誤差平均、誤差標準偏差を示す。動作予測時間の遅れは、0.5秒程度であった。
【0039】
本発明では人間同士のインタラクションにおいてよく用いられる指さし行動に焦点を当て、ロボットと人間との自然なインタラクションの実現のために、人間にあらかじめ装置などを付与することなく、ロボットが人間の手の指す方向を予測する自動制御装置および制御プログラムを実現した。実現した装置およびプログラムでは、3次元画像センサを用い、人間の行動モデルであるJerk最小モデルに基づき、初動のわずかな動作だけで手の指す最終点を予測することができるが、3次元画像センサおよび行動モデルには限定されないものである。
【産業上の利用可能性】
【0040】
本発明は、例えば手首の動作の終了位置を算出し、これを出力する構成とする場合、ロボットが人間の自然な手の動きを予測することができ、ロボットが人間の指さし行動に自然な状態で処理することができる。また、人の動作全般に及んで予測する場合は、人間の動作から危険な結果を予測し、それを回避することができるロボットを製作することも可能である。
【符号の説明】
【0041】
11 制御処理装置
12 動作取得装置
21 速度/加速度演算部
22 動作開始検出部
23 加速度変化検出部
24 行動モデル演算部
31 制御演算部


【特許請求の範囲】
【請求項1】
人の特定部位の動作終了位置を予測する自動制御装置であって、
3次元画像センサによって取得される画像フレームの前後を比較して前記特定部位の変位量を検出する変位量検出手段と、
該変位量検出手段により検出された変位量および前記画像フレームの取得時間から前記特定部位の速度を算出する速度演算手段と、
該速度演算手段により算出された速度の変化量から前記特定部位の加速度を算出する加速度演算手段と、
該加速度演算手段により算出された加速度の変化量から加速度が極大となったか否かを判断する加速度判断手段と、
前記特定部位の移動開始から加速度が極大となるまでの時間および加速度が極大となった時の該特定部位の位置に基づき、該特定部位が動作を終了する位置を算出する動作終了位置演算手段と、
該動作終了位置演算手段による演算結果を出力する出力手段とを備えたことを特徴とする自動制御装置。
【請求項2】
前記変位量検出手段は、前記画像フレームが入力されるとき変位量を検出する変位量検出手段であり、前記速度演算手段は、前記変位量検出手段により変位量が検出されるとき特定部位の速度を算出する速度演算手段であり、前記動作終了位置演算手段は、前記速度演算手段による演算結果が所定値を超えるとき、特定部位の当初の変位量の検出時を該特定部位の動作の出発点として、該特定部位の移動量を算出することにより動作終了位置を演算する動作終了位置演算手段である請求項1に記載の自動制御装置。
【請求項3】
人の特定部位の動作を予測する自動制御装置の制御プログラムであって、
前記プログラムは、コンピュータに、
3次元画像センサによって取得される画像フレームの前後を比較して前記特定部位の変位量を検出する変位量検出ステップと、
該変位量検出ステップにより検出された変位量および前記画像フレームの取得時間から前記特定部位の速度を算出する速度演算ステップと、
該速度演算ステップにより算出された速度の変化量から前記特定部位の加速度を算出する加速度演算ステップと、
該加速度演算ステップにより算出された加速度の変化量から加速度が極大となったか否かを判断する加速度判断ステップと、
前記特定部位の移動開始から加速度が極大となるまでの時間および加速度が極大となった時の該特定部位の位置に基づき、該特定部位が動作を終了する位置を算出する動作終了位置演算ステップと、
該動作終了位置演算ステップによる演算結果を出力する出力ステップとを実行させることを特徴とする制御プログラム。
【請求項4】
前記変位量検出ステップは、前記画像フレームが入力されるとき変位量を検出する変位量検出ステップであり、前記速度演算ステップは、前記変位量検出ステップにより変位量が検出されるとき特定部位の速度を算出する速度演算ステップであり、前記動作終了位置演算ステップは、前記速度演算ステップによる演算結果が所定値を超えるとき、特定部位の当初の変位量の検出時を該特定部位の動作の出発点として、該特定部位の移動量を算出することにより動作終了位置を演算する動作終了位置演算ステップである請求項3に記載の制御プログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2013−109444(P2013−109444A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−252308(P2011−252308)
【出願日】平成23年11月18日(2011.11.18)
【出願人】(304027349)国立大学法人豊橋技術科学大学 (391)
【Fターム(参考)】