Methods, apparatus and computer equipment for smooth stopping of robot jogging motion
By improving the T-curve planning of acceleration and velocity, a smooth stop of the robot's inching motion is achieved, solving the mechanical impact problem caused by sudden acceleration changes in traditional methods, and improving the robot's service life and response speed.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANGHAI FUXI TECH CO LTD
- Filing Date
- 2026-04-16
- Publication Date
- 2026-05-26
AI Technical Summary
Traditional jog control methods cause sudden changes in robot joint speed, resulting in mechanical shocks and reducing the robot's lifespan. Furthermore, higher-order methods such as B-spline curves involve large computational loads and have slow response times.
An improved T-curve is used to plan the acceleration curve, which is processed in two stages: first, the current acceleration is linearly reduced to zero with a preset constant jerk, and then the velocity is smoothly reduced to zero with the improved T-curve. The acceleration zeroing and velocity zeroing modules are used to achieve a smooth stop.
It ensures continuous acceleration without abrupt changes during the stopping process, avoids shocks and vibrations, extends the life of mechanical components, balances fast response and smoothness, requires little computation, and is easy to implement in engineering.
Smart Images

Figure CN122077652A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and in particular to a method, apparatus, and computer equipment for smoothly stopping a robot's inching motion. Background Technology
[0002] Teaching and programming industrial robots is a crucial part of robot applications. Operators control the robot's movement through a teach pendant, recording and saving key points for subsequent automated operation. In this process, jogging is one of the most frequently used functions—the operator presses a button to control a single joint or end effector of the robot to move in a specific direction, and releases the button to stop the movement.
[0003] The response speed and smoothness of jog operation directly affect teaching efficiency and user experience. However, traditional jog control methods have significant shortcomings in planned stopping. In existing technologies, common jog control strategies calculate the position command for the next moment in real time within each control cycle. When a button release is detected, the transmission of new position commands is stopped abruptly, or the target velocity is simply set to zero. This truncated stopping method causes sudden changes in robot joint velocity, leading to acceleration step jumps, mechanical shocks, and reduced robot lifespan.
[0004] To address the impact problem, some researchers have proposed using B-spline curves or higher-order polynomials for trajectory planning. However, when applied to jogging operations, higher-order methods such as B-spline curves can make jogging more complex, resulting in drawbacks such as high computational cost and delayed stopping response. Summary of the Invention
[0005] In view of the shortcomings of the prior art, the technical problem to be solved by the present invention is to provide a method, device and computer equipment for smooth stopping of robot jogging motion that avoids impact when the motion stops, while ensuring real-time response of jogging operation.
[0006] To solve the above-mentioned technical problems, one technical solution adopted by the present invention is: to provide a method for smooth stopping of robot inching motion, comprising the following steps: In response to a stop command, the robot's motion parameters are acquired, including at least the current acceleration and the current velocity. The current acceleration is linearly reduced to zero with a preset constant jerk to obtain the intermediate velocity and intermediate position; Using the intermediate speed as the starting speed and zero as the ending speed, an improved T-curve is used to plan the output, resulting in an acceleration curve that smoothly reduces the speed to zero.
[0007] Furthermore, in the step of planning the acceleration curve using the improved T-curve, the planned acceleration curve tends to be trapezoidal in shape, and includes, in sequence: an acceleration-deceleration segment where the acceleration decreases from zero to the maximum deceleration, a uniform deceleration segment where the acceleration maintains the maximum deceleration, and a deceleration segment where the acceleration increases from the maximum deceleration segment to zero.
[0008] Furthermore, the improved T-curve is obtained by adding a mean filter to the basic T-curve, so that the acceleration is zero at both the start and stop of the motion.
[0009] Furthermore, the step of linearly reducing the current acceleration to zero with a preset constant accelerometer to obtain the intermediate velocity and intermediate position includes the following sub-steps: Calculate the time required for the acceleration to return to zero based on the current acceleration and the preset constant jerk. Based on the time and the robot's communication cycle, calculate the number of cycles required for the acceleration to return to zero; Within each communication cycle, the acceleration is updated based on the constant jerk, and the velocity and position are updated by integration; Repeat the update until the acceleration is zero, and record the velocity and position at this point as the intermediate velocity and intermediate position.
[0010] Furthermore, before responding to the jog stop command, a trajectory pre-planning step is also included: In response to the jog start command, based on the given starting point, maximum speed, maximum acceleration and maximum jerk, the motion trajectory of the jog axis is planned using an improved T-curve. Generate discrete control points corresponding to the motion trajectory. Each control point includes a corresponding timestamp, joint angle, and joint velocity. Control the robot's joint motion based on these control points, where the joint angle is the position of the motion and the joint velocity is the speed of the motion.
[0011] Furthermore, acquiring the robot's motion parameters also includes acquiring the velocity for the next cycle; the current acceleration is calculated based on the current velocity, the velocity for the next cycle, and the communication cycle.
[0012] Furthermore, the formula for calculating the current acceleration is as follows: qdd pre =(qd next -qd pre ) / ts Among them, qdd pre qd represents the current acceleration. next Indicates the velocity of the next cycle, qd pre ts represents the current speed and ts represents the communication cycle.
[0013] Furthermore, the formula for calculating the time required for the acceleration to return to zero is as follows: t stop =qdd pre / maxJerk Among them, t stop This indicates the time required to reduce the acceleration to zero, and maxJerk represents the preset maximum jerk. The formula for calculating the number of cycles required for the acceleration to return to zero is as follows: n stop =t stop / ts Where, n stop ts represents the number of cycles required for the acceleration to return to zero, and ts represents the communication cycle. The formula for updating the acceleration is as follows: acc i =qdd pre +(-sym qdd *maxJerk)*ts Among them, acc i sym represents the acceleration in the next cycle. qdd Indicates the direction of the current acceleration. If the acceleration is greater than zero, the direction of the acceleration is positive. qdd If the acceleration is less than zero, then the direction of the acceleration is negative. (sym) qdd Take -1.
[0014] To solve the above-mentioned technical problems, another technical solution adopted by the present invention is: to provide a device for smooth stopping of robot inching motion, comprising: The parameter acquisition module is used to acquire the robot's motion parameters in response to the jog stop command. The motion parameters include at least the current acceleration and the current velocity. The acceleration zeroing module is used to linearly reduce the current acceleration to zero with a preset constant jerk, thereby obtaining an intermediate velocity and intermediate position; The speed zeroing module is used to plan the speed using the intermediate speed as the starting speed and zero as the ending speed, and to obtain the acceleration curve so that the speed is smoothly reduced to zero.
[0015] To solve the above-mentioned technical problems, another technical solution adopted by the present invention is to provide a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the method for smooth stopping of robot jogging motion.
[0016] The method, apparatus, and computer equipment for smooth stopping of robot jogging motion of the present invention have at least the following beneficial effects: Through two-stage processing of acceleration and velocity zeroing, the current acceleration is first eliminated with the maximum jerk, and then the remaining velocity is smoothly reduced to zero based on an improved T-curve. This ensures continuous and abrupt acceleration throughout the stopping process, fundamentally avoiding the impact, vibration, and noise caused by speed and acceleration abrupt changes in traditional truncation-type stopping methods, thereby extending the service life of robot mechanical components. Furthermore, the T-curve is creatively applied to velocity planning, rather than traditional position planning. In the acceleration zeroing stage, the maximum allowable jerk is used to eliminate the current acceleration, which is the fastest power unloading method under smooth constraints, minimizing the time required for the acceleration zeroing stage. The time consumption creates conditions for rapid overall stopping, balancing real-time stopping with smooth motion, achieving rapid response while ensuring smoothness. An improved T-curve is used for velocity zeroing stage planning, and mean filtering ensures the acceleration curve starts and ends at zero. The generated acceleration curve smoothly changes from zero, guaranteeing a perfect connection with the end point of the first stage, making the entire two-stage stopping process dynamically coherent. Simultaneously, the acceleration also smoothly returns to zero at the end, suppressing residual vibration at the moment of stopping, improving stability and positioning accuracy after positioning, and ensuring a natural, coherent, and stable stopping process. It avoids complex global planning algorithms such as B-splines; the core steps are based on linear calculation and improved T-curve planning, with low computational load, simplicity, efficiency, high determinism, and ease of engineering implementation. This enables it to meet the requirements of high-frequency real-time control for industrial robot controllers, ensuring high performance while possessing high engineering practical value. Attached Figure Description
[0017] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings: Figure 1 This is a flowchart of one embodiment of the method for smooth stopping of robot jogging motion according to the present invention.
[0018] Figure 2 for Figure 1 Flowchart of step S300.
[0019] Figure 3 This is a graph illustrating an example of a smooth, stop-motion process.
[0020] Figure 4 This is a structural block diagram of one embodiment of the device for smooth stopping of robot jogging motion according to the present invention. Detailed Implementation The following disclosure provides various embodiments or examples for implementing different features of the invention. Specific examples of components and arrangements will be described below to simplify the invention. Of course, these are merely examples and are not intended to limit the invention. For example, in the following description, forming a first component above or on a second component may include embodiments where the first and second components are in direct contact, or embodiments where other components may be formed between the first and second components such that the first and second components are not in direct contact. Furthermore, reference numerals and / or characters may be repeated in various instances of the invention. Such repetition is for simplification and clarity and does not in itself indicate a relationship between the various embodiments and / or configurations.
[0021] Furthermore, spatial relation terms such as "below," "under," "below," "above," and "above" may be used herein to readily describe the relationship between one element or component and another element (or component) or component (or component) as shown in the figure. In addition to the orientations shown in the figure, spatial relation terms will encompass various different orientations of the device in use or operation. The device may be positioned in other ways (rotated 90 degrees or in other orientations) and will be interpreted accordingly through the spatial relation descriptors used herein.
[0022] Although the numerical ranges and parameter settings presented in this invention are approximations, the numerical settings in specific instances are reported as precisely as possible. Any numerical value, however, inherently contains certain inevitable errors arising from the standard deviation found in the respective test measurements. Similarly, as used herein, the term "about" generally refers to within 10%, 5%, 1%, or 0.5% of a given value or range. Alternatively, the term "about" means within an acceptable average standard error that can be conceived by one of ordinary skill in the art. Except in instances of operation / work, or unless expressly stated otherwise, all numerical ranges, totals, values, and percentages, such as those for material quantities, durations, temperatures, operating conditions, amounts, and other similarities disclosed herein, should be understood to be modified by the term "about" in all cases. Therefore, unless otherwise stated, the numerical parameter settings set forth in this invention and the appended claims are approximations that can be changed upon request. At a minimum, each numerical parameter should be interpreted based on the number of significant figures reported and the application of ordinary rounding techniques. A range herein may be expressed as from one endpoint to another or between two endpoints. All scopes disclosed herein include endpoints unless otherwise stated.
[0023] Furthermore, the technical parts described in this invention and the appended claims are primarily the improved technical parts of this invention, and do not limit the object protected by this invention to only having these technical parts. Other known essential components (structures and / or methods) and / or non-essential components of the object protected, besides the technical parts described in this invention and the appended claims, are not included in this invention and the appended claims because they do not fall within the scope of improvements of this invention; however, this does not mean that the object protected by this invention does not possess these known components.
[0024] Please see Figure 1 This is a flowchart of an embodiment of the method for smooth stopping of robot jogging motion according to the present invention. This embodiment includes the following steps: S100 generates a jog motion trajectory and controls the robot's jog motion.
[0025] Specifically, in response to a jog start command (e.g., an operator pressing a forward or reverse jog button on a joint via a teach pendant), the controller plans the motion trajectory of the jog axis using a modified T-curve based on a given starting point, maximum speed, maximum acceleration, and maximum jerk. The starting point is typically the robot's current joint angle or the pose of the end effector. The maximum speed, maximum acceleration, and maximum jerk are parameters preset according to robot dynamics constraints and safety requirements. For example, for a six-axis industrial robot, its maximum joint speed can be set to approximately 180° / s, maximum acceleration to approximately 800° / s², and maximum jerk to approximately 10000° / s³.
[0026] The improved T-curve is obtained by adding a mean filter to the basic T-curve. The basic T-curve velocity curve typically consists of three segments: uniform acceleration, uniform velocity, and uniform deceleration. However, its acceleration exhibits abrupt changes at the start and end (i.e., infinite jerk), which can cause mechanical shock. To eliminate this abrupt change, this application applies a moving average filter (i.e., mean filter) to the acceleration sequence calculated from the basic T-curve. The filter window length can be set to 3-5 control cycles. After filtering, the originally step-change acceleration rising and falling edges are replaced with ramps of finite slope, keeping the jerk constant at a finite value, thus achieving a smooth characteristic where the acceleration is zero at the start and end of the motion. This improvement makes the jerk continuous and bounded throughout the jogging and stopping process, thereby minimizing impact, vibration, and wear at the physical level.
[0027] After trajectory planning is completed, the controller generates discrete control points corresponding to the motion trajectory. Each control point corresponds to a communication cycle, including the timestamp of the corresponding cycle, the desired joint angle (i.e., position), and the desired joint velocity. The controller sends these control points to the servo driver in sequence according to the timestamps. The driver controls the robot joints to accurately track the planned trajectory according to the position / velocity closed loop. Thus, while the jog button is held down, the robot continues to move according to the smooth, improved T-curve described above until a stop command is received.
[0028] S200: In response to the jog stop command, acquire the robot's motion parameters.
[0029] When the operator releases the jog button or the system stops due to a malfunction, the controller immediately responds to the jog stop command. To determine the current motion state, the controller acquires the robot's motion parameters, which include at least the current acceleration and current velocity. In this embodiment, the controller further acquires the velocity for the next cycle (i.e., the velocity expected to be reached in the next communication cycle), thereby calculating the current acceleration through numerical differentiation.
[0030] Specifically, the robot control system generates new position and velocity commands within each communication cycle (ts). In the current cycle (called the k-th cycle) when a stop command is detected, the controller knows the velocity qd for this cycle. pre (i.e., the current speed) and the planned speed qd for the next cycle (the (k+1)th cycle). next Therefore, the current acceleration qdd pre It can be calculated using the following forward difference formula: qdd pre =(qd next -qd pre ) / ts Among them, qdd pre qd represents the current acceleration. next Indicates the velocity of the next cycle, qd pre This represents the current speed, and ts represents the communication cycle. It should be noted that during normal jogging motion, since the trajectory is pre-planned, the speed qd in the next cycle... next These are known quantities; even in some real-time trajectory generation implementations, the current acceleration can be calculated using the current velocity and the velocity of the previous cycle. This embodiment uses forward differential to reflect the impending inertial force more promptly, which is beneficial for the dynamic matching of subsequent stopping planning.
[0031] In addition, to handle boundary cases, if the stop command is triggered at the very beginning of the motion or during a constant velocity phase, the current acceleration may be zero or very small, and the subsequent processing is also applicable.
[0032] S300: The current acceleration is linearly reduced to zero with a preset constant jerk to obtain the intermediate speed and intermediate position.
[0033] Please see Figure 2 Step S300 is used to quickly and smoothly eliminate the existing acceleration, creating initial conditions for the second stage of velocity zeroing (i.e., the initial acceleration is zero). Specifically, it includes the following sub-steps: S310. Based on the current acceleration and the preset constant jerk, calculate the time required for the acceleration to return to zero.
[0034] In this embodiment, the preset constant jerk is preferably the maximum jerk allowed by the system. This maximum jerk is typically calibrated by the robot manufacturer or dynamically adjusted according to the load and operating conditions. Selecting the maximum jerk is to complete the step of reducing the acceleration to zero in the shortest possible time without causing impact (given the limited jerk), allowing the robot to transition to the final stopping phase as quickly and smoothly as possible. The direction of the jerk is opposite to the direction of the current acceleration. Therefore, the time t required to linearly reduce the current acceleration to zero is... stop for: t stop =qdd pre / maxJerk Among them, t stop This represents the time required to reduce the acceleration to zero, and maxJerk represents the preset maximum jerk. The absolute value was omitted in the original formula, but considering qdd... pre It may be negative; in actual calculations, the absolute value should be taken to ensure that the time is positive. Those skilled in the art will understand that if qdd... pre If qdd is positive, then apply a negative constant accelerometer; if qdd pre If the value is negative, a positive constant accelerometer is applied. The direction sign is determined by sym in subsequent periodic updates. qdd Variable handling.
[0035] S320. Based on the time and the robot's communication cycle, calculate the number of cycles required for the acceleration to return to zero. Specifically, since the control system's command updates are discrete, the continuous time needs to be converted into an integer number of control cycles. The number of cycles is n. stop The calculation is as follows: n stop =t stop / ts Where, n stop ts represents the number of cycles required for the acceleration to return to zero, and ts represents the communication cycle.
[0036] S330. In each communication cycle, the acceleration is updated based on the constant jerk, and the velocity and position are updated by integration.
[0037] Starting from the current period, for each subsequent period i (i=1,2,...,n) stop Perform the following updates sequentially. First, update the acceleration: acc i =qdd pre +(-sym qdd *maxJerk)*ts Among them, acc i sym represents the acceleration in the next cycle. qdd Indicates the direction of the current acceleration. If the acceleration is greater than zero, the direction of the acceleration is positive. qdd If the acceleration is less than zero, then the direction of the acceleration is negative. (sym) qdd We take -1. The method of calculating velocity and position through integration is a mature existing technology, and will not be elaborated on here.
[0038] S340. Repeat the update until the acceleration is zero, and record the speed and position at this time as the intermediate speed and intermediate position.
[0039] In another extended embodiment of the invention, the constant jerk used in step S300 is not necessarily the absolute maximum value of the system, but can also be a preset smaller value, such as half of the maximum jerk maxJerk, to achieve a smoother power unloading process, suitable for applications that are extremely sensitive to impact (such as precision assembly or human-machine collaboration scenarios). Correspondingly, the time t required to reduce the acceleration to zero... stop It will increase, resulting in a slower response speed, but also a smaller jerk and lower mechanical stress. This design, which trades down time for greater smoothness, also falls within the scope of this invention. Those skilled in the art can freely choose between the maximum and minimum jerk depending on the specific application scenario, all of which fall within the preset constant jerk range defined in this step.
[0040] S400. Using the intermediate speed as the starting speed and zero as the ending speed, the speed is planned using an improved T-curve to obtain an acceleration curve, so that the speed is smoothly reduced to zero.
[0041] After the acceleration reaches zero, the robot is still at an intermediate velocity qd. mid (i.e., the velocity obtained at the end of S300) continues to move. Now it is necessary to smoothly reduce this velocity to zero, while ensuring that the acceleration is continuous throughout the stopping process and eventually reaches zero as well. To this end, this step creatively applies an improved T-shaped velocity curve to the velocity planning domain, rather than the traditional position planning domain.
[0042] After obtaining the acceleration curve, the velocity curve can be obtained by integrating the acceleration curve, and then the position command can be obtained by integrating the velocity curve. Specifically, the planned acceleration curve tends to be trapezoidal in shape, and includes, in sequence: an acceleration-deceleration segment where the acceleration decreases from zero to the maximum deceleration segment, a uniform deceleration segment where the acceleration maintains the maximum deceleration segment, and a deceleration segment where the acceleration increases from the maximum deceleration segment to zero.
[0043] The specific planning process is as follows: Let the initial velocity be V0 = qd mid The termination velocity Vt = 0. The maximum deceleration amax (a positive value, representing the magnitude of acceleration during the deceleration phase) and the maximum jerk Jmax (which may be the same as or different from the aforementioned maxJerk, and can be set separately according to the comfort requirements of the stopping phase) are set. In this embodiment, to make the acceleration curve approach a trapezoid (i.e., the acceleration changes as quickly as possible), the jerk is set to a large value, specifically 10000° / s. 3 The improved T-curve acceleration curve planning consists of three sub-stages: (1) Acceleration and deceleration phase (acceleration decreases linearly from zero to -amax): In this phase, the jerk is -Jmax (if V0 is positive). The acceleration value starts from 0 and decreases at a constant slope, reaching -amax after time t1 = amax / Jmax. The velocity change in this phase is a parabolic decrease.
[0044] (2) Uniform deceleration phase (acceleration maintained at -amax): In this phase, the jerk is zero, the acceleration is constant at -amax, and the velocity decreases linearly. The duration t2 of this phase depends on the remaining velocity difference and can be calculated by subtracting the velocity changes of the acceleration / deceleration phase and the deceleration / deceleration phase from the total velocity change. If the initial velocity is small, t2 may be zero, i.e., the trapezoid degenerates into a triangle.
[0045] (3) Deceleration phase (acceleration increases linearly from -amax to zero): In this phase, the jerk is +Jmax, and the acceleration increases from -amax with a constant slope. After time t3 = amax / Jmax, it returns to zero. The velocity curve is a parabolic descent, and the final velocity is exactly zero, and the final acceleration is also zero.
[0046] Traditionally, T-curve trajectory planning is typically used for complete motion planning from the starting position to the target position, with position parameters as input. In this solution, the T-curve is creatively used to plan the velocity zeroing process, with velocity parameters (starting velocity, ending velocity 0) as input, rather than position parameters. This approach transforms the T-curve from a position planning tool into a velocity planning tool, achieving a functional shift.
[0047] The improved T-curve is obtained by adding a mean filter to the basic T-curve, ensuring that the acceleration is zero at both the start and stop of motion. The stopping process in this scheme is divided into two stages: the first stage linearly reduces the existing acceleration to zero; the second stage reduces the remaining velocity to zero. At the end of the first stage, the acceleration is exactly zero. If the basic T-curve were used in the second stage, the acceleration starting point would abruptly jump from 0 to a non-zero value, creating a discontinuity in acceleration at the transition between the two stages and disrupting smoothness. The acceleration curve planned by the improved T-curve also smoothly changes from 0. This ensures a perfect and smooth transition between the end point of the first stage and the starting point of the second stage, making the entire two-stage stopping process continuous and consistent in terms of acceleration. The improved T-curve also ensures that the acceleration smoothly approaches zero at the endpoint of the velocity reduction, and the braking force is released gradually. This greatly suppresses vibration at the moment of stopping, helping the robot to stop more stably and accurately at the target position without wobbling. The acceleration curve obtained by using the basic T-curve planning is T-shaped. After adding mean filtering, the curve tends to be trapezoidal, which is not a standard trapezoidal shape.
[0048] In another extended embodiment of the present invention, the improved T-curve described in step S400, in addition to mean filtering, can also employ other low-pass filtering techniques (such as Gaussian filtering, first-order inertial filtering, and Butterworth filtering) to achieve a smooth start and end of the acceleration curve, as long as the acceleration at the start and end points is zero. For example, using first-order inertial filtering: a_filtered(k) = α·a_raw(k) + (1-α)·a_filtered(k-1), where α is the filtering coefficient. By appropriately selecting α, the acceleration jump can also be smoothed, and the start and end values can be made close to zero. These alternative filtering methods can all achieve the essential effect of "improving the T-curve," that is, eliminating the abrupt change in acceleration, and therefore also fall within the scope of the present invention.
[0049] To illustrate the deceleration process more clearly, the following example is used: Please see Figure 3 Let the initial angle (q) of the planning axis be 40°, the maximum angle of positive motion be 100°, the maximum velocity (qd) be 100°, the maximum acceleration (qdd) be 80°, and the maximum jerk (qddd) be 10000°. The velocity during jogging is planned at 50% of the maximum velocity. The joint angle is planned using an improved T-curve with a period of 0.002s, and a total of 398 points are planned. That is: Joint angle range: 40° to 100° (forward movement limit); Maximum speed: 100° / s; Maximum acceleration: 800° / s²; Maximum jerk: 10000° / s³; Inching speed: 50% of the maximum speed, i.e., 50° / s; The jog trajectory uses an improved T-curve planning method, with a control period of ts = 0.002 seconds; A total of 398 interpolation points were planned (corresponding to a motion time of approximately 0.796 seconds).
[0050] Suppose that after the robot has completed 50 interpolation points, the operator releases the jog button, triggering a stop command. At this point, the data recorded by the controller shows that the current speed is qd. pre =48° / s, current acceleration qdd pre = 796.75° / s² (positive value, indicating acceleration). According to step S310, the time required for the acceleration to return to zero is t_stop = 796.75 / 10000 = 0.079675 seconds, corresponding to the number of cycles n_stop = ceil(0.079675 / 0.002) = 40 cycles (rounded up). In the subsequent 40 cycles (a total of 0.08 seconds), the controller updates the acceleration with a constant jerk of -10000° / s³, linearly decreasing from 796.75° / s² to approximately -3.25° / s² (this is a theoretical value due to residual discrepancies from rounding, based on...). Figure 3 It can be seen that the acceleration in the experiment was approximately -0.25° / s², and was eventually forced to zero. Through integration, the velocity gradually increased from 48° / s to approximately 80.72° / s (because the velocity continued to increase during the positive acceleration phase, only decreasing after the acceleration passed zero). In reality, since the robot was still in the acceleration phase when the stop command was triggered (qdd...),... pre (If the acceleration is positive), in order to smoothly reduce the acceleration to zero, there must first be a period of positive acceleration, causing the velocity to continue to rise. This is in line with the laws of physics: suddenly removing the driving force will not cause the velocity to drop immediately, but rather requires overcoming inertia first. The first stage of this invention follows this physical process, achieving a smooth unloading of power.
[0051] At the end of the first stage, the intermediate velocity qd mid = 80.72° / s, midpoint q mid This is the accumulated angle starting from the initial point of 40°, after 50 normal cycles and 40 stop cycles in the first stage. Then, the second stage begins, with qd... midThe initial velocity is 0, and the final velocity is 0. A modified T-curve is used for velocity zeroing planning. The maximum deceleration is set to amax = 800° / s², and the maximum jerk is set to Jmax = 10000° / s³. In this stage, the acceleration first smoothly decreases to -800° / s², holds for a period, and then smoothly rises back to zero. The robot eventually stops at approximately 58.2456° (because the position continues to move forward in the second stage, but the increment is very small). In practical applications, the speed at which the robot stops is usually much smaller than 48° / s in this example (because operators generally move at low speeds), so the actual angle traveled when stopping will be smaller, resulting in less impact.
[0052] As can be seen from the above examples, the method of the present invention can achieve continuous acceleration and jerk throughout the entire process without any step, while ensuring a fast response (total stopping time of about 0.356 seconds), thereby completely eliminating mechanical impact.
[0053] Furthermore, those skilled in the art should understand that the parameters in the above embodiments (such as maxJerk, ts, amax, etc.) can be adjusted according to the dynamic characteristics and application scenarios of the specific robot. For example, for heavy-duty robots, the maximum jerk can be appropriately reduced to avoid gear backlash impact; for high-speed SCARA robots, the maximum deceleration can be increased to shorten the stopping distance. The scope of protection of this invention is not limited to specific values.
[0054] Please see Figure 4 This is a structural block diagram of one embodiment of the robot jogging motion smooth stopping device of the present invention. The robot jogging motion smooth stopping device of this embodiment is used to implement the robot jogging motion smooth stopping method described in the above embodiment. Specifically, the robot jogging motion smooth stopping device of this embodiment includes a parameter acquisition module 200, an acceleration zeroing module 300, and a velocity zeroing module 400. Wherein: The parameter acquisition module 200 is used to acquire the robot's motion parameters in response to a jog stop command. These motion parameters include at least the current acceleration and the current velocity. The parameter acquisition module 200 can read the current command velocity and the pre-planned velocity for the next cycle from the controller's memory, and calculate the current acceleration through differential calculation. Following step S200, the parameter acquisition module 200 can calculate the current acceleration in real time based on the read current velocity, the velocity for the next cycle, and a preset communication cycle, providing a basis for subsequent smooth stopping.
[0055] The acceleration zeroing module 300 is used to linearly reduce the current acceleration to zero with a preset constant acceleration to obtain an intermediate velocity and intermediate position. The acceleration zeroing module 300 internally includes a timer, a period counter, and an integration unit, and can update the acceleration, velocity, and position successively in multiple communication cycles according to the above steps S310-S340 until the acceleration is zero.
[0056] The velocity zeroing module 400 is used to plan the velocity using the intermediate velocity as the starting velocity and zero as the ending velocity, employing an improved T-shaped velocity curve to obtain an acceleration curve, thus smoothly reducing the velocity to zero. This velocity zeroing module 400 embeds a first improved T-shaped curve planner, capable of generating a three-segment acceleration curve based on the starting velocity, ending velocity, maximum deceleration, and maximum jerk, and outputting discrete velocity and position commands through integration. It can plan the acceleration curve according to the above steps S400 to achieve a smooth velocity reduction to zero.
[0057] In addition, the device for smooth stopping of robot jogging motion in this embodiment further includes a jogging motion control module 100, used to generate jogging motion trajectories and control the robot's jogging motion. The jogging control module 100 includes a controller, which embeds a second improved T-curve planner. In response to the jogging start command according to step S100 above, based on a given starting point, maximum speed, maximum acceleration, and maximum jerk, the controller uses an improved T-curve to plan the motion trajectory of the jogging axis and controls the robot joints to accurately track the planned trajectory. During this process, the jogging motion control module 100 generates discrete control points corresponding to the motion trajectory. Each control point includes a corresponding timestamp, joint angle, and joint velocity. The robot joints are controlled to jog based on these control points.
[0058] The modules mentioned above can be software program modules running in the robot controller, or hardware acceleration units implemented by FPGA or DSP. They work together to achieve smooth start and stop of the inching motion.
[0059] The present invention also discloses a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the method for smooth stopping of robot jogging motion as described in the above embodiments.
[0060] This invention employs a two-stage process of zeroing acceleration and zeroing velocity. First, the current acceleration is eliminated using maximum jerk. Then, based on an improved T-curve, the remaining velocity is smoothly reduced to zero. This ensures continuous and abrupt acceleration throughout the stopping process, fundamentally avoiding the shocks, vibrations, and noise caused by abrupt changes in velocity and acceleration in traditional truncation-based stopping methods, thereby extending the lifespan of the robot's mechanical components. This invention creatively applies a T-curve to velocity planning, rather than traditional position planning. In the acceleration zeroing stage, the maximum allowable jerk is used to eliminate the current acceleration. This is the fastest power unloading method under smooth constraints, minimizing the time spent in the acceleration zeroing stage and creating conditions for rapid overall stopping. It balances the real-time nature of stopping with the smoothness of motion, achieving rapid response while ensuring smoothness. An improved T-curve is used for velocity zeroing stage planning. Mean filtering ensures the acceleration curve starts and ends at zero, resulting in a smooth transition from zero at the starting point. This guarantees a perfect connection with the end point of the first stage, making the entire two-stage stopping process dynamically consistent. Simultaneously, the acceleration smoothly returns to zero at the end point, suppressing residual vibrations at the moment of stopping, improving stability and positioning accuracy after positioning, and ensuring a natural, consistent, and stable stopping process. This invention avoids complex global planning algorithms such as B-splines. The core steps are based on linear calculation and improved T-curve planning, resulting in low computational load, simplicity, efficiency, high determinism, and ease of engineering implementation. This enables it to meet the requirements of high-frequency real-time control for industrial robot controllers, ensuring high performance while possessing high engineering practical value.
[0061] The above description merely illustrates preferred embodiments of the present invention and is quite specific and detailed; however, it should not be construed as limiting the scope of the invention. It should be noted that those skilled in the art can make various modifications and improvements without departing from the inventive concept, and these all fall within the scope of protection of the present invention. Therefore, the scope of protection of this invention should be determined by the appended claims.
Claims
1. A method for smoothly stopping a robot's inching motion, characterized in that, Includes the following steps: In response to a stop command, the robot's motion parameters are acquired, including at least the current acceleration and the current velocity. The current acceleration is linearly reduced to zero with a preset constant jerk to obtain the intermediate velocity and intermediate position; Using the intermediate speed as the starting speed and zero as the ending speed, an improved T-curve is used to plan the speed, resulting in an acceleration curve that smoothly reduces the speed to zero.
2. The method for smoothly stopping the robot's jogging motion as described in claim 1, characterized in that, In the step of planning the acceleration curve using the improved T-curve, the planned acceleration curve tends to be trapezoidal in shape, and includes, in sequence: an acceleration-deceleration segment where the acceleration decreases from zero to the maximum deceleration, a uniform deceleration segment where the acceleration maintains the maximum deceleration, and a deceleration segment where the acceleration increases from the maximum deceleration segment to zero.
3. The method for smoothly stopping the robot's jogging motion as described in claim 1, characterized in that: The improved T-curve is obtained by adding a mean filter to the basic T-curve, so that the acceleration is zero at the start and stop of the motion.
4. The method for smoothly stopping the robot's jogging motion as described in claim 1, characterized in that, The step of linearly reducing the current acceleration to zero with a preset constant accelerometer to obtain an intermediate velocity and intermediate position includes the following sub-steps: Calculate the time required for the acceleration to return to zero based on the current acceleration and the preset constant jerk. Based on the time and the robot's communication cycle, calculate the number of cycles required for the acceleration to return to zero; Within each communication cycle, the acceleration is updated based on the constant jerk, and the velocity and position are updated by integration; Repeat the update until the acceleration is zero, and record the velocity and position at this point as the intermediate velocity and intermediate position.
5. The method for smoothly stopping the robot's jogging motion as described in claim 1, characterized in that, Before responding to the jog stop command, a trajectory pre-planning step is also included: In response to the jog start command, based on the given starting point, maximum speed, maximum acceleration and maximum jerk, the motion trajectory of the jog axis is planned using an improved T-curve. Generate discrete control points corresponding to the motion trajectory. Each control point includes a corresponding timestamp, joint angle, and joint velocity. Control the robot's joint motion based on these control points, where the joint angle is the position of the motion and the joint velocity is the speed of the motion.
6. The method for smoothly stopping the robot's jogging motion as described in claim 1, characterized in that: The acquisition of the robot's motion parameters also includes acquiring the speed of the next cycle; the current acceleration is calculated based on the current speed, the speed of the next cycle, and the communication cycle.
7. The method for smoothly stopping the robot's jogging motion as described in claim 6, characterized in that, The formula for calculating the current acceleration is as follows: qdd pre =(qd) next -qd pre ) / ts Among them, qdd pre qd represents the current acceleration. next Indicates the velocity of the next cycle, qd pre ts represents the current speed and ts represents the communication cycle.
8. The method for smoothly stopping the robot's jogging motion as described in claim 4, characterized in that... The formula for calculating the time required for the acceleration to return to zero is as follows: t stop =qdd pre / maxJerk Among them, t stop This indicates the time required to reduce the acceleration to zero, and maxJerk represents the preset maximum jerk. The formula for calculating the number of cycles required for the acceleration to return to zero is as follows: n stop =t stop / ts Where, n stop ts represents the number of cycles required for the acceleration to return to zero, and ts represents the communication cycle. The formula for updating the acceleration is as follows: acc i =qdd pre +(-sym qdd *maxJerk)*ts Among them, acc i sym represents the acceleration in the next cycle. qdd Indicates the direction of the current acceleration. If the acceleration is greater than zero, the direction of the acceleration is positive. qdd If the acceleration is less than zero, then the direction of the acceleration is negative. (sym) qdd Take -1.
9. A device for smoothly stopping a robot's inching motion, characterized in that, include: The parameter acquisition module is used to acquire the robot's motion parameters in response to the jog stop command. The motion parameters include at least the current acceleration and the current velocity. The acceleration zeroing module is used to linearly reduce the current acceleration to zero with a preset constant jerk, thereby obtaining an intermediate velocity and intermediate position; The speed zeroing module is used to plan the speed using the intermediate speed as the starting speed and zero as the ending speed, and to obtain the acceleration curve so that the speed is smoothly reduced to zero.
10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method for smooth stopping of robot jogging motion as described in any one of claims 1 to 8.