I'm Watching Angela Sodemann video on 6DOF robots and am following her example, but I'm getting a different answer for my R3_6 matrix and I'm not sure where I'm going wrong. She uses this as her example robot:

enter image description here

She doesn't give her DH Table so I came up with this for the last three joints:

enter image description here

Using the homogenous transformation matrix, I came up with the following rotation matrices for the last three joints:

enter image description here

I believe both of those are correct. I think my issue is just in multiplying the matrices. My understanding is to multiply two matrices you multiply every column in each row by every row in each column and sum them:

R_35[0][0] = (R_34[0][0] * R_45[0][0]) + (R_34[0][1] * R_45[1][0]) + (R_34[0][2] * R_45[2][0])
R_35[0][1] = (R_34[0][0] * R_45[0][1]) + (R_34[0][1] * R_45[1][1]) + (R_34[0][2] * R_45[2][1])
R_35[0][2] = (R_34[0][0] * R_45[0][2]) + (R_34[0][1] * R_45[1][2]) + (R_34[0][2] * R_45[2][2])
... and so on

From this I get the following matrices:

enter image description here

My end result is only correct in a few places. Can anyone spot where I'm going wrong?

Note: Several People In the comments have said R1 should be S5S6. Not sure who is correct on that.

Here is the link to the youtube video:


  • $\begingroup$ Replace (R_34[0][2] * R_45[1][1]) as (R_34[0][1] * R_45[1][2]) in the code on R_35[0][2] $\endgroup$ Commented Oct 15, 2021 at 12:44
  • $\begingroup$ Oops, that was a typo in the question and not representative of how I got my R35 and R36 matrices $\endgroup$ Commented Oct 15, 2021 at 18:07
  • $\begingroup$ I've spent a lot more time on trying to figure this out, coded a little tool to multiply matrices of strings together so I don't have to do it by hand and I always come up with that same answer for R35 and R36. I must be incorrect on thinking my DH table is correct or am doing something fundamentally wrong. $\endgroup$ Commented Oct 15, 2021 at 18:13

1 Answer 1


after spending 3-4 hours i successfully found the mistake

first i multiplied the R3_6 by hand and checked the matrix. it came as same as yours, varying from the angela sodemann's R3_6.

after several attempts i decided to define rotation matrices by myself ,and later found that R3_4 is provided here is wrong!

then i calculated all rotation matrices R3_4, R4_5 AND R5_6 and then multiplied to get R3_6 and got the same matrix as angela sodemann { R3_6 (1) (2) is s5s6 as others mentioned }


I also checked my R3_6 matrix. written in python and compared it to the rotation matrix part of the homegeneous transformation eqn and both are same verification

the rotation matric R3_4(That i mentioned wrong) is not for the kinematic diagram that you mentioned in the question, if you compare your image in question and below attached image you will find the difference on 3rd frame, where she used this diagram to teach n another video.

kinematic diagram

link for that video where she calculates R3_4


you can see on 13:25

so the R3_6 you had calculated is applicable for this kinematic diagram of the robot only.

Hope this answer helps you :)

  • $\begingroup$ Remember Denavit–Hartenberg has different versions. Some people may use different approaches. $\endgroup$
    – CroCo
    Commented Oct 17, 2021 at 18:03
  • $\begingroup$ Omg thank you for the dedication on this!! I had looked back through some videos to try to find her example but never came across this one. This helps so much, as I was trying to apply this to my own robot but it wasn't working so I wanted to follow her example to the T to help me learn. $\endgroup$ Commented Oct 18, 2021 at 0:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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