AetherPendragon
a328093dbb
删除多余文件
2 weeks ago
AetherPendragon
704b32335b
删除多余文件
2 weeks ago
AetherPendragon
b914aaa73c
新增 threat_fusion 模块,实现无人机多模态威胁检测与避障功能:
...
核心功能:
- 多模态融合引擎:融合热成像、闪光检测、声源定位三种感知模态
- 空间关联算法:基于方位角(±15°窗口)关联不同模态的检测结果
- 威胁等级评估:SAFE/CAUTION/WARNING/DANGER/CRITICAL 五级威胁
- 避障控制器:基于斥力场算法生成 ENU 速度指令,与 uav_control 集成
- 云台追踪:支持 AT10 吊舱目标追踪(仿真模式)
仿真支持:
- flash_detector_node.py: 闪光检测仿真节点(基于图像亮度突变)
- acoustic_analyzer_node.py: 声源检测仿真节点(JSON格式威胁输出)
- 完整 Gazebo/PX4 SITL 集成测试方案
技术细节:
- C++17 实现,ROS Noetic 兼容
- 发布 prometheus_msgs/UAVCommand 避障指令
- 地理围栏检查与安全速度限制对齐 uav_control 配置
- 时间窗口缓存机制确保跨模态数据同步
编译:
- 更新 compile_all.sh 添加 threat_fusion 模块编译
文档:
- README.md: 模块使用说明
- docs/GAZEBO_TEST.md: 完整仿真测试指南"
2 weeks ago
pkx2w7qjn
e1e4159a23
Delete '适配程度评估报告.md'
2 weeks ago
赵昌
56bd9ec6e7
智途投送软件系统 - 完整初始提交
...
包含全部源代码和文档(修复子模块问题)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
赵昌
546e8424d4
智途投送软件系统 - 初始提交
...
单兵终端APP: 任务/无人机动态页面、地图标注、需求实时跟踪
后端: 区域标注系统、安全系数计算、任务调度流程
电脑端: 安全区域面板、高德地图、无人机状态推送
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2 weeks ago
赵昌
aafa277b97
fix: 修复单兵终端APP + 声源分析模块严重问题
...
单兵终端APP:
- 修复 index.html 多余字符 </nav>1
- 补齐缺失函数 toggleTheme / showChangePasswordModal / selectDropPointFromMap
- 修复数量验证逻辑漏洞(parseInt + isNaN 检查)
- 移除 index.html 同步高德脚本,location.js Key 改为可配置
- 为 loadDroneStatus DOM 操作添加空值保护(setText 辅助函数)
声源分析模块:
- AudioBuffer: 构造函数防除零(capacity=0 时设为 1),head_/tail_/size_ 改为 atomic
- acoustic_node: 添加 expandFindPath() 展开 YAML 语法
- gcc_phat_localizer: 修复 nfft 整数溢出,循环索引统一用 size_t
- mobile_phone_source: UDP 接收队列加容量上限(5 秒音频),超限时丢弃旧数据
文档:
- 新增前后端对接文档
- 新增适配程度评估报告
- 新增单兵终端+声源分析问题清单
- 新增多模态融合声学订阅补丁(需协调其他组)
2 weeks ago
赵昌
a0ce10eee0
merge: 合并master分支,保留后端持久化+Token认证+前端修复
...
冲突解决:
- app.py: 保留SQLite持久化、Token认证、数据库计数器修复
- app.js: 保留公网API地址(121.41.216.243)、登录态管理
- api.js: 合并changePassword + setBase/setToken/getToken导出
2 weeks ago
赵昌
0d2dba3910
fix: 后端主键冲突修复 + Token持久化 + 部署脚本 + 操作手册
...
- 修复需求上报/任务分配 500 错误:内存计数器改为数据库查询
- 修复危险区域 ID 错乱:改用 lastrowid 获取自增 ID
- 后端:SQLite 持久化 + Werkzeug 密码哈希 + Token 数据库存储
- 前端:API 统一封装 + Token 自动携带 + Mock 兜底
- 新增 deploy_safe.sh 自适应部署脚本
- 新增后端操作手册
2 weeks ago
p82feo7wg
3c18f57d01
Merge pull request '提交多模态融合和热成像' ( #10 ) from wangjiaqi23 into master
2 weeks ago
Surponess
31b1a378ad
新增热成像和多模态融合
2 weeks ago
pg6wepubk
3fc545d580
Merge pull request '闪光检测前端模块合并' ( #9 ) from mc_branch into master
2 weeks ago
camelliamc
5582217733
闪光检测模块前端合并
2 weeks ago
pg6wepubk
aa14a5f616
Merge pull request '新增闪光检测模块及优化单兵终端APP系统设置' ( #8 ) from mc_branch into master
2 weeks ago
camelliamc
711ab614e2
Merge remote-tracking branch 'origin/master' into mc_branch
2 weeks ago
camelliamc
945651ca14
添加闪光检测模块以及优化单兵终端APP
2 weeks ago
pkx2w7qjn
735f46766b
Merge pull request '添加声源分析模块' ( #7 ) from zhaochang_branch into master
2 weeks ago
赵昌
ed014e08a0
chore: cleanup CMakeLists, expand .gitignore, add CHANGELOG
...
- CMakeLists.txt: remove extra blank lines, fix install rule condition
- .gitignore: add build/, IDE, Python cache, OS files, model artifacts
- CHANGELOG.md: document recent improvements (tests, FFT, ONNX, API changes)
- README.md: add link to CHANGELOG
- Remove build artifacts from git tracking
2 weeks ago
赵昌
e451d75ab5
feat(demo): Add --help, fix run_demo.bat path, add iostream to classifier
...
- Add --help/-h CLI option to demo_offline with usage description
- Fix run_demo.bat validation dataset path: dataset\val -> dataset\binary\val
- Add missing #include <iostream> to gunshot_classifier.cpp for error messages
- All tests pass: test_core_lib 9/9, demo_offline 20/20
2 weeks ago
赵昌
31e2470090
feat(tests): Add boundary tests, model error messages, gitattributes
...
- Add model file existence check and ONNX error output in gunshot_classifier
- Add 3 new unit tests to test_core_lib:
- audio_buffer_overflow: verifies capacity capping behavior
- distance_estimator_multi_class: verifies gunshot/artillery/explosion refs
- threat_tracker_filtering: verifies min_event_interval deduplication
- Add .gitattributes to mark .onnx, .bin, .wav as binary files
- All 9 core tests pass
2 weeks ago
赵昌
6abe18d417
style(acoustic): Complete size_t -> std::size_t cleanup across all files
...
- Fix remaining bare 'size_t' in pipeline.cpp, gunshot_classifier.cpp,
threat_tracker.cpp, mobile_phone_source.cpp
- All tests pass: test_core_lib 6/6, demo_offline 20/20
2 weeks ago
赵昌
25ce259113
feat(classifier): Add JSON label map support, fix encapsulation
...
- Rewrite LoadLabelMap to support both JSON object format and legacy line format
- Fix CMakeLists.txt test command to use existing WAV file path
- Move WavFileSource::parse_wav_header and resample_if_needed to private section
- Verify JSON label_map works: demo_offline correctly loads and classifies
- All tests pass: test_core_lib 6/6, demo_offline 20/20
2 weeks ago
赵昌
c5c16ad74b
style(acoustic): Unify size_t to std::size_t, fix hardcoded SPL, add threshold CLI
...
- Replace all bare 'size_t' with 'std::size_t' in core/*.cpp, io/*.cpp, headers
- Fix distance_estimator: 'threat' class now uses config.ref_spl_gunshot instead of hardcoded 150.0f
- Add --threshold CLI arg to demo_offline (default 0.5)
- Rewrite mobile_phone_source.cpp to match PIMPL header API
- All tests pass: test_core_lib 6/6, demo_offline 20/20, extract_mel_cpp, test_classifier_cpp
2 weeks ago
赵昌
4a6908df18
fix(ros): Update ROS wrapper to match current Pipeline API
...
- Rewrite acoustic_node.cpp:
- Use PipelineConfig instead of removed PipelineParams
- Use Pipeline::Process(flat_samples) returning AcousticFrame
- Remove obsolete init() and process_single_channel() calls
- Add flatten_audio helper for interleaved multi-channel data
- Rewrite threat_publisher.cpp:
- Implement ThreatPublisher::Impl PIMPL pattern
- Accept AcousticFrame instead of old TrackedThreat vector
- Add NumPublished() counter
- Fix CMakeLists.txt: remove stale KISSFFT_DIR from test includes
- Add build_core_test.bat for compiling all test targets on Windows
- All core tests pass (test_core_lib 6/6)
2 weeks ago
赵昌
81879be4bc
perf(fft): Replace DFT with Cooley-Tukey FFT (33x speedup)
...
- Implement iterative complex FFT in fft_utils.cpp (power-of-2 only)
- Replace O(n^2) DFT with O(n log n) FFT in compute_power_spectrum
- Validation time drops from ~3200ms to ~97ms total (~160ms -> ~5ms per file)
- All tests pass (test_core_lib 6/6, demo_offline 20/20)
2 weeks ago
赵昌
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
2 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
2 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
2 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
2 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
2 weeks ago
p5vjqsb6e
36ee57ecdd
Merge pull request '修改px4 , 新添加自主路径规划模块(offline_task_manager)' ( #6 ) from luogang_branch into master
2 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 写入和模式切换
2 weeks ago
camelliamc
b65beebb67
修改app.py
2 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
3 weeks ago
Surponess
8e51aeb0ff
提交电脑端初期设计喝所有ui设计供参考
3 weeks ago
p82feo7wg
d5080c4aac
Merge pull request '修改需求报告' ( #3 ) from wangjiaqi23 into master
3 weeks ago
Surponess
2b2ee3a8c9
修改构思文档补充内容
3 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