5
$\begingroup$

I am currently solving a kinematics example that asks for the Jacobian. However, when I solve it using the Screw method I get different results from the analytical method, The example is kinda hard to write here but I will demonstrate on a 2D RR robot which shows the same behavior.

Here is the simple problem:

enter image description here

Now lets find the Jacobian when $θ_1=pi/4 $ while $θ_2=0$, $L1=L2=1$

Here is the Jacobian using Screw Method:

$J = \begin{bmatrix} 0 & 0\\ 0 & 0 \\ 1&1 \\ 0& 0.7\\ 0& -0.7\\ 0&0 \end{bmatrix} $

Here is the Jacobian using Analytical Method:

$J = \begin{bmatrix} -L_1 sin(θ_1) - L_2 sin(θ_1+θ_2) & -L_2 sin(θ_1+θ_2)\\ L_1 cos(θ_1) + L_2 cos(θ_1+θ_2) & L_2 cos(θ_1+θ_2) \\ \end{bmatrix}, $

$J = \begin{bmatrix} -\sqrt{{2}} & -\sqrt{{2}} / 2 \\ \sqrt{{2}} & \sqrt{{2}} / 2 \\ \end{bmatrix} $

Notice that even singularity of both methods do not match. Where did I make the mistake?

Also, why the screw method does not take into account the length of last link? I mean if the length of last link is 0 or 1000, the linear velocity W x R should change.

Edit1: Here is the method I used to calculate the first jacobian. enter image description here

$\endgroup$
4
  • $\begingroup$ Can you provide sources of formulae you were using? It seems to me that they are Jacobian of different equations. The first one maybe maps joint velocities to a screw. The second one maps joint velocities to tool velocities. $\endgroup$ Nov 18, 2019 at 13:26
  • $\begingroup$ @PetchPuttichai I have updated the question with the method used to calculate the first jacobian. The second one is simply FwD kinematics then differentiation. $\endgroup$ Nov 18, 2019 at 18:31
  • $\begingroup$ I haven't had time to get back to this yet. But I guess both of them are representing the same thing. Maybe if you try writing the 6D tool twist (from the equation with screw method Jacobian) in terms of just $\dot{x}$ and $\dot{y}$, you might get the tool x-y velocity similar to what you'd get from using the equation with analytical method. $\endgroup$ Nov 25, 2019 at 11:34
  • $\begingroup$ The first one, based on screw theory does not seem right. Could you complete the question with an indication how was it derived? $\endgroup$
    – 50k4
    Jun 4, 2020 at 19:02

2 Answers 2

4
$\begingroup$

You're computing the spatial Jacobian, which relates joint velocities to spatial velocities at the origin. You instead want to compute the body Jacobian, which relates joint velocities to end-effector velocities expressed in the end-effector frame. So in your 2D RR example what you want to do is to compute the body Jacobian then pre-multiply the matrix by $R_z(-(\theta_1 + \theta_2))$ so that the end-effector linear velocities are aligned to the fixed frame. You essentially premultiply the body Jacobian by the current orientation of the end-effector to align it with the world frame.

The next point is to clarify the difference between the analytical and geometric Jacobians. Both the body Jacobian and spatial Jacobian are the analytic Jacobian since they both relate joint velocities to operational linear and angular velocities at some frame (fixed or body frame). If instead the Jacobian for the rotational components relate joint-velocities to some description of orientation such as ZYX Euler angles or unit quaternions, then it would be called the geometric Jacobian. So the linear components are the same for both analytic and geometric Jacobian. Finally To convert between analytical and geometric Jacobian, there is a mapping between angular velocities and the derivative of the orientation representation. For ZYX Euler angle representations for example, there exists a mapping between angular velocities and Euler rates. For unit quaternions, there also exists a mapping between the quaternion derivative and angular velocities.

I hope this helps!

$\endgroup$
2
  • $\begingroup$ Welcome to Robotics Steven Jens Jorgensen. We are fortunate enough to have MathJax support enabled, allowing you to easily create subscripts, superscripts, fractions, square roots, greek letters and more. This allows you to add both inline and block element mathematical expressions in questions and answers. For a quick tutorial, take a look at How can I format mathematical expressions here, using MathJax? $\endgroup$
    – Ben
    Oct 23, 2021 at 12:40
  • $\begingroup$ I know that terminology may differ, but I think that in your second paragraph you flipped the definitions of ‘analytical’ and ‘geometric’. To my knowledge, if $\chi$ parametrizes the pose, then the analytical Jacobian $J_A$ maps $\dot{q}$ to $\dot{\chi}$. The geometric Jacobian $J_G$ instead maps $\dot{q}$ to $(v, \omega)$ where $v$ and $\omega$ are the linear and angular end-effector velocities. As you said, the position components are usually the same, but the orientation components usually differ because the rotational parametrization is often different than angular velocities. $\endgroup$
    – ex.nihil
    Aug 13 at 23:48
2
$\begingroup$

There are in fact two types of Jacobians, a geometric Jacobian and an analytical Jacobian. The intro to chapter 3 in the book: Robotics: Modelling, Planning and Control by Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, Giuseppe Oriolo says it well:

...differential kinematics is the relationship between the joint velocities and the corresponding end-effector linear and angular velocity. This mapping is described by a matrix, termed geometric Jacobian, which depends on the manipulator configuration. Alternatively, if the end-effector pose is expressed with reference to a minimal representation in the operational space, it is possible to compute the Jacobian matrix via differentiation of the direct kinematics function with respect to the joint variables. The resulting Jacobian, termed analytical Jacobian, in general differs from the geometric one.

$\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.