0

トピック "/fix" で GPS 座標を公開している ROS GPSD クライアントのサブスクライバー ノードを書きたいと思います。何が正しいコードで、CMakeList.txt と package.xml にどのような変更を加える必要があるのか​​、正確にはわかりません。以下はコードです

#include <ros/ros.h>
#include <sensor_msgs/NavSatStatus.h>  
#include <sensor_msgs/NavSatFix.h>
using namespace gps_common;
void callback(const sensor_msgs::NavSatFixConstPtr& fix) {
  if (fix->status.status == sensor_msgs::NavSatStatus::STATUS_NO_FIX) {
   ROS_INFO("No fix.");
   return;
}

  if (fix->header.stamp == ros::Time(0)) {
   return;
}

printf("\n Latitude = %f and Logitude = %f ",fix->latitude, fix->logitude);  

}

int main (int argc, char **argv) {
 ros::init(argc, argv, "gps_collect");
 ros::NodeHandle node;
 ros::Subscriber fix_sub = node.subscribe("fix", 10, callback);
 ros::spin();
 return 0;
 }
4

1 に答える 1