sendTransform

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

Синтаксис

Описание

пример

sendTransform(tftree,tf) транслирует преобразование или массив преобразований, tf, в сеть ROS как 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)

Проверьте, что преобразование, которое вы хотите отправить по сети, еще не существует. The 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