机器人学)"/>
非惯性系下导数问题(机器人学)
非惯性系下导数问题
我们知道,在惯性系下,速度 v v v为位移 r r r的导数,加速度 a a a为速度 v v v。那么在非惯性系下是否也成立呢?当然,非惯性系下可没有这么简单,接下来我们就来一步一步推导一下。
推导
假设有一个惯性系0, O − X Y Z {O-XYZ} O−XYZ和一个非惯性系1, O 1 − X 1 Y 1 Z 1 {O_1-X_1Y_1Z_1} O1−X1Y1Z1。假设坐标系1相对于坐标系0的旋转矩阵为 R ( θ ) R(\theta) R(θ)(简单起见,仅考虑绕着z轴转动),假设点P的绝对位移 r r r(相对于惯性系)在惯性系0下的表示为 r 0 0 r^0_0 r00,在非惯性系1下的表示为 r 0 1 r^1_0 r01,显然我们有:
r 0 0 = R ( θ ) r 0 1 (1) r^0_0 =R(\theta) r^1_0 \tag{1} r00=R(θ)r01(1)
对式1两边求导,可以得到
v 0 0 = r ˙ 0 0 = R ˙ ( θ ) r 0 1 + R ( θ ) r ˙ 0 1 (2) v^0_0 = \dot r^0_0 =\dot R(\theta) r^1_0 + R(\theta) \dot r^1_0 \tag{2} v00=r˙00=R˙(θ)r01+R(θ)r˙01(2)
v 0 0 v^0_0 v00表示P相对于惯性系的速度在惯性系下的表示,由旋转矩阵可得:
v 0 0 = R ( θ ) v 0 1 (3) v^0_0 =R(\theta) v^1_0 \tag{3} v00=R(θ)v01(3)
v 0 1 v^1_0 v01表示P相对于惯性系的速度在非惯性系下的表示,带入式2可得到:
R ( θ ) v 0 1 = R ˙ ( θ ) r 0 1 + R ( θ ) r ˙ 0 1 (4) R(\theta) v^1_0 =\dot R(\theta) r^1_0 + R(\theta) \dot r^1_0 \tag{4} R(θ)v01=R˙(θ)r01+R(θ)r˙01(4)
两边同乘 R ( θ ) − 1 = R ( θ ) R(\theta)^{-1}=R(\theta) R(θ)−1=R(θ):
v 0 1 = R ( θ ) − 1 R ˙ ( θ ) r 0 1 + r ˙ 0 1 (5) v^1_0 = R(\theta)^{-1}\dot R(\theta) r^1_0 + \dot r^1_0 \tag{5} v01=R(θ)−1R˙(θ)r01+r˙01(5)
根据旋转矩阵和反对称矩阵:
R ˙ = d R d t = S ( ω 0 ( t ) ) R (6) \dot{R}=\frac{dR}{dt}=S(\omega^0(t))R\tag{6} R˙=dtdR=S(ω0(t))R(6)
R S ( a ) R T = S ( R a ) (7) RS(a)R^T=S(Ra)\tag{7} RS(a)RT=S(Ra)(7)
R ( θ ) − 1 = R ( θ ) T (8) R(\theta)^{-1}=R(\theta)^{T} \tag{8} R(θ)−1=R(θ)T(8)
公式5可以进一步得到:
v 0 1 = R ( θ ) − 1 S ( ω 0 ( t ) ) R r 0 1 + r ˙ 0 1 = S ( R ( θ ) − 1 ω 0 ( t ) ) r 0 1 + r ˙ 0 1 = S ( ω 1 ( t ) ) r 0 1 + r ˙ 0 1 = r ˙ 0 1 + ω 1 ( t ) × r 0 1 (9) v^1_0 = R(\theta)^{-1}S(\omega^0(t))Rr^1_0 + \dot r^1_0 =S(R(\theta)^{-1}\omega^0(t))r^1_0 + \dot r^1_0 \\ = S(\omega^1(t))r^1_0 + \dot r^1_0 = \dot r^1_0 + \omega^1(t)\ \times \ r^1_0 \tag{9} v01=R(θ)−1S(ω0(t))Rr01+r˙01=S(R(θ)−1ω0(t))r01+r˙01=S(ω1(t))r01+r˙01=r˙01+ω1(t) × r01(9)
这就得到了我们所要的公式:
v 0 1 = r ˙ 0 1 + ω 1 ( t ) × r 0 1 (10) v^1_0 = \dot r^1_0 + \omega^1(t)\ \times \ r^1_0 \tag{10} v01=r˙01+ω1(t) × r01(10)
具体解释一下该公式的含义:绝对速度(相对于惯性系)在非惯性系的表示并不会直接等于绝对位置(相对于惯性系)在非惯性系的表示的导数,还需要加上 ω 1 ( t ) × r 0 1 \omega^1(t)\ \times \ r^1_0 ω1(t) × r01,其中 ω 1 ( t ) \omega^1(t) ω1(t)表示坐标系1相对于坐标系0的旋转角速度在非惯性系下的表示, × \times ×表示叉乘。
对于加速度的推导(对于任意矢量),都有这个规律~
更多推荐
非惯性系下导数问题(机器人学)
发布评论