ROS2 常用消息&坐标变换实现方法
发布一个tf变换
- 定义一个tf广播器
std::shared_ptr<tf2_ros::TransformBroadcaster> odom_broadcaster;
- This expresses a transform from coordinate frame header.frame_id to the coordinate frame child_frame_id
geometry_msgs::msg::TransformStamped odom_translation;
odom_translation.header.stamp = current_time;
odom_translation.header.frame_id = "map";
odom_translation.child_frame_id = "base_link";
odom_translation.transform.rotation = current_position.pose.pose.orientation;
odom_translation.transform.translation.x = current_position.pose.pose.position.x;
odom_translation.transform.translation.y = current_position.pose.pose.position.y;
odom_translation.transform.translation.z = current_position.pose.pose.position.z;
- 发送出去
odom_broadcaster->sendTransform(odom_translation);