Coordinate Frames, Kinematics

haeryong·2024년 2월 14일
0

Reference : Principles of GNSS Inertial and Multisensor Integrated Navigation Systems

Attitude, Rotation, Resolving Axes Transformation

Attitude : orientation of axes of one coordinate w.r.t another coordinate frame.

Coordinate Transformation Matrix, Rotation Matrix : CαβC_\alpha^\beta

xβ=Cαβxαx^\beta=C_\alpha^\beta x^\alpha : 임의의 벡터 x의 resolving axes를 α\alpha에서 β\beta로 변환

위와 같이 CαβC^\beta_\alpha는 vector의 resolving frame을 α\alpha에서 β\beta로 변환시키는 coordinate transformation Matrix이면서, β\beta에서 α\alpha로의 Rotation Matrix. 2가지 의미를 갖는다.

Kinematics

xβαγx_{\beta \alpha}^\gamma

  • α\alpha : object frame. x의 motion이 기술되는 프레임.
  • β\beta : reference frame : motion의 기준이 되는 프레임.
  • γ\gamma : resolving frame : motion이 표현되는 프레임.

예를 들어 x가 position(위치)에 대한 물리량이라고 하면, xβαγx_{\beta\alpha}^\gammaβ\beta frame 기준 α\alpha frame의 위치를 γ\gamma frame으로 표현한 값이다.

1. Angular rate

wβαγw_{\beta\alpha}^\gamma : β\beta frame 기준 α\alpha frame의 회전속도를 γ\gamma frame으로 표현한 벡터.

wβαγ=wβδγ+wδαγw_{\beta\alpha}^\gamma=w_{\beta\delta}^\gamma+w_{\delta\alpha}^\gamma, wβαδ=Cγδwβαγ\quad w_{\beta\alpha}^\delta=C^\delta_\gamma w_{\beta\alpha}^\gamma

α\alpha frame은 회전하고, β\beta frame은 회전하지 않는다고 가정하면

Cβα(t+δt)=Cα(t)α(t+δt)Cβα(t)=exp([wβαα]×δt)Cβα(t)(I[wβαα]×δt)Cβα(t)C^\alpha_\beta(t+\delta t)=C^{\alpha(t+\delta t)}_{\alpha(t)}C^\alpha_\beta(t)=exp(-[w^\alpha_{\beta\alpha}]_{\times}\delta t)C^\alpha_\beta(t)\approx (I-[w^\alpha_{\beta\alpha}]_{\times} \delta t)C^\alpha_\beta(t)

C˙βα=limδt>0(Cβα(t+δt)Cβα(t)δt)=[wβαα]×Cβα\dot{C}_\beta^\alpha=\lim_{\delta t->0}(\frac{C^\alpha_\beta(t+\delta t)-C^\alpha_\beta(t)}{\delta t})=-[w^\alpha_{\beta\alpha}]_{\times}C^\alpha_\beta를 얻는다.

반대로 α\alpha frame은 회전하지 않고, β\beta frame이 회전한다고 가정하면

C˙βα=Cβα[wβαβ]×\dot{C}_\beta^\alpha=-C^\alpha_\beta[w^\beta_{\beta\alpha}]_{\times}를 얻는다.

Cβα[wαββ]×Cαβ=[wαβα]×C^\alpha_\beta[w^\beta_{\alpha\beta}]_{\times}C^\beta_\alpha=[w^\alpha_{\alpha\beta}]_\times이므로

C˙βα=Cβα[wβαβ]×=[wβαα]×Cβα\dot{C}^\alpha_\beta=-C^\alpha_\beta[w^\beta_{\beta\alpha}]_\times=-[w^\alpha_{\beta\alpha}]_{\times}C^\alpha_\beta

2. Cartesian Position

rβαγ=(xβαγ,yβαγ,zβαγ)r^\gamma_{\beta\alpha}=(x^\gamma_{\beta\alpha},y^\gamma_{\beta\alpha},z^\gamma_{\beta\alpha}) : β\beta frame 기준 α\alpha frame의 origin의 위치를 γ\gamma frame으로 표현한 값.

rβαγ=rαβγr^\gamma_{\beta\alpha}=-r^\gamma_{\alpha\beta}, rβαγ=rδαγrδβγ=rβδγ+rδαγr^\gamma_{\beta\alpha}=r^\gamma_{\delta\alpha}-r^\gamma_{\delta\beta}=r^\gamma_{\beta\delta}+r^\gamma_{\delta\alpha}

rβαδ=Cγδrβαγr^\delta_{\beta\alpha}=C^\delta_\gamma r^\gamma_{\beta\alpha}

3. velocity

vβαγ=Cβγr˙βαβv^\gamma_{\beta\alpha}=C^\gamma_\beta\dot{r}^\beta_{\beta\alpha} : b frame기준 a 프레임의 위치의 변화율을 γ\gamma frame으로 표현한 값.

position의 경우와 달리, ref frame과 resolving frame이 서로 회전하는 경우(Cβγ0˙\dot{C^\gamma_\beta \neq0}) resolving frame에서 표현되는 position의 변화율과 velocity는 서로 다르다.
r˙βαγ=Cβγrβαβ˙=C˙βγrβαβ+Cβγr˙βαβ=C˙βγrβαβ+vβαγ\dot{r}^\gamma_{\beta\alpha}=\dot{C^\gamma_\beta r^\beta_{\beta\alpha} }=\dot{C}^\gamma_\beta r^\beta_{\beta\alpha}+C^\gamma_\beta \dot{r}^\beta_{\beta\alpha}=\dot{C}^\gamma_\beta r^\beta_{\beta\alpha}+v^\gamma_{\beta\alpha}

또한 position과 달리 velocity는 마이너스를 곱하고 reference frame과 object frame을 바꾼 값이 원래의 값과 일치하지 않는다.

vαβγ=vβαγCαγC˙βαrβαβv^\gamma_{\alpha\beta}=-v^\gamma_{\beta\alpha}-C^\gamma_\alpha\dot{C}^\alpha_\beta r^\beta_{\beta\alpha}

또한 position과 달리 velocity의 vector sum을 사용할 수 없다.
vβαγvβδγ+vδαγv^\gamma_{\beta\alpha} \neq v^\gamma_{\beta\delta}+v^\gamma_{\delta\alpha}

velocity의 resolving frame을 변환하는 것은 가능하다.
rate of change of position(position의 변화율)과는 다름을 주의.

vβαδ=Cγδvβαγv^\delta_{\beta\alpha}=C^\delta_\gamma v^\gamma_{\beta\alpha}

4. acceleration

aβαγ=Cβγr¨βαβa^\gamma_{\beta\alpha}=C^\gamma_\beta \ddot{r}^\beta_{\beta\alpha}

reference frame과 resolving frame이 서로 회전하는 경우 v˙\dot{v}r¨\ddot{r}은 아래와 같다.

v˙βαγ=Cβγr˙βαβ˙=C˙βγr˙βαβ+Cβγr¨βαβ=C˙βγr˙βαβ+aβαγ\dot{v}^\gamma_{\beta\alpha}=\dot{C^\gamma_\beta\dot{r}^\beta_{\beta\alpha}}=\dot{C}^\gamma_\beta\dot{r}^\beta_{\beta\alpha}+C^\gamma_\beta\ddot{r}^\beta_{\beta\alpha}=\dot{C}^\gamma_\beta\dot{r}^\beta_{\beta\alpha}+a^\gamma_{\beta\alpha}

r¨βαγ=Cβγrβαβ¨=C¨βγrβαβ+2C˙βγr˙βαβ+aβαγ\ddot{r}^\gamma_{\beta\alpha}=\ddot{C^\gamma_\beta r^\beta_{\beta\alpha}}=\ddot{C}^\gamma_\beta r^\beta_{\beta\alpha}+2\dot{C}^\gamma_\beta \dot{r}^\beta_{\beta\alpha}+a^\gamma_{\beta\alpha}

angular rate에서 구한 식을 이용하면
C¨βγrβαβ=([wβγγ]×2[wβγγ]˙×)rβαγ\ddot{C}^\gamma_\beta r^\beta_{\beta\alpha}=([w^\gamma_{\beta\gamma}]_\times^2-\dot{[w^\gamma_{\beta\gamma}]}_\times)r^\gamma_{\beta\alpha}

Cβγ˙r˙βαβ=[wβγγ]×2rβαγ[wβγγ]×r˙βαγ\dot{C^\gamma_\beta} \dot{r}^\beta_{\beta\alpha}=-[w^\gamma_{\beta\gamma}]_\times^2 r^\gamma_{\beta\alpha}-[w^\gamma_{\beta\gamma}]_\times \dot{r}^\gamma_{\beta\alpha}를 얻을 수 있고, 두 식을 사용해 정리하면

r¨βαγ=[wβγγ]×2rβαγ2[wβγγ]×r˙βαγ[wβγγ]˙×rβαγ+aβαγ\ddot{r}^\gamma_{\beta\alpha}=-[w^\gamma_{\beta\gamma}]_\times^2 r^\gamma_{\beta\alpha}-2[w^\gamma_{\beta\gamma}]_\times \dot{r}^\gamma_{\beta\alpha}-\dot{[w^\gamma_{\beta\gamma}]}_\times r^\gamma_{\beta\alpha}+a^\gamma_{\beta\alpha}
1, 2, 3번째 term은 각각 centrifugal, coriolis, euler pseudo-force에 관련된 값이다.

velocity와 마찬가지로 vector sum이 가능하지 않고, accel의 좌표계 변환은 가능하다.

aβαγaβδγ+aδαγa^\gamma_{\beta\alpha} \neq a^\gamma_{\beta\delta}+a^\gamma_{\delta \alpha}

aβαδ=Cγδaβαγa^\delta_{\beta\alpha}=C^\delta_\gamma a^\gamma_{\beta\alpha}


0개의 댓글