tf:TransForm Frame,坐标变换
坐标系:ROS 中是通过坐标系统开标定物体的,确切的将是通过右手坐标系来标定的。
作用:在 ROS 中用于实现不同坐标系之间的点或向量的转换。
说明:在ROS中坐标变换最初对应的是tf,不过在 hydro 版本开始, tf 被弃用,迁移到 tf2,后者更为简洁高效,tf2对应的常用功能包有:
tf2_geometry_msgs:可以将ROS消息转换成tf2消息。
tf2:封装了坐标变换的常用消息。
tf2_ros:为tf2提供了roscpp和rospy绑定,封装了坐标变换常用的API。
详细内容可参考资料:http://wiki.ros.org/tf2
1.1 坐标msg消息
geometry_msgs/TransformStamped:传输坐标系相关位置信息
命令行键入:rosmsg info geometry_msgs/TransformStamped
geometry_msgs/PointStamped:传输某个坐标系内坐标点的信息
命令行键入:rosmsg info geometry_msgs/PointStamped
1.2 静态坐标变换
两个坐标系之间的相对位置是固定的。
需求描述:现有一机器人模型,核心构成包含主体与雷达,各对应一坐标系,坐标系的原点分别位于主体与雷达的物理中心,已知雷达原点相对于主体原点位移关系如下: x=0.2、y=0.0、z=0.5。当前雷达检测到一障碍物,在雷达坐标系中障碍物的坐标为 (2.0 3.0 5.0),请问,该障碍物相对于主体的坐标是多少?
实现分析:
(1)坐标系相对关系,可以通过发布方发布</