On 5/20/2011 11:39 PM, Kent A. Reed wrote:
> Viesturs:
> I haven't forgotten your problem. I've looked at the EMC2 sources but
> I'm been slow coming up with a test of your code + EMC2 code.
>
> Regards,
> Kent
OK, so when I said "I've looked at the EMC2 sources..." what I meant was 
I looked for the PoseMath source code and printed it out.

Unfortunately, I then did the software equivalent of forgetting to check 
to see if my computer is plugged into a live power circuit before 
opening it up to find out why it won't turn on. I began digging through 
all the definitions of constants and structures. After a night's sleep, 
I decided to look at the math routines themselves.

It turns out that your problem is very simple. The libnml functions 
pmRpyZyzConvert and pmZyzRpyConvert are declared but not implemented in 
_posemath.c!

You didn't see this during compilation and linking because the functions 
are declared and you didn't see it during execution because you aren't 
checking for the error message these functions generate when called 
(return pmErrno = PM_IMPL_ERR). The "crazy" values you are reading are 
fortuitous.

Give me a couple days and I'll see if I can come up with satisfactory 
code for these two functions (Euler angles, quaternions, etc., were part 
of my physics education). If some else has already do so, please feel 
free to jump in.

Regards,
Kent


------------------------------------------------------------------------------
What Every C/C++ and Fortran developer Should Know!
Read this article and learn how Intel has extended the reach of its 
next-generation tools to help Windows* and Linux* C/C++ and Fortran 
developers boost performance applications - including clusters. 
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to