Method for designing cam curve through polynomial

By automatically solving polynomial coefficients using the MATLAB symbol toolbox, the problem of errors in manually solving polynomial coefficients in cam curve design is solved, enabling efficient and accurate cam curve design, and applicable to various cam curve designs.

CN120930336APending Publication Date: 2025-11-11BEIJING INSTITUTE OF GRAPHIC COMMUNICATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511024214.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-24
Publication Date
2025-11-11

AI Technical Summary

Technical Problem

In existing cam curve design methods, obtaining polynomial coefficients relies on manual solving, which is prone to errors, resulting in inaccurate or insufficiently precise cam curve results that cannot meet the requirements of high-speed operation.

Method used

The MATLAB symbolic toolbox functions are used to automatically solve for polynomial coefficients. By constructing a system of linear equations and analyzing the polynomial coefficients, the automatic design of polynomial cam curves is realized, including determining the polynomial order, boundary conditions and derivative values, and plotting the cam curve.

Benefits of technology

It achieves automatic solution of polynomial coefficients, improving the accuracy and efficiency of cam curve design, and is suitable for various cam curve design scenarios, including double-stop and complex cam curve design.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120930336A_ABST
    Figure CN120930336A_ABST
Patent Text Reader

Abstract

The invention discloses a method for designing a cam curve by using a polynomial, which belongs to the field of cam design and comprises the following steps: S1, determining the order k of the polynomial according to the known motion interval [xmin, xmax] and the number n of boundary conditions, k = n; s2, according to a specific x value, determining a numerical value or a corresponding derivative value of each polynomial item of the point; s3, establishing a linear equation set; s4, solving the system of linear equations, obtaining a polynomial coefficient Ci, and drawing s, v, a, j curve graphs corresponding to cam curves; and S5, constructing a symbolic polynomial by applying MATLAB, and solving a function value of a specific x value or a specified derivative value. The universal method for designing the cam curve by applying the polynomial can be used for designing the double-stop curve, can also be used for designing other cam curves, such as designing a single-stop cam curve, comprehensively designing a complex cam curve and the like, can realize automatic solving of the polynomial coefficient, and has the advantages of high efficiency, high reliability and the like. And the method has a wide application scene.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a cam curve design method, and more particularly to a polynomial method for cam curve design. Background Technology

[0002] Cam mechanisms can perform almost any type of variable-speed motion, and the speed can be adjusted as needed. They are also highly precise and low-cost, making them widely used in modern machinery. With continuous societal development, the demands for efficiency, precision, and reliability in various automated machines are constantly increasing. Furthermore, as cam rotational speeds continue to rise, engineers are increasingly focusing on the dynamic characteristics of cam mechanisms to ensure smoother and more efficient operation. The development of new cam mechanisms is rapidly progressing towards a combination of dynamics and kinematics. Developing universal curves with good dynamic and kinematic performance has become a crucial task in cam mechanism design.

[0003] There are many ways to improve the kinematic and dynamic performance of cam mechanisms, and studying the cam curve of a cam mechanism is the most effective way to improve its kinematic and dynamic performance. The traditional method of studying cam curves is to combine some commonly used motion curves to meet the actual motion requirements of the wheel. However, the motion curves of such combinations are not continuous at higher derivatives, so they cannot meet the needs of the ever-increasing operating speed of cam mechanisms.

[0004] The polynomial method is an important and widely used approach for designing cam profiles. However, in existing cam profile design methods, obtaining the polynomial coefficients often relies on manual calculation by designers based on boundary conditions. This manual calculation process is prone to errors, leading to inaccurate cam profile results or failure to meet required precision. Therefore, there is an urgent need to provide a method for automatically solving for polynomial coefficients. Summary of the Invention

[0005] To solve the above-mentioned technical problems, the present invention provides a method for designing cam curves using polynomials, comprising the following steps:

[0006] S1: Based on the known motion range [x] min ,x max The number of boundary conditions, n, determines the order k of the polynomial, k = n;

[0007] S2: Based on the value of x, determine the numerical value of each polynomial term or the corresponding derivative value at that point;

[0008] S3: Construct a system of linear equations:

[0009]

[0010] S4: Solve the system of linear equations to obtain the polynomial coefficients C. i And plot the corresponding s, v, a, j curves of the cam curve;

[0011] S5: Using the relevant functions in the MATLAB Symbolic Toolbox, construct a symbolic polynomial based on known polynomial coefficients, and calculate the function value of x or the derivative value of a specified order. The function declaration is as follows:

[0012] [y,polystr]=CamSynPoly(p,x_pos,der).

[0013] Furthermore, in step S2, if x is a velocity constraint, the first derivative of each polynomial term is solved; if x is an acceleration constraint, the second derivative of each polynomial term is solved.

[0014] In summary, the present invention has the following advantages over the prior art:

[0015] The general method for cam curve design using polynomials proposed in this invention can be used not only for the design of double-stop cam curves introduced earlier, but also for other cam curve design scenarios, such as the design of single-stop cam curves and the comprehensive design of complex cam curves. It can automatically solve for polynomial coefficients and has a wide range of applications. Attached Figure Description

[0016] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this invention, illustrate exemplary embodiments of the invention and are used to explain the invention, but do not constitute an undue limitation of the invention. In the drawings:

[0017] Figure 1 The flowchart illustrates the method for designing cam curves using polynomials provided by this invention. Detailed Implementation

[0018] It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other. The present invention will now be described in detail with reference to the accompanying drawings and embodiments.

[0019] It should be noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the exemplary embodiments of the present invention. As used herein, the singular form may also include the plural form unless the context clearly indicates otherwise. Furthermore, it should be understood that when the terms "comprising" and / or "including" are used in this specification, they indicate the presence of features, steps, operations, devices, components, and / or combinations thereof.

[0020] Unless otherwise specifically stated, the relative arrangement, numerical expressions, and values ​​of the components and steps set forth in these embodiments do not limit the scope of the invention. It should also be understood that, for ease of description, the dimensions of the various parts shown in the drawings are not drawn to actual scale. Techniques, methods, and devices known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and devices should be considered part of the specification. In all examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values. It should be noted that similar reference numerals and letters in the following figures denote similar items; therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.

[0021] Polynomial motion law curves are widely used in cam mechanism design. They can be used in double-stop cam designs, as well as in many other cam design applications. Their general form is:

[0022] y = C0 + C1x + C2x 2 +…+C n x n (1)

[0023] In the formula: y represents dimensionless displacement; x represents dimensionless time; C i ,i=0,1,2,...,n——represents the coefficients of each term in the polynomial.

[0024] In equation (1), the polynomial coefficients C i The values ​​of i = 0, 1, 2, ..., n are unknown and need to be determined based on the specific design conditions. The degree of a polynomial is determined by its highest power term; that is, an nth-degree polynomial will have n+1 terms. Since there is also a constant term with coefficient C0, there are a total of n+1 coefficients that need to be determined. Usually, the number of terms in a polynomial is called its order k; that is, the order of an nth-degree polynomial is k = n+1.

[0025] When using polynomials to design the motion law curve of a cam follower (hereinafter referred to as the cam curve), the polynomial is constructed according to the number of boundary conditions specified in the s,v,a,j curve, and the coefficients of the corresponding polynomial are obtained by solving a system of linear equations. For example, if there are k specified boundary conditions, a polynomial of order k and degree k-1 needs to be constructed.

[0026] Regarding the design method of general polynomial motion law curves:

[0027] The application of polynomials to design cam curves based on k boundary conditions is essentially solving an interpolation problem with k motion constraints, which can be written in the following form:

[0028]

[0029] In the formula: y(x),y (1) (x),y (2) (x),...,y (m) (x) represents the displacement and derivative values ​​at the start and end points of the forward or return stroke; C i — Represents the coefficients of the terms in the k-th order polynomial that needs to be solved; P i,k (x) represents the i-th term of a k-th order polynomial, and its expression is:

[0030] P i,k (x)=x i (3)

[0031] The m-th (m = 1, 2, ...) derivative of each polynomial term can be expressed as:

[0032]

[0033] in:

[0034]

[0035] To optimize the above process, see [link / reference]. Figure 1 As shown, this invention provides a method for designing cam curves using polynomials, including the following steps:

[0036] S1: Based on the known motion range [x] min ,x max The number of boundary conditions, n, determines the order k of the polynomial, k = n.

[0037] S2: Determine the numerical values ​​of each polynomial term or the corresponding derivative value at a given x value.

[0038] As a preferred approach, if x is a velocity constraint, then the first derivative of each polynomial term is required; if x is an acceleration constraint, then the second derivative of each polynomial term is required, and so on. Using E... j,i (j=1,2,...,n,i=0,1,...,k-1) represents the corresponding value; where: j represents the j-th motion constraint; i represents the corresponding polynomial term of degree i.

[0039] S3: Construct a system of linear equations:

[0040]

[0041] In the formula: C i ,i=0,1,2,...,n——represents the coefficients of the polynomial terms to be determined; F i,i=1,2,...,n——represents the specific values ​​of n boundary conditions.

[0042] Its matrix form can be expressed as:

[0043] [E][C]=[F] (7)

[0044] S4: Solve the system of linear equations to obtain the polynomial coefficients C. i And plot the corresponding s, v, a, j curves of the cam curve.

[0045] Based on the methods and steps described above, as long as the boundary conditions and the motion range are known, a system of linear equations can be constructed, and finally, a polynomial curve that meets the requirements can be obtained.

[0046] However, if each E is solved manually every time, j,i Solving the polynomials by constructing a system of equations based on equation (6) is not only inefficient but also prone to errors. Therefore, it is meaningful to write an automatic program to automatically solve the polynomials. In this way, cam designers only need to design a reasonable motion range and specify the corresponding boundary conditions, and the remaining calculations can be completed automatically by the program. Designers can focus more on the design of the cam curve itself and be freed from many tedious and repetitive calculations.

[0047] Based on the aforementioned theory, this invention utilizes relevant functions from the symbolic toolbox of MATLAB software to develop an automatic solution program for polynomial cam curves. The key steps and principles of the algorithm are described below, along with specific examples illustrating the program's usage.

[0048] S5: Using functions from the MATLAB Symbolic Toolbox, construct a symbolic polynomial based on known polynomial coefficients, and calculate the function value for a specific x-value or the derivative value of a specified order. The function declaration is as follows:

[0049] [y,polystr]=CamSynPoly(p,x_pos,der) (8) In this function declaration: CamSynPoly is the function name; p is the input parameter, representing the coefficient row vector of the polynomial to be constructed, and the polynomials are arranged in order of power from high to low.

[0050] For example, for the polynomial y = 2x 2+4x-3 gives p = [2 4 -3]; x_pos is a real input parameter representing the specified value of x, a scalar; der is an integer input parameter representing the order of the derivative to be calculated, 0 represents calculating the displacement itself, 1 represents calculating the first derivative, 2 represents calculating the second derivative, and so on; y is the output parameter, its value is the value of the der-th derivative of the polynomial constructed in this call at the position x = x_pos; polystr is the output parameter, its value is a string representing the constructed polynomial. The function's purpose is to construct a polynomial string based on the input parameters and, with the help of the symbolic solving capability of the MATLAB symbolic toolbox, return the derivative value of x at a specific order.

[0051] Example:

[0052] Below is a simple example of a call; the program returns the polynomial y = 2x after the call. 2 The second derivative of +4x-3 at x=5, and the symbolic expression string of the polynomial:

[0053]

[0054] Secondly, auxiliary variables are constructed based on the known motion range and boundary conditions to automatically build a system of linear equations. Assuming a polynomial curve is used for the design of a double-stop cam curve, the known conditions are the same as those in the typical double-stop curve example introduced earlier: push angle β = 90°, stroke h = 30 mm, and camshaft angular velocity ω = 2π rad / s. Based on the characteristics of the double-stop curve, its boundary conditions are shown in Table 1.

[0055] Table 1 Boundary Conditions for Polynomial Curve Solution I

[0056]

[0057]

[0058] As shown in Table 1, there are n = 6 boundary conditions, therefore a polynomial of order k = 6 needs to be constructed. Let:

[0059] tau=[0 0 0 1 1 1], m=[0 1 2 0 1 2], F=[0 0 0 1 0 0]' (10)

[0060] in:

[0061] tau is a row vector representing the position information of motion constraints, and its values ​​correspond to the second column in Table 1;

[0062] m is a row vector representing the order of the derivative of the corresponding motion constraint position, and its value corresponds to the third column in Table 1;

[0063] F is a column vector representing the constraint values ​​at each motion constraint position, and its values ​​correspond to the fifth column in Table 1.

[0064] The first and fourth columns in Table 1 list the original constraint information, which must be transformed accordingly, i.e., the second and fifth columns in Table 1.

[0065] The coefficient matrix [E] of the linear equation system shown in equation (7) is constructed using the following procedure, i.e., the matrix colloc in the following procedure, and the coefficients C of the polynomial are solved. i That is, C in the program:

[0066]

[0067] In the above code segment, the number of iterations equals the number of boundary conditions, n. In each iteration, a row vector p is constructed, with its first element set to 1 and the remaining elements to 0. Thus, when the function CamSynPoly is called, the value of each polynomial term in the polynomial curve at the constraint location can be obtained based on the specific constraint location information and the derivative order information tau(i) and m(i), i.e., the value of each element in the matrix [E]. After all iterations are complete, the polynomial coefficients can be obtained by solving the system of linear equations, finally yielding the final polynomial function curve expression, and the cam curve can be plotted.

[0068] Based on the boundary conditions listed in Table 1, the program finally obtains the following expression:

[0069]

[0070] The above results are substituted and rearranged according to the transformation relationship, and the result is shown in Equation (13). Obviously, Equation (13) is the standard 3-4-5 degree polynomial curve. If two more boundary conditions are added to the boundary conditions shown in Table 1, that is, the jump at the beginning and end of the motion is also 0, as shown in Table 2. Repeating the above steps, the standard 4-5-6-7 degree polynomial curve can be obtained, as shown in Equation (14). Through these two examples, the correctness of this automatic solution method is verified.

[0071]

[0072] Table 2 Boundary Conditions for Polynomial Curve Solution II

[0073]

[0074]

[0075] The above are merely preferred embodiments of the present invention and are not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A method for designing cam curves using polynomials, characterized in that, Including the following steps: S1: Based on the known motion range [x] min ,x max The number of boundary conditions, n, determines the order k of the polynomial, k = n; S2: Based on the value of x, determine the numerical value of each polynomial term or the corresponding derivative value at that point; S3: Construct a system of linear equations: C0E 1,0 +C1E 1,1 +…+C n AND 1,k-1 =F1 C0E 2,0 +C1E 2,1 +…+C n E 2,k-1 <F2 C0E n,0 +C1E n,1 +…+C n AND n,k-1 =F n S4: Solve the system of linear equations to obtain the polynomial coefficients C. i And plot the corresponding s, v, a, j curves of the cam curve; S5: Using the relevant functions in the MATLAB Symbolic Toolbox, construct a symbolic polynomial based on known polynomial coefficients, and calculate the function value of x or the derivative value of a specified order. The function declaration is as follows: [y,polystr]=CamSynPoly(p,x_pos,der).

2. The method for designing cam curves using polynomials according to claim 1, characterized in that, In step S2, if x is a velocity constraint, the first derivative of each polynomial term is solved; if x is an acceleration constraint, the second derivative of each polynomial term is solved.