模型每类阈值+配置热重载+雷达纯距离触发+速度min不叠加+弯道参数化

This commit is contained in:
spdis
2026-06-21 14:15:53 +08:00
parent 95a46c130d
commit 40d5cb1604
11 changed files with 234 additions and 147 deletions
+4 -1
View File
@@ -1,3 +1,6 @@
# 主程序
add_executable(smartcar_demo1 main.cpp)
target_link_libraries(smartcar_demo1 common_lib ${OpenCV_LIBS})
target_link_libraries(smartcar_demo1 common_lib ${OpenCV_LIBS})
add_executable(lidar_test lidar_test.cpp)
target_link_libraries(lidar_test common_lib)
+49
View File
@@ -0,0 +1,49 @@
#include <cstdio>
#include <csignal>
#include <atomic>
#include <unistd.h>
#include "vl53l0x.h"
static std::atomic<bool> running(true);
static void on_signal(int) { running.store(false); }
int main()
{
setvbuf(stdout, NULL, _IONBF, 0);
std::signal(SIGINT, on_signal);
std::signal(SIGTERM, on_signal);
VL53L0X sensor;
if (!sensor.init()) {
fprintf(stderr, "VL53L0X init failed\n");
return 1;
}
sensor.startMeasure();
printf("lidar_test running, Ctrl+C to stop\n");
printf("%-8s %-8s %-10s\n", "cnt", "range_mm", "status");
int count = 0;
VL53L0X_RangingMeasurementData_t data;
while (running.load()) {
if (!sensor.readResult(data)) {
printf("%-8d %-8s %-10s\n", ++count, "ERR", "timeout");
sensor.startMeasure();
usleep(50000);
continue;
}
int range = data.RangeMilliMeter;
const char* st = (data.RangeStatus == 0) ? "OK" : "SIGMA";
printf("%-8d %-8d %-10s\n", ++count, range, st);
sensor.startMeasure();
usleep(30000);
}
sensor.stop();
printf("stopped\n");
return 0;
}
-16
View File
@@ -20,22 +20,6 @@ int main(void)
cfg_load_all();
double avoid_gain_val = readDoubleFromFile(cone_avoid_gain_file);
int avoid_range_val = (int)readDoubleFromFile(cone_avoid_range_file);
int hold_frames_val = (int)readDoubleFromFile(cone_hold_frames_file);
if (avoid_gain_val > 0) g_cfg.cone_avoid_gain = avoid_gain_val;
if (avoid_range_val > 0) g_cfg.cone_avoid_range = avoid_range_val;
if (hold_frames_val > 0) g_cfg.cone_hold_frames = hold_frames_val;
double lidar_gain_val = readDoubleFromFile(lidar_avoid_gain_file);
int lidar_range_val = (int)readDoubleFromFile(lidar_avoid_range_file);
int lidar_hold_val = (int)readDoubleFromFile(lidar_hold_frames_file);
int lidar_thresh_val = (int)readDoubleFromFile(lidar_thresh_file);
if (lidar_gain_val > 0) g_cfg.lidar_avoid_gain = lidar_gain_val;
if (lidar_range_val > 0) g_cfg.lidar_avoid_range = lidar_range_val;
if (lidar_hold_val > 0) g_cfg.lidar_hold_frames = lidar_hold_val;
if (lidar_thresh_val > 0) g_cfg.lidar_thresh = lidar_thresh_val;
if (CameraInit(0) < 0) {
std::cerr << "CameraInit failed" << std::endl;
return -1;