(57)【特許請求の範囲】
【請求項１】
操作子の位置に応じて、前記操作子に力を付与する力覚駆動装置において、
前記操作子と連結され、前記操作子を複数方向に可動させるアクチュエータと、
前記操作子の位置を検出し、該位置を表す位置情報、前記操作子の速度を表す速度情報、前記操作子の加速度を表す加速度情報を出力する検出手段と、
前記操作子の位置、速度、加速度のそれぞれに対応する運動方程式の各項の値を指示する各データが格納されたテーブルであって、前記項毎に複数設けられたテーブルと、
前記位置情報に基づいて、前記速度の項に対応するテーブルと前記加速度の項に対応するテーブルとを選択し、前記位置情報、前記速度情報および前記加速度情報に基づいて、前記位置の項に対応するテーブルおよび選択された前記テーブルを参照し、これにより得られた前記各データを加算することによって制御信号を生成する制御信号生成手段と、
前記制御信号に基づいて、前記アクチュエータを駆動する駆動手段とを備えたことを特徴とする力覚駆動装置。
【請求項２】
前記テーブルには、前記操作子の位置、速度、加速度および外部入力情報に対応する運動方程式の各項の値を指示する各データが格納されており、
制御信号生成手段は、前記位置情報、前記速度情報、前記加速度情報および前記外部入力情報に基づいて前記テーブルを参照し、これにより得られた前記各データから制御信号を生成することを特徴とする請求項１に記載の力覚駆動装置。
【請求項３】
前記アクチュエータの推力特性を補正するためのデータが格納された推力特性補正テーブルと、
前記制御信号生成手段が生成した制御信号に対応するデータを前記推力特性補正テーブルから読み出し、該データにより前記制御信号を補正する補正手段とを備えたことを特徴とする請求項１または２に記載の力覚駆動装置。
【請求項４】
前記操作子の操作方向を検出する操作方向検出手段を備え、
前記制御信号生成手段は、前記位置情報および前記操作方向に基づいて前記操作子に付与する前記力の大きさおよび方向を求め、求められた前記力の大きさおよび方向に応じた制御信号を生成することを特徴とする請求項１乃至３のいずれかに記載の力覚駆動装置。
【請求項５】
前記操作子に付与する前記力の方向を、前記操作子が操作された方向と同一方向に設定することを特徴とする請求項４に記載した力覚駆動装置。
【請求項６】
操作子に連結されたアクチュエータを用いて、前記操作子に複数方向の力を付与する力覚付与方法であって、
前記操作子の位置を検出し、該位置を表す位置情報、前記操作子の速度を表す速度情報、前記操作子の加速度を表す加速度情報を出力し、
前記操作子の位置、速度、加速度のそれぞれに対応する運動方程式の各項の値を指示する各データが格納されたテーブルであって、前記項毎に複数設けられたテーブルのうち、前記位置情報に基づいて、前記速度の項に対応するテーブルと前記加速度の項に対応するテーブルとを選択し、前記位置情報、前記速度情報および前記加速度情報に基づいて、前記位置の項に対応するテーブルおよび選択された前記テーブルを参照し、
これにより得られた前記各データを加算することによって制御信号を生成し、
前記制御信号に基づいて、前記アクチュエータを駆動することを特徴とする力覚付与方法。
【請求項７】
前記テーブルに、記録媒体から読み出した前記データ、または通信により取得した前記データを記憶することを特徴とする請求項６記載の力覚付与方法。
【請求項８】
操作子に連結されたアクチュエータを用いて、前記操作子に複数方向の力を付与する力覚駆動装置を制御するプログラムを記録した記録媒体であって、
前記プログラムは、
前記操作子の位置を検出し、該位置を表す位置情報、前記操作子の速度を表す速度情報、前記操作子の加速度を表す加速度情報を出力する処理と、
前記操作子の位置、速度、加速度のそれぞれに対応する運動方程式の各項の値を指示する各データが格納されたテーブルであって、前記項毎に複数設けられたテーブルのうち、前記位置情報に基づいて、前記速度の項に対応するテーブルと前記加速度の項に対応するテーブルとを選択し、前記位置情報、前記速度情報および前記加速度情報に基づいて、前記位置の項に対応するテーブルおよび選択された前記テーブルを参照する処理と、
これにより得られた前記各データを加算することによって制御信号を生成する処理と、
前記制御信号に基づいて、前記アクチュエータを駆動する処理とを前記力覚駆動装置に行わせることを特徴とするプログラムを記録した記録媒体。
【請求項９】
操作子に連結されたアクチュエータを用いて、前記操作子に複数方向の力を付与する力覚駆動装置であって、
通信回線を介してプログラムを受信する受信手段と、前記プログラムを記憶する記憶手段を備え、
前記プログラムは、
前記操作子の位置を検出し、該位置を表す位置情報、前記操作子の速度を表す速度情報、前記操作子の加速度を表す加速度情報を出力する処理と、
前記操作子の位置、速度、加速度のそれぞれに対応する運動方程式の各項の値を指示する各データが格納されたテーブルであって、前記項毎に複数設けられたテーブルのうち、前記位置情報に基づいて、前記速度の項に対応するテーブルと前記加速度の項に対応するテーブルとを選択し、前記位置情報、前記速度情報および前記加速度情報に基づいて、前記位置の項に対応するテーブルおよび選択された前記テーブルを参照する処理と、
これにより得られた前記各データを加算することによって制御信号を生成する処理と、
前記制御信号に基づいて、前記アクチュエータを駆動する処理とを前記力覚駆動装置に行わせることを特徴とする力覚駆動装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数方向の力覚を付与するのに好適な力覚駆動装置、力覚付与方法、および力覚駆動装置を制御するプログラムを記録した記録媒体に関するものである。
【０００２】
【従来の技術】
自然楽器のピアノの鍵盤は、鍵操作によってハンマを駆動し、弦を叩いて楽音を発生させる。一方、電子楽器の鍵盤はハンマ等の機械的要素を駆動する必要がないので、簡易な構成で作られるのが一般である。
ところで、自動演奏機能を有する電子楽器にあっては、その鍵盤動作が楽曲の進行に合わせて自動制御される。鍵盤の駆動機構は、鍵盤を押し下げる方向に力を与えるアクチュエータ、押し下げられた鍵盤を元の状態（レスト位置）に戻す方向に力を与えるバネ、および鍵盤の位置を検出するセンサによって構成される。そして、鍵盤の位置情報に基づいて、アクチュエータを駆動する電流が調整され、これにより鍵盤の状態が制御される。また、人が演奏する際には、指で鍵盤を押し下げると、鍵盤の位置情報に基づいて鍵盤を押し上げるようにアクチュエータを駆動して、指に反力を付与することが行われる。
【０００３】
【発明が解決しようとする課題】
ところで、仮想現実の技術分野では、コンピュータによって作り出された仮想環境において、疑似体験を提供するシステムが研究されている。例えば、人が指で物を把持する際に指は物から反力を受けるが、仮想現実の技術分野ではこの反力を力覚と称し、これを人工的に作り出すことが行われる。上述した電子楽器の鍵盤は、アクチュエータを駆動する電流を制御することにより、鍵盤を押し上げる方向に力覚を作用させるものであるから、一方向の力覚駆動装置であるといえる。また、直線上に力覚を作用させるものであるから、一次元の力覚駆動装置であるといえる。
しかし、この力覚駆動装置では、力覚を一方向にしか付与することができないため、人の指に複雑な力覚を付与することはできない。また、２次元の力覚駆動装置や３次元の力覚駆動装置については開発途上である。さらに、複数の力覚駆動装置を組み合わせて総合的に制御する技術は開発されていない。
【０００４】
本発明は上述した事情に鑑みてなされたものであり、複数方向に力覚を付与できる力覚駆動装置、力覚付与方法、および力覚駆動装置を制御するプログラムを記録した記録媒体を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記課題を解決するため請求項１に記載の発明にあっては、操作子の位置に応じて、前記操作子に力を付与する力覚駆動装置において、前記操作子と連結され、前記操作子を複数方向に可動させるアクチュエータと、前記操作子の位置を検出し、該位置を表す位置情報、前記操作子の速度を表す速度情報、前記操作子の加速度を表す加速度情報を出力する検出手段と、前記操作子の位置、速度、加速度のそれぞれに対応する運動方程式の各項の値を指示する各データが格納されたテーブルであって、前記項毎に複数設けられたテーブルと、前記位置情報に基づいて、前記速度の項に対応するテーブルと前記加速度の項に対応するテーブルとを選択し、前記位置情報、前記速度情報および前記加速度情報に基づいて、前記位置の項に対応するテーブルおよび選択された前記テーブルを参照し、これにより得られた前記各データを加算することによって制御信号を生成する制御信号生成手段と、前記制御信号に基づいて、前記アクチュエータを駆動する駆動手段とを備えたことを特徴とする。
【０００６】
また、請求項２に記載の発明にあっては、請求項１に記載の力覚駆動装置において、前記テーブルには、前記操作子の位置、速度、加速度および外部入力情報に対応する運動方程式の各項の値を指示する各データが格納されており、制御信号生成手段は、前記位置情報、前記速度情報、前記加速度情報および前記外部入力情報に基づいて前記テーブルを参照し、これにより得られた前記各データから制御信号を生成することを特徴とする。
【０００７】
また、請求項３に記載の発明にあっては、請求項１または２に記載の力覚駆動装置において、前記アクチュエータの推力特性を補正するためのデータが格納された推力特性補正テーブルと、前記制御信号生成手段が生成した制御信号に対応するデータを前記推力特性補正テーブルから読み出し、該データにより前記制御信号を補正する補正手段とを備えたことを特徴とする。
【０００８】
また、請求項４に記載の発明にあっては、請求項１乃至３のいずれかに記載の力覚駆動装置において、前記操作子の操作方向を検出する操作方向検出手段を備え、前記制御信号生成手段は、前記位置情報および前記操作方向に基づいて前記操作子に付与する前記力の大きさおよび方向を求め、求められた前記力の大きさおよび方向に応じた制御信号を生成することを特徴とする。
【０００９】
また、請求項５に記載の発明にあっては、請求項４に記載した力覚駆動装置において、前記操作子に付与する前記力の方向を、前記操作子が操作された方向と同一方向に設定することを特徴とする。
【００１０】
また、請求項６に記載の発明にあっては、操作子に連結されたアクチュエータを用いて、前記操作子に複数方向の力を付与する力覚付与方法であって、前記操作子の位置を検出し、該位置を表す位置情報、前記操作子の速度を表す速度情報、前記操作子の加速度を表す加速度情報を出力し、前記操作子の位置、速度、加速度のそれぞれに対応する運動方程式の各項の値を指示する各データが格納されたテーブルであって、前記項毎に複数設けられたテーブルのうち、前記位置情報に基づいて、前記速度の項に対応するテーブルと前記加速度の項に対応するテーブルとを選択し、前記位置情報、前記速度情報および前記加速度情報に基づいて、前記位置の項に対応するテーブルおよび選択された前記テーブルを参照し、これにより得られた前記各データを加算することによって制御信号を生成し、前記制御信号に基づいて、前記アクチュエータを駆動することを特徴とする。
【００１１】
また、請求項７に記載の発明にあっては、請求項６記載の力覚付与方法において、前記テーブルに、記録媒体から読み出した前記データ、または通信により取得した前記データを記憶することを特徴とする。
【００１２】
また、請求項８に記載の発明にあっては、操作子に連結されたアクチュエータを用いて、前記操作子に複数方向の力を付与する力覚駆動装置を制御するプログラムを記録した記録媒体であって、前記プログラムは、前記操作子の位置を検出し、該位置を表す位置情報、前記操作子の速度を表す速度情報、前記操作子の加速度を表す加速度情報を出力する処理と、前記操作子の位置、速度、加速度のそれぞれに対応する運動方程式の各項の値を指示する各データが格納されたテーブルであって、前記項毎に複数設けられたテーブルのうち、前記位置情報に基づいて、前記速度の項に対応するテーブルと前記加速度の項に対応するテーブルとを選択し、前記位置情報、前記速度情報および前記加速度情報に基づいて、前記位置の項に対応するテーブルおよび選択された前記テーブルを参照する処理と、これにより得られた前記各データを加算することによって制御信号を生成する処理と、前記制御信号に基づいて、前記アクチュエータを駆動する処理とを前記力覚駆動装置に行わせることを特徴とする。
【００１３】
また、請求項９に記載の発明にあっては、操作子に連結されたアクチュエータを用いて、前記操作子に複数方向の力を付与する力覚駆動装置であって、通信回線を介してプログラムを受信する受信手段と、前記プログラムを記憶する記憶手段を備え、前記プログラムは、前記操作子の位置を検出し、該位置を表す位置情報、前記操作子の速度を表す速度情報、前記操作子の加速度を表す加速度情報を出力する処理と、前記操作子の位置、速度、加速度のそれぞれに対応する運動方程式の各項の値を指示する各データが格納されたテーブルであって、前記項毎に複数設けられたテーブルのうち、前記位置情報に基づいて、前記速度の項に対応するテーブルと前記加速度の項に対応するテーブルとを選択し、前記位置情報、前記速度情報および前記加速度情報に基づいて、前記位置の項に対応するテーブルおよび選択された前記テーブルを参照する処理と、これにより得られた前記各データを加算することによって制御信号を生成する処理と、前記制御信号に基づいて、前記アクチュエータを駆動する処理とを前記力覚駆動装置に行わせることを特徴とする。
【００１５】
【発明の実施の形態】
Ａ．第１実施形態
１．第１実施形態の構成
以下、図面を参照して発明の第１実施形態の構成について説明する。図１はこの発明の第１実施形態に係わる力覚駆動装置のブロック図である。
図１において、１1，１2…１Nは、同一構成の１次元アクチュエータである。１次元アクチュエータ１1の構成を図２（Ａ）に示す。１次元アクチュエータ１1はコイル１１ａ，１１ｂと中心棒１０を主要部として構成される。また、中心棒１０の位置は、センサ１２によって検出され、位置情報Ｘ（状態情報）として出力される。中心棒１０の材質は鉄であり、磁化され易い性質を有する。このため、コイル１１ａに駆動電流Ｉａが供給されると、中心棒１０の中央部１０ｃはコイル１１ａに引きつけられて中心棒１０が突出する。一方、コイル１１ｂに駆動電流Ｉｂが供給されると、中心棒１０の中央部１０ｃはコイル１１ｂに引きつけられて中心棒１０が引き込まれる。ここで、中心棒１０が突出する方向を正方向とすれば、１次元アクチュエータ１1は正負方向の力±Ｆを作用させることができる。すなわち、１次元アクチュエータ１1は双方向駆動型であって、複数方向に力を作用させることができる。
【００１６】
なお、１次元アクチュエータ１1を図２（Ｂ）に示すように構成してもよい。この場合には、第１のアクチュエータ１Ａと第２のアクチュエータ１Ｂの中心棒１０を連結し、中心棒１０上に操作子Ｓを設ける。ここで、図示するように左方向を正方向とし、第１のアクチュエータ１Ａに駆動電流Ｉａを供給すると、操作子Ｓには正方向の力＋Ｆが付与され、一方、第２のアクチュエータ１Ｂに駆動電流Ｉｂを供給すると、操作子Ｓには負方向の力−Ｆが付与される。
【００１７】
また、図１に示す２1，２2…２Nは、一次元アクチュエータ１1，１2…１Nと接続される各ＰＷＭドライバであり、駆動電流Ｉａと駆動電流Ｉｂを生成する。また、３はマルチプレクサであり、そこでは、一次元アクチュエータ１1，１2…１Nの各センサ１２によって検出される各位置情報Ｘが時分割多重される。４はマルチプレクサ３と接続されるタッチデータテーブル群であり、ＲＯＭ等で構成される。その記憶領域には、運動方程式の各項の値を示すパラメータの組が一次元アクチュエータ１1，１2…１N毎に格納されている。運動方程式は、例えば、Ｆ＝ＭＸ”＋ρＸ’＋ｋＸで与えられる。ここで、Ｘは位置情報、Ｘ’は速度情報、Ｘ”は加速度情報、Ｍは質量、ρは粘性係数、ｋはバネ係数であり、また、ＭＸ”，ρＸ’，ｋＸは、パラメータの組である。
５は演算回路であり、位置情報Ｘを順次微分して速度情報Ｘ’と加速度情報Ｘ”を算出する。また、演算回路５は、タッチデータテーブル群４からのパラメータの組を加算して、一次元アクチュエータ１1，１2…１Nが外部に作用すべき力Ｆを算出し（力覚情報）、制御信号ＣＴＬXとして出力する。そして、デマルチプレクサ６は、制御信号ＣＴＬXを時分割分離して、各ＰＷＭドライバ２1，２2…２Nに供給する。
【００１８】
２．第１実施形態の動作
次に、図１に示す１次元力覚駆動装置をスライドスイッチに適用した場合を、１次元力覚駆動装置の動作の一例として説明する。この場合、スライドスイッチは、図３に示すように、図２（Ｂ）に示す一次元アクチュエータを用いて構成され、操作子Ｓとしてボタン部Ｂ１が設けられている。ここで、図３（Ａ）に示す状態におけるボタン部Ｂ１の位置情報Ｘを０とし、また、左方向を正方向にとるものとする。
ボタン部Ｂ１の位置情報Ｘがセンサ１２によって検出されると、これが演算回路５に供給され、そこで運動方程式の演算が行われる。ここで、運動方程式のＭＸ”およびρＸ’各項は常に０として、力ＦはｋＸの項のみに依存するものとし、ｋＸとＸとの間には図４に示す関係があり、これがタッチデータテーブル群４として格納されているものとする。この場合、人が指で正方向の力Ａを加えボタンＢ１をＸ＝ｘ１の位置まで左側にスライドさせると、Ｘの値は正となるからｋＸの値は負となり、ボタンＢ１には、負方向の反力ｂが生じる（図３（Ｂ）参照）。また、この時点で人が指をボタンＢ１から離したとすると、反力の値は位置情報にのみ依存するので、ボタンＢ１は反力ｂを受け中点位置まで移動する。一方、人が指で負方向の力Ｂを加えボタンＢ１をＸ＝−ｘ１の位置まで右側にスライドさせると、Ｘの値は負となるからｋＸの値は正となり、ボタンＢ１には、正方向の反力ａが生じる（図３（Ｃ）参照）。また、この時点で人が指をボタンＢ１から離したとすると、上述の場合と同様に、ボタンＢ１は反力ａを受け中点位置まで移動する。
これにより、ボタンＢ１を中点（Ｘ＝０）に戻す方向に反力を付与することができ、また、ボタンＢ１の位置が中点（Ｘ＝０）を離れるにつれ、反力の大きさを大きくすることができる。すなわち、この例にあっては、位置情報Ｘに基づいて、正負両方向の力覚を付与することにより、中点復帰型のスイッチを実現できる。
【００１９】
次に、図１に示す１次元力覚駆動装置を特殊なキーボードに適用した場合を、１次元力覚駆動装置の動作の他の例として説明する。この場合、キーボードは複数のボタン部からなり、そのうちの一のボタン部は、図５に示すように指サックＣと一体に形成されたボタンＢ２と１次元アクチュエータ１から構成される。なお、この例の１次元アクチュエータ１は、図２（Ａ）に示したものである。図において、端末操作者が指を指サックＣに差し入れてボタンＢ２を押し下げると、その位置がセンサ１２によって検出され、位置情報Ｘとして出力される。また、他のボタンについても、同様に位置が検出され位置情報Ｘとして出力される。この際、１次元アクチュエータ１は、力Ｆを指に対して作用するので、力Ｆを適宜可変することにより、所望のタッチ感を出すことができる。
【００２０】
次に各ボタン部からの位置情報Ｘが、図１に示すマルチプレクサ３で時分割多重され、演算回路５に供給されると、演算回路５は、運動方程式を演算する。ここで、中心棒１０が伸びきった状態で位置情報Ｘ＝０とし、ボタンＢ２を押し下げる方向を正方向にとるものとする。また、運動方程式のＭＸ”およびρＸ’の各項は常に０として、反力ＦはｋＸの項に依存するものとする。ただし、ボタンＢ２の操作方向、すなわち指がボタンＢ２に作用する力の向きによって、ｋＸとＸの関係を規定するタッチデータテーブル群４を切り換えるものとする。なお、この指が与える力の向きとタッチデータテーブル群４との関係は、固定的であってもよく、また演奏者が任意に選択可能としてもよい。具体的には、ボタンＢ２の操作方向が押し下げる方向Ａである場合、図６（Ａ）に図示する内容のタッチデータテーブル群４が選択され、一方、操作方向が押し上げる方向Ｂである場合、図６（Ｂ）に図示する内容のタッチデータテーブル群４が選択され、さらに、ボタンＢ２が動いていないときには、反力を０にするものとする。
この場合、ボタンＢ２の操作方向は速度情報Ｘ’に基づいて判別され、速度情報Ｘ’の値が正であれば、ボタンＢ２は方向Ａの向きに操作されたと判別し、一方、この値が負であれば、ボタンＢ２は方向Ｂの向きに操作されたと判別する。また、速度情報Ｘ’の値が０であれば、反力Ｆ＝０にするため１次元アクチュエータへの電流の供給を停止する。
【００２１】
ここで、ボタンＢ２がＸ＝０の位置から押し下げられたとすると、速度情報Ｘ’の値は正となるから、ボタンＢ２は操作方向Ａの向きに操作された判別され、運動方程式の演算には図６（Ａ）に示すタッチデータテーブル群４が適用される。したがって、この場合の反力は、負方向すなわちボタンＢ２を押し上げる方向ｂに作用する。また、その値は、Ｘ＝０の位置からの距離が増加するにつれ、次第に大きくなり、Ｘ＝ｘ１を越えるとその値は一定値−ｆ１となる。
【００２２】
一方、位置Ｘ＝ｘ１にあるボタンＢ２を、押し上げる方向に操作すると、速度情報Ｘ’の値は負となるから、ボタンＢ２は操作方向Ｂの向きに操作された判別され、運動方程式の演算には図６（Ｂ）に示すタッチデータテーブル群４が適用される。したがって、この場合の反力は、正方向すなわちボタンＢ２を押し下げる方向ｂに作用する。また、その値は、Ｘ＝ｘ１の位置からの距離が減少するにつれ、次第に小さくなり、Ｘ＝０で０となる。
このようにしてボタンＢ２の操作方向が方向Ａである場合、方向ｂの反力を付与することができ、一方、操作方向が方向Ｂである場合、方向ａの反力を付与することができる。
【００２３】
次に、上述した例において、タッチデータテーブル群４の内容を変更した場合を説明する。ここでは、ボタンＢ２の操作方向が押し下げる方向Ａである場合、図６（Ｃ）に図示する内容のタッチデータテーブル群４が選択され、一方、操作方向が押し上げる方向Ｂである場合、図６（Ｄ）に図示する内容のタッチデータテーブル群４が選択され、さらに、ボタンＢ２が動いていないときには、反力を０にするものとする。この場合も、上述した例と同様に速度情報Ｘ’の値によってボタンＢ２の操作方向が判別され、また、速度情報Ｘ’の値が０であれば、反力Ｆ＝０にするため１次元アクチュエータへの電流の供給を停止する。
ここで、ボタンＢ２がＸ＝０の位置から押し下げられたとすると、速度情報Ｘ’の値は正となるから、ボタンＢ２は操作方向Ａの向きに操作された判別され、運動方程式の演算には図６（Ｃ）に示す内容のタッチデータテーブル群４が適用される。したがって、Ｘ＝０の位置からボタンＢ２を押し下げると、反力がボタンＢ２を押し下げる方向ａに作用する。また、その値は、Ｘ＝０の位置からの距離が増加するにつれ、次第に大きくなり、Ｘ＝ｘ１を越えるとその値は一定値＋ｆ２となる。この場合には、人の指がボタンＢ２を押し下げる方向と同じ方向に力が作用するので、指はサックＣから下向きの力を受ける。
【００２４】
一方、位置Ｘ＝ｘ１にあるボタンＢ２を、押し上げる方向に操作すると、速度情報Ｘ’の値は負となるから、ボタンＢ２は操作方向Ｂの向きに操作された判別され、運動方程式の演算には図６（Ｄ）に示す内容のタッチデータテーブル群４が適用される。この場合、ボタンＢ２には負方向すなわち押し上げる方向ｂに力が作用する。したがって、人の指はボタンＢ２を操作した方向と同じ方向の力を受ける。
このようにしてボタンＢ２の操作方向が方向Ａである場合、方向ａの力を付与することができ、一方、操作方向が方向Ｂである場合、方向ｂの力を付与することができる。すなわち、操作方向と同一方向の力覚を付与することができる。
なお、上述した例において、ボタンＢ２の操作方向が方向Ａである場合に方向ｂの力を付与し、操作方向が方向Ｂである場合に方向ｂの力を付与したり、あるいは、操作方向が方向Ａである場合に方向ａの力を付与し、操作方向が方向Ｂである場合に方向ａの力を付与するようにしたりすることができるのは当然である。
【００２５】
Ｂ．第２実施形態
第１実施形態は一次元の力覚を付与するものであったのに対し、第２実施形態は２次元の力覚を付与するものである。
１．第２実施形態の構成
第２実施形態の構成について、図面を参照しつつ説明する。図７は第２実施形態に係わる力覚駆動装置のブロック図である。なお、図７において、図１と同一構成は同一の符号を付し、その説明を省略する。
【００２６】
１０1，１０2…１０Nは、各２次元アクチュエータであり、２つの１次元アクチュエータを組み合わせて構成される。２次元アクチュエータ１０1の構成を図８に示す。図において、１次元アクチュエータ１1，１2は、支点Ｐ，Ｑを中心として、点Ｐ，Ｑ，Ｗを含む平面上で回動できるように設けられており、また、１次元アクチュエータ１1，１2の一端は、点Ｗで相互に連結されており、そこには操作子Ｓ（図示せず）が設けられている。そして、操作子Ｓを操作すると、力点Ｗには紙面と平行方向の力Ｆが付与されるようになっている。
この例では、１次元アクチュエータ１1が最も伸長した状態で回転すると、その先端の軌跡は曲線Ｃ１１となり、最も縮小した状態で回転すると、その先端の軌跡は曲線Ｃ１２となる。また、１次元アクチュエータ１2が最も伸長した状態で回転すると、その先端の軌跡は曲線Ｃ２１となり、最も縮小した状態で回転すると、その先端の軌跡は曲線Ｃ２２となる。したがって、力点Ｗは、曲線Ｃ１１，Ｃ１２，Ｃ２１，Ｃ２２で囲まれた範囲内で可動することができる。
また、１次元アクチュエータ１1のセンサは、支点Ｐから力点Ｗまでの距離を示す位置情報ｘを出力し、一方、１次元アクチュエータ１2のセンサは、支点Ｑから力点Ｗまでの距離を示す位置情報ｙを出力する。これにより、操作子の状態が検出される。
【００２７】
次に、図７に示す７は合成ベクトル演算回路であり、位置情報ｘ，ｙに基づいて、２次元アクチュエータを構成する各１次元アクチュエータに付与する力ＦX，ＦYを算出する（力覚情報の算出）。なお、力ＦX，ＦYは、各２次元アクチュエータ１０1，１０2…１０N毎に算出される。また、ＰＵ１，ＰＵ２は、ＰＷＭユニットであり、ＰＷＭドライバ２1，２2…２Nとデマルチプレクサ６から構成される。
【００２８】
２．第２実施形態の動作
次に、第２実施形態の動作を図７を参照しつつ説明する。第２実施形態の力覚駆動装置は、各２次元アクチュエータ１０1，１０2…１０Nを制御するため、時分割で動作するが、ここでは、２次元アクチュエータ１０1の制御を一例として説明する。
【００２９】
まず、２次元アクチュエータ１０1のセンサによって位置情報ｘ，ｙが検出される。ところで、一次元アクチュエータ１1，１2が点Ｗに作用すべき力ＦX，ＦYは、直交する座標軸上の座標値を用いて算出される。このため、位置情報ｘ，ｙが合成ベクトル演算回路７に供給されると、位置情報ｘ，ｙの座標変換が行われる。この処理を図９を参照して説明する。図において、Ｘ軸とＹ軸は変換後の座標軸である。Ｘ軸は点Ｐ，Ｑを含むように設定され、また、Ｙ軸は点Ｐにおいて、Ｘ軸と直交するように設定される。なお、点Ｐは原点（０，０）とされる。この場合、力点Ｗの座標（Ｘ，Ｙ）は、位置情報ｘ，ｙおよび点Ｐと点Ｑとの間の距離Ｌから算出される。
【００３０】
次に、合成ベクトル演算回路７は、位置情報Ｘ，Ｙを順次微分して速度情報Ｘ’，Ｙ’と加速度情報Ｘ”，Ｙ”を生成する。これらの情報がタッチデータテーブル群８に供給されると、タッチデータテーブル群８は、位置情報Ｘ、速度情報Ｘ’および加速度情報Ｘ”に基づいて、Ｘ軸方向の運動方程式に係わるパラメータの組を読み出し、また、位置情報Ｙ、速度情報Ｙ’および加速度情報Ｙ”に基づいて、Ｙ軸方向の運動方程式に係わるパラメータの組を読み出す。この後、合成ベクトル演算回路７は、読み出されたパラメータの組に基づいて、力ＦX，ＦYを算出する。そして、２次元アクチュエータ１０1が力ＦXを外部に作用するように制御信号ＣＴＬXが生成され、また、力ＦYを外部に作用するように制御信号ＣＴＬYが生成される。
【００３１】
ところで、力覚駆動装置は時分割で動作するため、上述した合成ベクトル演算回路７は、各２次元アクチュエータ１０1，１０2…１０Nによって付与される力ＦX，ＦYを時分割で算出する。したがって、制御信号ＣＴＬX，ＣＴＬYは、各２次元アクチュエータ１０1，１０2…１０Nが力ＦX，ＦYを外部に作用できるように時分割多重されたものとなっている。こうして生成された制御信号ＣＴＬX，ＣＴＬYがＰＷＭユニットＰＵ１，ＰＵ２に供給されると、各２次元アクチュエータ１０1，１０2…１０Nを駆動する駆動電流が生成される。これにより、各２次元アクチュエータ１０1，１０2…１０Nは駆動され、それらの各力点Ｗにおいて力ＦX，ＦYが合成され、外部に力Ｆを作用させる。
【００３２】
このように本実施形態によれば、２次元アクチュエータ１０1，１０2…１０Nが外部に作用する力Ｆを位置情報Ｘ，Ｙ、速度情報Ｘ’，Ｙ’および加速度情報Ｘ”，Ｙ”によって可変できるから、時刻とともに変化する力点Ｗの状態に応じて面方向の複雑な力Ｆを生成することができる。
また、力覚駆動装置を時分割で動作させたので、各２次元アクチュエータ１０1，１０2…１０N毎に合成ベクトル演算回路７やタッチデータテーブル群８を設ける必要がなく、簡易な構成で複数の２次元アクチュエータを制御することが可能となる。
【００３３】
３．実施態様
上述した２次元力覚駆動装置は、一般的なものであったが、より簡易に２次元の力覚を付与することも可能である。このような実施態様について、以下説明する。
第１の実施態様は、力点Ｗの位置に応じて反力Ｆを作用させるものであり、上述した第１実施形態で説明した中点復帰型のスイッチに対応するものである。この場合には、反力Ｆは、力点Ｗの中点位置を基準として、人の手で操作子Ｓを操作して中点位置から力点Ｗを移動させた際に、移動後の力点Ｗの位置と中点位置との差に応じて付与される。したがって、反力Ｆは位置情報にのみ依存するから、運動方程式の速度および加速度に係わる項は常に０とすることができる。また、力点Ｗから支点Ｐ，Ｑまでの距離ｘ，ｙを知ることができれば、力点Ｗの位置を特定することができるので、上述した一般的な２次元力覚駆動装置のように位置情報ｘ，ｙをＸ軸，Ｙ軸上の座標に変換する必要もない。このため、第１の実施態様にあっては、図８に示す１次元アクチュエータ１1，１2が作用する力ＦX，ＦYと位置情報ｘ，ｙの関係をテーブルに格納しておき、１次元アクチュエータ１1，１2で検出される位置情報ｘ，ｙに基づいてテーブルを参照し、力ＦX，ＦYを求める。そして、力ＦX，ＦYに対応する駆動電流をＰＷＭドライバで発生させ、これを１次元アクチュエータ１1，１2に供給する。
このように第１の実施態様によれば、簡易な構成によって、力点Ｗの位置と中点位置との距離の差に応じて２次元の力覚を付与することができる。
【００３４】
次に、第２の実施態様は、第１実施形態で説明した特殊なボタン部に対応するものであり、操作子Ｓの操作方向と力点Ｗの位置に応じて反力Ｆを付与するものである。この場合には、まず、力点Ｗの位置情報ｘ，ｙを図９に示すＸ軸，Ｙ軸上の座標に変換して位置情報Ｘ，Ｙを求める。次に、位置情報Ｘ，Ｙの変化から操作子Ｓの操作方向を求める。具体的には、速度情報Ｘ’，Ｙ’の合成ベクトルが操作方向を示すため、位置情報Ｘ，Ｙを微分して速度情報Ｘ’，Ｙ’を求める。また、位置および操作方向と力ＦX，ＦYの関係を規定するテーブルを用意しておき、位置情報Ｘ，Ｙと速度情報Ｘ’，Ｙ’に基づいて、テーブルを参照し、力ＦX，ＦYを求める。そして、力ＦX，ＦYに対応する駆動電流をＰＷＭドライバで発生させ、これを１次元アクチュエータ１1，１2に供給する。
このように第２の実施態様によれば、簡易な構成によって、操作子Ｓの操作方向と力点Ｗの位置に応じて力覚を付与することができる。
【００３５】
Ｃ．第３実施形態
第２実施形態は２次元の力覚を付与するものであったのに対し、第３実施形態では、さらに次元を増やして３次元の力覚を付与する力覚駆動装置に関する。
１．第３実施形態の構成
第３実施形態の構成について、図面を参照しつつ説明する。図１０は第３実施形態に係わる力覚駆動装置のブロック図である。
【００３６】
１００1，１００2…１００Nは、各３次元アクチュエータであり、３つの１次元アクチュエータを組み合わせて構成される。３次元アクチュエータ１００1の構成を図１１に示す。図において、１次元アクチュエータ１1，１2，１3の各一端は、ボールジョイントＪ１，Ｊ２，Ｊ３を介して固定部Ｋ１，Ｋ２，Ｋ３と接続されている。なお、ボールジョイントＪ１，Ｊ２，Ｊ３は、点Ｐ，Ｑ，Ｒを各々中心として回転できるようになっている。
また、１次元アクチュエータ１1，１2，１3の各他端は、ボールジョイントからなる継手ＪＪで連結され、この継手ＪＪには操作子Ｓが図示するように設けられている。これにより、操作子Ｓは３次元空間を自由に移動することができる。
ここで、継手ＪＪの中心点Ｗは、各１次元アクチュエータ１1，１2，１3からの力ＦX，ＦY，ＦZが合成される力点となる。この力点Ｗから点Ｐ，Ｑ，Ｒまでの各距離は各１次元アクチュエータ１1，１2，１3のセンサによって各々検出され、これらを指示する位置情報ｘ，ｙ，ｚ（状態情報）が各センサから出力される。これにより操作子Ｓの状態が検出される。
【００３７】
次に、図１０に示す合成ベクトル演算回路７は、位置情報ｘ，ｙ，ｚに基づいて、３次元アクチュエータを構成する各１次元アクチュエータが付与する力ＦX，ＦY，ＦZを算出する（力覚情報の算出）。なお、力ＦX，ＦY，ＦZは、各３次元アクチュエータ１００1，１００2…１００N毎に算出される。また、ＰＵ１，ＰＵ２，ＰＵ３は、ＰＷＭユニットであり、ＰＷＭドライバ２1，２2…２Nとデマルチプレクサ６から構成される。
【００３８】
２．第３実施形態の動作
次に、第３実施形態の動作を図１０を参照しつつ説明する。第３実施形態の力覚駆動装置は、各３次元アクチュエータ１００1，１００2…１００Nを制御するため、時分割で動作するが、ここでは、３次元アクチュエータ１００1の制御を一例として説明する。
【００３９】
まず、３次元アクチュエータ１００1のセンサによって位置情報ｘ，ｙ，ｚが検出される。これらの位置情報ｘ，ｙ，ｚが合成ベクトル演算回路７に供給されると、位置情報ｘ，ｙ，ｚの座標変換が行われ、位置情報Ｘ，Ｙ，Ｚが生成される。なお、変換後のＸ軸、Ｙ軸，Ｚ軸によって、運動方程式における座標値が表される。
【００４０】
次に、合成ベクトル演算回路７は、位置情報Ｘ，Ｙ，Ｚを順次微分して速度情報Ｘ’，Ｙ’，Ｚ’と加速度情報Ｘ”，Ｙ”，Ｚ”を生成する。これらの情報がタッチデータテーブル群８に供給されると、タッチデータテーブル群８は、第２実施形態と同様にＸ，Ｙ軸方向の運動方程式に係わるパラメータの組を読み出す他、位置情報Ｚ、速度情報Ｚ’および加速度情報Ｚ”に基づいて、Ｚ軸方向の運動方程式に係わるパラメータの組を読み出す。
【００４１】
この後、合成ベクトル演算回路７は、読み出されたパラメータの組に基づいて、力ＦX，ＦY，ＦZを算出する。そして、３次元アクチュエータ１００1が力ＦX，ＦY，ＦZ，ＦXを外部に作用するように制御信号ＣＴＬX，ＣＴＬY，ＣＴＬZが生成される。なお、本実施形態も第１，２実施形態と同様に時分割で動作するため、制御信号ＣＴＬX，ＣＴＬY，ＣＴＬZは、各３次元アクチュエータ１００1，１００2…１００Nが力ＦX，ＦY，ＦZを外部に作用できるように時分割多重されたものとなっている。こうして生成された制御信号ＣＴＬX，ＣＴＬY，ＣＴＬZがＰＷＭユニットＰＵ１，ＰＵ２，ＰＵ３に供給されると、各３次元アクチュエータ１００1，１００2…１００Nを駆動する駆動電流が生成され、これにより、各３次元アクチュエータ１００1，１００2…１００Nは駆動される。
【００４２】
このように本実施形態によれば、３次元アクチュエータ１００1，１００2…１００Nに付与すべき力Ｆを位置情報Ｘ，Ｙ，Ｚ、速度情報Ｘ’，Ｙ’，Ｚ’および加速度情報Ｘ”，Ｙ”，Ｚ”によって可変できるから、時刻とともに変化する力点Ｗの状態に応じて力Ｆを発生させることができ、しかも立体方向に力Ｆを作用させることができる。
また、時分割で動作させたので、各３次元アクチュエータ１００1，１００2…１００N毎に合成ベクトル演算回路７やタッチデータテーブル群８を設ける必要がなく、簡易な構成で複数の３次元アクチュエータを制御することが可能となる。
【００４３】
３．実施態様
上述した３次元力覚駆動装置は、一般的なものであったが、２次元力覚駆動装置の場合と同様に、より簡易に３次元の力覚を付与することも可能である。このような実施態様について、以下説明する。
第１の実施態様は、力点Ｗの位置に応じて反力Ｆを作用させるものである。この場合には、反力Ｆは、力点Ｗの中点位置を基準として、人の手で操作子Ｓを操作して中点位置から力点Ｗを移動させた際に、移動後の力点Ｗの位置と中点位置との差に応じて付与される。したがって、反力Ｆは位置情報にのみ依存するから、運動方程式の速度および加速度に係わる項は常に０とすることができる。また、上述した一般的な３次元力覚駆動装置ように位置情報ｘ，ｙ，ｚをＸ軸，Ｙ軸，Ｚ軸上の座標に変換する必要もない。このため、第１の実施態様にあっては、図１１に示す１次元アクチュエータ１1，１2，１3が作用する力ＦX，ＦY，Ｆzと位置情報ｘ，ｙ，ｚの関係をテーブルに格納しておき、１次元アクチュエータ１1，１2，１3で検出される位置情報ｘ，ｙ，ｚに基づいてテーブルを参照し、力ＦX，ＦY，Ｆzを求める。そして、力ＦX，ＦY，Ｆzに対応する駆動電流をＰＷＭドライバで発生させ、これを１次元アクチュエータ１1，１2，１3に供給する。このように第１の実施態様によれば、簡易な構成によって、力点Ｗの位置と中点位置との距離の差に応じて３次元の力覚を付与することができる。
【００４４】
次に、第２の実施態様は、操作子Ｓの操作方向と力点Ｗの位置に応じて反力Ｆを付与するものである。この場合には、まず、力点Ｗの位置情報ｘ，ｙ，ｚを図９に示すＸ軸，Ｙ軸，Ｚ軸上の座標に変換して位置情報Ｘ，Ｙ，Ｚを求める。次に、位置情報Ｘ，Ｙ，Ｚの変化から操作子Ｓの操作方向を求める。具体的には、速度情報Ｘ’，Ｙ’，Ｚ’の合成ベクトルが操作方向を示すため、位置情報Ｘ，Ｙ，Ｚを微分して速度情報Ｘ’，Ｙ’，Ｚ’を求める。また、位置および操作方向と力ＦX，ＦY，Ｆzとの関係を規定するテーブルを用意しておき、位置情報Ｘ，Ｙ，Ｚと速度情報Ｘ’，Ｙ’，Ｚ’に基づいて、テーブルを参照し、力ＦX，ＦY，Ｆzを求める。そして、力ＦX，ＦY，Ｆzに対応する駆動電流をＰＷＭドライバで発生させ、これを１次元アクチュエータ１1，１2，１3に供給する。
このように第２の実施態様によれば、簡易な構成によって、操作子Ｓの操作方向と力点Ｗの位置に応じて力覚を付与することができる。
【００４５】
Ｄ．第４実施形態
第４実施形態は、第１〜第３実施形態で説明した１〜３次元アクチュエータを混在して用いる多次元の力覚駆動装置に関する。
１．第４実施形態の構成
第４実施形態の構成を、図面を参照しつつ説明する。図１２は第４実施形態に係わる多次元力覚駆動装置のブロック図である。
【００４６】
図において、Ａは、１次元アクチュエータ１，…、２次元アクチュエータ１０，…、３次元アクチュエータ１００，…を制御する制御ＩＣチップであり、上述したタッチデータテーブル群６、合成ベクトル演算回路７、ＰＷＭドライバ２等を内蔵している。なお、制御ＩＣチップＡは、Ｘ軸、Ｙ軸およびＺ軸に関する制御部より構成されるが、いずれも同一の構成であるため、図１１においては、Ｘ軸に関する制御部のみを図示し、他の制御部については省略してある。制御ＩＣチップＡは、以下の部分から構成される。
【００４７】
２０，３０，４０，６０はマルチプレクサであり、２１，３１，４１，６１はＡ／Ｄ変換器である。また、２２，３２，４２は座標軸の変換を行う座標変換テーブルである。また、２７，２８は微分回路群であり、アクチュエータの個数だけの一次微分回路からなる。２３は選択回路であり、速度情報Ｘ’に基づいて出力の選択を行う。また、２４，２５，３４，４４はタッチデータテーブル群に相当する２次元テーブル群であり、複数の２次元テーブルから構成される。また、６４は１枚の２次元テーブルである。２６，３６，４６，５６，６６は加算器、５０はＣＰＵ、７１はデマルチプレクサ、７２はＰＷＭドライバである。
また、７０は推力特性補正テーブル群であり、複数の推力特性補正テーブルから構成される。推力特性補正テーブルの入力は力Ｆであり、その出力は駆動電流指令である。ところで、力Ｆと駆動電流指令との関係はアクチュエータの状態によって異なる。例えば、図２（Ａ）において、中心棒１０がアクチュエータから突出している場合と、引き込まれている場合とで同一の力Ｆを発生させるとすると、駆動電流の値が異なる。これは、アクチュエータの推力特性が非線形だからである。このような推力特性を補正すべく、推力特性補正テーブル群７０は、複数の推力特性補正テーブルから構成される。この例では、位置情報Ｘに基づいて複数の推力特性補正テーブルのうち一つが選択される。そして、力Ｆを示すデータが選択された推力特性補正テーブルに供給されると、力Ｆに対応する駆動電流指令が生成される。
また、７３は電流フィードバック回路であり、これにより、アクチュエータを駆動する駆動電流がフィードバックされ、実際の駆動電流が目標電流と一致するように調整される。したがって、アクチュエータを構成するコイルの抵抗値が発熱によって変化しても、目標とする電流を供給することができる。
【００４８】
２．第４実施形態の動作
次に、第４実施形態の動作を図１２を参照しつつ説明する。
１次元アクチュエータ１，…、２次元アクチュエータ１０，…、および３次元アクチュエータ１００，…からの各位置情報ｘは、微分回路群２７，２８で順次微分され、速度情報ｘ’と加速度情報ｘ”が各アクチュエータ毎に生成される。そして、各位置情報ｘ、各速度情報ｘ’および各加速度情報ｘ”が、マルチプレクサ２０，３０，４０によって時分割多重され、Ａ／Ｄ変換器２１，３１，４１を介して座標変換テーブル２２，３２，４２に供給されると、第１〜第３実施形態と同様に座標軸の変換が行われ、各位置情報Ｘ、各速度情報Ｘ’および各加速度情報Ｘ”が生成される。
【００４９】
ところで、３次元アクチュエータ１００，…からの位置情報ｘの座標軸を変換するには、他の位置情報ｙ，ｚも必要である。この場合、位置情報ｙ，ｚは、Ｙ軸とＺ軸の制御部から供給される。また、位置情報ｘが２次元アクチュエータ１０，…からのものである場合には、位置情報ｚを０として、位置情報ｘ，ｙに基づいて座標軸の変換が行われる。さらに、位置情報ｘが１次元アクチュエータ１，…からのものである場合には、位置情報ｙ，ｚを０として、座標軸の変換が行われる。なお、速度情報ｘ’および加速度情報ｘ”についても、位置情報ｘの場合と同様に座標軸の変換が行われる。
また、複数の外部入力ＥＸＴ，…は、マルチプレクサ６０によって時分割多重された後、Ａ／Ｄ変換器６１を介してデジタル信号に変換される。なお、複数の外部入力ＥＸＴ，…は、例えば、鍵盤演奏者への警告情報や、演奏トリガー等の情報を力覚により外部から与えるために用いられる。
【００５０】
次に、運動方程式の演算が行われる。この例では、Ｘ軸方向の運動方程式として、以下に示す式１を用いる。
Ｆ＝ＭＸ”＋ρＸ’＋ｋＸ＋ｆ１＋ｆ２……式１
ここで、ｋＸの値は、選択回路２３、２次元テーブル群２４，２５および加算器２６によって生成される。まず、位置情報Ｘが選択回路２３に供給されると、選択回路２３は、速度情報Ｘ’に基づいて、位置情報Ｘを２次元テーブル群２４に出力するか、２次元テーブル群２５に出力するかを選択する。速度情報Ｘ’が正の値を示すならば、位置情報Ｘは２次元テーブル群２４に出力され、速度情報Ｘ’が負の値を示すならば、位置情報Ｘは２次元テーブル群２５に出力される。この２次元テーブル群２４は、制御の対象となるアクチュエータが正方向に動いている場合のｋＸの値を格納しており、また、２次元テーブル群２５は、アクチュエータが負方向に動いている場合のｋＸの値を格納している。これにより、アクチェータの動作方向によって、参照するテーブルを選択することができる。
【００５１】
また、２次元テーブル群２４，２５は、上述したように複数の２次元テーブルによって構成されるが、速度情報Ｘ’が２次元テーブル群２４，２５に供給されると、その値に応じて複数の２次元テーブルうちの１つが選択される。そして、選択された２次元テーブルから、位置情報Ｘに応じて、ｋＸの値を指示するデータが読み出される。したがって、位置情報Ｘのみならず速度情報Ｘ’も考慮され、ｋＸの値が定まる。
こうして、ｋＸの値を指示するデータが２次元テーブル群２４，２５から読み出され、読み出されたデータが加算器２６で加算される。ただし、位置情報Ｘが各２次元テーブル群２４，２５に供給されない場合には、０を指示するデータが読み出されるようになっている。したがって、加算器２６から、ｋＸの値を指示するデータが出力される。
【００５２】
次に、式１に示すρＸ’の値は、２次元テーブル群３４によって生成される。この場合、位置情報Ｘと速度情報Ｘ’が２次元テーブル群３４に供給されると、位置情報Ｘに基づいて複数の２次元テーブルのうちの１つが選択され、選択された２次元テーブルから速度情報Ｘ’に対応するρＸ’の値を指示するデータが読み出される。したがって、速度情報Ｘ’のみならず位置情報Ｘも考慮され、ρＸ’の値が定まる。例えば、本装置を用いて図３に示すボタン部のアクチュエータを駆動している場合に、ボタンＢを一定速度で押し下げたとしても、中心棒１０が伸びきった状態から押し下げられた状態に変化するにつれ、粘性係数に係るパラメータρＸ’を除々に大きくすることができる。
【００５３】
また、式１に示すＭＸ”の値は、２次元テーブル群４４によって生成される。この場合、位置情報Ｘと加速度情報Ｘ”が２次元テーブル群４４に供給されると、位置情報Ｘに基づいて複数の２次元テーブルのうちの１つが選択され、選択された２次元テーブルから加速度情報Ｘ”に対応するＭＸ”の値を指示するデータが読み出される。したがって、加速度情報Ｘ”のみならず位置情報Ｘも考慮され、ＭＸ”の値の値が定まる。
【００５４】
また、式１に示すｆ１の値は、位置情報Ｘ、速度情報Ｘ’および加速度情報Ｘ”に基づいて、ＣＰＵ５０で生成される。この場合、ＣＰＵ５０は、内部のタイマを参照することによって検出した時間経過量および上記各情報Ｘ，Ｘ’，Ｘ”に基づいて、ｆ１の値を生成する。これにより、アクチュエータが外部に作用する力Ｆを時間経過を加味したものにすることができる。
【００５５】
また、式１に示すｆ２の値を示すデータは、外部入力ＥＸＴに基づいて、２次元テーブル６４を参照することによって生成される。例えば、ボリュームを操作するとその操作量に応じて外部入力ＥＸＴの値が変化するように構成し、２次元テーブル６４に所定の変数値を格納しておけば、操作量に応じて式１の力ｆ２を可変することができる。このため、キーボードにこれを応用すれば、ユーザーの好みに応じたタッチ感を創出できる。
また、動作状況に応じリアルタイムにタッチを付加したり減ずることも可能となり、鍵盤演奏者へ警告情報や演奏トリガー等の情報をタッチそのもので伝えることが可能となる。
【００５６】
こうして生成された、ＭＸ”，ρＸ’，ｋＸ，ｆ１，ｆ２の各値を示すデータは、加算器３６，４６，５６，６６によって加算され、これにより、力Ｆを指示するデータＤＦが加算器６６から出力される。
そして、位置情報ＸとデータＤＦが補正テーブル群７０に供給されると、位置情報Ｘに基づいて複数の補正テーブルのうちの１つが選択され、選択された補正テーブルからデータＤＦに対応する補正値を指示するデータＤＦ’が読み出される。これにより、アクチュエータの推力特性を補正することができる。
次にデータＤＦ’がデマルチプレクサ７１によって時分割分離され、分離された各データが各ＰＷＭドライバ７２，…を介して各電流フィードバック回路７３，…に供給されると、各電流フィードバック回路７３，…は、アクチュエータの発熱による推力変動を抑制するように、１次元アクチュエータ１，…、２次元アクチュエータ１０，…、および３次元アクチュエータ１００，…を制御する。これにより、各アクチュエータは所定の外力Ｆを外部に作用することができる。
【００５７】
このように本実施形態によれば、各種のアクチュエータを一つの制御ＩＣチップＡによって総合的に制御することができるから、汎用性に富んだ制御ＩＣチップＡを提供することができる。また、運動方程式のｋＸの値を位置情報Ｘのみならず速度情報Ｘ’の値も考慮して定めるといったように、他の要素を考慮して運動方程式の各パラメータを定めたので、複雑な力Ｆを発生させることができる。この結果、本実施形態の力覚駆動装置を各種の機器に適用すれば、人の感性を反映させた操作性を実現することができる。
【００５８】
Ｅ．第５実施形態
第５実施形態は、第４実施形態と同様に多次元の力覚駆動装置に関するものである。第４実施形態では、各センサからの位置情報ｘ，ｙ，ｚを座標変換テーブル２２，３２，４２を用いて座標変換を行い、所定の座標軸Ｘ，Ｙ，Ｚ上で合成ベクトルを算出した。ところで、位置情報ｘ，ｙ，ｚは、各アクチュエータの固定端から操作子Ｓまでの距離を各々指示するものであるから、これらによって３次元空間内の位置を特定することができる。そこで、第５実施形態では、位置情報ｘ，ｙ，ｚを用いて直接テーブルを参照し、これにより運動方程式の各項に対応する値を生成している。
【００５９】
１．第５実施形態の構成
第５実施形態の構成を、図面を参照しつつ説明する。図１３は第５実施形態に係わる多次元力覚駆動装置のブロック図である。なお、第５実施形態における３次元アクチュエータは、図１１に示す３次元アクチュエータと同様に構成される。
【００６０】
図１３において、制御ＩＣチップＡは、ｘ軸、ｙ軸およびｚ軸に関する制御部より構成されるが、いずれも同一の構成であるため、ｘ軸に関する制御部のみを図示し、他の制御部については省略してある。なお、第５実施形態におけるｘ，ｙ，ｚ軸は、第３および第４実施形態のＸ，Ｙ，Ｚ軸と異なり、各１次元アクチュエータ１1，１2，１3の中心軸を意味する。
制御ＩＣチップＡは、以下の主要部分から構成される。２６，２８，３７，４７は、３次元テーブルであって、複数の２次元テーブルから構成される。また、２７，２９はパラメータ補正テーブルであって、これにより他のパラメータによる補正が行われる。また、３８，４８は乗算テーブルである。
【００６１】
２．第５実施形態の動作
次に、第５実施形態の動作を図１３を参照しつつ説明する。
２−１：入力
１次元アクチュエータ１，…、２次元アクチュエータ１０，…、および３次元アクチュエータ１００，…からの各位置情報ｘは、微分回路群２７，２８で順次微分され、速度情報ｘ’と加速度情報ｘ”が各アクチュエータ毎に生成される。そして、各位置情報ｘ、各速度情報ｘ’および各加速度情報ｘ”が、マルチプレクサ２０，３０，４０によって時分割多重され、Ａ／Ｄ変換器２１，３１，４１によってデジタル信号に変換される。
また、複数の外部入力ＥＸＴ，…は、マルチプレクサ６０によって時分割多重された後、Ａ／Ｄ変換器６１を介してデジタル信号に変換される。なお、複数の外部入力ＥＸＴ，…は、例えば、鍵盤演奏者への警告情報や、演奏トリガー等の情報を力覚により外部から与えるために用いられる。
【００６２】
２−２：運動方程式の演算
この例では、ｘ方向の運動方程式として、第４実施形形態と同様に以下に示す式１’を用いるものとする。
Ｆ＝Ｍｘ”＋ρｘ’＋ｋｘ＋ｆ１＋ｆ２……式１’
ここで、ｋｘは３次元テーブル２６，２８およびパラメータ補正テーブル２７，２９によって算出され、ρｘ’は３次元テーブル３７および乗算テーブル３８によって算出され、Ｍｘ”は３次元テーブル４７および乗算テーブル４８によって算出される。
【００６３】
▲１▼ｋｘの算出
ｋｘの算出処理について説明する。この例では、まず、位置情報ｘ，ｙ，ｚに基づいてｋｘ1を算出し、ｋｘ1に対して加速度情報ｘ”による補正を施し、最終的にｋｘを算出している。
【００６４】
位置情報ｘが選択回路２３に供給されると、選択回路２３は、速度情報ｘ’に基づいて、位置情報ｘを３次元テーブル２６に出力するか、３次元テーブル２８に出力するかを選択する。速度情報ｘ’が正の値を示すならば、位置情報ｘは３次元テーブル２６に出力され、速度情報ｘ’が負の値を示すならば、位置情報ｘは３次元テーブル２８に出力される。この３次元テーブル２６は、制御の対象となるアクチュエータが正方向に動いている場合のｋｘ1の値を格納しており、また、３次元テーブル２８は、アクチュエータが負方向に動いている場合のｋｘ1の値を格納している。これにより、アクチェータの動作方向によって、参照するテーブルを選択することができる。
【００６５】
パラメータ補正テーブル２７，２９に加速度情報ｘ”が供給されると、加速度情報ｘ”に対応する補正テーブルが選択される。この補正テーブルには、ｋｘ1に対応するｋｘが格納されている。したがって、加速度情報ｘ”に基づいてｋｘ1に補正を施すことができる。これにより、模倣しようとする機構の加速度による「しなり」あるいは「たわみ」を再現することができる。
【００６６】
こうして、ｋｘの値を指示するデータがパラメータ補正テーブル２７，２９から読み出され、読み出されたデータが加算器２６で加算される。ただし、位置情報ｘが各３次元テーブル２６，２８に供給されない場合には、０を指示するデータが読み出されるようになっている。したがって、加算器２６から、ｋｘの値を指示するデータが出力される。この場合、ｋｘは、位置情報ｘ，ｙ，ｚのみならず、速度情報ｘ’および加速度情報ｘ”を考慮したものとなる。
【００６７】
▲２▼ρｘ’の演算
ρｘ’の演算処理にあっては、まず、位置情報ｙ，ｚが３次元テーブル３７に供給される。すると、位置情報ｙ，ｚに対応する２次元テーブルが選択される。この２次元テーブルは、ρと位置情報ｘとの関係を規定している。このため、位置情報ｘが３次元テーブル３７に供給されると、選択された２次元テーブルを参照してρの値を示すデータが読み出される。
この後、ρの値を示すデータが乗算テーブル３８に供給されると、ρの値に対応する２次元テーブルが選択される。この２次元テーブルは、速度情報ｘ’とρｘ’の関係を規定している。このため、速度情報ｘ’が乗算テーブル３８に供給されると、選択された２次元テーブルを参照してρｘ’の値を示すデータが読み出される。この場合、ρｘ’は、３次元の位置情報ｘ，ｙ，ｚに対応したものになる。ただし、ρの値によって、２次元テーブルを選択しているので、乗算テーブル３８に非線形特性を持たせることができる。
【００６８】
▲３▼Ｍｘ”の演算
Ｍｘ”の演算処理には、ρｘ’の場合と同様に行われる。まず、位置情報ｙ，ｚに基づいて、３次元テーブル４７を構成する１枚の２次元テーブルが選択される。この２次元テーブルは、Ｍと位置情報ｘとの関係を規定している。そこに位置情報ｘが供給されると、Ｍの値を示すデータが読み出される。
この後、Ｍの値を示すデータが乗算テーブル４８に供給されると、Ｍの値に対応する２次元テーブルが選択される。この２次元テーブルは、加速度情報ｘ”とＭｘ”の関係を規定しており、そこに加速度情報ｘ”が供給されると、Ｍｘ”の値を示すデータが読み出される。この場合、Ｍｘ”は、３次元の位置情報ｘ，ｙ，ｚに対応したものになる。ただし、Ｍの値によって、２次元テーブルを選択しているので、乗算テーブル４８に非線形特性を持たせることができる。
【００６９】
▲４▼ｆ１およびｆ２の演算
ｆ１およびｆ２の演算処理は、第４実施形態の場合と同様に行われる。すなわち、位置情報ｘ、速度情報ｘ’および加速度情報ｘ”に基づいてＣＰＵ５０によってｆ１が算出される。また、２次元テーブル６４によって外部入力ＥＸＴに対応するｆ２が算出される。
こうして、運動方程式の各項に対応する各データが各々算出され、これらの各データが、加算器３６，４６，５６，６６によって順次加算され、力Ｆを示すデータが生成される。この例によれば、運動方程式の演算を、テーブルを用いて実行することができるので、座標変換を行う第３，第４実施形態と比較して演算負荷が軽くなり、高速処理が可能となる。
【００７０】
２−３：アクチェータの駆動
アクチェータの駆動は、第４実施形態と同様に行われる。すなわち、位置情報ｘとデータＤＦが補正テーブル群７０に供給されると、位置情報ｘに基づいて複数の補正テーブルのうちの１つが選択され、選択された補正テーブルからデータＤＦに対応する補正値を指示するデータＤＦ’が読み出される。これにより、アクチュエータの推力特性を補正することができる。
次にデータＤＦ’がデマルチプレクサ７１によって時分割分離され、分離された各データが各ＰＷＭドライバ７２，…を介して各電流フィードバック回路７３，…に供給されると、各電流フィードバック回路７３，…は、アクチュエータの発熱による推力変動を抑制するように、１次元アクチュエータ１，…、２次元アクチュエータ１０，…、および３次元アクチュエータ１００，…を制御する。これにより、各アクチュエータは所定の外力Ｆを外部に作用することができる。
【００７１】
２−４：テーブルの生成
次に、３次元テーブル２６，２８，３７，４７とパラメータ補正テーブル２７，２９、および乗算テーブル３８，４８の生成について説明する。この例にあっては、１個の３次元アクチュエータ１００が制御ＩＣチップに接続されているものとする。ここでは、人の顔から得られる触覚を３次元アクチュエータ１００で模倣する場合を図１４を参照しつつ説明する。
【００７２】
図に示すように操作子Ｓを人の顔に押し当てると、操作子Ｓは人の顔から反力Ｆを受ける。この反力Ｆは、各１次元アクチュエータ１1，１2，１3  によって発生される力Ｆｘ，力Ｆｙ，力Ｆｚの合成力と釣り合う。一方、１次元アクチュエータ１1，１2，１3から得られる位置情報ｘ，ｙ，ｚは、操作子Ｓの座標を表している。この座標Ｐ（ｘ，ｙ，ｚ）において力Ｆｘ，Ｆｙ，Ｆｚは、位置、速度、加速度によって一意に定まる。したがって、この例では実際のアクチュエータ（もしくはこれに相当する疑似測定器）を使用して、対象物の各位置での力Ｆｘ，Ｆｙ，Ｆｚを実測して、各テーブルを生成している。
まず、操作子Ｓの速度と加速度を０とし、すなわち、操作子Ｓが停止しているとすると、力Ｆｘを得るために１次元アクチュエータ１1を駆動している駆動電流は、上述した運動方程式のｋｘの項に対応する値となる。このため、人の顔の各位置において駆動電流と位置情報ｘ，ｙ，ｚを実測し、これらを対応づけて３次元テーブル２６，２８を生成する。
【００７３】
次に、速度と加速度に対応するテーブルの生成については、操作子Ｓを人の顔に押し当て、複数の速度，加速度で駆動電流を実測することによって行われる。この実測を顔の各位置について行い、そこで得られる駆動電流と位置情報ｘ，ｙ，ｚと対応づけ、これに基づいて３次元テーブル３７，４７、パラメータ補正テーブル２７，２９、および乗算テーブル３８，４８を生成する。
実際の計測にあっては、Ｆｙ，Ｆｚの方向が一定となるようにして、まずＦｘについて上記計測を行い。この後、Ｆｙ，Ｆｚについて同様に計測を行えばよい。また、人の顔や破損し易い物体を等を計測する場合にあっては、駆動電流に制限を設けて、一定の力以上の負荷が対象物に加わらないようにしている。
【００７４】
こうして、各テーブルを生成することによって、人の顔から得られる触覚を模倣することができる。すなわち、本実施形態によれば、模倣の対象となる物体を用意し、この物体から得られる触覚を記憶しこれを再現することができる。この結果、物体の柔らかさ、硬さといった弾性を表現することが可能となる。
なお、各テーブルを自動学習で生成してもよい。この場合には、対象物体を所定の位置に置き自動学習を開始すると、操作子Ｓが予め定められた軌跡を移動し、この際に必要とされる駆動電流と位置情報ｘ，ｙ，ｚを対応づけて、各テーブルが自動的に作成される。
【００７５】
このように本実施形態によれば、座標変換を行うことなく、位置情報ｘ，ｙ，ｚを用いて各テーブルを直接参照したので、演算量を削減することができる。また、３次元アクチュエータは自由継手で連結することとしたので、操作子Ｓを広い範囲で可動させることができる。また、対象物の弾性を模倣することができ、複雑な力覚を発生させることができる。さらに、立体物の質感等を再現できるツールに応用することができ、当該立体物が空間を仕切る輪郭といった境界条件の測定や輪郭の再現を行うことが可能になる。
【００７６】
Ｆ．第６実施形態
上述した第１〜第５実施形態において、各力覚駆動装置を制御する制御プログラムは通信網を介して配信しても良いし、あるいは記録媒体に記録されていても良い。第６実施形態では、この場合の一例として、第４実施形態の制御ＩＣチップＡを用いたドライブシュミレータについて説明する。
【００７７】
図１６は、第６実施形態に係わるドライブシュミレータのブロック図である。図において、２０１はパーソナルコンピュータであって、ネットワークＮＥＴに接続されており、ドライブシュミレータ全体の動作を制御する。また、２００はネットワークＮＥＴに接続されるサーバであって、そこからパーソナルコンピュータ２０１に制御プログラムが配信されるようになっている。この制御プログラムは、ドライブシュミレータの動作を制御するものであって、そこには、ハンドルＨＤ、クラッチペタルＫＰ、アクセルペタルＡＰ、およびシフトレバーＳＬ等の操作子に反力を付与するためのタッチデータ（上述した運動方程式のパラメータ）が含まれている。したがって、制御プログラムを変更すれば、操作子の操作感を変更することができる。
【００７８】
ここで、パーソナルコンピュータ２０１の構成を図１６に示す。図に示すように、パーソナルコンピュータ２０１は、ＣＰＵ３００、ＲＯＭ３０１、ＲＡＭ３０２、ハードディスク３０３、通信インターフェース３０４、ＣＤ−ＲＯＭドライバ３０５、および内部インターフェース３０６等から構成されている。
【００７９】
ＣＰＵ３００はバスを介して各構成部分に接続されており、サーバ２００から制御プログラムが送信されると、これを通信インターフェース３０４を介して受信し、受信した制御プログラムをハードディスク３０３に格納するようになっている。また、制御プログラムがＣＤ−ＲＯＭによって供給される場合には、ＣＤ−ＲＯＭに格納されている制御プログラムをＣＤ−ＲＯＭドライバ３０５によって読み出し、これをハードディスクに格納するようにＣＰＵ３００は制御する。なお、このような格納動作は、ＲＯＭ３０１に格納されている基本プログラムに基づいて実行される。なお、この制御プログラムを実行する際には、ＲＡＭ３０２がＣＰＵ３００の作業領域として用いられる。また、制御プログラム中のタッチデータは、プログラムの進行に応じて制御ＩＣチップＡに転送されるようになっている。
【００８０】
制御プログラムが実行されると、パーソナルコンピュータ２０１は、当該プログラムに従ってビデオ信号ＶＳとオーディオ信号ＡＳを生成する。このビデオ信号ＶＳはディスプレイＤＰに出力され、一方、オーディオ信号ＡＳはアンプＡＭＰを介してスピーカＳＰに出力される。
【００８１】
また、ハンドルＨＤ、クラッチペタルＫＰ、アクセルペタルＡＰには各々１次元アクチュエータ２０２，２０３，２０４が接続されており、シフトレバーＳＬには２次元アクチュエータ２０５が接続されている。これらのアクチュエータは、制御ＩＣチップＡによって制御される。この制御ＩＣチップＡは、パーソナルコンピュータ２０１と相互にデータの通信を行えるように接続されている。
【００８２】
制御ＩＣチップＡからは、各アクチュエータの位置情報Ｘ（図１２参照）等がパーソナルコンピュータ２０１に送信される。これにより、パーソナルコンピュータ２０１は、ハンドルＨＤの角度やアクセルペダルＡＰおよびクラッチペダルＫＰの踏み込み具合を検知し、検知結果に基づいてビデオ信号ＶＳおよびオーディオ信号ＡＳ等を生成する。
【００８３】
一方、パーソナルコンピュータ２０１からは、２次元テーブル群２４，２５，３４，４４および２次元テーブル６４のタッチデータ（運動方程式のパラメータ）が、制御ＩＣチップＡに転送される。これにより、制御プログラムが新たに更新された場合に、操作子の操作感覚を変更することが可能となる。また、プログラムの進行に応じてタッチデータの内容を変更するようにすれば、各シーン毎にハンドルＨＤやシフトレバーＳＬ等に力覚を付与することができる。例えば、砂利道を走行するシーンではハンドルＨＤの操作を重くしたり、雨のシーンでスリップしたような場合にはハンドルＨＤの操作を軽くすることができる。
【００８４】
また、座席ＳＳの下部には、１次元アクチュエータ２０６〜２０８で構成される３次元アクチュエータが設けられており、ソフトの進行に応じて座席ＳＳの位置を立体的に可変できるようになっている。この場合、パーソナルコンピュータから、力Ｆを指示するデータがベクトル分離回路２０９に出力されると、そこで、ベクトル分離が行われ、３次元アクチュエータを駆動する駆動信号が生成される。そして、各駆動信号によって、各１次元アクチュエータ２０６〜２０８が駆動される。これにより、ソフトの進行に応じて座席ＳＳに加速度を与えることができ、例えば、ユーザーがハンドルＨＤの操作を誤って車体がガードレールに接触したような場合には、座席ＳＳを上下左右に揺らすことができる。
【００８５】
このように第６実施形態によれば、制御ＩＣチップＡによって、ドライブシュミレータ等のアミューズメント機器を総合的に制御することができ、これにより臨場感にあふれる動作を実現できる。また、制御プログラムをＣＤ−ＲＯＭやネットワークを介して配信することができるので、同一の操作子を用いて、そこで付与する力覚を適宜変更することが可能になる。
【００８６】
Ｇ．応用例
本発明は上述した実施形態に限定されるものでなく、例えば以下のように種々の応用が可能である。
▲１▼上記各実施形態は、ユーザーがアクチュエータを操作することによって検出された位置情報Ｘ等に基づいて力覚を付与するものであったが、この替わりに位置情報Ｘ，速度情報Ｘ’および加速度情報Ｘ”等をパーソナルコンピュータで生成し、これを用いて各アクチュエータを駆動してもよい。例えば、この力覚駆動装置をフライトシュミレータに適用すれば、離着陸時における正しい操作を再現することができ、パイロットの訓練に役立てることができる。
また、位置情報Ｘ，速度情報Ｘ’および加速度情報Ｘ”等を通信ネットワークを介して伝送し、これを用いて各アクチュエータを駆動してもよい。例えば、２台の力覚駆動装置を通信ネットワークを介して接続し、一方の力覚駆動装置を操作して得られた位置情報Ｘ，速度情報Ｘ’および加速度情報Ｘ”等を通信ネットワークを介して伝送し、これらに基づいて他方の力覚駆動装置を動作させれば、離れた場所で力覚を再現することができる。
【００８７】
▲２▼上記第１実施形態の１次元アクチュエータは、回転型のマンマシンインターフェースに適用してもよく、例えば、図１７に示す回転ボリュームに応用しても良い。この場合、１次元アクチュエータとして、ロータリーソレノイドやモータ等を用いればよく、そのセンサは回転角度を上述した位置情報として出力する。この例によれば、大きな質量のつまみ部を用いなくとも、重量感のあるボリュームとすることができ、高級感を演出することができる。
【００８８】
▲３▼上記第２実施形態の２次元アクチュエータを、図１８（Ａ）に示すジョイスティック、同図（Ｂ）に示すドライブシュミレータのシフトレバー等に応用してもよい。例えば、シフトレバーに適用した場合にあっては、アイドリングの状態でシフトレバーを小刻みに振るわせることができ、臨場感を演出するこができる。  また、第２実施形態の２次元アクチュエータを、同図（Ｃ）に示す形状認識システムに応用してもよい。この場合には、形状の輪郭に沿って操作子Ｓを操作すれば反力が付与されないかあるいは微小な反力が付与され、その輪郭からずれて操作子Ｓを操作すると、大きな反力が付与されるようになっている。このため、操作子Ｓをなにげなく操作すれば、操作子Ｓは動きやすい所をたどるので、操作子Ｓの軌跡は形状の輪郭に沿ったものとなり、人が形状を認識することができる。
また、図１７に示すロータリーソレノイドやモータ等を１次元アクチュエータとして用い、図１９（Ａ）に示す立体形状の認識に応用してもよい。この場合には、人の指に装着するキャップＣ１，Ｃ２に各４本の糸を張り、各４本の糸の張力を各々１次元アクチュエータで制御すればよい。この際、指が仮想物体に触れない状態では反力をほとんど受けることなく動作できるようにし、仮想物体に触れると反力を受けるように各１次元アクチュエータを制御する。
また、仮想環境をコンピュータで作り出し、物理的に離れた遠隔地の人どうしが、一つ仮想環境内をインタラクションすることにより、協同作業をすることはリモートコラボレーションと呼ばれいるが、この技術分野に、図１９（Ｂ）に示す３次元力覚駆動装置を適用してもよい。
また、図８に示す２次元アクチュエータを構成する２つの１次元アクチュエータ１1，１2を力点Ｗで直交するように連結してもよい。この場合には、力ＦX，力ＦYをより簡単に算出することができる。
【００８９】
▲４▼上記第４実施形態において、運動方程式の各パラメータＭＸ”，ρＸ’，ｋＸを指示するデータを２次元テーブル群２４，２５，３４，４４から読み出し算出するにあたり、位置情報Ｘ，速度情報Ｘ’，加速度情報Ｘ”を適宜組み合わせたアドレスを用いて読み出してもよい。また、２次元アクチュエータ１０に関する運動方程式の各パラメータＭＸ”，ρＸ’，ｋＸを算出する場合には、位置情報Ｘ，Ｙ、速度情報Ｘ’，Ｙ’、加速度情報Ｘ”，Ｙ”を適宜組み合わせたアドレスを用いてもよい。さらに、３次元アクチュエータ１００に関する運動方程式の各パラメータＭＸ”，ρＸ’，ｋＸを算出する場合には、位置情報Ｘ，Ｙ，Ｚ、速度情報Ｘ’，Ｙ’，Ｚ’、加速度情報Ｘ”，Ｙ”，Ｚ”を適宜組み合わせたアドレスを用いてもよい。
【００９０】
▲５▼また、上記各実施形態において、タッチデータテーブル群に運動方程式の各係数を指示するデータを格納してもよい。この場合には、位置情報Ｘ，速度情報Ｘ’，加速度情報Ｘ”に応じてＭ，ρ，ｋ，ｆといった係数の組が、タッチデータテーブル群から読み出され、各係数と位置情報Ｘ，速度情報Ｘ’，加速度情報Ｘ”を乗算することによって、力Ｆが算出される。また、各係数は一定の値であってもよく、さらに、階段状に変化するものであってもよい。
【００９１】
▲６▼また、上記第５実施形態において、運動方程式の速度に対応する項、すなわち、ρｘ’を算出する際に、他の軸の速度情報ｙ’，ｚ’を用いてこれを算出するようにしてもよい。また、加速度に対応するＭｘ”を算出する際に、他の軸の加速度情報ｙ”，ｚ”を用いてこれを算出するようにしてもよい。また、各テーブルに格納されているデータの中間値を、演算によって補間し、滑らかに出力が変化するようにしてもよい。また、上記第５実施形態において説明した各テーブルの生成方法を、第４，第３実施形態に適用しても良い。
【００９２】
▲７▼また、上記各実施形態において、速度情報と加速度情報は、位置情報を微分することにより算出したが、速度センサ、加速度センサにより検出しても良いことは勿論である。また、加速度センサから検出される加速度情報を順次積分して速度情報、位置情報を算出してもよい。さらに、速度情報を速度センサで検出し、これを積分して位置情報を、微分して加速度情報を算出するようにしてもよい。要は、操作子Ｓの状態を運動方程式で表すことができる状態情報を得ることができればよい。
【００９３】
▲８▼また、上記各実施形態および応用例の力覚駆動装置で実現される機能は、力覚付与方法として捉えることも可能であり、この力覚付与方法を第６実施形態出説明したように記録媒体に格納したり、ネットワークを介して配信することも可能である。また、この場合、力覚駆動装置を全体を制御する制御プログラムだけでなく、運動方程式のパラメータと状態情報（位置情報、速度情報、加速度情報）とを対応付けて格納したタッチデータテーブル群、２次元テーブルのデータだけを記録媒体に記録し、これを力覚駆動装置に設けられた読み取り手段で読み取って、テーブルの内容を更新するしたり、当該データをネットワークを介して取得し、更新することも可能である。
ここで、記録媒体とは、その読取装置に対して、磁気、電気、光等のエネルギー変化を引き起こして、それに対応する信号の形式で、読取装置にプログラムの記述内容を伝達できるものであって、例えば、磁気ディスク、光ディスク、ＣＤ−ＲＯＭ、半導体メモリ等が該当する。
【００９４】
【発明の効果】
以上説明したように、本発明に係わる発明特定事項によれば、複数方向の力覚を付与することができる。また、操作子の位置あるいは操作方向に応じて力覚を付与することができる。また、操作子の操作方向と同一方向に力覚を付与することができる。
【図面の簡単な説明】
【図１】  本発明に係わる第１実施形態の１次元力覚駆動装置のブロック図である。
【図２】  同実施形態に係わる１次元アクチュエータの構成を示す断面図である。
【図３】  同実施形態に係わる１次元力覚駆動装置を適用したスライドスイッチの側面図である。
【図４】  同実施形態に係わるスライドスイッチに用いられるタッチデータテーブル群の内容を示す図である。
【図５】  同実施形態に係わる１次元力覚駆動装置をキーボードに適用した場合のボタン部の構成を示す側面図である。
【図６】  同実施形態に係わるボタン部に用いられるタッチデータテーブル群の内容を示す図である。
【図７】  本発明に係わる第２実施形態の２次元力覚駆動装置のブロック図である。
【図８】  同実施形態に係わる２次元アクチュエータの構成を示す平面図である。
【図９】  同実施形態に係わる座標変換説明するための図である。
【図１０】  本発明に係わる第３実施形態の３次元力覚駆動装置のブロック図である。
【図１１】  同実施形態に係わる３次元アクチュエータの構成を示す斜視図である。
【図１２】  本発明に係わる第４実施形態の多次元力覚駆動装置のブロック図である。
【図１３】  本発明に係わる第５実施形態の多次元力覚駆動装置を説明するためのブロック図である。
【図１４】  同実施形態におけるテーブルの生成を説明するための説明図である。
【図１５】  本発明に係わる第６実施形態の多次元力覚駆動装置をドライブシュミレータに適用した場合の構成を示すブロック図である。
【図１６】  同実施形態のパーソナルコンピュータの構成を示すブロック図である。
【図１７】  第１実施形態の１次元アクチュエータを回転ボリュームに応用した例を示す図である。
【図１８】  第２実施形態の２次元アクチュエータの応用例を示す図である。
【図１９】  第３実施形態の２次元アクチュエータの応用例を示す図である。
【符号の説明】
１1，１2，１N…１次元アクチュエータ、１０1，１０2，１０N…２次元アクチュエータ、１００1，１００2，１００N…３次元アクチュエータ、２1，２2,２N…ＰＷＭドライバ（駆動手段）、Ｘ，Ｙ，Ｚ……位置情報、Ｘ’，Ｙ’，Ｚ’…速度情報、Ｘ”，Ｙ”，Ｚ”…加速度情報、ＣＴＬX，ＣＴＬY，ＣＴＬZ…制御信号、４，８…タッチデータテーブル群（制御手段、テーブル）、５…演算回路（制御手段、演算手段）、７…合成ベクトル演算回路（制御手段、演算手段、制御信号生成手段）、１２…センサ（検出手段）、２７，２８…微分回路（検出手段）。
【図１】
0004354540.tif 000002
【図２】
0004354540.tif 000003
【図３】
0004354540.tif 000004
【図４】
0004354540.tif 000005
【図５】
0004354540.tif 000006
【図６】
0004354540.tif 000007
【図７】
0004354540.tif 000008
【図８】
0004354540.tif 000009
【図９】
0004354540.tif 000010
【図１０】
0004354540.tif 000011
【図１１】
0004354540.tif 000012
【図１２】
0004354540.tif 000013
【図１３】
0004354540.tif 000014
【図１４】
0004354540.tif 000015
【図１５】
0004354540.tif 000016
【図１６】
0004354540.tif 000017
【図１７】
0004354540.tif 000018
【図１８】
0004354540.tif 000019
【図１９】
0004354540.tif 000020