Robot running speed real-time adjusting method and device and storage medium
By using a variable speed model and variable speed step size, the problem of speed smoothness during online speed adjustment of the robot was solved, achieving a smooth transition of the robot's speed on the original trajectory and reducing the probability of sudden speed changes.
Patent Information
- Application Number
- CN202511857808.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-10
- Publication Date
- 2026-02-24
AI Technical Summary
Existing technologies struggle to achieve online speed adjustment during robot movement while ensuring speed smoothness, especially when controlling along the original trajectory, making it difficult to avoid sudden speed changes between adjacent points.
By determining the variable speed step size using a variable speed model, and then determining the motion control parameters based on the variable speed step size, the smoothness of speed changes when the robot moves along the original planned trajectory is ensured.
This technology enables a smooth transition in speed during online speed adjustment of the robot, reduces the probability of sudden speed changes, and ensures the continuity and smoothness of speed changes when the robot moves on the original trajectory.
Smart Images

Figure CN121552358A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot control technology, and in particular to a method, device and storage medium for real-time adjustment of robot running speed. Background Technology
[0002] Before a robot can move, it needs to perform offline trajectory planning based on preset trajectory parameters (such as initial and final distances, initial and final velocities, maximum speed, maximum acceleration, and acceleration ramp time). When the robot is moving on the planned trajectory, if the speed needs to be adjusted to meet different application requirements, a new trajectory needs to be planned. Then, the start and end points of the transition segment are determined from the two planned trajectories, and the old and new trajectories are switched based on the transition segment. However, this method is quite complex. Although existing technologies provide methods for dynamic speed adjustment along the original planned trajectory, these methods are only applicable to trajectory control during the stopping phase. Furthermore, existing methods for speed adjustment based on the original trajectory cannot ensure that the speed between two adjacent positions is smooth. Therefore, how to achieve online speed adjustment based on the original trajectory while ensuring speed smoothness is a technical problem that urgently needs to be solved. Summary of the Invention
[0003] The main objective of this application is to propose a method, device, and storage medium for real-time adjustment of robot running speed, which can further ensure the smoothness of speed changes while the robot moves along the original planned trajectory when initiating online speed adjustment through a variable speed model.
[0004] To achieve the above objectives, a first aspect of this application proposes a method for real-time adjustment of robot running speed, the method comprising: Based on the received gear shifting request, determine the gear shifting model of the gear shifting process corresponding to the gear shifting request; the gear shifting model represents the smooth speed curve of the speed change over time during the gear shifting process, starting from the initial speed corresponding to the gear shifting request and ending at the target speed corresponding to the gear shifting request. Based on the speed change duration of each instruction issuance cycle in the speed change process and the speed change model, the speed change step size corresponding to each instruction issuance cycle in the speed change process is determined; the speed change step size represents the ratio of the actual speed of the corresponding instruction issuance cycle to the planned speed at the same position. Based on each speed change step, the trajectory change duration corresponding to each instruction issuance cycle during the speed change process is determined; the trajectory change duration represents the actual running time of the target robot moving along the planned trajectory in the corresponding instruction issuance cycle. Based on the trajectory change duration and the corresponding target trajectory segment, the first motion control parameters issued by the target robot in the command issuance cycle are determined, and the first motion control parameters include at least a first discrete position point.
[0005] To achieve the above objectives, a second aspect of the present application provides a control device, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the real-time robot speed adjustment method as described in any one of the first aspects.
[0006] To achieve the above objectives, a third aspect of this application provides a robot device, comprising: a target robot and a controller, wherein the controller is integrated on the target robot and executes the robot online speed regulation control method as described in any of the first aspects.
[0007] To achieve the above objectives, a fourth aspect of the present application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the real-time robot speed adjustment method described in any of the first aspects.
[0008] The robot running speed real-time adjustment method, device and storage medium proposed in this application determine the speed step distance through a speed change model, and determine the first motion control parameter based on the speed step distance. Since the speed step distance can ensure that the speed between two adjacent first discrete position points is smoothly transitioned, and each first discrete position point is a position point on the planned trajectory, compared with related technologies, the embodiments of this application enable the robot to move along the original planned trajectory while further ensuring the smoothness of speed changes when initiating online speed adjustment through the speed change model. Attached Figure Description
[0009] Figure 1 This is a flowchart illustrating an embodiment of the robot running speed real-time adjustment method provided in this application; Figure 2 This is a schematic diagram of the speed change model in the real-time robot speed adjustment method provided in this application; Figure 3 This is an application flowchart of an embodiment of the robot running speed real-time adjustment method provided in this application; Figure 4 This is a schematic diagram of trajectory interpolation sampling when no speed adjustment request is issued in one embodiment of the robot running speed real-time adjustment method provided in this application; Figure 5This is a schematic diagram of trajectory interpolation sampling when a speed adjustment request is issued in one embodiment of the robot running speed real-time adjustment method provided in this application; Figure 6 This is a hardware schematic diagram of the control device corresponding to the robot speed control method provided in this application. Detailed Implementation
[0010] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0011] It should be noted that although functional modules are divided in the device schematic diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart. The terms "first," "second," etc., in the specification, claims, and the aforementioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0012] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0013] The following is an explanation of the terms used in the embodiments of this application: Trajectory planning involves finding a curve that connects the starting and ending points and satisfies constraints. The output of trajectory planning is an 8-bit array recording the inflection point information of the trajectory, which includes time series, jerk series, acceleration series, velocity series, and position series. Adjacent trajectory inflection point information forms a trajectory segment.
[0014] S-velocity curve: The S-velocity curve consists of 7 trajectory segments, namely acceleration, uniform acceleration, deceleration, uniform speed, acceleration / deceleration, uniform deceleration, and deceleration / deceleration segments.
[0015] Inflection point: The intersection point between adjacent trajectory segments, including the start and end points.
[0016] Steps: The trajectory obtained from trajectory planning is discrete, therefore the time series (time_series) is also discrete. Each discrete position point corresponds to one step, and the total length of the time series is the total number of steps. The ratio of the current step to the total number of steps represents the current position relative to the entire trajectory. Each instruction issuance cycle... For each step forward, each step on the planned trajectory represents traveling at the planned speed on the trajectory. .
[0017] Before a robot moves, it needs to perform offline trajectory planning based on preset trajectory parameters (such as initial and final distances, initial and final velocities, maximum speed, maximum acceleration, and acceleration ramp time). When moving on the planned trajectory, if the robot's speed needs to be adjusted to meet different application requirements, a new trajectory needs to be planned. Then, the start and end points of the transition segment are determined from the two planned trajectories, and the old and new trajectories are switched based on the transition segment. However, this method is relatively complex. Although existing technologies provide methods for dynamically adjusting speed along the original planned trajectory, these methods are only applicable to trajectory control during the stopping phase. Furthermore, existing methods for adjusting speed based on the original trajectory cannot ensure smooth speed between adjacent positions. Therefore, how to achieve online speed adjustment based on the original trajectory while ensuring speed smoothness is a technical problem that urgently needs to be solved. Based on this, this application provides a method, device, and storage medium for real-time adjustment of robot running speed, which can further ensure the smoothness of speed changes while moving along the original planned trajectory when initiating online speed adjustment through a variable speed model.
[0018] Understandably, referring to Figure 1 As shown, the real-time robot running speed adjustment method provided in the embodiments of this application includes: Step S100: Based on the received gear adjustment request, determine the gear model of the gear shifting process corresponding to the gear adjustment request; the gear model represents the smooth speed curve of the speed change over time during the gear shifting process, starting from the initial speed corresponding to the gear adjustment request and ending at the target speed corresponding to the gear adjustment request. Step S200: Based on the speed change duration and speed change model of each instruction issuance cycle during the speed change process, determine the speed change step size corresponding to each instruction issuance cycle during the speed change process; the speed change step size represents the ratio of the actual speed of the corresponding instruction issuance cycle to the planned speed at the same position. Step S300: Based on each speed change step, determine the trajectory change duration corresponding to each instruction issuance cycle during the speed change process; the trajectory change duration represents the actual running time of the target robot moving along the planned trajectory in the corresponding instruction issuance cycle. Step S400: Based on the trajectory change duration and the corresponding target trajectory segment, determine the first motion control parameters issued by the target robot in the command issuance cycle. The first motion control parameters include at least the first discrete position point.
[0019] Therefore, by setting a variable speed model that matches the speed change of the target speed, the variable speed step size is determined by the variable speed model, and the first motion control parameter is determined based on the variable speed step size. Since the variable speed step size can ensure that the speed between two adjacent first discrete position points is smoothly transitioned, and each first discrete position point is a position point on the planned trajectory, the embodiments of this application enable the robot to move along the original planned trajectory while further ensuring the smoothness of speed change when initiating online speed adjustment through the variable speed model.
[0020] This application does not limit the time at which the speed adjustment request is triggered, nor does it limit the number of times it is triggered. In some embodiments, it can be at any position of the target robot during its movement along the planned trajectory, or it can be set after the target robot stops. Those skilled in the art can selectively set it according to the actual situation.
[0021] Different gear adjustment requests require different speed changes. Therefore, synchronizing the gear model with the gear adjustment request ensures that the gear step size output by the gear model satisfies the requirement that the speed changes smoothly during the gear change process, reducing the probability of sudden speed changes.
[0022] This application does not limit the content of the adjustment parameters carried in the speed adjustment request. It can include the specific speed value of the target speed, or a percentage value of the target speed. For example, in some embodiments, the speed adjustment request includes 10% * speed type. In some embodiments, the speed type is the user-configured maximum planned speed, then 10% means the expected actual running speed is 10% * (maximum planned speed / maximum hardware speed) of the planned speed at the same position on the planned trajectory. In other embodiments, the speed type is the maximum hardware speed supported by the target robot (i.e., the motor's limit speed), then 10% means the expected actual running speed is 10% of the planned speed at the same position on the planned trajectory. In still other embodiments, the speed adjustment request includes Am / s and the target position, indicating that the speed needs to reach Am / s when reaching the target position on the planned trajectory. This application does not limit how the speed adjustment request is set; those skilled in the art can selectively set it according to the actual situation.
[0023] The shift duration of the shift process represents the expected duration of the entire process from the moment the corresponding shift adjustment request is triggered to the moment the shift adjustment is completed. The shift runtime of each instruction issuance cycle in the shift process represents the time interval from the moment the shift is initiated to the end of the corresponding instruction issuance cycle. For example... Always activate the gear shift. End the shift, then This indicates the speed change process. For the first instruction issuance cycle, the speed change duration is... ; This indicates the cycle duration. For the second instruction issuance cycle, the speed change operation duration is... .
[0024] This application does not limit the form of the speed change model. The speed change model can be set as a machine learning model. For example, in some embodiments, the speed change model is based on the mathematical relationship between the target speed, the initial speed, and the speed change duration. The speed change model can be planned directly based on speed, or it can be planned based on the speed coefficient of the initial speed before the speed change and the speed coefficient of the target speed after the speed change. This application does not limit this aspect.
[0025] The target trajectory segment is the trajectory segment containing the position point at the interval of trajectory change from the starting time of the planned trajectory. The planned trajectory is divided into at least one trajectory segment. Different trajectory segments have different accelerations and jerks, while the jerks are the same on the same trajectory segment.
[0026] Each target trajectory segment corresponds to a position function. Therefore, given a fixed trajectory change duration, substituting the duration into the position function yields the first discrete position point. Different target trajectory segments also have velocity and acceleration functions, which can be used to determine velocity and acceleration, respectively. In some embodiments, since the duration of each instruction issuance cycle is typically set to be short, the average velocity between two adjacent position points can be used as the discrete velocity of the current instruction issuance cycle, and the average acceleration between two adjacent position points can be used as the discrete acceleration of the current instruction issuance cycle. This application does not limit the scope of these embodiments, and those skilled in the art can selectively set these parameters according to actual circumstances.
[0027] The trajectory change duration can be calculated by multiplying the cumulative value of the sampling step distance of the command issuance cycle from the start of the target robot to the current time by the cycle duration of the command issuance cycle. For example, if the robot starts at time t1 and goes through 3 command issuance cycles, with the sampling step distance corresponding to command issuance cycle 1 being A1, command issuance cycle 2 being A2, and command issuance cycle 3 being A3, then the cumulative value of the sampling step distance is A1 + A2 + A3, and the trajectory change duration is (A1 + A2 + A3) * cycle duration.
[0028] Understandably, based on the received gear shifting request, the gear shifting model corresponding to the gear shifting process is determined, including: Obtain the first speed coefficient and the speed increase / decrease coefficient. The first speed coefficient represents the ratio of the actual running speed when the speed adjustment request is executed to the first planned speed at the same position on the planned trajectory. The speed increase / decrease coefficient represents the difference between the first speed coefficient and the second speed coefficient. The second speed coefficient represents the speed coefficient of the target speed relative to the second planned speed at the same position on the planned trajectory. The speed change model is obtained based on the first speed coefficient, the speed increase / decrease coefficient, and the speed change duration.
[0029] In some embodiments, the second speed coefficient is obtained directly from the speed adjustment request, while the first speed coefficient is calculated in real time based on the first planned speed when the speed adjustment request is executed. In other embodiments, a target speed and a target position are defined in the speed adjustment request, and the second speed coefficient is calculated in real time based on the second planned speed and the target speed. Correspondingly, the speed increase / decrease coefficient is calculated in real time. In still other embodiments, the speed increase / decrease coefficient is directly defined in the speed adjustment request. In this case, the speed increase / decrease coefficient is obtained directly, so the speed adjustment model can be obtained based on the first speed adjustment coefficient obtained in real time when the variable adjustment request is executed and the speed increase / decrease coefficient in the speed adjustment request. Therefore, this application does not limit how the first speed coefficient and the speed increase / decrease coefficient are obtained; those skilled in the art can selectively set them according to actual conditions.
[0030] A positive speed increase / decrease coefficient indicates that the speed needs to be increased, while a negative speed increase / decrease coefficient indicates that the speed needs to be decreased.
[0031] This application does not impose any restrictions on how the first speed coefficient, speed increase / decrease coefficient, and speed change duration are used to construct the speed change model. For example, it can be constructed using an Nth-order polynomial or other mathematical formulas.
[0032] Understandably, the gear shifting model is an Nth-order polynomial model. Based on the first speed coefficient, the speed increase / decrease coefficient, and the shifting duration, the gear shifting model is obtained, including: Obtain the preset initial transmission model; The ratio of the shift duration to the shift time during different command issuance cycles in the shift process will be used as a variable factor for the initial shift model; Configure the first speed coefficient as the constant term coefficient of the initial variable speed model and configure the speed increase / decrease coefficient as the variable part of the coefficients of each variable in the initial variable speed model; Based on the configured initial speed change model, the speed change model corresponding to the speed change process is obtained.
[0033] For example, the initial transmission model is represented by the following equation (1): (1); Among them, variable factors ; The variable-speed runtime characterizes the cycle of issuing instructions to be planned. Characterizing the duration of speed change, This indicates the variable speed step size; the instruction issuance cycle to be planned indicates the instruction issuance cycle in which the variable speed step size needs to be determined. This indicates the speed coefficient before the gear change. This indicates the speed coefficient at the moment the gear change is completed. This represents the speed increase / decrease coefficient. At this time, refer to... Figure 2 As shown, the first velocity coefficient is taken as The second velocity coefficient is used as From the first speed coefficient to the second speed coefficient, the speed changes smoothly, thereby reducing the probability of sudden speed changes caused by speed adjustments.
[0034] By using the ratio of the speed change duration to the speed change duration in different command issuance cycles during the speed change process as a variable factor, the speed change duration can be regularized so that the variable factor is within the interval [0,1]. When the robot speed is 100%, k=1. When the target robot performs motion planning at 100% speed (the maximum hardware speed supported by the robot), it can be ensured that the planned trajectory is within the safe limit of the motor speed. Then, it is executed at a speed of ≤100%. In this way, when adjusting the speed, no matter how the speed is changed, it will never exceed the safe limit of 100% speed. At this time, by subdividing the speed increase and decrease coefficients through the speed change model, the periodic speed increase and decrease of each command issuance cycle can be made continuous and smooth. This can reduce the probability of exceeding the operating limit of the motor (such as accelerating again during the acceleration phase) and reduce the probability of some judgments failing to take effect due to interpolation time jumps.
[0035] Understandably, the variable speed model is either a third-order polynomial model or a fifth-order polynomial model.
[0036] This application does not restrict the choice of which polynomial model to use. It can be selectively set according to the hardware capabilities of the target robot. For example, if the target robot has higher computing power, a fifth-order polynomial model can be used to make the planned speed smoother. This application does not impose too many restrictions on this.
[0037] For example, taking the variable speed model as a third-order polynomial model, the variable speed model is as shown in formula (1). As shown.
[0038] For example, if the variable speed model is a fifth-order polynomial model, then the variable speed model is as shown in the following formula (2): (2); Among them, variable factors .
[0039] Understandably, based on each speed change step, the trajectory change duration corresponding to each command issuance cycle during the speed change process is determined, including: Determine the cumulative step size of the running sampling corresponding to the instruction issuance cycle preceding the instruction issuance cycle for starting the speed change; Based on the cumulative sampling step size and the corresponding speed change step size, determine the target cumulative sampling step size of the instruction issuance cycle in which each speed change step size is located; The cumulative step length is sampled based on the starting point of the target trajectory segment on the planned trajectory using variable speed step size; Based on the cumulative step size of the starting point sampling, the corresponding cumulative step size of the target sampling, and the duration of the instruction issuance cycle, the trajectory change duration corresponding to each instruction issuance cycle is obtained.
[0040] The cumulative sampling step size represents the cumulative value of the step distance for each sampled step on the planned trajectory. By calculating the trajectory change duration based on the number of sampling cycles, the velocity coefficient of the target robot can be regularized, ensuring that the velocity coefficient of the target robot is necessarily within the range of [0,1], thus guaranteeing that even if the robot's velocity coefficient is at its maximum of 1, it will not exceed the limits of the motor itself.
[0041] For example, the duration of trajectory change satisfies the following formula (3): (3); in, Indicates the cumulative sampling step size from the starting point. Indicates the cumulative step size of the target sampling operation. Indicates the duration of trajectory changes. This refers to the duration of the instruction issuance cycle. ; To calculate the cumulative sampling step size, This refers to the variable speed step distance.
[0042] Understandably, based on the duration of trajectory changes and the corresponding target trajectory segment, the first motion control parameters issued by the target robot during the command issuance cycle are determined, including: Based on the position function of the target trajectory segment, determine the first discrete position point corresponding to the trajectory change duration.
[0043] The position function characterizes the relationship between the initial planned velocity, initial planned acceleration, and initial planned jerk of the target trajectory segment and their variations.
[0044] For example, the position function is shown in formula (4): (4); in, This indicates the starting position (i.e., the origin) of the target trajectory segment. The initial planning velocity indicates the starting position of the target trajectory segment. The initial acceleration indicates the starting planned position of the target trajectory segment; The initial jerk indicates the starting planned position of the target trajectory segment.
[0045] Understandably, the first motion control parameter also includes a first discrete velocity. Based on the trajectory change duration and the corresponding target trajectory segment, the first motion control parameter issued by the target robot during the command issuance cycle is determined, including at least one of the following: Based on the trajectory change duration, the velocity function of the corresponding target trajectory segment, and the variable speed step size, determine the first discrete velocity corresponding to the trajectory change duration. Based on the first discrete position point and the second discrete position point of the previous instruction issuance cycle, determine the first discrete velocity corresponding to the trajectory change duration.
[0046] This application does not limit the method of determining the first discrete velocity. In some embodiments, the first discrete velocity and the first discrete position can be determined based on a velocity function and a position function, respectively. In other embodiments, the first discrete position point can be determined based on a position function, and the first discrete velocity can be determined based on the first discrete position point and the second discrete position point.
[0047] The first discrete velocity can be obtained by the following formula (5): (5); in, This indicates the speed step size of the current planned instruction issuance cycle. This represents the discrete speed of the instruction issuance cycle to be planned. The initial planning acceleration is the initial planning position for the target trajectory segment. The initial planning position of the target trajectory segment is accelerated. At this time, the velocity function is as shown in formula (5). As shown, the trajectory change duration and speed change step size are substituted into formula (5). The first discrete velocity can then be obtained.
[0048] In other embodiments, the first discrete velocity can be obtained by the following formula (6): (6); in, Indicates the duration of the period. This represents a discrete position point in the current planned instruction issuance cycle. This represents the second discrete position point of the previous instruction issuance cycle before the current instruction issuance cycle to be planned. Substituting the first discrete position point, the second discrete position point, and the cycle duration yields the first discrete velocity.
[0049] Understandably, the first motion control parameter also includes a first discrete acceleration. Based on the trajectory change duration and the planned trajectory, the first motion control parameter issued by the target robot during the command issuance cycle is determined, and it also includes at least one of the following: The first discrete acceleration is determined based on the acceleration function and variable step size corresponding to the target trajectory segment; The first discrete acceleration is determined based on the first discrete velocity and the second discrete velocity of the previous instruction issuance cycle.
[0050] This application does not limit the method used to determine acceleration. In some embodiments, an acceleration function can be used, while in others, discrete velocities from adjacent command issuance cycles can be used. In some embodiments, the discrete velocities from adjacent command issuance cycles can be used to determine the inflection points of the planned trajectory covered by the current command issuance cycle. When the current command issuance cycle corresponds to the same target trajectory segment, a velocity function is used. In other embodiments, discrete velocities from adjacent command issuance cycles can be used for all cases. This application does not limit the specific methods used, and those skilled in the art can selectively configure the methods according to the actual situation.
[0051] For example, in some embodiments, the first discrete acceleration is obtained by the following formula (7): (7); in, This represents the acceleration of the instruction issuance cycle to be planned at time t. This represents the acceleration function of the target trajectory segment within the command issuance cycle corresponding to time t. The acceleration at the initial planned position of the target trajectory segment; The acceleration is applied to the starting position of the target trajectory segment. The variable speed step size represents the interval of the instruction issuance cycle to be planned at time t, where t represents the duration of trajectory change.
[0052] For example, in some other embodiments, the first discrete acceleration is obtained by the following formula (8): (8); in, This represents the acceleration of the instruction issuance cycle to be planned at time t. This represents the discrete velocity of the instruction issuance cycle to be planned at time t. for The corresponding discrete velocity.
[0053] Understandably, the method also includes: Obtain the hardware parameters of the target robot; Determine the maximum theoretical planning parameters based on the hardware parameters; The planned trajectory is obtained by trajectory planning based on theoretical planning parameters.
[0054] Determining the maximum theoretical planning parameters based on hardware parameters allows the planned trajectory to match any different speed configurations while supporting acceleration and deceleration, making the control process simpler.
[0055] The maximum theoretical planning parameters include the maximum speed-related parameters supported by the target robot hardware, including at least one of the maximum hardware speed, maximum hardware acceleration, and maximum hardware jerk. The maximum theoretical planning parameters can be determined based on the parameters required for the actual planned trajectory.
[0056] Understandably, a speed adjustment request includes at least one of a deceleration request, an acceleration request, and a stop request.
[0057] This application does not restrict which of the speed adjustment requests in actual applications include deceleration requests, speed increase requests, and stop requests. Those skilled in the art can selectively set these according to actual needs.
[0058] Understandably, the method also includes: Receive mobile launch request; Determine the planning speed coefficient based on the mobile launch request; Starting from the starting point of the planned trajectory, the planned trajectory is sampled using the product of the planned speed coefficient and the duration of the command issuance cycle as the sampling step to obtain the third discrete position point; Based on the third discrete position point, the second motion control parameters corresponding to different command issuance cycles are determined.
[0059] A movement start request is a request triggered by a movement command received by the target robot at its starting position.
[0060] The planned speed coefficient represents the ratio of the maximum speed that can be achieved in actual driving on the planned trajectory to the maximum planned speed in the maximum theoretical parameters.
[0061] For example, taking a speed change process with a speed change duration of 500 instruction issuance cycles as an example, refer to... Figure 3 As shown, the specific steps of the control method are as follows: S1. Initialize the target robot: Obtain the planned trajectory based on the maximum theoretical planned speed; and determine the planned speed coefficient from the initial configuration parameters; the planned speed coefficient represents the speed ratio between the maximum speed that the target robot is expected to reach and the maximum hardware speed supported by the target robot hardware.
[0062] S2. Start the target robot and obtain the motion control parameters corresponding to each command issuance cycle based on the planned speed coefficient and the initial planned trajectory. The specific steps are as follows: By using the planned velocity coefficient as the step size of each step of the target robot, the trajectory interpolation time for each instruction issuance cycle, starting from the starting point of the planned trajectory, is obtained. ;in, This indicates the trajectory interpolation time for the current planned instruction issuance cycle. This is the trajectory interpolation time for the previous instruction issuance cycle. The speed coefficient is planned. At this point, the actual runtime of the target robot in the corresponding trajectory segment within each instruction issuance cycle is... ; This indicates the cumulative step distance of the starting point sampling of the trajectory segment corresponding to the instruction issuance cycle.
[0063] Substitute the actual runtime and planned speed coefficient of each instruction issuance cycle into the formula (4) corresponding to the trajectory segment. Then the third discrete position point of each instruction issuance cycle can be obtained; Substitute the actual runtime and planned speed coefficient of each instruction issuance cycle into the formula (5) corresponding to the trajectory segment. The second discrete velocity can be obtained. In other embodiments, the third discrete position point of the current instruction issuance cycle to be planned and the fourth discrete position point of the previous instruction issuance cycle can also be substituted into formula (6). The second discrete velocity is obtained.
[0064] Substitute the actual runtime and planned speed coefficient of each instruction issuance cycle into the formula (7) corresponding to the trajectory segment. The second discrete acceleration can be obtained. In some other embodiments, the third discrete velocity of each instruction issuance cycle and the fourth discrete velocity of the previous instruction issuance cycle can also be substituted into formula (8). The second discrete acceleration can be obtained. At this point, the trajectory interpolation points on the planned trajectory are as follows: Figure 4 As shown, where Figure 4 The middle curve is the position trajectory curve in the planned trajectory, and the points on the position trajectory curve are the third discrete position points.
[0065] S3. At time t (t=15000), in response to the received time adjustment request (requiring operation at 50% speed), the time transition ratio of each command issuance cycle during the speed change is determined based on the time scaling ratio. Based on the time transition ratio and cycle duration, the second motion control parameters of each command issuance cycle during the speed change are determined, as follows: Assuming the instruction issuance cycle at time t is the nth instruction issuance cycle, and the (n+1)th instruction issuance cycle is the first planned instruction issuance cycle within the variable cycle, taking the operation at 70% speed before time t and 50% speed after time t as an example, then the cumulative sampling step size = n * 0.7. The target cumulative sampling step size corresponding to the first planned instruction issuance cycle during the speed change process is n * 0.7 + the speed change step size. At this time, if... Figure 5 As shown in the left figure, the planned trajectory is F(s). After t=1500, the sampling point density at discrete positions on F(s) increases. At this time, the trajectory formed by the second discrete position point in the second motion control parameters issued in this way is as follows. Figure 5 The right figure shown is equivalent to magnifying the trajectory segment after time t=1500 in the left figure on the time axis. The specific implementation steps are as follows: Based on the speed adjustment request, the speed increase / decrease coefficient and the first speed coefficient can be determined. Then, substitute them into formula (1). Or formula (2) The variable speed model in the model can generate 500 smooth-transition variable speed steps, each corresponding to one command issuance cycle to be planned during the variable speed process; at this time, such as Figure 2 As shown, the variable speed step size transitions smoothly during the speed change process, thereby reducing the probability of sudden changes in robot speed and, consequently, reducing the probability of non-differentiable sudden changes in the new trajectory.
[0066] For each instruction issuance cycle to be planned, determine its actual number of cycles relative to the starting point of the planned trajectory. Based on the actual number of cycles and the cycle duration, obtain the trajectory change duration.
[0067] Since the duration of trajectory change is fixed, the starting acceleration, starting jerk, starting velocity, and starting planning position of the target trajectory segment corresponding to the instruction issuance cycle to be planned can be determined, and thus can be based on formula (4). Determine the first discrete location point.
[0068] Similarly, based on formula (5) Or formula (6) The first discrete velocity is determined based on formula (7). and formula (8) Determine the first discrete acceleration.
[0069] This application does not restrict how formulas (4) to (8) can be combined to determine the first motion control parameter, such as formula (4). , formula (6) and formula (7) Combinations, such as formula (4). , formula (6) and formula (8) Combinations; such as formula (4) , formula (6) and formula (7) Combinations. For example, formula (4). , formula (6) and formula (8) Combinations, etc. Among them, due to formula (7) Medium noise will Medium magnification Therefore, [(4), (6), (8)], [(4), (6), (7)] and [(4), (5), (8)] are preferred to reduce the probability of vibration and abnormal noise during robot operation.
[0070] S4. After the speed change process is completed, start sampling the number of cycles from the first discrete position point of the last instruction issuance cycle of the speed change process, using the second speed coefficient as the step.
[0071] Therefore, the above embodiments of this application have the following advantages: 1) Adjusting the speed only changes the speed of the target robot without causing it to deviate from its original path; 2) The speed adjustment process should be as smooth as possible, and the position curve, velocity curve, and acceleration curve can reduce the probability of sudden changes; 3) The target robot should be able to resume its original motion or continue moving at the current speed after adjusting its speed, rather than just decelerating to a stop.
[0072] Please see Figure 6 , Figure 6 The hardware structure of a control device according to another embodiment is illustrated. The control device includes: The processor 601 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this application. The memory 602 can be a NAND flash, and the relevant program code is stored in the memory 602 and called by the processor 601 to execute the real-time robot running speed adjustment method of the present application embodiment; The input / output interface 603 is used to implement information input and output; The communication interface 604 is used to enable communication and interaction between this device and other devices. Communication can be achieved through wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.). Bus 605 transmits information between various components of the device (e.g., processor 601, memory 602, input / output interface 603, and communication interface 604); The processor 601, memory 602, input / output interface 603, and communication interface 604 are connected to each other within the device via bus 605.
[0073] This application also provides a robot device, including a target robot and a controller, wherein the controller is integrated on the target robot and executes the robot online speed adjustment control method as described above.
[0074] This application also provides a computer-readable storage medium that stores a computer program. When the computer program is executed by a processor, it implements the above-described method for real-time adjustment of robot running speed.
[0075] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may optionally include memory remotely located relative to the processor, and these remote memories can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0076] The embodiments described in this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. As those skilled in the art will know, with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.
[0077] Those skilled in the art will understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of this application, and may include more or fewer steps than shown, or combine certain steps, or different steps.
[0078] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0079] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or suitable combinations thereof.
[0080] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0081] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0082] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0083] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0084] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0085] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes multiple instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0086] The preferred embodiments of the present application have been described above with reference to the accompanying drawings, but this does not limit the scope of the claims of the present application. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and substance of the embodiments of the present application shall be within the scope of the claims of the present application.
Claims
1. A method for real-time adjustment of robot running speed, characterized in that, The method includes: Based on the received gear shifting request, determine the gear shifting model of the gear shifting process corresponding to the gear shifting request; the gear shifting model represents the smooth speed curve of the speed change over time during the gear shifting process, starting from the initial speed corresponding to the gear shifting request and ending at the target speed corresponding to the gear shifting request. Based on the speed change duration of each instruction issuance cycle in the speed change process and the speed change model, the speed change step size corresponding to each instruction issuance cycle in the speed change process is determined; the speed change step size represents the ratio of the actual speed of the corresponding instruction issuance cycle to the planned speed at the same position. Based on each speed change step, the trajectory change duration corresponding to each instruction issuance cycle during the speed change process is determined; the trajectory change duration represents the actual running time of the target robot moving along the planned trajectory in the corresponding instruction issuance cycle. Based on the trajectory change duration and the corresponding target trajectory segment, the first motion control parameters issued by the target robot in the command issuance cycle are determined, and the first motion control parameters include at least a first discrete position point.
2. The method for real-time adjustment of robot running speed according to claim 1, characterized in that, The step of determining the gear shift model corresponding to the gear shift process corresponding to the received gear shift adjustment request includes: Obtain a first speed coefficient and a speed increase / decrease coefficient. The first speed coefficient represents the ratio of the actual running speed when the speed adjustment request is executed to the first planned speed at the same position on the planned trajectory. The speed increase / decrease coefficient represents the difference between the first speed coefficient and the second speed coefficient. The second speed coefficient represents the speed coefficient of the target speed relative to the second planned speed at the same position on the planned trajectory. The speed change model is obtained based on the first speed coefficient, the speed increase / decrease coefficient, and the speed change duration of the speed change process.
3. The method for real-time adjustment of robot running speed according to claim 2, characterized in that, The speed change model is an Nth-order polynomial model. The process of obtaining the speed change model based on the first speed coefficient, the speed increase / decrease coefficient, and the speed change duration includes: Obtain the preset initial transmission model; The ratio of the speed change duration to the speed change duration during different command issuance cycles in the speed change process is used as a variable factor for the initial speed change model. The first speed coefficient is configured as the constant term coefficient of the initial transmission model, and the speed increase / decrease coefficient is configured as the variable part of each variable coefficient in the initial transmission model; Based on the configured initial speed change model, the speed change model corresponding to the speed change process is obtained.
4. The method for real-time adjustment of robot running speed according to claim 3, characterized in that, The variable speed model is either a third-order polynomial model or a fifth-order polynomial model.
5. The method for real-time adjustment of robot running speed according to claim 1, characterized in that, The step of determining the trajectory change duration corresponding to each instruction issuance cycle during the speed change process based on each speed change step distance includes: Determine the cumulative step size of the running sampling corresponding to the instruction issuance cycle preceding the instruction issuance cycle for starting the speed change; Based on the cumulative sampling step size and the corresponding variable speed step size, the target cumulative sampling step size of the instruction issuance cycle in which each variable speed step size is located is determined; The cumulative step length is sampled based on the starting point of the target trajectory segment on the planned trajectory according to the variable speed step distance; Based on the cumulative sampling step size of the starting point, the corresponding cumulative sampling step size of the target, and the duration of the instruction issuance cycle, the trajectory change duration corresponding to each instruction issuance cycle is obtained.
6. The method for real-time adjustment of robot running speed according to claim 1, characterized in that, The first motion control parameter includes at least a first discrete position point, and further includes a first discrete velocity and / or a first discrete acceleration. The first discrete position point is obtained through the following steps: Based on the position function of the target trajectory segment, determine the first discrete position point corresponding to the trajectory change duration; The first discrete velocity is obtained through one of the following steps: Based on the trajectory change duration, the velocity function of the corresponding target trajectory segment, and the variable speed step size, determine the first discrete velocity corresponding to the trajectory change duration; Based on the first discrete position point and the second discrete position point of the previous instruction issuance cycle, determine the first discrete velocity corresponding to the trajectory change duration; The first discrete acceleration is obtained through one of the following steps: The first discrete acceleration is determined based on the acceleration function corresponding to the target trajectory segment and the variable speed step size; The first discrete acceleration is determined based on the first discrete velocity and the second discrete velocity of the previous instruction issuance cycle.
7. The method for real-time adjustment of robot running speed according to claim 1, characterized in that, The method further includes: Obtain the hardware parameters of the target robot; Determine the maximum theoretical planning parameters based on the hardware parameters; The planned trajectory is obtained by trajectory planning based on the theoretical planning parameters.
8. The method for real-time adjustment of robot running speed according to claim 1, characterized in that, The method further includes: Receive mobile launch request; Determine the planning speed coefficient based on the mobile initiation request; Starting from the starting point of the planned trajectory, the planned trajectory is sampled using the product of the planned speed coefficient and the duration of the instruction issuance cycle as the sampling step to obtain the third discrete position point; Based on the third discrete position point, the second motion control parameters corresponding to different instruction issuance cycles are determined.
9. A control device, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, when the processor executes the computer program, it implements the real-time robot running speed adjustment method as described in any one of claims 1 to 8.
10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the real-time robot running speed adjustment method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Robot motion control method and device and storage medium
CN113664808A
Speed planning method and device for robot motion track
CN113703433A
Acceleration and deceleration controllable robot trajectory planning method, device, equipment and memory
CN118809586A
Speed curve variable scooter speed control method
CN119190007A
Wafer carrying speed control method and control system
CN120928710A