addRelativePose

Пакет: робототехника

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

Синтаксис

addRelativePose(poseGraph,relPose)
addRelativePose(poseGraph,relPose,infoMatrix)
addRelativePose(poseGraph,relPose,infoMatrix,fromNodeID)
addRelativePose(poseGraph,relPose,infoMatrix,fromNodeID,toNodeID)
[edge,edgeID] = 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.

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

Для (2D) PoseGraph положение является вектором [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 матрицей попарных вычислений ковариации. Как правило, неуверенность определяется моделью датчика.

Для (2D) PoseGraph информационная матрица является вектором с шестью элементами. Значением по умолчанию является [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 добавленного ребра, возвращенного как положительное целое число.

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

Введенный в R2018a