Skip to content

Anbit/guidance#698

Open
anbit-adhi wants to merge 90 commits intomainfrom
anbit/guidance
Open

Anbit/guidance#698
anbit-adhi wants to merge 90 commits intomainfrom
anbit/guidance

Conversation

@anbit-adhi
Copy link
Copy Markdown

This PR adds the los_guidance package and integrates it into the autopilot setup for waypoint-based guidance of the AUV. The node computes guidance references from the current vehicle state and a target waypoint, and sends the desired yaw, pitch, and surge to the downstream controller.

The package also has overwritten the old simulator test with need changes for it to work with the new guidance. Most of the implementation details, usage, and configuration are described in the README.

Anbit and others added 30 commits October 19, 2025 15:56
* ci(pre-commit): add CI workflow for checking pre-commit hooks

* ci(pre-commit): add hooks for cpp and CMake

* refactor(pre-commit.yml): now uses the workflow on main

* docs(README.md): update status badge for pre-commit

* refactor(ci): move local hooks into a different config file

* docs(README.md): update status badge for pre-commit

* refactor(ci): pre-commit.yml now only runs on pull_request and workflow_dispatch

* ci(pre-commit-local): ignore build/include_order in ament_cpplint since conflict with clang-format

* refactor: fix ament_cpplint and cppcheck warnings

* ci(pre-commit-config-local): increase line length to 120 for ament_cpplint due to some lines being longer

* refactor: fix ament_cpplint and cppcheck warnings

* chore(pre-commit): exclude test dirs from ament_cppcheck to avoid false positives

* ci(pre-commit): update workflow to run on push to main and pull_request
* waypoint mode handling

* update tests with new message

* initial package setup

* ros interface function declaration

* node setup

* working prototype

* reentrant cb, multithreaded

* single threaded impl

* conv threshold action goal

* default thresholdref conv value

* removed switching logic

* removed timer execution

* sim test utils

* waypoint_manager_test setup

* no rendering test arg

* waypoint tests, timeout error

* test refactor

* format

* rename utils package

* test suite and description

* first waypoint test

* removed unused function

* renamed service field to priority. Added simple tests

* waypoint manager readme

* uniform attitude naming convention

* fix pr requests

* update tests with new service fields

* four corner test

* update util func name

* update with new action def

* removed failing build type

* test dependencies

* ignore failing yasmin package

* remove __init__ files

* quat_to_euler in make_pose helper

* added __init__ file

* removed sim deps for test packages

* added action shutdown handling

* removed waypoint manager set setup

* added waypoint manager node tests

* waypoint manager 4 corner sim test

* added missing launch testing test dependency

* add sleep for topic discovery

* fix action member field name

* removed unnecessary if here
* waypoint mode handling

* update tests with new message

* initial package setup

* ros interface function declaration

* node setup

* working prototype

* reentrant cb, multithreaded

* single threaded impl

* conv threshold action goal

* default thresholdref conv value

* removed switching logic

* removed timer execution

* sim test utils

* waypoint_manager_test setup

* no rendering test arg

* waypoint tests, timeout error

* test refactor

* format

* rename utils package

* test suite and description

* first waypoint test

* removed unused function

* renamed service field to priority. Added simple tests

* waypoint manager readme

* uniform attitude naming convention

* fix pr requests

* update tests with new service fields

* four corner test

* update util func name

* update with new action def

* removed failing build type

* test dependencies

* ignore failing yasmin package

* remove __init__ files

* quat_to_euler in make_pose helper

* added __init__ file

* removed sim deps for test packages

* added action shutdown handling

* removed waypoint manager set setup

* added waypoint manager node tests

* waypoint manager 4 corner sim test

* added missing launch testing test dependency

* add sleep for topic discovery

* fix action member field name

* updated to new utils type names

* renamed variables to match types

* update function arg to reflect vortex type

* update variable name in tests

* renamed function arg names
* refactor to new utils ros packages

* added utils dep for velocity controller

* fix typo
@anbit-adhi anbit-adhi self-assigned this Mar 25, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 25, 2026

Codecov Report

❌ Patch coverage is 50.84227% with 321 lines in your changes missing coverage. Please review.
✅ Project coverage is 40.73%. Comparing base (8a0f2e8) to head (8debecc).

Files with missing lines Patch % Lines
guidance/los_guidance/src/los_guidance_ros.cpp 0.40% 247 Missing ⚠️
guidance/los_guidance/test/adaptive_los_test.cpp 70.90% 0 Missing and 16 partials ⚠️
guidance/los_guidance/test/integral_los_test.cpp 70.90% 0 Missing and 16 partials ⚠️
...idance/los_guidance/test/proportional_los_test.cpp 69.23% 0 Missing and 16 partials ⚠️
...idance/los_guidance/test/vector_field_los_test.cpp 70.90% 0 Missing and 16 partials ⚠️
...ance/los_guidance/test/los_invalid_params_test.cpp 87.87% 0 Missing and 4 partials ⚠️
guidance/los_guidance/src/lib/adaptive_los.cpp 93.47% 3 Missing ⚠️
...ce/los_guidance/include/los_guidance/lib/types.hpp 71.42% 2 Missing ⚠️
guidance/los_guidance/src/lib/integral_los.cpp 96.77% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #698      +/-   ##
==========================================
+ Coverage   39.70%   40.73%   +1.03%     
==========================================
  Files          79       89      +10     
  Lines        5332     5754     +422     
  Branches     1715     1883     +168     
==========================================
+ Hits         2117     2344     +227     
- Misses       2769     2926     +157     
- Partials      446      484      +38     
Flag Coverage Δ
unittests 40.73% <50.84%> (+1.03%) ⬆️

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

Files with missing lines Coverage Δ
...guidance/include/los_guidance/lib/integral_los.hpp 100.00% <100.00%> (ø)
...ance/include/los_guidance/lib/proportional_los.hpp 100.00% <100.00%> (ø)
...ance/include/los_guidance/lib/vector_field_los.hpp 100.00% <100.00%> (ø)
guidance/los_guidance/src/lib/proportional_los.cpp 100.00% <100.00%> (ø)
guidance/los_guidance/src/lib/vector_field_los.cpp 100.00% <100.00%> (ø)
guidance/los_guidance/test/test_main.cpp 100.00% <100.00%> (ø)
guidance/los_guidance/src/lib/integral_los.cpp 96.77% <96.77%> (ø)
...ce/los_guidance/include/los_guidance/lib/types.hpp 71.42% <71.42%> (ø)
guidance/los_guidance/src/lib/adaptive_los.cpp 93.47% <93.47%> (ø)
...ance/los_guidance/test/los_invalid_params_test.cpp 87.87% <87.87%> (ø)
... and 5 more
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Contributor

@Q3rkses Q3rkses left a comment

Choose a reason for hiding this comment

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

initial comments, fix them and i can review again

@anbit-adhi anbit-adhi requested a review from Q3rkses March 31, 2026 11:42
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.

4 participants