車両に取り付けられた加速度計を使用してどのようにしてポットホールを検出できますか?


9

私は現在DSPとFFTを勉強しています。これに非常に慣れておらず、Arduinoと趣味のプロジェクトで長い間電子機器を扱っています。最近、私はあなたの毎日の通勤に沿って道路の粗さを測定するために、くぼみをマッピングすることを目的としたプロジェクトを行っています。これは道路の外形ではありませんが、旅行中にドライバーが感じる乗り心地の粗さです。ポットホールに衝撃が加わったときに、Z軸の「垂直」加速度を測定するために加速度がマウントされています。単純化するために、クォーターカーモデルのように、ばねが力を弱めます。

基本的には、FFTを使用して垂直加速度の支配的な周波数を見つけることにより、ポットホールを検出する検出器を作成したいのですが、パターンに一致させて、車のドアのドアのスラミングやマンホールカバーを検出できます。たぶん将来的には穴から。

FFTが適しているかどうかは不明ですが、入力やアドバイス、アイデアは大歓迎です。ドライブパスとエンジンからの高周波数の振動を除去するために、ローパスフィルターを作りました。

車の乗客/ドライバーが感じた「荒さ」に関するアイデアはありますか?私は滑らかな道路、砂利道、レンガ道、悪路で路上試験を行い、垂直加速度の大きさのしきい値を考え出し、「ラフ」と見なされるものに何らかの方法でスケールを付けることを考えていました。

検出されたポットホールもGPSの場所でログに記録されます。私はこのためにRasberry Piを使用しようとしています。データストレージとその速度は、そのための優れたプロジェクトです。

本やチュートリアル、知恵など、どんな助けやアイデアにも感謝します。

更新:

ここに追加データを引き継ぎます:

/electronics/56238/accelerometer-data-smoothing-filtering-pothole-detection


2
以下のPAK-9の回答には、いくつかの良い提案があります。ステップ1はおそらく、ロードテスト(提案通り)を使用してデータを収集し、検出したい機能が実際にどのように見えるかを確認することです。
Jason R

それらをseeclickfix.comに自動的に送信しますか?:)
2013年

はい、私はそれを正しく機能させることができれば笑うことができます、ボストン市はこれを行うスマートフォンアプリを作成しました。鉱山はその簡単なサブセットになります。スマートフォンでは、ほとんどの人が車の中でそれを動かすので、正確な測定値を取得したり、電話を落としたり動かしたりしないようにするには、ホルダーに電話を置く必要があります。車が動いています。それで、私はそれらの複雑さを避けるために外部加速度計を使っています
zacharoni16

@ user978563ところで、あなたが使用している加速度計のこの外部ブランドは何ですか?
Spacey

ブランドはKXPS5-3157データシートです 。dz863.com/downloadpdf
zacharoni16

回答:


8

信号の周波数情報には、検出可能な特徴ほどの関心はありません。そのため、ここではFFTにそれほど有用性がないことをお勧めします。

本当にやりたいことは、車に記録された連続的な「車の信号」を、ポットホールバンプの「シグネチャ」である別の信号と相関させることです。このシグネチャは、ポットホールを通過する車で記録することで取得する必要があります(おそらく、多数を記録し、それらを使用して、ポットホールを表す一般的な信号を生成します)。それを取得したら、それを車の信号と相互相関させることができます。周波数領域でこれを実行することをお勧めします。その場合は、署名のFFTを車の信号のスライディングFFTと相互相関させる必要があります。

たとえば、ローパスフィルターを使用して高周波ノイズを除去するために使用する前に、車の信号を処理することができます。あなたはこれを目でかなり効果的に行うことができます-車の信号のさまざまなフィルターをいじって、重要なポットホール情報をそのままにして、最も無関係な情報を取り除くフィルターを確認してください。


この相互相関をプログラムで行うのは非常に難しいでしょうか?これはすべてソフトウェアで自動的に行われるようにします。最も難しいのは、FFTを車内の現在のデータのFFTと照合するのに十分広いポットホールの「一般的な信号」を取得することです。スライディングFFT、ウィンドウ関数はどうなりますか?FFTについて私を混乱させる1つのことはウィンドウです、それはスライディングウィンドウでしょうか?ポットホール周波数は5HZから20HZの範囲で発生するようです。非常に低い周波数は、湿ったサスペンションのSHMに影響します
zacharoni16

2
相互相関はプログラムで行うことは特に難しくありません。これは畳み込みに非常に似ています(どちらも基本的に2つの配列で繰り返し、それぞれのサンプルでいくつかの関数を実行しています)-したくない場合は、利用可能なライブラリがあると確信しています。自分で書いてください。シグネチャを取得するのは少し難しいかもしれませんが、データのロードを取得した場合、いくつかの機能が出現し、相互相関がバイナリではないため、結果は本質的に「信頼性」の値なので、必要に応じてしきい値を設定できます。
PAK-9

1
スライディングFFTのウィンドウfnは何でもかまいませんが、結果に劇的な影響を与えることはありません。信号の観測に基づいてこのようなものを合成できるように、短期間に減衰される大きなインパルス(サスペンションのSHM)が見られると思います。
PAK-9 2013年

AH理にかなっている、難しい部分は署名を取得することであり、手順の同様の例があるチュートリアル、本、またはサイトがあります。今、私は速度バンプのような合成バンプ、およびポットホールとドライバーを作成する必要があるだけだと思いますそれらの上にたくさんのデータを取得するために何回も。署名についてどのような機能を検討すべきか
わかり

2
バンプとホールの負荷をドライブして、信号のそれらの部分を切り刻むだけで、署名のライブラリが得られます。それらのそれぞれをFFTしてスペクトルシグネチャを取得します。目視検査で大きく異なるものがある場合は、それらを類似したグループに分けます。次に、シグネチャの各グループに対して何らかの平均化を実行し、最終的に各グループからの最終的な「マスター」シグネチャを作成して、車の信号と比較できます。
PAK-9 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.