|
|
(One intermediate revision not shown) |
Line 1: |
Line 1: |
- | <html>
| + | delete this page please |
- | <head>
| + | |
- | <style>
| + | |
- | #globalWrapper {
| + | |
- | margin: 0px;
| + | |
- | padding: 0px;
| + | |
- | background-color:#500050;
| + | |
- | }
| + | |
- | #content{
| + | |
- | background:#FFdd00;
| + | |
- | border-left-color:#FFdd00;
| + | |
- | border-right-color:#FFdd00;
| + | |
- | }
| + | |
- | #footer-box {
| + | |
- | border-top-color:#FFdd00;
| + | |
- | border-right-color:#FFdd00;
| + | |
- | border-bottom-color:#FFdd00;
| + | |
- | border-left-color:#FFdd00;
| + | |
- | background:#FFdd00;
| + | |
- | }
| + | |
- | </style>
| + | |
- | </head>
| + | |
- | </html>
| + | |
- | | + | |
- | ==Mathematical Modeling==
| + | |
- | ===Alpha===
| + | |
- | ====Problem====
| + | |
- | Given the following construction and point ''p'', or (''x'',''y'',''z'') find the angles ''θ<sub>1</sub>'', ''θ<sub>2</sub>'', and ''θ<sub>3</sub>''.
| + | |
- | | + | |
- | Note that positive ''z'' is the down direction.
| + | |
- | | + | |
- | ====Constants====
| + | |
- | *''TR''
| + | |
- | **Top radius
| + | |
- | *''BR''
| + | |
- | **Bottom radius
| + | |
- | *''L''
| + | |
- | **Linkage
| + | |
- | *''CA''
| + | |
- | **Control Arm
| + | |
- | *''φ<sub>1</sub>'' and ''φ<sub>2</sub>''
| + | |
- | **Two angles
| + | |
- | | + | |
- | ====Construction====
| + | |
- | From the top to the bottom:
| + | |
- | *A circle centered at the origin with radius ''TR'', named ''O''
| + | |
- | *Make three lines ''A<sub>1</sub>'', ''A<sub>2</sub>'', and ''A<sub>3</sub>'' such that:
| + | |
- | **The lines ''A<sub>x</sub>'' are perpendicular to a tangent of ''O'' and a radius of ''O'',
| + | |
- | **The angle between the radii of ''A<sub>1</sub>'' and ''A<sub>2</sub>'' is ''φ<sub>1</sub>'', and
| + | |
- | **The angle between the radii of ''A<sub>2</sub>'' and ''A<sub>3</sub>'' is ''φ<sub>2</sub>''.
| + | |
- | *Make a circle centered at point ''p'' with radius ''BR'', named ''P''
| + | |
- | *Find three points ''P<sub>1</sub>'', ''P<sub>2</sub>'', and ''P<sub>3</sub>'' such that:
| + | |
- | **They are on the circumference of ''P'',
| + | |
- | **The angle between the radius which touches ''P<sub>1</sub>'' and the radius that touches ''P<sub>2</sub>'' is ''φ<sub>1</sub>'',
| + | |
- | **The angle between the radius which touches ''P<sub>2</sub>'' and the radius that touches ''P<sub>3</sub>'' is ''φ<sub>2</sub>'',
| + | |
- | **The ray from the center of ''P'' to ''P<sub>x</sub>'' is parallel to the ray from the center of ''O'' to the point which is on ''A<sub>x</sub>'' and ''O'' 's circumference, for all ''x''.
| + | |
- | *Construct three line segments ''CA<sub>1</sub>'', ''CA<sub>2</sub>'', and ''CA<sub>3</sub>'' such that:
| + | |
- | **''CA<sub>x</sub>'' is in the same plane as ''A<sub>x</sub>'', for all ''x'', and
| + | |
- | **The angle between ''CA<sub>x</sub>'' and ''A<sub>x</sub>'' is ''θ<sub>x</sub>'', for all ''x''.
| + | |
- | *The distance between ''P<sub>x</sub>'' and the end point of ''CA<sub>x</sub>'' that is not on ''A<sub>x</sub>'' is ''L'', for all ''x''.
| + | |
- | | + | |
- | ====Solution====
| + | |
- | #Note that the control arms can only move in a circle, while linkage can move in a sphere.
| + | |
- | #We will calculate ''θ<sub>1</sub>'' first, which only involves the points, circles and lines ''p'', ''CA<sub>1</sub>'', ''A<sub>1</sub>'', and ''P<sub>1</sub>''.
| + | |
- | #Find the plane where ''CA<sub>1</sub>'' 's circle resides in. Use it to cut the sphere around ''P<sub>1</sub>''. For future reference, call ''CA<sub>1</sub>'' 's circle ''C<sub>1</sub>'' and the circle resulting from the cut ''C<sub>2</sub>''
| + | |
- | #Define ''x<sub>o<sub>1</sub></sub>'', for x offset, for the difference in the ''x'' coordinates of the center of ''C<sub>1</sub>'' and the point ''P<sub>1</sub>''.
| + | |
- | #*''x<sub>o<sub>1</sub></sub> = TR - (BR + x)''
| + | |
- | #*''x<sub>o<sub>1</sub></sub> = TR - BR - x''
| + | |
- | #Define ''D<sub>1</sub>'' to be the distance between the center of ''C<sub>1</sub>'' and ''C<sub>2</sub>''. It will also be the line connecting the centers.
| + | |
- | #*''D<sub>1</sub> = sqrt(x<sub>1</sub><sup>2</sup> + z<sup>2</sup>)''
| + | |
- | #Obviously, ''D<sub>1</sub>'', ''CA<sub>1</sub>'', and linkage form a triangle. The angle between ''CA<sub>1</sub>'' and ''D<sub>1</sub>'' is a close approximation to ''θ<sub>1</sub>'', but it is not exact. We will call this angle ''θ<sub>1<sub>1</sub></sub>''. We use the law of cosines to calculate ''θ<sub>1<sub>1</sub></sub>''.
| + | |
- | #*''L<sup>2</sup> = CA<sup>2</sup> + D<sup>2</sup> - CA * D * cos(θ<sub>1<sub>1</sub></sub>)''<br><br>
| + | |
- | #*''θ<sub>1<sub>1</sub></sub> = cos<sup>-1</sup>((D<sup>2</sup> + CA<sup>2</sup> - L<sup>2</sup>)/(2*D*CA))''<br><br>
| + | |
- | #One endpoint of ''D<sub>1</sub>'' is on ''A<sub>1</sub>''. Thus, we can make another triangle, and the angle between ''D<sub>1</sub>'' and ''A<sub>1</sub>'' is the difference between ''θ<sub>1</sub>'' and ''θ<sub>1<sub>1</sub></sub>''. We will call this angle ''θ<sub>1<sub>2</sub></sub>''. If we have the length of the side on ''A<sub>1</sub>'' be ''z'', then the last side will be ''x<sub>o</sub>'' and the triangle will be a right angle triangle. Since only ''x<sub>o<sub>1</sub></sub>'' changes sign in the good interval, we should use a trigonometric function that involves ''x<sub>o</sub>'' in the numerator. Thus,
| + | |
- | #*''θ<sub>1<sub>2</sub></sub> = sin<sup>-1</sup>(x<sub>o<sub>1</sub></sub>/D<sub>1</sub>)''<br><br>
| + | |
- | #*''θ<sub>1</sub> = cos<sup>-1</sup>((D<sup>2</sup> + CA<sup>2</sup> - L<sup>2</sup>)/(2*D*CA)) - sin<sup>-1</sup>(x<sub>o<sub>1</sub></sub>/D<sub>1</sub>)''
| + | |
- | #You just have to rotate the model ''φ<sub>1</sub>'' degrees counterclockwise for ''θ<sub>2</sub>'', and another ''φ<sub>2</sub>'' degrees for ''θ<sub>3</sub>'' using the two dimensional rotational matrixes
| + | |
- | {''cos(φ<sub>2</sub>),-sin(φ<sub>2</sub>)''}
| + | |
- | ''R<sub>1</sub>''={ }
| + | |
- | {''sin(φ<sub>2</sub>) cos(φ<sub>2</sub>)''}
| + | |
- | | + | |
- | {''cos(φ<sub>3</sub>) -sin(φ<sub>3</sub>)''}
| + | |
- | ''R<sub>2</sub>''={ }
| + | |
- | {''sin(φ<sub>3</sub>) cos(φ<sub>3</sub>)''}
| + | |