이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
poseGraph
설명
poseGraph
객체는 2차원 자세 그래프 표현에 대한 정보를 저장합니다. 자세 그래프는 간선으로 연결된 노드를 포함합니다. 각 노드 추정값은 노드 간 상대 자세와 해당 측정값의 불확실성을 정의하는 간선 제약 조건에 의해 그래프에 연결됩니다.
자세 그래프를 반복적으로 구성하려면, addRelativePose
함수를 사용하여 상대 자세 추정값을 추가하고 이를 지정된 간선 제약 조건이 있는 기존 노드에 연결합니다. 자세 노드는 하나의 자세 노드를 기준으로 지정해야 합니다. 측정값의 불확실성은 정보 행렬을 사용하여 지정합니다.
두 개의 비순차적 노드 사이에 간선을 추가하면 그래프에 루프 폐쇄가 생성됩니다. 노드 쌍 사이의 다중 간선도 지원되며, 여기에는 루프 폐쇄가 포함됩니다. 간선 제약 조건 또는 루프 폐쇄를 추가하려면 addRelativePose
함수를 사용하여 노드 ID를 지정합니다. 자세 그래프를 최적화할 때 optimizePoseGraph
함수는 이러한 모든 간선 제약 조건을 충족하는 해를 구합니다.
랜드마크 점 노드를 추가하려면 addPointLandmark
함수를 사용합니다. 이 함수는 방향 추정값 없이 노드를 xy 점으로 지정합니다. 랜드마크는 하나의 자세 노드를 기준으로 지정해야 합니다.
lidarSLAM
객체는 2차원 자세 그래프의 최적화를 기반으로 하는, 라이다 기반 동시적 위치추정 및 지도작성을 수행합니다.
3차원 자세 그래프의 경우 poseGraph3D
객체 또는 Landmark SLAM Using AprilTag Markers 예제를 참조하십시오.
생성
설명
poseGraph = poseGraph
는 2차원 pose graph 객체를 만듭니다. addRelativePose
를 사용해 자세를 추가하여 자세 그래프를 반복적으로 구성합니다.
poseGraph = poseGraph('MaxNumEdges',maxEdges,'MaxNumNodes',maxNodes)
는 코드를 생성할 때 자세 그래프에 허용되는 간선 개수와 노드 개수의 상한을 지정합니다. 이 구문은 코드를 생성할 때만 필요합니다.
속성
객체 함수
addPointLandmark | Add landmark point node to pose graph |
addRelativePose | Add relative pose to pose graph |
copy | Create copy of pose graph |
edgeNodePairs | Edge node pairs in pose graph |
edgeConstraints | Edge constraints in pose graph |
edgeResidualErrors | Compute pose graph edge residual errors |
findEdgeID | Find edge ID of edge |
nodeEstimates | Poses of nodes in pose graph |
removeEdges | Remove loop closure edges from graph |
show | Plot pose graph |
예제
참고 문헌
[1] Grisetti, G., R. Kummerle, C. Stachniss, and W. Burgard. "A Tutorial on Graph-Based SLAM." IEEE Intelligent Transportation Systems Magazine. Vol. 2, No. 4, 2010, pp. 31–43. doi:10.1109/mits.2010.939925.
확장 기능
버전 내역
R2019b에 개발됨