[自动驾驶算法][从0开始轨迹预测]:二、自动驾驶系统中常用的坐标系及相应的转换关系

自动驾驶中常见的坐标系与坐标转换

    • 1. 传感器坐标系
      • 1.1 相机坐标系统
        • 1) 相机相关基础知识
        • 2) 相机各坐标系
          • 图像/像素坐标系
          • 相机坐标系
          • 像平面坐标系
        • 3) 相机各坐标系之间的转换
          • 像平面坐标系到像素坐标系的转换(平移缩放变换)
          • 相机坐标系转像平面坐标系(透视变换):
          • 相机坐标系到像素坐标系
          • 世界坐标系到像素坐标系(旋转平移变换)
      • 1.2 激光雷达坐标系
      • 1.3 IMU坐标系
      • 1.4 GPS
      • 1.5 轮速计
    • 2. 车体坐标系
    • 3. 导航坐标系
    • 4. 世界坐标系
      • 4.1 地理坐标系(GCS)
        • 1. 地心地固坐标系(ECEF)
        • 2. 大地坐标系(LLA)
      • 4.2 投影坐标系
        • 1. 通用横轴墨卡托投影 UTM
        • 2. 网络墨卡托投影 Web Mercator
        • 3. UTM和Web Mercator的对比

写在前面:上一篇文章中,我们介绍了坐标转换的基础知识,接下来,我们将介绍由汽车的传感器到全局定位会涉及到的若干个坐标系统。


下图是自动驾驶系统中常见的坐标系统:

image-20240115150341004

​ 一般来说,典型的定位和建图场景情况,不同坐标系之间的关系如下:

环境传感器数据(如激光雷达,相机等)都是在其自身坐标系下测量得到的数据,包括状态测量传感器(如 IMU,轮速计),其测量得到的也是基于本身状态(虽然一般来说考虑 IMU 和编码器固连,可以认为这些传感器的状态和汽车本身的状态一致),因此需要将这些测量数据通过外参转化到车体坐标系下。

​ 传感器数据统一到车体坐标系后,通过不同的感知融合方式全局测量数据相比(在导航坐标系下或世界坐标系下)可以获取车辆在参考坐标系下的状态(定位),并且将传感器测量到的环境数据更新至参考坐标系中(建图),完成整体过程。在有绝对位置测量的情况下(经纬度),为了方便计算,一般先将其转换到投影坐标系下,且同样通过外参传递到车体坐标系下,和其他传感器数据进行融合,对融合完成后的位置同样通过相反过程,最后获得地理坐标系下的经纬度数据。

​ 在没有绝对测量值时可以将导航坐标系作为参考坐标系。而在有绝对测量值时,导航坐标系一般用来作为一个工具来计算周围特征之间的距离、角度等,相比于投影坐标系更加方便计算。

1. 传感器坐标系

​ 车载传感器都有其自身的坐标系,按照其测量原理可以分为相对测量(测量环境信息)绝对测量(测量自身信息)。相对测量的传感器如相机、激光雷达,他们是通过测量环境信息来进行间接定位,而绝对测量如 IMU、轮速计、GPS 则是通过直接测量自身的运动状态(速度、位置、姿态等)来进行定位。对于相对测量的传感器而言,其测量值通常是基于其自身传感器;而绝对测量的测量结果一般则是自身坐标系相对于其他坐标系(局部坐标系或世界坐标系等)的结果。下面对常见的测量传感器进行归纳。

1.1 相机坐标系统

摄像机/摄像头以其低廉的价格、丰富的图像信息,成为自动驾驶中最受人们关注的传感器之一。摄像头的作用是把三维世界中的形状、颜色信息,压缩到一张二维图像上。

基于摄像头的感知算法则是从二维图像中提取并还原三维世界中的元素和信息,如车道线、车辆、行人、异性障碍物等,并计算他们与自己的相对位置。

1) 相机相关基础知识

单反相机参数之ISO/焦距篇

景深概念与计算

光轴:一条垂直穿过理想透镜中心的光线。

焦点:与光轴平行的光线射入凸透镜时,理想的凸镜应该是所有的光线会聚在透镜后面一点上,这个会聚所有光线的一点,就叫做焦点。

焦距:一般指镜片的中心到焦点为止的光轴上的距离,入射平行光线(或其延长线)与出射会聚光线(或其延长线)相交,就能确定折射主面,这个想象的平面与镜头光轴相交处就是主点。改变物体在相机中的成像大小。
在这里插入图片描述在这里插入图片描述

光圈:光圈对照片的影响主要有两大项,一是镜头的进光量,二是相片的景深。光圈越大(f 值越小),景深越浅(前景/背景看上去就像化掉一样);光圈越小(f 值越大),景深越深(前景/背景看上去比较清楚)。镜头焦距确定了画面的取景范围,而光圈主要影响画面虚实。

景深: 是指在一幅图像中清晰的范围,景深的深浅主要取决于以下元素:镜头的光圈大小、镜头的焦距长短、摄影主体的远近、感光元件的大小

在这里插入图片描述

2) 相机各坐标系
图像/像素坐标系

电脑上存储的照片或图像,一般以图像的左上角为原点,像素坐标系 O u v O_{uv} Ouv,以向右为 x − u x-u xu正方向,向下为 y − v y-v yv正方向,以“像素”为单位。 u , v u,v u,v代表像素的行数和列数,无实际的物理单位。

相机坐标系

由于图像坐标系向右为 x x x,向下为 y y y,所以相机坐标系以镜头主光轴中心为原点,向右为x正方向,向下为y正方向,向前(景深方向)为z正方向。这样,x,y方向与图像/像素坐标系的方向吻合,z方向即为景深。

在这里插入图片描述

像平面坐标系

为了能够定量描述三维空间到二维图像的映射关系,图形学里引入了像平面坐标系。它是相机坐标系的一个平移,中心仍在摄像机主光轴上,距离光轴中心的距离等于摄像机的焦距 f f f ,根据小孔成像原理,相机会在光轴中心后方的底片上成一个缩小的倒像,是真正的像平面 X f ′ O f ′ Y f ′ X'_fO'_fY'_f XfOfYf。但是为了分析和计算方便,我们会在光轴中心前方设立一个虚拟像平面。虚拟像平面上的成像为正像,大小与真实倒像相同 X f O f Y f X_fO_fY_f XfOfYf

3) 相机各坐标系之间的转换
像平面坐标系到像素坐标系的转换(平移缩放变换)

假设 ( u 0 , v 0 ) (u_0,v_0) (u0,v0)代表像平面原点(焦点)在u-v坐标系下的坐标,dx和dy分别表示每个像素在像平面系下横轴x和纵轴y的物理尺寸;已知p点在像平面系下的坐标为 ( x , y ) (x,y) (x,y),那么 x d x \frac{x}{dx} dxx单位就是像素了。

在这里插入图片描述

u = x d x + u 0 v = y d y + v 0 [ u v 1 ] = [ 1 d x 0 u 0 0 1 d y v 0 0 0 1 ] [ x y 1 ] u = \frac{x}{dx}+u_0 \\ v = \frac{y}{dy}+v_0 \\ \left [ \begin{array}{} u \\v\\1 \end{array} \right] = \left [ \begin{array}{} \frac{1}{dx} & 0& u_0 \\0 & \frac{1}{dy} & v_0 \\ 0&0&1\end{array} \right]\left [ \begin{array}{} x\\y\\1 \end{array} \right] u=dxx+u0v=dyy+v0 uv1 = dx1000dy10u0v01 xy1

相机坐标系转像平面坐标系(透视变换):

对于成像物体上的点 P ( X , Y ) P(X,Y) P(X,Y),其在像平面上对应点 p ( x , y ) p(x,y) p(x,y),根据相似三角形原理,它们之间的坐标对应关系有:

在这里插入图片描述

f Z = x X = y Y x = f X Z , y = f Y Z [ x y 1 ] = 1 Z [ f 0 0 0 0 f 0 0 0 0 1 0 ] [ X Y Z 1 ] \frac{f}{Z} = \frac{x}{X} =\frac{y}{Y} \\ x=f\frac{X}{Z},y=f\frac{Y}{Z} \\ \left [ \begin{array}{} x \\y\\1 \end{array} \right] = \frac{1}{Z}\left [ \begin{array}{} f & 0& 0&0 \\0 & f & 0&0 \\ 0&0&1&0\end{array} \right]\left [ \begin{array}{} X\\Y\\Z\\1 \end{array} \right] Zf=Xx=Yyx=fZX,y=fZY xy1 =Z1 f000f0001000 XYZ1

相机坐标系到像素坐标系

由前面两小节的推导,我们已经知道由相机坐标系到像平面坐标系,再由像平面坐标系到像素坐标系的转换,则相机坐标系到像素坐标系的转换为:
[ u v 1 ] = 1 Z [ 1 d x 0 u 0 0 1 d y v 0 0 0 1 ] [ f 0 0 0 0 f 0 0 0 0 1 0 ] [ X Y Z 1 ] \left [ \begin{array}{} u \\v\\1 \end{array} \right] = \frac{1}{Z}\left [ \begin{array}{} \frac{1}{dx} & 0& u_0 \\0 & \frac{1}{dy} & v_0 \\ 0&0&1\end{array} \right]\left [ \begin{array}{} f & 0& 0&0 \\0 & f & 0&0 \\ 0&0&1&0\end{array} \right]\left [ \begin{array}{} X\\Y\\Z\\1 \end{array} \right] uv1 =Z1 dx1000dy10u0v01 f000f0001000 XYZ1

[ u v 1 ] = 1 Z [ f d x 0 u 0 0 0 f d y v 0 0 0 0 1 0 ] [ X Y Z 1 ] = 1 Z [ f x 0 c x 0 0 f y c y 0 0 0 1 0 ] [ X Y Z 1 ] = 1 Z K [ X Y Z 1 ] \left [ \begin{array}{} u \\v\\1 \end{array} \right] = \frac{1}{Z}\left [ \begin{array}{} \frac{f}{dx} & 0& u_0 &0 \\0 & \frac{f}{dy} & v_0 &0 \\ 0&0&1&0\end{array} \right]\left [ \begin{array}{} X\\Y\\Z\\1 \end{array} \right]=\frac{1}{Z}\left [ \begin{array}{} f_x & 0& c_x &0 \\0 & f_y & c_y &0 \\ 0&0&1&0\end{array} \right]\left [ \begin{array}{} X\\Y\\Z\\1 \end{array} \right] = \frac{1}{Z}\mathbf{K}\left [ \begin{array}{} X\\Y\\Z\\1 \end{array} \right] uv1 =Z1 dxf000dyf0u0v01000 XYZ1 =Z1 fx000fy0cxcy1000 XYZ1 =Z1K XYZ1

其中 K \mathbf{K} K​为相机的内参矩阵,由fx 和 fy:焦距,用像素表示。fx 是 x 轴方向的焦距,fy 是 y 轴方向的焦距。cx 和 cy:是图像的主点坐标,也就是图像中心的像素坐标。

世界坐标系到像素坐标系(旋转平移变换)

见上一篇坐标变换~

1.2 激光雷达坐标系

激光雷达可以分为 2D 和 3D,每一帧信息为一帧点云。点云中的每个点可以表示为极坐标(距离和角度)或者笛卡尔坐标(x, y, z)形式,该坐标系是在激光雷达坐标系下。激光雷达坐标系方向因具体型号而异,一般来说平放的情况下,Z 轴和激光雷达旋转轴重合指向上,XY 平面和地面平行,以下为 Ouster OS-1-64 的坐标系示意图:
在这里插入图片描述
在这里插入图片描述

1.3 IMU坐标系

和相机、激光雷达不同,IMU,GPS和轮速计等不采集环境信息,而是通过不同原理直接对传感器本身的状态进行测量。IMU 的测量原理可以参考我之前写的博客:IMU 测量模型。

IMU 加速度计和陀螺仪的测量值分别为 IMU 坐标系相对于惯性系的加速度和角速度。惯性系的选择随使用场景和精度要求不同可以有不同选择,对于小范围短时间内的定位可以近似认为局部坐标系为惯性系,这样解算载体状态较为简单,对于大范围长时间且要求精度高的场合可以选择世界坐标系(如下文提到的 ECEF 坐标系)为惯性系,此时解算载体状态需要考虑地球自转速度、载体所在高度等信息,计算相对较为复杂。

1.4 GPS

GPS 自身没有坐标系,它测量的是载体在世界坐标系(WGS84)下的坐标值。由经度和纬度组成。

1.5 轮速计

轮速计通常没有自身的坐标系,单个编码器的测量值为该轮的转速。通过两个轮子上编码器结合查分模型可以得到两轮连线中心的切向速度。如下图所示:

在这里插入图片描述

2. 车体坐标系

​ 车体坐标系用来描述车辆周围的物体和本车之间的相对位置关系。目前学术界和工业界有几种比较常用的车体坐标系定义方式。分别是ISO国际标准定义,SAE(Society of Automotive Engineers)汽车工程协会定义,和基于惯性测量单元IMU的坐标定义。

ISO定义SAE定义IMU定义
X正方向
Y正方向
Z正方向
横滚正方向向右向右向右
俯仰正方向向下向上向下
偏航正方向逆时针顺时针(-pi,pi)逆时针
中心/原点车辆重心/后轴中心车辆重心/后轴中心IMU位置
右手坐标系是(perception)是(OBF radar)

​ 在车辆动力学分析中,ISO定义的车体坐标系较为常见。SAE定义的车体坐标系与航空航天领域常用的集体坐标系相一致。基于IMU定义的车体坐标系,则在IMU的相关应用中较为常见。无论使用哪一种坐标系定义,都可以完成对车身位姿的描述,以及确定周围物体和本车间的相对位置关系。

3. 导航坐标系

自动驾驶中里程计会追踪汽车在连续时刻中的运动,从而引出导航坐标系的概念。导航坐标系一般固定在汽车起始时刻的位置。在能够对齐重力(有 IMU 等惯性传感器)的情况下,方向一般有两种,分别为 ENU(东-北-天)或者 NED (北-东-地),如果不能够对齐重力,则方向为汽车坐标系的初始姿态。里程计测量出来的汽车的位姿为在导航坐标系下的位姿。相对于世界坐标些而言,可以将其视为一个局部坐标系。

在小范围下,通过固定一个初始点 (tie point),通过计算经纬度之间的距离可以作为局部的笛卡尔坐标系使用。但是由于这种方式忽略了地球本身的曲率,因此只适用于较小范围,地球曲率可以忽略的区域的计算(通常小于 4km),但超过一定范围后变形会非常明显。此时如果想要控制物体结构的变形,可以考虑使用下面提到的针对地球球面提出的投影坐标系。

4. 世界坐标系

实际情况中,自动驾驶汽车可能会多次经过同一区域进行定位和建图。导航坐标系的原点每次都不一致,对于相同的场景,导航坐标系表现的结果也是不一致的。因此需要有全局测量获得汽车在地球上的绝对位置,从而引出世界坐标系的概念。世界坐标系通常囊括整个地球范围,且原点固定在地球某处(地心),按其形式有地心坐标系和笛卡尔坐标系。由于地球本身是一个(椭)球体,因此从地心坐标系转换到笛卡尔坐标系需要遵循某种投影方式,中间会涉及到失真和变形的问题。

4.1 地理坐标系(GCS)

1. 地心地固坐标系(ECEF)

地心地固坐标系(Earth-Centered,Earth-Fixed,ECEF)原点为地球质心,x 轴指向本初子午线与赤道的交点, y 轴垂直于xOz平面(即东经90度与赤道的交点), z 轴指向北极点,它和导航坐标系(以 ENU 为例)的关系如下图所示:

在这里插入图片描述

2. 大地坐标系(LLA)

由于地球表面本身是个椭球面,因此用 ECEF 来描述地理位置不太直观。因此除了用笛卡尔坐标系描述以外,还可以用大地坐标系来描述某个点在地球上的位置。从上图中可以看出,要定位一个点在地球上的位置,有两种参数化方法,一种是使用 ECEF 系下的 x , y , z x,y,z x,y,z 坐标来描述,另一种是使用大地坐标系下的 λ , ϕ , h \lambda,\phi,h λ,ϕ,h来描述,这种方法就是我们常用的经纬度(和高度)描述法。目前使用的标准为 WGS-84。

4.2 投影坐标系

由于地球表面是曲面,对于 ECEF 和 LLA 坐标系,都不方便计算两个点沿地球表面的距离,因此在可视化以及建图定位时,常需要将地球投影到一个 2D 平面上,因此引入投影坐标系的概念。这里介绍两种投影坐标系。

1. 通用横轴墨卡托投影 UTM

UTM 投影的原理可以参考:聊聊GIS中的坐标系|再版。UTM 坐标将地球分为 60 个经度区和 20 个纬度区。在 UTM 系下,地球上的每个点都可以通过四个参数确定位置:经度带号、维度带号、该点距该经度区中心子午线的投影距离以及该点距赤道的投影的距离。如下图所示:

在这里插入图片描述

2. 网络墨卡托投影 Web Mercator

Web Mercator 投影的原理可以参考:Web Mercator 公开的小秘密。Web Mercator 能够将经纬度投影为两个 X/Y 坐标。

3. UTM和Web Mercator的对比

UTM 投影的思路是按经度进行分带,以若干条经线为中心左右 3° 或 6°进行投影。由于是横轴投影,因此可以保证中央的经线不会发生变形,离中央经线越远的地方变形程度越高。且纬度越高,横向的变形程度越大。

Web Mercator 为纵向投影,在南极和北极等高纬度有一部分无法被投影。可以按不同缩放比例,将地图投影到若干个瓦片,相比于 UTM 投影,其坐标是连续的,原点为本初子午线和赤道的交点,向东向北为正,向西向南为负。投影过程中纵向和横向都会发生变形,在高纬度地区尤其明显(对比格林兰岛和非洲的面积),但由于变形比例类似,因此可以保持物体的形状的发生不变。

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

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

相关文章

2024.1.16 用户画像day01 - 项目介绍

目录 一. 项目介绍 整体流程: 项目建设目的: 学习安排: 技术选型: 技术架构: 项目架构: 二 . 名词解释 一. 项目介绍 整体流程: 项目介绍-elasticSearch-业务数据源导入-离线指标开发-Flume实时采集-Nginx日志埋点数据- 结构化流实时指标 - 制作报表 数仓开发用户画像…

贵阳贵安推进“数字活市”战略成效明显

作者:黄玉叶 近年来,贵阳贵安将数字经济确立为高质量发展的主路径之一,把推进“数字活市”作为实施主战略、实现主定位,特别是建设“数字经济发展创新区核心区”的重要抓手,从改革、发展、民生三个维度纵深推进“数字活…

中国聚氨酯弹性体行业研究与投资战略报告(2024版)

内容简介: 聚氨酯弹性体广泛应用于钢铁、造纸、印刷等,另外还用于各种胶轮、传送带、耐水耐压胶管、密封条和密封圈、电缆护套及各种薄膜等,主要分浇注型(CPU)和热塑型(TPU)及混炼型3种&#x…

1、NumPy简介:开启Python科学计算之旅

目录 什么是 NumPy? 为什么要使用 NumPy? 安装和设置 NumPy 环境 开始使用 NumPy 在数据科学、人工智能和科学计算的世界中,Python 已经成为了一种主流的编程语言。这一现象的背后,有一个非常重要的推手,那就是 Nu…

openssl3.2 - 官方demo学习 - kdf - hkdf.c

文章目录 openssl3.2 - 官方demo学习 - kdf - hkdf.c概述笔记END openssl3.2 - 官方demo学习 - kdf - hkdf.c 概述 设置摘要算法HKDF的参数, 然后取key 笔记 /*! \file hkdf.c \note openssl3.2 - 官方demo学习 - kdf - hkdf.c 设置摘要算法HKDF的参数, 然后取key *//** C…

【FPGA Modsim】 抢答器设计

实验题目: 抢答器设计 实验目的: 掌握应用数字逻辑设计集成开发环境进行抢答器设计的方法;掌握时序逻辑电路设计的过程。 实验内容: 1、设计支持3名参赛者的…

详解SpringCloud微服务技术栈:Nacos配置管理

👨‍🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:详解SpringCloud微服务技术栈:Nacos服务搭建及服务分级存储模型 📚订阅专栏:微服务技术全家桶…

泛微与用友NCC的无缝对接,释放企业运营潜能!

客户介绍 某科技股份有限公司作为一家在金融科技行业有着20余年经验的公司,见证了金融科技行业的电子化、信息化、移动化和数字化的发展进程。该公司致力于为金融机构提供领先的产品和专业化服务,其业务涵盖应用软件开发、系统集成、IT服务和IT咨询服务…

在线录屏-通过Web API接口轻松实现录屏

在线录屏是指在互联网上进行屏幕录制的过程。它允许用户通过网络连接,将自己的屏幕活动记录下来,并可以在需要时进行播放、共享或存档。在线录屏常用于教育、培训、演示、游戏等场景,可以帮助用户展示操作步骤、解决问题、分享经验等。通常&a…

Odrive 学习系列三:在odrive工程中添加SEGGER RTT 日志输出功能

一、背景: 对于嵌入式来讲,有个日志输出真真真真的太重要啦! SEGGER JLink自带的RTT日志输出对于老嵌入式而言更是开发利器。 Odrive本身的工程是不带这个功能的,尽管使用stlink可以查阅寄存器等,但感觉还是差了点意思。因此在本系列第二节的基础上,希望能给Odrive工程添…

【昕宝爸爸小模块】深入浅出之JDK21 中的虚拟线程到底是怎么回事(一)

➡️博客首页 https://blog.csdn.net/Java_Yangxiaoyuan 欢迎优秀的你👍点赞、🗂️收藏、加❤️关注哦。 本文章CSDN首发,欢迎转载,要注明出处哦! 先感谢优秀的你能认真的看完本文&…

016-Vue-黑马2023:前后端分离开发:在线接口文档,前端工程化、Element、nginx

第三节 前后端分离开发 1、介绍 开发模式 前后端混合开发:传统开发模式 前后端分离开发:当前最为主流的开发模式 页面原型需求案例:分析出接口文档 离线开发文档示例: 2、YAPI 在线接口文档管理平台: 介绍…

VPC网络和经典网络哪个好?VPC网络和经典网络的区别

VPC网络和经典网络哪个好?VPC网络和经典网络的区别 随着云计算技术的不断发展,越来越多的企业和个人开始使用云服务器来托管自己的应用程序和网站。在使用云服务器时,用户需要选择网络类型其中包括VPC网络和经典网络。那么VPC网络和经典网络哪…

05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域

01-函数的介绍 """ 演示:快速体验函数的开发及应用 ​ """ #需求,统计字符串的长度,不使用内置函数len() str1 "itheima" str2 "itcast" str3 "python" ​ #定义一个技术的变…

解决Win11安装打印机修复补丁,连接共享打印机依然错误的方法

问题原因:Win11最新安全共享策略导致! 解决方案:按照下面步骤操作绕过Win11最新安全共享策略。 点击Win图标,在开始菜单选择设置。 选择蓝牙和其他设备,选择打印机和扫描仪。 点击添加设备, 点击手动添加。…

Java实现手机号码归属地查询

前言 接到一个需求&#xff0c;获取手机号码的归属地。这里记录一下&#xff0c;我们可以使用com.googlecode.libphonenumber的geocoder来获取手机号码归属地 1、添加依赖 <!--根据手机号查询归属地 --><dependency><groupId>com.googlecode.libphonenumbe…

HubSpot电子邮件自动回复怎么设置?附注意事项!

HubSpot 提供了电子邮件自动回复的功能&#xff0c;使得企业能够更高效地管理和处理电子邮件通信。以下是关于 HubSpot 电子邮件自动回复的一些重要信息和步骤&#xff1a; 设置电子邮件自动回复的步骤&#xff1a; 登录HubSpot账户&#xff1a; 打开 HubSpot 平台并登录你的账…

基于SSM的戏剧推广网站的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue、HTML 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是…

x-cmd pkg | smartctl - 用于监测和分析硬盘的工具

目录 简介首次用户功能特点竞品和相关作品进一步阅读 简介 smartctl 是一个用于监测和分析硬盘中 S.M.A.R.T.&#xff08;自我检测&#xff0c;分析和报告技术&#xff09;信息的命令行工具&#xff0c;是 Smartmontools 的一部分。通过 smartctl 工具&#xff0c;可以分析各种…

IDEA中如何让包名一层层展开的设置

在开发过程中&#xff0c;发现新下载的一个项目在打开时候&#xff0c;呈现的包是没有一层一层展开的&#xff0c;是平铺在idea中的&#xff0c;截图如下&#xff1a; 设置方法&#xff1a; 打开options的小图标 在treeAppear中的Flatten packages的对号取消掉取消之后的效果…