このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
removeLoopClosures
姿勢グラフからのループ閉じ込みの削除
説明
例
LiDAR SLAM オブジェクトでの姿勢グラフからのループ閉じ込みの削除
ファイルからレーザー スキャン データを読み込みます。
load("offlineSlamData.mat");
SLAM アルゴリズムを設定するには、以下のようにします。
LiDAR の範囲、マップの分解能、ループ閉じ込みのしきい値および探索半径を指定します。
これらのパラメーターを、実際のロボットと環境に合わせて調整します。
次のパラメーターを指定して
lidarSLAM
オブジェクトを作成します。
maxLidarRange = 8; mapResolution = 20; slamObj = lidarSLAM(mapResolution,maxLidarRange); slamObj.LoopClosureThreshold = 210; slamObj.LoopClosureSearchRadius = 8;
SLAM オブジェクトにスキャンを反復的に追加します。
for i = 1:numel(scans) addScan(slamObj,scans{i}); end
SLAM オブジェクトのコピーを作成します。SLAM オブジェクトの基となる姿勢グラフを表示します。
slamObj2 = copy(slamObj); slamObj2.PoseGraph
ans = poseGraph with properties: NumNodes: 71 NumEdges: 83 NumLoopClosureEdges: 13 LoopClosureEdgeIDs: [31 36 63 65 67 69 71 73 75 77 79 81 83] LandmarkNodeIDs: [1x0 double]
エッジ ID を指定して最初の 2 つのループ閉じ込みを削除します。
lcEdgeIDs = slamObj2.PoseGraph.LoopClosureEdgeIDs(1:2); removeLoopClosures(slamObj2,lcEdgeIDs)
ループ閉じ込みを削除する前と削除した後に、SLAM オブジェクトの姿勢グラフをプロットします。
subplot(2,1,1) show(slamObj.PoseGraph); subplot(2,1,2) show(slamObj2.PoseGraph);
入力引数
slamObj
— LIDAR SLAM オブジェクト
lidarSLAM
オブジェクト
LIDAR SLAM オブジェクト。lidarSLAM
オブジェクトとして指定します。このオブジェクトには、マップの作成に使用される、SLAM アルゴリズム パラメーター、センサー データ、基となる姿勢グラフが格納されています。
lcEdgeIDs
— ループ閉じ込みエッジ ID
正の整数のベクトル
ループ閉じ込みエッジ ID。正の整数のベクトルとして指定します。特定のエッジ ID を検索するには、slamObj
で定義されている基となる poseGraph
オブジェクトに対して findEdgeID
を使用します。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
コード生成用の lidarSLAM
オブジェクトを作成するときには、次の構文を使用します。
は、コード生成時に受け入れ可能なスキャン数の上限を指定します。slamObj= lidarSLAM(mapResolution,maxLidarRange,maxNumScans)
maxNumScans
は正の整数です。このスキャンの上限は、コード生成時にのみ必要です。
バージョン履歴
R2019b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)