Ch4. Jacobians: velocities and static forces

gidori·2024년 5월 13일

로봇공학

목록 보기
4/4

1. Intorduction

  • 기존의 Static posiition problems 이었던 것을 벗어나 rigid body의 linear velocity와 angular velocity까지 고려해본다.

2. Notation for time-varying position and orientation

2-1. Differentiation of position vectors

  • {B} frame에서 position Q를 미분하는 식은 아래와 같다.
BVQ=ddtBQ=limΔt0BQ(t+Δt)BQ(t)Δt{}^BV_Q=\frac{d}{dt}{}^BQ=\lim_{\Delta t \rightarrow 0}\frac{{}^BQ(t+\Delta t)-{}^BQ(t)}{\Delta t}
  • {B} frame에서 미분한 position 를 {A} frame에서 표현하면 아래와 같다.

    A(BVQ)=AddtBQ{}^A({}^BV_Q)=\frac{{}^Ad}{dt}{}^BQ
  • 고정된 frame UU가 있을 때, 식을 간편하게 표현하기 위에 아래와 같이 표현할 수 있다.
    아래의 식은 frame CC의 origin의 velocity를 frame UU에서 미분, 표현하는 식

    vC=U(UVCORG)=UVCORGv_C = {}^U({}^UV_{CORG})={}^UV_{CORG}

2-2. Angular velocity vector

  • 각속도 벡터는 어떤 좌표계를 기준으로 다른 좌표계가 회전할 때, 그 회전축과 속도를 나타내기 위한 벡터로 3x1 matrix로 구성되어 있다.

  • position vector와 동일하게 아래와 같이 표현할 수 있다.
    frame CC에서 표현한 frame AA에서 바라본 frame BB의 angular vector

    C(AΩC){}^C({}^A\Omega_C)

    frame UU에서 표현한 frame UU에서 바라본 frame CC의 angular vector

    wC=UΩC.w_C={}^U\Omega_C.

3. Linear and rotation velocity of rigid bodies

3-1. Linear velocity

  • frame BB의 Rotation matrix가 상수일 때 즉 회전하지 않을 때 frame AA에서 미분, 표현한 점 QQ의 선속도를 구하는 경우
AVQ=AVBORG+BARBVQ{}^AV_Q={}^AV_{BORG}+{}^A_BR^BV_Q

3-2 Rotation velocity

  • 식을 간단하게 표현하기 위해 frame AABB의 origin이 서로 같다고 가정하고 식을 전개해 보자.

  • QQ의 궤적이 그래는 원의 반지름은 AQsinθ{}^AQ\cdot\sin \theta로 구할 수 있다.
  • Δt\Delta t시간동안 움직인 각도는 AΩBΔt{}^A\Omega_B \cdot \Delta t로 나타낼 수 있고 QQ가 이동한 거리 ΔQ\Delta QAQsinθAΩBΔt{}^AQ\cdot\sin \theta \cdot {}^A\Omega_B \cdot \Delta t 로 표현할 수 있다.
  • 마지막으로 점 QQ를 frame AA 에서 미분, 표현한 선속도는 AVQ=ΔQΔt=AQsinθAΩB{}^AV_Q=\frac{\Delta Q}{\Delta t}={}^AQ\cdot\sin \theta \cdot {}^A\Omega_B로 나타낼 수 있고, 이는 외적을 이용해 다시 나타낼 수 있다. (AVQ=AΩB×AQ{}^AV_Q={}^A\Omega_B \times {}^AQ)
  • 최종적으로 Linear veolcity와 Rotation velocity가 둘다 존재할 때는 아래와 같은 식으로 일반화 할 수 있다.
AVQ=AVBORG+BARBVQ+AΩV×BARBQ{}^AV_Q={}^AV_{BORG}+{}^A_BR^{B}V_Q+{}^A\Omega_V \times {}^A_BR^BQ

3-3 By Differential

  • 3-1, 3-2와 같이 증명할 필요없이, 미분을 통해 바로 구할 수 있다.

[step1]

APQ=APBORG+BARBPQ{}^AP_Q={}^AP_{BORG}+{}^A_BR{}^BP_Q

[step2]

AP˙Q=AP˙BORG+BAR˙BPQ+BARBP˙Q{}^A\dot{P}_Q={}^A\dot{P}_{BORG}+{}^A_B\dot{R}{}^BP_Q+{}^A_BR{}^B\dot{P}_Q

[step3]

AVQ=AVBORG+BARBVQ+AΩB×BARBPQ{}^AV_Q={}^AV_{BORG}+{}^A_BR{}^BV_Q+{}^A\Omega_B \times {}^A_BR^BP_Q
  • 로봇에서 linear velocity와 angular velocity의 표현
    • viv_i : link 0에서 미분한 link i에 대한 linear velocity
    • wiw_i : link 0에서 미분한 link i에 대한 angular velocity

  • link i+1의 velocity는 link i에 영향을 받기 때문에 i+1wi+1{}^{i+1}w_{i+1}을 표현할 때 이를 고려해야한다.
  • ivi{}^iv_{i}은 link i에 의해 발생하는 link i+1의 linear velocity이고, iiw×iPi+1{}^{i}_{i}w \times {}^{i}P_{i+1}는 link i+1의 join의 rotational veloicty에 의해 발생하는 link i+1의 linear velocity로서 이 둘을 합한 값이 ivi+1{}^{i}v_{i+1}이다.
ivi+1=ivi+iw+i×iPi+1{}^iv_{i+1}={}^{i}v_i+{}^iw+i \times ^{i}P_{i+1}
  • 위 식에 ii+1R{}^{i+1}_iR를 곱해 식을 정리하면 아래와 같다.
    i+1vi+1=ii+1R(ivi+iw+i×iPi+1){}^{i+1}v_{i+1}={}^{i+1}_iR({}^{i}v_i+{}^iw+i \times ^{i}P_{i+1})
  • iwi{}^iw_{i}은 link i에 의해 발생하는 link i+1의 angular velocity이고, i+1iRθ˙i+1i+1Z^i+1{}^{i}_{i+1}R\dot{\theta}_{i+1}{}^{i+1}\hat{Z}_{i+1}는 link i+1의 join의 rotational veloicty에 의해 발생하는 link i+1의 angular velocity로서 이 둘을 합한 값이 iwi+1{}^{i}w_{i+1}이다.
iwi+1=iwi+i+1iRθ˙i+1i+1Z^i+1, where  θ˙i+1i+1Z^i+1=i+1[00θ˙i+1]{}^{i}w_{i+1}={}^iw_{i}+{}^{i}_{i+1}R\dot{\theta}_{i+1}{}^{i+1}\hat{Z}_{i+1},\space where \space \space \dot{\theta}_{i+1}{}^{i+1}\hat{Z}_{i+1}={}^{i+1}\begin{bmatrix} 0 \\ 0 \\ \dot{\theta}_{i+1} \end{bmatrix}
  • 위 식에 ii+1R{}^{i+1}_iR를 곱해 식을 정리하면 아래와 같다.
    i+1wi+1=ii+1Riwi+θ˙i+1i+1Z^i+1{}^{i+1}w_{i+1}={}^{i+1}_iR^iw_i+ \dot{\theta}_{i+1}{}^{i+1}\hat{Z}_{i+1}

0개의 댓글