Allow loading of trees from parameter
This commit is contained in:
parent
7193070220
commit
65df5d10c4
3
.clang-format
Normal file
3
.clang-format
Normal file
@ -0,0 +1,3 @@
|
||||
BasedOnStyle: LLVM
|
||||
IndentWidth: 4
|
||||
ColumnLimit: 140
|
||||
8
.editorconfig
Normal file
8
.editorconfig
Normal file
@ -0,0 +1,8 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_size = 4
|
||||
indent_style = space
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
@ -1,5 +1,6 @@
|
||||
#include "Area.h"
|
||||
#include <behaviortree_cpp_v3/blackboard.h>
|
||||
#include <behaviortree_cpp_v3/bt_factory.h>
|
||||
#include <rclcpp/rclcpp.hpp>
|
||||
#include <random>
|
||||
#include <rclcpp/utilities.hpp>
|
||||
@ -140,8 +141,16 @@ int main(int argc, char **argv) {
|
||||
|
||||
std::cout << "Creating tree." << std::endl;
|
||||
|
||||
Tree actorTree = factory.createTreeFromFile("/home/ros/workspace/src/btree_nodes/actorTree.xml",blackboard);
|
||||
Tree robotTree = factory.createTreeFromFile("/home/ros/workspace/src/btree_nodes/robotTree.xml",blackboard);
|
||||
mainNode -> declare_parameter("trees",std::vector<std::string>({
|
||||
"/home/ros/workspace/src/btree_nodes/actorTree.xml",
|
||||
"/home/ros/workspace/src/btree_nodes/robotTree.xml"
|
||||
}));
|
||||
|
||||
auto treeFileNames = mainNode -> get_parameter("trees").as_string_array();
|
||||
auto trees = std::vector<std::shared_ptr<BT::Tree>>();
|
||||
for(auto treeFileName : treeFileNames){
|
||||
trees.emplace_back(std::make_shared<BT::Tree>(factory.createTreeFromFile(treeFileName,blackboard)));
|
||||
}
|
||||
|
||||
auto init = std::make_shared<geometry_msgs::msg::Pose>();
|
||||
init->position.x = 6.0;
|
||||
@ -167,8 +176,9 @@ int main(int argc, char **argv) {
|
||||
|
||||
while (rclcpp::ok()) {
|
||||
blackboardMutex.lock();
|
||||
actorTree.tickRoot();
|
||||
robotTree.tickRoot();
|
||||
for(auto tree : trees){
|
||||
tree->tickRoot();
|
||||
}
|
||||
blackboardMutex.unlock();
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user