Revolute joint limited between 0 and 1.5 PI... how to?

marcimatz
Posts: 34
Joined: Fri Sep 18, 2009 5:41 am

Revolute joint limited between 0 and 1.5 PI... how to?

Post by marcimatz »

Hello,

I am new to this forum and I hope this is the right place to post this question.
My question is twofolds:

1. It seems that joint limits for a revolute joint have to be specified between -pi and +pi, and the documentation says that the upper limit should be bigger than the lower limit for the limits to be active. With that in mind, how can I create a joint that is limited between 0 and 1.5 Pi for instance? (1.5 Pi would be -0.5 Pi and the upper limit would be below the lower limit, resulting in an unconstrained joint). Following doesn't work: hinge->setLimit(0.0,3.1415*1.5);

2. It would be useful to have the option for revolute joints to be non-cyclic (i.e. after +pi, next position would be +pi+da instead of -pi+da). This would allow a joint to spin e.g. 4 times before locking. This would also be required for a future "screw"-type joint.

Thank you
jbiggs
Posts: 3
Joined: Mon Sep 14, 2009 6:12 pm

Re: Revolute joint limited between 0 and 1.5 PI... how to?

Post by jbiggs »

This is a "me too" response. I have been using Bullet for several months with great success in building a pretty intricate robot operator training device. But am now facing a limitation that I have not been able to overcome.

I am using btGeneric6DofConstraint for all servos and motors successfully but now I have run into a problem that requires full rotation about the Y-axis. I have not come up with a workaround yet. Still scratching my head and my hair is falling out.

any suggestions?


thanks,
jeff