ros create a tf
激活ros环境
catkin_create_pkg static_tf_broadcaster --rosdistro noetic rospy tf2_ros geometry_msgs
cd static_tf_broadcaster
mkdir -p scripts
cat > scripts/static_tf.py << 'EOF'
#!/usr/bin/env python
import rospy
import tf2_ros
from geometry_msgs.msg import TransformStamped
if __name__ == '__main__':
rospy.init_node('static_tf_broadcaster_radar')
broadcaster = tf2_ros.StaticTransformBroadcaster()
t = TransformStamped()
t.header.stamp = rospy.Time.now()
t.header.frame_id = "base_link" # 主体坐标系
t.child_frame_id = "radar_link" # 雷达坐标系
# 平移:x=0.2, y=0.0, z=0.5
t.transform.translation.x = 0.2
t.transform.translation.y = 0.0
t.transform.translation.z = 0.5
# 无旋转
t.transform.rotation.x = 0.0
t.transform.rotation.y = 0.0
t.transform.rotation.z = 0.0
t.transform.rotation.w = 1.0
broadcaster.sendTransform(t)
rospy.loginfo("静态 TF 已发布: base_link -> radar_link (0.2, 0.0, 0.5)")
rospy.spin()
EOFcatkin_make 并解决CMake报错
source devel/setup.bash
terminal 1 roscore
terminal 2
rosrun static_tf_broadcaster static_tf.py
rosrun tf2_ros static_transform_publisher 0.2 0 0.5 0 0 0 base_link lidar_frame
terminal 3 rviz
rviz界面

填写fixed frame

add
找到 添加 tf

很简单就能看到 变换了