• Aucun résultat trouvé

The Interaction Library

7.2 The library

7.2.2 Cam and Centered Follower

As our second implementation for qcs-curve H, we use the two at faces whose pa-rameterization is shown in Figure 7-7. Here again, our goal is to derive a set of constraints on the parameters such the faces implement a monotonic curve with the same slope as curve H. This pair of faces is the same as the ones we used for the cam and oset follower (Figure 7-2), but here we explore a dierent region of the 7-dimensional parameter space; we explore the region corresponding to a cam and centered follower. 6

6The parameterization in Figure 7-7 is entirely equivalent to that in Figure 7-2.

7.2. THE LIBRARY 121

ψ θ

φ r

s

L

x

h1

h2

Figure 7-7: The parameterization of a pair of faces used to implement qcs-curve H. The rotating face rotates about the origin, its position measured positive coun-terclockwise with angle . The translating face translates horizontally, its position measured positive to the right with x. Shading indicates the back sides of the faces, i.e., the sides that are inside the solids containing the faces.

Our rst constraint is that the rotor face exists, that is, it has non-zero length.

Dening L as the length of the rotor face, we trivially obtain:

L>0 (7:16)

To ensure that the translating face passes through the pivot (a hallmark of centered-cam-and-follower behavior), we dene the osets between the ends of the slider face and the pivot,h1 and h2, subject to the constraints:

h1 >0 (7:17)

h2 >0 (7:18)

If , the angle of the slider face, equals=2, the interaction will be non-monotonic like the example in Figure 2-13. If = , the slider face will act as a stop, limiting the clockwise rotation of the rotor. Hence, we obtain limits on the allowable range of

:

>=2 (7:19)

< (7:20)

We prefer solutions in which the rotor face can make face contact (rather than just point contact) with the slider. Dening, the angle between the trailing edge of the rotor and the rotor face, we express this condition as:

>=2 (7:21)

< (7:22)

These two constraints are conservative. We can obtain the strict lower bound for

by ensuring that, when the trailing edge of the rotor touches the slider, the rotor face never becomes perpendicular to the slider face. If was smaller than this strict lower bound, the back side of the rotor face could touch the slider, but this should not happen because contact is allowed only on the outside surface of a part. We can obtain the strict upper bound for by ensuring that when the rotor face touches the top end of the slider face, the rotor face is not horizontal. If the rotor face was horizontal in this conguration, the slider would act as a stop, preventing clockwise rotation of the rotor.

As with the previous library entry, we dene the leading edge of the rotor to be r and the trailing edge to bes. Because of Equations 7.21 and 7.22, the leading edge is always longer than the trailing edge. r ands are related to the length of the rotating face by:

r = (s2+L2,2sLcos())1=2 (7:23) Next, we constrain the range of engagement so that the interaction is monotonic.

If both h1 and h2 are greater than r, engagement is possible for all angles of the rotor. In this case, the cs-curve will be a closed curve in the cs-plane, rather than a monotonic curve. To prevent this, we must ensure that the faces disengage for both suciently large and suciently small angles of the rotor. To ensure that the faces disengage at large angles we require that:

s>h1 (7:24)

At the other extreme, we must ensure that (during clockwise rotation) the faces disengage before the rotor angle becomes small enough that the leading edge (r) of the rotor becomes perpendicular to the slider face. If the leading edge did become perpendicular, the rotor would act as a stop, preventing the slider from moving to the left. To derive the constraint that prevents this, we dene two new quantities, a

7.2. THE LIBRARY 123

ψ φ

r s

L

h1

h2

b a (ψ-π/2)

(ψ-π/2)

Figure 7-8: The leading edge of the rotor is perpendicular to the extended slider face.

and b, as shown in Figure 7-8. a is the length of the slider face below the x-axis:

a =h2=cos( ,=2)

When the leading edge of the rotor touches and is perpendicular to the extended slider face,bis the distance measured along the extended slider face from the x-axis to contact point. When the rotor is in this conguration, the angle between the leading edge and the x-axis is ,=2, and b's value is therefore:

b=rtan( ,=2)

Now, we can express the condition that the faces disengage before the leading edge becomes perpendicular to the slider face as:

a <b

Upon simplication, the previous three expressions yield the desired constraint:

0>r =tan( ) +h2=sin( ) (7:25) Equation 7.16 through Equation 7.25 are the primary constraints that ensure the geometry in Figure 7-7 implements qcs-curve H. Section 7.3 describes some additional

θ1

θ2

x1

x2

Figure 7-9: Two superimposed congurations of the rotor and slider. These congu-rations are the end points of the qcs-curve for the intended interaction between the rotor and slider.

constraints that must also be satised.

To complete this library entry, we must compute the coordinates of the two end points of the cs-curve for the interaction.7 Figure 7-9 shows the congurations corre-sponding to the end points. One end point is the conguration in which the leading edge of the rotor face touches the lower end of the slider face. In qc-space, this end point is the upper left end of curve H. Its coordinates are:8

1 =,arcsin(h2=r) (7:26)

x1 =rcos(1),h2=tan( ) (7:27) The other end point is the conguration in which the trailing edge of the rotor face touches the upper end of the slider face:

2 = arcsin(h1=s) + arccos(s2+r2,L2

2sr ) (7:28)

x2 =scos(arcsin(h1=s)) +h1=tan( ) (7:29) As with the cam and oset follower, by appropriate use of coordinate transforma-tions, we can use this same basic geometry and constraints to implementall four kinds of diagonal curves for the case in which one body rotates and the other translates.

7This geometry actually produces two cs-curves. Here we discuss the end points of the desired curve. In Section 7.3 we discuss the other curve.

8Note that tan( , =2) =,1=tan( ).