Skip to content

代码程序优化#4711

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

代码程序优化#4711
donghaiwang merged 54 commits into
OpenHUTB:mainfrom
rhcgg:main

Conversation

@rhcgg

@rhcgg rhcgg commented Dec 26, 2025

Copy link
Copy Markdown
Contributor

由于代码过于庞大,接下来我打算一步步优化代码
代码改进统计,已成功重构物体检测函数,消除代码重复。
减少重复代码:~390行 → ~240行(减少约150行,38%)
提高可维护性:所有检测逻辑集中在一个函数中
易于扩展:添加新颜色类型只需在配置字典中添加条目
d197469c1f076e100d6a4ea55d4dec7d
34e8e52d7c8bd4a9e1164c5daa91818b
aad8f7906f106d8d3850a3f57966a955

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 24 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 b7086e9 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