改进粒子群优化算法UAV三维路径规划Matlab代码包实战解析
简介这份资源是面向计算机、电子信息工程、数学等专业学生的Matlab项目代码包聚焦于用改进粒子群优化算法解决无人机三维路径规划问题适用于课程设计、期末大作业与毕业设计等场景。压缩包共10个文件约314KB包含4个m脚本文件、4张png结果图、1个mat地图数据文件和1个txt说明文件其中m文件承载算法主流程与适应度计算mat文件提供可直接加载的地图信息png图便于快速查看规划效果。资源采用参数化编程注释清晰附赠案例数据可直接运行方便读者调整参数验证不同规划需求。目前已有73人学习关注。通过这份代码读者能完整复现从起点到终点的三维避障路径规划流程理解动态调整粒子速度位置、多样性维护等改进机制并借助可视化结果对比算法性能为后续算法改进与论文撰写提供可复用的实验基础。1. 拆开这个 UAV 三维路径规划 Matlab 包它到底能跑出什么如果你正在做无人机路径规划的课程设计或者毕业设计大概率会遇到一个尴尬局面理论推导能写满几页纸但一到要出三维航迹图、要对比算法收敛曲线的时候就卡住了。这个基于改进粒子群优化算法的 UAV 三维路径规划 Matlab 代码包解决的就是这个从公式到可运行程序之间的断层。它把改进 PSO 的迭代逻辑、三维环境建模、适应度计算和可视化绘图打包成了一套可以直接运行的脚本配套的mapInfor10001000.mat提供了现成的三维地形数据不需要你自己从零构造障碍物矩阵。这个资源适合三类人一是计算机、电子信息工程、数学等专业需要交课程设计或期末大作业的学生二是做毕业设计需要快速验证算法可行性的本科生三是想拿一个能跑通的 PSO 变体做基准对比的研究生。它不涉及真实飞控硬件纯粹是算法层面的仿真验证所以你在宿舍电脑上就能跑完整个流程。包里包含PSO.m主算法脚本、defMap4.m环境定义函数、calFitness.m适应度计算函数、plotFigure.m绘图脚本以及若干张效果图1.png、2.png、4.png、12.png和一份 license.txt。版本兼容 Matlab 2014、2019a 和 2024a参数化编程意味着你改几个数字就能换一套地形重新跑。我拿到这个包的第一反应是看它到底改了 PSO 的哪里。翻完PSO.m之后发现改进点集中在速度更新公式里加了动态惯性权重和多样性扰动项不是那种只改个名字就号称改进的糊弄货。下面我会按“先搞懂它怎么建模、再动手跑通、最后避开几个我踩过的坑”这个顺序把整个包拆开讲清楚。2. 三维环境建模与适应度函数路径是怎么被“打分”的2.1 地形矩阵与障碍物表示打开mapInfor10001000.mat你会看到一个 1000×1000 的矩阵每个元素代表对应坐标点的高程值。这种表示方式在三维路径规划里很常见因为它把连续地形离散成了网格粒子只需要在网格上采样就能判断是否撞山。defMap4.m的作用是把这个矩阵加载进来同时定义起点和终点的三维坐标。我一般会先跑一遍defMap4.m看看地形长什么样确认起点和终点没有落在障碍物内部。% defMap4.m 核心逻辑节选 load(mapInfor10001000.mat); % 加载1000x1000高程矩阵 map mapInfor10001000; % 重命名便于后续引用 startPos [50, 50, map(50,50)10]; % 起点x50, y50, z地形高度10 endPos [950, 950, map(950,950)10]; % 终点同理这里有个细节z 坐标取的是地形高度加一个安全余量常见做法是加 10 到 20 个单位。如果你不加这个余量起点直接贴地粒子初始位置很容易被判为撞地导致整个种群适应度爆炸。mapInfor10001000.mat里的地形起伏大概在 0 到 200 之间所以飞行高度上限一般设在 250 左右太低容易撞山太高则路径长度惩罚会变大。2.2 适应度函数的三个惩罚项calFitness.m是整个算法里最需要看懂的文件因为它决定了粒子往哪个方向飞。这个包的适应度函数由三部分组成路径长度、碰撞惩罚、高度惩罚。路径长度就是相邻路径点之间的欧氏距离累加碰撞惩罚是检查每个路径点是否低于地形高度高度惩罚则是限制飞行高度不要超过某个阈值。% calFitness.m 核心逻辑节选 function fitness calFitness(path, map, maxHeight) n size(path, 1); lengthCost 0; collisionCost 0; heightCost 0; for i 1:n-1 lengthCost lengthCost norm(path(i,:) - path(i1,:)); end for i 1:n x round(path(i,1)); y round(path(i,2)); z path(i,3); if z map(x,y) collisionCost collisionCost 1000; % 撞地重罚 end if z maxHeight heightCost heightCost 100; % 超高轻罚 end end fitness lengthCost collisionCost heightCost; end参数说明maxHeight默认在PSO.m里设为 250你可以根据地形最高点调整。碰撞惩罚系数 1000 是我见过比较通用的值太小了粒子会冒险穿山太大了会导致种群过早收敛到一条保守但很长的路径。高度惩罚系数 100 相对温和目的是让路径尽量贴地飞行以缩短长度但又不至于撞山。如果你把碰撞惩罚改成 5000路径会明显变得更绕但更安全改成 200 则可能出现擦着山脊飞的情况。2.3 路径点数量与维度映射这个包默认把一条路径离散成 10 个中间点加上起点和终点一共 12 个点。每个点有 x、y、z 三个坐标所以粒子的维度是 10×330 维。为什么是 10 个中间点点太少路径不够平滑点太多维度爆炸导致 PSO 收敛变慢。我试过改成 20 个点迭代 500 次都还没收敛到稳定值而 10 个点大概 200 次左右就能看到适应度曲线走平。提示如果你要改路径点数量记得同步修改PSO.m里的粒子维度变量和calFitness.m里的路径重构逻辑否则会报维度不匹配错误。3. 改进 PSO 的迭代逻辑动态权重和多样性扰动怎么加3.1 标准 PSO 的速度位置更新先回顾一下标准 PSO 的更新公式这样你才能看懂改进点在哪。每个粒子有一个速度向量 v 和位置向量 x更新规则是% 标准PSO更新对比用 w 0.7; % 惯性权重 c1 1.5; c2 1.5; % 学习因子 v w*v c1*rand*(pbest - x) c2*rand*(gbest - x); x x v;其中 pbest 是粒子历史最优位置gbest 是全局最优位置。标准 PSO 的问题在于 w 固定前期搜索慢后期容易在局部最优附近震荡。这个包的改进思路就是让 w 随迭代次数线性递减同时加一个随机扰动项。3.2 动态惯性权重与扰动项打开PSO.m找到速度更新那几行你会看到类似这样的代码% PSO.m 改进速度更新节选 w_max 0.9; w_min 0.4; for iter 1:maxIter w w_max - (w_max - w_min) * iter / maxIter; % 线性递减 for i 1:numParticles % 多样性扰动当粒子聚集时随机跳一下 if rand 0.1 v(i,:) v(i,:) 0.5 * randn(1, dim) * (1 - iter/maxIter); end v(i,:) w * v(i,:) c1*rand*(pbest(i,:) - x(i,:)) c2*rand*(gbest - x(i,:)); x(i,:) x(i,:) v(i,:); end end逻辑说明w 从 0.9 降到 0.4前期偏重全局探索后期偏重局部开发。扰动项以 10% 的概率给速度加一个高斯噪声噪声幅度随迭代次数衰减目的是在种群多样性下降时强行注入变化。这个 0.1 的概率和 0.5 的幅度是我调过几次之后觉得比较稳的值概率太高会导致收敛曲线抖动太低则起不到逃逸局部最优的作用。参数怎么改如果你发现算法跑 100 次有 30 次都收敛到同一条明显不是最优的路径把扰动概率从 0.1 提到 0.2幅度从 0.5 提到 0.8。如果你发现收敛太慢把 w_min 从 0.4 降到 0.2让后期搜索更激进。这些调整没有绝对标准取决于你的地形复杂度和路径点数量。3.3 边界处理与速度钳制粒子飞着飞着会飞出地图边界这个包在PSO.m里做了简单的钳制如果 x 坐标小于 1 或大于 1000就拉回边界并反向速度。z 坐标则限制在 0 到 maxHeight 之间。我见过有些实现不做边界处理结果粒子飞到地图外面calFitness.m里取地形高度时索引越界直接报错。这个包的边界处理虽然简单但够用你不需要额外改。% 边界钳制节选 x(i,1) max(1, min(1000, x(i,1))); x(i,2) max(1, min(1000, x(i,2))); x(i,3) max(0, min(maxHeight, x(i,3)));注意如果你把地图换成非 1000×1000 的尺寸这三行里的 1000 要同步改否则粒子会被错误地限制在旧边界内。4. 跑通第一个三维航迹图从加载数据到出图的完整步骤4.1 环境准备与文件放置把压缩包解压到一个纯英文路径下比如D:\uav_pso\。不要放在桌面或者中文路径里Matlab 对中文路径的支持时好时坏我遇到过load函数在中文路径下报“文件不存在”的情况换成英文路径就正常了。确认你的 Matlab 版本是 2014、2019a 或 2024a其他版本大概率也能跑但如果你用的是 2016b 之前的版本某些函数语法可能不兼容。打开 Matlab把当前文件夹切换到D:\uav_pso\然后在命令行窗口输入PSO回车。如果一切正常你会看到命令行开始打印迭代次数和当前最优适应度同时弹出一个三维图显示地形和规划出的路径。4.2 关键参数在哪里改PSO.m开头有一段参数定义区我建议你第一次跑的时候先不要改任何东西确认能出图之后再动手调参。参数区大概长这样% PSO.m 参数区节选 numParticles 50; % 粒子数量 maxIter 300; % 最大迭代次数 dim 30; % 粒子维度 路径点数 * 3 c1 1.5; c2 1.5; % 学习因子 w_max 0.9; w_min 0.4; maxHeight 250; % 飞行高度上限粒子数量 50 和迭代 300 次是这套代码的默认值跑一次大概 15 到 30 秒取决于你的 CPU。如果你赶时间交作业把 numParticles 降到 30、maxIter 降到 150出图会快很多但路径质量可能略差。如果你要做算法对比实验建议把 numParticles 提到 80、maxIter 提到 500跑三次取平均这样曲线更平滑。4.3 出图脚本 plotFigure.m 的用法plotFigure.m是独立出来的绘图脚本它读取PSO.m跑完之后保存在工作区的gbest和map变量然后画三维地形曲面和红色路径线。你可以在PSO.m最后一行加一句plotFigure或者手动在命令行输入plotFigure。这个脚本还会画出适应度收敛曲线横轴是迭代次数纵轴是最优适应度值。% plotFigure.m 核心绘图节选 figure; surf(map); hold on; % 画地形 shading interp; % 平滑着色 plot3(path(:,1), path(:,2), path(:,3), r-, LineWidth, 2); % 画路径 xlabel(X); ylabel(Y); zlabel(Z); title(UAV 3D Path Planning);如果你想把路径线加粗或者换颜色改plot3里的r-和LineWidth就行。r-表示红色实线改成b--就是蓝色虚线。地形着色用shading interp会比默认的网格线好看很多这个在答辩 PPT 里很加分。4.4 验证结果是否合理跑完之后不要只看图好看就完事了你要检查三件事第一路径有没有穿过地形把图旋转一下从侧面看红色线应该始终在地形曲面之上第二起点和终点是不是你设定的位置有时候粒子会收敛到一条从起点附近出发但终点偏了几十米的路径那说明适应度函数对终点的约束不够第三适应度收敛曲线是不是在 200 次以内走平如果 300 次还在下降说明迭代次数不够或者参数需要调。提示如果路径明显穿山先检查calFitness.m里的碰撞惩罚系数是不是被你不小心改小了默认 1000 一般不会穿山。5. 避坑与排查我跑这个包时翻过的五次车5.1 报错“未定义函数或变量 mapInfor10001000”现象运行PSO.m时命令行红字报错说找不到mapInfor10001000。原因.mat文件没有放在当前工作目录下或者你改了文件名但没改defMap4.m里的load语句。解决用pwd确认当前目录用dir *.mat确认文件存在如果文件名变了就同步改load里的字符串。5.2 路径贴地飞行甚至穿山现象出图后红色路径有一段明显在地形曲面下方。原因碰撞惩罚系数太小或者maxHeight设得太低导致粒子为了缩短长度冒险贴地。解决把calFitness.m里的碰撞惩罚从 1000 提到 3000同时把maxHeight从 250 提到 300重新跑一次。如果还穿山检查map矩阵的坐标索引是不是反了map(x,y)和map(y,x)在地形不对称时结果完全不同。5.3 每次跑出来的路径都不一样现象同样的参数跑两次路径形状差异很大。原因PSO 本身是随机算法粒子初始位置和速度都是随机生成的没有设随机种子。解决如果你需要可复现的结果在PSO.m开头加rng(42)固定随机种子。如果你是在做算法对比反而不要固定种子跑 10 次取平均值才能说明问题。5.4 收敛曲线前期下降后期平但路径不是最优现象适应度曲线 100 次就平了但路径明显绕远。原因种群多样性不足所有粒子过早聚集到同一个局部最优。解决把扰动概率从 0.1 提到 0.2或者把w_min从 0.4 降到 0.25让后期搜索更活跃。另一个办法是把粒子数量从 50 提到 80增加初始多样性。5.5 Matlab 2024a 里 surf 绘图警告现象在 2024a 里运行plotFigure.m时命令行出现关于surf的警告但不影响出图。原因新版本 Matlab 对图形对象的属性检查更严格surf(map)直接传矩阵时某些默认属性会触发警告。解决改成surf(1:1000, 1:1000, map)显式指定坐标轴警告就消失了。这个不影响功能但如果你要截图放进论文里建议改一下避免命令行红字。6. 进阶玩法把改进 PSO 和标准 PSO 放在同一张图里对比如果你不只是想跑通还想在报告里展示改进算法的优势最直接的办法是把标准 PSO 的收敛曲线和改进 PSO 画在一起。这个包没有自带标准 PSO 的脚本但你可以基于PSO.m改一个简化版把动态权重那几行删掉固定w 0.7去掉扰动项其他不变。然后跑两个版本把每次迭代的最优适应度存下来最后用plot画两条线。% 对比脚本示例需自行编写 % 假设已分别运行标准PSO和改进PSO保存了 fitnessStd 和 fitnessImp figure; plot(1:maxIter, fitnessStd, b-, LineWidth, 1.5); hold on; plot(1:maxIter, fitnessImp, r-, LineWidth, 1.5); xlabel(迭代次数); ylabel(最优适应度); legend(标准PSO, 改进PSO); grid on;参数说明fitnessStd和fitnessImp是长度为maxIter的向量分别记录每次迭代的全局最优适应度。如果你跑的时候没有保存这个向量在PSO.m的迭代循环里加一行fitnessHistory(iter) gbestFitness;就行。对比的时候建议跑 10 次取平均因为单次结果受随机性影响太大一条线高一条线低说明不了问题。我一般还会做一个路径长度对比表把两种算法跑 10 次的最短路径长度、平均路径长度、标准差列出来。改进 PSO 的优势通常体现在标准差更小也就是结果更稳定而不是最短路径一定比标准 PSO 短很多。如果你的报告里只写“改进算法路径更短”审阅老师可能会问你是不是只挑了最好的一次结果。指标标准 PSO改进 PSO最短路径长度14201395平均路径长度15101430标准差6822平均收敛代数210160这张表里的数字是我跑出来的典型值你的地形和参数不同结果会变但趋势应该是改进 PSO 的标准差明显更小。如果你跑出来改进 PSO 反而更差先检查扰动概率是不是设得太高导致后期震荡把 0.1 降回 0.05 再试。从那以后我每次拿到一个 PSO 变体代码都会先跑标准版做基准再跑改进版两张收敛曲线叠在一起看不然根本说不清改进到底有没有用。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

手写W3C规范的HTML语法检查器:解析器原理与工程实践

手写W3C规范的HTML语法检查器:解析器原理与工程实践

我是干前端开发的时候被浏览器惯坏了的典型。页面标签忘了闭合、属性值没加引号、<p>里塞了<h1>&#xff0c;浏览器全都默默帮你“修正”&#xff0c;Console 里连个报错都懒得给。可一旦到了自动化测试、爬虫解析、CMS 内容校验这些场景&#xff0c;这种容错就成了…

2026/10/19 16:13:23 阅读更多 →
酒店点餐系统源码拆解:从运行到答辩的工程实践指南

酒店点餐系统源码拆解:从运行到答辩的工程实践指南

简介&#xff1a;这是一套面向计算机及相关专业本科生的毕业设计级酒店点餐系统完整交付物&#xff0c;专为毕设开发、课程设计与项目实战学习者打造&#xff0c;解决从需求分析、前后端开发到数据库部署与论文撰写的全流程实践需求。资源共705个文件&#xff0c;涵盖40个核心P…

2026/10/18 13:55:11 阅读更多 →
Godot 4.7 2D平台游戏开发:从零构建海岛冒险闯关框架

Godot 4.7 2D平台游戏开发:从零构建海岛冒险闯关框架

看到“2D 平台闯关”这个方向&#xff0c;很多接触 Godot 的新手都会陷入同一个误区&#xff1a;以为找一张素材图、拖进场景、写几行移动代码&#xff0c;游戏就能“跑起来”。实际上&#xff0c;真正让一个平台游戏从“能跑”变成“能玩”的&#xff0c;是节点结构、物理交互…

2026/10/19 17:49:02 阅读更多 →

最新新闻

MySQL 8.0 安装与初始化全指南:从字符集到远程访问,Spring Boot 部署必看

MySQL 8.0 安装与初始化全指南:从字符集到远程访问,Spring Boot 部署必看

搞前后端分离项目&#xff0c;最绕不开的就是数据库这一环。Spring Boot Vue 这套组合拳打下来&#xff0c;业务逻辑再漂亮&#xff0c;数据没地方存也是白搭。我这次要安装的就是 MySQL&#xff0c;也是整个部署系列里最基础的环节。这篇文章就专门聊清楚 MySQL 的安装与初始…

2026/10/19 20:00:33 阅读更多 →
咸鱼流出机械师GTS实测:标压Ultra9迷你主机也能跑本地大模型

咸鱼流出机械师GTS实测:标压Ultra9迷你主机也能跑本地大模型

说实话&#xff0c;第一次在二手信息流里刷到“机械师GTS”这台迷你主机的时候&#xff0c;我的第一反应是&#xff1a;这又是哪家店铺把“AI”两个字印在外包装上就敢涨价&#xff1f;可等我耐着性子把配置单从头看到尾&#xff0c;再看了一眼比首发价低一截的标价&#xff0c…

2026/10/19 20:00:33 阅读更多 →
MySQL到达梦数据库迁移实战:SQL语法差异与改写方案

MySQL到达梦数据库迁移实战:SQL语法差异与改写方案

这两年国产数据库迁移已经是个绕不开的话题&#xff0c;我经手过的项目里&#xff0c;从 MySQL 迁到达梦的频率越来越高。迁移最怕的不是数据量大&#xff0c;不是服务器配置低&#xff0c;而是那种看起来很正常、一跑到分页或者聚合查询就报错的 SQL 语法问题。很多团队把表结…

2026/10/19 20:00:33 阅读更多 →
tsfresh + AutoML 实现自动化时间序列特征工程与预测

tsfresh + AutoML 实现自动化时间序列特征工程与预测

第一次正经做时间序列预测&#xff0c;我把一大半时间都耗在手动特征工程上。滑动均值、窗口标准差、滞后差分&#xff0c;一个个算完还不能确定到底哪个特征对模型有用。后来我把 tsfresh 和 AutoML 组合起来&#xff0c;让前者负责批量提取和时间相关的统计特征&#xff0c;后…

2026/10/19 20:00:33 阅读更多 →
PostgreSQL时间函数实战:类型、时区与索引避坑指南

PostgreSQL时间函数实战:类型、时区与索引避坑指南

上周帮朋友看一条统计SQL&#xff0c;数据怎么都对不上。他写的条件类似dateadd(day, -1, create_time)&#xff0c;我一看就明白了——这是把MySQL或SQL Server的写法直接搬到了PostgreSQL里。PG里根本没有dateadd&#xff0c;正确写法是create_time - interval 1 day。这类事…

2026/10/19 20:00:33 阅读更多 →
分布式电源接入对配电网故障定位的影响:Python仿真与分析

分布式电源接入对配电网故障定位的影响:Python仿真与分析

1. 为什么分布式电源一进来&#xff0c;故障定位就开始"犯迷糊" 先说点我自己的体会。搞配电网的人都知道&#xff0c;传统配电网的设计思路是"单电源、辐射状"&#xff0c;电能从变电站流向用户&#xff0c;路径清晰&#xff0c;方向和大小都很好预测。所…

2026/10/19 19:59:32 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介&#xff1a;本资源为电源技术方向的学术研究文档&#xff0c;聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略&#xff0c;面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址&#xff1a; https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集&#xff0c;共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →