当前位置: 首页 > article >正文

【机器人】基于Q-Learning实现的多机器人路径规划附matlab代码

​✅作者简介热爱科研的Matlab仿真开发者擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 往期回顾关注个人主页Matlab科研工作室 关注我领取海量matlab电子书和数学建模资料个人信条做科研博学之、审问之、慎思之、明辨之、笃行之是为博学慎思明辨笃行。 内容介绍一、引言在多机器人协同作业场景中如仓储物流、工业制造、智能农业等领域路径规划是确保机器人高效、安全运行的关键环节。多机器人路径规划需要考虑机器人之间的相互协作与避免碰撞同时要找到从起始点到目标点的最优或近似最优路径。Q - Learning 作为一种经典的强化学习算法通过让机器人在环境中不断试错并学习能够有效地解决路径规划问题。它不需要环境的先验知识仅依靠与环境的交互获取的奖励反馈来优化策略因此在多机器人路径规划领域得到了广泛应用。二、Q - Learning 算法原理一基本概念状态State在多机器人路径规划中状态可以表示机器人在地图中的位置、周围障碍物的分布、其他机器人的位置等信息。例如将二维地图划分为网格每个网格作为一个位置状态同时结合机器人与障碍物、其他机器人的相对位置关系来完整描述状态。动作Action机器人可执行的动作如向前移动一格、向左转、向右转、后退等。奖励Reward环境根据机器人执行动作后的状态给予的反馈信号。在路径规划中通常给予到达目标点正奖励碰撞障碍物或与其他机器人发生冲突给予负奖励在正常移动过程中给予较小的负奖励以鼓励机器人尽快到达目标点。例如到达目标点奖励 100碰撞障碍物或机器人冲突奖励 -100每正常移动一步奖励 -1。Q 值Q - valueQ 值函数 Q(s,a) 表示在状态 s 下执行动作 a 后从该状态出发所能获得的累积奖励的期望。Q - Learning 的目标就是学习到一个最优的 Q 值函数使得机器人能够根据 Q 值选择最优动作。二算法流程初始化初始化 Q 值表通常将所有状态 - 动作对的 Q 值初始化为 0。同时设定学习率 α控制每次学习更新 Q 值的步长、折扣因子 γ决定未来奖励对当前决策的影响程度和探索率 ϵ控制机器人在选择动作时是探索新动作还是利用已学习到的最优动作。环境交互机器人观察当前状态 st根据 ϵ−贪婪策略选择动作 at。以概率 ϵ 随机选择一个动作进行探索以概率 1−ϵ 选择当前状态下 Q 值最大的动作进行利用。执行动作与状态转移机器人执行选择的动作 at环境根据动作做出响应使机器人转移到新的状态 st1并给予奖励 rt。二动作空间定义动作空间对于每个机器人是相同的包含基本的移动和转向动作。例如动作集合 A{向前移动,向左转,向右转,后退}。在实际应用中每个动作可能对应不同的位移或角度变化量。三奖励函数设计奖励函数的设计直接影响机器人的学习效果和路径规划质量。除了基本的到达目标点奖励、碰撞惩罚外还需要考虑机器人之间的避碰。例如到达目标点奖励当某个机器人到达其目标点时给予该机器人一个较大的正奖励如 Rgoal100。碰撞障碍物惩罚如果机器人碰撞到障碍物给予一个较大的负奖励如 Robstacle−100。机器人碰撞惩罚当两个或多个机器人发生碰撞时对参与碰撞的机器人都给予负奖励如 Rcollision−100。正常移动奖励为了鼓励机器人尽快到达目标点每正常移动一步给予一个较小的负奖励如 Rstep−1。四多机器人协作与避碰集中式学习在集中式学习方式下所有机器人共享一个 Q 值表它们的状态和动作被整合到一个统一的状态空间和动作空间中。每个机器人在做出决策时都基于这个共享的 Q 值表进行。例如当一个机器人执行动作并获得奖励时所有机器人都根据这个奖励更新共享的 Q 值表。这种方式可以有效协调机器人之间的动作但计算量较大随着机器人数量增加状态空间维度急剧增大可能导致学习效率低下。分布式学习每个机器人拥有自己独立的 Q 值表仅根据自身的状态、动作和获得的奖励来更新 Q 值。为了实现协作与避碰机器人之间需要进行信息交互。例如机器人可以定期广播自己的位置和状态信息其他机器人在更新 Q 值时考虑这些信息。这种方式虽然计算量相对较小但协调机器人之间的动作可能需要更复杂的信息交互机制。四、实验与结果分析一实验设置模拟环境构建构建一个二维网格地图作为机器人的工作环境在地图中随机分布障碍物设置多个机器人的起始点和目标点。参数设置设定学习率 α0.1折扣因子 γ0.9探索率 ϵ 从 1 开始逐渐衰减到 0.1以平衡探索与利用。对比方法将基于 Q - Learning 的多机器人路径规划方法与传统的 A * 算法、Dijkstra 算法等进行对比。二实验结果路径规划效果经过多次迭代学习基于 Q - Learning 的方法能够找到无碰撞的路径使所有机器人成功到达目标点。与传统算法相比在复杂环境和多机器人场景下Q - Learning 方法能够更好地适应环境变化找到更灵活的路径。例如在存在动态障碍物的环境中Q - Learning 方法能够实时调整路径而传统算法可能需要重新计算整个路径。收敛速度分析 Q 值随迭代次数的变化情况发现随着迭代次数增加Q 值逐渐收敛表明机器人逐渐学习到最优策略。与其他强化学习算法相比Q - Learning 在多机器人路径规划中的收敛速度相对较快能够在合理的时间内获得有效的路径规划方案。扩展性随着机器人数量的增加基于 Q - Learning 的方法仍然能够有效地进行路径规划虽然计算量有所增加但通过分布式学习等方式可以在一定程度上缓解计算压力。而传统算法在机器人数量增多时计算复杂度呈指数增长可能无法在合理时间内得到解决方案。综上所述基于 Q - Learning 实现的多机器人路径规划方法能够有效解决多机器人在复杂环境中的路径规划问题通过合理设计状态空间、动作空间和奖励函数结合集中式或分布式学习方式能够实现机器人之间的协作与避碰。实验结果表明该方法在路径规划效果、收敛速度和扩展性方面都具有一定优势为多机器人系统的实际应用提供了一种可行的解决方案。⛳️ 运行结果 部分代码clc; clear; close all;% Get Grid SizegridSize input(Enter Grid Size as [rows cols]: );% Get Number of RobotsnumRobots input(Enter Number of Robots: );% Get Number of ObstaclesnumObstacles input(Enter Number of Obstacles: );% Generate Grid[X, Y] meshgrid(1:gridSize(2), 1:gridSize(1));% Plot Gridfigure; hold on;plot(X, Y, k.); % Plot grid pointsxlim([0 gridSize(2)1]);ylim([0 gridSize(1)1]);grid on;set(gca, XTick, 1:gridSize(2), YTick, 1:gridSize(1), GridAlpha, 0.3);xlabel(X); ylabel(Y); title(Ordinary Grid);hold off;disp(Generating grid...);% Generate random obstaclesobstacles randi([1 gridSize(1)], numObstacles, 2);% Generate random robot positionsrobotPositions randi([1 gridSize(1)], numRobots, 2);% Set a goal positiongoalPos randi([1 gridSize(1)], 1, 2);% Q-Learning Parametersgamma 0.95;alpha 0.1;epsilon 0.1;episodes 500;actions [0 1; 0 -1; -1 0; 1 0]; % Right, Left, Up, DownQ_table zeros(gridSize(1), gridSize(2), 4);pathLengths zeros(numRobots, 1);% Training Looptic;for ep 1:episodesfor r 1:numRobotspos robotPositions(r, :);steps 0;while ~isequal(pos, goalPos) steps (gridSize(1) * gridSize(2))steps steps 1;if rand epsilonactionIdx randi(4);else[~, actionIdx] max(Q_table(pos(1), pos(2), :));endnewPos max(min(pos actions(actionIdx, :), gridSize), [1,1]);if isequal(newPos, goalPos)reward 100;elseif ismember(newPos, obstacles, rows)reward -10;elsereward -0.1;endQ_table(pos(1), pos(2), actionIdx) ...(1 - alpha) * Q_table(pos(1), pos(2), actionIdx) ...alpha * (reward gamma * max(Q_table(newPos(1), newPos(2), :)));pos newPos;endpathLengths(r) steps;endendcomputationTime toc;disp(Plotting...);% Visualizationfigure; hold on;axis([1 gridSize(1) 1 gridSize(2)]);grid on;axis equal;set(gca, XTick, 1:gridSize(1), YTick, 1:gridSize(2), GridColor, k);set(gca, YDir, normal);xlabel(X); ylabel(Y); title(Multi-Robot Path Planning);% Plot Gridplot(obstacles(:,1), obstacles(:,2), rs, MarkerSize, 10, LineWidth, 2);plot(goalPos(1), goalPos(2), r*, MarkerSize, 12, LineWidth, 2);% Plot RobotsrobotPlots gobjects(numRobots, 1);for r 1:numRobotsrobotPlots(r) plot(robotPositions(r,1), robotPositions(r,2), ...go, MarkerSize, 10, MarkerFaceColor, g);end% Simulate MovementcollisionCount 0;robotPaths cell(numRobots,1);for r 1:numRobotspos robotPositions(r, :);path pos;while ~isequal(pos, goalPos) size(path,1) (gridSize(1) * gridSize(2))[~, actionIdx] max(Q_table(pos(1), pos(2), :));newPos max(min(pos actions(actionIdx, :), gridSize), [1,1]);if ismember(newPos, obstacles, rows)collisionCount collisionCount 1;break;elsepos newPos;path [path; pos];endendrobotPaths{r} path;end% Metrics CalculationtruePositives sum(pathLengths (gridSize(1) * gridSize(2)));falsePositives collisionCount;falseNegatives numRobots - truePositives;trueNegatives numRobots - collisionCount;precision truePositives / numRobots;accuracy (truePositives) / numRobots;f1_score 2 * (precision * accuracy) / (precision accuracy);collisionAvoidanceRate 1 - (collisionCount / numRobots);% Print Metricsfprintf(F1 Score: %.4f\n, f1_score);fprintf(Accuracy: %.4f\n, accuracy);fprintf(Precision: %.4f\n, precision);fprintf(Collision Avoidance Rate: %.4f\n, collisionAvoidanceRate);fprintf(Computation Time: %.4f seconds\n, computationTime);% Animate MovementmaxSteps max(cellfun((x) size(x,1), robotPaths));trajPlots gobjects(numRobots, 1);for r 1:numRobotstrajPlots(r) plot(NaN, NaN, b-, LineWidth, 1.5);endfor t 1:maxStepsfor r 1:numRobotsif t size(robotPaths{r},1)set(robotPlots(r), XData, robotPaths{r}(t,1), YData, robotPaths{r}(t,2));set(trajPlots(r), XData, robotPaths{r}(1:t,1), YData, robotPaths{r}(1:t,2));endendpause(0.5);endhold off; 参考文献更多创新智能优化算法模型和应用场景可扫描关注机器学习/深度学习类BP、SVM、RVM、DBN、LSSVM、ELM、KELM、HKELM、DELM、RELM、DHKELM、RF、SAE、LSTM、BiLSTM、GRU、BiGRU、PNN、CNN、XGBoost、LightGBM、TCN、BiTCN、ESN、Transformer、模糊小波神经网络、宽度学习等等均可~方向涵盖风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、用电量预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断组合预测类CNN/TCN/BiTCN/DBN/Transformer/Adaboost结合SVM、RVM、ELM、LSTM、BiLSTM、GRU、BiGRU、Attention机制类等均可可任意搭配非常新颖~分解类EMD、EEMD、VMD、REMD、FEEMD、TVFEMD、CEEMDAN、ICEEMDAN、SVMD、FMD、JMD等分解模型均可~路径规划类旅行商问题TSP、车辆路径问题VRP、MVRP、CVRP、VRPTW等、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、 充电车辆路径规划EVRP、 双层车辆路径规划2E-VRP、 油电混合车辆路径规划、 船舶航迹规划、 全路径规划规划、 仓储巡逻、公交车时间调度、水库调度优化、多式联运优化等等~小众优化类生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化、背包问题、 风电场布局、时隙分配优化、 最佳分布式发电单元分配、多阶段管道维修、 工厂-中心-需求点三级选址问题、 应急生活物质配送中心选址、 基站选址、 道路灯柱布置、 枢纽节点部署、 输电线路台风监测装置、 集装箱调度、 机组优化、 投资优化组合、云服务器组合优化、 天线线性阵列分布优化、CVRP问题、VRPPD问题、多中心VRP问题、多层网络的VRP问题、多中心多车型的VRP问题、 动态VRP问题、双层车辆路径规划2E-VRP、充电车辆路径规划EVRP、油电混合车辆路径规划、混合流水车间问题、 订单拆分调度问题、 公交车的调度排班优化问题、航班摆渡车辆调度问题、选址路径规划问题、港口调度、港口岸桥调度、停机位分配、机场航班调度、泄漏源定位、冷链、时间窗、多车场等、选址优化、港口岸桥调度优化、交通阻抗、重分配、停机位分配、机场航班调度、通信上传下载分配优化、微电网优化、无功优化、配电网重构、储能配置、有序充电、MPPT优化、家庭用电、电/冷/热负荷预测、电力设备故障诊断、电池管理系统BMSSOC/SOH估算粒子滤波/卡尔曼滤波、 多目标优化在电力系统调度中的应用、光伏MPPT控制算法改进扰动观察法/电导增量法、电动汽车充放电优化、微电网日前日内优化、储能优化、家庭用电优化、供应链优化\智能电网分布式能源经济优化调度虚拟电厂能源消纳风光出力控制策略多目标优化博弈能源调度鲁棒优化等等均可~ 无人机应用方面无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化、车辆协同无人机路径规划通信方面传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化、水声通信、通信上传下载分配信号处理方面信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化、心电信号、DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理传输分析去噪、数字信号调制、误码率、信号估计、DTMF、信号检测电力系统方面微电网优化、无功优化、配电网重构、储能配置、有序充电、MPPT优化、家庭用电、电/冷/热负荷预测、电力设备故障诊断、电池管理系统BMSSOC/SOH估算粒子滤波/卡尔曼滤波、 多目标优化在电力系统调度中的应用、光伏MPPT控制算法改进扰动观察法/电导增量法、电动汽车充放电优化、微电网日前日内优化、储能优化、家庭用电优化、供应链优化\智能电网分布式能源经济优化调度虚拟电厂能源消纳风光出力控制策略多目标优化博弈能源调度鲁棒优化原创改进优化算法适合需要创新的同学原创改进2025年的波动光学优化算法WOO以及三国优化算法TKOA、白鲸优化算法BWO等任意优化算法均可保证测试函数效果一般可直接核心告诫读者和自己第一科学态度。历史学是一门科学要学会做历史研究就得有科学态度。科学态度不是与生俱来的必须认真培养关键是培养我们在研究中认真负责一丝不苟的精神。第二献身精神。从事历史研究就像从事其他任何科学研究一样要有一种为科学研究而献身的精神要热爱我们的研究事业要有潜心从事这项工作的意志。没有献身精神当然做不好科研工作。只想拿一个学位那是很难学好做研究的。要拿学位这一点可以理解但我们读书是为了自己获得真才实学。有了真才实学将来不论做什么工作都是有用的。当然学位也是要的但关键的是学问而不是学位。第三查阅收集学术信息、资料的能力。青年学生要从事学术研究就要培养能熟练地掌握查阅搜集学术信息、资料的能力。例如学习与研究英帝国史就得了解国内外有关这个专业的基本情况了解有关资料情况。像你们在北京地区学习至少要大致了解北京地区有关英帝国史的中英文资料熟悉与专业密切相关的主要图书馆了解馆藏情况。这就需要经常去图书馆。我们这个专业不需要到田间考察到工厂调研但要去图书馆去图书馆就是我们的调查研究。熟悉有关图书馆的情况是我们学习的一部分。今天网络飞速发展掌握网上查阅信息的技巧是非常必要的。第四处理资料的能力。搜集的资料会越来越多怎样安排它们也是一门学问。各学科各个研究人员的方式可能会有所不同但总的原则是要有条理便于记忆便于查阅。第五对资料的鉴别意识与鉴别能力。我们在使用研究资料时不能拿着就用要有意识鉴别一下材料是否可靠什么样的材料更有价值。读书时也不是拿着什么书就通读到底。有的书翻一翻即可有的书则需认真读。区别哪些书翻一翻即可哪些书得认真读也不是一件容易的事青年学生不是一下子就能做到这一点的需逐渐培养这种能力。还有一点就是要学会使用计算机能比较熟练地进行文字处理。更多免费代码链接也可直接点击阅读原文https://mp.weixin.qq.com/s/xWdAoVwmhdbfixDcsaJ_qAhttps://gitcode.com/qq_59747472/Matlab/blob/main/README.md

相关文章:

【机器人】基于Q-Learning实现的多机器人路径规划附matlab代码

​✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书…...

【数据驱动】具有稳定性保证的 Hammerstein 系统的数据驱动控制附matlab代码

​✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书…...

STL体积模型计算器:3D打印成本控制与模型分析的终极利器

STL体积模型计算器:3D打印成本控制与模型分析的终极利器 【免费下载链接】STL-Volume-Model-Calculator STL Volume Model Calculator Python 项目地址: https://gitcode.com/gh_mirrors/st/STL-Volume-Model-Calculator 你是否经常为3D打印材料成本而烦恼&a…...

终极指南:使用SMUDebugTool实现AMD Ryzen处理器深度调试与精准控制

终极指南:使用SMUDebugTool实现AMD Ryzen处理器深度调试与精准控制 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址…...

如何用Python异步架构构建小红书内容采集系统:XHS-Downloader的技术解析

如何用Python异步架构构建小红书内容采集系统:XHS-Downloader的技术解析 【免费下载链接】XHS-Downloader 小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作…...

实战指南:将你的Tesseract OCR服务Docker化并发布到阿里云镜像仓库

实战指南:将Tesseract OCR服务Docker化并发布到阿里云镜像仓库 在当今快速迭代的开发环境中,容器化技术已成为团队协作和项目部署的标配。对于需要处理图像识别的开发者而言,将Tesseract OCR服务封装成Docker镜像不仅能保证环境一致性&#x…...

仅限内部技术委员会流出:某头部银行Python数据库适配白皮书(含Oracle Instant Client避坑矩阵表)

更多请点击: https://intelliparadigm.com 第一章:Python数据库适配的底层原理与银行级合规边界 Python 通过 DB-API 2.0 规范实现数据库抽象层,其核心是 sqlite3、psycopg2、pyodbc 等适配器对 Connection、Cursor 和 Parameterized Query …...

ncmdumpGUI终极指南:3分钟解锁你的网易云音乐NCM文件加密

ncmdumpGUI终极指南:3分钟解锁你的网易云音乐NCM文件加密 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经在网易云音乐下载了心爱的歌曲…...

百度文库助手:三步实现文档免费获取的终极指南

百度文库助手:三步实现文档免费获取的终极指南 【免费下载链接】baidu-wenku fetch the document for free 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wenku 在当今信息爆炸的时代,百度文库作为国内最大的文档分享平台,汇集…...

鸿蒙应用性能优化新思路:用Rust重写关键NAPI模块,实测提升多少?

鸿蒙应用性能优化新思路:用Rust重写关键NAPI模块的实践与实测 在移动应用开发领域,性能优化始终是开发者面临的核心挑战之一。随着鸿蒙生态的快速发展,越来越多的应用开始面临性能瓶颈问题,特别是在计算密集型和IO密集型任务场景下…...

Go-CQHTTP架构深度解析:高性能QQ机器人框架的设计哲学与实践

Go-CQHTTP架构深度解析:高性能QQ机器人框架的设计哲学与实践 【免费下载链接】go-cqhttp cqhttp的golang实现,轻量、原生跨平台. 项目地址: https://gitcode.com/gh_mirrors/go/go-cqhttp Go-CQHTTP作为基于Golang实现的OneBot协议原生实现&#…...

OpenClaw集成CapSolver扩展:AI自动化绕过验证码的工程实践

1. 项目概述:为AI助手装上“自动过验证码”的爪子 如果你正在用OpenClaw这类AI助手来自动化网页操作,比如自动填写表单、爬取数据或者模拟用户下单,那么验证码(CAPTCHA)绝对是绕不开的“拦路虎”。想象一下&#xff0…...

Go语言轻量级RNN库zzet/gortex:原理、实战与优化

1. 项目概述:从“zzet/gortex”看开源项目命名与定位看到“zzet/gortex”这个标题,很多朋友可能会和我最初的反应一样,有点摸不着头脑。这看起来像是一个GitHub仓库的地址,格式是“用户名/仓库名”。在开源世界里,这种…...

Node.js集成GPT模型实战:从零构建AI对话应用

1. 项目概述:一个为Node.js应用注入AI灵魂的“瑞士军刀”最近在折腾一个个人项目,需要让我的Node.js后端服务能“听懂人话”,比如自动回复用户咨询、智能分析日志内容。一开始想直接调用大模型的API,但发现每次都要处理复杂的请求…...

Go语言集成苹果DeviceCheck:服务器端设备风控与反欺诈实战

1. 项目概述:一个被低估的苹果生态安全组件 在苹果生态系统的开发中,我们常常会关注那些光鲜亮丽的前端框架、性能强劲的芯片,或是某个新发布的API。但有一个组件,它默默无闻地守护着数亿设备的安全与信任边界,对于需…...

告别微信压缩!用群晖Synology Photos+cpolar,手机5G流量无损传照片回家

手机摄影师的私有云方案:5G时代无损备份与分享全攻略 每次旅行归来,手机相册里塞满了几百张4K照片和60帧视频,存储空间告急的红色警告成了常态。更糟的是,当你想把孩子的成长瞬间分享给远方的父母时,微信传输后的画质损…...

S32DS高效开发三板斧:字体配色、变量高亮与工程管理实战技巧

S32DS高效开发三板斧:字体配色、变量高亮与工程管理实战技巧 在嵌入式开发领域,S32 Design Studio(S32DS)作为NXP官方推荐的集成开发环境,其功能强大但默认配置往往难以满足工程师对高效编码的追求。当您已经搭建好基础…...

【MATLAB绘图教程】空间误差场图的概念及其应用,附代码

本文介绍空间误差场图的概念及其应用。与热力图不同,空间误差场图将误差视为空间中的连续标量场,通过三维曲面或空间场图展示误差的连续变化趋势。文章对比了两者的区别:热力图适合展示平面区域误差分布,而空间误差场图更适用于参…...

TegraRcmGUI完全手册:深度解析Switch RCM注入与系统管理技术

TegraRcmGUI完全手册:深度解析Switch RCM注入与系统管理技术 【免费下载链接】TegraRcmGUI C GUI for TegraRcmSmash (Fuse Gele exploit for Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/te/TegraRcmGUI TegraRcmGUI作为基于Fuse Gele漏洞开…...

Minify高级功能探索:gzip压缩、缓存集成与路径转换

Minify高级功能探索:gzip压缩、缓存集成与路径转换 【免费下载链接】minify CSS & JavaScript minifier, in PHP. Removes whitespace, strips comments, combines files (incl. import statements and small assets in CSS files), and optimizes/shortens a f…...

Codex宠物模式怎么开启?桌面赛博桌宠教程

Codex宠物模式怎么开启?桌面赛博桌宠教程 关键词:Codex宠物模式、Codex桌宠、Codex Pets、Codex怎么开启宠物、Codex下载、Codex新功能 作为一个天天和 AI 编程工具打交道的开发者,最近发现 Codex 更新了一个非常有意思的新功能——宠物模…...

后端转agent开发全路线 + 踩坑实录

用我的经历给大家一点参考 我是26届ip地9本硕,项目是本科课设做的数据库操作系统编译原理。按理说找个实习不至于这么狼狈,但我25年2月开始投简历的时候,属于那种典型的"自我感觉良好但实际没准备"的状态——觉得自己有项目、有学…...

如何高效提升大模型的RAG效果?

做了两年多大模型应用,RAG 是我搭建次数最多的系统类型。 网上的 RAG 教程铺天盖地,但大多数停留在”5分钟跑通 demo”的阶段。这篇我想讲的是:当 RAG 真正要服务实际用户、接入真实数据、跑在生产环境时,你会碰到哪些问题&#…...

TOML vs YAML:为什么 Cargo 选择 TOML?

TOML vs YAML:为什么 Cargo 选择 TOML? YAML 的问题 YAML 看起来简洁,但它有几个出了名的"坑": 1. 语法过于复杂 YAML 规范极其庞大(1.2 规范有 80 页),边界情况很多,不同…...

树莓派4B安装Ubuntu20.04桌面版和ros 1 noetic

2025年4月4日更新: 通过网盘分享的文件:Ubuntu20 链接: https://pan.baidu.com/s/1ApISdPpRMacfEmizDncirQ?pwdqwer 提取码: qwer --来自百度网盘超级会员v2的分享 我直接把镜像烧录出来了,大小为15G,经测试可以在所有版本的树莓…...

网盘直链解析神器:八大平台高速下载全攻略

网盘直链解析神器:八大平台高速下载全攻略 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷…...

如何用Python快速接入Taotoken调用多模型API完成项目原型

如何用Python快速接入Taotoken调用多模型API完成项目原型 1. 环境准备与SDK安装 开始前请确保已安装Python 3.7或更高版本。推荐使用虚拟环境管理依赖: python -m venv taotoken-env source taotoken-env/bin/activate # Linux/macOS # 或 taotoken-env\Scripts…...

为什么LPE Workshop是渗透测试必备工具?

为什么LPE Workshop是渗透测试必备工具? 【免费下载链接】lpeworkshop Windows / Linux Local Privilege Escalation Workshop 项目地址: https://gitcode.com/gh_mirrors/lp/lpeworkshop LPE Workshop(本地权限提升工作坊)是一款专注…...

使用Taotoken后API调用延迟与稳定性的实际观测感受

使用Taotoken后API调用延迟与稳定性的实际观测感受 1. 日常调用中的延迟体感 在持续一周的Python脚本调用测试中,我们通过Taotoken平台对接了多个主流模型。调用过程采用标准的OpenAI兼容接口,Base URL设置为https://taotoken.net/api。从开发者的主观…...

VCS仿真调试效率翻倍:巧用UCLI和TCL脚本实现FSDB波形的‘精细化’管理

VCS仿真调试效率翻倍:巧用UCLI和TCL脚本实现FSDB波形的‘精细化’管理 在复杂SoC验证过程中,波形文件的管理往往成为制约调试效率的关键瓶颈。当设计规模达到数千万门级时,全量dump波形不仅会消耗数TB的存储空间,更会让后续的波形…...