Lidar-SLAM的历史与现状

文章:LiDAR-based SLAM for robotic mapping: state of the art and new frontiers

作者:Xiangdi Yue and Miaolei He

编辑:点云PCL

欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。未经博主同意请勿擅自转载。

公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

在过去的几十年里,机器人地图学领域在基于激光雷达(Light Detection And Ranging,LiDAR)的同时定位与地图构建(SLAM)技术方面经历了广泛的研究和发展。本文旨在为机器人地图学领域的研究人员和工程师提供一个重要的参考。本文侧重于从各种LiDAR类型和配置的角度,对基于LiDAR的SLAM技术在机器人地图学中的研究现状进行调查。对基于三种不同LiDAR形式和配置的SLAM系统进行了全面的文献综述。我们得出结论,基于3D LiDAR的多机器人协作地图构建和多源融合SLAM系统,结合深度学习,将是未来的新趋势。就作者所知,这是第一次从各种LiDAR类型和配置的角度对机器人地图学进行了深入的调查,它可以作为学术和工业机器人地图发展的理论和实践指南。

介绍

LiDAR-based SLAM的发展历史如图1所示。LiDAR-based SLAM的发展历史。在经典时期,过滤方法是解决SLAM问题的主要方式。为了在贝叶斯网络中解决SLAM,过滤算法必须实时收集每一时刻的信息并将其划分到贝叶斯网络的概率分布中。这种过滤方法代表了一种在线SLAM系统,显然会产生重大的计算开销,并且只能生成小规模的地图。为了进行大规模的建图,已经提出了一种解决在因子图中解决SLAM的优化策略。优化方法是过滤方法的逆过程,它仅累积获取的信息并使用在所有先前实例中累积的全局信息离线计算机器人的轨迹和路径点。换句话说,优化方法是一个完整的SLAM系统。随着计算机性能和数学能力的大幅提高,基于优化的方法已成为当代SLAM研究的主要焦点。

图片

图1. 基于LiDAR的SLAM发展历史

滤波方法是在经典时期解决SLAM问题的主要途径。为了在贝叶斯网络中解决SLAM问题,滤波算法必须在实时的每一时刻收集信息并将其划分到贝叶斯网络的概率分布中。这种过滤方法代表了一种在线SLAM系统,显然会产生显著的计算开销,并且只能在小范围内生成地图。针对大规模制图,已经提出了一种在因子图中解决SLAM的优化策略。优化方法是过滤方法的反向,仅累积获取的信息,并使用在所有先前实例中积累的全局信息离线计算机器人的轨迹和航点。换句话说,优化方法是一个完整的SLAM系统。随着计算机性能和数学能力的巨大提升,基于优化的方法已成为当代SLAM研究的主要关注点。如图2所示,LiDAR-based SLAM系统概览。

图片

图2. 基于LiDAR的SLAM系统概览

LiDAR里程计 

LiDAR里程计的目的是通过在两个相邻的点云帧之间创建运动的估计来生成局部地图,LiDAR里程计根据点云配准方法分为三种类型:基于点的配准、基于点分布的配准和基于特征的配准。

基于点的点云配准通过最直接的方式找到目标和参考点云之间的对应关系,识别参考点云中对应点的简单方法是找到与之具有最短欧几里德距离的点,即迭代最近点。Besl提出了一种通用的、不依赖于表示的方法,用于基于迭代最近点(ICP)算法的三维形状的准确而高效的配准,该算法确定了具有最小平方距离的点对点对应关系的最佳欧几里德变换。

与点云配准不同,基于分布的配准方法将点云空间转换为具有连续概率密度函数的体素。将目标点云的连续概率密度函数与参考点云匹配可优化姿态连接。2003年,Biber首次展示了一种称为正态分布变换(NDT)的范围扫描的替代表示方法。与占用栅格类似,Biber将2D平面划分为单元格,对于每个单元格,分配了一个正态分布,它在局部建模了测量点的概率。ICP和NDT的概念基于点云的直接配准,这种直接配准的方法耗时且难以实时提供。因此,Zhang提出了LOAM来执行两个相邻帧的点云配准,通过提取几何特征提高了系统的效率并增强了配准精度。

回环闭合检测

全局数据关联通过识别机器人是否已经到达其在历史瞬间到达的位置,从而生成全局一致的地图,以纠正累积的错误,回环闭合检测通常有两个步骤:(1)使用位置识别找到与当前观察类似的数据库中的点。(2)姿势图优化纠正估计的回环位姿。使用LiDAR检测环路闭合的方法可以进一步分为两种方法:基于局部描述符和基于全局描述子。

图优化 

LiDAR的累积误差使得长时间建图不准确,然而LiDAR里程计可以快速产生轨迹和地图。因此为了使用LiDAR里程计确定长时间的理想路线和地图,必须创建一个大规模的优化问题。图优化是通过结合每个雷达帧的姿势和帧间运动约束来实现整体优化的方法。它有助于消除大规模建图中的局部累积误差,并优化轨迹。

LiDAR-based SLAM系统

我们将对基于三种不同LiDAR形式和配置的LiDAR-based SLAM系统进行全面的文献综述,包括(1)基于2D LiDAR的SLAM系统;(2)基于3D LiDAR的SLAM系统;以及(3)基于旋转shiLiDAR的SLAM系统。

基于2D LiDAR的SLAM系统

单线LiDAR由单线激光模块和旋转机构组成,单线LiDAR的扫描点通常在同一平面的360度范围内,即环境特定横截面的轮廓。因此,它也被称为2D LiDAR,与三维点云相比,2D LiDAR-based SLAM是一种顶视LiDAR SLAM算法,这简化了激光扫描并将数据建图到二维,它类似于图像。二维SLAM可以使用图像特征提取和匹配算法将地图保存为图像。室内扫地机器人、服务机器人和自动导引车主要使用基于2D LiDAR的SLAM。

2002年,Montemerlo提出了FastSLAM算法,该算法使用粒子滤波器和卡尔曼滤波器分别估计机器人姿势和位置地标。GMapping算法框架基于RBPF(Rao-Blackwellized Particle Filter)算法,该算法首先定位,然后建图。Konolige于2010年开发了Karto SLAM算法,这是第一个开源的图优化算法。为了解决稀疏解耦,它采用了高度方向优化和非迭代平方根分解。但是该算法必须在回环闭合检测部分事先构建一个局部子地图。Hector SLAM算法的框架基于Gauss-Newton,该算法不依赖里程计,适用于空中或不平坦的道路条件。然而当机器人迅速转向时,容易出现匹配错误,而且没有回环闭合检测模块。2016年,Google推出了Cartographer,这是一个配备传感器的背包,可以在室内实时生成分辨率为r = 5厘米的2D网格地图。该算法通过相关扫描帧与梯度优化相结合完成前端匹配,并使用深度优先分支和界限搜索算法计算回环闭合检测。Macenski构建了一个名为SLAM Toolbox的2D SLAM工具集,为同步和异步地图模式、定位、多会话建图、图优化、减少计算时间以及原型终身和分布式建图应用提供了一套工具和功能。表1总结了2D LiDAR-based SLAM系统的全球研究现状。

图片

基于3D LiDAR的SLAM系统 

2D LiDAR只能扫描同一平面上的障碍物信息,即环境横截面的轮廓,因此从扫描中提取的信息极为有限。多线LiDAR,也称为3D LiDAR,通过与旋转机构配合,同时发射多束激光束在垂直方向上,能够扫描多个横截面的轮廓。由于其能够提供丰富的关于周围环境的点云信息,3D LiDAR-based SLAM广泛应用于室外移动机器人和自动驾驶领域。根据不同的框架,3D LiDAR-based SLAM领域可以进一步分为两种不同的方案:基于滤波器的和基于图优化的。表2总结了全球3D LiDAR-based SLAM系统的研究现状。

图片

图片

基于滤波器的SLAM系统 

LINS是一种用于实时自我运动估计的轻量级LiDAR-惯性状态估计器,通过紧密耦合6轴IMU和3D LiDAR,它实现了在具有挑战性的环境中(如无特征的场景)对地面车辆进行稳健而高效的导航。在该系统中开发了迭代误差状态卡尔曼滤波器(iESKF),通过在每次迭代中生成新的特征对应关系来重复校正近似状态,同时保持系统的计算可访问性。香港大学提出了FAST-LIO2,它基于第二代FAST-LIO,后者也基于iESKF。在滤波器设计方面,FAST-LIO2和LINS相当,但卡尔曼增益的计算不同。此后不久高根据FAST-LIO2开发了Faster-LIO。该算法相对于FAST-LIO2的优势在于,在保持准确性的同时实现更大的算法效率。这主要归因于使用iVox(增量体素)数据结构来维护局部地图,可以有效地减少点云配准时间而不影响里程仪的精度。该工作目前与机械和固态LiDAR兼容。Gilmar提出了EKF-LOAM,这是一种增强的3D LiDAR-based SLAM策略,将轮式里程和IMU整合到SLAM过程中。Yuan提供了VoxelMap,这是一种用于LiDAR里程的高效且概率自适应的体素建图方法。地图由体素组成,每个体素包含一个单一的平面特征,允许对环境进行概率表示并精确注册新的LiDAR扫描。Point-LIO是一种具有强韧性和高带宽的光学雷达惯性里程法,具有估计极端激进机器人运动能力。Shi提出了Inv-LIO1,这是一种机器中心的不变EKF LiDAR-惯性里程法。该系统直接使用不变的观察者设计和Lie群理论融合LiDAR和IMU测量。 

基于图优化的SLAM系统 

Shan介绍了LeGO-LOAM算法,用于实时的六自由度地面车辆姿态估计,Jens构建了一个基于surfel的地图,并通过利用当前扫描与surfel地图的渲染模型之间的投影数据关联来估计机器人的姿态变化。Koide描述了一种基于三维LiDAR的便携式人行为测量系统。该系统在估计三维环境地图中的目标人物位置的同时,估计了传感器的姿态。Shan提出了LIO-SAM,它基于LeGO-LOAM,通过紧密耦合LiDAR和IMU。LIO-SAM仅使用滑动窗口优化IMU的偏差。然后,它使用附加的后端将IMU预积分因子,LiDAR里程计因子,GPS因子和回环检测因子放入一个因子图优化模型中,以进行联合优化,以获得机器人的全局一致姿态。在视觉SLAM中,局部关键帧滑动窗口上的局部捆绑调整(BA)经常用于减小漂移。因此,Liu将LiDAR BA制定为将特征点到其匹配的边缘或平面的距离最小化的过程。这种方法可以大大减小优化规模,并允许使用大规模密集的平面和边缘特征。Wang提出了F-LOAM,这是一种非迭代的两阶段畸变补偿方法,用于减小计算成本并为LiDAR-based SLAM提供计算效率高且准确的框架。Guo提出了E-LOAM(LOAM with Expanded Local Structural Information),该算法在预先提取的几何特征点周围添加了局部点云信息。Wang介绍了D-LIOM,这是一种紧耦合的直接LiDAR-惯性里程和建图架构。D-LIOM立即将扫描帧配准到概率子地图,并集成了LiDAR里程计,IMU预积分和重力约束,以生成子地图时间窗口内的局部因子图,用于实时高精度姿态估计。ARTSLAM(Accurate Real-Time LiDAR SLAM)是一种用于批处理和在线估计的模块化、快速而准确的LiDAR SLAM系统。使用三阶段算法,该系统能够高效地检测并关闭轨迹中的回环。Andrzej提出了LOCUS 2.0,这是一种用于实时地下3D建图的稳健且计算高效的LiDAR里程计系统。

旋转驱动的LiDAR-based SLAM系统 

机械LiDAR的水平视场(FOV,视野)为360°,但垂直FOV受到限制,固态LiDAR具有宽广的垂直视野,但水平视野较小。现有研究通常采用多LiDAR方案或旋转驱动LiDAR方法来增强LiDAR的视野,但前者成本过高,因此后者是主流趋势。旋转驱动的LiDAR-based SLAM系统主要用于需要全景扫描覆盖的应用,包括测绘建图,地下探测等。

Zhen提出了一个统一的建图框架(UMF),支持多种LiDAR类型,包括(1)固定的3D LiDAR和(2)旋转的3D/2D LiDAR,定位模块利用误差状态卡尔曼滤波器(ESKF)和高斯粒子滤波器(GPF)的组合来估计先验地图内的机器人状态。Mojtaba提出了LoLa-SLAM,这是一种基于LiDAR扫描分割和并发匹配的低延迟LiDAR SLAM框架。该框架使用旋转驱动的LiDAR的分割点云数据在并发多线程匹配中,以高更新率和低延迟估计6D姿态。Chen开发了R-LIO(旋转LiDAR惯性里程计),这是一种将旋转驱动的3D LiDAR与IMU集成的新型SLAM算法。R-LIO能够进行高精度、实时的位置估计和地图构建。Milad介绍了Wildcat一种弹性而稳健的在线3D LiDAR-based SLAM系统。Wildcat的核心使用了连续时间轨迹表示和一个高效的姿态图优化模块,支持单一和多智能体场景。Chanoh提出了一种新颖的基于旋转驱动的3D LiDAR的以地图为中心的SLAM框架。具有以地图为中心的方法的优点,该方法展示了克服与多模态传感器融合和LiDAR运动失真相关的现有系统缺陷的新特性。Wang提出了在线多校准惯性测距计(OMC-SLIO)用于SLiDAR(旋转LiDAR),该方法在线估计LiDAR、旋转机构、IMU和里程计状态的多个外参。Yan介绍了Spin-LOAM,一种紧密耦合的基于旋转驱动的3D LiDAR的SLAM算法。它采用了自适应扫描累积方法,分析特征点的空间分布以提高匹配的准确性和可靠性。Chen展示了飞行驱动超欠驱动LiDAR感知飞行机器人(PULSAR),这是一种自旋、灵活的无人机(UAV),其三维位置完全由激活一个电机产生所需的推力和力矩来控制。表3总结了旋转驱动LiDAR-based SLAM系统的国际研究现状。

图片

挑战 

地图质量将直接影响后续高级任务,如决策和规划。其中用于制图的LiDAR-based SLAM是一项经过深入研究的成熟技术,虽然LiDAR-based SLAM相关工作在过去几十年取得了显著进展,但仍然存在许多需要解决的挑战和问题。回顾最近LiDAR-based SLAM在机器人制图方面的进展,以下将讨论机器人制图中挑战和未来研究方向的几个方面。 

退化环境中的LiDAR-based SLAM,隧道、桥梁和长廊是典型的退化环境,其中没有几何元素,相同环境和对称结构。LiDAR-based SLAM系统无法在退化环境中估计完整的机器人6自由度运动。在退化环境中的LiDAR-based SLAM代表了一个重大挑战。 

动态环境中的LiDAR-based终身SLAM。所有LiDAR-based SLAM技术都在假设环境是静态的情况下运行。在动态环境条件下,例如当机器人正在创建地图时,某个地方存在物体。当机器人使用先前的地图定位时,物体消失,导致自主定位的失败。使用LiDAR进行终身映射可以解决在动态环境中进行制图的问题。 

大规模环境中的LiDAR-based SLAM。面对大规模环境制图需求,使用LiDAR-based SLAM方案进行多机器人协作制图可以解决单机器人SLAM面临的计算负担、全局误差积累和风险集中等问题。

多源融合增强LiDAR-based SLAM。基于3D LiDAR的多源融合SLAM系统是另一个研究热点。考虑到单一传感器如LiDAR、相机和IMU的不准确性和脆弱性,研究人员越来越多地开发了多源融合SLAM解决方案。 

深度学习增强的LiDAR-based语义SLAM。对LiDAR-based SLAM系统进行深度学习增强的广泛研究已经进行。深度学习与LiDAR-based SLAM在机器人制图中的结合也将是未来的潜在研究趋势,高级语义信息辅助的LiDAR-based SLAM已经成为机器人制图中的一项基本工具。

总结

本文从各种LiDAR类型和配置的角度,聚焦于LiDAR-based SLAM在机器人制图中的研究状态。首先,从历史的角度回顾了SLAM的起源,通过比较和分析基于过滤方法的经典SLAM的特征,提出了基于优化方法的现代SLAM系统框架。随后对LiDAR-based SLAM系统在三种不同的LiDAR形式和配置中进行了广泛的文献综述。与三维点云相比,基于2D LiDAR的SLAM是一种俯视的LiDAR SLAM方法。大多数室内扫地机器人、服务机器人和AGV使用基于2D LiDAR的SLAM。多线LiDAR,也称为3D LiDAR,使您能够同时扫描多个横截面的轮廓。如今基于3D LiDAR的SLAM广泛应用于室外移动机器人和自动驾驶领域。总体而言以旋转驱动的LiDAR-based SLAM系统主要用于需要广角扫描覆盖的任务,如测绘和制图、地下探索等。

资源

自动驾驶及定位相关分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

高速场景下自动驾驶车辆定位方法综述

Patchwork++:基于点云的快速、稳健的地面分割方法

PaGO-LOAM:基于地面优化的激光雷达里程计

多模态路沿检测与滤波方法

多个激光雷达同时校准、定位和建图的框架

动态的城市环境中杆状物的提取建图与长期定位

非重复型扫描激光雷达的运动畸变矫正

快速紧耦合的稀疏直接雷达-惯性-视觉里程计

基于相机和低分辨率激光雷达的三维车辆检测

用于三维点云语义分割的标注工具和城市数据集

ROS2入门之基本介绍

固态激光雷达和相机系统的自动标定

激光雷达+GPS+IMU+轮速计的传感器融合定位方案

基于稀疏语义视觉特征的道路场景的建图与定位

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)

用于三维点云语义分割的标注工具和城市数据集

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

TOF相机原理介绍

TOF飞行时间深度相机介绍

结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案

开源又优化的F-LOAM方案:基于优化的SC-F-LOAM

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

易扩展的SLAM框架-OpenVSLAM

基于鱼眼相机的SLAM方法介绍

图片

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入知识星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享与合作:微信“cloudpoint9527”(备注:姓名+学校/公司+研究方向) 联系邮箱:dianyunpcl@163.com。

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

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

相关文章

岚图追光PHEV 25.28万元起售,开卷混动豪华轿车

作者|Amy 编辑|德新 12月5日晚,2023岚图科技日上,岚图汽车正式发布了其新一代SOA电子电气架构天元架构,并宣布了以“新行政电动旗舰”为定位的岚图追光PHEV正式上市。 岚图追光PHEV是岚图汽车旗下首款电混轿车&#x…

Selenium 中并行测试的重要性!

随着技术的进步,测试解决方案变得更具可扩展性,加速了团队从手动测试到Selenium测试自动化的转型。但是成年人的世界,没有什么是容易的。对于许多团队来说,并行运行多个测试仍然是不可扩展的。他们倾向于遵循传统的顺序执行测试方…

kubeadm快速搭建k8s高可用集群

1.安装及优化 1.1基本环境配置 1.环境介绍 (1).高可用集群规划 主机名ip地址说明k8s-master01192.168.2.96master节点k8s-master02192.168.2.97master节点k8s-master03192.168.2.98master节点k8s-node01192.168.2.99node节点k8s-node02192.168.2.100n…

大师学SwiftUI第18章Part3 - 自定义视频播放器

视频 录制和播放视频对用户来说和拍照、显示图片一样重要。和图片一样,Apple框架中内置了播放视频和创建自定义播放器的工具。 视频播放器 SwiftUI定义了​​VideoPlayer​​视图用于播放视频。该视图提供了所有用于播放、停止、前进和后退的控件。视图包含如下初…

SM37 Cancel Logon of user DDIC in client 200 failed when starting a step

一、前言 在执行MDGIMG 调整了模型的映射的时候,需要在同一个环境的 不同Client分别创建一个SM37的后台Job,我在执行NWBC的时候报错,发现MDG创建物料的流程用不了,发现是SM37的Job被取消了,报错是 Logon of user DDI…

保安工程服务公司【荣志集团】申请718万美元纳斯达克IPO上市

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,总部位于香港的保安工程服务公司荣志集团控股有限公司(SU Group Holdings Ltd)近期已向美国证券交易委员会(SEC)提交招股书,申请在纳斯达…

12 月版的 Java Annotated Monthly

本心、输入输出、结果 文章目录 12 月版的 Java Annotated Monthly前言Java 新闻使用 Gatherers 实现更好的 Java 流 – Inside Java Newscast #57Java 21 的新功能GPU 上的 Java 以下是本月针对 JDK 22 的新 JEP 候选者和 JEP 列表Java 教程和技巧框架、库相关花有重开日&…

2023五岳杯量子计算挑战赛APMCM亚太地区

问题一要求在特定区域内部署两个边缘服务器,以便根据计算需求分布覆盖最大的计算需求。每个边缘服务器都有一个覆盖半径为1。目标是确定两个边缘服务器的位置,以覆盖最大的计算需求。假设边缘服务器的位置位于网格的中心,每个网格内的计算需求…

案例058:基于微信小程序的智能社区服务系统

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

Python脚本模拟真实设备刷视频播放量、浏览量

简述 Python3脚本刷视频播放量 前情提示 系统:centOS7,8阿里云一折优惠云小站_专享特惠_云产品推荐-阿里云 宝塔8.x 一说 部分截图、链接等因过期、更换域名、MD语法等可能不显示,可联系反馈(备注好博文地址),谢谢❤带有#号、删除线、不操作、不执行字样的为提示或者…

半导体划片机助力氧化铝陶瓷片切割:科技与工艺的完美结合

在当今半导体制造领域,氧化铝陶瓷片作为一种高性能、高可靠性的材料,被广泛应用于各种电子设备中。而半导体划片机的出现,则为氧化铝陶瓷片的切割提供了新的解决方案,实现了科技与工艺的完美结合。 氧化铝陶瓷片是一种以氧化铝为基…

三相电表可以当作高压电表使用吗?

在电力系统中,为了准确测量和计量电能的使用情况,电表起着至关重要的作用。与此同时,为了满足不同电网的需求,各种类型的电表被研发和设计出来。其中,三相电表作为常见的一种类型,广泛应用于低压电网中。但…

打工人副业变现秘籍,某多/某手变现底层引擎-StableDiffusionUI引擎部署

Stable Diffusion Web UI是一个基于Stable Diffusion的交互式程序,使用gradio模块构建而成。除了基本的txt2img、img2img等功能外,该模块还包含许多模型融合改进、图片质量修复等附加升级。所有这些功能都可以通过易于使用的Web应用程序图形用户界面进行访问。 一、简介 St…

【数据结构(八)】哈希表

文章目录 1. 基本概念1.1. 哈希表基本介绍 2. 实例应用2.1. 思路分析2.2. 代码实现2.2.1. 实现添加、显示功能2.2.2. 实现查找功能 1. 基本概念 先看一个实际需求: google 公司的一个上机题:     有一个公司,当有新的员工来报道时&…

Swing程序设计详解(二)

一 文件标签组与图标 在Swing程序设计中,标签(JLabel)被用于显示文本、图标等内容。在Swing应用程序的用户系面中,用户能够通过标签上的文本、图标等内容获得相应的提示信息。 1.1 JLable标签 标签(JLabel)的父类是JComponent类。虽然标签不能被添加…

写实3D游戏模型纹理贴图设置

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格&#xf…

CSU计算机学院2023秋C语言期中题目思路分享(前三道题)

文章目录 写在前面A:个税计算——阅读理解与数据类型转换原题输入输出样例输入样例输出 题目分析题目理解代码实现与问题解决 我的代码 B:时制转换——问题是一点点解决的原题输入输出样例输入样例输出 题目分析我的代码 C:统计进位——人教版…

js基础之事件监听案例入门

事件绑定 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </head&…

力扣 Java 101.对称二叉树

给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true 示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false 提示&#xff1a; 树中节点数目在…

粒子群优化算法的实践

粒子群优化算法的实践 flyfish 粒子群优化算法&#xff08;Particle Swarm Optimization&#xff0c;PSO&#xff09;或者粒子群算法 红叉的地方是理想之地&#xff0c;这些粒子都想去&#xff0c;总结8个字是信息共享&#xff0c;个人决策。 上完图之后&#xff0c;上代码&a…