Premise: I am by no means an expert on Robotics, I have to deal with this project where we use a robotic arm (franka emika), so feel free to assume that I got the basics wrong!

I have this arm ( https://frankaemika.github.io/docs/control_parameters.html ) and I have its DH parameters for each joint. I need to compute each x-y-z joint positions.

I understand from here that you can compute, for each joint, a $ [^{n-1}T_n]$ matrix which represents a "change of frame" from the previous frame; I also understand that the product of the first n matrixes gives the change-of-frame from the initial frame to the n-th joint frame. But, how do you use this T matrix to compute the x-y-z positions?


By combining all the matrices, you'll end up having an homogeneous transformation $T \in SE\left(3\right)$ that can be expressed as: $$ T= \left( \begin{matrix} \mathbf{R} & \mathbf{p} \\ 0 & 1\end{matrix} \right), $$ where the matrix $\mathbf{R} \in \mathbb{R}^{3 \times 3}$ is symmetric and defines how the final frame is rotated with respect to the root, whereas the vector $\mathbf{p} \in \mathbb{R}^{3 \times 1}$ accounts for the translational part.

Indeed, it comes out that: $$ \mathbf{p}=\left( \begin{matrix} x \\ y \\ z \end{matrix} \right). $$


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.