LWN:Fedora i686 的命运得到缓刑!

VLOOKUP_fixed.py 立即下载

关注了就能看到更多这么棒的文章哦~

Fedora's i686 support gets a reprieve

By Joe Brockmeier
June 30, 2025
Gemini flash translation
https://lwn.net/Articles/1026917/

一项在 Fedora 44 发布时结束对 x86_64 架构上 32 位 x86 (i686) 应用程序支持的变更提案(change proposal),在遭遇强烈反对后已被撤回。根据该提案,这项变更可能会对玩家、编译器开发以及以 Fedora 为基础构建游戏发行版的 Bazzite 项目产生重大影响。虽然 i686 目前获得了暂缓,但问题依然存在:当很少有上游维护者(upstream maintainers)或志愿者打包者(volunteer packagers)关心该架构时,谁来保持必要的 i686 软件包正常运行呢?

如果你觉得似曾相识,请打断我

一些读者在得知 Fedora 正在讨论于 2025 年放弃 i686 支持时,可能会有一种似曾相识(/déjà vu/)的感觉;这个项目不是几年前就已经放弃了 i686 支持吗?答案是“是的,但并非完全放弃”。

Fedora 内核维护者 Justin Forbes 于 2017 年提议放弃 Fedora 的 i686 内核。这本会阻止 Fedora 27 版本提供 i686 内核,但一个x86特别兴趣小组(SIG)成立,负责维护该架构,并获得了确保其持续维护的机会。经过短暂的活跃期后,该 SIG 陷入休眠;i686 移除提案于 2019 年复活并获得 Fedora 31 版本的批准。从那时起,Fedora 停止为 i686 生产安装镜像、内核以及提供软件包仓库。

然而,该项目继续为 i686 构建软件包,这些软件包在 x86_64 仓库中提供“多架构支持”(multilib support)。这意味着用户不能再在 32 位 x86 系统上安装 Fedora,但可以继续在 x86_64 系统上运行 32 位应用程序。这对于像专有游戏或在 Wine 下运行的 Windows 软件等应用程序是必需的,因为为这些应用程序重新编译以支持 64 位是不可能的选项。

在 Fedora 37 中,该项目允许(并鼓励)软件包维护者停止为 i686 构建“叶子包”(leaf packages),而无需公布决定或提交跟踪错误报告。叶子包是指没有其他软件包依赖的包。如果维护者拥有的 i686 软件包是其他软件包的依赖项,他们仍需要遵循处理破坏性变更的程序。该变更提案包含了一个列表,列出了 230 多个软件包,这些软件包仍然是某些常见多架构使用场景的运行时依赖项,例如在 x86_64 上安装Steam客户端以进行游戏或使用 Wine。请注意,这并非所有可能必需的 i686 软件包的详尽列表,而只是作为运行时依赖项且明确不是叶子包的软件包的基础列表。

当前提案

6 月 24 日,Aoife Moloney 在 fedora-devel 邮件列表上宣布了放弃 32 位多架构支持并停止为 i686 构建软件包的变更提案。需要注意的是,最初向列表发布的通知错误地将其描述为 Fedora 43 的变更,而实际上它计划用于 Fedora 44 或更高版本。该提案的所有者——Kevin Fenzi、Fabio Alessandro Locati 和 Fabio Valentini——都是 Fedora 工程指导委员会(FESCo)的成员。当然,该委员会将是决定提案是否获得批准的机构。

该提案的目标是减轻软件包维护者的负担。提案指出,许多软件包的上游项目已放弃对 32 位架构的构建或运行支持,这要求维护者投入额外工作以确保这些软件包能够继续为 i686 构建。

i686 软件包的构建也给 Fedora 的发布工程团队和基础设施带来了负担;放弃 32 位库将使团队能够摆脱为适应 i686 所需的“脆弱的启发式规则和约定”,同时减轻 x86_64 构建系统交叉编译大约 10,000 个 i686 软件包的负载。

用户也将从放弃 i686 中获得一个小小的益处。x86_64 仓库的元数据会因为没有这些软件包而变得更小;反过来,这将加快下载速度和 DNF 依赖解析。

该提案包含三个步骤;第一个,也是在需要时最容易撤销的步骤,是停止在 x86_64 仓库中包含 i686 软件包。第二个步骤,不再为 i686 构建软件包,被描述为基本上不可逆:“撤销这些变更将需要重新引导(re-bootstrapping)该架构,这很难证明其合理性。”Fedora 版本通常由上一个版本构建——新架构必须通过交叉编译足够的软件包来为该平台编译完整版本进行引导。最后,还需要有一种机制,以便在升级时从 Fedora 系统中移除 i686 软件包。

反响

Jakub Jelinek 表示,禁用 i686 将对打包编译器造成问题,例如 GCC,它需要一些 i686 库来支持生成 32 位模式(-m32 )代码。i686 软件包的完全缺失也将影响开发其他编译器和工具链的开发者;这可能导致用户从 Fedora 迁移出去。他建议减少正在构建的 i686 软件包数量,并取消 i686 软件包的文档,这样就不再需要构建 32 位 TeX 和其他用于生成文档的工具。但是,他说:“将集合缩小到零将不利于发行版。”

Daniel P. Berrangé 指出,Fedora 只发布了少数几个由 GCC、GNU Binutils 等工具支持的主机架构,因此这不可能是 i686 特有的问题。Fedora 已经为其他不支持的架构提供了交叉编译器构建,那么为 i686 提供一个交叉编译器构建难道不够吗?

Jelinek 回复道,在 Fedora 上为不支持的平台开发 GCC “非常痛苦”,而且对于作为 GCC 少数几个主要架构之一的 i686-linux 来说,这肯定是不够的:

我们中有些人每天都会在 x86_64-linux 和 i686-linux(目前是运行 64 位内核但有 i686 RPM 包的 Fedora)上进行引导/回归测试,以确保代码的 32 位和 64 位兼容性等。否则,这将不再可能或变得困难得多。

Adam Williamson 追问 Jelinek 解释为什么 32 位开发在这一点上仍然重要。“我期待听到‘是的,GCC 仍然关心 32 位,因为<请在此处插入充分的理由>’。我只是想把它写下来。”Jelinek 强调了 32 位的重要性,但 Stephen Smoogen 用他最近在嵌入式硬件方面的工作给出了一个具体例子:

过去四年在 Fedora 之外的工作让我更加确信,计算机世界并非全是 64 位。从标准汽车中的 900 台微型计算机,到洗衣机中的大约 10 台,大部分硬件都是 16 位和 32 位的。普通的家用电脑至少有 4 个 32 位 CPU 和几个 16 位 CPU,它们在你的 64 位处理器和 GPU 的幕后工作。英特尔在这个 32 位世界中仍然被广泛使用,而主要使用的编译器是 GCC。

他说,由于许多红帽(Red Hat)开发者使用 Fedora 来支持该生态系统,这意味着 Fedora 上的构建链问题比其他操作系统得到更多关注。如果这些开发者不得不转向其他操作系统,就意味着对 Fedora 问题的关注会减少。

参与讨论的大多数人似乎都认为当前的 i686 状况难以为继,但尚未完全准备好将发行版中的 i686 支持彻底清除。David Airlie 回复说,他更倾向于从列出具有 i686 依赖关系的软件包开始,然后放弃其余的。他建议,提供Mesa 3D 图形支持的软件包及其依赖项将是一个很好的开始。在后续回复中,他确定了需要构建超过 150 个软件包才能支持 Mesa。

Steam 和 Bazzite

讨论的很大一部分集中在运行 Steam 上,它不是一个开源应用程序,而且提供它的公司 Valve 也没有为 Fedora 打包。然而,它可以从RPM Fusion仓库安装。

Berrangé 表示,Steam 是否运行并非 Fedora 关心的问题。他说,它的需求与项目的使命和基础不符,因此不应该对是否放弃 i686 软件包的决定产生重大影响。而 Michal Schorm 不同意:

Fedora 重视道德选择而非简单选择。但这并不意味着我们不应该关心并说“那不是我们的问题”。

这是我们的问题。如果我们没有充分的理由,就让大量用户无法升级他们最喜欢的软件,我们将迫使他们离开,而且他们将永远不会回来。

他建议与 Valve 讨论情况,看看他们能做些什么来保持 Fedora 的游戏玩家基础活跃。他说,这可能不会成功,但这比“我们不在乎”是一个更好的理由。

当 Canonical 在 2019 年计划放弃 i686 软件包时,它受到了足够的社区反对,以至于它修订了其计划,并为 Ubuntu 版本构建了“精选的 32 位 i386 软件包”,如Ubuntu 维基上所述。

Valentini 表示,在 Fedora 上运行 Steam 一个被忽视的选项是使用 Flatpak,它已经包含了必要的 32 位库。他说,他多年来一直在使用 Steam Flatpak 进行游戏,并且没有遇到任何 Flatpak 特有的问题。不过,无论如何,他表示,对 i686 的支持迟早会结束:

是的,有些东西会停止工作。但我希望我们能为大多数用例提供解决方案和/或变通方法。

现在就开始规划 i686 软件包的移除,总比等到(例如 CPython 等)基础包停止支持 32 位架构时我们才需要仓促适应要好。

Noel Miller 表示,该提案将影响像 Bazzite 这样的下游项目,Bazzite 是一个Universal Blue项目,它从 Fedora 软件包构建基于镜像的操作系统以用于特定用例。LWN 在 2023 年报道的 Bluefin 也是一个 Universal Blue 项目。

Bazzite 需要 Steam 的原生安装而非 Flatpak,以便Gamescope Wayland 合成器能够正常工作。Ashe Hutchins 解释说,这是因为许多 Bazzite 用户在掌上游戏电脑(例如Steam Deck)上运行该发行版,并且希望模拟 Steam 的游戏模式。虽然曾尝试使用 Flatpak 和 Podman 容器解决方案来替代原生安装,但这些尝试都遇到了无法克服的问题:

Gamescope 是一个微型合成器(microcompositor)。细节虽然有些复杂,但它基本上可以作为三种类型的合成器:嵌套合成器(Nested compositor)——在当前桌面环境之上运行;嵌入式合成器(Embedded compositor)——嵌入到特定应用程序中;会话合成器(Session compositor)——本质上像桌面环境一样运行。Gamescope 的 Flatpak 版本可以提供前两种功能。最后一种,即 bazzite-deck 等类控制台体验所提供的功能,则无法实现。

我给 Bazzite 的首席开发者 Kyle Gospodnetich 发送了电子邮件,询问 Bazzite 团队在提案宣布之前是否曾被接触过,以及如果提案获得批准,该项目将有什么计划。他说,他们事先没有被接触过,所以“现在是我们沟通我们的需求和用例的机会”。他指出,一些 Fedora 贡献者并没有意识到 Flatpak 不适用于 Bazzite 的用例。

Gospodnetich 同意 Fedora 没有理由构建如此多的 32 位软件包,但为了传统兼容性,仍然需要一些 32 位软件包。“有 30 年的 PC 游戏永远不会获得更新,而且 Bazzite 使用 Steam 提供的功能在容器中无法工作。”他说,如果 Fedora 决定完全放弃 32 位软件包,Bazzite 没有应急计划。

从传统意义上讲,Bazzite 并非一个发行版,我们的构建流程无法处理这个问题,我们也没有足够的人力来完成构建。Steam 和 Wine 所需的软件包需要与 Fedora 保持同步,并且可能需要应用更改才能长期保持 32 位构建,这意味着版本会漂移,并且我们有发布损坏构建的风险,除非我们也能在出现不匹配时暂停/阻止构建。

如果 Bazzite 所依赖的 32 位软件包消失,那么终止 Bazzite 项目会更容易、更好。然而,他认为正在讨论的关于构建 32 位软件包子集的一些选项非常优秀,并且“可以达成一个对所有人来说都更好的中间方案”。Gospodnetich 补充说,他对 Fedora 这个项目充满信心,“没有他们,我们都不会在这里。”

i686 会影响到具体的人

这场讨论才刚刚开始几天,还有时间提出可能避免 i686 在 Fedora 上某些用例中走向终结的提案。然而,核心问题是,按照 Fedora 目前的方式维持 i686 运行,对于志愿者打包者来说是一项未拨款的任务(unfunded mandate)。Berrangé 表示:

这是 Fedora 定期出现的非同寻常的变更提案之一,不采纳它,事实上就等同于有意识地决定强制志愿者维护者继续从事许多人认为不受欢迎且技术上没有前途的工作。

将问题推迟几个版本并不能解决问题,他对 Valve 现在会“突然决定做些不同寻常的事情”几乎不抱希望。他说,理想情况下,那些仍然关心 i686 的人应该制定一个支持它的策略,同时避免目前它所带来的跨发行版和构建基础设施负担。一个完整的解决方案不必在 Fedora 44 发布前出现,但“我们至少需要朝着一个比现状更可持续的解决方案迈出一步”。

新任 Fedora 项目负责人 Jef Spaleta 表示,他认为当前的提案是一种必要的激励,旨在让“适当的人制定出一个破坏性更小的可行计划”。在后续评论中,他说 Fedora 必须找到一种方法将 i686 工作“分离出来,让那些背负负担的人可以放下,而关心它的人则可以接手”。如果这没有发生,那么项目可能不得不接受完全放弃 i686。

一些评论者不满该提案似乎是一种强迫他人站出来接管 i686 维护的方式。Claire Robsahm 表示:

我不同意将这项提案用作“达摩克利斯之剑”(Sword of Damocles),以激励其他提案的出现。这意味着像我这样的局外人——玩家和开发者——会将此视为“默认”结果,这将给 Fedora 作为可靠的游戏和开发者平台的长期未来带来不确定性。

Miller 表示同意,并指出 Fedora 作为一款用于玩游戏和开发游戏的发行版,一直以来都获得了很大的势头;这项提案“已经对 Fedora(以及延伸到 Bazzite)造成了品牌损害和用户信心丧失”。

撤回

经过大量讨论——包括 Fedora 的 Discourse 论坛上的400 条评论——Valentini 于 6 月 28 日撤回了该提案,并表示他期待在反提案准备就绪时能看到它们。

目前,那些依赖 Fedora 上多架构支持(multilib support)的用户可以松一口气了,但问题依然存在。维护 Fedora i686 软件包的负担,主要由那些对这项工作不感兴趣或未从中受益的人承担。而那些确实受益于这项工作的用户和商业实体,到目前为止尚未站出来肩负起这份负担。这种情况是不可持续的,也不太可能无限期地得到支持。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

D打卡签到,蓝牙中继,广播信号模拟器 模拟WIFI或蓝牙,有如下4种运行模式 1、WIFI模式:指定SSID、BSSID名称等,模拟WIFI,供设备连接。 2、蓝牙静态模式:指定MAC地址,广播固定的RAW数据。 3、蓝牙动态主机模式:扫描周围蓝牙设备,获取指定MAC地址的蓝牙及其RAW数据,实时发送至Cloud云端,可以设定时间段,只在设定的时间段内发送。 4、蓝牙动态从机模式:指定MAC地址,从Cloud云端获取动态主机模式实时上传的该MAC地址的RAW数据,并广播RAW数据。 准备工作: 1、板子:选择ESP32C3或ESP32C3 Supermini 2、nRF Connect手机app:用于扫描获取待模拟蓝牙设备的MAC和RAW数据。 Wifi分析仪或WiFi魔盒手机APP:用于扫描获取待模拟WIFI设备的SSID和BSSID。 3、可使用官方flash_download_tool_3.9.11工具来固件烧录。 使用说明: 上述完成后,设备首次上电,RESET一侧的指示灯会常亮,可以把它理解成电源指示灯; BOOT一侧的灯会亮,该灯常亮,表示设备开启了AP模式,此时设备会发射一个WIFI信号源,名称为ESPWIFI_AP,密码为12345678,手机或电脑连接该WIFI,浏览器输入192.168.4.1,进入设备的配置页面,进行相应的配置,其中动态主机模式和动态从机模式的SSID、Pwd 及要模拟的蓝牙MAC地址。配置完成并保存后,会重启,重启后设备会按照保存的配置运行。若下次要修改设备配置,可以长按BOOT按键,等待BOOT一侧的灯常亮,即进入AP模式,再按照上述流程配置即可。 仅用于蓝牙设备的开发与调试,请勿用于签到等违法违纪用途。 立即下载

相关推荐

YOLO26算法心电图十二导联目标检测+训练好的模型+368张数据集+pyqt可视化界面.zip

附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[导联I(I), 导联II(II), 导联III(III), 胸导联V1(V1), 胸导联V2(V2), 胸导联V3(V3), 胸导联V4(V4), 胸导联V5(V5), 胸导联V6(V6), 加压肢体导联aVF(aVF), 加压肢体导联aVL(aVL), 加压肢体导联aVR(aVR)] · 训练集:313 张 · 验证集:37 张 · 测试集:18 张 · 总计:368 张 该数据集聚焦于临床心电图信号的精准识别与定位,其核心检测目标为标准12导联心电图中的各个独立导联波形区域,涵盖肢体导联(I、II、III)与加压肢体导联(aVR、aVL、aVF),以及胸前导联(V1至V6),适用于心电图自动分析系统中对各导联位置的快速准确标注与分类。数据采集场景真实还原了医院心电图室或急诊监护环境下的标准心电图记录纸,波形清晰、基线稳定,具有高度临床参考价值。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 57 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9708** mAP50-95 | 0.6344 Precision | 0.8990 Recall | 0.9191 train/box_loss | 1.2231 train/cls_loss | 0.9703 val/box_loss | 1.2779 val/cls_loss | 0.... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。

2024 《计算机网络》实验教学指导书.doc

2024 《计算机网络》实验教学指导书.doc

企业级AI助手平台 开箱即用的全栈AI平台,支持多智能体协同、Supervisor模式编排、多种决策模式、RAG技术和流程编排能力 支持多厂商大模型统一接入与管理,安全可控的企业知识库与高精度检索优化

企业级AI应用开发框架,支持多厂商大模型统一接入与管理,安全可控的企业知识库与高精度检索优化能力,提供可视化流程编排、自主决策智能体与多智能体协同调度,兼容主流 Agent Skill 协议,帮助企业与开发者零门槛快速构建安全、高效、可落地的AI智能体应用与行业解决方案。

基于MPC的风储联合调频模型研究(Simulink仿真实现)

内容概要:本文系统研究了基于模型预测控制(MPC)的风能与储能系统联合频率调节模型,并通过Simulink工具实现了完整的仿真验证。文章深入剖析了风储联合系统的整体架构设计,详细阐述了MPC控制器的建模原理及其在电网频率调节中的具体应用机制,重点探讨了系统在应对负荷突变与风电功率波动等典型扰动下的动态响应特性与控制性能表现。通过与传统控制策略的仿真实验对比,充分验证了所提出的MPC方法在提升电网频率稳定性、抑制频率偏差方面的显著优越性,并进一步分析了控制器关键参数对系统整体性能的影响规律,为高性能控制策略的设计提供了理论依据。; 适合人群:具备电力系统分析、自动控制理论基础,熟练掌握Simulink/Matlab仿真环境,从事新能源并网、电力系统稳定控制、储能系统集成与优化等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于高比例可再生能源接入背景下电网频率调节的关键技术研究;②为风储联合系统的规划、设计与运行优化提供先进的控制策略参考;③作为模型预测控制在电力系统领域应用的经典教学案例,深化对MPC预测机制、滚动优化与反馈校正等核心原理的理解与实践能力。; 阅读建议:建议读者结合提供的Simulink仿真模型进行同步操作与验证,重点关注MPC控制器的状态空间建模、预测时域设定、代价函数构建及参数整定过程,通过对比不同工况与参数配置下的仿真结果,深入理解风储系统协同调频的作用机理与MPC控制的优势所在。

Java低代码, 轻量级, 支持国产化 国密 AI大模型MCP服务 商业免费 包括核心模块如:组织机构、角色用户、权限授权、数据权限、内容管理、工作流、Spring Cloud 微服务、AI大模型等

Java低代码, 轻量级, 支持国产化 国密 AI大模型MCP服务 商业免费 Spring Boot, MyBatis, Flowable, TypeScript, Vue, Antdv, 包括核心模块如:组织机构、角色用户、权限授权、数据权限、内容管理、工作流、Spring Cloud 微服务、AI大模型、代码生成器等

文创媒体电商行业智算中心(AIDC)建设规划方案.pptx

文创媒体电商行业智算中心(AIDC)建设规划方案.pptx

数据驱动复杂网络的数据驱动控制(Matlab代码实现)

内容概要:本文系统介绍了《【数据驱动】复杂网络的数据驱动控制(Matlab代码实现)》这一技术资源,聚焦于复杂网络系统中基于数据驱动的先进控制方法,依托Matlab平台实现建模、仿真与控制策略开发。内容深入涵盖数据驱动控制的核心原理、Koopman算子理论在非线性系统线性化中的应用、机器学习与动态系统建模的融合机制,以及如何在无需精确物理模型的前提下,利用观测数据构建高效控制器。资源提供了完整的Matlab代码实例,覆盖从数据采集、特征提取、模型辨识到控制器设计与性能评估的全流程,突出在电力系统、智能电网、工业自动化等典型复杂网络场景下的应用潜力与工程可行性。; 适合人群:具备一定Matlab编程能力与自动控制理论基础的研究生、科研人员及工程技术人员,尤其适用于从事数据驱动控制、复杂网络建模、智能优化与系统辨识等方向的高校师生和研发工作者。; 使用场景及目标:① 深入理解数据驱动控制在复杂网络中的理论基础与实现路径;② 借助配套Matlab代码快速搭建仿真环境,开展算法验证与性能对比;③ 应用于电力系统稳定性控制、可再生能源集成、工业过程监控等实际工程问题的研究与优化;④ 支撑高水平学术论文撰写、EI/SCI期刊成果复现与科研项目申报。; 阅读建议:建议读者结合文档中的理论推导与代码实现逐项调试运行,深入剖析Koopman算子、模型预测控制(MPC)等关键算法的实现细节;鼓励在现有代码基础上进行参数调整、模型拓展与创新性改进,强化理论与实践的深度融合,提升科研创新能力。

集团企业数字化转型AI智能体平台规划及场景应用方案.pptx

集团企业数字化转型AI智能体平台规划及场景应用方案.pptx

(Multisim课设资料)最全面函数信号发生器(三角波+正弦波+方波信号+锯齿波仿真设计+报告文档

(Multisim课设资料)最全面函数信号发生器(三角波+正弦波+方波信号+锯齿波仿真设计+报告文档

【运维自动化】shell脚本自动化运维示例2

内容概要:本文介绍了shell脚本在自动化运维中的实际应用,重点展示了一个批量远程执行命令与文件分发的典型场景。通过编写健壮的Shell脚本,实现对多台服务器并行执行指定命令(如磁盘使用情况查询),并集成错误处理、超时控制和并发管理机制,提升运维效率与系统稳定性。脚本采用set -euo pipefail增强容错能力,利用SSH免密登录和xargs并行处理实现高效批量操作,同时强调在受控内网环境中运行以保障安全。; 适合人群:具备Linux系统基础和Shell编程经验,从事运维、DevOps或后端开发工作1-3年的技术人员。; 使用场景及目标:①用于批量服务器状态检查、配置同步、日志收集等日常运维任务;②帮助理解自动化脚本设计中的健壮性要素(如错误捕获、并发控制、安全性考虑)并应用于生产环境。; 阅读建议:此资源提供可直接修改复用的实用脚本范例,建议结合自身运维环境进行适配测试,重点关注SSH安全配置、并发参数调优及异常输出捕获,确保在真实部署中稳定可靠。

数字政府一网通办及一网协同AI智能体平台规划方案.pptx

数字政府一网通办及一网协同AI智能体平台规划方案.pptx

【多无人机追捕-逃逸】平面中多追捕者保证实现的分散式追捕-逃逸策略研究(Matlab代码实现)

内容概要:本文针对平面环境中多追捕者对逃逸者的追捕任务,提出了一种保证追捕成功的分散式策略。该策略采用去中心化控制架构,使每个追捕者仅依赖局部感知信息进行独立决策,无需全局协调,从而提升了系统的鲁棒性、可扩展性与实用性。研究深入探讨了追捕者与逃逸者的运动学建模、分散式协同策略的设计原理,并重点分析了实现有效包围与确保收敛性的关键条件。通过Matlab仿真实验,验证了该策略在不同初始分布与动态场景下的有效性与优越性能,尤其在避免碰撞、维持编队与最终围捕方面表现突出。该研究成果可广泛应用于多无人机系统、多机器人协同围捕、智能监控等领域。; 适合人群:具备控制理论、优化算法及Matlab编程基础的研究生、科研人员,以及从事多无人机系统、智能体协同控制、自动化与机器人等领域的工程师和技术人员。; 使用场景及目标:①为多无人机、多移动机器人系统在执行追捕、围堵、安防监控等任务时提供高效可靠的分散式控制解决方案;②研究多智能体系统中基于局部信息的协同博弈与分布式决策机制;③利用Matlab仿真平台复现算法、开展性能测试,并在此基础上进行算法改进与创新,服务于学术研究或工程原型开发。; 阅读建议:建议读者结合所提供的Matlab代码,深入剖析算法实现细节,重点关注追捕者间的协同逻辑、避碰机制与收敛性证明部分,并尝试在不同环境配置和初始条件下进行仿真实验,以全面掌握该分散式策略的性能边界、适应能力与优化潜力。

WorkBuddy制造业解决方案与16场景案例集.pptx

WorkBuddy制造业解决方案与16场景案例集.pptx

3D表面粗糙度和接触的可视化(Matlab代码实现)

内容概要:本文系统阐述了利用Matlab代码实现3D表面粗糙度与接触行为的可视化方法,通过数值模拟技术对材料表面的微观形貌及其接触力学特性进行三维建模与分析。研究涵盖表面粗糙度的数学建模、接触区域的压力分布计算、真实接触面积求解以及三维图形渲染等核心技术环节,并提供了完整的代码实现流程。该方法能够精确反映表面微结构在受压过程中的变形与接触演化过程,适用于从微米到纳米尺度的界面力学研究,为摩擦学、精密制造和材料科学等领域提供了强有力的仿真与可视化工具。; 适合人群:具备Matlab编程基础,从事机械工程、材料科学、摩擦学、表面工程及精密制造等领域的研究生、科研人员和工程技术人员。; 使用场景及目标:①深入研究材料表面粗糙度对其真实接触面积、接触刚度及应力分布等力学性能的影响机制;②在微纳尺度下模拟复杂表面间的接触过程,为摩擦、磨损、密封及热传导等界面现象建模提供直观的可视化支持;③辅助高校教学与科研成果展示,提升对抽象表面物理概念的理解与表达能力。; 阅读建议:建议读者结合提供的Matlab代码逐行运行并调试,重点关注表面高度场生成算法、接触力学模型(如Hertz理论或数值迭代法)的实现细节以及surf、mesh等三维绘图函数的应用技巧,同时可根据具体研究需求调整表面参数(如Ra、Rq)和加载条件,进一步拓展模型功能。

AI知识库与大模型智能体平台建设方案.pptx

AI知识库与大模型智能体平台建设方案.pptx

基于动态窗口法DWA的机器人路径规划研究(Matlab代码实现)

内容概要:本文系统研究了基于动态窗口法(DWA)的机器人局部路径规划算法,深入剖析其在动态环境中实现自主避障与实时轨迹优化的核心机制。文章详细阐述了DWA算法的速度空间采样策略、轨迹预测模型、动力学约束处理及多目标代价函数的设计原理,并通过构建完整的Matlab仿真框架验证算法有效性。结合典型场景的仿真实验,展示了机器人在复杂障碍物环境下如何实时生成安全、平滑且符合运动学约束的最优路径,充分体现了DWA在移动机器人导航中的实用性与鲁棒性。; 适合人群:具备机器人运动规划基础知识和Matlab编程能力,从事智能移动机器人、自动驾驶或服务机器人研发的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入理解DWA算法的理论基础与实现细节;②掌握机器人局部路径规划的仿真实现方法;③为实际机器人系统的导航模块开发提供可复用的算法原型与代码参考;④作为进一步研究高级导航算法(如TEB、MPC)的技术基础。; 阅读建议:建议结合提供的Matlab代码逐模块分析与调试,重点关注速度采样、轨迹积分、障碍物距离计算及代价评估等关键环节,通过调整参数在不同地图环境中进行对比实验,以深刻把握算法性能与参数之间的关系,进而提升对实时路径规划系统设计的理解与应用能力。

【顶级EI复现】基于KKT条件与分段解析优化的双有源桥DC-DC变换器软开关协同最小应力闭环控制方法(Simulink仿真实现)

内容概要:本文围绕“基于KKT条件与分段解析优化的双有源桥DC-DC变换器软开关协同最小应力闭环控制方法”展开,结合Simulink仿真实现,深入研究了双有源桥(DAB)变换器在扩展移相(EPS)调制策略下的高效运行机制。通过引入KKT最优性条件建立数学模型,对功率传输过程中的电压与电流应力进行分段解析优化,实现了软开关条件下的最小化器件应力控制。文章系统阐述了闭环控制系统的设计架构,涵盖状态反馈、相位调节策略及动态响应优化等关键技术,并在宽电压输入范围内验证了该方法在降低开关损耗、提升能量转换效率和增强系统稳定性方面的显著优势,属于电力电子领域高水平(EI级别)研究成果的复现与深化。; 适合人群:具备电力电子、自动控制或电气工程等相关专业背景,熟悉Simulink仿真工具,正在从事新能源发电、电动汽车、电力变换器研发工作的研究生、科研人员及工程技术人员。; 使用场景及目标:① 掌握双有源桥变换器的工作原理及其在EPS调制下的控制特性;② 学习如何应用KKT条件对非线性电力电子系统进行优化建模与求解;③ 理解软开关实现与最小应力控制的协同设计机制;④ 借助Simulink仿真平台复现并拓展高水平学术成果,提升科研创新能力与工程实践能力。; 阅读建议:建议读者结合所提供的Simulink仿真模型,逐步剖析控制逻辑与优化算法的实现细节,重点关注KKT条件的推导过程与分段解析策略的应用,同时可通过调整系统参数开展对比实验,深入理解DAB变换器在不同工况下的动态行为与优化性能。

【轴承故障诊断】用于轴承故障诊断的集中时频分析研究(Matlab代码实现)

内容概要:本文系统研究了用于轴承故障诊断的集中时频分析技术,重点解决了传统时频分析方法在处理非平稳信号时存在的能量分散与分辨率不足等问题。通过引入集中时频分析方法,能够有效聚焦信号能量,精确提取轴承故障特征频率,提升故障识别的准确性与时效性。文章详细阐述了该方法的理论基础,并结合仿真信号与实际实验数据验证其优越性能,同时提供了完整的Matlab代码实现流程,涵盖信号预处理、时频变换、参数优化及结果可视化等环节,便于读者复现与拓展应用。; 适合人群:具备一定信号处理理论基础和Matlab编程能力的研究生、科研人员,以及从事机械设备状态监测、故障诊断与预测性维护工作的工程技术人员。; 使用场景及目标:①应用于电机、风机、齿轮箱等旋转机械的早期轴承故障检测,实现故障预警;②提升工业设备运维系统的智能化水平,支撑预测性维护体系构建;③作为高校或研究机构在信号处理、机械故障诊断等课程中的教学案例与实践素材。; 阅读建议:建议读者结合文中提供的Matlab代码逐段运行与调试,深入理解集中时频分布的生成机制及其关键参数(如核函数选择、平滑窗口大小)对诊断效果的影响,并尝试将其应用于其他类型的机械故障信号分析中,开展对比研究以深化对该方法适用性的认识。

上一篇: LWN:利用机器学习来更好地实现负载均衡!
下一篇: LWN:kernel API 规范和验证
LinuxNews搬运工
博客等级 码龄7年 438粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值