← Back to Patent Explorer
US6782306B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Motion control system and method utilizing spline interpolation

Assignee: Siemens Energy and Automation Inc
•
Filing: 2000-12-08
•
Granted: 2004-08-24
•
Expires: 2020-12-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A spline interpolation motion control system and method that can automatically determine where sharp corners and flat sections were intended in a part program. In one embodiment, based upon the length ratio of two consecutive spans, the system and method determines whether to interpolate the first span with a line or with a spline function. If a parameter range is not met, then the span is interpolated as a line to maintain the intended flat section in the program. Also, in this embodiment, the angle defined by a pair of consecutive spans is used to determine whether the two spans should be interpolated with lines or with splines. If a tolerance is exceeded, then the spans are interpolated linearly to maintain the intended sharp corner in the part program.

Inventors

  • 👤 Stephen J. Yutkowitz

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 22:16
CPC Classifications
G; G05; G05B; G05B19/00; G05B19/02; G05B19/18; G05B19/41; G05B19/4103; G05B2219/00; G05B2219/30; G05B2219/34; G05B2219/34135

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.

References Cited (Backward Citations)

US3727191A Cited
US4506335A Cited
US5510996A Cited
US5532932A Cited
US5508596A Cited
US5936864A Cited
US5732107A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-08-24 2008-02-23 2008-08-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-08-24 2012-02-23 2012-08-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-08-24 2016-02-23 2016-08-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag