关于自动驾驶高精定位的几大问题

news2024/12/26 22:57:03

交流群 | 进“传感器群/滑板底盘群”请加微信号:xsh041388

交流群 | 进“汽车基础软件群”请加微信号:Faye_chloe

备注信息:群名称 + 真实姓名、公司、岗位


作者 | 许良

定位是高等级自动驾驶的基础,但在高速NOA和城区NOA等场景中,如何能够稳定地在各种工况下实现高精度定位将是个难题。一个常见的问题是:高速NOA、城区NOA功能需要实现多高精度的定位?需要多高精度的IMU、组合导航和多少种传感器?

带着这些困惑,笔者采访了很多行业内专家。

第一个问题的答案较为一致:高速NOA只需要实现车道级/分米级的定位即可,能识别出自车在哪个车道就够了;而城区NOA下,由于车道比较窄,尤其是在十字路口处,经常会出现车道变化,如两车道变成三车道或四车道,这时候要想实现车道保持而不压到车道线,就需要定位精度达到厘米级。

关于第二个问题“需要多高精度的IMU、组合导航和传感器”,笔者和行业多位专家交流后得到的结论是:无法确定,因为最终的定位精度是由组合导航、轮速传感器、高精地图和视觉、激光雷达、毫米波等多种传感器匹配定位后的结果,只要最终融合定位的精度能满足需求即可,对各部分的精度不做硬性要求。

下图介绍了融合定位的几个组成部分。

5d2b3d2ba69d668ba5986418e6b7cba6.png

组合导航,广义上指“两种或两种以上的非相似导航定位系统的结合”,如通过算法对GNSS、IMU、轮速计、Lidar点云等信息做数据融合。

由于GNSS和IMU具有很好的互补效果,即GNSS补充了IMU惯性系统的累计误差问题,IMU很好地弥补了GNSS卫星系统的不稳定性和易受干扰性,这对“黄金搭档”也被称为最佳的组合导航方案,所以一般大家提到“组合导航”时,就指卫惯组合导航(GNSS+IMU)。如无特殊说明,下文中提到的“组合导航”即指GNSS+IMU。

本文主要重点关注如下几个问题——

一.GNSS为什么一定要双频?

目前,国内主流方案的GNSS/RTK都支持双频多星座。

所谓多星座,指的是GNSS接收机可以接收中国的北斗、美国的GPS和欧洲的伽利略等不同导航系统的信号,国内GNSS接收机一般同时支持北斗和GPS。

双频指的是每个导航系统都有两个载波频段,如北斗有两个频段,GPS也有两个频段。双频会导致硬件和算力成本大大增加。

那么,双频有什么作用呢?

和业内专家沟通下来,笔者得到答案是:一方面,两个载波频段可以互为冗余 ,另一方面,双频可以获得更高的定位精度。

在GNSS的测量误差中,电离层引起的误差占了很大一部分,而双频载波可以利用电离层对不同频率电磁波延迟的相关性,来消除大部分电离层引起的误差,从而大大提高卫星定位精度,这是单频GNSS所做不到的。

某位组合导航公司创始人曾论坛上公开提到,单频RTK定位精度,有95%的概率落在半径为0.4米的圆内(也就是精度单位CEP的概念),双频RTK定位精度可以做到95%的概率落在半径为0.2米的圆内,由此可见双频的重要性。

星基增强和地基增强

GNSS的定位误差,除了上文提到的电离层误差外,还有如下几种:卫星相关的卫星轨道误差(星历误差)、卫星原子钟的时钟误差、对流层误差、载波经过反射后的多径效应引起的误差,与接收机有关的接收机钟差等。

3e68a91bbd2d174d33bc0cefc3afae37.png

 △卫星定位误差的来源

为了尽量消除这些误差,提高定位精度,除了上述提到的双频载波频段外,还有其他增强方法,根据其原理可以分为星基增强和地基增强。

其中使用最广泛、最具代表性的增强方法有地基RTK(Real-Time Kinematic,实时动态定位)、星基PPP(Precise Point Positioning,精密单点定位)和两者的结合PPP-RTK。具体技术介绍与优缺点如下所示:

6599f3eb87e4b025179696d6265accba.png

△RTK/PPP/PPP-RTK对比

信息来源:九章智驾根据公开信息与专家访谈信息整理

下图从收敛速度定位精度覆盖范围三个维度对这三种模式进行了对比。

d785a399ae96937e4615f6380682a606.png

 △RTK、PPP与PPP-RTK定位特点对比

(资料来源:https://www.sohu.com/a/447492212_120381558)

作为RTK和PPP的强强联合,PPP-RTK既有RTK精度高、收敛快的优点,也有PPP全球覆盖的优点。

除此之外,与RTK相比,PPP-RTK更符合功能安全的要求。一方面是PPP-RTK不受地面基站和移动网络覆盖面的约束(可以通过卫星播发);另一方面,相比于RTK通过差分把定位误差作为“黑盒”打包处理,PPP-RTK可以对每一项误差进行全球范围内的建模和预估,PPP-RTK的信号完好性使得它可以确认每个信号的误差状态,并识别该信号是否可收敛、可使用、可检测,从而更符合功能对风险因子逐项拆解的要求。

那么,与RTK相比,PPP-RTK的使用成本是否有优势呢?

虽然PPP-RTK所需的地面基站数量要少得多(国内数百个基站就可以覆盖),但如果要使用卫星播发信号,要么租借卫星,要么像时空道宇那样发射低轨卫星。据了解,租借卫星的成本不菲(约1000万~2000万/颗/年),而要覆盖全球得租借多个卫星才行,这些成本都会算在服务费中。

而据笔者和多位业内专家沟通交流,PPP-RTK和N-RTK的成本相差不大。如果不使用卫星播发的话,PPP-RTK成本还要更低一些。

业内很多专家都认为PPP-RTK是未来的发展趋势。据了解,国内已经有多个在研前装量产项目使用了PPP-RTK技术。

不过,有意思的是,已经在地基上有巨大投入的千寻位置也在向车企客户力推PPP-RTK(据千寻官网显示,千寻已建成2800+地基增强站),这是否受竞争对手的策略影响,不得不跟进? 

那么,在转向PPP-RTK后, 先行者们在前期在地基增强基站上投入的资源是否会“浪费”?

笔者在和某头部位置服务商的资深从业者的沟通中获悉,虽然理论上PPP-RTK可以不需要那么多的地面基站,不过在收敛速度和位置精度方面,还是会受到地基数据很大的赋能,基于已有的高密度地基服务推出的PPP-RTK,其收敛速度也远快于地基密度没那么高的位置服务商的同类产品。

三.低轨卫星能提高定位精度吗?

前段时间,吉利旗下时空道宇发射了九颗低轨卫星,据称主要用于智能驾驶的高精定位等功能。同时,特斯拉的“星链”同样也是用低轨卫星覆盖全球。那么,低轨卫星真的能够提高定位精度吗?

在这个问题上,专家的反馈比较一致,即低轨卫星主要起到通讯的作用,对于提升定位精度并无实质作用。

不过,虽然低轨卫星不能提升定位精度,但的确可以对卫星信号起到增强覆盖的作用,尤其是在半遮挡地区。

某资深从业者认为,除了播发增强信号外,低轨卫星也可以同时使用全球卫星导航系统,播放载波信息,从而可以增加某个区域内GNSS接收机搜到的卫星数。一些半遮挡区域,如高架下,或楼宇内近窗处,之前由于搜不到足够多的导航卫星而无法定位或定位精度不准,加上低轨卫星后,就可以搜到足够多的卫星,从而增强卫星导航的可用性和可靠性。

四.IMU的关键指标和精度要求

IMU作为组合导航的核心器件,可以提供更高频率的高精信号(一般可达200Hz),在GNSS信号无效或者更新间隔内(GNSS信号频率为10Hz),可以用来进行高精度的航位推算。

IMU分为陀螺仪和加速度计两部分,陀螺仪输出车辆的横滚、俯仰和航向角,加速度计输出三个方向的加速度。

IMU的成本,随着精度的提升直线上升,毕竟“一分钱一分货”。

大家在选择IMU的时候,最常见的问题是:选多高精度的IMU才能满足要求?这就涉及到IMU的关键性能指标。

IMU有很多的器件指标,如零偏误差、比例因子误差、非线性误差等。具体指标及说明见下图。

074fac091e59bd520792bdeb8b37b756.png

 △IMU误差指标说明(引用自司南导航算法工程师线上分享)

其中最为关键的指标有两个:1.零偏误差;2.温度零偏。

零偏误差,即使用时会有常量误差,因为误差会随着时间累计,所以需要将该误差控制在一定范围内,一般陀螺仪的零偏误差控制在2-3度/小时,加速度计的零偏误差控制在0.003g以内(3mg)。

温度零偏,用于衡量对传感器对温度的敏感性,不同温度下的特性不同,一般会通过测量传感器的特性曲线,在出厂前进行补偿,从而降低温度零偏。

据了解,温度补偿的一致性会随着使用时长而发生变化,即使用几年后的补偿曲线和刚开始标定的补偿曲线和可能会有差异。

习惯上,大家可能更习惯用算法指标来衡量IMU,即在隧道等GNSS信号完全丢失的情况下,车辆行驶1000米后,测量值与真值的偏差。行业较为普遍指标为千分之一到千分之五(1sigma)左右。

五.GNSS+IMU耦合方式的演进趋势

从底层算法层面来看,组合导航算法可以分为松耦合、紧耦合及深耦合三种,算法实现难度依次递增。

几种耦合方式的介绍见下图,具体可查看之前九章智驾的文章《高精度组合导航里的松、紧、深耦合》

963a9dfbcb37df5721156d68b1ddc531.png

 △组合导航的几种耦合方式

信息来源:九章智驾根据公开信息与专家访谈信息整理

在半遮挡场景下,如城市峡谷中,深耦合表现最好,紧耦合次之,松耦合最差;在全开阔场景和全遮挡场景下,则三种耦合方式表现相同。具体可见下图。

70541713a4021d92842ef83cd3ddf131.png

△不同耦合算法的定位效果对比

(图片引用自导远电子官网)

当乘用车前装量产的关注点从高速NOA慢慢转移到城区NOA时,这时候深耦合的优势就体现出来了。

在和行业内专家交流时,大家也都认可技术表现上深耦合更好,那么未来深耦合会不会成为主流趋势呢?

业内声音不一,有不少专家认为深耦合会成为主流趋势。

不过,国汽大有时空研发副总裁李庆建认为,从自动驾驶域控发展趋势、主机厂与供应商的博弈以及结合域控集成的模式等角度来考虑,组合导航算法将以在域控算法的形态存在。

在深耦合的模式下,域控形态实现具有更大的难度,紧组合将会成为当前可行的算法。在未来,卫导、惯导和组合导航算法集中定点也许会成为过去,如果主机厂没有对深耦合的算法Know-how有足够的开发能力,将主导算法,把地图、感知等多源融合定位作为重点。

六.组合导航的集成化趋势

虽然某些车企在自研组合导航算法,不过有更多主机厂会选择一家集成商将卫导、惯导和组合导航算法集成在一起提供,也就是俗称的“P-Box”(定位盒子),还有些会把高精地图也集成其中,称为“地图盒子”(HD MAP BOX)。

809e1ba9ca038510b964a4ae09c65436.png

 △戴世智能P-Box技术架构

(图片来源:焉知)

行业里普遍认为定位盒子和地图盒子只是个过渡形态的产品,随着域控制器技术的逐渐成熟和中央集成式架构的演进,域控制器集成组合导航模块将成为主流趋势,即将组合导航算法集成、GNSS和IMU模组集成到域控内,或与其他器件集成在一起。

集成化有很多优势。

一、降低成本。目前有定位盒子供应商的常见做法是,外购GNSS模组和IMU模组,将组合导航算法放在独立的MCU内,全部集成在定位盒子中;相比之下,将组合导航算法集成到域控内,可以省掉一个独立的MCU。

二、提高数据交换效率。 将组合导航算法集成到域控内,可降低定位模块与其他算法模块数据交换的延迟。

三、方便布置。随着集成度越来越高,GNSS和IMU逐渐从器件级向板卡级、芯片级演变,相比于独立的定位盒子,集成在其他器件内,布置上更加方便,连接线束也少了。

那么,组合导航集成在域控内,是否会成为以后的主流趋势呢?

笔者在与众多行业专家交流后发现,虽然已有不少车企选择将IMU和GNSS模块集成在域控制器内,但该做法仍存在不少工程上挑战。

其中最大的挑战,来自于IMU对安装位置和环境的超高要求。

第一,IMU对安装位置要求很高。因为在使用IMU时,自动驾驶系统默认IMU的位姿和加速度代表了整车的状态,所以IMU最好的安装位置是后轮轴线的中心位置。因此,一些业内专家指出,是否将IMU集成在域控制器内取决于域控制器的位置,如果位置不合适,则不宜将IMU集成在域控内。

实际操作中,若位置不合适,可以将安装位置与理想位置进行标定,再经过坐标转化即可使用,不过,这个转化过程会造成部分器件精度的损失。

第二,IMU对温度变化非常敏感,所以安装处温度变化不宜过大,而域控制器内部由于有大功率的SoC,温度变化较大,可能会影响IMU的测量精度。实际操作中,虽然出厂前会经过温度补偿曲线进行标定,不过前文中提到该温度补偿曲线会随着时间而变化,可能会增加误差。(当然,也有专家反馈,根据目前已经量产的项目反馈,该误差造成的影响并不大。)

第三,IMU对安装面的平整度和刚度要求高,而域控制器由于PCB板面积较大、刚性不足,加工过程中的弯曲变形也会影响IMU的性能,域控工作中的振动也会带来额外的噪声。这一点,可通过调整安装位置和局部增加刚度来优化。

GNSS模块的安装位置,也需要更多考虑布置方便和集成方便度,比如有些会把GNSS模块与V2X和T-Box进行集成。

一位行业专家认为,GNSS在模块化后,体积足够小,贴在哪里都可以。一般为了布置方便,会放在更靠近GNSS天线的位置。因为GNSS的天线与卫星定位搜星有关,所以会放置在靠外的位置,一般选择和4G天线、收音机天线(鲨鱼鳍)等集成在一起。如果不考虑位置而将GNSS模块布置在域控的话,GNSS的天线要连接到域控,连接线会比较长,授时精度可能会受影响。

独立盒子和集成化趋势或将长期并存

与定位盒子集成化的趋势相对应的是,定位盒子供应商则希望继续保持独立盒子的形态,这种独立盒子可接入更多的信号,继续提升定位精度。

如导远推出的地图盒子,除集成了GNSS、IMU、轮速和高精地图外,还进一步接入了ADAS相机,从而可以通过视觉融合定位,进一步提高定位精度和可靠性——据称可在95%置信度下实现横向误差小于0.2米、纵向误差小于2米。

不过,一位新势力车企负责定位的工程师表示,对于将视觉融合定位交由定位盒子供应商来完成这种做法,他们是完全“不可接受”。究其原因,一方面,这“关系到谁集成谁的问题”,职责不容易区分,“出了问题,到底是传感器的问题、定位盒子的问题,还是融合算法的问题,不好判责”;另一方面,他们也不认可定位盒子供应商的图像处理能力,况且,这也涉及到图像被两次处理造成的算力浪费问题。

对于这种行为,某组合导航供应商高管认为,现阶段,传统车企或者研发能力弱的车企,量产高阶智能驾驶时,为了更方便地控制成本、提升可靠性,更希望供应商能够提供定位的整体解决方案,如集成卫导、惯导、高精地图,甚至视觉融合定位等功能。

将组合导航集成到域控中的方案,一方面对车厂的研发能力有较高的要求,另一方面对于感知、决策等算法也有很高的要求。因此,如果这两方面要求都不能达到,把定位交给第三方供应商来解决,是一个可以实现快速量产,且集成度和可靠性都比较高的方案。

看下来,虽然长期来看定位模块的集成化是个趋势,但定位盒子仍或将长期存在。

做好融合定位算法,可降低对组合导航关键部件的要求

前述提到的组合导航,其实都是自动驾驶定位系统中的一部分,最终系统是通过将各种数据进行融合定位。

c4ec5e6931c98644a53f202ee21b8547.png

△小马智行融合定位架构

(来源:小马智行账号知乎文章)

一般常见的融合定位用到的数据包括GNSS、IMU、RTK(或PPP-RTK)、高精地图、轮速传感器、激光雷达、摄像头等,最终的定位精度取决于融合后的定位精度。

d6bbc0d9276c5bc3ee0978c5c6240103.png

 △Apollo融合高定位软件架构

(数据来源:Apollo官方)

值得一提的事,除了以GNSS为主的绝对定位外,还可以根据摄像头观测到的车道线的位置来实现横向的相对定位,以及使用激光雷达、摄像头、毫米波雷达等观测到的周围关键特征(如标志牌、红绿灯等)和高精地图进行匹配,来实现纵向的相对定位(SLAM)。

48dabaafe76baf7be7e9128ec1c5ffba.png

 △相对定位匹配原理

(来源:六分科技的线上分享)

事实上,如果融合定位算法做的够好的话,是可以降低对组合导航关键部件的要求(如IMU精度等)。

很多专家都表示,IMU的高精度主要为了应对一些定位退化场景——如隧道。在隧道场景中,只能依赖两端的GNSS值进行绝对定位,隧道中间只能依赖IMU进行航迹推算。

不过也并非没有办法,百度阿波罗的一位专家在某次分享中提到:一方面隧道内对绝对精度的要求并不高,道路的曲率变化不会太极限;另一方面,可以引入更多的特征,比如纹理来帮助定位。

也有专家提到,在隧道中可以利用视觉和毫米波雷达来实现横向定位,至于纵向定位的精度,“其实也没有那么重要”。

九.融合定位可否摆脱对高精地图的依赖?

除了能降低组合导航要求外,某L4进入前装量产的公司也透露正在探索不依赖RTK实现高速NOA功能的方案。

事实上,高精度定位是搭配高精地图进行使用的,如果RTK可以不需要,那么高精地图是否还需要呢?

业内不少人认为在自动驾驶中,高精地图是个“拐杖”。高精地图不受环境影响、不被距离限制,可以辅助感知作超视距感知输入,对传感器进行有效弥补。如果现在就扔掉“拐杖”,可能还会有一些问题,如现实场景道路中,常会遇到大车挡道、车道线模糊等问题,传感器也常常受限于距离和环境影响。

据一些业内专家反馈,缺少高精地图(仅依赖导航地图),实现车道级定位比较困难,因为导航地图道路中缺少车道信息,只能通过视觉等识别的车道信息进行相对定位。当在路口遇到路牌和车道线遮挡时,很难识别道路拓扑结构,容易出现决策规划错误。

此外,在小曲率匝道中行驶时,因为导航地图缺少曲率信息,车辆的横纵向控制将会比较困难,很容易会有锯齿感。

从这些方面来说,某种程度的“高精地图”还是需要的,不过这种所谓的“高精地图”可能不像现在图商提供的精度那么高、元素那么全,可能是在导航地图上覆盖一层道路语义地图,姑且可以称作“导航地图 Plus”。

在这方面,记忆泊车提供了很好的范式。记忆泊车功能开启之前,需要先构建地图和记忆路线,再基于构建好的地图进行定位决策规划。

于是,参考记忆泊车,一些方案商提出了记忆行车功能。对于城市通勤路线,通过反复几次行驶后完成构建地图和路线记忆,即在导航地图上覆盖一层本地构建的语义地图“导航地图Plus”,然后基于此地图进行定位决策和规划,实现城区内不依赖高精地图的点到点领航辅助。

这一定程度上可以实现“单机”版的地图,如果再进一步,本地构建的地图分享到云端呢?那岂不是就成了众包地图?

事实上,小鹏汽车方面称,已经支持停车场记忆泊车地图分享功能,用户学习路线后可选择分享路线,通过云端审核后,即可在手机端进行路线管理与分享,到达目标停车场内,还可以使用其他用户上传或者官方推荐的泊车路线,这一定程度上,这已经是事实上的停车场“众包”地图了。

行车和泊车,虽然功能逻辑不同,在解决地图问题的方向上,也许将会殊途同归。

参考资料

1.智能网联汽车高精地图白皮书

2.Pony Tech | Pony.ai 地图与定位系列文章:组合导航在自动驾驶定位技术中的重要性

https://zhuanlan.zhihu.com/p/512611484

3.导航行业专题研究:组合导航迎自动驾驶大时代  https://mp.weixin.qq.com/s/juYXHF8JR2EeSPDBjFbFbw

4.司南导航技术前线:直播回放 | 组合导航与智能驾驶https://mp.weixin.qq.com/s/TwK0A4M35zvVuCg_z2dtyA

5.北云科技推出车规级组合导航单元,助力自动驾驶量产车型 

https://mp.weixin.qq.com/s/cmNQ2FiZCUDhJ3fJzYkBIg

6.导远电子:自动驾驶紧耦合定位需要什么样的IMU https://zhuanlan.zhihu.com/p/411435503 

7.十一号组织:GNSS(一),自动驾驶定位团队的“保护伞”

https://mp.weixin.qq.com/s/bWbP5prPGDEVfhnbwwN4PQ

8.十一号组织:GNSS(二),自动驾驶定位团队的“保护伞”

https://mp.weixin.qq.com/s/QOzQ-U6DTii3Fnholo1wmQ

9.学术交流丨从RTK、PPP到PPP-RTK  

https://www.sohu.com/a/447492212_120381558

10.记忆泊车 路线分享 新功能使用指南-小鹏社区https://bbs.xiaopeng.com/article/915831

写在最后

与作者交流

如果希望与文章作者直接交流,可以直接扫描右方二维码,添加作者本人微信。

  8fdfd2277f19f57d13c34c6ff83edb3a.png

注:加微信时务必备注您的真实姓名、公司、现岗位

以及意向岗位等信息,谢谢!

关于投稿

如果您有兴趣给《九章智驾》投稿(“知识积累整理”类型文章),请扫描右方二维码,添加工作人员微信。

9a67c0f8b17b7c967c6ba6df61324bd5.jpeg

注:加微信时务必备注您的真实姓名、公司、现岗位

以及意向岗位等信息,谢谢!


“知识积累”类稿件质量要求:

A:信息密度高于绝大多数券商的绝大多数报告,不低于《九章智驾》的平均水平;

B:信息要高度稀缺,需要80%以上的信息是在其他媒体上看不到的,如果基于公开信息,需有特别牛逼的独家观点才行。多谢理解与支持。

推荐阅读:

◆九章 - 2022年度文章大合集

◆投奔“自动驾驶第一城”—— 一场说走就走的“迁都”

◆万字长文讲清楚4D毫米波雷达

◆万字长文解读深度学习算法在自动驾驶规控中的应用

◆线控转向量产商用的挑战与曙光

◆“在别人恐惧时贪婪”,这支基金将在“自动驾驶寒冬”加大投资力度

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux账号与用户组

目录 用户标识符:UID与GID 用户账号 /etc/passwd文件结构 1、账号名称 2、密码 3、UID 4、GID 5、用户信息说明栏 6、家目录 7、shell /etc/shadow文件结构 1、账号名称 2、密码 3、最近修改密码的日期 4、密码不可被修改的天数(与第三字…

Git | 在IDEA中使用Git

目录 一、在IDEA中配置Git 1.1 配置Git 1.2 获取Git仓库 1.3 将本地项目推送到远程仓库 1.4 .gitignore文件的作用 二、本地仓库操作 2.1 将文件加入暂存区 2.2 将暂存区的文件提交到版本库 2.3 查看日志 三、远程仓库操作 3.1 查看和添加远程仓库 3.2 推送至远程仓…

fastcgi未授权访问漏洞(php-fpm fast-cgi未授权访问漏洞)

本文参考《Fastcgi协议分析 && PHP-FPM未授权访问漏洞 && Exp编写》进行该漏洞的复现以及分析。 1.前置基础 1.1 nginx中的fastcgi 先来看先前用过的一张图,其是nginx解析用户请求的过程。 图中的几个定义: CGI:CGI是一种…

1628_MIT 6.828 xv6_chapter0操作系统接口

全部学习汇总: GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 这本书最初看名字以为是对早期unix的一个解读,但是看了开篇发现 不完全是,只是针对JOS教学OS系统来做的一些讲解。 Xv6是对UNIX v6的重新实…

【Java 面试合集】Java中修饰符有哪些,有什么应用场景

Java中修饰符有哪些,有什么应用场景 1. 概述 首先我们要知道Java的三大特性:封装,继承,多态。 而我们今天要分析的修饰符就跟封装有着密切的联系。因为权限修饰符可以控制变量以及方法的作用范围。 废话不多说,上图…

Python推导式

列表&#xff08;list&#xff09;推导式 [remove for source in xx_list]或者[remove for source in xx_list if condition] 实例&#xff1a; names[Bob,Mark,Mausk,Johndan,Wendy] new_names[name.upper() for name in names if len(name)<5] print(new_names)即迭代列…

PC端开发GUI

PC端开发GUI PC端环境搭建1、Python2、PycharmPC端环境搭建 1、Python 注意Python版本不能超过3.9,因为pyqt-tools只维护到python对应的该版本 1.1、查找是否安装python:win+R,输入cmd回车,输入python或python -V或python --version 1.2、若1.1没有,则下载安装下载链接…

天津菲图尼克科技携洁净及无菌防护服解决方案与您相约2023生物发酵展

BIO CHINA 生物发酵产业一年一度行业盛会&#xff0c;由中国生物发酵产业协会主办&#xff0c;上海信世展览服务有限公司承办&#xff0c;2023第10届国际生物发酵产品与技术装备展览会&#xff08;济南&#xff09;于2023年3月30-4月1日在山东国际会展中心&#xff08;济南市槐…

亿级高并发电商项目-- 实战篇 --万达商城项目 二(Zookeeper、Docker、Dubbo-Admin等搭建工作

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是小童&#xff0c;Java开发工程师&#xff0c;CSDN博客博主&#xff0c;Java领域新星创作者 &#x1f4d5;系列专栏&#xff1a;前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶 &#x1f4…

第二章-进程(2)

进程一、进程的引入二、进程的状态及组成三、进程控制一、进程的引入 &#xff08;1&#xff09;程序的顺序执行: P1:axy P2:ba-5 P3:cb1 程序总是按照P1→P2→P3的顺序执行。 特点&#xff1a; 顺序性&#xff1a;处理机的操作严格按规定顺序执行。封闭性&#xff1a;程序执…

python(8):使用conda update更新conda后,anaconda所有环境崩溃----问题没有解决,不要轻易更新conda

文章目录0. 教训1. 问题:使用conda update更新conda后&#xff0c;anaconda所有环境崩溃1.1 问题描述1.2 我搜索到的全网最相关的问题----也没有解决3 尝试流程记录3.1 重新安装pip3.2 解决anaconda编译问题----没成功0. 教训 (1) 不要轻易使用conda update更新conda----我遇到…

[OpenMMLab]AI实战营第六节课

语义分割算法基础 任务&#xff1a;图像按照物体的类别分隔成不同区域&#xff0c;即将每个像素进行分类 应用&#xff1a;无人驾驶、医疗、人像、智能遥感 思路 基本思路&#xff1a;按照颜色区分 --> 逐像素分类&#xff08;滑动窗口&#xff0c;用CNN分类&#xff0c…

微搭低代码从入门到精通11-数据模型

学习微搭低代码&#xff0c;先学习基本操作&#xff0c;然后学习组件的基本使用。解决了前端的问题&#xff0c;我们就需要深入学习后端的功能。后端一般包括两部分&#xff0c;第一部分是常规的数据库的操作&#xff0c;包括增删改查。第二部分是业务逻辑的编写&#xff0c;在…

QT基础入门

学习视频&#xff1a;QT开发概述_哔哩哔哩_bilibili 1.QT开发概述 1.什么是QT QT是一个1991年由Qt Company开发的跨平台C图形用户界面应用程序开发框架。它既可以开发GUI程序&#xff0c;也可用于开发非GUI程序&#xff0c;比如控制台工具和服务器。Qt是面向对象的框架&#…

STC15单片机软串口的使用

STC15软串口的使用&#x1f4d6;在没有使用定时器资源的情况下&#xff0c;根据波特率位传输时间&#xff0c;利用STC-ISP工具自动计算出位延时函数。 ✨在官方所提供的库函数中位传输时间函数,仅适用于使用波特率为&#xff1a;9600的串口数据传输&#xff1a; void BitTime(…

Grafana 系列文章(十四):Helm 安装Loki

前言 写或者翻译这么多篇 Loki 相关的文章了, 发现还没写怎么安装 &#x1f613; 现在开始介绍如何使用 Helm 安装 Loki. 前提 有 Helm, 并且添加 Grafana 的官方源: helm repo add grafana https://grafana.github.io/helm-charts helm repo update &#x1f43e;Warning…

nacos的单机模式和集群模式

文章目录 目录 文章目录 前言 一、nacos数据库配置 二、单机模式 三、集群模式 四、使用nginx集群模式的负载均衡 总结 前言 一、nacos数据库配置 在数据库中创建nacos_config 编码格式utf8-mb4的数据库 把上面的数据库文件导入数据库 在 配置文件中添加如下 spring.datasour…

LINUX之链接命令

链接命令学习目标能够说出软链接的创建方式能够说出硬链接的创建方式1. 链接命令的介绍链接命令是创建链接文件&#xff0c;链接文件分为:软链接硬链接命令说明ln -s创建软链接ln创建硬链接2. 软链接类似于Windows下的快捷方式&#xff0c;当一个源文件的目录层级比较深&#x…

Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)

目录 1、Apache Shiro简介 2、漏洞原理 关键因素&#xff1a; 漏洞分析&#xff1a; 漏洞特征&#xff1a; 3、影响版本 4、漏洞复现 任意命令执行 GETSHELL 防御措施 1、Apache Shiro简介 Apache Shiro是一个Java安全框架&#xff0c;执行身份验证、授权、密码和会话…

深入解读.NET MAUI音乐播放器项目(一):概述与架构

系列文章将分步解读音乐播放器核心业务及代码&#xff1a; 深入解读.NET MAUI音乐播放器项目&#xff08;一&#xff09;&#xff1a;概述与架构深入解读.NET MAUI音乐播放器项目&#xff08;二&#xff09;&#xff1a;播放内核深入解读.NET MAUI音乐播放器项目&#xff08;三…