Skip to content

Conversation

@jorgenfj
Copy link

This introduces a new node meant for testing and development using various sensor and techniques for estimating the 6DOF of the valve. Once sensors and algorithms are decided a more production oriented node can be made

@jorgenfj jorgenfj requested a review from kluge7 October 17, 2025 19:21
@jorgenfj jorgenfj linked an issue Oct 17, 2025 that may be closed by this pull request
@codecov
Copy link

codecov bot commented Oct 17, 2025

Codecov Report

❌ Patch coverage is 0% with 704 lines in your changes missing coverage. Please review.
✅ Project coverage is 0.00%. Comparing base (8f88bb6) to head (239b6f9).

Files with missing lines Patch % Lines
src/valve_pose_ros.cpp 0.00% 193 Missing ⚠️
src/valve_detector.cpp 0.00% 171 Missing ⚠️
src/angle_detector.cpp 0.00% 138 Missing ⚠️
include/valve_detection_ros/valve_pose_ros.hpp 0.00% 67 Missing ⚠️
src/depth_image_processing.cpp 0.00% 52 Missing ⚠️
include/valve_detection/valve_detector.hpp 0.00% 45 Missing ⚠️
src/pointcloud_processing.cpp 0.00% 36 Missing ⚠️
include/valve_detection/angle_detector.hpp 0.00% 2 Missing ⚠️
Additional details and impacted files
@@          Coverage Diff           @@
##            main     #16    +/-   ##
======================================
  Coverage   0.00%   0.00%            
======================================
  Files          2       8     +6     
  Lines        256     704   +448     
  Branches      21      62    +41     
======================================
- Misses       256     704   +448     
Flag Coverage Δ
unittests 0.00% <0.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
include/valve_detection/angle_detector.hpp 0.00% <0.00%> (ø)
src/pointcloud_processing.cpp 0.00% <0.00%> (ø)
include/valve_detection/valve_detector.hpp 0.00% <0.00%> (ø)
src/depth_image_processing.cpp 0.00% <0.00%> (ø)
include/valve_detection_ros/valve_pose_ros.hpp 0.00% <0.00%> (ø)
src/angle_detector.cpp 0.00% <0.00%> (ø)
src/valve_detector.cpp 0.00% <0.00%> (ø)
src/valve_pose_ros.cpp 0.00% <0.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@kluge7 kluge7 requested a review from Copilot October 18, 2025 06:12
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a new testing and development node (ValvePoseNode) for estimating the 6DOF pose of valves using various sensors and techniques. The refactoring replaces the legacy ValveDetectionNode with a more modular architecture that separates concerns into dedicated detector classes and utility functions.

Key changes:

  • Replaces monolithic node implementation with modular ValveDetector and AngleDetector classes
  • Adds support for both depth images and point clouds with optional color image input
  • Implements flexible message synchronization supporting multiple input combinations

Reviewed Changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/valve_pose_ros.cpp New ROS node implementation with message filtering and templated callbacks
src/valve_detector.cpp Core valve detection logic including plane segmentation and pose estimation
src/angle_detector.cpp Valve handle angle detection using Canny edge detection and Hough transform
src/depth_image_processing.cpp Depth image to point cloud conversion utilities
src/pointcloud_processing.cpp Point cloud processing for annulus extraction
include/valve_detection_ros/valve_pose_ros.hpp ROS node header with sync policies and templated callback
include/valve_detection/valve_detector.hpp Valve detector class with templated pose computation
include/valve_detection/angle_detector.hpp Angle detector interface
include/valve_detection/types.hpp Common type definitions and parameter structs
include/valve_detection/depth_image_processing.hpp Depth processing function declarations
include/valve_detection/pointcloud_processing.hpp Point cloud processing function declarations
launch/valve_detection.launch.py Updated launch file for composable node container
config/valve_detection_params.yaml Expanded parameter configuration
README.md Enhanced documentation with usage and troubleshooting
CMakeLists.txt Updated build configuration for new architecture
package.xml Added tf2_geometry_msgs dependency
src/valve_detection.cpp Removed legacy implementation
include/valve_detection/valve_detection.hpp Removed legacy header

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

int temp_x = longest_line[0];
int temp_y = longest_line[1];
longest_line[0] = longest_line[2];
longest_line[1] = longest_line[3];
Copy link

Copilot AI Oct 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After swapping the x-coordinates, temp_x and temp_y are declared but never used to complete the swap. The y-coordinates should also be swapped: longest_line[2] = temp_x; longest_line[3] = temp_y; should be added after line 64.

Suggested change
longest_line[1] = longest_line[3];
longest_line[1] = longest_line[3];
longest_line[2] = temp_x;
longest_line[3] = temp_y;

Copilot uses AI. Check for mistakes.
README.md Outdated

| Issue | Possible Cause | Fix |
| ---------------------------- | ---------------------------------------------------------------------------- | --- |
| No poses published | Missing plane segmentation (adjust `plane_ransac_threshold` or annulus size) | | | |
Copy link

Copilot AI Oct 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The table row contains extra empty cells at the end. Remove the trailing | delimiters and empty columns to maintain clean table formatting.

Copilot uses AI. Check for mistakes.
@jorgenfj jorgenfj removed the request for review from kluge7 October 26, 2025 18:33
@jorgenfj jorgenfj requested a review from kluge7 October 26, 2025 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[TASK] 6DOF Localization of Valve Gripping Point

5 participants