-
Notifications
You must be signed in to change notification settings - Fork 0
Feature/19 locate pipeline start #21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
MadsJJ
wants to merge
70
commits into
main
Choose a base branch
from
feature/19-locate-pipeline-start
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 63 commits
Commits
Show all changes
70 commits
Select commit
Hold shift + click to select a range
6632c97
add: copy docker stuff from deep learning repo
MadsJJ 86206ab
update: docker image name
MadsJJ c06ca2e
remove: requirements.txt from dockerfile
MadsJJ f75a80b
add: install and log to dockerignore
MadsJJ b1e9e9f
Merge commit 'f75a80bd4935c44d34d0b4b13a95f37daadde104' into feature/…
MadsJJ 04b803b
add: clangd to devcontainer
MadsJJ 4fbb8e0
add: locate_pipeline package.
MadsJJ 05089ff
add: find pipeline start using bottommost pixels. possible to debug
MadsJJ 7153251
add: DVL-based 3D pose estimation with ConvexHull endpoint detection
MadsJJ a82343a
simplify: remove DVL/camera_info age checks, use latest messages
MadsJJ ab7a0a1
refactor: remove legacy detection methods and depth backprojection
MadsJJ 6323d01
fix: correct backprojection coordinate system (Y=altitude, not Z=-alt…
MadsJJ ec384bf
refactor: split the pipeline locator node into two separate packages …
MadsJJ 3f5bb84
add: vortex_msgs repo using vcstool. also add script and usager frien…
MadsJJ 82322f4
add:
MadsJJ eaec501
refactor: use tf2 transforms for backprojection
MadsJJ 1214bf3
fix: remove redundant backprojection in endpoint selection
MadsJJ d667958
build: add tf2 dependencies for geometry library
MadsJJ db66507
refactor: update image overlay visualization
MadsJJ 9d42900
config: update localizer parameters and launch file
MadsJJ 46d48af
feat: publish pipeline position as Landmark
MadsJJ 693df5c
fix: update Landmark message to new vortex-msgs structure
MadsJJ 87a6e6a
change from publishing landmark to landmark_array
vortexuser 0f295a1
use same parameters as sim
vortexuser 626f5d2
init list with a size
vortexuser f657d7c
refactor: replace debug prints with ROS log levels
MadsJJ b5a7030
switch to landmark server compatible vortex-msgs branch.
MadsJJ 899f762
gitignore vcs dependency
MadsJJ 9b50092
use correct camera info topic
MadsJJ c40eb6e
feat: lowest pixel endpoint detection.
MadsJJ 6eb2bdd
fixed debug visualizer
MadsJJ 924d2d6
add: DS_Store to gitignore
MadsJJ d05ad15
remove: old locate_pipeline package
MadsJJ 2be48d2
refactor: rename pipeline packages for clarity
MadsJJ 3c52d66
docs: add READMEs for both packages
MadsJJ e43df36
fix: use yaml-only debug config, remove launch arg override
MadsJJ b205570
fix: correct misleading comments and stale log messages
MadsJJ bb64785
refactor: extract preprocessing, furthest_points and debug into separ…
MadsJJ df863f0
refactor: restructure mask callback to avoid clone and scope issues
MadsJJ 324a187
refactor(image_endpoints): remove dead CameraIntrinsics and undistort…
MadsJJ 8c09ec9
style: unify code style and add log_level launch argument to both pac…
MadsJJ 114a2ae
refactor(position_estimator): rename localizer_node to position_estim…
MadsJJ 9fbc886
refactor(position_estimator): rename geometry to backproject_ground_p…
MadsJJ a14eb55
pre-commit
MadsJJ 9b2287e
chore: remove accidentally tracked vortex-msgs submodule reference
MadsJJ b3bd1ef
Merge branch 'main' into feature/19-locate-pipeline-start
MadsJJ 257edb3
remove: data_mutex as there is no benefit to multi-threading this node
MadsJJ 705f105
fix: debug launch arg in both packages
MadsJJ dec7100
update: landmark type usage to new vortex-msgs main branch structure
MadsJJ 37162b3
fix: pass dependencies.repos into upstream_workspace for industrial-ci
MadsJJ 63570ee
fix: pre-commit
MadsJJ 73584c4
fix: correct opencv rosdep key in package.xml
MadsJJ e47d858
add: vcs-repo-file-url to code-coverage ci thing
MadsJJ 05b8155
fix: colcon ignore pipeline-line-fitting because it didnt build in in…
MadsJJ 0fb538c
feature: implement orientation to landmark to keep it in camera view
MadsJJ 7bc2aa4
fixed: pre-commit stuff. a lot of changes to line fitting
MadsJJ ebb7609
remove: old vortex-msgs gitlink in the git index creating problems in…
MadsJJ 4023019
fix: address copilot review comments on PR
MadsJJ 54ff610
fix: remove vortex-msgs gitlink
MadsJJ cea0bb9
add: pipeline landmark orientation using vector from start to end of …
MadsJJ b6d9da4
remove: hardcoded max_dist. not needed atp
MadsJJ 8120627
refactor: place dependencies.repos in root as commented on pr
MadsJJ 2b8e1a7
remove: pipeline_filtering. not used anymore
MadsJJ 15b0968
upgrade clangd. previous version (14) was pinned by ubuntu 22 apt repo.
MadsJJ 729ed41
add: pre-commit
MadsJJ c843bff
fix: address PR review comments from jorgenfj
MadsJJ 8650875
refactor: rename methods to snake_case
MadsJJ fd6c804
update: vortex-msgs to main as it has meen merged
MadsJJ 28d67c4
pr fix: Convert DetectorNode and PositionEstimatorNode to composable …
MadsJJ 25d280d
pre-commit
MadsJJ File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| { | ||
| "name": "vortex-pipeline-detection-devcontainer", | ||
| "image": "vortex-pipeline-detection:latest", | ||
| "customizations": { | ||
| "vscode": { | ||
| "settings": { | ||
| "terminal.integrated.defaultProfile.linux": "bash", | ||
| // 1. Disable Microsoft IntelliSense to let clangd take over | ||
| "C_Cpp.intelliSenseEngine": "disabled", | ||
| "cmake.autoSelectActiveFolder": false, | ||
| "cmake.configureOnOpen": false, | ||
| // 2. Tell clangd where to find the compilation database | ||
| "clangd.arguments": [ | ||
| "--compile-commands-dir=${workspaceFolder}/build", | ||
| "--background-index", | ||
| "--completion-style=detailed", | ||
| "--header-insertion=never", | ||
| "--clang-tidy", | ||
| "--query-driver=/usr/bin/g++" | ||
| ], | ||
| // 3. Ensure CMake Tools generates the needed file | ||
| "cmake.copyCompileCommands": "${workspaceFolder}/build/compile_commands.json" | ||
| }, | ||
| "extensions": [ | ||
| "ms-vscode.cpptools-extension-pack", | ||
| "llvm-vs-code-extensions.vscode-clangd", | ||
| "ranch-hand-robotics.rde-pack", | ||
| "ms-python.python", | ||
| "ms-python.vscode-pylance", | ||
| "usernamehw.errorlens", | ||
| "eamodio.gitlens", | ||
| "gruntfuggly.todo-tree", | ||
| "gxl.git-graph-3" | ||
| ] | ||
| } | ||
| }, | ||
| "postCreateCommand": "./scripts/import_dependencies.sh && mkdir -p build && touch build/compile_commands.json", | ||
| "remoteUser": "devuser", | ||
| "workspaceFolder": "/ros2_ws", | ||
| "workspaceMount": "source=${localWorkspaceFolder},target=/ros2_ws,type=bind,consistency=cached", | ||
| "runArgs": [ | ||
| "--privileged", | ||
| "--network=host", | ||
| "--ipc=host" | ||
| ] | ||
| } |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| # Ignore build artifacts and large/runtime folders | ||
| build/ | ||
| install/ | ||
| log/ | ||
| *.log | ||
|
|
||
| # Docker and local config | ||
| docker/ | ||
| .dockerignore | ||
|
|
||
| # VCS | ||
| .git | ||
| .gitignore | ||
|
|
||
| # VS Code | ||
| .vscode/ | ||
|
|
||
| # Python | ||
| __pycache__/ | ||
| *.pyc | ||
| *.pyo | ||
| *.pyd | ||
| venv/ | ||
| .env | ||
|
|
||
| # Misc | ||
| *.swp | ||
| *.swo | ||
| node_modules/ | ||
| bags/ | ||
| rosbags/ |
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
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
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| repositories: | ||
| vortex-msgs: | ||
| type: git | ||
| url: https://github.com/vortexntnu/vortex-msgs.git | ||
| version: feat/Point2DArray-msg |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,70 @@ | ||
| # ---------------------------------------------------------------------------- | ||
| # Base Image | ||
| # ---------------------------------------------------------------------------- | ||
| ARG BASE_IMAGE=ros:humble | ||
| FROM ${BASE_IMAGE} | ||
|
|
||
| # ---------------------------------------------------------------------------- | ||
| # Setup Arguments & Environment | ||
| # ---------------------------------------------------------------------------- | ||
| USER root | ||
| SHELL ["/bin/bash", "-c"] | ||
| ARG DEBIAN_FRONTEND=noninteractive | ||
| ARG ROS_DISTRO=humble | ||
|
|
||
| # Define User Args | ||
| ARG USER_ID=1000 | ||
| ARG GROUP_ID=1000 | ||
| ARG USERNAME=devuser | ||
|
|
||
| ENV WORKSPACE=/ros2_ws | ||
| WORKDIR ${WORKSPACE} | ||
|
|
||
| # ---------------------------------------------------------------------------- | ||
| # Create non-root user | ||
| # ---------------------------------------------------------------------------- | ||
| RUN groupadd --gid ${GROUP_ID} ${USERNAME} || true && \ | ||
| useradd --uid ${USER_ID} --gid ${GROUP_ID} -m -s /bin/bash ${USERNAME} || true && \ | ||
| apt-get update && apt-get install -y sudo && \ | ||
| echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \ | ||
| apt-get clean && rm -rf /var/lib/apt/lists/* | ||
|
|
||
| # ---------------------------------------------------------------------------- | ||
| # Install System Dependencies | ||
| # ---------------------------------------------------------------------------- | ||
| RUN apt-get update && apt-get install -y \ | ||
| git \ | ||
| python3-vcstool \ | ||
| python3-pip \ | ||
| ros-${ROS_DISTRO}-cv-bridge \ | ||
| ros-${ROS_DISTRO}-vision-msgs \ | ||
| ros-${ROS_DISTRO}-pcl-conversions \ | ||
| libopencv-dev \ | ||
| libpcl-dev \ | ||
| python3-colcon-common-extensions \ | ||
| clangd \ | ||
| && apt-get clean && rm -rf /var/lib/apt/lists/* | ||
|
|
||
| RUN pip3 install cython | ||
|
|
||
| # ---------------------------------------------------------------------------- | ||
| # Copy Workspace Files | ||
| # ---------------------------------------------------------------------------- | ||
| COPY . ${WORKSPACE} | ||
| RUN chown -R ${USER_ID}:${GROUP_ID} ${WORKSPACE} | ||
|
|
||
| # ---------------------------------------------------------------------------- | ||
| # Install ROS dependencies | ||
| # ---------------------------------------------------------------------------- | ||
| RUN rosdep update && rosdep install --from-paths . --ignore-src -r -y | ||
|
|
||
| # ---------------------------------------------------------------------------- | ||
| # User Configuration | ||
| # ---------------------------------------------------------------------------- | ||
| RUN echo "if [ -f /ros2_ws/scripts/bashrc_extra.sh ]; then source /ros2_ws/scripts/bashrc_extra.sh; fi" >> /home/${USERNAME}/.bashrc | ||
|
|
||
| # Switch to the user | ||
| USER ${USERNAME} | ||
| WORKDIR /home/${USERNAME} | ||
|
|
||
| CMD ["bash"] |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,58 @@ | ||
| #!/usr/bin/env bash | ||
| set -euo pipefail | ||
|
|
||
| # ------------------------------------------------------------------------------ | ||
| # Environment Variables | ||
| # ------------------------------------------------------------------------------ | ||
| IMAGE="vortex-pipeline-detection:latest" # Docker image name/tag | ||
| BASE_IMAGE="ros:humble" # Base image for Docker builds | ||
|
|
||
| # ------------------------------------------------------------------------------ | ||
| # Platform Detection | ||
| # ------------------------------------------------------------------------------ | ||
| ARCHITECTURE="$(uname -m)" | ||
| if [[ "$ARCHITECTURE" == "arm64" || "$ARCHITECTURE" == "aarch64" ]]; then | ||
| PLATFORM="linux/arm64" | ||
| elif [[ "$ARCHITECTURE" == "x86_64" ]]; then | ||
| PLATFORM="linux/amd64" | ||
| else | ||
| echo "Unsupported architecture: $ARCHITECTURE" >&2 | ||
| exit 1 | ||
| fi | ||
|
|
||
| # ------------------------------------------------------------------------------ | ||
| # Locate Script and Workspace Root | ||
| # ------------------------------------------------------------------------------ | ||
| SCRIPT_DIR="$(dirname "$(realpath "$0")")" | ||
| WORKSPACE="$(realpath "$SCRIPT_DIR/..")" | ||
|
|
||
| # ------------------------------------------------------------------------------ | ||
| # Build Start Info | ||
| # ------------------------------------------------------------------------------ | ||
| echo "======================================================================" | ||
| echo " Building Docker Image" | ||
| echo " • PLATFORM: $PLATFORM" | ||
| echo " • BASE_IMAGE: $BASE_IMAGE" | ||
| echo " • IMAGE: $IMAGE" | ||
| echo " • BUILD CONTEXT: $WORKSPACE" | ||
| echo "======================================================================" | ||
| echo "" | ||
|
|
||
| # ------------------------------------------------------------------------------ | ||
| # Build Docker Image with Buildx | ||
| # ------------------------------------------------------------------------------ | ||
| docker buildx build \ | ||
| --platform "$PLATFORM" \ | ||
| --network=host \ | ||
| --build-arg BASE_IMAGE="$BASE_IMAGE" \ | ||
| --build-arg USER_ID="$(id -u)" \ | ||
| --build-arg GROUP_ID="$(id -g)" \ | ||
| --tag "$IMAGE" \ | ||
| --file "$SCRIPT_DIR/Dockerfile" \ | ||
| --load \ | ||
| "$WORKSPACE" | ||
|
|
||
| echo "" | ||
| echo "======================================================================" | ||
| echo " Successfully built image '$IMAGE' for platform '$PLATFORM'" | ||
| echo "======================================================================" |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| #!/usr/bin/env bash | ||
| set -euo pipefail | ||
|
|
||
| # ------------------------------------------------------------------------------ | ||
| # Image Configuration | ||
| # ------------------------------------------------------------------------------ | ||
| IMAGE="vortex-pipeline-detection:latest" # Default Docker image name/tag | ||
|
|
||
| # ------------------------------------------------------------------------------ | ||
| # Locate Script Directory and Workspace Root | ||
| # ------------------------------------------------------------------------------ | ||
| SCRIPT_DIR="$(dirname "$(realpath "$0")")" | ||
| WORKSPACE="$(realpath "$SCRIPT_DIR/..")" | ||
|
|
||
| echo "======================================================================" | ||
| echo " Running Container" | ||
| echo " • IMAGE: $IMAGE" | ||
| echo " • Volume mount: $WORKSPACE -> /ros2_ws" | ||
| echo "======================================================================" | ||
| echo "" | ||
|
|
||
| # ------------------------------------------------------------------------------ | ||
| # Run Docker Container (imports dependencies, then starts interactive shell) | ||
| # ------------------------------------------------------------------------------ | ||
| docker run -it --rm \ | ||
| --privileged \ | ||
| --network host \ | ||
| --ipc=host \ | ||
| -v "$WORKSPACE":/ros2_ws \ | ||
| -w /ros2_ws \ | ||
| "$IMAGE" \ | ||
| /bin/bash -c "./scripts/import_dependencies.sh && exec bash" |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.