Methods for calculating the maximum limiting speed of a motion control curve, and motion control methods.
By calculating the maximum speed limit of controlled objects such as stacker cranes or RGVs, and combining the Sigmoid acceleration/deceleration curve and position encoder abrupt change filtering, the problem of inaccurate speed calculation in custom motion control curves is solved, thereby improving positioning accuracy and control stability.
Patent Information
- Application Number
- CN202310117968.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-30
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2043-01-30
AI Technical Summary
In the motion control of controlled objects such as stacker cranes or RGVs, the maximum speed limit of the custom motion control curve is difficult to calculate accurately, which leads to prolonged positioning time or low accuracy. In addition, the position encoder is prone to sudden changes due to electromagnetic interference, resulting in positioning deviation and speed fluctuation.
By acquiring the positioning distance, current speed, endpoint speed, maximum acceleration, and maximum deceleration setpoints, the maximum limit speed is calculated using formulas and the Sigmoid acceleration/deceleration curve model. Combined with the position encoder's position value mutation filtering mechanism, a centrally symmetrical acceleration and deceleration motion control curve is planned to avoid the influence of position encoder mutations.
It achieves precise calculation of the maximum speed limit, improves motion efficiency and positioning accuracy, avoids positioning errors and system alarms caused by sudden changes in the position encoder, and ensures the stability and reliability of control.
Smart Images

Figure CN116088527B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of control method technology, and in particular to a method for calculating the maximum limit speed of a motion control curve and a motion control method. Background Technology
[0002] For motion control of controlled objects such as stacker cranes or RGVs, custom motion control curves using multi-speed splicing are often used for positioning control. However, curve modeling is complex, and the maximum achievable speed during positioning is difficult to determine, leading to longer positioning times or lower positioning accuracy. Furthermore, position encoders typically record the current position value of the controlled object in real time and feed it back to the control system (e.g., PLC) for position calibration. However, due to the influence of the industrial environment (such as electromagnetic interference), the real-time position value recorded by the position encoder may undergo abrupt changes, and these changes are unpredictable and may occur at startup or during positioning, resulting in significant positioning deviations or large speed fluctuations.
[0003] In the prior art, one method for calculating the maximum limit speed of a custom motion control curve is to roughly estimate the maximum achievable speed by simplifying the model (e.g., converting an S-shape into a straight line), but this usually comes at the cost of motion efficiency. Another method is to use mean filtering to filter the position values recorded by the position encoder, but this causes position value feedback lag, and when the abrupt change value is large, the filtering effect is often poor, and there may also be a risk of alarm shutdown. Summary of the Invention
[0004] In view of this, the present invention provides a method for calculating the maximum limit speed of a motion control curve and a motion control method, which at least partially solves the above-mentioned technical problems.
[0005] In a first aspect, the present invention provides a method for calculating the limiting maximum speed of a motion control curve, the method comprising:
[0006] Obtain the positioning distance, current speed value, destination speed value, maximum acceleration setting value, and maximum deceleration setting value;
[0007] The maximum speed that the planned first speed-time motion control curve can reach is calculated based on the positioning distance, current speed value, endpoint speed value, maximum acceleration setting value, and maximum deceleration setting value. The planned first speed-time motion control curve includes a first acceleration motion control curve and a first deceleration motion control curve that are centrally symmetrical in the time-speed coordinate system.
[0008] In one possible implementation, the step of calculating the maximum achievable limit speed value of the first speed-time motion control curve to be planned based on the positioning distance, current speed value, endpoint speed value, maximum acceleration setpoint, and maximum deceleration setpoint further includes:
[0009] According to the formula (Vmax) 2 -Va 2 ) / Accmax+(Vmax 2 -Vb 2 ) / Decmax=D*4 / 5 calculates the maximum speed value that the first speed-time motion control curve to be planned can reach, where Vmax is the maximum speed value to be calculated, Va is the current speed value, Vb is the endpoint speed value, Accmax is the maximum acceleration setting value, Decmax is the maximum deceleration setting value, and D is the positioning distance.
[0010] In one possible implementation, the maximum acceleration setpoint and / or the maximum deceleration setpoint are functions of the ultimate maximum speed to be calculated.
[0011] According to the formula (Vmax) 2 -Va 2 ) / Accmax+(Vmax 2 -Vb 2 The calculation of ) / Decmax = D*4 / 5 determines the maximum speed limit that the planned first velocity-time motion control curve can achieve. Further details include:
[0012] According to the formula (Vmax) 2 -Va 2 ) / Accmax+(Vmax 2 -Vb 2 ) / Decmax=D*4 / 5, using Newton's iteration method to calculate the maximum speed limit that the first velocity-time motion control curve to be planned can reach.
[0013] In one possible implementation, the first acceleration motion control curve is determined based on a Sigmoid acceleration curve model according to the current speed value, the maximum speed value, and the maximum acceleration setpoint.
[0014] The first deceleration control curve is determined based on the Sigmoid deceleration curve model according to the maximum speed value, the final speed value, and the maximum deceleration set value;
[0015] The Sigmoid acceleration curve model and the Sigmoid deceleration curve model are respectively obtained based on the Sigmoid function curve transformation.
[0016] In one possible implementation, the Sigmoid acceleration curve model expression is: V(t)=(Vmax1-Vmin1) / (1+e (-a1t+5) )+Vmin1,t∈(0,10 / a1);
[0017] The Sigmoid deceleration curve model expression is: V(t) = (Vmax² - Vmin²) / (1 + e) (a2t-5) )+Vmin2,t∈(0,10 / a2);
[0018] Where a1=4*Accmax / (Vmax1-Vmin1), a2=4*Decmax / (Vmax2-Vmin2), Accmax, Vmax1, and Vmin1 are the maximum acceleration setting value, the maximum speed value, and the minimum speed value of the first acceleration motion control curve, respectively, and Decmax, Vmax2, and Vmin2 are the maximum deceleration setting value, the maximum speed value, and the minimum speed value of the first deceleration motion control curve, respectively.
[0019] In one possible implementation, before obtaining the positioning distance, current velocity value, endpoint velocity value, maximum acceleration setpoint, and maximum deceleration setpoint, the method further includes:
[0020] Periodically acquire the position values of the controlled object recorded by the position encoder;
[0021] Determine whether the absolute value of the deviation between the position values recorded by the position encoder in two adjacent cycles is greater than a predetermined value;
[0022] If the absolute value of the deviation is greater than the predetermined value, the rotational speed of the motor used to control the movement of the controlled object is obtained, and the rotational speed is converted into the distance value of the controlled object in a single cycle. The sum of the distance value and the target position value of the previous cycle is calculated and the sum is determined as the current position value; otherwise, the position value recorded by the position encoder obtained in the current cycle is determined as the current position value.
[0023] The distance from the current location value to the endpoint is calculated as the positioning distance.
[0024] Secondly, the present invention provides a motion control method, comprising:
[0025] The motion of the controlled object is controlled based on the second velocity-time motion control curve, which includes a second acceleration motion control curve and a second deceleration motion control curve that are centrally symmetrical in the time-velocity coordinate system.
[0026] During the process of controlling the movement of the controlled object, the current speed and remaining distance are obtained, and the remaining distance is used as the positioning distance. The maximum speed value that can be achieved by the first speed-time motion control curve corresponding to the remaining distance to be replanned is calculated according to the aforementioned maximum speed calculation method. The actual maximum speed value of the first speed-time motion control curve corresponding to the remaining distance to be replanned is less than or equal to the maximum speed value.
[0027] In one possible implementation, the second velocity-time motion control curve further includes a uniform motion control curve that connects the second acceleration motion control curve and the second deceleration motion control curve in the time-velocity coordinate system.
[0028] In one possible implementation, the process of controlling the movement of the controlled object also includes...
[0029] Periodically acquire the position values of the controlled object recorded by the position encoder;
[0030] Determine whether the absolute value of the deviation between the position values recorded by two adjacent cycle position encoders is greater than a predetermined value;
[0031] If the absolute value of the deviation is greater than the predetermined value, the rotational speed of the motor used to control the movement of the controlled object is obtained, and the rotational speed is converted into the distance value of the controlled object in a single cycle. The sum of the distance value and the target position value of the previous cycle is calculated and the sum is determined as the current position value; otherwise, the position value recorded by the position encoder obtained in the current cycle is determined as the current position value.
[0032] Based on the determined current position value and the current speed-time motion control curve, determine the speed to be sent to the controlled object in the current cycle to control the controlled object to move at that speed.
[0033] In one possible implementation, the initiation phase prior to controlling the movement of the controlled object further includes:
[0034] Periodically acquire the position values of the controlled object recorded by the position encoder;
[0035] In real time, determine whether the absolute value of the deviation between the position value recorded by the position encoder in the current cycle and the previous cycle is greater than the positioning accuracy;
[0036] If the absolute value of the deviation is greater than the positioning accuracy, the start is delayed, and the difference between adjacent position values in the N position values recorded by the position encoder in the subsequent N consecutive cycles is calculated. If all differences are less than the positioning accuracy, the delay is canceled; otherwise, the delay continues.
[0037] In the embodiments of this application, compared with the prior art, at least the following advantages are included:
[0038] The maximum speed that the planned first velocity-time motion control curve (including the first acceleration motion control curve and the first deceleration motion control curve, which are centrally symmetrical in the time-velocity coordinate system) can reach is calculated based on the positioning distance, current speed value, final speed value, maximum acceleration set value, and maximum deceleration set value. In particular, the maximum speed that the planned first velocity-time motion control curve can reach is calculated according to a preset formula. The calculation method is simple and the calculation result is accurate, thereby ensuring, for example, the motion efficiency and positioning accuracy of controlling the motion of the controlled object based on a determined actual maximum speed value.
[0039] Furthermore, a first speed-time motion control curve is planned based on the determined actual maximum speed value to correspond to the positioning distance. This is particularly applicable when the maximum speed setpoint changes during the control of the controlled object's movement based on the second speed-time motion control curve. This can avoid low motion efficiency caused by setting the maximum speed too low and system alarms caused by setting the maximum speed too high.
[0040] Furthermore, during the motion control of the controlled object based on the speed-time motion control curve or in the initial stage before the start-up phase, a mutation filtering mechanism is used to avoid positioning errors caused by sudden changes in the position values recorded by the displacement encoder. This has a more significant advantage than alarm shutdown after startup or operation. Attached Figure Description
[0041] Figure 1 This is a flowchart of a method for calculating the maximum speed limit of a motion control curve according to a first embodiment of the present invention.
[0042] Figure 2 This is a flowchart of a motion control method according to a second embodiment of the present invention.
[0043] Figure 3 This is a schematic diagram of an example second speed-time motion control curve according to the present invention.
[0044] Figure 4 Based on the present invention Figure 3 A schematic diagram of a motion control curve that represents the maximum speed achievable when the speed setpoint changes during motion.
[0045] Figure 5 This is a schematic diagram of the present invention, which determines that the position value is normal and starts up after a sudden change in the position value recorded by the displacement encoder during the startup phase. Detailed Implementation
[0046] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided with reference to the accompanying drawings and embodiments. Obviously, the described embodiments are merely some embodiments of this application, and not all embodiments. All other technical solutions obtained by those skilled in the art based on the embodiments of this application fall within the scope of protection of this application.
[0047] Figure 1 A method for calculating the maximum limiting speed of the motion control curve according to a first embodiment of the present invention is shown. For example... Figure 1 As shown, the calculation method includes:
[0048] Step S102: Obtain the positioning distance, current speed value, endpoint speed value, maximum acceleration setting value, and maximum deceleration setting value.
[0049] In this embodiment, the "positioning distance" mentioned in step S102 refers to the distance between the current position and the target position. Therefore, the calculation of the positioning distance is included before step S102. Optionally, the calculation of the positioning distance includes: periodically acquiring the position value of the controlled object recorded by the position encoder; determining whether the absolute value of the deviation value of the position value recorded by the position encoder in two adjacent cycles is greater than a predetermined value; if the absolute value of the deviation value is greater than the predetermined value, acquiring the rotational speed value of the motor used to control the movement of the controlled object, converting the rotational speed value into the distance value of the controlled object moving in a single cycle, calculating the sum of the distance value and the determined target position value of the previous cycle, and determining the sum as the current position value; otherwise, determining the position value recorded by the position encoder in the current cycle as the current position value; calculating the distance from the current position value to the endpoint as the positioning distance. Unlike directly acquiring the current position value recorded by the position encoder as the current position value, this optional solution can avoid the problem of inaccurate positioning distance caused by sudden changes in the real-time recording of the position encoder due to electromagnetic interference, etc., and can improve the accuracy of the calculation result of the maximum speed limit of the motion control curve in this embodiment to a certain extent.
[0050] Step S104: Calculate the maximum speed value that the planned first speed-time motion control curve can reach based on the positioning distance, current speed value, endpoint speed value, maximum acceleration setting value, and maximum deceleration setting value. The planned first speed-time motion control curve includes a first acceleration motion control curve and a first deceleration motion control curve that are centrally symmetrical in the time-speed coordinate system.
[0051] Optionally, step S104 can be further implemented as follows: according to the formula (Vmax) 2 -Va 2 ) / Accmax+(Vmax 2 -Vb2 The formula ) / Decmax = D * 4 / 5 calculates the maximum achievable speed value of the planned first speed-time motion control curve, where Vmax is the maximum achievable speed value, Va is the current speed value, Vb is the final speed value, Accmax is the maximum acceleration setting, Decmax is the maximum deceleration setting, and D is the positioning distance. This formula allows for a precise calculation of the actual achievable maximum speed value, improving operational efficiency.
[0052] Furthermore, if the calculation formula involves a system of higher-order equations, such as when the maximum acceleration setpoint and / or the maximum deceleration setpoint are functions of the maximum limit velocity to be calculated, then the formula (Vmax) can be used. 2 -Va 2 ) / Accmax+(Vmax 2 -Vb 2 ) / Decmax=D*4 / 5, using Newton's iteration method to calculate the maximum speed limit that the first speed-time motion control curve to be planned can reach. In this way, the maximum speed limit that can actually be reached can be calculated more accurately without explicit solution, simplifying the calculation process and improving operating efficiency.
[0053] In this embodiment, the first velocity-time motion control curve to be planned in step S104 is a custom motion control curve including a first acceleration motion control curve and a first deceleration motion control curve. It must satisfy the condition that the first acceleration motion control curve and the first deceleration motion control curve are centrally symmetrical in the time-velocity coordinate system. For example, the first acceleration motion control curve can be determined based on a Sigmoid acceleration curve model according to the current velocity value, the maximum velocity value, and the maximum acceleration setpoint. The first deceleration motion control curve can be determined based on a Sigmoid deceleration curve model according to the maximum velocity value, the final velocity value, and the maximum deceleration setpoint. The Sigmoid acceleration and deceleration curve models can be obtained based on a Sigmoid function curve transformation. For example, the transformed Sigmoid acceleration curve model can be expressed as: V(t)=(Vmax1-Vmin1) / (1+e (-a1t+5) The Sigmoid deceleration curve model obtained by the transformation can be expressed as: V(t)=(Vmax2-Vmin2) / (1+e)+Vmin1,t∈(0,10 / a1); (a2t-5))+Vmin2, t∈(0, 10 / a2); where a1=4*Accmax / (Vmax1-Vmin1), a2=4*Decmax / (Vmax2-Vmin2), Accmax, Vmax1, and Vmin1 are the maximum acceleration setpoint, maximum speed value, and minimum speed value of the first acceleration motion control curve, respectively, and Decmax, Vmax2, and Vmin2 are the maximum deceleration setpoint, maximum speed value, and minimum speed value of the first deceleration motion control curve, respectively. For example, Figure 4 The curve between T1 and T3 is an example motion control curve where the maximum speed value is the limit maximum speed value.
[0054] In this embodiment, the maximum speed limit calculated in step S104 can, for example, be used to guide the planning of the first speed-time motion control curve. The maximum speed of the planned first speed-time motion control curve needs to be less than or equal to the maximum speed limit. For example, if the maximum speed set by the user is greater than the maximum speed limit, the system can automatically plan the first speed-time motion control curve based on the maximum speed limit (instead of the maximum speed set by the user, because it is not realistic). Furthermore, if the maximum speed set by the user is less than the maximum speed limit, the first speed-time motion control curve can also include, as needed, a uniform motion control curve connecting the first acceleration motion control curve and the first deceleration motion control curve in the time-speed coordinate system.
[0055] Figure 2 The second embodiment of the present invention is shown. Figure 1 An embodiment of a motion control method for calculating the ultimate maximum speed, the motion control method comprising:
[0056] Step S202: Control the motion of the controlled object based on the second velocity-time motion control curve, wherein the second velocity-time motion control curve includes a second acceleration motion control curve and a second deceleration motion control curve that are centrally symmetrical in the time-velocity coordinate system.
[0057] For example, the second acceleration motion control curve can be determined based on the aforementioned Sigmoid acceleration curve model according to the current speed value, maximum speed value, and maximum acceleration setpoint; the second deceleration motion control curve can be determined based on the aforementioned Sigmoid deceleration curve model according to the maximum speed value, final speed value, and maximum deceleration setpoint. Optionally, the second speed-time motion control curve also includes a uniform motion control curve connecting the second acceleration motion control curve and the second deceleration motion control curve in the time-speed coordinate system, for example, Figure 3An example of a second velocity-time motion control curve is shown, which includes a second acceleration motion control curve, a uniform motion control curve, and a second deceleration motion control curve.
[0058] Step S204: Upon receiving an instruction indicating a change in the speed setpoint, the current speed and remaining distance are obtained. Using the remaining distance as the positioning distance, the maximum speed value achievable by the first speed-time motion control curve corresponding to the remaining distance is calculated according to the maximum speed calculation method of the first embodiment described above. Optionally, the maximum acceleration setpoint and maximum deceleration setpoint of the first speed-time motion control curve can be the same as or different from those of the second speed-time motion control curve. For example, the maximum acceleration setpoint and maximum deceleration setpoint of the second speed-time motion control curve can be reset as needed.
[0059] Step S206: Based on the calculated maximum speed limit, determine the maximum speed value (or actual maximum speed value) of the first speed-time motion control curve to be replanned for the remaining distance, and plan the first speed-time motion control curve for the remaining distance based on the determined actual maximum speed value, wherein the actual maximum speed value is less than or equal to the maximum speed limit.
[0060] Step S208: Control the motion of the controlled object based on the first velocity-time motion control curve corresponding to the remaining distance.
[0061] by Figure 3 Taking the example curve as an example, based on Figure 3 Example motion control curve: During the process of controlling the motion of the controlled object, at time T1, the speed setpoint increases, such as... Figure 4 As shown, it is necessary to calculate the maximum achievable speed at this point in order to establish a theoretical speed model after the speed change and to plan the first speed-time motion control curve for the remaining distance. Specifically, Figure 4 When the peak (maximum speed value) is the ultimate maximum speed value, the achievable ultimate maximum speed setpoint Vmax needs to be calculated in real time based on the remaining distance D and the current speed V. D1 and D2 are two regions divided by a curve within the rectangle bounded by V1, V2, T1, and T2. D3 and D4 are two parts divided by a curve within the rectangle bounded by V1, the t-axis, T2, and T3. Based on the characteristic that the first acceleration motion control curve and the first deceleration motion control curve of the first velocity-time motion control curve to be planned are centrally symmetrical in the time-velocity coordinate system, then D1 = D2, D3 = D4. Therefore, the aforementioned formula (Vmax) can be obtained through the area method or the integration method. 2 -Va 2 ) / Accmax+(Vmax2 -Vb 2 ) / Decmax=D*4 / 5, which also verifies the accuracy of the maximum speed value that the first speed-time motion control curve to be planned can reach according to the formula in the first embodiment mentioned above.
[0062] Optionally, the process of controlling the movement of the controlled object further includes the following steps: periodically acquiring the position value of the controlled object recorded by the position encoder; determining whether the absolute value of the deviation between the position values recorded by the position encoder in two adjacent cycles is greater than a predetermined value; if the absolute value of the deviation is greater than the predetermined value (which can be set based on experience), acquiring the rotational speed of the motor used to control the movement of the controlled object, converting the rotational speed into the distance value of the controlled object in a single cycle, calculating the sum of the distance value and the determined target position value of the previous cycle, and determining the sum as the current position value; otherwise, determining the position value recorded by the position encoder acquired in the current cycle as the current position value; determining the speed to be sent to the controlled object in the current cycle based on the determined current position value and the current speed-time motion control curve to control the controlled object to move at that speed.
[0063] Optionally, the startup phase before controlling the motion of the controlled object based on the motion control curve (e.g., the startup phase before controlling the motion of the controlled object based on the second velocity-time motion control curve) may further include the following steps: periodically acquiring the position values of the controlled object recorded by the position encoder; determining in real time whether the absolute value of the deviation between the position values recorded by the position encoder in the current cycle and the previous cycle is greater than the positioning accuracy; if the absolute value of the deviation is greater than the positioning accuracy, then delaying the startup, and calculating the difference between adjacent position values in the N position values recorded by the position encoder in the subsequent N consecutive cycles; if all differences are less than the positioning accuracy, then canceling the delay; otherwise, continuing the delay. Here, N is an integer greater than or equal to 1, and the value of N can be set as needed. Example: See Appendix Figure 5 In the initial stage before controlling the controlled object's movement based on motion control curve S1 (i.e., when the actual speed is zero), the position value of the current scan cycle and the previous scan cycle are judged in real time. If the absolute value of the deviation of the position value is greater than the positioning accuracy, it is judged as a sudden change in position (as shown in the position value change curve of S2), and a signal F is set. If F = true, even if the start switch is pressed, it will not start (as shown in the delayed start curve of S3), and the actual position value of the next 3 time periods is continuously recorded (e.g., at 1-second intervals). If all differences are less than the positioning accuracy, the F signal is reset; otherwise, the delay continues. After F is reset, if the start switch is ON, operation begins (as shown in the absolute positioning command curve of S4).
[0064] In this embodiment, the value of the aforementioned period can be set according to the actual application scenario or needs. Optionally, the period is obtained based on the controller's scan cycle. For example, the period involved in this embodiment is the PLC's scan cycle, or it can be obtained by multiplying or dividing the scan cycle, but is not limited to this.
[0065] It should be noted that in the claims and specification of this patent, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one" does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0066] Obviously, those skilled in the art will understand that the modules or steps of the embodiments described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. Optionally, they can be implemented using computer-executable program code, thereby storing them in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented herein, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the embodiments of this specification are not limited to any particular combination of hardware and software.
[0067] Although the invention has been illustrated and described with reference to certain preferred embodiments thereof, those skilled in the art will understand that various changes in form and detail may be made therein without departing from the spirit and scope of the invention.
[0068] The present invention has been shown and described in detail above with reference to the accompanying drawings and preferred embodiments. However, the present invention is not limited to these disclosed embodiments. Based on the above embodiments, those skilled in the art will know that more embodiments of the present invention can be obtained by combining the code review methods in the different embodiments. These embodiments are also within the protection scope of the present invention.
Claims
1. A method for calculating the limiting maximum speed of a motion control curve, characterized in that, include: Obtain the positioning distance, current speed value, destination speed value, maximum acceleration setting value, and maximum deceleration setting value; Based on the positioning distance, current speed value, endpoint speed value, maximum acceleration setpoint, and maximum deceleration setpoint, calculate the maximum speed limit that the planned first speed-time motion control curve can reach. The planned first speed-time motion control curve includes a first acceleration motion control curve and a first deceleration motion control curve, each centrally symmetrical in the time-speed coordinate system. This step further includes: calculating the maximum speed value that the planned first speed-time motion control curve can reach based on the formula (Vmax). 2 -Va 2 ) / Accmax+(Vmax 2 -Vb 2 ) / Decmax=D*4 / 5 calculates the maximum speed value that the first speed-time motion control curve to be planned can reach, where Vmax is the maximum speed value to be calculated, Va is the current speed value, Vb is the endpoint speed value, Accmax is the maximum acceleration setting value, Decmax is the maximum deceleration setting value, and D is the positioning distance.
2. The method for calculating the limiting maximum speed of the motion control curve according to claim 1, characterized in that, The maximum acceleration setpoint and / or the maximum deceleration setpoint are functions of the ultimate maximum speed to be calculated; According to the formula (Vmax) 2 -Va 2 ) / Accmax+(Vmax 2 -Vb 2 The calculation of ) / Decmax = D*4 / 5 determines the maximum speed limit that the planned first velocity-time motion control curve can achieve. Further details include: According to the formula (Vmax) 2 -Va 2 ) / Accmax+(Vmax 2 -Vb 2 ) / Decmax=D*4 / 5, using Newton's iteration method to calculate the maximum speed limit that the first velocity-time motion control curve to be planned can reach.
3. The method for calculating the ultimate maximum speed of the motion control curve according to claim 1 or 2, characterized in that, The first acceleration motion control curve is determined based on the Sigmoid acceleration curve model according to the current speed value, the maximum speed value, and the maximum acceleration setpoint. The first deceleration control curve is determined based on the Sigmoid deceleration curve model according to the maximum speed value, the endpoint speed value, and the maximum deceleration setpoint. The Sigmoid acceleration curve model and the Sigmoid deceleration curve model are respectively obtained based on the Sigmoid function curve transformation.
4. The method for calculating the ultimate maximum speed of the motion control curve according to claim 3, characterized in that, The Sigmoid acceleration curve model expression is: V(t) = (Vmax1 - Vmin1) / (1 + e^(-Vmax1 - Vmin1)) (-a1t+5) )+Vmin1,t∈(0,10 / a1); The Sigmoid deceleration curve model expression is: V(t) = (Vmax² - Vmin²) / (1 + e) (a2t-5) )+Vmin2,t∈(0,10 / a2); Where a1=4*Accmax / (Vmax1-Vmin1), a2=4*Decmax / (Vmax2-Vmin2), Accmax, Vmax1, and Vmin1 are the maximum acceleration setting value, the maximum speed value, and the minimum speed value of the first acceleration motion control curve, respectively, and Decmax, Vmax2, and Vmin2 are the maximum deceleration setting value, the maximum speed value, and the minimum speed value of the first deceleration motion control curve, respectively.
5. The method for calculating the limiting maximum speed of the motion control curve according to claim 1 or 2, characterized in that, Before obtaining the positioning distance, current speed value, destination speed value, maximum acceleration setting value, and maximum deceleration setting value, the following steps are also included: Periodically acquire the position values of the controlled object recorded by the position encoder; Determine whether the absolute value of the deviation between the position values recorded by the position encoder in two adjacent cycles is greater than a predetermined value; If the absolute value of the deviation is greater than the predetermined value, the rotational speed of the motor used to control the movement of the controlled object is obtained, and the rotational speed is converted into the distance value of the controlled object in a single cycle. The sum of the distance value and the target position value of the previous cycle is calculated and the sum is determined as the current position value; otherwise, the position value recorded by the position encoder obtained in the current cycle is determined as the current position value. The distance from the current location value to the endpoint is calculated as the positioning distance.
6. A motion control method, characterized in that, include: The motion of the controlled object is controlled based on the second velocity-time motion control curve, which includes a second acceleration motion control curve and a second deceleration motion control curve that are centrally symmetrical in the time-velocity coordinate system. During the process of controlling the movement of the controlled object, the current speed and remaining distance are obtained, and the remaining distance is used as the positioning distance. According to the method for calculating the maximum speed limit according to any one of claims 1-5, the maximum speed limit that can be achieved by the first speed-time motion control curve corresponding to the remaining distance to be replanned is calculated, wherein the actual maximum speed value of the first speed-time motion control curve corresponding to the remaining distance to be replanned is less than or equal to the maximum speed limit.
7. The motion control method according to claim 6, characterized in that, The second velocity-time motion control curve also includes a uniform motion control curve that connects the second acceleration motion control curve and the second deceleration motion control curve in the time-velocity coordinate system.
8. The motion control method according to claim 6 or 7, characterized in that, The process of controlling the movement of the controlled object also includes Periodically acquire the position values of the controlled object recorded by the position encoder; Determine whether the absolute value of the deviation between the position values recorded by two adjacent cycle position encoders is greater than a predetermined value; If the absolute value of the deviation is greater than the predetermined value, the rotational speed of the motor used to control the movement of the controlled object is obtained, and the rotational speed is converted into the distance value of the controlled object in a single cycle. The sum of the distance value and the target position value of the previous cycle is calculated and the sum is determined as the current position value; otherwise, the position value recorded by the position encoder obtained in the current cycle is determined as the current position value. Based on the determined current position value and the current speed-time motion control curve, determine the speed to be sent to the controlled object in the current cycle to control the controlled object to move at that speed.
9. The motion control method according to claim 6 or 7, characterized in that, The initiation phase, prior to controlling the movement of the controlled object, also includes: Periodically acquire the position values of the controlled object recorded by the position encoder; In real time, determine whether the absolute value of the deviation between the position value recorded by the position encoder in the current cycle and the previous cycle is greater than the positioning accuracy; If the absolute value of the deviation is greater than the positioning accuracy, the start is delayed, and the difference between adjacent position values in the N position values recorded by the position encoder in the subsequent N consecutive cycles is calculated. If all differences are less than the positioning accuracy, the delay is canceled; otherwise, the delay continues.