赵昌
9911ad279d
fix(tests): Rewrite all test files to match current API
...
- Rewrite test_core_lib.cpp: update AudioBuffer, FeatureExtractor, GccPhatLocalizer,
DistanceEstimator, ThreatTracker APIs
- Rewrite test_classifier_cpp.cpp: update FeatureExtractor and GunshotClassifier APIs
- Rewrite extract_mel_cpp.cpp: update FeatureExtractor API
- All tests compile and pass on Windows MinGW
- test_core_lib: 6/6 tests pass including GCC-PHAT azimuth=90 verification
- test_classifier_cpp: correctly classifies ambient sample
- extract_mel_cpp: outputs 64x63 Mel spectrogram with correct value range
3 weeks ago
赵昌
40379d174f
perf(acoustic): Optimize classifier and demo, remove dead code
...
- Cache Ort::MemoryInfo and I/O names in gunshot_classifier (avoid per-inference alloc)
- Reuse single FeatureExtractor across all files in demo_offline
- Add per-file and total inference timing to demo_offline
- Remove third_party/kiss_fft directory (fully replaced by inline FFT)
- Update fft_utils.h comments to remove stale kiss_fft references
- Verify 20/20 validation accuracy maintained, ~160ms avg per file
3 weeks ago
赵昌
8dddc3fd48
refactor(acoustic): Add docs, gitignore, cleanup deps, enhance WAV reader
...
- Add README.md with module overview, build instructions, ROS integration
- Add .gitignore for build artifacts, IDE files, Python cache
- Remove kiss_fft references from build_demo.bat and CMakeLists.txt
- Enhance wav_file_source: support 8/16/24/32-bit PCM and 32-bit float WAV
- Verify 20/20 validation accuracy maintained after all changes
3 weeks ago
赵昌
6928e85232
refactor(acoustic): Multiple quality improvements
...
- Fix build_demo.bat syntax error (missing newline)
- Enhance demo_offline: recursive WAV traversal, accuracy report, confusion matrix
- Eliminate deprecated wstring_convert warning in gunshot_classifier (use MultiByteToWideChar)
- Optimize fft_utils: cache DFT twiddle factors per thread (avoid per-frame recompute)
- Make CMakeLists.txt gracefully skip yaml-cpp/pipeline when not available
- Replace kiss_fft dependency in gcc_phat_localizer with inline iterative FFT
- Add batch_test.bat for one-click validation
- Verify 20/20 correct on validation set
3 weeks ago
赵昌
e589cdd874
feat(acoustic): Recover full acoustic analyzer module with buildable demo
...
- Recover all 50+ source/header/script files from conversation history
- Regenerate synthetic binary dataset (ambient vs threat)
- Retrain CNN-GRU classifier: 15 epochs, 90.4% train / 100% val accuracy
- Export ONNX model with MaxPool1d workaround for opset 13 compatibility
- Fix recovered file API mismatches (AudioBuffer, Pipeline, demo_offline)
- Replace kiss_fft with inline DFT in fft_utils.cpp (no external lib needed)
- Add missing #include <memory> to PIMPL headers
- Fix ONNX input layout: [batch, time_frames, n_mels]
- Downgrade ORT_API_VERSION 20 -> 17 for local DLL compatibility
- Simplify build_demo.bat for Windows MinGW (no yaml-cpp dependency)
- Verify demo_offline.exe on validation set: 20/20 correct classifications
3 weeks ago
p5vjqsb6e
36ee57ecdd
Merge pull request '修改px4 , 新添加自主路径规划模块(offline_task_manager)' ( #6 ) from luogang_branch into master
3 weeks ago
AetherPendragon
b13a8121fb
新增离线任务管理模块 offline_task_manager,实现无人机自主任务规划与执行
...
本提交新增了一个 PX4 内部模块,用于无人机的离线任务托管和自动航线执行。
主要功能:
- 从本地 JSON 文件读取离线规划任务点 (/tmp/offline_tasks.json)
- 基于最近邻算法进行路径规划,支持任务优先级和紧急任务插队
- 电池电量感知与低电量任务过滤(支持模拟和真实电池)
- 自动生成 PX4 mission 并写入 dataman 持久化存储
- 完整状态机:IDLE → 等待home点 → 等待GPS定位 → 加载任务文件
→ 验证任务 → 规划路径 → 写入mission → 启动任务 → 监控执行
- 自动发送解锁命令并切换至 AUTO_MISSION 飞行模式
模块组成:
- offline_task.hpp/cpp: 任务数据结构定义与路径规划器
- cJSON.h/c: 嵌入式 JSON 解析库(最小实现)
- offline_task_parser: JSON 文件读取与校验
- offline_task_manager: 主模块,集成 PX4 uORB、dataman 与参数系统
新增参数:
- OTM_ENABLE: 启用/禁用模块
- OTM_START: 触发任务执行
- OTM_LOW_BATT: 低电量阈值
- OTM_FILE_PATH: 任务文件路径
关键修复:
- 在切换 AUTO_MISSION 模式前先发送 ARM 解锁命令,确保无人机正常起飞
- 使用 haversine 公式计算地球表面两点距离
集成说明:
- 添加到 amovlab_sitl_default 和 px4_sitl_default 构建目标
- 订阅 uORB 主题:mission、vehicle_command、battery_status、
vehicle_global_position、home_position
- 通过 vehicle_command 主题发送 MAVLink 模式切换命令
- 使用 dataman 存储离线任务 mission items
测试验证:
- SITL 仿真环境验证通过
- 支持最多 32 个离线任务点
- 成功实现任务加载、路径规划、mission 写入和模式切换
3 weeks ago
camelliamc
b65beebb67
修改app.py
3 weeks ago
pkx2w7qjn
5b519ee358
Merge pull request '完成单兵终端初始版本' ( #5 ) from zhaochang_branch into master
3 weeks ago
赵昌
c80538a00e
更新单兵终端APP
3 weeks ago
赵昌
8f2f100cb1
单兵终端APP初次提交
3 weeks ago
p82feo7wg
9937ca64c5
Merge pull request '提交电脑端初期设计和所有ui设计供参考' ( #4 ) from wangjiaqi23 into master
4 weeks ago
Surponess
8e51aeb0ff
提交电脑端初期设计喝所有ui设计供参考
4 weeks ago
p82feo7wg
d5080c4aac
Merge pull request '修改需求报告' ( #3 ) from wangjiaqi23 into master
4 weeks ago
Surponess
2b2ee3a8c9
修改构思文档补充内容
4 weeks ago
p82feo7wg
1d9c2c8ddd
新增软件前端初版
1 month ago
Surponess
a36b34837e
新增软件前端初版
1 month ago
p82feo7wg
d358997df8
新增文档
2 months ago
Surponess
424531a570
新增软件构思和软件需求规格说明书
2 months ago
p82feo7wg
6845b3572d
Initial commit
3 months ago