论文解读 - 城市自动驾驶车辆运动规划与控制技术综述 (第2部分)
文章目录
- 🚗 II. Overview of the decision-making hierarchy used in driverless cars(无人驾驶汽车的决策层综述)
- 🔴 A. Route Planning(路径规划)
- 🟠 B. Behavioral Decision Making(行为决策)
- 🟡 C. Motion Planning(运动规划)
- 🟢 D. Vehicle Control(车辆控制)
- 🚚 III. Modeling for planning and control (规划与控制的建模)
- 🔴 A. The Kinematic Single-Track Model(单轨运动学模型)
- 🟠 B. Inertial Effects(惯性效应)
🚗 II. Overview of the decision-making hierarchy used in driverless cars(无人驾驶汽车的决策层综述)
In this section we describe the decision making architecture of a typical self-driving car and comment on the responsibilities of each component. Driverless cars are essentially autonomous decision-making systems that process a stream of observations from on-board sensors such as radars, LIDARs, cameras, GPS/INS units, and odometry. These observations, together with prior knowledge about the road network, rules of the road, vehicle dynamics, and sensor models, are used to automatically select values for controlled variables governing the vehicle’s motion. Intelligent vehicle research aims at automating as much of the driving task as possible. The commonly adopted approach to this problem is to partition and organize perception and decision-making tasks into a hierarchical structure. The prior information and collected observation data are used by the perception system to provide an estimate of the state of the vehicle and its surrounding environment; the estimates are then used by the decision-making system to control the vehicle so that the driving objectives are accomplished.
在本节中,我们将描述典型的自动驾驶汽车的决策层架构,并讨论其中每个组成部分的作用。无人驾驶汽车本质上是一种自主决策系统,它处理来自雷达、激光雷达(LIDARs)、相机、GPS/INS(全球定位系统/惯性导航系统)单元和里程计等车载传感器的观测流。这些观测结果与关于道路网络、道路规则、车辆动力学和传感器模型的先验知识一起,用于自动选择控制车辆运动的受控变量的取值。智能汽车研究旨在尽可能多地实现驾驶任务的自动化。解决这个问题的常用方法是将感知和决策任务划分并组织成一个层次结构。感知系统使用先验信息和收集的观测数据,来提供车辆及其周围环境的状态估计。决策系统随后使用这些估计来控制车辆,从而实现驾驶目标。
The decision making system of a typical self-driving car is hierarchically decomposed into four components (cf. Figure II.1): At the highest level a route is planned through the road network. This is followed by a behavioral layer, which decides on a local driving task that progresses the car towards the destination and abides by rules of the road. A motion planning module then selects a continuous path through the environment to accomplish a local navigational task. A control system then reactively corrects errors in the execution of the
planned motion. In the remainder of the section we discuss the responsibilities of each of these components in more detail.
典型的自动驾驶汽车的决策系统依据层级分解为四个组成部分(参考图II.1):在最高层,系统通过道路网络规划出一条路线;随后的行为层指定一个局部驾驶任务,使汽车朝着目的地前进同时遵守道路规则;随后,运动规划模块选择一条通过环境的连续路径,以完成局部导航任务;最后,控制系统反应性地修正执行规划运动时的误差。本节的其余部分将更详细地讨论每个组成部分的作用。
图II.1:决策过程的层级。根据目的地,路线规划器通过道路网络生成一条路线。行为层对环境进行推理,并生成沿着所选路线前进的运动规范。运动规划器随后求解实现规范的可行运动。反馈控制对致动变量进行调参,以修正执行参考路径时的误差。
🔴 A. Route Planning(路径规划)
At the highest level, a vehicle’s decision-making system must select a route through the road network from its current position to the requested destination. By representing the road network as a directed graph with edge weights corresponding to the cost of traversing a road segment, such a route can be formulated as the problem of finding a minimum-cost path on a road network graph. The graphs representing road networks can however contain millions of edges making classical shortest path algorithms such as Dijkstra [32] or A* [33] impractical. The problem of efficient route planning in transportation networks has attracted significant interest in the transportation science community leading to the invention of a family of algorithms that after a one-time pre-processing step return an optimal route on a continent-scale network in milliseconds [34], [35]. For a comprehensive survey and comparison of practical algorithms that can be used to efficiently plan routes for both human-driven and self-driving vehicles, see [36].
在最高层上,车辆的决策系统必须选择一条从当前位置到请求的目的地的、通过道路网络的路线。通过将道路网络表示为一个有向图(有向图的边的权重对应所穿过的道路段的成本),可以将路线规划问题构造为在道路网络图上找到一条最小成本路径的问题。然而,表示道路网络的图可以包含数百万条边,使得经典的最短路径算法(如Dijkstra [32]或A * [33])不再实用。交通网络中的高效路线规划问题引起了交通科学界的极大兴趣,催生了一系列算法。这些算法经过一次性的预处理步骤后,能够在毫秒时间内返回大陆规模的道路网络上的一条最优路线[34][35]。有关可用于高效的人类驾驶和自动驾驶车辆路线规划的实用算法的全面综述和比较,请参考[36]。
🟠 B. Behavioral Decision Making(行为决策)
After a route plan has been found, the autonomous vehicle must be able to navigate the selected route and interact with other traffic participants according to driving conventions and rules of the road. Given a sequence of road segments specifying the selected route, the behavioral layer is responsible for selecting an appropriate driving behavior at any point of time based on the perceived behavior of other traffic participants, road conditions, and signals from infrastructure. For example, when the vehicle is reaching the stop line before an intersection, the behavioral layer will command the vehicle to come to a stop, observe the behavior of other vehicles, bikes, and pedestrians at the intersection, and let the vehicle proceed once it is its turn to go.
找到一条路线计划后,自动驾驶车辆必须能够根据驾驶惯例和道路规则来导航选定的路线并与其他交通参与者进行交互。当给定了指定所选路线的一系列路段时,行为层基于感知到的其他交通参与者的行为、道路状况和基础设施信号,负责在任何时间点选择适当的驾驶行为。例如,当车辆在交叉路口前到达停车线时,行为层将命令车辆停车,观察交叉路口的其他车辆、自行车和行人的行为,并在轮到车辆行驶时让车辆继续前进。
Driving manuals dictate qualitative actions for specific driving contexts. Since both driving contexts and the behaviors available in each context can be modeled as finite sets, a natural approach to automating this decision making is to model each behavior as a state in a finite state machine with transitions governed by the perceived driving context such as relative position with respect to the planned route and nearby vehicles. In fact, finite state machines coupled with different heuristics specific to considered driving scenarios were adopted as a mechanism for behavior control by most teams in the DARPA Urban Challenge [9].
驾驶手册规定了特定驾驶环境下的定性行动。由于驾驶环境和每个环境中可用的行为都可以被建模为有限集,因此自动化这种决策的一种自然方法是将每个行为建模为有限状态机中的状态,其中状态的转移受感知到的驾驶环境的控制,这些驾驶环境包括相对于规划的路线和附近车辆的相对位置。事实上,在DARPA城市挑战赛中,大多数团队采用了有限状态机和特定于所考虑驾驶场景的不同启发式,作为行为控制的机制[9]。
Real-world driving, especially in an urban setting, is however characterized by uncertainty over the intentions of other traffic participants. The problem of intention prediction and estimation of future trajectories of other vehicles, bikes and pedestrians has also been studied. Among the proposed solution techniques are machine learning based techniques, e.g., Gaussian mixture models [37], Gaussian process regression [38] and the learning techniques reportedly used in Google’s self-driving system for intention prediction [39], as well as model-based approaches for directly estimating intentions from sensor measurements [40], [41].
然而,现实世界(尤其是城市环境)的驾驶的特点是,其他交通参与者的意图(intentions)具有不确定性。因此,学界还研究了对其他车辆、自行车和行人的未来轨迹的意图预测和估计。提出的解决方案包括基于机器学习的技术,例如高斯混合模型[37]、高斯过程回归[38]、被报道的在谷歌自动驾驶系统中用于意图预测的学习技术[39],以及用于从传感器测量值中直接估计意图的基于模型的方法[40][41]。
This uncertainty in the behavior of other traffic participants is commonly considered in the behavioral layer for decision making using probabilistic planning formalisms, such as Markov Decision Processes (MDPs) and generalizations. For example, [42] formulates the behavioral decision-making problem in MDP framework. Several works [43]–[46] model unobserved different driving scenarios and pedestrian intentions explicitly using a partially-observable Markov decision process (POMDP) framework and propose specific approximate solution strategies.
其他交通参与者行为的这种不确定性通常在使用概率规划形式(如马尔可夫决策过程(MDPs)及其推广形式)进行决策的行为层中被考虑。例如,文章[42]在MDP框架中构造了行为决策问题。一些工作[43–46]使用部分可观察马尔可夫决策过程(POMDP)框架,以显式地模拟未观察到的驾驶场景和行人意图,并提出了具体的近似解决策略。
🟡 C. Motion Planning(运动规划)
When the behavioral layer decides on the driving behavior to be performed in the current context, which could be, e.g., cruise-in-lane, change-lane, or turn-right, the selected behavior has to be translated into a path or trajectory that can be tracked by the low-level feedback controller. The resulting path or trajectory must be dynamically feasible for the vehicle, comfortable for the passenger, and avoid collisions with obstacles detected by the on-board sensors. The task of finding such a path or trajectory is a responsibility of the motion planning system, which is discussed in greater detail in Section IV.
行为层决定的要在当前环境中执行的驾驶行为(例如车道巡航、变道或右转)必须被转换为一条可由低级反馈控制器跟踪的路径或轨迹。生成的路径或轨迹对于车辆必须是动态可行的,同时可以保证乘客的舒适,并避免与车载传感器检测到的障碍物发生碰撞。找到这样的一条路径或轨迹是运动规划系统的工作,这将在第四节中详细讨论。
🟢 D. Vehicle Control(车辆控制)
In order to execute the reference path or trajectory from the motion planning system a feedback controller is used to select appropriate actuator inputs to carry out the planned motion and correct tracking errors. The tracking errors generated during the execution of a planned motion are due in part to the inaccuracies of the vehicle model. Thus, a great deal of emphasis is placed on the robustness and stability of the closed loop system.
为了执行来自运动规划系统的参考路径或轨迹,使用反馈控制器来选择适当的致动器输入。执行规划运动期间会产生跟踪误差的部分原因是车辆模型不够准确。因此,闭环系统的鲁棒性和稳定性受到了极高的重视。
Many effective feedback controllers have been proposed for executing the reference motions provided by the motion planning system. A survey of related techniques are discussed in detail in Section V.
目前已经提出了许多有效的反馈控制器,用于执行由运动规划系统提供的参考运动。第5节详细讨论了相关技术的概况。
🚚 III. Modeling for planning and control (规划与控制的建模)
In this section we will survey the most commonly used models of mobility of car-like vehicles. Such models are widely used in control and motion planning algorithms to approximate a vehicle’s behavior in response to control actions in relevant operating conditions. A high-fidelity model may accurately reflect the response of the vehicle, but the added detail may complicate the planning and control problems.This presents a trade-off between the accuracy of the selected model and the difficulty of the decision problems. This section provides an overview of general modeling concepts and a survey of models used for motion planning and control.
在本节中,我们将综述最常用的类车车辆(car-like vehicles)的移动模型。此类模型被广泛用于控制和运动规划算法,来近似在相关操作条件下响应于控制动作的车辆行为。高保真模型可以准确地反映车辆的响应,但增加的细节可能会使规划和控制问题复杂化。这要求在所选模型的准确性和决策问题的难度之间做出权衡。本节将对通用的建模概念进行概述,同时将综述用于运动规划和控制的模型。
Modeling begins with the notion of the vehicle configuration, representing its pose or position in the world. For example, configuration can be expressed as the planar coordinate of a point on the car together with the car’s heading. This is a coordinate system for the onfiguration space of the car. This coordinate system describes planar rigid-body motions (represented by the Special Euclidean group in two dimensions, SE(2)) and is a commonly used configuration space [47]–[49]. Vehicle motion must then be planned and regulated to accomplish driving tasks and while respecting the constraints introduced by the selected model.
建模的第一步是车辆构型/配置(configuration)的概念,它表示车辆在世界中的位姿或位置。例如可以用汽车上某一点的平面坐标以及汽车的方向来表示其构型,这便是汽车的构型空间/配置空间(configuration space / C-space)的坐标系。该坐标系描述平面刚体运动(表示为二维的特殊欧氏群 SE(2) ),是常用的构型空间[47-49]。随后,对车辆运动进行规划和控制,以完成驾驶任务,同时必须满足所选模型引入的约束。
🔴 A. The Kinematic Single-Track Model(单轨运动学模型)
In the most basic model of practical use, the car consists of two wheels connected by a rigid link and is restricted to move in a plane [48]–[52]. It is assumed that the wheels do not slip at their contact point with the ground, but can rotate freely about their axes of rotation. The front wheel has an added degree of freedom where it is allowed to rotate about an axis normal to the plane of motion. This is to model steering. These two modeling features reflect the experience most passengers have where the car is unable to make lateral displacement without simultaneously moving forward. More formally, the limitation on maneuverability is referred to as a nonholonomic constraint [47], [53]. The nonholonomic constraint is expressed as a differential constraint on the motion of the car. This expression varies depending on the choice of coordinate system. Variations of this model have been referred to as the car-like robot, bicycle model, kinematic model, or single track model.
实践使用的最基础的汽车模型由两个通过刚性连杆连接的车轮组成,并且被限制在平面内移动[48-52]。该模型假设车轮在其与地面的接触点处不会滑动,但可以绕其旋转轴自由旋转。前轮具有额外的自由度,允许其绕垂直于运动平面的轴旋转,以模拟转向。这两个建模特征反映了大多数乘客的体验,即汽车无法在不向前移动的同时实现横向位移。更正式地,这种机动性限制被称为非完整约束[47][53]。非完整约束表示为汽车运动的微分约束,约束的表达式随坐标系的选择而变化。这种汽车模型的变体被称为类车机器人、自行车模型、运动学模型或单轨模型。
The following is a derivation of the differential constraint in several popular coordinate systems for the configuration. In reference to Figure III.1, the vectors prp_rpr and pfp_fpf denote the location of the rear and front wheels in a stationary or inertial coordinate system with basis vectors (e^x,e^y,e^z)\left(\hat{e}_x, \hat{e}_y, \hat{e}_z\right)(e^x,e^y,e^z). The heading θ\thetaθ is an angle describing the direction that the vehicle is facing. This is defined as the angle between vectors e^x\hat{e}_xe^x and pf−prp_f-p_rpf−pr.
接下来我们将推导这种构型在几种常用坐标系中的微分约束。参考图III.1,向量 prp_rpr 和pfp_fpf 分别表示静止坐标系或惯性坐标系中后轮和前轮的位置,坐标系由三个基向量 (e^x,e^y,e^z)\left(\hat{e}_x, \hat{e}_y, \hat{e}_z\right)(e^x,e^y,e^z) 所决定。航向 θ\thetaθ 是描述车辆朝向的角度,定义为向量 e^x\hat{e}_xe^x 和 pf−prp_f-p_rpf−pr 的夹角。
图III.1:单轨模型的运动学,其中 prp_rpr 和 pfp_fpf分别是后轮和前轮与地面的接触点,θ\thetaθ 是车辆航向, δ\deltaδ 是前轮的转向角。由于非完整约束,prp_rpr 和 pfp_fpf 的时间导数被限制在蓝色箭头指示的方向上。
Differential constraints will be derived for the coordinate systems consisting of the angle θ\thetaθ, together with the motion of one of the points prp_rpr as in [54], and pfp_fpf as in [55].
一个坐标系下的微分约束的表达式包括该坐标系下的角度 θ\thetaθ 以及车辆上一点的运动,如向量 prp_rpr(参考[54])或 pfp_fpf(参考[55])。
The motion of the points prp_rpr and pfp_fpf must be collinear with the wheel orientation to satisfy the no-slip assumption. Expressed as an equation, this constraint on the rear wheel is
点prp_rpr 和 pfp_fpf 的运动必须与车轮的朝向共线,以满足无滑移假设。对于后轮的该约束可以表示为
(p˙r⋅e^y)cos(θ)−(p˙r⋅e^x)sin(θ)=0(III.1)\left(\dot{p}_r \cdot \hat{e}_y\right) \cos (\theta)-\left(\dot{p}_r \cdot \hat{e}_x\right) \sin (\theta)=0 \quad(III.1)(p˙r⋅e^y)cos(θ)−(p˙r⋅e^x)sin(θ)=0(III.1)
and for the front wheel:
对于前轮的该约束可以表示为
(p˙f⋅e^y)cos(θ+δ)−(p˙f⋅e^x)sin(θ+δ)=0(III.2)\left(\dot{p}_f \cdot \hat{e}_y\right) \cos (\theta+\delta)-\left(\dot{p}_f \cdot \hat{e}_x\right) \sin (\theta+\delta)=0 \quad(III.2)(p˙f⋅e^y)cos(θ+δ)−(p˙f⋅e^x)sin(θ+δ)=0(III.2)
This expression is usually rewritten in terms of the component-wise motion of each point along the basis vectors. The motion of the rear wheel along the e^x\hat{e}_xe^x-direction is xr:=pr⋅e^xx_r:=p_r \cdot \hat{e}_xxr:=pr⋅e^x. Similarly, for e^y\hat{e}_ye^y-direction, yr:=pr⋅e^yy_r:=p_r \cdot \hat{e}_yyr:=pr⋅e^y. The forward speed is vr:=p˙r⋅(pf−pr)/∥(pf−pr)∥v_r:=\dot{p}_r \cdot\left(p_f-p_r\right) /\left\|\left(p_f-p_r\right)\right\|vr:=p˙r⋅(pf−pr)/∥(pf−pr)∥, which is the magnitude of p˙r\dot{p}_rp˙r with the correct sign to indicate forward or reverse driving. In terms of the scalar quantities xrx_rxr , yry_ryr , and θ\thetaθ, the differential constraint is
利用每个点沿基向量的运动分量,可以重写上式。后轮沿 e^x\hat{e}_xe^x方向的运动可以写作 xr:=pr⋅e^xx_r:=p_r \cdot \hat{e}_xxr:=pr⋅e^x,相似地,沿
e^y\hat{e}_ye^y 方向的运动写作 yr:=pr⋅e^yy_r:=p_r \cdot \hat{e}_yyr:=pr⋅e^y 。前向速度 vr:=p˙r⋅(pf−pr)/∥(pf−pr)∥v_r:=\dot{p}_r \cdot\left(p_f-p_r\right) /\left\|\left(p_f-p_r\right)\right\|vr:=p˙r⋅(pf−pr)/∥(pf−pr)∥,表示 p˙r\dot{p}_rp˙r的大小,同时带有正确的正负号,该正负号用于描述当前的行驶是正向或反向驾驶。利用 xrx_rxr , yry_ryr 和θ\thetaθ这几个标量,微分约束可以写作
x˙r=vrcos(θ)y˙r=vrsin(θ)θ˙=vrltan(δ)(III.3)\begin{aligned} \\ & \dot{x}_r=v_r \cos (\theta) \\ & \dot{y}_r=v_r \sin (\theta) \\ & \dot{\theta}=\frac{v_r}{l} \tan (\delta)\end{aligned} \quad(III.3)x˙r=vrcos(θ)y˙r=vrsin(θ)θ˙=lvrtan(δ)(III.3)
Alternatively, the differential constraint can be written in terms the motion of pfp_fpf,
类似地,也可以利用pfp_fpf的运动将微分约束写作
x˙f=vfcos(θ+δ)y˙f=vfsin(θ+δ)θ˙=vflsinδ(III.4)\begin{aligned} &\dot{x}_f=v_f \cos (\theta+\delta) \\ &\dot{y}_f=v_f \sin (\theta+\delta) \\ &\dot{\theta}=\frac{v_f}{l} \sin \delta \end{aligned} \quad(III.4)x˙f=vfcos(θ+δ)y˙f=vfsin(θ+δ)θ˙=lvfsinδ(III.4)
where the front wheel forward speed vfv_fvf is now used. The front wheel speed, vrv_rvr , is related to the rear wheel speed by
其中 vfv_fvf是前轮的前向速度,它与后轮速度vrv_rvr满足关系
vrvf=cos(δ)(III.5)\frac{v_r}{v_f}=\cos (\delta) \quad(III.5)vfvr=cos(δ)(III.5)
The planning and control problems for this model involve selecting the steering angle δ\deltaδ within the mechanical limits of the vehicle δ∈[δmin,δmax]\delta \in\left[\delta_{\min }, \delta_{\max }\right]δ∈[δmin,δmax], and forward speed vrv_rvr within an acceptable range, vr∈[vmin,vmax]v_r \in\left[v_{\min }, v_{\max }\right]vr∈[vmin,vmax].
利用这个模型求解规划和控制问题涉及在车辆的机械限制范围内选择转向角 δ∈[δmin,δmax]\delta \in\left[\delta_{\min }, \delta_{\max }\right]δ∈[δmin,δmax],以及在合适的范围内选择前向速度 vr∈[vmin,vmax]v_r \in\left[v_{\min }, v_{\max }\right]vr∈[vmin,vmax]。
A simplification that is sometimes utilized, e.g. [56], is to select the heading rate ω\omegaω instead of steering angle δ\deltaδ. These quantities are related by
一种经常采用的简化方式是选择一个航向率 ω\omegaω 而非选择一个转向角 δ\deltaδ 。这些变量满足关系
δ=arctanlωvr(III.6)\delta=\arctan \frac{l \omega}{v_r} \quad(III.6)δ=arctanvrlω(III.6)
simplifying the heading dynamics to
并随之得以将转向动力学简化为
θ˙=ω,ω∈[vrltanδmin,vrltanδmax](III.7)\dot{\theta}=\omega, \quad \omega \in\left[\frac{v_r}{l} \tan \delta_{\min }, \frac{v_r}{l} \tan \delta_{\max }\right] \quad(III.7)θ˙=ω,ω∈[lvrtanδmin,lvrtanδmax](III.7)
In this situation, the model is sometimes referred to as the unicycle model since it can be derived by considering the motion of a single wheel.
此时的模型经常被称为单轮(unicycle)模型,因为它的推导相当于只考虑了一个轮子的运动。
An important variation of this model is the case when vrv_rvr is fixed. This is sometimes referred to as the Dubins car, after Lester Dubins who derived the minimum time motion between to points with prescribed tangents [57]. Another notable variation is the Reeds-Shepp car for which minimum length paths are known when vrv_rvr takes a single forward and reverse speed [58]. These two models have proven to be of some importance to motion planning and will be discussed further in Section IV.
该模型的一个重要变体是 vrv_rvr 固定时的情况,此时的模型又被称为Dubins车(Dubins Car),以纪念Lester Dubins推导出了具有指定切线的两点之间的最小时间运动[57]。另一个值得注意的变体是Reeds-Shepp车,此时对于最短路径的求解允许 vrv_rvr 是正向或者反向行驶的速度[58]。这两种模型已被证明对运动规划具有一定的重要性,因此将在第四节中作进一步讨论。
The kinematic models are suitable for planning paths at low speeds (e.g. parking maneuvers and urban driving) where inertial effects are small in comparison to the limitations on mobility imposed by the no-slip assumption. A major drawback of this model is that it permits instantaneous steering angle changes which can be problematic if the motion planning module generates solutions with such instantaneous changes.
运动学模型适用于低速(例如泊车和城市驾驶)下的路径规划。在这些低速行驶的场景中,相比于无滑移假设对移动性的限制,惯性效应较小。该模型的主要缺点是它允许瞬时的转向角变化:如果运动规划模块生成具有这种瞬时变化的解,可能将带来很多麻烦。
Continuity of the steering angle can be imposed by augmenting (III.4), where the steering angle integrates a commanded rate as in [49]. Equation (III.4) becomes
转向角的连续性可以通过增强方程(3.4)来实现,其中转向角被处理为指定速率的积分,参考[49]。方程(3.4)进而变为
x˙f=vfcos(θ+δ)y˙f=vfsin(θ+δ)θ˙=vflsinδδ˙=vδ(III.8)\begin{aligned} &\dot{x}_f=v_f \cos (\theta+\delta) \\ &\dot{y}_f=v_f \sin (\theta+\delta) \\ &\dot{\theta}=\frac{v_f}{l} \sin \delta \\ & \dot{\delta}=v_\delta \end{aligned}\quad(III.8)x˙f=vfcos(θ+δ)y˙f=vfsin(θ+δ)θ˙=lvfsinδδ˙=vδ(III.8)
In addition to the limit on the steering angle, the steering rate can now be limited: vδ∈[δ˙min,δ˙max]v_\delta \in\left[\dot{\delta}_{\min }, \dot{\delta}_{\max }\right]vδ∈[δ˙min,δ˙max]. The same problem can arise with the car’s speed vrv_rvr and can be resolved in the same way. The drawback to this technique is the increased dimension of the model which can complicate motion planning and control problems.
此时除了限制转向角,还要约束转向率 vδ∈[δ˙min,δ˙max]v_\delta \in\left[\dot{\delta}_{\min }, \dot{\delta}_{\max }\right]vδ∈[δ˙min,δ˙max]。同样的问题也可能发生在车速 vrv_rvr上,但可以通过与转向角相同的方式来解决。这种方法的缺点是增加了模型的维度,使得运动规划与控制问题被复杂化了。
While the kinematic bicycle model and simple variations are very useful for motion planning and control, models considering wheel slip [59], inertia [18], [60]–[62], and chassis dynamics [60] can better utilize the vehicle’s capabilities for executing agile maneuvers. These effects become significant when planning motions with high acceleration and jerk.
坐标系的选择并不限定必须选择一个轮子的位置作为车辆的位置坐标。对于通过经典力学原理推导得到的模型,使用质心作为位置坐标可能更加方便,参考[59][60],或者使用摆心,参考[61][62]。
🟠 B. Inertial Effects(惯性效应)
When the acceleration of the vehicle is sufficiently large, the no-slip assumption between the tire and ground becomes invalid. In this case a more accurate model for the vehicle is as a rigid body satisfying basic momentum principles. That is, the acceleration is proportional to the force generated by the ground on the tires. Taking pcp_cpc to be the vehicles center of mass, and a coordinate of the configuration (cf. Figure III.2), the motion of the vehicle is governed by
当车辆的加速度足够大时,轮胎与地面之间的无滑移假设不再成立。此时,一个更加准确的模型是将车辆视为一个满足动量定理的刚体,即,加速度正比于地面施加在轮胎上的力。取 pcp_cpc 作为车辆的质心以及构型坐标(参考图3.2),车辆的运动有以下关系:
mp¨c=Ff+FrIzzθ¨=(pc−pf)×Ff+(pc−pr)×Fr(III.9)\begin{aligned} &m \ddot{p}_c=F_f+F_r \\ & I_{z z} \ddot{\theta}=\left(p_c-p_f\right) \times F_f+\left(p_c-p_r\right) \times F_r \end{aligned}\quad(III.9)mp¨c=Ff+FrIzzθ¨=(pc−pf)×Ff+(pc−pr)×Fr(III.9)
where FrF_rFr and FfF_fFf are the forces applied to the vehicle by the ground through the ground-tire interaction, mmm is the vehicles total mass, and IzzI_{zz}Izz is the polar moment of inertia in the e^z\hat{e}_ze^z direction about the center of mass. In the following derivations we tacitly neglect the motion of pcp_cpc in the e^z\hat{e}_ze^z direction with the assumptions that the road is level, the suspension is rigid and vehicle remains on the road.
其中FrF_rFr和 FfF_fFf是地面通过与轮胎的接触而施加于车辆的力,mmm是车辆的总质量,IzzI_{zz}Izz是在e^z\hat{e}_ze^z方向上关于质心的极惯性矩。在接下来的推导中,我们将基于平坦地面、刚体悬架以及车辆保持在道路上的假设,默认忽略pcp_cpc在e^z\hat{e}_ze^z方向上的运动。
The expressions for Fr and Ff vary depending on modeling assumptions [18], [59], [60], [62], but in any case the expression can be tedious to derive. Equations (III.10)-(III.15) therefore provide a detailed derivation as a reference.
FrF_rFr和 FfF_fFf的表达式随建模假设[18][59][60][62]而变化,但在任何情况下,推导该表达式都可能很繁琐。因此,方程(III.10)-(III.15)提供了详细的推导作为参考。
The force between the ground and tires is modeled as being dependent on the rate that the tire slips on the ground. Although the center of mass serves as a coordinate for the configuration, the velocity of each wheel relative to the ground is needed to determine this relative speed. The kinematic relations between these three points are
地面与轮胎之间的力被建模为与轮胎在地面上滑动的速率有关。尽管选择质心作为构型的坐标,但仍然需要每个车轮相对于地面的速度,以确定该相对速度。这三个点之间的运动学关系为
pr=pc+(−lrcosθ−lrsinθ0)p˙r=p˙c+(00θ˙)×(−lrcosθ−lrsinθ0)pf=pc+(lfcosθlfsinθ0)p˙f=p˙c+(00θ˙)×(lfcosθlfsinθ0)(III.10)\begin{aligned} &p_r=p_c+\left(\begin{array}{c} -l_r \cos \theta \\ -l_r \sin \theta \\ 0 \end{array}\right) \\ & \dot{p}_r=\dot{p}_c+\left(\begin{array}{c} 0 \\ 0 \\ & \dot{\theta} \end{array}\right) \times\left(\begin{array}{c} -l_r \cos \theta \\ -l_r \sin \theta \\ 0 \end{array}\right) \\ &p_f=p_c+\left(\begin{array}{c} l_f \cos \theta \\ l_f \sin \theta \\ 0 \end{array}\right) \\ &\dot{p}_f=\dot{p}_c+\left(\begin{array}{c} 0 \\ 0 \\ \dot{\theta} \end{array}\right) \times\left(\begin{array}{c} l_f \cos \theta \\ l_f \sin \theta \\ 0 \end{array}\right) \end{aligned}\quad(III.10)pr=pc+−lrcosθ−lrsinθ0p˙r=p˙c+00θ˙×−lrcosθ−lrsinθ0pf=pc+lfcosθlfsinθ0p˙f=p˙c+00θ˙×lfcosθlfsinθ0(III.10)
These kinematic relations are used to determine the velocities of the point on each tire in contact with the ground, srs_rsr and sfs_fsf . The velocity of these points are referred to as the tire slip velocity. In general, srs_rsr and sfs_fsf differ from p˙r\dot{p}_rp˙r and p˙f\dot{p}_fp˙f through the angular velocity of the wheel. The kinematic relation is
这些运动学关系用于确定每个轮胎与地面的接触点的速度 srs_rsr 和 sfs_fsf 。这些点的速度又被称为轮胎滑动速度。通常,由于存在轮胎的角速度,因此 srs_rsr 和 sfs_fsf 不同于 p˙r\dot{p}_rp˙r 和 p˙f\dot{p}_fp˙f 。它们之间的运动学关系如下:
sr=p˙r+ωr×Rsf=p˙f+ωf×R(III.11)\begin{aligned} & s_r=\dot{p}_r+\omega_r \times R \\ & s_f=\dot{p}_f+\omega_f \times R \end{aligned}\quad(III.11)sr=p˙r+ωr×Rsf=p˙f+ωf×R(III.11)
The angular velocities of the wheels are given by
其中车轮的角速度由下式给出:
ωr=(Ωrsinθ−Ωrcosθ0),ωf=(Ωfsin(θ+δ)−Ωfcos(θ+δ)0)(III.12)\omega_r=\left(\begin{array}{c} \Omega_r \sin \theta \\ -\Omega_r \cos \theta \\ 0 \end{array}\right), \quad \omega_f=\left(\begin{array}{c} \Omega_f \sin (\theta+\delta) \\ -\Omega_f \cos (\theta+\delta) \\ 0 \end{array}\right) \quad(III.12)ωr=Ωrsinθ−Ωrcosθ0,ωf=Ωfsin(θ+δ)−Ωfcos(θ+δ)0(III.12)
and R=(0,0,−r)TR=(0,0,-r)^TR=(0,0,−r)T . The wheel radius is the scalar quantity rrr, and Ω{r,f}\Omega_{\{r, f\}}Ω{r,f} are the angular speeds of each wheel relative to the car. This is illustrated for the rear wheel in Figure III.3
且 R=(0,0,−r)TR=(0,0,-r)^TR=(0,0,−r)T 。车轮半径用标量 rrr 表示,每个轮胎相对于汽车的角速率用 Ω{r,f}\Omega_{\{r, f\}}Ω{r,f} 表示。图3.3描绘了后轮上的各个变量之间的关系。
图III.2:没有无滑移假设的单轨模型的运动学图解,其中 ω{r,f}\omega_{\{r, f\}}ω{r,f} 是车轮相对于车辆的相对角速度
图III.3:二维的后轮运动学图解表明了车轮滑移 SrS_rSr 与后轮速度 p˙r\dot{p}_rp˙r 以及角速率
Under static conditions, or when the height of the center of mass can be approximated as pc⋅e^z≈0p_c \cdot \hat{e}_z \approx 0pc⋅e^z≈0, the component of the force normal to the ground, F{r,f}⋅e^zF_{\{r, f\}} \cdot \hat{e}_zF{r,f}⋅e^z can be computed from a static force-torque balance as
在静态条件下,或者当质心的高度可以近似满足 pc⋅e^z≈0p_c \cdot \hat{e}_z \approx 0pc⋅e^z≈0 时,地面施加给轮胎的力在垂直于地面的方向上的分量 F{r,f}⋅e^zF_{\{r, f\}} \cdot \hat{e}_zF{r,f}⋅e^z 可以通过静力学的力矩平衡而给出:
Ff⋅e^z=lrmglf+lr,Fr⋅e^z=lfmglf+lr(III.13)F_f \cdot \hat{e}_z=\frac{l_r m g}{l_f+l_r}, \quad F_r \cdot \hat{e}_z=\frac{l_f m g}{l_f+l_r} \quad(III.13)Ff⋅e^z=lf+lrlrmg,Fr⋅e^z=lf+lrlfmg(III.13)
The normal force is then used to compute the traction force on each tire together with the slip and a friction coefficient model, μ\muμ, for the tire behavior. The traction force on the rear tire is given component-wise by
法向力随后同滑移以及一个描述轮胎特性的摩擦系数模型 μ\muμ 一起,用于计算每个轮胎上的牵引力。后轮上的牵引力的分量给出如下:
Fr⋅e^x=−(Fr⋅e^z)μ(∥sr∥Ωrr)sr∥sr∥⋅e^xFr⋅e^y=−(Fr⋅e^z)μ(∥sr∥Ωrr)sr∥sr∥⋅e^y(III.14)\begin{aligned} & F_r \cdot \hat{e}_x=-\frac{\left(F_r \cdot \hat{e}_z\right) \mu\left(\frac{\left\|s_r\right\|}{\Omega_r r}\right) s_r}{\left\|s_r\right\|} \cdot \hat{e}_x \\ & F_r \cdot \hat{e}_y=-\frac{\left(F_r \cdot \hat{e}_z\right) \mu\left(\frac{\left\|s_r\right\|}{\Omega_r r}\right) s_r}{\left\|s_r\right\|} \cdot \hat{e}_y \end{aligned} \quad(III.14)Fr⋅e^x=−∥sr∥(Fr⋅e^z)μ(Ωrr∥sr∥)sr⋅e^xFr⋅e^y=−∥sr∥(Fr⋅e^z)μ(Ωrr∥sr∥)sr⋅e^y(III.14)
The same expression describes the front tire with the rrr-subscript replaced by an fff-subscript. The formula above models the traction force as being anti-parallel to the slip with magnitude proportional to the normal force with a nonlinear dependence on the slip ratio (the magnitude of the slip normalized by Ωrr\Omega_r rΩrr for the rear and Ωfr\Omega_f rΩfr for the front). Combining (III.10)-(III.15) yields expressions for the net force on each wheel of the car in terms of the control variables, generalized coordinates, and their velocities. Equation (III.14), together with the following model for μ\muμ, are a frequently used model for tire interaction with the ground. Equation (III.15) is a simplified version of the well known model due to Pacejka [63].
将上式中的下标 rrr 替换为 fff,就可以得到前轮上的牵引力的表达式。上式将牵引力建模为反向平行于滑移,且其大小正比于法向力,同时与滑移率非线性相关(滑移率由滑移经过后轮的 Ωrr\Omega_r rΩrr 或前轮的 Ωfr\Omega_f rΩfr 的归一化而给出)。结合公式(III.10)-(III.15),可以得到关于控制变量、广义坐标以及轮胎速度的每个车轮上的合力的表达式。将方程(III.14)以及如下有关 μ\muμ 的模型结合起来,是一种常用的、处理车轮和地面接触的情况的模型。方程(III.15)是Pacejka提出的知名模型的一种简化版本。
μ(∥sr∥Ωrr)=Dsin(Carctan(B∥sr∥Ωrr))(III.15)\mu\left(\frac{\left\|s_r\right\|}{\Omega_r r}\right)=D \sin \left(C \arctan \left(B \frac{\left\|s_r\right\|}{\Omega_r r}\right)\right) \quad (III.15)μ(Ωrr∥sr∥)=Dsin(Carctan(BΩrr∥sr∥))(III.15)
The rotational symmetry of (III.14) together with the peak in (III.15) lead to a maximum norm force that the tire can exert in any direction. This peak is referred to as the friction circle depicted in Figure III.4
方程(III.14)的旋转对称性以及方程(III.15)存在的峰值将导致轮胎产生一个能在任何方向上施加的范数最大的力。该峰值又被称为摩擦圆(friction circle),如图III.4所示。
图III.4:顶部的图是放大视图,其描绘了每个轮胎上的车轮滑移到牵引力的映射;底部的图是缩小视图,其重点描绘了定义摩擦圈的峰值。参考方程(III.15)。
The models discussed in this section appear frequently in the literature on motion planning and control for driverless cars. They are suitable for the motion planning and control tasks discussed in this survey. However, lower level control tasks such as electronic stability control and active suspension systems typically use more sophisticated models for the chassis, steering and, drive-train.
本节讨论的模型经常出现在无人驾驶汽车的运动规划和控制的文献中。这些模型适用于本综述所讨论的运动规划和控制任务。然而,诸如电子稳定控制和主动悬架系统等较低级别的控制任务通常使用更复杂的模型来对底盘、转向和传动系统进行建模。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4508079.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!
Flink-Barrier理解与checkpoint检查点制作过程
目录 理解Barrier ExactlyOnce--精准一次性--Barrier对齐 AtleastOnce--至少一次--Barrier不对齐 理解Barrier 流的barrier是Flink的Checkpoin中的一个核心概念.多个barrier被插入到数据流中,然后作为数据流的一部分随着数据流动(有点类似于Watermark),这些 barrier不会跨…...
Jmeter监控系统资源
软件下载 所需的软件共有2个:ServerAgent和Servers Performance Monitoring ServerAgent,作为系统监控的代理服务器,可以到https://jmeter-plugins.org/wiki/PerfMonAgent/下载Servers Performance Monitoring,是Jmeter的插件&a…...

python range函数范围_Python中range函数的用法
range函数是python内置函数,允许用户在给定范围内生成一系列数字。根据用户传递给函数的参数变量来决定数字的开始和结束位置以及一个数字与另一个数字之间的差异 range()函数是Python中的内置函数,主要用于循环。接下来在文章中将为大家具体介绍这个函数…...

什么是TeamViewer Tensor?
本篇包含TeamViewer Tensor的全面介绍。 TeamViewer Tensor是TeamViewer的企业远程支持、远程访问及远程设备控制 SaaS 解决方案,是一个基于云的企业连接平台,可以快速,轻松地部署大规模IT管理框架。 TeamViewer Tensor连接超过20亿台设备&a…...

[Buzz Today]2012.05.10
>> NVIDIA CUDA 4.1 Compiler Now Built on LLVM LLVM可是个好东西,在Apple力顶之下,这几年真是发展快快。 LLVM是知名的开源编译器技术基础架构,其模块设计可方便的加入新语言和处理器架构支持,目前支持C/C、Objective-C、…...

Office 与 Visio安装冲突
我们在安装Office与Visio时总会报错,很抱歉,Microsoft Office安装程序遇到问题,因为你的计算机安装了这些基于即点即用安装程序的Office程序: 如下图: 这是因为下载的Office与Visio版本不一致,一个是c2r&a…...

关于visio安装时出现出现回滚更改以至于安装失败的解决办法
最近安装Visio2013,奈何一直报错,出现1935的错误并且回滚 试了试网上的方法,无论是安装.netframework4.0也好,下载.net修复工具也好,都不行 最后尝试删除一个注册表路径 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppM…...

linux的vi命令详解,linux vi命令详解
linux下使用vi编辑是很方便的,但是具体要怎么做呢?下面由学习啦小编为大家整理了linux下vi的相关命令,希望对大家有帮助!1.linux vi命令的基本观点基本上vi能够分为三种形态,区分是命令方式(command mode)、插入方式(Insert mode)和底行方式…...

xshell 退出linux方式,xshell退出Vi编辑模式
最近在学习Linux时,初次使用Vi编辑模式编辑文本,但是编辑完成之后,不知道怎么退出编辑模式,然后在网上查找了一番,特此分享给各位老铁:下面总结一些vi 退出命令,学习!进入编辑模式,按…...

使用三层交换机实现单臂路由实验
使用三层交换机实现单臂路由实验在现实环境中,有时候不一定将网关启用在路由器上,有时候实现单臂路由功能不一定必须接在路由器上接口上,可以使用三层交换机实现,因为交换机本身具有丰富的接口这样灵活的使用,在实际工…...

python 列表生成式
列表生成式 列表生成式的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是0个或多个for或者if语句。列表表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表 # 去除偶数 hh[[1,2,3],[4,5,6],[7,8,9] ]#从做往右读就行 print…...

VISIO2016的安装报错
VISIO2016的安装报错 第一步 最好是将word卸载掉 ,word的版本会直接影响你安装visio 装完visio之后在安装word 如果安装过程出现报错没写原因 可以查看事件日志 windows10左下方直接搜事件日志 根据问题百度 我出现的问题是关于 9CA88EE3-ACB7-47c8-AFC4-AB702511C2…...

广州2年php8k,2年后,那位月入3000月供3400的广州女孩,终于被我们找到了
不知大家是否还记得,两年前登上热搜榜,引起热议的广州90后月供女孩。91年出生的阿霞,2017年狠心盘下了花都雅宝新城的一套100平两房。要知道,当时阿霞月入3000,月供要3400,典型的入不敷出,生活还…...

超块链创始人史兴国直播首秀:一位区块链技术界“扫地僧”的Web3.0世界观
很多武侠迷知道,扫地僧是金庸武侠小说《天龙八部》中的人物,一位在少林寺负责打扫藏经阁的无名老僧人,武功深不可测,并具有大智慧。 而在熙熙攘攘的区块链江湖里,也有一位“扫地僧”,他有多个光环加身&…...

2022实验室更新 DBCO-NH2,DBCO-Amine 叠氮化物功能化化合物
DBCO(二苯并环辛炔) 氨基衍生物,可与含有羧基的生化小分子形成稳定酰胺键连接。DBCO-NHS酯是一种与胺反应的化合物,可用于修饰含胺分子(在水性介质中的溶解度有限)。它与伯胺(例如赖氨酸的侧链氨基或多肽的N端氨基)在中性或弱碱性pH下反应形成共价键。这…...

软件开发者:猪与鸡的争论?
http://www.csdn.net/article/2012-10-25/2811167-Software-Developers-The-Chicken-or-the-P 摘要:当设计到给重大产品做决定时,谁拥有最终的决定权,是全身心投入开发软件的程序员还是将软件变成公司产品谋利的业务人员呢?本文引…...

mysql的填充因子_SQL Server表索引:调整填充因子
SQL Server表索引有一种使自己稀疏的特性,表越大并且访问越频繁,就越需要一个合适的调整因子。SQL Server表索引的填充因子选项是最常见的针对索引的一种调优方法。索引的填充因子是一个百分比,用于告诉SQL Server每个叶级索引页可以填充多少…...

HTTP-FLV直播初探-flv.js播放器使用实例
https://www.cnblogs.com/saysmy/p/7851911.html...

SaaS 云服务部署的3种形式:灵活选择,效益最优调控
第一,公有云部署,即按需采购账号使用数量,优先推荐 第二,公有云和私有云混合部署,即一些消耗资源由采购方提供,例如CDN,存储,特点是安全性和软件云端灵活组合 第三,私有…...

5G多卡聚合路由保障疫情数据监控系统网络稳定通畅
疫情应急指挥系统,基于疫情动态数据,应急基础数据等,提供病患分布、应急物资、应急救援队伍实时情况,结合公共安全事件链与风险分析模型,为防疫指挥调度提供科学的决策依据和信息化业务辅助服务。 社区疫情管控平台&a…...

python显示图片固定大小
from skimage import io,transformimg_nameC:\\Users\\Administrator\\glasses3\\0.jpg imgio.imread(img_name) new_imgtransform.resize(img,(300,300)) io.imshow(new_img) io.show()...

万维网的信息检索系统【计算机网络】
1.全文检索搜索与分类目录搜索 万维网是一个大规模的、联机式的信息储藏所。那么,应当采用什么方法才能找到所需的信息呢?如果已经知道存放该信息的网点,那么只要在浏览器的地址(Location)框内键入该网点的URL和回车键,就可进入该网点。但是…...

可交互绘图-Plotly
欢迎关注笔者的微信公众号 Plotly 是一个 Python 库,用于设计图形,尤其是交互式图形。它可以绘制各种图形和图表,如直方图、条形图、箱线图、展开图等等。它主要用于数据分析以及财务分析。 plotly 是一个交互式可视化库。 1. plotly安装 …...

软件观念革命:交互设计精髓_交互的学习与应用指南
原标题:交互的学习与应用指南编辑导语:交互设计就是互联网产品与用户之间的一个交流,交互设计是比较了解和靠近用户体验的,以用户为中心对交互过程进行研究和设计;本文作者分享了关于交互的学习和应用指南,…...

CSDN 创始人蒋涛:世界被编码之后
“写代码 20 年,通过网络平台和社区,帮助中国的程序员更好成长,这是我最希望被大家记住的。”这是蒋涛接受 ZAKER 采访的开场白。文 | 李亚丽 视频 | 李耀华 摄影 | 王莉莉 本文经授权转自 ZAKER 太极拳、拳击、冥想和打坐,这是 C…...

Unity中下载图片、音频和视频
使用unity2020.3.0进行网络图片、音频和视频资源的加载和交互,通过网上搜索资源并结合工程实践尝试了一些操作,实现了相似的功能,在此分享给大家。 一、下载图片 曾经使用的www方式进行下载,这里使用UnityWebRequest在携程中进行…...

plotly包安装_plotly的安装以及基本的绘图教程
众所周知 plotly是一个简易的数据可视化绘图工具 可以使用 jupyter(直接运行)或者pychram(需要生成html文件)等开发工具 因为我在学数据分析时先学习的matplotlib来作图,之后又学习plot发现plot相对更加简单效率 因此推荐plotlyplotly的安装 直接使用pip安装pip ins…...
iOS上使用自定义ttf字体
项目中想使用第三方的字体,在stackoverflow上查询解决办法,也折腾一会,添加成功,示例如下: 1.将xx.ttf字体库加入工程里面 2.在工程的xx-Info.plist文件中新添加一行Fonts provided by application,加上字…...

Mac 媒体格式转换软件Permute
Mac 媒体格式转换软件Permute 有时候会需要转换一些格式,这里介绍一款自己使用过后感觉比较方便的软件Permute。 permute mac软件介绍 Permute是一款Mac上易用的媒体格式转换工具,支持视频、音乐和图像的格式转换,通过拖拽支持批量格式转换…...

opencv的图像基本操作(基于jupyter Notebook)
opencv的基本操作cv2是opencv在python中的缩写,函数开头用cv2cv2.imread(cat.jpg) #读入图片cat.jpgcv2.imwrite(mycat.png,img) #图片img保存为mycat.pngcv2.imshow(image,img) #创建窗口,显示图像cv2.waitKey(10000) #等待时间,以 毫秒为单…...

计算机科学速成课 Crash Course Computer Science 第三十集 万维网 The World Wide Web
GitHub链接:https://github.com/WilliamWuLH/My-notes-about-CCCS 如果你觉得不错可以 ⭐Star 和 Fork ❤ 计算机科学速成课 Crash Course Computer Science 第三十集 万维网 The World Wide Web 万维网(World Wide Web)和互联网…...

oracle恢复表数据
误删表或者delete from XXX没有带条件清空表后不要慌,能恢复的,咱有flashback table咱怕啥 只要删除的人没有加PURGE就好。 oracle还是够抗造的 一、删表恢复 flashback table tablename_has_deleted to before drop 二、清表数据恢复 1.确认一下数据对…...

考试题讲解
1.目录创建与切换 mkdir---->make directory[rootXMJ ~]# mkdir /xmj #创建目录 [rootXMJ ~]# ll -ld /xmj/ drwxr-xr-x 2 root root 4096 May 30 09:51 /xmj/*-p表示递归创建 [rootXMJ xmj]# mkdir a/b/c mkdir: cannot create directory a/b/c: No such file or di…...

解决Spring Boot 使用RedisTemplate 存储键值出现乱码 \xac\xed\x00\x05t\x00
最近使用spring-data-redis RedisTemplate 操作redis时发现存储在redis中的key不是设置的string值,前面还多出了许多类似\xac\xed\x00\x05t\x00这种字符串,如下 127.0.0.1:6379> keys * 1) "\xac\xed\x00\x05t\x00\x04pass" 2) "\xac…...

python range函数报错:TypeError: ‘float‘ object cannot be interpreted as an integer
原因是range只能生成整数,不能生成float类型,使用 numpy的 arange函数来解决: import numpy as npfor i in np.arange(0.1,0.5,0.05):print(i) # 0.1,0.15,0.2,...,0.4,0.45, 不包含0.5! # 或者 l list(np.arange(0.1,0.5,0.05)…...

计算机二级office常考知识点
计算机组成原理以及操作系统知识 1、顺序程序不具有并发性 2、PCB是进程存在的唯一标志 3、将文件名转换为文件存储地址的结构是文件目录。 4、机器周期的同步标准是CPU访问存储器一次所需要的时间 5、机器数补码的符号位取反即是偏移码 6、当一个进程在运行状态下结束时要调用…...

java反序列化与Apache CC链、fastjson反序列化的理解与研究
文章目录0. 反序列化攻击的本质1. 前言2. 为什么会存在序列化技术2. 序列化与反序列化补充3. 为什么会有反序列化漏洞4. JAVA Apache-CommonsCollections 序列化RCE漏洞分析cc15. Fastjson 反序列化漏洞1. 怎么确定是用了fastjson2. 机制3. JdbcRowSetImpl1. RMIJNDI2. LDAPJND…...

麒麟V10编译安装GCC9.3
在麒麟V10 arm64架构 桌面版系统上编译安装gcc9.3版本 麒麟V10自带的gcc版本是5.4 根据以下步骤顺序执行即可安装成功 # 1.下载解压gcc wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz tar -xvf gcc-9.3.0.tar.gzcd gcc-9.3.0# 2.下载gcc依…...

计算机语言range,python中range输出的方法
python中range输出的方法发布时间:2020-08-25 11:50:26来源:亿速云阅读:148作者:小新这篇文章主要介绍python中range输出的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要…...
Java编程基础(1)
一、概述 1、三大平台 (1)java ME:嵌入式应用(小型设备,比如移动通信,智能卡,电视机顶盒等) (2)Java SE:桌面级应用(也就是Eclipse一类…...

单片机时钟和闹钟设置,串口通信
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 CMS80F251xEVB使用 文章目录前言一、LCD默认进入时钟模式,P50按键按下一次进入闹钟模式,再按一次退出闹钟模式二、P20按两次,选中分钟&am…...

一学就会,20000字深度讲解 Python 数据可视化神器 Plotly
作为 Python 的新一代数据可视化绘图库,和matplotlib等传统绘图库相比,plotly具有以下优点: 简洁易用: 作为一只小透明,plotly的图表对象就像一个嵌套dict, 可以通过直接修改对象属性而改变图表形态。学习难度远远小于matplotlib.…...

html中grid布局,CSS Grid 布局揭秘
深入挖掘 CSS Grid 布局规范,发掘一些你可能不知道的特性,并探索即将到来的特性。CSS Grid 布局于 2017 年 3 月 开始被浏览器所支持,在撰写本文时,大多数网站有超过百分之70的访问者有 CSS Grid 特性支持。 这个数据还在快速增长…...

python实现加解密文本文件(一)
文章目录python实现加解密文本文件(一)一.异或操作二.字节串和字符串三.int.from_bytes函数四.json模块五.pathlib库的Path类python实现加解密文本文件(一) 在做实验之前,先对一些知识加深一下了解~~~~ 一.异或操作 …...

Plotly基础教程
Plotly 基础教程 简介 Plotly 是一个非常强大的开源数据可视化框架,它通过构建基于 HTML 的交互式图表来显示信息,可创建各种形式的精美图表。本文所说的 Plotly 指的是 Plotly.js 的 Python 封装,plotly本身是个生态非常复杂的绘图工具&am…...

SMT的两类mark点原理
所谓SMT就是表面贴装技术,其中核心设备就是贴片机。无论使用什么机型的贴片机在编程的时候都离不开一个步骤就是设置mark点,但是为什么要设置mark点呢?本文来讲解以下其中的原理。 其实这里所谓的mark点有两种类型,第一种类型…...

Excel 替换 回车
点快捷键 ctrl F进行查找与替换在查找框中,按住Alt键不放,再顺序点小键盘的1 0,然后,松开Alt键替换框中,保持为空点“全部替换”就成了转载于:https://www.cnblogs.com/renhl/p/3181095.html...

linux vi查看后退出命令,Linux下使用vi命令后退出方式
退出Vi当编辑完文件,准备退出Vi返回到shell时,可以使用以下几种方法之一。在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被…...

各统计年鉴下载网站
统计年鉴下载网址 https://www.yearbookchina.com,这个网址是可以下载各地各年的统计年鉴的...

Vue动态加载组件的两类方式(import和require)
1. 需求描述 最近开发的一个项目,涉及到这样一个需求:随着项目的不断推进,后台管理功能逐渐增多,与此同时,静态路由表也逐渐扩大,需要把静态路由方式转换为动态路由方式。要完成这样一个转换,有…...

可视化工具--Plotly
文章目录一.简介二.各图运用1.柱状图2.散点图3.冒泡散点图4.旭日图5.地图图形三.实战案例一.简介 发展由来: 随着信息技术的发展和硬件设备成本的降低,当今的互联网存在海量的数据,要想快速从这些数据中获取更多有效的信息,数…...

代码随想录Day49|121.买卖股票的最佳时期、122.买卖股票的最佳时期II
文章目录121.买卖股票的最佳时期、122.买卖股票的最佳时期II121.买卖股票的最佳时期、 文章讲解:代码随想录 (programmercarl.com) 题目链接:121. 买卖股票的最佳时机 - 力扣(LeetCode) 题目: 给定一个数组 prices…...

高潜人才的自我要求
前言,上次写了个《潜力出众的你有这样的特质吗?》,地址如下:点我查看,这次在写个高潜人才的自我要求。本次以6个纬度来进行分析;3是基本要求,4是追求卓越,看你目前做到了哪个级别&am…...

三维GIS引擎平台设计
三维GIS引擎概述 1.1. 三维地图浏览 三维场景快速浏览 可对三维场景进行各类漫游操作: 放大、缩小、平移、倾斜、旋转等 。B/S体系结构中,数据在服务器上,用户仅通过浏览器向网络上的服务器发出请求,服务器对浏览器的请求进行处理…...

关于oracle误删数据如何进行恢复
oracle数据库有类似回收站的功能,所以平时如果误删数据是有很大可能可以进行恢复的,前提是没有使用 truncate 方式来删除表以及没有使用 purge(drop table table_name purge) 1、误删单条数据时进行数据恢复: 首先通…...

ArcGIS Engine基础(16)之根据不同工作空间创建要素类
可根据不同工作空间创建不同类型要素类,工作空间包括shapefile、gdb、sde、内存工作空间等,几何类型包括点线面要素类,同时支持要素类型为注记类型。 /// <summary>/// 创建工作空间的FeatureClass/// </summary>/// <param n…...

plotly php,plotly.js 绘图库怎样使用
这次给大家带来plotly.js 绘图库怎样使用,使用plotly.js 绘图库的注意事项有哪些,下面就是实战案例,一起来看一下。本文介绍了plotly.js 绘图库入门使用教程,分享给大家,具体如下:Plotly缘起这两天想在前端…...

输入年份和月份输出该月有多少天python_题目内容:读入一个年份和月份,输出该月有多少天(考虑闰年),用s? 爱问知识人...
你错误的地方有好几处,首先是你的英语单词就弄错了,月份month不是嘴mouth而且你的是输入年份(year)和月份(month)之后进行判断,但是你scanf();函数哪里?最后就是你的case书写方式不太好看。我给你一个给你借鉴一下。希望有错误就积…...

python中range的三种用法
range函数可以创建一个整数列表,一般用在for循环中 1.range(stop): 0 - stop-1 这个代表起始值是零 ,终止值是stop-1,步长默认为1 for index in range(5): print(index is [%d]%(index)) 输出是: index is [0] index is [1] …...

R语言(五) Plotly绘图基本命令介绍
前文回顾:R语言ggplot基本语法介绍 在R语言中,除ggplot外,plotly也是一大常用的绘图包,其与ggplot的区别在于它的可交互性,本文主要整理其基本绘图命令。 目录一、基本介绍1.1 绘图语法1.2 绘图原理二、绘图示例2.1 条…...

他写出了史上最牛高考满分作文,如今在天猫卖小龙虾
大家还记不记得,2001年有篇很牛的高考满分作文,叫《赤兔之死》? 这篇作文不仅拿了满分,还被称为史上最牛的高考作文。 作者叫蒋昕捷,毕业之后去了中国青年报,南方周末,当年的画风是这样的。 后来…...

史上最牛“高考满分”作文_如今在天猫卖“小龙虾”
原文链接 大家还记不记得,2001年有篇很牛的高考满分作文,叫《赤兔之死》? 这篇作文不仅拿了满分,还被称为史上最牛的高考作文。 作者叫蒋昕捷,毕业之后去了中国青年报,南方周末,当年的画风是这样…...

OSChina 周五乱弹 —— 谁家做的饭好吃 问新垣吉衣
2019独角兽企业重金招聘Python工程师标准>>> Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 胖达panda :分享Thia Megia的单曲《Colors Of The Wind》 《Colors Of The Wind》 - Thia Megia 手机党少年们想听…...
赤兔之死高考满分作文原文及赏析
每年高考都有满分作文被爆出,受到人们的广泛关注,但是这篇作文爆出以后,很多网友都感叹作者才华横溢,文学功底扎实,这篇文章就是文言文《赤兔之死》。 1《赤兔之死》原文 建安二十六年,公元221年࿰…...

盒马十城同开新店,阿里要打造“新零售之城”!
西安不仅是盒马挺进大西北的桥头堡,也成为阿里打造“新零售之城”的先行地。 4月26日,阿里巴巴集团在西安宣布启动建设“新零售之城”,首次将新零售提升至城市层面。当天,菜鸟网络位于西安的智能物流枢纽正式启动运行。 阿里宣布打…...

他写出了史上最牛高考满分作文_如今在天猫卖小龙虾
摘要: 大家还记不记得,2001年有篇很牛的高考满分作文,叫《赤兔之死》? 这篇作文不仅拿了满分,还被称为史上最牛的高考作文。 作者叫蒋昕捷,毕业之后去了中国青年报,南方周末,当年的画…...

《赤兔之死》--蒋昕捷
所谓:人无信不立! 建安二十六年,公元221年,关羽走麦城,兵败遭擒,拒降,为孙权所害。其坐骑赤兔马为孙权赐予马忠。一日,马忠上表:赤兔马绝食数日,不久将亡。孙…...

Windows下“WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in “
在使用pip下载自己需要的包的时候突然报错显示“WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.” 最开始以为是pip版本问题,于是准备将pip强制升级重装 python -m pip install --upgrad…...

windows实战常用命令
windows实战常用命令 jar 解压jar包 jar -xvf xxx.jar : 默认解压到当前目录 powershell调用curl powershell -c curl http://www.baidu.com -UseBasicParsing windows编为base64 certutil --encode a.txt encode.txt certutil --decode encode.txt a.txt windows输…...

c语言课堂笔记,C语言课堂笔记.doc
C语言课堂笔记.doc第三讲.语言的控制结构三.循环结构1.while循环先判断,再循环 while条件 语句系列;2.do-while循环先循环,再判断 格式 do 语句系列; while条件;例求1234.100 s数 求2468100 求10 例输入n个数,统计其中能被3整除的数的个数, 输入-1时,终止输入 cnt例输入n个数,统…...

Linux和windows互传文件
lrzsz: 1 yum install -y lrzsz 测试发送一个文件从Linux到windows 1 #sz text.txt 然后就会弹出一个放文件的窗口,选择一个位置即可! 测试copy一个文件从windows到linux 当前目录 1 #rz 即可查看当面windows系统内的文件 选择传到当前目录…...

java windows docker_05-五、Windows 安装 Docker
虽然早期的 Docker 不支持 Windows,但是最新的版本都可以使用 Docker ToolBoxDocker 引擎使用的是 Linux 内核特性,所以需要在 Windows 上使用一个轻量级的虚拟机 (VM) 来运行 DockerWindows 上安装 Docker 有两种方式1、 如果你的电脑是 Window 10 且是…...

MySQL中的代理和作业选向在那块_SQL Server代理(6/12):作业里的工作流——深入作业步骤...
SQL Server代理是所有实时数据库的核心。代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的。这系列文章会通俗介绍它的很多用法。如我们在这里系列的前几篇文章所见,SQL Server代理由一系列的作业步骤组成,每…...

学生档案的java界面_JAVA编程 一个学生档案管理系统 进入后实现密码修改 在登陆界面能实现密码更改...
if(s.equals("登陆")){WindowswnewWindows();w.setVisible(false);StringidtxtId.getText();StringpasswordtxtPassword.getText();if(id.equals("111307179")&&password.equals(w....if(s.equals("登陆")){Windows wnew Windows();w.se…...

JVM 内存结构
扩展 : , JVM内存结构面试问题及解答 java文件转换成class 关系图: 一. 程序计数器 1.1定义 Program Counter Register 程序计数器(寄存器) 基本作用:用于记住下一条jvm指令的执行地址 特点: 线程是私有&#x…...

锦州师范高等专科学校计算机系,数据库原理与应用 锦州师范高等专科学校 计算机系...
7.1 7.2 7.3 7.1.1 7.1.2 7.2.1 7.2.27.3.17.3.27.3.3SQL ServerSQL Server7.1 ---- SQL Server8K ---- ----WHEREORDER BY textimagecharvarcharbinary900BUPDATESELECT 1 2(1) (2) PRIMARY KEYPRIMARY KEY(3) 7.1.1 SQL Server 2000PK_ PK__********,* Primary KeyNONCLUST...

【五】Java基础(04)---多线程
目录 一.基础概念 二.多线程创建方式 线程创建方式一:Thread 线程创建方式二:Runnable 线程创建方式三:Callable 线程创建方式四:线程池 一.基础概念 程序: 是为完成特定的任务,用某种语言编写的一组…...

Maven高级进阶
文章目录1,分模块开发1.1 分模块开发设计1.2 分模块开发实现1.2.1 环境准备1.2.2 抽取domain层步骤1:创建新模块步骤2:项目中创建domain包步骤3:删除原项目中的domain包步骤4:建立依赖关系步骤5:编译maven_02_ssm项目步骤6:将项目安装本地仓库1.2.3 抽取Dao层步骤1:…...

在windows服务器上设置定时执行python程序
前边详细内容请看这个网址: https://blog.csdn.net/wwy11/article/details/51100432 在最后完成后程序运行不起来一直0X1 代码 0 或 0x0:操作成功完成。代码 1 或 0x1:调用的函数不正确或调用了未知函数。代码 10 或 0xa:环境不正…...

w未能连接windows一个服务器,win7系统提示未能连接一个windows服务怎么办
其他相关windows服务,未能连接一个windows服务_百度搜索if(window.bds&&bds.util&&bds.util.setContainerWidth){bds.util.setContainerWidth();}老牌系统:www.lpxt.com输入法手写拼音关闭百度首页设置登录2020win7:www.2020win7.com网页…...

apache.mysql.php_Wndows下Apache+php+Mysql环境的搭建及其涉及的知识
一.安装Apache1. 在网上搜索以下3个文件,以及找一个地方新建一个文件夹好吧,这里有下载链接:http://pan.baidu.com/s/1hr9IdSS文件夹内有:apache,mysql,php文件夹,最好都不要有中文路径https是采…...

【rabbitmq windows 安装运行】
rabbitmq在window中安装运行 一、安装erlang环境 1.erlang下载地址:https://www.erlang.org/downloads 选择下载 windows installer 2.配置erlang系统环境 win10:此电脑->属性->高级系统设置->环境变量 在系统变量中新建ERLANG_HOME &#…...

W ndows7怎么看不到U盘,windows7插入u盘后没有提示修复原因和解决方法
U盘已经成为大家生活和办公中不可缺少的一部分了,经常使用U盘传输文件,但是有些用户将U盘插入 windows7系统 电脑后没有提示修复,正常情况下都会显示的,为什么windows7系统插入u盘后没有提示修复,带着这个疑问…...

WINDOWSW 内核对象,继承特性
1.内核对象句柄的继承性 当父进程创建内核对象时,必须向系统指明,它希望对象的句柄是个可继承的句柄。父进程可以使用一个或多个内核对象句柄,并且该父进程可以决定生成一个子进程,为子进程赋予对父进程的内核对象的访问权。 注意…...
Windowsw核心编程 第13章 Windows内存结构
第1 3章 Wi n d o w s的内存结构 13.1 进程的虚拟地址空间 每个进程都被赋予它自己的虚拟地址空间。对于 3 2位进程来说,这个地址空间是4 G B,因为3 2位指针可以拥有从0 x 0 0 0 0 0 0 0 0至0 x F F F F F F F F之间的任何一个值。这使得一个指针能够拥有…...

windowsw网络编程 ping程序的实现
【实验目的】 1.熟悉原始套接字编程的基本流程 2.理解ping程序的实现机制 3.理解ICMP协议的基于作用和报文格式。 4.完成原始套接字的配置。 【实验内容】 1.构造ICMP协议首部结构 2.构造ICMP回射请求结构。 3.构造ICMP回射应答结构。 4.构造IP首部结构。 5.创建原始套接字。 …...

汽车零部件开发工具巨头V公司全套OSEK NM协议栈源代码及配置功能,完成集成即可使用,代码稳定高效,大厂出品有量产保证
汽车零部件开发工具巨头V公司全套OSEK NM协议栈源代码及配置功能,完成集成即可使用,代码稳定高效,大厂出品有量产保证。 :5418000617636805182darcy169...

最快最有效卸载bcl easyconverter sdk 5 word的方法
第一步:点击下方链接, https://support.microsoft.com/zh-cn/help/17588/windows-fix-problems-that-block-programs-being-installed-or-removed 截图如下: 第二步 :点击下载,下载的文件如下 第三步:点击…...

【数据库查询--电影制片系列】-- 检索出Studio表中制片公司st1的地址。
分析:涉及到studio表,即制片公司表 原表内容详见点这里 代码如下: select address from Studio where namest1;简单的查询...

12种编程语言训练,开源的AI “程序员”来了,CMU出品
在自然语言处理领域,常用语言模型(LMs)可以实现为字符(tokens)序列分配概率。 最近,LMs 还在对编程语言编写的源代码进行建模方面表现出强大的性能,擅长从自然语言描述中完成和生成代码。 在基…...

阿里出品的ETL工具dataX初体验
我的毕设选择了大数据方向的题目。大数据的第一步就是要拿到足够的数据源。现实情况中我们需要的数据源分布在不同的业务系统中,而这些系统往往是异构的,而且我们的分析过程不能影响原有业务系统的运行。为了把不同的数据归集起来,我开始了解…...

这本PyTorch官方出品的Deep Learning With PyTorch终于有了中文版
《Deep Learning With PyTorch》,一本深受广大深度学习爱好者喜欢的书。这本书由PyTorch官方出品,中文版已经出版啦! 中文名:PyTorch深度学习实战 本书作者Eli Stevens职业生涯的大部分时间都在美国硅谷的初创公司工作࿰…...

「Activiti精品 悟纤出品」activiti介绍-十万个为什么 - 第321篇
相关历史文章(阅读本文前,您可能需要先看下之前的系列👇) 国内最全的Spring Boot系列之三 2020上半年发文汇总「值得收藏」 GraphQL的探索之路 – SpringBoot集成GraphQL之Mutation篇四 - 第317篇 RocketMQ安装Linux/Mac/Wind…...

法国INSIDE Secure 公司出品的NFC控制芯片
法国INSIDE Secure 公司的产品:SecuRead...

PyCharm母公司JetBrains出品,一款类似ggplot2的python可视化工具!!
本文简单介绍下偶遇的一个不错python可视化工具lets-plot,喜欢用R中的ggplot2绘制统计图的小伙伴一定要看看~ a、lets-plot由JetBrains(没错,和PyCharm同出一家)开发,主要参考R语言中的ggplot2,擅长统计图,但多了交互能力,所以也是基于图层图形语法(the Grammar of G…...

微软出品·kubernetes学习路线
Kubernetes正在席卷应用开发世界。到2022年,全球超过75%的组织将在生产环境中运行容器化应用程序。Kubernetes正在塑造应用程序开发和管理的未来-微软希望今天帮助您开始使用它。 于是微软出品了一个Kubernetes的学习路径指南 本指南适用于有兴趣进一步…...

YOLOv7官方出品 Alexey Bochkovskiy操刀,精度速度超越当前所有YOLO系列
目录 开源模型信息 gpu显存查看 nvidia-smi实时刷新 yolov7 pose tensorrt c++: 导出onnx ok export参数:...

字节跳动出品的 Flutter 应用内调试工具 UME 正式开源
2020 年 11 月,西瓜 Flutter 团队在字节跳动技术团队公众号上发布了 UME 工具的功能介绍和预览,今年 3 月 25 日的 Flutter Engage China 活动上,字节跳动 Flutter 技术负责人袁辉辉在 介绍 Flutter 业务的大规模落地的演讲 中也到了 UME 工具…...

anki公司即将出品Vector家庭机器人(正在预售)
anki公司出品Vector家庭机器人(cozmo升级版)正在预售($212.49) 特点: 1、红外线激光扫描器(用于远程跟踪,绘制周边地图,范围为1米,当转动时可达360度) 2、掉落…...

制片人、出品人、监制、特别出演分别指的是什么?
1、出品人(presented by) 这个词是中国制造,国外只列出出品公司,淡化资方个人影响力!因此英文也挺中式的。 出品人是电影投资方的法定代表人,一般是董事长,不一定是老板。 一部戏必须有金主出…...

流浪地球2可以投资的出品方是哪家?
当下电影投资确实比较火热,也得到了很多投资者的青睐。最近很多同学添加我的微信或者给我来电,咨询有关《流浪地球2》电影投资相关方面的问题,其实总的来说分为四大类,这里我就简单跟大家总结一下,希望对大家有所帮助&…...

出品公司 发行公司 院线的区别
出品公司 发行公司 院线的区别但是一口气问这么多宽泛的问题实在不知道哪里开始,就说说你主要不明白的部分吧。 投资方就是为一部电影投钱的人,所以一部电影拍完之后,这部电影的版权、相应收益、周边权益等都归投资方所有,最主要的…...

网络推广主要几种形式
1、登录搜索引擎 2、网站目录登录推广 3、在线黄页登录推广 4、博客营销推广 5、知道营销推广 6、网络广告推广(包含广告互换) 7、电子邮件推广 8、网址导航推广 9、IM方式(QQ,MSN,雅虎通) 10、排名营销推广 11、事件营销推广 12 、免…...

AppScan绕过登录验证码深入扫描
系列文章 AppScan介绍和安装 AppScan 扫描web应用程序 AppScan被动手动探索扫描 第四节-绕过登录验证码深入扫描 我们工作中最长碰到的工作场景是网站采用https协议,这时我们要用appScan进行扫描时,就需要先安装证书 1.证书安装 1.新建一个文件&…...

【内网安全】——windows信息收集
作者名:Demo不是emo 主页面链接:主页传送门 创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷座…...

JVM之历代垃圾收集器详解
JVM之历代垃圾收集器讲解总览分类并行和并发年轻代垃圾回收器Serial收集器特点优点缺点PartNew收集器特点:Parallel Scavenge收集器特点老年代垃圾回收器Serial Old收集器Parallel Old收集器组合CMS收集器特点工作流程1.初始标记2.并发标记3.重新标记4.并发清除G1 收…...
印象笔记改变背景颜色
平时看印象笔记都是白色的背景,如何能变换一个背景(比如深的程序员使用的豆沙绿)。 之前百度过方法比较复杂,并且那种方法好像不好用了。 下面介绍一个简单粗暴的方法。 平时我们自己的IDE如果是豆沙绿的背景颜色,我…...

油猴脚本首战---给百度加一个皮肤
油猴脚本首战—给百度加一个皮肤 先上代码: // UserScript // name 给百度加个皮肤 // namespace http://tampermonkey.net/ // version 0.1 // description 去除chrome浏览器百度的每日新闻,设置背景和颜色主题 // author Mic…...

仿网易云音乐之皮肤自选颜色
效果图 效果图 HSV 首先,要说的是HSV,这是一种颜色模型,参考百度百科资料。 H参数表示色彩信息,即所处的光谱颜色的位置。该参数用一角度量来表示,红、绿、蓝分别相隔120度。互补色分别相差180度。纯度S为一比例值&…...

物体颜色的来源
文章目录氧化膜的颜色来源铝表面的上色色彩感知黎曼度量范式转变漫反射机制有色物体对视觉的重要性玻璃为何是透明的?氙灯的颜色金的颜色氧化膜的颜色来源 利用电化学,让钛氧化,随着氧化层的逐渐加厚,其颜色也在随之变化…...

八零后记忆(转)
人生如戏,一晃几十年,有些东西你是否快要遗忘了呢?细细的品吧! 这是属于70、80后的美好回忆 ....... 捏泥巴 吹肥皂泡 捉昆虫(毛毛虫、东南西北……) 纸飞机 推铁环 打仗 画老头(一个丁老头....) 放风筝 陀…...

化学是你 化学是我9aY
昨天(10月17日)网友“方可成”在其新浪微博中上传了一段“神曲”,该段“神曲”就是由北京大学校长、著名的高分子化学家周其凤作词、由北京大学中乐学社演出的《化学是你 化学是我》,网友表示真是不伦不类,天雷滚滚。该视频已在微博上走红&am…...
iPad的开发Model与文件管理
一、ipad编程 乐吧项目练习: 1.最少实现其中的两个界面 要求: 1..使用MVC设计模式 2.自拟两个界面,其中有乐吧(页 必选) 3.每一个界面都有自己的一套MVC 4.实现两个界面功能的算及格 ipad编程中得两个控件&…...

如何让孩子避免近视
一直反对儿子看那些无聊的却天天出现的国产动画片,但完全不看电视很多时候并不现实,所以尽量找了些国内外经典的动画片让他有节制地看;一直以来也反对孩子玩手机玩电脑,所以买了很多书给他读、让他看,儿子现在居然可以…...

77-83年出生的进来看看听听
近日看到网上热烈讨论70年代人类生活之状况,甚感有趣.遂试拟出几条"十大",供各位 同年回味.或满足各位九十年代的DDMM们之猎奇心态. 另外所谓七十年代末我认为应该包括从77~83年的这一群. 十大经典游戏 还记得你小时候玩的什么游戏吗?看看下面有没有. 1.打弹珠 即打…...

没有wifi的童年,我们是这样过的
我们的小时候,没有手机,没有电脑,没有网络,却依然玩得很开心。翻花绳用手指简单比划两下,就可以翻转出许多的花样:金鱼、钱包、各种网状、一朵花...很神奇有木有!跳皮筋女孩子的最爱,…...
没有wifi的童年,我们是这样过的!
时光一去不复返, 珍惜眼前,珍惜当下! 我们的小时候, 没有手机, 没有电脑,没有网络, 却依然玩得很开心。 翻花绳 用手指简单比划两下, 就可以翻转出许多的花样: 金鱼、钱…...

谨此献给1980-1989年出生的人[42p]
看不懂也无所谓,真的!人生如戏,一晃二十几年,有些东西你是否快要遗忘了呢?细细的品吧!这是只属于我们这一代人的美好回忆,趁年青复习一下~~~捏泥巴 吹肥皂泡 捉昆虫 纸飞机 推铁环 打仗 手指游戏 粉笔画 放风筝 跳人--- 下面那个叫…...

Python中的进程和线程(20)
进程和线程进程创建多进程进程和全局变量传递参数和进程号进程的状态进程之间通信put() get()方法生产者和消费者进程子类化生产者和消费者子类化进程池线程线程子类化共享全局变量的问题多任务:对于电脑来说多任务就是同时运行多个应用程序。在python中实现多进程有…...

网络安全——网络层安全协议
作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页 目录 前言 引言 一.网络攻击与防御 1.常见的网络攻击 (1)窃听…...

8种特“坑”的 SQL 写法,性能降低100倍
给大家分享几个SQL常见的“坏毛病”及优化技巧。 SQL语句的执行顺序: 1、LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type、 name、 create_time 字段上加组…...

用c++手写一个带箭头的线
根据经纬度,和uv。算出开始点位和结束点位,并在结束点位画一个小箭头。根据需要调整0.2和0.8以及箭头的headSize 。 #include <iostream> #include <vector> #include <cmath> #include "matplotlibcpp.h" namespace plt …...

JVM-Java虚拟机(二)
执行引擎概述1.执行引擎是 Java 虚拟机核心的组成部分之一。2.JVM 的主要任务是负责装载字节码到其内部,但字节码并不能够直接运行在操作系统之上,因为字节码指令并非等价于本地机器指令,它内部包含的仅仅只是一些能够被 JVM 所识别的字节码指…...

Golang中的边界检查和边界检查消除(bounds check elimination)
边界检查大家都知道Golang是内存安全型语言,在根据索引获取数组/切片元素时,Golang runtime 会检查索引是否超出范围,如果索引超出了范围,程序就会 panic,这种机制叫做边界检查(bounds check)。…...

发现一个不错的golang框架,文档非常详细,自带代码生产dao工具,可以快速的进行项目开发,还有社区也是非常的活跃
目录前言1,关于goframe框架介绍2,创建Dao代码3,测试Dao的方法4,总结前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/129698017 未经博主允许不得转载。 博主CSDN地址是:https://blog.csdn…...

使用Python开启局域网传送数据(3):使用 simple_http_server 实现上传下载功能
💡温馨提示:本文测试环境:windows11 64位、Python3.9。 摘要:本文将介绍在 Windows 系统中如何使用 Python 的第三方模块 simple_http_server 实现在局域网中传送数据,仅限于别人上传文件给自己的功能,不具…...

Flink 第1章 基础介绍和特性
一 Flink概念 1.1 Flink的概念 Flink是一个框架和分布式处理引擎,用于对无界和有解数据流进行状态计算。如下图所示: 1.2 Flink的应用场景 1.3 Flink的目标 1.高吞吐量 2.低延迟 3,结果的准确性和良好的容错性。 1.4 Flink与spark的区别…...

JavaScript查找数组内的元素的方法 filter() find includes findIndex lastIndexOf indexOf
需求:查找数组内元素6是否存在 let arr [1, 3, 6, 5, 7, 6]; 方法1、indexOf方法 let index1 arr.indexOf(6); console.log(index1);//2方法2、lastIndexOf方法 从右至左查找,找到返回索引,找不到返回-1 let index2 arr.lastIndexOf(6)…...

mybatis-plus的批量新增insertBatchSomeColumn
MyBatis-Plus 是基于 MyBatis 进行封装的一套优秀的持久层框架,它提供了丰富的便捷操作方法和强大的代码生成器,大大简化了 MyBatis 的使用。在 MyBatis-Plus 中,我们可以使用 insertBatchSomeColumn 方法来实现批量新增指定字段的操作。 myb…...

2023-第十四届蓝桥杯冲刺计划!
💬前言 💡本文以目录形式列举大纲,可根据题目点击跳转 🌈冲刺阶段目的:把握高频重点,结合基础算法和常考题型总结,用真题进行模拟练习 根据自己的能力熟练目前已掌握的算法,不会的还可以暴力 ⏳最后三个星期大家一起冲…...

通过Linux串口实现树莓派与电脑通信
目录 一 串口说明 二 USB—TTL模块 ● usb-ttl模块接口 三 串口通信常用的API 四 修改串口的配置文件 五 串口通信代码验证 ● 发送一个字符/字符串到串口 ● 树莓读取串口数据(字符) ● 代码拓展(双方) 一 串口…...

「解析」Linux使用Screen挂起线程
之前一直使用 nohup进行挂起,但是在进行训练的时候发现通过Pyhton脚本调用的时候虽然可以挂起,但是貌似没办法真正的执行命令,目前还不知道具体什么原因造成的,因此更加推荐 screen 进行挂起,并且 screen 还可以跨设备…...

【Unity 手写PBR】Build-in管线:实现直接光部分
写在前面 前期积累: GAMES101作业7提高-实现微表面模型你需要了解的知识 【技术美术图形部分】PBR直接光部分:Disney原则的BRDF和次表面散射模型 【技术美术图形部分】PBR全局光照:理论知识补充 算是对光照模型计算的查漏补缺吧ÿ…...

Java Druid,反射,反射封装DBUtil
零、 复习昨日SQL注入预处理语句String sql "select * from user where id ?"; PreparedStatement ps conn.preparedStatement(sql); ps.setInt(1,id); // ps.setDate(1,new java.sql.Date(user.getDate().getTime())) ps.executeQuery();DBUtil一、数据库连接池…...

5G-Advanced时代,移动终端将迎来哪些新特性?
去年6月,3GPP R17版本正式冻结,标志着5G第一阶段的技术研究基本完成。接下来,5G将迈入以R18、R19、R20为代表的第二阶段,开启后半段的征程。这个后半段,3GPP将其定义为5G-Advanced阶段。回顾过去几年的5G发展ÿ…...

设计模式:单例设计模式总结
单例模式的概念 保证一个类在内存中的对象唯一性(单个实例设计模式) 应用场景 单例模式一般用在对实例数量有严格要求的地方,比如数据池,线程池,缓存,session回话等等。数据库连接池的设计一般也是采用单…...

Applications of fractional calculus in computer vision: A survey
Abstract 分数阶微积分是一种抽象的概念,探索了具有非整数阶微分的解释。很长一段时间以来,它被认为是一个纯理论问题。然而,引入了几个有用的分数阶导数定义,扩展了其应用范围。在计算能力和算法表示的支持下,分数阶…...

报名开启 | 共赴一场 Flutter 的春日宴
2023 年 1 月 25 日,Flutter Forward 大会在肯尼亚首都内罗毕成功举办,吸引了全球范围内开发者广泛的关注和反馈。为了扩大 Flutter Forward 活动在全球的影响力,并以中国本地语言回顾最新的 Flutter 相关发布,谷歌开发者社区 (GD…...

JVM知识整理
JVM知识整理 JVM的主要组成部分 JVM包含两个两个子系统(类加载子系统和执行引擎)和两个组件(运行时数据区与和本地库接口) 类加载子系统:根据给定的全限定类名来加载class文件到运行时数据区域中的方法区。执行引擎&a…...

iptables-ipset仅允许国内访问---端口白名单
前言:境外肉鸡攻击有点多,并业务无境外访问需求,IDC机房网络防火墙无法实现8K多条的china大陆地址导入;为实现仅china大陆地址访问,在业务端口如这里的80,使用iptables防火墙ipset过滤实现访问控制,对于访问…...

Docker安装记录
一、安装过程 1.安装Docker Engine arm64 推荐使用官网安装中的Install from a package docker官网安装Docker Engine Docker Engine(arm64版本)的相关deb包下载地址 amd64 卸载系统自带的旧版本 sudo apt-get remove docker docker-engine docke…...

聚观早报 | 拼多多驳斥Google的指控;80%美国人工作将被AI影响
今日要闻:拼多多驳斥Google“恶意软件”的指控;80%美国人工作将被AI影响;iPhone 15 Pro设计图上热搜;贾扬清离职阿里投身AI大模型创业;OPPO Find X6 系列发布拼多多驳斥Google“恶意软件”的指控 3 月 21 日࿰…...

【Linux】autofs自动挂载
文章目录前言一、简介二、autofs安装与配置三、挂载效果验证四、总结前言 在Linux中,若要访问硬件资源,则需使用mount命令对其进行挂载(或者写入/etc/fstab文件开机自动挂载),将硬件资源与本地目录相关联,…...

ModalForm的使用
一、ModalForm销毁配置了modalProps{{ destroyOnClose: true }},弹框在隐藏时会销毁,同时清除原有数据。二、ModalForm编辑赋值首先发现有一个初始值赋值方法initialValue,但是使用后一直显示原来的值,这样就无法使用,…...

数据结构与算法——堆的基本存储
目录 一、概念及其介绍 二、适用说明 三、结构图示 四、Java 实例代码 五.堆和栈的区别 一、概念及其介绍 堆(Heap)是计算机科学中一类特殊的数据结构的统称。 堆通常是一个可以被看做一棵完全二叉树的数组对象。 堆满足下列性质: 堆中某个节点的值总是不大…...

yarn环境配置
一、安装node.js 1、在想安装的位置创建一个Node文件夹(不要有空格) 2、直接在官网下载进行安装 二、配置环境 1、在node.js安装目录下新建两个文件夹 node_global和node_cache 2、在C盘找到cmd.exe,以管理员身份运行 npm config set p…...

git 相关操作-提交代码步骤
https://blog.csdn.net/matrix_google/article/details/87988330 clone代码和切换分支 git clone -b v1.2 git192.168.3.198:qq/pp.gitgit checkout 分支名# git从远程仓库中拉取新的指定分支:若本地分支不存在的情况: git checkout -b 本地分支名称 origin/远程分…...

Windows IDEA 导入java maven项目
Windows 参考https://www.bilibili.com/video/av78474321/ 准备 java jdk1.8 安装教程配置环境变量 https://www.cnblogs.com/mr-wuxiansheng/p/6850437.html maven apache-maven-3.6.3 建议放在用户权限的位置,有修改内容,保证有权限修改配置环境…...

网络安全文章汇总导航(持续更新)
网络安全文章汇总导航(持续更新)1.基础篇(已完结):2.工具篇(持续更新):3.靶场安装(持续更新,但不确定):4.权限提升(持续更…...

基于深度学习的海洋动物检测系统(Python+YOLOv5+清新界面)
摘要:基于深度学习的海洋动物检测系统使用深度学习技术检测常见海洋动物,识别图片、视频和实时视频中的海洋动物,方便记录、展示和保存结果。本文详细介绍海洋动物检测系统,在介绍算法原理的同时,给出Python的实现代码…...

AIGC图像生成的原理综述与落地畅想
AIGC,这个当前的现象级词语。本文尝试从文生图的发展、对其当前主流的 Stable Diffusion 做一个综述。以下为实验按要求生成的不同场景、风格控制下的生成作品。概述▐ 技术演进一:昙花初现 GAN 家族GAN 系列算法开启了图片生成的新起点。GAN的主要灵感…...

三级数据库备考--数据库应用系统开发方法(二)(错题整理)
1.数据库应用系统设计包括概念设计、逻辑设计、物理设计3个步骤,每个步骤的设计活动按照数据组织与存储、数据访问与处理、应用设计等几个方面进行。在数据库概念设计阶段,采用自下而上的 E-R 设计。将关系模式转换为具体 DBMS 平台支持的关系表是数据库…...

驯服奇特数字:java.text.DecimalFormat的神奇之力
前言我们在实际项目中可能会遇到各种奇特的数字格式。这些非常规的数字表现形式可能会在PPT演示、报表或其他文档中出现。对于研发人员而言,如果没有合适的数字格式化工具,处理这些数字可能会让你走很多弯路。今天,我们将介绍一款专门用于处理…...

2023年全国最新安全员精选真题及答案30
百分百题库提供安全员考试试题、建筑安全员考试预测题、建筑安全员ABC考试真题、安全员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 91.(单选题)根据《建筑施工企业安全生产管理规范》,…...

浙江咪咕MGV3200_KLH_国科GK6323_2+8_免拆机卡刷固件包
浙江咪咕MGV3200_KLH_国科GK6323_28_免拆机卡刷固件包 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软件,运行…...

【内网安全】 隧道搭建穿透上线FRPNPSSPPNgrokEW项目
文章目录内网穿透-Ngrok-入门-上线1、服务端配置:2、客户端连接服务端:3、客户端生成后门配置监听:内网穿透-Frp-简易型-上线1.服务端-下载-解压-修改-启动(阿里云主机记得修改安全组配置出入口)2.控制端-下载-解压-修…...

机器视觉检测技术在检测产品表面缺陷的应用
产品表面缺陷检测属于机器视觉技术的一种,就是利用机器视觉模拟人类视觉的功能,从具体的实物进行图像的采集处理、计算、最终进行实际检测、控制和应用。当今消费类电子产品的消费者们都期待开箱看到完美无瑕的产品。有划痕、凹凸不平和带有其他瑕疵的产…...

电子招标采购系统源码—企业战略布局下的采购
智慧寻源 多策略、多场景寻源,多种看板让寻源过程全程可监控,根据不同采购场景,采取不同寻源策略, 实现采购寻源线上化管控;同时支持公域和私域寻源。 询价比价 全程线上询比价,信息公开透明࿰…...

UE4如何调用打开Windows窗口
游戏开发过程中,有时需要明显的提示游戏运行时出现的问题,比如配置错误等信息,不仅需要输出错误到日记文件,还需要明显的显示错误信息给到非程序人员看到。那么打开系统窗口提示就是一个非常好的选择。 案例1: //FTe…...

Golang每日一练(leetDay0013)
目录 37. 解数独 Sudoku Solver 🌟🌟🌟 38. 外观数列 Count and Say 🌟🌟 39. 组合总和 Combination Sum 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Py…...

分布式数据 之 分区
文章目录1. 分区的目的/必要性2. 数据分区的方法2.1 按键的范围分区2.2 按键的散列分区2.3 数据倾斜和消除热点2.3.1 预分区2.3.2 动态分区3. 次级索引3.1 按文档的二级索引3.2 根据关键词的二级索引4. 分区再平衡4.1 固定数量的分区4.2 动态分区4.3 按节点比例分区5. 总结对于…...

血压计语音芯片,电子医疗设备声音提示ic选型
语音电子血压计是带有语音提示功能的电子血压计,测量前至测量结果全程语音播报,非常方便老人及视力不好的人使用。广州九芯电子主要从事电子医疗设备语音芯片的技术开发生产销售和服务,专业为血压计控制器制造商提供血压计语音芯片技术开发和…...

内存DDR4和DDR5的区别
1)内存频率,DDR5相比DDR4频率实现翻倍,DDR4刚上市时,主流内存频率一般只有2133和2400MHZ, 后期才进一步将内存的频率提升到2666MHZ或以上,目前旗舰级的DDR4内存频率可以做到4266MHZ或者 更…...

短链接是怎么设计的?带你入门
文章目录前言一、短链1、原理1.1 短链生成原理1.2 短链跳转原理:2、设计:2.1 短链需求2.2 考虑的问题?二、实践案例1、设计表:2、生成短链:前言 说到 URL 你肯定不陌生,浏览器输入一段 URL,立马…...

【免费分享】全球海洋测深DEM(GEBCO)数据集
(本文首发于“水经注GIS”公号,订阅“水经注GIS”公号,为你分享更多GIS技术 )1、概述GEBCO(General Bathymetric Chart of the Oceans)全球 DEM数据集(Geo-Engineering Digital Savageÿ…...

【UIScrollView实现基本滚动 Objective-C语言】
一、我们先来说一下,上节课讲的是啥,都忘了上节课讲的是啥了吗, 1.上节课我们讲的是“猜图游戏”吧, 2.咱们第一天讲的是啥,讲的是怎么使用按钮吧,按钮一些基本控件,点击按钮,是不是高亮状态和普通状态,是不是切换图片吧,对吧 3.第二天学了什么,是不是图片浏览器…...

【ROS学习笔记17】ROS常用仿真组件URDF集成Gazebo
【ROS学习笔记17】ROS常用仿真组件URDF集成Gazebo 文章目录【ROS学习笔记17】ROS常用仿真组件URDF集成Gazebo前言1. URDF集成Gazebo1.1 URDF与Gazebo基本集成流程1.2 URDF集成Gazebo相关设置1.3 URDF集成Gazebo实操1.4 Gazebo仿真环境搭建2. URDF、Gazebo、Rviz综合应用2.1 机器…...

【vue2】vue2中的性能优化(持续更新中)
⭐ v-for 遍历避免同时使用 v-if ⭐ v-for 中的key绑定唯一的值 ⭐ v-show与v-if对性能的影响 ⭐ 妙用计算属性 ⭐ 使用防抖与节流控制发送频率 ⭐ 路由守卫处理请求避免重复发送请求 ⭐ 使用第三方UI库的引入方式 【前言】 该系列是博主在使用vue2开发项目中常用上的一…...

JavaEE-线程安全问题
1.线程安全的概念 如果多线程环境下代码运行的结果是符合我们预期的,即在单线程环境应该的结果,则说这个程序是线 程安全的. 为啥会出现线程安全问题? 本质原因: 线程在系统中的调度是无序的/随机的 (抢占式执行). 2.开始说明 先看个线程不安全的例子…...

服务端(一)安装 nvm 以及管理 node 版本
安装nvm地址 Releases coreybutler/nvm-windows GitHubA node.js version management utility for Windows. Ironically written in Go. - Releases coreybutler/nvm-windowshttps://github.com/coreybutler/nvm-windows/releases 直接下载安装,注意安装路径中…...

JDK源码系列:ThreadLocalMap到底是如何清理失效节点的?
在前面的关于ThreadLocal的文章中提到了所谓的内存泄漏问题,同时也提到了ThreadLocalMap在某些场景下会主动清理坏掉的Entry来释放内存,要理解它是怎么做到的,就必须理解它是怎么解决哈希冲突的,尤其是“真删除”Entry后如何保证不…...

C++11:改善程序性能
1 右值引用 1.1 右值引用的特性 C11中所有的值必属于左值、将亡值、纯右值三者之一。将亡值和纯右值都属于右值。区分表达式的左右值属性有一个简便方法:若可对表达式用&符取址,则为左值,否则为右值。 比如,简单的赋值语句: int i 0;…...

Spring入门篇3 --- 依赖注入(DI)方式、集合注入
目录1.依赖注入方式依赖注入(DI:dependence injection):在容器中建立bean与bean之间的依赖关系的整个过程。向一个bean中传递数据有三种方法:setter注入、构造器注入、自动装配/src/main/java/com/itheima/dao/BookDao.javapackage com.ithei…...

OB运维 | tenant--删除租户的流程设计
作者:姚嵩 不知道是地球人还是外星人,知道的可以留言告诉小编… 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 背景: ob中的租户相当于我们平常认知的…...

华为OD机试题,用 Java 解【乱序整数序列两数之和绝对值最小】问题 | 含解题说明
华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典本篇题目:乱序整数序列两数之和绝对值最小…...

刻意练习:数据结构复习思路
针对性的插入链接了解考试形式和试卷结构做到心中有数一、数据结构与算法(一) 数据结构的基本概念(二) 算法和算法分析1. 算法基本概念2. 算法的时间和空间性能分析二、线性表(一) 线性表的基本概念(二) 线性表的顺序存储结构和链式存储结构(三) 线性表的应用三、栈和队列(一) …...

Mybatis入门案例【超详细】
目录 前言 一、查询所有用户 1. 持久层添加查询所有方法 2. 在UserMapper.xml映射文件添加查询语句 3. 测试方法 4. 运行结果 二、MyBatis核心对象及工作流程 1. MyBatis核心对象 2. MyBatis工作流程 3. 使用SqlSession操作数据库 三、添加其他常见方法 1. Mybatis新…...

学习系统编程No.8【bash实现】
引言: 北京时间:2023/3/22/6:59,一晃3月都要过去了,时间真快,我都不知道自己这个月是怎么过的呢?怎么就要结束了,难受,恍惚自己还在2022年,刚刚晨跑回来,洗完…...

微服务注册中心做了什么事——服务发现
是否被一大堆的注册中心八股文淹没,不知道哪个是哪个,有啥区别甚至于不知道哪几个功能重叠互为替代,请看下文。 服务发现 服务发现如何做到持续维护服务地址在动态运维中的时效性 那在正式开始学习之前呢,让我们先来思考一个…...