int main(int argc, char **argv) { ros::init(argc, argv, "wire_viz"); ros::NodeHandle n("~"); // Set parameters for visualizers if (!world_evidence_visualizer_.setParameters(n, "world_evidence")) { return 0; } if (!world_state_visualizer_.setParameters(n, "world_state")) { return 0; } // Set tf listeners tf::TransformListener tf_listener; world_evidence_visualizer_.setTFListener(&tf_listener); world_state_visualizer_.setTFListener(&tf_listener); // Get marker frame from parameter server if (!getMarkerFrame(n)) marker_frame_ = DEFAULT_MARKER_FRAME; // Subscribe to world evidence and world state topics ros::Subscriber sub_world_ev = n.subscribe("/world_evidence", 10, &worldEvidenceCallback); ros::Subscriber sub_world_st = n.subscribe("/world_state", 10, &worldStateCallback); // Advertise to marker topics world_evidence_marker_pub_ = n.advertise<visualization_msgs::MarkerArray>("/visualization_markers/world_evidence", 10); world_state_marker_pub_ = n.advertise<visualization_msgs::MarkerArray>("/visualization_markers/world_state", 10); ros::spin(); return 0; }