车载电子电器架构 —— 车辆模式管理

车载电子电器架构 —— 车辆模式管理

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。
无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。

文章大体有如下内容:

1、车辆模式管理概述Vehicle Mode Management

2、车辆模式管理业务介绍

3、电能和电源管理

一、车辆模式管理概述Vehicle Mode Management

车辆模式管理,VMM具有一系列的机制实现整车能量管理,可避免因整车能量不足造成重要功能或性能的失效可临时性放弃与安全驾驶无关的功能,同时兼顾提高燃油的效率和降低CO2排放。

车辆模式管理(Vehicle Mode Management, VMM)是车辆能量管理的一个重要组成部分,它负责根据不同的驾驶条件和需求,智能地分配和管理车辆的各种能源,如电池、燃料等。VMM的目标是在保证车辆安全、性能和舒适性的同时,提高燃油效率和降低CO2排放。

为了实现这些目标,VMM通常具备以下机制:

1、能源分配策略:VMM会根据当前的驾驶模式(如城市驾驶、高速公路驾驶、山区驾驶等)和车辆状态(如电池电量、发动机温度等),制定合适的能源分配策略。例如,在电池电量较低时,VMM可能会优先使用发动机产生的能量,同时给电池充电;在电池电量充足时,VMM可能会更多地使用电池能量,以降低燃油消耗和CO2排放。

2、优先级管理:VMM会对车辆的各种功能进行优先级划分,确保在整车能量不足的情况下,首先保障安全驾驶和关键功能的正常运行。例如,在能量不足时,VMM可能会临时关闭一些非必要的功能(如空调、娱乐系统等),以保证发动机和制动系统等关键功能的正常运行。

3、预测与自适应:VMM可以根据历史数据和实时传感器信息,预测未来的驾驶条件和需求,并自适应地调整能源管理策略。例如,如果预测到未来的驾驶条件将需要大量能量,VMM可能会提前调整能源分配策略,以确保能量供应的充足性。

4、驾驶员互动:VMM通常与车辆的人机界面(HMI)相连,驾驶员可以通过HMI了解当前的能源使用情况和调整驾驶模式,以更好地配合VMM进行能源管理。例如,驾驶员可以选择更加节能的驾驶模式,或者在能量充足时选择更加性能导向的驾驶模式。

5、故障诊断与容错处理:VMM还具备故障诊断和容错处理能力,能够在某些能源系统出现故障时,自动调整能源管理策略,避免重要功能或性能的失效。

通过这些机制,VMM可以在保证车辆安全、性能和舒适性的同时,提高燃油效率和降低CO2排放,实现整车能量的高效利用和可持续发展。

二、车辆模式管理业务介绍

VMM开发人员,功能开发人员,子系统开发人员以及控制器负责人需要阅读此章。

Car ModeCar Mode,该模式贯穿车辆从制造到离开用户之前的整个使用周期,Car Mode设计之初是为了支持车辆在制造和运输过程中实现功能需求,也用于在车辆交付顾客之前节省电池电量,随后Car Mode延伸至车辆的整个使用周期,应用范围也逐渐扩大。

这里举例吉利体系的样例,辅助理解:

Car Mode可分为

-> Factory;

-> Transport;

-> Normal;

-> Crash;

-> Dyno模式。

image

Car Mode模式定义:

1、Factory:此模式从汽车在制造工厂下线开始至汽车离开工厂结束,此阶段要求避免划伤和污染汽车,并禁用一些功能以减小电池消耗。当车辆在工厂进行一些测试时,可通过按两次应急开关切换到Normal模式,当熄火后车辆又重新回到Factory模式;

2、Transport:此模式从运输开始至交付顾客之前,此阶段一般耗时较长,一些舒适性功能如收音机,空调系统等需要关闭以最大限度的减小静态电流消耗以保持电池电量。与Factory类似,当车辆起动时Transport即转到Normal模式;

3、Normal:车辆交付用户之后即进入Normal模式,除了车辆出现事故,在车辆交付用户后一直维持此模式,当车辆在Factory和Transport中行驶时,也会短暂进入Normal模式;

4、Crash: 指车辆在检测到碰撞时启动的模式,此时车辆会开启或者关闭一些功能以保证车辆安全;

5、Dyno:是一种在特定工况或者测试模式下的模式,主要为了保证测试安全。作为一个特殊的模式,启动此模式需要有特殊的操作指令

Car Mode 模式切换:

CarMode中各模式切换如下图所示,以Factory和Normal模式切换为例,车辆可通过两种方式从Factory模式进入Normal模式:

第一种是在Factory模式下直接起动即进入Normal Factory Driving模式,车辆熄火后首先进入Normal Delay Factory After Driving模式,一定时间后即回到Factory模式;

另一种是通过Pause Factory 方式首先进入Normal Factory paused 模式,当车辆在一定时间内不起动则重新回到 Factory 模式,当车辆起动即进入Normal Factory Driving模式,车辆熄火后首先进入Normal Delay Factory After Driving模式,一定时间后即回到Factory模式

5163db79e8c1875c801425100e5c112

Usage Mode

Usage Mode 又称 Power Mode,根据用户的意图指导功能实现。举例帮助大家理解,可分为 Abandoned,lnactive,Convenience,Active 和 Driving 五种状态,如下图所示。

image

Usage Mode 模式定义:

关于Usage Mode 模式定义:

1、Abandoned:车辆在进入Inactive状态一段时间后逐渐进入Abandoned状态,此模式下车辆处于电量消耗最少的状态,此模式下仅有警报,远程控制和远程信息处理等功能可用。当车辆检测到用户有用车需求时即从Abandoned模式进入Imactive模式;

2、Imactive:此模式下车辆功能的可用性保持在最低限度,一些功能处于等待被激活的状态。当驾驶员打开车门或者锁车后即进入Inactive模式(对BEV,打开车门进入Convenience),用户锁车后经过一定时间段内无信号输入,则进入Abandoned模式

3、Convenience:此模式下车辆一些舒适性的功能可以使用,如娱乐功能,电动车窗功能等;

4、Active:此模式下汽车不能起动,但所有安全相关功能均能运行,主要适用于拖车场景;

Usage Mode模式切换如图3.21所示:

Abandoned模式为车辆休眠状态,当用户准备使用车辆时,从Abandoned模式转变为Inactive模式;

Inactive模式可直接转换到多种模式,当用户不准备用车时则回到Abandoned模式;

当用户短按Start/Stop按钮时即进入Convenience模式;

长按Start/Stop按钮时车辆进入Active模式;

当踩踏板按Start/Stop按钮时,车辆发送起动需求给VMM(SM起动管理),动力系统激活后车辆进入Driving模式,Convenience和Active模式均可通过此操作进入Driving模式。

在 Convience模式下,当短按 Start/Stop 按钮时车辆进入 Inactive 模式;

当长按Start/Stop 按钮时车辆进入 Active 模式;

在 Active 模式下短按 Start/Stop 按钮车辆进入Inactive模式;

在Driving模式下,车辆Engine stall进入Active模式,当短按 Start/Stop按钮时车辆进入Inactive 模式。

c6952e494d20c969d8a43dc6ce6a142

三、电能和电源管理

EEPMEl ectrical Energyand Power Management (EEPM)即电能和电源管理,主要目的是管控能量和电量消耗,EEPM用四种负载控制机制控制整车电量消耗和功率平衡,即:

-> 1、EIPowerLevel;

-> 2、DynamicPowerLoadControl;

-> 3、EI EnergyLevel;

-> 4、Centralized Energy LoadControl.

关于上述四种类型,详细解释如下:

A:EI Power Level

EIPowerLevel根据车辆电源情况控制负载,EIPowerLevel一般通过降低负载以保证电源供给质量,假如没有足够的电量供给,EI PowerLevel会降低舒适性相关负载以供给安全相关负载。

EI PowerLevel 的几种状态如下表所示。

定义ElPowerLevel

image

EIPowerLevel是全局信号,整个车辆的电量消耗都由EIPowerLevel信号控制,所有ECU都需要听从该信号指示。

B:Dynamic Power Load Control

Dynamic PowerLoad Control用于当没有足够的能量激活车辆载荷或者将能量用于供给其它子系统时,选择性的减少某些系统电量消耗。通常被降低的负载应该是乘客不能感知到的,这些被关闭或降低的负载主要是空调负载,主要原因是空调负载是电量消耗的主要负载。除了直接降低负载电量消耗,还可以通过延时激活的方式达到目标,但是这种延时激活的方式必须经过相关子系统的计算和控制。

Dynamic PowerLoad Control必须知道系统真实的电量消耗,以预估需要减小的负载功耗,当接到请求信号时,需要在100毫秒内完成增加或者减小用电器功耗。

C:EI EnergyLevel

EIEnergyLevel主要应用于车辆在非Driving模式下,当车载电池电量较低时,可通过降低负载以保证车辆能够有足够电量用于起动,当车上娱乐和空调等负载因为电池电量较低关闭后,在电池没有进行充电之前不能够再次起动。

EI EnergyrLevel的几种状态如下表所示:

image

D:Centralized Energy Load Control

CELC(Centralized Energy Load Control)集中能量负载控制是指在车辆未起动状态下,如果能量标准满足即可进行功能管理,此功能的主要目的是保证车辆有足够的能量用于安全起动。该功能主要对气候和正在运行的娱乐系统进行管控。

子系统通过CELC请求特定功能操作,如果能量标准满足,则可做相应操作,如果能量不能满足完整操作,则能够消耗的能量需要传达给子系统,在UsageMode Abandoned可出现请求,但是只有在UsageMode Inactive、Convenience 或者Active下此功能可激活。

以Parking Climate为例,当用户发送了Parking Climate请求时,气候系统请求有效的激活时间,CELC根据可用能量告知可以支持此功能的能量消耗,如果没有足够的能量用于完整功能的运行,Parking Climate能被激活,但是运行时间缩短。

车辆模式管理开发流程

VMM开发流程如下图所示,包含起动功能开发,VMM子系统开发和VMM通用需求开发等,各阶段主要开发内容以及交付物如表所示。

dea6e25a00bc59882b3f38dddcbd81f

347ac2bc74f1b8682060f2338ac43cb

image

车辆模式管理开发应用案例

VMM Function Matrix业务

介绍VMMFunctionMatrix是VMM的核心业务之一,描述了所有功能在整车生命周期模式CarMode 和使用模式 Usage Mode的功能性可用性,是功能开发,子系统设计的依据,其主要内容如下:

image

-> Yes(green):绿色表示该模式下可以消耗电量;

-> Yes,if…(yellow): 黄色表示该模式下满足相应条件则可以消耗电量;

-> No(red):红色表示该模式下不允许消耗电量;

-> Blank(grey): 如果在 CarMode Crash、Dyno、Factory 或者Transport中出现灰色,表示在该横式下与CarMode Normal下一样

VMM Function Matrix开发流程

新增功能流程:

VMM Function Matrix开发主要涉及功能开发人员以及VMM Function Matrix负责人,其开发具体流程如下图所示:

799babd4439bb2c3bef4623ac8592e2

-> 1)Function Owner 根据整车属性需求,功能清单,FDR以及Matrix定义原则VMM概念制定其负责功能的初版Function Behavior Matrix;

-> 2)Function Owner把初版Matrix反馈给VMM Matrix负责人;

-> 3)VMMMatrix负责人站在VMM角度以及根据功能使用场景及实现策略的描述,审核不通过反馈给FO;

-> 4)VMMMatrix负责人初步审核Ok后,识别有需要再次与VMM团队包括专家再次握手;

-> 5)VMMMatrix负责人初步审核Ok后,将组织会议或者当面与FO握手:

-> 6)VMMMatrix负责人与FO握手后,达成一致生成Function Behavior Matrix:

-> 7)VMM团队与FO握手后,达成一致生成Function Behavior Matrix。变更功能流程:

image

VMM Function Matrix制定注意事项

-> 1)Car Mode子模式下的功能可用性定义和主模式保持一致。例如Normal下的子模式Factory Paused”“Factory Driving”and“Transport Driving”,和Normal下定义保持相同;

-> 2)当整车模式跳转到功能不可用的模式时,则功能将会在10s内禁止:

-> 3)当功能的功能安全等级为ASILA到ASILD时Matrix中模式的限制条件将会被推翻,例如Driving下正在使用的功能在下电后,如果有一定车速,功能将不会禁止主要为安全域功能;

-> 4)如果一个功能是在发动机起动或者法规要求时使用的,在驾驶员发起起动请求时,功能可用性保持和Driving模式一致(如内燃机油温控制和变速箱油温控制)如果30s内没有进入Driving,则该功能将保持原来整车模式下的功能性行为。

VMM通用需求

VMM通用需求介绍

VMM通用需求(General Requirement)是针对功能层、系统层和ECU层设计的指导性文件各层的设计必须遵循VMM通用需求。目的是使功能、系统和ECU设计符合车辆模式定义、限制能量消耗。VMM 通用需求以及在各层间的传递如下图所示:

image

功能层:所有功能新增和修改都必须与VMM握手,在Matrix中认可确认。功能实现必须符合VMM需求。

系统层:子系统必须分解VMMMatrix;子系统设计要结合VMM需求,必须有故障处理策略。

ECU层:ECU的异常状况必须记录DTC和DID,ECU开发必须符合VMM需求。

VMM通用需求开发流程

基于每家主机厂流程EO之后的每个E阶段中VMM通用需求冻结的释放,对功能层的需求在属性层冻结释放并映射到各ECU的功能接收处,对子系统层的需求在FR层冻结释放并映射到所有的子系统,对ECU层的需求与各ECU关联随功能需求文档冻结释放。

各层对VMM通用需求分解流程如下图所示:

image

VMM通用需求开发输出物

VMM通用需求输出物为三种:

-> 1)General Requirement on All Function (针对功能层);

-> 2) Vehicle Mode Management Requirements and Guidelines (针对系统层);

-> 3)VMM General Component Requirements (针对ECU);

输出物分别从以下几个方面定义VMM需求:

Car Mode:规定功能、子系统、ECU如何正确使用CarMod;

Usage Mode:规定功能、子系统、ECU如何正确使用UsageMod;

EEPM:规定功能、子系统、ECU在不同的能量等级下应当采取的行为措施

Energy Consumption; 限制功能、子系统、ECU在Ababdon、InactiveConvenience下的行为以减少能量消耗;

Request and evaluation of Vehicle Mode Signals: 功能、子系统、ECU如何正确使用VMM信号;

Power Supply: 规定功能、子系统、ECU行为与Power Supply的关系,以及如何正确使用Power Supply信号;

VMM and partial networking: VMM 和局部网络管理的关系

Power Supply

Power Supply业务介绍电源分配主要用于提供电量以及发送唤醒信号,目的是增加稳健性,提高便捷性以及减少不必要的能量浪费等。电器件的接电逻辑主要由功能决定,接电类型主要包含常电、继电器电源等

VMM控制的继电器主要有limate relay,Comfort relay,Batter saverrelay 等,其在不同模式下工作情形以及激活条件基于不同项目有对应具体要求,ECU接电类型主要与 ECU功能有关,具体接电类型需要根据实际情况确定。

Power Supply开发流程

-> 1)零部件工程师在LDB中完成零件创建,并完成预估功耗信息录入;

-> 2)PowerSupply负责人向零部件负责人宣贯Power Supply概念以及各种继电器工作条件;

-> 3)零部件工程师初步定义零部件接电类型交给PowerSupply负责人审核;

-> 4)Power Supply负责人组织零部件工程师,S-EDS团队评审Power Supply;

-> 5)Power Supply 负责人输出最终Power Supply清单,作为VMMDPR一部分输出给供应商。

Power Supply定义策略

-> 1)依据Function Matrix,在满足功能的前提下,尽可能的使零部件挂接继电器下,以从源头减少整车静态电流消耗;

-> 2)在整车下电后仍需要工作的零部件(如CEMTCAM等)需要挂接常电:

-> 3)在整车下电后一些需要长期保持记忆功能零部件(如AUDSMBSMP等)需要挂接常电;

-> 4)为保证安全,与高压相关的零部件一般需要挂接CPSR继电器;

-> 5)所有挂接常电的零部件需要确保有相应的休眠策略;

-> 6)电源分配需要符合功能安全要求。

静态电流

静态电流业务介绍

静态电流是指在车辆下电后接常电的电器件仍然消耗车内电池电量的电流,随着汽车电气化程度逐渐提高,控制器逐渐增多,随之而来静态电流也会逐渐增加,过大的静态电流会导致电池寿命降低,耗电过多可能导致车辆无法起动,因此,控制车辆静态电流至关重要。

静态电流开发流程

静态申流开发主要涉及零部件工程师以及静态电流负责人,其开发具体流程如下图所示:

image

-> 1)静态电流负责人根据整车静态电流性能要求,ECU master list,电源分配清单和功能清单初步定义零部件的静态电流,并作为VMM DPR要求的一部分;

-> 2)零部件负责人接收VMMDPR中静态电流要求信息,并作为ESOW的一部分内容

-> 3)供应商接收静态电流要求信息,评估静态电流是否能够满足;

-> 4)零部件工程师组织会议对静态电流进行确认,如供应商反馈数值不满足最初定义要求,供应商需要提交详细的零部件静态电流评估报告,三方共同确认后即形成最终版静态电流要求。

静态电流定义策略

-> 1)接继电器零部件无静态电流;

-> 2)接常电零部件一般情况下静态电流不能超过0.1 mA;

-> 3)对于在整车已休眠情况下不能一直处于Sleep状态下的ECU(如CEM,TCAM)需要提交详细电流消耗说明;

-> 4)一部分电器件不在Master list中,但是需要挂接常电且在整车休眠后有静态电流消耗(如Brake Pedal Sensor),也需要列入静态电流管控范围。

静态电流应用举例以OBC(On BoardCharger)为例,静态电流负责人初步定义静态电流值为01mAECUOwner 接收此数值,通过ESOW将需求下发给供应商,供应商通过以往项目经验以及理论计算提供数值(0.22mA),ECUOwner将此数值反馈给静态电流负责人。

对于不满足0.1mA 的电器件,静态电流负责人通知供应商提供详细报告,ECUowner组织三方会议以达成一致意见,OBC 的静态电流分析报告如下:低压输入电压监测芯片-20 uA;CAN 收发器-65uA;电子锁控制芯片-15uA;CC 唤醒电路-120uA。不能达到 0.1mA 的主要原因是 OBC 需要时刻检测充电枪无源 CC 电阻进行唤醒,经过与供应商协同分析,可优化 CC 唤醒电路,将其降低至 40uA,因此最终确定 OBC的静态电流为0.15mA。

静态电流监控功能

CM业务介绍

针对因网络管理等问题导致汽车蓄电池出现亏电情况,VMM团队设计OCM(Quiescent Current Monitoring) 功能,以解决由电气原因导致的亏电难以排查的问题。

QCM使用汽车电气系统交互进行亏电原因检查,利用ECU应用软件和车辆诊断进行亏电问题自检与记录,便于工程师进行排查问题。如有任何非正常活动如整车休眠后,灯光系统,娱乐系统,或舒适性系统异常工作,或继电器异常吸合等场景,ECU将会把错误工况记录,进而方便排查。该功能不仅方法简单有效,并且检查范围相对于现有方法覆盖范围更加广泛。

CM功能逻辑

功能应用对象是所有KL30节点CAN线,Flexray及以太网ECU,不包含LIN总线ECU

-> 1)整车休眠进入abandoned,复位BMS电流测量值,记录整车睡眠时的电流值;

-> 2)VMM检测整车睡眠时(Usagemode-abandoned)是否存在电流超标:

a) 若检测电流高于预设值,则由主节点CEM发送FItEgyCnsWdSts-flt信号唤醒整车所有QCM从节点ECU。QCM从节点进行自检,查看是否收到信号之前已经唤醒。若已经唤醒,则存储唤醒的时间状态与原因:若收到信号前处于正常睡眠状态,则无需诊断记录;

b)若检测电流低于预设值,则整车静态电流消耗正常,所有节点无需被唤醒3)整车所有ECU睡眠。

37384b820851664c2313d6aa795c23b

如果ECU在唤醒整车之前已经存在唤醒状态,设置DTC并则记录DID。要求ECU使用车辆诊断DID对其异常唤醒时间、唤醒原因、车辆当前模式与控制器当前状态等信息记录到DID中。

OCM 主要有两部分组成,分别是:主节点中央网关和从节点包括所有KL30的CAN总线,Flexray 与以太网ECU 节点。

主节点负责对整车睡眠后的电流进行监测与分析,判断整车静态电流是否超过标定的闽值。若测量值高于标定闯值,则由主节点发送信号唤醒所有从节点:而从节点则收到信号后进行状态自检,确认是否在收到唤醒整车信号前已经存在异常唤醒。当车辆进入 abandoned 后,BMS(Battery MonitoringSensor)会持续监测整车12V 蓄电池电流消耗状况,持续测量申量3 小时,BMS 可以尽可能精准的反馈蓄电池实际消耗值,并在 abandoned 后3小时(时间可标定)将数值反馈给中央网关节点。中央网关节点去判断整车电流是否在允许范围之内。

若高于预设值则如功能概括中步骤2中所述,发送FltEgyCnsWdSts-flt 至所有QCM的从节点此时在收 FItEgyCnsWdSts信号之前就已经唤醒并且超过15s中的ECU就会记录诊断 DID,将下表中的数据如唤醒时间、唤醒原因、车辆当前模式与控制器当前状态等信息体现到DID中。假若ECU已经唤醒超过15s,并且唤醒了网络或者是由自唤醒导致 ECU的异常唤醒,则记录DTC。

958d9796acc045aa7925b19bc84d4a1

备注:上述为必须信息,任何详细的可以帮助排查ECU异常唤醒的信息可添加到该DID,如压力,温度或者液位唤醒等详细信息。

CM功能优势

QCM可以通过车辆电气系统交互,将ECU与其所控制的用电器异常唤醒行为进行记录。相比现有车辆蓄电池亏电原因查找技术,该方案可以利用软件与车辆诊断方法记录,如唤醒的时间,唤醒原因(如网络唤醒、硬线唤醒、功能请求、模式切换,内部计时器定时唤醒等)、车辆模式等信息,开发人员基于记录信息可以将亏电场景进行还原。可以在车辆开发阶段针对车辆亏电的偶发性,多样性等特性进行有效的问题排查。

该功能使用车辆诊断DID和DTC将ECU异常唤醒的原因进行存储记录,可以有效的进行亏电场景复现。利用DID,DTC记录方法实现简单可靠,并且读取便捷。利用软件开发与车辆诊断方法,可以将车辆亏电的原因记录。开发人员可以利用记录的数据在开发阶段将造成亏电原因排查解决,有效降低车辆上市后亏电的可能性,降低车辆上市后造成的售后影响。

使用车辆诊断方法,可以将导致ECU异常唤醒的原因DID进行记录。只需通过诊断仪器就可以读出ECU异常唤醒原因等相关信息。相比现有手段,操作简单,方法可靠。

车辆模式管理开发小结

VMM管控车辆的整个生命周期,在汽车起动,测试认证过程中扮演重要角色,随着车辆逐步进入智能化,将有更多耗电单元需要管控,这就要求 VMM 不仅要提升管控策略,还需要功能、系统以及零部件层工程师密切配合。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python算法题集_组合总和

Python算法题集_组合总和 题39:组合总和1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【值传递回溯】2) 改进版一【引用传递堆栈回溯】3) 改进版二【过程值列表缓存遍历后检索】 4. 最优算法5. 相关资源 本文为Python算法题集之一的…

JVM运行流程

⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:JavaEE 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 JVM 1. 运行流程2. 运行时数据区2.1 堆&am…

【精品】集合list去重

示例一&#xff1a;对于简单类型&#xff0c;比如String public static void main(String[] args) {List<String> list new ArrayList< >();list.add("aaa");list.add("bbb");list.add("bbb");list.add("ccc");list.add(…

C++——模板详解

目录 模板 函数模板 显示实例化 类模板 模板特点 模板 模板&#xff0c;就是把一个本来只能对特定类型实现的代码&#xff0c;变成一个模板类型&#xff0c;这个模板类型能转换为任何内置类型&#xff0c;从而让程序员只需要实现一个模板&#xff0c;就能对不同的数据进行操…

4.2 数据的描述性统计

1、总体规模的描述——总量指标 定义&#xff1a;反映在一定时间、空间条件下某种现象的总体规模、总水平或总成果的统计指标。 eg&#xff1a;营业额、利润等 2、总体规模的描述——相对指标 定义&#xff1a;两个有相互联系的指标数值之比 eg&#xff1a;目标完成率&…

GCN 翻译 - 1

ABSTRACT 我们提出了一种可扩展的在以图结构为基础的数据上的半监督学习&#xff0c;这种方法直接作用在图数据上&#xff0c;可以看做是卷积神经网络的变种。我们选择了图谱理论里面的一阶近似作为我们的卷积结构。我们的模型能够随着图的规模线性伸缩&#xff0c;并且隐藏层…

计算机专业大学四年应该如何规划(Java方向)

计算机专业的学生&#xff0c;如何在大学四年内提高自己的竞争力&#xff0c;毕业之后直接进大厂工作&#xff1f; 以下将从大学四年计算机专业的学习规划、课程设置、能力提升、参考书籍等方面&#xff0c;为同学们提供一些建议和指导。 大一&#xff1a; 主攻技能学习并且达…

枚举(蓝桥练习)(反倍数、特别数的和、找到最多的数、小蓝的漆房、小蓝和小桥的挑战)

目录 一、枚举算法介绍 二、解空间的类型 三、循环枚举解空间 四、例题 &#xff08;一、反倍数&#xff09; &#xff08;二、特别数的和&#xff09; &#xff08;三、找到最多的数&#xff09; &#xff08;四、小蓝的漆房&#xff09; &#xff08;五、小蓝和小桥的…

Linpmem:一款功能强大的Linux物理内存提取工具

关于Linpmem Linpmem是一款功能强大的Linux物理内存提取工具&#xff0c;该工具专为x64 Linux设计&#xff0c;可以帮助广大研究人员在执行安全分析过程中快速读取Linux物理内存数据。 该工具类似Windows下的Winpmem&#xff0c;Linpmem不是一个传统的内存转储工具&#xff0…

scons,一个实用的 Python 构建工具!

目录 前言 什么是SCons库&#xff1f; 安装SCons库 使用SCons库 SCons库的功能特性 1. 基于Python的构建描述语言 2. 自动化依赖管理 3. 多种构建环境支持 SCons库的应用场景 1. C/C项目构建 2. Python项目构建 3. 嵌入式系统开发 4. 持续集成环境 5. 跨平台项目构建 总…

如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备&#xff0c;尽管最初并非设计为服务器&#xff0c;但是随着技术的进步我们可以将Android配置为生产力工具&#xff0c;变成一个随身…

【InternLM 实战营笔记】大模型评测

随着人工智能技术的快速发展&#xff0c; 大规模预训练自然语言模型成为了研究热点和关注焦点。OpenAI于2018年提出了第一代GPT模型&#xff0c;开辟了自然语言模型生成式预训练的路线。沿着这条路线&#xff0c;随后又陆续发布了GPT-2和GPT-3模型。与此同时&#xff0c;谷歌也…

Failed to build tree: parent link [base_link] of joint [lidar_joint] not found

参考&#xff1a; Failed to build tree: parent link [base_link] of joint 在古月居gazebo 的基础教程里&#xff0c;运行古月居的mbot的launch文件报错&#xff0c;小机器人不出现。 主要原因是提供的xacro文件的宏定义没有放在xacro的命名空间。 解决&#xff1a; 将<mb…

Linux系统编程之线程互斥锁的使用方法

文章目录 一、Linux上线程开发互斥锁概要二、创建及销毁互斥锁2.1 示例&#xff1a;主线程等待两个线程退出&#xff0c;1线程和2线程打印信息 三、互斥量的初始化问题 一、Linux上线程开发互斥锁概要 互斥量&#xff08;mutex&#xff09;从本质上来说是一把锁&#xff0c;在…

小白水平理解面试经典题目leetcode 606. Construct String from Binary Tree【递归算法】

Leetcode 606. 从二叉树构造字符串 题目描述 例子 小白做题 坐在自习室正在准备刷题的小白看到这道题&#xff0c;想想自己那可是没少和白月光做题呢&#xff0c;也不知道小美刷题刷到哪里了&#xff0c;这题怎么还没来问我&#xff0c;难道是王谦谦去做题了&#xff1f; 这…

Dockerfile(6) - EXPOSE 指令详解

EXPOSE 通知 Docker 容器在运行时监听指定的网络端口 EXPOSE 端口号 EXPOSE 端口号/协议 默认协议是 TCP 同时在 TCP、UDP 上暴露端口 EXPOSE 80/tcp EXPOSE 80/udp EXPOSE 原理 个人理解&#xff1a;EXPOSE 暴露的端口更像是指明了该容器提供的服务需要用到的端口EXPOSE…

【比较mybatis、lazy、sqltoy、lambda、操作数据 】操作批量新增、分页查询

orm框架使用Lambda性能比较 环境&#xff1a; idea jdk17 spring boot 3.0.7 mysql 8.0测试条件常规对象 orm 框架是否支持xml是否支持 Lambda对比版本mybatis☑️☑️3.5.4sqltoy☑️☑️5.2.98lazy✖️☑️1.2.3-JDK17 数据库表(含有唯一性索引s_u) CREATE TABLE sys_u…

机器学习|线性回归

线性回归是尝试使用一条直线去拟合出图上的节点。 e i e_i ei​为第i个点构成的误差&#xff0c;使用平方的好处一是可以避免正负抵消&#xff0c;二是平方有利于放大大于1的误差的影响&#xff0c;同时缩小误差小于1的影响。 将平方项进行展开&#xff0c;以w作为变元&…

Floyd算法、Dijkstra算法、基础拓扑排序

Floyd算法 Dijkstra算法 基础拓扑排序

简单了解B树和B+树

目录 B树 B树 B树和B树的结构示意图 总结 B树和B树是两种非常重要的树状数据结构&#xff0c;它们广泛应用于数据库和文件系统的索引结构中。这两种数据结构能够帮助我们高效地管理、查询以及更新大量的数据。下面&#xff0c;我将简单介绍它们,以及他们之间的区别。 B树 B…