fake_ar_publisher::ARMarkerConstPtr last_msg_;
void visionCallback(const fake_ar_publisher::ARMarkerConstPtr& msg)
{
last_msg_ = msg;
ROS_INFO_STREAM(last_msg_->pose.pose);
}
这里的消息文件是:ARMarker.msg在fake_ar_publisher包里,内容如下:
Header header
uint32 id
geometry_msgs/PoseWithCovariance pose
uint32 confidence
可以看出这里先是先是通过指针找到ARMarker下的pose消息,而这里的消息类型是geometry_msgs/PoseWithCovariance,然后从官网上搜索geometry_msgs/PoseWithCovariance
看到此消息类型的定义,这里更像是一个大的结构体,里面定义了各种消息类型,从最下面看到实际的消息定义
通过这里可以理顺last_msg_->pose进行类似于对结构体的指针操作找到pose,所以写成这种形式last_msg_->pose.pose
点开geometry_msgs/Pose 可以看到内部包含了位置(xyz)和方向&