21 #ifndef _PLUGINS_NAVGRAPH_NAVGRAPH_THREAD_H_
22 #define _PLUGINS_NAVGRAPH_NAVGRAPH_THREAD_H_
24 #ifdef HAVE_VISUALIZATION
25 # include "visualization_thread.h"
28 #include <aspect/aspect_provider.h>
29 #include <aspect/blackboard.h>
30 #include <aspect/blocked_timing.h>
31 #include <aspect/clock.h>
32 #include <aspect/configurable.h>
33 #include <aspect/logging.h>
34 #include <aspect/tf.h>
35 #include <core/threading/thread.h>
36 #include <interfaces/NavPathInterface.h>
37 #include <interfaces/NavigatorInterface.h>
38 #include <navgraph/aspect/navgraph_inifin.h>
39 #include <navgraph/constraints/constraint_repo.h>
40 #include <navgraph/navgraph.h>
41 #include <utils/system/fam.h>
58 #ifdef HAVE_VISUALIZATION
69 virtual void fam_event(
const char *filename,
unsigned int mask);
80 bool generate_plan(
const std::string &goal);
81 bool generate_plan(
const std::string &goal,
float ori);
82 bool generate_plan(
float x,
float y,
float ori,
const std::string &target_name =
"free-target");
87 void send_next_goal();
89 bool node_ori_reached();
91 size_t shortcut_possible();
99 std::string cfg_graph_file_;
100 std::string cfg_base_frame_;
101 std::string cfg_global_frame_;
102 std::string cfg_nav_if_id_;
103 float cfg_resend_interval_;
104 float cfg_replan_interval_;
105 float cfg_replan_factor_;
106 #ifdef HAVE_VISUALIZATION
107 float cfg_visual_interval_;
109 bool cfg_monitor_file_;
110 float cfg_target_time_;
111 float cfg_target_ori_time_;
113 bool cfg_abort_on_error_;
114 bool cfg_enable_path_execution_;
115 bool cfg_allow_multi_graph_;
125 bool target_reached_;
126 bool target_ori_reached_;
127 bool target_rotating_;
130 std::string last_node_;
133 bool constrained_plan_;
137 unsigned int cmd_msgid_;
142 std::string error_reason_;
146 #ifdef HAVE_VISUALIZATION