21 #ifndef _PLUGINS_NAVGRAPH_CLUSTERS_NAVGRAPH_CLUSTERS_THREAD_H_ 22 #define _PLUGINS_NAVGRAPH_CLUSTERS_NAVGRAPH_CLUSTERS_THREAD_H_ 24 #include <aspect/blackboard.h> 25 #include <aspect/clock.h> 26 #include <aspect/configurable.h> 27 #include <aspect/logging.h> 28 #include <aspect/tf.h> 29 #include <blackboard/interface_listener.h> 30 #include <blackboard/interface_observer.h> 31 #include <core/threading/thread.h> 32 #include <core/utils/lock_list.h> 33 #include <navgraph/aspect/navgraph.h> 35 #include <Eigen/Geometry> 41 class Position3DInterface;
43 class NavGraphEdgeConstraint;
44 class NavGraphEdgeCostConstraint;
65 std::list<std::pair<std::string, std::string>>
blocked_edges()
throw();
67 std::list<std::tuple<std::string, std::string, Eigen::Vector2f>>
70 bool robot_pose(Eigen::Vector2f &pose)
throw();
82 virtual void bb_interface_created(
const char *type,
const char *
id)
throw();
86 unsigned int instance_serial)
throw();
88 unsigned int instance_serial)
throw();
93 fixed_frame_pose(std::string frame,
const fawkes::Time ×tamp,
float x,
float y);
96 std::string cfg_iface_prefix_;
97 float cfg_close_threshold_;
98 std::string cfg_fixed_frame_;
99 std::string cfg_base_frame_;
100 int cfg_min_vishistory_;
101 std::string cfg_mode_;
Thread aspect to access to BlackBoard.
Constraint that can be queried to check if an edge is blocked.
virtual void run()
Stub to see name in backtrace for easier debugging.
Thread aspect that allows to obtain the current time from the clock.
virtual void init()
Initialize the thread.
Fawkes library namespace.
bool robot_pose(Eigen::Vector2f &pose)
Determine current robot pose.
NavGraphClustersThread()
Constructor.
std::list< std::pair< std::string, std::string > > blocked_edges()
Get a list of edges close to a clusters considered blocked.
A class for handling time.
Thread class encapsulation of pthreads.
Base class for all Fawkes BlackBoard interfaces.
Constraint that can be queried for an edge cost factor.
virtual void loop()
Code to execute in the thread.
Block navgraph paths based on laser clusters.
virtual ~NavGraphClustersThread()
Destructor.
Thread aspect to log output.
std::list< std::tuple< std::string, std::string, Eigen::Vector2f > > blocked_edges_centroids()
Get a list of edges close to a clusters and its centroid considered blocked.
BlackBoard interface observer.
Thread aspect to access configuration data.
virtual void finalize()
Finalize the thread.
BlackBoard interface listener.
Thread aspect to access NavGraph.