From 800e79bdcc72e26f83d2bced638fca4ff30f7b74 Mon Sep 17 00:00:00 2001 From: ijnek Date: Mon, 18 Oct 2021 19:25:34 +0900 Subject: [PATCH 1/7] add polygon info, and publish with Symbol.msg format Signed-off-by: ijnek --- README.md | 2 +- CMakeLists.txt => zbar_ros/CMakeLists.txt | 5 +-- .../include}/zbar_ros/barcode_reader_node.hpp | 4 +-- package.xml => zbar_ros/package.xml | 2 +- {src => zbar_ros/src}/barcode_reader_main.cpp | 0 {src => zbar_ros/src}/barcode_reader_node.cpp | 26 ++++++++++++-- zbar_ros_interfaces/CMakeLists.txt | 36 +++++++++++++++++++ zbar_ros_interfaces/msg/Symbol.msg | 2 ++ zbar_ros_interfaces/package.xml | 22 ++++++++++++ 9 files changed, 90 insertions(+), 9 deletions(-) rename CMakeLists.txt => zbar_ros/CMakeLists.txt (94%) rename {include => zbar_ros/include}/zbar_ros/barcode_reader_node.hpp (95%) rename package.xml => zbar_ros/package.xml (95%) rename {src => zbar_ros/src}/barcode_reader_main.cpp (100%) rename {src => zbar_ros/src}/barcode_reader_node.cpp (84%) create mode 100644 zbar_ros_interfaces/CMakeLists.txt create mode 100644 zbar_ros_interfaces/msg/Symbol.msg create mode 100644 zbar_ros_interfaces/package.xml diff --git a/README.md b/README.md index 1994153..2257ebc 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ Subscriptions: * `image` (`sensor_msgs/msg/Image`) Publisher: -* `barcode` (`std_msgs/msg/String`) +* `barcode` (`zbar_ros_interfaces/msg/Symbol`) ## Debugging the barcode_reader node diff --git a/CMakeLists.txt b/zbar_ros/CMakeLists.txt similarity index 94% rename from CMakeLists.txt rename to zbar_ros/CMakeLists.txt index 8f656af..b6e12e6 100644 --- a/CMakeLists.txt +++ b/zbar_ros/CMakeLists.txt @@ -19,7 +19,7 @@ endif() find_package(ament_cmake REQUIRED) find_package(rclcpp REQUIRED) find_package(sensor_msgs REQUIRED) -find_package(std_msgs REQUIRED) +find_package(zbar_ros_interfaces REQUIRED) find_package(cv_bridge REQUIRED) # Include header files @@ -32,7 +32,8 @@ ament_target_dependencies(barcode_reader_node rclcpp sensor_msgs std_msgs - cv_bridge) + cv_bridge + zbar_ros_interfaces) target_link_libraries(barcode_reader_node zbar) # Build executable diff --git a/include/zbar_ros/barcode_reader_node.hpp b/zbar_ros/include/zbar_ros/barcode_reader_node.hpp similarity index 95% rename from include/zbar_ros/barcode_reader_node.hpp rename to zbar_ros/include/zbar_ros/barcode_reader_node.hpp index 8d95007..7669e84 100644 --- a/include/zbar_ros/barcode_reader_node.hpp +++ b/zbar_ros/include/zbar_ros/barcode_reader_node.hpp @@ -37,7 +37,7 @@ #include "rclcpp/timer.hpp" #include "./zbar.h" #include "sensor_msgs/msg/image.hpp" -#include "std_msgs/msg/string.hpp" +#include "zbar_ros_interfaces/msg/symbol.hpp" namespace zbar_ros { @@ -52,7 +52,7 @@ class BarcodeReaderNode : public rclcpp::Node void cleanCb(); rclcpp::Subscription::SharedPtr camera_sub_; - rclcpp::Publisher::SharedPtr barcode_pub_; + rclcpp::Publisher::SharedPtr barcode_pub_; zbar::ImageScanner scanner_; rclcpp::TimerBase::SharedPtr clean_timer_; diff --git a/package.xml b/zbar_ros/package.xml similarity index 95% rename from package.xml rename to zbar_ros/package.xml index c4966e1..2513661 100644 --- a/package.xml +++ b/zbar_ros/package.xml @@ -15,7 +15,7 @@ zbar cv_bridge sensor_msgs - std_msgs + zbar_ros_interfaces ament_lint_auto ament_lint_common diff --git a/src/barcode_reader_main.cpp b/zbar_ros/src/barcode_reader_main.cpp similarity index 100% rename from src/barcode_reader_main.cpp rename to zbar_ros/src/barcode_reader_main.cpp diff --git a/src/barcode_reader_node.cpp b/zbar_ros/src/barcode_reader_node.cpp similarity index 84% rename from src/barcode_reader_node.cpp rename to zbar_ros/src/barcode_reader_node.cpp index b135ed0..fa8cdb2 100644 --- a/src/barcode_reader_node.cpp +++ b/zbar_ros/src/barcode_reader_node.cpp @@ -49,6 +49,7 @@ BarcodeReaderNode::BarcodeReaderNode() "image", 10, std::bind(&BarcodeReaderNode::imageCb, this, std::placeholders::_1)); barcode_pub_ = this->create_publisher("barcode", 10); + barcode_pub_ = this->create_publisher("symbol", 10); throttle_ = this->declare_parameter("throttle_repeated_barcodes", 0.0); RCLCPP_DEBUG(get_logger(), "throttle_repeated_barcodes : %f", throttle_); @@ -74,9 +75,24 @@ void BarcodeReaderNode::imageCb(sensor_msgs::msg::Image::ConstSharedPtr image) auto it_end = zbar_image.symbol_end(); if (it_start != it_end) { // If there are barcodes in the image, iterate over all barcode readings from image - for (zbar::Image::SymbolIterator symbol = it_start; symbol != it_end; ++symbol) { - std::string barcode = symbol->get_data(); - RCLCPP_DEBUG(get_logger(), "Barcode detected with data: '%s'", barcode.c_str()); + for (zbar::Image::SymbolIterator symbol_it = it_start; symbol_it != it_end; ++symbol_it) { + zbar_ros_interfaces::msg::Symbol symbol; + + symbol.data = symbol_it->get_data(); + RCLCPP_DEBUG(get_logger(), "Barcode detected with data: '%s'", symbol.data.c_str()); + + RCLCPP_DEBUG( + get_logger(), "Polygon around barcode has %d points", symbol_it->get_location_size()); + for (zbar::Symbol::PointIterator point_it = symbol_it->point_begin(); + point_it != symbol_it->point_end(); + ++point_it) + { + geometry_msgs::msg::Point point; + point.x = (*point_it).x; + point.y = (*point_it).y; + RCLCPP_DEBUG(get_logger(), " Point: %d, %d", point.x, point.y); + symbol.points.push_back(point); + } // verify if repeated barcode throttling is enabled if (throttle_ > 0.0) { @@ -105,6 +121,10 @@ void BarcodeReaderNode::imageCb(sensor_msgs::msg::Image::ConstSharedPtr image) std_msgs::msg::String barcode_string; barcode_string.data = barcode; barcode_pub_->publish(barcode_string); + + // publish symbol + RCLCPP_DEBUG(get_logger(), "Publishing Symbol"); + barcode_pub_->publish(symbol); } } else { RCLCPP_DEBUG(get_logger(), "No barcode detected in image"); diff --git a/zbar_ros_interfaces/CMakeLists.txt b/zbar_ros_interfaces/CMakeLists.txt new file mode 100644 index 0000000..c282aa5 --- /dev/null +++ b/zbar_ros_interfaces/CMakeLists.txt @@ -0,0 +1,36 @@ +cmake_minimum_required(VERSION 3.5) +project(zbar_ros_interfaces) + +# Default to C99 +if(NOT CMAKE_C_STANDARD) + set(CMAKE_C_STANDARD 99) +endif() + +# Default to C++14 +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 -Wpedantic) +endif() + +# find dependencies +find_package(ament_cmake REQUIRED) +find_package(rosidl_default_generators REQUIRED) +find_package(geometry_msgs REQUIRED) + +# generate interfaces +rosidl_generate_interfaces(${PROJECT_NAME} + "msg/Symbol.msg" + DEPENDENCIES geometry_msgs +) + +ament_export_dependencies(rosidl_default_runtime) + +if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) + ament_lint_auto_find_test_dependencies() +endif() + +ament_package() diff --git a/zbar_ros_interfaces/msg/Symbol.msg b/zbar_ros_interfaces/msg/Symbol.msg new file mode 100644 index 0000000..9b4e98d --- /dev/null +++ b/zbar_ros_interfaces/msg/Symbol.msg @@ -0,0 +1,2 @@ +string data +geometry_msgs/Point[] points \ No newline at end of file diff --git a/zbar_ros_interfaces/package.xml b/zbar_ros_interfaces/package.xml new file mode 100644 index 0000000..1b8216f --- /dev/null +++ b/zbar_ros_interfaces/package.xml @@ -0,0 +1,22 @@ + + + + zbar_ros_interfaces + 0.0.0 + Package containing interfaces for zbar_ros to use to publish results + ijnek + BSD + + ament_cmake + + ament_lint_auto + ament_lint_common + + rosidl_default_generators + rosidl_default_runtime + rosidl_interface_packages + + + ament_cmake + + From d94a8c9a700d65431be247754a3a0af7d7fb87bb Mon Sep 17 00:00:00 2001 From: Kenji Brameld Date: Sat, 23 Oct 2021 07:37:30 +0900 Subject: [PATCH 2/7] Update barcode_reader_node.cpp Fix print formatting Signed-off-by: ijnek --- zbar_ros/src/barcode_reader_node.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zbar_ros/src/barcode_reader_node.cpp b/zbar_ros/src/barcode_reader_node.cpp index fa8cdb2..62414d6 100644 --- a/zbar_ros/src/barcode_reader_node.cpp +++ b/zbar_ros/src/barcode_reader_node.cpp @@ -90,7 +90,7 @@ void BarcodeReaderNode::imageCb(sensor_msgs::msg::Image::ConstSharedPtr image) geometry_msgs::msg::Point point; point.x = (*point_it).x; point.y = (*point_it).y; - RCLCPP_DEBUG(get_logger(), " Point: %d, %d", point.x, point.y); + RCLCPP_DEBUG(get_logger(), " Point: %f, %f", point.x, point.y); symbol.points.push_back(point); } From 94e98713b883e67be13bfdce3a3e89555e4e64e9 Mon Sep 17 00:00:00 2001 From: Kenji Brameld Date: Sun, 21 Aug 2022 07:16:32 +0900 Subject: [PATCH 3/7] add code to deprecate barcode topic Signed-off-by: Kenji Brameld --- README.md | 3 ++- .../include/zbar_ros/barcode_reader_node.hpp | 4 +++- zbar_ros/package.xml | 1 + zbar_ros/src/barcode_reader_node.cpp | 18 +++++++++++++----- zbar_ros_interfaces/msg/Symbol.msg | 2 +- 5 files changed, 20 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 2257ebc..ee4f3ff 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,8 @@ Subscriptions: * `image` (`sensor_msgs/msg/Image`) Publisher: -* `barcode` (`zbar_ros_interfaces/msg/Symbol`) +* `barcode` (`std_msgs/msg/String`) - **DEPRECATED** +* `symbol` (`zbar_ros_interfaces/msg/Symbol`) ## Debugging the barcode_reader node diff --git a/zbar_ros/include/zbar_ros/barcode_reader_node.hpp b/zbar_ros/include/zbar_ros/barcode_reader_node.hpp index 7669e84..a80b4fb 100644 --- a/zbar_ros/include/zbar_ros/barcode_reader_node.hpp +++ b/zbar_ros/include/zbar_ros/barcode_reader_node.hpp @@ -37,6 +37,7 @@ #include "rclcpp/timer.hpp" #include "./zbar.h" #include "sensor_msgs/msg/image.hpp" +#include "std_msgs/msg/string.hpp" #include "zbar_ros_interfaces/msg/symbol.hpp" namespace zbar_ros @@ -52,7 +53,8 @@ class BarcodeReaderNode : public rclcpp::Node void cleanCb(); rclcpp::Subscription::SharedPtr camera_sub_; - rclcpp::Publisher::SharedPtr barcode_pub_; + rclcpp::Publisher::SharedPtr barcode_pub_; // DEPRECATED + rclcpp::Publisher::SharedPtr symbol_pub_; zbar::ImageScanner scanner_; rclcpp::TimerBase::SharedPtr clean_timer_; diff --git a/zbar_ros/package.xml b/zbar_ros/package.xml index 2513661..618fb79 100644 --- a/zbar_ros/package.xml +++ b/zbar_ros/package.xml @@ -15,6 +15,7 @@ zbar cv_bridge sensor_msgs + std_msgs zbar_ros_interfaces ament_lint_auto diff --git a/zbar_ros/src/barcode_reader_node.cpp b/zbar_ros/src/barcode_reader_node.cpp index 62414d6..003b831 100644 --- a/zbar_ros/src/barcode_reader_node.cpp +++ b/zbar_ros/src/barcode_reader_node.cpp @@ -44,12 +44,11 @@ BarcodeReaderNode::BarcodeReaderNode() { scanner_.set_config(zbar::ZBAR_NONE, zbar::ZBAR_CFG_ENABLE, 1); - camera_sub_ = this->create_subscription( "image", 10, std::bind(&BarcodeReaderNode::imageCb, this, std::placeholders::_1)); barcode_pub_ = this->create_publisher("barcode", 10); - barcode_pub_ = this->create_publisher("symbol", 10); + symbol_pub_ = this->create_publisher("symbol", 10); throttle_ = this->declare_parameter("throttle_repeated_barcodes", 0.0); RCLCPP_DEBUG(get_logger(), "throttle_repeated_barcodes : %f", throttle_); @@ -77,7 +76,6 @@ void BarcodeReaderNode::imageCb(sensor_msgs::msg::Image::ConstSharedPtr image) // If there are barcodes in the image, iterate over all barcode readings from image for (zbar::Image::SymbolIterator symbol_it = it_start; symbol_it != it_end; ++symbol_it) { zbar_ros_interfaces::msg::Symbol symbol; - symbol.data = symbol_it->get_data(); RCLCPP_DEBUG(get_logger(), "Barcode detected with data: '%s'", symbol.data.c_str()); @@ -98,6 +96,7 @@ void BarcodeReaderNode::imageCb(sensor_msgs::msg::Image::ConstSharedPtr image) if (throttle_ > 0.0) { const std::lock_guard lock(memory_mutex_); + std::string barcode = symbol.data; // check if barcode has been recorded as seen, and skip detection if (barcode_memory_.count(barcode) > 0) { // check if time reached to forget barcode @@ -119,17 +118,26 @@ void BarcodeReaderNode::imageCb(sensor_msgs::msg::Image::ConstSharedPtr image) // publish barcode RCLCPP_DEBUG(get_logger(), "Publishing data as string"); std_msgs::msg::String barcode_string; - barcode_string.data = barcode; + barcode_string.data = symbol.data; barcode_pub_->publish(barcode_string); // publish symbol RCLCPP_DEBUG(get_logger(), "Publishing Symbol"); - barcode_pub_->publish(symbol); + symbol_pub_->publish(symbol); } } else { RCLCPP_DEBUG(get_logger(), "No barcode detected in image"); } + // Warn if there are subscriptions on barcode topic, because it's deprecated. + static bool alreadyWarnedDeprecation = false; + if (!alreadyWarnedDeprecation && count_subscribers("barcode") > 0) { + alreadyWarnedDeprecation = true; + RCLCPP_WARN(get_logger(), "A subscription was detected on the deprecated 'barcode'" + "topic. Please subscribe to the new 'symbol' topic with type" + "'zbar_ros_interfaces::msg::Symbol'."); + } + zbar_image.set_data(NULL, 0); } diff --git a/zbar_ros_interfaces/msg/Symbol.msg b/zbar_ros_interfaces/msg/Symbol.msg index 9b4e98d..11dae92 100644 --- a/zbar_ros_interfaces/msg/Symbol.msg +++ b/zbar_ros_interfaces/msg/Symbol.msg @@ -1,2 +1,2 @@ string data -geometry_msgs/Point[] points \ No newline at end of file +geometry_msgs/Point[] points From 8b3c565e2b7422ae94a37fc467a1c1f1a3d66780 Mon Sep 17 00:00:00 2001 From: Kenji Brameld Date: Sun, 21 Aug 2022 07:23:44 +0900 Subject: [PATCH 4/7] update warning message Signed-off-by: Kenji Brameld --- zbar_ros/src/barcode_reader_node.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/zbar_ros/src/barcode_reader_node.cpp b/zbar_ros/src/barcode_reader_node.cpp index 003b831..b4f7977 100644 --- a/zbar_ros/src/barcode_reader_node.cpp +++ b/zbar_ros/src/barcode_reader_node.cpp @@ -133,9 +133,12 @@ void BarcodeReaderNode::imageCb(sensor_msgs::msg::Image::ConstSharedPtr image) static bool alreadyWarnedDeprecation = false; if (!alreadyWarnedDeprecation && count_subscribers("barcode") > 0) { alreadyWarnedDeprecation = true; - RCLCPP_WARN(get_logger(), "A subscription was detected on the deprecated 'barcode'" - "topic. Please subscribe to the new 'symbol' topic with type" - "'zbar_ros_interfaces::msg::Symbol'."); + RCLCPP_WARN( + get_logger(), + "A subscription was detected on the deprecated topic 'barcode'. Please update the node " + "that is subscribing to use the new topic 'symbol' with type " + "'zbar_ros_interfaces::msg::Symbol' instead. The 'barcode' topic will be removed " + "in the next distribution."); } zbar_image.set_data(NULL, 0); From 8f8535e79b46c933f6341d4607200be5bf4a0b1e Mon Sep 17 00:00:00 2001 From: Kenji Brameld Date: Sun, 21 Aug 2022 07:28:58 +0900 Subject: [PATCH 5/7] remove .msg Signed-off-by: Kenji Brameld --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ee4f3ff..3df3ec5 100644 --- a/README.md +++ b/README.md @@ -56,8 +56,8 @@ Subscriptions: * `image` (`sensor_msgs/msg/Image`) Publisher: -* `barcode` (`std_msgs/msg/String`) - **DEPRECATED** * `symbol` (`zbar_ros_interfaces/msg/Symbol`) +* `barcode` (`std_msgs/msg/String`) - **DEPRECATED** ## Debugging the barcode_reader node From a78044e6b65a3e52e49cf75a61531f071fb9f4ac Mon Sep 17 00:00:00 2001 From: Kenji Brameld Date: Sun, 21 Aug 2022 07:31:40 +0900 Subject: [PATCH 6/7] bring non-deprecated code before deprecated code Signed-off-by: Kenji Brameld --- zbar_ros/include/zbar_ros/barcode_reader_node.hpp | 2 +- zbar_ros/src/barcode_reader_node.cpp | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/zbar_ros/include/zbar_ros/barcode_reader_node.hpp b/zbar_ros/include/zbar_ros/barcode_reader_node.hpp index a80b4fb..76f2822 100644 --- a/zbar_ros/include/zbar_ros/barcode_reader_node.hpp +++ b/zbar_ros/include/zbar_ros/barcode_reader_node.hpp @@ -53,8 +53,8 @@ class BarcodeReaderNode : public rclcpp::Node void cleanCb(); rclcpp::Subscription::SharedPtr camera_sub_; - rclcpp::Publisher::SharedPtr barcode_pub_; // DEPRECATED rclcpp::Publisher::SharedPtr symbol_pub_; + rclcpp::Publisher::SharedPtr barcode_pub_; // DEPRECATED zbar::ImageScanner scanner_; rclcpp::TimerBase::SharedPtr clean_timer_; diff --git a/zbar_ros/src/barcode_reader_node.cpp b/zbar_ros/src/barcode_reader_node.cpp index b4f7977..8ef023e 100644 --- a/zbar_ros/src/barcode_reader_node.cpp +++ b/zbar_ros/src/barcode_reader_node.cpp @@ -47,8 +47,8 @@ BarcodeReaderNode::BarcodeReaderNode() camera_sub_ = this->create_subscription( "image", 10, std::bind(&BarcodeReaderNode::imageCb, this, std::placeholders::_1)); - barcode_pub_ = this->create_publisher("barcode", 10); symbol_pub_ = this->create_publisher("symbol", 10); + barcode_pub_ = this->create_publisher("barcode", 10); throttle_ = this->declare_parameter("throttle_repeated_barcodes", 0.0); RCLCPP_DEBUG(get_logger(), "throttle_repeated_barcodes : %f", throttle_); @@ -96,7 +96,7 @@ void BarcodeReaderNode::imageCb(sensor_msgs::msg::Image::ConstSharedPtr image) if (throttle_ > 0.0) { const std::lock_guard lock(memory_mutex_); - std::string barcode = symbol.data; + const std::string & barcode = symbol.data; // check if barcode has been recorded as seen, and skip detection if (barcode_memory_.count(barcode) > 0) { // check if time reached to forget barcode @@ -115,15 +115,15 @@ void BarcodeReaderNode::imageCb(sensor_msgs::msg::Image::ConstSharedPtr image) now() + rclcpp::Duration(std::chrono::duration(throttle_)))); } - // publish barcode + // publish symbol + RCLCPP_DEBUG(get_logger(), "Publishing Symbol"); + symbol_pub_->publish(symbol); + + // publish on deprecated barcode topic RCLCPP_DEBUG(get_logger(), "Publishing data as string"); std_msgs::msg::String barcode_string; barcode_string.data = symbol.data; barcode_pub_->publish(barcode_string); - - // publish symbol - RCLCPP_DEBUG(get_logger(), "Publishing Symbol"); - symbol_pub_->publish(symbol); } } else { RCLCPP_DEBUG(get_logger(), "No barcode detected in image"); From 233697fa51566d1c29f8be603631111e39d5fe07 Mon Sep 17 00:00:00 2001 From: Kenji Brameld Date: Sun, 21 Aug 2022 08:16:02 +0900 Subject: [PATCH 7/7] use vision_msgs and not geometry_msgs Signed-off-by: Kenji Brameld --- zbar_ros/src/barcode_reader_node.cpp | 2 +- zbar_ros_interfaces/CMakeLists.txt | 4 ++-- zbar_ros_interfaces/msg/Symbol.msg | 2 +- zbar_ros_interfaces/package.xml | 2 ++ 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/zbar_ros/src/barcode_reader_node.cpp b/zbar_ros/src/barcode_reader_node.cpp index 8ef023e..d2d4b16 100644 --- a/zbar_ros/src/barcode_reader_node.cpp +++ b/zbar_ros/src/barcode_reader_node.cpp @@ -85,7 +85,7 @@ void BarcodeReaderNode::imageCb(sensor_msgs::msg::Image::ConstSharedPtr image) point_it != symbol_it->point_end(); ++point_it) { - geometry_msgs::msg::Point point; + vision_msgs::msg::Point2D point; point.x = (*point_it).x; point.y = (*point_it).y; RCLCPP_DEBUG(get_logger(), " Point: %f, %f", point.x, point.y); diff --git a/zbar_ros_interfaces/CMakeLists.txt b/zbar_ros_interfaces/CMakeLists.txt index c282aa5..58ded16 100644 --- a/zbar_ros_interfaces/CMakeLists.txt +++ b/zbar_ros_interfaces/CMakeLists.txt @@ -18,12 +18,12 @@ endif() # find dependencies find_package(ament_cmake REQUIRED) find_package(rosidl_default_generators REQUIRED) -find_package(geometry_msgs REQUIRED) +find_package(vision_msgs REQUIRED) # generate interfaces rosidl_generate_interfaces(${PROJECT_NAME} "msg/Symbol.msg" - DEPENDENCIES geometry_msgs + DEPENDENCIES vision_msgs ) ament_export_dependencies(rosidl_default_runtime) diff --git a/zbar_ros_interfaces/msg/Symbol.msg b/zbar_ros_interfaces/msg/Symbol.msg index 11dae92..2245e4b 100644 --- a/zbar_ros_interfaces/msg/Symbol.msg +++ b/zbar_ros_interfaces/msg/Symbol.msg @@ -1,2 +1,2 @@ string data -geometry_msgs/Point[] points +vision_msgs/Point2D[] points diff --git a/zbar_ros_interfaces/package.xml b/zbar_ros_interfaces/package.xml index 1b8216f..1884d92 100644 --- a/zbar_ros_interfaces/package.xml +++ b/zbar_ros_interfaces/package.xml @@ -9,6 +9,8 @@ ament_cmake + vision_msgs + ament_lint_auto ament_lint_common