Skip to content

Fix Code Style On params/06-planning - #2595

Open
github-actions[bot] wants to merge 9 commits into
params/06-planningfrom
fix-code-style/params/06-planning
Open

github-actions[bot] wants to merge 9 commits into
params/06-planningfrom
fix-code-style/params/06-planning

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

This pull request contains automatic style formatting for PR #2593. @yuvrajdhadwal, please merge this branch into your own to pass style checks!

@github-actions
github-actions Bot force-pushed the fix-code-style/params/06-planning branch 2 times, most recently from 96210f9 to 0ca622c Compare October 12, 2026 00:31
@github-actions
github-actions Bot force-pushed the fix-code-style/params/06-planning branch from 0ca622c to ae241ce Compare October 12, 2026 01:29
Adds rj_utils::declare_required_param<T>(node, name, description). It
declares a parameter with its type and description and no default, and
returns its value from the node's params file. A key missing from the
YAML, or given the wrong type, throws at startup naming the node and key.
(Humble does not throw on its own for a typed param with no value, so the
helper checks.)

Every migrated node uses it and no longer auto-declares params from the
params file. Params are read once at startup; to change one, edit the
YAML and restart the node.

Also fixes launch files that referenced a nonexistent sim.yaml.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions
github-actions Bot force-pushed the fix-code-style/params/06-planning branch from ae241ce to 7cbdf24 Compare October 12, 2026 02:01
jvogt23 and others added 7 commits October 13, 2026 19:53
Declares timeout instead of the DEFINE macro and LocalROS2ParamProvider,
drops the global param provider, and removes the rj_param_utils
dependency. The radio node no longer auto-declares params.

sim_radio's interface had a silent localhost fallback (a workaround for
sim2play, whose launch path no longer exists). It is now required, and
real_params.yaml gets interface: 127.0.0.1 so running the sim radio with
the real params behaves as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Motion control already read its gains and limits from /control; the
LocalROS2ParamProvider and global param provider were unused and are
removed. Params are now declared, read once at startup:

- Limits shared by every robot (max_velocity, max_angular_velocity,
  windups) are declared once on the node and passed to each controller.
  Before, all 16 controllers read the same keys.
- Each controller declares its own robot_N.* gains.
- Controllers are held by unique_ptr and are non-copyable/non-movable,
  since their subscriptions capture this.
- Removes max_acceleration, which was read but never used.

kNumShells is 16 but the YAMLs only had gains for robot_0..robot_5, so
shells 6-15 ran with uninitialized gains. Adds robot_6..robot_15 to both
YAMLs with robot_5's values.

motion_control_test now gives its node the gains; it used to build a
controller on a bare node with uninitialized gains.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
rj_ui had no parameters of its own; it only started the global param
provider to sync the soccer.* globals used by rj_common (layer 11
replaces those).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Removes straight_line_test_node instead of migrating its params: the
node, its LineTest message, the run_line_test launch argument, the
run-sim-line-test / run-line-test-stack / run-real-line-test make
targets, the line branch of framework.bash, and its YAML entries. The
Line position stays; the gameplay robot factory uses it.

Also drops the global param provider and auto-declared params from the
agent action client nodes, which read no params.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replaces every planning PARAM_* global and deletes planning_params from
rj_param_utils.

- PlannerNode declares every /planner param once at startup
  (load_planning_params) into a PlanningParams struct and shares it
  read-only with each PlannerForRobot. Each PlanRequest carries it and
  planners read request.params, so planners no longer touch the node.
- Replanner::PlanParams takes ReplannerParams + IntermediateParams.
- MotionConstraints, RotationConstraints and RobotConstraints move from
  rj_common to rj_planning.
- Removes dead params: escape.* (unused since main removed RRT) and six
  collect.* values nothing has read since before this migration.
- SettlePathPlanner::invalid() passes intermediate params like the other
  call sites.
- settle_path_planner.hpp includes what it uses (it relied on unity-build
  batching).
- planner_test loads the params from sim_params.yaml exactly like
  PlannerNode, so it also catches a missing key.

The play-state speed cap still replaces max_translational_speed, as it
always has, so that param has no effect today (see make_request).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jvogt23
jvogt23 force-pushed the params/06-planning branch from c16c373 to 4fafbc5 Compare October 14, 2026 00:23
@github-actions
github-actions Bot force-pushed the fix-code-style/params/06-planning branch from 7cbdf24 to cb10cfd Compare October 14, 2026 00:24
@jvogt23
jvogt23 force-pushed the params/06-planning branch 4 times, most recently from 3c5d4d9 to a331636 Compare October 19, 2026 01:34
@jvogt23
jvogt23 force-pushed the params/06-planning branch 2 times, most recently from 1e1a7dc to 9ab8223 Compare October 21, 2026 04:01

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants