exponenta event banner

sendTransform

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

Синтаксис

Описание

пример

sendTransform(tftree,tf) транслирует преобразование или массив преобразований, tf, в сеть АФК как TransformationStamped Сообщение ROS.

Примеры

свернуть все

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

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

ipaddress = '192.168.17.129';
rosinit(ipaddress,11311)
Initializing global node /matlab_global_node_33798 with NodeURI http://192.168.17.1:56771/
tftree = rostf;
pause(2)

Убедитесь, что преобразование, которое требуется отправить по сети, еще не существует. 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_33798 with NodeURI http://192.168.17.1:56771/

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

свернуть все

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

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

См. также

|

Представлен в R2019b