"手で保持可能な大きさの筐体に、重心が回転中心から偏った錘が回転軸に取り付けられたモータと、前記回転軸の回転速度に応じて周波数が変化する速度検出パルスが得られるエンコーダと、前記モータに与える駆動電流を制御する制御部とが搭載されて、前記錘の回転によって前記筐体に振動が与えられる振動発生装置において、前記制御部では、前記回転軸が1回転する間の速度変化を示す速度変化プロファイルが保持されており、前記速度検出パルスから得られた速度変化の検知情報を前記速度変化プロファイルにフィードバックするフィードバック制御が行われて、前記検知情報と前記速度変化プロファイルとの誤差を回復した補正速度情報が生成され、前記補正速度情報が反映されたデューティ比を有する駆動パルスを生成するPWM制御部と、前記駆動パルスのデューティ比に応じた駆動電流を前記モータに与えるモータドライバが設けられ、前記モータが駆動され前記錘が回転して振動が発せられることを特徴とする振動発生装置。前記制御部には、前記回転軸が1回転する間に前記モータへ与えるべきトルクの変化を示すトルク変化プロファイルが保持されており、前記フィードバック制御と共に、前記トルク変化プロファイルでフィードフォワード制御が行なわれて、前記補正速度情報が得られる請求項1記載の振動発生装置。前記トルク変化プロファイルの時間に対するトルク変化は、1回転の期間の最初にトルクが徐々に上昇する上昇区間と、トルクが正方向から負方向へ時間軸に対して垂直に変化する急変区間とを有しており、前記急変区間のトルク変化によって、前記錘が1回転する途中で前記筐体に力が与えられる請求項2記載の振動発生装置。前記急変区間では、負側のトルクの絶対値が一時的に大きくなり、前記急変区間を超えると、前記絶対値が徐々に小さくなる請求項3記載の振動発生装置。前記筐体に姿勢の変化を検知する加速度センサが設けられ、前記トルク変化プロファイルのトルク変化が、前記加速度センサの検知出力で補正される請求項2ないし4のいずれかに記載の振動発生装置。前記筐体に角速度センサが設けられ、前記トルク変化プロファイルのトルク変化が、前記角速度センサの検知出力で補正される請求項2ないし5のいずれかに記載の振動発生装置。前記筐体に、それぞれが前記錘を有するモータが2個設けられ、それぞれのモータに設けられたエンコーダから回転軸の位相を検知する位相検出パルスが得られ、前記制御部では、2つのモータから得られる前記位相検出パルスの位相差を回復するフィードバック制御が行われる請求項1ないし6のいずれかに記載の振動発生装置。特許文献1の図3や図4などに、回転速度を急激に増速する期間と緩慢に減速する期間を設定するための回転子の回転速度の制御方法が記載されている。これによると、回転子が1回転する期間の最初に正側の一定の大きさの回転トルクが与えられ、その後に負側の一定の大きさの回転トルクが与えられる。しかし、この制御方法では、回転子に対し正側の一定の大きさの回転トルクを一定期間与えるために、1回転の開始時に回転トルクを負側から正側へ瞬時に向けるために大きなエネルギーが必要になり、この回転を繰り返すことで大きな消費電力が必要になる。また、特許文献1に示すものは、一定の大きさの正側の回転トルクと負側の回転トルク繰り返すという単純な制御しかできず、回転子に対し、効率の良い低電力の回転速度変化を与える制御を行うことができない。本発明は、上記従来の課題を解決するものであり、錘が取り付けられた回転軸が1回転する間の回転速度の変化を、低消費電力などを実現しやすい理想的な速度変化プロファイルやトルク変化プロファイルに近づけることができる振動発生装置を提供することを目的としている。本発明は、手で保持可能な大きさの筐体に、重心が回転中心から偏った錘が回転軸に取り付けられたモータと、前記回転軸の回転速度に応じて周波数が変化する速度検出パルスが得られるエンコーダと、前記モータに与える駆動電流を制御する制御部とが搭載されて、前記錘の回転によって前記筐体に振動が与えられる振動発生装置において、前記制御部では、前記回転軸が1回転する間の速度変化を示す速度変化プロファイルが保持されており、前記速度検出パルスから得られた速度変化の検知情報を前記速度変化プロファイルにフィードバックするフィードバック制御が行われて、前記検知情報と前記速度変化プロファイルとの誤差を回復した補正速度情報が生成され、前記補正速度情報が反映されたデューティ比を有する駆動パルスを生成するPWM制御部と、前記駆動パルスのデューティ比に応じた駆動電流を前記モータに与えるモータドライバが設けられ、前記モータが駆動され前記錘が回転して振動が発せられることを特徴とするものである。本発明の振動発生装置は、モータの回転軸および錘が1回転する間の理想的なまたは目標となる速度変化を示す速度変化プロファイルのデータが予め保持されており、実際のモータの回転速度と速度変化プロファイルの速度変化との差を回復できるようにモータの回転速度が制御される。その結果、モータの回転速度の変化によって筐体に対して振動と共にいずれかの向きの力を与えることなどが可能になり、しかもこのような動作を最少の電力消費で効率的に行わせる速度制御が可能になる。さらに、本発明は、前記制御部には、前記回転軸が1回転する間に前記モータへ与えるべきトルクの変化を示すトルク変化プロファイルが保持されており、前記フィードバック制御と共に、前記トルク変化プロファイルでフィードフォワード制御が行なわれて、前記補正速度情報が得られるものである。フィードバック制御では、速度変化プロファイルで与えられる目標速度に対する回転速度の遅れなどを回復できる一方で、フィードフォワード制御は位相進み補償となるため、フィードバック制御のみを実施するものに比較して、フィードバック制御とフィードフォワード制御の双方を行うことで、外乱に作用されずに理想的なトルク変化を発生させることができる。本発明は、前記トルク変化プロファイルの時間に対するトルク変化は、1回転の期間の最初にトルクが徐々に上昇する上昇区間と、トルクが正方向から負方向へ時間軸に対して垂直に変化する急変区間とを有しており、前記急変区間のトルク変化によって、前記錘が1回転する途中で前記筐体に力が与えられることが好ましい。上記のトルク変化プロファイルは、一回転の開始初期にトルクが徐々に高くなる上昇区間を有しているが、この上昇区間ではトルク変化が緩やかであるため、トルク変化に伴う振動感を和らげながら、正のトルク区間において遠心力を蓄積することができる。そして、急変区間でトルクを正側から負側へ急激に変化させることで、筐体を保持している手に、急激なトルク変化に伴う振動を感じさせることで、いずれかの方向へ向く力を感じさせることが可能になる。また、1回転の開始初期にトルクが徐々に高くなる上昇区間を有し、正側のトルクが徐々に増加するため、この正側のトルクを蓄積するのに要するエネルギーを節約でき、消費電力を低下させることが可能になる。本発明は、前記急変区間では、負側のトルクの絶対値が一時的に大きくなり、前記急変区間を超えると、前記絶対値が徐々に小さくなるものが好ましい。この構成により、急変区間でのトルクの変化量を大きくできる。本発明は、前記筐体に姿勢の変化を検知する加速度センサが設けられ、前記トルク変化プロファイルのトルク変化が、前記加速度センサの検知出力で補正される。または、前記筐体に角速度センサが設けられ、前記トルク変化プロファイルのトルク変化が、前記角速度センサの検知出力で補正されるものとして構成できる。上記のように加速度センサや角速度センサを設けていると、手で保持した筐体の姿勢や動きを検知できる。その検出データによってトルク変化プロファイルを補正することにより、動いて姿勢が変化している途中であっても、筐体から手に目的となるトルク変化の感触、すなわち力の変化の感触を与えることができるようになる。本発明は、前記筐体に、それぞれが前記錘を有するモータが2個設けられ、それぞれのモータに設けられたエンコーダから回転軸の位相を検知する位相検出パルスが得られ、前記制御部では、2つのモータから得られる前記位相検出パルスの位相差を回復するフィードバック制御が行われるものとして構成される。上記振動発生装置は、2つのモータの回転位相と回転速度を制御することで、筐体に対して種々のモードの振動を与えることができる。この場合に、2つのモータの位相差を常に適正に設定することが可能である。本発明の振動発生装置は、理想的なまたは目標となる速度変化プロファイルに合わせてモータの回転速度を制御しているため、一方向へ向けられた力を感じさせるような振動モードを常に安定して発揮させることができ、またトルク変化を理想的に且つ省電力で実現できる。図1に示す本発明の第1の実施の形態の振動発生装置1は、ゲーム装置用などのコントローラとして使用されるものである。図1に示す振動発生装置1は、筐体2を有している。筐体2は人が両手で保持するのに適した大きさであり、右側部2aが右手で保持され、左側部2bが左手で保持される。筐体2の表面には、ゲーム装置などを遠隔で操作するための各種操作部材が設けられており、筐体2の内部には、ゲーム装置などの機器本体との間で操作情報やフィードバック情報を交信するために交信装置が設けられている。筐体2の内部に第1のモータM1と第2のモータM2が、X方向に間隔を空けて搭載されている。第1のモータM1の回転軸3aと第2のモータM2の回転軸3bは互いに平行で、共にZ方向に延びている。第1のモータM1の回転軸3aに錘4aが固定され、第2のモータM2の回転軸3bに錘4bが固定されている。図2に示すように、錘4aはその重心が回転軸3aの軸芯から偏った位置にあり、錘4bはその重心が回転軸3bの軸芯から偏った位置にある。なお、第1のモータM1ならびに第2のモータM2として、モータの内部のロータ部が回転軸の軸芯から偏った位置にあって、重心が回転軸から偏った錘を有するモータと実質的に同じ機能を発揮するものを使用してもよい。このモータはモータの構造部の内部に偏芯錘が構成されていることとなり、錘が外部に出ていないために機器を小型に構成しやすくなる。図5に示すように、筐体2の内部に、第1のモータM1の回転によってパルスを出力するエンコーダ5aと、第2のモータM2の回転によってパルスを出力するエンコーダ5bが設けられている。エンコーダ5bは第1のモータM1の後部に取り付けられ、エンコーダ5bは第2のモータM2の後部に取り付けられている。エンコーダ5a,5bのそれぞれは、回転軸3a,3bと共に回転する回転板と、この回転板に円周方向へ向けて一定のピッチで形成されたスリットと、前記スリットを検知する光学検知素子とを有している。それぞれのエンコーダ5a,5bからは、回転軸3a,3bが1回転する間に150個発生する速度検出パルスが得られる。回転軸3a,3bが等速回転しているとき、検出される速度検出パルスの周波数は一定であり、回転軸3a,3bの回転速度が変化すると、これに比例して速度検出パルスの周波数が変化する。速度検出パルスは位相が互いに90度相違するA相パルスとB相パルスを有しており、回転軸3a,3bの回転方向を検出できる。なお、本明細書での回転速度や速度は、モータの回転軸の角速度と同じ意味である。また、エンコーダ5a,5bのそれぞれからは、回転軸3a,3bが1回転する度に1個の位相検出パルスインデックスパルスが得られる。図5では、エンコーダ5a,5bのそれぞれから得られる位相検出パルスがZ相パルスとして記載されている。前記位相検出パルスが得られたときの位相を基準として回転軸3a,3bに錘4a,4bを固定することで、2個のモータM1,M2に設けられた錘4a,4bの相対位置を常に制御することができる。図1に示すように、振動発生装置1の筐体2の内部に制御部10が設けられている。制御部10はCPUやメモリを主体に構成されており、予め格納されたプログラムに基づいて第1のモータM1と第2のモータM2の回転速度や回転位相を制御する制御動作が行われる。図10には、制御部10で実行される制御動作が処理ブロック図として示されている。制御部10にPWM制御部29が設けられており、前記制御部10での制御動作に基づいて、PWM制御部29から第1のモータ用の駆動パルス11aと第2のモータ用の駆動パルス11bが出力される。第1のモータ用の駆動パルス11aと第2のモータ用の駆動パルス11bは、制御動作によってデューティ比が制御されたパルス信号である。図6に示すように、制御部10には、第1のモータ駆動部12aと第2のモータ駆動部12bが接続されている。制御部10から出力された第1のモータ用の駆動パルス11aが、第1のモータ駆動部12aに与えられると、駆動パルス11aが積分回路13aで積分されて平滑化され、ゲイン設定回路14aでゲインが調整されて、第1のモータドライバ15aに与えられる。制御部10から出力された第2のモータ用の駆動パルス11bも、第2のモータ駆動部12b内の積分回路13bで積分されて平滑化され、ゲイン設定回路14bでゲインが調整されて、第2のモータドライバ15bに与えられる。また、積分回路13a,13bによる平滑化回路を用いずに、DigitalAnalogConvertorD/A変換回路を用いて、PWM信号をアナログ値に変換して第1のモータドライバ15aと第2のモータドライバ15bに与えてもよい。第1のモータM1と第2のモータM2はDCモータであり、第1のモータM1は第1のモータドライバ15aによって回転駆動され、第2のモータM2は第2のモータドライバ15bによって回転駆動される。図5に示すように、第1のモータM1に接続されたエンコーダ5aから得られるA相とB相の速度検出パルスおよびZ相の位相検出パルスは制御部10に与えられ、第2のモータM2に接続されたエンコーダ5bから得られるA相とB相の速度検出パルスおよびZ相の位相検出パルスも制御部10に与えられる。これにより、第1のモータM1と第2のモータM2の回転制御がフィードバック制御によって行われる。図1と図5に示すように、振動発生装置1の筐体2に加速度センサ18と角速度センサ19が搭載されている。加速度センサ18は、加速度に反応する質量とその質量の変位量を検知する検知手段とを有しており、互いに直交するx軸とy軸およびz軸方向の加速度を個別に検知できる。加速度センサ18により検知されたx軸の加速度成分とy軸の加速度成分およびz軸の加速度成分が制御部10に与えられる。この加速度センサ18により、重力の加速度の向きが検知され、重力方向に対する筐体2の姿勢が検出される。または、筐体2が手で急激に動かされるなど筐体2に加速度が与えられたときも、この加速度が検出される。角速度センサ19は振動型ジャイロなどであり、筐体2が手で保持されて動かされたときのコリオリ力の変化に反応して角速度に比例した出力が得られる。振動型ジャイロでは、x軸周り角速度とy軸周りの角速度およびz軸周りの角速度が検出され、それぞれの検出信号が制御部10に与えられる。制御部10では、筐体2に設けられた操作部材で遠隔操作を行うときの操作情報や、ゲーム装置の本体から送られてくる振動の発生指令と停止指令、さらには振動の種別指令などに基づいて、第1のモータM1と第2のモータM2とを駆動する。図2Aに示す制御例では、第1のモータM1の錘4aと第2のモータM2の錘4bが、互いに位相が一致した状態で時計方向へ回転駆動される。重心が偏った2つの錘4a,4bが同じ周期で回転することで筐体2に比較的振幅の大きい振動を与えることができる。図2Bに示す制御例では、第1のモータM1の錘4aと第2のモータM2の錘4bが、位相が180度相違した状態を保ちながら、同じ方向へ回転駆動される。この場合、筐体2に比較的振幅の小さい振動を与えることができる。図2Cに示す制御例は、第1のモータM1の錘4aと第2のモータM2の錘4bが、図示左右方向に離れた位置関係が1回転に1度発生する位相関係を維持して、互いに逆方向へ回転駆動される。この場合、筐体2に対して、Y方向の振幅が比較的大きく、X方向の振幅が比較的小さい振動が与えられる。また、第1のモータM1と第2のモータM2の1回転の間の速度角速度を変化させることにより、図2Aの回転例において、筐体2を保持している手に対して一定の向きの力が作用する感触を与えることができる。例えば、第1のモータM1と第2のモータM2を時計回りに回転させて、錘4aと錘4bがY側に位置したときに反時計方向へ向く大きな加速度の変化を与えて時計方向への速度を減速させる。これにより、第1のモータM1と第2のモータM2から筐体2に対して、錘の角速度の急激な減少で発生する反力に伴う回転振動と共にX方向への錘による慣性力が与えられて、筐体2を保持する手に対して、あたかも筐体2がX方向へ押されているような、または図2Aにおいて時計回り方向へ捻られるような感触が与えられる。図2Cの回転例は、第1のモータM1の錘4aと、第2のモータM2の錘4bとが逆回転で、X方向成分が互いに打ち消されるために、第1のモータM1と第2のモータM2の1回転の間の速度角速度を、例えば増速から減速へと変化させたときに、筐体2を保持する手に対して捩るような感触はあまり与えられず、錘の角速度の減少により発生する反力と、錘の慣性力によって、筐体2を保持している手に対して、振動と共に、Y方向または―Y方向に向けて強い力が与えられているような感触が与えられる。以下においては、図2Aに示す回転例において、1回転に一度、筐体2に対してX方向への力を与え、その結果、筐体2があたかもX方向へ押されているかのような感触を得るための制御動作を説明する。図10では、第1のモータM1とこれに接続されているエンコーダ5aが1つのブロックで示され、第2のモータM2とこれに接続されているエンコーダ5bが1つのブロックで示されている。以下で説明する制御動作では、図2Aに示すように、第1のモータM1と第2のモータM2が同じ方向へ回転しているため、エンコーダ5aから得られるA相の速度検出パルスとZ相の位相検出パルスが使用され、エンコーダ5bから得られるA相の速度検出パルスとZ相の位相検出パルスが使用されて、制御動作が行われる。以下では第1のモータM1の回転速度を制御する制御動作を説明するが、第2のモータM2の回転速度の制御も同じである。図7Bは、第1のモータM1が1回転する間に発生させようとしているトルクの変化を示すトルク変化プロファイルPtを示しており、図7Aは、第1のモータM1を駆動するときの1回転の間の速度変化を示す速度変化プロファイルPvを示している。図7Bに示すトルクは、第1のモータM1を駆動するエネルギーと同じ次元である。また、図7Bに示すトルク変化プロファイルPtは、第1のモータドライバ15aから第1のモータM1に与えられる駆動電流の変化と等価である。よって、図7Bに示すトルク変化プロファイルPtを、第1のモータM1を駆動するために駆動電流の変化を示す電流変化プロファイルと読み替えることもできる。また、図7Bに示すトルク変化および駆動電流の変化は、第1のモータM1の回転軸3aの加速度の変化と同じである。図10に示すように、制御部10内のメモリ内のテーブルT1に、図7Aに示す速度変化プロファイルPvが目標値理想値として書き込まれて保持されており、テーブルT2に、図7Bに示すトルク変化プロファイルPtが目標値理想値として書き込まれて保持されている。図7Bに示すトルク変化プロファイルPtでは、回転軸3aの1回転の周期をτとしたときに、回転し始めて最初のほぼ1/3τの期間で正側の回転トルクが発生し、その後の2/3τの期間で負側の回転トルクが発生する。これに対応する速度変化プロファイルPvでは、最初のほぼ1/3τの期間が増速区間であり、その後の2/3τの期間が減速区間である。トルク変化プロファイルPtの正側の回転トルクを発生させる区間の最初のτaが上昇区間であり、この上昇区間τaで正側の回転トルクが徐々に上昇する。そして、1/3τの期間のうちの残りのτbの区間では回転トルクが一定である。1/3τを経過した後の急変区間τcにおいて、正側の回転トルクから負側の回転トルクへ急激に変化する。このトルク変化は、図7Bに示すように、時間軸に対してほぼ垂直に下がるように急激に変化する。そして、その後の2/3τの期間では、負側の回転トルクの絶対値が徐々に小さくなっていく。図7Aに示す速度変化プロファイルPvでは、上昇区間τaで回転速度が徐々に上昇して行き、τbでは速度変化が一定加速度で上昇していく。そして急変区間τcにおいて、トルクの正側から負側への反転に応じて、回転方向と逆向きの加速度が急激に作用する。その後は、回転速度が2/3τの時間をかけて徐々に低下していく。前記急変区間τcでは、第1のモータM1のトルクが正側から負側へ急激に変化し、回転方向と逆向きの加速度が急激に作用するため、第1のモータM1から筐体2に対して正側トルクにより蓄えられた錘による慣性力と、錘の角速度の減少で発生する反力モータのブレーキトルクとが合致して、大きなベクトルが与えられる。急変区間τcを、図2Aに示すように錘4aがY側に至ったとき、あるいはそれよりも少し前のタイミングとなるように設定することで、筐体2を手で保持しているときに、手に対して回転振動と共にあたかもX方向へ押されているかのような感触を与えることができる。図7Bに示すトルク変化プロファイルPtは、第1のモータドライバ15aから第1のモータM1に与えられる駆動電流の変化と等価である。駆動電流を与える電流変化プロファイルでは、急変区間τcにおいて、正側の電流値と負側の電流値との落差を大きくしているが、上昇区間τaでは急変区間τcに至るまでに電流値を徐々に上昇させ、急変区間τcを超えた後の2/3τの時間で負側の電流値の絶対値を徐々に低下させている。そのため、急変区間τcにおいて、正側の電流値と負側の電流値との落差を大きくでき、正側の回転トルクと負側の回転トルクとの落差を大きくできて、筐体2に大きな慣性力を与えることができる。その一方で、急変区間τcの前後で電流値を徐々に変化させることで、1回転の間の消費電力を低減できるようになる。また、1/3τの期間では、正側のトルクの蓄積に伴う反力が徐々に増加することにより、与えたい方向とは別な方向に作用する反力の影響を低減でき、これによりエネルギーの消費を低減できる。図8に示すトルク変化プロファイルPtaは、急変区間τcにおいて、負側に大きなトルク変化Pt1を与えている。これにより、大きなブレーキトルクを与えて発生する反力を増加させることが可能である。また、モータ回転に伴う逆起電力も利用可能となるため、より強いブレーキトルクを利用することも可能となり、低トルクのモータを使用し低消費電力で大きな力を発生することができる。また、急変区間τcの直後では、負側のトルクの絶対値を小さくし、その絶対値を徐々に小さくすることで、消費エネルギーを少なくできるようになる。図10に示すように、制御部10の制御動作では、第1のモータM1が駆動されると、エンコーダ5aからA相の速度検出パルス21が得られる。回転速度算出部22では、間欠的に送られてくる速度検出パルス21の周期の変化から速度情報23が求められる。この速度情報23と、テーブルT1に保持されている図7Aに示す速度変化プロファイルPvとが比較され、その誤差情報24に基づいて、比例補正部25で比例補正が行われ、積分補正部26で積分補正が行われる。比例補正部25と積分補正部26では、テーブルT1から与えられる速度変化プロファイルPvと実際の第1のモータM1の回転で得られた速度情報23との誤差を回復させるフィードバック制御が行われる。比例補正部25では、実際の回転速度が速度変化プロファイルPvに対して遅れたり進んでいるときに、その誤差に比例させて速度を回復させる補正情報が生成される。この場合、補正の残差が発生するが、積分補正部26ではこの残差を累積させる補正が行われる。比例補正部25と積分補正部26とで補正された補正速度情報27に基づいてモータ駆動信号28が生成され、これがPWM制御部29に与えられて第1のモータ用の駆動パルス11aが生成される。図6に示すように、駆動パルス11aがモータ駆動部12aに与えられて、DC成分に変換されて第1のモータドライバ15aに与えられる。図9ABは、PWM制御部29で生成される駆動パルス11aと、モータ駆動部12aで平滑されて第1のモータドライバ15aから第1のモータM1に与えられる駆動電流Iとの関係を模式的に示している。図9Aに示す駆動方法では、駆動パルス11aは、1/3τの期間で、2.5Vの基準電位とする正側のパルスがその周波数が徐々に高くなるように与えられ、その後、2.5Vを基準電位とする負側のパルスに反転し、負側のパルスの周波数が徐々に低下する。一方、図9Bに示す駆動方法では、駆動パルスのデューティー比を変化させている。図9AまたはBの駆動方法では共に、第1のモータドライバ15aから第1のモータM1に与えられる駆動電流Iが、図7Bに示すトルク変化プロファイルPtに追従する波形変化となる。上記の閉ループにより、目標となる速度変化プロファイルPvと、実際の第1のモータM1の回転速度の差を回復するようフィードバック制御が行われる。さらに、図10に示すように、テーブルT2に、図7Bに示すトルク変化プロファイルPtが保持されている。このトルク変化プロファイルPtは、第1のモータM1が発揮すべき目標となる理想的なトルク変化を示している。エンコーダ5aから得られた速度検出パルス21に基づく実際の速度情報を使用したフィードバック制御で補正された補正情報に、さらにトルク変化プロファイルPtが加算されて前記補正速度情報27が得られる。このフィードフォワード制御により、予め理想状態として登録されているトルク変化プロファイルが与えられることになり、温度変化によるモータの回転特性の変動や、モータドライバなどの回路の動作の変動があったとしても、フィードフォワード補償に伴う位相進み補償による効果により、フィードバック補償ゲインを強くすることが可能となり、外部環境変化の影響を受けにくくなる。よって、よりトルク変化プロファイルPtに近づけるような補正速度情報27を生成することができ、第1のモータM1の1回転中に筐体2に対して一定方向の力を与えるような駆動制御を安定して行うことができる。図10に示す第2のモータM2に対する駆動制御は、第1のモータM1に対するものと全く同じである。第2のモータM2の回転速度の変化は第1のモータM1と同じであるため、第2のモータM2の制御系統においてもテーブルT1に図7Aに示す速度変化プロファイルPvが保持され、テーブルT2に図7Bに示すトルク変化プロファイルPtが保持される。図10に示すように、第1のモータM1のエンコーダ5aから得られた位相検出パルス33aが位相検出部34aに与えられ、位相検出部34aで位相検出パルス33aが得られてからの経過時間が計測される。同様に、第2のモータM2のエンコーダ5bから得られた位相検出パルス33bが位相検出部34bに与えられ、位相検出パルス33bが得られてからの経過時間が計測される。比較部35において、位相検出部34aで計測された経過時間と位相検出部34bで計測された経過時間との差位相差が求められ、その位相差の情報が、第1のモータM1の制御系統の比例補正部25と積分補正部26に与えられて、第1のモータM1のための補正速度情報27が得られる。これにより、第1のモータM1と第2のモータM2が常に同じ位相で回転できるようになる。2つのモータM1,M2が、同じ位相で同期して同じ速度変化を有して回転するため、2つのモータM1,M2から筐体2に大きな振動と、さらに一定の向きの力を増幅して与えることができる。図10に示すように、加速度センサ18からの検出情報と、それぞれのエンコーダ5a,5bから得られる回転情報とが、トルク修正算出部41に与えられる。トルク修正算出部41では、モータM1,M2の回転特性と、偏心して回転する錘4a,4bの慣性モーメントなどから、筐体2の姿勢の変化や筐体の加速度の変化により発生したトルク修正情報が算出される。また、角速度センサ19からの検出情報と、それぞれのエンコーダ5a,5bから得られる回転情報とが、トルク修正算出部42に与えられる。トルク修正算出部42では、モータM1,M2の回転特性と、筐体2に発生した角速度情報などからトルク修正情報が得られる。この2つのトルク修正情報が、修正情報43として、それぞれのモータM1,M2の制御系統のテーブルT2のトルク変化プロファイルPtに加算される。例えば、手で保持されている筐体2が手の動きによってX方向へ急激に動かされているときに、モータM1,M2を図7Bに示すトルク変化を示すように動作させて、X方向へ押すような力を発生させようとすると、手に感じるX方向の力が低下してしまう。この場合には、前記修正情報43によりその分だけトルク変化を増強できるようにトルク変化プロファイルPtが修正される。これにより、筐体2から手に対してX方向へ押しているような感触を十分な大きさで与えることができる。逆に、手の動きによって筐体2が-X方向へ急激に動かされているときは、前記修正情報43によってトルク変化が低減するようにトルク変化プロファイルPtが修正される。本発明の振動発生装置は、第1のモータM1と第2のモータM2の配置が、図1に示すものに限られるものではない。例えば、図3と図4に示す第2の実施の形態の振動発生装置101では、筐体102内において、第1のモータM1の回転軸3aと第2のモータM2の回転軸3bとが同一線上に配置されている。図3では、回転軸3aと回転軸3bが互いに逆向きに延びているが、回転軸3aと回転軸3bが互いに向かい合うように、2つのモータM1,M2が配置されてもよい。この振動発生装置101は、筐体102を片手で保持するゲーム装置用のコントローラなどとして使用することができる。さらに、図1に示す第1のモータM1の回転軸3aと第2のモータM2の回転軸3bが、筐体2に対して垂直図1の紙面に対して垂直に向けられたものであってもよい。"