質問

現在の情報をトークンに書き込むIRセンサーがあり、それをC#アプリケーションで解釈します。それはすべて良いです-問題ありません、私のコードはここにあります:

SetLabelText(tokens [1],label_sensorValue);
sensorreading = Int32.Parse(tokens[0]);
sensordistance = (mathfunctionhere);

素晴らしい。そのため、IRセンサーがオブジェクトから遠ざかるほど、センサーの読み取り値が低くなります(センサーに戻って反射される光が少なくなるため)。

私の問題は、その長さを解釈することです。先に進むと、「110」と言うことができます。オブジェクトが5インチ離れている場合の値として、「70」オブジェクトが6インチ離れている場合の値として。ここで、これらの定数を使用して任意の長さのオブジェクトの距離を計算できるようにしたいと考えています。

アイデアはありますか

役に立ちましたか?

解決

さて、最初にやることは、1インチ、1フィート、2フィート、5フィートなどの固定距離でデータを取得することです。その後、Excelなどのプログラムでそのデータをプロットし、最適なデータを見つけます。関数を導出できるフィット曲線。コードでその関数を使用し、さまざまな距離でテストを開始します。

今、それほど単純ではないかもしれません。測定しようとしているオブジェクトの反射特性は、他の要因と同様に測定値を変更します。あなたの要件がわからないので、より具体的なアドバイスをするのは難しいです。

他のヒント

数学の質問というより物理学の質問です!

Ed Swangrenは、センサーの製造元からの情報にも頼ることができる場合を除き、さまざまな実験の記録を使用してテーブルを作成することを提案しています。

デバイスの本質的な 精度 および 忠実度 は別として、多くの要因が効果を妨げる可能性がありますエネルギー量(または返されて測定されるもの);この特定のデバイスまたは類似のアイテム、および/またはプレイ中の物理的効果/寸法の基本情報を参照することで、キャリブレーションに関する追加のアイデアが得られる場合があります。

測定値を距離(および場合によっては追加の基準温度、反射率など)に関連付けたテーブルを作成したら、次のような真の数学の問題になります。

  • 対象となる精度の統計的関連性を確認
  • 離散表を使用して実際の読み取り値を外挿します(OPによる元の質問のようです)
  • 回帰関数を見つけて、テーブルアプローチを廃止します(コメントで示唆されているように、これは簡単ではないでしょうが、これは線形にはほど遠いでしょう...

反射IRは、オブジェクトの検出によく使用されます。ただし、ターゲットの形状、角度、反射特性が常に同じではない場合、反射IRの強度を測定することは、距離を推定するための信頼できる方法ではありません。

  

アイデアはありますか

異なるセンシング方法。どうですか、このような視差センサー: http:// www。 acroname.com/robotics/info/articles/sharp/sharp.html

tom10によって提案された二乗関数についてもう少し詳しく説明します...

デバイスの機能は二乗曲線であると仮定します、つまり

distance = A + B * reading + C * reading^2

ここで、読み取り値を距離に変換するためにA、B、およびCを見つける必要があるため、必要なのは一種の回帰分析です。正方形の曲線は正確に3点で定義されるため、3点(r1..r3)で測定し、距離(d1..d3)に注意します

これで、3つの未知数を含む3つの方程式ができました。これらの方程式は、任意の手段で解決できます。つまり、

A + r1 * B + r1^2 * C = d1
A + r2 * B + r2^2 * C = d2
A + r3 * B + r3^2 * C = d3

「検量線」になるA、B、Cについて1回解きます。上記の最初の式を使用して、未知の距離を計算できます。もちろん、ハードウェアを変更する場合は、デバイスのバリエーションの制限内でギアを再調整する必要があります。

4回目の測定を行い、上記のすべての方程式を変数Dで展開することで、このメカニズムを3次曲線やさらに高次の曲線に拡張できます。つまり、

A + rx*B + rx^2*C + rx^3*D + ....

などしかし、それは多くの精度を追加しません。 rx ^ 3以降の係数Dは非常に小さいことがわかります。

これが役立つことを願って

頑張って MikeD

光源からのエネルギーは 1 / r 2 として低下します(比較的小さい光源の場合)。これを超えて、他のすべてが一定に保たれている場合、唯一の問題はセンサーの非線形性です。

これをデータで確認するには、E x r 2 = constを期待します。これはおおよそデータに当てはまります。
110 x 5 2 = 2750
70 x 6 2 = 2520、
これらは10%以内でかなり近いように見えるため、基本的なルールが適用されるようです。

非線形センサーは一般的であるため、使用する全範囲にわたってこれを確認する必要があります。ただし、リニアセンサーの場合、人々が言及している他の問題(反射面など)は問題になりません。なぜなら、光の透過と反射については、すべて(ほぼ)は線形であり、したがって本質的に単一の校正定数によって補償されます。光源、吸収材料などの角度は、変化しない限り重要ではありません。

興味のある範囲の極値を含むいくつかのポイントをテストし、それが1 / r 2 の規則に従っている場合は、準備ができています。それから、もちろん、constが何であるかを計算し、r = sqrt(const / E)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top