Claims Analysis
Total Claims: 39
Claim 1
Independent Claim
162 words
A method of controlling motion of a movable machine member, the method comprising: receiving a plurality of points which define a desired linear path, sharp corner, or contoured path while maintaining the desired path for the movable member, the plurality of points defining a plurality of spans on the desired path; calculating a length of a first span in the plurality of spans; determining the relative length of the first span with respect to at least one other span in the plurality of spans; based upon the relative length, deciding whether the first span should be interpolated linearly or whether the first span should be interpolated using a spline function if the span is a contoured path; if the first span should be interpolated using a spline function, deriving a spline interpolation equation for the first span, wherein the spline interpolation equation comprises a polynomial of at least the third order; and moving the movable member according to the spline interpolation function.
Claim 2
Independent Claim
162 words
A method of controlling motion of a movable machine member, the method comprising: receiving a plurality of points which define a desired linear path, sharp corner, or contoured path while maintaining the desired path for the movable member, the plurality of points defining a plurality of spans on the desired path; calculating a length of a first span in the plurality of spans; determining the relative length of the first span with respect to at least one other span in the plurality of spans; based upon the relative length, deciding whether the first span should be interpolated linearly or whether the first span should be interpolated using a spline function if the span is a contoured path; if the first span should be interpolated using a spline function, deriving a spline interpolation equation for the first span, wherein the spline interpolation equation comprises a polynomial of at least the third order; and moving the movable member according to the spline interpolation function.
Claim 3
Dependent Claim
40 words
The method as recited in claim 1 , wherein the plurality of points are received from a part program for a numerically controlled machine tool, and wherein the method further comprises: programming a spline interpolation command in the part program.
Claim 4
Dependent Claim
45 words
The method as recited in claim 1 , wherein the step of determining relative length comprises the steps of: calculating a length of a second span in the plurality of spans; and determining a length ratio from the lengths of the first and second spans.
Claim 5
Dependent Claim
42 words
The method as recited in claim 3 , wherein the deciding step comprises: comparing the length ratio to a length ratio threshold, wherein the first span is to be interpolated using a spline function if the length ratio threshold is not exceeded.
Claim 6
Dependent Claim
27 words
The method as recited in claim 3 , wherein step of determining length ratio comprises the step of: dividing the lengths of the first and second spans.
Claim 7
Dependent Claim
57 words
The method as recited in claim 1 , wherein the deriving step comprises the steps of: selecting a spline type for the first span based upon characteristics of spans adjacent to the first span; based upon the spline type, determining constraints for the spline interpolation equation; and using the constraints, calculating coefficients for the spline interpolation equation.
Claim 8
Dependent Claim
22 words
The method as recited in claim 1 , wherein the spline interpolation equation is a function of the distance along the spline.
Claim 9
Independent Claim
147 words
A method of controlling motion of a movable machine member, the method comprising: receiving a plurality of points which define a desired linear path, sharp corner, or contoured path while maintaining the desired path for the movable member, the plurality of points defining a plurality of spans on the desired path; determining a change in direction between a first span and a second span in the plurality of spans, wherein the first and second spans are consecutive spans; comparing the change in direction to a threshold; based upon the comparison, deciding whether the first span should be interpolated using a spline function; if the first span should be interpolated using a spline function, deriving a spline interpolation equation for the first span, wherein the spline interpolation equation comprises a polynomial of at least the third order; and moving the movable member according to the spline interpolation equation.
Claim 10
Independent Claim
147 words
A method of controlling motion of a movable machine member, the method comprising: receiving a plurality of points which define a desired linear path, sharp corner, or contoured path while maintaining the desired path for the movable member, the plurality of points defining a plurality of spans on the desired path; determining a change in direction between a first span and a second span in the plurality of spans, wherein the first and second spans are consecutive spans; comparing the change in direction to a threshold; based upon the comparison, deciding whether the first span should be interpolated using a spline function; if the first span should be interpolated using a spline function, deriving a spline interpolation equation for the first span, wherein the spline interpolation equation comprises a polynomial of at least the third order; and moving the movable member according to the spline interpolation equation.
Claim 11
Dependent Claim
31 words
The method as recited in claim 8 , wherein the step of determining change in direction comprises the steps of: calculating a cosine dot product for the first and second spans.
Claim 12
Dependent Claim
40 words
The method as recited in claim 9 , wherein the step of determining cosine dot product comprises the step of: calculating the dot product of the second span's end of span tangent vector and the first span's direction cosine vector.
Claim 13
Dependent Claim
28 words
The method as recited in claim 8 , wherein the first span is to be interpolated using a spline function if the change in direction exceeds the threshold.
Claim 14
Dependent Claim
55 words
The method as recited in claim 8 , wherein the deriving step comprises: selecting a spline type for the first span based upon characteristics of the spans adjacent to the first span; based upon the spline type, determining constraints for the spline interpolation equation; and using the constraints, calculating coefficients for the spline interpolation equation.
Claim 15
Independent Claim
121 words
A method of controlling motion of a movable machine member, the method comprising: providing a program having a plurality of points which define a desired linear path, sharp corner, or contoured path while maintaining the desired path for the movable member, wherein the program contains no spline interpolation commands, and wherein the program commands a curved section on the path by a series of short spans; indicating that the curved section should be interpolated using splines, without providing any additional points on the desired path; determining where the curved section is located in the program; using the points in the program, calculating a spline interpolation equation for the curved section; and moving the movable member according to the spline interpolation equation.
Claim 16
Independent Claim
121 words
A method of controlling motion of a movable machine member, the method comprising: providing a program having a plurality of points which define a desired linear path, sharp corner, or contoured path while maintaining the desired path for the movable member, wherein the program contains no spline interpolation commands, and wherein the program commands a curved section on the path by a series of short spans; indicating that the curved section should be interpolated using splines, without providing any additional points on the desired path; determining where the curved section is located in the program; using the points in the program, calculating a spline interpolation equation for the curved section; and moving the movable member according to the spline interpolation equation.
Claim 17
Dependent Claim
21 words
The method as recited in claim 13 , wherein the program comprises a part program for a numerically controlled machine tool.
Claim 18
Dependent Claim
31 words
The method as recited in claim 13 , wherein the indicating step comprises: adding a spline interpolation command to the part program, without providing any additional points on the desired path.
Claim 19
Dependent Claim
28 words
The method as recited in claim 13 , wherein the step of determining the curved section location is based upon the relative length of spans in the program.
Claim 20
Dependent Claim
80 words
The method as recited in claim 13 , wherein the step of calculating a spline interpolation equation comprises the steps of: selecting a spline type for a first span in the curved section based upon characteristics of spans adjacent to the first span; based upon the spline type, determining constraints for the spline interpolation equation; estimating a length of the spline equation across the first span; using the constraints and the estimated length, calculating coefficients for the spline interpolation equation.
Claim 21
Dependent Claim
41 words
The method as recited in claim 17 , wherein the estimating step comprises: fitting a parabola through three points in the program, wherein two of the points define the first span, and the third point is adjacent to the two points.
Claim 22
Dependent Claim
22 words
The method as recited in claim 13 , wherein the spline interpolation equation is parameterized in terms of distance along the path.
Claim 23
Independent Claim
163 words
A method of controlling motion of a movable machine member, the method comprising: receiving a plurality of points which define a desired linear path, sharp corner, or contoured path while maintaining the desired path for the movable member, the plurality of points defining a plurality of spans on the desired path; deciding whether a current span in the program should be interpolated using a spline interpolation function; if the current span is to be interpolated using a spline interpolation function, selecting a spline type for the current span from a plurality of spline types based upon characteristics of spans adjacent to the current span; based upon the spline type, determining constraints for the spline interpolation function, wherein the constraints determine the transition between the previous span and the current span and the transition between the current span and the next span; using the constraints, determining a spline interpolation for the current span; and moving the movable member according to the spline interpolation equation.
Claim 24
Independent Claim
163 words
A method of controlling motion of a movable machine member, the method comprising: receiving a plurality of points which define a desired linear path, sharp corner, or contoured path while maintaining the desired path for the movable member, the plurality of points defining a plurality of spans on the desired path; deciding whether a current span in the program should be interpolated using a spline interpolation function; if the current span is to be interpolated using a spline interpolation function, selecting a spline type for the current span from a plurality of spline types based upon characteristics of spans adjacent to the current span; based upon the spline type, determining constraints for the spline interpolation function, wherein the constraints determine the transition between the previous span and the current span and the transition between the current span and the next span; using the constraints, determining a spline interpolation for the current span; and moving the movable member according to the spline interpolation equation.
Claim 25
Dependent Claim
46 words
The method as recited in claim 20 , wherein constraints cause the transition between the previous span and the next span to include continuity in direction, and wherein the constraints cause the transition between the current span and the next span to include continuity in direction.
Claim 26
Dependent Claim
17 words
The method as recited in claim 20 , wherein the constraints comprise position constraints and direction constraints.
Claim 27
Dependent Claim
22 words
The method as recited in claim 22 , wherein the direction constraints comprise a starting direction constraint and an ending direction constraint.
Claim 28
Dependent Claim
40 words
The method as recited in claim 20 , wherein the plurality of spline types comprise a spline type to transition to a stop, a spline type to transition from a stop, and a spline type to transition from a line.
Claim 29
Dependent Claim
25 words
The method as recited in claim 20 , further comprising: estimating a length for the current span, wherein the equation is determined using the estimate.
Claim 30
Dependent Claim
24 words
The method as recited in claim 25 , wherein the estimating step comprises: fitting a parabola through two points which define the current span.
Claim 31
Independent Claim
163 words
A system for controlling the motion of a movable member, comprising: a movable member; an actuator coupled to the movable member; a memory unit containing a plurality of points which define a desired linear path, sharp corner, or contoured path while maintaining the desired path for the movable member, the plurality of points defining a plurality of spans on the desired path; the plurality of points defining a plurality of spans on the desired path; a spline function calculator in communication with the memory unit, using a spline function based upon the length of the spans, wherein the spline function calculator is configured to choose which of the plurality of spans should be interpolated using a spline function based upon the length of the spans and to calculate a spline interpolation function for the chosen spans; a position command interpolator in communication with the spline function calculator and configured to interpolate position commands from the spline interpolation function for control of the actuator.
Claim 32
Independent Claim
163 words
A system for controlling the motion of a movable member, comprising: a movable member; an actuator coupled to the movable member; a memory unit containing a plurality of points which define a desired linear path, sharp corner, or contoured path while maintaining the desired path for the movable member, the plurality of points defining a plurality of spans on the desired path; the plurality of points defining a plurality of spans on the desired path; a spline function calculator in communication with the memory unit, using a spline function based upon the length of the spans, wherein the spline function calculator is configured to choose which of the plurality of spans should be interpolated using a spline function based upon the length of the spans and to calculate a spline interpolation function for the chosen spans; a position command interpolator in communication with the spline function calculator and configured to interpolate position commands from the spline interpolation function for control of the actuator.
Claim 33
Dependent Claim
38 words
The system as recited in claim 27 , further comprising: a servocontroller configured to supply power signals to the actuator based upon the interpolated position commands; and a feedback sensor in communication with the actuator and the servocontroller.
Claim 34
Dependent Claim
41 words
The system as recited in claim 27 , wherein the spline function calculator is further configured to choose which of the plurality of spans should be interpolated using a spline function based upon a change in direction between two consecutive spans.
Claim 35
Dependent Claim
33 words
The system as recited in claim 27 , wherein the spline function calculator is further configured to select a spline type from a plurality of spline types for each of the chosen spans.
Claim 36
Dependent Claim
27 words
The system as recited in claim 27 , wherein the actuator comprises an electric motor and the movable member comprises a mechanical member of a machine tool.
Claim 37
Dependent Claim
55 words
The method as recited in claim 1 , further comprising: calculating a maximum tangent vector; using the maximum tangent vector, calculating a maximum velocity for the first span; using the maximum tangent vector, calculating a maximum acceleration for the first span; and using the maximum tangent vector, calculating a maximum jerk for the first span.
Claim 38
Dependent Claim
29 words
The method as recited in claim 1 , further comprising: calculating a maximum curvature vector; using the maximum curvature vector to limit the maximum velocity for the first span.
Claim 39
Dependent Claim
21 words
The method as recited in claim 1 , further comprising: calculating an end of span speed constraint for the first span.