Class SimpleBTBuilder
Defined in File simple_bt_builder.hpp
Inheritance Relationships
Base Type
public plansys2::BTBuilder
(Class BTBuilder)
Class Documentation
-
class SimpleBTBuilder : public plansys2::BTBuilder
Public Functions
-
SimpleBTBuilder()
-
virtual void initialize(const std::string &bt_action_1 = "", const std::string &bt_action_2 = "", int precision = 3)
-
virtual std::string get_tree(const plansys2_msgs::msg::Plan ¤t_plan)
Protected Functions
-
ActionGraph::Ptr get_graph(const plansys2_msgs::msg::Plan ¤t_plan)
-
std::vector<ActionStamped> get_plan_actions(const plansys2_msgs::msg::Plan &plan)
-
void prune_backwards(ActionNode::Ptr new_node, ActionNode::Ptr node_satisfy)
-
void prune_forward(ActionNode::Ptr current, std::list<ActionNode::Ptr> &used_nodes)
-
void get_state(const ActionNode::Ptr &node, std::list<ActionNode::Ptr> &used_nodes, std::vector<plansys2::Predicate> &predicates, std::vector<plansys2::Function> &functions) const
-
bool is_action_executable(const ActionStamped &action, std::vector<plansys2::Predicate> &predicates, std::vector<plansys2::Function> &functions) const
-
std::list<ActionNode::Ptr> get_roots(std::vector<plansys2::ActionStamped> &action_sequence, std::vector<plansys2::Predicate> &predicates, std::vector<plansys2::Function> &functions, int &node_counter)
-
ActionNode::Ptr get_node_satisfy(const plansys2_msgs::msg::Tree &requirement, const ActionGraph::Ptr &graph, const ActionNode::Ptr ¤t)
-
ActionNode::Ptr get_node_satisfy(const plansys2_msgs::msg::Tree &requirement, const ActionNode::Ptr &node, const ActionNode::Ptr ¤t)
-
std::list<ActionNode::Ptr> get_node_contradict(const ActionGraph::Ptr &graph, const ActionNode::Ptr ¤t)
-
void get_node_contradict(const ActionNode::Ptr &node, const ActionNode::Ptr ¤t, std::list<ActionNode::Ptr> &parents)
-
void remove_existing_requirements(std::vector<plansys2_msgs::msg::Tree> &requirements, std::vector<plansys2::Predicate> &predicates, std::vector<plansys2::Function> &functions) const
-
bool is_parallelizable(const plansys2::ActionStamped &action, const std::vector<plansys2::Predicate> &predicates, const std::vector<plansys2::Function> &functions, const std::list<ActionNode::Ptr> &ret) const
-
std::string get_flow_tree(ActionNode::Ptr node, std::list<std::string> &used_nodes, int level = 0)
-
void get_flow_dotgraph(ActionNode::Ptr node, std::set<std::string> &edges)
-
void addDotGraphLegend(std::stringstream &ss, int tab_level, int level_counter, int node_counter)
-
std::string t(int level)
-
std::string execution_block(const ActionNode::Ptr &node, int l)
-
void print_node(const ActionNode::Ptr &node, int level, std::set<ActionNode::Ptr> &used_nodes) const
-
void print_graph(const plansys2::ActionGraph::Ptr &graph) const
-
void print_node_csv(const ActionNode::Ptr &node, uint32_t root_num) const
-
void print_graph_csv(const plansys2::ActionGraph::Ptr &graph) const
-
void get_node_tabular(const plansys2::ActionNode::Ptr &node, uint32_t root_num, std::vector<std::tuple<uint32_t, uint32_t, uint32_t, std::string>> &graph) const
-
std::vector<std::tuple<uint32_t, uint32_t, uint32_t, std::string>> get_graph_tabular(const plansys2::ActionGraph::Ptr &graph) const
Protected Attributes
-
std::shared_ptr<plansys2::DomainExpertClient> domain_client_
-
std::shared_ptr<plansys2::ProblemExpertClient> problem_client_
-
ActionGraph::Ptr graph_
-
std::string bt_
-
std::string bt_action_
-
SimpleBTBuilder()