Skip to content

[codex] Add MPPI path-angle critic#195

Merged
rsasaki0109 merged 1 commit into
masterfrom
codex/mppi-path-angle-critic
Jun 11, 2026
Merged

[codex] Add MPPI path-angle critic#195
rsasaki0109 merged 1 commit into
masterfrom
codex/mppi-path-angle-critic

Conversation

@rsasaki0109

Copy link
Copy Markdown
Owner

Summary

  • add a GPU MPPI path-angle critic controlled by path_angle_weight (default 0.25)
  • expose the parameter through C++/Python core headers, Python bindings, Nav2 dynamic params, validation, and example configs
  • add controller_benchmark ... path_angle plus checked-in CSV/Markdown results, and refresh the ESDF report with the new default critic enabled
  • update README/docs/site/plan references for the new critic and benchmark report

Notes

The rollout kernel computes a local path tangent around the follow point and adds a light yaw-error stage cost. Reverse samples compare against path_tangent + pi; the existing backward-motion critic still decides whether reverse motion is worth using.

A stronger path_angle_weight=2.0 over-selected stationary straight-heading rollouts in the standalone wall-gap smoke. The checked-in default is tuned to 0.25, which keeps the straight/corridor smoke cells successful and improves the corrected u_turn K8192 time-to-goal from 44.75 s to 39.9 s in the local benchmark.

Validation

  • source /opt/ros/humble/setup.bash && colcon build --packages-select cuda_mppi_controller --cmake-args -DCMAKE_BUILD_TYPE=Release
  • source /opt/ros/humble/setup.bash && source install/setup.bash && ros2 run cuda_mppi_controller parameter_validation_test
  • source /opt/ros/humble/setup.bash && source install/setup.bash && ros2 run cuda_mppi_controller mppi_gpu_standalone 2048
  • source /opt/ros/humble/setup.bash && source install/setup.bash && ros2 run cuda_mppi_controller controller_benchmark /tmp/mppi_path_angle_u_turn u_turn
  • source /opt/ros/humble/setup.bash && source install/setup.bash && ros2 run cuda_mppi_controller controller_benchmark /tmp/mppi_path_angle_esdf esdf
  • source /opt/ros/humble/setup.bash && source install/setup.bash && ros2 run cuda_mppi_controller controller_benchmark /tmp/mppi_path_angle_bench path_angle
  • python3 -m py_compile scripts/render_cuda_mppi_esdf_benchmark.py python/src/cudarobotics/__init__.py
  • git diff --check
  • forbidden hardware-string scan: no matches

Python native extension smoke was not rerun locally because scikit-build-core and nanobind are not installed in this environment.

@rsasaki0109 rsasaki0109 marked this pull request as ready for review June 11, 2026 08:16
@rsasaki0109 rsasaki0109 merged commit babfd43 into master Jun 11, 2026
5 checks passed
@rsasaki0109 rsasaki0109 deleted the codex/mppi-path-angle-critic branch June 11, 2026 08:16
rsasaki0109 added a commit that referenced this pull request Jun 17, 2026
rsasaki0109 added a commit that referenced this pull request Jun 17, 2026
rsasaki0109 added a commit that referenced this pull request Jun 17, 2026
rsasaki0109 added a commit that referenced this pull request Jun 17, 2026
rsasaki0109 added a commit that referenced this pull request Jun 17, 2026
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.

1 participant