TransformStamped

Создайте сообщение преобразования

Описание

TransformStamped объект является реализацией geometry_msgs/TransformStamped тип сообщения в ROS. Объект содержит метаинформацию о самом сообщении и преобразовании. Преобразование имеет поступательный и вращательный компонент.

Создание

Описание

пример

tform = getTransform(tftree,targetframe,sourceframe) возвращает последнее известное преобразование между двумя координатными системами координат. Преобразования структурированы как 3-D перевод (вектор с 3 элементами) и 3-D вращение (кватернион).

Свойства

развернуть все

Это свойство доступно только для чтения.

Тип сообщения сообщения ROS, возвращенного как вектор символов.

Типы данных: char

Это свойство доступно только для чтения.

Сообщение Заголовка ROS, возвращенное как Header объект. Это сообщение заголовка содержит MessageType, последовательность (Seq), метка времени (Stamp), и FrameId.

Вторая координатная система координат, чтобы преобразовать точку в в виде вектора символов.

Это свойство доступно только для чтения.

Сообщение преобразования в виде Transform объект. Объект содержит MessageType с Translation вектор и Rotation кватернион.

Функции объекта

applyПреобразуйте сущности сообщения в целевую систему координат

Примеры

свернуть все

Этот пример смотрит на TransformStamped возразите, чтобы показать глубинную структуру TransformStamped Сообщение ROS. После подготовки сети и преобразований, можно создать дерево преобразования и получить преобразования между определенными системами координат. Используя showdetails позволяет вам смотреть информацию в преобразовании. Это содержит ChildFrameId, Header, и Transform.

Запустите сеть ROS и установите преобразования.

rosinit
Initializing ROS master on http://bat6346glnxa64:39977/.
Initializing global node /matlab_global_node_10664 with NodeURI http://bat6346glnxa64:43495/
exampleHelperROSStartTfPublisher

Создайте дерево преобразования и ожидайте дерева, чтобы обновиться. Получите преобразование между основой робота и ее центром камеры.

tftree = rostf;
waitForTransform(tftree,'camera_center','robot_base');
tform = getTransform(tftree,'camera_center','robot_base');

Смотрите TransformStamped объект.

showdetails(tform)
  ChildFrameId :  robot_base
  Header          
    Seq     :  152
    FrameId :  camera_center
    Stamp      
      Sec  :  1580330573
      Nsec :  648999936
  Transform       
    Translation    
      X :  0.4999999999999998
      Y :  0
      Z :  -1
    Rotation       
      X :  0
      Y :  -0.7071067811865475
      Z :  0
      W :  0.7071067811865476

Доступ к Translation вектор в Transform свойство.

trans = tform.Transform.Translation
trans = 
  ROS Vector3 message with properties:

    MessageType: 'geometry_msgs/Vector3'
              X: 0.5000
              Y: 0
              Z: -1

  Use showdetails to show the contents of the message

Остановите издателя преобразования в качестве примера.

exampleHelperROSStopTfPublisher

Сеть Shutdown ROS.

rosshutdown
Shutting down global node /matlab_global_node_10664 with NodeURI http://bat6346glnxa64:43495/
Shutting down ROS master on http://bat6346glnxa64:39977/.

Примените преобразование от TransformStamped возразите против PointStamped сообщение.

Запустите сеть ROS и установите преобразования.

rosinit
Initializing ROS master on http://bat6346glnxa64:42679/.
Initializing global node /matlab_global_node_77283 with NodeURI http://bat6346glnxa64:40033/
exampleHelperROSStartTfPublisher

Создайте дерево преобразования и ожидайте дерева, чтобы обновиться. Получите преобразование между основой робота и ее центром камеры. Смотрите преобразование.

tftree = rostf;
waitForTransform(tftree,'camera_center','robot_base');
tform = getTransform(tftree,'camera_center','robot_base');
showdetails(tform)
  ChildFrameId :  robot_base
  Header          
    Seq     :  6
    FrameId :  camera_center
    Stamp      
      Sec  :  1580330815
      Nsec :  67000064
  Transform       
    Translation    
      X :  0.4999999999999998
      Y :  0
      Z :  -1
    Rotation       
      X :  0
      Y :  -0.7071067811865475
      Z :  0
      W :  0.7071067811865476

Точка формирования данных, чтобы преобразовать. Вы могли также получить это сообщение точки от сети ROS.

pt = rosmessage('geometry_msgs/PointStamped');
pt.Header.FrameId = 'camera_center';
pt.Point.X = 3;
pt.Point.Y = 1.5;
pt.Point.Z = 0.2;

Примените преобразование к точке.

tfpt = apply(tform,pt);

Сеть Shutdown ROS.

rosshutdown
Shutting down global node /matlab_global_node_77283 with NodeURI http://bat6346glnxa64:40033/
Shutting down ROS master on http://bat6346glnxa64:42679/.

Введенный в R2019b

Для просмотра документации необходимо авторизоваться на сайте