Quaternions#
Quaternion์ ์ฌ์์ ๋๋ ์ฟผํฐ๋์ธ์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ๋ณต์์๋ฅผ ํ์ฅํด ๋ง๋ ์ ์ฒด๊ณ์
๋๋ค.
i2=j2=k2=ijk=โ1q=xi+yj+zk+wqโ=[xโyโzโwโ]T Norm#
โฅโฅโฅโqโโฅโฅโฅโ=x2+y2+z2+w2โ Conjugate quaternion#
qหโ=โxiโyjโzk+w pqโ=qหโpหโ Pure quaternion#
qโ=[xโyโzโ0โ]T Identity quaternion#
Iโ=[0โ0โ0โ1โ]T Inverse quaternion#
qโ1=โฃโฃqโฃโฃ2qหโโ(qโ1=qหโโifย ||q||ย =ย 1โ) Hamilton product#
pqโ=L(p)qโ=R(q)pโโ=โฃโขโขโขโกโpwโpzโโpyโโpxโโโpzโpwโpxโโpyโโpyโโpxโpwโโpzโโpxโpyโpzโpwโโโฆโฅโฅโฅโคโโฃโขโขโขโกโqxโqyโqzโqwโโโฆโฅโฅโฅโคโ=โฃโขโขโขโกโqwโโqzโqyโโqxโโqzโqwโโqxโโqyโโโqyโqxโqwโโqzโโqxโqyโqzโqwโโโฆโฅโฅโฅโคโโฃโขโขโขโกโpxโpyโpzโpwโโโฆโฅโฅโฅโคโโ Rotations#
Rotate Vector#

a(โฃโฃaโฃโฃ=1)๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฒกํฐ๋ฅผ ฮธ๋งํผ ํ์ ์ํค๋ ๋ฐ ํ์ํ ์ฟผํฐ๋์ธ์ ์๋์ ๊ฐ์ต๋๋ค.
qโ(a,ฮธ)=[asin(2ฮธโ)โcos(2ฮธโ)โ]T ๋ฒกํฐ์ ์ฟผํฐ๋์ธ ์ฐ์ฐ ์ ๋ฒกํฐ๋ pure quaternioin์ผ๋ก ๋ํ๋ผ ์ ์์ต๋๋ค.
v=vxโi+vyโj+vzโk vโ=[vxโโvyโโvzโโ0โ] a(โฃโฃaโฃโฃ=1)๋ฅผ ๊ธฐ์ค์ผ๋ก v๋ฅผ ฮธ๋งํผ ํ์ ์ํจ vโฒ๋ฅผ ๊ตฌํ๋ ์์ ์๋์ ๊ฐ์ต๋๋ค.
vโฒvโโฒโ=qvqหโ=R(qหโ)L(q)vโ=โฃโขโขโขโกโ1โ2(qyโ2+qzโ2)2(qxโqyโ+qzโqwโ)2(qxโqzโโqyโqwโ)0โ2(qxโqyโโqzโqwโ)1โ2(qxโ2+qzโ2)2(qyโqzโ+qxโqwโ)0โ2(qxโqzโ+qyโqwโ)2(qyโqzโโqxโqwโ)1โ2(qxโ2+qyโ2)0โ0001โโฆโฅโฅโฅโคโโฃโขโขโขโกโvxโvyโvzโ0โโฆโฅโฅโฅโคโโ ์ฐ์์ ์ธ ํ์ ์ ์๋์ ๊ฐ์ด ๊ตฌํ ์ ์์ต๋๋ค.
v1โv2โv3โโฎโ===โq01โv0โqหโ01โq12โv1โqหโ12โq23โv2โqหโ23โโฎโ==โq12โq01โv0โqหโ01โqหโ12โq23โq12โq01โv0โqหโ01โqหโ12โqหโ23โโฎโ vkโ=qkโ1kโqkโ2kโ1โโฏq01โv0โqหโ01โโฏqหโkโ2kโ1โqหโkโ1kโ q0kโ=qkโ1kโqkโ2kโ1โโฏq01โ Rotate Frame#

์ฒ์์ A์ B ์ขํ๊ณ๋ ๋์ผํ๋ค๊ฐ B ์ขํ๊ณ๊ฐ a(โฃโฃaโฃโฃ=1)๋ฅผ ๊ธฐ์ค์ผ๋ก ฮธ๋งํผ ํ์ ํ๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค.
Av๋ A์์ ๊ด์ฐฐํ v์
๋๋ค. Av๋ ํ์ ํ๊ธฐ ์ B ์ขํ๊ณ์์ ๊ด์ฐฐํ v๋ผ๊ณ ์๊ฐํ ์๋ ์์ต๋๋ค.
Bv๋ ํ์ ํ B์์ ๊ด์ฐฐํ v์
๋๋ค.
B ์ขํ๊ณ ์์ ์๋ ๊ด์ฐฐ์ ์
์ฅ์์ ๋ณด๋ฉด Av๊ฐ a๋ฅผ ๊ธฐ์ค์ผ๋ก โฮธ๋งํผ ํ์ ํ์ฌ Bv๊ฐ ๋์๋ค๊ณ ์๊ฐํ ์ ์์ต๋๋ค.
๋ฐ๋๋ก Bv๊ฐ a๋ฅผ ๊ธฐ์ค์ผ๋ก ฮธ๋งํผ ํ์ ํ๋ฉด Av๋ผ๊ณ ์๊ฐํ ์ ์์ต๋๋ค.
Vector ํ์ ์์ ์ด์ฉํ์ฌ Av์ Bv์ ๊ด๊ณ๋ฅผ ์์ผ๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
์
Avโ=q(Bv)qหโ=qBAโ(Bv)qหโBAโ=โฃโขโขโขโกโ1โ2(qyโ2+qzโ2)2(qxโqyโ+qzโqwโ)2(qxโqzโโqyโqwโ)0โ2(qxโqyโโqzโqwโ)1โ2(qxโ2+qzโ2)2(qyโqzโ+qxโqwโ)0โ2(qxโqzโ+qyโqwโ)2(qyโqzโโqxโqwโ)1โ2(qxโ2+qyโ2)0โ0001โโฆโฅโฅโฅโคโโฃโขโขโขโกโBvxโBvyโBvzโ0โโฆโฅโฅโฅโคโโ ์ฐ์์ ์ธ ํ์ ์ ์๋์ ๊ฐ์ด ๊ตฌํ ์ ์์ต๋๋ค.
kโ1vkโ2vkโ3vโฎโ===โqkkโ1โkvqหโkkโ1โqkโ1kโ2โkโ1vqหโkโ1kโ2โqkโ2kโ3โkโ2vqหโkโ2kโ3โโฎโ==โqkโ1kโ2โqkkโ1โkvqหโkkโ1โqหโkโ1kโ2โqkโ2kโ3โqkโ1kโ2โqkkโ1โkvqหโkkโ1โqหโkโ1kโ2โqหโkโ2kโ3โโฎโ 0v=q10โq21โโฏqkkโ1โkvqหโkkโ1โโฏqหโ21โqหโ10โ qk0โ=q10โq21โโฏqkkโ1โ Small angle approximation#
Taylor Series์ ์ํด sinํจ์์ cosํจ์๋ ์๋์ ๊ฐ์ ๋คํญ์์ผ๋ก ๋ํ๋ผ ์ ์์ต๋๋ค.
sin2ฮธโcos2ฮธโโ=2ฮธโโ3!1โ(2ฮธโ)3+5!1โ(2ฮธโ)5โโฏ=1โ2!1โ(2ฮธโ)2+4!1โ(2ฮธโ)4โโฏโ ฮธโ0 ๋ผ๊ณ ๊ฐ์ ํ๋ฉด sinํจ์์ cosํจ์๋ ์๋์ ๊ฐ์ด ๋ํ๋ผ ์ ์์ต๋๋ค.
sin2ฮธโcos2ฮธโโโ2ฮธโโ1โ ๋ฐ๋ผ์ ํ์ ๊ฐ์ด ์ถฉ๋ถํ ์์ ๋, ํ์ ์ฟผํฐ๋์ธ์ ์๋์ ๊ฐ์ด ๋ํ๋ผ ์ ์์ต๋๋ค.
qโ(a,ฮธ)โ=[asin(2ฮธโ)โcos(2ฮธโ)โ]Tโ[2ฮธโaโ1โ]Tโ(ฮธโ0)โ