[ROS]三种坐标变换代码实现及详解(静态坐标转换,动态坐标转换,多坐标转换)

一:静态坐标转换

发布方

# 静态发布方,发布两个坐标系的相对关系(车辆底盘————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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值