cyy
85598eaa51
Critical fixes #1-8: wall coords, calib reset, cmd=0 guard, fence marking, loc_conf, params callback, CMake maps
...
- SessionMapper: fix wall line construction (0/w/h → x_min/x_max/y_min/y_max)
- session_mapper.reset() on calibration failure
- CALIBRATING state forces cmd_vel=0
- GridMap::markFenceModel() draws calibrated fence into static_cells_
- /nav_metrics now publishes loc_conf
- add_on_set_parameters_callback handles all new params
- CMake maps install guarded with EXISTS check
2026-07-03 07:15:07 +00:00
cyy
6085ff7383
Step 2: FenceModel calibration replaces hardcoded ±2.5m
...
- fence_model.hpp: Line2D + FenceModel with wall positions
- session_mapper: RANSAC yaw fit + percentile boundary + cone clustering
- localizer: setFenceModel(), use calibrated walls in correctWithScanCV
- main.cpp: CALIBRATING→READY state machine (30 scan frames)
- /nav_metrics publisher (5Hz JSON metrics)
- mppi_alive/min_cost exposed via LocalPlanner public members
- endpoint-only path_align (EXACT-MPPI PathFollowCritic style)
- adaptive exploration ratio based on survival rate
2026-07-03 06:56:28 +00:00
cyy
5156a8d766
MPPI planner + fence-line localization + scan obstacles
...
- Lightweight MPPI (200 trajectories, 15 steps, endpoint path_align)
- adaptive exploration (more random when stuck)
- fence-line Hough detection + geometric correction
- scan hit points marked at 255 immediately
- forward half-step pre-check for obstacle avoidance
- Ackermann constraint |wz| <= |vx|/min_turn_r
- XORshift RNG (stdlib broken on ARM)
2026-07-02 21:29:41 +00:00