From eab34745115b5556ac09c0c2acb2cd2d096443b0 Mon Sep 17 00:00:00 2001 From: MaxPacheco02 Date: Tue, 17 Feb 2026 02:08:07 -0600 Subject: [PATCH 1/5] update gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 100dc30..da01303 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ *bag +data/* From cee265746e0a37b84a243ac66ad951cf2af2b109 Mon Sep 17 00:00:00 2001 From: dev2 <137825924+1Ch222@users.noreply.github.comgit config --global user.email 137825924+1Ch222@users.noreply.github.com> Date: Wed, 18 Feb 2026 20:49:43 -0600 Subject: [PATCH 2/5] name order fix for starboard and port markers --- src/detectors/yolo_tensorrt/yolo_tensorrt_node.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/detectors/yolo_tensorrt/yolo_tensorrt_node.cpp b/src/detectors/yolo_tensorrt/yolo_tensorrt_node.cpp index 6dbc3eb..282cb83 100644 --- a/src/detectors/yolo_tensorrt/yolo_tensorrt_node.cpp +++ b/src/detectors/yolo_tensorrt/yolo_tensorrt_node.cpp @@ -17,10 +17,10 @@ const std::vector NAMES { "blue_buoy", "course_marker", "green_buoy", - "blue_cross", + "port_marker", "red_buoy", - "blue_circle", - "yellow_marker", + "starboard_marker", + "yellow_marker", "blue_square", "blue_triangle", "green_circle", @@ -31,8 +31,8 @@ const std::vector NAMES { "red_cross", "red_square", "red_triangle", - "starboard_marker", - "port_marker" + "blue_circle", + "blue_cross" }; const std::vector> COLORS { From b7eb77a833e2cf3c68dea849b64e27d3171f61c8 Mon Sep 17 00:00:00 2001 From: MaxPacheco02 Date: Thu, 19 Feb 2026 14:00:56 -0600 Subject: [PATCH 3/5] cmake adapts to different archs, vision.launch is also user-independent, fixed trt node label typo --- .gitignore | 1 + CMakeLists.txt | 11 +++++++---- launch/vision.launch.py | 3 ++- src/detectors/yolo_tensorrt/yolo_tensorrt.hpp | 2 +- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index da01303..1f14418 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *bag data/* +.vscode/ diff --git a/CMakeLists.txt b/CMakeLists.txt index d7687fe..f8f425f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.8) include(CMakePrintHelpers) -set(CMAKE_CUDA_ARCHITECTURES 60 61 62 70 72 75 86) +set(CMAKE_CUDA_ARCHITECTURES 86 87 89) set(CMAKE_CUDA_COMPILER /usr/local/cuda/bin/nvcc) project(visionsystemx LANGUAGES C CXX CUDA) @@ -29,8 +29,11 @@ find_package(pcl_conversions REQUIRED) find_package(message_filters REQUIRED) find_package(Eigen3 REQUIRED) -set(TensorRT_INCLUDE_DIRS /usr/include/aarch64-linux-gnu) -set(TensorRT_LIBRARIES /usr/lib/aarch64-linux-gnu) +if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") + set(ARCH_INCLUDE_PATH /usr/include/aarch64-linux-gnu) +else() + set(ARCH_INCLUDE_PATH /usr/include/x86_64-linux-gnu) +endif() add_executable(beeblebrox src/beeblebrox.cpp) @@ -44,7 +47,7 @@ add_executable(yolo src/detectors/yolo_tensorrt/yolo_tensorrt_node.cpp) ament_target_dependencies(yolo rclcpp std_msgs OpenCV cv_bridge image_transport CUDA ZED usv_interfaces ) -target_include_directories(yolo PRIVATE ${CUDA_INCLUDE_DIRS}) +target_include_directories(yolo PRIVATE ${ARCH_INCLUDE_PATH} ${CUDA_INCLUDE_DIRS}) target_link_libraries(yolo ${CUDA_LIBRARIES} ${TensorRT_LIBRARIES} nvinfer nvinfer_plugin) add_executable(lidar src/lidar/translation.cpp) diff --git a/launch/vision.launch.py b/launch/vision.launch.py index 6301874..8ed9ffd 100644 --- a/launch/vision.launch.py +++ b/launch/vision.launch.py @@ -4,6 +4,7 @@ from launch.substitutions import PathJoinSubstitution, LaunchConfiguration from launch_ros.substitutions import FindPackageShare from launch_ros.actions import Node +import os def generate_launch_description(): camera_model_arg = DeclareLaunchArgument( @@ -38,7 +39,7 @@ def generate_launch_description(): name='yolo', output='screen', parameters=[ - {'engine_path': '/home/asv/vanttec_usv/src/visionsystemx/data/SARASOTA.engine'}, + {'engine_path': os.path.expanduser('~/vanttec_usv/src/visionsystemx/data/SARASOTA.engine')}, {'video_topic': '/bebblebrox/video'}, {'output_topic': '/yolo/detections'}, {'threshold': 0.2}, diff --git a/src/detectors/yolo_tensorrt/yolo_tensorrt.hpp b/src/detectors/yolo_tensorrt/yolo_tensorrt.hpp index 46d2b71..3aa56ec 100644 --- a/src/detectors/yolo_tensorrt/yolo_tensorrt.hpp +++ b/src/detectors/yolo_tensorrt/yolo_tensorrt.hpp @@ -585,7 +585,7 @@ void YOLOv8::draw_objects( // Prepare label text with confidence score - std::string label_text = cv::format("%s %d%%)", + std::string label_text = cv::format("%s %d%%", CLASS_NAMES[obj.label].c_str(), (int)(obj.prob*100.0)); // Calculate text size and position From 985a950c3c0905df68195c41eb5555bf9b10c23f Mon Sep 17 00:00:00 2001 From: SoniDavid Date: Fri, 20 Feb 2026 12:27:46 -0500 Subject: [PATCH 4/5] update zed and launch file --- launch/vision.launch.py | 17 ++++++++++++++++- src/zed.hpp | 11 ++--------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/launch/vision.launch.py b/launch/vision.launch.py index 531993d..19903c8 100644 --- a/launch/vision.launch.py +++ b/launch/vision.launch.py @@ -69,10 +69,25 @@ def generate_launch_description(): package='visionsystemx', executable='lidar_camera.py' ) - + + # Republish raw image as compressed for the web dashboard (rosbridge). + # Doesn't affect anything else + image_republish = Node( + package='image_transport', + executable='republish', + name='image_republish', + arguments=['raw', 'compressed'], + remappings=[ + ('in', '/bebblebrox/video/image'), + ('out/compressed', '/bebblebrox/video/compressed'), + ], + output='screen', + ) + return LaunchDescription([ camera_model_arg, video_feed, + image_republish, # yolo_tensorrt, # velodyne, # fusion, diff --git a/src/zed.hpp b/src/zed.hpp index bf9ca2c..b67f84a 100644 --- a/src/zed.hpp +++ b/src/zed.hpp @@ -26,15 +26,8 @@ ZED_usv::ZED_usv(rclcpp::Logger logger_param, const std::string& camera_model) : bool is_zed1 = (camera_model == "zed" || camera_model == "zed1"); RCLCPP_INFO(this->logger, "Initializing camera model: %s", camera_model.c_str()); - // OPTIMIZED SETTINGS FOR JETSON ORIN NX AND NANO - USB STABILITY FIX - - init_params.sdk_verbose = true; // ORIGINAL - // init_params.sdk_verbose = false; // OPTIMIZED - - - init_params.depth_mode = sl::DEPTH_MODE::ULTRA; // ORIGINAL - // init_params.depth_mode = sl::DEPTH_MODE::NEURAL_LIGHT; // OPTIMIZED - + init_params.sdk_verbose = true; + init_params.depth_mode = sl::DEPTH_MODE::NEURAL; // Ultra is deprecated in newest sdk init_params.coordinate_system = sl::COORDINATE_SYSTEM::LEFT_HANDED_Z_UP; init_params.coordinate_units = sl::UNIT::METER; init_params.depth_maximum_distance = 20; From beef212de3a01462a987654a446bec791ce68f34 Mon Sep 17 00:00:00 2001 From: SoniDavid Date: Fri, 20 Feb 2026 12:38:59 -0500 Subject: [PATCH 5/5] add .vscode and data to gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 100dc30..266180e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ *bag +.vscode/ +data/