RSS‘25|CMU提出统一空中操作框架:以末端执行器为中心,无人机实现高精度遥操作
导读在科技飞速发展的当下,机器人技术不断拓展其应用边界,空中操作领域成为了研究的热点之一。无人空中操纵器(UAMs)凭借其在高空复杂任务中的巨大潜力,正逐渐改变着诸如高空设备维护、桥梁检测等传统行业的作业模式,有望大幅降低人力成本并提升作业安全性。过往的空中操作研究虽在特定任务上取得了一定成果,但许多现有的平台和控制算法都是为特定任务量身定制,这极大地限制了技术的通用性、跨任务适应能力以及不同平台间算法的复用。例如,更换高塔灯泡这类看似简单的任务,实际上涉及抓取、旋转、插入等多个复杂的操作,对系统的通用性提出了很高要求。
©️【深蓝AI】编译
论文题目:Flying Hand: End-Effector-Centric Framework for Versatile Aerial Manipulation Teleoperation and Policy Learning
论文作者:Guanqi He、Xiaofeng Guo、Luyi Tang、Yuanhang Zhang、Mohammadreza Mousaei、Jiahe Xu、Junyi Geng、Sebastian Scherer、Guanya Shi
论文地址:https://arxiv.org/abs/2504.10334
代码地址:https://lecar-lab.github.io/flying_hand/
为突破这一瓶颈,一种创新的统一空中操作框架——Flying Hand被提出。Flying Hand框架的核心创新在于引入了以末端执行器为中心的接口,巧妙地将高层、与具体平台无关的决策(如任务规划、策略生成)与底层、与具体任务无关的全身协同控制进行了解耦。该框架主要由三部分构成:
1.一个通用的硬件平台:由具备六维力/力矩独立输出能力的全驱动六旋翼无人机和一具4自由度轻型机械臂构成,提供了执行多样化任务所需的工作空间和负载能力。
2.一个末端执行器中心的全身控制器:采用模型预测控制(MPC)方法,并结合L1自适应律,以精确追踪末端执行器的期望轨迹,同时有效补偿模型不确定性和外部扰动。
3.一个高层策略模块:基于末端执行器中心(ee-centric)接口,研究者开发了直观高效的遥操作系统,并首次为空中操作引入了基于模仿学习(Imitation Learning)的自主策略生成方法。
通过这种设计,不仅显著提升了末端执行器的控制精度,使得复杂任务(如空中书写、精密插孔、抓取放置、更换灯泡等)的操作更为精准高效,见视频1。它将先进的机器人学习方法(如模仿学习)和成熟的交互接口(如遥操作)从通用操作领域无缝迁移到空中操作领域铺平了道路,极大地促进了该领域向着标准化、通用化和智能化方向发展。
主要方法
Flying Hand框架通过整合如下图所示三个关键组成部分,实现通用的空中操作能力
图1 Flying Hand框架
通用的硬件平台
为了提供足够的灵活性和精确控制能力,如下图所示,Flying Hand框架的硬件平台选用了一个全驱动六旋翼无人机作为基座,以Tarot680为基础架构,搭配6个KDE 4215XF电机与12 英寸2叶螺旋桨。该基座的关键优势在于能独立控制六自由度的力和力矩,为精确的空中定位和姿态保持提供保障。板载计算机为Intel Nuc负责复杂运算,自动驾驶仪为PX4负责高效处理飞行信息,确保无人机在各种工况下稳定飞行,为机械臂作业创造稳定基础。无人机下方集成了一具4自由度(DoF)轻型机械臂,配备三个俯仰关节和一个滚动关节,由Dynamixel XM540和XM430伺服驱动,具备出色的运动灵活性和高精度操作能力,负责具体的物理交互任务。模块化的末端执行器设计允许根据任务需求更换工具。感知系统结合了运动捕捉/IMU、关节编码器以及用于视觉反馈和策略输入的RGBD相机。
图2 Flying Hand硬件平台
末端执行器中心的全身控制器 (MPC + L1 Adaptation)
Flying Hand框架的控制核心是末端执行器中心(ee-centric)的全身模型预测控制器。它采用模型预测控制(MPC)结合 L1 自适应控制的策略,可以有效应对系统中的复杂动态和不确定性。定义状态变量,和控制变量
,构建位置、姿态、速度和关节角度等误差函数,如
等。MPC 在有限时间范围 H 内最小化包含跟踪误差和控制输入代价的成本函数:
, 同时满足系统动力学约束,状态约束和控制输入约束。通过不断滚动优化,MPC 能够实时调整控制指令,使末端执行器跟踪期望轨迹。
由于机械臂与无人机之间的复杂交互以及外部环境干扰,系统存在模型不确定性。为此,引入 L1 自适应控制进行补偿。在无人机运动控制中,根据公式:
来估计和补偿未知干扰力矩。最终得到总控制命令
。在机械臂关节角度控制方面,类似地设计自适应控制:
来得到最终关节控制命令。L1自适应控制能够实时估计并补偿干扰,显著提高了系统的鲁棒性和跟踪精度,确保末端执行器在复杂环境下稳定、精准地跟踪目标轨迹。
高层策略模块
高层策略模块为Flying Hand”框架注入了智能化的决策能力,基于ee-centric接口,开发了直观高效的遥操作系统和基于模仿学习的自主策略生成方法。
遥操作系统让操作人员能够便捷地控制末端执行器。通过精心设计的游戏手柄程序,操作人员可轻松控制末端执行器的位置和方向
。为解决操作人员视觉受限问题,系统实时传输末端执行器和无人机基座摄像头拍摄的RGB图像,并在3D世界坐标系中实时渲染目标末端执行器姿态轨迹,提供丰富的视觉反馈,极大地降低了操作难度,提高了操作效率和精准度。
基于模仿学习的自主策略生成方法采用Action Chunk with Transformer(ACT)网络结构,利用条件变分自编码器(CVAE)将动作序列和联合观察压缩为潜在风格变量。编码器对从摄像头获取的 RGB 图像(分辨率 640×480)和其他状态信息进行编码,Transformer-based解码器根据潜在变量、当前联合观察和编码图像特征生成动作序列。在训练过程中,通过大量人类演示数据学习最优策略;测试时,根据当前观察生成动作。这种方法首次将模仿学习引入空中操作领域,使系统能够从人类经验中学习,快速掌握复杂操作技能,实现自主空中操作任务执行,为空中操作的智能化发展开辟了新道路。
实验结果
为验证所提出的Flying Hand框架的有效性,研究团队进行了一系列详尽的实验,主要涵盖三个方面:末端执行器轨迹跟踪性能评估、空中遥操作任务的多样性展示、以及基于模仿学习的自主策略学习能力验证。
轨迹跟踪性能
为精准评估ee-centric全身控制器的跟踪性能,选取了三种具有代表性的参考轨迹:悬停、半径 15cm 的水平圆轨迹以及半轴长分别为 15cm 和 10cm 的椭圆轨迹。实验过程中,将Flying Hand框架与两种基线方法进行对比:一是仅使用MPC,即"w.o. L1",二是基于逆运动学(IK)的PID控制,即"w.o. MPC"。实验结果以均方根误差(RMSE)作为衡量指标,详细数据如下图所示:
图3 RMSE尺度下三种方法的跟踪性能
图4 XYZ轴的跟踪曲线
从图中数据清晰可见,在各类轨迹跟踪任务中,Flying Hand”框架展现出了卓越的性能,RMSE误差均显著低于其他两种基线方法。特别是在悬停任务中,本文方法的RMSE仅为1.00±0.11cm。这一结果充分证明了 L1 自适应控制在补偿模型不确定性和外部扰动方面的显著效果,极大地提升了末端执行器对期望轨迹的跟踪精度。同时,在水平圆轨迹和椭圆轨迹等动态任务中,Flying Hand框架同样表现出色,能够稳定、精准地跟踪复杂轨迹,为后续实际空中操作任务的高效执行奠定了坚实基础。
空中遥操作实验
为全面展示Flying Hand框架在空中操作任务中的通用性和有效性,研究人员精心设计了多种典型的空中操作实验,如下图所示,包括空中书写(在白板上写出"2025"字样),旋转阀门(抓握并旋转一个模拟工业阀门),抓取与放置(拾取并移动多种不同形状的物体),更换灯泡(包含“卸下旧灯泡”和“安装新灯泡并按开关点亮”两个长序列任务)。
图5通过Flying Hanf框架完成各类任务
模仿学习实验
为深入探究Flying Hand框架基于模仿学习的自主策略在复杂空中操作任务中的应用效果,研究人员开展了专门的模仿学习实验。在MuJoCo仿真环境中,如图6所示,研究者们针对插孔、旋转阀门、抓取放置及开抽屉取物等任务进行了测试
图6 Flying Hand在MuJoCo仿真环境完成任务
他们对比了采用ee-centric接口(观测与动作均为末端执行器位姿)和传统关节空间接口(观测与动作为无人机位姿加关节角)进行策略学习的效果。结果如下图所示,在拾取放置任务实验中,两种策略都在相同的训练数据集上进行学习。实验结果如下图所示,
图7 ee-centric接口和传统关节空间接口的策略学习对比
ee-centric 策略在实际测试中表现出了明显优势,成功率高达 48/50 ,而关节空间策略的成功率仅为 38/50 。这一结果表明,ee-centric 策略能够更有效地从人类演示数据中学习到最优操作策略,在任务执行过程中能够更快速、准确地规划末端执行器的运动轨迹,避免因关节空间转换导致的误差积累和运动效率降低。
总结
Flying Hand的提出,旨在克服现有系统任务专用性强、通用性差的局限性。其核心采用末端执行器中心(ee-centric)的设计理念,通过解耦高层策略(如遥操作或学习策略)与底层全身控制(无人机与机械臂协同运动),提升了系统的灵活性和适应性。该框架集成了一个全驱动无人机与4自由度机械臂平台、一个结合了模型预测控制(MPC)和L1自适应控制的高精度控制器,以及支持直观遥操作和模仿学习(Imitation Learning, IL)的高层策略接口。实验证明,该框架不仅显著提高了末端执行器的跟踪精度,能够通过遥操作完成书写、插孔、更换灯泡等多样化复杂任务,并且成功地将模仿学习应用于真实的空中操作场景,实现了机器人自主执行任务,为空中操作技术的标准化、通用化和智能化发展提供了重要途径。
相关文章:
RSS‘25|CMU提出统一空中操作框架:以末端执行器为中心,无人机实现高精度遥操作
导读在科技飞速发展的当下,机器人技术不断拓展其应用边界,空中操作领域成为了研究的热点之一。无人空中操纵器(UAMs)凭借其在高空复杂任务中的巨大潜力,正逐渐改变着诸如高空设备维护、桥梁检测等传统行业的作业模式&a…...
智能指针之设计模式6
本系列文章探讨了智能指针和设计模式的关系,前面五篇文章介绍的是使用设计模式实现了智能指针的相关特性,比如使用工厂模式控制了智能指针对象的创建,使用代理模式控制了资源对象的销毁。本文介绍一下使用智能指针来帮助我们实现相关的设计模…...
【设计模式】GOF概括
一、创建型模式(5种) 1. 单例模式 (Singleton) 适用场景:全局唯一实例(如配置管理、日志工具)。C示例:// 所谓的scott mayer单例模式 class Singleton { public:static Singleton& getInstance() {st…...
深入浅出限流算法(三):追求极致精确的滑动日志
在限流的世界里,精度往往是关键。我们已经讨论过固定窗口(简单但有突刺)和滑动窗口(更平滑但仍有格子边界)。如果我们需要更精确的控制,滑动日志 (Sliding Log) 算法便登场了。 核心思想:记录每…...
一文读懂Tomcat应用之 CentOS安装部署Tomcat服务
目录 一、Tomcat概述 (一)、Tomcat安装目录简介 (二)、Tomcat配置文件简介 1、server.xml文件 2、web.xml 3、context.xml 4、tomcat-users.xml 5、logging.properties 二、Tomcat安装部署 (一)、环境规划 (二)、安装JDK 1、下载JDK二进制安装包 2、解压JDK二进制…...
JVM 内存分配策略
引言 在 Java 虚拟机(JVM)中,内存分配与垃圾回收是影响程序性能的核心机制。内存分配的高效性直接决定了对象创建的速率,而垃圾回收策略则决定了内存的利用率以及系统的稳定性。为了在复杂多变的应用场景中实现高效的内存管理&am…...
轻松上手:使用 Docker Compose 部署 TiDB 的简易指南
作者:ShunWah 在运维管理领域,我拥有多年深厚的专业积累,兼具坚实的理论基础与广泛的实践经验。精通运维自动化流程,对于OceanBase、MySQL等多种数据库的部署与运维,具备从初始部署到后期维护的全链条管理能力。拥有Oc…...
Linux权限管理
权限的概念 在 Linux 系统里,权限管理是系统安全的关键环节。权限管理的核心目的是明确不同用户对文件和目录的操作许可范围,以此来保障系统资源的安全与合理使用。权限管理涉及三种不同的用户角色和三种基本的操作权限。 用户角色 所有者(…...
Crusader Kings III 王国风云 3(十字军之王 3) [DLC 解锁] [Steam] [Windows SteamOS macOS]
Crusader Kings III 王国风云 3(十字军之王 3) [DLC 解锁] [Steam] [Windows & SteamOS & macOS] DLC 版本 至最新全部 DLC 后续可能无法及时更新文章,具体最新版本见下载文件说明; DLC 解锁列表(仅供参考&am…...
架构风格对比
架构风格深度对比:从管道-过滤器到微内核 📜 引言 在软件架构设计中,不同的架构风格适用于不同的业务场景。本文将深入解析 7种主流架构风格,包括它们的核心思想、优缺点、适用场景,并通过对比表格和示例帮助您选择最…...
V Rising 夜族崛起 [DLC 解锁] [Steam] [Windows SteamOS]
V Rising 夜族崛起 [DLC 解锁] [Steam] [Windows & SteamOS] 注意 这个符号表示 可打开折叠内容 需要有游戏正版基础本体,安装路径不能带有中文,或其它非常规拉丁字符;仅限用于自建服务器,并禁用 VAC !࿰…...
HTML标记语言_@拉钩教育
目录 1.文本标签 2.格式化标签 3.图片标签 4.超链接标签 5.表格标签 6表单标签 6.1 6.2 6.3 7.行内框架(超链接内套一个页面) 8.多媒体标签(音/视频) 1.文本标签 2.格式化标签 3.图片标签 4.超链接标签 5.表格标签 6表单标签 6.1 6.2 6.3 7.行内框架(超链接内套一个…...
云原生开发革命:iVX 如何实现 “资源即插即用” 的弹性架构?
云原生技术正以惊人的速度重塑软件开发的版图。短短几年间,它从少数技术先驱的实验性方案,迅速崛起为全球企业数字化转型的核心驱动力。Gartner 预测,到 2026 年,全球 85% 的企业将全面采用云原生技术进行应用开发与部署。云原生架…...
whois为什么有时会返回两个不同的域名状态
前阵子发现一直想注册但被别人注册了的一个域名快要过期了,就想着写个脚本跑在电脑上,每分钟检查一次域名状态,一旦域名被正式删除,就发封邮件通知我,这样就不用频繁手动检查域名状态了。 写脚本时发现一个有趣的现象…...
跨境电商店铺矩阵布局:多账号运营理论到实操全解析
在当今竞争激烈的全球电商市场中,跨境电商店铺矩阵布局已成为卖家脱颖而出的关键策略。本文将深入剖析跨境电商店铺矩阵布局的本质、优势,并提供从理论到实操的全方位指导,助力您在全球市场中开启属于自己的销售新篇章。 一、是什么ÿ…...
安卓基础(强制转换)
一、强制转换(Type Casting) 1. 什么是强制转换? 当你想将一个类型的对象转换为另一个类型时,如果它们之间存在继承关系,就需要强制转换。 注意:只有存在继承关系的类型…...
VS2022+OpenCasCade配置编译
一、Open CASCADE Technology介绍及安装(windows10) Open CASCADE Technology(简称OCCT)是一款开源的 3D CAD/CAM/CAE 软件开发平台,广泛应用于工业设计、工程仿真、制造等领域。开源OCC对象库是一个面向对象C类库&…...
AIGC重构元宇宙:从内容生成到沉浸式体验的技术革命
1. 引言 当数字技术掀开人类交互的新篇章,元宇宙正从科幻构想蜕变为现实——这个由虚拟与现实交织的数字宇宙,承载着未来社会的娱乐、工作与社交形态。作为核心赋能技术,AIGC(人工智能生成内容)正以惊人的创造力&…...
当所有人都用上先进ai,如何保持你的优势?
这不再是你能用上openai模型别人只能用文心一言的时候,而是每个人都可以免费用deepseek r1的时代。如今,办公室里每个人都能随时调用deepseek模型,喊一声“帮我写段代码”便轻松解决问题。在这种情况下,单纯“会用AI”已经很难再形…...
【浙江大学DeepSeek公开课】人类经验与AI算法的镜像之旅
人类经验与AI算法的镜像之旅 人类经验与 AI 算法的镜像之旅一、语言的奥秘:人类如何解码世界二、从符号到智能:AI 的语言理解之路三、DeepSeek - V3:大语言模型的构建与进化四、DeepSeek - R1:推理模型的诞生与突破五、智能体时代…...
【前端】从零开始的搭建顺序指南(技术栈:Node.js + Express + MongoDB + React)book-management
项目路径总结 后端结构 server/ ├── controllers/ # 业务逻辑 │ ├── authController.js │ ├── bookController.js │ ├── genreController.js │ └── userController.js ├── middleware/ # 中间件 │ ├── authMiddleware…...
探针台维护方法
探针台的维护直接影响其测试精度与使用寿命,需结合日常清洁、环境控制、定期校准等多维度操作,具体方法如下: 一、日常清洁与保养 1.表面清洁 使用无尘布或软布擦拭探针台表面,避免残留清洁剂或硬物划伤精密部件。探针头清…...
js day8
事件绑定 事件:发生在html元素上的特定动作,鼠标点击,键盘按下,鼠标移入 事件三要素:事件源(触发事件的元素) 事件类型,事件触发后执行的函数 通过html触发事件(不建议…...
大模型训练平台:重构 AI 研发范式的智慧基建
当 AI 研发陷入“高耗低效”困局,如何破局? 在大模型技术爆发的今天,企业 AI 研发正面临前所未有的挑战:某金融机构为训练风控模型投入大量算力,却因数据标注耗时半年延误项目;某制造企业搭建的训练集群利…...
vuex刷新数据丢失解决方案-vuex-persist
安装 npm install -S vuex-persist(yarn add vuex-persist) 使用: /store/index.js引入vuex-persist配置: import Vue from vue import Vuex from vuex import VuexPersistence from vuex-persist import user from ./modules/use…...
多模态革命!拆解夸克AI相机技术架构:如何用视觉搜索重构信息交互?(附开源方案对比)
一、技术人必看:视觉搜索背后的多模态架构设计 夸克「拍照问夸克」功能绝非简单的OCRQA拼接,而是一套多模态感知-推理-生成全链路系统,其技术栈值得开发者深挖: 视觉编码器:基于Swin Transformer V2,支持4…...
Python依据卫星TLE轨道根数,计算可见时间窗口
1.卫星TLE数据 概括:两行字符串表示的卫星参数 字段 字符串位置(以0为起点) 描述内容注释1 01–01卫星编号203-07卫星类别卫星类别(U表示不保密,可供公众使用的;C 表示保密,仅限NORAD使用&…...
C++?模板!!!
一、引言 在之前我们一起学习了C中类和对象、动态内存管理等相关知识,今天我们将一起学习C中有关模板的相关知识,学完模板之后我们就可以进入C中非常重要的库---STL了,那么模板究竟有什么奥秘呢?让我们一起来看看吧! …...
web技术与nginx网站服务
一、Web服务基础概念 Web服务器核心功能 通过HTTP/HTTPS协议提供网页内容,支持HTML、CSS、JavaScript等静态资源,动态内容需结合后端语言(如PHP、Python)处理36。常用软件:Nginx、Apache、Lighttpd。Nginx以高并发、低…...
关系数据的可视化
目录 【实验目的】 【实验原理】 【实验环境】 【实验步骤】 一、安装Python所需要的第三方模块 二、实验 【实验总结】 【实验目的】 1.掌握关系数据在大数据中的应用 2.掌握关系数据可视化方法 3. python 程序实现图表 【实验原理】 在传统的观念里面࿰…...
MATLAB小试牛刀系列(1)
问题描述 某机床厂生产甲、乙两种机床,每台机床销售后的利润分别为 4 千元与 3 千元。生产甲机床需用 A、B 机器加工,加工时间分别为每台 2h 和每台 1h;生产乙机床需用 A、B、C 三种机器加工,加工时间均为每台 1h。若每天可用于加…...
CUDA、pytorch、配置环境教程合集
1.CUDA卸载 参考: 【环境搭建】卸载&重新安装cudacudnnanacondagpu版pytorch_卸载cuda-CSDN博客 【cuda】cuda安装与卸载升级_升级cuda-CSDN博客 检测代码: https://www.zhihu.com/question/482335084 import torch print(CUDA版本:,torch.vers…...
代码随想录打卡|Day29 动态规划Part02(不同路径、不同路径2、整数拆分、不同的二叉树搜索)
动态规划Part02 不同路径 力扣题目链接 代码随想录链接 视频讲解链接 题目描述: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角…...
Leetcode刷题 | Day49_图论01
一、学习任务 深度优先搜索理论基础深度优先搜索理论基础 | 代码随想录98. 所有可达路径(ACM)797. 所有可能的路径(Leetcode)广度优先搜索理论基础 二、具体题目 1.深度优先搜索理论基础 类似回溯算法,二叉树的前中后序遍历是其在二叉树领域的应用。 代码框架&am…...
if consteval
if consteval 是 C23 引入的新特性,该特性是关于immediate function 的,即consteval function。用于在编译时检查当前是否处于 立即函数上下文(即常量求值环境),并根据结果选择执行不同的代码路径。它是对 std::is_con…...
【iOS】OC源码阅读——alloc源码分析
文章目录 前言基本调试方法allocalloc函数逐步调试空类检查快速路径:默认内存分配慢速路径:自定义内存分配slowpath和fastpath alloc核心操作cls->instanceSize:计算所需内存大小内存字节对齐原则为什么要16字节对齐内存字节对齐总结 其他…...
[JavaScript]对象关联风格与行为委托模式
对象关联. “[[prototype)]的机制就是存在于对象中的一个内部链接,它会引用其它对象” 为何创建原型链(关联)? Object.create()会创建一个新对象,参数对象会作为新对象的__proto__. “我们并不需要类来创建两个对象之间的关系,只需要通过委托来关联对象就足够了.而Object.c…...
在 Ubuntu 24.04 LTS 一台机子上同时部署Dify 1.3.1 和 RAGflow 0.18.0
一、RAGflow 0.18.0 简介 有关 Dify 的简介,可以查看我之前分享的 《在 Ubuntu24.04 LTS 上 Docker Compose 部署 Dify 社区版 1.0.1》文章。RAGFlow是一款基于深度文档理解(deepdoc)构建的开源 RAG引擎。其中,深度文档理解&#…...
小熊派BearPi-Pico H3863(二)环境配置 Ubuntu编译源码与VSCode远程开发指南
BearPi-H3863 Ubuntu编译源码与VSCode远程开发指南 摘要开发环境配置方案选型环境部署实战手册一、基础环境配置1. 镜像准备2. 虚拟机初始化3. 网络异常处理 二、VSCode远程开发配置1. SSH服务验证2. VSCode插件安装3. 远程连接实战4. 项目管理 关键要点总结 摘要 本文针对Bea…...
组装 (DIY) 一台显示器 (4K 屏支持 4 画面分屏 PBP 1080p x4)
首发日期 2025-04-26, 以下为原文内容: 家里的 PC 主机比较多, 如果同时开机, 显示器就不够用了. 因为穷, 窝租住的房间又很小, 放不下很多显示器. 所以, 窝希望买一台支持 分屏 功能的显示器. 最好是 4K 分辨率 (3840x2160) 的屏幕, 然后 4 分屏 (有 4 个 DP 或 HDMI 输入接口…...
SwiftUI 8.List介绍和使用
SwiftUI 的 List 组件用于展示可滚动的内容集合,支持静态或动态数据、交互操作(如点击、滑动删除)、分组、自定义样式等。以下是其详细介绍及使用方法: 一、基本用法 1. 静态列表 直接声明固定内容: struct Content…...
Android Kotlin ViewModel 错误处理:最佳 Toast 提示方案详解
在 Android Kotlin 的 ViewModel 中显示 Toast 提示需要特殊处理,因为 ViewModel 不应该直接持有 Context(避免内存泄漏),且 UI 操作(如 Toast)必须在主线程执行。以下是几种标准解决方案: 方案…...
Vue 集成 wangEditor5 公式编辑器的实现步骤
Vue 集成 wangEditor5 公式编辑器的实现步骤 1. 安装公式依赖库2. 配置公式编辑器插件3. 启用工具栏公式按钮4. 组件模板与事件绑定功能验证与调试注意事项版本兼容性: 1. 安装公式依赖库 安装 KaTeX 或 kityformula:根据项目需求选…...
go语言八股文(五)
1.go的局部变量是分配在栈上还是在堆上 在Go语言中,局部变量的内存分配(栈或堆)由编译器基于逃逸分析(escape analysis)来决定。以下是总结和具体示例: 栈上分配 当局部变量的生命周期严格限定在函数作用…...
C++ 解决一个简单的图论问题 —— 最小生成树(以 Prim 算法为例)
使用 C 解决一个简单的图论问题 —— 最小生成树(以 Prim 算法为例),并且使用 Graphviz 库来生成结果图。 在图论中,“边权之和最小” 是最小生成树(MST)的核心目标,其含义和背景可以从以下几个…...
OpenCV计算机视觉实战(2)——环境搭建与OpenCV简介
OpenCV计算机视觉实战(2)——环境搭建与OpenCV简介 0. 前言1. OpenCV 安装与配置1.1 安装 Python-OpenCV1.2 配置开发环境 2. OpenCV 基础2.1 图像读取与显示2.2 图像保存 3. 摄像头实时捕获小结系列链接 0. 前言 OpenCV (Open Source Computer Vision …...
pgrep和pkill命令详解
pgrep 与 pkill 命令详解 一、基础功能 命令作用核心机制pgrep根据条件查找进程ID (PID)通过进程名、用户、终端等属性筛选进程,输出匹配的PID列表pkill根据条件终止进程向符合条件的进程发送信号(默认发送SIGTERM,可指定其他信号&am…...
Python----卷积神经网络(卷积为什么能识别图像)
一、卷积的概念 卷积是一种数学运算,通常用于信号处理和图像分析。在卷积神经网络中,卷积操作用于提取输入数据(如图像)中的特征。通过将输入数据与卷积核(滤波器)进行卷积运算,CNN能够识别图像…...
web3.js 和 ethers.js 的核心区别
1. 核心设计理念 ---------web3.jsethers.js开发背景以太坊基金会官方维护独立开发者创建,社区驱动架构风格集中式对象 (web3 为核心)模块化设计(分离 Wallet/Provider/Contract)包体积较大(1MB)更轻量(压…...
Atcoder Help 有关Atcoder 的介绍-1 涨分规则
AtCoder 的 Rating 计算系统基于改进的 Elo 算法,主要包含以下核心机制: 一、基础计算公式 Rating 是「表现分(Performance)」的加权平均值减去衰减函数 f ( n ) f(n) f(n),其中: 新用户初始 f ( 1 ) 1200 f(1)1200 f(1)120…...