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

Revision history [back]

click to hide/show revision 1
initial version

I encourage you to read up on ROS's transform specifications here to get more context on the topic. The tf between base_link and camera_link depends on your specific hardware. For most robots, this tranformation is static and can be defined in several ways. The most common is to have a URDF file for your robot that defines a joint (or series of joints) between the robot's base_link and the camera_link. With a properly defined URDF file, you can then spin up robot_state_publisher to publish that transformation. Note that you can find URDF files for the Intel Realsense Cameras, and you wouldsimply need to add a base_link and define a joint between it and camera_link.

Alternatively, depending on the complexity of your system (e.g. if you are just running SLAM on a handheld camera), you may find it faster to simply publish a static transform between the base_link and camera_link. E.g. the following would simply publish a transform saying that camera_link and base_link are the same frame:

<node pkg="tf" type="static_transform_publisher" name="link1_broadcaster" args="0 0 0 0 0 0 1 base_link camera_link 100" />

I encourage you to read up on ROS's transform specifications here to get more context on the topic. The tf between base_link and camera_link depends on your specific hardware. For most robots, this tranformation is static and can be defined in several ways. The most common is to have a URDF file for your robot that defines a joint (or series of joints) between the robot's base_link and the camera_link. With a properly defined URDF file, you can then spin up robot_state_publisher to publish that transformation. Note that you can find URDF files for the Intel Realsense Cameras, and you wouldsimply would simply need to add a base_link and define a joint between it and camera_link.

Alternatively, depending on the complexity of your system (e.g. if you are just running SLAM on a handheld camera), you may find it faster to simply publish a static transform between the base_link and camera_link. E.g. the following would simply publish a transform saying that camera_link and base_link are the same frame:

<node pkg="tf" type="static_transform_publisher" name="link1_broadcaster" args="0 0 0 0 0 0 1 base_link camera_link 100" />