机械臂能量分析

机械臂能量分析

    • [1.1 基本定义与符号](#1.1 基本定义与符号)
    • [1.2 动力学方程](#1.2 动力学方程)
      • [1.2.1 关节空间动力学](#1.2.1 关节空间动力学)
      • [1.2.2 任务空间动力学方程:](#1.2.2 任务空间动力学方程:)
      • [1.2.3 运动学关系](#1.2.3 运动学关系)
    • [1.3 能量分析](#1.3 能量分析)
      • [1.3.1 关节空间总机械能:](#1.3.1 关节空间总机械能:)
      • [1.3.2 任务空间总机械能:](#1.3.2 任务空间总机械能:)
      • [1.3.3 能量分解定理](#1.3.3 能量分解定理)
    • [1.4 功率与能量变化率](#1.4 功率与能量变化率)
      • [1.4.1 功率平衡](#1.4.1 功率平衡)
      • [1.4.2 保守外力情况](#1.4.2 保守外力情况)
      • [1.4.3 非保守外力情况](#1.4.3 非保守外力情况)
      • 特殊情况
      • 奇异构型

1.1 基本定义与符号

关节空间变量:

q ∈ R n q \in \mathbb{R}^n q∈Rn:关节位置向量

q ˙ ∈ R n \dot{q} \in \mathbb{R}^n q˙∈Rn:关节速度向量

q ¨ ∈ R n \ddot{q} \in \mathbb{R}^n q¨∈Rn:关节加速度向量

任务空间变量:

x ∈ R m x \in \mathbb{R}^m x∈Rm:末端执行器位姿( m ≤ 6 m \leq 6 m≤6)

x ˙ ∈ R m \dot{x} \in \mathbb{R}^m x˙∈Rm:任务空间速度

x ¨ ∈ R m \ddot{x} \in \mathbb{R}^m x¨∈Rm:任务空间加速度

运动学关系:

  • 正运动学: x = f ( q ) x = f(q) x=f(q)

  • 速度关系: x ˙ = J ( q ) q ˙ \dot{x} = J(q)\dot{q} x˙=J(q)q˙

  • 加速度关系: x ¨ = J ( q ) q ¨ + J ˙ ( q ) q ˙ \ddot{x} = J(q)\ddot{q} + \dot{J}(q)\dot{q} x¨=J(q)q¨+J˙(q)q˙

  • J ( q ) = ∂ f ∂ q J(q) = \frac{\partial f}{\partial q} J(q)=∂q∂f:雅可比矩阵( m × n m \times n m×n)

1.2 动力学方程

1.2.1 关节空间动力学

一般形式:
M ( q ) q ¨ + C ( q , q ˙ ) q ˙ + g ( q ) = τ + J ( q ) T F ext M(q)\ddot{q} + C(q, \dot{q})\dot{q} + g(q) = \tau + J(q)^T F_{\text{ext}} M(q)q¨+C(q,q˙)q˙+g(q)=τ+J(q)TFext

其中:

  • M ( q ) ∈ R n × n M(q) \in \mathbb{R}^{n \times n} M(q)∈Rn×n:对称正定惯量矩阵

  • C ( q , q ˙ ) q ˙ ∈ R n C(q, \dot{q})\dot{q} \in \mathbb{R}^n C(q,q˙)q˙∈Rn:科氏力和离心力向量

  • g ( q ) ∈ R n g(q) \in \mathbb{R}^n g(q)∈Rn:重力向量

  • f ( q ˙ ) ∈ R n f(\dot{q}) \in \mathbb{R}^n f(q˙)∈Rn:摩擦力向量(通常忽略)

  • τ ∈ R n \tau \in \mathbb{R}^n τ∈Rn:关节驱动力矩

  • F ext ∈ R m F_{\text{ext}} \in \mathbb{R}^m Fext∈Rm:作用在末端的环境外力

1.2.2 任务空间动力学方程:

Λ ( q ) x ¨ + μ ( q , q ˙ ) + p ( q ) = F + F ext \Lambda(q)\ddot{x} + \mu(q, \dot{q}) + p(q) = F + F_{\text{ext}} Λ(q)x¨+μ(q,q˙)+p(q)=F+Fext

其中:

  • Λ ( q ) ∈ R m × m \Lambda(q) \in \mathbb{R}^{m \times m} Λ(q)∈Rm×m:任务空间惯量矩阵
  • μ ( q , q ˙ ) ∈ R m \mu(q, \dot{q}) \in \mathbb{R}^m μ(q,q˙)∈Rm:任务空间科氏力/离心力向量
  • p ( q ) ∈ R m p(q) \in \mathbb{R}^m p(q)∈Rm:任务空间重力向量
  • F ∈ R m F \in \mathbb{R}^m F∈Rm:任务空间控制力

1.2.3 运动学关系

x = f ( q ) x ˙ = J ( q ) q ˙ x ¨ = J ( q ) q ¨ + J ˙ ( q ) q ˙ τ = J ( q ) T F \begin{aligned} x &= f(q) \\ \dot{x} &= J(q)\dot{q} \\ \ddot{x} &= J(q)\ddot{q} + \dot{J}(q)\dot{q} \\ \tau &= J(q)^T F \end{aligned} xx˙x¨τ=f(q)=J(q)q˙=J(q)q¨+J˙(q)q˙=J(q)TF

推导过程如下:

将力映射关系 τ = J ( q ) T F \tau = J(q)^T F τ=J(q)TF 代入关节空间动力学(1)式:
M ( q ) q ¨ + C ( q , q ˙ ) q ˙ + g ( q ) = J ( q ) T F + J ( q ) T F ext M(q)\ddot{q} + C(q, \dot{q})\dot{q} + g(q) = J(q)^T F + J(q)^T F_{\text{ext}} M(q)q¨+C(q,q˙)q˙+g(q)=J(q)TF+J(q)TFext

使用动态一致伪逆 J # = M − 1 J T Λ J^\# = M^{-1}J^T\Lambda J#=M−1JTΛ,左乘 J # J^\# J# 的转置:
J # T M q ¨ + J # T ( C q ˙ + g ) = J # T J T ( F + F ext ) {J^\#}^T M \ddot{q} +{J^\#}^T (C\dot{q} + g) = {J^\#}^T J^T (F + F_{\text{ext}}) J#TMq¨+J#T(Cq˙+g)=J#TJT(F+Fext)

利用 J # T J T = I m {J^\#}^T J^T = I_m J#TJT=Im 和 J # T M = Λ J {J^\#}^T M = \Lambda J J#TM=ΛJ,得到:
Λ ( q ) x ¨ + μ ( q , q ˙ ) + p ( q ) = F + F ext \Lambda(q)\ddot{x} + \mu(q, \dot{q}) + p(q) = F + F_{\text{ext}} Λ(q)x¨+μ(q,q˙)+p(q)=F+Fext

其中:

  • Λ ( q ) = ( J ( q ) M ( q ) − 1 J ( q ) T ) − 1 \Lambda(q) = (J(q)M(q)^{-1}J(q)^T)^{-1} Λ(q)=(J(q)M(q)−1J(q)T)−1:任务空间惯量矩阵
  • μ ( q , q ˙ ) = Λ ( J M − 1 C q ˙ − J ˙ q ˙ ) \mu(q, \dot{q}) = \Lambda(J M^{-1}C\dot{q} - \dot{J}\dot{q}) μ(q,q˙)=Λ(JM−1Cq˙−J˙q˙):任务空间科氏力/离心力
  • p ( q ) = Λ J M − 1 g ( q ) p(q) = \Lambda J M^{-1} g(q) p(q)=ΛJM−1g(q):任务空间重力向量

1.3 能量分析

1.3.1 关节空间总机械能:

E joint ( q , q ˙ ) = T joint ( q , q ˙ ) + U joint ( q ) E_{\text{joint}}(q, \dot{q}) = T_{\text{joint}}(q, \dot{q}) + U_{\text{joint}}(q) Ejoint(q,q˙)=Tjoint(q,q˙)+Ujoint(q)

其中:

  • 动能: T joint = 1 2 q ˙ T M ( q ) q ˙ T_{\text{joint}} = \frac{1}{2} \dot{q}^T M(q) \dot{q} Tjoint=21q˙TM(q)q˙
  • 势能: U joint U_{\text{joint}} Ujoint(主要是重力势能)

1.3.2 任务空间总机械能:

E task ( x , x ˙ ) = T task ( q , x ˙ ) + U task ( x ) E_{\text{task}}(x, \dot{x}) = T_{\text{task}}(q, \dot{x}) + U_{\text{task}}(x) Etask(x,x˙)=Ttask(q,x˙)+Utask(x)

其中:

  • 动能: T task = 1 2 x ˙ T Λ ( q ) x ˙ T_{\text{task}} = \frac{1}{2} \dot{x}^T \Lambda(q) \dot{x} Ttask=21x˙TΛ(q)x˙
  • 势能: U task ( x ) = U joint ( f − 1 ( x ) ) U_{\text{task}}(x) = U_{\text{joint}}(f^{-1}(x)) Utask(x)=Ujoint(f−1(x))

1.3.3 能量分解定理

对于冗余机械臂( m < n m < n m<n),关节空间总机械能可分解为:
E joint = E task + T null E_{\text{joint}} = E_{\text{task}} + T_{\text{null}} Ejoint=Etask+Tnull

其中:

  • T null = 1 2 q ˙ null T M ( q ) q ˙ null T_{\text{null}} = \frac{1}{2} \dot{q}{\text{null}}^T M(q) \dot{q}{\text{null}} Tnull=21q˙nullTM(q)q˙null:零空间动能
  • q ˙ null = ( I n − J # J ) q ˙ \dot{q}_{\text{null}} = (I_n - J^\# J) \dot{q} q˙null=(In−J#J)q˙:零空间速度分量
  • J # = M − 1 J T Λ J^\# = M^{-1} J^T \Lambda J#=M−1JTΛ:动态一致伪逆

||证明:

定义任务空间速度分量: q ˙ task = J # x ˙ = J # J q ˙ \dot{q}_{\text{task}} = J^\# \dot{x} = J^\# J \dot{q} q˙task=J#x˙=J#Jq˙

速度分解: q ˙ = q ˙ task + q ˙ null \dot{q} = \dot{q}{\text{task}} + \dot{q}{\text{null}} q˙=q˙task+q˙null

动能分解:
T joint = 1 2 q ˙ T M q ˙ = 1 2 ( q ˙ task + q ˙ null ) T M ( q ˙ task + q ˙ null ) = 1 2 q ˙ task T M q ˙ task + 1 2 q ˙ null T M q ˙ null + q ˙ task T M q ˙ null \begin{aligned} T_{\text{joint}} &= \frac{1}{2} \dot{q}^T M \dot{q} \\ &= \frac{1}{2} (\dot{q}{\text{task}} + \dot{q}{\text{null}})^T M (\dot{q}{\text{task}} + \dot{q}{\text{null}}) \\ &= \frac{1}{2} \dot{q}{\text{task}}^T M \dot{q}{\text{task}} + \frac{1}{2} \dot{q}{\text{null}}^T M \dot{q}{\text{null}} + \dot{q}{\text{task}}^T M \dot{q}{\text{null}} \end{aligned} Tjoint=21q˙TMq˙=21(q˙task+q˙null)TM(q˙task+q˙null)=21q˙taskTMq˙task+21q˙nullTMq˙null+q˙taskTMq˙null

利用 M J # = J T Λ M J^\# = J^T \Lambda MJ#=JTΛ 和 J q ˙ null = 0 J \dot{q}{\text{null}} = 0 Jq˙null=0,可得 q ˙ task T M q ˙ null = 0 \dot{q}{\text{task}}^T M \dot{q}_{\text{null}} = 0 q˙taskTMq˙null=0

验证 1 2 q ˙ task T M q ˙ task = 1 2 x ˙ T Λ x ˙ = T task \frac{1}{2} \dot{q}{\text{task}}^T M \dot{q}{\text{task}} = \frac{1}{2} \dot{x}^T \Lambda \dot{x} = T_{\text{task}} 21q˙taskTMq˙task=21x˙TΛx˙=Ttask

势能相等: U joint ( q ) = U task ( f ( q ) ) U_{\text{joint}}(q) = U_{\text{task}}(f(q)) Ujoint(q)=Utask(f(q))

因此:
E joint = T task + T null + U task = E task + T null E_{\text{joint}} = T_{\text{task}} + T_{\text{null}} + U_{\text{task}} = E_{\text{task}} + T_{\text{null}} Ejoint=Ttask+Tnull+Utask=Etask+Tnull
证明结束||

1.4 功率与能量变化率

1.4.1 功率平衡

机械臂能量变化率满足:
d E joint d t = P act + P ext \begin{equation} \frac{dE_{\text{joint}}}{dt} = P_{\text{act}} + P_{\text{ext}} \end{equation} dtdEjoint=Pact+Pext

其中:

  • P act = q ˙ T τ P_{\text{act}} = \dot{q}^T \tau Pact=q˙Tτ:驱动器输入功率
  • P ext = q ˙ T J T F ext = x ˙ T F ext P_{\text{ext}} = \dot{q}^T J^T F_{\text{ext}} = \dot{x}^T F_{\text{ext}} Pext=q˙TJTFext=x˙TFext:外力功率

||证明

对 E joint E_{\text{joint}} Ejoint 求导:
d E joint d t = d d t ( 1 2 q ˙ T M q ˙ + U joint ) = q ˙ T M q ¨ + 1 2 q ˙ T M ˙ q ˙ + q ˙ T g \begin{align} \frac{dE_{\text{joint}}}{dt} &= \frac{d}{dt}\left(\frac{1}{2} \dot{q}^T M \dot{q} + U_{\text{joint}}\right) \\ &= \dot{q}^T M \ddot{q} + \frac{1}{2} \dot{q}^T \dot{M} \dot{q} + \dot{q}^T g \end{align} dtdEjoint=dtd(21q˙TMq˙+Ujoint)=q˙TMq¨+21q˙TM˙q˙+q˙Tg

代入动力学方程: M q ¨ = τ + J T F ext − C q ˙ − g M \ddot{q} = \tau + J^T F_{\text{ext}} - C \dot{q} - g Mq¨=τ+JTFext−Cq˙−g

利用性质: q ˙ T ( M ˙ − 2 C ) q ˙ = 0 \dot{q}^T (\dot{M} - 2C) \dot{q} = 0 q˙T(M˙−2C)q˙=0,即 q ˙ T C q ˙ = 1 2 q ˙ T M ˙ q ˙ \dot{q}^T C \dot{q} = \frac{1}{2} \dot{q}^T \dot{M} \dot{q} q˙TCq˙=21q˙TM˙q˙

简化得: d E joint d t = q ˙ T τ + q ˙ T J T F ext \frac{dE_{\text{joint}}}{dt} = \dot{q}^T \tau + \dot{q}^T J^T F_{\text{ext}} dtdEjoint=q˙Tτ+q˙TJTFext
证明结束||

1.4.2 保守外力情况

总能量守恒

如果外力 F ext F_{\text{ext}} Fext 是保守力,即存在势能函数 U env ( x ) U_{\text{env}}(x) Uenv(x) 使得 F ext = − ∇ U env ( x ) F_{\text{ext}} = -\nabla U_{\text{env}}(x) Fext=−∇Uenv(x),且 P act = 0 P_{\text{act}} = 0 Pact=0,则:
d d t ( E joint + U env ) = 0 \begin{equation} \frac{d}{dt} \left( E_{\text{joint}} + U_{\text{env}} \right) = 0 \end{equation} dtd(Ejoint+Uenv)=0

保守外力功率: P ext = x ˙ T F ext = − x ˙ T ∇ U env = − d U env d t P_{\text{ext}} = \dot{x}^T F_{\text{ext}} = -\dot{x}^T \nabla U_{\text{env}} = -\frac{dU_{\text{env}}}{dt} Pext=x˙TFext=−x˙T∇Uenv=−dtdUenv

由定理2: d E joint d t = − d U env d t \frac{dE_{\text{joint}}}{dt} = -\frac{dU_{\text{env}}}{dt} dtdEjoint=−dtdUenv

因此: d d t ( E joint + U env ) = 0 \frac{d}{dt}(E_{\text{joint}} + U_{\text{env}}) = 0 dtd(Ejoint+Uenv)=0

1.4.3 非保守外力情况

对于非保守外力(如阻尼力 F ext = − B x ˙ F_{\text{ext}} = -B \dot{x} Fext=−Bx˙, B > 0 B > 0 B>0),能量耗散:
d E joint d t = P act − x ˙ T B x ˙ \begin{equation} \frac{dE_{\text{joint}}}{dt} = P_{\text{act}} - \dot{x}^T B \dot{x} \end{equation} dtdEjoint=Pact−x˙TBx˙

当 P act = 0 P_{\text{act}} = 0 Pact=0 时, d E joint d t ≤ 0 \frac{dE_{\text{joint}}}{dt} \leq 0 dtdEjoint≤0,系统总机械能减少。

特殊情况

非冗余机械臂( m = n m = n m=n)

此时雅可比矩阵可逆,有:

  • q ˙ = J − 1 x ˙ \dot{q} = J^{-1} \dot{x} q˙=J−1x˙
  • Λ = J − T M J − 1 \Lambda = J^{-T} M J^{-1} Λ=J−TMJ−1
  • 零空间维数为0, T null = 0 T_{\text{null}} =0 Tnull=0
  • E joint = E task E_{\text{joint}} = E_{\text{task}} Ejoint=Etask

奇异构型

当 J J J 秩亏时, Λ − 1 = J M − 1 J T \Lambda^{-1} = J M^{-1} J^T Λ−1=JM−1JT 奇异, Λ \Lambda Λ 趋于无穷大,某些任务方向上的有效惯量无限大。

相关推荐
2601_9623446213 小时前
计算机毕业设计之基于大数据的投保数据的分析系统的设计与实现
大数据·人工智能·深度学习·机器学习·信息可视化·小程序·课程设计
星马梦缘14 小时前
机器学习与模式识别 第八章 MAP与偏方差 模拟卷及答案
人工智能·机器学习·map·岭回归·mle·双重下降
JackHCC14 小时前
自进化智能体协同进化综述
人工智能·机器学习
星马梦缘15 小时前
机器学习与模式识别 第十二章 自适应学习优化器 考点压缩
人工智能·机器学习·优化器·sgd·adam·rmsprop
qcx2315 小时前
Agentic RAG不止能回答问题,已经能自动修复真实CVE漏洞了
人工智能·机器学习·ai·llm·脑信号
jaychouchannel16 小时前
RecursiveCharacterTextSplitter 中文切分隐形缺陷:重叠、断语义、列表割裂完整复现与修复
人工智能·机器学习
天佑木枫16 小时前
AI:AI 开车撞了人,谁赔钱?——自动驾驶的法律黑洞
人工智能·机器学习·自动驾驶
zhiSiBuYu051717 小时前
混合检索实战指南:关键词与向量的完美融合
人工智能·python·机器学习
2601_9623446217 小时前
计算机毕业设计之基于大数据的手机销售数据对比分析系统
大数据·人工智能·深度学习·机器学习·智能手机·数据挖掘·课程设计
烟锁池塘柳017 小时前
【机器学习】万字长文详解集成学习 Ensemble Learning:从 Bagging、Boosting 到 Stacking 的全解析
机器学习·集成学习·boosting