一:静态坐标转换
发布方
# 静态发布方,发布两个坐标系的相对关系(车辆底盘————base_link(基础坐标系) ,雷达————laser(子坐标系)
import rospy
import tf.transformations
import tf2_ros
from geometry_msgs.msg import TransformStamped
import tf
rospy.init_node("static_pub")
pub = tf2_ros.StaticTransformBroadcaster()
# 组织被发布的对象
ts = TransformStamped()
# header
ts.header.stamp = rospy.Time.now()
ts.header.frame_id = "base_link"
# child_frame_id
ts.child_frame_id = "laser"
# 相对关系(偏移,四元数)
ts.transform.translation.x = 0.2
ts.transform.translation.y = 0.0
ts.transform.translation.z = 0.5
# 先从欧拉角转化成四元数
# 因为雷达没有俯仰角,偏航角和翻滚角,就写0,0,0
qtn = tf.transformations.quaternion_from_euler(0, 0, 0)
# 设置四元数
ts.transform.rotation.x = qtn[0]
ts.transform.rotation.y = qtn[1]
ts.transform.rotation.z = qtn[2]
ts.transform.rotation.w = qtn[3]
# 发布数据
pub.s