Main Content


Send transformation to ROS network

Since R2019b



sendTransform(tftree,tf) broadcasts a transform or array of transforms, tf, to the ROS network as a TransformationStamped ROS message.


collapse all

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.

Launching ROS Core...
....Done in 4.1192 seconds.
Initializing ROS master on
Initializing global node /matlab_global_node_16894 with NodeURI http://HYD-KVENNAPU:63122/
tftree = rostf;

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.

ans = logical

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.X = 0.5;
tform.Transform.Rotation.Y = 0.5;
tform.Transform.Rotation.Z = 0.5;
tform.Transform.Rotation.W = 0.5;

Send the transformation over the ROS network.


Verify the transformation is now on the ROS network.

ans = logical

Shut down the ROS network.

Shutting down global node /matlab_global_node_16894 with NodeURI http://HYD-KVENNAPU:63122/
Shutting down ROS master on

Input Arguments

collapse all

ROS transformation tree, specified as a TransformationTree object handle. You can create a transformation tree by calling the rostf function.

Transformations between coordinate frames, returned as a TransformStamped object handle or as an array of object handles. Transformations are structured as a 3-D translation (3-element vector) and a 3-D rotation (quaternion).

Extended Capabilities

Version History

Introduced in R2019b