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

一种数据高效具身操作的原子技能库构建方法

25年1月来自京东、中科大、深圳大学、海尔集团、地平线机器人和睿尔曼智能科技的论文“An Atomic Skill Library Construction Method for Data-Efficient Embodied Manipulation”。

具身操控是具身人工智能领域的一项基本能力。尽管目前的具身操控模型在特定场景下表现出一定的泛化能力,但由于现实场景的复杂性和多样性,它们在新的环境和任务中表现不佳。传统的端到端数据收集和训练方式,对数据需求巨大,将端到端任务分解为原子技能有助于减少数据需求,提高任务成功率。然而,现有方法受限于预定义的技能集,无法动态更新。针对该问题,引入一种三-轮数据-驱动方法来构建原子技能库。用视觉-语言-规划(VLP)将任务划分为子任务。然后,通过抽象子任务形成原子技能定义。最后,通过数据收集和视觉-语言-动作(VLA)微调构建原子技能库。随着原子技能库通过三轮更新策略动态扩展,其可覆盖的任务范围自然增长。通过这种方式,该方法将重点从端到端任务转移到原子技能,在保持高性能的同时显著降低数据成本,并能够高效地适应新任务。

具身智能,主要指“具身人工智能”,在生成式人工智能时代取得重大进展。通过将文本、图像和语音等多模态数据映射到统一的语义连续向量空间,实现域无关的跨模态集成。该空间将语义离散符号空间与特征连续向量空间紧密联系在一起,为具身智能发展为通用形式提供新的机会。端到端的具身操控,尤其是视觉-语言-动作(VLA)模型,由于具身数据的可用性[O’Neill, 2023] [Khazatsky, 2024]和多模态技术的进步,取得重大进展,表现出越来越强的通用性和泛化能力,大大增强服务机器人的实际应用潜力。

VLA 模型的最新进展表明,它具有实现端到端具体化操作任务的巨大潜力。这些模型通常采用端到端训练范式,集成视觉、语言和动作数据来理解和执行任务指令。这种多模态集成使机器人能够在动态和非结构化环境中处理复杂的任务。

OpenVLA [Kim et al., 2024] 通过针对新目标场景定制的参数高效微调和量化实现有效的机器人控制。同时,扩散模型 [Ho et al., 2020] [Song et al., 2020] [Rombach et al., 2022] 凭借其出色的表现力和高质量的采样能力,已成为众多应用的主干网络。在机器人技术中,扩散模型已成为策略表示的首选。例如,扩散策略 [Chi et al., 2023] 率先使用条件去噪扩散过程来模拟机器人行为,有效地表示视觉运动策略。Octo [Team et al., 2024] 是一种大规模通用策略,支持通过语言命令或目标图像进行各种任务指导。RDT- 1B [Liu et al., 2024] 利用扩散 Transformer (DiT) [Peebles & Xie, 2023] 作为其可扩展的主干,在双臂机器人平台上提供卓越的性能。最近,研究人员 [Black et al., 2024] 提出一种流匹配动作分块架构 [Zhao et al., 2023] 来模拟复杂的连续动作分布。尽管 VLA 模型在机器人控制方面取得重大进展,但当前的具身操控方法仍然面临严峻挑战,尤其是需要大量数据才能有效地学习和概括复杂任务。

目前的具身操控模型,虽然在特定场景下表现出一定的泛化能力,但在适应新环境和任务方面面临挑战 [Black,2024][Li,2024]。值得注意的是,目前的具身操控模型具有端到端导向的特点,数据收集和模型训练都是基于特定的端到端任务进行的。在科学研究中,可以人为定义一定数量的端到端任务作为标准,以促进算法性能的提升 [Team,2024][Liu,2024]。然而,现实世界场景的多样性和复杂性使得端到端方法并不适用于一般具身操控的实际应用。一方面,现实世界的任务无法枚举,而端到端方法无法将学习的任务能力扩展到新任务中。另一方面,随着任务复杂度的增加(例如程序变得更加复杂),任务的数据需求也必须增加才能保持令人满意的性能。这些问题使得每一项任务都需要大量相应的新数据 [Kim, 2024] [Liu, 2024],从而导致“数据爆炸”的风险,这严重阻碍具身操控模型的实际应用。

VLP 是指将视觉信息和语言指令结合到具体操作中的任务规划。面对现实世界的任务时,直接的端到端执行具有挑战性,并且通常会导致性能不佳。这一缺陷使得有效的任务分解和规划迫在眉睫。UOF [Yang et al., 2021] 结合复杂任务中中间步骤的规划和控制,使机器人能够在多步骤任务中学习不同的结果。ECoT [Za- walski et al., 2024] 引入思维链 (CoT) 方法,在该方法中,他们训练 VLA 对规划、子任务、运动和视觉基础特征(如目标边框和末端执行器位置)进行多步推理,然后再预测机器人动作。 RoboMatrix[Mao et al., 2024] 直接使用专有的 VLM 进行任务分解,并使用现有的目标检测模型根据对目标存在的判断来检查执行状态。虽然以前的 VLP 方法表现出一定的有效性,但它们仅限于目标和场景描述等基本视觉信息,而缺乏空间智能,而空间智能对于现实世界的具体操作至关重要。

鉴于这些与端到端方法相关的挑战,一个自然的解决方案是将端到端任务的执行分解为原子技能的顺序执行 [Diab, 2020] [Mao, 2024]。这些原子技能更细粒度和更通用,允许在不同场景和任务之间重用。此外,将端到端任务 [Team, 2024] [Kim, 2024] 映射到原子技能,有助于减少数据需求并提高任务执行成功率。尽管之前对原子技能的研究已经证明其有效性,但它受到手动预定义特定技能的限制。预定义的技能集非常有限,无法动态更新和扩展,因此对于现实世界中的一般具身操作仍然非常低效。实际上,基于当今强大的单模态和多模态理解和推理技术,自动任务分解、规划和技能定义是可行的。

SkillMaN [Diab, 2020] 框架包括一个具有经验知识的模块,该模块演示如何使用工作流和机器人轨迹执行一组技能。对于复杂任务,一些研究人员 [Kroemer, 2021] 专注于任务的层次分解和机器人技能的可重用性。最近的方法结合任务规划,使用智体自动将复杂任务分解为原子任务,而不是依赖于手动分解。例如,研究人员 [Zhao, 2022] 使用基元、技能分解和综合的概念来分析机器人拆弹任务所涉及的操作技能,并提出一种基于知识的方法来学习这些操作技能。 RoboMatrix[Mao,2024]引入元技能的概念,但局限于人工预定义的技能集,不能有效应对数据爆炸,也无法支持VLP和VLA模块的更新。

鉴于原子技能的潜力和现有技术的局限性,本文工作重点是开发一种实用的原子技能库构建方法,以实现现实场景中数据高效的具身操作。

目标是开发一种数据驱动的方法来生成技能库,通过三个集成的子模块实现持续的自我更新。所提方法的框架如图所示。具体而言,对于用户提供的任务指令,VLP模块将指令分解为相应的子任务。接下来,高级语义抽象模块将这些子任务抽象为一组通用的原子技能定义。最后,收集数据并微调VLA模型以获取原子技能,最终构建一个综合技能库。

请添加图片描述

当面对新任务时,该框架调用VLP进行任务规划,并从技能库中检索相应的原子技能。如果库涵盖所有必需的技能,则将执行该任务,而无需任何额外的数据收集和微调。如果缺少特定技能,则高级语义抽象模块将唤醒以更新原子技能集,并且只需要缺少技能的轨迹数据。例如,如果提出一项新任务“给客人一杯水”,而当前的原子技能库包括技能“举起瓶子”和“将瓶子对准并倾斜到杯子”,则只需要一项新技能“递杯子”。通过这种方式,该方法可以在很少甚至不需要额外数据的情况下执行新任务,从而有效地提高数据效率和通用性。

VLP 智体轮

为了统一实现训练过程中的任务分解和推理过程中的任务规划,构建一个集成视觉感知、语言理解和空间智能的 VLP 智体。

如图所示,给定基于文本的任务指令和基于图像的当前观察,引入现成的 VLM Prismatic 模型 [Karamcheti et al., 2024] 来生成与观察图像相对应的场景描述。考虑到 3D 世界的空间复杂性,设计一种空间关系-觉察策略。

请添加图片描述

首先使用 Dino-X [Ren et al., 2024],一种目标检测模型,来检测观察中与任务相关的目标,并以边框的形式输出每个目标的位置。为了更精确地定位目标,使用 SAM-2 [Ravi et al., 2024] 来获取每个目标的精细分割掩码。然后,执行基于规则的算法来判断目标之间的空间关系。将视觉感知与空间智能相结合,将它们与任务指令一起放入GPT-4中,并提示它将任务分解为子任务并管理它们的执行顺序。专门设计的提示,要求GPT-4按顺序执行以下步骤:根据详细的任务描述生成完整的执行规划,并指定下一步需要执行哪个子任务。

这样,在构建原子技能库的过程中,VLP 智体可以有效地将端到端任务分解为多个子任务。在实际推理过程中,VLP 智体提供关键的低频控制信号来规划和指导高频原子技能执行。

VLA 轮

对于所提出的数据驱动技能库生成方法,任何 SOTA VLA 方法都可用于原子技能构建。最初,VLA 模型作为提示输入,帮助高级语义抽象模块将复杂的子任务映射到结构化的原子技能定义集。随后,VLA 模型通过数据收集和少样本学习(FSL)促进技能库的构建,实现高效且可扩展的技能获取。

原子技能的粒度由 VLA 模型的性能决定,特别是在其可塑性和适应性方面。VLA 模型的可塑性,反映其从预训练状态有效过渡到微调模型的能力,从而适应新的机器人平台。另一方面,微调 VLA 模型的适应性,表明其处理不同目标、场景和空间配置的能力。更高水平的可塑性和适应性,导致原子技能定义的粒度更粗一些。

例如,在 RDT-1B 模型中,在 40 个 A800 80GB GPU 上对其发布的预训练模型进行微调,以构建原子技能库。微调数据包括 6,000 条开源轨迹和 2,000 条专有轨迹,由使用 Mobile ALOHA 系统设计 [Fu, 2024] 并由松灵机器人(agilex.ai)制造的机器人收集。经过微调的 VLA 模型可以快速构建原子技能。在不同的传感器、物体和场景中验证了它的性能。

然而,该模型对目标物体位置的泛化能力有限,训练步骤的数量对其行为有显著影响。为了解决这些问题,进行两项实验:首先,为一项任务收集一个包含不同目标位置的小型数据集,并进行少样本训练和测试。具体来说,从桌子上的九个不同位置点收集轨迹数据。结果表明,目标位置的泛化能力显著提高,在这九个点定义的整个区域内都成功实现抓取。其次,用 8 个 L40s GPU 进行少样本训练步骤测试,将训练步骤设置为 1,000、2,000 和 4,000。结果表明,1,000 个训练步骤在训练效果和持续时间之间实现最佳平衡。

这些实验强调,预训练模型的可塑性以及微调模型对各种目标、场景和空间位置的适应性对于技能库构建至关重要。这些因素作为高级语义抽象模块的输入,有助于将子任务映射到一组原子技能定义。从原子技能定义到构建技能库,在 VLA 模型上采用少样本微调方法,为每个定义的原子技能利用少量收集的轨迹数据。这种方法可以快速实现原子技能,大大加快技能库的开发过程。

原子技能轮

对于一组任务 (A、B、…、N),VLP 模块将这些任务分解为相应的子任务 (#1、#2、#3、#4、#5、…、#a、#a+1)。接下来,使用高级语义抽象模块将这些子任务按一定粒度抽象为一组通用的原子技能定义,粒度由不同 VLA 模型的性能决定。可以使用 GPT-4 等 LLM 来实现。原子技能定义包括 *1、*2、*3、*4、*5、…、*b、*b+1。通过数据收集和对 VLA 模型进行微调,最终可以得到一个原子技能库 *1’、*2’、*3’、*4’、*5’、…、*b’、*b+1’。

当面对新任务 TASK N+1 时,可能会出现两种情况。在第一种情况下,新任务所需的原子技能已经被现有的原子技能库覆盖,该方法可以直接执行任务而无需进行任何进一步的调整。在第二种情况下,库中缺少特定的原子技能,再次使用高级语义抽象模块。它将新任务(N+1)的子任务、所需的技能粒度和当前的原子技能定义集作为输入,生成一组更新的原子技能定义。此后,只需要对缺失的原子技能进行额外的数据收集和微调,这使得这种方法比传统的端到端方法高效得多。而且,随着原子技能库的动态扩展,其能处理的任务范围也相应增加。

实验设置如下。

基线。该方法可以集成到不同的端到端 VLA 模型中。用 RDT-1B 和 Octo 模型作为基线,并在 ALOHA 双臂机器人上进行实验。根据研究和测试,其他广泛使用的 VLA(如 OpenVLA)很难适应双臂移动 ALOHA 硬件设置。因此,将这些模型排除在实验之外。

任务。选择四个具有挑战性的任务来从不同维度评估方法的性能,包括模型在实际任务中可能遇到的复杂场景,例如目标的各种位置和复杂的操作。前三个任务专门用于验证方法的数据效率和性能,而第四个任务用于评估其对新任务的适应性。详细的任务定义和可视化如图所示。

请添加图片描述

数据。收集轨迹数据样本以微调主干 VLA 模型。每项任务的演示数量如下:
• 倒水:3 种不同的瓶子位置和 3 种不同的杯子位置,每种设置 3 个演示,端到端微调有 27 个演示,基于技能的 VLA 微调有 9 个和 9 个演示。
• 拾取和放置香蕉:4 种不同的香蕉位置和 2 种不同的盘子位置,每种设置 3 个演示,端到端 VLA 微调有 24 个演示,基于技能的 VLA 微调有 9 个和 6 个演示。
• 拾取和放置笔:3 种不同的瓶子位置和 3 种不同的杯子位置,每种不同设置 3 个演示,端到端 VLA 微调有 27 个演示,基于技能的 VLA 微调有 9 个和 9 个演示。
• 按顺序移动块:10 个按红-绿-蓝顺序的演示用于端到端 VLA 微调,10 个分别移动红、绿、蓝块的演示用于基于技能的 VLA 微调。

相关文章:

一种数据高效具身操作的原子技能库构建方法

25年1月来自京东、中科大、深圳大学、海尔集团、地平线机器人和睿尔曼智能科技的论文“An Atomic Skill Library Construction Method for Data-Efficient Embodied Manipulation”。 具身操控是具身人工智能领域的一项基本能力。尽管目前的具身操控模型在特定场景下表现出一定…...

云创智城YunCharge 新能源二轮、四轮充电解决方案(云快充、万马爱充、中电联、OCPP1.6J等多个私有单车、汽车充电协议)之新能源充电行业系统说明书

云创智城YunCharge 新能源充电行业系统说明书 ⚡官方文档 ⚡官网地址 1. 引言 随着全球环境保护和能源危机的加剧,新能源汽车行业得到了快速发展,充电基础设施建设也随之蓬勃发展。新能源充电行业系统旨在提供高效、便捷的充电服务,满足电…...

JVM垃圾回收器深度底层原理分析与知识体系构建

一、垃圾回收的基本步骤 标记(Marking) 从GC Roots(如虚拟机栈、方法区静态变量、本地方法栈等)出发,遍历对象引用链,标记所有可达对象为存活对象,未被标记的则视为垃圾。此阶段需暂停用户线程&…...

30.[前端开发-JavaScript基础]Day07-数组Array-高阶函数-日期Date-DOM

JavaScript的DOM操作 (一) 1 什么是DOM? 认识DOM和BOM 深入理解DOM 2 认识DOM Tree DOM Tree的理解 3 DOM的整体结构 DOM的学习顺序 DOM的继承关系图 document对象 4 节点、元素导航 节点(Node)之间的导航&…...

IP、网关、子网掩码、DNS 之间的关系详解

IP、网关、子网掩码、DNS 之间的关系详解 在计算机网络中,IP、网关、子网掩码和 DNS 是几个关键概念,它们协同工作,共同保障网络通信的顺畅。本文将详细探讨它们之间的关系。 一、IP 地址 IP 地址是网络中设备的唯一标识,如同现…...

【Day50 LeetCode】图论问题 Ⅷ

一、图论问题 Ⅷ 1、dijkstra算法 堆优化 采用堆来优化&#xff0c;适合节点多的稀疏图。代码如下&#xff1a; # include<iostream> # include<vector> # include<list> # include<queue> # include<climits>using namespace std;class myco…...

结构体介绍及内存大小分配问题

结构体 一.结构体的介绍1.1结构体的声明1.2匿名结构体1.3结构的自引用1.4使用 typedef 简化结构体类型名 二.结构体内存对齐2.1内存对齐规则2.2结构体内存对齐原因2.3修改默认对齐数 在 C 语言中&#xff0c;结构体&#xff08;struct&#xff09;是一种用户自定义的数据类型&a…...

halcon 条形码、二维码识别、opencv识别

一、条形码 函数介绍 create_bar_code_model * 1.创建条码读取器的模板 * 参数一&#xff1a;通用参数的名称&#xff0c;针对条形码模型进行调整。默认值为空 * 参数二&#xff1a;针对条形码模型进行调整 * 参数三&#xff1a;条形码模型的句柄。 create_bar_code_model (…...

Vue框架的使用 搭建打包 Vue的安全问题(Xss,源码泄露)

前言 什么是Vue&#xff1f; Vue是轻量级的js框架 可以帮助我们一键构造网站&#xff0c;打包app程序等 Vue的基本使用 1、构造框架并启用 新建一个 目录 使用终端切换到当前的目录 创建vue项目 第一个弹出使用语法我们选择是 剩下的全选择否 发现创建好了 接着进行…...

Java+SpringBoot+Vue+数据可视化的音乐推荐与可视化平台(程序+论文+讲解+安装+调试+售后)

感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;我会一一回复&#xff0c;希望帮助更多的人。 系统介绍 在互联网技术以日新月异之势迅猛发展的浪潮下&#xff0c;5G 通信技术的普及、云计算能力…...

day2 - SpringBoot框架开发技术

主要内容 1. SpringBoot简介 2. 构建springboot工程 3. springboot接口返回json 4. springboot热部署 5. springboot资源属性配置 6. springboot整合模板引擎 7. springboot异常处理 8. springboot整合MyBatis 9. springboot整合redis 10. springboot整合定时任务 11. springbo…...

Flash-03

1-问题&#xff1a;Flash软件画两个图形&#xff0c;若有部分重合则变为一个整体 解决方法1&#xff1a;两个图形分属于不同的图层 解决方法2&#xff1a;将每个图形都转化为【元件】 问题2&#xff1a;元件是什么&#xff1f; 在 Adobe Flash&#xff08;现在称为 Adobe Anim…...

新建菜单项的创建之CmpGetValueListFromCache函数分析

第一部分&#xff1a; PCELL_DATA CmpGetValueListFromCache( IN PHHIVE Hive, IN PCACHED_CHILD_LIST ChildList, OUT BOOLEAN *IndexCached, OUT PHCELL_INDEX ValueListToRelease ) 0: kd> dv KeyControlBlock 0xe1…...

【Word2Vec】Skip-gram 的直观理解(深入浅出)

01 什么是skip-gram 一句话来说就是&#xff0c;给定中心词&#xff0c;然后预测其周围的词&#xff1a; 02 模型结构 对于skip-gram来说&#xff0c;输入是一个[1 x V]维的ont-hot向量&#xff0c;其中V为词表大小&#xff0c;值为1的那一项就表示我们的中心词。经过一个[V x…...

在MacOS上打造本地部署的大模型知识库(一)

一、在MacOS上安装Ollama docker run -d -p 3000:8080 --add-hosthost.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main 最后停掉Docker的ollama&#xff0c;就能在webui中加载llama模…...

(21)从strerror到strtok:解码C语言字符函数的“生存指南2”

❤个人主页&#xff1a;折枝寄北的博客 ❤专栏位置&#xff1a;简单入手C语言专栏 目录 前言1. 错误信息报告1.1 strerror 2. 字符操作2.1 字符分类函数2.2 字符转换函数 3. 内存操作函数3.1 memcpy3.2 memmove3.2memset3.3 memcmp 感谢您的阅读 前言 当你写下strcpy(dest, s…...

DeepSeek推出DeepEP:首个开源EP通信库,让MoE模型训练与推理起飞!

今天&#xff0c;DeepSeek 在继 FlashMLA 之后&#xff0c;推出了第二个 OpenSourceWeek 开源项目——DeepEP。 作为首个专为MoE&#xff08;Mixture-of-Experts&#xff09;训练与推理设计的开源 EP 通信库&#xff0c;DeepEP 在EP&#xff08;Expert Parallelism&#xff09…...

1.2 Kaggle大白话:Eedi竞赛Transformer框架解决方案02-GPT_4o生成训练集缺失数据

目录 0. 本栏目竞赛汇总表1. 本文主旨2. AI工程架构3. 数据预处理模块3.1 配置数据路径和处理参数3.2 配置API参数3.3 配置输出路径 4. AI并行处理模块4.1 定义LLM客户端类4.2 定义数据处理函数4.3 定义JSON保存函数4.4 定义数据分片函数4.5 定义分片处理函数4.5 定义文件名排序…...

数据结构-顺序表专题

大家好&#xff01;这里是摆子&#xff0c;今天给大家带来的是C语言数据结构开端-顺序表专题&#xff0c;主要介绍了数据结构和动态顺序表的实现&#xff0c;快来看看吧&#xff01;记得一键三连哦&#xff01; 1.数据结构的概念 1.1什么是数据结构&#xff1f; 数据结构是计…...

docker和containerd从TLS harbor拉取镜像

私有镜像仓库配置了自签名证书&#xff0c;https访问&#xff0c;好处是不需要处理免费证书和付费证书带来的证书文件变更&#xff0c;证书文件变更后需要重启服务&#xff0c;自签名证书需要将一套客户端证书存放在/etc/docker/cert.d目录下&#xff0c;或者/etc/containerd/c…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...