HOME >> 鉄道模型実験室 > 距離データを近似させる

鉄道模型実験室  距離データを近似させる

■ はじめに

 位置情報を距離センサでセンシングし、車両の動きを把握する方法について先回検討してみたが、速度をもっと確実に測定出来る工夫が必要であることがわかった。 測定方法そのものの変更も検討する必要があるが、お風呂の中でふと気が付いた。 距離データはそれなりに測定されているので、このデータに合致する近似式を求め、その式を微分して計算すればバラツキの無い速度データが得られるのでは無いかと!

 でも、そう簡単では無かった。 近似式を求めるのに四苦八苦してしまった。 その検討内容を今回報告しよう。

 

   .

■ 発進時のステップ応答

 先回報告した測定データをもとに、その処理方法を検討してみた。 その時のグラフの例を右に示す。 横軸には時間を示し、電圧、電流、距離、および速度の4項目を縦軸に表示している。 4項目を一度に表示させるために、距離と速度のデータについては左の電圧の目盛りを使用して、数値を変更している。 距離データは数値を 1/100 にしてmm で表示する。

 速度データは距離データの時間当たりの(msec)変化分から計算し、スケール速度(縮尺1/150)を計算して Km/h の値を 1/20 で表示している。 更にゼロ点を1.0にドリフトさせている。 即ち、1.0 目盛りで スケールスピード20Km/h を示すことになる。

 

 このグラフに示した距離のデータをもとに、近似式を求め、その近似式から速度を求めることにする。 まず、電圧や電流、距離などのデータを見ながら、スタート時刻を設定する。 データが変化を始める一つ前の時間をスタートに設定した。 さらに、速度が収束すると思われるまでの時間も決めておく。 そして、このスタートから収束するまでの時間と距離のデータを別に設定した欄に値をコピーする。 下の図を参照。 これはこの後の処理フローを測定データ毎に作り直す必要が無い様に工夫したものである。 時間と距離のデータをコピーすれば後の計算フローを統一出来るからである。

 

◆ 多項式での近似

 まず近似式として多項式を取り上げた。

 上記の処理で得られた時間と距離のデータを左のグラフに示す。 そして、適応する近似式を探した結果、6次の多項式が最もピッタリと合致した。 そして近似式も表示させた。 近似式の決定係数(寄与率)R2 も R2 = 0.99969 と近似式としては文句のない数値である。

 この近似式の各次の係数を一覧表として表示させ、その数値を使用して、近似距離を計算する。 その時の測定値と計算値の誤差を右のグラフに示す。 誤差は1mm 以内であり、完璧だと判断し、多項式の近似式より微分値を計算する。

 この時の係数も上の一覧表の数値を使用している。計算結果は左のグラフに重ねて表示する。

 でも予想した曲線と少し異なっており不満である。 途中から段差が出来ているのである。

 立ち上りの辺も変化が早すぎる様である。

 このデータを表示スケールに合わせて近似速度として計算し、当初のグラフに重ねたのが右のグラフである。

収束近くになって、2段に変化するなんて、やはり変である!

 距離データの近似式がピッタリだったのに、この結果にはガックリ である.

 

 諦めきれないので、データの対象範囲を狭め、さらに4次式で近似させてみた。

 その結果を左に示す。

 決定係数はやや悪化しているが2段変化は少なくなっている。 この時の誤差を下のグラフに示す。 誤差も少し悪くなっているが大きな影響は無い。 さらに近似速度を計算し、上記と同様にグラフに表示させた。

   やはり変である! 

 これは多項式での近似が原因ではないかと判断して、他の式で近似する方法を検討することにした。

 

 

◆ 指数関数での近似

 ものの本によると、ステップ応答の結果は指数関数で表示されている。 そこで、近似式として指数関数を用いることにするが、EXCEL で直接近似させる方法が見つからなかった。  指数関数として近似させるには、右下がりのデータで、且つ、ゼロやマイナスのデータを含まない事が要求されるのである。 当然と言えば当然であるので、なんとかデータを加工して適応させることにした。

 一次遅れ系を含むシステムのステップ応答を考える時、収束した定速状態の速度をVo とすると、速度は V = Vo ( 1 - e^(-at)) で表わせるとのことである。 この式を積分して走行距離を求めると、距離 Y は、 Y = Vo*t + Yo + Vo/a* e^(-at)  となる。

 そこで、 収束した定速状態の速度をVoを想定して測定データからその距離(= Vo*t+ Yo )を差引いてグラフ表示すると、Vo/a* e^(-at) の指数関数を表示している事になる。 そこで、下記の様な計算シートに作り変えた。

 まず、多項式近似の場合と同様に、距離データをグラフに表示させる。 今回は右の縦軸にて表示している。 次に、その距離のデータに漸近する漸近線を想定するため二つの点を設定しデータ間を直線で表示させる。 そして、距離データのプロット点と平行になるように二つの点のデータを修正して行く。 漸近線は差し引きデータがマイナスにならないように距離データのプロット点のすぐ下側に平行になるように倣うのがミソである。 そして、この時の漸近線の式の値を表示させ、その係数を c と d の欄にコピーする。  係数c は、収束した定速状態の速度をVo と同じになるはずである。

 次に、これらの値を使用して測定データから距離(= Vo*t+ Yo )を差引い値を修正距離として計算し、グラフ上に表示させた。

     そして指数関数として近似させたが、結果はガッカリであった。

 全然、かけ離れた近似線となってしまうのである。 理由はすぐに分かった。

 一つの式で表わすのは不可能であると言うことに気が付いたのである。 もともと、ガタとか摩擦抵抗なの非線形要素が含まれた動力機構であるため、線形式で近似させようとしても無理なのである。 そこで、加速中だけの部分を取り出し、その範囲で近似させるようにしたのが、上のグラフである。

 そして、推定速度として計算して、当初のグラフ上に重ねて表示させたのが右のグラフである。 でもやはり、収束した定速状態とは段差ができてしまうのである。

 なお、使用している用語や記号が色々変化しているが、ご容赦して頂きたい。 混乱している頭で暗中模索しているので、用語の統一は二の次にしています。

 やはり無理な様なので、諦めるしかないのだろうか?

 

◆ 近似式を諦める

 もう一度原点に戻って考えてみた。 何のために近似式を求めるのか? それは、動力システムのステップ応答による立ち上りや収束時間を導き出し、模型車両の “如何にゆっくりと、且つ、のんびりと応答するか”  のデータが欲しいからではないのか。 それならば、測定された距離データから直接推測する方法は無いのか。

 上記の修正距離のグラフを見ながら検討したのが右の図である。

 ステップ応答の距離のデータは、停止部から加速部を経由して定速部に移行するので、それぞれの変化点である立上部と収束部を求めれば良いではないかと気が付いた。

 学術的には立上り時間とか、無駄時間、遅れ時間、整定時間、時定数などの用語が使われているようであるが、あやふやな知識の小生には充分に理解できていない。 また、フライホイールや車両質量などを含む2次遅れ系のシステムでは、応答は2次曲線になるとのこと。 ボール投げは方物線になるではないか。 そこで、加速部を2次曲線で近似させ、停止部と定速部の直線部との交点を求めて、その時の経過時間を評価項目とすれば良いではないのか。

 その間の応答カーブは見ていても判らないし、良し悪しの判断も付かない。 さらに、収束部では、オーバーシュートなどの現象が表れるので、右のグラフの様に加速部と定速部とが綺麗に接続することはないのでは無いかと考えることにする。 この様なオーバーシュート現象の影響で、今まで四苦八苦したのではないかと勘ぐることも出来る。

 早速、求めるて見ることにした。 その方法は、修正距離を求めるまでは、上記の指数関数の近似と同じである。 次に、グラフとデータを見ながら、停止部と加速部および定速部の切り分けを実施する。 データ欄のセルに色付けを実施している。

 あいまいな境界部分はあえてどちらにも属さないようにしている。 そして、加速部は2次関数で近似させ、停止部と定速部は直線近似させて近似線を表示させる。 さらに収束部は上記のグラフとは別に拡大表示させた、立上部はグラフが直交する修正前の距離データの方を使用して新たに拡大表示する。 そのグラフを下に示す。

 このグラフより、二つの近似線が直交する時間を読み取ると、立上部は T1 = 0.21sec、 収束部は T2 = 1.52 sec と読み取ることが出来る。 立上部は 無駄時間と呼はれているようであるが、収束部はどう呼ばれているのか定かではない。 ともかくこの方法では、それらしき数値が読み取れるので、この方針で、他の車両の測定データを見てみることにしよう。

 

▲ EF65-1097号機の場合

 EF65-1097号機のデータをもとに、同じ様な解析を実施した。 測定データを下のグラフに示す。 速度のデータについて、速度特性の傾向を把握するために、前後のデータの平均を薄い線で示している。

 この距離データから前記と同様に修正距離を求めたグラフを右に示す。 そして立上部と収束部の拡大グラフを下に示す。

 これより、立上部は T1 = 0.19sec、 収束部は T2 = 1.44 sec と読み取ることが出来る。 

 

▲ EF210-109号機の場合

 EF210-109号機のデータをもとに、同じ様な解析を実施した。 測定データを下のグラフに示す。 速度のデータについて、速度特性の傾向を把握するために、前後のデータの平均を薄い線で示している。

 この距離データから前記と同様に修正距離を求めたグラフを右に示す。 そして立上部と収束部の拡大グラフを下に示す。

 これより、立上部は T1 = 0.13sec、 収束部は T2 = 1.17 sec と読み取ることが出来る。  また、この車両は収束部でのオーバーシュートが少ないようである。

 

■ まとめ

 当初考えていた “ 距離データはそれなりに測定されているので、このデータに合致する近似式を求め、その式を微分して計算すればバラツキの無い速度データが得られるのでは無いかと!” の思惑は完全に外れてしまった。 少しバラツイテいる測定を用いて、その変化分を求めようとするのは難しい事が判った。

 その原因は、データのバラツキに依るかも知れないが、ガタや摩擦などの非線形要素による応答曲線に由来するのではないかと推察している。 電気回路の様に線形要素で構成されているシステムでは上手く行くかもしれないが、機械的要素が入る動力機構では、やはり速度データを直接測定する必要があり、その測定データから応答曲線を近似させるのが良さそうである。 しかし、どうやって速度を直接測定するのだろうか?

 最後に実施した解析手法を停止時のデータに応用しようとしたが、対象車両が、速度センサの測定ゾーンに入ってからすぐにスイッチを切ってしまったので、定速部のデータが少なく解析出来なかった。 これは、測定方法を少し注意すれば測定可能なので、再チャレンジしておく必要があるようである。