Skip to content

chore: flatten dubins - #371

Open
AskewParity wants to merge 2 commits into
mainfrom
chore/flatten-dubins
Open

AskewParity wants to merge 2 commits into
mainfrom
chore/flatten-dubins

Conversation

@AskewParity

@AskewParity AskewParity commented Jul 28, 2026 •

Copy link
Copy Markdown
Contributor

I'm on a quest to speed up pathing (begone OOP)

Changes

Besides lint, the changes are to dubins.xpp, where we change the class into a struct.

This removes the need for every class to create a brand new Dubin's object for what is essentially a set of funcitons.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Unresolved Dubins configuration, angle-wrapping, and test-selection issues block approval.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 3 High severity

Open (3)
What changed in this PR

This pull request flattens Dubins pathing into namespace-level APIs and shared configuration while updating callers, tests, includes, and style settings.

Changes:

  • Replaces Dubins instances with namespace functions and global parameters.
  • Updates pathing planners, tests, and configuration.
  • Adds missing includes and formatting/build adjustments.
  • Requires fixes for shared mutable configuration, negative remainder handling, and tree test option selection.
File Reviewed changes
tests/​unit/​pathing/​tree_test.cpp Migrates tree tests; shortest-option selection requires correction.
tests/​unit/​pathing/​dubins_test.cpp Updates Dubins API and configuration tests.
tests/​unit/​pathing_test.cpp Updates pathing test usage.
src/​utilities/​obc_config.cpp Initializes shared Dubins parameters; global state can overwrite planner configuration.
src/​utilities/​datatypes.cpp Adds standard-library includes.
src/​ticks/​mission_prep.cpp Adds vector include.
src/​ticks/​manual_landing.cpp Adds string include.
src/​pathing/​tree.cpp Uses namespace-level Dubins functions.
src/​pathing/​static.cpp Removes Dubins object ownership.
src/​pathing/​plotting.cpp Reorganizes includes.
src/​pathing/​mission_path.cpp Replaces C-style casts.
src/​pathing/​dubins.cpp Implements flattened Dubins operations; negative remainder handling can create near-full-circle turns.
src/​network/​udp_server.cpp Adds standard-library includes.
src/​network/​udp_client.cpp Adds string and vector includes.
src/​network/​mavlink.cpp Adds utility include.
src/​network/​gcs_routes.cpp Adds container and utility includes.
src/​network/​airdrop_client.cpp Adds list include.
src/​cv/​yolo.cpp Adds standard-library includes.
src/​cv/​utilities.cpp Adds vector include.
src/​cv/​pipeline.cpp Adds standard-library includes.
src/​cv/​mapping.cpp Adds utility include.
src/​cv/​localization.cpp Adds required standard-library includes.
src/​cv/​hdr.cpp Adds string and vector includes.
src/​cv/​clustering.cpp Reorganizes includes.
src/​cv/​aggregator.cpp Adds container and utility includes.
src/​core/​obc.cpp Adds standard-library includes.
src/​core/​mission_state.cpp Adds string and set includes.
src/​core/​mission_parameters.cpp Adds string and vector includes.
src/​camera/​rpi.cpp Reorganizes includes.
src/​camera/​mock.cpp Adds standard-library includes.
src/​camera/​interface.cpp Adds standard-library includes.
include/​utilities/​http.hpp Adjusts namespace formatting.
include/​pathing/​tree.hpp Removes Dubins object dependency.
include/​pathing/​static.hpp Removes stored Dubins members.
include/​pathing/​dubins.hpp Defines namespace API; shared mutable parameters can affect independent planners.
include/​network/​udp_client.hpp Fixes include path.
include/​network/​serialize.hpp Adjusts namespace formatting.
CMakeLists.txt Updates cpplint filtering.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread include/pathing/dubins.hpp
Comment thread src/pathing/dubins.cpp
Comment thread src/utilities/obc_config.cpp

@kimichenn kimichenn left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

lgtm

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.

3 participants