腿足机器人之六- 前向运动学

腿足机器人之六- 前向运动学

  • 刚体运动学基础
    • 坐标系定义
    • 旋转矩阵与欧拉角
    • 齐次变换矩阵(平移+旋转的统一表示)
  • 运动链建模
    • 串联运动链结构(从基座到末端的关节连接)
    • 标准Denavit-Hartenberg(D-H)参数法
    • 改进D-H参数法(针对复杂关节轴对齐问题)
  • 多腿协调与基座标系转换
    • 基座标系(机器人本体)到世界坐标系的变换
    • 多腿独立运动学链的全局坐标统一
  • 真实机器人中的挑战
  • 仿真工具推荐

想象一下,你正在控制一个四足机器人(比如波士顿动力的Spot)在复杂地形中行走。要让它的“脚”准确踩到目标位置,首先需要知道一个问题:
“如果机器人的关节转动某个角度,它的脚会移动到哪里?”
这就是**前向运动学(Forward Kinematics)**解决的问题。
它是机器人控制的基石,也是理解步态规划、避障等高级功能的第一步。

机器人在运动的时候,还需要根据未来的姿态动作,倒推计算关节的控制信息,这被称为逆运动学,下一篇博客揭晓,欢迎关注,前向运动学的基础是刚体变换和坐标系转换,这部分和普通机械臂类似(如成熟的工业机械臂),用到的核心知识是D-H参数,但腿足机器人的结构更加多变,比如关节的串联和并联以及多个自由度。

腿足机器人通常有两或四个腿,需要考虑基坐标系到每个腿的基座,再到脚端的位置,这里涉及多个运动链,比如四足机器人每条腿独立,但身体作为基座。需要确定每个连杆的坐标系,然后通过变换矩阵相乘得到末端位置。

在第二篇 腿足机器人之二- 运动控制概览我们提到前向运动学是中间层,运动的规划(步态规划)则是MPC/RL等算法实现,前向运动学主要是关注单腿的运动学,而不是步态规划。但前向运动学需要考虑基坐标系的变化,比如当机器人身体移动时,各腿末端的位置会相对世界坐标系变化,可能需要将身体坐标系到世界坐标系的转换也包括进去。

前向运动学知识点主要包括:刚体运动学基础(坐标系、旋转矩阵、齐次变换)、关节类型(旋转和移动关节)、运动链建模(串联结构)、正运动学公式推导(变换矩阵连乘)、多腿协调中的基座变换(比如身体移动对脚端位置的影响)、以及可能的并联机构(如果腿有并联结构的话)。

刚体运动学基础

在腿足机器人中,坐标系定义是运动学建模的核心,经典运动学中主要包括三种坐标系,分别是基坐标系,关节坐标系、末端坐标系,这是描述机器人运动控制、步态规划,注意和环境感知、定位导航的坐标系(如Camera传感器上的坐标、地图坐标等等)区别。

坐标系定义

在这里插入图片描述

基坐标系(base frame):通常固定在机器人躯干或髋关节处(如上图中间的圆圈位置,在髋关节的旋转中心),通常以髋关节的初始位置为原点,Z轴(Yaw)垂直于躯干平面(竖直方向,人体直立时从脚到头的连线),X轴(Roll)指向机器人前进方向(平行于地面),Y轴(Pitch,从左肩到右肩的连线)。
关节坐标系:每个关节的局部坐标系,用于描述相邻连杆的相对运

  • 髋关节坐标系:与基坐标系重合(初始状态),当髋关节偏航(Yaw)时,绕基坐标系的Z轴旋转。
  • 膝关节坐标系:位于大腿末端,绕髋关节俯仰轴(Y轴)旋转。
  • 踝关节坐标系:位于小腿末端,绕膝关节俯仰轴(Y轴)旋转。
  • 肩关节坐标系:位于肩部,提供三个方向运动。
  • 肘关节坐标系:位于手肘不,沿X轴(Roll)平移运动。
    末端坐标系:固定在足端或执行器(如足底、手掌)的坐标系。

旋转矩阵与欧拉角

在腿足机器人中,每个关节的旋转会改变后续连杆的方向,以髋关节的偏航 Y a w Yaw Yaw为例:
假设髋关节绕基坐标系的Z轴旋转角度为 θ \theta θ,则其旋转矩阵为:
R z ( θ ) = [ cos ⁡ θ − sin ⁡ θ 0 sin ⁡ θ cos ⁡ θ 0 0 0 1 ] R_z(\theta)=\begin{bmatrix} \cos \theta & -\sin \theta & 0 \\ \sin \theta & \cos \theta & 0 \\ 0 & 0 & 1 \end{bmatrix} Rz(θ)= cosθsinθ0sinθcosθ0001

矩阵元素物理意义
R 11 = cos ⁡ θ R_{11}=\cos \theta R11=cosθ表示新坐标系Z轴在原坐标系X轴上的投影比例
R 12 = − sin ⁡ θ R_{12}=-\sin \theta R12=sinθ$表示新坐标系Y轴在原坐标系X轴上的投影比例(因旋转后Y轴向左偏移)
R 21 = sin ⁡ θ R_{21}=\sin \theta R21=sinθ表示新坐标系X轴在原坐标系Y轴上的投影比例(X轴向右前方倾斜)
R 22 = cos ⁡ θ R_{22}=\cos \theta R22=cosθ表示新坐标系Y轴在原坐标系Y轴上的投影比例
R 33 = 1 R_{33}=1 R33=1$表示新坐标系Z轴和原坐标系Z轴始终重合(绕Z轴旋转不影响竖直方向)

其他轴(X/Y)的旋转矩阵类似,需注意旋转顺序(如Z-Y-Z欧拉角)

齐次变换矩阵(平移+旋转的统一表示)

齐次变换矩阵用于描述从一个坐标系到另一个坐标系的平移和旋转,是串联关节运动的核心工具,还是以上面的髋关节俯仰(绕Y轴旋转)为例,其变换矩阵为:
将平移向量 p = [ x , y , z ] T \mathbf p=[x,y,z]^T p=[x,y,z]T和旋转矩阵 R R R合并为4x4矩阵:
T = [ R p 0 1 ] T=\begin{bmatrix} R & p \\ 0 & 1 \end{bmatrix} T=[R0p1]
用于统一描述刚体的位姿变换。

  • 髋关节偏航(Yaw)
    假设基座标系为( O 0 O_0 O0),髋关节旋转后的坐标系为 O 1 O_1 O1,则变换矩阵 T 1 0 T_1^0 T10包含绕Z轴(脚到头连线)旋转 θ 1 \theta_1 θ1,无平移(假设关节在原点):
    T 1 0 [ cos ⁡ θ 1 − sin ⁡ θ 1 0 0 sin ⁡ θ 1 cos ⁡ θ 1 0 0 0 0 1 0 0 0 0 1 ] T_1^0\begin{bmatrix} \cos \theta_1 & -\sin \theta_1 & 0 &0\\ \sin \theta_1 & \cos \theta_1 & 0 & 0\\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1\end{bmatrix} T10 cosθ1sinθ100sinθ1cosθ10000100001

  • 髋关节俯仰
    髋关节旋转后的坐标系为 O 1 O_1 O1,大腿末端的坐标系为 O 2 O_2 O2,绕Y轴(左肩到右肩连线)旋转 θ 2 \theta_2 θ2,并沿大腿长度方向(新
    的X轴)平移 L 1 L_1 L1(大腿长度):
    T 2 1 [ cos ⁡ θ 2 0 sin ⁡ θ 2 L 1 cos ⁡ θ 2 0 1 0 0 − sin ⁡ θ 2 0 cos ⁡ θ 2 − L 1 sin ⁡ θ 2 0 0 0 1 ] T_2^1\begin{bmatrix} \cos \theta_2 & 0 & \sin \theta_2 & L_1 \cos \theta_2 \\ 0 & 1& 0 & 0\\ - \sin \theta_2 & 0 & \cos \theta_2 & -L_1 \sin \theta_2 \\ 0 & 0 & 0 & 1\end{bmatrix} T21 cosθ20sinθ200100sinθ20cosθ20L1cosθ20L1sinθ21

  • 膝关节俯仰
    大腿末端的坐标系为 O 2 O_2 O2,小腿末端的坐标系为 O 3 O_3 O3,绕Y轴(左肩到右肩连线)旋转 θ 3 \theta_3 θ3,并沿小腿长度方向(新
    的X轴)平移 L 2 L_2 L2(大腿长度):
    T 3 2 [ cos ⁡ θ 3 0 sin ⁡ θ 3 L 2 cos ⁡ θ 3 0 1 0 0 − sin ⁡ θ 3 0 cos ⁡ θ 3 − L 2 sin ⁡ θ 3 0 0 0 1 ] T_3^2\begin{bmatrix} \cos \theta_3 & 0 & \sin \theta_3 & L_2 \cos \theta_3 \\ 0 & 1& 0 & 0\\ - \sin \theta_3 & 0 & \cos \theta_3 & -L_2 \sin \theta_3 \\ 0 & 0 & 0 & 1\end{bmatrix} T32 cosθ30sinθ300100sinθ30cosθ30L2cosθ30L2sinθ31

  • 全局变换矩阵
    足端在基座标系中的位置为:
    T 3 0 = T 1 0 ⋅ T 2 1 ⋅ T 3 2 T_3^0=T_1^0\cdot T_2^1 \cdot T_3^2 T30=T10T21T32
    足端坐标 P e n d = [ x , y , z ] T P_{end}=[x,y,z]^T Pend=[x,y,z]T T 3 0 T_3^0 T30的最后一列前三行给出。

注意事项:

  • 旋转顺序的影响:若关节旋转顺序不同(如先俯仰后偏航),结果会完全不同。
  • 实际机器人的校准:需测量真实的 L 1 L_1 L1 L 2 L_2 L2(可能因装配误差而偏离设计值)。
  • 姿态计算:足端的姿态(如是否水平着地)由旋转矩阵部分决定,需额外分析。
  • 实际的机器人还有踝关节,即图中的(Ankle),因为和膝关节类似,自由度是俯仰方向,且计算方法也类似,所以这里并没有列出。

运动链建模

串联运动链结构(从基座到末端的关节连接)

标准Denavit-Hartenberg(D-H)参数法

D-H参数(Denavit-Hartenberg参数) 是一种用于描述机器人连杆和关节几何关系的标准化方法,由 Jacques Denavit 和 Richard S. Hartenberg 于1955年提出。它是机器人运动学建模的基础工具,尤其适用于串联式机械臂或腿足机器人的运动学分析。

D-H参数的核心思想是机器人每个关节的运动(旋转或平移)会影响末端的位置和姿态,因此D-H参数通过定义相邻连杆之间的相对位姿关系,将复杂的多关节运动分解为一系列简单的坐标系变换,最终通过矩阵乘法得到末端位姿。

D-H参数法
每个关节需要定义 4个参数,用于描述相邻两个连杆之间的几何关系:

参数符号意义
连杆长度 a i a_i ai从关节 i i i i + 1 i+1 i+1沿 X i X_i Xi轴的距离
连杆转角 α i \alpha_i αi X i X_i Xi轴从 Z i Z_i Zi旋转到 Z i + 1 Z_{i+1} Zi+1的角度
连杆偏距 d i d_i di沿 Z i Z_i Zi轴从 X i − 1 X_{i-1} Xi1 X i X_i Xi的距离
关节角度 θ i \theta_i θi Z i Z_i Zi轴从 X i − 1 X_{i-1} Xi1 X i X_i Xi的旋转角

从坐标系 i − 1 i-1 i1 i i i的齐次变换矩阵 T i − 1 i T_{i-1}^i Ti1i由一下四个参数计算得到:
T i − 1 i [ cos ⁡ θ i − sin ⁡ θ i cos ⁡ α i sin ⁡ θ i sin ⁡ α i a i cos ⁡ θ i sin ⁡ θ i cos ⁡ θ i cos ⁡ α i − cos ⁡ θ i sin ⁡ α i a i sin ⁡ θ i 0 sin ⁡ α i cos ⁡ α i d i 0 0 0 1 ] T_{i-1}^i\begin{bmatrix} \cos \theta_i & -\sin \theta_i \cos \alpha_i & \sin \theta_i \sin \alpha_i & a_i \cos \theta_i \\ \sin \theta_i & \cos \theta_i \cos \alpha_i& -\cos \theta_i \sin \alpha_i & a_i \sin \theta_i\\ 0 & \sin \alpha_i & \cos \alpha_i & d_i \\ 0 & 0 & 0 & 1\end{bmatrix} Ti1i cosθisinθi00sinθicosαicosθicosαisinαi0sinθisinαicosθisinαicosαi0aicosθiaisinθidi1

其中:
1.绕 Z i − 1 Z_{i-1} Zi1旋转 θ i \theta_i θi:修正关节角度
2.沿 Z i − 1 Z_{i-1} Zi1平移 d i d_i di:处理滑动关节的偏移
3.沿 X i X_i Xi平移 a i a_i ai:定义连杆长度
4.绕 X i X_i Xi旋转 α i \alpha_i αi:修正连杆的扭转角度。

这样从基座到末端的全局变换矩阵为各局部变换矩阵的连乘:
T e n d b a s e = T 1 ⋅ T 2 ⋅ . . . ⋅ T n T_{end}^{base}=T_1 \cdot T_2 \cdot... \cdot T_n Tendbase=T1T2...Tn
其中 T i T_i Ti是第i个关节的变换矩阵,如上例的 T 3 0 T_3^0 T30所求解示例。

改进D-H参数法(针对复杂关节轴对齐问题)

标准的D-H参数法坐标系建立在连杆的远端,而改进的D-H参数法,将坐标系建立在连杆的近端,主要是为了更加适应树状结构机器人。

D-H参数法统一了运动学建模的流程,通过链式矩阵乘法即可得到末端位置,适用于大多数串联式机器人(尤其是成熟的机械臂工业机器人),但是对并联或者闭链结构不友好。

多腿协调与基座标系转换

上面的例子都是单腿,但是对于韧性的双足或者机器狗的四足,在步态的运动中,就涉及到两足或者四足之间的协调,以实现动态环境下的步态规划,其中一个重要点是通过将各腿运动学链与基座变换结合实现全局坐标统一,在此基础上更容易规划步态。

基座标系(机器人本体)到世界坐标系的变换

若机器人躯干(基座)在三维空间世界中运动,坐标系中运动(平移 T b = [ x b , y b , z b ] T T_b=[x_b, y_b, z_b]^T Tb=[xb,yb,zb]T和旋转 R b ∈ S O ( 3 ) R_b \in SO(3) RbSO(3)描述,则腿末端(足端)在基座标系位置为 T e n d b a s e T_{end}^{base} Tendbase,则其在世界坐标系(全局坐标系)为:
T e n d w o r l d = T b w o r l d + R b ⋅ T e n d b a s e T_{end}^{world}=T_{b}^{world} + R_b \cdot T_{end}^{base} Tendworld=Tbworld+RbTendbase
其中:

  • T b T_b Tb是基座原点在世界坐标系中的位置。表示从世界坐标系原点(如地面上的固定点)到机器人基座中心的位移。 x b x_b xb是沿世界坐标系x轴的位移(前后方向,可参考一开始的图)。
    假设机器人的足端在基座标系中的位置为 P b a s e = [ 1 , 0 , 0 ] T P_{base}=[1,0,0]^T Pbase=[1,0,0]T,若基座向右移动了2米,即 T b = [ 0 , 2 , 0 ] T T_b=[0,2,0]^T Tb=[0,2,0]T,则足端的世界坐标为:
    P w o r l d = T b + P b a s e = [ 1 , 2 , 0 ] T P_{world}=T_b+P_{base}=[1,2,0]^T Pworld=Tb+Pbase=[1,2,0]T

  • R b R_b Rb是基座姿态的旋转矩阵,由欧拉角(横滚 ϕ \phi ϕ,俯仰 θ \theta θ和偏航 ψ \psi ψ)定义:
    R b = R z ( ψ ) ⋅ R y ( θ ) ⋅ R x ( ϕ ) R_b=R_z(\psi)\cdot R_y(\theta) \cdot R_x(\phi) Rb=Rz(ψ)Ry(θ)Rx(ϕ)
    R x R_x Rx R y R_y Ry R z R_z Rz是绕各轴的旋转矩阵。

  • SO(3) 是 特殊正交群(Special Orthogonal Group) 的缩写,表示所有三维旋转矩阵的集合。满足正交性(即旋转不改变向量长度和夹角, R T R = I R^TR=I RTR=I)和纯旋转,无镜像反射(即 d e t ( R ) = 1 det(R)=1 det(R)=1)。SO(3)中的矩阵除了能唯一描述物理上可能的旋转,还方便了逆向计算( R − 1 = R T R^{-1}=R^T R1=RT)。

基座到世界坐标系的齐次变换矩阵为:
H b w o r l d = = [ R b T b 0 1 ] H_b^{world}==\begin{bmatrix} R_b & T_b \\ 0 & 1 \end{bmatrix} Hbworld==[Rb0Tb1]

足端位置变换为:
[ P e n d w o r l d 1 ] = H b w o r l d ⋅ [ P b a s e w o r l d 1 ] \begin{bmatrix} P_{end}^{world} \\ 1 \end{bmatrix}=H_b^{world} \cdot \begin{bmatrix} P_{base}^{world} \\ 1 \end{bmatrix} [Pendworld1]=Hbworld[Pbaseworld1]

在动态步态中,基座位姿随时间变化(如行走时躯干起伏),需实时更新 T b T_b Tb R b R_b Rb,可通过IMU测量姿态角,编码器或视觉里程计估计位置,通常要求更新频率 ≥ 100Hz(如ROS(机器人操作系统)中的tf库)。

如控制右前腿在摆动相中沿抛物线轨迹运动,同时基座移动,支撑腿左腿需调整关节角度以保持足端静止(全局坐标),这可以用逆运动学(下一篇博客)计算基座运动导致的足端位移,调整关节角度抵消。

多腿独立运动学链的全局坐标统一

在多腿运动学模型中,每条腿为串联结构(如3自由度),使用D-H参数建模,所有腿共享同一基座坐标系,但运动独立(并联驱动),当基座运动时,各腿的末端全局位置需统一到世界坐标系,以协调步态。

全局坐标统一步骤主要分为三步:
1.单腿前向运动学:计算每条腿末端在基座标系中的位置 T e n d b a s e T_{end}^{base} Tendbase(基于关节角度);
2.坐标变换到世界系:应用基座标系的 H b w o r l d H_b^{world} Hbworld变换,得到全局坐标系;
3.步态协调:根据全局坐标规划各腿的摆动/支撑相位,保持机器人平衡,这部分放到后面MPC/RL部分内容展开。

  • 基座标系变换 是多腿协调的核心,需实时融合传感器数据更新位姿。
  • 全局坐标统一 通过将各腿运动学链与基座变换结合,实现动态环境下的步态规划。
  • 实际挑战 包括实时性保障、多解协调和动态补偿,需结合控制理论与工程优化。
  • 当各退独立求解时可能导致冲突(如跳跃时双腿同时摆动),可以通过状态机控制各腿的摆动/支撑相位和基于ZMP(零力矩点)调整基座位姿和各腿力分配。

真实机器人中的挑战

  • 误差校准:实际关节存在齿轮间隙、制造公差(实际连杆长度与理论值偏差)、电机误差、连杆柔性变形。
  • 传感器反馈:使用IMU、编码器实时修正位置。
  • 制动态控制:前向运动学是静态模型,实际需结合动力学(如惯性、摩擦力)。
  • 多腿协调运动控制

仿真工具推荐

  • PyBullet:轻量级物理引擎,适合验证运动学算法。
  • ROS + Gazebo:工业级机器人仿真平台。
  • Webots:用户友好的多机器人仿真环境。
  • ROS MoveIt、Robotics Toolbox for Python.

工程上如果只是使用运动学和动力学,而不深究和改进其实现,那么ROS机器人操作系统是个不错的入手环境,该操作系统集成了运动学和动力学计算工具orocos-kdl -, 这个工具还集成了bullet3D物理引擎,用于模拟碰撞检测、刚体和软体动力学。

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

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

相关文章

正则表达式(Regular expresssion)

正则表达式 匹配单次 . :匹配任意一个字符 [ ] :匹配[ ]里举例的任意一个字符 /d :匹配数字0-9 /D :匹配非数字 /s :匹配空白或tab建 /S :匹配非空白 /w :…

DarkLabel 2.4使用指南:高效标注视频数据目标检测标签

工具概述 DarkLabel 2.4 是一款强大的多功能标注工具,专为计算机视觉开发者设计,旨在提升标注工作的效率和精确度。其智能标注引擎支持两项核心功能:线性插值标注与多目标跟踪,极大地优化了视频标注过程。 (1&#x…

rabbitmq五种模式的总结——附java-se实现(详细)

rabbitmq五种模式的总结 完整项目地址:https://github.com/9lucifer/rabbitmq4j-learning 一、简单模式 (一)简单模式概述 RabbitMQ 的简单模式是最基础的消息队列模式,包含以下两个角色: 生产者:负责发…

网页制作01-html,css,javascript初认识のhtml的基本标记

一、 Html简介 英文全称是 hyper text markup language,超文本标记语言,是全球广域网上描述网页内容和外观的标准. Html作为一款标记语言,本身不能显示在浏览器中.标记语言经过浏览器的解释和编译,才能正确地反映html标记语言的内容. 1.html 的基本标记 1)头部标…

Blackbox.AI:高效智能的生产力工具新选择

前言 在当今数字化时代,一款高效、智能且功能全面的工具对于开发者、设计师以及全栈工程师来说至关重要。Blackbox.AI凭借其独特的产品特点,在众多生产力工具中脱颖而出,成为了我近期测评的焦点。以下是我对Blackbox.AI的详细测评&#xff0…

海康摄像头IPV6模式,手动,自动,路由公告

海康摄像头DS-2DC7220IW-A 网络设置中的IPv6配置选项。IPv6是互联网协议(IP)的第六版,用于替代IPv4,提供更多的IP地址和改进的网络功能。图片中的选项允许用户选择如何配置设备的IPv6网络连接: 手动:用户可…

【kafka系列】Kafka如何实现高吞吐量?

目录 1. 生产者端优化 核心机制: 关键参数: 2. Broker端优化 核心机制: 关键源码逻辑: 3. 消费者端优化 核心机制: 关键参数: 全链路优化流程 吞吐量瓶颈与调优 总结 Kafka的高吞吐能力源于其生…

sql sqlserver的特殊函数COALESCE和PIVOT的用法分析

一、COALESCE是一个返回参数中第一个非NULL值的函数, 列如:COALESCE(a,b,c,d,e);可以按照顺序取abcde,中的第一个非空数据,abcde可以是表达式 用case when 加ISNULL也可以实现,但是写法复杂了…

unity学习44:学习Animator 的一个动作捕捉网站,实测好用

目录 1 动作捕捉网站 2 注册和下载 3 比如首页的内容,可以直接下载为fbx模型文件 4 上传并修改 5 在 unity里使用 5.1 下载的fbx文件直接拖入到unity 5.2 动画修改 5.3 游戏里播放 1 动作捕捉网站 一个动作捕捉网站 AI神器集合网站 千面视频动捕 | AI神器…

CPP集群聊天服务器开发实践(六):Redis发布订阅消息队列及服务器集群通信

前文实现了单服务器与多客户端之间的通信以及聊天业务,同时为了增大并发量利用nginx实现多服务器的集群负载均衡,但是一个关键的问题是要实现多服务器之间的通信,这里采用Redis的发布订阅消息队列实现。 不同客户端可能连接在不同服务器上&am…

掌握SQLite_轻量级数据库的全面指南

1. 引言 1.1 SQLite简介 SQLite 是一个嵌入式关系型数据库管理系统,它不需要单独的服务器进程或系统配置。它的设计目标是简单、高效、可靠,适用于各种应用场景,尤其是移动设备和嵌入式系统。 1.2 为什么选择SQLite 轻量级:文件大小通常在几百KB到几MB之间。无服务器架构…

基于javaweb的SpringBootoa办公自动化系统设计和实现(源码+文档+部署讲解)

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 运行环境开发工具适用功能说明部分代码展示 运行环境 Java≥8、MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可配置运行…

LCD屏控制:你需要掌握的理论基础

目录 一、LCD介绍 1. 发展历程 2. 核心优势 3. 主要缺点 二、LCD屏幕工作原理 1. 核心结构 2. 工作原理 三、LCD屏分类 1. 信号类型划分 2. 材质分类 3. 接口类型分类 四、LCD屏常用接口 1. TTL(RGB)接口 2. LVDS接口 3. EDP接口 4. MIPI接口 (1&a…

Audio-Visual Speech Enhancement(视听语音增强)领域近三年研究进展与国内团队及手机厂商动态分析

一、视听语音增强领域近三年研究进展 多模态融合与模型轻量化 多模态特征融合:中国科学技术大学团队提出通过引入超声舌头图像和唇部视频的联合建模,结合知识蒸馏技术,在训练阶段利用教师模型传递舌部运动知识,从而在推断时仅依赖唇部视频即可提升语音增强效果。此外,中科…

Hermite 插值

Hermite 插值 不少实际问题不但要求在节点上函数值相等&#xff0c;而且还要求它的导数值相等&#xff0c;甚至要求高阶导数值也相等。满足这种要求的插值多项式就是 Hermite 插值多项式。 下面只讨论函数值与导数值个数相等的情况。设在节点 a ≤ x 0 < x 1 < ⋯ <…

大语言模型简史:从Transformer(2017)到DeepSeek-R1(2025)的进化之路

2025年初&#xff0c;中国推出了具有开创性且高性价比的「大型语言模型」&#xff08;Large Language Model — LLM&#xff09;DeepSeek-R1&#xff0c;引发了AI的巨大变革。本文回顾了LLM的发展历程&#xff0c;起点是2017年革命性的Transformer架构&#xff0c;该架构通过「…

嵌入式AI(2)清华大学DeepSeek 01:从入门到精通

嵌入式AI(2)清华大学DeepSeek 01&#xff1a;从入门到精通

项目版本号生成

需求 项目想要生成一个更新版本号&#xff0c;格式为v2.0.20250101。 其中v2.0为版本号&#xff0c;更新时进行配置&#xff1b;20250101为更新日期&#xff0c;版本更新时自动生成。 实现思路 创建一个配置文件version.properties&#xff0c;在其中配置版本号&#xff1b…

c# —— StringBuilder 类

StringBuilder 类是 C# 和其他一些基于 .NET Framework 的编程语言中的一个类&#xff0c;它位于 System.Text 命名空间下。StringBuilder 类表示一个可变的字符序列&#xff0c;它是为了提供一种比直接使用字符串连接操作更加高效的方式来构建或修改字符串。 与 C# 中的 stri…

数据守护者:备份文件的重要性及自动化备份实践

在信息化社会&#xff0c;数据已成为企业运营和个人生活的重要组成部分。无论是企业的核心业务数据&#xff0c;还是个人的珍贵照片、重要文档&#xff0c;数据的丢失或损坏都可能带来无法估量的损失。因此&#xff0c;备份文件的重要性愈发凸显&#xff0c;它不仅是数据安全的…