|
私の所属している部署は、電子制御システムのソフトウェアの開発が主な業務です。そのため、私が車の運転を
教える時に、「制御」に関連付けて話をすることもあります。そのほうが、生徒たちの理解が早いからです。 ここで言う「制御」の定義は、「対象となる装置・機械・プラントなどに操作を加えて、それらを所望の状態に 保持し、あるいはそれらの状態に所望の変化をさせること」です。 また、フィードフォワード制御とは、制御対象の状態の目標値を設定し、その目標値を実現できる入力を一方的に 与えることをいいます。このとき、与える入力は、状態の目標値を基に正確に計算されている必要があります。 それに対して、フィードバック制御というものがあります。こちらは制御対象をある状態にするために、状態を 検出するセンサーからの信号をもとに目標値と現在値との偏差を求め、その偏差を減らすような入力を与える というものです。 たとえば、お風呂にお湯をためることを考えると、フィードフォワード制御では、蛇口を全開にしたときに どのくらいの時間でたまるかを予め調べておいて、その時間がたったら蛇口を閉める、という具合です。 フィードバック制御だと、蛇口を開けたあと常にお湯の量を監視して、所望の量になったら蛇口を閉じる、 という訳です。 フィードフォワード制御の短所は、外乱に弱いところです。お風呂の例でいえば、途中で誰かがお風呂のお湯を ちょっと桶ですくって外に出してしまったりすると、結果的にお湯の量が少なくなってしまいます。また、蛇口や 湯船の特性をしっかり把握していないと、正確な制御が出来ません。 フィードバック制御は、常に状態を監視しているので外乱には強いですが、センサーからの情報伝達の遅れや 操作の遅れがあるので、すばやい反応が要求される場面では正確な制御が出来ません。 さて、車の運転というものをひとつの制御系として捉えるとどのようになっているかというと、制御対象は 車、操作の主体となるのはドライバーとなります。ドライバーが車を動かそうとした時、一般的にはフィード バック制御で車を制御しているということになっています。普段の運転を考えてみると、車の状態や周りの状 況を常に監視して、それらの情報をもとに判断をして次の操作を行なう訳ですから、これはフィードバック制御 だということになります。しかし、これは外乱の多い一般公道での運転の話であり、周辺環境など外的要因を 可能な限り排除した状態、つまりサーキット走行を考えると、車の運転はフィードフォワード制御で行なわな ければいけません。一般公道での走行でも、運転操作だけに注目すれば話は同じです。 ここでは、あくまで運転操作=車の制御に的を絞って話をします。 運転の上手い人は、最小限の操作で車を望むとおりに動かすことが出来ます。これは、フィードフォワード制御が 正確に行なえている、ということです。下手な人は、無駄な操作が多く、車の動きもフラフラ、ギクシャクしてしま います。 例えば、ある曲率のカーブを曲がろうとしたとき、上手い人は、ステアリングをどのくらいの速さで、どのくらいの 量まで切り込めば曲がれるかを正確に予測することができるので、ほぼ一定の舵角で曲がることが出来ます。それ に対して下手な人は、必要なステアリングの操作を予測できないため、とりあえずステアリングを切ってカーブに 入ったものの、操作量が足りなくて曲がりきれない→ステアリングを切り増す→切りすぎたので、また戻す・・・、 というようなことを延々と繰り返したりします。 車の運転はフィードフォワード制御で行なわなければならないと書きましたが、実は上手い人でもフィード バックによる修正は常に行なっています。しかし、その量は非常に少なく、修正操作も正確に、かつ最小限で行なうこと が出来るので、傍から見れば修正など行なっていないかのように見えます。 下手な人の場合、フィードフォワード制御が正確に行なえないために、フィードバックによる修正の割合が 多いので、カーブではフラフラしてしまうというわけです。 このように、スムーズで美しい運転には、精度の高いフィードフォワード制御が必要不可欠ということです。 冒頭にも書きましたが、フィードバック制御ではすばやい反応が要求される場面では、正確な制御をできません。 これは車の運転にも当てはまります。たとえ上手い人でも、予期せずテールスライドを起こしたときには、 スピンしてしまうことがあります。車の動きを感じてから操作しても遅いということです。下手な人の場合は、 車の動きを感じるセンサーの感度も鈍いですし、運転操作も正確ではありませんから、車の動きを感じて操作を 行なっていても思い通りに動かすことは絶対に不可能です。 また、車というものは、操作に対して実際に動き出すまでにかなりの時間差があります。これは車速が上がれば 上がるほど、操作が速くなればなるほど大きくなります。 つまり、限界ギリギリで走ろうと思うと、フィードバック制御では制御できないということです。操作に対する 遅れが大きいわけですから、その遅れを見越して早めに操作をしないといけないのです。雪道など低μ路面では、 この遅れが特に大きくなります。ステアリングを切り込んでも、すぐには車は曲がり始めません。慣れてない人 だと、この時点で思わずステアリングを切り増してしまいます。そうすると急激に車が曲がり始めて、ステアリングを 戻しても「時すでに遅し」でスピンします。極端に路面μの低い状況では、フィードフォワード制御でないと まともに走ることすらできないのです。 では、精度の高いフィードフォワード制御を出来るようになるには、どうしたらよいのでしょうか?はっきり言って、 「経験を積む」という以外に方法はありません。とは言っても、漫然と走っていてもダメです。タクシーやバスのドライバー でも無茶苦茶下手クソなのがいますよね。漫然と走っていたら、何十年たっても上手くなりゃしません。 街中を走っているような時でも常に、車の動きを意識して制御することが大事です。車にどういう入力を与えたら、 どのように動くのかということを常に意識しながら運転しましょう。例えば、あるカーブを曲がろうとしたとき、 なるべくステアリングを修正しないで曲がれるように意識してみましょう。コーナーの進入で舵角を一発で決めて、 そのまま曲がれれば成功です。 赤信号で止まる時には、ブレーキの踏力を一定にして減速し、停止線でピッタリ止まれるように練習しましょう。 また、高速道路を走るときには、ある車速をピッタリ維持して走るように意識しましょう。これが結構難しいもの です。(一定速度を意識するあまり、スピードメーターばかり見ていては危険ですので注意しましょう) このような練習を積み重ねていくことによって、車に対してどのような操作をすれば、車にイメージ通りの動きを させることが出来るかが分かるようになります。 私が運転を教えるときは、「自分の中に正確な車両モデルを構築しろ」と言っています。「車両モデル」というのは ある入力を与えたときの実際の車の動きを予測するための数式で、シミュレーションや車の運動を制御するような システムのソフトウェア等で使用されるものです。自分の中に車両モデルを構築できれば、どんなときでも 次の瞬間の車の動きを予測できるようになる=精度の高いフィードフォワード制御ができるようになるという ことになるのです。 |
![]() |
![]() |
| トップへ | 戻る |