OminiAdapt:学习跨任务不变性,实现稳健且环境-觉察的机器人操作
25年3月来自中科大、北理工和中科院自动化所的论文“OminiAdapt: Learning Cross-Task Invariance for Robust and Environment-Aware Robotic Manipulation”。
随着具身智能的快速发展,利用大规模人体数据对人形机器人进行高水平的模仿学习,成为学术界和工业界关注的焦点。然而,由于人形机器人感知和控制过程的复杂性、人形机器人与人类在形态和驱动机制上的长期物理差异以及缺乏从自我中心视觉中获取的任务相关特征,将人形机器人用于精准操作领域仍然具有挑战性。针对模仿学习中的协变量漂移问题,本文提出一种适用于人形机器人的模仿学习算法。通过聚焦主要任务目标,过滤背景信息,并结合通道特征融合和空间注意机制,该算法抑制环境干扰,并通过动态权重更新策略,显著提高人形机器人完成目标任务的成功率。
如图所示学习的机器人操作例子:
近年来,人形机器人和具身智能的发展进展迅速。然而,让这些机器人在非结构化环境中自主决策和完成任务仍然存在重大挑战 [12]。在这些复杂性中,机器人上半身的灵巧操作是一个关键方面,因为人形机器人必须了解周围环境、自主决策并有效地利用机械系统和控制装置执行任务。
最近,已经提出了几种方法来解决机器人决策操作任务的挑战。这些方法包括真实机器人的强化学习、模拟中的强化学习和真实机器人的模仿学习。其中,真实机器人模仿学习因其在学习特定操作任务方面的效率而备受关注,因为它消除了弥合模拟和现实世界部署之间差距的需要。例如,Mobile ALOHA [5] 引入动作分块 Transformer (ACT) 算法,该算法将动作序列划分为固定长度的块(例如,50 步动作块),并使用 Transformer 模型来预测这些动作块。此方法降低顺序建模的复杂性,同时保持轨迹连贯性。此外,HumanPlus [4] 开发一种称为 HIT 的仅解码器策略,该策略通过利用真实人形机器人上的分层控制架构,以最少的人类演示数据实现低成本的操作任务学习。
尽管取得了这些进步,但关键瓶颈阻碍人形机器人模仿学习的实际部署。例如,作为模仿主要感官输入的自我中心视觉,易受动态背景杂波和目标物体变化的影响,导致特征提取不一致和感知域发生变化。其次,训练模拟和现实环境之间的物理差异会导致动作执行错误,因为在理想模型上训练的策略无法解释现实世界的动态。第三,传统的规范化化技术(如针对固定训练分布进行优化的批量规范化)难以实时适应新条件,导致在线操作期间的性能下降。感知鲁棒性、物理一致性和动态适应性方面相互交织的挑战,共同限制人形机器人模仿学习框架的可扩展性和可靠性。
为了解决这些问题,本文为人形机器人提出一个 OminiAdapt 的多模态自适应模仿学习框架。
为了应对模仿学习对环境的高度敏感性以及为新任务重新训练的巨大成本,提出基于模仿学习的机器人策略架构 OminiAdapt,如图所示。系统采用 N 个摄像头(默认 N = 3 个,位于头部、胸部、手腕等处)以 30 Hz 的频率捕获同步图像流 {I_tvi}。当机械臂的运动能量超过 0.1 时,触发有效帧采集,确保采样效率。给定当前时间 t 的不同 RGB 摄像头视图和机器人本体感受 s_t = [q_tarm,θ_t^hand],OminiAdapt 预测机械臂和手轨迹的下一步 T 步。以下详细描述。
首先,用任务解释器模块和零样本语义分割模块初始化图像预处理,后续图像 {I_tvi} 使用前一时刻的掩码图像作为查询图像,通过连续目标跟踪生成掩码 {M_t^vi}。
其次,使用具有冻结卷积权重和可训练动态批量归一化(BN)层的ResNet18主干网络,处理掩码图像,提取特定视图的特征 {F_t^vi},从而更快地将学习迁移到新任务。
第三,这些特征图通过名为CBAM [20]的通道空间注意模块进行增强,这有助于在面对不同环境干扰时提高策略稳健性,即使环境只有很小的变化,也无需收集大量数据。
增强的多视图特征被聚合在一起。最后,融合特征 F_tin = Concat(F_t3D, F_tpro) 被输入到 Transformer 解码器中,预测 T 步未来动作 {τ_t+kpred},其中 F_t^pro = MLP (s ) 是时刻 t 的嵌入式机器人本体感受。遵循 [5],采用分块预测来实现时间连贯性。
Transformer 解码器输出由定义损失所优化的动作,由两个项组成:一个是轨迹精度,另一个是速度不连续性。指数衰减因子 0.95^T−k 实现课程学习。
用于视觉预处理的连续目标跟踪
在预处理中,所有视图中的第一帧图像使用任务解释器模块和 GroundingSAM [16](ViT-B 主干)进行零样本语义分割初始化,以进行目标定位,后续帧通过 Cutie 跟踪器 [1] 进行连续目标跟踪和掩蔽处理。如图所示,多模态大模型的输入,由不同任务场景的摄像机拍摄图像和相应的任务描述组成。该模型从不同视角识别图像中机器人最需要关注的目标或元素,并生成基于文本的提示。
基于此操作,提出一种自动关键元素提示的生成范式。给定这些生成的文本提示,使用 GroundingSAM 对各个视角的初始帧图像 I_0v 进行零样本语义分割,生成相应的掩码 M_0v = GroundingSAM(I_0^v , T) 以初始化图像预处理。然后将当前图像用作后续帧的查询帧,并进行目标跟踪、分割和掩码处理的连续循环。后续帧通过增强的CUTIE跟踪器处理,以执行连续的目标级跟踪和分割。此过程不仅可以过滤掉背景干扰,而且形态扩张(r = 15 像素)还可以扩大手部掩码以实现遮挡稳健性,即使被树叶或衣服等物体遮挡,也可以尝试保留机械臂和手的边缘信息。为了确保不同视点之间的一致性,应用视图间一致性约束,这迫使几何变换后不同视图之间的掩码高度对齐。
动态自适应批量规范化 (DABN)
特征提取架构由预训练的特征提取模块和通道空间注意模块组成,以增强对手与物体交互的关注。主干网络采用动态自适应批量规范化 (DABN) 设计,是一个冻结的多视图共享权重 ResNet18(在 ImageNet 上预训练),其中只有主干中的 BN 层被激活以在特定于任务的训练期间进行联合微调。这种 DABN 设计允许主干缩小不同任务之间的差距,同时共享卷积层参数并调整 BN 参数以轻松启动和快速适应新任务,减少训练时间和资源消耗,并提高策略可转移性和环境适应性。每个任务策略都维护自己的一组独立的 BN 参数 {μ_k,σ_k,γ_k,β_k}。
经过整体训练后,任务特定的嵌入向量 e_task 被路由来选择 BN 参数。
多维注意机制
从不同视角提取的特征通过通道空间注意模块,采用[20]中的CBAM模块,该模块可以抑制与任务无关的干扰,高频噪声和不相关的颜色通道,并有助于关注手和目标之间的空间关系,特别是在交互区域,优化物体轮廓和手部部位。通道注意机制,侧重于抑制不相关的特征通道,提高模型对高频噪声(例如机器人反射)的抵抗力,它通过双路径池化(GAP和GMP)计算权重α_c。空间注意机制,通过卷积层生成热图,使策略能够更好地学习手和任务目标之间的空间关系,关注手与物体交互中的细节,从而有效提高其处理背景干扰的能力并增强鲁棒性和环境适应性。
双臂移动机器人,由一个 AGV 底盘和一对配备不同灵巧手 7 自由度机械臂组成。机械臂是 Realman 的 RM75-6F 轻型人形机械臂,集成六轴力传感器。右臂配备 Inspire 的 RH56DFX 灵巧手,左臂配备 LinkerHand 的 L10 灵巧手,具有十个活动自由度。双手通过串行通信控制。AGV 底盘是 YUNJI 的 WATER2 号。所有组件都通过以太网连接到 NVIDIA Jetson Orin。机器人的头部、颈部和右手配备三个 RGB 摄像头(Intel RealSense D435i)。Inspire 灵巧手可以施加最大 10 N 的力,而 LinkerHand L10 通过其多自由度设计提供增强的操控能力,并在所有五个指尖上都配有触觉传感器。手臂的额定有效载荷为 5 公斤。
下图显示机器人示意图。在未来的工作中,计划充分利用 LinkerHand 的触觉数据来进一步改进方法。
在对比实验中,在折叠衣服场景中为每个任务收集 40 个数据样本,在摘苹果场景中收集 50 个训练样本。对于更具挑战性的任务,例如倒水和插花收集了 60 个数据样本,如表所示。通过 20 次实验运行来评估每个场景以比较成功率。在消融实验中,每个任务尝试 10 次,每次试验都分析逐步成功率和最终成功率。此外,对于多场景泛化任务,使用不同的数据分布率在不同场景中进行了实验以进行测试。
相关文章:
OminiAdapt:学习跨任务不变性,实现稳健且环境-觉察的机器人操作
25年3月来自中科大、北理工和中科院自动化所的论文“OminiAdapt: Learning Cross-Task Invariance for Robust and Environment-Aware Robotic Manipulation”。 随着具身智能的快速发展,利用大规模人体数据对人形机器人进行高水平的模仿学习,成为学术界…...
Vue3中父组件将一个ref定义的对象类型传递给子组件的解包机制
在Vue3中,当父组件将一个ref定义的对象类型传递给子组件时,子组件接收到的不是原始的Ref类型,而是该ref的.value值,即被解包后的响应式对象。具体行为如下: 关键点解析: 自动解包机制: Vue3在模…...
批量将 SVG 转换为 jpg/png/Word/PDF/ppt 等其它格式
SVG(可缩放矢量图形)是一种广泛使用的图像格式,因其矢量特性在不同分辨率下都能保持清晰,但在某些情况下,用户可能需要将 SVG 格式的图片转换为更常见的位图格式,如 JPG、PNG 等,以适应不同平台…...
微服务篇——SpringCloud
服务注册 Spring Cloud5大组件有哪些? 服务注册和发现是什么意思?Spring Cloud如何实现服务注册发现? nacos与eureka的区别 负载均衡 如何实现负载均衡? Ribbon负载均衡的策略有哪些? 如何自定义负载均衡的策略&…...
Windows 11 家庭中文版 安装docker desktop 无法开启自启动问题处理
前言 我在某台Windows 11家庭中文版的电脑上安装Docker Desktop后,老是无法开机启动,已经按照Docker Desktop 设置调整的方式设置了开机启动,但是重启后发现还是无法自启动,需要手动点击启动。然后使用任务计划程序新建一个开机启…...
蓝桥杯备考
先浅学一遍数据结构,不会拉倒,找点简单题练练语法基础 然后边学边刷二分查找和双指针 递归和暴力,边学边刷 学习贪心,练个几十道 再去过下数据结构 开始算法:搜索,动态规划, 搜索很重要,深…...
Elasticsearch 系列专题 - 第一篇:Elasticsearch 入门
Elasticsearch 是一个功能强大的开源分布式搜索和分析引擎,广泛应用于日志分析、实时搜索、数据可视化等领域。本篇将带你了解 Elasticsearch 的基本概念、安装方法以及简单操作,帮助你快速上手。 1. 什么是 Elasticsearch? 1.1 Elasticsearch 的定义与核心概念 Elasticse…...
【LeetCode 题解】数据库:1321.餐馆营业额变化增长
一、问题描述 本题给定了一个名为 Customer 的表,记录了餐馆顾客的交易数据,包括顾客 ID、姓名、访问日期和消费金额。作为餐馆老板,我们的任务是分析营业额的变化增长情况,具体来说,就是计算以 7 天(某日…...
Apache Nifi安装与尝试
Apache NIFI中文文档 地址:https://nifichina.github.io/ 下载安装配置 1、环境准备 Nifi的运行需要依赖于java环境,所以本机上需要安装java环境,并配置环境变量。 1.1查看本机是否已经存在java环境 请先执行以下命令找出系统中真实可用…...
【Git 常用操作指令指南】
一、初始化与配置 1. 设置全局账户信息 git config --global user.name "用户名" # 设置全局用户名 git config --global user.email "邮箱" # 设置全局邮箱 --global 表示全局生效,若需针对单个仓库配置,可省略该参数 2.…...
Django 生成PDF文件
在这里,我们将学习如何使用Django视图设计和生成PDF文件。我们将使用ReportLab Python PDF库生成PDF,该库可以创建定制的动态PDF文件。 这是一个开源库,可以通过在Ubuntu中使用以下命令轻松下载。 $ pip install reportlab Python Copy …...
多账户使用Github的场景,设置 SSH 多账号使用特定 key
遇到多账户使用Github的场景,常难以管理ssh文件 解决方案: 你可以通过配置 ~/.ssh/config 文件,生成多个SSH key 让 Git 识别不同 key 来对应不同 GitHub 账号。 ✅ 正确的 key 类型有这些常见选项: rsa:老牌算法&a…...
js中this指向问题
在js中,this关键字的指向是一个比较重要的概念,它的值取决于函数的调用方式。 全局状态下 //全局状态下 this指向windowsconsole.log("this", this);console.log("thiswindows", this window); 在函数中 // 在函数中 this指向win…...
BabelDOC ,开源的 AI PDF 翻译工具
BabelDOC 是一款开源智能 PDF 翻译工具,专门为科学论文的翻译而设计。它能够在原文旁边生成翻译文本,实现双语对照,用户无需频繁切换窗口,极大提升了阅读的便利性。此外,BabelDOC 能够完整保留数学公式、表格和图形&am…...
Dify 生成提示词的 Prompt
Dify 生成提示词的 Prompt **第1次提示词****第2次提示词****第3次提示词**总结 Dify 生成提示词是,会和LLM进行3次交互,下面是和LLM进行交互是的Prompt。 以下是每次提示词的概要、目标总结以及原始Prompt: 第1次提示词 概要: …...
在nvim的snippet补全片段中增加函数注释的功能
一、补全片段路径 如果使用nvim,应当在nvim的snippet的插件中增加对应补全的片段,目前我所用的补全的片段路径如下: /home/zhaoky/.local/share/nvim/site/pack/packer/start/vim-snippets.git/snippets我当前补全的是c语言所以使用的片段是c.snippets…...
阿里云负载均衡为何费用高昂?——深度解析技术架构与市场定价策略
本文深度解析阿里云负载均衡(SLB)产品的定价体系,从技术架构、安全防护、合规成本三个维度揭示费用构成逻辑。通过2023年某跨国企业遭受的混合型DDoS攻击案例,结合Gartner最新安全支出报告,给出企业级负载均衡成本优化…...
大数据(7)Kafka核心原理揭秘:从入门到企业级实战应用
目录 一、大数据时代的技术革命1.1 消息中间件演进史1.2 Kafka核心设计哲学 二、架构深度解构2.1 核心组件拓扑2.1.1 副本同步机制(ISR) 2.2 生产者黑科技2.3 消费者演进路线 三、企业级应用实战3.1 金融行业实时风控3.2 物联网数据管道 四、生产环境优化…...
01背包 Java
① 记忆化搜索解法: import java.util.*; import java.io.*;public class Main {static int n, m;static int[] v, w;static int[][] memory; // 记忆化数组public static void main(String[] args) throws Exception {BufferedReader br new BufferedReader(new …...
【Kafka基础】消费者命令行完全指南:从基础到高级消费
Kafka消费者是消息系统的关键组成部分,掌握/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh工具的使用对于调试、测试和监控都至关重要。本文将全面介绍该工具的各种用法,帮助您高效地从Kafka消费消息。 1 基础消费模式 1.1 从最…...
Seq2Seq - 编码器(Encoder)和解码器(Decoder)
本节实现一个简单的 Seq2Seq(Sequence to Sequence)模型 的编码器(Encoder)和解码器(Decoder)部分。 重点把握Seq2Seq 模型的整体工作流程 理解编码器(Encoder)和解码器(…...
@SchedulerLock 防止分布式环境下定时任务并发执行
背景 在一个有多个服务实例的分布式系统中,如果你用 Scheduled 来定义定时任务,所有实例都会执行这个任务。ShedLock 的目标是只让一个实例在某一时刻执行这个定时任务。 使用步骤 引入依赖 当前以redisTemplate为例子,MongoDB、Zookeeper…...
【力扣hot100题】(077)跳跃游戏
我最开始的想法还是太单纯了,最开始想着用回溯法,然后想到上一题的经验又想到了动态规划,虽然知道贪心题不太可能会这么复杂但实在想不出别的办法……果然我的智商做贪心题的极限就只能达到找零问题那种水平…… 最开始的方法,击…...
多光谱相机:林业监测应用(病虫害、外来物种、森林防火识别)
随着气候变暖和人类活动的增加,森林火灾发生的频率和强度都有所上升,而我国森林防火基础设施薄弱,监测预警体系不够完善,扑救能力和应急响应能力有待提高。气候变化导致气温升高、降水分布不均等,影响了树木的生长和发…...
Dynamic Programming(LeetCode 740)
740. 删除并获得点数 相关企业提示给你一个整数数组 nums ,你可以对它进行一些操作。 每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i] - 1 和 nums[i] 1 的元素。 开始你…...
虚拟列表react-virtualized使用(npm install react-virtualized)
1. 虚拟化列表 (List) // 1. 虚拟化列表 (List)import { List } from react-virtualized; import react-virtualized/styles.css; // 只导入一次样式// 示例数据 const list Array(1000).fill().map((_, index) > ({id: index,name: Item ${index},description: This is i…...
[特殊字符] 手机连接车机热点并使用 `iperf3` 测试网络性能
好的,以下是根据你的描述整理出来的步骤及解释: 📶 手机连接车机热点并使用 iperf3 测试网络性能 本文将通过 iperf3 来测试手机和车机之间的网络连接性能。我们会让车机作为服务端,手机作为客户端,进行 UDP 流量传输…...
C#,VB.NET正则表达式法替换代码
如何设置必须是MGBOX开头, msgbox这种注释自动跳过 在 Visual Studio 中使用 Ctrl H 进行替换操作时,若要确保仅替换以 MsgBox 开头的代码,同时跳过注释里的 MsgBox,可以利用正则表达式来实现。以下为你详细介绍操作步骤: 1. 打…...
从MySQL快速上手大数据Hive
从MySQL快速上手大数据Hive Hive简介 hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式(DML)来分析存储在Hadoop分布式文件系统中的数据: 可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查…...
基于华为云kubernetes的应用多活的示例
1 概述 为避免地域级别的故障,需要将单机房架构变成双地域架构(两个机房物理距离越远,网络延时越大,网延时是业务研发首先关注的)。单边写的多机房架构,是落地性比较大的一个方案,相对于单元化…...
Linux动态库 vs 静态库:创建步骤与优缺点对比
Linux系列 文章目录 Linux系列前言一、动静态库的概念引入1.1 库的基本概念1.2 静态库(Static Library)1.3 动态库(Dynamic Library)1.4 动静态库的核心区别 二、动静态库的实现2.1 静态库的创建及使用2.2 动态库的创建和使用三、…...
分析下HashMap容量和负载系数,它是怎么扩容的?
很好,我们继续深入分析 HashMap 中 容量(capacity) 和 负载因子(load factor),以及它是如何进行 扩容(resize) 的。 🧱 一、容量(capacity)与负载…...
Linux权限管理:从入门到实践
目录 引言 编辑一、Linux用户类型 二、文件访问者分类 三、文件类型和访问权限 (一)文件类型 (二)基本权限 四、文件访问权限设置方法 (一)chmod命令 (二)chown命令 &…...
计算机网络(1)
名称解析 名称解析:将名称解析成对应地址,名字-->IP 名称解析优点:便以记忆、解耦(断开直接的练习) 容器 mini的虚拟机,该容器地址是动态的、生命周期短暂;可实现登录功能 如果用户想要登录该…...
第十一天 - MySQL/SQLite操作 - 数据库备份脚本 - 练习:监控数据存储系统
数据库实战入门:从零构建监控数据存储系统 前言 在物联网和系统监控领域,数据存储是核心基础环节。本文将通过MySQL/SQLite操作、数据库备份脚本和监控数据存储实战三个模块,带领初学者快速掌握数据库在真实场景中的应用。文章包含25个代码…...
编写文生视频提示词,制作抖音爆款视频
编写文生视频提示词,制作抖音爆款视频 一、理解文生视频提示词1.1 定义提示词1.1.1 提示词与创作工具的关系1.1.2 文生视频的功能 1.2 提示词的组成1.2.1 主体(Subject)1.2.2 动作(Action)1.2.3 场景(Scene…...
Linux: 线程控制
目录 一 前言 二 线程控制 1. POSIX线程库(原生线程库) 2. 创建线程 2.1 pthread_create 2.2pthread_self()获取线程id 3.线程终止 3.1.return 方式 3.2 pthread_exit 4 线程等待 三 理解线程tid 一 前言 在上一篇文章中我们已经学习了线程的概念,线程的创…...
为什么 npm list -g 没显示 node_modules?✨
揭秘:为什么 npm list -g 没显示 node_modules?🕵️♂️✨ 嗨,各位代码探险家!👋 今天我们要破解一个 npm 小谜团:运行 npm list -g --depth0 时,为什么输出的路径里看不到 node_…...
华为数字芯片机考2025合集4已校正
单选 1. 题目内容 影响芯片成本的主要因素是 Die Size 和封装,但电源、时钟等因素,特别是功耗对解决方案的成本影响较大,因此低成本设计需要兼顾低功耗设计:() 1. 解题步骤 1.1 分析题目 Die Size&…...
达摩院Paraformer-ONNX模型:一站式高精度中文语音识别工业级解决方案
文章目录 核心技术创新三大部署方案对比1. Docker极简部署(推荐)2. Python API直连调用3. 客户端实时测试工具 高阶调优技巧典型应用场景高频问题解决方案参考 阿里达摩院推出的speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-on…...
Llama 4的争议
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
React七案例下
代码下载 登录模块 用户登录 页面结构 新建 Login 组件,对应结构: export default function Login() {return (<div className{styles.root}><NavHeader className{styles.header}>账号登录</NavHeader><form className{styles.form}>&…...
Rust包管理与错误处理
文章目录 包管理箱(Crate)包(Package)模块(Module)访问权限use关键字 错误处理不可恢复错误可恢复错误错误传递kind方法 包管理 Rust的包管理有三个重要的概念,分别是箱、包、模块 箱…...
关于gitee的readme文档中的图片问题
使用markdown编辑readme文档,需要注意 添加图片,但是不显示问题 1.记得连图片一起上传到仓库中,不能只是在本地markdown文件中复制就结束了,因为存储的是本地图片地址,上传后找不到的 2.注意使用网络地址࿰…...
记录vscode连接不上wsl子系统下ubuntu18.04问题解决方法
记录vscode连接不上wsl子系统下ubuntu18.04问题解决方法 报错内容尝试第一次解决方法尝试第二次解决方法注意事项参考连接 报错内容 Unable to download server on client side: Error: Request downloadRequest failed unexpectedly without providing any details… Will tr…...
aws平台练习
注册 AWS 账户 访问 AWS 官方网站,点击“免费注册”按钮,按照提示完成账户注册: 提供电子邮件地址、密码和电话号码。 验证身份(可能需要手机验证码)。 设置 billing 信息。 2. 登录 AWS 管理控制台 使用注册的邮箱和…...
实战篇-梳理时钟树
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据 总结 前言 这是B站傅里叶的猫视频的笔记 一、建立工程 以Vivado的wave_gen为例子。为了引入异…...
【Hadoop入门】Hadoop生态之Hive简介
1 什么是Hive? 1.1 Hive概述 在大数据时代,如何让传统的数据分析师和SQL开发人员也能轻松处理海量数据?Hive应运而生。Hive是基于Hadoop构建的一套数据仓库分析系统,它提供了一种类似SQL的查询语言(HQL)&a…...
DSP复习【3章】
F2812提供了XINTF用于扩展并行接口的外设芯片。 XINTF(外部接口)所需的时钟是 SYSCLKOUT 和 XTIMCLK。 所以正确答案是: ✅ SYSCLKOUT 和 XTIMCLK 什么是XREADY信号,如何使用? 章节例题: 1. 如何通过软件判…...
Hadoop案例——流量统计
Hadoop案例——流量统计 在大数据时代,流量统计是许多企业和组织的关键需求之一。通过分析网络流量数据,企业可以优化网络资源分配、提升用户体验、制定精准的营销策略等。本文将介绍如何使用 Hadoop 框架实现一个简单的流量统计案例,包括数…...