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
This commit is contained in:
cyy
2026-07-03 07:14:57 +00:00
parent 7c07eb66c8
commit 85598eaa51
6 changed files with 53 additions and 16 deletions

View File

@@ -1,6 +1,7 @@
#pragma once
#include "car_nav_lite/types.hpp"
#include "car_nav_lite/fence_model.hpp"
#include <string>
#include <array>
@@ -54,6 +55,7 @@ public:
// ── Pre-built obstacle marks ───────────────────────
void markCircle(double wx, double wy, double radius, uint8_t value = 255);
void markCone(double wx, double wy, double radius, uint8_t value = 255);
void markFenceModel(const FenceModel& fence, double thickness = 0.04);
void markRect(double x1, double y1, double x2, double y2, uint8_t value = 255);
// ── Getters ────────────────────────────────────────

View File

@@ -20,6 +20,7 @@ public:
double expected_size = 5.0, double size_tol = 0.35,
double ransac_thresh = 0.04);
void reset() { points_world_.clear(); scan_count_ = 0; }
int scanCount() const { return scan_count_; }
const std::vector<Eigen::Vector2d>& points() const { return points_world_; }