From 22abc680a3616bf3870068eda172041a4c90b3a3 Mon Sep 17 00:00:00 2001 From: Joseph Schornak Date: Tue, 22 Sep 2020 11:08:01 -0500 Subject: [PATCH 1/4] delete ROS2 code and associated conditionals --- yak_ros/CMakeLists.txt | 226 ++++++++++++---------------------- yak_ros/package.xml | 10 +- yak_ros/src/yak_ros2_node.cpp | 190 ---------------------------- yak_ros_msgs/package.xml | 11 +- 4 files changed, 86 insertions(+), 351 deletions(-) delete mode 100644 yak_ros/src/yak_ros2_node.cpp diff --git a/yak_ros/CMakeLists.txt b/yak_ros/CMakeLists.txt index e7a8c97..92637ad 100644 --- a/yak_ros/CMakeLists.txt +++ b/yak_ros/CMakeLists.txt @@ -5,170 +5,104 @@ if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 14) endif() -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_compile_options(-Wall -Wextra) -endif() - find_package(yak REQUIRED) find_package(std_srvs REQUIRED) find_package(sensor_msgs REQUIRED) find_package(geometry_msgs REQUIRED) find_package(visualization_msgs REQUIRED) -#find_package(tf2 REQUIRED) find_package(tf2_ros REQUIRED) find_package(tf2_eigen REQUIRED) find_package(cv_bridge REQUIRED) find_package(Eigen3 REQUIRED) -if ($ENV{ROS_VERSION} VERSION_EQUAL "1") - # Build as a Catkin package for ROS - - find_package(catkin REQUIRED COMPONENTS - roscpp - pcl_ros - tf2 - tf2_ros - tf2_eigen - cv_bridge - yak_ros_msgs) - - catkin_package( - INCLUDE_DIRS - LIBRARIES - ${yak_LIBRARIES} - ${sensor_msgs_LIBRARIES} - ${tf2_LIBRARIES} - ${tf2_ros_LIBRARIES} - ${tf2_eigen_LIBRARIES} - ${cv_bridge_LIBRARIES} - CATKIN_DEPENDS - cv_bridge - geometry_msgs - pcl_ros - sensor_msgs - std_msgs - visualization_msgs - yak_ros_msgs - DEPENDS - yak - tf2_eigen - tf2) - - add_library(${PROJECT_NAME}_visualizer_ros1 src/yak_ros1/visualizer_ros1.cpp) - add_dependencies(${PROJECT_NAME}_visualizer_ros1 ${catkin_EXPORTED_TARGETS}) - target_link_libraries(${PROJECT_NAME}_visualizer_ros1 ${catkin_LIBRARIES}) - target_include_directories(${PROJECT_NAME}_visualizer_ros1 PUBLIC - "$" - "$") - target_include_directories(${PROJECT_NAME}_visualizer_ros1 PUBLIC ${catkin_INCLUDE_DIRS}) - - add_executable(${PROJECT_NAME}_node - src/yak_ros1_node.cpp) - target_link_libraries(${PROJECT_NAME}_node - ${CATKIN_LIBRARIES} - ${sensor_msgs_LIBRARIES} - ${tf2_LIBRARIES} - ${tf2_ros_LIBRARIES} - ${tf2_eigen_LIBRARIES} - ${cv_bridge_LIBRARIES} - yak::yak - yak::yak_frontend - yak::yak_marching_cubes - ${PROJECT_NAME}_visualizer_ros1) - target_include_directories(${PROJECT_NAME}_node PUBLIC - "$" - "$") - target_include_directories(${PROJECT_NAME}_node PUBLIC - ${catkin_INCLUDE_DIRS} - ${gl_depth_sim_INCLUDE_DIRS}) - - - - if(DEFINED BUILD_DEMO) - find_package(gl_depth_sim REQUIRED) - find_package(image_transport REQUIRED) - add_executable(${PROJECT_NAME}_image_simulator - src/demo/sim_depth_image_pub_ros1.cpp) - target_link_libraries(${PROJECT_NAME}_image_simulator - ${CATKIN_LIBRARIES} - ${sensor_msgs_LIBRARIES} - ${cv_bridge_LIBRARIES} - ${gl_depth_sim_LIBRARIES} - ${image_transport_LIBRARIES} - Eigen3::Eigen) - target_include_directories(${PROJECT_NAME}_image_simulator PUBLIC - ${catkin_INCLUDE_DIRS} - ${gl_depth_sim_INCLUDE_DIRS} - ${image_transport_INCLUDE_DIRS} - ${sensor_msgs_INCLUDE_DIRS} - ) - endif() - - -else() - # Build as an Ament package for ROS2 - find_package(ament_cmake REQUIRED) - find_package(rclcpp REQUIRED) - - add_executable(${PROJECT_NAME}_node - src/yak_ros2_node.cpp) - - target_include_directories(${PROJECT_NAME}_node PUBLIC - ${rclcpp_INCLUDE_DIRS}) - - target_link_libraries(${PROJECT_NAME}_node - ${rclcpp_LIBRARIES} - yak::yak - yak::yak_frontend - yak::yak_marching_cubes - ${sensor_msgs_LIBRARIES} - ${tf2_LIBRARIES} - ${tf2_ros_LIBRARIES} - ${tf2_eigen_LIBRARIES} - ${cv_bridge_LIBRARIES}) - - ament_target_dependencies(${PROJECT_NAME}_node - "rclcpp" - "yak" - "std_srvs" - "sensor_msgs" - "geometry_msgs" - "tf2" - "tf2_ros" - "tf2_eigen") - - ament_export_include_directories(${rclcpp_INCLUDE_DIRS} - ${yak_INCLUDE_DIRS}) - - ament_export_dependencies(rclcpp yak tf2_eigen tf2) - - ament_package() +find_package(catkin REQUIRED COMPONENTS + roscpp + pcl_ros + tf2 + tf2_ros + tf2_eigen + cv_bridge + yak_ros_msgs) + + catkin_package( + INCLUDE_DIRS + LIBRARIES + ${yak_LIBRARIES} + ${sensor_msgs_LIBRARIES} + ${tf2_LIBRARIES} + ${tf2_ros_LIBRARIES} + ${tf2_eigen_LIBRARIES} + ${cv_bridge_LIBRARIES} + CATKIN_DEPENDS + cv_bridge + geometry_msgs + pcl_ros + sensor_msgs + std_msgs + visualization_msgs + yak_ros_msgs + DEPENDS + yak + tf2_eigen + tf2) + + add_library(${PROJECT_NAME}_visualizer_ros1 src/yak_ros1/visualizer_ros1.cpp) + add_dependencies(${PROJECT_NAME}_visualizer_ros1 ${catkin_EXPORTED_TARGETS}) + target_link_libraries(${PROJECT_NAME}_visualizer_ros1 ${catkin_LIBRARIES}) + target_include_directories(${PROJECT_NAME}_visualizer_ros1 PUBLIC + "$" + "$") + target_include_directories(${PROJECT_NAME}_visualizer_ros1 PUBLIC ${catkin_INCLUDE_DIRS}) + + add_executable(${PROJECT_NAME}_node + src/yak_ros1_node.cpp) + target_include_directories(${PROJECT_NAME}_node PUBLIC + "$" + "$") + target_include_directories(${PROJECT_NAME}_node PUBLIC + ${catkin_INCLUDE_DIRS}) + target_link_libraries(${PROJECT_NAME}_node + ${CATKIN_LIBRARIES} + ${sensor_msgs_LIBRARIES} + ${tf2_LIBRARIES} + ${tf2_ros_LIBRARIES} + ${tf2_eigen_LIBRARIES} + ${cv_bridge_LIBRARIES} + yak::yak + yak::yak_frontend + yak::yak_marching_cubes + ${PROJECT_NAME}_visualizer_ros1) + +if(BUILD_DEMO) + find_package(gl_depth_sim REQUIRED) + find_package(image_transport REQUIRED) + add_executable(${PROJECT_NAME}_image_simulator + src/demo/sim_depth_image_pub_ros1.cpp) + target_include_directories(${PROJECT_NAME}_image_simulator PUBLIC + ${catkin_INCLUDE_DIRS}) + target_link_libraries(${PROJECT_NAME}_image_simulator + ${CATKIN_LIBRARIES} + ${sensor_msgs_LIBRARIES} + ${cv_bridge_LIBRARIES} + gl_depth_sim::gl_depth_sim_interfaces + ${image_transport_LIBRARIES} + ${tf2_ros_LIBRARIES} + Eigen3::Eigen) endif() -if ($ENV{ROS_VERSION} VERSION_EQUAL "1") - set(ROS_SHARE_DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) +install(TARGETS ${PROJECT_NAME}_node ${PROJECT_NAME}_visualizer_ros1 + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) - install(TARGETS ${PROJECT_NAME}_node ${PROJECT_NAME}_visualizer_ros1 +if (DEFINED BUILD_DEMO) + install(TARGETS ${PROJECT_NAME}_image_simulator ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) - - if (DEFINED BUILD_DEMO) - install(TARGETS ${PROJECT_NAME}_image_simulator - ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) - endif() -else() - set(ROS_LIB_DESTINATION lib/${PROJECT_NAME}) - set(ROS_SHARE_DESTINATION share/${PROJECT_NAME}) - - install(TARGETS ${PROJECT_NAME}_node - RUNTIME DESTINATION ${ROS_LIB_DESTINATION}) endif() - install(DIRECTORY launch demo - DESTINATION ${ROS_SHARE_DESTINATION}) + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) diff --git a/yak_ros/package.xml b/yak_ros/package.xml index 1b7593e..5beb760 100644 --- a/yak_ros/package.xml +++ b/yak_ros/package.xml @@ -8,12 +8,9 @@ Joseph Schornak Apache 2.0 - catkin - ament_cmake - - roscpp - rclcpp + catkin + roscpp libpcl-all-dev eigen @@ -36,8 +33,7 @@ gl_depth_sim - catkin - ament_cmake + catkin diff --git a/yak_ros/src/yak_ros2_node.cpp b/yak_ros/src/yak_ros2_node.cpp deleted file mode 100644 index 7c84c9d..0000000 --- a/yak_ros/src/yak_ros2_node.cpp +++ /dev/null @@ -1,190 +0,0 @@ -#include - -#include -#include - -#include -#include -#include - -#include - -#include -#include -#include - -#include - -static const std::string DEFAULT_DEPTH_IMAGE_TOPIC = "/camera/depth/image_rect_raw"; -static const std::double_t DEFAULT_MINIMUM_TRANSLATION = 0.00001; - -/** - * @brief The Fusion class. Integrate depth images into a TSDF volume. When requested, mesh the volume using marching - * cubes. Note that this will work using both simulated and real robots and depth cameras. - */ -class Fusion -{ -public: - /** - * @brief OnlineFusionServer constructor - * @param nh - ROS node handle - * @param params - KinFu parameters such as TSDF volume size, resolution, etc. - * @param world_to_volume - Transform from world frame to volume origin frame. - * @param tsdf_base_frame - The name of the tf frame that will be used as the base frame when performing lookups - * between the TSDF volume and the camera frame. - */ - explicit Fusion(const rclcpp::Node::SharedPtr node, - const kfusion::KinFuParams& params, - const Eigen::Affine3f& world_to_volume, - const std::string tsdf_base_frame) - : node_(node) - , fusion_(params, world_to_volume) - , params_(params) - , clock_(std::make_shared(RCL_SYSTEM_TIME)) - , tf_buffer_(clock_) - , robot_tform_listener_(tf_buffer_) - , world_to_camera_prev_(Eigen::Affine3d::Identity()) - , tsdf_base_frame_(tsdf_base_frame) - { - // Subscribe to depth images published on the topic named by the depth_topic param. Set up callback to integrate - // images when received. - std::string depth_topic = DEFAULT_DEPTH_IMAGE_TOPIC; - - auto depth_image_cb = [this](const sensor_msgs::msg::Image::SharedPtr image_in) -> void { - // Get the camera pose in the world frame at the time when the depth image was generated. - RCLCPP_INFO(node_->get_logger(), "Got depth image"); - geometry_msgs::msg::TransformStamped transform_world_to_camera; - try - { - transform_world_to_camera = - tf_buffer_.lookupTransform(tsdf_base_frame_, - image_in->header.frame_id, - tf2::TimePoint(std::chrono::seconds(image_in->header.stamp.sec) + - std::chrono::nanoseconds(image_in->header.stamp.nanosec)), - tf2::Duration(1000000000)); - // transform_world_to_camera = tf_buffer_.lookupTransform("table", "camera_base_link", - // tf2::TimePoint(std::chrono::seconds(image_in->header.stamp.sec) + - // std::chrono::nanoseconds(image_in->header.stamp.nanosec))); - } - catch (tf2::TransformException& ex) - { - // Abort integration if tf lookup failed - RCLCPP_WARN(node_->get_logger(), "%s", ex.what()); - return; - } - Eigen::Affine3d world_to_camera = tf2::transformToEigen(transform_world_to_camera); - - // Find how much the camera moved since the last depth image. If the magnitude of motion was below some threshold, - // abort integration. This is to prevent noise from accumulating in the isosurface due to numerous observations - // from the same pose. - std::double_t motion_mag = (world_to_camera.inverse() * world_to_camera_prev_).translation().norm(); - - if (motion_mag < DEFAULT_MINIMUM_TRANSLATION) - { - RCLCPP_INFO(node_->get_logger(), "Camera motion below threshold"); - return; - } - - cv_bridge::CvImagePtr cv_ptr = cv_bridge::toCvCopy(image_in, sensor_msgs::image_encodings::TYPE_16UC1); - - // Integrate the depth image into the TSDF volume - if (!fusion_.fuse(cv_ptr->image, world_to_camera.cast())) - { - RCLCPP_WARN(node_->get_logger(), "Failed to fuse image"); - } - - // If integration was successful, update the previous camera pose with the new camera pose - world_to_camera_prev_ = world_to_camera; - return; - }; - - depth_image_sub_ = node_->create_subscription(depth_topic, depth_image_cb); - - auto generate_mesh_cb = [this](const std::shared_ptr request_header, - const std::shared_ptr req, - const std::shared_ptr res) -> void { - RCLCPP_INFO(node_->get_logger(), "Starting mesh generation"); - yak::MarchingCubesParameters mc_params; - mc_params.scale = params_.volume_resolution; - pcl::PolygonMesh mesh = yak::marchingCubesCPU(fusion_.downloadTSDF(), mc_params); - RCLCPP_INFO(node_->get_logger(), "Meshing done, saving ply"); - pcl::io::savePLYFileBinary("cubes.ply", mesh); - RCLCPP_INFO(node_->get_logger(), "Saving done"); - }; - - // Advertise service for marching cubes meshing - generate_mesh_service_ = node_->create_service("generate_mesh_service", generate_mesh_cb); - } - -private: - rclcpp::Node::SharedPtr node_; - rclcpp::Clock::SharedPtr clock_; - rclcpp::Subscription::SharedPtr depth_image_sub_; - rclcpp::Service::SharedPtr generate_mesh_service_; - - std::string tsdf_base_frame_; - tf2_ros::Buffer tf_buffer_; - tf2_ros::TransformListener robot_tform_listener_; - - yak::FusionServer fusion_; - const kfusion::KinFuParams params_; - Eigen::Affine3d world_to_camera_prev_; -}; - -int main(int argc, char* argv[]) -{ - rclcpp::init(argc, argv); - auto node = rclcpp::Node::make_shared("fusion_node"); - - std::string tsdf_base_frame; - node->get_parameter_or("tsdf_base_frame", tsdf_base_frame, "turntable_platform"); - - // Set up TSDF parameters - kfusion::KinFuParams default_params = kfusion::KinFuParams::default_params(); - - node->get_parameter_or("kinfu_params.use_pose_hints", - default_params.use_pose_hints, - true); // use robot forward kinematics to find camera pose relative to TSDF volume - node->get_parameter_or("kinfu_params.use_icp", - default_params.use_icp, - false); // since we're using robot FK to get the camera pose, don't use ICP (TODO: yet!) - node->get_parameter_or( - "kinfu_params.update_via_sensor_motion", default_params.update_via_sensor_motion, false); // deprecated? - - node->get_parameter_or("kinfu_params.intr.fx", default_params.intr.fx, 380.4028625488281f); - node->get_parameter_or("kinfu_params.intr.fy", default_params.intr.fy, 380.81707763671875f); - node->get_parameter_or("kinfu_params.intr.cx", default_params.intr.cx, 316.48406982421875f); - node->get_parameter_or("kinfu_params.intr.fy", default_params.intr.cy, 245.3903045654297f); - - float world_to_vol_x, world_to_vol_y, world_to_vol_z; - node->get_parameter_or("kinfu_params.world_to_volume.x", world_to_vol_x, -0.5f); - node->get_parameter_or("kinfu_params.world_to_volume.y", world_to_vol_y, -0.5f); - node->get_parameter_or("kinfu_params.world_to_volume.z", world_to_vol_z, -0.25f); - Eigen::Affine3f world_to_volume(Eigen::Affine3f::Identity()); - world_to_volume.translation() += Eigen::Vector3f(world_to_vol_x, world_to_vol_y, world_to_vol_z); - - int voxels_x, voxels_y, voxels_z; - node->get_parameter_or("kinfu_params.volume_dims_voxels.x", voxels_x, 320); - node->get_parameter_or("kinfu_params.volume_dims_voxels.y", voxels_y, 320); - node->get_parameter_or("kinfu_params.volume_dims_voxels.z", voxels_z, 320); - - double voxel_resolution; - node->get_parameter_or("kinfu_params.voxel_resolution_meters", voxel_resolution, 0.003); - - // TODO: Autocompute resolution from volume length/width/height in meters - default_params.volume_dims = cv::Vec3i(voxels_x, voxels_y, voxels_z); - default_params.volume_resolution = voxel_resolution; - default_params.volume_pose = Eigen::Affine3f::Identity(); // This gets overwritten when Yak is initialized - default_params.tsdf_trunc_dist = default_params.volume_resolution * 5.0f; // meters; - default_params.tsdf_max_weight = 50; // frames - default_params.raycast_step_factor = 0.25; // in voxel sizes - default_params.gradient_delta_factor = 0.25; // in voxel sizes - - RCLCPP_INFO(node->get_logger(), "Starting fusion node"); - - auto fusion = std::make_shared(node, default_params, world_to_volume, tsdf_base_frame); - - rclcpp::spin(node); - rclcpp::shutdown(); - return 0; -} diff --git a/yak_ros_msgs/package.xml b/yak_ros_msgs/package.xml index c0a6ceb..e247648 100644 --- a/yak_ros_msgs/package.xml +++ b/yak_ros_msgs/package.xml @@ -7,12 +7,9 @@ Joseph Schornak Apache 2.0 + catkin - catkin - ament_cmake - - roscpp - rclcpp + roscpp geometry_msgs geometry_msgs @@ -24,9 +21,7 @@ std_msgs std_msgs - - catkin - ament_cmake + catkin From e4a06054f7d335eb1c1b765a8bf3949d34a4e98a Mon Sep 17 00:00:00 2001 From: Joseph Schornak Date: Tue, 22 Sep 2020 11:13:06 -0500 Subject: [PATCH 2/4] rename source files to remove ros1 specificity --- yak_ros/CMakeLists.txt | 6 +++--- ...sim_depth_image_pub_ros1.cpp => sim_depth_image_pub.cpp} | 0 .../src/{yak_ros1/visualizer_ros1.cpp => visualizer.cpp} | 0 yak_ros/src/{yak_ros1_node.cpp => yak_node.cpp} | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename yak_ros/src/demo/{sim_depth_image_pub_ros1.cpp => sim_depth_image_pub.cpp} (100%) rename yak_ros/src/{yak_ros1/visualizer_ros1.cpp => visualizer.cpp} (100%) rename yak_ros/src/{yak_ros1_node.cpp => yak_node.cpp} (100%) diff --git a/yak_ros/CMakeLists.txt b/yak_ros/CMakeLists.txt index 92637ad..3199537 100644 --- a/yak_ros/CMakeLists.txt +++ b/yak_ros/CMakeLists.txt @@ -48,7 +48,7 @@ find_package(catkin REQUIRED COMPONENTS tf2_eigen tf2) - add_library(${PROJECT_NAME}_visualizer_ros1 src/yak_ros1/visualizer_ros1.cpp) + add_library(${PROJECT_NAME}_visualizer_ros1 src/visualizer.cpp) add_dependencies(${PROJECT_NAME}_visualizer_ros1 ${catkin_EXPORTED_TARGETS}) target_link_libraries(${PROJECT_NAME}_visualizer_ros1 ${catkin_LIBRARIES}) target_include_directories(${PROJECT_NAME}_visualizer_ros1 PUBLIC @@ -57,7 +57,7 @@ find_package(catkin REQUIRED COMPONENTS target_include_directories(${PROJECT_NAME}_visualizer_ros1 PUBLIC ${catkin_INCLUDE_DIRS}) add_executable(${PROJECT_NAME}_node - src/yak_ros1_node.cpp) + src/yak_node.cpp) target_include_directories(${PROJECT_NAME}_node PUBLIC "$" "$") @@ -79,7 +79,7 @@ if(BUILD_DEMO) find_package(gl_depth_sim REQUIRED) find_package(image_transport REQUIRED) add_executable(${PROJECT_NAME}_image_simulator - src/demo/sim_depth_image_pub_ros1.cpp) + src/demo/sim_depth_image_pub.cpp) target_include_directories(${PROJECT_NAME}_image_simulator PUBLIC ${catkin_INCLUDE_DIRS}) target_link_libraries(${PROJECT_NAME}_image_simulator diff --git a/yak_ros/src/demo/sim_depth_image_pub_ros1.cpp b/yak_ros/src/demo/sim_depth_image_pub.cpp similarity index 100% rename from yak_ros/src/demo/sim_depth_image_pub_ros1.cpp rename to yak_ros/src/demo/sim_depth_image_pub.cpp diff --git a/yak_ros/src/yak_ros1/visualizer_ros1.cpp b/yak_ros/src/visualizer.cpp similarity index 100% rename from yak_ros/src/yak_ros1/visualizer_ros1.cpp rename to yak_ros/src/visualizer.cpp diff --git a/yak_ros/src/yak_ros1_node.cpp b/yak_ros/src/yak_node.cpp similarity index 100% rename from yak_ros/src/yak_ros1_node.cpp rename to yak_ros/src/yak_node.cpp From 16a08210a8ce804f932a4e2d5b90a5cb148f5ccf Mon Sep 17 00:00:00 2001 From: Joseph Schornak Date: Wed, 23 Sep 2020 10:10:05 -0500 Subject: [PATCH 3/4] use generic CMake variables for gl_depth_sim --- yak_ros/CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/yak_ros/CMakeLists.txt b/yak_ros/CMakeLists.txt index 3199537..6967970 100644 --- a/yak_ros/CMakeLists.txt +++ b/yak_ros/CMakeLists.txt @@ -81,12 +81,13 @@ if(BUILD_DEMO) add_executable(${PROJECT_NAME}_image_simulator src/demo/sim_depth_image_pub.cpp) target_include_directories(${PROJECT_NAME}_image_simulator PUBLIC - ${catkin_INCLUDE_DIRS}) + ${catkin_INCLUDE_DIRS} + ${gl_depth_sim_INCLUDE_DIRS}) target_link_libraries(${PROJECT_NAME}_image_simulator ${CATKIN_LIBRARIES} ${sensor_msgs_LIBRARIES} ${cv_bridge_LIBRARIES} - gl_depth_sim::gl_depth_sim_interfaces + ${gl_depth_sim_LIBRARIES} ${image_transport_LIBRARIES} ${tf2_ros_LIBRARIES} Eigen3::Eigen) From 9a1768cea7b94e29d36c5e4c8725603051740b52 Mon Sep 17 00:00:00 2001 From: Joseph Schornak Date: Wed, 23 Sep 2020 10:19:00 -0500 Subject: [PATCH 4/4] rename visualizer library --- yak_ros/CMakeLists.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/yak_ros/CMakeLists.txt b/yak_ros/CMakeLists.txt index 6967970..b80bace 100644 --- a/yak_ros/CMakeLists.txt +++ b/yak_ros/CMakeLists.txt @@ -48,13 +48,13 @@ find_package(catkin REQUIRED COMPONENTS tf2_eigen tf2) - add_library(${PROJECT_NAME}_visualizer_ros1 src/visualizer.cpp) - add_dependencies(${PROJECT_NAME}_visualizer_ros1 ${catkin_EXPORTED_TARGETS}) - target_link_libraries(${PROJECT_NAME}_visualizer_ros1 ${catkin_LIBRARIES}) - target_include_directories(${PROJECT_NAME}_visualizer_ros1 PUBLIC + add_library(${PROJECT_NAME}_visualizer src/visualizer.cpp) + add_dependencies(${PROJECT_NAME}_visualizer ${catkin_EXPORTED_TARGETS}) + target_link_libraries(${PROJECT_NAME}_visualizer ${catkin_LIBRARIES}) + target_include_directories(${PROJECT_NAME}_visualizer PUBLIC "$" "$") - target_include_directories(${PROJECT_NAME}_visualizer_ros1 PUBLIC ${catkin_INCLUDE_DIRS}) + target_include_directories(${PROJECT_NAME}_visualizer PUBLIC ${catkin_INCLUDE_DIRS}) add_executable(${PROJECT_NAME}_node src/yak_node.cpp) @@ -73,7 +73,7 @@ find_package(catkin REQUIRED COMPONENTS yak::yak yak::yak_frontend yak::yak_marching_cubes - ${PROJECT_NAME}_visualizer_ros1) + ${PROJECT_NAME}_visualizer) if(BUILD_DEMO) find_package(gl_depth_sim REQUIRED) @@ -93,7 +93,7 @@ if(BUILD_DEMO) Eigen3::Eigen) endif() -install(TARGETS ${PROJECT_NAME}_node ${PROJECT_NAME}_visualizer_ros1 +install(TARGETS ${PROJECT_NAME}_node ${PROJECT_NAME}_visualizer ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})