diff --git a/CMakeLists.txt b/CMakeLists.txt index 6a92160483a7ba243d78962214ca7cd8fcc5bbf7..2fe33e6ab3f4a73d8d815b8d166b3995a072188b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -163,11 +163,12 @@ add_subdirectory(lib/paho.mqtt.cpp) add_dependencies(paho-mqttpp3 paho-mqtt3a) ## Declare a C++ library -# add_library(${PROJECT_NAME} -# src/${PROJECT_NAME}/cgv_connector.cpp -# ) -add_library(${PROJECT_NAME}_scene_constructor_util ${PROTO_SRCS} ${PROTO_HDRS} src/scene_constructor_util.cpp) -add_library(scene_collision_object src/scene_collision_object.cpp) +add_library(${PROJECT_NAME}_dummy_controller ${PROTO_SRCS} ${PROTO_HDRS} src/ccf/controller/DummyRobotArmController.cpp src/ccf/controller/RobotArmController.cpp src/ccf/controller/Controller.cpp) +add_library(${PROJECT_NAME}_moveit_controller ${PROTO_SRCS} ${PROTO_HDRS} src/ccf/controller/MoveItRobotArmController.cpp src/ccf/controller/RobotArmController.cpp src/ccf/controller/Controller.cpp) +add_library(${PROJECT_NAME}_nng_connection ${PROTO_SRCS} ${PROTO_HDRS} src/ccf/connection/NngConnection.cpp) +add_library(${PROJECT_NAME}_mqtt_connection ${PROTO_SRCS} ${PROTO_HDRS} src/ccf/connection/MqttConnection.cpp) +add_library(${PROJECT_NAME}_scene_constructor_util ${PROTO_SRCS} ${PROTO_HDRS} src/ccf/util/scene_constructor_util.cpp) +add_library(${PROJECT_NAME}_scene_collision_object src/ccf/util/scene_collision_object.cpp) ## Add cmake target dependencies of the library ## as an example, code may need to be generated before libraries @@ -177,13 +178,13 @@ add_library(scene_collision_object src/scene_collision_object.cpp) ## Declare a C++ executable ## With catkin_make all packages are built within a single CMake context ## The recommended prefix ensures that target names across packages don't collide -add_executable(${PROJECT_NAME}_dummy_cgv src/dummy_cgv.cpp ${PROTO_SRCS} ${PROTO_HDRS}) -add_executable(${PROJECT_NAME}_dummy_pick_place src/dummy_pick_place.cpp ${PROTO_SRCS} ${PROTO_HDRS}) -add_executable(${PROJECT_NAME}_dummy_cgv_connector src/dummy_cgv_connector.cpp ${PROTO_SRCS} ${PROTO_HDRS} src/DummyRobotArmController.cpp src/RobotArmController.cpp src/Controller.cpp src/NngConnection.cpp ) -add_executable(${PROJECT_NAME}_dummy_rag_connector src/dummy_rag_connector.cpp ${PROTO_SRCS} ${PROTO_HDRS} src/DummyRobotArmController.cpp src/RobotArmController.cpp src/Controller.cpp src/NngConnection.cpp src/MqttConnection.cpp) -add_executable(${PROJECT_NAME}_dummy_rbg_connector src/dummy_rbg_connector.cpp ${PROTO_SRCS} ${PROTO_HDRS} src/DummyRobotArmController.cpp src/RobotArmController.cpp src/Controller.cpp src/NngConnection.cpp src/MqttConnection.cpp) -add_executable(${PROJECT_NAME}_moveit_cgv_connector src/moveit_cgv_connector.cpp src/MoveItRobotArmController.cpp src/RobotArmController.cpp src/Controller.cpp ${PROTO_SRCS} ${PROTO_HDRS} src/NngConnection.cpp src/MqttConnection.cpp) -add_executable(scene_controller src/scene_controller_node.cpp ${PROTO_SRCS} ${PROTO_HDRS}) +add_executable(${PROJECT_NAME}_dummy_cgv src/dummies/dummy_cgv.cpp ${PROTO_SRCS} ${PROTO_HDRS}) +add_executable(${PROJECT_NAME}_dummy_pick_place src/dummies/dummy_pick_place.cpp ${PROTO_SRCS} ${PROTO_HDRS}) +add_executable(${PROJECT_NAME}_dummy_cgv_controller src/dummy_cgv_controller.cpp ${PROTO_SRCS} ${PROTO_HDRS} ) +add_executable(${PROJECT_NAME}_dummy_rag_controller_a src/dummy_rag_controller_a.cpp ${PROTO_SRCS} ${PROTO_HDRS} ) +add_executable(${PROJECT_NAME}_dummy_rag_controller_b src/dummy_rag_controller_b.cpp ${PROTO_SRCS} ${PROTO_HDRS} ) +add_executable(${PROJECT_NAME}_moveit_cgv_controller src/moveit_cgv_controller.cpp ${PROTO_SRCS} ${PROTO_HDRS}) +add_executable(${PROJECT_NAME}_scene_controller src/ccf/util/scene_controller_node.cpp ${PROTO_SRCS} ${PROTO_HDRS}) ## Rename C++ executable without prefix ## The above recommended prefix causes long target names, the following renames the @@ -191,16 +192,34 @@ add_executable(scene_controller src/scene_controller_node.cpp ${PROTO_SRCS} ${PR ## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" set_target_properties(${PROJECT_NAME}_dummy_cgv PROPERTIES OUTPUT_NAME dummy_cgv PREFIX "") set_target_properties(${PROJECT_NAME}_dummy_pick_place PROPERTIES OUTPUT_NAME dummy_pick_place PREFIX "") -set_target_properties(${PROJECT_NAME}_dummy_cgv_connector PROPERTIES OUTPUT_NAME dummy_cgv_connector PREFIX "") -set_target_properties(${PROJECT_NAME}_dummy_rag_connector PROPERTIES OUTPUT_NAME dummy_rag_connector PREFIX "") -set_target_properties(${PROJECT_NAME}_dummy_rbg_connector PROPERTIES OUTPUT_NAME dummy_rbg_connector PREFIX "") -set_target_properties(${PROJECT_NAME}_moveit_cgv_connector PROPERTIES OUTPUT_NAME moveit_cgv_connector PREFIX "") +set_target_properties(${PROJECT_NAME}_dummy_cgv_controller PROPERTIES OUTPUT_NAME dummy_cgv_controller PREFIX "") +set_target_properties(${PROJECT_NAME}_dummy_rag_controller_a PROPERTIES OUTPUT_NAME dummy_rag_controller_a PREFIX "") +set_target_properties(${PROJECT_NAME}_dummy_rag_controller_b PROPERTIES OUTPUT_NAME dummy_rag_controller_b PREFIX "") +set_target_properties(${PROJECT_NAME}_moveit_cgv_controller PROPERTIES OUTPUT_NAME moveit_cgv_controller PREFIX "") +set_target_properties(${PROJECT_NAME}_scene_controller PROPERTIES OUTPUT_NAME scene_controller PREFIX "") ## Add cmake target dependencies of the executable ## same as for the library above # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) ## Specify libraries to link a library or executable target against + +target_link_libraries(${PROJECT_NAME}_nng_connection + ${catkin_LIBRARIES} + nng + ) +target_link_libraries(${PROJECT_NAME}_mqtt_connection + ${catkin_LIBRARIES} + paho-mqttpp3 + ) +target_link_libraries(${PROJECT_NAME}_dummy_controller + ${catkin_LIBRARIES} + ${Protobuf_LIBRARIES} + ) +target_link_libraries(${PROJECT_NAME}_moveit_controller + ${catkin_LIBRARIES} + ${Protobuf_LIBRARIES} + ) target_link_libraries(${PROJECT_NAME}_dummy_cgv ${catkin_LIBRARIES} nng @@ -211,45 +230,44 @@ target_link_libraries(${PROJECT_NAME}_dummy_pick_place nng ${Protobuf_LIBRARIES} ) -target_link_libraries(${PROJECT_NAME}_dummy_cgv_connector +target_link_libraries(${PROJECT_NAME}_dummy_cgv_controller ${catkin_LIBRARIES} - nng - paho-mqttpp3 ${Protobuf_LIBRARIES} + ${PROJECT_NAME}_dummy_controller + ${PROJECT_NAME}_nng_connection ) -target_link_libraries(${PROJECT_NAME}_dummy_rag_connector +target_link_libraries(${PROJECT_NAME}_dummy_rag_controller_a ${catkin_LIBRARIES} - nng - paho-mqttpp3 ${Protobuf_LIBRARIES} + ${PROJECT_NAME}_dummy_controller + ${PROJECT_NAME}_nng_connection + ${PROJECT_NAME}_mqtt_connection ) -target_link_libraries(${PROJECT_NAME}_dummy_rbg_connector +target_link_libraries(${PROJECT_NAME}_dummy_rag_controller_b ${catkin_LIBRARIES} - nng - paho-mqttpp3 ${Protobuf_LIBRARIES} + ${PROJECT_NAME}_dummy_controller + ${PROJECT_NAME}_mqtt_connection ) -target_link_libraries(${PROJECT_NAME}_moveit_cgv_connector +target_link_libraries(${PROJECT_NAME}_moveit_cgv_controller ${catkin_LIBRARIES} - nng - paho-mqttpp3 ${Protobuf_LIBRARIES} + ${PROJECT_NAME}_moveit_controller + ${PROJECT_NAME}_nng_connection ) -target_link_libraries(scene_collision_object +target_link_libraries(${PROJECT_NAME}_scene_collision_object ${catkin_LIBRARIES} ) target_link_libraries(${PROJECT_NAME}_scene_constructor_util ${catkin_LIBRARIES} ${Protobuf_LIBRARIES} - scene_collision_object + ${PROJECT_NAME}_scene_collision_object ) -target_link_libraries(scene_controller +target_link_libraries(${PROJECT_NAME}_scene_controller ${catkin_LIBRARIES} - nng - paho-mqttpp3 ${Protobuf_LIBRARIES} ${PROJECT_NAME}_scene_constructor_util - scene_collision_object + ${PROJECT_NAME}_scene_collision_object ) ############# diff --git a/include/Connection.h b/include/ccf/connection/Connection.h similarity index 100% rename from include/Connection.h rename to include/ccf/connection/Connection.h diff --git a/include/MqttConnection.h b/include/ccf/connection/MqttConnection.h similarity index 100% rename from include/MqttConnection.h rename to include/ccf/connection/MqttConnection.h diff --git a/include/NngConnection.h b/include/ccf/connection/NngConnection.h similarity index 100% rename from include/NngConnection.h rename to include/ccf/connection/NngConnection.h diff --git a/include/Controller.h b/include/ccf/controller/Controller.h similarity index 94% rename from include/Controller.h rename to include/ccf/controller/Controller.h index ddf483a59208103e389977c4058a8b5bf142c031..2e5ad4b56fd8fddee27ffe8ff256d990004aa265 100644 --- a/include/Controller.h +++ b/include/ccf/controller/Controller.h @@ -10,7 +10,7 @@ #include <ros/ros.h> -#include "Connection.h" +#include "ccf/connection/Connection.h" #include <connector.pb.h> diff --git a/include/DummyRobotArmController.h b/include/ccf/controller/DummyRobotArmController.h similarity index 100% rename from include/DummyRobotArmController.h rename to include/ccf/controller/DummyRobotArmController.h diff --git a/include/MoveItRobotArmController.h b/include/ccf/controller/MoveItRobotArmController.h similarity index 100% rename from include/MoveItRobotArmController.h rename to include/ccf/controller/MoveItRobotArmController.h diff --git a/include/RobotArmController.h b/include/ccf/controller/RobotArmController.h similarity index 98% rename from include/RobotArmController.h rename to include/ccf/controller/RobotArmController.h index 144294608b6853b42341e58b8f2e9b8bad2e92cb..1e2774b8df802f98bc121c7e0fa1a899d34b0593 100644 --- a/include/RobotArmController.h +++ b/include/ccf/controller/RobotArmController.h @@ -10,7 +10,7 @@ #include <ros/ros.h> -#include "Connection.h" +#include "ccf/connection/Connection.h" #include "Controller.h" #include <connector.pb.h> diff --git a/include/NodeUtil.h b/include/ccf/util/NodeUtil.h similarity index 100% rename from include/NodeUtil.h rename to include/ccf/util/NodeUtil.h diff --git a/include/scene_collision_object.h b/include/ccf/util/scene_collision_object.h similarity index 100% rename from include/scene_collision_object.h rename to include/ccf/util/scene_collision_object.h diff --git a/include/scene_constructor_util.h b/include/ccf/util/scene_constructor_util.h similarity index 100% rename from include/scene_constructor_util.h rename to include/ccf/util/scene_constructor_util.h diff --git a/src/MqttConnection.cpp b/src/ccf/connection/MqttConnection.cpp similarity index 99% rename from src/MqttConnection.cpp rename to src/ccf/connection/MqttConnection.cpp index 7c174e889b35311fad47a1aa772e515163700cfc..8d082aafd1750510df3ee6e03b68a6115ca3da79 100644 --- a/src/MqttConnection.cpp +++ b/src/ccf/connection/MqttConnection.cpp @@ -2,7 +2,7 @@ // Created by sebastian on 04.05.21. // -#include "MqttConnection.h" +#include "ccf/connection/MqttConnection.h" #include <ros/ros.h> #include <memory> diff --git a/src/NngConnection.cpp b/src/ccf/connection/NngConnection.cpp similarity index 98% rename from src/NngConnection.cpp rename to src/ccf/connection/NngConnection.cpp index e4bc1d514b4fa81ca7ebf4596c78e199d1ba4e56..a1cab0490e12fc3c81a8280b6d86c44813af4627 100644 --- a/src/NngConnection.cpp +++ b/src/ccf/connection/NngConnection.cpp @@ -8,7 +8,7 @@ #include <memory> #include <thread> -#include "NngConnection.h" +#include "ccf/connection/NngConnection.h" void NngConnection::receiveMessages() { diff --git a/src/Controller.cpp b/src/ccf/controller/Controller.cpp similarity index 94% rename from src/Controller.cpp rename to src/ccf/controller/Controller.cpp index bb2d7df483d0c16db1158bfacfb77a113d5f31a4..910ea46e58782fa4c974bda596dbd412e2d2255c 100644 --- a/src/Controller.cpp +++ b/src/ccf/controller/Controller.cpp @@ -5,7 +5,7 @@ #include <fstream> #include <memory> -#include "Controller.h" +#include "ccf/controller/Controller.h" void Controller::addConnection(std::unique_ptr<Connection> &&connection) { connection->initializeConnection([this](auto &&channel, auto &&data) { diff --git a/src/DummyRobotArmController.cpp b/src/ccf/controller/DummyRobotArmController.cpp similarity index 95% rename from src/DummyRobotArmController.cpp rename to src/ccf/controller/DummyRobotArmController.cpp index 246dfd9dec8c3d17c2f72eef9f24042e883d6a7f..ea1fbfe48f1a002d599b5c3a6d901dddfdb7a499 100644 --- a/src/DummyRobotArmController.cpp +++ b/src/ccf/controller/DummyRobotArmController.cpp @@ -5,8 +5,8 @@ #include <ros/ros.h> #include <cmath> -#include "DummyRobotArmController.h" -#include "Controller.h" +#include "ccf/controller/DummyRobotArmController.h" +#include "ccf/controller/Controller.h" bool DummyRobotArmController::pickAndDrop(Object &robot, Object &object, Object &bin, bool simulateOnly) { diff --git a/src/MoveItRobotArmController.cpp b/src/ccf/controller/MoveItRobotArmController.cpp similarity index 98% rename from src/MoveItRobotArmController.cpp rename to src/ccf/controller/MoveItRobotArmController.cpp index c3fda6ae6277bd36f64a2fc1c90a3d6f3cee6034..0c6e4cccf0ede5559f9838388c78dabb657b90f8 100644 --- a/src/MoveItRobotArmController.cpp +++ b/src/ccf/controller/MoveItRobotArmController.cpp @@ -8,14 +8,14 @@ #include <ros/ros.h> -#include <scene_constructor_util.h> +#include <ccf/util/scene_constructor_util.h> #include <cgv_connector/SceneUpdate.h> #include <cgv_connector/PickDropService.h> #include <cgv_connector/PickPlaceService.h> #include <cgv_connector/BinCheck.h> -#include "MoveItRobotArmController.h" +#include "ccf/controller/MoveItRobotArmController.h" void MoveItRobotArmController::updateScene(cgv_connector::SceneUpdateRequest &req, ros::ServiceClient &bin_check_client) { diff --git a/src/RobotArmController.cpp b/src/ccf/controller/RobotArmController.cpp similarity index 99% rename from src/RobotArmController.cpp rename to src/ccf/controller/RobotArmController.cpp index 360a23db948bc75b04b102640c0bd6d85fed2399..75335acd7637b62f674d4cd9dcce4a53b3eeab14 100644 --- a/src/RobotArmController.cpp +++ b/src/ccf/controller/RobotArmController.cpp @@ -9,7 +9,7 @@ #include <ros/package.h> #include <google/protobuf/util/json_util.h> -#include "RobotArmController.h" +#include "ccf/controller/RobotArmController.h" void RobotArmController::receive(const std::string &channel, const std::string &data) { ROS_WARN_STREAM("[ros2cgv] Received message on channel " << channel << "."); diff --git a/src/scene_collision_object.cpp b/src/ccf/util/scene_collision_object.cpp similarity index 93% rename from src/scene_collision_object.cpp rename to src/ccf/util/scene_collision_object.cpp index 0eb193c1772e50df22688af28629b5f896058dc8..b485eb217b1038eb44383948e882d8a4cab0400a 100644 --- a/src/scene_collision_object.cpp +++ b/src/ccf/util/scene_collision_object.cpp @@ -2,7 +2,7 @@ // Created by sebastian on 14.01.21. // -#include "scene_collision_object.h" +#include "ccf/util/scene_collision_object.h" const moveit_msgs::CollisionObject &SceneCollisionObject::getCollisionObject() const { return SceneCollisionObject::collisionObject; diff --git a/src/scene_constructor_util.cpp b/src/ccf/util/scene_constructor_util.cpp similarity index 99% rename from src/scene_constructor_util.cpp rename to src/ccf/util/scene_constructor_util.cpp index 2576b32b91723f8c9db0128b93e9186004e8fc7b..b589ed369a5df8581d6d2e5034d2bbde9c234e3b 100644 --- a/src/scene_constructor_util.cpp +++ b/src/ccf/util/scene_constructor_util.cpp @@ -2,7 +2,7 @@ // Created by Sebastian Ebert on 03.08.20. // #include <ros/ros.h> -#include "scene_constructor_util.h" +#include "ccf/util/scene_constructor_util.h" /** * Build a collision object from a part (originated by configuration message of table) diff --git a/src/scene_controller_node.cpp b/src/ccf/util/scene_controller_node.cpp similarity index 99% rename from src/scene_controller_node.cpp rename to src/ccf/util/scene_controller_node.cpp index d85769e4b4f2137df0b173b5b6c793ec6120d97d..f43330e7171ddda47f665e87cf3fec6cd578d0c1 100644 --- a/src/scene_controller_node.cpp +++ b/src/ccf/util/scene_controller_node.cpp @@ -18,7 +18,7 @@ #include <moveit/planning_scene_interface/planning_scene_interface.h> #include <moveit/move_group_interface/move_group_interface.h> -#include "scene_constructor_util.h" +#include "ccf/util/scene_constructor_util.h" #include <grasp_util.h> #include <franka_gripper_util.h> @@ -27,7 +27,7 @@ #include <tf2_geometry_msgs/tf2_geometry_msgs.h> #include <tf2_ros/transform_listener.h> -#include "scene_collision_object.h" +#include "ccf/util/scene_collision_object.h" /** * Contains the current scene and additional metadata for the grasping-process. diff --git a/src/dummy_cgv.cpp b/src/dummies/dummy_cgv.cpp similarity index 100% rename from src/dummy_cgv.cpp rename to src/dummies/dummy_cgv.cpp diff --git a/src/dummy_pick_place.cpp b/src/dummies/dummy_pick_place.cpp similarity index 100% rename from src/dummy_pick_place.cpp rename to src/dummies/dummy_pick_place.cpp diff --git a/src/dummy_cgv_connector.cpp b/src/dummy_cgv_controller.cpp similarity index 98% rename from src/dummy_cgv_connector.cpp rename to src/dummy_cgv_controller.cpp index e8d5210c2b1d3ba2e239a6f529a6b73a2a159bce..10aa605473020a934796266ee576f5a8d880adf0 100644 --- a/src/dummy_cgv_connector.cpp +++ b/src/dummy_cgv_controller.cpp @@ -17,8 +17,8 @@ #include "connector.pb.h" -#include "DummyRobotArmController.h" -#include "NngConnection.h" +#include "ccf/controller/DummyRobotArmController.h" +#include "ccf/connection/NngConnection.h" #include <google/protobuf/text_format.h> #include <google/protobuf/util/json_util.h> diff --git a/src/dummy_rag_connector.cpp b/src/dummy_rag_controller_a.cpp similarity index 96% rename from src/dummy_rag_connector.cpp rename to src/dummy_rag_controller_a.cpp index b596a80e97886d871eaf4710a3912bce95044abc..b3842b736eac2647ae9e7073bd6acc3917af2fdc 100644 --- a/src/dummy_rag_connector.cpp +++ b/src/dummy_rag_controller_a.cpp @@ -17,10 +17,10 @@ #include "connector.pb.h" -#include "DummyRobotArmController.h" -#include "NngConnection.h" -#include "MqttConnection.h" -#include "NodeUtil.h" +#include "ccf/controller/DummyRobotArmController.h" +#include "ccf/connection/NngConnection.h" +#include "ccf/connection/MqttConnection.h" +#include "ccf/util/NodeUtil.h" #include <google/protobuf/text_format.h> diff --git a/src/dummy_rbg_connector.cpp b/src/dummy_rag_controller_b.cpp similarity index 97% rename from src/dummy_rbg_connector.cpp rename to src/dummy_rag_controller_b.cpp index 145fe6ecd44550495c7783ca07aa968f7a39a909..91dc0b79b05c3cc97e7ecf14303c7435c2400dac 100644 --- a/src/dummy_rbg_connector.cpp +++ b/src/dummy_rag_controller_b.cpp @@ -17,10 +17,9 @@ #include "connector.pb.h" -#include "DummyRobotArmController.h" -#include "NngConnection.h" -#include "MqttConnection.h" -#include "NodeUtil.h" +#include "ccf/controller/DummyRobotArmController.h" +#include "ccf/connection/MqttConnection.h" +#include "ccf/util/NodeUtil.h" #include <google/protobuf/text_format.h> diff --git a/src/moveit_cgv_connector.cpp b/src/moveit_cgv_controller.cpp similarity index 98% rename from src/moveit_cgv_connector.cpp rename to src/moveit_cgv_controller.cpp index c3de52025ea44026d162fa17d8f82b427826e318..d4f5fb7bc38f5ce4c6da75351a05cd4141139a06 100644 --- a/src/moveit_cgv_connector.cpp +++ b/src/moveit_cgv_controller.cpp @@ -18,8 +18,8 @@ #include <cgv_connector/BinCheck.h> #include <cgv_connector/SceneUpdate.h> -#include "MoveItRobotArmController.h" -#include "NngConnection.h" +#include "ccf/controller/MoveItRobotArmController.h" +#include "ccf/connection/NngConnection.h" const std::string NODE_NAME = "ros2cgv_moveit";