(57)【要約】【課題】マニピュレータの動作とマニピュレータの動作とは関係の無い或る動作についてのマルチタスクを実現することができる。【解決手段】第１制御装置１２はＣＰＵ３０を含み、ＣＰＵは脳波検出器２２で検出されたユーザの脳波信号に基づいてマニピュレータ１８の動作を制御するための制御信号を生成する。第２制御装置１６は、この制御信号に基づいてマニピュレータ１８に設けられた各アクチュエータ（１８０−１８８）を動作させるモータを駆動する。ユーザは、ボールを載せたボードを両手で持ち、このボードを動かす動作を行うことにより、ボードに記載された所定のマーク上を通過するようにボールを転がしながら、マニピュレータを動作させることによって達成される目的を意図する。このときの脳波信号に基づいて制御信号が生成され、マニピュレータが動作される。【選択図】  図１
2019147214.tif 000002
【特許請求の範囲】
【請求項１】
マニピュレータを制御する制御装置であって、
脳波信号を検出する検出手段と、
前記検出手段によって検出された、前記マニピュレータの動作とは関係の無い動作を行うユーザの脳波信号に基づいて当該マニピュレータを動作させるための制御信号を生成する生成手段と、
前記生成手段によって生成された制御信号に基づいて前記マニピュレータを動作させる動作手段を備える、制御装置。
【請求項２】
前記マニピュレータは、人間の腕を模したマニピュレータであり、前記ユーザの背中または腕から伸びるように配置される、請求項１記載の制御装置。
【請求項３】
前記検出手段は、複数の電極を備え、前記ユーザの頭部に装着されるブレインキャップを含み、前記複数の電極から選択された１つの電極からの脳波信号を検出する、請求項１または２記載の制御装置。
【請求項４】
前記複数の電極は、国際１０−２０法に従って配置され、
前記複数の電極から、前記マニピュレータの制御に使用する前記１つの電極を所定の方法に従って選択する選択手段をさらに備える、請求項３記載の制御装置。
【請求項５】
前記選択手段による選択処理を前記ユーザ毎に実行する、請求項４記載の制御装置。
【請求項６】
マニピュレータと、前記マニピュレータを制御する制御装置を備える制御システムであって、
脳波信号を検出する検出手段と、
前記検出手段によって検出された、前記マニピュレータの動作とは関係の無い動作を行うユーザの脳波信号に基づいて当該マニピュレータを動作させるための制御信号を生成する生成手段と、
前記生成手段によって生成された制御信号に基づいて前記マニピュレータを動作させる動作手段を備える、制御システム。
【請求項７】
マニピュレータを制御するコンピュータによって実行される制御プログラムであって、
前記コンピュータのプロセッサに、
脳波信号を検出する検出ステップと、
前記検出ステップにおいて検出した、前記マニピュレータの動作とは関係の無い動作を行うユーザの脳波信号に基づいて当該マニピュレータを動作させるための制御信号を生成する生成ステップと、
前記生成ステップにおいて生成した制御信号に基づいて前記マニピュレータを動作させる動作ステップを実行させる、制御プログラム。
【請求項８】
マニピュレータを制御する制御方法であって、
（ａ）脳波信号を検出するステップと、
（ｂ）前記ステップ（ａ）において検出した、前記マニピュレータの動作とは関係の無い動作を行うユーザの脳波信号に基づいて当該マニピュレータを動作させるための制御信号を生成するステップと、
（ｃ）前記ステップ（ｂ）において生成した制御信号に基づいて前記マニピュレータを動作させるステップを含む、制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は制御装置、制御システム、制御プログラムおよび制御方法に関し、特にたとえば、ユーザから検出された脳波信号に基づいてマニピュレータの動作を制御する、制御装置、制御システム、制御プログラムおよび制御方法に関する。
【背景技術】
【０００２】
この発明の背景技術の一例が特許文献１に開示される。この特許文献１に開示されるブレイン−マシンインタフェース装置は、使用者から取得した脳波を分析し、被操作装置を選択的に操作するための操作制御部の使用意図の有無を判断する。使用意図が有る状態では、操作制御部がオンされ、使用意図が無い状態では、操作制御部がオフされる。ブレイン−マシンインタフェース装置は、複数の被操作装置のうちのどれを操作使用する意思なのかを判断し、複数の操作モードのうちから１つを選択し、選択した操作モードで被操作装置を制御する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−６７９２２[A61B 5/0476]
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、この背景技術では、使用者が恣意的にシステムをオン／オフさせるだけであり、使用者がシステムとは関係の無い或る動作を行いながらシステムをオン／オフさせるようなマルチタスクを実現することは何ら考慮されていない。
【０００５】
それゆえに、この発明の主たる目的は、新規な、制御装置、制御システム、制御プログラムおよび制御方法を提供することである。
【０００６】
この発明の他の目的は、マニピュレータの動作とマニピュレータの動作とは関係の無い或る動作についてのマルチタスクを実現できる、制御装置、制御システム、制御プログラムおよび制御方法を提供することである。
【課題を解決するための手段】
【０００７】
第１の発明は、マニピュレータを制御する制御装置であって、検出手段と、生成手段と、動作手段を備える。検出手段は、脳波信号を検出する。生成手段は、検出手段によって検出された、マニピュレータの動作とは関係の無い動作を行うユーザの脳波信号に基づいて当該マニピュレータを動作させるための制御信号を生成する。動作手段は、生成手段によって生成された制御信号に基づいてマニピュレータを動作させる。
【０００８】
第２の発明は、第１の発明に従属し、マニピュレータは、人間の腕を模したマニピュレータであり、ユーザの背中または腕から伸びるように配置される。
【０００９】
第３の発明は、第１または第２の発明に従属し、検出手段は、複数の電極を備え、ユーザの頭部に装着されるブレインキャップを含み、複数の電極から選択された１つの電極からの脳波信号を検出する。
【００１０】
第４の発明は、第３の発明に従属し、複数の電極は、国際１０−２０法に従って配置され、複数の電極から、マニピュレータの制御に使用する１つの電極を所定の方法に従って選択する選択手段をさらに備える。
【００１１】
第５の発明は、第４の発明に従属し、選択手段による選択処理をユーザ毎に実行する。
【００１２】
第６の発明は、マニピュレータと、マニピュレータを制御する制御装置を備える制御システムであって、脳波信号を検出する検出手段と、検出手段によって検出された、マニピュレータの動作とは関係の無い動作を行うユーザの脳波信号に基づいて当該マニピュレータを動作させるための制御信号を生成する生成手段と、生成手段によって生成された制御信号に基づいてマニピュレータを動作させる動作手段を備える、制御システムである。
【００１３】
第７の発明は、マニピュレータを制御するコンピュータによって実行される制御プログラムであって、コンピュータのプロセッサに、脳波信号を検出する検出ステップと、検出ステップにおいて検出した、マニピュレータの動作とは関係の無い動作を行うユーザの脳波信号に基づいて当該マニピュレータを動作させるための制御信号を生成する生成ステップと、生成ステップにおいて生成した制御信号に基づいてマニピュレータを動作させる動作ステップを実行させる、制御プログラムである。
【００１４】
第８の発明は、マニピュレータを制御する制御方法であって、（ａ）脳波信号を検出するステップと、（ｂ）ステップ（ａ）において検出した、マニピュレータの動作とは関係の無い動作を行うユーザの脳波信号に基づいて当該マニピュレータを動作させるための制御信号を生成するステップと、（ｃ）ステップ（ｂ）において生成した制御信号に基づいてマニピュレータを動作させるステップを含む、制御方法である。
【発明の効果】
【００１５】
この発明によれば、マニピュレータの動作とは関係の無い或る動作を行うユーザの脳波信号に基づいてこのマニピュレータの動作を制御するので、マニピュレータの動作とマニピュレータの動作とは関係の無い或る動作についてのマルチタスクを実現することができる。
【００１６】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００１７】
【図１】図１はこの実施例の制御システムの電気的な構成の一例を示すブロック図である。
【図２】図２は図１に示すマニピュレータの外観構成の一例を示す図である。
【図３】図３は図１に示すマニピュレータの構造を模式的に示した図である。
【図４】図４はユーザがブレインキャップを装着した場合の複数の電極の配置状態を示す模式的な図である。
【図５】図５はこの実施例のマニピュレータを使用する状態を説明するための図である。
【図６】図６は０〜１秒の間におけるマニピュレータの各アクチュエータを動作させるモータモータの回転量の変化を示すグラフである。
【図７】図７（Ａ）〜図７（Ｅ）はマニピュレータの動作のうちの代表的な時点における状態を示すための図である。
【図８】図８は脳波信号に基づく出力値に対応する各アクチュエータを動作させるモータの回転量を示すテーブルである。
【図９】図９は或る試行回数において９つの電極の各々から取得した脳波信号の或る周波数帯域の周波数に対するＰＳＤの値の変化の一例を示すグラフである。
【図１０】図１０は９つの電極が１つの電極を選択する方法および閾値を決定する方法を説明するための図である。
【図１１】図１１は図１に示す第１制御装置に内蔵されるＲＡＭのメモリマップの一例を示す図である。
【図１２】図１２は図１に示す第１制御装置に内蔵されるＣＰＵの制御処理の一例を示すフロー図である。
【発明を実施するための形態】
【００１８】
図１はこの実施例の制御システム１０の電気的な構成を示すブロック図であり、制御システム１０は第１制御装置１２を含む。第１制御装置１２は、表示装置１４、第２制御装置１６およびＡ／Ｄ（アナログ／デジタル）変換器２０に接続される。また、第２制御装置１６は、マニピュレータ１８に接続される。さらに、Ａ／Ｄ変換器２０は、脳波検出器２２に接続される。
【００１９】
なお、図１に示す制御システム１０の電気的な構成は単なる一例であり、限定されるべきでない。たとえば、第２制御装置１６の機能を第１制御装置１２が備える場合には、第２制御装置１６は省略することができる。
【００２０】
第１制御装置１２は、汎用のパーソナルコンピュータやワークステーションなどのコンピュータであり、ＣＰＵ３０を含み、ＣＰＵ３０は、内部バスを介して、ＨＤＤ３２、ＲＡＭ３４、表示制御部３６、入力装置３８および入出力インターフェース（以下、「入出力Ｉ／Ｆ」という）４０に接続される。表示装置１４は、表示制御部３６に接続され、第２制御装置１６およびＡ／Ｄ変換器２０は、それぞれ、入出力Ｉ／Ｆ４０に接続される。
【００２１】
ＨＤＤ３２は、第１制御装置１２の主記憶装置であり、オペレーティングシステムおよび各種のアプリケーションプログラムを記憶する。ＲＡＭ３４は、揮発性のメモリであり、ＣＰＵ３０のワーキング領域およびバッファ領域として使用される。
【００２２】
表示制御部３６は、表示装置１４のドライバであり、ＣＰＵ３０の制御の下で、マニピュレータ１８の動作状態、検出した脳波信号の時間変化または脳波信号をフーリエ変換（この実施例では、短時間フーリエ変換（ＳＴＦＴ））したパワースペクトル密度（ＰＳＤ）に関する情報などを表示するための表示信号を出力する。この実施例では、脳波検出器２２よって検出されるユーザの脳活動の信号は、たとえば、脳波（ＥＥＧ：Electroencephalogram）信号であるものとする。
【００２３】
入力装置３８は、ハードウェアのキーボード、コンピュータマウス、タッチパネルまたはタッチパッドのような汎用の入力装置である。入出力Ｉ／Ｆ４０は、コマンド（制御信号）を通信経路を介して、マニピュレータ１８の第２制御装置１６に送信する。また、入出力Ｉ／Ｆ４０は、Ａ／Ｄ変換器２０からの信号を受信する。
【００２４】
第２制御装置１６は、第１制御装置１２からの制御信号に基づいてマニピュレータ１８の動作を制御するためのコンピュータであり、マイクロコンピュータを用いることができる。詳細な説明は省略するが、第２制御装置１６は、マニピュレータ１８の現在の動作状態を第１制御装置１２に通知する。
【００２５】
図２はマニピュレータ１８の外観構成の一例を示す図である。図３はマニピュレータ１８の構造を模式的に示した図である。以下、図２および図３を参照しながら、マニピュレータ１８について説明する。
【００２６】
マニピュレータ１８は、人間の腕を模したロボットアームであり、腕アンドロイドとも呼ばれる。この実施例のマニピュレータ１８では、人間の皮膚に相当する外皮が被せられており、その内部に、関節に相当する複数のアクチュエータ１８０、１８２、１８４、１８６、１８８と、関節によって連結される骨に相当する複数のフレーム１９０が設けられる。一例として、外皮は、シリコーン樹脂で形成される。
【００２７】
なお、図２では、アクチュエータ１８０〜１８８が設けられる位置を点を用いて示してある。
【００２８】
マニピュレータ１８は、ユーザの第３の腕として用いられ、支持台２００で支持され、椅子２０２に座ったユーザの背中または肩付近から伸びるように配置される（図５参照）。図２では省略するが、支持台２００は、椅子２０２の後方（背面側）に配置される。
【００２９】
なお、マニピュレータ１８についての胴体部を想定して、胴体部に対して人間の左腕のように動作するように設定される。図３においては、胴体部の上下方向に伸びる軸（中心軸）が背骨部分に相当し、中心軸に対して垂直であり胴体部の左右の肩に相当する部分を結ぶ横軸上にマニピュレータ１８の肩に相当する部分が配置されるように、マニピュレータ１８を支持台２００に取り付ける。また、中心軸と横軸の両方に垂直な直線の向きを胴体部の前後方向とした場合にマニピュレータ１８の動作に違和感が無いように、各アクチュエータ１８０〜１８８の位置および向きが決定される。
【００３０】
アクチュエータ１８０およびアクチュエータ１８２は、互いに異なる軸周りに回転され、肩関節に相当し、支持台２００の上部と上腕に相当するフレーム１９０を連結する。アクチュエータ１８４は、肘関節に相当し、上腕と前腕に相当するフレーム１９０を連結する。アクチュエータ１８６は、手首関節に相当し、前腕と掌に相当するフレーム１９０を連結する。そして、アクチュエータ１８８は、指の第３関節に相当し、掌と指に相当するフレーム１９０を連結する。
【００３１】
詳細な説明および図示は省略するが、アクチュエータ１８８が動作されることにより、指の第３関節に相応する部分が曲がると、これに連動して、第１関節および第２関節に相当する部分も曲がるように構成されている。指の第３関節に相当する部分を伸ばす場合も同様である。
【００３２】
図示は省略するが、アクチュエータ１８０〜１８８は、モータの回転によって、軸周りに回転される。したがって、第２制御装置１６は、マニピュレータ１８のアクチュエータ１８０〜１８８を動作させるためのモータを制御する。
【００３３】
このような構成にすることにより、マニピュレータ１８は、腕の上げ下げに相当する動作、肘の曲げ伸ばしに相当する動作、手首の回転および指の曲げ伸ばしに相当する動作を実行できる。この実施例のマニピュレータ１８では、腕を下方であり、斜め前に伸ばし、掌を上に向けて指を伸ばした状態（以下、「手放し状態」という）と、腕を少し上げて、前方に伸ばし、掌を横に向けて指を曲げた状態（以下、「掴んだ状態」という）と、その２つの状態の間の状態を実現するように動作させることができる。
【００３４】
図１に戻って、Ａ／Ｄ変換器２０は、脳波検出器２２から入力されるアナログの脳波信号を増幅するとともに、デジタルの信号に変換して、入出力Ｉ／Ｆ４０を介してＣＰＵ３０に入力する。図１では、Ａ／Ｄ変換器２０と入出力Ｉ／Ｆ４０を有線接続するように記載してあるが、これらは無線接続されるように変更されてもよい。
【００３５】
脳波検出器２２は、ブレインキャップとも呼ばれ、キャップに複数の電極が設けられる。複数の電極は、図４に示すように、国際１０−２０法に基づいて配置されている。この図４は、ユーザがブレインキャップを装着した場合の複数の電極の配置状態をユーザの頭部の上方から見た模式的な図である。
【００３６】
図示は省略するが、基準電極がユーザの右耳に装着され、接地電極がユーザの額に装着される。なお、人体には、脳波以外に筋電などによる比較的大きな電流が流れており、その影響を無くすために基準電極を設け、この基準電極での測定値（基準電位）をブレインキャップに設けられた電極での測定値から減算するようにしてある。
【００３７】
脳波検出器２２（ブレインキャップ）で検出される脳波信号は、上述したように、Ａ／Ｄ変換器２０で増幅およびデジタル変換されて、第１制御装置１２に与えられる。
【００３８】
ただし、脳波信号のサンプリングの周波数は２５０Ｈｚである。また、検出された脳波信号には、アーティファクトのカットオフおよびバンドパスフィルタによるフィルタリングが施される。この実施例では、バンドパスフィルタは、０．５Ｈｚ〜６０Ｈｚの帯域を通過させる。また、図１では省略したが、アーティファクトのカットオフおよびバンドパスフィルタによるフィルタリングは、一例として、脳波検出器２２とＡ／Ｄ変換器２０の間で実行される。
【００３９】
このような構成の制御システム１０では、ユーザがマニピュレータ１８の動作とは関係の無い動作（第１タスク）を実行している場合に、並行して、ユーザから検出した脳波信号に基づいてマニピュレータ１８に所定の動作（第２タスク）を実行させることができる。
【００４０】
図５は第１タスクおよび第２タスクを実行する場合の具体的な態様を示す図である。図５では、ユーザは、ブレインキャップを被り、椅子２０２に座っている。また、上述したように、マニピュレータ１８が、椅子２０２に座ったユーザの背中または左の肩から伸びるように、このマニピュレータ１８を支持する支持台２００が椅子２０２の後方（背面側）に配置される。
【００４１】
図５に示すように、この実施例では、第１タスクは、ユーザがボールが載せられたボードを両手で持ち、ボード上に記載された図形上をボールが転がるようにボードを動かす動作である。つまり、第１タスクは、マニピュレータ１８の動作とは関係の無い動作であって、ユーザが両腕を使う動作である。この実施例では、ボードの上面に、ハート型、三角形、星型および四角形の４つの図形が記載される。
【００４２】
また、図５に示すように、この実施例では、マニピュレータ１８に実行させる所定の動作すなわち第２タスクは、ボトルを掴む動作であり、脳波検出器２２に設けられた複数の電極のうちの１つの電極で検出された脳波信号に基づいて制御される。一例として、ボトルは他のユーザによって差し出される。上記の１つの電極を選択する方法については後で説明することにするが、ユーザ毎に予め選択される。また、厳密に言うと、図４に示した複数の電極のうち、斜線を付した一部の電極から１つの電極が選択される。
【００４３】
斜線を付した一部の電極（９つの電極（Ｆ２、Ｆ３、Ｆ４、Ｃ２、Ｃ３、Ｃ４、Ｐ２、Ｐ３およびＰ４））を使用するのは、額に近い方の電極Ｆｐ１、Ｆｐ２、Ｆ７およびＦ８については瞬目および眼球移動のノイズの影響が大きく、後頭部の方の電極０１、０２、Ｔ５およびＴ６については視覚野（脳の視覚情報を処理する部分）の影響が大きいからである。
【００４４】
また、ユーザ毎に、脳波の出方すなわち検出される脳波信号の周波数特性が異なるため、９つの電極から使用する１つの電極を選択するためである。
【００４５】
選択された１つの電極で検出された脳波信号は所定窓数（５０サンプルの窓数）単位で短時間フーリエ変換（ＳＴＦＴ：short-time Fourier transform）され、ＳＴＦＴされることにより得られたパワースペクトル密度（ＰＳＤ：Power Spectral Density）の値が閾値を用いて［０，１］に正規化される。ただし、閾値は「１」に対応する上限の第１閾値と、「０」に対応する下限の第２閾値を含む。第１閾値および第２閾値は、後述するように、９つの電極から、使用する１つの電極を選択したときに決定される。また、パワースペクトル密度に含まれる複数の周波数帯域のパワー（ＰＳＤの値）のうち、マニピュレータ１８の制御に使用されるのは、選択（決定）された１つの周波数帯域のＰＳＤの値である。１つの周波数帯域が決定される方法についても後述する。
【００４６】
ＰＳＤの値が正規化されると、正規化により得られた値（以下、「出力値」ということがある）に基づいてマニピュレータ１８を制御するための制御信号が生成される。この実施例では、ＰＳＤの値が［０，１］の値に正規化されるため、０〜１までの値を、手放し状態から掴んだ状態までの動作の変化にマッピングしている。具体的には、マニピュレータ１８が１秒間で手放し状態から掴んだ状態に変化させるように制御することとし、この場合の０．１秒毎の各アクチュエータ１８０〜１８８を動作させるモータの回転量が決定される。したがって、ＰＳＤの値が正規化された値すなわち出力値に対応する各アクチュエータ１８０〜１８８を動作させるモータの回転量が決定される。
【００４７】
図６は、マニピュレータ１８を１秒間で手放し状態から掴んだ状態に変化させるように制御する場合において、時間に対応する各アクチュエータ１８０〜１８８を動作させるモータの回転量の変化を示すグラフである。図６のグラフから分かるように、この実施例では、各アクチュエータ１８０〜１８８を動作させるモータの回転量は線形的に変化され、マニピュレータ１８は、手放し状態から掴んだ状態まで次第に変化する。
【００４８】
また、０秒、０．２５秒、０．５秒、０．７５秒および１秒のそれぞれにおけるマニピュレータ１８の状態が図７（Ａ）〜図７（Ｅ）に示される。図７（Ａ）は手放し状態であり、図７（Ｅ）が掴んだ状態である。図７（Ａ）から図７（Ｂ）、図７（Ｃ）、図７（Ｄ）および図７（Ｅ）に順に進むに従って、マニピュレータ１８は、腕を前方に上げながら掌を右向きに変えるとともに、指を次第に曲げるように動作される。
【００４９】
また、１秒から０秒に向かうに方向に各アクチュエータ１８０〜１８８を動作させるモータの回転量を変化させるように制御すると、マニピュレータ１８を図７（Ｅ）の掴んだ状態から図７（Ａ）の手放し状態まで次第に変化させることができる。
【００５０】
ただし、時間毎の各アクチュエータ１８０〜１８８を動作させるモータの回転量は、アクチュエータ１８０〜１８８を動作させるモータの各々について設定される或る回転位置を基準位置とした場合の回転量であり、手放し状態から掴んだ状態までの回転軸の回転方向およびその逆の場合の回転軸の回転方向は予め決定されている。
【００５１】
また、モータの回転量は、０〜２５５の値で設定される。回転量が０の場合は、モータの回転軸は回転方向において基準位置であり、回転量が０から２５５まで変化するとモータの回転軸が１回転する。
【００５２】
この実施例では、第１制御装置１２は、ＰＳＤの値を正規化した出力値に対応する回転量を指定した制御信号を第２制御装置１６に送信するため、ＰＳＤの値を正規化した出力値に対応する各アクチュエータ１８０〜１８８を動作させるモータの回転量を記載したテーブルが設けられている（図８参照）。ただし、テーブルでは、出力値および各アクチュエータ１８０〜１８８を動作させるモータの回転量は、一部の代表的な値が記述される。
【００５３】
図８は、ＰＳＤの値を正規化した出力値に対応する各アクチュエータ１８０〜１８８を動作させるモータの回転量を示すテーブルである。このテーブルでは、出力値が０〜１まで、０．１ずつ変化し、各出力値に対応して、アクチュエータ１８０〜１８８を動作させるモータの回転量が記載される。このテーブルに従って各アクチュエータ１８０〜１８８を動作させるモータの回転量が取得され、各モータの動作を制御するための制御信号が生成される。
【００５４】
ただし、図６に示したように、各アクチュエータ１８０〜１８８を動作させるモータの回転量は線形的に変化し、また、出力値が小数点第１位よりも小さい値である場合もある。この場合には、計算により回転量が決定される。たとえば、正規化された出力値が０．２５である場合には、アクチュエータ１８０を動作させるモータの回転量は、０．２秒の場合の回転量「１３８」と０．３秒の場合の回転量「１４６」の間である「１４２」に決定される。他のアクチュエータ１８２〜１８８を動作させるモータの回転量についても同様に算出される。
【００５５】
上記のように、第１制御装置１２では、脳波信号に基づいて各アクチュエータ１８０〜１８８を動作させるモータの回転量を指定した制御信号が生成され、第２制御装置１６に入力（送信）される。第２制御装置１６は、制御信号が示す各アクチュエータ１８０〜１８８を動作させるモータの回転量から各アクチュエータ１８０〜１８８を動作させるモータの現在の回転量を減算した場合の差に相当する駆動電圧を各アクチュエータ１８０〜１８８を動作させるモータに印加する。ただし、上記差が負の値である場合には、各アクチュエータ１８０〜１８８を動作させるモータが逆回転する方向の駆動電圧が印加される。
【００５６】
ここで、９つの電極から１つの電極を選択する選択方法および閾値を決定する方法（以下、「校正処理」と呼ぶことがある）について説明する。
【００５７】
ユーザが第１タスクを実行しながら、ボトルを掴むことを所定時間（たとえば、１０秒間）意図し、次の所定時間においてボトルを掴むことを意図しない。上記のような試行が所定回数（たとえば、１０回）繰り返される。ただし、各試行回数の間に所定時間（たとえば、２秒間）の休止時間が設けられる。
【００５８】
また、これ以降では、各試行回数において、ボトルを掴むことを意図している前半の１０秒間を「第１期間」と呼び、第１期間に続く、ボトルを掴むことを意図していない後半の１０秒間を「第２期間」と呼ぶことがある。
【００５９】
なお、マニピュレータ１８を使って「ボトルを掴むこと」のように動作の目的を意図するようにしてあるのは、実験等によって、「マニピュレータ１８に掴む動作を実行させること」のように動作自体を意図するようにした場合よりも、脳波信号の検出および脳波信号に基づくマニピュレータ１８の制御の結果が良かったためである。
【００６０】
上記のような試行を行う場合に、９個の電極（Ｆ２、Ｆ３、Ｆ４、Ｃ２、Ｃ３、Ｃ４、Ｐ２、Ｐ３およびＰ４）の脳波信号が検出される。上述したように、脳波信号のサンプリングの周波数は２５０Ｈｚであり、検出された脳波信号には、アーティファクトのカットオフおよびバンドパスフィルタによるフィルタリングが施される。
【００６１】
たとえば、ボトルを掴むことを意図している場合の脳波信号が９つの電極の各々について検出され、検出されたそれぞれの脳波信号をＳＴＦＴすることにより、５つの周波数帯域のＰＳＤが求められる。
【００６２】
この実施例では、５つの周波数帯域は、δ（１〜４Ｈｚ）、θ（４〜８Ｈｚ）、α（８〜１２Ｈｚ）、β（１２〜３０Ｈｚ）およびγ（３０〜６０Ｈｚ）の各周波数帯域である。ただし、上述したように、ＳＴＦＴは、５０サンプルの時間窓単位で実行される。
【００６３】
同様に、ボトルを掴むことを意図していない場合の脳波信号が９つの電極の各々について検出され、検出されたそれぞれの脳波信号をＳＴＦＴすることにより、５つの周波数帯域のＰＳＤが求められる。
【００６４】
図９は、ボトルを掴むことを意図した場合において、或る周波数帯域（ここでは、δの周波数帯域）の周波数に対するＰＳＤの値の変化を示すグラフであって、９つの電極の各々についてのグラフである。各グラフにおいて、横軸が周波数であり、縦軸がＰＳＤの値である。図９に示すグラフは一例であり、上記のとおり、各試行回数において、ボトルを掴むことを意図した場合と、ボトルを掴むことを意図していない場合の２つの場合について、５つの周波数帯域の周波数に対するＰＳＤの値の変化を示すデータが９つの電極の各々について得られる。
【００６５】
なお、具体的なパワースペクトル密度の周波数に対する変化を分かり易く示すためにグラフの一部を図示してあるが、実際には、このようなグラフが作成される必要はない。後述する図１０のグラフについても同様である。
【００６６】
次に、第１期間のＰＳＤの値の平均値（以下、「第１個別平均値」という）が、各周波数帯域において、９つの電極の各々について算出される。同様に、第２期間のＰＳＤの値の平均値（以下、「第２個別平均値」という）が、各周波数帯域において、９つの電極の各々について算出される。これらの算出処理が全試行について実行される。したがって、各試行回数の各周波数帯域において、９つの電極の各々について、第１個別平均値と第２個別平均値とが得られる。
【００６７】
各試行回数の各周波数帯域の９つの電極の各々について得られた第１個別平均値および第２個別平均値に基づいて、マニピュレータ１８の制御に使用する１つの電極および１つの周波数帯域が選択（決定）される。以下、図１０を参照しながら、マニピュレータ１８の制御に使用する１つの電極および１つの周波数帯域が選択される方法と、第１閾値および第２閾値が決定される方法を説明する。
【００６８】
図１０は、或る周波数帯域の或る電極についての試行回数に対する第１個別平均値および第２個別平均値の各々の変化を示すグラフである。ただし、或る周波数帯域は上記の５つの周波数帯域のうちのいずれかの周波数帯域であり、或る電極は上記の９つの電極のうちのいずれかの電極である。図１０では、第１個別平均値の変化が実線で示され、第２個別平均値の変化が一点鎖線で示される。また、横軸が試行回数であり、縦軸がＰＳＤの値である。
【００６９】
まず、各周波数帯域において、９つの電極の各々について、第１個別平均値の全試行回数における平均値（第１全体平均値）と、第２個別平均値の全試行回数における平均値（第２全体平均値）が算出される。図１０においては、第１全体平均値は破線で示され、第２全体平均値は二点鎖線で示される。
【００７０】
次に、各周波数帯域において、９つの電極の各々について、第１全体平均値と第２全体平均値の差分が算出される。さらに、差分が最大となる場合の電極が、使用する１つの電極として選択され、その場合の周波数帯域がマニピュレータ１８の制御に使用する周波数帯域として選択（決定）される。差分が最大となる１つの電極を選択するのは、差分が大きいため、マニピュレータ１８を手放し状態と掴んだ状態の間で制御し易いからである。
【００７１】
ただし、差分は絶対値である。これは、ボトルを掴むことを意図する場合よりもボトルを掴むことを意図しない場合の方がＰＳＤの値が大きくなり、第２全体平均値の方が第１全体平均値よりも大きいユーザが存在するためである。
【００７２】
また、差分が最大となる場合の第１全体平均値と第２全体平均値のうち、大きい値の方が第１閾値として決定され、小さい方の値が第２閾値として決定される。
【００７３】
なお、上記の例では、ＰＳＤの値を正規化した値にマニピュレータ１８の動作をマッピングする場合には、手放し状態を「０」とし、掴んだ状態を「１」とするようにしたが、掴むことを意図する場合よりも掴むことを意図しない場合の方がＰＳＤの値が大きくなるユーザの場合には、手放し状態を「１」とし、掴んだ状態を「０」とするように、ＰＳＤの値の変化が上記の場合と逆になるようにマッピングされる。
【００７４】
図１１は図１に示した第１制御装置１２に内蔵されるＲＡＭ３４のメモリマップ３００の一例を示す図である。図１１に示すように、ＲＡＭ３４はプログラム記憶領域３０２およびデータ記憶領域３０４を含む。プログラム記憶領域３０２は、制御プログラムを記憶し、制御プログラムは、操作検出プログラム３０２ａ、送受信プログラム３０２ｂ、脳波信号検出プログラム３０２ｃ、制御信号生成プログラム３０２ｄおよび制御信号入力プログラム３０２ｅなどを含む。
【００７５】
操作検出プログラム３０２ａは、入力装置３８を用いて入力されるユーザの操作を検出するためのプログラムである。具体的には、ＣＰＵ３０は、操作検出プログラム３０２ａに従って、キーボードを用いたキー（ボタン）操作についての操作データまたは／および、コンピュータマウスまたはタッチパネル或いはタッチパッドのようなポインティングデバイスを用いて指示された座標データを検出し、データ記憶領域３０４に時系列に従って記憶する。
【００７６】
送受信プログラム３０２ｂは、外部の装置（この実施例では、第２制御装置１６および脳波検出器２２）との間で、データの送受信を行う（通信する）ためのプログラムである。
【００７７】
脳波信号検出プログラム３０２ｃは、脳波検出器２２から出力され、Ａ／Ｄ変換器２０で増幅およびデジタル変換された脳波信号を検出するためのプログラムであり、ＣＰＵ３０は、検出した脳波信号をデータ記憶領域３０４に時系列に従って記憶する。脳波信号を検出するときに、送受信プログラム３０２ｂが実行される。
【００７８】
制御信号生成プログラム３０２ｄは、上述したように、検出した脳波信号３０４ｃをＳＴＦＴしたＰＳＤデータ３０４ｄを正規化し、テーブルデータ３０４ｂを参照して、マニピュレータ１８（アクチュエータ１８０〜１８８を動作させるモータ）を制御するための制御信号を生成するためのプログラムである。
【００７９】
制御信号入力プログラム３０２ｅは、制御信号生成プログラム３０２ｄに従って生成された制御信号を第２制御装置１６に入力するためのプログラムである。制御信号を入力するときに、送受信プログラム３０２ｂが実行される。
【００８０】
なお、図示は省略するが、プログラム記憶領域３０２には、校正処理についてのプログラムなど、第１制御装置１２の動作に必要な他のプログラムも記憶される。
【００８１】
データ記憶領域３０４には、操作データ３０４ａ、テーブルデータ３０４ｂ、脳波信号３０４ｃ、ＰＳＤデータ３０４ｄ、正規化データ３０４ｅ、閾値データ３０４ｆおよび制御信号３０４ｇが記憶される。
【００８２】
操作データ３０４ａは、操作検出プログラム３０２ａに従って検出された操作データまたは／および座標データであり、時系列に従って記憶される。操作データまたは／および座標データは、ＣＰＵ３０の処理に使用された後に消去される。
【００８３】
テーブルデータ３０４ｂは、図８に示した出力値に対する各アクチュエータ１８０〜１８８のモータの回転量を示すテーブルについてのデータである。脳波信号３０４ｃは、脳波信号検出プログラム３０２ｃに従って検出された脳波信号に対応するデータであって、時系列に従って記憶される。脳波信号３０４ｃは、ＣＰＵ３０の処理に使用されなくなった後に消去される。つまり、現在のフレームで検出された脳波信号までの５０サンプル分の脳波信号よりも時間的に前に検出された脳波信号は消去される。
【００８４】
ＰＳＤデータ３０４ｄは、現在のフレームの脳波信号までの５０サンプル分の脳波信号をＳＴＦＴしたデータである。ただし、この実施例では、ユーザの脳波信号に基づいてマニピュレータ１８を動作させる場合の当該脳波信号を検出する１つの電極を選択する選択処理（校正処理）において予め決定され、このとき、マニピュレータ１８の制御に使用されるＰＳＤの周波数帯域が決定される。したがって、ＰＳＤデータ３０４ｄは、マニピュレータ１８の制御に使用されることが決定された周波数帯域のＰＳＤデータである。正規化データ３０４ｅは、ＰＳＤデータ３０４ｄを閾値データ３０４ｆが示す第１閾値および第２閾値を用いて正規化したデータである。
【００８５】
閾値データ３０４ｆは、ＰＳＤデータ３０４ｄを正規化するときに用いられる第１閾値および第２閾値についてのデータである。上述したように、第１閾値および第２閾値は、当該ユーザの脳波信号に基づいてマニピュレータ１８を動作させる場合の当該脳波信号を検出する１つの電極を選択する選択処理（校正処理）において予め決定される。
【００８６】
制御信号３０４ｇは、制御信号生成プログラム３０２ｄに従って生成されたマニピュレータ１８の各アクチュエータ１８０〜１８８を動作させるモータを駆動するためのデータである。
【００８７】
図示は省略するが、データ記憶領域３０４には、制御プログラムの実行に必要な他のデータが記憶されたり、制御プログラムの実行に必要なカウンタ（タイマ）およびフラグが設けられたりする。また、校正処理の実行に必要なデータが記憶されたり、校正処理の実行に必要なカウンタおよびフラグが設けられたりする。
【００８８】
図１２は図１に示した第１制御装置１２に内蔵されるＣＰＵ３０の制御処理の一例を示すフロー図である。図１２に示すように、制御処理が開始されると、ステップＳ１で、所定の電極の脳波信号３０４ｃを検出する。このとき、検出された脳波信号３０４ｃは、データ記憶領域３０４に記憶される。ただし、所定の電極は、事前の校正処理において選択された１つの電極であり、ステップＳ１では、この電極からの脳波信号以外の信号は消去される。
【００８９】
次のステップＳ３では、脳波信号３０４ｃを５０サンプルの時間窓単位で短時間フーリエ変換（ＳＴＦＴ）する。このとき、校正処理においてマニピュレータ１８の制御に使用されることが決定された周波数帯域についてのＰＳＤデータ３０４ｄが抽出され、データ記憶領域３０４に記憶される。
【００９０】
なお、制御処理を開始した当初では、５０サンプル分の脳波信号が検出されるまではステップＳ３の処理は実行されない。初回のＳＴＦＴの処理を実行した後では、現在のフレームの脳波信号までの５０サンプル分の脳波信号がＳＴＦＴされる。
【００９１】
続くステップＳ５では、閾値データ３０４ｆが示す第１閾値および第２閾値を用いてＰＳＤデータ３０４ｄを正規化する。このとき、ＰＳＤデータ３０４ｄが正規化された正規化データ３０４ｅがデータ記憶領域３０４に記憶される。続くステップＳ７では、制御信号を生成する。ここでは、ＣＰＵ３０は、上述したように、正規化データ３０４ｅが示す出力値に対応する各アクチュエータ１８０〜１８８を動作させるモータの回転量についての制御信号を生成する。そして、ステップＳ９で、ステップＳ７で生成した制御信号を第２制御装置１６に入力（送信）する。したがって、第２制御装置１６は、制御信号に基づいてマニピュレータ１８の各アクチュエータ１８０〜１８８を動作させるモータに駆動電圧を与える。このため、マニピュレータ１８が制御信号に基づく状態ないし姿勢に変化される。
【００９２】
続いて、ステップＳ１１では、終了かどうかを判断する。ここでは、ＣＰＵ３０は、入力装置３８から終了の指示が与えられたかどうかを判断する。ステップＳ１１で“ＮＯ”であれば、つまり、終了でなければ、ステップＳ１に戻る。一方、ステップＳ１１で“ＹＥＳ”であれば、つまり、終了であれば、制御処理を終了する。
【００９３】
この実施例によれば、ユーザはマニピュレータの動作に関係の無い第１タスクを実行しながら、当該ユーザの脳波信号に基づいてマニピュレータの動作である第２タスクを実行させるので、マルチタスクを実現することができる。
【００９４】
なお、この実施例で示した第１タスクは一例であり、限定される必要はない。他の例としては、第１タスクは、ユーザがキーボードを用いて両手で入力する動作でもよい。
【００９５】
また、この実施例では、人間の腕のように機能するマニピュレータを制御したが、マニピュレータは腕以外の部位のように機能するものを用いてもよい。
【００９６】
さらに、この実施例では、マニピュレータを手放し状態と掴んだ状態との間で次第に変化するように、出力値をマッピングするようにしたがこれに限定される必要はない。たとえば、出力値が所定値を超えるまでは、手放し状態が維持され、出力値が所定を超えたときに、掴んだ状態に変化されてもよい。このことは、掴んだ状態から手放し状態に変化する場合も同様である。ただし、手放し状態から掴んだ状態に変化する場合の出力値と、掴んだ状態から手放し状態に変化する場合の出力値とは同じ値でもよいし、異なる値でもよい。
【００９７】
さらにまた、この実施例で示した具体的な数値は単なる一例であり、限定されるべきではなく、実施される製品等に応じて適宜変更可能である。
【符号の説明】
【００９８】
１０  …制御システム
１２  …第１制御装置
１４  …表示装置
１６  …第２制御装置
１８  …マニピュレータ
２４  …脳波検出部（ブレインキャップ）
３０  …ＣＰＵ
３２  …ＨＤＤ
３４  …ＲＡＭ
１８０、１８２、１８４、１８６、１８８  …アクチュエータ
【図１】
2019147214.tif 000003
【図２】
2019147214.tif 000004
【図３】
2019147214.tif 000005
【図４】
2019147214.tif 000006
【図５】
2019147214.tif 000007
【図６】
2019147214.tif 000008
【図７】
2019147214.tif 000009
【図８】
2019147214.tif 000010
【図９】
2019147214.tif 000011
【図１０】
2019147214.tif 000012
【図１１】
2019147214.tif 000013
【図１２】
2019147214.tif 000014