Skip to content

Commit

Permalink
Adapr BT nodes to Cascade LN
Browse files Browse the repository at this point in the history
Signed-off-by: Francisco Martín Rico <[email protected]>
  • Loading branch information
fmrico committed Apr 25, 2024
1 parent 959016d commit 0a15d6a
Show file tree
Hide file tree
Showing 19 changed files with 60 additions and 34 deletions.
2 changes: 2 additions & 0 deletions bt_nodes/arm/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ endif()
find_package(ament_cmake REQUIRED)
find_package(behaviortree_cpp_v3 REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rclcpp_cascade_lifecycle REQUIRED)
find_package(rclcpp_action REQUIRED)
find_package(manipulation_interfaces REQUIRED)
# uncomment the following section in order to fill in
Expand All @@ -20,6 +21,7 @@ set(CMAKE_CXX_STANDARD 17)
set(dependencies
behaviortree_cpp_v3
rclcpp
rclcpp_cascade_lifecycle
rclcpp_action
manipulation_interfaces
)
Expand Down
5 changes: 4 additions & 1 deletion bt_nodes/arm/include/arm/manipulation/move_to_predefined.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,15 @@
#include "behaviortree_cpp_v3/behavior_tree.h"
#include "behaviortree_cpp_v3/bt_factory.h"
#include "arm/manipulation/BTActionNode.hpp"

#include "rclcpp/rclcpp.hpp"
#include "rclcpp_cascade_lifecycle/rclcpp_cascade_lifecycle.hpp"

namespace manipulation
{

class MoveToPredefined : public manipulation::BtActionNode<manipulation_interfaces::action::MoveToPredefined>
class MoveToPredefined : public manipulation::BtActionNode<
manipulation_interfaces::action::MoveToPredefined, rclcpp_cascade_lifecycle::CascadeLifecycleNode>
{
public:
explicit MoveToPredefined(
Expand Down
5 changes: 4 additions & 1 deletion bt_nodes/arm/include/arm/manipulation/pick_object.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,15 @@
#include "behaviortree_cpp_v3/behavior_tree.h"
#include "behaviortree_cpp_v3/bt_factory.h"
#include "arm/manipulation/BTActionNode.hpp"

#include "rclcpp/rclcpp.hpp"
#include "rclcpp_cascade_lifecycle/rclcpp_cascade_lifecycle.hpp"

namespace manipulation
{

class PickObject : public manipulation::BtActionNode<manipulation_interfaces::action::Pick>
class PickObject : public manipulation::BtActionNode<
manipulation_interfaces::action::Pick, rclcpp_cascade_lifecycle::CascadeLifecycleNode>
{
public:
explicit PickObject(
Expand Down
1 change: 1 addition & 0 deletions bt_nodes/arm/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
<depend>behaviortree_cpp_v3</depend>
<depend>rclcpp</depend>
<depend>rclcpp_action</depend>
<depend>rclcpp_cascade_lifecycle</depend>
<depend>manipulation_interfaces</depend>

<test_depend>ament_lint_auto</test_depend>
Expand Down
5 changes: 3 additions & 2 deletions bt_nodes/arm/src/manipulation/move_to_predefined.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,9 @@ using namespace std::placeholders;
MoveToPredefined::MoveToPredefined(
const std::string & xml_tag_name, const std::string & action_name,
const BT::NodeConfiguration & conf)
: manipulation::BtActionNode<manipulation_interfaces::action::MoveToPredefined>(xml_tag_name,
action_name, conf) {}
: manipulation::BtActionNode<
manipulation_interfaces::action::MoveToPredefined, rclcpp_cascade_lifecycle::CascadeLifecycleNode>(
xml_tag_name, action_name, conf) {}

void MoveToPredefined::on_tick()
{
Expand Down
5 changes: 3 additions & 2 deletions bt_nodes/arm/src/manipulation/pick_object.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@ using namespace std::placeholders;
PickObject::PickObject(
const std::string & xml_tag_name, const std::string & action_name,
const BT::NodeConfiguration & conf)
: manipulation::BtActionNode<manipulation_interfaces::action::Pick>(xml_tag_name,
action_name, conf) {}
: manipulation::BtActionNode<
manipulation_interfaces::action::Pick, rclcpp_cascade_lifecycle::CascadeLifecycleNode>(
xml_tag_name, action_name, conf) {}

void PickObject::on_tick()
{
Expand Down
2 changes: 1 addition & 1 deletion bt_nodes/hri/include/hri/dialog/BTActionNode.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class BtActionNode : public BT::ActionNodeBase
const BT::NodeConfiguration & conf)
: BT::ActionNodeBase(xml_tag_name, conf), action_name_(action_name)
{
node_ = config().blackboard->get<typename NodeT::SharedPtr>("node");
config().blackboard->get<typename NodeT::SharedPtr>("node", node_);

server_timeout_ = 1s;

Expand Down
6 changes: 5 additions & 1 deletion bt_nodes/hri/include/hri/dialog/DialogConfirmation.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,19 @@
#include "behaviortree_cpp_v3/behavior_tree.h"
#include "behaviortree_cpp_v3/bt_factory.h"
#include "hri/dialog/BTActionNode.hpp"

#include "rclcpp/rclcpp.hpp"
#include "rclcpp_cascade_lifecycle/rclcpp_cascade_lifecycle.hpp"

#include "std_msgs/msg/int8.hpp"
#include "whisper_msgs/action/stt.hpp"

namespace dialog
{

class DialogConfirmation
: public dialog::BtActionNode<whisper_msgs::action::STT>
: public dialog::BtActionNode<
whisper_msgs::action::STT, rclcpp_cascade_lifecycle::CascadeLifecycleNode>
{
public:
explicit DialogConfirmation(
Expand Down
6 changes: 5 additions & 1 deletion bt_nodes/hri/include/hri/dialog/Listen.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,18 @@
#include "behaviortree_cpp_v3/behavior_tree.h"
#include "behaviortree_cpp_v3/bt_factory.h"
#include "hri/dialog/BTActionNode.hpp"

#include "rclcpp/rclcpp.hpp"
#include "rclcpp_cascade_lifecycle/rclcpp_cascade_lifecycle.hpp"

#include "std_msgs/msg/int8.hpp"
#include "whisper_msgs/action/stt.hpp"

namespace dialog
{

class Listen : public dialog::BtActionNode<whisper_msgs::action::STT>
class Listen : public dialog::BtActionNode<
whisper_msgs::action::STT, rclcpp_cascade_lifecycle::CascadeLifecycleNode>
{
public:
explicit Listen(
Expand Down
6 changes: 5 additions & 1 deletion bt_nodes/hri/include/hri/dialog/Query.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,18 @@
#include "behaviortree_cpp_v3/bt_factory.h"
#include "hri/dialog/BTActionNode.hpp"
#include "llama_msgs/action/generate_response.hpp"

#include "rclcpp/rclcpp.hpp"
#include "rclcpp_cascade_lifecycle/rclcpp_cascade_lifecycle.hpp"

#include "std_msgs/msg/int8.hpp"

namespace dialog
{

class Query
: public dialog::BtActionNode<llama_msgs::action::GenerateResponse>
: public dialog::BtActionNode<
llama_msgs::action::GenerateResponse, rclcpp_cascade_lifecycle::CascadeLifecycleNode>
{
public:
explicit Query(
Expand Down
5 changes: 2 additions & 3 deletions bt_nodes/hri/include/hri/dialog/Speak.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
namespace dialog
{

class Speak : public dialog::BtActionNode<audio_common_msgs::action::TTS>
class Speak : public dialog::BtActionNode<
audio_common_msgs::action::TTS, rclcpp_cascade_lifecycle::CascadeLifecycleNode>
{
public:
explicit Speak(
Expand All @@ -53,8 +54,6 @@ class Speak : public dialog::BtActionNode<audio_common_msgs::action::TTS>
}

private:
std::shared_ptr<rclcpp_cascade_lifecycle::CascadeLifecycleNode> node_;

rclcpp_lifecycle::LifecyclePublisher<std_msgs::msg::String>::SharedPtr publisher_;
rclcpp_lifecycle::LifecyclePublisher<std_msgs::msg::Int8>::SharedPtr publisher_start_;

Expand Down
9 changes: 4 additions & 5 deletions bt_nodes/hri/src/hri/dialog/DialogConfirmation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,10 @@ DialogConfirmation::DialogConfirmation(
const std::string & xml_tag_name,
const std::string & action_name,
const BT::NodeConfiguration & conf)
: dialog::BtActionNode<whisper_msgs::action::STT>(xml_tag_name, action_name,
conf)
: dialog::BtActionNode<whisper_msgs::action::STT, rclcpp_cascade_lifecycle::CascadeLifecycleNode>(
xml_tag_name, action_name, conf)
{
this->publisher_start_ =
node_->create_publisher<std_msgs::msg::Int8>("dialog_action", 10);
publisher_start_ = node_->create_publisher<std_msgs::msg::Int8>("dialog_action", 10);
}

void DialogConfirmation::on_tick()
Expand All @@ -49,7 +48,7 @@ void DialogConfirmation::on_tick()

msg_dialog_action.data = 0;

this->publisher_start_->publish(msg_dialog_action);
publisher_start_->publish(msg_dialog_action);

// goal_.text = text_;
}
Expand Down
9 changes: 4 additions & 5 deletions bt_nodes/hri/src/hri/dialog/Listen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,10 @@ using namespace std::placeholders;
Listen::Listen(
const std::string & xml_tag_name, const std::string & action_name,
const BT::NodeConfiguration & conf)
: dialog::BtActionNode<whisper_msgs::action::STT>(xml_tag_name, action_name,
conf)
: dialog::BtActionNode<whisper_msgs::action::STT, rclcpp_cascade_lifecycle::CascadeLifecycleNode>(
xml_tag_name, action_name,conf)
{
this->publisher_start_ =
node_->create_publisher<std_msgs::msg::Int8>("dialog_action", 10);
publisher_start_ = node_->create_publisher<std_msgs::msg::Int8>("dialog_action", 10);
}

void Listen::on_tick()
Expand All @@ -48,7 +47,7 @@ void Listen::on_tick()

msg_dialog_action.data = 0;

this->publisher_start_->publish(msg_dialog_action);
publisher_start_->publish(msg_dialog_action);
}

BT::NodeStatus Listen::on_success()
Expand Down
8 changes: 4 additions & 4 deletions bt_nodes/hri/src/hri/dialog/Query.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ using json = nlohmann::json;
Query::Query(
const std::string & xml_tag_name, const std::string & action_name,
const BT::NodeConfiguration & conf)
: dialog::BtActionNode<llama_msgs::action::GenerateResponse>(
: dialog::BtActionNode<
llama_msgs::action::GenerateResponse, rclcpp_cascade_lifecycle::CascadeLifecycleNode>(
xml_tag_name, action_name, conf)
{
this->publisher_start_ =
node_->create_publisher<std_msgs::msg::Int8>("dialog_action", 10);
publisher_start_ = node_->create_publisher<std_msgs::msg::Int8>("dialog_action", 10);
}

void Query::on_tick()
Expand Down Expand Up @@ -86,7 +86,7 @@ ws ::= ([ \t\n] ws)?)";

msg_dialog_action.data = 2;

this->publisher_start_->publish(msg_dialog_action);
publisher_start_->publish(msg_dialog_action);
}

BT::NodeStatus Query::on_success()
Expand Down
4 changes: 2 additions & 2 deletions bt_nodes/hri/src/hri/dialog/Speak.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ using namespace std::placeholders;
Speak::Speak(
const std::string & xml_tag_name, const std::string & action_name,
const BT::NodeConfiguration & conf)
: dialog::BtActionNode<audio_common_msgs::action::TTS>(xml_tag_name,
action_name, conf)
: dialog::BtActionNode<audio_common_msgs::action::TTS, rclcpp_cascade_lifecycle::CascadeLifecycleNode>(
xml_tag_name, action_name, conf)
{
config().blackboard->get("node", node_);

Expand Down
5 changes: 4 additions & 1 deletion bt_nodes/motion/include/motion/head/Pan.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,15 @@
#include "behaviortree_cpp_v3/bt_factory.h"
#include "ctrl_support/BTActionNode.hpp"
#include "control_msgs/action/follow_joint_trajectory.hpp"

#include "rclcpp/rclcpp.hpp"
#include "rclcpp_cascade_lifecycle/rclcpp_cascade_lifecycle.hpp"

namespace head
{

class Pan : public motion::BtActionNode<control_msgs::action::FollowJointTrajectory>
class Pan : public motion::BtActionNode<
control_msgs::action::FollowJointTrajectory, rclcpp_cascade_lifecycle::CascadeLifecycleNode>
{
public:
explicit Pan(
Expand Down
2 changes: 1 addition & 1 deletion bt_nodes/motion/include/motion/navigation/MoveTo.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ namespace navigation
{

class MoveTo
: public motion::BtActionNode<nav2_msgs::action::NavigateToPose>
: public motion::BtActionNode<nav2_msgs::action::NavigateToPose, rclcpp_cascade_lifecycle::CascadeLifecycleNode>
{
public:
explicit MoveTo(
Expand Down
4 changes: 3 additions & 1 deletion bt_nodes/motion/src/motion/head/Pan.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ Pan::Pan(
const std::string & xml_tag_name,
const std::string & action_name,
const BT::NodeConfiguration & conf)
: motion::BtActionNode<control_msgs::action::FollowJointTrajectory>(xml_tag_name, action_name, conf)
: motion::BtActionNode<
control_msgs::action::FollowJointTrajectory, rclcpp_cascade_lifecycle::CascadeLifecycleNode>(
xml_tag_name, action_name, conf)
{
config().blackboard->get("node", node_);
}
Expand Down
5 changes: 3 additions & 2 deletions bt_nodes/motion/src/motion/navigation/MoveTo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,9 @@ MoveTo::MoveTo(
const std::string & xml_tag_name,
const std::string & action_name,
const BT::NodeConfiguration & conf)
: motion::BtActionNode<nav2_msgs::action::NavigateToPose>(xml_tag_name,
action_name, conf),
: motion::BtActionNode<
nav2_msgs::action::NavigateToPose, rclcpp_cascade_lifecycle::CascadeLifecycleNode>(
xml_tag_name, action_name, conf),
tf_buffer_(),
tf_listener_(tf_buffer_)
{
Expand Down

0 comments on commit 0a15d6a

Please sign in to comment.