[PD] gimbal lock solution?

Cyrille Henry ch at chnry.net
Sat Feb 9 16:41:42 CET 2013



Le 09/02/2013 15:39, Roman Haefeli a écrit :
> I believe it is (unfortunately) not as simple as that. When you rotate
> with [rotateXYZ], the three axis are not always perpendicular to each
> other. For instance, if you set Y to 90, the X and the Z rotate around
> the same axis.


every rotation keep the 3 axes perpendicular.
but rotateXYZ do 3 rotations, X, Y and Z, in this order.

if you rotate 90° in Y, Z axe became what use to be the X axe.
so rotation in Z after a 90° rotation in Y is the same than a rotation in X before the Y rotation.
that's the gimbal lock.

but after the Y rotation, a X rotation is not the same than a Z rotation.

if you don't believe me, you can try :
gemhead
rotate X 0 Z
rotate 0 90 0
cube

X and Z are still (and will always be) perpendicular.



>
> However, the gyroscope (at least the one from Wiimote MotionPlus and
> most likely also the one from your phone) consists of three separate
> sensor which are perpendicular to each other at any time.
>
> If I understand Fero correctly, he would like to use the sensors so he
> can control an object in Gem that follows exactly the orientation of his
> phone. I also tried that once with a Wiimote and Gem but I couldn't wrap
> my head around the two concepts of [rotateXYZ] and the gyro sensors.
gyro sensors give rotation speed. not absolute rotation.
in theory (with infinite acurate sensors, no drift etc), you have to do a feedback loop (using gemlist_info), so that the current rotation is modify by the sensors value.
(rotation did not sums up)

cheers
c


>
> Anyone enlightened might be able to shed some light on this confusion?
>
> Roman
>
>
>
>
> On Sam, 2013-02-09 at 15:18 +0100, Cyrille Henry wrote:
>> hello,
>>
>> rotateXYZ is doing : rotation X then  rotation Y then rotation Z
>>
>> this is not the same than :
>> rotation Z
>> rotation Y
>> rotation X
>>
>> So, depending on how works your orientation sensors, you could have to change the rotation order.
>>
>> you can try, using 3 rotateXYZ object.
>>
>> cheers
>> c
>>
>>
>>
>> Le 09/02/2013 14:45, Fero Kiraly a écrit :
>>> I have 3 axis accelerometer and 3 axis orientation sensor in my device.
>>> So i can get 0 - 360 deg on X, Y and Z.
>>>
>>>
>>> When I draw in GEM a rectangle, I am able to rotate it with each of 3 axes, but only separately. When I try it  with all three axes together
>>> it has strange movements, so I guess it has something with gimbal lock.
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Pd-list at iem.at mailing list
>>> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
>>>
>>
>> _______________________________________________
>> Pd-list at iem.at mailing list
>> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
>
>
>
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
>





More information about the Pd-list mailing list