Robot control method and device and readable storage medium
By establishing a speed error correction model and adjusting the speed of the robot, the problem of low control accuracy of robots in the prior art is solved, and higher operating accuracy is achieved.
Patent Information
- Application Number
- CN202411635117.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-15
- Publication Date
- 2025-03-14
AI Technical Summary
The control method of robots in the prior art has the problem of low accuracy.
By obtaining the target coordinate points in the preset path and the position information of the robot, a speed error correction model is established, and this information is input to the model to obtain the first speed value, and the speed of the robot is adjusted to ensure accurate movement.
Improve the operating accuracy of the robot, ensuring that the robot can move accurately according to the preset path and avoid deviation.
Smart Images

Figure CN119620749A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotics technology, and in particular to a robot control method, device and readable storage medium. Background Art
[0002] A mobile robot is a machine that can collect information about its environment and react to its surroundings to safely perform a certain type of task. Autonomous robots can sense and perform certain operational tasks without direct human control. Autonomous robots are widely used in medical care, security, military surveillance, aerospace, environmental monitoring and cleaning, especially in dangerous environments such as mines or nuclear power plants, where the advantages and value of autonomous mobile robots can be better reflected. However, at this stage, the control methods of robots have technical problems such as low accuracy. Summary of the invention
[0003] The embodiments of the present application provide a robot control method, device and readable storage medium, which are used to solve technical problems such as low robot precision in the prior art.
[0004] A first aspect of an embodiment of the present application provides a robot control method, comprising:
[0005] When the robot moves along a preset path, the target coordinate points in the preset path are obtained, and the position and posture information of the robot is obtained;
[0006] Establish the speed error correction model corresponding to the robot;
[0007] Input the target coordinate point and position information into the speed error correction model to obtain a first speed value output by the speed error correction model;
[0008] When the robot moves to the target coordinate point, the speed of the robot is adjusted to the first speed value.
[0009] The robot control method in this embodiment ensures the data accuracy of the first speed value through a speed error correction model. In addition, when the robot moves to the target coordinate point, the speed of the robot is adjusted to the first speed value, thereby ensuring the operation accuracy of the robot.
[0010] A second aspect of the embodiments of the present application provides a robot control device, comprising:
[0011] An acquisition unit, used to acquire the target coordinate points in the preset path and acquire the position and posture information of the robot when the robot moves along the preset path;
[0012] A processing unit, used to establish a speed error correction model corresponding to the robot;
[0013] The processing unit is further used to input the target coordinate point and the position and posture information into the speed error correction model to obtain a first speed value output by the speed error correction model;
[0014] The control unit is used to adjust the speed of the robot to a first speed value when the robot moves to a target coordinate point.
[0015] The control device of the robot in this embodiment ensures the data accuracy of the first speed value through a speed error correction model. In addition, when the robot moves to the target coordinate point, the speed of the robot is adjusted to the first speed value, thereby ensuring the operation accuracy of the robot.
[0016] In a third aspect of the embodiments of the present application, another robot control device is provided, comprising a processor and a memory, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the steps of the robot control method in any of the above embodiments are implemented. Therefore, the robot control device has all the beneficial effects of the robot control method in any of the above embodiments, which will not be described in detail here.
[0017] In a fourth aspect of the embodiments of the present application, a readable storage medium is provided, on which a program or instruction is stored, and when the program or instruction is executed by a processor, the steps of the robot control method in any of the above embodiments are implemented. Therefore, the readable storage medium has all the beneficial effects of the robot control method in any of the above embodiments, which will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0019] Figure 1 A flowchart of a robot control method provided in an embodiment of the present application;
[0020] Figure 2 A functional schematic diagram of a robot control method provided in an embodiment of the present application;
[0021] Figure 3 A functional module block diagram of a robot control device provided in an embodiment of the present application;
[0022] Figure 4 This is a structural block diagram of the control device of the robot provided in an embodiment of the present application. DETAILED DESCRIPTION
[0023] In order to better understand the technical solutions provided by the embodiments of this specification, the technical solutions of the embodiments of this specification are described in detail below through the accompanying drawings and specific embodiments. It should be understood that the embodiments of this specification and the specific features in the embodiments are detailed descriptions of the technical solutions of the embodiments of this specification, rather than limitations on the technical solutions of this specification. In the absence of conflict, the embodiments of this specification and the technical features in the embodiments can be combined with each other.
[0024] In this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or equipment including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or equipment. In the absence of more restrictions, the elements limited by the statement "comprise one..." do not exclude the existence of other identical elements in the process, method, article or equipment including the elements. The term "more than two" includes two or more than two situations.
[0025] In some embodiments, Figure 1 As shown, an embodiment of the present application provides a robot control method, comprising:
[0026] Step S101, when the robot moves along a preset path, obtaining the target coordinate point in the preset path and obtaining the position and posture information of the robot;
[0027] Step S102, establishing a speed error correction model corresponding to the robot;
[0028] Step S103, inputting the target coordinate point and the position and posture information into the speed error correction model to obtain a first speed value output by the speed error correction model;
[0029] Step S104, when the robot moves to the target coordinate point, adjusting the speed of the robot to a first speed value.
[0030] In this embodiment, a robot control method is proposed. When the robot moves along a preset path, a target coordinate point in the preset path is obtained, and at the same time, the robot's posture information is obtained, wherein the preset path is a preset moving path for the robot, the target coordinate point is a coordinate point for adjusting the robot's speed, and the posture information represents the position of the robot.
[0031] Exemplarily, the robot may be an autonomous mobile robot.
[0032] Exemplarily, the posture information includes the horizontal coordinate, vertical coordinate and direction information of the robot.
[0033] A speed error correction model corresponding to the robot is established, wherein the speed error correction model is used to output the accurate speed of the robot.
[0034] Exemplarily, the speed error correction model may be a mathematical model for correcting errors.
[0035] The target coordinate point and the position and posture information are input into the speed error correction model to obtain a first speed value output by the speed error correction model, wherein the first speed value is the target speed value of the robot.
[0036] Exemplarily, the first speed value may be a vector value, which may include a moving direction.
[0037] When the robot moves to the target coordinate point, the speed of the robot is adjusted to the first speed value.
[0038] Su Yao explained that when the robot moves to the target coordinate point, the speed of the robot is adjusted to the first speed value, which can accurately adjust the speed of the robot in real time, ensuring that the robot can move accurately along the preset path, preventing the robot from deviating from the preset path, and thus ensuring the robot's operating accuracy.
[0039] The robot control method in this embodiment ensures the data accuracy of the first speed value through a speed error correction model. In addition, when the robot moves to the target coordinate point, the speed of the robot is adjusted to the first speed value, thereby ensuring the operation accuracy of the robot.
[0040] In some embodiments, a robot control method is provided in an embodiment of the present application, and a speed error correction model corresponding to the robot is established, including:
[0041] Step S201, obtaining the corresponding speed input value of the robot;
[0042] Step S202, determining the posture error according to the speed input value and the posture information;
[0043] Step S203, determining a first weight value corresponding to the posture error and a second weight value corresponding to the speed input value;
[0044] Step S204, determining a speed error correction model based on the posture error, the speed input value, the first weight value and the second weight value.
[0045] In this embodiment, a speed input value corresponding to the robot is obtained, wherein the speed input value is preset speed data.
[0046] Exemplarily, the speed input value may be an input control variable corresponding to the speed error correction model.
[0047] A posture error is determined according to the speed input value and the posture information, wherein the posture error represents an error value corresponding to the posture information.
[0048] Exemplarily, the posture error may be a state error corresponding to the velocity error correction model.
[0049] Determine a first weight value corresponding to the posture error and a second weight value corresponding to the speed input value, wherein the first weight value and the second weight value are preset weight values.
[0050] Exemplarily, the correlation coefficient of the speed error correction model is determined by a forward Ackerman motion model.
[0051] A velocity error correction model is determined based on the posture error, the velocity input value, the first weight value, and the second weight value.
[0052] Exemplarily, the speed error correction model is:
[0053]
[0054] Among them, x τ is the posture error, Q is the first weight value, R is the second weight value, N is the number, U is the data to be obtained, T is the device symbol, and u τ is the pose information, x N is the Nth pose error, Q f For x N The corresponding weight value.
[0055] The control method of the robot in this embodiment determines the speed error correction model based on the posture error, the speed input value, the first weight value and the second weight value, thereby ensuring the model accuracy of the speed error correction model and further ensuring the data accuracy of the first speed value.
[0056] In some embodiments, an embodiment of the present application provides a robot control method, which determines a posture error according to a speed input value and posture information, including:
[0057] Step S301, performing data processing on the posture information to obtain an initial error value;
[0058] Step S302, obtaining the wheelbase data of the robot and obtaining the curvature radius corresponding to the target coordinate point;
[0059] Step S303, determining a first coefficient and a second coefficient according to wheelbase data and curvature radius of several ships;
[0060] Step S304: determining a constraint function according to the first coefficient and the second coefficient.
[0061] In this embodiment, the posture error includes an initial error value and an error constraint function, wherein the initial error value is the initial value of the speed error correction model, and the error constraint function is the constraint function of the speed error correction model.
[0062] The wheelbase data of the robot is obtained, and the curvature radius corresponding to the target coordinate point is obtained, wherein the wheelbase data represents the wheelbase of the robot, and the curvature radius is the curvature radius of the target coordinate point in the preset path.
[0063] Exemplarily, the wheelbase data may be the front and rear wheelbase of the robot.
[0064] According to the wheelbase data and curvature radius of several ships, the first coefficient and the second coefficient are determined, and then according to the first coefficient and the second coefficient, the constraint function is determined, wherein the first coefficient and the second coefficient are coefficients for determining the constraint function.
[0065] Exemplarily, the first coefficient and the second coefficient are determined by a forward Ackerman motion model, and the forward Ackerman motion model is:
[0066]
[0067] Among them, l is the front and rear wheelbase of the robot, k is the curvature radius of the waypoint to be tracked by the robot, A is the first coefficient, B is the second coefficient, vr, T and R are preset parameters, and tr is the direction information in the posture information.
[0068] The control method of the robot in this embodiment determines the first coefficient and the second coefficient based on the wheelbase data and curvature radius of several ships, and then determines the constraint function based on the first coefficient and the second coefficient, thereby ensuring the data accuracy of the initial error value and the error constraint function, and further ensuring the model accuracy of the speed error correction model.
[0069] In some embodiments, an embodiment of the present application provides a robot control method, which inputs the target coordinate point and the posture information into the speed error correction model to obtain a first speed value output by the speed error correction model, including:
[0070] Step S401, obtaining the number of iterations and the minimum error value corresponding to the speed error correction model;
[0071] Step S402, performing data processing on the minimum error value to obtain an initial iteration value corresponding to the number of iterations;
[0072] Step S403, inputting the number of iterations, the initial value of the iteration, the target coordinate point and the posture information into the speed error correction model to obtain the first speed value output by the speed error correction model after iterative data processing.
[0073] In this embodiment, the number of iterations and the minimum error value corresponding to the speed error correction model are obtained, wherein the number of iterations is the number of iterative operations of the speed error correction model, and the minimum error value is the minimum value of the speed error correction model during the operation process.
[0074] The minimum error value is processed to obtain an initial value of the iteration corresponding to the number of iterations, wherein the initial value of the iteration is an initial value of the iterative operation.
[0075] Based on the number of iterations, the initial value of the iteration, the target coordinate point and the posture information, multiple iterative operations are performed through the speed error correction model to obtain the first speed value.
[0076] Exemplarily, the speed error correction model is an error model, and the error model is solved by the following dynamic programming algorithm, assuming that there is a value function:
[0077]
[0078] Among them, it means that at time t, the state x τ The minimum value of the error model at the beginning, then f0(x0) represents the minimum value of the error model starting from time 0. Recursion has
[0079]
[0080] Further:
[0081]
[0082] Assumptions To u τ The derivatives are:
[0083]
[0084] Further:
[0085] u τ =-(R+B T P t+1 B) -1 B T P t+1 Ax τ ;
[0086] P t =Q+A T P t+1 AA T P t+1 B(R+B T P t+1 B) -1 B T Pt+1 A;
[0087] P N =Q f ;
[0088] Among them, x τ is the posture error, Q is the first weight value, R is the second weight value, N is the number, U is the data to be obtained, T is the device symbol, and u τ is the pose information, x N is the Nth pose error, Q f For x N The corresponding weight values, P is the middle value, A is the first coefficient, and B is the second coefficient.
[0089] In summary, the steps of the dynamic programming algorithm to solve the error model are as follows:
[0090] The first step is to set the number of iterations N.
[0091] The second step is to design the initial value Q of the iteration f .
[0092] The third step is iterative operation:
[0093] P t =Q+A T P t+1 AA T P t+1 B(R+B T P t+1 B) -1 B T P t+1 A;
[0094] Obtain P1 N-1 times.
[0095] The fourth step is to output the control value, that is, the first speed value - (R + B T P1B) -1 B T P1Ax0.
[0096] The control method of the robot in this embodiment is based on the number of iterations, the initial value of the iteration, the target coordinate point and the posture information, and performs multiple iterative operations through the speed error correction model to obtain the first speed value, thereby ensuring the data accuracy of the first speed value and further ensuring the control accuracy of the robot.
[0097] In some embodiments, an embodiment of the present application provides a robot control method for obtaining a target coordinate point in a preset path, including:
[0098] Step S501, obtaining the moving speed and control cycle of the robot, and obtaining multiple coordinate points corresponding to the preset path;
[0099] Step S502, determining a first distance according to the moving speed and the control period;
[0100] Step S503, obtaining coordinate data of each coordinate point to obtain a plurality of coordinate data;
[0101] Step S504: determining a target coordinate point among the multiple coordinate points according to the first distance and the multiple coordinate data.
[0102] In this embodiment, the moving speed and control cycle of the robot are obtained, and multiple coordinate points corresponding to the preset path are obtained, wherein the moving speed is the speed of the robot when it moves, the control cycle is the cycle of controlling the robot, and the coordinate points are the coordinate points on the preset path that control the speed of the robot.
[0103] A first distance is determined according to the moving speed and the control cycle, wherein the first distance is a distance moved by the robot within the control cycle.
[0104] The coordinate data of each coordinate point is obtained to obtain a plurality of coordinate data, wherein the coordinate data is the specific coordinate data of the coordinate point.
[0105] Exemplarily, the coordinate data may include abscissa, ordinate and direction information.
[0106] A target coordinate point among the plurality of coordinate points is determined according to the first distance and the plurality of coordinate data.
[0107] Exemplarily, based on the first distance and the plurality of coordinate data, a target coordinate point is selected from the plurality of coordinate points.
[0108] Exemplarily, in step 1, the first distance L=v×T reachable within a control cycle T under the current speed state of the robot is calculated, where L is the first distance, v is the moving speed, and T is the control cycle.
[0109] Step 2: Select a path point closest to the current robot from the set of waypoints to be tracked, record the position of the point in the set as idx, and record the i-th waypoint as<x(i),y(i),t(i)> , i=idx, L(idx)=0.
[0110] Step 3, specifically calculate L(i):
[0111] L(i)=L(i-1)+dist(<x(i-1),y(i-1),t(i-1)> ,<x(i),y(i),t(i)> );
[0112] Among them, dist(<x(i-1),y(i-1),t(i-1)> ,<x(i),y(i),t(i)> ) represents the distance between the i-1th waypoint and the i-th waypoint, x(i) is the horizontal coordinate, y(i) is the vertical coordinate, t(i) is the direction information, and dist is the distance function.
[0113] Then calculate the angle corresponding to the i-th waypoint:
[0114] delta_t(i)=fabs(t(i)-tr);
[0115] Among them, fabs() means taking the absolute value, delta_t() is the trigonometric function, and tr is the direction information in the pose information.
[0116] Step 4: If L(i)>L or delta_t(i)>=v / r or the i value is greater than the length of the path to be tracked, proceed to step 5; otherwise, set i=i+1 and return to step 3.
[0117] Step 5: Output the path points to be tracked<x(i),y(i),t(i)> , the path point to be tracked is the target coordinate point.
[0118] The robot control method in this embodiment determines the target coordinate point among multiple coordinate points based on the first distance and multiple coordinate data, thereby ensuring the data accuracy of the target coordinate point and further ensuring the control accuracy of the robot.
[0119] In some embodiments, an embodiment of the present application provides a robot control method, which obtains the movement speed and control cycle of the robot, including:
[0120] Step S601, during the movement of the robot, the speed of the robot is detected by an inertial measurement module to obtain the movement speed;
[0121] Step S602, obtaining the control frequency corresponding to the robot;
[0122] Step S603, determining a control period according to the control frequency.
[0123] In this embodiment, an inertial measurement module is provided on the robot, and the inertial measurement module can detect the speed of the robot.
[0124] During the movement of the robot, the speed of the robot is detected through the inertial measurement module to obtain the moving speed.
[0125] Exemplarily, the inertial measurement module may be specifically an inertial measurement sensor.
[0126] Obtain the control frequency corresponding to the robot, and determine the control period according to the control frequency, wherein the control frequency is the frequency of controlling the robot.
[0127] Exemplarily, the control frequency is F, where F=1 / T, where T is the control period.
[0128] The robot control method in this embodiment detects the speed of the robot through an inertial measurement module to obtain the moving speed, and determines the control period according to the control frequency, thereby ensuring the data accuracy of the moving speed and the control period, and further ensuring the control accuracy of the robot.
[0129] In some embodiments, an embodiment of the present application provides a robot control method for obtaining the position and posture information of the robot, including:
[0130] Step S701, during the movement of the robot, the positioning information of the robot is determined by the positioning module;
[0131] Step S702, determining the position information according to the positioning information.
[0132] In this embodiment, a positioning module is provided on the robot, and the positioning module is used to determine the positioning information of the robot.
[0133] During the movement of the robot, the positioning information of the robot is determined through the positioning module, wherein the positioning information is the position information of the robot.
[0134] Determine the position information based on the positioning information.
[0135] Exemplarily, the world coordinate information and direction information of the robot are determined based on the positioning information, and then the posture information is determined based on the world coordinate information and the direction information.
[0136] For example, Figure 2 As shown in the figure, the path to be tracked, the robot odometer information and the positioning information are input, and the anchor point selection strategy proposed in this scheme is first used to obtain the waypoints to be tracked. Then the waypoints to be tracked and the positioning information are passed into the constructed error model. Finally, the control quantity that minimizes the error is solved by the dynamic programming algorithm, that is, the executable control quantity that controls the movement of the robot.
[0137] The control method of the robot in this embodiment determines the positioning information of the robot through a positioning module during the movement of the robot, and determines the posture information based on the positioning information, thereby ensuring the data accuracy of the posture information and further ensuring the control accuracy of the robot.
[0138] In some embodiments, Figure 3As shown, in an embodiment of the present application, a robot control device 800 is provided, comprising:
[0139] The acquisition unit 802 is used to acquire the target coordinate point in the preset path and acquire the position and posture information of the robot when the robot moves along the preset path;
[0140] The processing unit 804 is used to establish a speed error correction model corresponding to the robot;
[0141] The processing unit 804 is further used to input the target coordinate point and the position and posture information into the speed error correction model to obtain a first speed value output by the speed error correction model;
[0142] The control unit 806 is used to adjust the speed of the robot to a first speed value when the robot moves to the target coordinate point.
[0143] In this embodiment, a robot control device 800 is proposed. When the robot moves along a preset path, a target coordinate point in the preset path is obtained, and at the same time, the robot's posture information is obtained, wherein the preset path is a preset moving path for the robot, the target coordinate point is a coordinate point for adjusting the robot's speed, and the posture information represents the position of the robot.
[0144] Exemplarily, the robot may be an autonomous mobile robot.
[0145] Exemplarily, the posture information includes the horizontal coordinate, vertical coordinate and direction information of the robot.
[0146] A speed error correction model corresponding to the robot is established, wherein the speed error correction model is used to output the accurate speed of the robot.
[0147] Exemplarily, the speed error correction model may be a mathematical model for correcting errors.
[0148] The target coordinate point and the position and posture information are input into the speed error correction model to obtain a first speed value output by the speed error correction model, wherein the first speed value is the target speed value of the robot.
[0149] Exemplarily, the first speed value may be a vector value, which may include a moving direction.
[0150] When the robot moves to the target coordinate point, the speed of the robot is adjusted to the first speed value.
[0151] Su Yao explained that when the robot moves to the target coordinate point, the speed of the robot is adjusted to the first speed value, which can accurately adjust the speed of the robot in real time, ensuring that the robot can move accurately along the preset path, preventing the robot from deviating from the preset path, and thus ensuring the robot's operating accuracy.
[0152] The robot control device 800 in this embodiment ensures the data accuracy of the first speed value through a speed error correction model. In addition, when the robot moves to the target coordinate point, the speed of the robot is adjusted to the first speed value, thereby ensuring the operation accuracy of the robot.
[0153] In some embodiments, an embodiment of the present application provides a robot control device 800, further comprising:
[0154] The processing unit 804 is also used to obtain the corresponding speed input value of the robot;
[0155] The processing unit 804 is further used to determine the posture error according to the speed input value and the posture information;
[0156] The processing unit 804 is further used to determine a first weight value corresponding to the posture error and a second weight value corresponding to the speed input value;
[0157] The processing unit 804 is further used to determine a speed error correction model based on the posture error, the speed input value, the first weight value and the second weight value.
[0158] In some embodiments, an embodiment of the present application provides a robot control device 800, further comprising:
[0159] The processing unit 804 is further used to perform data processing on the posture information to obtain an initial error value;
[0160] The processing unit 804 is further used to obtain the wheelbase data of the robot and obtain the curvature radius corresponding to the target coordinate point;
[0161] The processing unit 804 is further used to determine the first coefficient and the second coefficient according to the wheelbase data and the curvature radius of the plurality of ships;
[0162] The processing unit 804 is further configured to determine a constraint function according to the first coefficient and the second coefficient.
[0163] In some embodiments, an embodiment of the present application provides a robot control device 800, further comprising:
[0164] The processing unit 804 is further used to obtain the number of iterations and the minimum error value corresponding to the speed error correction model;
[0165] The processing unit 804 is further used to perform data processing on the minimum error value to obtain an initial iteration value corresponding to the number of iterations;
[0166] The processing unit 804 is also used to input the number of iterations, the initial value of the iteration, the target coordinate point and the posture information into the speed error correction model to obtain the first speed value output by the speed error correction model after iterative data processing.
[0167] In some embodiments, an embodiment of the present application provides a robot control device 800, further comprising:
[0168] The processing unit 804 is also used to obtain the moving speed and control cycle of the robot, and obtain multiple coordinate points corresponding to the preset path;
[0169] The processing unit 804 is further configured to determine the first distance according to the moving speed and the control period;
[0170] The processing unit 804 is further used to obtain the coordinate data of each coordinate point to obtain a plurality of coordinate data;
[0171] The processing unit 804 is further configured to determine a target coordinate point among the multiple coordinate points according to the first distance and the multiple coordinate data.
[0172] In some embodiments, an embodiment of the present application provides a robot control device 800, further comprising:
[0173] The processing unit 804 is further used to detect the speed of the robot through the inertial measurement module during the movement of the robot to obtain the moving speed;
[0174] The processing unit 804 is also used to obtain the control frequency corresponding to the robot;
[0175] The processing unit 804 is further configured to determine a control period according to the control frequency.
[0176] In some embodiments, an embodiment of the present application provides a robot control device 800, further comprising:
[0177] The processing unit 804 is also used to determine the positioning information of the robot through the positioning module during the movement of the robot;
[0178] The processing unit 804 is further configured to determine the position information according to the positioning information.
[0179] In some embodiments, Figure 4 As shown, a robot control device 900 is proposed, and the robot control device 900 includes a processor 902 and a memory 904. The memory 904 stores a computer program, and when the computer program is executed by the processor 902, the steps of the robot control method in any of the above embodiments are implemented. Therefore, the robot control device 900 has all the beneficial effects of the robot control method in any of the above embodiments, which will not be repeated here.
[0180] In some embodiments, a readable storage medium is provided, on which a program is stored. When the program is executed by a processor, the steps of the robot control method in any of the above embodiments are implemented, thereby having all the beneficial technical effects of the robot control method in any of the above embodiments.
[0181] It should be noted that in the above embodiments, the description of each embodiment has its own emphasis, and for parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0182] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-readable program code.
[0183] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded computer, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0184] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0185] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0186] An embodiment of the present application also provides a computer program product, which includes computer software instructions. When the computer software instructions are executed on a processing device, the processing device executes the process of the robot control method.
[0187] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can store or a data storage device such as a server or a data center that includes one or more available media integration. Available media can be magnetic media, (e.g., floppy disk, hard disk, tape), optical media (e.g., DVD), or semiconductor media (e.g., solid state drive (solid state disk, SSD)), etc.
[0188] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0189] In the several embodiments provided in the present application, it should be understood that the disclosed devices, apparatuses and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0190] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0191] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0192] If the integrated unit is implemented in the form of 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 the present application is essentially 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, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), disk or optical disk and other media that can store program codes.
[0193] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
[0194] Although the preferred embodiments of this specification have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of this specification.
[0195] Obviously, those skilled in the art can make various changes and modifications to this specification without departing from the spirit and scope of this specification. Thus, if these modifications and variations of this specification fall within the scope of the claims of this specification and their equivalents, this specification is also intended to include these modifications and variations.
Claims
1. A robot control method, characterized in that: The method comprises: In the process of the robot moving along a preset path, obtaining a target coordinate point in the preset path and obtaining position and posture information of the robot; Establishing a speed error correction model corresponding to the robot; Inputting the target coordinate point and the position and posture information into the speed error correction model to obtain a first speed value output by the speed error correction model; When the robot moves to the target coordinate point, the speed of the robot is adjusted to the first speed value.
2. The method according to claim 1, characterized in that The step of establishing a speed error correction model corresponding to the robot comprises: Obtaining a speed input value corresponding to the robot; Determining a posture error according to the speed input value and the posture information; Determine a first weight value corresponding to the posture error and a second weight value corresponding to the speed input value; The speed error correction model is determined based on the posture error, the speed input value, the first weight value and the second weight value.
3. The method according to claim 2, characterized in that The posture error includes an initial error value and an error constraint function, and the determining the posture error according to the speed input value and the posture information includes: Performing data processing on the posture information to obtain the initial error value; Obtain wheelbase data of the robot, and obtain the curvature radius corresponding to the target coordinate point; Determining a first coefficient and a second coefficient according to wheelbase data of several ships and the curvature radius; The constraint function is determined according to the first coefficient and the second coefficient.
4. The method according to claim 1, characterized in that: The step of inputting the target coordinate point and the position information into the speed error correction model to obtain a first speed value output by the speed error correction model includes: Obtaining the number of iterations and the minimum error value corresponding to the speed error correction model; Performing data processing on the minimum error value to obtain an initial iteration value corresponding to the number of iterations; The number of iterations, the initial value of the iteration, the target coordinate point and the posture information are input into the speed error correction model to obtain the first speed value output by the speed error correction model after iterative data processing.
5. The method according to any one of claims 1 to 4, wherein obtaining the target coordinate point in the preset path comprises: Obtaining the moving speed and control cycle of the robot, and obtaining a plurality of coordinate points corresponding to the preset path; Determining a first distance according to the moving speed and the control period; Acquire the coordinate data of each of the coordinate points to obtain a plurality of coordinate data; The target coordinate point among the plurality of coordinate points is determined according to the first distance and the plurality of coordinate data.
6. The method according to claim 5, wherein the robot is provided with an inertial measurement module, and the obtaining of the moving speed and control cycle of the robot comprises: During the movement of the robot, the speed of the robot is detected by an inertial measurement module to obtain the movement speed; Obtaining the control frequency corresponding to the robot; The control period is determined according to the control frequency.
7. The method according to any one of claims 1 to 4, wherein the robot is provided with a positioning module, and the step of obtaining the position information of the robot comprises: During the movement of the robot, determining the positioning information of the robot through the positioning module; The position information is determined according to the positioning information.
8. A robot control device, characterized in that: The device comprises: An acquisition unit, used to acquire the target coordinate point in the preset path and acquire the position and posture information of the robot when the robot moves along the preset path; A processing unit, used to establish a speed error correction model corresponding to the robot; The processing unit is further used to input the target coordinate point and the position and posture information into the speed error correction model to obtain a first speed value output by the speed error correction model; A control unit is used to adjust the speed of the robot to the first speed value when the robot moves to the target coordinate point.
9. A robot control device, characterized in that: include: processor; A memory, wherein a program or instruction is stored in the memory, and when the processor executes the program or instruction in the memory, the steps of the robot control method as claimed in any one of claims 1 to 7 are implemented.
10. A readable storage medium, characterized in that: The readable storage medium stores programs or instructions, and when the programs or instructions are executed by the processor, the steps of the robot control method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Robot online calibration method and system, storage medium and calibration equipment
CN111216164A
Robot and control method thereof, and computer readable storage medium
CN111890351A
Robot path planning method and system, electronic equipment and storage medium
CN115981313A
Target vehicle position correction method and device, equipment and medium
CN117289702A
Motion control method of mobile mechanical arm in dynamic scene and application thereof
CN118219260A