LOVON——面向足式Open-Vocabulary的VLN导航:LLM做任务分解、YOLO11做目标检测,最后L2MM将指令和视觉映射为动作,且解决动态模糊

前言

因为项目需要(比如我们在做的两个展厅讲解订单),近期我一直在研究VLN相关,有些工作哪怕暂时还没开源(将来可能会开源),但也依然会解读,比如好处之一是构建完整的VLN知识体系,本文便是其中一例

我在解读过程中,会以最自然的理解顺序去介绍每一个模块,且每一个模块具体的指向都尽可能直截了当的指出来


比如论文中的指令器instruction object extractor(简称IOE),便是下图图中LLM模块下面Extractor所示的模块。这点 其实不难,但如果我直接点明,大家理解的速度会因此翻倍

更何况,无论是读paper、抠代码,还是做科研复现、客户订单,都是不断增强我们自信、底气、实力的方式,具身层面,但凡​别人能做的 我们也能做到——只要客户有需求,当然 需求不能是那种神仙来了 也没辙的

PS,如想做、在做、曾做该方向的,欢迎私我一两句简介,邀你进NaVILA为代表的「七月具身: 人形导航VLN交流群」

第一部分 LOVON

1.1 引言、相关工作、问题表述

1.1.1 引言

足式机器人经过数十年的发展,如今在复杂地形中展现出了卓越的机动性。然而,目前的大多数研究主要集中在优化单一任务,如行走、跳跃、攀爬和短距离导航,缺乏对复杂长时任务的全面考量

众所周知,足式机器人在开放环境中执行长时任务的潜力尚未被充分挖掘,将先进的语言与视觉理解能力与足式机器人机动性相结合,是实现实际应用的关键突破

来自1香港科技大学(广州)、2北京仿人机器人创新中心、3 香港科技大学的研究者:Daojie Peng1∗, Jiahang Cao1,2∗, Qiang Zhang1,2∗, Jun Ma1,3†等人提出了LOVON『其paper《LOVON: Legged Open-Vocabulary Object Navigator》、其项目地址、其GitHub地址

如图1所示,其集成了

  • 大语言模型(LLMs)的任务规划能力
  • 开放词汇视觉检测的感知能力
  • 以及用于精确运动预测的语言到运动模型(L2MM)

且LOVON系统解决了诸如机器人运动引起的视觉抖动等现实世界中的挑战

  1. 具体而言,作者设计了一种拉普拉斯方差滤波技术,有效减缓了机器人移动过程中出现的视觉不稳定性,从而确保了目标检测的准确性和连续性
  2. 还提出了用于稳健任务完成的功能执行逻辑。在仿真基准Gym-Unreal [6]上的实验表明,LOVON取得了优异的结果
    此外,作者在多个腿式机器人平台(Unitree Go2、B2 和 H1-2)上进行了大量实验,成功完成了涉及实时检测、搜索和导航至开放词汇动态目标的长时任务

1.1.2 相关工作

第一,对于用于机器人任务规划的大型语言模型

  1. 在机器人领域,LLM(大语言模型)已被越来越多地应用于高级任务规划、指令执行和语义推理,例如
    SayCan [8] 将LLM与机器人可供性模型结合,用于将语言指令映射为可执行的动作
    而 Code as Policies [9] 则利用LLM直接根据自然语言描述为机器人控制器生成代码
  2. 尽管取得了这些进展,但在将语言与现实世界机器人动作进行对齐 [10]–[12]、处理模糊或用户指定的指令,以及确保在非结构化环境下的鲁棒性能方面仍然存在挑战

LOVON在这些基础上进一步发展,通过将基于LLM的规划与开放词汇感知和腿式机器人移动能力集成,旨在解决以往方法在长时序、开放世界场景中的局限性

第二,对于开放词汇视觉感知

  1. 开放词汇视觉感知已经从早期的固定类别目标检测器『如 Faster R-CNN [13] 和 YOLO [3]』有了显著发展,这些方法仅能识别预定义类别,在开放世界场景下表现不佳
    后续的研究,如Grounding DINO [14],通过引入基于语义关联的预训练,进一步提升了开放集检测的准确性
  2. 对于机器人应用而言,实时性能以及对动态摄像机运动(例如由足式机器人行走引起的抖动或目标短暂遮挡)的鲁棒性依然是关键挑战 [15]。现有方法在此类场景下往往无法保持检测的稳定性,缺乏根据机器人运动状态或环境变化自适应的反馈机制

LOVON 针对这些不足,通过开发专门的预处理技术(如拉普拉斯方差滤波)来减轻运动模糊,确保视觉输入的一致性,并将开放词汇检测与任务规划和运动控制紧密集成,实现了在非结构化环境中的端到端执行

第三,对于足式机器人导航与长时域自主性

  1. 足式机器人导航已从低层次的移动发展到复杂任务,但现有方法往往侧重于单一任务优化,缺乏对长时域任务中高层次规划的整合[16]–[18]

    尽管足式机器人在地形适应性方面表现优越[19],但其在非结构化环境中执行连续目标的潜力尚未得到充分挖掘,因为传统系统通常将感知与运动规划分离,并且在动态目标跟踪方面存在困难
  2. LOVON通过将分层任务分解与实时运动控制相统一,解决了这一问题。基于LLM的规划器能够将长时域任务分解,而L2MM将指令和视觉反馈映射为动态运动向量

    这使得机器人具备自适应行为,例如在目标丢失时切换至搜索状态。该方法已在Unitree Go2、B2和H1-2等平台上的多种地形中验证。通过将开放词汇感知与足式移动能力结合,LOVON使自主机器人能够在复杂环境中导航,并适应动态任务

1.1.3 问题描述

  • 关于任务
    本任务要求机器人在任意开放世界环境中操作,需要执行长周期任务以搜索不同目标。长周期任务T_{l}被定义为一组子任务T_{l}=\left\{T_{i} \mid T_{1}, T_{2}, \ldots\right\},其中每个子任务对应于搜索特定目标O_{i}

    T_{l}的描述具有灵活性(如图2左下角所示示例),允许任务目标多样化,具体而言,首先,大语言模型任务规划器将人的任务重新配置为基本指令,同时检测模型利用拉普拉斯滤波器处理视频流。随后,任务指令、目标对象、边界框和状态被输入到语言到运动模型中,该模型生成机器人的控制向量和反馈,逐步完成所有任务

    该过程中的核心挑战在于,机器人需自主搜索并识别不同的子目标(目标),并根据任务指令以不同速度导航至这些目标。这些子目标在任务过程中可能发生变化,因此要求机器人具备动态适应能力
  • 关于目标
    作者的目标是开发一个双系统模型:
    \rightarrow  (I) 高层策略能够将复杂的任务指令T分解为具体的子任务指令集I_{\mathrm{ins}}= \left\{I_{i} \mid I_{1}, I_{2}, \ldots\right\},并进行任务规划;
    \rightarrow  (II) 低层策略则基于具体的子任务指令I_i和视频流输入I_{\mathrm{RGB}},生成运动向量V_{m} \in R^{3},实现精确的运动控制
    该模型应能够适应不同类型的腿式机器人,确保在现实世界应用中的多样性和通用性

1.2 LOVON的完整方法论

LOVON 的流程如图2所示

  1. 首先,大型语言模型LLM将人类的长周期任务T_{l}
    You are a robot, you need firstly run to the backpack. After that move to the chair at 0.5 m/s and then approach the person fastly.

    重新配置为基本的任务指令,毕竟T_{l}=\left\{T_{i} \mid T_{1}, T_{2}, \ldots\right\}
    Task 1: Run to the chair at 0.4 m/s
    Task 2: Move to the chair at 0.5 m/s
    Task 3: Approach to the person at 0.8 m/s
  2. 随后,这些指令(Task 1/Task 2/Task 3)被传递给指令对象提取器instruction object Extractor(简称IOE)——,这个IOE是紧跟LLM之后 处理指令的,以识别目标对象,比如:chair、person等
  3. 检测模型——比如YOLO11 处理捕获的视频流,输入图像则通过拉普拉斯滤波器进行预处理
  4. 最后,任务指令、目标对象、边界框、任务状态和搜索状态被组合后,作为输入传递给所提出的L2MM,该模块会生成机器人的控制向量以及同时用于LLM和L2MM的反馈状态
    Finally, the mission instruction, target object, bounding box,mission state, and search state are combined as inputs to theproposed L2MM, which generates the robot’s control vectorand feedback states for both the LLM and L2MM

1.2.1 多模态输入处理

LOVON集成了两个预训练模型:

  • 用于长时序任务管理的大型语言模型LLM(例如,[1]、[22]、[23])
  • 用于视觉输入处理的目标检测模型(例如,[5]、[14]、[20]、[21]

首先,对于指令,先LLM处理,之后指令对象提取器Extractor 提取目标对象

  1. 首先,LLM的输入包括系统描述I_{\text {sys }}、用户的长序列任务描述T_{l},以及来自L2MM O_{f}的反馈
    基于这些输入,LLM生成具体的任务指令I_{i},使LOVON能够通过生成必要的指令来完成长序列任务,从而实现任务目标
    I_{\mathrm{ins}}=f_{\mathrm{LLM}}\left(I_{s y s}, T_{l}, O_{f}\right)
  2. 然后,作者提出的IOE——即提取器instruction object Extractor,将指令映射到检测类别。IOE采用带有感知层的两层Transformer来预测目标类别
    I_{\text {object }}=f_{\mathrm{IOE}}\left(I_{m}\right) \in \mathbf{C}
    其中\text { C }表示检测模型能够识别的类别集合

其次,对于视觉处理目标检测模型以RGB图像I_{\mathrm{RGB}},和I_{\text {object }}作为输入,并输出所需的检测信息如下

O_{m}, C_{p}, O_{x y}, O_{w h}=f_{\operatorname{det}}\left(I_{\mathrm{RGB}}, I_{\text {object }}\right)

作者采用归一化格式来表示检测结果,其中

  • 预测目标记为O_{m}
  • 置信度得分C_{p}
  • 边界框的中心位置表示为O_{x y}=\left[x_{n}, y_{n}\right]
  • 边界框的宽度和高度表示为O_{w h}=\left[w_{n}, h_{n}\right]

此外,作者对目标检测模型输出的边界框应用移动平均滤波器,以进一步提升稳定性

1.2.2 基于拉普拉斯方差的运动模糊滤波

当足式机器人运动时,由于产生的波动,捕获的图像帧会出现运动模糊,如图3所示

由于机器人动态行走,前几帧尤其模糊,这给视觉模型带来了挑战

为了解决这一问题,作者提出了一种基于拉普拉斯方差的方法,用于检测和过滤运动模糊帧。该预处理步骤通过减轻机器人运动和振动引起的模糊与畸变,提高了输入到基于目标检测的视觉-语言处理流程的鲁棒性

  1. 具体而言,首先将RGB帧I_{\mathrm{RGB}}转换为灰度图I_{\text {gray }}
  2. 随后,应用拉普拉斯算子以增强高频成分,得到拉普拉斯响应
  3. 接着,计算拉普拉斯响应的方差,以评估帧的清晰度
    如果方差低于阈值T_{\text {blur }},则该帧被判定为模糊帧,并用上一帧清晰帧替换。阈值T_{\text {blur }}根据机器人场景通过实验校准。该过滤方法的性能将在第VII-B节讨论

1.2.3 语言到动作模型L2MM:负责预测动作和提供反馈

简言之,L2MM 采用编码器-解码器架构设计

具体而言,编码器接收一系列输入,包括以下组件:

  • 前一个任务指令 I_{m 0}
  • 当前任务指令 I_{m 1}
  • 预测目标 O_{p}
  • 预测置信度 C_{p}
  • 中心位置 O_{x y}
  • 归一化边界框的宽度和高度 O_{w h}
  • 当前任务状态 S_{m} 以及当前搜索状态 S_{s}

这些输入被拼接在一起,并用特殊token [SEP] 分隔,作为I_{\text {encoder }}=\left\{I_{m 0}, I_{m 1}, O_{p}, C_{p}, O_{x y}, O_{w h}, S_{m}, S_{s}\right\},编码器处理该序列并输出一个潜在状态l_{e}

随后,该信息被传递给解码器,解码器由三个独立的头部组成,每个头部分别针对不同的预测任务进行处理:

  • 运动向量头 D_{\text {motion }}
    本头根据潜在状态 l_{e} 预测机器人的运动向量 V_{m}。其被建模为一个序列到向量的问题,输出为机器人运动的控制向量
    V_{m}=D_{\text {motion }}\left(l_{e}\right)
  • 任务状态头D_{\text {mission }}
    该头用于预测任务状态S_{m},该状态被用作编码器的反馈以调整未来的动作
    该预测被表述为一个序列到数值的问题,其中输出表示任务的当前状态
    预测公式如下
    S_{m}=D_{\text {mission }}\left(l_{e}\right)
  • 搜索状态头 D_{\text {search }}
    本头预测搜索状态 S_{s},用以指示机器人在寻找目标过程中的进展
    这同样是一个序列到数值的问题,输出反映当前的搜索状态:
    S_{s}=D_{\text {search }}\left(l_{e}\right)
  • 对于运动向量头部 D_{\text {motion }},作者采用均方误差损失函数,并使用系数 \beta 来衡量预测与实际运动向量之间的差异
    L_{M S E}=\frac{1}{N} \beta \sum_{i=1}^{N}\left(V_{m_{p r e d}}^{i}-V_{m_{t r u e}}^{i}\right)^{2}
  • 对于任务和搜索状态头D_{\text {mission }}D_{\text {search }} ,作者使用交叉熵损失将预测状态与真实标签进行比较
    L_{C E}=-\sum_{i=1}^{N} y_{i} \log \left(p_{i}\right)
    其中y_{i} 是真实标签,p_{i} 是每个类别的预测概率

每个解码器头都使用感知层来处理潜在状态l_{e} 并生成相应的输出,且该模型的最终输出是来自所有三个解码器头的预测结果的组合:

O_{\text {decoders }}=\left\{V_{m}, S_{m}, S_{s}\right\}

  • 其中V_{m}=\left[v_{x}, v_{y}, \theta\right]v_{x}v_{y} 分别表示机器人在 x 轴和 y 轴上的速度,θ 表示角速度
  • S_{m}S_{s}分别为输出的搜索状态和任务状态
    任务状态包括success(任务成功完成)和 running(朝检测到的目标移动)
    搜索状态包括 searching_0(向左旋转进行搜索)和 searching_1(向右旋转进行搜索)

    状态与其对应运动向量的关系总结见表 I

该架构使模型能够同时预测运动向量、任务状态和搜索状态,从而不仅使机器人能够精确控制自身运动,还能理解长任务序列并提供相关反馈

1.3 机器人任务执行功能逻辑与数据集的准备

1.3.1 机器人任务执行功能逻辑

一旦模型生成预测结果,机器人便按照其功能逻辑执行任务,并适应环境变化。在任务执行过程中,引导其行为的关键功能包括

  • 执行新任务
    机器人将前一次任务指令与当前指令进行比较。如果二者不同,机器人便开始执行新任务
  • 跑向目标物体
    在检测到任务物体后,机器人根据运动向量和检测结果朝其导航
  • 搜索丢失的物体
    如果机器人失去了对任务物体的跟踪,它会自动切换到搜索状态,并调整运动以重新定位该物体
  • 保持当前状态
    机器人根据实时视觉输入保持当前状态,直到发生状态转换,以确保任务持续执行
  • 完成任务
    机器人监控任务物体,一旦O_{w h} 进入成功阈值范围,机器人停止并切换到成功状态

这些功能规则确保了自主导航、任务适应性以及任务的稳健完成

1.3.2 数据集准备

如图4所示,数据集生成流程包括三个主要部分:

  • 检测类别同义词扩展
    作者利用大型语言模型(LLM)为预定义的目标类别生成同义词,从而丰富对象类别,并提升模型在不同对象描述间的泛化能力
  • 指令多样化
    为了增强语言模块,作者利用大语言模型(LLM)生成任务指令的同义表达
    这样,模型能够处理多样化的句子结构,同时保留核心信息,从而提升其适应能力
  • 对象类别阈值生成
    根据初始示例为目标检测定义成功阈值,然后利用LLM将这些阈值自适应扩展到其他类别,确保模型能够处理不同尺寸的对象

    在生成过程中,生成的数据会反馈到LLM中,以迭代优化数据集,避免冗余并逐步提升数据集的多样性。数据集生成过程快速且易于扩展,使用Inteli9-12900KF CPU生成100万条数据仅需不到15分钟

1.4 实验

1.4.1 实验设置

第一,在模型细节上

  • 作为任务规划器和数据生成助手,作者使用了DeepSeek R1 [22]
  • IOE 采用相同的整体架构,但特征维度缩减至64,包含2层Transformer 和4个注意力头,前馈维度为256
  • 对于目标检测,作者采用了最新开发且高效的YOLO-11 [20],该模型兼具高性能与轻量级架构
  • L2MM 是一种基于 Transformer的模型,特征维度为256,包含4层和8个注意力头,前馈维度为1024,并配有一个线性输出层

第二,在训练设置上

  1. 作者收集的数据集包含100 万样本,以4:1 的比例划分为训练集和测试集。且使用NVIDIA RTX 3080Ti GPU 进行训练
  2. L2MM 模型的训练采用0.1 的dropout率,学习率为10−4,批量大小为512,最大序列长度为64,运动损失系数β 设为10
  3. 使用AdamW 优化器训练25 个epoch。总训练时间约为1 小时

同样,IOE 模型在相同的训练设置下训练,耗时约30 分钟

第三,在机器人设置上

LOVON 具有多功能性,可应用于多种腿式机器人。在作者的实验中,他们评估了三种具有代表性的模型:Unitree Go2、B2 和 Unitree H1-2,如图5所示

计算平台采用 Jetson Orin,视觉平台则包括机器人内置摄像头以及 Realsense D435i 摄像头

1.4.2 运动模糊帧过滤的性能

为了研究运动模糊对目标检测性能的影响,作者进行了实验,分析拉普拉斯方差与检测置信度之间的关系

  1. 他们指令机器人以0.3、0.5或0.7 m/s的固定速度接近背包、椅子或人
    相机以约15Hz的频率更新,确保目标始终处于视野中
  2. 捕获图像帧后,作者计算每一帧的拉普拉斯方差,并将其输入目标检测模型,以获得预测的置信度分数

如图6所示

拉普拉斯方差与YOLO置信度之间的关系波动显著。例如,在机器人运行阶段,尽管目标始终处于视野范围内,检测模型在许多帧中始终无法识别目标对象

  1. 为了解决这一问题,作者采用了所提出的运动模糊帧过滤方法。通过设置上文引入的模糊阈值,能够过滤掉运动模糊过度的帧
    图7中研究了不同模糊阈值的影响,他们观察到,较高的阈值会带来更高的合格帧比例,但阈值设置过高又会导致有效帧被不必要地剔除

    经过测试,作者将阈值设定为Tblur=150,这使得所有数据集的合格帧比例提升了约15%
  2. 随后,作者将该过滤方法集成到目标检测流程中。被判定为模糊的帧会被排除,并由上一帧合格帧替换,同时检测置信度通过移动平均滤波器(MAF)进行平滑处理。如图7子图所示,这一集成方法使合格帧率整体提升了25%,证明了他们运动模糊帧过滤方法的有效性

// 待更

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/917134.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/917134.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在线免费的AI文本转语音工具TTSMaker介绍

TTSMaker是一个在线的文本转语音工具, 支持多语言和中文方言,不同的语言和方言单次转换的字符上限从200-10000 不同,转换的效果还不错,听不出明显的AI痕迹。 工具的网址是:https://ttsmaker.cn/。 工具的界面如上&…

【AI问答】PromQL中interval和rate_interval的区别以及Grafana面板的配置建议

问题1:interval和rate_interval的区别 在PromQL中确实有 $__rate_interval 这个特殊的变量,它与 $__interval 有不同的用途和计算方式。 $__interval vs $__rate_interval 1. $__interval 含义:Grafana计算出的基本时间间隔计算方式&#xff…

STM32学习记录--Day5

今天了解了:中断中断有多个类别包括:USART中断,I2C中断等;并通过NVIC来分配中断的优先级EXTIEXTI的内部结构:EXTI线🔧 ​​一、EXTI系统核心架构​​1. ​​中断源输入(左上区域)​​…

CentOS7下同步时间的几种方式(NTP 、Chrony和systemd-timesyncd)

文章目录前言一、NTP (Network Time Protocol) & ntpd1.原理2. 安装与配置(ntp 包)3.NTPd 优缺点对比二、Chrony1.原理2.安装与配置 (chrony 包)3. 优点4. 缺点三、systemd-timesyncd1.原理2.安装与配置 (systemd 自带)3. 优点4. 缺点四、手动同步工具1.ntpdate(已废弃&…

Web3:在 VSCode 中基于 Foundry 快速构建 Solidity 智能合约本地开发环境

相关文章推荐链接Web3专栏https://blog.csdn.net/qq_42392981/category_13016259.html在 VSCode 中基于 Foundry 快速构建 Solidity 智能合约本地开发环境引言1. 开发环境准备(Windows)1.1 安装 VSCode1.2 安装推荐插件1.3 安装 Foundry1.4 验证 Forge 和…

Implement recovery based on PITR using dump file and binlog

模拟生产场景中需要基于某个事务点的恢复,使用存量备份与存量binlog 生成测试数据 (rootlocalhost) [(none)]> create database NanJing; Query OK, 1 row affected (0.01 sec) (rootlocalhost) [test]> use NanJing; Database changed (rootlocalhost) [NanJ…

HTML-取消div,a等标签点击效果

一、背景当标签被设置onclick事件之后,在有些手机浏览器中,点击这些标签,会有点击变色效果。想要取消点击变色效果。通过为div和标签元素添加-webkit-tap-highlight-color样式属性,可以有效地解决这一问题二、解决方案已a标签示例…

VR 三维重建:开启沉浸式体验新时代

在科技飞速发展的今天,VR(虚拟现实)技术已经逐渐渗透到我们生活的各个领域,为我们带来了前所未有的沉浸式体验。而 VR 三维重建作为 VR 技术的重要应用之一,更是让人们能够身临其境地感受各种场景,无论是旅…

iTwinjs 几何 - Curve

CurvePrimitive 常用的见下 LineSegment3d直线段两点直线边、杆件、骨架LineString3d折线多点连续直线轮廓线、路径Arc3d圆弧 / 椭圆弧圆心 半径 起止角圆孔、圆角、弧段BezierCurve3d贝塞尔曲线端点 控制点平滑过渡、动画轨迹BSplineCurve3dB 样条 / NURBS控制点 节点矢…

iPhone 恢复出厂设置是否会删除所有内容?

当你的 iPhone 经常崩溃、出现黑屏死机、卡在加载屏幕上等问题时,你可能会考虑进行恢复出厂设置来修复它。或者在其他情况下,如果你要将使用多年的设备交给新主人,出于安全考虑,也需要进行恢复出厂设置。那么,恢复出厂…

机器学习②【字典特征提取、文本特征处理(TF-IDF)、数据标准化与归一化、特征降维】

文章目录先言一、特征工程概述二、特征提取1.字典特征提取(特征离散化)2.文本特征提取2.1英文文本提取2.2中文文本提取(jieba分词器)3.TfidfVectorizer TF-IDF文本特征词的重要程度特征提取三、数据归一化与标准化1.MinMaxScaler …

3、CC3200串口DMA

先说下CC3200存在2个16*8的fifos, 分别用于发送和接收 当fifos被disable时,将会作为一个1字节深度的保持寄存器, 所以无论fifos是开是关,发送和接收都绕不开fifos DMA 由于发送和接收都绕不过fifos,所以DMA也绕不开FIFOS. MAP_UARTFIFOLevelS…

从游戏NPC到手术助手:Agent AI重构多模态交互,具身智能打开AGI新大门

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《GPT多模态大模型与AI Agent智能体》(跟我一起学人工智能)【陈敬雷编著】【清华大学出版社】 清华《GPT多模态大模型与AI Agent智能体》书籍配套视频课程【陈敬雷…

Lesson 29 Taxi!

Lesson 29 Taxi! taxi n.出租车 同义词:cab n.出租车 相关:taxi meter计价器 taxi stand taxi rank 出租车站 call ataxi 叫车,打车 例句:对不起,请问出租车站在哪里? Excuse me, do you know where the taxi rank is please? land v.着陆,登陆n.陆地…

怎样将allegro的brd文件转化为AD的PCB文件

由于工作需要将allegro的PCB转成ad给同事,在使用AD软件导入Allegro的brd格式文件时出现各种的异常报错弹窗问题,现分享两种将Allegro PCB文件导入到AD中的方法。一、第1种方法使用高版本的AD软件(AD22,同时操作电脑需安装了Allegr…

[免费]【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts)【论文+源码+SQL脚本】

大家好,我是python222_小锋老师,看到一个不错的【NLP舆情分析】基于python微博舆情分析可视化系统(flaskpandasecharts),分享下哈。 项目视频演示 【免费】【NLP舆情分析】基于python微博舆情分析可视化系统(flaskpandasecharts爬虫) Pytho…

什么是CI/CD?

CI/CD是持续集成(Continuous Integration)和持续交付/持续部署(Continuous Delivery/Continuous Deployment)的缩写:持续集成(Continuous Integration, CI):CI是一种开发实践&#x…

【Linux】重生之从零开始学习运维之Mysql

一主一从主12主机准备工作mkdir -p /data/mysql/logbin chown -R mysql:mysql /data/mysql主节点mysql配置vim /etc/my.cnf.d/mysql-server.cnf server-id177 log_bin/data/mysql/logbin/mysql-bin default_authentication_pluginmysql_native_password查看效果systemctl resta…

Trust Management System (TMS)

Trust Management System (TMS)信托管理系统学习信托管理系统(TMS)是一种用于高效管理信托业务的综合平台,涵盖客户信息、资产配置、风险监控等功能。通过学习TMS,可以掌握信托产品设计、业务流程优化及合规…

Spring Boot中使用Bouncy Castle实现SM2国密算法(与前端JS加密交互)

Spring Boot中使用Bouncy Castle实现SM2国密算法(与前端JS加密交互)一、环境准备二、核心实现三、前后端交互流程四、关键问题解决方案五、常见问题排查六、最佳实践建议在现代Web应用中,数据安全传输至关重要。SM2作为我国自主设计的非对称加…