このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| dcマウスの車体制御 [2011/04/19 23:56] – 作成 member | dcマウスの車体制御 [2011/04/20 00:13] (現在) – member | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ======DCマウスの車体制御====== | ======DCマウスの車体制御====== | ||
| + | |||
| =====フィードバック制御の方法===== | =====フィードバック制御の方法===== | ||
| + | |||
| ====問題点==== | ====問題点==== | ||
| 基本的にはPID制御で制御を行うのが良いと思います。 | 基本的にはPID制御で制御を行うのが良いと思います。 | ||
| 行 53: | 行 55: | ||
| 要すると、カスケード接続はなんかごちゃごちゃしてるから嫌だ という人に良いと思います。 | 要すると、カスケード接続はなんかごちゃごちゃしてるから嫌だ という人に良いと思います。 | ||
| + | <code c> | ||
| + | 速度制御量 = 速度制御(); | ||
| + | 角度制御量 = 角度制御(); | ||
| + | 壁制御量 = 壁制御(); | ||
| + | |||
| + | トルク.右 = 速度制御量 + 角度制御量 + 壁制御量; | ||
| + | トルク.左 = 速度制御量 - 角度制御量 - 壁制御量; | ||
| + | </ | ||
| + | 要はこれだけです。 | ||
| + | |||
| + | =====フィードフォワード制御===== | ||
| + | ====要するに==== | ||
| + | マウスが加速する時を考えてみます。 | ||
| + | *加速度は自分で決めます(a[mm/ | ||
| + | *車体の重量は量ってみればわかります(m[kg]) | ||
| + | *タイヤ径も自分で設計しました(D[m]) | ||
| + | *ギヤ比も自分で決めました(G) | ||
| + | *モータの特性はデータシートに載っています (トルク定数[mNm/ | ||
| + | この条件があれば、マウスが加速する時に必要とする電流は簡単に求められます。 \\ | ||
| + | |||
| + | 要するに、簡単に計算できるので | ||
| + | 「偏差が出てくるまで仕事をしてくれないフィードバック制御が働く前に出力してしまおう」 | ||
| + | というのがフィードフォワード制御です。 | ||