MATLAB ヘルプ センター
姿勢グラフからのループ閉じ込みの削除
removeLoopClosures(slamObj)
removeLoopClosures(slamObj,lcEdgeIDs)
removeLoopClosures(slamObj) は、slamObj の基となる姿勢グラフからすべてのループ閉じ込みを削除します。
slamObj
removeLoopClosures(slamObj,lcEdgeIDs) は、指定された ID をもつループ閉じ込みエッジを slamObj の基となる姿勢グラフから削除します。
lcEdgeIDs
例
すべて折りたたむ
ファイルからレーザー スキャン データを読み込みます。
load("offlineSlamData.mat");
SLAM アルゴリズムを設定するには、以下のようにします。
LiDAR の範囲、マップの分解能、ループ閉じ込みのしきい値および探索半径を指定します。
これらのパラメーターを、実際のロボットと環境に合わせて調整します。
次のパラメーターを指定して lidarSLAM オブジェクトを作成します。
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: [1×0 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);
LIDAR SLAM オブジェクト。lidarSLAM オブジェクトとして指定します。このオブジェクトには、マップの作成に使用される、SLAM アルゴリズム パラメーター、センサー データ、基となる姿勢グラフが格納されています。
ループ閉じ込みエッジ ID。正の整数のベクトルとして指定します。特定のエッジ ID を検索するには、slamObj で定義されている基となる poseGraph オブジェクトに対して findEdgeID を使用します。
poseGraph
findEdgeID
すべて展開する
コード生成用の lidarSLAM オブジェクトを作成するときには、次の構文を使用します。
slamObj= lidarSLAM(mapResolution,maxLidarRange,maxNumScans) は、コード生成時に受け入れ可能なスキャン数の上限を指定します。maxNumScans は正の整数です。このスキャンの上限は、コード生成時にのみ必要です。
slamObj= lidarSLAM(mapResolution,maxLidarRange,maxNumScans)
maxNumScans
R2019b で導入
poseGraph | optimizePoseGraph
optimizePoseGraph
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ