sendTransform

Отправьте преобразование в сеть ROS

Синтаксис

sendTransform(tftree,tf)

Описание

пример

sendTransform(tftree,tf) широковещательно передает преобразование или массив преобразований, tf, к сети ROS как сообщение ROS TransformationStamped.

Примеры

свернуть все

Этот пример показывает, как создать преобразование и отправить его по сети ROS.

Создайте дерево преобразования ROS. Используйте rosinit, чтобы соединить сеть ROS. Замените ipaddress на свой адрес сети ROS.

ipaddress = '192.168.203.129';
rosinit(ipaddress)
tftree = rostf;
pause(2)
Initializing global node /matlab_global_node_69912 with NodeURI http://192.168.203.1:55220/

Проверьте преобразование, которое вы хотите отправить по сети, уже не существует. canTransform возвращает false, если преобразование не сразу доступно.

canTransform(tftree,'new_frame','base_link')
ans =

  logical

   0

Создайте сообщение TransformStamped. Заполните поля сообщения с информацией о преобразовании.

tform = rosmessage('geometry_msgs/TransformStamped');
tform.ChildFrameId = 'new_frame';
tform.Header.FrameId = 'base_link';
tform.Transform.Translation.X = 0.5;
tform.Transform.Rotation.Z = 0.75;

Отправьте преобразование по сети ROS.

sendTransform(tftree,tform)

Проверьте, что преобразование находится теперь в сети ROS

canTransform(tftree,'new_frame','base_link')
ans =

  logical

   1

Закройте сеть ROS.

rosshutdown
Shutting down global node /matlab_global_node_69912 with NodeURI http://192.168.203.1:55220/

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

свернуть все

Дерево преобразования ROS, заданное как указатель на объект TransformationTree. Можно создать дерево преобразования путем вызывания функции rostf.

Преобразования между координатными кадрами, возвращенными как указатель на объект TransformStamped или как массив указателей на объект. Преобразования структурированы как 3-D перевод (вектор с 3 элементами) и 3-D вращение (кватернион).

Смотрите также

|

Представленный в R2015a