【机器人学导论笔记】三、操作臂正运动学

news2025/1/12 8:44:51

3.1 概述

操作臂正运动学研究操作臂的运动特性,主要涉及与运动有关的几何参数和时间参数。本章中,只研究静止状态下操作臂连杆的位置和姿态。

处理这些复杂的几何参数需要一些步骤:首先需要在操作臂的每个连杆上分别固接一个连杆坐标系,然后再描述这些连杆坐标系之间的关系。并且,还需要研究当各个连杆通过关节连接起来后,连杆坐标系之间的相对关系。

本章重点是把操作臂关节变量作为自变量,描述操作臂末端执行器的位置和姿态与操作臂基座之间的函数关系。

3.2 连杆的描述

操作臂可以看成由一系列通过关节连接成运动链的刚体。我们将这些刚体称为连杆。通过关节将两个相邻的连杆连接起来。当两个刚体之间的相对运动是两个平面相互之间的相对滑动时,连接相邻两个刚体的运动副称为低副。

下图是6种常用的低副关节。
在这里插入图片描述

通常优先选择仅具有一个自由度的关节作为连杆的连接方式。(极少数选择n个自由度的,一般可看成由n个单自由度的关节把n-1个长度为0的连杆连接而成的)大部分操作臂中包括转动关节移动关节

从操作臂的固定基座开始为连杆进行编号,可以称固定基座为连杆0.第一个可动连杆为连杆1,以此类推。

为了确定末端执行器在三维空间中的位置和姿态,操作臂至少需要6个关节。典型操作臂具有5个或6个关节。

建立机构运动学方程时,为了确定操作臂两个相邻关节轴的位置关系,可把连杆看作一个刚体。其中,用空间中的直线来表示关节轴,用空间中的一条直线或一个向量表示关节i,连杆i绕关节轴i相对于连杆i-1转动。

由此可知,描述一个连杆的运动时,可用两个参数表示。它们定义了空间中两个关节轴的相对位置。

三维空间中,任意两轴间距离均确定,当两轴不平行时公垂线仅有1条。平行则有无数条。

第一个参数:连杆长度

关节轴之间公垂线长度称为连杆长度,如下图所示, a i − 1 a_{i-1} ai1即为关节轴i和关节轴i-1的连杆长度。所以很容易知道,连杆长度和径向无关。

同时也有这样一种描述连杆长度的方法,即是以关节轴i-1为轴线作一个圆柱,并且把圆柱半径向外扩大,直到圆柱面和另一关节轴相交,此时圆柱半径即等于 a i − 1 a_{i-1} ai1

这条公垂线有且只有一条(当然了,两个关节轴是异面直线),这样就有了唯一性,可以描述两连杆间的相对位置关系。

第二个参数:连杆扭转角

作一个平面,使该平面与两关节轴间的公垂线垂直,然后把关节轴i-1和关节轴i投影到该平面上,按右手法则从轴i-1绕 a i − 1 a_{i-1} ai1(由轴i-1指向轴i)转向轴i测量两轴线的夹角。当两个关节轴线相交时,两轴线的夹角可在两者所在的平面下测量,但 a i − 1 a_{i-1} ai1没有意义。此时, a i − 1 a_{i-1} ai1的符号可以随意选取。

怎么想象呢?

可以想象这两根关节轴是两根双节棍。以其中一根双节棍为基座,另一根双节棍相对旋转。

有了这两个参数,我们就可以确定两连杆间的相对位置关系了。

在这里插入图片描述

3.3 连杆连接的描述

处于运动链中间位置的连杆

相邻的两个连杆之间有一个公共的关节轴。沿两个相邻连杆公共轴线方向的距离称为连杆偏距,在关节轴i上的连杆偏距记为 d i d_i di,用另一个参数描述两相邻连杆绕公共轴线旋转的夹角,称为关节角,记为 θ i \theta_i θi

理解这个 d i d_i di实际上就是理解提到的公共关节轴。

这个公共关节轴,以图3-4为例,实际上就是 a i − 1 a_{i-1} ai1 a i a_i ai夹着的这个轴i。

a i a_i ai是连杆i的长度,也就是轴i和轴i+1之间的公垂线的长度。它和 a i − 1 a_{i-1} ai1之间的距离就是它们在轴i上的交点之间的距离,这就是 d i d_i di。这也很好推出,因为两个都是垂足,直接取得距离就行。

然后,把 a i a_i ai向下平移,垂足重合,作 a i − 1 a_{i-1} ai1的延长线,其和 a i a_{i} ai的夹角即为 θ i \theta_i θi

在这里插入图片描述

图3-4表示相互连接的连杆i-1和连杆i。 a i a_i ai表示连接连杆i两端关节轴的公垂线长度。从公垂线 a i − 1 a_{i-1} ai1与关节轴i的交点到公垂线 a i a_i ai关节轴i交点的有向距离即为描述相邻两连杆连接关系的第一个参数,即连杆偏距 d i d_i di。连杆偏距 d i d_i di的表示方法如图3-4所示。当关节i为移动关节时,连杆偏距 d i d_i di是一个变量。平移公垂线 a i − 1 a_{i-1} ai1 a i a_i ai绕关节轴i旋转所形成的夹角即为描述相邻两连杆连接关系的第二个参数,即关节角 θ i \theta_i θi,如图3-4。双斜线标为平行线。当关节i为转动关节时,关节角 θ i \theta_i θi是一个变量。

运动链中首端连杆和末端连杆

连杆的长度 a i a_i ai和连杆扭转角 α i \alpha_i αi取决于关节轴线i和i+1,因此在本节中按从 a i a_i ai a n − 1 a_{n-1} an1以及从 α 1 \alpha_1 α1 α n − 1 \alpha_{n-1} αn1的规定讨论。

对于运动链中的两端的连杆,其参数习惯设定为0,即 a 0 = a n = 0.0 a_0=a_n=0.0 a0=an=0.0 α 0 = α n = 0.0 \alpha_0=\alpha_n=0.0 α0=αn=0.0。在本节中,按照上面的规定对关节2到关节n-1的连杆偏距 d i d_i di和关节角 θ i \theta_i θi进行了定义。

如果关节1为转动关节,则 θ 1 \theta_1 θ1的零位可以任意选取,并且设定 d 1 = 0.0 d_1=0.0 d1=0.0。同样,如果关节1为移动关节,则 d 1 d_1 d1的零位可以任意选取,并且设定 θ 1 = 0.0 \theta_1=0.0 θ1=0.0。这种设定方法完全适用于关节n。

当一个参数可以任意选取时,把另一个参数设定为0,可以使以后的计算尽量简单。

连杆参数

因此,机器人的每个连杆都可以用4个运动学参数来描述,其中两个参数用于描述连杆本身,另两个参数用于描述连杆之间的连接关系。

通常,对于转动关节, θ i \theta_i θi变三不变,对于移动关节, d i d_i di变三不变。

这种用连杆参数描述运动关系的规则称为 D e n a v i t − H a r t e n b e r g Denavit-Hartenberg DenavitHartenberg方法。

根据上述方法,可以确定任意机构的 D e n a v i t − H a r t e n b e r g Denavit-Hartenberg DenavitHartenberg参数,并用这些参数来描述该机构。

例如对于一个6关节机器人,需要用18个参数完全描述这些固定的运动学参数。如果是6个转动关节的机器人,这是18个固定参数可以分6组( a i , α i , d i a_i,\alpha_i,d_i ai,αi,di)表示。

需要注意的是,这个就叫做DH,找这方面的资料找DH就可以了。

3.4 连杆坐标系的定义

固连在连杆i上的固连坐标系称为坐标系{i}.

运动链中间位置连杆坐标系的定义

连杆固连坐标系的确定方法:

坐标系{i}的 Z ^ \hat{Z} Z^轴称为 Z ^ i \hat{Z}_i Z^i,并与关节轴i重合,坐标系{i}的原点位于公垂线 a i a_i ai与关节轴i的交点处。 X ^ i \hat{X}_i X^i沿 a i a_i ai方向由关节i指向关节i+1。

a i = 0 a_i=0 ai=0时, X ^ i \hat{X}_i X^i垂直于 Z ^ i \hat{Z}_i Z^i Z ^ i + 1 \hat{Z}_{i+1} Z^i+1所在的平面。按右手定则绕 Z ^ i \hat{Z}_i Z^i轴的转角定义为 α i \alpha_i αi,由于方向(时针)不确定,所以需要正负号。 Z ^ i \hat{Z}_i Z^i轴的位置也由右手定则确定。

在这里插入图片描述

这样,坐标系 i {i} i的定义就完成了。

定义完单个坐标系后,我们需要将其应用到首端和末端的坐标系定义中,假设动系中仅存在这两个连杆,那么我们可以把一个连杆坐标系看作是参考坐标系。它通常是连杆1的坐标系。当关节变量1为0时,设定参考坐标系 0 {0} 0 1 {1} 1重合。

在这个条件下总有:
a 0 = 0.0 a_0=0.0 a0=0.0
α 0 = 0.0 \alpha_0=0.0 α0=0.0

当关节1为转动关节时,

d 1 = 0.0 d_1=0.0 d1=0.0

当关节1为移动关节时,

θ 0 = 0.0 \theta_0=0.0 θ0=0.0

为了简化坐标系的选取步骤,我们先设定 X ^ N \hat{X}_N X^N轴与 X ^ N + 1 \hat{X}_{N+1} X^N+1轴方向相同,由此有:

theta=0.0$

同时为了简化计算,取 d n = 0.0 d_n=0.0 dn=0.0的点为原点。

而对于移动关节,为了简化计算,选 θ n = 0.0 \theta_n=0.0 θn=0.0,当 d n = 0.0 d_n=0.0 dn=0.0时,原点选在 X ^ n − 1 \hat{X}_{n-1} X^n1轴与关节 n n n的交点位置。

连杆参数在连杆坐标系中的表示方法

连杆参数有如下4个定义:

a i = a_i= ai=沿 Z ^ i \hat{Z}_i Z^i轴,从 Z ^ i \hat{Z}_{i} Z^i移动到 Z ^ i + 1 \hat{Z}_{i+1} Z^i+1的距离。(通常大于0)

α i = \alpha_i= αi=沿 Z ^ i \hat{Z}_i Z^i轴,从 Z ^ i \hat{Z}_{i} Z^i旋转到 Z ^ i + 1 \hat{Z}_{i+1} Z^i+1的角度。

d i = d_i= di=沿 Z ^ i \hat{Z}_i Z^i轴,从 X ^ i \hat{X}_i X^i移动到 X ^ i + 1 \hat{X}_{i+1} X^i+1的距离。

θ i = \theta_i= θi=沿 Z ^ i \hat{Z}_i Z^i轴,从 X ^ i \hat{X}_i X^i旋转到 X ^ i + 1 \hat{X}_{i+1} X^i+1的角度。

所以,只需要确定两个坐标轴的变换距离和角度,就可以确定一个新的坐标系。

建立连杆坐标系的步骤

  1. 找出各关节轴,标出延长线。
  2. 找出相邻关节轴的公垂线/交点,指定该公垂线垂足/交点为原点。
  3. 规定 Z ^ i \hat{Z}_i Z^i正方向。
  4. 规定 X ^ i \hat{X}_i X^i正方向,若两个关节轴相交,则规定 X ^ i \hat{X}_i X^i轴垂直于关节轴 i i i i + 1 i+1 i+1所在的平面。
  5. 按照右手定则确定 Y ^ i \hat{Y}_i Y^i轴。
  6. 当第一个关节变量为0时,规定坐标系{0}和{1}重合。对于坐标系{N},其原点和 X ^ N \hat{X}_N X^N的方向可以任意选取,但是选取时,通常尽量使连杆参数为0。

一个三连杆机械臂能够说明我们的参数:
在这里插入图片描述
三个关节均为转动关节,因此我们称其为RRR(或3R)机构。

定义参考坐标系,即坐标系{0},固定在基座上。当第一个关节变量值 ( θ 1 ) (\theta_1) (θ1)为0时,坐标系{1}与{0}重合。

这个机械臂所有的关节轴线都与机械臂所在的平面垂直。所有 Z ^ \hat{Z} Z^轴相互平行,没有连杆偏距。所有的 d i d_i di都为0。所有关节都是旋转关节,因此当转角都为0时,所有 X ^ \hat{X} X^轴一定在一条直线上。

连杆参数如图3.8所示。
在这里插入图片描述

所有 α i \alpha_i αi都为0,因为没有需要相对转动的 Z ^ i \hat{Z}_i Z^i轴。

没有L3的原因:原点在最后一个关节轴上,L3自然为0。

3.5 操作臂正运动学

这一节的任务是导出相邻连杆间坐标系变换的一般形式,并将这些独立的变换联系起来求出连杆 n n n相对于连杆0的位置和姿态。

连杆变换的推导

通过任务我们可以得知,我们的切入点是求出坐标系之间的变换。我们仍然继续讨论坐标系{i}相对于坐标系{i-1}的变换。一般这个变换是由4个连杆参数得出的函数。这4个参数我们已经在上一节得出。

对于任意给定的机器人,这个变换是只有一个变量的函数,另外3个参数由机械系统确定。通过对每个连杆逐一建立坐标系,我们把运动学问题分解为 n n n个子问题。为了解决每个子问题,即 i i − 1 T ^{i-1}_{i}T ii1T,再将每个子问题再分解成4个次子问题。

通过这样的拆解,我们可以发现,假如我们需要求解坐标系{n}相对于坐标系{1}的变换,我们就需要先去求2对1的变换,然后去求 a 2 a_2 a2 α 2 \alpha_2 α2 d 2 d_2 d2 θ 2 \theta_2 θ2作为变量的函数,假如此时 a 1 a_1 a1是变量,那么其他就由机械系统决定好;接着,讨论完这4个次子问题,就去求3对2,4对3,…n-1对n,以此类推。

我们为每个连杆定义3个中间坐标系——{P}、{Q}、{R}。

在这里插入图片描述
上图是原书的图片,我将其简化后为如图所示的逻辑:

在这里插入图片描述
运算推导:

上面的PQR变换可以写成:

i − 1 P = R i − 1 T Q R T P Q T i P T i P ^{i-1}P=^{i-1}_RT^R_QT^Q_PT^P_iT^iP i1P=Ri1TQRTPQTiPTiP(1)

简化:

i − 1 P = i i − 1 T i P ^{i-1}P=^{i-1}_iT^iP i1P=ii1TiP(2)

易知:

i i − 1 T = R i − 1 T Q R T P Q T i P T ^{i-1}_iT=^{i-1}_RT^R_QT^Q_PT^P_iT ii1T=Ri1TQRTPQTiPT(3)

考虑每一个变换矩阵,改写(3)式:

i i − 1 T = R X ( α i − 1 ) D X ( a i ) R Z ( θ i ) D Z ( d i ) ^{i-1}_iT=R_X(\alpha_{i-1})D_X(a_i)R_Z(\theta_i)D_Z(d_i) ii1T=RX(αi1)DX(ai)RZ(θi)DZ(di)(4)

或者

i i − 1 T = S c r e w X ( a i − 1 , α i − 1 ) S c r e w Z ( d i , θ i ) ^{i-1}_iT=Screw_X(a_{i-1},\alpha_{i-1})Screw_Z(d_i,\theta_i) ii1T=ScrewX(ai1,αi1)ScrewZ(di,θi)(5)

其中, S c r e w Q ( r , ϕ ) Screw_Q(r,\phi) ScrewQ(r,ϕ)代表沿 Q ^ \hat{Q} Q^轴平移 r r r,再绕 Q ^ \hat{Q} Q^轴旋转角度 ϕ \phi ϕ的组合变换。

矩阵连乘后得到:

在这里插入图片描述

连杆变换的连乘

在上面的研究我们发现,只要有了坐标系和4个参数,就能建立运动学方程去求解变换了,并且我们还可以做更多事,比如研究机械臂的运动学问题。

我们很容易能够得到坐标系N相对于坐标系0的变换矩阵,它是一个矩阵连乘后的矩阵结果。

得到了机器人关节位置传感器的值,我们就能通过上述结果求解末端连杆的位置和姿态(比如夹取的钳头)。

3.6 驱动器空间、关节空间和笛卡尔空间

对于一个具有n个自由度的操作臂来说,它的所有连杆位置可由一组n个关节变量确定。我们称之为 n × 1 n×1 n×1关节向量。关节向量组成的空间称为关节空间驱动器空间则是基于笛卡尔坐标系的机器人运动空间。同时,假设每个运动关节都由某种驱动器驱动,考虑到驱动器为止。我们将关节向量表示为一组驱动器变量方程,即驱动向量,其组成的空间也就是驱动器空间

这样,我们可以选择用三种不同的描述去描述操作臂的位置和姿态:驱动器空间描述、笛卡尔空间描述、关节空间描述。

在这里插入图片描述
采用驱动器空间描述需要注意的是,必须确定驱动器位置和关节位置的对应关系。这样逻辑才算完整。

3.7 坐标系的标准命名

坐标系需要规范、标准的命名加以区别,才能够应对实际的繁杂运算工作。

在这里插入图片描述

基坐标系{B}

基坐标系{B}位于操作臂的基座上,它仅是赋予坐标系{0}的另一个名称,因为它固连在机器人的静止部位,所以有时称为连杆0。

它确定了固定坐标系和腕部坐标系。

固定坐标系{S}

固定坐标系{S}位置与任务相关,它位于工作台的一个角上,其是一个通用坐标系,所有运动都相对于它执行。所以,它还有这样的别称:任务坐标系、世界坐标系或通用坐标系。它通常根据基坐标系确定,即 S B T ^B_ST SBT

它确定了目标坐标系。

腕部坐标系{W}

腕部坐标系{W}附于操作臂的末端连杆。也可以称为坐标系{N}。大多数情况,它的原点位于操作臂的手腕上,随着操作臂的末端连杆移动。它通常根据基坐标系确定,即 W = W B T = N 0 T {W}=^B_WT=^0_NT W=WBT=N0T

它确定了工具坐标系。

工具坐标系{T}

工具坐标系{T}附于机器人所夹持工具的末端。当手部没有夹持工具时,工具坐标系的原点位于机器人的指尖之间(图中机器人抓持轴销的末端)。它根据腕部坐标系确定。

目标坐标系{G}

目标坐标系{G}是对机器人移动工具到达的位置描述。机器人运动结束时,工具坐标系应当与目标坐标系重合(图中位于将要插入轴销的轴孔)。它通常根据固定坐标系确定。
在这里插入图片描述

3.8 工具的位置

工具坐标系非常重要,因为工具的使用是任务成败的根本。我们需要计算工具坐标系相对于固定坐标系{S}的变换矩阵。

T S T = S B T − 1 ^S_TT=^B_ST^{-1} TST=SBT1 W B T T W T ^B_WT^W_TT WBTTWT

上述方程有时被称为定位函数,是广义的运动学方程,这样就可以计算手臂的位置了。按上图所示,定位的结果是轴销相对于工作台顶角处的位置和姿态。

3.9 计算问题

  1. 定点数表示法较常采用,变量变化范围较小,且容易确定。它所需的位数一般不超过24位。

  2. 增加局部变量来减少乘和加的次数,避免计算机重复运行相同的语句。

  3. 计算问题主要在于超越函数的计算(正弦、余弦)。现在常用查表的方式去计算,能够节省时间。

  4. 矩阵运算需要选择简单的列计算。

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

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

相关文章

基于ELFBoard开发板的车牌识别系统

本项目采用的是ElfBoard ELF1开发板作为项目的核心板,主要实现的功能为通过USB 摄像头对车牌进行识别,如果识别成功则会亮绿灯,并将识别的车牌号上传到手机APP上面,车牌识别的实现是通过百度OCR进行实现,手机APP是用Ja…

《低功耗方法学》翻译——第十四章:电源切换网络设计

第十四章:电源切换网络设计 功率门控是在待机或休眠模式下降低漏电功率最有效的方法,但这种方法存在诸如休眠晶体管占用的硅面积、永久和虚拟电源网络的布线资源以及复杂的功率门控设计和实现过程等开销,影响设计风险和进度。 除了开销外&a…

2024年Facebook自动回复优化指南:提升客户满意度的策略(内含自动回复中英文模板)

在这个数字化的时代,快速响应已经成为企业在与客户沟通的必备要素。但是当经常面对大量的相同信息时,如何可以提高效率呢?目前很多社交媒体平台都内设了自动回复功能,像是Facebook。这个功能确保无论何时有人联系你,都…

大气颗粒物与VOCs PMF源解析

原文:大气颗粒物与VOCs PMF源 第一:PMF源解析技术及其输入文件准备 1、大气污染源解析方法有哪些? 2、这些方法各自应用的条件以及它们的优缺点? 3、大气颗粒物的基础知识及各组分的主要来源 大气颗粒物的来源:…

Oracle EBS GL 外币折算逻辑

背景 由于公司财务在10月份期间某汇率维护错误,导致帐套折算以后并合传送至合并帐套生成合并日记帐凭证的借贷金额特别大,但是财务核对的科目余额有没有问题,始终觉得合并日记帐生成会计分发有问题,需要我们给出外币折算逻辑。 基础设置 汇率 Path: GL->设置->币种-&…

Java核心-核心类与API(3)

话接上回,继续核心类与API的学习,这次介绍一下枚举类以及与系统、交互有关的类,需要了解并能使用即可。 一、枚举类 1、概述 枚举也称穷举,简单理解就是把所有可能一一列举出来(穷尽所有可能)。枚举是一…

matlab新能源汽车三自由度操纵稳定性分析及优化

1、内容简介 略 可以交流、咨询、答疑 55-新能源汽车三自由度操纵稳定性分析及优化 2、内容说明 略 摘 要 电动化是节能减排、寻求替代能源的最佳途径,已成为行业共识,论文基于江西科技学院桑塔纳轿车油改气项目,在拆除发动机、变速…

JAVA工程师面试专题-《Redis》篇

目录 一、基础 1、Redis 是什么 2、说一下你对redis的理解 3、Redis 为什么这么快? 4、项目中如何使用缓存? 5、为什么使用缓存? 6、Redis key 和value 可以存储最大值分别多是多少? 7、Redis和memcache有什么区别&#xf…

普中51单片机学习(8*8LED点阵)

8*8LED点阵 实验代码 #include "reg52.h" #include "intrins.h"typedef unsigned int u16; typedef unsigned char u8; u8 lednum0x80;sbit SHCPP3^6; sbit SERP3^4; sbit STCPP3^5;void HC595SENDBYTE(u8 dat) {u8 a;SHCP1;STCP1;for(a0;a<8;a){SERd…

golang学习7,glang的web的restful接口结构体传参

接口&#xff1a; //POST请求 返回json 接口传参json r.POST("/postJson", controller.PostUserInfo) 1.定义结构体 //定义结构体 type Search struct {Id intName string }2.结构体传参 //结构体传参 func PostUserInfo(c *gin.Context) {search : &Searc…

GO语言基础总结

多态&#xff1a; 定义一个父类的指针&#xff08;接口&#xff09;&#xff0c;然后把指针指向子类的实例&#xff0c;再调用这个父类的指针&#xff0c;然后子类的方法被调用了&#xff0c;这就是多态现象。 Golang 高阶 goroutine 。。。。。 channel channel的定义 …

FPS游戏漫谈优化包体传输

在游戏服务器的部署环境中&#xff0c;机房的网络带宽都是有限制的。如果通信传输的数据总量太大&#xff0c;会挤占带宽甚至达到带宽上限&#xff0c;影响正常消息发送。另外&#xff0c;如果包体太大&#xff0c;在弱网环境下的通信质量会变差&#xff0c;更容易发生丢包重传…

VB6添加资源文件总是内存溢出?最终我还是治好了这胎里病!

网管小贾 / sysadm.cc 说来也奇怪&#xff0c;话说不久前我刚刚解决了 VB6 释放资源文件的一个 BUG &#xff0c;心里正美滋滋的。 不料居然还有个巨大的 BUG 在后边等着我呢&#xff01; 真是不说不知道&#xff0c;一说吓一跳&#xff0c;十天找 BUG &#xff0c;N把辛酸泪…

【国产MCU】-CH32V307-定时器同步模式

定时器同步模式 文章目录 定时器同步模式1、定时器同步模式介绍2、驱动API介绍3、定时器同步模式实例1、定时器同步模式介绍 CH32V307的定时器能够输出时钟脉冲(TRGO),也能接收其他定时器的输入(ITRx)。不同的定时器的ITRx的来源(别的定时器的TRGO)是不一样的。 通用定…

Python高性能web框架--Fastapi快速入门

文章目录 fastapi框架一、预备知识点1.1、http协议一、简介二、 http协议特性三、http请求协议与响应协议 1.2、api接口 二、quick start简单案例 fastapi框架 Fastapi&#xff0c;一个用于构建 API 的现代、快速&#xff08;高性能&#xff09;的web框架。 fastapi的两个核心…

单步调试Linux内核论证水位线

哈喽&#xff0c;我是子牙&#xff0c;一个很卷的硬核男人 深入研究计算机底层、Windows内核、Linux内核、Hotspot源码……聚焦做那些大家想学没地方学的课程。为了保证课程质量及教学效果&#xff0c;一年磨一剑&#xff0c;三年先后做了这些课程&#xff1a;手写JVM、手写OS…

Linux安装jdk、tomcat、MySQL离线安装与启动

一、JDK和Tomcat的安装 1.JDK安装 直接上传到Linux服务器的&#xff0c;上传jdk、tomcat安装包 解压JDK安装包 //解压jdk tar -zxvf jdk-8u151-linux-x64.tar.gz 置环境变量(JAVA_HOME和PATH) vim /etc/profile 在文件末尾添加以下内容&#xff1a; //java environment expo…

matlab一维二维和三维RBF插值方法

1、内容简介 略 50-可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 matlab一维二维和三维RBF插值方法_哔哩哔哩_bilibili 4、参考论文 略

【Linux运维系列】vim操作

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

03-Linux权限

root用户 root用户&#xff08;超级管理员&#xff09; 无论是Windows、MacOS、Linux均采用多用的管理模式进行权限管理 在Linux系统中&#xff0c;拥有最大权限的账户名为&#xff1a;root&#xff08;超级管理员&#xff09;刚开始学习的时候&#xff0c;大多时间都是用的…