I am working on scara robot project and I have one big confusion. I am using simple trigonometric way(tan inverse traingl formula) to calculate inverse kinematics . But lot of people suggested me to use DH algorithm to calculate inverse kinematics . Which one is better and faster algorithm for scara robot .


The geometric method of computing inverse kinematics (which you are calling the trigonometric way) and the Denavit-Hartenburg method result in the same kinematic equations. Neither is better, although DH can be generalized more easily to suit a variety of arm geometries.

Regarding which algorithm is faster, it depends on how you implement the equations in code. Optimizing the calculations in your software will probably yield performance improvements (I am basing this on assumptions I'm making when reading your question). But calculating the equations using a different approach should have no impact.

  • $\begingroup$ Also, if your SCARA programming is part of a course in which you'll eventually be using DH for more complicated manipulators, then the SCARA arm is a pretty easy introduction to DH. If this is the case, it may benefit you to study DH for this arm. $\endgroup$
    – SteveO
    Jan 24 '17 at 12:17

The solution of the inverse kinematics problem and the Denavit Hartenberg method (or algorithm) are two very different things. The DH provides rules on how to define coordinate systems, but it does not constrain or guide to on how to solve the inverse kinematics problem. These are two distinct steps.

  1. Setting the coordinate systems

The DH method is used to set the coordinate systems in the joints of the robot. It is one method of doing this, you do not necesarily have to follow this convention, you can just define which is the positivie and which is the negative direction of tha angle in any arbitrary way you like. It is recommended to use the DH method to set the coordinate systems if you are planning to give the robot to other rooticits who are used to this convention.

  1. Solving the inverse kinematics problem comes after setting the coordinate systems (or at least positive and negative directions of the axis angle) At this point, you are free to chose:
    • a matrix based appraoch (sometimes referred to incorrectly as the DH method), where you write all the transformation matrices and identify usefull equation in the elements of the matrices. The DH convention oly helps you to build the transformation matrix, but transfomration matrices can be built also without applying the DH convention.
    • a geometrical approach, where you do not use matrix relations, but try to find equations based on geometrical equalities
    • a quaternion based approach, again, it can be in DH defeined coordinate systems or not.

The first two methods lead (as SteveO correctly stated) to exactly the same equations, or at least with equations with very similar complexity. The third methods might lead to equations where elements are calculated redundanlty. However I do not think there is a very significant difference in calculation complexit.

For a Scara robot, I do not think it matters which inverse kinematics solution method you choose, you will end up with roughly (or maybe even exaclty) the same equations. If you plan to interact with ither roboticists, I would definetly recommend defining the joint coordinate systems as the DH convention specifies.


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.