問題タブ [slam-algorithm]
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.
iphone - iPhone ロボティクスの Visual-SLAM アルゴリズムの実装
私は頭脳のためにiPhoneを備えた追跡ロボットを持っています。カメラは 2 つあり、1 つは iPhone から、もう 1 つはスタンドアロンのカメラです。携帯電話には、GPS、ジャイロスコープ、加速度計、磁力計があり、ユーザーが誘発した加速度を重力から分離するセンサー フュージョンを備えています。一緒に携帯電話は、宇宙での自分の姿勢を検出できます。ロボットが以前に壁にぶつかった場合、少なくとも壁を避けるようにロボットに教えたいと思います。
そのようなロボットによって行われる Visual Simultaneous Location and Mapping のスターター プロジェクトを提案できる人はいますか? OpenSlam.org で C/C++ で書かれたプロジェクトを見ているので、Objective-C の実装に非常に感謝していますが、それらは私の最強のプログラミング言語ではありません。
私はレーザー距離計にアクセスできないので、Visual SLAM に関する記事、キーワード、または学術論文も役に立ちます。
ご意見ありがとうございます。
c++ - 各ノードが 3 つの最も近いノードまでの距離しか知らない場合、2D マップを作成します
C++ ライブラリまたはライブラリの組み合わせを探しています。
アイデアは、ロボットが動き回り、最も近い 3 つの間の距離しか知ることができないということです。問題は、すべてのノードの相対的な (x、y) 位置を見つけることです。
私の解決策は、距離から三角形を構築し(そのためのライブラリはありますか)、それらの三角形からマップを作成することです(ライブラリ?)
map - 複数のロボットのマップ探索/経路計画 (障害物なし)
誰でも私の問題のマップ探索/経路計画論文/アルゴリズム/ウェブサイトに私を導くことができますか:
3 台のロボットが 2D マップを探索します。たとえば、写真を撮りながら地面を走ります。そのマップ上の唯一の障害物は、他の 2 つのロボットです。開始位置とマップは不明です。TORO アルゴリズムを使用して、ループを閉じることで位置を調整し、3 つのローカル マップをマージします。
そのため、すべてのロボットに最適なパスを作成しながら、すべてのポイントを少なくとも 1 回訪れるように 3 台のロボットを制御するアルゴリズムが必要です。;) 座標系でのジャンプも処理できなければなりません。
c++ - (疑似)-行列式がゼロのN行N列の逆行列
GraphSlamで使用するnxn行列の逆行列を使用したいと思います。
私が遭遇した問題:
.inverse()
Eigen-library(3.1.2)はゼロ値を許可せず、戻り値NaN
- LAPACK(3.4.2)ライブラリでは、ゼロの行列式を使用できませんが、ゼロの値を使用できます(Cでlapackを使用して行列の逆行列を計算するサンプルコードを使用)
- Seldonライブラリ(5.1.2)が何らかの理由でコンパイルされない
負のゼロ値とゼロの行列式を許可するnxn行列反転コードを正常に実装した人はいますか?良いライブラリ(C ++)の推奨事項はありますか?
GraphSlamのオメガを次のように計算しようとしています:http: //www.acastano.com/others/udacity/cs_373_autonomous_car.html
簡単な例:
実際の例は170x170で、0、負の値、より大きな正の値が含まれます。与えられた簡単な例は、コードをデバッグするために使用されます。
これはmatlab(Moore-Penrose pseudoinverse)で計算できますが、何らかの理由でC++でプログラムできません。
私のアプリケーションでは、(一時的に)ゼロのディメンションを削除できます。
したがって、4番目の列と4番目の行を削除します。
170x170のマトリックスでも同じことができますが、4x4は単なる例です。
A:
したがって、4番目の列と4番目の行を削除しても、行列式はゼロになりません。しかし、私の行列が上記のようであれば、行列式をゼロにすることができます。これは、各行または各列の合計がゼロの場合です。(私はGraphSlamでずっと持っています)
LAPACKソリューション(Moore-Penrose Inverseベース)は、行列式がゼロでない場合に機能しました(Cでlapackを使用して行列の逆行列を計算するサンプルコードを使用)。
しかし、行列式がゼロの「疑似逆行列」として失敗しました。
解決策:(すべてのクレジットはFrankReininghausにあります)、SVD(特異値分解)を使用し
ます
http://sourceware.org/ml/gsl-discuss/2008-q2/msg00013.html
- ゼロ値(完全な0行と完全な0列でも)
- 負の値
- ゼロの行列式
A ^ -1:
kinect - スラム kinect データのメッシュラボでポイントから別のポイントまでの距離を測定する
openslam を使用して自分の部屋を再構築します。再構築されたデータは、PLY または PCD 形式で保存され、meshlab で表示されます。
meshlab には、ある点から別の点までの距離を測定するための測定ツールがあります。
私の質問は、測定ツールが cm やメートルなどの単位で正確な距離を教えてくれるかどうかです。
ros - レーザーセンサーデータから占有グリッドマップを作成するには?
私はROSでコースプロジェクトを行っていますが、かなり簡単な作業にこだわっています.
ロボット モデルにはレーザー スキャナーがあり、ガゼボでロボット モデルを使用してバッグ ファイルを生成しました
SLAM で行うように、占有グリッド マップを生成するよう求められます。gmapping や hector マッピングを使用することは許可されていないため、独自のコードを作成する必要があります。
今、マップを初期化し、rviz で視覚化することができました。高さ、幅、解像度を設定し、.data にすべてゼロを配置するだけなので、かなり単純です。
私の次のタスクは、公開されているセンサー データを使用してマップを生成することです。ここで、適切なチュートリアルが見つからないため、行き詰まっています。ただし、同じタスクの適切な実装を見つけましたが、解読するには冗長すぎます。ここです
どこで助けを得ることができるか説明してもらえますか? または、回答を手伝っていただくこともできます。
ご要望があれば、私のコードも貼り付けることができます。
augmented-reality - 拡張現実のための Visual SLAM
私は現在、アイウェア Vuzix star 1200 XLD と c++ を使用して、デスクトップ AR アプリケーションを構築しようとしています。AR や有名な SDK で使用されているアルゴリズムについて多くの調査を行った結果、ビジュアル SLAM が一般的に使用されるアルゴリズムであることがわかりました。
それで、あなたがそれを使用した場合、私はいくつかのフィードバックをしたいと思います.追跡とマッチングに使用される他のARアルゴリズムに関する提案をお待ちしています.
どうもありがとう!
c++ - opencv ベクトル3列マットへ
2 つの 3D ポイントクラウドを表す point3f 変数の 2 つのベクトル (p1 と p2) があります。これら 2 つの点群を一致させるために、SVD を使用してこの変換を見つけたいと考えています。問題は、SVD が行列 (p1*p2 転置) を必要とすることです。私の質問は、サイズ Y のベクトルを Yx3 行列に変換するにはどうすればよいですか?
cv::Mat p1Matrix(p1) を試しましたが、これにより 2 次元の行ベクトルが得られます。fitLine も見つかりましたが、これは 2D でのみ機能すると思います。
前もって感謝します。