diff --git a/cx_bringup/params/clips_features_manager.yaml b/cx_bringup/params/clips_features_manager.yaml
index 674015d..dd58648 100644
--- a/cx_bringup/params/clips_features_manager.yaml
+++ b/cx_bringup/params/clips_features_manager.yaml
@@ -1,6 +1,6 @@
clips_features_manager:
ros__parameters:
- clips_features_list: ["clips_pddl_parser", "skill_execution", "clips_protobuf", "ros_topic_publisher", "ros_topic_subscriber", "ros_service_requester"]
+ clips_features_list: ["clips_pddl_parser", "skill_execution", "clips_protobuf", "ros_topic_publisher", "ros_topic_subscriber", "ros_service_requester", "navgraph_compute", "navgraph_set_bounding_box"]
clips_features:
mock_feature:
plugin: "cx::MockFeature"
@@ -16,6 +16,14 @@ clips_features_manager:
plugin: "cx::RosTopicSubscriberFeature"
ros_service_requester:
plugin: "cx::RosServiceRequesterFeature"
+ navgraph_compute:
+ plugin: "cx:NavGraphCompute"
+ navgraph_set_bounding_box:
+ plugin: "cx:NavGraphSetBoundingBox"
+ navgraph_set_bounding_box:
+ plugin: "cx:NavGraphGenerateWaitzones"
+ navgraph_set_bounding_box:
+ plugin: "cx:NavGraphUpdateStationByTag"
clips_protobuf:
plugin: "cx::ClipsProtobufFeature"
feature_parameters: ["protobuf_path"]
diff --git a/cx_features/CMakeLists.txt b/cx_features/CMakeLists.txt
index 628f332..28942d4 100644
--- a/cx_features/CMakeLists.txt
+++ b/cx_features/CMakeLists.txt
@@ -20,7 +20,6 @@ find_package(cx_clips REQUIRED)
find_package(cx_core REQUIRED)
find_package(cx_msgs REQUIRED)
find_package(cx_utils REQUIRED)
-find_package(cx_blackboard REQUIRED)
find_package(cx_skill_execution REQUIRED)
find_package(ClipsPddlParser REQUIRED)
find_package(ClipsProtobuf REQUIRED)
@@ -42,7 +41,6 @@ set(dependencies
ClipsPddlParser
ClipsProtobuf
yaml-cpp
- cx_blackboard
pluginlib
rosbag2_cpp
plansys2_problem_expert
@@ -97,9 +95,22 @@ add_library(ros_topic_subscriber_feature SHARED src/cx_features/ros_communicatio
ament_target_dependencies(ros_topic_subscriber_feature ${dependencies})
target_link_libraries(ros_topic_subscriber_feature PkgConfig::CLIPSMM)
-add_library(blackboard_feature SHARED src/cx_features/blackboard_feature/BlackboardFeature.cpp)
-ament_target_dependencies(blackboard_feature ${dependencies})
-target_link_libraries(blackboard_feature PkgConfig::CLIPSMM)
+add_library(navgraph_compute SHARED src/cx_features/ros_communication_feature/NavGraphCompute.cpp)
+ament_target_dependencies(navgraph_compute ${dependencies})
+target_link_libraries(navgraph_compute PkgConfig::CLIPSMM)
+
+add_library(navgraph_set_bounding_box SHARED src/cx_features/ros_communication_feature/NavGraphSetBoundingBox.cpp)
+ament_target_dependencies(navgraph_set_bounding_box ${dependencies})
+target_link_libraries(navgraph_set_bounding_box PkgConfig::CLIPSMM)
+
+add_library(navgraph_generate_waitzones SHARED src/cx_features/ros_communication_feature/NavGraphGenerateWaitzones.cpp)
+ament_target_dependencies(navgraph_generate_waitzones ${dependencies})
+target_link_libraries(navgraph_generate_waitzones PkgConfig::CLIPSMM)
+
+add_library(navgraph_update_station_by_tag SHARED src/cx_features/ros_communication_feature/NavGraphUpdateStationByTag.cpp)
+ament_target_dependencies(navgraph_update_station_by_tag ${dependencies})
+target_link_libraries(navgraph_update_station_by_tag PkgConfig::CLIPSMM)
+
# END OF PLUGINS REGISTRATION
add_library(${PROJECT_NAME} SHARED ${CX_FEATURES_SOURCES})
@@ -130,10 +141,13 @@ install(TARGETS
mock_feature
plansys2_feature
skill_execution_feature
- blackboard_feature
ros_service_requester_feature
ros_topic_subscriber_feature
ros_topic_publisher_feature
+ navgraph_compute
+ navgraph_set_bounding_box
+ navgraph_generate_waitzones
+ navgraph_update_station_by_tag
clips_pddl_parser_feature
clips_protobuf_feature
${PROJECT_NAME}
diff --git a/cx_features/features_plugin.xml b/cx_features/features_plugin.xml
index 2d9eea2..b0d772f 100644
--- a/cx_features/features_plugin.xml
+++ b/cx_features/features_plugin.xml
@@ -39,4 +39,24 @@
Clips Feature providing Protobuf-based communication
+
+
+ Clips Feature providing access to NavGraphInterfaceCompute ROS2 services
+
+
+
+
+ Clips Feature providing access to NavGraphInterfaceSetBoundingBox ROS2 services
+
+
+
+
+ Clips Feature providing access to NavGraphInterfaceGenerateWaitzones ROS2 services
+
+
+
+
+ Clips Feature providing access to NavGraphInterfaceUpdateStationByTag ROS2 services
+
+
\ No newline at end of file
diff --git a/cx_features/include/cx_features/NavGraphCompute.hpp b/cx_features/include/cx_features/NavGraphCompute.hpp
new file mode 100644
index 0000000..20c671d
--- /dev/null
+++ b/cx_features/include/cx_features/NavGraphCompute.hpp
@@ -0,0 +1,79 @@
+/***************************************************************************
+ * NavGraphCompute.hpp
+ *
+ * Automatically Generated: 2023-11-30 14:32:29
+ ****************************************************************************/
+
+/* This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details.
+ *
+ * Read the full text in the LICENSE.GPL file in the doc directory.
+ */
+
+#ifndef CX_FEATURES__NAVGRAPHCOMPUTE_HPP_
+#define CX_FEATURES__NAVGRAPHCOMPUTE_HPP_
+
+#include