Make camera markers node retrieve frame id from camera info

This commit is contained in:
Oleg Kalachev
2018-09-12 02:50:36 +03:00
parent 1909feceba
commit 3bd4a6673f
2 changed files with 6 additions and 3 deletions

View File

@@ -9,6 +9,7 @@
#include <string>
#include <ros/ros.h>
#include <sensor_msgs/CameraInfo.h>
#include <visualization_msgs/Marker.h>
#include <visualization_msgs/MarkerArray.h>
@@ -81,12 +82,15 @@ MarkerArray createMarkers() {
int main(int argc, char **argv)
{
ros::init(argc, argv, "camera_markers");
ros::init(argc, argv, "camera_markers", ros::init_options::AnonymousName);
ros::NodeHandle nh, nh_priv("~");
nh_priv.param<std::string>("frame_id", camera_frame, "main_camera_optical");
nh_priv.param("scale", markers_scale, 1.0);
// wait for camera info
auto camera_info = ros::topic::waitForMessage<sensor_msgs::CameraInfo>("camera_info", nh);
camera_frame = camera_info->header.frame_id;
ros::Publisher markers_pub = nh.advertise<visualization_msgs::MarkerArray>("camera_markers", 1, true);
markers_pub.publish(createMarkers());