問題タブ [trilateration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - ビーコンによるユーザーロケーション
私はビーコンベースのプロジェクトで作業しています。私のプロジェクトの主要な機能の 1 つは、ビーコンを使用した屋内ナビゲーションです。そのため、サードパーティの SDK をいくつか試しましたが、何も役に立ちませんでした。したがって、一連の方程式を使用して独自の三辺測量を行うことにしましたが、再びそれに固執しています。これは、私の目的のために、ユーザーから各ビーコンまでのおおよその距離を知りたいため、ビーコンの近接値が常に 0,1,3 を与えるためです。これらのおおよその距離を取得する方法を教えてください。
を計算するための私の方法をuserlocation(x,y)
以下に示します
c++ - 同一線上にある 3 つの円の交点 - 三辺測量
問題に直面しました: 3 つの円の交点を計算したいと思います。私の知る限りでは、いわゆる三辺測量を使用する必要があります。私はそれをc ++で実装しました。この記事では、このソリューションには 3 つの制限があると述べています。
- 3 つの中心はすべて平面 z = 0 にあります。
- 球の中心 P1 は原点にあり、
- 球の中心 P2 は x 軸上にある
最初の「基準」については、Z 座標を使用しないため、3 つの中心はすべて平面 z = 0 にあるため、何もする必要はありません。その後、最初のポイント (P1) の中心が原点にある位置にポイントを変換しました。その後、P2 (および P3 も同様) の点を、P2 が x 軸上にある位置に回転させました。
私の問題は: 3 つの中心がすべて X 軸上にある場合、交差領域の中心 ( wiki の記事のアルゴリズムを使用して計算されます) を計算しようとしましたが、計算できません。一方、「円の中心が 1 つの線上にあることはできません...私の問題を視覚的に見てみましょう。私はちょうどそれを描いた:
ご覧のとおり、3 つの円は座標 (4,3) の同じ点で交差しています。したがって、すべて同じ線上 (この例では x 軸上) にあるこれらの点には解があります。円のパラメータは次のとおりです (x、y、半径):
前述したように、三辺測量のアルゴリズムを正常に実装しましたが、この例を解決できません。結果は NaN (非数) です。もちろん、このアルゴリズムを別の円 (同じ線上にない) で既に試しましたが、適切に動作します。
そこで、実装のデバッグを開始し、どこに問題があるのかを突き止めました。私の実装は次のとおりです。
プログラムがeyxとeyyを計算するとき、除算にはゼロがあり、言うまでもなく、ゼロによる除算は「許可されません」。eyxとeyyは y 方向の単位ベクトルですが、このような円の配置では y 方向の単位ベクトルはありません。
私の質問は: このアルゴリズムに 4 番目の制限はありますか? 私の意見では、それは記事に書かれているので、すべての点が同じ線上にあるときに交点を計算できるこの問題の他の解決策を教えてもらえますか? 前もって感謝します!
java - Java での多点三辺測量アルゴリズム
ユーザーの屋内位置を特定するために、Android アプリに三辺測量アルゴリズムを実装しようとしています。超広帯域ビーコンを使用して、固定点までの距離を取得しています。Trilateration Method Android Javaで提案されている方法を次のように適応させることができました。
このアプローチを使用すると、ユーザーの場所がわかりますが、それほど正確ではありません。これを拡張して、3 つ以上の既知の場所/距離を使用するにはどうすればよいですか? 理想的には、N>=3 の N 個のポイント。
android - モバイルデバイスを使用した wifi/bluetooth 三角測量 (三辺測量ではない) は可能ですか?
三角測量では、デバイスが信号を受信している方向を知る必要があります。そのために到達角度を計算できますが、その角度を計算するには受信機の配列が必要です。携帯電話で到達角度を計算できますか? wifi/BLE 三角測量、三角測量による位置の計算などの用語に出くわしたため、これを尋ねていますが、実際にはほとんどの場合、三辺測量について言及しています。三辺測量がモバイルでどのように機能するか、およびすべての詳細は知っていますが、三角測量が可能だとは思いません。また、可能であればどのように可能であり、ibeaconを使用して位置を概算する場合、どちら (三角測量または三辺測量) がより良い結果をもたらすと予想されますか?
python - scipyで位置三辺測量を解決しますか? 4 つの方程式、3 つの変数
他の既知の点からの距離だけを知っているデカルト空間の点の座標を見つけようとしています。最初に scipy.optimize.fsolve を 3 つの距離式で試してみたところ、3 つの球が最大 2 つの異なる場所で重なる可能性があるため、4 つの距離が必要であることがすぐにわかりました。
scipy.optimize.fsolve は、変数よりも方程式の数が多い場合に機能しないようです。fsolve を使用して、次のことを試しました。
ここで、atomxxx[0:3] は、空間内の他の 4 つの点のそれぞれの既知の x、y、z デカルト座標であり、Cdist# は、それぞれから目的の点までの距離です。
私は、他の最適化オプションに圧倒されています。その多くは、私がよく知らない (このライブラリにとって初めての) 別の構文を必要とします。この 3 次元の問題を少なくとも 4 つの方程式で解くには、何を使用できますか?
ありがとう
matlab - 信号強度に基づいて位置を検索 (円間の交差領域)
4 つの Wi-Fi アクセス ポイントから受信した信号強度に基づいて位置を推定しようとしています。100 平方メートル (10x10) の正方形の部屋の各隅にある 4 つのアクセス ポイントからの信号強度を測定します。Android フォンを使用して、既知の位置 (x, y) = (9.5, 1.5) で信号強度を記録しました。この状況下で、マルチラテレーション法がどの程度正確であるかを確認したいと思います。MATLAB を使用して、信号強度を使用して距離を計算する式を適用しました。次の MATLAB 関数は、式の適用を示しています。
入力 RSS は、テスト ポイント (x,y) = (9.5, 1.5) で測定された 4 つの信号強度を含むベクトルです。RSS ベクトルは次のようになります。
そして、各アクセス ポイントまでのすべての推定距離を含む結果のベクトルは次のようになります。
ここで、これらの距離とアクセス ポイントの位置に基づいて自分の位置を推定し、推定された位置と既知の位置 (9.5、1.5) の間の誤差を見つけたいと考えています。各アクセスポイントがいずれかの円の中心であり、距離が円の半径である 4 つの円の間の交差領域 (位置を推定するため) を見つけたいです。
この画像に示すように灰色の領域を見つけたい: http://www.biologycorner.com/resources/venn4.gif