ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

You can use static_transform_publisher to create a link between /world frame and whatever you need.

To make it easier to understand interconnections between frames use

$ rosrun tf2_visualization frame_viewer.py

It will produce a graph with all available frames and their links.

You can use static_transform_publisher to create a link between /world frame and whatever you need.

To make it easier to understand interconnections between frames use

$ rosrun tf2_visualization frame_viewer.py

It will produce a graph with all available frames and their links.


EDIT #1:

Run above mentioned command in terminal and check if there any disconnected nodes (single or a group) on the graph.

You can use static_transform_publisher to create a link between /world frame and whatever you need.

To make it easier to understand interconnections between frames use

$ rosrun tf2_visualization frame_viewer.py

It will produce a graph with all available frames and their links.


EDIT #1:

Run above mentioned command in terminal and check if there any disconnected nodes (single or a group) on the graph.


EDIT #2:

Run the following on terminal but substitute <point_cloud_topic> with appropriate topic name:

$ rostopic echo -n 1 <point_cloud_topic>/header/frame_id

Use frame ID from output of this command to create a new tf frame linked to /odom:

$ rosrun tf static_transform_publisher 0 0 0 0 0 0 /odom <point_cloud_frame_id> 100

This command will add your Kinect frame as a child to /odom frame and will publish it every 100ms.

You might need to substitute zeros there with appropriate XYZ displacement and RPY orientation. See static_tranform_publisher documentation for more details (link provided at the beginning of the answer).

If you run frame_viewer.py after that you should see three nodes connected in line from /world to /odom to <point_cloud_frame_id>.

You can use static_transform_publisher to create a link between /world frame and whatever you need.

To make it easier to understand interconnections between frames use

$ rosrun tf2_visualization frame_viewer.py

It will produce a graph with all available frames and their links.


EDIT #1:

Run above mentioned command in terminal and check if there any disconnected nodes (single or a group) on the graph.


EDIT #2:

Run the following on terminal but substitute <point_cloud_topic> with appropriate topic name:

$ rostopic echo -n 1 <point_cloud_topic>/header/frame_id

Use frame ID from output of this command to create a new tf frame linked to /odom:

$ rosrun tf static_transform_publisher 0 0 0 0 0 0 /odom <point_cloud_frame_id> 100

This command will add your Kinect frame as a child to /odom frame and will publish it every 100ms.

You might need to substitute zeros there with appropriate XYZ displacement and RPY orientation. See static_tranform_publisher documentation for more details (link provided at the beginning of the answer).

If you run frame_viewer.py after that you should see three nodes connected in line from /world to /odom to <point_cloud_frame_id>.


EDIT #3:

Question about transformation of point cloud coordinates to fixed frame was already answered here.

You can use static_transform_publisher to create a link between /world frame and whatever you need.

To make it easier to understand interconnections between frames use

$ rosrun tf2_visualization frame_viewer.py

It will produce a graph with all available frames and their links.


EDIT #1:

Run above mentioned command in terminal and check if there any disconnected nodes (single or a group) on the graph.


EDIT #2:

Run the following on terminal but substitute <point_cloud_topic> with appropriate topic name:

$ rostopic echo -n 1 <point_cloud_topic>/header/frame_id

Use frame ID from output of this command to create a new tf frame linked to /odom:

$ rosrun tf static_transform_publisher 0 0 0 0 0 0 /odom <point_cloud_frame_id> 100

This command will add your Kinect frame as a child to /odom frame and will publish it every 100ms.

You might need to substitute zeros there with appropriate XYZ displacement and RPY YPR orientation. See static_tranform_publisher documentation for more details (link provided at the beginning of the answer).

If you run frame_viewer.py after that you should see three nodes connected in line from /world to /odom to <point_cloud_frame_id>.


EDIT #3:

Question about transformation of point cloud coordinates to fixed frame was already answered here.