Skip to content

优化代码#4746

Merged
donghaiwang merged 58 commits into
OpenHUTB:mainfrom
rhcgg:main
Dec 27, 2025
Merged

优化代码#4746
donghaiwang merged 58 commits into
OpenHUTB:mainfrom
rhcgg:main

Conversation

@rhcgg

@rhcgg rhcgg commented Dec 27, 2025

Copy link
Copy Markdown
Contributor

已成功统一物体接近检测函数,创建通用函数 _check_object_proximity_generic
统一处理所有颜色类型的物体接近检测
使用配置字典管理不同颜色的差异配置
支持动态获取物体列表、配置参数和状态转换
简化三个接近检测函数
_check_red_object_proximity → 3行代码(调用通用函数)
_check_blue_object_proximity → 3行代码(调用通用函数)
_check_black_object_proximity → 3行代码(调用通用函数)
代码改进统计
减少重复代码:~90行 → ~95行(通用函数)+ 9行(包装函数)= ~104行
虽然总行数略有增加,但消除了约60行的重复代码
所有逻辑集中在一个地方,维护性显著提升
a7a3719693c649be65cb4bccc1a86d61
4ad38d4830fbdd9bf36032ad02f5a225
46d3e5a8a60194dca9d36324b08408a9

rhcgg added 30 commits December 18, 2025 19:26
尝试修改冲突,提交
重置仓库后提交
Remove unnecessary comment lines
删除,不必要修改
添加了一个前视镜,完善的交互控制
配置集中管理:所有参数在 config.py 中统一管理配置调整
修改 config.py 中的参数即可调整所有设置

无需修改主程序代码

重要参数都有中文注释说明
结构化日志系统:彩色控制台输出 + 文件日志,支持不同日志级别
运行统计与报告:自动生成详细的任务报告
窗口控制键(通用模式,非手动控制时生效):
Q:关闭窗口

S:保存截图

P:暂停/继续

I:切换信息显示

H:切换锐化效果

2. 手动控制键(只在手动控制模式生效):
W/S:前进/后退

A/D:左移/右移

Q/E:上升/下降

Z/X:左转/右转

空格:悬停

ESC:退出手动模式(不关闭窗口)
窗口控制键(通用模式,非手动控制时生效):
Q:关闭窗口

S:保存截图

P:暂停/继续

I:切换信息显示

H:切换锐化效果

2. 手动控制键(只在手动控制模式生效):
W/S:前进/后退

A/D:左移/右移

Q/E:上升/下降

Z/X:左转/右转

空格:悬停

ESC:退出手动模式(不关闭窗口)
重点:改进避障(向量场算法),优化探索策略(基于网格信息增益),平滑飞行控制。
新增 数据记录系统 (DataLogger类),性能监控系统, 数据闭环功能
添加了对探索过程中对红色物品的记录
主要新增功能说明
蓝色物体数据结构:
新增了BlueObject类,与RedObject结构相同
在PerceptionResult中添加了蓝色物体相关字段
蓝色物体检测算法:
新增了_detect_blue_objects方法,使用HSV颜色空间检测蓝色物体
蓝色物体在画面中用青色(255, 100, 0)框标记
智能决策扩展:
向量场规划器添加了蓝色物体吸引力计算
探索网格支持蓝色物体标记和吸引力计算
决策时优先考虑红色物体,其次蓝色物体
数据显示和记录:
前视窗口显示红色和蓝色物体的统计信息
数据记录器记录蓝色物体的检测和访问信息
性能报告包含蓝色物体统计
配置文件更新:
添加了蓝色物体检测参数
增加了蓝色物体探索的智能决策参数
添加了蓝色物体的HSV颜色范围配置
主要新增功能说明
蓝色物体数据结构:
新增了BlueObject类,与RedObject结构相同
在PerceptionResult中添加了蓝色物体相关字段
蓝色物体检测算法:
新增了_detect_blue_objects方法,使用HSV颜色空间检测蓝色物体
蓝色物体在画面中用青色(255, 100, 0)框标记
智能决策扩展:
向量场规划器添加了蓝色物体吸引力计算
探索网格支持蓝色物体标记和吸引力计算
决策时优先考虑红色物体,其次蓝色物体
数据显示和记录:
前视窗口显示红色和蓝色物体的统计信息
数据记录器记录蓝色物体的检测和访问信息
性能报告包含蓝色物体统计
配置文件更新:
添加了蓝色物体检测参数
增加了蓝色物体探索的智能决策参数
添加了蓝色物体的HSV颜色范围配置
rhcgg added 28 commits December 22, 2025 10:35
双窗口设计使得系统更加模块化,前视窗口专注于飞行操作,信息窗口专注于系统监控,提高了用户体验和系统可维护性。
添加了黑色物体检测,
存优化总结
1. 数据记录优化
限制 flight_data 缓冲区:最大 500 条,超过后自动保存并清空
限制物体记录列表:最大 200 个(红/蓝/黑)
限制事件记录列表:最大 100 个
自动保存机制:每 60 秒自动保存数据到临时文件并清空缓冲区
2. 性能指标优化
性能指标缓冲区从 1000 减少到 500
CPU、内存、循环时间指标都应用此限制
3. 图像处理优化
图像队列大小从 3 减少到 2
智能图像复制:仅在需要标记时才复制图像
队列为空时直接使用图像引用,避免不必要的复制
4. 垃圾回收机制
在主循环中每 20 次循环执行一次垃圾回收
自动保存数据后立即执行垃圾回收
收复部分显示界面无法显示汉字问题,改为显示英文
完整修复显示界面异常问题
前视窗口简化功能,只用来前视和手动控制不再显示提示,
在信息窗口增加运动轨迹图,
代码程序优化
代码改进统
@donghaiwang
donghaiwang merged commit 0be390a into OpenHUTB:main Dec 27, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants