自学Matlab-Simscape(初级)- 2.1 Simscape Multibody 模块之关节(运动副)
Matlab-Simscape自学系列文章目录
1.了解Simscape Multibody Link模块
2.掌握Simscape Multibody 模块
3.掌握Simscape Electrical模块
4.掌握Simscape Driveline 模块
5.了解Simscape Fluids模块
6.了解Simscape Battery模块
7.掌握Simscape Mechanical Interfaces 模块
8.掌握Implement Component Behavior Using Simscape
9.掌握Interfacing Simscape Models with Simscape Electrical Specialized Power Systems
10.掌握Simscape Multibody Pane: General
文章目录
- Matlab-Simscape自学系列文章目录
- 前言
- 一、关节连接建模
- 二、关节自由度
- 2.1 轴承关节Bearing Joint
- 2.2Bushing Joint(套管关节或衬套关节)
- 2. 3Cartesian Joint(笛卡尔关节)
- 2.4 Pin Slot Joint(销槽关节)
- 2.5 Lead Screw Joint(丝杠关节)
- 2.6Gimbal Joint(万向节)
- 2.7 Constant Velocity Joint(等速关节)
- 2.8 Planar Joint(平面关节)
- 2.8 *Prismatic Joint(棱柱形关节或移动关节)
- 2.9 Telescoping Joint(伸缩关节)
- 2.10 Universal Joint(万向节)
- 2.11 Weld Joint(焊接关节)
- 2.12 6-DOF Joint(六自由度关节)
- 2.13 Rectangular Joint(矩形关节)
- 三、关节原语
- 四、关节惯性
- 总结
前言
在多体动力学仿真中,关节是连接各个部件并定义其相对运动的关键元素。Simscape Multibody 提供了丰富多样的关节类型,从简单的固定关节到复杂的多自由度关节,每种关节都为系统建模提供了独特的功能。本文将详细介绍这些关节的特性及其应用场景,帮助读者更好地理解和选择合适的关节来构建高效的多体系统模型。
一、关节连接建模
在多体动力学模型中,关节施加了主要的运动学约束,决定了部件之间可以如何相对运动。关节可以是物理连接,例如线性液压作动器的缸体和活塞杆之间的连接;也可以是虚拟连接,例如地球和月球之间的连接。在Simscape™ Multibody™中,您可以使用关节块来建模这两种连接类型。
齿轮和约束块也会在部件之间施加运动学约束。关节块有什么不同呢?齿轮和约束块是根据它们在部件之间移除的自由度(DOFs)进行参数化的,而关节块是通过称为关节原语的模块来提供自由度进行参数化的。
二、关节自由度
每个关节块连接两个部件。这种连接决定了相邻部件可以共享的最大自由度。这些自由度范围从Weld Joint焊件关节块的零自由度到六自由度关节和衬套Bushing Joint 关节块的六个自由度——三个平移自由度和三个旋转自由度。平移指的是位置的变化,旋转指的是方向的变化。
关节自由度是衡量关节活动性的指标。在模型中排除其他约束的情况下,具有更多自由度的关节允许相邻部件之间有更大的运动自由度。关节自由度还有数学上的解释。它们是模拟过程中每个时间步确定关节配置所需的最少状态变量数量。
考虑一个矩形关节rectangular joint。该关节允许在平面上平移,因此它有两个平移自由度——每个空间维度一个。在每个时间步,关节配置由两个状态变量完全确定,即运动平面上的位置坐标 [x(t), y(t)].
下表总结了各种关节块提供的自由度。
2.1 轴承关节Bearing Joint
该块表示具有一个平移自由度和三个旋转自由度的关节。一个棱形基本体提供平移自由度,而三个旋转基本体提供了这三个旋转自由度。
2.2Bushing Joint(套管关节或衬套关节)
在Simscape Multibody中,Bushing Joint(套管关节或衬套关节)是一种用于模拟两个刚体之间复杂连接的组件。这种关节允许三个平移自由度和三个旋转自由度,这意味着它能够模拟一个刚体相对于另一个刚体在所有六个自由度上的相对运动。
- 关键特点:
自由度:Bushing Joint提供了完整的六自由度(6-DOF),包括沿X、Y、Z轴的平移以及绕这三个轴的旋转。
柔性连接:虽然名字中有“关节”,但Bushing Joint实际上更接近于一种柔性连接,它可以用来模拟如橡胶衬套或其他具有弹性和阻尼特性的机械部件。
参数化:用户可以通过设置不同的参数来定义这个关节的特性,比如刚度(stiffness)、阻尼(damping)等,以模拟不同类型的物理行为。
- 应用:这种关节非常适合用于模拟那些需要考虑弹性变形和能量吸收的应用场景,例如车辆悬挂系统中的衬套、机器基座上的减振器等。
- 力学仿真:通过使用Bushing Joint,工程师可以在设计阶段就对系统的动态响应进行仿真分析,评估结构的稳定性和振动特性。
2. 3Cartesian Joint(笛卡尔关节)
在Simscape Multibody中,**Cartesian Joint(笛卡尔关节)**是一种允许相对于基础框架沿三个正交轴进行平移运动的关节类型。这种关节不提供任何旋转自由度,仅限于平移。它非常适合用于模拟需要在三维空间内进行线性移动的机械系统部分,比如某些类型的机器人臂或平台。
- 主要特性
三个平移自由度:沿着X、Y和Z轴的平移运动。
无旋转自由度:不允许绕任何轴的旋转。
相互正交的轴:平移运动是沿着一组相互正交的轴进行的,这组轴通常与基础框架对齐。 - 使用场景
用于需要精确控制物体在三维空间中的位置的应用,例如XYZ工作台或三自由度平移平台。
可以用来构建更复杂的机械系统的一部分,其中某些组件只需要在特定方向上线性移动。 - 应用实例
假设你正在设计一个可以在三维空间内移动的机械臂末端执行器。你可以使用Cartesian Joint来实现该执行器沿X、Y、Z轴的精确线性定位,而不考虑任何旋转运动。这样就可以确保执行器能够到达工作空间内的任意位置,而不会受到不必要的旋转影响。
2.4 Pin Slot Joint(销槽关节)
在Simscape Multibody中,**Pin Slot Joint(销槽关节)**是一种允许一个框架相对于另一个框架进行特定组合运动的关节类型。具体来说,这种关节提供了一个旋转自由度和一个沿着特定方向的平移自由度。它通常用于模拟机械系统中的滑动和旋转结合的应用场景。
Pin Slot Joint的主要特点
一个旋转自由度和一个平移自由度:Pin Slot Joint允许绕一个固定点或轴旋转,并且沿一个指定的方向线性移动。这使得它非常适合模拟那些需要同时进行旋转和平移的应用。
固定的轨迹:该关节限制了运动路径,使其只能按照预定的方式移动,即沿着槽的方向进行平移,同时可以绕着销旋转。
使用场景
- 连杆机构:用于设计复杂的机械连杆系统,如发动机的活塞连杆机构,其中需要精确控制旋转和平移的组合运动。
- 自动化设备:适用于需要直线和旋转动作结合的自动化装置,例如自动门、升降平台等。
- 机器人技术:可用于机器人的某些部分,比如需要伸缩和旋转能力的机械臂。
示例应用
假设你正在设计一种新型的自动化生产线上的抓取机械手,这个机械手需要既能伸缩又能旋转来准确地定位和抓取物品。使用Pin Slot Joint可以帮助你实现这种功能,确保机械手可以在一个平面内自由移动并旋转到所需的角度,从而提高操作的灵活性和效率。
2.5 Lead Screw Joint(丝杠关节)
在Simscape Multibody中,**Lead Screw Joint(丝杠关节)**是一种特殊类型的关节,它用于模拟丝杠机构的行为。丝杠机构通过旋转运动转换为线性运动或反之,广泛应用于各种机械设备中,如自动化设备、机床和机器人等。
- Lead Screw Joint的主要特点
旋转与平移的转换:Lead Screw Joint允许将一个框架的旋转运动转换成另一个框架的线性运动,或者相反。这种转换基于丝杠的螺距。
一个旋转自由度和一个平移自由度:通常情况下,这种关节提供绕丝杠轴线的旋转自由度以及沿丝杠轴线的平移自由度。
参数化设置:用户可以根据实际应用需求设置丝杠的螺距、效率以及其他物理特性,如摩擦等。 - 使用场景
自动化系统:用于精确控制机械部件的位置,例如XYZ工作台。
精密仪器:在需要高精度位置控制的应用中使用,比如光学实验设备中的定位系统。
工业机器人:用于机器人的手臂或末端执行器的精确定位。
2.6Gimbal Joint(万向节)
Gimbal Joint是一种允许围绕三个正交轴进行旋转运动的关节类型。这种关节提供了三个旋转自由度,可以用来模拟如陀螺仪、万向支架等机械系统中的复杂旋转行为。
- 主要特点
三个旋转自由度:Gimbal Joint允许绕X、Y和Z轴的独立旋转。
无平移自由度:该关节不允许任何方向上的平移运动。
相互正交的轴:旋转是围绕一组初始时相互正交的轴进行的,这组轴通常与基础框架对齐。 - 使用场景
航空航天领域:用于模拟飞行器姿态控制系统中的万向架结构。
机器人技术:在需要多自由度旋转运动的应用中使用,例如某些类型的机械臂末端执行器。
稳定平台:用于设计能够保持稳定指向或位置的平台,即使安装在其上的载体发生移动。
2.7 Constant Velocity Joint(等速关节)
在Simscape Multibody中,**Constant Velocity Joint(等速关节)**是一种专门设计用来确保即使在存在角度偏移的情况下,输入和输出轴之间的旋转速度保持恒定的关节。这种类型的关节广泛应用于汽车传动系统中,如驱动轴中的万向节(universal joints),以确保动力平滑传递到车轮,尤其是在车辆转弯时。
- 主要特点
等速特性:无论输入轴和输出轴之间存在多大的角度偏移,Constant Velocity Joint都能保证两轴之间的角速度一致。
应用范围:主要用于需要确保旋转速度一致性的应用场景,例如汽车的前轮驱动系统、某些类型的机器人关节等。
模拟复杂运动:通过这种关节,可以模拟复杂的机械连接,这些连接需要在一定角度范围内维持恒定的速度比。 - 使用场景
汽车传动系统:用于将发动机的动力平滑地传递给车轮,特别是在前轮驱动或全轮驱动车辆中。
精密机械装置:在要求高精度和稳定性的机械系统中,如精密机床或自动化设备,使用等速关节来保证各部分之间的同步性。
2.8 Planar Joint(平面关节)
在Simulink的Simscape Multibody中,**Planar Joint(平面关节)**是一种允许两个框架之间在一个平面内自由移动的关节类型。具体来说,这种关节提供了两个平移自由度和一个旋转自由度,使得连接的部件可以在指定的平面内进行线性移动和旋转。
- Planar Joint的主要特点
两个平移自由度和一个旋转自由度:这意味着连接到Planar Joint的物体可以在一个平面内沿两个方向移动,并绕垂直于该平面的一个轴旋转。
限定运动范围:通过设置可以限制这些自由度的具体范围,以符合特定应用的需求。 - 使用场景
平台和滑块系统:非常适合用于模拟能够在地面上或特定平面内自由移动的机械系统,如XY工作台、滑动门等。
机器人技术:适用于某些类型的机器人基础或臂部结构,其中需要在平面内进行精确的位置控制。
车辆动力学:可用于模拟车轮与地面之间的接触情况,尤其是在研究悬挂系统和平稳性时。 - 示例应用
假设你正在设计一个自动化设备中的XY定位平台,这个平台需要能够在其安装平面上任意移动并可能还需要绕垂直于该平面的轴旋转来进行微调。使用Planar Joint可以帮助你实现这种功能,确保平台可以在一个平面内自由移动并旋转,从而提高操作的灵活性和精度。
2.8 *Prismatic Joint(棱柱形关节或移动关节)
**Prismatic Joint(棱柱形关节或移动关节)**是一种允许沿着一个轴线进行平移运动的关节类型。这种关节通常用于模拟直线运动机制,如活塞、滑块等。
- 主要特点
单个自由度:Prismatic Joint只提供沿一个特定方向的平移运动,即沿着定义的轴线。
无旋转自由度:该类型的关节不允许绕任何轴的旋转。
使用场景
直线运动系统:比如气缸、液压缸或电动线性执行器。
机器人技术:用于机器人的某些部分,例如需要直线伸缩能力的机械臂。
自动化设备:适用于需要精确控制物体位置的应用场景,如XYZ工作台。
2.9 Telescoping Joint(伸缩关节)
此块表示具有一个平移自由度和三个旋转自由度的关节。一个棱形基本体提供平移自由度。一个球形基本体提供这三个旋转自由度。
该关节允许在一个方向上进行线性移动(通过棱形基本体实现),同时允许围绕三个相互垂直的轴进行全面的旋转运动(通过球形基本体实现)。这种组合使得连接到该关节的物体既能沿特定方向滑动,又能自由地在空间中旋转。
2.10 Universal Joint(万向节)
在Simulink的Simscape Multibody中,**Universal Joint(万向节)**是一种允许两个连接体之间进行特定类型旋转运动的关节。它提供了两个旋转自由度,通常用于需要允许一定程度角位移但限制其他运动的应用场景中。
- Universal Joint的主要特点
两个旋转自由度:Universal Joint允许绕两个相互垂直的轴进行旋转,但不允许沿任何轴的平移或绕第三个轴的旋转。
应用广泛:这种类型的关节非常适合模拟需要在一个节点处实现两个方向旋转的机械系统,如汽车传动系统的万向节、机器人关节等。 - 使用场景
动力传输:用于将动力从一个部件传递到另一个部件,尤其是在两者之间的角度不是固定的场合,例如汽车的驱动轴。
机器人技术:适用于机器人的某些部分,特别是那些需要复杂姿态调整能力的部分。
机械臂:可用于需要在两个方向上灵活转动的机械臂设计。
2.11 Weld Joint(焊接关节)
在Simulink的Simscape Multibody中,**Weld Joint(焊接关节)**是一种特殊的关节类型,它实际上并不提供任何自由度。这种关节用于将两个框架(即基础框架和跟随者框架)完全固定在一起,使它们作为一个单一的刚性体一起移动。因此,Weld Joint主要用于创建没有相对运动的连接点。
- Weld Joint的主要特点
零自由度:与提供平移或旋转自由度的其他关节不同,Weld Joint不允许任何类型的相对运动。使用这种关节连接的两个框架是绝对固定的,无法相对于彼此移动。
增强模型稳定性:通过消除不必要的自由度,可以提高仿真模型的稳定性和效率,减少计算负担。 - 使用场景
构建刚性结构:当需要确保两个部分之间没有相对运动时使用,比如车辆底盘上的部件、机械臂的固定部分等。
简化复杂系统:有助于简化复杂的多体系统建模过程,通过固定不需要移动的部分来降低系统的总体复杂度。
装配体:在设计和模拟过程中,用于表示那些实际中被焊接、螺栓连接或其他方式牢固连接在一起的组件。
2.12 6-DOF Joint(六自由度关节)
在Simulink的Simscape Multibody中,**6-DOF Joint(六自由度关节)**是一种允许两个框架之间进行全方位相对运动的关节类型。正如其名,这种关节提供了全部六个自由度:三个平移自由度和三个旋转自由度。这使得它非常适合用于模拟需要完全灵活性的应用场景。
- 6-DOF Joint的主要特点
六个自由度:包括三个平移自由度(沿X、Y、Z轴的移动)和三个旋转自由度(绕X、Y、Z轴的旋转)。这意味着连接到该关节的物体可以在三维空间内自由移动和旋转。
无约束运动:由于没有限制任何方向上的运动,6-DOF关节能够模拟最广泛的机械行为,适用于需要高度灵活性的设计。 - 使用场景
机器人技术:对于需要高精度定位和姿态调整的机械臂末端执行器等应用非常有用。
虚拟测试平台:可以用来创建用于测试其他机械系统或控制器的虚拟环境。
航空与航天:适用于模拟飞行器的姿态控制系统,因为它们需要在所有方向上都有完全的控制能力。
精密仪器:用于那些要求能够在多个维度上精确调整位置和角度的设备,如显微镜、望远镜等。
2.13 Rectangular Joint(矩形关节)
矩形关节”可能指的是提供特定方向上的线性运动自由度的关节.
- 应用场景
自动化设备:适用于需要在二维平面内精确控制物体位置的应用,如XY工作台。
机器人技术:可用于机器人的某些部分,特别是那些需要在平面上灵活移动的部分。
实验装置:在科研实验中,用于定位和调整设备的位置。
在关节处的实际自由度通常比单独关节所允许的要少。当模型中的其他运动学约束限制了相邻部件的相对运动时,就会出现这种情况。这些约束可能来自相互啮合的齿轮、由于闭合运动学环路中其他关节而禁止的自由度,以及部件之间的固定距离和角度等因素。
三、关节原语
关节块是关节原语的组合,关节原语是各种类型的完整关节,不能再进一步分解——至少在不丢失行为(例如螺杆关节的旋转平移耦合)的情况下不能。关节原语的数量从焊件关节块的零个到衬套关节块的六个不等。共有五种关节原语:
- 滑动原语 — 允许沿单个标准轴( x, y, 或z)平移。关节块最多可包含三个滑动关节原语,每个平移自由度一个。滑动原语标记为P*,其中星号表示运动轴,例如Px、Py或Pz。
- 铰接原语 — 允许绕单个标准轴( x, y, 或z)旋转。关节块最多可包含三个铰接关节原语,每个旋转自由度一个。铰接原语标记为R*,其中星号表示运动轴,例如Rx、Ry或Rz。
- 球形原语 — 允许绕任意三维轴,关节块最多包含一个 球形原语,且从不与铰接原语组合。球形原语标记为S。
- 螺杆原语 — 允许在标准轴(例如 z)上进行耦合的旋转和平移。这种原语 在一端将旋转转换为另一端的平移。 关节块最多包含一个螺杆原语。螺杆原语标记为LS*,其中星号表示运动轴。
- 等速原语 — 允许在相交但任意对齐的轴之间以恒定速度旋转。关节块 最多包含一个等速原语。等速原语标记为CV。
下表总结了各种关节块提供的关节原语和自由度
为什么使用带有球形原语的关节块?那些带有三个铰接原语的关节块容易出现万向节锁——当任意两个旋转轴对齐时,自然但通常是不希望出现的丢失一个旋转自由度的情况。万向节锁会导致由于数值奇点而产生的模拟错误。球形原语通过使用称为四元数的四维量来表示三维旋转,消除了万向节锁错误的风险。
四、关节惯性
Simscape Multibody关节是理想化的。它们与真实关节不同,因为它们没有惯性——在大多数模型中,这是一个合适的近似,因为在大多数模型中,关节惯性对系统动力学的影响通常可以忽略不计。例如,在汽车传动系统中的等速万向节中,轴惯性可能会远远大于关节惯性。 如果在您的模型中关节惯性很重要,您可以使用实体或惯性块来考虑它。将块参考框架端口连接到适当的关节框架,并在块对话框中指定关节惯性属性。您可以指定关节质量或密度、惯性积、惯性矩和质心。
总结
通过本文的介绍,我们深入了解了Simscape Multibody 中各种关节的特性及其适用场景。无论是简单的平移或旋转,还是复杂的多自由度运动,这些关节都能满足不同的建模需求。掌握这些关节的使用方法,将为多体动力学仿真提供更强大的工具,助力工程师和研究人员实现更精准的系统设计与分析。
相关文章:
自学Matlab-Simscape(初级)- 2.1 Simscape Multibody 模块之关节(运动副)
Matlab-Simscape自学系列文章目录 1.了解Simscape Multibody Link模块 2.掌握Simscape Multibody 模块 3.掌握Simscape Electrical模块 4.掌握Simscape Driveline 模块 5.了解Simscape Fluids模块 6.了解Simscape Battery模块 7.掌握Simscape Mechanical Interfaces 模块 8.掌…...
再次重拾jmeter之踩坑
1.添加“csv数据文件设置”,运行时提示 java.lang.IllegalArgumentException: Filename must not be null or empty检查多次后才发现因为我运行的是整个线程组,所以对应http请求下不能包括空的csv文件 2. 填写ip时不能加/,要在路径里加&…...
第六周作业
好的,这是移除外层代码块,并保留内部 Markdown 格式的作业内容: SQL 注入作业 1、联合注入实现“库名-表名-字段名-数据”的注入过程 (1)前端注入 尝试使用 database() 这个函数进行库名爆破 1 union select 1,data…...
学科发展视域下教师数字素养提升的多维路径研究
学科发展视域下教师数字素养提升的多维路径研究 —— 基于技术融合与教学创新的双重逻辑 一、引言:数字时代的学科教育转型 1.1 研究背景与意义 在当今时代,人工智能与教育数字化战略正以迅猛之势重塑着教育的格局,成为推动学科教学范式深…...
QEMU学习之路(6)— RISC-V 启动Linux
QEMU学习之路(6)— RISC-V 启动Linux 一、前言 参考:QEMU 启动方式分析(1):QEMU 及 RISC-V 启动流程简介 QEMU 启动方式分析(2): QEMU virt 平台下通过 OpenSBI U-Boot 引导 RISC…...
人工智能图像识别Spark Core3
Spark Core3 Spark-Core编程(三) 1.key-value类型: 23) sortByKey 函数签名 def sortByKey(ascending: Boolean true, numPartitions: Int self.partitions.length): RDD[(K, V)] 函数说明 在一个(K,V)的 RDD 上调用,K 必…...
STM32 模块化开发指南 · 第 5 篇 STM32 项目中断处理机制最佳实践:ISR、回调与事件通知
本文是《STM32 模块化开发实战指南》第 5 篇,聚焦于 STM32 裸机开发中最核心也最容易被忽视的部分——中断服务机制。我们将介绍如何正确、高效地设计中断处理函数(ISR),实现数据与事件从中断上下文传递到主逻辑的通道,并构建一个清晰、可维护、非阻塞的事件通知机制。 一…...
Vue报错解决方案
1.ResizeObserver loop completed with undelivered notifications. 解决方案: 在App.vue文件中添加以下代码: <script > const callLimit (callback, delay) > {let timer null;return function () {let context this;let args arguments;…...
vue2 el-element中el-select选中值,数据已经改变但选择框中不显示值,需要其他输入框输入值才显示这个选择框才会显示刚才选中的值
项目场景: <el-table-column label"税率" prop"TaxRate" width"180" align"center" show-overflow-tooltip><template slot-scope"{row, $index}"><el-form-item :prop"InquiryItemList. …...
STM32 模块化开发指南 · 第 4 篇 用状态机管理 BLE 应用逻辑:分层解耦的实践方式
本文是《STM32 模块化开发实战指南》第 4 篇,聚焦于 BLE 模块中的状态管理问题。我们将介绍如何通过有限状态机(Finite State Machine, FSM)架构,实现 BLE 广播、扫描、连接等行为的解耦与可控,并配合事件队列驱动完成主从共存、低功耗友好、状态清晰的 BLE 应用。 一、为…...
计算机网络-传输层基础概念
传输层基础概念 1. 传输层基础概念1.1 传输层的定义与作用1.2 传输层在网络模型中的位置OSI七层模型中的传输层TCP/IP四层模型中的传输层传输层的数据单元传输层的地址机制 1.3 传输层与其他层的关系与网络层的关系与应用层的关系数据流转过程 1.4 传输层的主要功能1.4.1 复用与…...
使用Mybatis时在XML中SQL高亮显示的方法
如图所示,上方的SQL代码很像是一个字符串,那么如何把上方的SQL改成和下方一样的SQL,使得IDEA可以识别SQL方言呢? 1.选中SQL中的一部分代码,此时左侧会出现一个黄色的灯泡图案,点击2.选择这个注入语言或者引用...
Dify+DeepSeek能做出什么来?快速构建可扩展的 AI 应用
将 Dify(开源 LLM 应用开发平台)与 DeepSeek(深度求索公司的高性能大模型,如 DeepSeek-R1 或 DeepSeek-Lite)结合使用,可以充分发挥两者的优势,快速构建高效、灵活且可扩展的 AI 应用。以下是具…...
Python 类型转换详解
文章目录 Python 类型转换详解基本类型转换函数1. 转换为整数 (int())2. 转换为浮点数 (float())3. 转换为字符串 (str())4. 转换为布尔值 (bool()) 容器类型转换1. 转换为列表 (list())2. 转换为元组 (tuple())3. 转换为集合 (set())4. 转换为字典 (dict()) 特殊类型转换1. AS…...
针对deepseek的核心论文写作提示词模板(适用于SCI论文、CCF会议论文、北大核心论文、南大核心论文)
以下是一个适用于撰写核心论文的提示词模板,涵盖论文结构、关键内容和注意事项,帮助你高效组织思路和内容: 核心论文写作提示词模板(5000字) 1. 标题(Title) 提示词:简洁、明确、关键词、研究领域、创新点示例: “基于XX方法的XX问题研究”“XX现象对XX的影响:以XX为…...
Linux基础命令解释
目录 一、文件和目录操作命令 1. ls 2. cd 3. pwd 4. mkdir 5. rm 6. cp 7. mv 二、查看和编辑文件命令 1. cat 2. less 三、系统信息相关命令 四、网络相关命令 五、用户和权限管理命令 Linux是由Linus Torvalds于1991年开发的开源类Unix操作系统内核࿰…...
vue2基于video.js,v8.21.0自己设计一个视频播放器
刚开始在网上下了点视频教程想着用些电脑自带的播放器。后来级数太多了,操作不方便。就开始自己捣鼓了。 痛点是是视频教程本身带来的,不方便反复的找重点。过去了不好快退等。 就基于video.js,设计了各种功能,鼠标移到上方显示 播放、暂停…...
Spring Boot 中集成 Disruptor_高性能事件处理框架
1. 引言 1.1 什么是 Disruptor Disruptor 是一个高性能的事件处理框架,广泛应用于金融交易系统、日志记录、消息队列等领域。它通过无锁机制和环形缓冲区(Ring Buffer)实现高效的事件处理,具有极低的延迟和高吞吐量的特点。 1.2 为什么使用 Disruptor 高性能:通过无锁机…...
如何关闭MacOS中鼠标滚轮滚动加速
一、背景 想要关闭滚轮的 “滚动加速”,即希望滚动了多少就对应滚动页面固定行数,现在macOS是加速滚动的,即滚动相同的角度会根据你滚动滚轮的速度不同最终页面滚动的幅度不同。这点很烦,常导致很难定位。 macOS本身的设置是没有…...
QT Sqlite数据库-教程001 创建数据库和表-下
【1】创建带名称的数据库 #include <QtSql/QSqlDatabase> #include <QtSql/QSqlQuery> #include <QtSql/QSqlRecord> QString path QDir::currentPath(); QApplication::addLibraryPath(pathQString("/release/plugins")); QPluginLoader loader…...
玄机靶场-webshell查杀WP
0x01.黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx} 方法一 先去网站根目录找/var/www/html在文件中寻找 flag 方法二 直接使用工具 D 盾。 0x02黑客使用的什么工具的shell 把代码直接复制网上搜索即可。 https://github.com/BeichenDream/Godzilla 0x03 黑客隐…...
游戏引擎学习第217天
运行游戏并在 FreeVariableGroup 中遇到我们的断言 其实在美国,某些特定的小糖果(例如小糖蛋)只在圣诞节和复活节期间出售,导致有些人像我一样在这段时间吃得过多,进而增加体重。虽然这种情况每年都会发生,…...
13、nRF52xx蓝牙学习(GPIOTE组件方式的任务配置)
下面再来探讨下驱动库如何实现任务的配置,驱动库的实现步骤应该和寄存器方式对应,关 键点就是如何调用驱动库的函数。 本例里同样的对比寄存器方式编写两路的 GPOITE 任务输出,一路配置为输出翻转,一路设 置为输出低电平。和 …...
基础数学:线性代数与优化理论
本篇文章简单带您复习线性代数与优化理论(主要是我发表的文章中涉及过的或相关联的) 微积分和概率与统计由此进:基础数学:微积分和概率与统计-CSDN博客 二、线性代数 1.矩阵运算 (1) 基础操作与几何意义 矩阵乘法࿱…...
IBM Rational Software Architect安装感受及使用初体验
1 安装感受 最近准备用UML 2.0绘制模型图。在读UML创始人之一Grady Booch写的书《Object-Oriented Analysis and Design with Applications》(第3版)1时,发现书中用的UML工具之一为IBM Rational Software Architect(RSAÿ…...
在WPS中通过JavaScript宏(JSA)调用DeepSeek官网API优化文档教程
在WPS中通过JavaScript宏(JSA)调用DeepSeek官网API优化文档教程 一、获取DeepSeek API密钥 访问DeepSeek官网,在开发者中心创建应用并生成API Key。注意选择deepseek - chat或deepseek - v3模型,推荐后者支持长文本生成。具体步…...
2025-Gateway架构
文章目录 1. **Spring Cloud Gateway**🧠 **简介**:✅ **主要特性**:⚙️ **使用场景**: 2. **Kong Gateway**🧠 **简介**:✅ **主要特性**:⚙️ **使用场景**: 3. **Zuul (Netflix)…...
Android HWComposer代码分析
厂家应该根据自己的硬件去写HWC的代码,一般位于hardware/厂家名称/hwcomposer目录中。 1 HAL_MODULE_INFO_SYM 在 Android 中,HAL_MODULE_INFO_SYM 结构体用于描述硬件抽象层(HAL)模块的信息,它会在系统启动过程中被…...
Java微服务分布式事务:CAP定理、BASE理论与事务模式全解析
在当今复杂的分布式系统中,数据一致性始终是架构师面临的核心挑战。本文将深入探讨分布式领域的三大基石理论(CAP/BASE),并详解微服务场景下的五种主流事务解决方案,通过真实代码示例揭示技术实现本质。 一、分布式系统…...
多坐标系变换全解析:从相机到WGS-84的空间坐标系详解
多坐标系变换全解析:从相机到WGS-84的空间坐标系详解 一、常见坐标系简介二、各坐标系的功能和使用场景1. WGS-84 大地坐标系(经纬高)2. 地心直角坐标系(ECEF)3. 本地 ENU / NED 坐标系4. 平台坐标系(Body)5. 相机坐标系三、坐标变换流程图四、如何选用合适的坐标系?五…...
【微服务治理】Opentelemetry、 Jaeger、Prometheus、grafana 关系?各自作用?最佳实践?
OpenTelemetry、Jaeger、Prometheus 和 Grafana 是云原生可观测性领域的核心工具组,各自解决不同维度的问题,又能协作形成完整的监控体系。以下是它们的详细关系和功能说明: 1. OpenTelemetry 定位:统一的遥测数据标准࿰…...
谷歌25年春季新课:15小时速成机器学习
谷歌说15小时就能入门机器学习,虽然听上去有点离谱,但看了一下课程设置其实是很合理而且全面的,而且谷歌的质量还是很有保障,很适合零基础的小白以及想要进阶的学习者。🚀 基础知识部分包括 线性回归:用于…...
【笔试强训day16】
目录 第一题:字符串替换 描述 输入: 返回值: 第二题:神奇数 输入描述: 输出描述: 输入 输出 第三题:DNA序列 描述 输入描述: 输出描述: 输入: 输出: 输入…...
[每周一更]-(第139期):从FRP认识内网穿透及反向代理
文章目录 **一、FRP的核心功能与实战应用****1. 远程访问场景****2. Web服务暴露**Web服务访问实际案例:**3. 物联网与设备管理****4. 高级功能** **二、FRP性能优化与安全加固****三、同类工具对比与选型建议****四、总结与选型建议****特殊场景解决方案****1. 跨国…...
vue2使用ezuikit-js播放萤石视频
需求:需要在大屏上播放萤石视频,用到官方的ezuikit-js插件实现,并实现视频播放切换功能。有个问题至今没有解决,就是萤石视频的宽高是固定的,不会根据大屏缩放进行自适应。我这边做了简单的刷新自适应。 1.下载ezuikit…...
Nacos服务发现和配置管理
目录 一、Nacos概述 1. Nacos 简介 2. Nacos 特性 2.1 服务发现与健康监测 2.2 动态配置管理 2.3 动态DNS服务 2.4 其他关键特性 二、 服务注册和发现 2.1 核心概念 2.2 Nacos注册中心 2.3 Nacos单机模式 2.4 案例——服务注册与发现 2.4.1 父工程 2.4.2 order-p…...
DeepSeek实战:如何用AI工具提升销售转化率?
销售行业正在经历一场前所未有的变革,AI技术的快速发展让传统销售模式面临巨大挑战。如今,像DeepSeek这样的智能工具已经能高效完成客户触达、需求分析、快速回复等基础销售工作,甚至比人类更快、更精准。许多公司已经发现,AI销售…...
无锡无人机培训学校哪家好?
无锡无人机培训学校哪家好?近年来,无人机技术在各个领域的应用越来越广泛,从农业、物流到影视制作,无人机已经成为了许多行业不可或缺的工具。这种趋势促使越来越多的人希望通过系统的培训获得无人机驾驶技能。然而,在…...
从数据格式转换的角度 flink cdc 如何写入paimon?
从数据格式转换的角度 flink cdc 如何同步数据,写入paimon? 从一个测试用例着手 org/apache/flink/cdc/connectors/paimon/sink/v2/PaimonSinkITCase.java public void testSinkWithDataChange(String metastore, boolean enableDeleteVector)throws …...
Flink的 RecordWriter 数据通道 详解
本文从基础原理到代码层面逐步解释 Flink 的RecordWriter 数据通道,尽量让初学者也能理解。 1. 什么是 RecordWriter? 通俗理解 RecordWriter 是 Flink 中负责将数据从一个任务(Task)发送到下游任务的组件。想象一下,…...
从keys到SCAN:Redis批量删除的进化之路
标签:Redis、批量删除、前缀匹配、性能优化 一、痛点分析:为什么需要批量删除指定前缀的键? 在 Redis 使用过程中,我们经常会遇到这样的场景: 需要对某一类数据进行清理,例如用户会话、缓存数据等,而这些数据通常以某种前缀命名(如 user:session:*、cache:data:*)。如…...
uniapp实现目录树效果,异步加载数据
uniapp目录树 父组件调用目录树组件 <DaTreeVue2:data"treeData":field"{label: name,key: id,}"change"handleTreeChange":defaultCheckedKeys"addressDefaultCheckedKey":defaultExpandedKeys"addressDefaultCheckedKey&qu…...
机器学习--网格搜索
引言 在机器学习的广袤世界里,构建一个性能卓越的模型是众多从业者不懈追求的目标。而模型性能的好坏,很大程度上依赖于超参数的设置。今天,我们就来深入探讨一种常用且有效的超参数调优方法 —— 网格搜索。 一、什么是网格搜索 网格搜索…...
Asp.NET Core WebApi 创建带鉴权机制的Api
构建一个包含 JWT(JSON Web Token)鉴权的 Web API 是一种常见的做法,用于保护 API 端点并验证用户身份。以下是一个基于 ASP.NET Core 的完整示例,展示如何实现 JWT 鉴权。 1. 创建 ASP.NET Core Web API 项目 使用 .NET CLI 或 …...
同步电路与异步电路详解
一、基本概念与核心区别 特性同步电路异步电路时钟依赖依赖全局时钟信号(如CLK)统一触发所有操作无全局时钟,依赖事件(如信号跳变)或握手协议时序控制所有操作在时钟边沿(上升/下降沿)同步执行…...
Vccaux_IO在DDR3接口中的作用
一、Vccaux_IO在DDR3接口中的作用 1.vccaux_io通常为FPGA的IO bank的辅助电源,用于支持特定电压的IO标准 2.在DDR3接口中,FPGA的IO bank需要DDR3芯片的电压(1.5v/1.35v)匹配 3.Vccaux_IO用于为FPGA的DDR3接口I/O Bank供电,其电压值、噪声和稳…...
5分钟读懂ArgoCD:在Kubernetes中实现持续部署
Kubernetes中的Argo CD介绍 Argo CD是用于Kubernetes的声明式GitOps持续交付工具。它遵循GitOps模式,以Git仓库作为定义所需应用程序状态的唯一真实来源,能在指定的目标环境中自动部署应用程序,并持续监控应用程序的运行状态,确保…...
Redis与Caffeine的结合使用详解(高效的二级缓存解决方案)
目录 一、Redis与Caffeine的结合使用(一)引入依赖(二)配置缓存(三)配置 Caffeine 缓存(四)配置 Redis 缓存(五)使用缓存 二、总结 一、Redis与Caffeine的结合…...
leetcode 322. Coin Change
这道题也是完全背包问题。注意与第518题和第377题对比。 这道题要求的是最少可以用多少个物品装满背包,不关心所选物品的组合方式和排列方式。因此,外层循环既可以是对物品的遍历,也可以是对容量的遍历。 第518题,要求的是装满背…...
mac|使用scrcpy实现无线Android投屏
scrcpy是一个开源项目,从项目的releases可以得知它适用于windows、linux、mac github:https://github.com/Genymobile/scrcpy/releases github中提供了应用于mac系统的静态版本(也就是上图的scrcpy-macos-aarch64-v3.1.tar.gz和scrcpy-macos…...