Commit Graph

66 Commits

Author SHA1 Message Date
eeade5553f 去掉数据库冗余pathname字段,将“PathRouteId”更改为“RouteId” 2026-01-28 19:19:23 +08:00
c117e0d0c3 重构碰撞检测参数,替换为检测容差;更新相关配置和UI显示,确保一致性 2026-01-26 00:25:05 +08:00
6dc266e526 增加批处理任务功能,实现基本功能框架和UI,后续还需完善 2026-01-24 19:56:23 +08:00
760786d9b1 清理废弃的连线标记,更新异步方法调用方式 2026-01-14 12:12:22 +08:00
8424503576 新增空轨数据结构、自动提取基准路径并可视化、路径点吸附空轨基准路径功能 2026-01-11 16:52:07 +08:00
6cc48c3500 把曲线化路径与动画集成 2026-01-05 12:48:57 +08:00
93135d3c29 增加了路径曲线化的方案,实现了基础的曲线化路径数据结构和存储,以及曲线化核心算法 2025-12-30 18:29:41 +08:00
d63896bf63 基本实现物流对象沿着路径转向的功能 2025-12-19 10:13:41 +08:00
2a8425d529 基本实现手工指定碰撞检测对象 2025-12-11 10:52:09 +08:00
7446431f9c 增加了虚拟物流车辆动画生成和碰撞检测功能 2025-12-10 16:59:35 +08:00
e5b8501a63 将ClashDetective检测模式从HardConservative改为Hard,提高检测性能 2025-12-10 14:36:06 +08:00
23801726ab 临时测试对象引用无效,回复未优化ClashDetective测试的版本; 2025-12-10 13:23:24 +08:00
941bade44a 复用ClashTest,大幅优化碰撞检测性能 2025-12-09 10:51:11 +08:00
393e1c7291 碰撞检测时,只处理可见对象,大幅优化性能。 2025-12-09 10:06:08 +08:00
4736372552 修改了碰撞性能优化记录文档 2025-12-08 17:24:42 +08:00
01f200ca60 改进了动画预计算的几何缓存和空间索引缓存方法,提高了50%的性能。大型模型(50万)提高到120秒 2025-12-08 17:21:34 +08:00
f8320066c1 优化碰撞检测算法,进行合理的去重后再检测;优化动画控制逻辑,避免重复订阅事件和资源清理; 2025-12-08 12:31:12 +08:00
221e13cb5a 更新项目进度评估报告 2025-12-01 11:35:44 +08:00
5e1e4b04b2 对项目完成度进行了评估,列出报告;实现了JSON路径文件导入功能。 2025-11-07 15:13:28 +08:00
b0a63409b9 删除一些多余代码,注释掉文档更新刷新物流元素列表代码 2025-10-21 17:44:35 +08:00
27908540c2 实现XY平面膨胀算法和3D体素路径规划
本次提交包含三个主要改进:

1. XY平面膨胀算法(VoxelGrid.cs)
   - 实现简单迭代形态学膨胀
   - 只在水平方向(XY平面)的4邻域膨胀
   - 不在Z方向(垂直方向)膨胀
   - 符合车辆物流场景:车辆只侧面/顶部碰撞障碍物

2. 3D体素路径规划(VoxelPathFinder.cs)
   - 集成RoyT.AStar库进行3D A*路径规划
   - 支持体素网格上的路径搜索
   - 添加VoxelPathFindingTestCommand测试命令

3. UI和测试改进
   - 删除旧的包围盒测试命令(VoxelGridTestCommand.cs)
   - 更新SystemManagementView UI
   - 添加体素路径规划测试功能

核心设计原则:
- 门模型在SDF生成前被排除(留出通道空洞)
- SDF阶段只标记几何体内部为障碍物
- 安全间隙仅在XY平面膨胀阶段应用
- 避免Z方向的错误膨胀

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-12 21:13:02 +08:00
1e11f60042 feat(voxel): 实现障碍物膨胀算法 - 阶段1.5完成
完成任务1.5 - 障碍物膨胀算法(Obstacle Inflation)

核心实现:
-  VoxelGrid.InflateObstacles() 主方法(约200行)
-  PerformFastSweeping() 8方向扫描
-  Sweep() 单向距离传播
-  CheckAndUpdate() 邻居距离更新
-  从geometry4Sharp移植Fast Sweeping算法

技术特性:
- 3D距离变换使用DenseGrid3f存储距离场
- 8方向扫描:(+1,+1,+1), (-1,-1,-1)等8个方向
- 每次扫描检查7个邻居进行距离更新
- 门类型体素保护机制(门不膨胀)
- 正确的模型单位转换处理

性能数据(gatehouse_pub.nwd):
- 初始障碍物:3,747个体素
- 膨胀后障碍物:4,477个体素
- 新增膨胀:730个体素(19.5%增量)
- Fast Sweeping耗时:3ms
- 总膨胀耗时:4-5ms
- 可通行比例:22.9% → 7.9%

集成测试:
- VoxelGridSDFTestCommand新增膨胀测试
- SystemManagementViewModel调整测试参数(0.6米膨胀半径)
- 膨胀半径必须 >= 体素大小才能生效

问题修复:
- 修复膨胀为0的问题(参数配置:0.3米 < 0.5米体素)
- 调整测试参数为0.6米(600模型单位 > 500体素大小)
- 移除VoxelGridSDFTestCommand构造函数默认参数

阶段1完成:
- 任务1.1-1.5全部完成 
- 性能远超目标(< 1秒 vs 目标 < 5秒)
- 提前5天完成阶段1
- 建议继续阶段2

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-12 17:00:06 +08:00
40946091dd docs(voxel): 更新任务跟踪 - 任务1.3已完成
- 标记任务 1.3(实现简单体素化原型)为已完成
- 更新总体进度:3/17 任务完成(18%)
- 更新阶段 1 进度:3/5 任务完成(60%)
- 添加变更日志:VoxelGridGenerator 360行代码完成

完成情况:
- 包围盒体素化算法实现
- 物流类型自动识别
- 障碍物膨胀功能
- 单位自动转换
- 性能统计日志
2025-10-12 11:47:01 +08:00
aece9fbbe1 docs(voxel): 更新任务跟踪文档 - 任务1.1和1.2已完成
- 标记任务 1.1(安装 geometry4Sharp)为已完成
- 标记任务 1.2(创建 VoxelGrid 基础数据结构)为已完成
- 更新总体进度:2/17 任务完成(12%)
- 更新阶段 1 进度:2/5 任务完成(40%)
- 添加变更日志条目

完成情况:
- VoxelCell.cs: 167 行代码
- VoxelGrid.cs: 365 行代码
- 完整的 XML 中文注释
- 编译通过,无错误
2025-10-12 11:27:29 +08:00
2b0b13c43a docs(voxel): 添加体素网格路径规划任务跟踪文档
- 创建详细的 4 阶段任务清单(17 个子任务)
- 每个任务包含:工作量、验收标准、阻塞问题
- 包含风险管理、进度跟踪、决策流程
- 包含 Git 工作流和提交规范

文件位置: doc/working/voxel_pathfinding_task_tracker.md
2025-10-12 11:15:55 +08:00
9ccf925964 给网格增加了高度层概念,试图支持楼面上的楼梯,还不完善 2025-10-08 23:56:59 +08:00
4357b91446 更新serena mcp的使用原则 2025-09-30 22:54:30 +08:00
5c98598311 阶段五:删除已集成的UI文档片段和添加清理总结
删除:
- path_visualization_ui.txt (内容已集成到SystemManagementView.xaml)

新增:
- doc/working/cleanup_summary.md (详细的清理总结报告)

清理总成果:
- 删除文件:5个
- 删除代码:约3753行
- 编译状态: 成功

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 22:22:50 +08:00
b048235657 阶段一:删除冗余的UIStateMachine
- 删除 src/Core/UIStateMachine.cs
- UIStateMachine和UIState枚举完全未使用
- 项目实际使用PathEditState作为状态管理
- 编译验证通过,无任何错误

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 22:17:48 +08:00
3f2d66c255 测试和修改A*返回的坐标转换的问题 2025-09-29 23:25:21 +08:00
8946873e32 网格点在设置时同步刷新 2025-09-14 21:24:51 +08:00
62349099aa 增加了空间通道方式的路径连线 2025-09-14 17:06:04 +08:00
89c98f1556 把动画播放控制改成媒体控制按钮,增加了步进、快放,支持反向播放 2025-09-13 13:34:22 +08:00
cc8842dcd8 把动画改成步进式,在动画生成阶段进行快速碰撞计算。 2025-09-12 22:44:49 +08:00
d046e31d6c 更新到0.11.0,增加功能和优化:
1. 局部直线优先路径算法 - 详细描述了算法原理、技术实现和效果对比
  2. 路径策略选择系统 - 涵盖了UI界面改进和多策略架构实现
  3. 网格可视化系统 - 描述了可视化功能和用户体验改进
  4. UI架构现代化 - 包含Idle事件机制和统一状态栏系统
  5. 内存管理与性能优化 - 涵盖COM API优化和碰撞算法改进
2025-09-09 02:30:10 +08:00
3732c6fa99 用Idle机制改造UI管理框架 2025-09-08 10:01:20 +08:00
9924c3b304 把动画从Timer改成Idle事件机制 2025-09-08 08:38:25 +08:00
bd74b42df3 增加路径优化算法建议方案 2025-09-08 07:58:08 +08:00
d09ac6434b 增加包围盒为基础的2.5D网格生成方法。 2025-09-04 01:02:12 +08:00
c40e1219a7 修改程序关闭崩溃的bug 2025-09-02 18:49:28 +08:00
3c1458245c 清理了一些过期代码 2025-09-01 21:42:19 +08:00
c71ae54ed0 对空间索引进行参数调试。 2025-09-01 11:41:32 +08:00
385815cd28 文档更新 2025-08-31 17:55:03 +08:00
f05a6c30d0 自动路径优化第二阶段完成,稳定性提高。 2025-08-31 17:51:53 +08:00
c3c1b8b994 网格生成第一阶段,空间索引优化,性能提高3倍 2025-08-31 16:46:01 +08:00
5938c817a4 修改碰撞间隙不一致的问题,自动规划显示网格大小 2025-08-30 14:56:37 +08:00
ea809277c3 开始实现2.5D空间网格,进行到空间哈希成功,垂直扫描失败 2025-08-29 20:43:02 +08:00
4dc989926e 优化了分层预览的遍历机制,提高性能 2025-08-28 18:31:57 +08:00
2b92e783bb 修改车辆和网格大小默认值,删掉分层的高程检测。 2025-08-28 14:50:41 +08:00
2845f949e3 完善了碰撞报告和路径规划问题 2025-08-26 11:47:25 +08:00