diff --git a/capabilities2/package.xml b/capabilities2/package.xml index 691851b..a012c4d 100644 --- a/capabilities2/package.xml +++ b/capabilities2/package.xml @@ -8,6 +8,7 @@ Michael Pritchard mik-p + Kalana Ratnayake Michael Pritchard diff --git a/capabilities2_events/.clang-format b/capabilities2_events/.clang-format deleted file mode 100644 index 92effdd..0000000 --- a/capabilities2_events/.clang-format +++ /dev/null @@ -1,64 +0,0 @@ - -BasedOnStyle: Google -AccessModifierOffset: -2 -ConstructorInitializerIndentWidth: 2 -AlignEscapedNewlinesLeft: false -AlignTrailingComments: true -AllowAllParametersOfDeclarationOnNextLine: false -AllowShortIfStatementsOnASingleLine: false -AllowShortLoopsOnASingleLine: false -AllowShortFunctionsOnASingleLine: None -AlwaysBreakTemplateDeclarations: true -AlwaysBreakBeforeMultilineStrings: false -BreakBeforeBinaryOperators: false -BreakBeforeTernaryOperators: false -BreakConstructorInitializersBeforeComma: true -BinPackParameters: true -ColumnLimit: 150 -ConstructorInitializerAllOnOneLineOrOnePerLine: true -DerivePointerBinding: false -PointerBindsToType: true -ExperimentalAutoDetectBinPacking: false -IndentCaseLabels: true -MaxEmptyLinesToKeep: 1 -NamespaceIndentation: None -ObjCSpaceBeforeProtocolList: true -PenaltyBreakBeforeFirstCallParameter: 19 -PenaltyBreakComment: 60 -PenaltyBreakString: 1 -PenaltyBreakFirstLessLess: 1000 -PenaltyExcessCharacter: 1000 -PenaltyReturnTypeOnItsOwnLine: 90 -SpacesBeforeTrailingComments: 2 -Cpp11BracedListStyle: false -Standard: Auto -IndentWidth: 2 -TabWidth: 2 -UseTab: Never -IndentFunctionDeclarationAfterType: false -SpacesInParentheses: false -SpacesInAngles: false -SpaceInEmptyParentheses: false -SpacesInCStyleCastParentheses: false -SpaceAfterControlStatementKeyword: true -SpaceBeforeAssignmentOperators: true -ContinuationIndentWidth: 4 -SortIncludes: false -SpaceAfterCStyleCast: false - -# Configure each individual brace in BraceWrapping -BreakBeforeBraces: Custom - -# Control of individual brace wrapping cases -BraceWrapping: { - AfterClass: 'true' - AfterControlStatement: 'true' - AfterEnum : 'true' - AfterFunction : 'true' - AfterNamespace : 'true' - AfterStruct : 'true' - AfterUnion : 'true' - BeforeCatch : 'true' - BeforeElse : 'true' - IndentBraces : 'false' -} diff --git a/capabilities2_events/CMakeLists.txt b/capabilities2_events/CMakeLists.txt deleted file mode 100644 index 52b569a..0000000 --- a/capabilities2_events/CMakeLists.txt +++ /dev/null @@ -1,53 +0,0 @@ -cmake_minimum_required(VERSION 3.10) -project(capabilities2_events) - -# Default to C++17 -if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 17) -endif() - -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_compile_options(-Wall -Wextra -Wpedantic) -endif() - -find_package(ament_cmake REQUIRED) -find_package(rclcpp REQUIRED) -find_package(capabilities2_msgs REQUIRED) - -include_directories( - include -) - -############################################################################ -# node implementation that compiles as a executable -############################################################################ - -add_executable(${PROJECT_NAME}_node - src/event_listener_node.cpp -) - -# target_link_libraries(${PROJECT_NAME}_node) - -ament_target_dependencies(${PROJECT_NAME}_node - rclcpp - capabilities2_msgs -) - -install(TARGETS ${PROJECT_NAME}_node - DESTINATION lib/${PROJECT_NAME} -) - -############################################################################ -# miscellaneous -############################################################################ - -install(DIRECTORY include/ - DESTINATION include -) - -install(DIRECTORY launch - DESTINATION share/${PROJECT_NAME} -) - -ament_export_include_directories(include) -ament_package() diff --git a/capabilities2_events/include/capabilities2_events/event_client.hpp b/capabilities2_events/include/capabilities2_events/event_client.hpp deleted file mode 100644 index 742a262..0000000 --- a/capabilities2_events/include/capabilities2_events/event_client.hpp +++ /dev/null @@ -1,185 +0,0 @@ -#pragma once -#include -#include - -/** - * @brief A class to publish events to a given topic - * - */ -class EventClient -{ -public: - using Event = capabilities2_msgs::msg::CapabilityEvent; - - /** - * @brief Construct a new Status Client object - * - * @param node Pointer to the node - * @param node_name node name to be used for status message - * @param topic_name topic name to publish the message - */ - EventClient(rclcpp::Node::SharedPtr node, const std::string& node_name, const std::string& topic_name) - { - node_ = node; - node_name_ = node_name; - event_publisher_ = node_->create_publisher(topic_name, 10); - } - - /** - * @brief publishes status information to the given topic as info - * - * @param text Text to be published - */ - - void info(const std::string& text, int thread_id = -1) - { - auto message = Event(); - - message.header.stamp = node_->now(); - message.origin_node = node_name_; - message.source.capability = ""; - message.source.provider = ""; - message.target.capability = ""; - message.target.provider = ""; - message.thread_id = thread_id; - message.event = Event::UNDEFINED; - message.type = Event::INFO; - message.content = text; - message.pid = -1; - - event_publisher_->publish(message); - } - - /** - * @brief publishes status information to the given topic as info - * - * @param message Message to be published - */ - void info(const Event& message) - { - event_publisher_->publish(message); - } - - /** - * @brief publishes status information to the given topic as debug - * - * @param text Text to be published - */ - - void debug(const std::string& text, int thread_id = -1) - { - auto message = Event(); - - message.header.stamp = node_->now(); - message.origin_node = node_name_; - message.source.capability = ""; - message.source.provider = ""; - message.target.capability = ""; - message.target.provider = ""; - message.thread_id = thread_id; - message.event = Event::UNDEFINED; - message.type = Event::DEBUG; - message.content = text; - message.pid = -1; - - event_publisher_->publish(message); - } - - /** - * @brief publishes status information to the given topic as debug - * - * @param message Message to be published - */ - void debug(const Event& message) - { - event_publisher_->publish(message); - } - - /** - * @brief publishes status information to the given topic as error - * - * @param text Text to be published - */ - void error(const std::string& text, int thread_id = -1) - { - auto message = Event(); - - message.header.stamp = node_->now(); - message.origin_node = node_name_; - message.source.capability = ""; - message.source.provider = ""; - message.target.capability = ""; - message.target.provider = ""; - message.thread_id = thread_id; - message.event = Event::UNDEFINED; - message.type = Event::ERROR; - message.content = text; - message.pid = -1; - - event_publisher_->publish(message); - } - - /** - * @brief publishes status information to the given topic as error - * - * @param message Message to be published - */ - void error(const Event& message) - { - event_publisher_->publish(message); - } - - /** - * @brief publishes element information to the given topic as error - * - * @param element element information to be published - */ - void error_element(const std::string& element, int thread_id = -1) - { - auto message = Event(); - - message.header.stamp = node_->now(); - message.origin_node = node_name_; - message.source.capability = ""; - message.source.provider = ""; - message.target.capability = ""; - message.target.provider = ""; - message.thread_id = thread_id; - message.event = Event::UNDEFINED; - message.type = Event::ERROR_ELEMENT; - message.content = element; - message.pid = -1; - - event_publisher_->publish(message); - } - - /** - * @brief publishes status information to the given topic as error with - * element infromation included - * - * @param message Message to be published - */ - void error_element(const Event& message) - { - event_publisher_->publish(message); - } - -protected: - /** - * @brief Node pointer to access logging interface - * - */ - rclcpp::Node::SharedPtr node_; - - /** - * @brief publisher to publish execution status - * - */ - rclcpp::Publisher::SharedPtr event_publisher_; - - /** - * @brief Node name - * - */ - std::string node_name_; -}; \ No newline at end of file diff --git a/capabilities2_events/include/capabilities2_events/event_listener.hpp b/capabilities2_events/include/capabilities2_events/event_listener.hpp deleted file mode 100644 index 4099719..0000000 --- a/capabilities2_events/include/capabilities2_events/event_listener.hpp +++ /dev/null @@ -1,66 +0,0 @@ -#include - -#include "rclcpp/rclcpp.hpp" -#include - -class CapabilitiesEventListener : public rclcpp::Node -{ -public: - using Event = capabilities2_msgs::msg::CapabilityEvent; - - CapabilitiesEventListener(const rclcpp::NodeOptions& options = rclcpp::NodeOptions()) : Node("capabilities2_events_listener", options) - { - // Create a subscription to the "topic" topic - RCLCPP_INFO(this->get_logger(), "Creating subscription to topic"); - - subscription_ = - this->create_subscription("/events", 10, std::bind(&CapabilitiesEventListener::topic_callback, this, std::placeholders::_1)); - } - -private: - void topic_callback(const Event& msg) const - { - std::string text; - - if (msg.type == Event::ERROR_ELEMENT) - { - text = "[" + msg.origin_node + "]" + "[" + msg.source.capability + "/" + std::to_string(msg.thread_id) + "] " + msg.content; - } - else if (msg.thread_id >= 0 and msg.target.capability == "" and msg.source.capability == "") - { - text = "[" + msg.origin_node + "]" + "[" + std::to_string(msg.thread_id) + "] " + msg.content; - } - else if (msg.thread_id < 0 and msg.target.capability == "" and msg.source.capability == "") - { - text = "[" + msg.origin_node + "] " + msg.content; - } - else if (msg.thread_id >= 0 and msg.target.capability == "" and msg.source.capability != "") - { - text = "[" + msg.origin_node + "]" + "[" + msg.source.capability + "/" + std::to_string(msg.thread_id) + "] " + msg.content; - } - else if (msg.thread_id < 0 and msg.target.capability == "" and msg.source.capability != "") - { - text = "[" + msg.origin_node + "]" + "[" + msg.source.capability + "] " + msg.content; - } - else if (msg.thread_id >= 0 and msg.target.capability != "") - { - text = "[" + msg.origin_node + "]" + "[" + msg.source.capability + "/" + std::to_string(msg.thread_id) + "] triggering " + - msg.target.capability + " " + msg.content; - } - else if (msg.thread_id < 0 and msg.target.capability != "") - { - text = "[" + msg.origin_node + "]" + "[" + msg.source.capability + "] triggering " + msg.target.capability + " " + msg.content; - } - - if (msg.type == Event::ERROR) - RCLCPP_ERROR(get_logger(), text.c_str()); - else if (msg.type == Event::INFO) - RCLCPP_INFO(get_logger(), text.c_str()); - else if (msg.type == Event::DEBUG) - RCLCPP_DEBUG(get_logger(), text.c_str()); - else - RCLCPP_ERROR(get_logger(), text.c_str()); - } - - rclcpp::Subscription::SharedPtr subscription_; -}; \ No newline at end of file diff --git a/capabilities2_events/include/capabilities2_events/event_types.hpp b/capabilities2_events/include/capabilities2_events/event_types.hpp deleted file mode 100644 index e0ddaf0..0000000 --- a/capabilities2_events/include/capabilities2_events/event_types.hpp +++ /dev/null @@ -1,44 +0,0 @@ -#pragma once - -namespace capabilities2 -{ -enum event_t -{ - IDLE, - STARTED, - STOPPED, - FAILED, - SUCCEEDED -}; - -/** - * @brief event definition - * - * Contains the informations about the event to be executed. It contains the interface, provider and parameters - */ -struct event -{ - std::string interface; - std::string provider; - std::string parameters; -}; - -/** - * @brief event options - * - * keeps track of events that are related to runner instances at various points of the - * plan - * @param on_started information about the capability to execute on start - * @param on_success information about the capability to execute on success - * @param on_failure information about the capability to execute on failure - * @param on_stopped information about the capability to execute on stop - */ -struct event_opts -{ - event on_started; - event on_success; - event on_failure; - event on_stopped; -}; - -} \ No newline at end of file diff --git a/capabilities2_events/launch/listener.launch.py b/capabilities2_events/launch/listener.launch.py deleted file mode 100644 index 3f5951f..0000000 --- a/capabilities2_events/launch/listener.launch.py +++ /dev/null @@ -1,28 +0,0 @@ -''' -capabilities2_server launch file -''' - -import os -from launch import LaunchDescription -from launch_ros.actions import Node - - -def generate_launch_description(): - """Generate launch description for capabilities2 server - - Returns: - LaunchDescription: The launch description for capabilities2 events listener - """ - # create bridge composition - capabilities2 = Node( - package='capabilities2_events', - executable='capabilities2_events_node', - name='listener', - output='screen', - arguments=['--ros-args', '--log-level', 'info'] - ) - - # return - return LaunchDescription([ - capabilities2 - ]) diff --git a/capabilities2_events/package.xml b/capabilities2_events/package.xml deleted file mode 100644 index 9674c1a..0000000 --- a/capabilities2_events/package.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - capabilities2_events - 0.0.0 - TODO: Package description - kalana - TODO: License declaration - - ament_cmake - - ament_lint_auto - ament_lint_common - - rclcpp - capabilities2_msgs - rclcpp_components - - - ament_cmake - - diff --git a/capabilities2_events/src/event_listener_node.cpp b/capabilities2_events/src/event_listener_node.cpp deleted file mode 100644 index 3eea375..0000000 --- a/capabilities2_events/src/event_listener_node.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include - -int main(int argc, char* argv[]) -{ - // Initialize the ROS 2 C++ client library - rclcpp::init(argc, argv); - - // Create a shared pointer to the CapabilitiesFabricClient - auto listener_node = std::make_shared(); - - // Spin the node to process callbacks - rclcpp::spin(listener_node); - - rclcpp::shutdown(); - - return 0; -} diff --git a/capabilities2_launch_proxy/capabilities2_launch_proxy/capabilities_launch_proxy.py b/capabilities2_launch_proxy/capabilities2_launch_proxy/capabilities_launch_proxy.py index 644bf8c..b1773c0 100755 --- a/capabilities2_launch_proxy/capabilities2_launch_proxy/capabilities_launch_proxy.py +++ b/capabilities2_launch_proxy/capabilities2_launch_proxy/capabilities_launch_proxy.py @@ -32,7 +32,6 @@ from launch.launch_description_sources import AnyLaunchDescriptionSource # from launch.some_entities_type import SomeEntitiesType from capabilities2_msgs.action import Launch -from capabilities2_msgs.msg import CapabilityEvent class CancelLaunchGoalEvent(Event): @@ -110,13 +109,6 @@ def __init__(self, node_name='capabilities_launch_proxy'): cancel_callback=self.cancel_cb ) - # cap event pub - self.event_pub = self.create_publisher( - CapabilityEvent, - '~/events', - 10 - ) - # create launch service self.launch_service = LaunchService() diff --git a/capabilities2_msgs/CMakeLists.txt b/capabilities2_msgs/CMakeLists.txt index 0fbf54e..529c0ce 100644 --- a/capabilities2_msgs/CMakeLists.txt +++ b/capabilities2_msgs/CMakeLists.txt @@ -17,7 +17,6 @@ find_package(std_msgs REQUIRED) set(msg_files "msg/Capability.msg" - "msg/CapabilityEvent.msg" "msg/CapabilitySpec.msg" "msg/Remapping.msg" "msg/RunningCapability.msg" diff --git a/capabilities2_msgs/action/Launch.action b/capabilities2_msgs/action/Launch.action index d4c26d4..c6e8c95 100644 --- a/capabilities2_msgs/action/Launch.action +++ b/capabilities2_msgs/action/Launch.action @@ -8,4 +8,3 @@ std_msgs/Header header --- # feedback std_msgs/Header header -capabilities2_msgs/CapabilityEvent event diff --git a/capabilities2_msgs/msg/CapabilityEvent.msg b/capabilities2_msgs/msg/CapabilityEvent.msg deleted file mode 100644 index cd7d38b..0000000 --- a/capabilities2_msgs/msg/CapabilityEvent.msg +++ /dev/null @@ -1,39 +0,0 @@ -std_msgs/Header header - -# Node name which published this event -string origin_node - -# Capability which this event pertains to -Capability source - -# Capability which this event targets at -Capability target - -# Thread id of the capability which this event pertains to -int8 thread_id - -# Events available -uint8 IDLE=0 -uint8 STARTED=1 -uint8 STOPPED=2 -uint8 FAILED=3 -uint8 SUCCEEDED=4 -uint8 UNDEFINED=5 - -# Related event -uint8 event - -# Event types available -uint8 INFO=0 -uint8 DEBUG=1 -uint8 ERROR=2 -uint8 ERROR_ELEMENT=3 - -# Related event type -uint8 type - -# status message -string content - -# PID of the related process -int32 pid diff --git a/capabilities2_msgs/package.xml b/capabilities2_msgs/package.xml index 3ac0ada..9130417 100644 --- a/capabilities2_msgs/package.xml +++ b/capabilities2_msgs/package.xml @@ -8,6 +8,7 @@ Michael Pritchard mik-p + Kalana Ratnayake Michael Pritchard diff --git a/capabilities2_runner/CMakeLists.txt b/capabilities2_runner/CMakeLists.txt index d866eee..74610f5 100644 --- a/capabilities2_runner/CMakeLists.txt +++ b/capabilities2_runner/CMakeLists.txt @@ -15,7 +15,8 @@ find_package(rclcpp REQUIRED) find_package(rclcpp_action REQUIRED) find_package(pluginlib REQUIRED) find_package(capabilities2_msgs REQUIRED) -find_package(capabilities2_events REQUIRED) +find_package(event_logger REQUIRED) +find_package(event_logger_msgs REQUIRED) find_package(tinyxml2_vendor REQUIRED) find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor @@ -32,7 +33,8 @@ ament_target_dependencies(${PROJECT_NAME} rclcpp_action pluginlib capabilities2_msgs - capabilities2_events + event_logger + event_logger_msgs TinyXML2 ) diff --git a/capabilities2_runner/include/capabilities2_runner/action_runner.hpp b/capabilities2_runner/include/capabilities2_runner/action_runner.hpp index 2674f15..f4c88c8 100644 --- a/capabilities2_runner/include/capabilities2_runner/action_runner.hpp +++ b/capabilities2_runner/include/capabilities2_runner/action_runner.hpp @@ -93,8 +93,8 @@ class ActionRunner : public RunnerBase // Trigger on_stopped event if defined if (events[execute_id].on_stopped.interface != "") { - info_("on_stopped", -1, EventType::STOPPED, events[execute_id].on_stopped.interface, - events[execute_id].on_stopped.provider); + event_(EventType::STOPPED, -1, events[execute_id].on_stopped.interface, + events[execute_id].on_stopped.provider); triggerFunction_(events[execute_id].on_stopped.interface, update_on_stopped(events[execute_id].on_stopped.parameters)); } @@ -153,8 +153,8 @@ class ActionRunner : public RunnerBase // trigger the events related to on_started state if (events[execute_id].on_started.interface != "") { - info_("on_started", id, EventType::STARTED, events[execute_id].on_started.interface, - events[execute_id].on_started.provider); + event_(EventType::STARTED, id, events[execute_id].on_started.interface, + events[execute_id].on_started.provider); triggerFunction_(events[execute_id].on_started.interface, update_on_started(events[execute_id].on_started.parameters)); } @@ -189,7 +189,7 @@ class ActionRunner : public RunnerBase // trigger the events related to on_success state if (events[execute_id].on_success.interface != "") { - info_("on_success", id, EventType::SUCCEEDED, events[execute_id].on_success.interface, + event_(EventType::SUCCEEDED, id, events[execute_id].on_success.interface, events[execute_id].on_success.provider); triggerFunction_(events[execute_id].on_success.interface, update_on_success(events[execute_id].on_success.parameters)); @@ -202,7 +202,7 @@ class ActionRunner : public RunnerBase // trigger the events related to on_failure state if (events[execute_id].on_failure.interface != "") { - info_("on_failure", id, EventType::FAILED, events[execute_id].on_failure.interface, + event_(EventType::FAILED, id, events[execute_id].on_failure.interface, events[execute_id].on_failure.provider); triggerFunction_(events[execute_id].on_failure.interface, update_on_failure(events[execute_id].on_failure.parameters)); diff --git a/capabilities2_runner/include/capabilities2_runner/runner_base.hpp b/capabilities2_runner/include/capabilities2_runner/runner_base.hpp index f9e702f..963d88a 100644 --- a/capabilities2_runner/include/capabilities2_runner/runner_base.hpp +++ b/capabilities2_runner/include/capabilities2_runner/runner_base.hpp @@ -7,9 +7,10 @@ #include #include #include -#include -#include -#include +#include +#include +#include +#include namespace capabilities2_runner { @@ -65,8 +66,8 @@ struct runner_opts class RunnerBase { public: - using Event = capabilities2_msgs::msg::CapabilityEvent; - using EventType = capabilities2::event_t; + using Event = event_logger_msgs::msg::Event; + using EventType = event_logger::event_t; RunnerBase() : run_config_() { @@ -131,7 +132,7 @@ class RunnerBase execute_id = -1; thread_id = 0; - event_ = std::make_shared(node_, "runner", "/events"); + event_client_ = std::make_shared(node_, "runner", "/events"); } /** @@ -141,7 +142,7 @@ class RunnerBase * * @return number of attached events */ - int attach_events(capabilities2::event_opts& event_option, + int attach_events(event_logger::event_opts& event_option, std::function triggerFunction) { info_("accepted event options with ID : " + std::to_string(insert_id)); @@ -447,8 +448,7 @@ class RunnerBase } protected: - void info_(const std::string text, int thread_id = -1, EventType event = EventType::IDLE, - const std::string& target_capability = "", const std::string& target_provider = "") + void info_(const std::string text, int thread_id = -1) { auto message = Event(); @@ -456,36 +456,15 @@ class RunnerBase message.origin_node = "runners"; message.source.capability = run_config_.interface; message.source.provider = run_config_.provider; - message.target.capability = target_capability; - message.target.provider = target_provider; + message.target.capability = ""; + message.target.provider = ""; message.thread_id = thread_id; message.type = Event::INFO; message.content = text; message.pid = -1; + message.event = Event::UNDEFINED; - switch (event) - { - case EventType::IDLE: - message.event = Event::IDLE; - break; - case EventType::STARTED: - message.event = Event::STARTED; - break; - case EventType::STOPPED: - message.event = Event::STOPPED; - break; - case EventType::FAILED: - message.event = Event::FAILED; - break; - case EventType::SUCCEEDED: - message.event = Event::SUCCEEDED; - break; - default: - message.event = Event::UNDEFINED; - break; - } - - event_->info(message); + event_client_->publish(message); } void error_(const std::string text, int thread_id = -1) @@ -504,7 +483,7 @@ class RunnerBase message.pid = -1; message.event = Event::UNDEFINED; - event_->error(message); + event_client_->publish(message); } void output_(const std::string text, const std::string element, int thread_id = -1) @@ -518,12 +497,52 @@ class RunnerBase message.target.capability = ""; message.target.provider = ""; message.thread_id = thread_id; - message.type = Event::ERROR_ELEMENT; + message.type = Event::INFO; message.content = text + " : " + element; message.pid = -1; message.event = Event::UNDEFINED; - event_->error_element(message); + event_client_->publish(message); + } + + void event_(EventType event = EventType::IDLE, int thread_id = -1, const std::string& target_capability = "", + const std::string& target_provider = "") + { + auto message = Event(); + + message.header.stamp = node_->now(); + message.origin_node = "runners"; + message.source.capability = run_config_.interface; + message.source.provider = run_config_.provider; + message.target.capability = target_capability; + message.target.provider = target_provider; + message.thread_id = thread_id; + message.type = Event::RUNNER_EVENT; + message.pid = -1; + + switch (event) + { + case EventType::IDLE: + message.event = Event::IDLE; + break; + case EventType::STARTED: + message.event = Event::STARTED; + break; + case EventType::STOPPED: + message.event = Event::STOPPED; + break; + case EventType::FAILED: + message.event = Event::FAILED; + break; + case EventType::SUCCEEDED: + message.event = Event::SUCCEEDED; + break; + default: + message.event = Event::UNDEFINED; + break; + } + + event_client_->publish(message); } /** @@ -539,7 +558,7 @@ class RunnerBase /** * @brief dictionary of events */ - std::map events; + std::map events; /** * @brief Last event tracker id to be inserted @@ -599,7 +618,7 @@ class RunnerBase /** * @brief client for publishing events */ - std::shared_ptr event_; + std::shared_ptr event_client_; }; } // namespace capabilities2_runner diff --git a/capabilities2_runner/include/capabilities2_runner/service_runner.hpp b/capabilities2_runner/include/capabilities2_runner/service_runner.hpp index 732255c..d0017ef 100644 --- a/capabilities2_runner/include/capabilities2_runner/service_runner.hpp +++ b/capabilities2_runner/include/capabilities2_runner/service_runner.hpp @@ -84,8 +84,8 @@ class ServiceRunner : public RunnerBase // trigger the events related to on_failure state if (events[execute_id].on_failure.interface != "") { - info_("on_failure", id, EventType::FAILED, events[execute_id].on_failure.interface, - events[execute_id].on_failure.provider); + event_(EventType::FAILED, id, events[execute_id].on_failure.interface, + events[execute_id].on_failure.provider); triggerFunction_(events[execute_id].on_failure.interface, update_on_failure(events[execute_id].on_failure.parameters)); } @@ -100,8 +100,8 @@ class ServiceRunner : public RunnerBase // trigger the events related to on_success state if (events[execute_id].on_success.interface != "") { - info_("on_success", id, EventType::SUCCEEDED, events[execute_id].on_success.interface, - events[execute_id].on_success.provider); + event_(EventType::SUCCEEDED, id, events[execute_id].on_success.interface, + events[execute_id].on_success.provider); triggerFunction_(events[execute_id].on_success.interface, update_on_success(events[execute_id].on_success.parameters)); } @@ -114,8 +114,7 @@ class ServiceRunner : public RunnerBase // trigger the events related to on_started state if (events[execute_id].on_started.interface != "") { - info_("on_started", id, EventType::STARTED, events[execute_id].on_started.interface, - events[execute_id].on_started.provider); + event_(EventType::STARTED, id, events[execute_id].on_started.interface, events[execute_id].on_started.provider); triggerFunction_(events[execute_id].on_started.interface, update_on_started(events[execute_id].on_started.parameters)); } @@ -146,8 +145,7 @@ class ServiceRunner : public RunnerBase // Trigger on_stopped event if defined if (events[execute_id].on_stopped.interface != "") { - info_("on_stopped", -1, EventType::STOPPED, events[execute_id].on_stopped.interface, - events[execute_id].on_stopped.provider); + event_(EventType::STOPPED, -1, events[execute_id].on_stopped.interface, events[execute_id].on_stopped.provider); triggerFunction_(events[execute_id].on_stopped.interface, update_on_stopped(events[execute_id].on_stopped.parameters)); } diff --git a/capabilities2_runner/include/capabilities2_runner/topic_runner.hpp b/capabilities2_runner/include/capabilities2_runner/topic_runner.hpp index 06b3875..f2a6893 100644 --- a/capabilities2_runner/include/capabilities2_runner/topic_runner.hpp +++ b/capabilities2_runner/include/capabilities2_runner/topic_runner.hpp @@ -60,8 +60,7 @@ class TopicRunner : public RunnerBase // trigger the events related to on_started state if (events[execute_id].on_started.interface != "") { - info_("on_started", id, EventType::STARTED, events[execute_id].on_started.interface, - events[execute_id].on_started.provider); + event_(EventType::STARTED, id, events[execute_id].on_started.interface, events[execute_id].on_started.provider); triggerFunction_(events[execute_id].on_started.interface, update_on_started(events[execute_id].on_started.parameters)); } @@ -80,8 +79,8 @@ class TopicRunner : public RunnerBase // trigger the events related to on_success state if (events[execute_id].on_success.interface != "") { - info_("on_success", id, EventType::SUCCEEDED, events[execute_id].on_success.interface, - events[execute_id].on_success.provider); + event_(EventType::SUCCEEDED, id, events[execute_id].on_success.interface, + events[execute_id].on_success.provider); triggerFunction_(events[execute_id].on_success.interface, update_on_success(events[execute_id].on_success.parameters)); } @@ -93,8 +92,7 @@ class TopicRunner : public RunnerBase // trigger the events related to on_failure state if (events[execute_id].on_failure.interface != "") { - info_("on_failure", id, EventType::FAILED, events[execute_id].on_failure.interface, - events[execute_id].on_failure.provider); + event_(EventType::FAILED, id, events[execute_id].on_failure.interface, events[execute_id].on_failure.provider); triggerFunction_(events[execute_id].on_failure.interface, update_on_failure(events[execute_id].on_failure.parameters)); } @@ -124,8 +122,7 @@ class TopicRunner : public RunnerBase // Trigger on_stopped event if defined if (events[execute_id].on_stopped.interface != "") { - info_("on_stopped", -1, EventType::STOPPED, events[execute_id].on_stopped.interface, - events[execute_id].on_stopped.provider); + event_(EventType::STOPPED, -1, events[execute_id].on_stopped.interface, events[execute_id].on_stopped.provider); triggerFunction_(events[execute_id].on_stopped.interface, update_on_stopped(events[execute_id].on_stopped.parameters)); } diff --git a/capabilities2_runner/package.xml b/capabilities2_runner/package.xml index 69f7e1c..248120c 100644 --- a/capabilities2_runner/package.xml +++ b/capabilities2_runner/package.xml @@ -8,6 +8,7 @@ Michael Pritchard mik-p + Kalana Ratnayake Michael Pritchard @@ -20,7 +21,8 @@ pluginlib std_msgs capabilities2_msgs - capabilities2_events + event_logger + event_logger_msgs tinyxml2_vendor diff --git a/capabilities2_runner_audio/CMakeLists.txt b/capabilities2_runner_audio/CMakeLists.txt index 7f28773..14c53d0 100644 --- a/capabilities2_runner_audio/CMakeLists.txt +++ b/capabilities2_runner_audio/CMakeLists.txt @@ -18,7 +18,8 @@ find_package(pluginlib REQUIRED) find_package(hri_audio_msgs REQUIRED) find_package(capabilities2_msgs REQUIRED) find_package(capabilities2_runner REQUIRED) -find_package(capabilities2_events REQUIRED) +find_package(event_logger REQUIRED) +find_package(event_logger_msgs REQUIRED) find_package(tinyxml2_vendor REQUIRED) find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor @@ -37,7 +38,8 @@ ament_target_dependencies(${PROJECT_NAME} hri_audio_msgs capabilities2_msgs capabilities2_runner - capabilities2_events + event_logger + event_logger_msgs TinyXML2 ) diff --git a/capabilities2_runner_audio/package.xml b/capabilities2_runner_audio/package.xml index 128348b..787289b 100644 --- a/capabilities2_runner_audio/package.xml +++ b/capabilities2_runner_audio/package.xml @@ -4,7 +4,11 @@ capabilities2_runner_audio 0.0.0 TODO: Package description - kalana + + Kalana Ratnayake + Kalana Ratnayake + + Kalana Ratnayake MIT @@ -17,7 +21,8 @@ hri_audio_msgs capabilities2_msgs capabilities2_runner - capabilities2_events + event_logger + event_logger_msgs tinyxml2_vendor diff --git a/capabilities2_runner_bt/CMakeLists.txt b/capabilities2_runner_bt/CMakeLists.txt index 81c5fcc..1052e22 100644 --- a/capabilities2_runner_bt/CMakeLists.txt +++ b/capabilities2_runner_bt/CMakeLists.txt @@ -16,7 +16,8 @@ find_package(rclcpp_action REQUIRED) find_package(pluginlib REQUIRED) find_package(capabilities2_msgs REQUIRED) find_package(capabilities2_runner REQUIRED) -find_package(capabilities2_events REQUIRED) +find_package(event_logger REQUIRED) +find_package(event_logger_msgs REQUIRED) find_package(behaviortree_cpp REQUIRED) find_package(tinyxml2_vendor REQUIRED) find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor @@ -35,7 +36,8 @@ ament_target_dependencies(${PROJECT_NAME} pluginlib capabilities2_msgs capabilities2_runner - capabilities2_events + event_logger + event_logger_msgs behaviortree_cpp TinyXML2 ) diff --git a/capabilities2_runner_bt/package.xml b/capabilities2_runner_bt/package.xml index 3dded60..d41e1c7 100644 --- a/capabilities2_runner_bt/package.xml +++ b/capabilities2_runner_bt/package.xml @@ -21,7 +21,8 @@ std_msgs capabilities2_msgs capabilities2_runner - capabilities2_events + event_logger + event_logger_msgs tinyxml2_vendor behaviortree_cpp diff --git a/capabilities2_runner_capabilities/CMakeLists.txt b/capabilities2_runner_capabilities/CMakeLists.txt index c90344e..57153c2 100644 --- a/capabilities2_runner_capabilities/CMakeLists.txt +++ b/capabilities2_runner_capabilities/CMakeLists.txt @@ -16,7 +16,8 @@ find_package(rclcpp_action REQUIRED) find_package(pluginlib REQUIRED) find_package(capabilities2_msgs REQUIRED) find_package(capabilities2_runner REQUIRED) -find_package(capabilities2_events REQUIRED) +find_package(event_logger REQUIRED) +find_package(event_logger_msgs REQUIRED) find_package(tinyxml2_vendor REQUIRED) find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor @@ -34,7 +35,8 @@ ament_target_dependencies(${PROJECT_NAME} pluginlib capabilities2_msgs capabilities2_runner - capabilities2_events + event_logger + event_logger_msgs TinyXML2 ) diff --git a/capabilities2_runner_capabilities/package.xml b/capabilities2_runner_capabilities/package.xml index c383eda..c97cfee 100644 --- a/capabilities2_runner_capabilities/package.xml +++ b/capabilities2_runner_capabilities/package.xml @@ -4,7 +4,13 @@ capabilities2_runner_capabilities 0.0.0 TODO: Package description - kalana + + + Kalana Ratnayake + Kalana Ratnayake + + Kalana Ratnayake + TODO: License declaration ament_cmake @@ -18,7 +24,8 @@ std_msgs capabilities2_msgs capabilities2_runner - capabilities2_events + event_logger + event_logger_msgs tinyxml2_vendor diff --git a/capabilities2_runner_fabric/CMakeLists.txt b/capabilities2_runner_fabric/CMakeLists.txt index f8caf64..15dc76e 100644 --- a/capabilities2_runner_fabric/CMakeLists.txt +++ b/capabilities2_runner_fabric/CMakeLists.txt @@ -17,7 +17,8 @@ find_package(pluginlib REQUIRED) find_package(fabric_msgs REQUIRED) find_package(capabilities2_msgs REQUIRED) find_package(capabilities2_runner REQUIRED) -find_package(capabilities2_events REQUIRED) +find_package(event_logger REQUIRED) +find_package(event_logger_msgs REQUIRED) find_package(tinyxml2_vendor REQUIRED) find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor @@ -36,7 +37,8 @@ ament_target_dependencies(${PROJECT_NAME} fabric_msgs capabilities2_msgs capabilities2_runner - capabilities2_events + event_logger + event_logger_msgs TinyXML2 ) diff --git a/capabilities2_runner_fabric/package.xml b/capabilities2_runner_fabric/package.xml index 3be6c38..d2b1197 100644 --- a/capabilities2_runner_fabric/package.xml +++ b/capabilities2_runner_fabric/package.xml @@ -4,7 +4,13 @@ capabilities2_runner_fabric 0.0.0 TODO: Package description - kalana + + + Kalana Ratnayake + Kalana Ratnayake + + Kalana Ratnayake + TODO: License declaration ament_cmake @@ -18,7 +24,8 @@ std_msgs fabric_msgs capabilities2_runner - capabilities2_events + event_logger + event_logger_msgs tinyxml2_vendor diff --git a/capabilities2_runner_nav2/CMakeLists.txt b/capabilities2_runner_nav2/CMakeLists.txt index 29e59b1..61d91a3 100644 --- a/capabilities2_runner_nav2/CMakeLists.txt +++ b/capabilities2_runner_nav2/CMakeLists.txt @@ -20,7 +20,8 @@ find_package(tf2_ros REQUIRED) find_package(geometry_msgs REQUIRED) find_package(capabilities2_msgs REQUIRED) find_package(capabilities2_runner REQUIRED) -find_package(capabilities2_events REQUIRED) +find_package(event_logger REQUIRED) +find_package(event_logger_msgs REQUIRED) find_package(tinyxml2_vendor REQUIRED) find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor @@ -42,7 +43,8 @@ ament_target_dependencies(${PROJECT_NAME} geometry_msgs capabilities2_msgs capabilities2_runner - capabilities2_events + event_logger + event_logger_msgs TinyXML2 ) diff --git a/capabilities2_runner_nav2/include/capabilities2_runner_nav2/occupancygrid_runner.hpp b/capabilities2_runner_nav2/include/capabilities2_runner_nav2/occupancygrid_runner.hpp index 7856b7d..f979f28 100644 --- a/capabilities2_runner_nav2/include/capabilities2_runner_nav2/occupancygrid_runner.hpp +++ b/capabilities2_runner_nav2/include/capabilities2_runner_nav2/occupancygrid_runner.hpp @@ -124,7 +124,7 @@ class OccupancyGridRunner : public TopicRunner // Return the updated parameters element with OccupancyGrid added std::string result = convert_to_string(element); - output_("on_success trigger parameter", result); + // output_("on_success trigger parameter", result); return result; }; diff --git a/capabilities2_runner_nav2/include/capabilities2_runner_nav2/robotpose_runner.hpp b/capabilities2_runner_nav2/include/capabilities2_runner_nav2/robotpose_runner.hpp index f42efb5..5ce0429 100644 --- a/capabilities2_runner_nav2/include/capabilities2_runner_nav2/robotpose_runner.hpp +++ b/capabilities2_runner_nav2/include/capabilities2_runner_nav2/robotpose_runner.hpp @@ -64,8 +64,7 @@ class RobotPoseRunner : public RunnerBase // trigger the events related to on_started state if (events[execute_id].on_started.interface != "") { - info_("on_started", id, EventType::STARTED, events[execute_id].on_started.interface, - events[execute_id].on_started.provider); + event_(EventType::STARTED, id, events[execute_id].on_started.interface, events[execute_id].on_started.provider); triggerFunction_(events[execute_id].on_started.interface, update_on_started(events[execute_id].on_started.parameters)); } @@ -90,8 +89,8 @@ class RobotPoseRunner : public RunnerBase // trigger the events related to on_success state if (events[execute_id].on_success.interface != "") { - info_("on_success", id, EventType::SUCCEEDED, events[execute_id].on_success.interface, - events[execute_id].on_success.provider); + event_(EventType::SUCCEEDED, id, events[execute_id].on_success.interface, + events[execute_id].on_success.provider); triggerFunction_(events[execute_id].on_success.interface, update_on_success(events[execute_id].on_success.parameters)); } @@ -112,8 +111,8 @@ class RobotPoseRunner : public RunnerBase // trigger the events related to on_success state if (events[execute_id].on_success.interface != "") { - info_("on_success", id, EventType::SUCCEEDED, events[execute_id].on_success.interface, - events[execute_id].on_success.provider); + event_(EventType::SUCCEEDED, id, events[execute_id].on_success.interface, + events[execute_id].on_success.provider); triggerFunction_(events[execute_id].on_success.interface, update_on_success(events[execute_id].on_success.parameters)); } @@ -127,8 +126,7 @@ class RobotPoseRunner : public RunnerBase // trigger the events related to on_failure state if (events[execute_id].on_failure.interface != "") { - info_("on_failure", id, EventType::FAILED, events[execute_id].on_failure.interface, - events[execute_id].on_failure.provider); + event_(EventType::FAILED, id, events[execute_id].on_failure.interface, events[execute_id].on_failure.provider); triggerFunction_(events[execute_id].on_failure.interface, update_on_failure(events[execute_id].on_failure.parameters)); } @@ -158,7 +156,7 @@ class RobotPoseRunner : public RunnerBase // Trigger on_stopped event if defined if (events[execute_id].on_stopped.interface != "") { - info_("on_stopped", -1, EventType::STOPPED, events[execute_id].on_stopped.interface, + event_(EventType::STOPPED, -1, events[execute_id].on_stopped.interface, events[execute_id].on_stopped.provider); triggerFunction_(events[execute_id].on_stopped.interface, update_on_stopped(events[execute_id].on_stopped.parameters)); @@ -206,7 +204,7 @@ class RobotPoseRunner : public RunnerBase // Return the updated parameters element with Pose added as string std::string result = convert_to_string(element); - output_("on_success trigger parameter", result); + // output_("on_success trigger parameter", result); return result; }; diff --git a/capabilities2_runner_nav2/package.xml b/capabilities2_runner_nav2/package.xml index cb8ff67..7222b62 100644 --- a/capabilities2_runner_nav2/package.xml +++ b/capabilities2_runner_nav2/package.xml @@ -3,7 +3,12 @@ capabilities2_runner_nav2 0.0.0 TODO: Package description - kalana + + Kalana Ratnayake + Kalana Ratnayake + + Kalana Ratnayake + MIT ament_cmake @@ -16,7 +21,8 @@ geometry_msgs capabilities2_msgs capabilities2_runner - capabilities2_events + event_logger + event_logger_msgs tinyxml2_vendor ament_lint_auto diff --git a/capabilities2_runner_prompt/CMakeLists.txt b/capabilities2_runner_prompt/CMakeLists.txt index 6fb5ef2..b0a509c 100644 --- a/capabilities2_runner_prompt/CMakeLists.txt +++ b/capabilities2_runner_prompt/CMakeLists.txt @@ -17,7 +17,8 @@ find_package(pluginlib REQUIRED) find_package(prompt_msgs REQUIRED) find_package(capabilities2_msgs REQUIRED) find_package(capabilities2_runner REQUIRED) -find_package(capabilities2_events REQUIRED) +find_package(event_logger REQUIRED) +find_package(event_logger_msgs REQUIRED) find_package(tinyxml2_vendor REQUIRED) find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor @@ -36,7 +37,8 @@ ament_target_dependencies(${PROJECT_NAME} prompt_msgs capabilities2_msgs capabilities2_runner - capabilities2_events + event_logger + event_logger_msgs TinyXML2 ) diff --git a/capabilities2_runner_prompt/package.xml b/capabilities2_runner_prompt/package.xml index f1d245b..54160c3 100644 --- a/capabilities2_runner_prompt/package.xml +++ b/capabilities2_runner_prompt/package.xml @@ -4,7 +4,12 @@ capabilities2_runner_prompt 0.0.0 TODO: Package description - kalana + + Kalana Ratnayake + Kalana Ratnayake + + Kalana Ratnayake + TODO: License declaration ament_cmake @@ -15,7 +20,8 @@ prompt_msgs capabilities2_msgs capabilities2_runner - capabilities2_events + event_logger + event_logger_msgs tinyxml2_vendor ament_lint_auto diff --git a/capabilities2_server/CMakeLists.txt b/capabilities2_server/CMakeLists.txt index 384014b..0088818 100644 --- a/capabilities2_server/CMakeLists.txt +++ b/capabilities2_server/CMakeLists.txt @@ -19,7 +19,8 @@ find_package(bondcpp REQUIRED) find_package(pluginlib REQUIRED) find_package(capabilities2_msgs REQUIRED) find_package(capabilities2_runner REQUIRED) -find_package(capabilities2_events REQUIRED) +find_package(event_logger REQUIRED) +find_package(event_logger_msgs REQUIRED) find_package(tinyxml2_vendor REQUIRED) find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor find_package(backward_ros REQUIRED) @@ -61,7 +62,8 @@ ament_target_dependencies(${PROJECT_NAME}_comp rclcpp_components capabilities2_msgs capabilities2_runner - capabilities2_events + event_logger + event_logger_msgs TinyXML2 SQLite3 yaml-cpp @@ -103,7 +105,8 @@ ament_target_dependencies(${PROJECT_NAME}_node pluginlib capabilities2_msgs capabilities2_runner - capabilities2_events + event_logger + event_logger_msgs TinyXML2 SQLite3 yaml-cpp diff --git a/capabilities2_server/include/capabilities2_server/capabilities_api.hpp b/capabilities2_server/include/capabilities2_server/capabilities_api.hpp index 7bab86a..6e9bf96 100644 --- a/capabilities2_server/include/capabilities2_server/capabilities_api.hpp +++ b/capabilities2_server/include/capabilities2_server/capabilities_api.hpp @@ -16,13 +16,14 @@ #include #include #include -#include -#include + +#include +#include +#include #include #include #include -#include #include #include @@ -239,7 +240,7 @@ class CapabilitiesAPI * @param capability capability from where the events originate * @param event_options event options for the capability */ - void set_triggers(const std::string& capability, capabilities2::event_opts& event_options) + void set_triggers(const std::string& capability, event_logger::event_opts& event_options) { try { diff --git a/capabilities2_server/include/capabilities2_server/capabilities_server.hpp b/capabilities2_server/include/capabilities2_server/capabilities_server.hpp index f177673..70f4a98 100644 --- a/capabilities2_server/include/capabilities2_server/capabilities_server.hpp +++ b/capabilities2_server/include/capabilities2_server/capabilities_server.hpp @@ -15,7 +15,6 @@ #include -#include #include #include @@ -34,8 +33,9 @@ #include #include -#include -#include +#include +#include +#include namespace capabilities2_server { @@ -318,24 +318,36 @@ class CapabilitiesServer : public rclcpp::Node, public CapabilitiesAPI void configure_capability_cb(const std::shared_ptr req, std::shared_ptr res) { - capabilities2::event_opts event_options; + event_logger::event_opts event_options; event_options.on_started.interface = req->target_on_start.capability; event_options.on_started.provider = req->target_on_start.provider; event_options.on_started.parameters = req->target_on_start.parameters; + event_->runner_define(req->source.capability, req->source.provider, req->target_on_start.capability, + req->target_on_start.provider, event_logger_msgs::msg::Event::STARTED); + event_options.on_failure.interface = req->target_on_failure.capability; event_options.on_failure.provider = req->target_on_failure.provider; event_options.on_failure.parameters = req->target_on_failure.parameters; + event_->runner_define(req->source.capability, req->source.provider, req->target_on_failure.capability, + req->target_on_failure.provider, event_logger_msgs::msg::Event::FAILED); + event_options.on_success.interface = req->target_on_success.capability; event_options.on_success.provider = req->target_on_success.provider; event_options.on_success.parameters = req->target_on_success.parameters; + event_->runner_define(req->source.capability, req->source.provider, req->target_on_success.capability, + req->target_on_success.provider, event_logger_msgs::msg::Event::SUCCEEDED); + event_options.on_stopped.interface = req->target_on_stop.capability; event_options.on_stopped.provider = req->target_on_stop.provider; event_options.on_stopped.parameters = req->target_on_stop.parameters; + event_->runner_define(req->source.capability, req->source.provider, req->target_on_stop.capability, + req->target_on_stop.provider, event_logger_msgs::msg::Event::STOPPED); + // setup triggers between parameters set_triggers(req->source.capability, event_options); diff --git a/capabilities2_server/include/capabilities2_server/runner_cache.hpp b/capabilities2_server/include/capabilities2_server/runner_cache.hpp index 1d48bf7..1b20f79 100644 --- a/capabilities2_server/include/capabilities2_server/runner_cache.hpp +++ b/capabilities2_server/include/capabilities2_server/runner_cache.hpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include namespace capabilities2_server { @@ -116,16 +116,11 @@ class RunnerCache * @param on_success on_success event with capability and parameters * @param on_stopped on_stop event with capability and parameters */ - void set_runner_triggers(const std::string& capability, capabilities2::event_opts& event_options) + void set_runner_triggers(const std::string& capability, event_logger::event_opts& event_options) { int event_count = runner_cache_[capability]->attach_events( event_options, std::bind(&capabilities2_server::RunnerCache::trigger_runner, this, std::placeholders::_1, std::placeholders::_2)); - - event_->info( - "Configured triggers for capability " + capability + ": \n\tStarted: " + event_options.on_started.interface + - " \n\tFailure: " + event_options.on_failure.interface + " \n\tSuccess: " + event_options.on_success.interface + - "\n\tStopped: " + event_options.on_stopped.interface); } /** diff --git a/capabilities2_server/launch/server.launch.py b/capabilities2_server/launch/server.launch.py index 6879e11..0ef7310 100644 --- a/capabilities2_server/launch/server.launch.py +++ b/capabilities2_server/launch/server.launch.py @@ -5,6 +5,8 @@ import os from launch import LaunchDescription from launch_ros.actions import Node +from launch.actions import IncludeLaunchDescription +from launch.launch_description_sources import PythonLaunchDescriptionSource from ament_index_python.packages import get_package_share_directory @@ -31,3 +33,5 @@ def generate_launch_description(): return LaunchDescription([ capabilities2 ]) + + diff --git a/capabilities2_server/package.xml b/capabilities2_server/package.xml index bbe4230..0a8ab8a 100644 --- a/capabilities2_server/package.xml +++ b/capabilities2_server/package.xml @@ -8,6 +8,7 @@ Michael Pritchard mik-p + Kalana Ratnayake Michael Pritchard @@ -22,7 +23,8 @@ rclcpp_components capabilities2_msgs capabilities2_runner - capabilities2_events + event_logger + event_logger_msgs tinyxml2_vendor diff --git a/capabilities2_utils/include/capabilities2_utils/bond_client.hpp b/capabilities2_utils/include/capabilities2_utils/bond_client.hpp index ef7d675..3db48fd 100644 --- a/capabilities2_utils/include/capabilities2_utils/bond_client.hpp +++ b/capabilities2_utils/include/capabilities2_utils/bond_client.hpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include class BondClient { diff --git a/capabilities2_utils/package.xml b/capabilities2_utils/package.xml index de33cec..f6296bd 100644 --- a/capabilities2_utils/package.xml +++ b/capabilities2_utils/package.xml @@ -4,7 +4,12 @@ capabilities2_utils 0.0.0 TODO: Package description - kalana + + Kalana Ratnayake + Kalana Ratnayake + + Kalana Ratnayake + TODO: License declaration ament_cmake diff --git a/docs/foxglove_studio.md b/docs/foxglove_studio.md new file mode 100644 index 0000000..341ea13 --- /dev/null +++ b/docs/foxglove_studio.md @@ -0,0 +1,7 @@ +# Dependency Installation with Foxglove Studio + +We utilize foxglove studio to visalize information about the Capabilities2 system. + +Event system has been defined in capabilities2_events package and foxglove-bridge has been set as a dependency of capabilities2_events for ease of installation. We have selected foxglove-bridge over rosbridge due to performance improvements foxglove-bridge has over rosbridge due to former being written in C++ and latter being in Python. + +To visualize data, download foxglove-studio from [website](https://foxglove.dev/download) and create a free account when signing in. \ No newline at end of file diff --git a/readme.md b/readme.md index 7da78ab..99ac6dc 100644 --- a/readme.md +++ b/readme.md @@ -37,6 +37,7 @@ Runners can be created using the runner API parent classes [here](./capabilities - [Setup Instructions without devcontainer](./docs/setup.md) - [Dependency installation for Nav2 Runners](./docs/nav2_setup.md) - [Dependency installation for Prompt Runners](./docs/prompt_tools_setup.md) +- [Dependency installation for Foxglove-studio](./docs/foxglove_studio.md) ## Quick Startup information