I'm working on a robot gimbal where there are 4 revolute joints (4th axis for gimbal lock, reducing inertia etc). The robot is nodal such that all axes have the same nodal point and rotating any axes keeps does not change the position of the end effector, only changes its look direction.

Normally for kinematics I define my robots just with trig. This time I'm trying to learn how to define the robot with DH parameters as it seems like every article I've read about 4 axis gimbals has used DH to define the model so I need to understand it.

Below is my kinematics diagram of the robot in its home position and what I'd like to check is that I've correctly defined my frames. I've been a bit confused with finding the common normal as the Xi distance to Zi-1 is zero so I found it hard to visualize that. I think I finally got it correct though.

enter image description here

The grayed out part of this model is just a support bearing. I added it for my own clarity as that's how the actual robot looks.

This is then the DH parameter table I came up with. I think the only length value that matters is L1. Since the robot is nodal, the length of the links 2 and 3 could be anything and it wouldn't affect it so I put them as zero, but the distance from the base to the robots nodal point does matter.

Link Type θ α r d
1 R 0 π/2 0 L1
2 R π/2 π/2 0 0
3 R 0 -π/2 0 0

Did I define my model frames/DH parameters correctly?


1 Answer 1


i had corrected the kinematic diagram as per the right hand rule,

enter image description here

and the dh parameters are, enter image description here

updated kinematic diagram with a frame for end effector(camera mount)

i had updated thekinematic diagram with the 5th frame (for camera mount)

  • $\begingroup$ Thank you! One question, should the rotation you specified for θ1 be reversed? You put θ1-90 (which looks correct) but going off of the θ1 rotation that would be +90 since to make X1 match with X2 it would rotate into the page. $\endgroup$ Sep 8, 2021 at 19:18
  • 1
    $\begingroup$ The angle between x1 and x2 is 90°, but it is rotated opposite to rotation axis of z1. So you have to put ( θ1-90) or (θ1+270). $\endgroup$ Sep 9, 2021 at 1:53
  • 1
    $\begingroup$ sorry i forgot to mention the 5th frame (now included) , and the dh paramaters for link 4 is correct in your new question $\endgroup$ Sep 9, 2021 at 2:40
  • $\begingroup$ Thanks again! Really appreciate the help $\endgroup$ Sep 9, 2021 at 16:50
  • $\begingroup$ I'm now looking at inverse kinematics and one other thing came up - Does it make sense to specify a "d" value on a revolute joint or should I really have a separate fixed distance prismatic joint for the offset from frame 0 and frame 1 (aka L1 in the diagram)? Seems like often times q is used to represent d or theta depending on the joint type. $\endgroup$ Sep 10, 2021 at 20:58

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.