Open
Conversation
…19-locate-pipeline-start
contains untested code for finding and visualizing pipeline start point pixel. builds
Implements pipeline start point localization in 3D using DVL altitude and flat ground plane assumption. Replaces fragile skeleton method with robust ConvexHull-based endpoint detection. Adds triangulation infrastructure and lens distortion handling.
Remove 100ms timestamp validation for DVL and camera_info data. Simplify callbacks to use latest available messages. Changes: - Remove dvl_timestamp_ member variable (no longer storing DVL timestamp) - Simplify dvlCallback() - just store altitude, no timestamp - Simplify maskCallback() - remove 100ms age validation logic - Add camera_info unsubscribe after first message (static data) Rationale: DVL and camera_info update frequently enough that the latest message is always sufficiently recent. Removing age checks simplifies the code and eliminates timing-related warnings. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Remove all legacy/fallback code to simplify the codebase for package split. User controls the full system, so single-path implementation is sufficient. Removed: - Skeleton methods (extractSkeleton, findSkeletonEndpoints) - DEPRECATED - Bottom-most fallback (findStartPixelBottomMost) - legacy method - use_skeleton_method configuration flag - now always uses ConvexHull - Depth-based backprojection (backproject, depthCallback, depth_topic) - depth_sub_ subscription and last_depth_ member variable Changed: - findPipelineEndpoints() now only uses ConvexHull method - Fails gracefully (returns nullopt) if ConvexHull detection fails - Updated config comments to reflect ConvexHull-only approach - Simplified locator node initialization Rationale: Prepare for package split into vortex_pipeline_endpoints (2D) and vortex_pipeline_3d (3D). ConvexHull method is robust and reliable. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…itude) Fix camera frame convention in backprojectGroundPlane() to use Y=altitude instead of Z=-altitude for the ground plane equation. Changes: - Ground plane equation: Y = altitude (not Z = -altitude) - Ray intersection: t = altitude / ray_y (not t = -altitude / ray_z) - Add check for ray parallel to ground (ray_y ≈ 0) - Return point: (X, altitude, Z) where Z is forward distance - Updated comments to clarify camera frame: X=right, Y=down, Z=forward Rationale: Standard camera frame has Y pointing downward (image rows), not Z pointing downward. This fixes the 3D coordinates to be physically correct and consistent with typical camera conventions. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…for hardware reasons. The endpoints package will run on orin which already has the image data. The resulting endpoints will then be sent to the 3d node for projection and triangulation which runs on the pi.
…dliness for docker
- Replace pitch-based rotation with full tf2 transform - Fix coordinate frame to use NED convention (Z-down) - Add camera position offset to ray intersection - Remove debug print statements
- Pass already-computed 3D points instead of recomputing - Simplify function signature and implementation
- Add tf2_ros and tf2_geometry_msgs to pipeline_geometry target - Update package.xml with required dependencies
- Improve reprojection visualization - Remove unused marker publisher
- Replace PoseStamped with vortex_msgs/Landmark - Set type to PIPELINE_START - Remove unused nav_msgs dependency
- Use LandmarkTypeClass for type/subtype fields - Add id field - Update vortex-msgs to feat/landmark-msg-refactor branch
- Remove std::cout from core detector library - Demote per-frame RCLCPP_INFO to RCLCPP_DEBUG in node - Use --ros-args --log-level debug to enable verbose output
- modular approach where you can choose between lowest pixel or furthest points. also supports more methods for the future (no true / false stuff)
Contributor
|
+1500 lines. |
… code-coverage ci
- Pass `this` to TransformListener so TF subscriptions run on the
node's executor instead of a hidden background thread
- Add `reference_frame` parameter to replace hardcoded "odom" in
published landmarks and TF lookups
- Remove unimplemented debug image topics/params from position
estimator README
- Fix vcstool README: vortex-utils → vortex-msgs
- Remove duplicate gitlens entry in devcontainer.json
- Move default argument for LinedetectorPipe::detect() from .cpp
definition to .hpp declaration
kluge7
requested changes
Mar 12, 2026
Closed
jorgenfj
requested changes
Mar 19, 2026
Contributor
jorgenfj
left a comment
There was a problem hiding this comment.
Make nodes composable nodes.
Use snake_case for function names
it didnt find unused import
- Remove unused #include <vector> from detector.hpp - Make morphological kernel size a ROS param (morph_kernel_size) - Remove frame_id from CameraIntrinsics; store as camera_frame_id_ on node - Remove ROS types from backproject_ground_plane core library; accept cv::Matx33d rotation and cv::Vec3d translation instead - Extract landmark message building into buildLandmarkMsg helper - Add comments explaining yaw orientation calculation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.