Method of curvature controlled data smoothing
First Claim
Patent Images
1. A method of generating a trajectory for a body, including the steps of:
- identifying a plurality of line segments included within the trajectory;
compressing at least a portion of the plurality of line segments;
smoothing at least a portion of the plurality of line segments by converting the portion of line segments into a plurality of arcs which remain within a tolerance relative to the trajectory, wherein the portion of the plurality of line segments includes at least two line segments, wherein the body is a cutting tool of a CNC machine, wherein the compressing step includes the steps of determining a starting point of a first line segment, determining an ending point of a second line segment, replacing the first line segment and the second line segment with a third line segment that begins at the starting point and ends at the ending point if a plurality of conditions are satisfied; and
moving the cutting tool of the CNC machine based on the plurality of arcs.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention relates to navigation of a path by a moving object, and, more particularly, to motion control systems for computer-controllable machine tools.
-
Citations
27 Claims
-
1. A method of generating a trajectory for a body, including the steps of:
-
identifying a plurality of line segments included within the trajectory; compressing at least a portion of the plurality of line segments; smoothing at least a portion of the plurality of line segments by converting the portion of line segments into a plurality of arcs which remain within a tolerance relative to the trajectory, wherein the portion of the plurality of line segments includes at least two line segments, wherein the body is a cutting tool of a CNC machine, wherein the compressing step includes the steps of determining a starting point of a first line segment, determining an ending point of a second line segment, replacing the first line segment and the second line segment with a third line segment that begins at the starting point and ends at the ending point if a plurality of conditions are satisfied; and moving the cutting tool of the CNC machine based on the plurality of arcs. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of generating a trajectory for a body, including the steps of:
-
identifying a plurality of line segments included within the trajectory; smoothing at least a portion of the plurality of line segments by converting the portion of line segments into a plurality of arcs which remain within a tolerance relative to the trajectory, wherein the portion of the plurality of line segments includes at least two line segments, wherein the body is a cutting tool of a CNC machine, wherein the smoothing step includes the steps of identifying a plurality of points that define the plurality of line segments, and adjusting the position of at least a portion of the plurality of points such that the plurality of arcs pass through the plurality of points and define a portion of the trajectory, the portion of the trajectory having a gradually changing curvature; and moving the cutting tool of the CNC machine based on the plurality of arcs. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method of generating a trajectory for a body, including the steps of:
-
identifying a plurality of line segments included within the trajectory; smoothing at least a portion of the plurality of line segments by converting the portion of line segments into a plurality of arcs which remain within a tolerance relative to the trajectory, wherein the portion of the plurality of line segments includes at least two line segments, wherein the body is a cutting tool of a CNC machine, wherein the smoothing step includes the steps of identifying a plurality of points that define the plurality of line segments, and adjusting a position of at least a portion of the plurality of points such that the plurality of arcs pass through the plurality of points and define a portion of the trajectory, the plurality of arcs being circular arcs; and moving the cutting tool of the CNC machine based on the plurality of arcs.
-
-
13. A method of generating a trajectory for a body, including the steps of:
-
identifying a plurality of line segments included within the trajectory; smoothing at least a portion of the plurality of line segments by converting the portion of line segments into a plurality of arcs which remain within a tolerance relative to the trajectory, wherein the portion of the plurality of line segments includes at least two line segments, wherein the body is a cutting tool of a CNC machine; and moving the cutting tool of the CNC machine based on the plurality of arcs, wherein the smoothing step includes the steps of preparing for smoothing, adjusting for smoothing, and smoothing using a double arc algorithm and the preparing for smoothing step includes the steps of identifying a first point, a second point adjacent the first point, and a third point adjacent the second point that together define a portion of the trajectory, determining an arc that passes through the points, determining a first line segment between the first and second points, calculating a first shortest distance between a midpoint of the first line segment and the arc, determining a second line segment between the second and third points, calculating a second shortest distance between a midpoint of the second line segment and the arc, and marking the second point for smoothing if the first and second shortest distances are both less than a predetermined distance, and an angle formed by the first and the second line segments is greater than a predetermined angle. - View Dependent Claims (14)
-
-
15. A method of generating a trajectory for a body, including the steps of:
-
identifying a plurality of line segments included within the trajectory; smoothing at least a portion of the plurality of line segments by converting the portion of line segments into a plurality of arcs which remain within a tolerance relative to the trajectory; and moving the cutting tool of the CNC machine based on the plurality of arcs, wherein the smoothing step includes the steps of preparing for smoothing, adjusting for smoothing, and smoothing using a double arc algorithm and wherein the adjusting for smoothing step includes the steps of; identifying four adjacent points that together define a portion of the trajectory, determining a first construction arc that passes through the first, second, and fourth points and lies in a first plane, determining a second construction arc that passes through the first, third and fourth points and lies in a second plane, determining a first vector extending from the second point to a first end point on the second construction arc that is closest to the second point, determining a second vector extending from the third point to a second end point on the first construction arc that is closest to the third point, adjusting the second point a first adjustment distance along the first vector if the second point has been marked as suitable for smoothing and at least one of the first and third points has been marked as suitable for smoothing, and adjusting the third point a second adjustment distance along the second vector if the third point has been marked as suitable for smoothing and at least one of the second and the fourth points has been marked as suitable for smoothing, wherein the body is a cutting tool of a CNC machine. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A method of generating a trajectory for a body, including the steps of:
-
identifying a plurality of line segments included within the trajectory; smoothing at least a portion of the plurality of line segments by converting the portion of line segments into a plurality of arcs which remain within a tolerance relative to the trajectory; and moving the cutting tool of the CNC machine based on the plurality of arcs, wherein the smoothing step includes the steps of preparing for smoothing, adjusting for smoothing, and smoothing using a double arc algorithm and wherein the smoothing using a double arc algorithm step includes the steps of determining a desired tangent vector for each of a plurality of points processed by the adjusting for smoothing step, and generating double arcs to replace a first line segment between a first point and a second point and a second line segment between the second point and a third point, wherein a first arc of the double arcs is tangent to a first desired tangent vector at the first point and a second arc of the double arcs is tangent to a second desired tangent vector at the third point, the first arc and the second arc being tangent to each other, wherein the body is a cutting tool of a CNC machine. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A method of generating a trajectory for a body, including the steps of:
-
identifying a plurality of line segments included within the trajectory; smoothing at least a portion of the plurality of line segments by converting the portion of line segments into a plurality of arcs which remain within a tolerance relative to the trajectory, wherein the smoothing step includes the steps of preparing for smoothing, adjusting for smoothing, and smoothing using a double arc algorithm and wherein the adjusting for smoothing step includes the steps of; identifying four adjacent points that together define a portion of the trajectory, determining a first construction arc that passes through the first, second, and fourth points and lies in a first plane, determining a second construction arc that passes through the first, third and fourth points and lies in a second plane, determining a first vector extending from the second point to a first end point on the second construction arc that is closest to the second point, determining a second vector extending from the third point to a second end point on the first construction arc that is closest to the third point, adjusting the second point a first adjustment distance along the first vector if the second point has been marked as suitable for smoothing and at least one of the first and third points has been marked as suitable for smoothing, and adjusting the third point a second adjustment distance along the second vector if the third point has been marked as suitable for smoothing and at least one of the second and the fourth points has been marked as suitable for smoothing, and moving the body based on the plurality of arcs, wherein the body is a cutting tool.
-
-
27. A method of generating a trajectory for a body, including the steps of:
-
identifying a plurality of line segments included within the trajectory; and smoothing at least a portion of the plurality of line segments by converting the portion of line segments into a plurality of arcs which remain within a tolerance relative to the trajectory, wherein the smoothing step includes the steps of preparing for smoothing, adjusting for smoothing, and smoothing using a double arc algorithm and wherein the smoothing using a double arc algorithm step includes the steps of determining a desired tangent vector for each of a plurality of points processed by the adjusting for smoothing step, generating double arcs to replace a first line segment between a first point and a second point and a second line segment between the second point and a third point, wherein a first arc of the double arcs is tangent to a first desired tangent vector at the first point and a second arc of the double arcs is tangent to a second desired tangent vector at the third point, the first arc and the second arc being tangent to each other, and moving the body based on the double arcs, wherein the body is a cutting tool.
-
Specification