Fawkes API
Fawkes Development Version
|
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_;
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.
virtual void finalize()
Finalize the thread.
BlackBoard interface listener.
Block navgraph paths based on laser clusters.
virtual void init()
Initialize the thread.
Constraint that can be queried to check if an edge is blocked.
Constraint that can be queried for an edge cost factor.
Thread aspect to access to BlackBoard.
virtual void run()
Stub to see name in backtrace for easier debugging.
Fawkes library namespace.
Thread aspect to log output.
Thread aspect to access NavGraph.
BlackBoard interface observer.
Base class for all Fawkes BlackBoard interfaces.
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.
bool robot_pose(Eigen::Vector2f &pose)
Determine current robot pose.
Thread aspect to access configuration data.
NavGraphClustersThread()
Constructor.
Thread aspect that allows to obtain the current time from the clock.
virtual void loop()
Code to execute in the thread.
virtual ~NavGraphClustersThread()
Destructor.