# Thread: Let's Discuss Kinematics, Shall We?

1. ## Re: Let's Discuss Kinematics, Shall We?

Originally Posted by SK.
When talking about kinematics Denavit Hartenberg conventions should probably be mentioned. In industry robots these are the standard for modelling kinematic chains. Every link/joint is described by 4 parameters and there are some rules as how to come up with them systematically.
There´s a learning curve at the beginning though and it might be overkill for a chain with few joints.
Yep, that'd be the standard Industry or Acadmic approach. You typically don't see that creep up too much in hobby robotics though, mainly because there aren't that many people doing kinematics -- and most of what exists is limited to <= 3DOF.

-Fergs

2. ## Re: Let's Discuss Kinematics, Shall We?

I also thought I would link in another paper that discusses the linear algebra involved (although, not D-H convention) http://elvis.rowan.edu/~kay/papers/kinematics.pdf

-Fergs

3. ## Re: Let's Discuss Kinematics, Shall We?

Thread has been stickied, good info/discussion so far guys. Carry on!

4. Mech Warfare Veteran
Join Date
Jan 2009
Posts
147
Rep Power
39

## Re: Let's Discuss Kinematics, Shall We?

Earlier in the year, I found this pretty informative PPT regarding D-H parameters and robotic joints.
http://www.mcgill.ca/files/cden/MECH572-lecture5.ppt

5. ## Re: Let's Discuss Kinematics, Shall We?

Lots of great information here, thanks guys. Keep it coming!

Zenta, you have nothing to apologize for, your picture is very clear...

Regarding the order of rotation, how are you handling yours? Do you stick with one order or do you switch order of rotation depending on what you are trying to accomplish?

Another thing I wanted to ask is determining the quadrant in 2-space for Phoenix's legs. You have:

Y-X
Z-Y
Z-X

In each of these axis, the Phoenix's legs each maps to a different "quadrant."

The reason why I'm asking is because the compiler for my Atom Pro 28 has a limited range for FCOS and FSIN functions.

As such, you can still solve for all six legs, you just have to flip the "signs" of the solution.

For instance, looking from a birds eye view, with the front of the Phoenix pointing "Up", the legs are numbered:

Y
|
Front
5 0

4 1 ---x

3 2
Back

Servo group 0 would have positive FCOS and FSIN, where servo group 2 would have a positive FCOS but a negative (-) FSIN, servo group 3 would have both negative FCOS and FSIN.

Did you have to deal with this sign issues as well since the FCOS and FSIN function has a limited range? I suppose translating the angles to a table would probably take care of this and give the full range of 2*Pi

Right now, my "Yaw" function works, and it works perfectly, my "Yaw" is defined as the rotation about the "Z" axis (please take note that my reference axis are alphabetized a bit different then yours).

So for my translation/transform functions, I have four. One indepent function for each axis, and the forth one for a successive rotation.

So say my functions are:

GTOLZ - Takes in angle alpha and does the Br= Az,a * Gr
GTOLY - Takes in angle beta and does the Br = Ay,b * Gr
GTOLX - Takes in angle gamma and does the Br = Ax,g * Gr

GTOLZXY - Takes in angle alpha, beta, and gamma, and does the rotation in the order of Z, then X, then Y Br = Ay,b * Ax,g * Az,a * Gr

Now suppose:

alpha = 0.5 (radians)
beta = 0.0
gamma = 0.0

Shouldn't:

GTOLZXY = GTOLZ

and if

alpha = 0.0
beta = 0.5
gamma = 0.0

Shouldn't:

GTOLZXY = GTOLY

???

So far, my GTOLZXY = GTOLZ when beta and gamma is fixed at 0 radians (no rotation about the Y and X axis) EXCEPT my local Y coordinate and local X coordinate comes out with a inverted sign:

GTOLZ GTOLZXY
L(X,Y,Z) --> L(X, -Y, -Z)

Perhaps I'm using the wrong set??
----------------------------------

I just want to recommend the book, Theory of Applied Robotics by Jezar (you can Amazon it).

This book is VERY complete when it comes to kinematics for robotics, including an introduction chapter on Denavit-Hartenberg notations...

HOWEVER, I must warn you that the author will constant switch around his references of alpha, beta, gamma, phi, psi, theta with reference to which axis those angles are rotating about...

I suspect, this is my problem, I modeled some of the equations in there without realizing that Jezar pulled a switch-aroo with the angle designations...

6. ## Re: Let's Discuss Kinematics, Shall We?

I just discovered a small but useful note that I must've missed,

Apparently, the angles are not FREE to be assigned to any axis. The angles are more designated for the order of the movement. From Jezar's book, angles are expressed by:

Phi
Theta
Psi

The order of rotation is always Phi, Theta, and then Psi, so the 12 combination is expressing the rotation of those order for any given axis...

I'm finally starting to get it...

This kinda dawned on me when I looked at Zenta's picture, and wondered why his successive rotation matrix look different then mine, even though we are doing something similar.... Looking up the twelve different combos in the apendix, I started to wonder why Phi, Theta, and Psi was always expressed in the same order for the twelve combos...

It is by definition that first move is always Phi, then Theta, and Psi

7. ## Re: Let's Discuss Kinematics, Shall We?

Originally Posted by tom_chang79
It is by definition that first move is always Phi, then Theta, and Psi
Hmm, is this a standard convention, or just the author's?

-Fergs

8. ## Re: Let's Discuss Kinematics, Shall We?

I believe it's the standard convention, but don't quote me on that... I discovered it was because the 12 independent equations all depend on this consistent order of rotation about these angles.

The angles are what's in order, rotating about various axis in that order of equation is what makes the equation so different from each other...
---

I finally got my rotation equation to work. Here is dump from my ser_out command:

--------
--------
phi:0.0000000000
theta:0.0000000000
psi:1.0000000000
--------
--------
--------
GTOLX
--------
XX:1.0000000000
YY:-0.5115365386
ZZ:-1.5168486833
--------
SGTOLZXY
--------
XX:0.9999997615
YY:-0.5115365982
ZZ:-1.5168488025
--------
--------
phi:0.0000000000
theta:1.0000000000
psi:0.0000000000
--------
--------
--------
GTOLY
--------
XX:1.5921409130
YY:1.0000000000
ZZ:0.1660931706
--------
SGTOLZXY
--------
XX:1.5921409130
YY:1.0000000000
ZZ:0.1660931706
--------
--------
phi:1.0000000000
theta:0.0000000000
psi:0.0000000000
--------
--------
--------
GTOLZ
--------
XX:1.3817731142
YY:-0.3011687397
ZZ:-1.2500000000
--------
SGTOLZXY
--------
XX:1.3817729949
YY:-0.3011686503
ZZ:-1.2500000000

XX - Local X-coordinate
YY - Local Y-coordinate
ZZ - Local Z-coordinate

As you can see, by fixing one angle with a value and fixing the other two angles at zero angle, each single transformation should equal the successive transformation. It doesn't come out exact, but I believe that it's because of the precision of the FCOS and FSIN functions in the Atom Pro IDE.

----

9. ## Re: Let's Discuss Kinematics, Shall We?

Ok...I don't know how to link to this, but there is a lecture on this subject available through I-tunes U. It is from Stanford University's Introduction to Robotics Course, Lecture 2, by Oussama Khatib.

The lecture gets way over my head really quickly. I've been watching it repeatedly over the past few weeks hoping something will sink in.

DB

10. ## Re: Let's Discuss Kinematics, Shall We?

Is this lecture on any of the video sites like youtube? I'd really be interested in seeing it. I've been looking to take a course (not for any college credit or anything) in Kinematics to get formally educated in it...

##### Users Browsing this Thread

There are currently 5 users browsing this thread. (0 members and 5 guests)

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•