View Full Version : Re: Calculation of 2D Angles ('CAST' problem)

Young-hoo Kwon, Ph.d.
01-09-2003, 05:57 AM
Dear Ton and all,

> By using the sqrt() function when computing theta, I restrict
> theta to a range between -90 and +90 degrees (since the second argument
> of ATAN2 is positive). This 180 degree range for the second rotation
> is a common convention for cardanic angles, this is needed to
> obtain unique angles.

Restricting theta between -90 and +90 degrees is generally acceptable, but not in the shoulder. For example, flex your shoulder by 45 degrees (phi = 45 degrees) and start abduction (incr
ease theta alone). Psi here is 0. When theta passes 90 degree point, your approach will produce a phi of 225 (45 + 180 degrees) degrees since theta should be smaller than 90 degrees all the time. This will also force psi to become 180 degrees. In this continuous motion, phi suddenly jumps from 45 to 225 degrees and psi jumps from 0 to 180 degrees when the arm passes the 90 degree abduction point. Theta will increases to 90 degrees and then starts decreasing. This kind of situation is common in the shoulder.
You will see a similar case in the ring event of gymnastics. A Psi of 180 degrees is not acceptable because it means the shoulder is dislocated. (See Fig 3 on http://kwon3d.com/theory/euler/orient.html for the illustration of the case.)

My approach will provide two sets of angles. But identifying the unique angle set is not difficult. You just need to go one more step. By checking the discontinuity in phi and psi, you can determine whether theta must be larger than 90 degrees or not. As I mentioned ear
lier, when theta must be larger than 90 degrees but we force it to be smaller, phi and psi shows discontinuity by 180 degrees. The bottom line is that we have to consider the nature of the joint motion.

This discontinuity by 180 degrees must not be confused with the regular angle discontinuity by 360 degrees. For example, if you describe the orientation of a gymnast in the air using the orientation angles, phi gives us the somersault angle. Any airborne maneuvers that have more than a full somersault wil
l result in a range of phi of larger than 360 degrees. The somersault angle must be continuous but it can have discontinuities at 360 * n + 180 degrees (n = ..., -1, 0, 1, ...) if your angle computation function provides the angles in the range of -180 to 180 degrees. The discontinuity in the orientation angles by 360 degrees is due to the angle computation range while the discontinuity by 180 degrees is because theta exceeds 90 degrees.

> I think my equations are still OK. These three equations produce

> values for ph,th, and ps that, when plugged into the big equation
> for T, give the attitude matrix that was measured. Hence, these
> angles are a correct description of the motion that was measured.

Checking T does not tell you that your choice of angles is OK. If you compute T from the angles, it must be the one you started with. But the point is not the attitute, but the way to reach the attitude of interest. We have two different ways to reach the same attitude or two sets of orientation angle
s. (Both angle sets will give you the same attitude matrix.) Which way is the correct one is the main issue. Again, we have to pay attention to the nature and continuity of the movement and angles.

Young-Hoo Kwon
- Young-Hoo Kwon, Ph.D.
- Biomechanics Lab, Texas Woman's University
- ykwon@twu.edu
- http://kwon3d.com

To unsubscribe send SIGNOFF BIOMCH-L to LISTSERV@nic.surfnet.nl
For information and archives: http://isb.ri.ccf.org/biomch-l