RSS 2025|苏黎世提出「LLM-MPC混合架构」增强自动驾驶,推理速度提升10.5倍!
论文题目:Enhancing Autonomous Driving Systems with
On-Board Deployed Large Language Models
论文作者:Nicolas Baumann,Cheng Hu,Paviththiren Sivasothilingam,Haotong Qin,Lei Xie,Michele Magno,Luca Benini
论文地址:
[2504.11514] Enhancing Autonomous Driving Systems with On-Board Deployed Large Language Models
代码地址:https://github.com/ForzaETH/LLMxRobot
引言
随着技术持续进步,自动驾驶从概念逐步迈向现实,为未来出行勾勒出全新的图景。然而,这条发展之路并非一帆风顺,传统数据驱动的自动驾驶技术在面对现实世界中复杂多样的驾驶场景时,遭遇了严峻的挑战。基于机器学习的自动驾驶系统,尽管在大量常见场景的训练下能够展现出一定的智能性,但在处理极端情况时却显得力不从心。这是因为现实中的驾驶场景情况复杂,难以通过有限的数据集覆盖所有可能性。例如,遇到道路临时施工、动物突然闯入等情况,这些系统往往无法做出准确且合理的决策。
与此同时,大语言模型(LLMs)在自然语言处理领域取得了突破性进展,其强大的知识理解、推理和生成能力令人瞩目。这一技术的崛起,为自动驾驶领域带来了新的曙光。LLMs可以理解复杂的自然语言指令,基于广泛的知识储备进行推理,这与自动驾驶中对复杂场景的理解和决策需求有着高度的契合性。然而,将LLM直接应用于自动驾驶等安全关键系统,尤其是依赖云端模型的做法,带来了延迟、连接稳定性、数据隐私和安全等多重隐患。此外,LLM自身存在的“幻觉”问题也限制了其直接控制车辆行为的应用范围。
针对这些挑战,论文《Enhancing Autonomous Driving Systems with On-Board Deployed Large Language Models》提出了一种创新的混合架构,巧妙地将强大的大语言模型(LLMs)与经典的低层模型预测控制器(MPC)相结合,并强调在车辆本地(On-Board)部署LLM,旨在增强自动驾驶系统的决策能力、人机交互(HMI)体验和控制适应性。
主要方法
为解决自动驾驶系统中数据驱动方法处理极端情况的局限,论文提出将低级模型预测控制器(MPC)与本地部署的大语言模型(LLMs)相结合的混合架构,综合运用多种技术实现高效决策和人机交互。该系统由两个关键的、相互协作的模块构成——负责理解人类意图和评估车辆状态的DecisionxLLM,以及负责将高层指令转化为具体MPC参数调整的MPCxLLM。这种设计旨在融合LLM的认知智能与MPC的控制优势,实现更安全、更智能、更具适应性的自动驾驶体验。
图1 系统总体框架
DecisionxLLM 模块
该模块作为系统的"感知与决策中心", 负责理解人类的意图并评估车辆行为。它接收人类通过自然语言下达的驾驶指令或偏好, 并结合从车辆传感器获取的近期状态数据,包括路径坐标、横向偏差
、纵向速度
、横向速度
等信息, 可表示为时序数据
。LLM利用其强大的理解和推理能力,判断车辆当前的实际运行状态是否与人类的期望一致。为了增强LLM在特定机器人任务上的推理能力和对上下文的理解,该模块可以选择性地集成检索增强生成(RAG),通过检索相关的背景知识来丰富LLM的输入信息。最终,DecisionxLLM输出一个判断结果,并在必要时生成一句简洁的、描述期望行为变化的自然语言指令,传递给下一环节。
MPCxLLM 模块
此模块是连接高层语义理解与底层控制执行的关键桥梁。它接收来自DecisionxLLM的自然语言调整指令。模块内的LLM被设计为能够理解这些指令,并且知晓底层MPC控制器的数学形式及其可调参数。基于这种理解(同样可由MPC相关的RAG知识库增强),LLM的任务是将抽象的驾驶行为要求转化为对MPC具体参数的修改建议。这些可调整的参数主要包括MPC优化问题中的成本函数权重
(横向偏差权重
、速度误差权重
、航向误差权重
、控制输入变化权重
),以及车辆运行必须遵守的状态约束集
和输入约束集
。LLM输出一组新的参数值
这些值随后被动态配置给底层MPC控制器。这一机制实现了通过自然语言对车辆控制特性进行灵活调整,同时将LLM的推理延迟与MPC的实时控制循环分离开。
MPC模块
系统的基础控制由一个模型预测控制器(MPC)承担,论文中具体实现了一个基于车辆运动学模型 (Kinematic Model) 的MPC。该模型描述了车辆状态如何随时间和控制输入变化,关键状态变量的动态方程如:
其中是沿参考轨迹的弧长,
是横向偏差,
是相对于参考路径的航向角误差,
是车辆速度,
是前轮转角,
是参考轨迹在
处的曲率,
是车辆轴距。MPC的状态向量
包含这些状态变量以及用于平滑控制的输入量,即
。控制输入
主要由转向角变化量
和纵向加速度
组成,即
。
MPC 的核心是在每个控制周期内求解一个优化问题,目标是最小化一个预测时域内累积的成本函数
。该成本函数通常是对期望行为(如跟踪参考路径和速度)的偏离以及控制输入的惩罚,形式如下:
此优化过程必须满足系统动力学约束,状态约束和输入约束。正是 MPCxLLM 模块根据高层指令进行调整的对象,以此在保证安全的前提下,灵活地改变车辆的驾驶行为(如更平稳、更激进、保持特定速度或距离等)。
车载部署优化技术
为了让通常计算量庞大的LLM能够在资源受限的车载硬件上高效运行,该方法综合运用了多种优化策略。RAG通过在推理时注入相关上下文信息,提高了小模型在特定任务上的表现,减少了对超大模型的依赖。LoRA作为一种参数高效微调技术,允许研究人员使用相对较少的数据和计算资源来适配预训练LLM,使其更好地理解机器人状态和MPC参数。最后,模型量化技术通过降低模型参数的精度,显著减小了模型的内存占用和计算需求,大幅提升了LLM在嵌入式平台上的推理速度(吞吐量),使其满足自动驾驶场景的实时性需求。这些技术的结合使得在端侧部署功能强大的LLM成为可能。
实验结果
论文通过一系列定量和定性实验,全面验证了所提出的车载大语言模型(LLM)增强型自动驾驶框架的有效性。在推理决策能力方面,对DecisionxLLM模块的评估如下图所示,结合检索增强生成(RAG)和LoRA微调技术能够显著提升本地部署LLM(如Qwen2.5-7b)判断车辆状态是否符合人类自然语言指令的准确性,相较于基础模型最高获得了10.45%的绝对精度提升。实验还表明,RAG普遍提高了各模型的决策性能,而对于实际部署至关重要的模型量化对准确率的影响甚微,证明了优化后模型在保持性能的同时具有高效性。
图2 DecisionxLLM模块评估对比
图3 DecisionxLLM模块对话效果
在控制适应性方面,研究者在仿真环境中评估了MPCxLLM模块通过调整底层MPC参数来响应不同驾驶指令的能力。结果如下图所示,与采用固定参数的基线MPC相比,经过RAG和LoRA优化的LLM能够根据指令(如“保持车道中心”、“更平稳地驾驶”或“倒车”)显著改变车辆的闭环行为特性,在多个衡量控制效果的指标(如路径跟踪、速度跟踪、加速度平滑度等RMSE)上取得了平均高达52.2%的改善(以Qwen2.5为例),充分展示了该框架利用自然语言进行灵活控制调整的潜力。
图4 MPCxLLM模块评估对比
图5 MPCxLLM模块对话效果
如下图所示,在1:10比例的物理机器人平台上进行实验,成功展示了系统在真实世界中的运作情况,例如,机器人能够根据指令“离墙远一点”来调整其横向位置,或是在模拟发生碰撞后,自主决策执行倒车操作以脱困,并随后恢复正常循迹行驶,证明了该方法在实际硬件上的可行性和鲁棒性。
图6 1:10比例的物理小车结构
图7 无人车在真实世界的运作情况
总结
为解决自动驾驶系统在边缘场景处理上的局限性以及云端大模型应用的延迟与隐私问题,该研究提出了一种创新的混合架构,将大语言模型(LLM)部署在车辆本地,并与经典的模型预测控制器(MPC)相结合。该架构通过DecisionxLLM模块理解人类自然语言指令并评估车辆状态,再利用MPCxLLM模块将高层意图转化为对底层MPC成本函数与约束参数的调整,从而在确保MPC提供安全保障的前提下,实现了灵活的人机交互与自适应控制。为了保证LLM在资源受限的车载硬件上高效运行,研究采用了RAG、LoRA微调和量化等关键优化技术。实验结果表明,该方法显著提升了系统的决策准确性(最高10.45%)、控制适应性(最高52.2%),并且通过量化等手段实现了在嵌入式平台上高达10.5倍的推理速度提升,验证了该框架在增强自动驾驶智能性、交互性的同时,具备了实际部署的可行性和高效性。这种将高级别人工智能在本地安全集成的探索,预示着未来自动驾驶汽车将更加“善解人意”,能够通过自然对话满足用户的个性化偏好,使人机交互更加直观、舒适,有助于提升公众对自动驾驶技术的接受度并加速其普及应用。
相关文章:
RSS 2025|苏黎世提出「LLM-MPC混合架构」增强自动驾驶,推理速度提升10.5倍!
论文题目:Enhancing Autonomous Driving Systems with On-Board Deployed Large Language Models 论文作者:Nicolas Baumann,Cheng Hu,Paviththiren Sivasothilingam,Haotong Qin,Lei Xie,Miche…...
Oracle expdp的 EXCLUDE 参数详解
Oracle expdp的 EXCLUDE 参数详解 EXCLUDE 是 Oracle Data Pump Export (expdp) 工具中的一个关键参数,用于指定在导出过程中要排除的对象或对象类型。 一、基本语法 expdp username/password DUMPFILEexport.dmp DIRECTORYdpump_dir EXCLUDEobject_type[:name_c…...
Git创建空分支并推送到远程仓库
new-empty-branch是新分支的名称 完全空提交(Git 2.23)【推荐】 git switch --orphan new-empty-branch git config user.email "youexample.com" git config user.name "Your Name" git commit --allow-empty -m "初始空提交…...
TDS电导率传感器详解(STM32)
目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 三、程序设计 main文件 tds.h文件 tds.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 TDS电导率传感器介绍 : TDS(Total Dissolved Solid),中文名总溶解固…...
初识Redis · C++客户端list和hash
目录 前言: list lpush lrange rpush rpush llen rpop lpop blpop hash hset hget hmget hkeys hvals hexists hdel 前言: 在上一篇文章我们介绍了string的基本使用,并且发现几乎唯一的难点就是使用迭代器方面,并且我们…...
SpringBoot和微服务学习记录Day3
Hystrix 熔断器 在分布式架构中,很多服务因为网络或自身原因不可避免发生故障,如果某个服务出现问题往往会导致一系列的服务都发生故障,导致整个微服务架构瘫痪,称为服务雪崩,Hystrix就是为了解决这个问题的 服务熔…...
12个领域近120个典型案例:2024年“数据要素X”大赛典型案例集(附下载)
2024年10月25日,2024年“数据要素”大赛全国总决赛颁奖仪式在北京举行。这次大赛是首届“数据要素x”大赛,全国共有近2万支队伍踊跃参赛,10万参赛者用数据编织梦想,最终角逐出12个赛道120个典型案例。 根据国家数据局等相关公开资…...
如何在腾讯云Ubuntu服务器上部署Node.js项目
最近弄了一个Node.js项目,包含前端用户前台,管理后台和服务端API服务三个项目,本地搭建好了,于是在腾讯云上新建了个Ubuntu 24.04服务器,想要将本地的Node.js项目部署上去,包括环境配置和数据库搭建。 本文…...
【NLP 67、知识图谱】
你像即将到来的夏季一样鲜明, 以至于我这样寡淡的生命, 竟山崩般为你着迷 —— 25.4.18 一、信息 VS 知识 二、知识图谱 1.起源 于2012年5月17日被Google正式提出,初衷是为了提高搜索引擎的能力,增强用户的搜索质量以及搜索体验 …...
Java写数据结构:栈
1.概念: 一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:栈的插…...
跨境电商行业新周期下的渠道突围策略
2024年初,跨境电商圈动荡不断,多家卖家平台股价大跌,引发行业舆论热议。而作为东南亚主战场的Shopee,仅仅几个月时间跌幅已达23%。在这一波冲击中,大多数卖家都在"止血",但有棵树却逆势而上&…...
Docker如何更换镜像源提高拉取速度
在国内,由于网络政策和限制,直接访问DockerHub速度很慢,尤其是在拉取大型镜像时。为了解决这个问题,常用的方法就是更换镜像源。本文将详细介绍如何更换Docker镜像源,并提供当前可用的镜像源。 换源方法 方法1&#x…...
平方根倒数快速算法
一、平方根倒数算法的由来 在制作3D游戏的时候,曲面是由许多平面构成的,要求出光线在物体表面反射后的效果,就需要知道平面的单位法向量,法向量的长度的平方R很容易求出,单位法向量 坐标值 / R的平方根。电脑每次都要…...
详解.vscode 下的json .vscode文件夹下各个文件的作用
1.背景 看一些开源项目的时候,总是看到vscode先有不同的json文件,再次做一下总结方便之后查看 settings.json肯定不用多说了 vscode 编辑器分为 全局用户配置 和 当前工作区配置 那么.vscode文件夹下的settings.json文件夹肯定就是当前工作区配置了 在此文件对单个的项目进行配…...
【消息队列RocketMQ】二、RocketMQ 消息发送与消费:原理与实践
一、RocketMQ 消息发送原理与模式 1.1 消息发送原理 RocketMQ 消息发送的核心流程围绕 Producer、NameServer 和 Broker 展开。Producer 启动时,会向 NameServer 请求获取 Topic 的路由信息,这些信息包括 Topic 对应的 Broker 列表以及 Broker 上的…...
WPF的发展历程
文章目录 WPF的发展历程引言起源与背景(2001-2006)从Avalon到WPF设计目标与创新理念 WPF核心技术特点与架构基础架构与渲染模型关键技术特点MVVM架构模式 WPF在现代Windows开发中的地位与前景当前市场定位与其他微软UI技术的关系未来发展前景 社区贡献与…...
新书速览|OpenCV计算机视觉开发实践:基于Qt C++
《OpenCV计算机视觉开发实践:基于Qt C》 本书内容 OpenCV是计算机视觉领域的开发者必须掌握的技术。《OpenCV计算机视觉开发实践:基于Qt C》基于 OpenCV 4.10与Qt C进行编写,全面系统地介绍OpenCV的使用及实战案例,并配套提供全书示例源码、PPT课件与作…...
本地搭建一个简易版本的 Web3 服务
一、环境搭建与工具准备 (一)安装 Node.js 和 npm Node.js 是一个基于 JavaScript 的运行时环境,npm 是其默认的包管理器。在 Web3 开发中,Node.js 和 npm 是必不可少的工具。 访问 Node.js 官网 并下载最新的 LTS 版本。 安装…...
电脑安装CentOS系统
前言 电脑是Windows10系统,安装CentOS之前要将硬盘格式化,这个操作会将Windows10系统以及电脑上所有资料抹除,操作前务必谨慎复查是否有重要资料需要备份。 准备工作 准备两个U盘,一台电脑。提前把镜像下载好。镜像在百度网盘里…...
【Linux专栏】zip 多个文件不带路径
Linux && Oracle相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 1.背景 今天发现 Linux 解压缩的文件中,不光包含需要的文件,还保留了目录层级,不是想要的结果。因此,本文关于…...
邀请函 | 「软件定义汽车 同星定义软件」 TOSUN用户日2025·杭州站
参会邀请函 尊敬的客户及合作伙伴: 新能源汽车智能化浪潮席卷全球,杭州作为中国技术创新高地,正引领行业变革。为助力工程师伙伴应对行业挑战,解决工程难题,同星智能将于2025年5月9日(周五)在…...
start_response详解
start_response 是Python的WSGI(Web Server Gateway Interface)中的一个重要概念,它是一个可调用对象(通常是一个函数),在WSGI应用程序里发挥着关键作用,下面为你详细介绍。 作用 在WSGI规范里…...
记一次 .NET某旅行社酒店管理系统 卡死分析
一:背景 1. 讲故事 年初有位朋友找到我,说他们的管理系统不响应了,让我帮忙看下到底咋回事? 手上也有dump,那就来分析吧。 二:为什么没有响应 1. 线程池队列有积压吗? 朋友的系统是一个web系统&#…...
[预备知识]1. 线性代数基础
线性代数基础 线性代数是深度学习的重要基础,本章节将介绍深度学习中常用的线性代数概念和操作。 1. 标量、向量、矩阵与张量 1.1 标量(Scalar) 标量是单个数值,用 x ∈ R x \in \mathbb{R} x∈R 表示。在深度学习中常用于表…...
RESTful学习笔记(二)---简单网页前后端springboot项目搭建
新建项目: 项目结构 Pom.xml中添加依赖: 要有用于启动的父进程,有启动依赖,有lombok用于自动构建getter和setter方法等 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-…...
C++ AI模型部署优化实战:基于TensorRT的高效推理引擎开发
🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C、C#等开发语言,熟悉Java常用开…...
[特殊字符] Prompt如何驱动大模型对本地文件实现自主变更:Cline技术深度解析
在AI技术快速发展的今天,编程方式正在经历一场革命性的变革。从传统的"人写代码"到"AI辅助编程",再到"AI自主编程",开发效率得到了质的提升。Cline作为一款基于VSCode的AI编程助手,通过其独特的pro…...
DevOps功能详解
DevOps 详解 1. 什么是 DevOps? DevOps 是 Development(开发) 和 Operations(运维) 的组合词,代表一种通过 自动化工具、协作文化 和 流程优化 来加速软件开发与交付的 方法论。其核心目标是打破开发与运维…...
忽略 CS8616 警告在 Visual Studio 2022 中【C# 8.0 】
CS8616 警告是 C# 8.0 引入的可空引用类型(NRT)相关警告,表示"由于可空引用类型的特性,某个不可为 null 的字段可能未被初始化"。 编辑项目csproj,直接删除<Nullable>enable</Nullable> 或者修改为disable或者annota…...
[架构之美]一键服务管理大师:Ubuntu智能服务停止与清理脚本深度解析
[架构之美]一键服务管理大师:Ubuntu智能服务停止与清理脚本深度解析 服务展示: 运行脚本: 剩余服务: 一、脚本设计背景与核心价值 在Linux服务器运维中,服务管理是日常操作的重要环节。本文介绍的智能服务管理脚本&a…...
23种设计模式-结构型模式之外观模式(Java版本)
Java 外观模式(Facade Pattern)详解 🧭 什么是外观模式? 外观模式是结构型设计模式之一,为子系统中的一组接口提供一个统一的高层接口,使得子系统更易使用。 就像是酒店前台,帮你处理入住、叫…...
《数据结构之美--双向链表》
引言 之前我们学习了单链表这一数据结构,虽然单链表的功能比较多,但是也存在着一些局限性,因为在单链表中节点的指向都是单向的,因此我们想从某个节点找到它的上一个节点比较困难,来不及再迷恋单链表了,接…...
如何判断设备是否支持带电插拔——从原理到实操的全面解析
点击下面图片带您领略全新的嵌入式学习路线 🔥爆款热榜 88万阅读 1.6万收藏 一、带电插拔的核心原理 带电插拔(热插拔)的本质是通过电气隔离设计和顺序通断控制,避免电流突变对设备造成损害。 • 触点分级设计:支持热…...
Google Store 如何利用 glTF 3D 模型改变产品教育
Google 为全球广大用户提供种类繁多、持续改进的硬件产品。Google 的智能手机、智能手表、耳机、平板电脑、智能家居设备等产品均通过 Google Store(谷歌商店) 以及遍布全球的实体和数字第三方零售商销售。作为一个以在人工智能、智能家居和个人设备体验方面不断开拓创新而闻名…...
Flutter 状态管理 Riverpod
Android Studio版本 Flutter SDK 版本 将依赖项添加到您的应用 flutter pub add flutter_riverpod flutter pub add riverpod_annotation flutter pub add dev:riverpod_generator flutter pub add dev:build_runner flutter pub add dev:custom_lint flutter pub add dev:riv…...
flutter 专题 六十六 Flutter Dio包网络请求抓包解决方案
在Flutter中进行网络请求时,我们可以使用的库有3个,即Http请求库、HttpClient请求库和Dio请求库(详细介绍请参考:Flutter开发之Http网络请求),使用得最多的就是Dio请求库。因为相比Http请求库和HttpClient请…...
DSL(Domain Specific Language,领域特定语言)
DSL的定义和作用 DSL是为特定业务领域设计的专门语言,这里特指为欺诈检测场景设计的规则描述语言通过DSL,业务人员可以用接近自然语言的方式定义欺诈检测规则,而不需要编写复杂的代码DSL的具体实现:使用ANTLR4作为语法解析工具支…...
基于SpringBoot的心情疗愈平台-项目分享
基于SpringBoot的心情疗愈平台-项目分享 项目介绍项目摘要管理员功能图用户实体图心理咨询师功能图系统功能图项目预览情感树洞发布帖子讲座信息心理医生心理医生管理 最后 项目介绍 使用者:管理员、用户、心理咨询师 开发技术:MySQLJavaSpringBootVue …...
富文本图片过大问题
在做若依的项目,碰到了若依自带的公告功能的图片上传后,再显示会出现图片过大的问题。在修改若依代码无果后,退而求其次修改展示页面的代码。 问题描述: 在若依框架的打卡系统中,公告使用富文本上传图片后࿰…...
Python-Django系列—部件
部件是 Django 对 HTML 输入元素的表示。部件处理 HTML 的渲染,以及从对应于部件的 GET/POST 字典中提取数据。 内置部件生成的 HTML 使用 HTML5 语法,目标是 <!DOCTYPE html>。例如,它使用布尔属性,如 checked…...
开发者视角:轻量便捷的AI视觉训推一体机如何实现AI模型快速开发
一、行业背景 1)数据与算力基础夯实:互联网、物联网和移动互联网的普及使得视觉数据呈爆发式增长,为AI视觉训推技术提供了丰富的“燃料”。同时,GPU、TPU等计算芯片的广泛使用,以及云计算的兴起,让计算能力…...
基于Python(Django)+SQLite实现(Web)校园助手
校园助手 本校园助手采用 B/S 架构。并已将其部署到服务器上。在网址上输入 db.uplei.com 即可访问。 使用说明 可使用如下账号体验: 学生界面: 账号1:123 密码1:123 账户2:201805301348 密码2:1 # --------------…...
Django 入门指南:构建强大的 Web 应用程序
什么是 Django? Django 是一个开源的高层次 Python Web 框架,旨在快速开发安全且可维护的网站。它通过简化常见的 Web 开发任务,帮助开发者专注于开发应用的核心功能。Django 实现了“快速开发”和“尽量少的重复”的理念,提供了…...
一文了解相位阵列天线中的真时延
本文要点 真时延是宽带带相位阵列天线的关键元素之一。 真时延透过在整个信号频谱上应用可变相移来消除波束斜视现象。 在相位阵列中使用时延单元或电路板,以提供波束控制和相移。 市场越来越需要更快、更可靠的通讯网络,而宽带通信系统正在努力满…...
LangChain实现PDF中图表文本多模态数据向量化及RAG应用实战指南
如何用LangChain实现PDF多模态数据向量化及RAG应用实战指南 在大模型应用中,PDF文档因包含文本、表格、图片等异构数据,成为RAG(检索增强生成)系统的核心挑战。本文基于LangChain框架,结合多模态处理技术,…...
OkHttp入门
OkHttp 简介与使用示例 OkHttp 是一个高效的 HTTP 客户端,用于 Android、Java 应用程序以及 Kotlin 应用程序。它支持同步阻塞调用和异步调用,同时提供了强大的拦截器和重定向处理功能。OkHttp 由 Square 公司开发,因其高性能和易用性而广受…...
在ARM Linux应用层下驱动MFRC522
文章目录 1、前言2、IC卡 和 IC卡读卡器3、MFRC5223.1、寄存器集3.2、命令集3.3、数据操作3.4、基础函数编写3.4.1、MFRC522接线3.4.2、编写SPI操作函数3.4.3、编写MFRC522基础函数3.4.3.1、完整的mfrc522.h3.4.3.2、写寄存器和读寄存器3.4.3.3、复位引脚操作3.4.3.4、天线操作…...
力扣第446场周赛
有事没赶上, 赛后模拟了一下, 分享一下我的解题思路和做题感受 1.执行指令后的得分 题目链接如下:力扣 给你两个数组:instructions 和 values,数组的长度均为 n。 你需要根据以下规则模拟一个过程: 从下标 i 0 的第一个指令开始…...
close和shutdown
1.shutdown() 控制 TCP 连接的读写方向,不会关闭文件描述符,也不会触发四次挥手。 shutdown(sockfd, SHUT_RD): 关闭套接字的读方向。套接字不能再接收数据。 shutdown(sockfd, SHUT_WR): 关闭套接字的写方向。套接字不能再发送数据。 shutdown(sockfd…...
LeetCode算法题(Go语言实现)_54
题目 给你两个正整数数组 spells 和 potions ,长度分别为 n 和 m ,其中 spells[i] 表示第 i 个咒语的能量强度,potions[j] 表示第 j 瓶药水的能量强度。 同时给你一个整数 success 。一个咒语和药水的能量强度 相乘 如果 大于等于 success &a…...