k1sinθ+k2cosθ=k3の解を求める方法ついて紹介します。
[latexpage]
k1sinθ+k2cosθ=k3の解の導出
【定理1】
\begin{eqnarray}
k_1sin\theta+k_2cos\theta=k_3
\end{eqnarray}
の解は,つぎの式になります。
\begin{eqnarray} \theta =atan2(k_1,k_2) \pm atan2( \sqrt{k_1^2+k_2^2-k_3^2} ,k_3) \end{eqnarray}【証明】
\begin{eqnarray}
\phi =atan2(k_1,k_2)
\end{eqnarray}
より
\begin{eqnarray} \phi- \theta &=& atan2{sin(\phi- \theta),cos(\phi- \theta)} \end{eqnarray} \begin{eqnarray} \theta &=& \phi -atan2{sin(\phi- \theta),cos(\phi- \theta)} \end{eqnarray}ここで,$sin(\phi- \theta), cos(\phi- \theta)$を求めることを考えます。 図より
\begin{eqnarray} k_1=\sqrt{k_1^2+k_2^2}sin\phi \end{eqnarray} \begin{eqnarray} k_2=\sqrt{k_1^2+k_2^2}cos\phi \end{eqnarray}なので
\begin{eqnarray} (\sqrt{k_1^2+k_2^2}sin\phi )sin\theta+(\sqrt{k_1^2+k_2^2}cos\phi )cos\theta = k_3 \end{eqnarray} \begin{eqnarray} \sqrt{k_1^2+k_2^2}(sin\phi sin\theta+cos\phi cos\theta) = k_3 \end{eqnarray} \begin{eqnarray} \sqrt{k_1^2+k_2^2}cos(\phi- \theta) = k_3 \end{eqnarray} \begin{eqnarray} cos(\phi- \theta) = \frac{k_3}{\sqrt{k_1^2+k_2^2}} \end{eqnarray}また,$sin^2\theta+cos^2\theta=1$より
\begin{eqnarray} sin(\phi- \theta) &=& \pm \sqrt{1-cos(\phi- \theta)^2} \end{eqnarray} \begin{eqnarray} &=& \pm \sqrt{1-\frac{k_3^2}{k_1^2+k_2^2}}\ \end{eqnarray} \begin{eqnarray} &=& \pm \sqrt{\frac{k_1^2+k_2^2-k_3^2}{k_1^2+k_2^2}} \end{eqnarray}$sin(\phi- \theta), cos(\phi- \theta)$が求まったので
\begin{eqnarray} \theta =\phi -atan2(\pm {\frac{\sqrt{k_1^2+k_2^2-k_3^2}}{\sqrt{k_1^2+k_2^2}}},\frac{k_3}{\sqrt{k_1^2+k_2^2}}) \end{eqnarray}$\sqrt{k_1^2+k_2^2}>0$より分母を消去すると
\begin{eqnarray} \theta = \phi -atan2(\pm \sqrt{k_1^2+k_2^2-k_3^2},k_3) = \phi \pm atan2(\sqrt{k_1^2+k_2^2-k_3^2},k_3) \end{eqnarray} \begin{eqnarray} \theta = atan2(k_1,k_2) \pm atan2(\sqrt{k_1^2+k_2^2-k_3^2},k_3) \end{eqnarray}(証明終わり)
関連ページ

【ロボット工学超入門】基礎となる理論から応用例まで解説
ロボット工学の基本的なアルゴリズムや公式について入門者向けに解説します。
コメント