addRelativePose

Добавьте относительное положение, чтобы изложить график

Описание

addRelativePose(poseGraph,relPose) создает узел положения и использует ребро, заданное relPose соединять его с последним узлом в графике положения.

addRelativePose(poseGraph,relPose,infoMatrix) также задает информационную матрицу как часть ограничения ребра, которое представляет неопределенность в измерении положения.

addRelativePose(poseGraph,relPose,infoMatrix,fromNodeID) создает новый узел положения и соединяет его с определенным узлом, заданным fromNodeID.

addRelativePose(poseGraph,relPose,infoMatrix,fromNodeID,toNodeID) создает ребро путем определения относительного положения между существующими узлами, заданными fromNodeID и toNodeID. Это ребро называется loop closure.

[edge,edgeID] = addRelativePose(___) возвращает недавно добавленное ребро и ID ребра с помощью любого из предыдущих синтаксисов.

Входные параметры

свернуть все

Изложите график, заданный как poseGraph или poseGraph3D объект.

Относительное положение между узлами, заданными как одно из следующего:

Для poseGraph (2D), положением является [x y theta] вектор, который задает позиционный xy и угол ориентации, theta.

Для poseGraph3D, положением является [x y z qw qx qy qz] вектор, который задает позиционным xyz и ориентация кватерниона, [qw qx qy qz]

Примечание

Много других источников для 3-D графиков положения, включая .g2o форматы, задайте ориентацию кватерниона в различном порядке, например, [qx qy qz qw]. Проверяйте источник своих данных о графике положения перед добавляющими узлами к вашему poseGraph3D объект.

Информационная матрица, заданная как вектор с 21 элементом или с 6 элементами. Этот вектор содержит элементы верхнего треугольника квадратной информационной матрицы (компактная форма). Информационная матрица является инверсией ковариации положения и представляет неопределенность в измерении. Если вектором положения является [x y theta], ковариация является 3х3 матрицей попарных вычислений ковариации. Как правило, неопределенность определяется моделью датчика.

Для poseGraph (2D), информационная матрица является вектором с шестью элементами. Значением по умолчанию является [1 0 0 1 0 1].

Для poseGraph3D, информационная матрица является вектором с 21 элементом. Значением по умолчанию является [1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1].

Узел, чтобы присоединить от, заданный как положительное целое число. Это целое число соответствует идентификатору узла узла в poseGraph. Когда задано без toNodeID, addRelativePose создает новый узел и добавляет ребро между новым узлом и fromNodeID узел.

Узел, чтобы присоединить к, заданный как положительное целое число. Это целое число соответствует идентификатору узла узла в poseGraph. addRelativePose добавляет ребро между этим узлом и fromNodeID узел.

Выходные аргументы

свернуть все

Добавленное ребро, возвращенное как двухэлементный вектор. Ребро задано идентификаторами двух узлов, которые это соединяет с относительным положением.

ID добавленного ребра, возвращенного как положительное целое число.

Расширенные возможности

Введенный в R2019b