client.hpp
Go to the documentation of this file.
00001 
00002 
00003 #ifndef _YOCS_AR_PAIR_TRACKING_CLIENT_HPP_
00004 #define _YOCS_AR_PAIR_TRACKING_CLIENT_HPP_
00005 #include <ros/ros.h>
00006 
00007 #include <tf/tf.h>
00008 #include <tf/transform_listener.h>
00009 #include <tf/transform_broadcaster.h>
00010 
00011 #include <ar_track_alvar_msgs/AlvarMarkers.h>
00012 #include <yocs_msgs/ARPairList.h>
00013 #include <yocs_math_toolkit/common.hpp>                                                                        
00014 #include <yocs_math_toolkit/geometry.hpp>
00015 
00016 
00017 namespace yocs {
00018 
00019 class ARPairTrackingClient {
00020   public:
00021     ARPairTrackingClient();
00022     ~ARPairTrackingClient();
00023     void globalMarkersCB(const ar_track_alvar_msgs::AlvarMarkers::ConstPtr& msg);
00024     void broadcastMarkersTF();
00025   protected:
00026     void createMirrorMarkers();
00027     void createTargets();
00028     void notifyARPairTracker();
00029     void publishMarkerTFs(const std::string prefix, const ar_track_alvar_msgs::AlvarMarkers& markers);
00030     void publishTargetTFs(const std::string prefix, const ar_track_alvar_msgs::AlvarMarkers& markers);
00031   private:
00032     ar_track_alvar_msgs::AlvarMarkers global_markers_, global_markers_mirrors_;
00033     ros::Subscriber sub_global_marker_;
00034     ros::Publisher  pub_update_ar_pair_;
00035 
00036     tf::TransformListener tf_listener_;
00037     tf::TransformBroadcaster tf_brcaster_;
00038     double tf_broadcast_freq_;
00039     
00040     std::string global_frame_;
00041     std::string global_marker_prefix_;
00042     std::string target_frame_postfix_;
00043     double baseline_;
00044     double target_offset_; 
00045 };
00046 }
00047 
00048 #endif


yocs_ar_pair_tracking
Author(s): Daniel Stonier, Jihoon Lee, Jorge Santos Simon
autogenerated on Thu Jun 6 2019 21:47:30