I am currently designing a 2D simulation of a 3DOFs robotic arm in order to develop a better understanding of inverse kinematic (so as to avoid breaking more components than necessary) but despite my numerous readings I still cannot figure out how apply it to my arm.

I tried to represent my arm joints as a combination of three circle radiuses, or using complex exponential form (I did a very simple modelization using Geogebra), but no matter the method I can't figure out how to constrain my problem.

During my research I came across this blog: Inverse kinematics of 3-link arm with constrained minimization in Python and I found the solution really elegant, but even if it feels logical, I don't understand it.

What's the math behind it? Is it based on Lagrange multiplier?

What I understand is that we want to find the appropriate combination of three angles so that the end effector of our robot ends up at the right position. I understand there are infinitely many solutions among which we want to pick the one that suits us the best, but I don't understand how.

Could you please explain me the method used in this blog?


The referenced blog is called studywolf, and apart from the inverse kinematics problem ,it provides a large variety of robotics tutorials and i have it own my own watchlist as well. To the problem of the IK solver itself: the question goes into the right direction. Creating a model and visualizing it, is the first important step in robotics engineering. What the studywolf blog has described is a sequential least squares method, which was introduced in a forum post at robotics.SE a while ago.[1] The goal is to find the minimum of a function.

Another option for approaching the IK problem is the mentioned Lagrange technique.[2] It is similar to Gradient Descent [3] an optimization method for solving a system of equations.

[1] Least square method https://robotics.stackexchange.com/a/15451/14283

[2] Lagrange https://robotics.stackexchange.com/a/10258/14283

[3] Gradient Descent Solving Inverse Kinematics with Gradient Descent

  • $\begingroup$ Thanks a lot and sorry for the late reply, I started reading through it and it seems really interesting ! $\endgroup$
    – Caribou123
    May 22 '19 at 19:45

This site is temporarily in read only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .