%% Send a Transformation to ROS Network
% This example shows how to create a transformation and send it over the ROS network.
%
% Create a ROS transformation tree. Use rosinit to connect a ROS network. Replace ipaddress with your ROS network address.

ipaddress = '192.168.17.129';
rosinit(ipaddress,11311)
tftree = rostf;
pause(2)

%
% Verify the transformation you want to send over the network does not already exist. The canTransform function returns false if the transformation is not immediately available.

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

%
% Create a TransformStamped message. Populate the message fields with the transformation information.

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;

%
% Send the transformation over the ROS network.

sendTransform(tftree,tform)

%
% Verify the transformation is now on the ROS network.

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

%
% Shut down the ROS network.

rosshutdown

% Copyright 2019 The MathWorks, Inc.