0
$\begingroup$

I'm trying to figure out to a problem with a planar manipulator. The manipulator has a base effector and L1 and L2 with 3 joints.

The rrr planar model in the cartesians axis

  1. Question: INVERSE KINEMATICS

Given the posit_ion(x, y, z) of the tool I calculate the values of the joint variables ($\theta_1$, $\theta_2$, $\theta_3$ and $\gamma$) as follow:

From the position(x, y, z) I calculate:

  1. $\gamma= atan2(z, x)$
  2. $x'= \cos(\gamma)*x + \sin(\gamma)*z$
  3. $y'= y$

I used $x'$ and $y'$ to calculate (through) the angles of joints like this:

Angles formula

is it correct?

  1. Question FORWARD KINEMATICS:

Given the joints variables ($\theta_1$, $\theta_2$, $\theta_3$ and $\gamma$) I need to calculate the position(x, y, z) of the tool. In this case I don't know how to continue.

Anyone can help me?

$\endgroup$
4
  • $\begingroup$ Welcome to Robotics, GiuseppePuglisi. As it stands, it's not clear how your robot is arranged. You give sketches looking at the x/y and x/z planes, but you have drawn arrows on both views, so it's not clear about which axis the joints are free to rotate. As drawn, they kind of look like spherical joints. Also, you appear to have a fourth joint, $\theta_3$, drawn at the end effector, and it looks like you are missing the third link (should be $L_3$?) between $\theta_2$ and $\theta_3$. $\endgroup$
    – Chuck
    Jul 20, 2017 at 13:30
  • $\begingroup$ Could you please also post the intermediate steps and reasoning you used to get from the problem statement to your answers? The forward kinematics problem should be the easiest - label each joint, start with the base joint, and find the coordinates of the next joint with respect to the current joint given the angle of the current joint. Again, please post all of the steps you've taken so far. $\endgroup$
    – Chuck
    Jul 20, 2017 at 13:33
  • $\begingroup$ Thanks Chuck for the comment. Below there is the photo of the arm. The Base Frame is to the left and the end effector to the right. link $\endgroup$ Jul 20, 2017 at 14:28
  • $\begingroup$ From the problem in 3D i find the coordinate of end effector for the plane OXY(2D) by the matrix of rotation belong the Y axis. The matrix is link and i applied the vector (0,1,0). Is this the forward kinematics(X', Y' and Alpha(the sum of angles))? The inverse,instead,is the problem to calculate the angles from the output of forward kinematics by the formulas written above? Sorry for my bad english. $\endgroup$ Jul 20, 2017 at 14:41

1 Answer 1

2
$\begingroup$

From now, I will solely answer your second question about forward kinematics, which is usually easier to solve than inverse kinematics.

First you should sketch your robot in a plan using textbook representations for revolute and prismatic joints, this will make it clearer for you and the others. I needed to look at the picture to see that the 4 rotations are not along parallel axis.

There are two approaches based on your degree of confidence;

  1. you consider yourself at ease and you derive it from the position of the base by propagating in plans, this easily doable here are 3 joints remain in the same plan thus you only need to compute position in the plan, plus you don't have spherical joint or other complex mechanism

  2. you fell less at ease and you use a systematic way, for example one of Denawit-Hartemberg parametrization. This option is well documented in any textbook or in DeLuca's slides, freely available online. This way is systematic, and less error-prone.

Both methods boil down to the use of transformation matrices so are pretty efficient to implement nowadays.

An hint about your inverse kinematics you have 4 degrees of freedom and want to find the inverse kinematic of a 3D position, there is potentially an infinite number of solution for such a problem.

$\endgroup$

Your Answer

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

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