In the following specification, a reference “A” is attached to the description concerning “Design method for industrial product using clothoid curve and industrial product designed by the design method” (hereinafter simply referred to as a design method for industrial product using a clothoid curve) and a reference “B” is attached to the description concerning “method and device for numerical control using the clothoid curve” (hereinafter simply referred to as a numerical control method using the clothoid curve).
A. Design Method for Industrial Products Using a Clothoid Curve:
The present invention relates to a method for designing the shape of an industrial product using a clothoid curve, and in particular, to a method for designing, in a machine including a mechanism in which a mechanical element having mass moves, smoothing the motion of the mechanical element.
B. Numerical Control Method Using the Clothoid Curve:
The present invention relates to a numerical control method and device for controlling motion of a tool (including grippers such as hands and others and various tools) of working machines (hereinafter referred to as robots etc.), such as robots, machine tools, assembly machines, and inspection machines, using a clothoid curve, and in particular, to a numerical control method and device for controlling a three-dimensional motion of the tool.
A. Design Method for Industrial Products Using a Clothoid Curve:
In response to making machines into a compact form and at high precision, it has become significant to have a mechanism in which a mechanical element which has able to move at high speed. The demand for realizing fast and high-precision motion, with less vibration and error in motion and with aging and damage suppressed, through a design for smooth motion trajectories with no dynamically unreasonable force, has been required strongly.
As to methods for designing free motion trajectories, a technique to connect analytic curves, such as straight lines and circular arcs, and a spline curve interpolation (i.e., a technique to interpolate a row of points to be given with spline curves) have conventionally been used (refer to a non-patent reference 1).
B. Numerical Control Method Using the Clothoid Curve:
In the case of robots performing numerical control in welding, painting, application of adhesives, and others, it is general that input figures are inputted as discrete data consisting of rows of points. To produce continuous figures, it is therefore necessary to interpolate the rows of points using some techniques.
As methods for performing interpolation between arbitrarily given point rows, there have been known a technique to round angles of broken lines, a B-spline interpolation, a cubic spline interpolation, and others. As an interpolation in which respective given points can be traced by strictly passing those points, the cubic spline interpolation has been known (refer to the non-patent reference 1).
However, since the cubic spline interpolation is expressed with a parameter that uses independent variable with no geometrical meaning, the cubic spline interpolation has a large fault that the relationship between the independent variable and geometric quantities of curves is indefinite. This cubic spline interpolation has a complicated relationship between distances moved from a starting point and the curvature, and is therefore inadequate to control that requires a linear velocity be held at a constant value.
Non patent reference 1: Mamoru HOSAKA, Toshio SADA, “Integrate-type CAD/CAM system”, Ohmsya, 1999;
Non patent reference 2: Shi-yu QIU, Hiroshi MAKINO, Hiroharu SUDA, Yasuo YOKOYAMA “Free Curve Interpolation Using Clothoidal Curve” (The Robotics Society Of Japan, vol 8, No. 6, pp 40-47); and
Non patent reference 3 by Li Guiquing, Li Xianmin, and Li Hua, “3D Discrete Clothoid Splines,” (CGI' 01, pp 321-324)
A. Design Method for Industrial Products Using a Clothoid Curve:
In techniques to connect analytic curves, such as straight lines and circular arcs, it is difficult to continuously connect curvatures at points connecting a straight line and a circular arc. When a technique to perform the interpolation with spline curves is adopted, the curvatures can be connected continuously, but it is difficult to design a distribution of covertures with no dynamically unreasonable force along a trajectory, because of the complicated relationship between distances moved from a starting point and curvatures. Thus favorable motion trajectories cannot be obtained.
Accordingly, the present invention has an object to provide a technique for designing, in a machine incorporating a mechanism in which a mechanical element having a mass moves, a motion trajectory allowing the mechanical element to move smoothly. The present technique is novel and innovative and has been created by the present inventors.
Herein, the “smooth” is that changes of tangent lines, a osculating plane (a normal line), curvatures and other factors on a trajectory are continuous along the trajectory, and means that a force exerted on a mechanical element moving along a trajectory changes continuously.
By the way, ball screws frequently used in robots, machine tools, assembly machines, inspection machines and others have a regression path of which mode is composed of connections of straight lines and circular arcs. Thus tangent lines and curvatures of a curve are not continuous and trajectory design is short of flexibility as well.
Another object of the present invention is to establish, in designing a circulation path of a ball of a ball screw, a circulation path which lessens loss of motion energy of the ball circulating along the path and which provides not only continuous tangent lines and curvatures on the circulation path but alto moderate changes in the curvatures in order that parts providing the circulation path are avoided from being damaged. A design method for the circulation path of the ball screw is an application of the above method for designing a motion trajectory that allows a mechanical element to move smoothly.
B. Numerical Control Method Using the Clothoid Curve:
A clothoid interpolation has been proposed by the inventors, which serves as an interpolation passing each point to be given two-dimensionally, and it has been known that this clothoid interpolation provides a smooth interpolation (refer to a non-patent reference 2). Hence, if a clothoid curve used by this interpolation is extended to a thee-dimensional one so that it is used for interpolation of a row of free points, it is supposed that, thanks to features of the clothoid curve expressed as a function of lengths of curves, control that allows a linear speed to be constant or to be changed depending on line lengths can be realized easily. In addition, because the curve lengths are assigned to a parameter, there is an advantage that it is unnecessary to post-calculate line lengths, unlike the other methods. It is thus expected that extending the clothoid interpolation to the three-dimensional one is effective in various fields including numeral control. As techniques created by extending the clothoid curve to the three-dimensional ones, some references including “3D Discrete Clothoid Splines” by Li et al. (refer to a non-patent reference 3) have been known. However, techniques created by three-dimensionally extending the clothoid curve and expressed in the formulated form have not been know yet. The extension in the formulated form is advantageous in easier calculation of each value.
Accordingly, for numerically controlling the motion of a machine tool, the present invention has an object to provide the definition expression of a novel three-dimensional clothoid curve which utilizes, as much as possible, the characteristics of a two-dimensional clothoid curve wherein changes in the curvatures vs. an independent variable show a simple pattern. In addition, the present invention has a further object to interpolate a row of points by using this three-dimensional clothoid curve.
A. Design Method for Industrial Products Using a Clothoid Curve:
Hereinafter, the invention according to a method for designing industrial products using the clothoid curve described in claims 1-10 will now be described.
The invention in claim 1 solves the foregoing problems by employing the method for designing industrial products, wherein the design method is characterized in that the shape of an industrial product is designed by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable.
The invention in claim 2 is characterized in that, in the design method for industrial products described in claim 1, the industrial product is a machine including a mechanism in which a mechanical element having a mass moves and a trajectory of motion of the mechanical element is designed by using the three-dimensional curve (referred to as the three-dimensional clothoid curve).
The invention in claim 3 is characterized in that, in the design method for industrial products described in claim 2, the machine is a screw device including a mechanism in which a ball as the mechanical element moves, the screw device comprises a screw shaft having an outer surface on which a spiral rolling element rolling groove is formed, a nut having an inner surface on which a load rolling element rolling groove is formed so as to be opposed to the rolling element rolling groove and a regression path is formed to connect a one end and the other end of the load rolling element rolling groove, and a plurality of rolling elements disposed between the rolling element rolling groove of the screw shaft and the load rolling element rolling groove of the nut and disposed in the regression path, and the regression path of the screw device is designed by using the three-dimensional curve (referred to as the three-dimensional clothoid curve).
The invention in claim 4 is characterized in that, in the design method for industrial products described in any one of claims 1 to 3, the three-dimensional clothoid curve is defined by the following expressions.
shows a positional vector at each point on the three-dimensional clothoid curve and its initial value, respectively.
Assume that the length of a curve from a starting point is s and its whole length (a length from the starting point to an end point) is h. A value produced by dividing s by h is expressed as S. S is a dimensionless value, which is called a curve length variable.
i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively.
u is a unit vector showing a tangential direction of a curve at a point P, which is given by Expression (2). Ekβ and Ejα are rotation matrices and represent an angular rotation of angle β about the k-axis and an angular rotation of angle α about the j-axis, respectively. The former is referred to as a yaw rotation, while the latter is referred to as a pitch rotation. Expression (2) means that the unit vector in the i-axis direction is rotated by an angle α about the j-axis, before being rotated by an angle β about the k-axis, thus producing a tangent vector u. a0, a1, a2, b0, b1 and b2 are constants.
The invention in claim 5 is characterized in that, in the design method for industrial products described in claim 4, a plurality of spatial points are specified in a three-dimensional coordinate and these spatial points are interpolated by using the three-dimensional clothoid curve, whereby the shape of the industrial product is designed.
The invention in claim 6 is characterized in that, in the design method for industrial products described in claim 5, seven parameters a0, a1, a2, b0, b1, b2 and h of the three-dimensional clothoid segments are calculated so that, between a one three-dimensional clothoid segment (a unit curve consisting of a group of curves produced on the interpolation) and the next three-dimensional clothoid segment (a unit curve consisting of a group of curves produced on the interpolation), positions, tangential directions, normal directions, and curvatures of both the one and next three-dimensional clothoid segments are made continuous to each other, respectively, at the plurality of spatial points.
The invention in claim 7 is characterized in that, in the design method for industrial products described in claim 6, the seven parameters a0, a1, a2, b0, b1, b2 and h of the three-dimensional clothoid segments are calculated by making the number of conditional expressions produced by mutual addition to be made between conditional expressions concerning the tangential directions, the normal directions and the curvatures at both the starting point and the end point and further conditional expressions allowing the positions, the tangential directions, the normal directions, and the curvatures of both the one and next three-dimensional clothoid segments to be made continuous to each other, respectively, at the plurality of spatial points agree with the unknowns of the seven parameters a0, a1, a2, b0, b1, b2 and h of the three-dimensional clothoid segments, whereby the conditional expressions is made agree with the unknowns in terms of number thereof, by specifying the tangential directions, the normal directions and the curvatures at the stating point and the and point among the plurality of spatial points and additionally inserting objective points being interpolated between the spatial points which have been specified in advance.
The invention in claim 8 is an industrial product designed by using the design method for industrial products according to any one of claims 1 to 7.
The invention in claim 9, which is for designing the shape of an industrial product, is a program enabling a computer to operate as means to design the shape of the industrial product by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable.
The invention in claim 10, which is for designing the shape of an industrial product, is a computer-readable recording medium recording thereon a program enabling a computer to operate as means to design the shape of the industrial product by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable.
B. Numerical Control Method Using the Clothoid Curve:
Hereinafter, the invention of a numerical control method using the clothoid curve, which is described in claims 11 to 27, will now be described.
The invention in claim 11 solves the foregoing problems by employing a numerical control method expressing a trajectory of a machine tool or the contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling motion of the machine tool based on the three-dimensional curve.
The invention in claim 12 is provided such that, in the numerical control method described in claim 11, the three-dimensional clothoid is defined by the following expressions.
shows a positional vector at each point on the three-dimensional clothoid curve and its initial value, respectively.
Assume that the length of a curve from a starting point is s and its whole length (a length from the starting point to an end point) is h. A value produced by dividing s by h is expressed as S. S is a dimensionless value, which is called a curve length variable.
i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively.
u is a unit vector showing a tangential direction of a curve at a point P, which is given by Expression (2). Ekβ and Ejα are rotation matrices and represent an angular rotation of angle β about the k-axis and an angular rotation of angle α about the j-axis, respectively. The former is referred to as a yaw rotation, while the latter is referred to as a pitch rotation. Expression (2) means that the unit vector in the i-axis direction is rotated by an angle α about the j-axis, before being rotated by an angle β about the k-axis, thus producing a tangent vector u. In this Expression, a0, a1, a2, b0, b1 and b2 are constants.
The invention in claim 13 is a numerical control device expressing a trajectory of a machine tool or the contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling motion of the machine tool based on the three-dimensional curve.
The invention in claim 14, which is for numerically controlling motion of a machine tool, is a program enabling a computer to operate as means to express a trajectory of the machine tool or the contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable.
The invention in claim 15, which is for numerically controlling motion of a machine tool, is a computer-readable recording medium recording thereon either a program enabling a computer to operate as means to express a trajectory of the machine tool or the contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, or results computed based on the program.
The invention in claim 16 resolve the foregoing problems by employing a numerical control method comprising steps of interpolating points of a row of points arbitrarily given in a three-dimensional coordinate by using a three-dimensional curve (referred to as three-dimensional clothoid segments) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling motion of a machine tool based on the three-dimensional clothoid segments.
The invention in claim 17 is a numerical control method comprising a step of mutually connecting a plurality of three-dimensional clothoid curves (each of which is referred to as three-dimensional clothoid segments) in each of which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and a step of controlling motion of a machine tool based on the plural three-dimensional clothoid segments.
The invention in claim 18 is provided such that, in the numerical control method described in claim 16 or 17, the three-dimensional clothoid curve is defined by the following expressions.
shows a positional vector at each point on the three-dimensional clothoid curve and its initial value, respectively.
Assume that the length of a curve from a starting point is s and its whole length (a length from the starting point to an end point) is h. A value produced by dividing s by h is expressed as S. S is a dimensionless value, which is called a curve length variable.
i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively.
u is a unit vector showing a tangential direction of a curve at a point P, which is given by Expression (2). Ekβ and Ejα are rotation matrices and represent an angular rotation of angle β about the k-axis and an angular rotation of angle α about the j-axis, respectively. The former is referred to as a yaw rotation, while the latter is referred to as a pitch rotation. Expression (2) means that the unit vector in the i-axis direction is rotated by an angle α about the j-axis, before being rotated by an angle β about the k-axis, thus producing a tangent vector u. a0, a1, a2, b0, b1 and b2 are constants.
The invention in claim 19 is characterized in that, in the numerical control method according to claim 18, the seven parameters a0, a1, a2, b0, b1, b2 and h are calculated in such a manner that, at a connecting point between, of the plural three-dimensional clothoid segments, a single three-dimensional clothoid segment and the next three-dimensional clothoid segment thereto, positions and tangential directions (and in some cases, curvatures) of both three-dimensional clothoid segments are continuous, respectively. The positions and the tangential directions should always be continuous, respectively, and the curvatures are required to be continuous according to need.
The invention is claim 20 is a numerical control device interpolating points of a row of points arbitrarily given in a three-dimensional coordinate by using a three-dimensional curve in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling motion of a machine tool based on the three-dimensional clothoid segments.
The invention in claim 21 is a program, which is for numerically controlling motion of a machine tool, enabling a computer to operate as means to interpolate points of a row of points arbitrarily given in a three-dimensional coordinate by using a three-dimensional curve in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable and controlling the motion of the machine tool based on the three-dimensional clothoid segments.
The invention in claim 22 is a computer-readable recording medium, which is for numerically controlling motion of a machine tool, recording either a program enabling a computer as means for interpolating points of a row of points arbitrarily given in a three-dimensional coordinate by using a three-dimensional curve in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, or results calculated on the program.
The invention in claim 23 is a numerical control method comprising steps of expressing a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, specifying motion of the machine tool to be moved along the three-dimensional curve, and calculating a moved position of the machine tool at unit-time intervals according to the specified motion, wherein the motion is defined as positional information changing as a function of time.
The invention in claim 24 is provided such that, in the numerical control method according to claim 23, the three-dimensional clothoid curve is defined by the following expressions.
shows a positional vector at each point on the three-dimensional clothoid curve and its initial value, respectively.
Assume that the length of a curve from a starting point is s and its whole length (a length from the starting point to an end point) is h. A value produced by dividing s by h is expressed as S. S is a dimensionless value, which is called a curve length variable.
i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively.
u is a unit vector showing a tangential direction of a curve at a point P, which is given by Expression (2). Ekβ and Ejα are rotation matrices and represent an angular rotation of angle β about the k-axis and an angular rotation of angle α about the j-axis, respectively. The former is referred to as a yaw rotation, while the latter is referred to as a pitch rotation. Expression (2) means that the unit vector in the i-axis direction is rotated by an angle α about the j-axis, before being rotated by an angle β about the k-axis, thus producing a tangent vector u. a0, a1, a2, b0, b1 and b2 are constants.
The invention in claim 25 is a numerical control device which is configured to express a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, specify motion of the machine tool to be moved along the three-dimensional curve, and calculate a moved position of the machine tool at unit-time intervals according to the specified motion, wherein the motion is defined as positional information changing as a function of time.
The invention in claim 26 is a program, which is for numerically controlling motion of a machine tool, enabling a computer to operate as means for expressing a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, means for specifying motion of the machine tool to be moved along the three-dimensional curve, and means for calculating a moved position of the machine tool at unit-time intervals according to the specified motion, wherein the motion is defined as positional information changing as a function of time.
The invention in claim 27 is a computer-readable recording medium, which is for numerically controlling motion of a machine tool, recording thereon a program enabling a computer to operate as means for expressing a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, means for specifying motion of the machine tool to be moved along the three-dimensional curve, and means for calculating a moved position of the machine tool at unit-time intervals according to the specified motion, wherein the motion is defined as positional information changing as a function of time.
A. Design Method for Industrial Products by Using the Clothoid Curve:
In the inventions according to claims 1-10, by using the three-dimensional clothoid curve, the motion of a mechanical element can be designed so that a trajectory of the motion becomes smooth. Designing the trajectory in this way makes it possible that machines move in a dynamically unforced condition, cause no deterioration in their functions due to motion errors, and have less damage in their trajectories.
In particular, as to a screw device, it is possible to provide a general method of producing a spatial curve which is necessary for designing circulating paths of the rolling elements in the screw device. It is possible to design the circulating paths so that changes in a restraining force exerted on a rolling element are smooth when the rolling element moves with acceleration and deceleration along a spatial curve on a circulating path. This feature allows the rolling element to move in a soft and smooth manner, thereby the efficiency of power transmission in the screw device is improved and friction force and inertia force are avoided from being generated excessively. Accordingly, with parts avoided from being damaged, screw devices with high reliability can be provided.
In addition, by utilizing the feature that a pattern of changes in curvature can be controlled, a large number of applications in various industrial fields can be provided. For example, in designing the shapes of objects to be designed in an aesthetic fashion, this versatile curve design method can be applied effectively to the design.
B. Numerical Control Method Using the Clothoid Curve:
In the inventions according to claims 11 to 27, a curve has a principal variable which is a curve length or a curve length variable and a pitch angle and a yaw angle in the tangential direction on the curve are provided quadratic expressions of the curve length or the curve length variable, respectively. Accordingly, differential coefficient of first order of the quadratic expression provides a normal direction and differential coefficient of second order of the quadratic expression provides a curvature. It is thus assured that the normal line and curvature are continuous in respect of the curve length or the curve length variable. In other words, the normal direction and curvature are continuous along one clothoid curve. It is therefore possible to provide smooth curves with high-quality characteristics, thus providing the numeral control technique that suppresses changes in velocity within a mechanically unforced range.
A. Design Method for Industrial Products Using a Clothoid Curve:
Hereinafter, an embodiment of a method for designing industrial products using a clothoid curve, which is according to the present invention, will now be described in turn based on listed items which are 1: definition and features of a three-dimensional clothoid curve, 2: an interpolation method using the three-dimensional clothoid curve, 3: a method for designing, with the use of a three-dimensional clothoid interpolation, the regression path of a ball screw serving as a screw device, and 4: a numerical control method using the three-dimensional clothoid interpolation.
1. Definition and Characteristics of a Three-Dimensional Clothoid Curve:
(1-1) Basic Expression of the Three-Dimensional Clothoid:
A clothoid curve (Clothoid curve), which is also called Cornu's spiral, is a curve whose curvature changes in proportion to the length of the curve.
A two-dimensional clothoid curve already proposed by the inventors is one kind of planer curves (two-dimensional curve) and is expressed by the following expressions defined in the xy coordinate shown in
is a positional vector representing a point on the curve and
[Numeral 11]
P0=x0+jy0 (1-4)
is an initial value (a positional vector at a starting point) of the positional vector.
[Numeral 12]
ejφ=cos φ+j sin φ (1-5)
is a unit vector (a vector of which length is 1) representing a tangential direction on the curve and the direction φ is measured in the counterclockwise direction from an original line (x-axis direction). Multiplying this unit vector by an infinitesimal length ds and integrating the multiplied results leads to acquisition of a point P on the curve.
Let us assume that a length on the curve, which is measured along the curve from a starting point thereof, is s and a whole length (a length from the starting point to an end point of the curve) is h. A value obtained by dividing s by h is expressed as S. S is a dimensionless value, which is referred to as a curve length variable.
As shown in Expression (1-2), the clothoid curve has a feature that the tangential direction angle φ is expressed as a quadratic expression of the curve length s or the curve length variable S. c0, c1, and c2 or φo, φu and φv are coefficients of the quadratic expression, and these coefficients and the whole length h of the curve are called clothoid parameters.
The above relationships are expanded to the three-dimensional one to produce expressions presenting a three-dimensional clothoid curve. Conventionally, expressions which provide the three-dimensional clothoid curve have not been known. This time, however, the present inventors have completed this expansion for the first time in this field.
The three-dimensional clothoid curve is defined by the following expressions.
denotes a positional vector at each point on the three-dimensional clothoid and an initial value of the positional vector, respectively. i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively.
u is a unit vector representing the tangential direction at the point P on the curve, which is given by Expression (1-7). In Expression (1-7), Ekβ and Ejα show rotation matrices and, as shown in
In other words, in the case of the two-dimension, a unit vector ejφ representing a tangential direction on a curve is obtained on a tilt angle φ made from the x-axis. In the case of the three-dimension, the tangential vector u on a curve can be obtained on the pitch angle α and the yaw angle β. A pitch angle of 0 provides a two-dimensional clothoid curve wound in the xy plane, while a yaw angle of 0 provides a two-dimensional clothoid curve wound in the xz plane. Multiplying the tangential vector u by an infinitesimal length ds and integrating the multiplied results provides a three-dimensional clothoid curve.
For the three-dimensional clothoid curve, the tangential vector has a pitch angle α and a yaw angle β which are given by a quadratic expression of the curve length variable S, as shown by Expressions (1-8) and (1-9), respectively. This enables free selection of changes of the tangential direction, while still giving continuousness to the changes.
As represented by the above expressions, the three-dimensional clothoid curve is defined as “a curve in which the pitch angle and the yaw angle of a tangential direction are expressed by a quadratic expression of a curve length variable, respectively.”
A single three-dimensional clothoid curve starting from P0 is decided with seven parameters composed of
[Numeral 15]
a0, a1, a2, b0, b1, b2, h (1-11).
The six variables of a0 to b2 have the unit of angle and represent the shape of a clothoid curve. In contrast, h has the unit of length, which represents the amplitude of a clothoid curve. A typical example of the three-dimensional clothoid curve is a spiral curve, as shown in
(1-2) Frenet Frame and Curvature on the Three-Dimensional Clothoid Curve:
Let us assume that an arbitrary three-dimensional curve is expressed by R(t) which uses t as a parameter. In particular, assume that this expression is denoted by R(s) which uses s as a parameter expressing a distance moving from a starting point of the curve.
When the absolute values of relative positional vectors dR(s) at two points on a curve, which provide a difference of ds, is regarded as a line element ds, there is a relationship between ds and dt, which is expressed by the following Expression (2-1). For the sake of a simplified explanation, differentiating R with regard to a parameter t is denoted by a character with a dot atop thereof.
Since a unit tangential vector u(t) is created by normalizing a line element vector dR(t) of a curve, the unit tangential vector can be expressed by Expression (2-2) with reference to Expression (2-1).
A change amount du of the unit tangential vector will then be considered.
The normal direction is treated such that a leftward direction to be obtained when a person turns to a tangential direction is regarded as being a positive normal direction. To be more accurate, in a plane formed by both the vector du and the unit tangential vector u(t), a direction created by a counterclockwise rotation of 90 degrees from the unit tangential vector u(t) is defined as a positive direction to the unit principal normal vector n(t).
In addition, a binormal vector b(t) is a vector perpendicular to both the unit tangential vector u(t) and the unit principal normal vector n(t) and is defined by Expression (2-4).
[Numeral 19]
b(t)=u(t)×n(t) (2-4)
A set of three vectors [u(t), n(t), b(t)], which is a combination of the unit tangential vector u (t), unit principal normal vector n(t), binormal vector b(t) which are defined above, is referred to as frenet frame at a position R(t) on a curve.
A curvature k will now be described, which is a ratio at which the unit tangential vectors are turned along the linear elements of a curve. A three-dimensional curvature is defined by Expression (2.5).
As defined above, the fundamental amounts concerning the three-dimensional curve are denoted with the expressions that use the curve length variable S as a parameter in the three-dimensional clothoid curve.
When any three-dimensional clothoid curve P(S) is considered, the unit tangential vector u(S) can be expressed by Expression (2-6) with the help of Expression (2-2).
In addition, when taking the definition Expressions (1-7), (1-8) and (1-9) of the three-dimensional clothoid curve into account, the unit tangential vector u(S) can be expressed in the form of Expression (2-7) as well. In the present specification, this expression is used as a main expressing way.
The differential coefficient of first order of the tangential vector u(S) of a three-dimensional clothoid curve with respect to the curve length variable S creates Expression (2-8) and its amplitude is expressed by Expression (2-9).
The unit principal normal vector n(S) will now be considered. The normal vector to a three-dimensional curve is expressed by Expression (2-3), so that the normal vector to a three-dimensional clothoid curve is to be expressed by Expression (2-10).
As to the binormal vector b(t), Expression (2-4) is used to obtain the binormal vector using both the unit tangential vector u(S) on Expression (2-7) and the unit principal normal vector n(S) on Expression (2-10).
[Numeral 25]
b(S)=u(S)×n(S) (2-11)
Finally, as to the curvature, Expression (2-5) is deformed to express the curvature as shown in Expression (2-12).
As described above, the frenet frame and the curvature k at each point on a three-dimensional clothoid curve can be obtained by the curvature length variable S.
(1-3) Production of Three-Dimensional Clothoid Curve Having Opposite Direction:
As shown in
Assume that there is a three-dimensional clothoid curve C1 which has a starting point Ps and an end point Pe and has clothoid parameters for a three-dimensional clothoid curve which are decided by seven values made up of h, a0, a1, a2, b0, b1 and b2. In such a case, tangential rotation angles α1 and β1 are expressed by the following Expressions (2-13) and (2-14).
[Numeral 27]
α1=a0+a1S+a2S2 (2-13)
β1=b0+b1S+b2S2 (2-14)
In the three-dimensional clothoid curve C2 having the same size and shape and the opposite direction as and to those of this three-dimensional clothoid curve, P′s=Pe and P′e=Ps are accomplished, wherein the curve C2 has a starting point P′s and an end point P′e. When a curve length h is first considered, the curve lengths of the curves C1 and C2 are mutually equal, because the sizes are equal to each other. When the fact that a tangential line t to the three-dimensional clothoid curve C2 is oppositely directed to a tangential line t to the three-dimensional clothoid curve C1 whose coordinates are always the same is considered, it is understood that the following relationships exist between the tangential rotation angles α1 and β1 of the curve C1 and the tangential rotation angles α2 and β2 of the curve C2.
[Numeral 28]
α2(S)=α1(1−S)+π (2-15)
β2(S)=β1(1−S) (2-16)
The above-described expressions can be summarized into an equation on the following Expressions (2-17) and (2-18).
[Numeral 29]
α2(S)=(a0+a1+a2+π)−(a1+2a2)S+a2S2 (2-17)
β2(S)=(b0+b1+b2)−(b1+2b2)S+b2S2 (2-18)
These expressions allow the remaining parameters to be decided, so that the clothoid parameters of the curve C2, which are h′, a′0, a′1, a′2, b′0, b′1, and b′2, can be expressed using the parameters of the curve C1.
The use of this relationship produces a three-dimensional clothoid curve of which size and shape are the same and direction is opposite.
(1-4) Division of Three-Dimensional Clothoid Curve
Let us assume that there is a three-dimensional clothoid curve C0 which have not only a starting point P1 and an end point P2 but also clothoid parameters decided by seven quantities h, a0, a1, a2, b0, b1 and b2. In this case, how to divide the three-dimensional clothoid curve C0 connecting both of the points P1 and P2 into curves C1 and C2 divided at a point Pm providing a curve length parameter S=Sd, as shown in
Of the divided curves, the curve C1 having the starting point P1 will first be described. With respect to its curve length h, the definition of a three-dimensional clothoid curve gives the fact that the curve C1 has a curve length h1 equal to Sd times larger than a curve length h0 of the curve C0. Further, when it is assumed that a curve length variable of the curve C0 is denoted by S0 and a curve length variable of the curve C1 is denoted by S1 and those variables mean points on the same curve C1, the following relationship is accomplished among these quantities.
[Numeral 31]
S1=SdS0 (2-20)
Namely, between tangential rotation angles α0 and β0 and tangential rotation angles α1 and β1, it is understood that the following relationships exist.
[Numeral 32]
α1(S1)=α0(SdS0)
β1(S1)=β0(SdS0) (2-21)
Arrangement of these expressions leads to the equations in the following Expressions (2-22).
[Numeral 33]
α1(S)=a0+a1SdS+a2Sd2S2
β1(S)=b0+b1SdS+b2Sd2S2 (2-22)
These expressions define tangential directions, so that the clothoid parameters h′, a′0, a′1, a′2, b′0, b′1, and b′2 of the curve C1 can be expressed by the following Expression (2-23) that uses the parameters of the curve C0.
The curve C2 of which starting point is served by the dividing point Pm will then be described. As to this curve C2, the production can be achieved by combining the technique for producing a curve having the same size and shape but the opposite direction, described in the foregoing section 1-3, with the technique for producing the curve C1.
First of all, let us assume that a curve of which size and shape are the same as those of the curve C0 but of which direction is opposite to that of curve C0 is given by a curve C′0. On this curve, a dividing point Pm is expressed by Pm=C′0 (1−Sd). Let us assume again that the curve C′0 is divided at the point Pm. In that case, of the divided curves, a curve C′2 starting at a point P2 has the same size and shape as those of the curve C2 but has the opposite direction to that of the curve C2. Because both techniques described in the forgoing section 1-3 and used in the production of the curve C1 allow the curve C′2 to be produced, applying the technique described in the section 1-3 to the curve C′2 makes it possible to produce the curve C2.
Thus this curve C2 has clothoid parameters h″, a″0, a″1, a″2, b″0, b″1, and b″2 which can be expressed by using the parameters of the curve C0, as shown in the following Expression (2-24).
As stated above, a curve can be divided into a curve C1 and a curve C2 at a dividing point Pm providing the curve length variable S=Sd on a three-dimensional clothoid curve C0.
(1-5) Characteristics of the Thee-Dimensional Clothoid Curve:
(a) Continuity of the Curve:
In the case of a single clothoid curve (i.e., a clothoid curve represented by the same parameters), pitch angles and yaw angles made by its tangential directions are given by quadratic expressions with a curve length variable S, respectively. Thus it is guaranteed that normal directions obtained by applying differential coefficient of first order to the quadratic expressions and curvatures to be obtained by two-time differential to that are continuous with the respect to the curve length variable S. In other words, each one clothoid curve has normal lines and curvatures, which change continuously along the one clothoid curve. Accordingly a smooth and good quality curve can be obtained. In the case that two clothoid curves are mutually connected, it is sufficient to select parameters to permit tangential lines, normal lines, and curvatures to be continuous at their connecting point. This selection manner will produce a one smoothly connected line, called a clothoid curve group.
(b) Applicability:
Because the tangential directions of curves can be swung with changing two angles (pitch angle and yaw angle), an arbitrary three-dimensional curve can be produced in conformity with various conditions for various applications. Thus it is possible to provide a wide use spatial curves necessary for designing industrial products. In cases where an object moves at accelerated and decelerated speeds along a spatial curve, it is possible to work out a design such that changes in a binding force are smooth. In addition, changes in the curvature to the curve length can be designed properly, effective applicability can be achieved in various industrial fields, such as production of aesthetic design curves.
(c) Consistency with Geometric Curves:
Geometric curves, such as liner segments, circular arches, and screw curves, can be produced by giving zero to some of the clothoid parameters or giving particular functional relationships to some of the parameters. The curves to be produced in those ways are a kind of clothoid curves, so that they can be expressed in the format of clothoids.
Furthermore, by replacing either α or β at any time, a two-dimensional clothoid can be made. Thus, resources which have already been acquired concerning the two-dimensional clothoid can be utilized well.
That is, proper setting of α or β makes it possible to express individual curves, such as circular arches and liner segments, including the already known two-dimensional clothoid. Such respective curves can be expressed by using the expressions having the same format as that for expressing the thee-dimensional clothoid curve, thereby simplifying the computation procedures.
(d) Good Perspective:
In mathematizing free curves using the conventional interpolation techniques including the spline interpolation, it is frequent that the whole shape or a local shape is difficult to understand. In contrast, for using the three-dimensional clothoid, it is possible to imagine each of a pitch angle and a yaw angle, with the result that the whole shape can be grasped in a relatively easier manner.
In addition, on completion of expressing a curve as a clothoid curve, the line lengths, tangential directions, curvatures thereof have been known. Thus, unlike the conventional interpolation techniques, there is no need for new computation. Namely, correspondingly to the parameters S for a curve, the tangential lines, normal lines, and the curvature of the curve can be obtained in a direct manner, as shown in Expressions in (1-7), (2-10) and (2-12).
(e) Easiness of Motion Control:
The main variable of a curve is the length s or the normalized length S, and the equation of this curve is given by a natural equation with regard to the length. Hence, by defining the length s as a function of the time t, an arbitrary characteristic of motion, which is for example an accelerated and decelerated motion, can be given. By employing motion curves having good characteristics, which have conventionally been used for cams, processing operations can be made faster. The length s is given as a value in the existing Cartesian space and velocity and acceleration are calculated in tangential directions, resulting in that it is not necessary to synthesize values given every axis, unlike the conventional interpolation method. Additionally, the curvature can be calculated with easiness, whereby a centrifugal acceleration of an object in motion can be obtained with easiness. Thus control can be conducted depending on motion trajectories.
2. Interpolation Method Using a Three-Dimensional Clothoid Curve:
(2-1) Mathematical Conditions with Smooth Connection:
A single three-dimensional clothoid curve has a limitation on expressing the shapes of curves. In this section, with employing the numerical control of motion of a machine tool as a main purpose, a plurality of three-dimensional clothoid curves (three-dimensional clothoid segments) are mutually connected for designing industrial products. Hereinafter, the interpolation that uses a three-dimensional curve is referred to as a three-dimensional clothoid interpolation and a group of curves to be produced by the interpolation is referred, as a whole, to as a three-dimensional clothoid curve, which is composed by a plurality of unit curves each referred to as a three-dimensional clothoid segment.
When two three-dimensional clothoid segments are smoothly connected at their end points, this results in a definition that their end positions, tangential lines and curvatures are continuously connected, respectively. Using the foregoing definition expressions, conditions for those connections can be described as below, in which the first three expressions show the continuity of positions, the next two expressions show the continuity of tangential lines, the next one expression shows the agreement of normal lines, and the last expression shows the continuity of curvatures.
[Numeral 36]
Pxi(1)=Pxi+1(0)
Pyi(1)=Pyi+1(0)
Pzi(1)=Pzi+1(0)
αi(1)=αi+1(0)
βi(1)=βi+1(0)
tan γi(1)=tan γi+1(0)
κi(1)=κi+1(0) (3-1)
These expressions provide sufficient conditions for achieving the continuity of tangential lines, normal lines, curvatures, and α and β at connecting points, and in some cases, these conditions are too strict to be applied. By taking such conditions into consideration, those conditions can be changed so as to meet the conditions in an original viewpoint, and the changed expressions are as follows.
[Numeral 37]
Pxi(1)=Pxi+1(0)
Pyi(1)=Pyi+1(0)
Pzi(1)=Pzi+1(0)
cos [αi(1)−αi+1(0)]=1
cos [βi(1)−βi+1(0)]=1
tan γi(1)=tan γi+1(0)
κi(1)=κi+1(0) (3-2)
Further, when a relationship of
[Numeral 38]
cos [αi(1)−αi+1(0)]=1
is taken into account,
[Numeral 39]
tan γi(1)=tan γi+1(0)
is replaced by the following conditions.
As a result, it is understood that satisfying the following conditions leads to achievement of the object.
[Numeral 41]
Pxi(1)=Pxi+1(0)
Pyi(1)=Pyi+1(0)
Pzi(1)=Pzi+1(0)
cos [αi(1)−αi+1(0)]=1
cos [βi(1)−αi+1(0)]=1
α′i(1)β′i+1(0)=α′i+1(0)β′i(1)
κi(1)=κi+1(0) (3-3)
In Expression (3-3), the first three expressions show the continuity of positions, the next two expressions show the continuity of tangential directions, the next one expression shows the agreement of normal lines, and the last expression show the continuity of curvatures, respectively. To perform a G2-continuous interpolation, it is required that two three-dimensional clothoid curves should meet the seven conditional expressions in Expression (3-3) at their end points.
The G2 continuity (G stands for the acronym of Geometry) will now be complemented.
G0 continuity is that two three-dimensional clothoid curves positionally agree with each other at their end points, G1 continuity is that tangential directions of those agree with each other, and G2 continuity is that osculating planes (normal lines) and curvatures respectively agree with each other. In Table 1 shown below, comparison will now be made between C0-C2 continuity used by spline curves and G0-G2 continuity used in clothoid curves according to the present invention.
In terms of consideration of the continuity of two three-dimensional clothoid curves, the interpolation conditions are made more stricter as the continuity degrees advance from C0 to C1, and to C2 and from G0 to G1, and to G2. Though the C1 continuity requires that the size and direction of the tangential lines agree with each other, it is sufficient that the G1 continuity requires the agreement of only the tangential directions. For smoothly connecting the tangential lines between two three-dimensional clothoid curves, it is preferable to create the conditional expressions on the G1 continuity. Creating conditional expressions based on the C1 continuity, like the spline curves, results in too strict conditions, because the creation inevitably involves with a condition that the sizes of tangential lines should be made agree with each other, even though such a condition has no geometrical relationship. Creating the conditional expressions on the G1 continuity is advantageous in that the amplitudes of primary differential coefficients are set to any values freely.
In the G2 continuity, osculating planes (i.e., normal lines) are made to agree with each other. The osculating planes, as shown in
(2-2) Practical Computation Procedures:
There are provided two types of computation procedures.
(a) By setting the parameters h, α and β of a curve to produce a single three-dimensional clothoid curve, the parameters of the next three-dimensional curve are decided to meet Expression (3-3) at an end point of the produced curve. In this way, three-dimensional clothoid curves connectable in turn in a smooth manner can be produced. Using these computation procedures, the curve parameters can be computed easily, and a solution on this computation way is called a sequential solution. This computation way enables the production of a variety of shapes of curves in an easier manner, but it is impossible to explicitly specify the connecting points through which the curves pass.
(b) In order that a group of points specified in advance may compose the connecting points of curves, three-dimensional clothoid curves can be connected to each other. In this section, there is provided an example in which a short clothoid curve (clothoid segment) is produced for every span in a row of points given discretely. In such a case, the computation procedures to decide the curve parameters so as to meet Expression (3-3) is more complicated than that described in the foregoing item (a), requiring a repeated convergence computation. This computation involves a series of inverse procedures that the curve parameters are decided from connecting conditions, so that a resultant solution is called an inverse solution.
Concerning the inverse solution in the above item (b), how to compute will now be detailed. A question to be solved is formulated as follows:
Unknown Parameters: Curve Parameters
Constraint Conditions: Expression (3-3) or Part Thereof
Depending on questions to be solved, the number of constraint conditions is changed and curve parameters of which number corresponds to the number of constraint conditions are set as unknown parameters. For example, in the case that the continuity of curvatures is not demanded, part of the curve parameters can be adjusted freely. Alternatively, when it is demanded those curvatures are kept continuous but tangential directions are specified, it is required that the number of three-dimensional clothoid curves to be used for the interpolation be increased by division so as to increase the number of corresponding unknown curve parameters.
In order to converge the above repeated convergence computation in a stabilized manner, the computation should be cogitated. To avoid the computation from diverging for speeding up the convergence, setting optimum initial values of the unknown values is effective. For doing so, it is effective to gain initial values for the repeated convergence computation by generating a simpler interpolation curve (for example, such a curve is a linear spline curve), which still meets constraint conditions concerning given connecting points and/or others, estimating the shape of the curve to obtain curve parameters of three-dimensional clothoid curves, and using such curve parameters as the initial values.
Alternatively, without requiring constraint conditions to be met at once, a technique by which conditional expressions are increased sequentially is still effective as the way for gaining a solution with stability. For example, the procedures for generating a curve are divided into the following three steps, which are executed in sequence. In the first step, interpolation is made such that pieces of positional information agree with each other and also tangential directions agree with each other. In the second step, interpolation is made to allow normal lines to agree with each other, and in the third step, interpolation is also made to allow curvatures to agree with each other. This technique is outlined as a flowchart in
(2-3) Embodiment of the Interpolation Method Using the Three-Dimensional Clothoid Curve:
(a) Flow of Interpolation Method:
One embodiment of the technique with which a three-dimensional clothoid curve is used to smoothly interpolate each interval between points which are part of a row of points will now be detailed.
The basic flow of the three-dimensional clothoid interpolation is such that the respective parameters of a three-dimensional clothoid segment connecting two points being interpolated are set to unknowns, and a curve is produced by obtaining a solution with the Newton-Rapson method, in which the solution meeting the conditions that points being interpolated are passed strictly and the G2 continuity is kept. This way is outlined as a flowchart in
(b) Conditions of G2-Continuous Interpolation:
Practical conditions which allow points being interpolated to be passed strictly and the G2 continuity is kept will now be described.
Now assume a simple case in which there are three points P1={Px1, Py1, Pz1}, P2={Px2, Py2, Pz2}, and P3={Px3, Py3, Pz3} and these points are interpolated by using three-dimensional clothoid segments.
Here, the conditions which allow points being interpolated to be passed strictly and the G2 continuity is kept will now be considered. First of all, when the condition which allows points being interpolated to be passed strictly at a starting point is necessarily achieved at the time when the starting point is specified, so that the interpolation condition is not necessary in this situation, which is clear from the definition of the three-dimensional clothoid curve. At the connecting point P1, seven interpolation conditions consisting of three positional conditions, two tangential vector conditions, and two conditions (about the magnitude and direction) regarding to equations showing the curvature continuity are needed. Further, as to the end point, three positional conditions are necessary at the point P2. Thus, the conditional expressions total to 10. However, the number of unknowns is 14, compared to only the ten conditional expressions, so that the unknowns cannot be solved. In order to overcome this difficulty, the study according to the present invention was conducted on condition that tangential line vectors were given at both end points to increase the number of conditions at each end point by two so that the conditional expressions and the unknowns are equal in number to each other. In addition, deciding a tangential direction at the starting point enables a01 and b01 to be obtained from the equation defining the tangential direction. Considering this, a01 and b01 were not treated as unknowns. In the following, consideration will now be given to each condition.
First, the positional conditions will now be considered. In this case, three Expressions (4-1), (4-2) and (4-3) are established (hereinafter, “i” represents non-negative integers smaller than 3).
The, the conditions concerning the tangential directions will now be considered. In this case, two Expressions (4-4) and (4-5) are established.
[Numeral 43]
cos(a0i+a1i+a2i−a0i+1)=1 (4-4)
cos(b0i+b1i+b2i−b0i+1)=1 (4-5)
Concerning the curvature k, the following Expression (4-6) will now be established.
[Numeral 44]
κi(1)−κi+1(0)=0 (4-6)
Finally, the normal direction vector n will now be considered. The normal vector n of a three-dimensional clothoid curve is expressed by Expression (2-10).
Like the decision of the tangential vector u of a three-dimensional clothoid curve, the rotation will now be used for considering the normal vector n. Assume that an initial tangential direction is (1, 0, 0) and an initial normal direction is expressed as (0, cos γ, −sin γ) in which γ is a constant. When this initial normal direction is rotated in the same way as that for tangential lines, the normal line n is expresses as shown in Expression (4-7).
Making a comparison between Expressions (2-10) and (4-7) reveals that sin γ and cos γ correspond to Expression (4-8).
That is, it is found from Expression (4-8) that the continuity of tan γ is enough for accomplishing the continuity of the normal lines at a connecting point involving in the three-dimensional clothoid interpolation.
In short, it is understood that the condition for holding the normal lines continuous is expressed by Expression (4-10).
[Numeral 48]
tan γi(1)=tan γi+1(0) (4-10)
Further, when taking the equation of
[Numeral 49]
cos [αi(1)−αi+1(0)]=1 (4-11)
into account, the conditional Expression (4-10) can be replaced by the following conditional Expression (4-12). Specifically, the condition for the continuous normal lines is expressed by Expression (4-12).
[Numeral 50]
α′i(1)β′i+1(0)=α′i+1(0)β′i(1) (4-12)
In summary, it is found that the conditions for keeping not only a strict passage through points being interpolated but also the G2 continuity at each connecting point are expressed by Expression (4-13). Also, as for the starting and end points, it is still enough to select some of the conditions listed in Expression (4-13).
[Numeral 51]
Pxi(1)=Pxi+1(0)
Pyi(1)=Pyi+1(0)
Pzi(1)=Pzi+1(0)
cos [αi(1)−αi+1(0)]=1
cos [βi(1)−βi+1(0)]=1
α′i(1)β′i+1(0)=α′i+1(0)β′i(1)
κi(1)=κi⇄1(0) (4-13)
As described, it is revealed that concerning the conditional expressions for the twelve unknowns a11, a21, b11, b21, h1, a02, a12, a22, b02, b12, b22, and h2, twelve conditional expressions are established as follows (, in which α3 and β3 represent rotation angles in the tangential direction at the point P3).
[Numeral 52]
Px1(1)=Px2(0)
Py1(1)=Py2(0)
Pz1(1)=Pz2(0)
cos [α1(1)−α2(0)]=1
cos [β1(1)−β2(0)]=1
α′1(1)β′2(0)=α′2(0)β′1(1)
κ1(1)=κ2(0)
Px2(1)=Px3(0)
Py2(1)=Py3(0)
Pz2(1)=Pz3(0)
cos [α2(1)−α3]=1
cos [β2(1)−β3]=1 (4-14)
Since the twelve equations can be given for the twelve unknowns, a solution can be obtained. Practically, the Newton-Rapson method is used to solve such equations to have a solution.
Additionally, for the general case in which a row of n-piece points is subjected to the interpolation, it is sufficient that the non-negative integer i described above is expanded to values fulfilling i<n. The remaining matter concerns the number of unknowns and the number of conditional expressions.
For example, suppose that there is a row of “n-1”-piece points and N-piece unknowns and N-piece relational expressions are established. In this situation, when one point is added to the point row, the parameters is thus subjected to an increase thereof such that the seven clothoid parameters a0n, a1n, a2n, b0n, b1n, b2n, and hn of the three-dimensional clothoid segments Pn−1 and Pn are added. On the other hand, the conditional expressions are subjected to an increase of a total of seven equations consisting of three equations for positions at the point Pn−1, two equations for a tangential vector, and two equations (about the magnitude and direction) representing a condition for keeping the curvatures continuous with respect to the point Pn−1, because the connecting points increase by one.
In the case of n=3, it is known that the unknowns and the relational expressions are 12 in number respectively, so that for n≧3, the number of unknowns is 7(n−2)+5 and the number of equations to be established is also 7(n−2)+5. In this way, the unknowns and the conditions relating to the unknowns are the same in number. Thus, in the case of a row of n-piece free points, the similar method to that applied to three points can be used to calculate a solution. The Newton-Rapson method that utilizes the fact that the relationships on Expressions (4-15) and (4-16) are established between the unknowns and the conditional expressions was used as a solving method for a solution. (The conditions are denoted by F, the unknowns by u, and an error Jacobian matrix by J.)
[Numeral 53]
Δ F=[J]Δ u (4-15)
Δ u=[J]−1 Δ F (4-16)
Accordingly it is understood that a row of n-piece points can be subjected to the three-dimensional clothoid interpolation in such a manner that points being interpolated are passed strictly and the G2 continuity is kept.
(c) Decision of Initial Values:
The Newton-Rapson method needs to have adequate initial values to start the search for a solution. Although the initial values may be given based on any method, how to give the initial values will now be exemplified in the following.
The interpolation requires that initial values of respective unknowns be decided from a row of points. In the present study, a polygon having four apexes between points of a row of points being interpolated, which is a simple form of a polygon Q composed of 3D Discrete Clothoid Splines made by Li at al., was produced, and the polygon Q was used to compute the initial values for decision thereof. Those 3D Discrete Clothoid Splines have a characteristic that the splines strictly pass points being interpolated and the curvatures change smoothly along the distance moved from a start point. In the present specification, the initial values for the three-dimensional clothoid interpolation are decided through computation with the use of a polygon Q made on 3D Discrete Clothoid Splines of r=4, as shown in
The 3D Discrete Clothoid Splines will now be complemented as follows. As shown in
In cases where Expression (4-17), which is listed later, requiring the apexes be equidistant therebetween is met and a condition is established which is the nearest to a specific condition where the curvature is proportional to the distance moved from the starting point (i.e., the function shown in Expression (4-18) listed later is minimized), a certain polygon Q is made, which is called 3D Discrete Clothoid Splines.
In the case of the 3D Discrete Clothoid Splines, the frenet frame of each apex is already obtained, so that the parameters a0 and b0 are computed based on the unit tangential vector t thereof. This tangential vector t has already been known at the time of obtaining the polygon Q, and both the vector t and the expressions of the tangential lines to the three-dimensional clothoid curve are used to obtain the tangential rotation angles α and β at the respective apexes of the polygon Q. Thus the initial values to be given to the parameters a0 and b0 of each curve are decided. In a three-dimensional clothoid segment starting from the stating point, the values thereof is given as the initial values.
In addition, when taking it into consideration the fact that 3D Discrete Clothoid Splines allows its apexes to be aligned at equal distances, the point q4i+1 in
Since this expression is a two-dimensional simultaneous equation to which unknowns are a14i and a24i, this equation is solved to obtain the initial values of the parameters a1 and a2. Similarly to this, the initial values of the parameters b1 and b2 can be decided.
The remaining unknown to be handled in this section is the curve length h, of which initial value is computed using the expression of the curvature of the three-dimensional clothoid curve. The curvature of a three-dimensional curve is expressed by Expression (4-21).
This expression is deformed into Expression (4-22), which gives a decided initial value.
As described above, the initial values of the seven three-dimensional clothoid parameters can be decided. Using these decided initial values under the condition that the G2 continuity described in the item (b) is still held, respective approximate values of the parameters of each curve were obtained by the Newton-Rapson method. The resultant parameters are used to produce three-dimensional clothoid segments, and each interval between any two points was subjected to interpolation on the three-dimensional clothoid curves.
(d) Example of Interpolation:
An example of the interpolation will now be described, in which the foregoing technique was actually applied to the three-dimensional clothoid interpolation directed to four points of (0.0, 0.0, 0.0), (2.0, 2.0, 2.0), (4.0, 0.0, 1.0), and (5.0, 0.0, 2.0). A perspective view of the three-dimensional clothoid curve produced by the interpolation is illustrated in
Furthermore, Table 2 represents the parameters of each curve, while Table 3 lists shifts of the coordinate, tangential line, normal line and curvature at each connecting point. These tables reveal that a three-dimensional clothoid curve which meets the requirement for the G2 continuity at each connecting point was produced.
(2-4) G2-Continuous Three-Dimensional Clothoid Interpolation in Consideration of Control of Value at Each of Both Ends:
(a) Interpolation Conditions and Unknowns:
As stated in section 2-3, if a curve is open and there are n-piece points being interpolated, the row of points can be interpolated three-dimensionally with the help of n-1 piece curves. If it is requested that the curves pass each point in a strict manner, the unknowns of each three-dimensional clothoid segment are seven in number, which are a0, a1, a2, b0, b1, b2, and h. Accordingly, as a whole, the number of unknowns is 7(n−1) pieces. Meanwhile, the number of conditional expressions total to 7(n−2)+3 pieces, because there are seven unknowns concerning the coordinates, tangential line, normal line and curvatures at every “n−2”-piece connecting points, and there are three coordinates at the end point. In the technique in section 2-3, tangential vectors at each of the starting and end points were added to the conditional expressions so that the conditions increase by four, whereby the conditional expressions and the unknowns were made to be mutually equal in number.
In cases the tangential line, normal line and curvatures are controlled at each of the starting and end points and the interpolation is conducted with the G2 continuity still held, the conditions increase by 2 pieces, which are with respect to the normal line and curvatures at each of the starting and end points, that is, an increase of a total of 4 pieces, compared to the case where the control of tangential lines is made at both ends. In short, the number of conditional expressions totals to 7n−3 pieces. In this case, the unknowns are smaller in number than the conditions, the Newton-Rapson method is unavailable for a solution. Hence any technique has to be used to increase the number of unknowns.
In the present case, the above difficulty was overcome by newly inserting points being interpolated so that the unknowns and the conditional expressions became equal in number to each other. For instance, the number of unknowns is larger than the conditional expressions by 4, two new points are inserted and two of the coordinates at the perspective points are handled as unknowns.
In this case, since the connecting points increase by 2, the conditions increase by a total of 14-piece ones, which consist of 7-piece conditions (coordinates, tangential line, normal line and curvatures) for each connecting point. On the other hand, the unknowns increase by 2 which is for each three-dimensional clothoid segment, the unknowns increase as a whole by 14 pieces, which is composed of 7 pieces of a0, a1, a2, b0, b1, b2, and h for each segment. In this case, the number of points included in the row of points is n+2 pieces, the whole unknowns are 7(n+1) pieces and the whole conditional expressions are 7(n+1)+4 pieces. Further, when it is supposed that two of the coordinates of the newly inserted points are treated as unknowns, the number of unknowns results in an increase of 4. As a result, the unknowns and the conditional expressions are both 7 (n+2)−3 in number, whereby a solution of the unknowns can be obtained. In this way, inserting new points makes it possible to perform the interpolation with the respective points passed strictly, the G2 continuity held, and the tangential lines, normal lines, and curvatures at both end points controlled.
Furthermore, a generalized case will be discussed. In the case of interpolating a row of n-piece points in a state where m-piece items are controlled at both end points, consideration is given to the number of points to be inserted and to the number of coordinates to be treated as the unknowns at each inserted point. As state previously, as long as a curve is open, a row of points can be interpolated with the help of “n−1”-piece curves. If the respective points are subjected to a strict passage, each three-dimensional clothoid segment has the seven unknowns of a0, a1, a2, b0, b1, b2, and h, so that the unknowns total to 7(n−1) pieces. In contrast, the conditional expressions are as a whole 7(n−2)+3 pieces, because, every “n−2”-piece connecting points, there exist seven expressions on the coordinates, tangential line, normal line, and curvatures and three coordinates at an end point. Thus, the conditional expressions are less in number than the unknowns by 4. That is, this means that items to be controlled at both end points are 4 or more. In the following description, assumption is made such that m is a nonnegative integer of 4 or more and k is a nonnegative integer of 2 or more, under which how to make both the conditional expressions and the unknowns equal in number to each other in response to inserting new points will now be described.
(i) In the case of m=2k:
In cases where it is required that a total of “m=2k”-piece items be controlled at both end points, the number of unknowns is 7(n−1) pieces in total and the number of conditional expressions is 7(n−1)−4+2k pieces in total. In this situation, the number of excessive conditional expressions is 2k−4 pieces. When it is considered that “k−2”-piece points are newly inserted, the number of three-dimensional clothoid segments increases by k−2 pieces, while the connecting points increase by k−2 pieces as well. As a result, the unknowns total up to 7 (n+k−3) pieces and the conditional expressions total up to 7(n+k−3)−4+2k pieces. In the case that, of the values at the coordinates of each of the newly inserted points, two values (for example, x and y) are treated as being unknowns, the unknowns total up to 7(n+k−3)+2(k−2) pieces and the conditional expressions total up to 7 (n+k−3)+2 (k−2) pieces, permitting both the unknowns and the conditional expressions to be equal in number to each other.
(ii) In the case of m=2k+1:
In cases where it is required that a total of “m=2k+1”-piece items be controlled at both end points, the number of unknowns is 7 (n−1) pieces in total and the number of conditional expressions is 7(n−1)+2k−3 pieces in total. In this situation, the number of excessive conditional expressions is 2k−3 pieces. When it is considered that “k−1”-piece points are newly inserted, the number of three-dimensional clothoid segments increases by k−1 pieces, while the connecting points increase by k−1 pieces as well. As a result, the unknowns total up to 7 (n+k−2) pieces and the conditional expressions total up to 7(n+k−2)−3+2k pieces. In the case that, of the values at the coordinates of each of the newly inserted points, two values (for example, x and y) are treated as being unknowns, the unknowns total up to 7 (n+k−2)+2 (k−2) pieces and the conditional expressions total up to 7(n+k−2)+2k−3 pieces, resulting in that the conditional expressions are larger than the unknowns by one. Thus, for the case of m=2k+1, at one of the inserted points, only one of the values of the coordinate at the one point is treated as being an unknown. This countermeasure allows the unknowns to be 7(n+k−2)+2(k−2) pieces in total and the conditional expressions to also be 7(n+k−2)+2(k−2) pieces in total, whereby the unknowns and the conditional expressions are equal in number to each other.
As stated above, in the present method, in accordance with the number of conditional expressions to be added, the number of values chosen as unknowns from the coordinates of inserted points can be adjusted. This makes it possible that, in various occasions in which parameters, such as a tangential rotation angle α, which are other than the tangential line, normal line and curvatures, are controlled, the unknowns can be equalized in number to the conditional expressions. In consequence, from a theoretical viewpoint, each value at both end points can be controlled. Table 4 is provided to show, as a summary, correspondences among the items to be controlled, the number of unknowns and the number of conditional expressions.
k: nonnegative integer of 2 or more
(b) Technique:
As shown in
Step 1) Of the conditions to be controlled, only 4 conditions are used to perform interpolation in which points being interpolated are subjected to a strict passage and the G2 continuity is kept, with a curve produced on the interpolated results.
Step 2) New points are inserted into the produced curve, before the conditional expressions and the unknowns are subjected to adjustment in terms of the number thereof.
Step 3) The curve parameters in Step 1 are used as initial values for obtaining approximate values of parameters of each curve by the Newton-Rapson method, the approximate values meeting the conditions to be targeted.
Each Step will now be complemented as follows. First, at Step 1, a curve is produced by using the technique described in section 2-3, if the tangential direction is required to be controlled. Even if the tangential direction is not required to be controlled, initial values, which are the same as ones produced by the technique described in section 2-3, are used as initial values required for obtaining the parameters of the curve.
Then at Step 2, new points are inserted into the curve for adjustment conditions and unknowns in terms of their numbers. During this step, the number of points to be newly inserted in an interval between points being interpolated is required to be one or less, whenever possible. Further, the point to be inserted is at a central position of each three-dimensional clothoid segment produced at Step 1 and inserted to connect points being interpolated. Still further, the insertion of the points to be inserted is carried out in sequence from both ends of the curve. In other words, the first inserted points are a central point between the starting point and the adjacent point located next thereto and a further central point between the end point and the adjacent point located next thereto.
Lastly, the description will now be given to Step 3, wherein it is required to decide initial values for the Newton-Rapson method employed in this step. For this purpose, the curve into which the new points have been inserted is divided using the technique, described in section 1-4, for dividing the three-dimensional clothoid curve, and the initial values are decided based on respective values of the divided curves. If the curve will not be subjected to the insertion of any points, the as-produced initial values of the curve, produced in Step 1, are used. In this way, the initial values given to the respective parameters of the curve in Step 3 have been decided. Using these initial values, the computation on the Newton-Rapson method is conducted to provide parameters, and these parameters are used to produce a three-dimensional clothoid curve. That is, the interpolation has been made by the three-dimensional clothoid curve that fulfills the targeted conditions in each interval between points.
(c) Example of Interpolation:
An actual example of the three-dimensional clothoid interpolation will now be given by Table 5, in which conditions are listed as to tangential lines, normal lines, and curvatures at both ends so that control should be conducted to meet those conditions. The sequential numbers are given to the points being interpolated which are to be subject to a strict passage of the line, so that the points P1, P2 and P3 are denoted.
*θ = −(π/6)
Under the conditions listed above, the interpolation was conducted actually, which resulted in the figure shown in
(d) Control of Value at Central Point:
The technique described in item (d) has enabled both the control of each value at both end points and the G2-continuous interpolation. In the next place, the control of values at each central point, not both end points, will now be described.
For example, for interpolating a row of points shown in
Specifically, the interpolation should be done on individual divided curves C1 and C2 with a central point Pc therebetween, without interpolating the whole row of points at once. In such a case, the central point Pc is to be located at an end of each divided curve, with the result that the technique described in item (b) can be used for the control.
Therefore, as described above, a curve division is done at a point that represents values to be controlled, the control for interpolation is applied to values at both ends of the divided curve, and the resultant curves are connected to each other. This way theoretically enables the three-dimensional clothoid interpolation which controls the tangential line, normal line, and curvature at each point.
(2-5) Three-Dimensional Clothoid Interpolation Controlling Tangential Line, Normal Line, and Curvature at Both Ends:
(a) Flow of Technique:
An interpolation technique using the three-dimensional clothoid to control each value at staring and end points is performed by a procedure flow shown in
(b-1) Giving Points Being Interpolated:
In an example in this section, three points {0.0, 0.0, 0.0}, {5.0, 5.0, 10.0}, {10.0, 10.0, 5.0} were designed in the three-dimensional space. The other conditions, such as tangential liens, normal lines, and curvatures given to each point, are summarized in Table 7.
(b-2) Production of 3D DCS of r=4:
The Newton-Rapson method needs to have adequate initial values to start the search for a solution. The preparation for obtaining the initial values will now be performed. 3D Discrete Clothoid Splines, which is a preceding study to the present study according to the present application, is characterized in that points being interpolated is subjected to a strict passage and the curvature smoothly changes with changes in the distance moved from a starting point. Hence, in the present study, a polygon Q on 3D Discrete Clothoid Splines of r=4 is produced as shown in
(b-3) Decision of Initial Values:
Obtaining a solution on the Newton-Rapson method involves decision of initial values of respective unknowns. According to the present technique, the polygon Q produced in section b-2 is used to obtain approximate values of the respective unknowns, and those approximate values are subjected to the decision of the initial values. In the case of handling 3D Discrete Clothoid Splines, the frenet frame of each apex has already been acquired. Parameters a0 and b0 are thus obtained from the unit tangential vector t of the polygon Q produced in section b-2. This tangential vector t has already been known since the polygon Q was obtained, so that both this vector t and the expression for a tangential line of a three-dimensional clothoid curve are used to compute tangential rotation angles α and β. These angles allow the initial values of the parameters a0 and b0 of each curve to be decided. In addition, for a three-dimensional clothoid segment starting from a starting point, those angles provide initial values of the parameters.
When it is taken into account that 3D Discrete Clothoid Splines provide apexes poisoning at equal distances, it can be approximated that the curve length variable S at a point q4i+1 in
Since this expression is a two-dimensional simultaneous equation to which unknowns are a14i and a24i, this equation is solved to obtain the initial values of the parameters α1 and a2. Similarly to this, the initial values of the parameters b1 and b2 can be decided.
The remaining unknown is a curve length h, of which initial value is calculated by solving the expression defining the curvature of the three-dimensional clothoid curve. The curvature of the three-dimensional clothoid curve can be expressed by the following.
This expression can be developed into the following, on which the initial value of h is decided.
As described, the initial values of the seven three-dimensional clothoid parameters can be decided.
The initial values actually obtained on the foregoing technique are listed in Table 9.
(b-4) Three-Dimensional Interpolation with Strict Passage Through Respective Points and G2 Continuity:
The initial values decided in section (b-3) are used to obtain approximate values of parameters of each curve by using the Newton-Rapson method, under the condition that the G2 continuity is kept. Using the resultant parameters, three-dimensional clothoid segments are produced, and then each span between points in a row of points is interpolated with the three-dimensional clothoid curve.
In this three-dimensional interpolation for three points, practical conditions satisfying a strict passage through points being interpolated and the G2 continuity will now be described.
First of all, from the definition of the three-dimensional clothoid curve, the condition that the strict passage through points being interpolated should be kept at the point P1 is inevitably achieved whenever the starting point is given. A tangential direction at the point P1 is also given as a known value, so that no particular specification for the continuity is needed at the point P1.
The next to be considered is the point P2. This point P2 is a connecting point to connect the curves with each other, so that the G2continuity requires that the position, tangential line, normal line, and curvature should be continuous thereat. That is, the conditions which should be realized at the point P2 are as follows.
[Numeral 63]
Px1(1)=Px2(0)
Py1(1)=Py2(0)
Pz1(1)=Pz2(0)
cos [α1(1)−α2(0)]=1
cos [β1(1)−β2(0)]=1
in1(1)·n2(0)=1
κ1(1)=κ2(0)
Lastly, the consideration is given to the point P3. This point P3 is an end point. This means that the necessary conditions to be met are abut only the position and tangential line, so that the following five conditions are realized, in which α3 and β3 are tangential rotation angles α and β to decide a tangential vector at the end point to be given.
[Numeral 64]
Px1(1)=Px2(0)
Py1(1)=Py2(0)
Pz1(1)=Pz2(0)
cos [α1(1)−α2(0)]=1
cos [β1(1)−β2(0)]=1
n1(1)·n2(0)=1
κ1(1)=κ2(0)
Hence, it can be understood that, as for the twelve unknowns a11, a21, b11, b21, h1, a02, a12, a22, b02, b12, b22 and h2, the twelve conditional expressions are provided as follows. These expressions can thus be summarized in a list form in the following.
[Numeral 65]
Px1(1)=Px2(0)
Py1(1)=Py2(0)
Pz1(1)=Pz2(0)
cos [α1(1)−α2(0)]=1
cos [β1(1)−β2(0)]=1
n1·n2=1
κ1(1)=κ2(0)
Px2(1)=Px3
Py2(1)=Py3
Pz2(1)=Pz3
cos [α2(1)−α53=1
cos [β2(1)−β3]=1
As described, the twelve expressions are realized for the twelve unknown, so that solutions to the unknowns can be found. The Newton-Rapson method is applied to these expressions for solutions, which are listed in Table 10, together with the initial values.
(b-5) Production of Curve:
(b-6) Conditional Expressions and Unknowns:
Now assume that the normal lines and curvatures at the starting point P1 and end point P2 are given by values shown in Table 7. In order that the normal lines and curvatures are further controlled at the starting and end points, it is necessary to increase the number of conditions at each of the starting and end points by two. However, in a state where the number of conditions is increased by 4, it is impossible to obtain a solution meeting the conditions, due to imbalance in number between the unknowns and the conditions. Therefore, to make the unknowns and conditions equal in their numbers, a new point DP1 is inserted into the curve C1 at a point of the curve length variable S=0.5 thereon, as shown in
In this situation, a curve connecting the points P1 and DP1 is denoted by C′1, a curve connecting the points DP1 and P2 is denoted by C′2, a curve connecting the points P2 and DP2 is denoted by C′3, and a curve connecting the points DP2 and P3 is denoted by C′4, respectively. The characters which appear in the following description involve with subscripts each corresponding to each curve name. For example, the coordinates, tangential rotation angles α and β, normal line, and curvature of a curve C are expressed respectively by Pxc, Pyc, Pzc, αc, βc, nc and κc which are functions of the curve length variable S. Furthermore, as for the coordinates, tangential rotation angles α and β, normal line, and curvature at the starting and end points, those are expressed respectively as Pxs, Pys, Pzs, αs, βs, ns and κs at the starting point, whilst those are expressed respectively as Pxe, Pye, Pze, αe, βe, ne and κe at the end point.
In the following, the conditions realized at respective points are listed.
[Numeral 66]
Accordingly, the total number of conditional expressions to be established is 32. In contrast, each curve has the seven clothoid parameters consisting of a0, a1, a2, b0, b1, b2, and h and the number of curves is 4, whereby the number of unknowns totals to 28. That is, the unknowns and the conditional expressions are not equal in number to each other, so that solutions cannot be obtained. In order to overcome this situation, the y and z coordinates of the newly inserted two points DP1 and DP2 are treated as unknowns to increase the unknowns by 4. Since this increase allows both the unknowns and the conditional expressions to be 32 in number, the solutions can be obtained.
(b-7) Decision of Initial Values:
Though the Newton-Rapson method is used to compute solutions satisfying the conditional expressions produced in section (b-6), the initial values of the unknowns are required to be decided so that the computation converges at a higher rate. As a practical measure for that, the three-dimensional curve produced in section (b-5) is divided at the newly inserted points, with the result that four three-dimensional clothoid curves are produced as shown in
How to divide the curve C1 into a curve C′1 and a curve C′2 will now be described as a curve division method. Using the parameters of the curve C1, the clothoid parameters h′, a′0, a′1, a′2, b′0, b′1 and b′2 of the curve C′1 can be expressed by the following expressions, in which a reference Sd represents a curve length variable at the dividing point and is 0.5 in this example.
The consideration will then be given to the curve C′2 whose dividing point is DP1. Let us assume a curve C″1 which is identical in size and shape to the curve C1 but is opposite in direction to the curve C1. With the use of the parameters of the curve C1, the clothoid parameters h″, a″0, a″1, a″2, b″0, b″1 and b″2 of the curve C″1 can be expressed by the following expressions.
The dividing point DP1 on this curve is expressed as DP1=C″1 (1−Sd). When it is assumed that the curve C″1 is divided at the point DP1, the resultant divided curves include a curve C″2 whose starting point is P2 is identical in size and shape to the curve C′2 and opposite in direction to the curve C′2. Hence the technique for producing the curve C′1 enables the curve C″2 to be produced. In this calculation, the curve C2 can also be obtained by producing a curve having the identical size and shape but having the opposite direction too the curve C″2.
As described, at the point DP1 giving 0.5 to the curve length variable S on the three-dimensional clothoid curve C1, the curve C1can be divided into the curves C′1 and C′2. Similarly to this, at the point DP2 giving 0.5 to the curve length variable S on the three-dimensional clothoid curve C2, the curve C2 can be divided into the curves C′3 and C′4.
The parameters of the four curves divided on the foregoing are listed in Table 11. These parameters of the curves are used as initial parameters to the Newton-Rapson method in calculating solutions satisfying the conditional expressions established in section b-6.
(b-8) Obtaining Clothoid Parameters Satisfying Conditions:
Based on the initial values decided in section (b-7), the solutions satisfying the conditional expressions established in section (b-6) were obtained using the Newton-Rapson method. Table 12 shows those calculated parameters of each curve. In addition, Table 13 shows differences between given values and the produced values in respect of the tangential line, normal line, and curvature at the starting and end points of each produced curve.
(b-9) Production of Curves:
A curve produced on the parameters obtained in section (b-8) is shown in
As described, how to produce the curves on the three-dimensional clothoid interpolation in such a manner that the tangential line, normal line and curvature at both ends are controlled has been exemplified.
3. Method of designing regression path of ball screw by using three-dimensional clothoid interpolation:
As an example in which the three-dimensional clothoid interpolation is applied to machine design, the regression path of a deflector type of ball screw will now be designed.
(3-1) Description of Deflector Type of Ball Screw:
FIGS. 31 to 35 show a deflector type of ball screw. This ball screw has a deflector serving as a regression path of balls rolling on a thread groove. The deflector is classified into a type of deflector which is formed separately from a nut and then fixed on the nut and a type of deflector which is formed together with a nut.
Hereinafter, the type of ball screw in which the deflector is produced as one unit with the nut will now be described.
This nut 1 is combined with the screw shaft, whose combined state is shown in
The screw shaft has an outer circumferential surface, on which there is formed a ball rolling groove 6 serving as a spiral rolling element rolling groove having predetermined leads. The load ball rolling groove 2 of the nut 1 is opposed to the ball rolling groove 6 of the screw shaft 5. Between the load ball rolling groove 2 and ball circulating groove 3 of the nut 1, and the screw shaft 5 of the screw shaft 5, a plurality of balls are put in an array, which serve as a plurality of rolling elements which can move in a rolled manner. In response to relative rotation of the nut 1 to the screw shaft 5, the plurality of balls roll with load received between the load ball rolling groove 2 of the nut 1 and the ball rolling groove 6 of the screw shaft 5.
The ball circulating groove 3 of the nut 1, which is shown in
In the case of the conventional model, the regression path was formed such that, when a development elevation shown in
(3-2) Hereinafter the Three-Dimensional Clothoid Curve is Used to Design the Regression Path of a Deflector Type of Ball Screw, and an Example of this Design will Now be Described.
(a-1) Screw Shaft and Balls:
The dimensions of a screw shaft and balls used in the present design are listed in Table 14.
(a-2) Symmetry and Coordinate System:
In designing the regression path of the deflector type of ball screw, applications of the ball screw require that the regression path be axial symmetry. A coordinate system used in the design will now be described.
First, as shown in
In actual design, an angel θwas set to 15 degrees in the above coordinate system and the coordinates of each point were decided based on this angle. The decided coordinates, tangential line, normal line and curvature are listed in Table 15.
(a-3) Constraint Conditions:
Description will now be given to constraint conditions used in the design of the regression path of the deflector type of ball screw. At first, the points Ps and Ps should have the G2 continuity in respect of the curve of a trajectory depicted by the center of a ball rolling along the thread groove.
The description will then be given to a height over which the ball is lifted. When taking it account that the regression path is the y-axis symmetry, it is understood that the center of the ball passes a certain point on the y-axis. This point is noted as Ph (refer to
(absolute value of y-coordinate of point Ph)≧(outer diameter of screw shaft+ball diameter)/2.
Thus, in the present design, setting was made such that
(absolute value of y-coordinate of point Ph)=(outer diameter of screw shaft+ball diameter×1.2)/2. Furthermore, when taking the y-axis symmetry into consideration, the normal direction should be {0,1,0}, which results in that the tangential direction has only a degree of freedom to rotate therearound.
The regression path with the y-axis symmetry, which still meets the foregoing conditions, is produced with the three-dimensional clothoid curve. Actually, in addition to the foregoing conditions, interference with the screw shaft should be taken into account. This interference problem is avoided by redesigning the path through procedures where the initial values for the interpolation are changed and/or points being interpolated are increased, if an inspection of the designed regression path reveals such interference.
(a-4) For Avoiding Interference:
The interference with the thread shaft tends to occur in a beginning part of the regression path and such a tendency of the interference cannot be avoided in cases where the path is formed on the free interpolation. It is commanded that the regression path is released from the screw shaft and returned to its original position over the screw threads. For avoiding the interference, it is desirable that the path is released from the screw shaft by a certain amount of height, before being returned to its original position over the screw threads. Methods of producing such a regression path include a technique by which the number of points being interpolated is increased for avoiding the interference and a further technique by which the first curve located to face the regression path is manually produced to perform a forcible release from the screw shaft. Of these techniques, the present design adopted the technique by which the first curve located to face the regression path is manually produced to perform a forcible release from the screw shaft.
Here, the first curve C1 which is located to face the regression path stating from the point Ps will now be described. With handling the coordinates, tangential rotation angles α and β, normal line and curvature on the curve C1 as functions of the curve length variable S, these parameters are expressed as Px1′(S), Py1′(S), Pz1(S), α1(S), β1(S), n1(S), and κ1(S). In addition, as to the points Ps and Ph, the coordinates, tangential rotation angles α and β, normal line and curvature at the point Ps are expressed as Pxs, Pys, Pzs, αs, βs, ns and κs, while those parameters at the point Ph are expressed as Pxh, Pyh, Pzh, αh, βh, nh and κh. Conditions for realizing the G2 continuity from a trajectory curve depicted by the center of a ball rolling along the thread grooves result in that the following expressions are realized at the point Ps.
[Numeral 69]
Point Ps: tangential line, normal line and curvature: 4 expression
cos [α1(0)−αs]=1
cos [β1(0)−βs]=1
n1(0)·ns=1
κ1(0)=κs
In addition, a trajectory curve depicted by the center of the ball rolling on and along the thread grooves can be expressed by the three-dimensional clothoid curve. On the other hand, a three-dimensional clothoid curve C0 which starts from a point shown in
In the expressions about the curve C0, the point Ps is expressed as Ps=P0(11/12). In cases where a curve having the parameters listed in the next expression is produced as a curve C1 staring from the point Ps and achieving the G2 continuity from the curve C0 at the point Ps, the forcible release from the screw shaft is possible.
For example, as such a curve C1 satisfying the above conditions, a three-dimensional clothoid curve with parameters listed in Tale 16 is produced.
A comparison between the values of the tangential line, normal line, and curvature between the curves C0 and C1 at the point PS results in Table 17, from which it is confirmed that the G2 continuity is realized.
Further, from
(a-5) Conditional Expressions for Three-Dimensional Clothoid Interpolation and Unknowns:
In consideration of the conditions stated in section a-3, the Newton-Rapson method is used to obtain approximate values of the parameters of each curve under the condition that the G2 continuation is realized. Since the curve C1 starting from the point Ps has already been produced in the description done so far, how to design a path connecting the end point P1 of the curve C1 and the point Ph will then be described. Subscripts being used in the following description have correspondences between each character and each curve, so that the coordinates, tangential rotation angles α and β, normal line, and curvature of and to each curve are expressed, as functions of the curve length variable S, by Pxi′(S), Pyi′(S), Pzi′(S), αi(S), βi(S), ni(S), and κi(S). In addition, at the point Ph, the coordinates, tangential rotation angles α and β, normal line, and curvature of and to each curve are expressed by Pxh, Pyh, Pzh, αh, βh, nh, and hh.
In the design of the path, the points which should be subjected to a strict passage are the two points P1 and P2, so that the three-dimensional interpolation is directed to those two points. Considering interpolating conditions required at both end points teaches the fact that the conditional expressions are larger in number than the unknowns by 2. Hence, for the G2-continuous three-dimensional clothoid interpolation, let us assume that a point P2 is inserted between the points P1 and Ph, as illustrated in
[Numeral 72] The Following is Interpolation Condition at Each Point.
As listed above, the number of conditional expressions to be established is 16 in total. The clothoid parameters owned by each curve is seven pieces consisting of a0, a1, a2, b0, b1, b2 and h, and the number of unknowns is 14, because the number of curves is two. However, the unknowns are not equal in number to the conditional expressions, so that solutions cannot be obtained. Therefore, the y and z coordinates at the newly inserted two points P2 are treated as unknowns so as to increase the unknowns by 2. By this increase, the unknowns and the conditional expressions are both 16 in number, respectively, whereby solutions can be obtained. Though not being reduced into practice in the present design, this relationship between the number of unknowns and the number of conditional expressions is always met whenever a point to be passed strictly in mid course is given and the G2 continuity is realized before and after the given point. Thus solutions can be calculated even if points being interpolated are increased between the points P1 and Ph.
(a-6) Obtaining Clothoid Parameters Satisfying Conditions:
Solutions satisfying the conditional expressions established in section a-5 were calculated by using the Newton-Rapson method. How to interpolate parameters and how to produce initial values were based on the techniques for the three-dimensional clothoid interpolation. Table 18 shows the calculated parameters of each curve and Table 19 shows shifts in the coordinate, tangential line, normal lines and curvature at each connecting point.
(a-7) Production of Path:
On the basis of the parameters obtained in sections a-5 and a-6, the path extending from the point Ps to the point Ph can be designed. Additionally, the path extending from the point Ph to the point Pe can also be produced with use of the same curve, because both paths are y-axis symmetry. That is, the same path is provided by re-setting the coordinate system so as to regard the point Pe as the point Ps.
Based on the above technique, the regression path of the deflector type of ball screw was designed by the three-dimensional clothoid curve. This technique for designing the regression path, which uses the three-dimensional clothoid curve, will not be limited to the application to the deflector type of ball screw, off course. Other applications are possible, which include an application to a ball screw, called a return pipe type of ball screw, in which the regression path is composed of a pipe, and a further application to a ball screw, called an end cap type of ball screw, in which balls are picked up from the ball rolling groove of a screw shaft by an end cap placed on a nut end surface and the balls are returned to the ball rolling groove from an opposite-side end cap after being passed through the inside of the nut.
By the way, in cases where programs for achieving the design method according to the present invention are performed by a computer, the programs are previously stored in auxiliary storages, such as hard disk units, of the computer, and then loaded into a main memory thereof. In addition, such programs may be stored in portable recording mediums such as CD-ROMs for making sales, or may be stored in a recording medium of a computer connected to a network so that the programs may be transferred to other computers via the network.
B. Numerical Control Method Using the Clothoid Curve:
Hereinafter, as for embodiments of the present invention according to the numerical control method using the clothoid curve, the description will now be given, by turns, to each of divided items consisting of 1) definition and characteristics of a three-dimensional clothoid curve, 2) interpolation method based on the three-dimensional clothoid curve, and 3) numerical control method using the three-dimensional clothoid curve.
1. Definition and Characteristics of a Three-Dimensional Clothoid Curve:
(1) Basic Expression of the Three-Dimensional Clothoid:
A clothoid curve (Clothoid curve), which is also called Cornu's spiral, is a curve whose curvature changes in proportion to the length of the curve. The conventionally known two-dimensional clothoid curve is one kind of planar curves (two-dimensional curves) and expressed in the xy coordinate system shown in
is a positional vector representing a point on the curve and
[Numeral 75]
P0=x0+jy0 (4)
is an initial value (a positional vector at a starting point) of the positional vector.
[Numeral 76]
ejφ=cos φ+j sin φ (5)
is a unit vector (a vector of which length is 1) representing a tangential direction on the curve and the direction φ is measured in the counterclockwise direction from an original line (x-axis direction). Multiplying this unit vector by a infinitesimal length ds for integration of the multiplied results leads to acquisition of a point P on the curve.
Let us assume that a length on the curve, which is measured along the curve from a starting point thereof, is s and a whole length (a length from the starting point to an end point of the curve) is h. A value obtained by dividing s by h is expressed as S. S is a dimensionless value, which is referred to as a curve length variable.
As shown in Expression (2), the clothoid curve has a feature that the tangential direction angle φ is expressed as a quadratic expression of the curve length s or the curve length variable S. c0, c1, and c2 or φo, φu and φv are coefficients of the quadratic expression, and these coefficients and the whole length h of the curve are called clothoid parameters.
The above relationships are expanded to the three-dimensional one to produce expressions representing a three-dimensional clothoid curve. Conventionally, expressions which provide the three-dimensional clothoid curve have not been known. This time, however, the present inventors have completed this expansion for the first time in this field.
The three-dimensional clothoid curve is defined by the following expressions.
denotes a positional vector at each point on the three-dimensional clothoid and an initial value of the positional vector, respectively. i, j and k are unit vectors in the x-axis, y-axis and z-axis directions, respectively.
u is a unit vector representing the tangential direction at the point P on the curve, which is given by Expression (7). In Expression (7), Ekβ and Ejα show rotation matrices and, as shown in
In other words, in the case of the two-dimension, a unit vector ejφ representing a tangential direction on a curve is obtained on a tilt angle φ made from the x-axis. In the case of the three-dimension, the tangential vector u on a curve can be obtained on the pitch angle α and the yaw angle β. A pitch angle of 0 provides a two-dimensional clothoid curve wound in the xy plane, while a yaw angle of 0 provides a two-dimensional clothoid curve wound in the xz plane. Multiplying the tangential vector u by a infinitesimal length ds for integration provides a three-dimensional clothoid curve.
For the three-dimensional clothoid curve, the tangential vector has a pitch angle α and a yaw angle β which are given by a quadratic expression of the curve length variable S, as shown by Expressions (8) and (9), respectively. This enables free selection of changes of the tangential direction, while still giving continuousness to the changes.
As represented by the above expressions, the three-dimensional clothoid curve is defined as “a curve in which the pitch angle and the yaw angle of a tangential direction are expressed by a quadratic expression of a curve length variable, respectively.”
A single three-dimensional clothoid segment starting from P0 is decided with seven parameters composed of
[Numeral 79]
a0, a1, a2, b0, b1, b2, h (11).
The six variables of a0 to b2 have the unit of angle and represent the shape of a clothoid segment. In contrast, h has the unit of length, which represents the amplitude of a clothoid segment.
A typical example of the three-dimensional clothoid curve is a spiral curve, as shown in
(2) Moving Frame:
Replacing the basic tangential vector i with basic coordinate system [i, j, k] in Expression (7) provides a moving frame E, which is expressed as follows.
In these expressions, v and w are unit vectors contained in a plane perpendicular to a tangential line on a curve and these unit vectors are perpendicular to each other and also perpendicular to a tangential unit vector u. A group of these three unit vectors (triad) is a frame (coordinate system, frame) which moves together with a moving point P, so that the group of the three unit vectors is referred to as a moving frame.
Because the moving frame can be provided by the foregoing expressions, the computation of the principal and binormal lines is facilitated, thereby curves can easily be analyzed in terms of their shapes.
Further, the moving frame E can be used to obtain the attitudes of tool points of a robot, which makes it possible to provide the positional attitudes of an object griped by a robot hand.
When assuming that the start and end values of the moving frame E are indicated by E0 and E1, respectively, the following is provided.
[Numeral 81]
E0=Ekb
E1=Ek(b
(3) Rolling:
With taking the moving frame into consideration, the third rotation “roll” can be handled. The roll is a rotation around a tangential direction. Though the roll has no influence on the shape of the three-dimensional clothoid itself, the roll influences a moving frame induced from the three-dimensional clothoid. For example, abacus balls through which a piece of winding wire is passed can be rotated freely on the wire, but this does not mean that the shape of the wire is changed by the rotation.
In consideration of the rolling, the moving frame can be expressed as follows.
[Numeral 82]
E=EkβEjαEiγI=EkβEjαEiγ (16)
A rolling angle γ in this expression can be represented as a function of S.
[Numeral 83]
γ=c0+c1S+c2S2 (17)
(4) Geometrical Characteristics of the Three-Dimensional Clothoid Curve:
(a) Normal Line to the Three-Dimensional Clothoid Curve:
It is known that a normal vector to a three-dimensional curve can be provided by the following expression, which uses a tangential vector u.
Using Expression (7), the first-order derivative of a tangential vector to a three-dimensional clothoid curve can be obtained by the following.
That is, by using S, the normal vector to the three-dimensional clothoid curve can be represented as follows.
(b) Normal Line to the Three-Dimensional Curve, with the Use of Rotation:
In this item, it will now be considered about how to decide a normal line u, in the similar way to deciding the tangential line n shown in Expression (7). Assume that, with an initial tangential direction (1, 0, 0) given, the constant γ is used to express the initial normal direction as (0, cos γ, −sin γ). Rotation this direction in the same way as that of the tangential line, the normal line n is expressed as follows.
A comparison between Expressions (20) and (21) reveals that sin γ and cos γ correspond to Expressions listed below.
(c) Continuity of Normal Line at Connecting Point in the Three-Dimensional Clothoid Interpolation:
In order to assure that normal lines are continuous at a connecting point in the step of carrying out the three-dimensional clothoid interpolation, it is understood from Expression (22) that it is sufficient to satisfy that values provided by an expression of
are continuous.
(d) Curvature of the Three-Dimensional Clothoid Curve:
The curvature of a three-dimensional clothoid curve is provided by the following expression.
From Expression (19), the curvature is expressed as follows.
(5) Characteristics of the Three-Dimensional Clothoid Curve:
(a) Continuity of the Curve:
In the case of a single clothoid segment (i.e., a clothoid represented by the same parameters), pitch angles and yaw angles made by its tangential directions are given by quadratic expressions with a curve length variable S, respectively. Thus it is guaranteed that normal directions obtained by applying one-time differential to the quadratic expressions and curvatures to be obtained by two-time differential to that are continuous with the respect to the curve length variable S. In other words, each one clothoid has normal lines and curvatures, which change continuously along the one clothoid curve. Accordingly a smooth and good quality curve can be obtained. In the case that two clothoid curves are mutually connected, it is sufficient to select parameters to permit tangential lines, normal lines, and curvatures to be continuous at their connecting point. This selection manner will produce a one smoothly connected line, called clothoid splines.
(b) Applicability:
Because the tangential directions of curves can be swung with changing two angles (pitch angle and yaw angle), an arbitrary three-dimensional curve can be produced in conformity with various conditions for various applications.
(c) Geometric Curves and Consistency:
Geometric curves, such as liner segments, circular arches, and screw curves, can be produced by giving zero to some of the clothoid parameters or giving particular functional relationships to some of the parameters. The curves to be produced in those ways are a kind of clothoid curves, so that they can be expressed in the format of clothoids. Accordingly, it is not necessary to treat the curves, as done in the conventional NC, by changing the formats on which liner segments, circular arches, free curves, and others are described. The curves can be computed or controlled without changing the formats thereof.
Furthermore, by replacing either α or β at any time, a two-dimensional clothoid can be made. Thus, sources of knowledge which have already been acquired concerning the two-dimensional clothoid can be utilized well.
That is, proper setting of α or β makes it possible to express individual curves, such as circular arches and liner segments, including the already known two-dimensional clothoid. Such respective curves can be expressed by using the expressions having the same format as that for expressing the thee-dimensional clothoid curve, thereby simplifying the computation procedures.
(d) Good Perspective:
In mathematizing free curves using the conventional interpolation techniques including the spline interpolation, it is frequent that the whole shape or a local shape is difficult to understand. In contrast, for using the three-dimensional clothoid, it is possible to imagine each of a pitch angle and a yaw angle, with the result that the whole shape can be grasped in a relatively easier manner.
In addition, on completion of expressing a curve as a clothoid curve, the line lengths, tangential directions, curvatures thereof have been known. Thus, unlike the conventional interpolation techniques, there is no need for new computation. Namely, correspondingly to the parameters S for a curve, the tangential lines, normal lines, and the curvature of the curve can be obtained in a direct manner, as shown in Expressions in (7), (20) and (26). This is a very effectively feature useful for a numerical control technique which will be described later. That is, this feature will lead to a largely reduced computation time, saved sources such as memories, and a real-time calculation for the interpolation.
In the NC process, keeping the curvature radius of trajectory of a tool to a minimum is a significant topic. The interpolation that uses splines can be used for computing the minimum curvature radius, but such a way involves sophisticated computation procedures. In contrast, it is advantageous to use the clothoids in various processes such as selection of the radii of cutters, because the minimum curvature radius of each segment is normally known when the clothoids are used.
(e) Easiness of Motion Control:
The main variable of a curve is a length or the normalized length is S, and the equation of this curve is given by a natural equation with regard to the length. Hence, by defining the length s as a function of the time t, an arbitrary characteristic of motion, which is for example an accelerated and decelerated motion, can be given. By employing motion curves having good characteristics, which have conventionally been used for cams, processing operations can be made faster. The length s is given as a value in the existing Cartesian space and velocity and acceleration are calculated in tangential directions, resulting in that it is not necessary to synthesize values given every axis, unlike the conventional interpolation method. Additionally, the curvature can be calculated with easiness, whereby a centrifugal acceleration of an object in motion can be obtained with easiness. Thus control can be conducted depending on motion trajectories.
(6) Production of Curve and Character of Each Parameter:
According to their definitions, a three-dimensional clothoid curve has parameters, which have an effect on the curve as follows. Giving the respective parameters allows a three-dimensional clothoid curve to be produced as shown in
2. Interpolation Method Using a Three-Dimensional Clothoid Curve:
(1) Mathematical Conditions with Smooth Connection:
A single three-dimensional clothoid curve has a limitation on expressing the shapes of curves. In this section, with employing the numerical control of motion of a machine tool as a main purpose, a plurality of three-dimensional clothoid curves (three-dimensional clothoid segments) are mutually connected, and using these plural three-dimensional clothoid segments, the motion of a tool is controlled.
When two three-dimensional clothoid segments are smoothly connected at their end points, this results in a definition that their end positions, tangential lines and curvatures are continuously connected, respectively. Using the foregoing definition expressions, conditions for those connections can be described as below, in which the first three expressions show the continuity of positions, the next two expressions show the continuity of tangential lines, the next one expression shows the agreement of normal lines, and the last expression shows the continuity of curvatures.
[Numeral 92]
Pxi(1)=Pxi+1(0)
Pyi(1)=Pyi+1(0)
Pzi(1)=Pzi+1(0)
αi(1)=αi+1(0)
βi(1)=βi+1(0)
tan γi(1)=tan γi+1(0)
κi(1)=κi+1(0) (26)
These expressions provide sufficient conditions for achieving the continuity of tangential lines, normal lines, curvatures, and α and β at connecting points, and in some cases, these conditions are too strict to be applied. By taking such conditions into consideration, those conditions can be changed so as to meet the conditions in an original viewpoint, and the changed expressions are as follows.
[Numeral 93]
Pxi(1)=Pxi+1(0)
Pyi(1)=Pyi+1(0)
Pzi(1)=Pzi+1(0)
cos [αi(1)−αi+1(0)]=1
cos [βi(1)−βi+1(0)]=1
tan γi(1)=tan γi+1(0)
κi(1)=κi+1(0) (27)
Further, when a relationship of
[Numeral 94]
cos [αi(1)−αi+1(0)]=1
is taken into account,
[Numeral 95]
tan γi(1)=tan γi+1(0)
is replaced by the following conditions.
[Numeral 97]
As a result, it is understood that satisfying the following conditions leads to achievement of the object.
Pxi(1)=Pxi+1(0)
Pyi(1)=Pyi+1(0)
Pzi(1)=Pzi+1(0)
cos [αi(1)−αi+1(0)]=1
cos [βi(1)−βi+1(0)]=1
α′i(1)β′i+1(0)=α′i+1(0)β′i(1)
κi(1)=κi+1(0) (28)
In Expression (28), the first three expressions show the continuity of positions, the next two expressions show the continuity of tangential directions, the next one expression shows the agreement of normal lines, and the last expression show the continuity of curvatures, respectively. To perform a G2-continuous interpolation, it is required that two three-dimensional clothoid curves should meet the seven conditional expressions in Expression (28) at their end points.
The G2 continuity (G stands for the acronym of Geometry) will now be complemented.
G0 continuity is that two three-dimensional clothoid curves positionally agree with each other at their end points, G1 continuity is that tangential directions of those agree with each other, and G2 continuity is that osculating planes (normal lines) and curvatures respectively agree with each other. In Table 21 shown below, comparison will now be made between C0-C2 continuity used by spline curves and G0-G2 continuity used in clothoid curves according to the present invention.
In terms of consideration of the continuity of two three-dimensional clothoid curves, the interpolation conditions are made more stricter as the continuity degrees advance from C0 to C1, and to C2 and from G0 to G1, and to G2. Though the C1 continuity requires that the size direction of the tangential lines agree with each other, it is sufficient that the G1 continuity requires the agreement of only the tangential directions. For smoothly connecting the tangential lines between two three-dimensional clothoid curves, it is preferable to create the conditional expressions on the G1 continuity. Creating conditional expressions based on the C1 continuity, like the spline curves, results in too strict conditions, because the creation inevitably involves with a condition that the sizes of tangential lines should be made agree with each other, even though such a condition has no geometrical relationship. Creating the conditional expressions on the G1 continuity is advantageous in that the amplitudes of primary differential coefficients are set to any values freely.
In the G2 continuity, osculating planes (i.e., normal lines) are made to agree with each other. The osculating planes, as shown in
(2) Practical Computation Procedures:
There are provided two types of computation procedures.
(a) By setting the parameters h, α and β of a curve to produce a single three-dimensional clothoid curve, the parameters of the next three-dimensional curve are decided to meet Expression (28) at an end point of the produced curve. In this way, three-dimensional clothoid curves connectable in turn in a smooth manner can be produced. Using these computation procedures, the curve parameters can be computed easily, and a solution on this computation way is called a sequential solution. This computation way enables the production of a variety of shapes of curves in an easier manner, but it is impossible to explicitly specify the connecting points through which the curves pass.
(b) In order that a group of points specified in advance may compose the connecting points of curves, thee-dimensional clothoid curves can be connected to each other. In this section, there is provided an example in which a short clothoid curve (clothoid segment) is produced for every span in a row of points given discretely. In such a case, the computation procedures to decide the curve parameters so as to meet Expression (28) is more complicated than that described in the foregoing item (a), requiring a repeated convergence computation. This computation involves a series of inverse procedures that the curve parameters are decided from connecting conditions, so that a resultant solution is called an inverse solution.
Concerning the inverse solution in the above item (b), how to compute will now be detailed. A question to be solved is formulated as follows:
Unknown Parameters: Curve Parameters
Constraint Conditions: Expression (28) or Part Thereof
Depending on questions to be solved, the number of constraint conditions is changed and curve parameters of which number corresponds to the number of constraint conditions are set as unknown parameters. For example, in the case that the continuity of curvatures is not demanded, part of the curve parameters can be adjusted freely. Alternatively, when it is demanded those curvatures are kept continuous but tangential directions are specified, it is required that the number of three-dimensional clothoid curves to be used for the interpolation be increased by division so as to increase the number of corresponding unknown curve parameters.
In order to converge the above repeated convergence computation in a stabilized manner, the computation should be cogitated. To avoid the computation from diverging for speeding up the convergence, setting optimum initial values of the unknown values is effective. For doing so, it is effective to gain initial values for the repeated convergence computation by generating a simpler interpolation curve (for example, such a curve is a linear spline curve), which still meets constraint conditions concerning given connecting points and/or others, estimating the shape of the curve to obtain curve parameters of three-dimensional clothoid curves, and using such curve parameters as the initial values.
Alternatively, without requiring constraint conditions to be met at once, a technique by which conditional expressions are increased sequentially is still effective as the way for gaining a solution with stability. For example, the procedures for generating a curve are divided into the following three steps, which are executed in sequence. In the first step, interpolation is made such that pieces of positional information agree with each other and also tangential directions agree with each other. In the second step, interpolation is made to allow normal lines to agree with each other, and in the third step, interpolation is also made to allow curvatures to agree with each other. This technique is outlined as a flowchart in
(3) Embodiment of the Interpolation Method Using the Three-Dimensional Clothoid Curve:
(a) Flow of Interpolation Method:
One embodiment of the technique with which a three-dimensional clothoid curve is used to smoothly interpolate each interval between points which are part of a row of points will now be detailed. Hereinafter, the interpolation that uses a three-dimensional curve is referred to as a three-dimensional clothoid interpolation and a group of curves to be produced by the interpolation is referred, as a whole, to as a three-dimensional clothoid curve, which is composed by a plurality of unit curves each referred to as a three-dimensional clothoid segment.
The basic flow of the three-dimensional clothoid interpolation is such that the respective parameters of a three-dimensional clothoid segment connecting two points being interpolated are set to unknowns, and a curve is produced by obtaining a solution with the Newton-Rapson method, in which the solution meeting the conditions that points being interpolated are passed strictly and the G2continuity is kept. This way is outlined as a flowchart in
(b) Conditions of G2-Continuous Interpolation:
Practical conditions which allow points being interpolated to be passed strictly and the G2 continuity is kept will now be described.
Now assume a simple case in which there are three points P1={Px1, Py1, Pz1}, P2={Px2, Py2, Pz2}, and P3={Px3, Py3, Pz3} and these points are interpolated by using three-dimensional clothoid segments.
Here, the conditions which allow points being interpolated to be passed strictly and the G2 continuity is kept will now be considered. First of all, when the condition which allows points being interpolated to be passed strictly at a starting point is necessarily achieved at the time when the starting point is specified, so that the interpolation condition is not necessary in this situation, which is clear from the definition of the three-dimensional clothoid curve. At the connecting point P1, seven interpolation conditions consisting of three positional conditions, two tangential vector conditions, and two conditions (about the magnitude and direction) regarding to equations showing the curvature continuity are needed. Further, as to the end point, three positional conditions are necessary at the point P2. Thus, the conditional expressions total to 10. However, the number of unknowns is 14, compared to only the ten conditional expressions, so that the unknowns cannot be solved. In order to overcome this difficulty, the study according to the present invention was conducted on condition that tangential line vectors were given at both end points to increase the number of conditions at each end point by two so that the conditional expressions and the unknowns are equal in number to each other. In addition, deciding a tangential direction at the starting point enables a01 and b01 to be obtained from the equation defining the tangential direction. Considering this, a01 and b01 were not treated as unknowns. In the following, consideration will now be given to each condition.
First, the positional conditions will now be considered. In this case, three Expressions (1-1), (1-2) and (1-3) are established (hereinafter, “i” represents non-negative integers smaller than 3).
The, the conditions concerning the tangential directions will now be considered. In this case, two Expressions (1-4) and (1-5) are established.
[Numeral 99]
cos(a0i+a1i+a2i−a0i+1)=1 (1-4)
cos(b0i+b1i+b2i−b0i+1)=1 (1-5)
Concerning the curvature k, the following Expression (1-6) will now be established.
[Numeral 100]
κi(1)−κi+1(0)=0 (1-6)
Finally, the normal direction vector n will now be considered. The normal vector n of a three-dimensional clothoid curve is expressed by Expression (21).
Like the decision of the tangential vector u of a three-dimensional clothoid curve, the rotation will now be used for considering the normal vector n. Assume that an initial tangential direction is (1, 0, 0) and an initial normal direction is expressed as (0, cos γ, −sin γ) in which γ is a constant. When this initial normal direction is rotated in the same way as that for tangential lines, the normal line n is expresses as shown in Expression (1-7).
Making a comparison between Expressions (21) and (1-7) reveals that sin γ and cos γ correspond to Expression (1-8).
That is, it is found from Expression (1-8) that the continuity of tan γ is enough for accomplishing the continuity of the normal lines at a connecting point involving in the three-dimensional clothoid interpolation.
In short, it is understood that the condition for holding the normal lines continuous is expressed by Expression (1-10).
Further, when taking the equation of
[Numeral 105]
cos [αi(1)−αi+1(0)]=1 (1-11)
into account, the conditional Expression (1-10) can be replaced by the following conditional Expression (1-12). Specifically, the condition for the continuous normal lines is expressed by Expression (1-12).
[Numeral 106]
α′i(1)β′i+1(0)=α′i+1(0)β′i(1) (1-12)
In summary, it is found that the conditions for keeping not only a strict passage through points being interpolated but also the G2 continuity at each connecting point are expressed by Expression (1-13). Also, as for the starting and end points, it is still enough to select some of the conditions listed in Expression (1-13).
[Numeral 107]
Pxi(1)=Pxi+1(0)
Pyi(1)=Pyi+1(0)
Pzi(1)=Pzi+1(0)
cos [αi(1)−αi+1(0)]=1
cos [βi(1)−βi+1(0)]=1
α′i(1)β′i+1(0)=α′i+1(0)β′i(1)
κi(1)=κi+1(0)
As described, it is revealed that concerning the conditional expressions for the twelve unknowns a11, a21, b11, b21, h1, a02, a12, a22, b02, b12, b22, and h2, twelve conditional expressions are established as follows (, in which α3 and β3 represent rotation angles in the tangential direction at the point P3).
[Numeral 108]
Px1(1)=Px2(0)
Py1(1)=Py2(0)
Pz1(1)=Pz2(0)
cos [α1(1)−α2(0)]=1
cos [β1(1)−β2(0)]=1
α′1(1)β′2(0)=α′2(0)β′1(1)
κ1(1)=κ2(0)
Px2(1)=Px3(0)
Py2(1)=Py3(0)
Pz2(1)=Pz3(0)
cos [α2(1)−α3]=1
cos [β2(1)−β3]=1 (1-14)
Since the twelve equations can be given for the twelve unknowns, a solution can be obtained. Practically, the Newton-Rapson method is used to solve such equations to have a solution.
Additionally, for the general case in which a row of n-piece points is subjected to the interpolation, it is sufficient that the non-negative integer i described above is expanded to values fulfilling i<n. The remaining matter concerns the number of unknowns and the number of conditional expressions.
For example, suppose that there is a row of “n−1”-piece points and N-piece unknowns and N-piece relational expressions are established. In this situation, when one point is added to the point row, the parameters is thus subjected to an increase thereof such that the seven clothoid parameters a0n, a1n, a2n, b0n, b1n, b2n, and hn of the three-dimensional clothoid segments Pn−1 and Pn are added. On the other hand, the conditional expressions are subjected to an increase of a total of seven equations consisting of three equations for positions at the point Pn−1, two equations for a tangential vector, and two equations (about the magnitude and direction) representing a condition for keeping the curvatures continuous with respect to the point Pn−1, because the connecting points increase by one.
In the case of n=3, it is known that the unknowns and the relational expressions are 12 in number respectively, so that for n≧3, the number of unknowns is 7 (n−2)+5 and the number of equations to be established is also 7(n−2)+5. In this way, the unknowns and the conditions relating to the unknowns are the same in number. Thus, in the case of a row of n-piece free points, the similar method to that applied to three points can be used to calculate a solution. The Newton-Rapson method that utilizes the fact that the relationships on Expressions (1-15) and (1-16) are established between the unknowns and the conditional expressions was used as a solving method for a solution. (The conditions are denoted by F, the unknowns by u, and an error Jacobian matrix by J.)
[Numeral 109]
ΔF=[J]Δu (1-15)
Δu=[J]−1ΔF (1-16)
Accordingly it is understood that a row of n-piece points can be subjected to the three-dimensional clothoid interpolation in such a manner that points being interpolated are passed strictly and the G2 continuity is kept.
(c) Decision of Initial Values:
The Newton-Rapson method needs to have adequate initial values to start the search for a solution. Although the initial values may be given based on any method, how to give the initial values will now be exemplified in the following.
3D Discrete Clothoid Splines, which precede the present study, have a characteristic that the splines strictly pass points being interpolated and the curvatures change smoothly along the distance moved from a start point. In the present specification, the initial values for the three-dimensional clothoid interpolation are decided through computation with the use of a polygon Q made on 3D Discrete Clothoid Splines of r=4, as shown in
The 3D Discrete Clothoid Splines will now be complemented as follows. As shown in
In cases where Expression (1-17), which is listed later, requiring the apexes be equidistant therebetween is met and a condition is established which is the nearest to a specific condition where the curvature is proportional to the distance moved from the starting point (i.e., the function shown in Expression (1-18) listed later is minimized), a certain polygon Q is made, which is called 3D Discrete Clothoid Splines.
In the case of the 3D Discrete Clothoid Splines, the frenet frame of each apex is already obtained, so that the parameters a0 and b0 are computed based on the unit tangential vector t thereof. This tangential vector t has already been known at the time of obtaining the polygon Q, and both the vector t and the expressions of the tangential lines to the three-dimensional clothoid curve are used to obtain the tangential rotation angles α and β at the respective apexes of the polygon Q. Thus the initial values to be given to the parameters a0 and b0 of each curve are decided. In a three-dimensional clothoid segment starting from the stating point, the values thereof is given as the initial values.
In addition, when taking it into consideration the fact that 3D Discrete Clothoid Splines allows its apexes to be aligned at equal distances, the point q4i+1 in
Since this expression is a two-dimensional simultaneous equation to which unknowns are a14i and a24i, this equation is solved to obtain the initial values of the parameters a1 and a2. Similarly to this, the initial values of the parameters b1 and b2 can be decided.
The remaining unknown to be handled in this section is the curve length h, of which initial value is computed using the expression of the curvature of the three-dimensional clothoid curve. The curvature of a three-dimensional curve is expressed by Expression (1-21).
This expression is deformed into Expression (1-22), which gives a decided initial value.
As described above, the initial values of the seven three-dimensional clothoid parameters can be decided. Using these decided initial values under the condition that the G2 continuity described in the item (b) is still held, respective approximate values of the parameters of each curve were obtained by the Newton-Rapson method. The resultant parameters are used to produce three-dimensional clothoid segments, and each interval between any two points was subjected to interpolation on the three-dimensional clothoid curves.
(d) Example of Interpolation:
An example of the interpolation will now be described, in which the foregoing technique was actually applied to the three-dimensional clothoid interpolation directed to four points of (0.0, 0.0, 0.0), (2.0, 2.0, 2.0), (4.0, 0.0, 1.0), and (5.0, 0.0, 2.0). A perspective view of the three-dimensional clothoid curve produced by the interpolation is illustrated in
Furthermore, Table 22 represents the parameters of each curve, while Table 23 lists shifts of the coordinate, tangential line, normal line and curvature at each connecting point. These tables reveal that a three-dimensional clothoid curve which meets the requirement for the G2 continuity at each connecting point was produced.
(4) G2-Continuous Three-Dimensional Clothoid Interpolation in Consideration of Control of Value at Each of Both Ends:
(a) Interpolation Conditions and Unknowns:
As stated in section (3), if a curve is open and there are n-piece points being interpolated, the row of points can be interpolated three-dimensionally with the help of n−1 piece curves. If it is requested that the curves pass each point in a strict manner, the unknowns of each three-dimensional clothoid segment are seven in number, which are a0, a1, a2, b0, b1, b2, and h. Accordingly, as a whole, the number of unknowns is 7(n−1) pieces. Meanwhile, the number of conditional expressions total to 7 (n−2)+3 pieces, because there are seven unknowns concerning the coordinates, tangential line, normal line and curvatures at every “n−2”-piece connecting points, and there are three coordinates at the end point. In the technique in section (3), tangential vectors at each of the starting and end points were added to the conditional expressions so that the conditions increase by four, whereby the conditional expressions and the unknowns were made to be mutually equal in number.
In cases the tangential line, normal line and curvatures are controlled at each of the starting and end points and the interpolation is conducted with the G2 continuity still held, the conditions increase by 2 pieces, which are with respect to the normal line and curvatures at each of the starting and end points, that is, an increase of a total of 4 pieces, compared to the case where the control of tangential lines is made at both ends. In short, the number of conditional expressions totals to 7n−3 pieces. In this case, the unknowns are smaller in number than the conditions, the Newton-Rapson method is unavailable for a solution. Hence any technique has to be used to increase the number of unknowns.
In the present case, the above difficulty was overcome by newly inserting points being interpolated so that the unknowns and the conditional expressions became equal in number to each other. For instance, the number of unknowns is larger than the conditional expressions by 4, two new points are inserted and two of the coordinates at the perspective points are handled as unknowns.
In this case, since the connecting points increase by 2, the conditions increase by a total of 14-piece ones, which consist of 7-piece conditions (coordinates, tangential line, normal line and curvatures) for each connecting point. On the other hand, the unknowns increase by 2 which is for each three-dimensional clothoid segment, the unknowns increase as a whole by 14 pieces, which is composed of 7 pieces of a0, a1, a2, b0, b1, b2, and h for each segment. In this case, the number of points included in the row of points is n+2 pieces, the whole unknowns are 7(n+1 pieces and the whole conditional expressions are 7(n+1)+4 pieces. Further, when it is supposed that two of the coordinates of the newly inserted points are treated as unknowns, the number of unknowns results in an increase of 4. As a result, the unknowns and the conditional expressions are both 7 (n+2)−3 in number, whereby a solution of the unknowns can be obtained. In this way, inserting new points makes it possible to perform the interpolation with the respective points passed strictly, the G2 continuity held, and the tangential lines, normal lines, and curvatures at both end points controlled.
Furthermore, a generalized case will be discussed. In the case of interpolating a row of n-piece points in a state where m-piece items are controlled at both end points, consideration is given to the number of points to be inserted and to the number of coordinates to be treated as the unknowns at each inserted point. As state previously, as long as a curve is open, a row of points can be interpolated with the help of “n−1”-piece curves. If the respective points are subjected to a strict passage, each three-dimensional clothoid segment has the seven unknowns of a0, a1, a2, b0, b1, b2, and h, so that the unknowns total to 7(n−1) pieces. In contrast, the conditional expressions are as a whole 7(n−2)+3 pieces, because, every “n−2”-piece connecting points, there exist seven expressions on the coordinates, tangential line, normal line, and curvatures and three coordinates at an end point. Thus, the conditional expressions are less in number than the unknowns by 4. That is, this means that items to be controlled at both end points are 4 or more. In the following description, assumption is made such that m is a nonnegative integer of 4 or more and k is a nonnegative integer of 2 or more, under which how to make both the conditional expressions and the unknowns equal in number to each other in response to inserting new points will now be described.
(i) In the Case of m=2k:
In cases where it is required that a total of “m=2k”-piece items be controlled at both end points, the number of unknowns is 7(n−1) pieces in total and the number of conditional expressions is 7(n−1)−4+2k pieces in total. In this situation, the number of excessive conditional expressions is 2k−4 pieces. When it is considered that “k−2”-piece points are newly inserted, the number of three-dimensional clothoid segments increases by k−2 pieces, while the connecting points increase by k−2 pieces as well. As a result, the unknowns total up to 7 (n+k−3) pieces and the conditional expressions total up to 7(n+k−3)−4+2k pieces. In the case that, of the values at the coordinates of each of the newly inserted points, two values (for example, x and y) are treated as being unknowns, the unknowns total up to 7 (n+k−3)+2 (k−2) pieces and the conditional expressions total up to 7(n+k−3)+2(k−2) pieces, permitting both the unknowns and the conditional expressions to be equal in number to each other.
(ii) In the Case of m=2k+1:
In cases where it is required that a total of “m=2k+1”-piece items be controlled at both end points, the number of unknowns is 7(n−1) pieces in total and the number of conditional expressions is 7(n−1)+2k−3 pieces in total. In this situation, the number of excessive conditional expressions is 2k−3 pieces. When it is considered that “k−1”-piece points are newly inserted, the number of three-dimensional clothoid segments increases by k−1 pieces, while the connecting points increase by k−1 pieces as well. As a result, the unknowns total up to 7(n+k−2) pieces and the conditional expressions total up to 7(n+k−2)−3+2k pieces. In the case that, of the values at the coordinates of each of the newly inserted points, two values (for example, x and y) are treated as being unknowns, the unknowns total up to 7 (n+k−2)+2 (k−2) pieces and the conditional expressions total up to 7(n+k−2)+2k−3 pieces, resulting in that the conditional expressions are larger than the unknowns by one. Thus, for the case of m=2k+1, at one of the inserted points, only one of the values of the coordinate at the one point is treated as being an unknown. This countermeasure allows the unknowns to be 7 (n+k−2)+2 (k−2) pieces in total and the conditional expressions to also be 7(n+k−2)+2(k−2) pieces in total, whereby the unknowns and the conditional expressions are equal in number to each other.
As stated above, in the present method, in accordance with the number of conditional expressions to be added, the number of values chosen as unknowns from the coordinates of inserted points can be adjusted. This makes it possible that, in various occasions in which parameters, such as a tangential rotation angle α, which are other than the tangential line, normal line and curvatures, are controlled, the unknowns can be equalized in number to the conditional expressions. In consequence, from a theoretical viewpoint, each value at both end points can be controlled. Table 24 is provided to show, as a summary, correspondences among the items to be controlled, the number of unknowns and the number of conditional expressions.
*k: nonnegative integer of 2 or more
(b) Technique:
As shown in
Step 1) Of the conditions to be controlled, only 4 conditions are used to perform interpolation in which points being interpolated are subjected to a strict passage and the G2 continuity is kept, with a curve produced on the interpolated results.
Step 2) New points are inserted into the produced curve, before the conditional expressions and the unknowns are subjected to adjustment in terms of the number thereof.
Step 3) The curve parameters in Step 1 are used as initial values for obtaining approximate values of parameters of each curve by the Newton-Rapson method, the approximate values meeting the conditions to be targeted.
Each Step will now be complemented as follows. First, at Step 1, a curve is produced by using the technique described in section (3), if the tangential direction is required to be controlled. Even if the tangential direction is not required to be controlled, initial values, which are the same as ones produced by the technique described in section (3), are used as initial values required for obtaining the parameters of the curve.
Then at Step 2, new points are inserted into the curve for adjustment conditions and unknowns in terms of their numbers. During this step, the number of points to be newly inserted in an interval between points being interpolated is required to be one or less, whenever possible. Further, the point to be inserted is at a central position of each three-dimensional clothoid segment produced at Step 1 and inserted to connect points being interpolated. Still further, the insertion of the points to be inserted is carried out in sequence from both ends of the curve. In other words, the first inserted points are a central point between the starting point and the adjacent point located next thereto and a further central point between the end point and the adjacent point located next thereto.
Lastly, the description will now be given to Step 3, wherein it is required to decide initial values for the Newton-Rapson method employed in this step. For this purpose, the curve into which the new points have been inserted is divided using the technique, described in section 1-4, for dividing the three-dimensional clothoid curve, and the initial values are decided based on respective values of the divided curves. If the curve will not be subjected to the insertion of any points, the as-produced initial values of the curve, produced in Step 1, are used. In this way, the initial values given to the respective parameters of the curve in Step 3 have been decided. Using these initial values, the computation on the Newton-Rapson method is conducted to provide parameters, and these parameters are used to produce a three-dimensional clothoid curve. That is, the interpolation has been made by the three-dimensional clothoid curve that fulfills the targeted conditions in each interval between points.
(c) Example of Interpolation:
An actual example of the three-dimensional clothoid interpolation will now be given by Table 25, in which conditions are listed as to tangential lines, normal lines, and curvatures at both ends so that control should be conducted to meet those conditions. The sequential numbers are given to the points being interpolated which are to be subject to a strict passage of the line, so that the points P1, P2 and P3 are denoted.
* θ = −(π/6)
Under the conditions listed above, the interpolation was conducted actually, which resulted in the figure shown in
(d) Control of Value at Central Point:
The technique described in item (d) has enabled both the control of each value at both end points and the G2-continuous interpolation. In the next place, the control of values at each central point, not both end points, will now be described.
For example, for interpolating a row of points shown in
Specifically, the interpolation should be done on individual divided curves C1 and C2 with a central point Pc therebetween, without interpolating the whole row of points at once. In such a case, the central point Pc is to be located at an end of each divided curve, with the result that the technique described in item (b) can be used for the control.
Therefore, as described above, a curve division is done at a point that represents values to be controlled, the control for interpolation is applied to values at both ends of the divided curve, and the resultant curves are connected to each other. This way theoretically enables the three-dimensional clothoid interpolation which controls the tangential line, normal line, and curvature at each point.
(5) Three-Dimensional Clothoid Interpolation Controlling Tangential Line, Normal Line, and Curvature at Both Ends:
(a) Flow of Technique:
An interpolation technique using the three-dimensional clothoid to control each value at staring and end points is performed by a procedure flow shown in
(b-1) Giving Points Being Interpolated:
In an example in this section, three points {0.0, 0.0, 0.0}, {5.0, 5.0, 10.0}, {10.0, 10.0, 5.0} were designed in the three-dimensional space. The other conditions, such as tangential liens, normal lines, and curvatures given to each point, are summarized in Table 27.
(b-2) Production of 3D DCS of r=4:
The Newton-Rapson method needs to have adequate initial values to start the search for a solution. The preparation for obtaining the initial values will now be performed. 3D Discrete Clothoid Splines, which is a preceding study to the present study according to the present application, is characterized in that points being interpolated is subjected to a strict passage and the curvature smoothly changes with changes in the distance moved from a starting point. Hence, in the present study, a polygon Q on 3D Discrete Clothoid Splines of r=4 is produced as shown in
(b-3) Decision of Initial Values:
Obtaining a solution on the Newton-Rapson method involves decision of initial values of respective unknowns. According to the present technique, the polygon Q produced in section b-2 is used to obtain approximate values of the respective unknowns, and those approximate values are subjected to the decision of the initial values. In the case of handling 3D Discrete Clothoid Splines, the frenet frame of each apex has already been acquired. Parameters a0 and b0 are thus obtained from the unit tangential vector t of the polygon Q produced in section b-2. This tangential vector t has already been known since the polygon Q was obtained, so that both this vector t and the expression for a tangential line of a three-dimensional clothoid curve are used to compute tangential rotation angles α and β. These angles allow the initial values of the parameters a0 and b0 of each curve to be decided. In addition, for a three-dimensional clothoid segment starting from a starting point, those angles provide initial values of the parameters.
When it is taken into account that 3D Discrete Clothoid Splines provide apexes poisoning at equal distances, it can be approximated that the curve length variable S at a point q4i+1 in
Since this expression is a two-dimensional simultaneous equation to which unknowns are a14i and a24i, this equation is solved to obtain the initial values of the parameters a1 and a2. Similarly to this, the initial values of the parameters b1 and b2 can be decided.
The remaining unknown is a curve length h, of which initial value is calculated by solving the expression defining the curvature of the three-dimensional clothoid curve. The curvature of the three-dimensional clothoid curve can be expressed by the following.
This expression can be developed into the following, on which the initial value of h is decided.
As described, the initial values of the seven three-dimensional clothoid parameters can be decided.
The initial values actually obtained on the foregoing technique are listed in Table 29.
(b-4) Three-Dimensional Interpolation with Strict Passage Through Respective Points and G2 Continuity:
The initial values decided in section (b-3) are used to obtain approximate values of parameters of each curve by using the Newton-Rapson method, under the condition that the G2 continuity is kept. Using the resultant parameters, three-dimensional clothoid segments are produced, and then each span between points in a row of points is interpolated with the three-dimensional clothoid curve.
In this three-dimensional interpolation for three points, practical conditions satisfying a strict passage through points being interpolated and the G2continuity will now be described.
First of all, from the definition of the three-dimensional clothoid curve, the condition that the strict passage through points being interpolated should be kept at the point P1 is inevitably achieved whenever the starting point is given. A tangential direction at the point P1 is also given as a known value, so that no particular specification for the continuity is needed at the point P1.
The next to be considered is the point P2. This point P2 is a connecting point to connect the curves with each other, so that the G2 continuity requires that the position, tangential line, normal line, and curvature should be continuous thereat. That is, the conditions which should be realized at the point P2 are as follows.
[Numeral 119]
Px1(1)=Px2(0)
Py1(1)=Py2(0)
Pz1(1)=Pz2(0)
cos [α1(1)−α2(0)]=1
cos [β1(1)−β2(0)]=1
n1(1)·n2(0)=1
κ1(1)=κ2(0)
Lastly, the consideration is given to the point P3. This point P3 is an end point. This means that the necessary conditions to be met are abut only the position and tangential line, so that the following five conditions are realized, in which α3 and β3 are tangential rotation angles α and β to decide a tangential vector at the end point to be given.
[Numeral 120]
Px2(1)=Px3
Py2(1)=Py3
Pz2(1)=Pz3
cos [α2(1)−α3]=1
cos [β2(1)−β3]=1
Hence, it can be understood that, as for the twelve unknowns a11, a21, b11, b21, h1, a02, a12, a22, b02, b12, b22 and h2, the twelve conditional expressions are provided as follows. These expressions can thus be summarized in a list form in the following.
[Numeral 121]
Px1(1)=Px2(0)
Py1(1)=Py2(0)
Pz1(1)=Pz2(0)
cos [α1(1)−α2(0)]=1
cos [β1(1)−β2(0)]=1
n1·n2=1
κ1(1)=κ2(0)
Px2(1)=Px3
Py2(1)=Py3
Pz2(1)=Pz3
cos [α2(1)−α3]=1
cos [β2(1)−β3]=1
As described, the twelve expressions are realized for the twelve unknown, so that solutions to the unknowns can be found. The Newton-Rapson method is applied to these expressions for solutions, which are listed in Table 30, together with the initial values.
(b-5) Production of Curve:
(b-6) Conditional Expressions and Unknowns:
Now assume that the normal lines and curvatures at the starting point P1 and end point P2 are given by values shown in Table 27. In order that the normal lines and curvatures are further controlled at the starting and end points, it is necessary to increase the number of conditions at each of the starting and end points by two. However, in a state where the number of conditions is increased by 4, it is impossible to obtain a solution meeting the conditions, due to imbalance in number between the unknowns and the conditions. Therefore, to make the unknowns and conditions equal in their numbers, a new point DP1 is inserted into the curve C1 at a point of the curve length variable S=0.5 thereon, as shown in
In this situation, a curve connecting the points P1 and DP1 is denoted by C′1, a curve connecting the points DP1 and P2 is denoted by C′2, a curve connecting the points P2 and DP2 is denoted by C′3, and a curve connecting the points DP2 and P3 is denoted by C′4, respectively. The characters which appear in the following description involve with subscripts each corresponding to each curve name. For example, the coordinates, tangential rotation angles α and β, normal line, and curvature of a curve C are expressed respectively by Pxc, Pyc, Pzc, αc, βc, nc and κc which are functions of the curve length variable S. Furthermore, as for the coordinates, tangential rotation angles α and β, normal line, and curvature at the starting and end points, those are expressed respectively as Pxs, Pys, Pzs, αs, βs, ns and κs at the starting point, whilst those are expressed respectively as PXe, Pye, Pze, αe, βe, ne and κe at the end point.
In the following, the conditions realized at respective points are listed.
[Numeral 122]
Point P1: Tangential Line, Normal Line and Curvature; 4 Expressions:
cos [αC′1(0)−αs]=1
cos [βC′1(0)−βs]=1
nC′1(0)·ns=1
κC′1(0)=κs
Point DP1: Position, Tangential Line, Normal Line and Curvature; 7 Expressions:
PxC′1(1)=PxC′2(0)
PyC′1(1)=PyC′2(0)
PzC′1(1)=PzC′2(0)
cos [αC′1(1)−αC′2(0)]=1
cos [βC′1(1)−βC′2(0)]=1
nC′1(1)·nC′2(0)=1
κC′1(1)=κC′2(0)
Point P2: Position, Tangential Line, Normal Line and Curvature; 7 Expressions:
PxC′2(1)=PxC′3(0)
PyC′2(1)=PyC′3(0)
PzC′2(1)=PzC′3(0)
cos [αC′2(1)−αC′3(0)]=1
cos [βC′2(1)−βC′3(0)]=1
nC′2(1)·nC′3(0)=1
κC′2(1)=κC′3(0)
Point DP2: Position, Tangential Line, Normal Line and Curvature; 7 Expressions:
PxC′3(1)=PxC′4(0)
PyC′3(1)=PyC′4(0)
PzC′3(1)=PzC′4(0)
cos [αC′3(1)−αC′4(0)]=1
cos [βC′3(1)−βC′4(0)]=1
nC′3(1)·nC′4(0)=1
κC′3(1)=κC′4(0)
Point P3: Position, Tangential Line, Normal Line and Curvature; 7 Expressions:
PxC′4(1)=Pxe
PyC′4(1)=Pye
PzC′4(1)=Pze
cos [αC′4(1)−αe]=1
cos [βC′4(1)−βe]=1
nC′4(1)·ne=1
κC′4(1)=κe
Accordingly, the total number of conditional expressions to be established is 32. In contrast, each curve has the seven clothoid parameters consisting of a0, a1, a2, b0, b1, b2, and h and the number of curves is 4, whereby the number of unknowns totals to 28. That is, the unknowns and the conditional expressions are not equal in number to each other, so that solutions cannot be obtained. In order to overcome this situation, the y and z coordinates of the newly inserted two points DP1 and DP2 are treated as unknowns to increase the unknowns by 4. Since this increase allows both the unknowns and the conditional expressions to be 32 in number, the solutions can be obtained.
(b-7) Decision 2 of Initial Values:
Though the Newton-Rapson method is used to compute solutions satisfying the conditional expressions produced in section (b-6), the initial values of the unknowns are required to be decided so that the computation converges at a higher rate. As a practical measure for that, the three-dimensional curve produced in section (b-5) is divided at the newly inserted points, with the result that four three-dimensional clothoid curves are produced as shown in
How to divide the curve C1 into a curve C′1 and a curve C′2 will now be described as a curve division method. Using the parameters of the curve C1, the clothoid parameters h′, a′0, a′1, a′2, b′0, b′1 and b′2 of the curve C′1 can be expressed by the following expressions, in which a reference Sd represents a curve length variable at the dividing point and is 0.5 in this example.
The consideration will then be given to the curve C′2 whose dividing point is DP1. Let us assume a curve C″1 which is identical in size and shape to the curve C1 but is opposite in direction to the curve C1. With the use of the parameters of the curve C1, the clothoid parameters h″, a″0, a″1, a″2, b″0, b″1, and b″2 of the curve C″1 can be expressed by the following expressions.
The dividing point DP1 on this curve is expressed as DP1=C″1(1−Sd). When it is assumed that the curve C″1 is divided at the point DP1, the resultant divided curves include a curve C″2 whose starting point is P2 is identical in size and shape to the curve C′2 and opposite in direction to the curve C′2. Hence the technique for producing the curve C′1 enables the curve C″2 to be produced. In this calculation, the curve C2 can also be obtained by producing a curve having the identical size and shape but having the opposite direction too the curve C″2.
This curve C2 has clothoid parameters h″, a″0, a″1, a″2, b″0, b″1, and b″2, which are provided by the parameters of the curve C0, which are as follows.
As described, at the point DP1 giving 0.5 to the curve length variable S on the three-dimensional clothoid curve C1, the curve C1 can be divided into the curves C′1 and C′2. Similarly to this, at the point DP2 giving 0.5 to the curve length variable S on the three-dimensional clothoid curve C2, the curve C2 can be divided into the curves C′3 and C′4.
The parameters of the four curves divided on the foregoing are listed in Table 31. These parameters of the curves are used as initial parameters to the Newton-Rapson method in calculating solutions satisfying the conditional expressions established in section b-6.
(b-8) Obtaining Clothoid Parameters Satisfying Conditions:
Based on the initial values decided in section (b-7), the solutions satisfying the conditional expressions established in section (b-6) were obtained using the Newton-Rapson method. Table 32 shows those calculated parameters of each curve. In addition, Table 33 shows differences between given values and the produced values in respect of the tangential line, normal line, and curvature at the starting and end points of each produced curve.
(b-9) Production of Curves:
A curve produced on the parameters obtained in section (b-8) is shown in
As described, how to produce the curves on the three-dimensional clothoid interpolation in such a manner that the tangential line, normal line and curvature at both ends are controlled has been exemplified. 3. Numerical Control Technique Using the Three-Dimensional Clothoid Interpolation:
The curve on the foregoing three-dimensional clothoid interpolation can be used effectively for creating numerical control information necessary for control of motion of various objects being targeted including a tool of a machine tool. The characteristic of the control is easiness of speed control and possibility of smoothing changes in the speed.
(1) Numerical Control Technique Using the Three-Dimensional Clothoid Interpolation:
The numerical control technique that uses the three-dimensional clothoid interpolation curve is composed of procedures explained in
(a) Design of Motional Trajectory of Tool (
As stated in the preceding section, a three-dimensional clothoid interpolation curve that meets conditions is decided first. When a tool of robots etc. is moved, it can be estimated that a representative point of the tool (tool point such as a tool center point) moves along a continuous trajectory curve (including a straight line) to be depicted two-dimensionally or spatially as the time elapses. The positions of the tool point are expressed as coordinates (x, y, z) and the attitudes of the tool point are expressed by rotation angles, for example, with respect to the x-, y- and z-axes. Whatever the tool point may show any complicated motions, their trajectories are connected continuously, without discontinuations. Thus the first stage for the motion control is to design the shape of such a trajectory into a three-dimensional curve.
(b) Application of Motion Curve (
In response to a command from numerical control, a distribution of moving speeds at points to be controlled on the curve is specified along the three-dimensional clothoid interpolation curve. That is, the second stage for the motion control is to decide speeds and accelerated speeds of the tool point moving along the design trajectory. A technical matter that the tool point moves along the trajectory based on what kind of temporal function is set by deciding the speeds and accelerated speeds of the tool point. The speeds and accelerated speeds of the tool point can be decided based on either the time or a contour shape. In general, the decision based on the time is more frequent than the other. However, for example, for processing a curved surface, it is needed to meet the demand that a flat area of the surface needs a faster move of a tool and a curved area needs a slower move of the tool, whereby the speeds and accelerated speeds are decided based on the contour shape.
In the present embodiment, a good-characteristic curve used, for example, in a cum mechanism is employed for the interpolation. The positions and attitudes defined in the Cartesian space (real space) compose a group of continuous groups, and a motion curve is applied to each of the continuous groups to specify acceleration and deceleration. The Cartesical space is a three-dimensional coordinate system made by using three x-, y- and z-axes which are mutually perpendicular at the origin and is able to express the attitudes of the tool points as well as the positions thereof.
(c) Time Sharing (
In the present embodiment, every unit time during which numerical control information is computed, a moved distance and an attitude of the tool point is calculated in accordance with a moving speed specified to the object to be controlled. Thus, since the trajectory and motion have now been determined, the positions and attitudes of the tool point are given as functions of the time t. It is therefore possible to obtain displacements of the tool point at each time instant in that case that the time t is given as minute time intervals. The computation in this step (c) can be detailed as follows. At the point at which the tool point exists at present, not only values of the parameters such as a tangential line and a curvature but also positional information are known. Multiplying a specified moving speed by a unit time provides a curve length that has moved during the unit time, and this curve length allows curve length parameters after the movement to be computed. By using these curve length parameters after the movement, not only values of the parameters such as a tangential line and a curvature but also positional information can be computed at the next point to which the tool point has moved.
The foregoing procedures make it possible that the position and attitude of the tool point at the time t in the Cartesian space (real space). The variables in the thee-dimensional space are “x, y, z, γ, μ, ν, and θ,” in which “γ, μ, ν, and θ” represent the attitude E in the form of equivalent rotation. “γ, μ, and ν” represent an axis of the equivalent rotation and “θ” represents a rotation angle.
Further, in response to a request from the numerical control, an offset point which is offset along the three-dimensional clothoid interpolation curve toward the normal line by a specified amount of dimension can be obtained. This is provided as a cutter path (a trajectory of the tool center). The calculation for this cutter path is easier, because the normal line has already been determined.
(d) Inverse Kinematics (
Next, the rotation angle of each axis, which is necessary for providing the tool point with its position and attitude, will now be obtained. This process is generally referred to as an inverse kinematics. If there is a robot with six axes, that is, there exist six joints, the position and attitude of the tool point is fixed depending on how many joints (such as a joint of a shoulder, joint of an arm, joint of an elbow, joint of a list, and others) turn. This is called a sequential kinematics. Unlike this, the inverse kinematics is a process to obtain rotation angles θ1 to θ6 in the axial space from the position an(i attitude of the tool point in the real space. An actuator installed to each axis is not always limited to a rotary motor, but may be a linearly-driven actuator such as a linear motor. Even in such a case, it is necessary to compute values about an electronic gear which converts a minimum limit real displacement into the number of input pulses to the linear motor. The inverse kinematics is inherent to each type of the mechanisms of robots etc, and the inverse kinematics is prepared for each of various robots.
(e) Computation of Displacement of Rotor for Each Axis in the Axial Coordinate System (
With respect to the respective time-shared tool points, the inverse kinematics are then computed, and then the computed values are subjected to computation of their integers which represent displacement pulses for the respective motors (including linearly-driven actuators) installed for the respective axes. In cases where the control is not carried on the pulses, a minimum resolution unit (resolution) assigned to each axial displacement is used as data processed into an integer corresponding to the number of pulses.
The foregoing procedures (a) and (b) are preparatory, so those procedures are carried out only once, respectively. The procedures (c) to (e) are carried out at intervals of a specified unit time and continue until a period of time to be targeted or conditions to be targeted are met.
It is possible that the foregoing all procedures for the computation are carried out by the same numerical control device. Alternatively, with the procedures (a) and (b) previously computed and decided by a further computer, the resultant curve parameters from those procedures are sent into the numerical control device, where the procedures (c) to (e) are then subjected to computation.
(2) NC Device and CNC Device:
Now, description will be given to a case in which an independent numerical control device (NC device) is used and a further case in which a CNC device is used that integrally combines a computer serving as programs and an NC device.
(a) In Cases Where Independent NC Device is Used:
A conventionally used normal NC machine is separated, in terms of hardware, into two devices consisting of a programmer that performs programming to create NC data and an NC device that uses the NC data to drive a machine apparatus. In contrast, in the case of a recently used CNC machine, a computer in charge of programming is incorporated within an NC device in an integrated manner.
First, as to the former one, that is, the independent NC device is used, the numerical control technique on the three-dimensional clothoid is proposed. In this case, an assumption is made such that clothoid parameters are used for transmitting and receiving clothoid data. And a clothoid format is defined in the G code, which is for example as follows.
G * * *
A0, A1, A2, B0, B1, B2, H
The notation “G * * * ” indicates the G-code number. The notations “A0 to H” indicate seven parameters of a three-dimensional clothoid segment. Before performing this code, a tool has come to a position P0. In the NC device, those parameters are used to compute an instantaneous tool position or a positional difference of the tool position. This procedure is called a “sequential solution.” The reason why the sequential solution is obtained in the NC device is to prevent data from being produced largely. Therefore, the NC device requires a kind of computation. Expressing the clothoid by the G code makes it possible that the clothoid curve is combined into the existing NC device.
(c) CNC Technique:
The CNC device, in which a computer functioning as a programmer is integrally combined with an NC device, will now be described. In this configuration, which hardware part of the CNC device computes values concerning with the clothoids does not become an issue. In addition, concern about a data amount and a transfer speed are on the dismissal.
In general, the programmer includes a step to decide clothoid parameters suitable to respective conditions. This is called an “inverse solution.” For example, this inverse solution includes a program which computes a smooth curve passing a row of some discrete points in a strict manner (that is, interpolation for a row of free points). Moreover, it is frequent that the inverse solution a program for deciding trajectories of a tool which is necessary for processing (that is, CAM).
(3) Characteristics of Numerical Control Technique Using the Three-Dimensional Clothoid Interpolation:
The numerical control technique using the three-dimensional clothoid curve has the following advantages.
(a) As described above, the curve is expressed by independent parameters which represent the curve length moved from a reference point, so that numerical control information corresponding to a specified moving speed can be produced. In other curves, such as spline curves, which are expressed by independent parameters having no relation to the curve length, it is difficult to calculate the values of independent parameters corresponding to a point to which a tool point is to move, even if such an after-move point may be found by calculation. Hence in this case, numerical control information corresponding to a specified moving speed is difficult to produce.
To be specific, as shown in
(b) In the case of the three-dimensional clothoid curve, it is expected that how the curvature changes to the curve length is approximately constant, and it is expected that corresponding numerical control information is provided as control information which requires less dynamic overload in controlling the motion. In the general spline interpolation etc., it is difficult to estimate and control changes in the curvature.
(c) The three-dimensional clothoid curve includes, as special cases thereof, straight lines, circular arcs, and spiral curves, and numerical control information in relation to a variety of curves can be expressed strictly, with no combination with individual curve expressions.
(d) The three-dimensional clothoid curve is based on a natural equation independent of how the coordinate axes are set. In the conventional NC device in which curves are represented with the x-, y- and z-axes, processing of a workpiece depends on how to install the workpiece; for example, when an obliquely installed workpiece is required to be processed, an obliquely set surface of the workpiece may be easy or difficult to process, depending on how the workpiece is installed. In the three-dimensional clothoid curve, the curve is given as line lengths, with the result that even for processing an oblique surface of a workpiece, producing trajectories along the oblique surface allows the processing to be done in the same way as that for the horizontal surface.
In the present invention, in cases where a computer is configured to perform a program expressing a trajectory of a machine tool or a contour shape of a workpiece by using a three-dimensional curve (referred to as a three-dimensional clothoid curve) in which each of a pitch angle and a yaw angle in a tangential direction is given by a quadratic expression of a curve length or a curve length variable, the program can be stored in an auxiliary storage, such as a hard disk unit, of the computer, in which a main memory of the computer can receive loaded program data in order to perform the program. Further, such a program can be stored in portable recording mediums such as CD-ROMs for trading or stored in a storage of a computer communicably connected to a network in order to transfer program data to other computers via the network. Furthermore, results computed by such a program (curve parameters of a three-dimensional clothoid curve, displacement pulses for motors installed for respective axes, and others) can be stored in portable recording mediums such as CD-ROMs for trading.
Thanks to the three-dimensional curve according to the present invention, the versatile technique for producing spatial curves required for designing and producing industrial products can be provided. When an object moves at accelerated or decelerated speeds along spatial curves, design which makes changes in binding force smoother can be done. This characteristic is widely applicable to the method for designing trajectories of motion of a mechanical element with mass. As an application of the design according to the present invention, how to design the regression path of the ball screw has been described. However, the application is not limited to such an application but can be widely applicable to design of other objects, which include a rail of a roller coaster which runs at fast speeds along a rail winding up and down and back and forth, linear guides, and other objects. Other than listed here, thanks to the characteristic that changes in the curvature can be designed properly to the curve length, the design technique according to the present invention can be applied to other various industrial fields such as a field involving design of aesthetic design curves.
Number | Date | Country | Kind |
---|---|---|---|
2004-055554 | Feb 2004 | JP | national |
2004-055555 | Feb 2004 | JP | national |
2004-055556 | Feb 2004 | JP | national |
2004-250372 | Aug 2004 | JP | national |
2004-250373 | Aug 2004 | JP | national |
2004-250374 | Aug 2004 | JP | national |
2004-250375 | Aug 2004 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP05/02132 | 2/14/2005 | WO | 5/10/2007 |