Robot motion error determination method and device, robot motion error compensation method and device, electronic equipment and storage medium
By collecting and analyzing robot motion data, determining motion errors and performing compensation control, the problem of robot motion control deviation is solved, and the accuracy and accuracy of motion control are improved.
Patent Information
- Application Number
- CN202411527381.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-30
- Publication Date
- 2025-01-14
AI Technical Summary
During the movement of the robot, the control deviation caused by design errors, friction coefficient changes and wear of the moving device reduces the accuracy of motion control.
By collecting actual mileage data and theoretical mileage data, the robot motion error is determined, and the posture control parameters are compensated based on this to accurately control the robot to reach the target position.
It improves the accuracy of the robot's motion control, ensures that the robot can accurately reach the preset points, and enhances the accuracy and reliability of the motion control.
Smart Images

Figure CN119304875A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of intelligent electronic technology, and in particular to a robot motion error determination method, a robot motion error compensation method, a device, an electronic device and a storage medium. Background Art
[0002] With the development of science and technology, robots have also been widely used. When controlling robots, usually only the unavoidable design errors of robots are considered. In fact, when robots are applied to different scenarios, the friction coefficient of the ground in different scenarios, the wear of the robot's own motion device (tires, etc.), and the assembly errors of the robot's motion device will cause control deviations when the robot moves, resulting in low accuracy of the robot's motion control. Summary of the invention
[0003] Based on this, it is necessary to provide a robot motion error compensation method, device, electronic device, computer-readable storage medium and computer program product that can improve the robot's motion control accuracy in order to address the above technical problems.
[0004] In a first aspect, the present application provides a method for determining a robot motion error. The method comprises:
[0005] Control the robot to move from a current position to at least one preset point, and collect and obtain actual mileage data of the robot during the movement to at least one of the preset points;
[0006] Acquire theoretical mileage data between the current position and at least one of the preset points;
[0007] The motion error of the robot in the current motion control scenario is determined according to the actual mileage data and the theoretical mileage data.
[0008] In one embodiment, the theoretical mileage data includes the theoretical trajectory length of the motion trajectory corresponding to the at least one preset point; determining the motion error of the robot in the current motion control scenario according to the actual mileage data and the theoretical mileage data includes: obtaining the motion trajectory corresponding to the robot moving to at least one of the preset points; constructing a trajectory length mapping relationship of the motion trajectory according to the actual mileage data, the motion error of the robot and the motion trajectory; generating the motion error of the robot according to the trajectory length mapping relationship and the theoretical trajectory length.
[0009] In one embodiment, the at least one preset point includes a first point and a second point, the motion trajectory includes a first trajectory of the robot moving from the current position to the first point, and a second trajectory of the robot moving from the first point to the second point, the actual mileage data includes first mileage position data of the robot corresponding to the current position, second mileage position data of the robot corresponding to the first point, and third mileage position data of the robot corresponding to the second point, and the motion error includes a first error when the robot moves along the first trajectory and a second error when the robot moves along the second trajectory; constructing a trajectory length mapping relationship of the motion trajectory according to the actual mileage data, the motion error of the robot and the motion trajectory includes: obtaining a first trajectory type of the first trajectory, and obtaining a second trajectory type of the second trajectory; constructing a trajectory length mapping relationship of the first trajectory according to the first trajectory type, the first mileage position data, the second mileage position data and the first error; constructing a trajectory length mapping relationship of the second trajectory according to the second trajectory type, the second mileage position data, the third mileage position data and the second error.
[0010] In one embodiment, the theoretical trajectory length includes a first trajectory length of the first trajectory and a second trajectory length of the second trajectory; generating the motion error of the robot according to the trajectory length mapping relationship and the theoretical trajectory length includes: determining an error proportional coefficient between the first error and the second error according to the first trajectory length and the second trajectory length; and combining the trajectory length mapping relationship of the first trajectory and the trajectory length mapping relationship of the second trajectory according to the error proportional coefficient, the first trajectory length and the second trajectory length to obtain the motion error of the robot.
[0011] In one of the embodiments, after determining the motion error of the robot in the current motion control scenario according to the actual mileage data and the theoretical mileage data, the method further includes: obtaining a preset scene error table, wherein the preset scene error table includes a correspondence between at least one preset motion control scenario and the motion error; and updating the preset scene error table according to the motion error in the current motion control scenario corresponding to the robot.
[0012] In a second aspect, the present application also provides a method for determining a robot motion error. The method comprises:
[0013] In response to a control instruction for the robot, obtaining a target motion position of the control instruction, and determining a posture control parameter for the robot to move from a current position to the target motion position;
[0014] Obtaining a motion error corresponding to the robot in a current motion control scenario, wherein the motion error is generated based on theoretical mileage data and actual mileage data between the current position of the robot and at least one preset point, wherein the actual mileage data is obtained and collected during the process of controlling the robot to move to at least one of the preset points;
[0015] Performing motion compensation on the posture control parameter based on the motion error to obtain a posture compensation control parameter;
[0016] According to the posture compensation control parameters, the robot is controlled to move from the current position to the target movement position.
[0017] In one of the embodiments, the posture control parameters include position control parameters and attitude control parameters, and the posture compensation control parameters include position compensation control parameters and attitude compensation control parameters; the motion compensation of the posture control parameters based on the motion error to obtain the posture compensation control parameters includes: generating a unit mileage motion error of the robot under unit mileage according to the motion error and the target theoretical mileage data corresponding to the robot; performing motion compensation on the position control parameters according to the unit mileage motion error to obtain the position compensation control parameters, and performing motion compensation on the attitude control parameters according to the unit mileage motion error to obtain the attitude compensation control parameters.
[0018] In one of the embodiments, before performing motion compensation on the posture control parameters based on the motion error to obtain posture compensation control parameters, the method also includes: if it is detected that the motion error is greater than a preset error threshold, outputting a robot fault indication; if it is detected that the motion error is less than or equal to the preset error threshold, executing the step of performing motion compensation on the posture control parameters based on the motion error to obtain posture compensation control parameters and subsequent steps.
[0019] In a third aspect, the present application also provides a robot motion error determination device. The device comprises:
[0020] A collection module, used to control the robot to move from a current position to at least one preset point, and collect and obtain actual mileage data of the robot during the movement to at least one of the preset points;
[0021] A first acquisition module, used to acquire theoretical mileage data between the current position and at least one of the preset points;
[0022] The first determination module is used to determine the motion error of the robot in the current motion control scenario according to the actual mileage data and the theoretical mileage data.
[0023] In a fourth aspect, the present application also provides a robot motion error compensation device. The device comprises:
[0024] A second determination module is used to obtain a target motion position of the control instruction in response to a control instruction for the robot, and determine a posture control parameter for the robot to move from a current position to the target motion position;
[0025] A second acquisition module is used to acquire a motion error corresponding to the robot in a current motion control scenario, wherein the motion error is generated based on theoretical mileage data and actual mileage data between the current position of the robot and at least one preset point, wherein the actual mileage data is acquired and collected during the process of controlling the robot to move to at least one of the preset points;
[0026] A compensation module, used for performing motion compensation on the posture control parameter based on the motion error to obtain a posture compensation control parameter;
[0027] A control module is used to control the robot to move from the current position to the target movement position according to the posture compensation control parameters.
[0028] In a fifth aspect, the present application further provides an electronic device. The electronic device includes a memory and a processor, the memory stores a computer program, and the processor implements the following steps when executing the computer program:
[0029] Control the robot to move from a current position to at least one preset point, and collect and obtain actual mileage data of the robot during the movement to at least one of the preset points;
[0030] Acquire theoretical mileage data between the current position and at least one of the preset points;
[0031] Determine the motion error of the robot in the current motion control scenario according to the actual mileage data and the theoretical mileage data;
[0032] Alternatively, when the processor executes the computer program, the following steps are implemented:
[0033] In response to a control instruction for the robot, obtaining a target motion position of the control instruction, and determining a posture control parameter for the robot to move from a current position to the target motion position;
[0034] Obtaining a motion error corresponding to the robot in a current motion control scenario, wherein the motion error is generated based on theoretical mileage data and actual mileage data between the current position of the robot and at least one preset point, wherein the actual mileage data is obtained and collected during the process of controlling the robot to move to at least one of the preset points;
[0035] Performing motion compensation on the posture control parameter based on the motion error to obtain a posture compensation control parameter;
[0036] According to the posture compensation control parameters, the robot is controlled to move from the current position to the target movement position.
[0037] In a sixth aspect, the present application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the following steps are implemented:
[0038] Control the robot to move from a current position to at least one preset point, and collect and obtain actual mileage data of the robot during the movement to at least one of the preset points;
[0039] Acquire theoretical mileage data between the current position and at least one of the preset points;
[0040] Determine the motion error of the robot in the current motion control scenario according to the actual mileage data and the theoretical mileage data;
[0041] Alternatively, when the computer program is executed by a processor, the following steps are implemented:
[0042] In response to a control instruction for the robot, obtaining a target motion position of the control instruction, and determining a posture control parameter for the robot to move from a current position to the target motion position;
[0043] Obtaining a motion error corresponding to the robot in a current motion control scenario, wherein the motion error is generated based on theoretical mileage data and actual mileage data between the current position of the robot and at least one preset point, wherein the actual mileage data is obtained and collected during the process of controlling the robot to move to at least one of the preset points;
[0044] Performing motion compensation on the posture control parameter based on the motion error to obtain a posture compensation control parameter;
[0045] According to the posture compensation control parameters, the robot is controlled to move from the current position to the target movement position.
[0046] In a seventh aspect, the present application further provides a computer program product. The computer program product includes a computer program, and when the computer program is executed by a processor, the following steps are implemented:
[0047] Control the robot to move from a current position to at least one preset point, and collect and obtain actual mileage data of the robot during the movement to at least one of the preset points;
[0048] Acquire theoretical mileage data between the current position and at least one of the preset points;
[0049] Determine the motion error of the robot in the current motion control scenario according to the actual mileage data and the theoretical mileage data;
[0050] Alternatively, when the computer program is executed by a processor, the following steps are implemented:
[0051] In response to a control instruction for the robot, obtaining a target motion position of the control instruction, and determining a posture control parameter for the robot to move from a current position to the target motion position;
[0052] Obtaining a motion error corresponding to the robot in a current motion control scenario, wherein the motion error is generated based on theoretical mileage data and actual mileage data between the current position of the robot and at least one preset point, wherein the actual mileage data is obtained and collected during the process of controlling the robot to move to at least one of the preset points;
[0053] Performing motion compensation on the posture control parameter based on the motion error to obtain a posture compensation control parameter;
[0054] According to the posture compensation control parameters, the robot is controlled to move from the current position to the target movement position.
[0055] The above-mentioned robot motion error determination method controls the robot to move from the current position to at least one preset point, collects and obtains the actual mileage data of the robot in the process of moving to at least one of the preset points; obtains the theoretical mileage data between the current position and at least one of the preset points; and determines the motion error of the robot corresponding to the current motion control scenario according to the actual mileage data and the theoretical mileage data, thereby providing a motion error compensation method, generating a unified motion error for the area where the preset point is located, or other points belonging to the same scene as the area where the preset point is located, and using the mileage data of the robot's actual movement at the preset point and the actual distance data actually measured for the preset point as the basis for generating the robot motion error, thereby ensuring that the generated motion error is compatible with the robot's current motion control scenario, so as to provide a motion compensation basis for the subsequent robot motion error compensation method, thereby further improving the robot's motion control accuracy.
[0056] The above-mentioned robot motion error compensation method obtains the target motion position of the control instruction in response to the control instruction for the robot, and determines the posture control parameters of the robot moving from the current position to the target motion position; obtains the motion error corresponding to the robot in the current motion control scenario, the motion error is generated based on the theoretical mileage data and actual mileage data between the current position of the robot and at least one preset point, and the actual mileage data is obtained and collected in the process of controlling the robot to move to at least one of the preset points; performs motion compensation on the posture control parameters based on the motion error to obtain posture compensation control parameters; controls the robot to move from the current position to the target motion position according to the posture compensation control parameters, performs motion compensation on the initial posture control parameters of the robot according to the motion error corresponding to the robot in the current motion control scenario, and controls the robot to move from the current position to the target motion position based on the posture compensation control parameters after motion compensation, so that the robot can accurately reach the target motion position, thereby improving the accuracy of the robot's motion control. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Figure 1 A schematic diagram of an application scenario of a method in an embodiment;
[0058] Figure 2 1 is a flow chart of a method for determining a robot motion error in one embodiment;
[0059] Figure 3 A schematic diagram of a flow chart of steps for generating motion errors of a robot corresponding to a current motion control scenario in an embodiment;
[0060] Figure 4is a schematic diagram of the positional relationship between the first point, the second point and the third point in one embodiment;
[0061] Figure 5 A schematic diagram of a flow chart of steps for updating a preset scene error table in one embodiment;
[0062] Figure 6 A schematic diagram of a flow chart of a robot motion error compensation method in one embodiment;
[0063] Figure 7 A schematic diagram of a flow chart of motion error detection steps in one embodiment;
[0064] Figure 8 is a structural block diagram of a robot motion error determination device in one embodiment;
[0065] Fig. 9 is a structural block diagram of a robot motion error compensation device in one embodiment;
[0066] Fig.10 FIG. 4 is a diagram showing the internal structure of an electronic device in one embodiment. DETAILED DESCRIPTION
[0067] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0068] It is understandable that different types of robots may have wear and tear of the motion device during use, and there may be mechanical errors caused by assembly or device design when making the robot's motion device. In addition, when the robot moves on the ground with different friction coefficients, it may cause different degrees of deviation in the robot's movement. Specifically, the robot should theoretically move 10m, but the robot actually moves 9.99m, or the robot's theoretical control posture should rotate by 90°, but the robot actually rotates by 89°, etc. Therefore, a solution to accurately control the robot is urgently needed.
[0069] The robot motion error determination method provided in the embodiment of the present application can be applied to Figure 1In the application scenario shown. Among them, the server 106 communicates with the robot 104 through the network, and the terminal 102 communicates with the server 106 through the network. The data storage system can store the data that the server 106 needs to process (actual mileage data, theoretical mileage data, and preset scene error table, etc.), and the server 106 identifies and controls the robot 104 to move from the current position to at least one preset point, collects and obtains the actual mileage data of the robot 104 during the movement to at least one preset point; obtains the theoretical mileage data between the current position and at least one preset point; and determines the motion error of the robot 104 in the current motion control scene according to the actual mileage data and the theoretical mileage data. The terminal 102 can be used to display the motion error. The data storage system can be integrated on the server 106, or it can be placed on the cloud or other network servers. The terminal 102 can be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, and portable wearable devices. Portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. The server 106 can be implemented with an independent server or a server cluster consisting of multiple servers.
[0070] The robot motion error determination method provided in the embodiment of the present application can also be applied to the terminal 102. The terminal 102 communicates with the robot 104 through the network. The data storage system can store the data that the terminal 102 needs to process (actual mileage data, theoretical mileage data, preset scenario error table, etc.). The terminal 102 identifies and controls the robot 104 to move from a current position to at least one preset point, collects and obtains the actual mileage data of the robot 104 during the movement to at least one preset point; obtains the theoretical mileage data between the current position and at least one preset point; and determines the motion error of the robot 104 in the current motion control scenario according to the actual mileage data and the theoretical mileage data. The terminal 102 can be used to display the motion error.
[0071] The robot motion error determination method provided in the embodiment of the present application can also be applied to the robot 104. The data storage system can store the data that the robot 104 needs to process (actual mileage data, theoretical mileage data, preset scenario error table, etc.). The robot 104 controls itself to move from the current position to at least one preset point, collects and obtains the actual mileage data of itself in the process of moving to at least one preset point, and obtains the theoretical mileage data between the current position and at least one preset point; according to the actual mileage data and the theoretical mileage data, the motion error corresponding to itself in the current motion control scenario is determined. If the robot 104 has a display screen, the motion error can be displayed through the display screen of the robot 104.
[0072] In one embodiment, Figure 2As shown, a method for determining robot motion error is provided, and the method is applied to Figure 1 The server 106 in the example is used as an example to illustrate, and the following steps are included:
[0073] Step 202: Control the robot to move from the current position to at least one preset point, and collect and obtain actual mileage data of the robot during the movement to the at least one preset point.
[0074] Among them, when there are multiple preset points in step 202, the current position of the robot can be a fixed position or a variable position. Specifically, when the current position of the robot is a fixed position, the robot is controlled to move from the current position to multiple preset points respectively. For example, the multiple preset points include point A and point B. The robot is controlled to move from the current position to point A. When it is detected that the robot moves to point A, the robot is controlled to return to the current position, and the robot is controlled to move from the current position to point B.
[0075] Specifically, when the current position of the robot is a changing position, the robot is controlled to move from the current position to any point among a plurality of preset points. When it is detected that the robot moves to that point, that point is determined as the current position of the robot. The robot is controlled to move to other points among the plurality of preset points except that point. For example, the plurality of preset points include point A and point B. The robot is controlled to move from the current position to point A. When it is detected that the robot moves to point A, point A is the current position of the robot, and the robot is controlled to move from point A to point B.
[0076] The actual mileage data in step 202 is collected by a wheel odometer.
[0077] As one embodiment, controlling the robot to move from a current position to at least one preset point includes: controlling the robot to move from the current position to a point among at least one preset point that has not stopped, determining the point as the current position of the robot when detecting that the robot moves to the point, and returning to the step of controlling the robot to move from the current position to a point among at least one preset point that has not stopped, until there is no non-stop point among at least one preset point.
[0078] In this way, a robot control method is provided when the current position is not fixed. By adopting this method, redundant control of the robot can be reduced.
[0079] Furthermore, controlling the robot to move from the current position to a point among at least one preset point that has not been stopped includes: obtaining a motion trajectory corresponding to the robot moving from the current position to a point among at least one preset point that has not been stopped, and controlling the robot to move from the current position to the point according to the current position, the position of the point and the corresponding motion trajectory, wherein the motion trajectory corresponding to the movement from the current position to the point among at least one preset point that has not been stopped may be a line segment trajectory or a non-line segment trajectory. In the case of a non-line segment trajectory, it may be a trajectory of a regular shape (for example, a single arc trajectory, etc.) or an irregular shape (for example, a multi-arc trajectory, etc.). For the convenience of calculation, it is usually a single arc trajectory; the current position motion trajectory The motion trajectory corresponding to the point where the robot moves to at least one preset point without stopping can be set by the user as needed, or can be set according to experience. Specifically, the motion trajectory is determined according to the usage frequency corresponding to the robot's usage scenario that meets the preset usage frequency condition. The preset usage frequency condition can be greater than a preset frequency threshold, or it can be a usage frequency ranking within a preset number range among all motion trajectories used in the robot's usage scenario. For example, a straight line trajectory and a single arc trajectory are ranked in the top two in terms of usage frequency among all motion trajectories used in the robot's usage scenario. Then the straight line trajectory or the single arc trajectory is determined as the motion trajectory corresponding to the robot moving from the current position to the point where the robot does not stop at least one preset point.
[0080] In this way, the motion trajectory of the robot when the motion error is determined can be matched with the user's expectations, or the motion trajectory commonly used in the robot usage scenario, thereby ensuring the accuracy of the motion error generation.
[0081] As another embodiment, controlling the robot to move from a current position to at least one preset point includes: controlling the robot to move from the current position to a point among at least one preset point that has not stopped, and when detecting that the robot has moved to the point, controlling the robot to return to the current position, and returning to controlling the robot to move from the current position to a point among at least one preset point that has not stopped, until there are no non-stop points among at least one preset point.
[0082] In this way, a robot control method is provided when the current position is fixed. With this method, although there is redundant control to control the robot to return to the current position, the number of position points that need to be involved in subsequent calculations is relatively reduced, which can improve the efficiency of generating motion errors.
[0083] Exemplarily, collecting and obtaining actual mileage data during the process of the robot moving to at least one preset point includes: collecting and obtaining mileage position data when the robot first moves to the current position; for each preset point, collecting and obtaining mileage position data when the robot moves to each preset point; and integrating all the above mileage position data into actual mileage data.
[0084] Step 204, obtaining theoretical mileage data between the current position and at least one preset point.
[0085] The theoretical mileage data in step 204 is data obtained by field measuring the track length between the current position and at least one preset point.
[0086] Exemplarily, step 204 includes: obtaining at least one motion trajectory of the robot moving from a current position to at least one preset point, measuring at least one motion trajectory respectively, and obtaining theoretical mileage data between the current position and at least one preset point.
[0087] Step 206 : determining the motion error of the robot in the current motion control scenario according to the actual mileage data and the theoretical mileage data.
[0088] Among them, the motion control scenarios involved in the full text (including but not limited to the current motion control scenarios mentioned above and the preset motion control scenarios described below) are composed of at least one of the robot type, robot model, degree of wear of the robot's motion device, assembly information of the robot's motion device and the friction coefficient of the robot's motion ground.
[0089] Exemplarily, step 206 includes: generating an actual motion length of each motion trajectory of the robot according to the actual mileage data, and determining the motion error of the robot in the current motion control scenario according to the deviation between the actual motion length of each motion trajectory of the robot and the corresponding theoretical length of the motion trajectory in the theoretical mileage data.
[0090] In this embodiment, by controlling the robot to move from the current position to at least one preset point, the actual mileage data of the robot moving to the at least one preset point is collected and obtained; the theoretical mileage data between the current position and at least one preset point is obtained; according to the actual mileage data and the theoretical mileage data, the motion error of the robot corresponding to the current motion control scenario is determined, and a motion error compensation method is provided. For the area where the preset point is located, or other points belonging to the same scene as the area where the preset point is located, a unified motion error is generated, and the mileage data of the actual movement of the robot at the preset point and the actual distance data actually measured for the preset point are used as the basis for generating the robot motion error, which ensures that the generated motion error is compatible with the current motion control scenario of the robot, so as to provide a motion compensation basis for the subsequent robot motion error compensation method, thereby further improving the robot's motion control accuracy.
[0091] In one embodiment, Figure 3As shown, a method for generating motion errors of a robot corresponding to a current motion control scenario is provided, wherein the theoretical mileage data includes a theoretical trajectory length of a motion trajectory corresponding to at least one preset point; Figure 2 Step 206 in includes:
[0092] Step 302, obtaining a motion trajectory corresponding to the robot moving to at least one preset point.
[0093] Exemplarily, step 302 includes: obtaining a motion trajectory of the robot set by a user corresponding to the movement of the robot to at least one preset point, or obtaining a motion trajectory of the robot determined by a usage scenario of the robot corresponding to the movement of the robot to at least one preset point.
[0094] Step 304 , constructing a trajectory length mapping relationship of the motion trajectory according to the actual mileage data, the motion error and the motion trajectory of the robot.
[0095] Exemplarily, step 304 includes: obtaining a trajectory type of the motion trajectory, and constructing a trajectory length mapping relationship of the motion trajectory according to actual mileage data, a motion error of the robot, and the trajectory type.
[0096] As an embodiment, step 304 includes: at least one preset point includes a first point and a second point, the motion trajectory includes a first trajectory of the robot moving from a current position to the first point, and a second trajectory of the robot moving from the first point to the second point, the actual mileage data includes first mileage position data corresponding to the current position of the robot, second mileage position data corresponding to the first point of the robot, and third mileage position data corresponding to the second point of the robot, and the motion error includes a first error when the robot moves along the first trajectory and a second error when the robot moves along the second trajectory; obtaining a first trajectory type of the first trajectory, and obtaining a second trajectory type of the second trajectory; constructing a trajectory length mapping relationship of the first trajectory according to the first trajectory type, the first mileage position data, the second mileage position data and the first error; constructing a trajectory length mapping relationship of the second trajectory according to the second trajectory type, the second mileage position data, the third mileage position data and the second error.
[0097] In order to ensure accurate calculation of the motion error, the first trajectory and the second trajectory are not collinear.
[0098] Furthermore, a trajectory length mapping relationship of the first trajectory is constructed according to the first trajectory type, the first mileage position data, the second mileage position data and the first error, including: if the first trajectory type is a line segment trajectory type, the first mileage position data, the second mileage position data and the first error are substituted into the coordinate line segment length formula to obtain the trajectory length mapping relationship of the first trajectory, wherein the coordinate line segment length formula is a formula for calculating the line segment length in a rectangular coordinate system; if the first trajectory type is an arc trajectory type, the first mileage position data, the second mileage position data and the first error are substituted into the arc length formula to obtain the trajectory length mapping relationship of the first trajectory, wherein the arc length formula is a formula for calculating the arc length in a rectangular coordinate system.
[0099] Further, the first mileage position data, the second mileage position data and the first error are substituted into the coordinate segment length formula to obtain the trajectory length mapping relationship of the first trajectory, including: the first mileage position data includes the first mileage sub-coordinate of the first point in the first coordinate direction and the second mileage sub-coordinate of the first point in the second coordinate direction, the first error includes the first sub-error corresponding to the first trajectory in the first coordinate direction, and the second sub-error corresponding to the first trajectory in the second coordinate direction; the second mileage position data includes the third mileage sub-coordinate of the second point in the first coordinate direction and the fourth mileage sub-coordinate of the second point in the second coordinate direction, and the first mileage sub-coordinate, the second mileage sub-coordinate, the first sub-error, the second sub-error, the third mileage sub-coordinate and the fourth mileage sub-coordinate are substituted into the coordinate segment length formula to obtain the trajectory length mapping relationship of the first trajectory.
[0100] Optionally, the first mileage sub-coordinate, the second mileage sub-coordinate, the first sub-error, the second sub-error, the third mileage sub-coordinate and the fourth mileage sub-coordinate are substituted into the coordinate line segment length formula to obtain the trajectory length mapping relationship of the first trajectory, which can be expressed as:
[0101]
[0102] in, is the first trajectory length of the first trajectory, is the first mileage coordinate, is the second mile sub-coordinate, is the first sub-error, is the third mileage coordinate, is the fourth mile sub-coordinate, is the second sub-error.
[0103] Optionally, according to the specific implementation of the second trajectory type, the second mileage position data, the third mileage position data and the second error, reference may be made to the specific implementation steps of constructing the trajectory length mapping relationship of the first trajectory according to the first trajectory type, the first mileage position data, the second mileage position data and the first error, which will not be repeated here.
[0104] As an embodiment, the second mileage position data, the third mileage position data and the second error are substituted into the coordinate segment length formula to obtain the trajectory length mapping relationship of the second trajectory, including: the second error includes the third sub-error corresponding to the second trajectory in the first coordinate direction, and the fourth sub-error corresponding to the second trajectory in the second coordinate direction; the third mileage position data includes the fifth mileage sub-coordinate of the third point in the first coordinate direction and the sixth mileage sub-coordinate of the third point in the second coordinate direction, and the fifth mileage sub-coordinate, the sixth mileage sub-coordinate, the third sub-error, the fourth sub-error, the third mileage sub-coordinate and the fourth mileage sub-coordinate are substituted into the coordinate segment length formula to obtain the trajectory length mapping relationship of the second trajectory.
[0105] Optionally, the fifth mileage sub-coordinate, the sixth mileage sub-coordinate, the third sub-error, the fourth sub-error, the third mileage sub-coordinate and the fourth mileage sub-coordinate are substituted into the coordinate line segment length formula to obtain the trajectory length mapping relationship of the second trajectory, which can be expressed as:
[0106]
[0107] in, is the second trajectory length of the second trajectory, is the fifth mileage coordinate, is the third sub-error, is the sixth mile sub-coordinate, is the fourth sub-error.
[0108] Optionally, refer to Figure 4 , Figure 4 Includes the positional relationship between the first point (point A in the figure), the second point (point B in the figure) and the third point (point C in the figure) in the rectangular coordinate system.
[0109] Step 306: Generate the motion error of the robot according to the trajectory length mapping relationship and the theoretical trajectory length.
[0110] Exemplarily, step 306 includes: substituting the theoretical trajectory length into the trajectory length mapping relationship to obtain the motion error of the robot.
[0111] As an embodiment, the theoretical trajectory length includes a first trajectory length of a first trajectory and a second trajectory length of a second trajectory; generating a motion error of the robot according to a trajectory length mapping relationship and the theoretical trajectory length, including: determining an error proportional coefficient between the first error and the second error according to the first trajectory length and the second trajectory length; and combining the trajectory length mapping relationship of the first trajectory and the trajectory length mapping relationship of the second trajectory according to the error proportional coefficient, the first trajectory length and the second trajectory length to obtain the motion error of the robot.
[0112] Further, determining an error proportionality coefficient between the first error and the second error according to the first track length and the second track length includes: determining a ratio between the first track length and the second track length as the error proportionality coefficient between the first error and the second error.
[0113] As an embodiment, determining the ratio between the first track length and the second track length as the error proportionality coefficient between the first error and the second error includes: determining the ratio between the first track length and the second track length as the error proportionality coefficient between the first sub-error and the third sub-error, and determining the ratio between the first track length and the second track length as the proportionality coefficient between the second sub-error and the fourth sub-error.
[0114] Optionally, the ratio between the first track length and the second track length is determined as the error proportional coefficient between the first sub-error and the third sub-error, and the ratio between the first track length and the second track length is determined as the error proportional coefficient between the second sub-error and the fourth sub-error, which can be expressed by the formula:
[0115]
[0116] in, is the error proportionality coefficient.
[0117] In this way, since the motion errors of the same robot in the same coordinate direction are proportional, and the motion errors are accumulated with the increase of the length of the motion trajectory, the error proportionality coefficient can be quantified to facilitate subsequent calculations.
[0118] As an embodiment, according to the error proportionality coefficient, the first trajectory length and the second trajectory length, the trajectory length mapping relationship of the first trajectory and the trajectory length mapping relationship of the second trajectory are combined to obtain the motion error of the robot, including: substituting the first trajectory length into the trajectory length mapping relationship of the first trajectory, and substituting the error proportionality coefficient and the second trajectory length into the trajectory length mapping relationship of the second trajectory, and combining the trajectory length mapping relationship of the first trajectory and the trajectory length mapping relationship of the second trajectory after the substitution to obtain the motion error of the robot.
[0119] It can be understood that when the mapping relationship between the trajectory lengths of the first trajectory and the second trajectory is expanded, there is a square motion error term, and the motion error is usually small and can be ignored. Therefore, the square motion error term is eliminated, and the terms therein can also be replaced by other values (for example, the above error proportional coefficient relationship and the following partial terms refer to), so as to simplify the relationship. The elimination and simplification process can be expressed by the formula:
[0120] make
[0121] The relationship is simplified to:
[0122]
[0123]
[0124] After elimination, the combined relation is:
[0125]
[0126] The combined motion error can be expressed as:
[0127]
[0128] In this way, the motion error quantification is achieved when the trajectory type is a line segment trajectory type.
[0129] In this embodiment, the motion trajectory corresponding to the robot moving to at least one preset point is obtained; a trajectory length mapping relationship of the motion trajectory is constructed according to the actual mileage data, the motion error of the robot and the motion trajectory; the motion error of the robot is generated according to the trajectory length mapping relationship and the theoretical trajectory length, and the actual mileage data, the motion error of the robot and the motion trajectory are used as the basis for constructing the trajectory length mapping relationship of the motion trajectory, thereby ensuring that the constructed trajectory length mapping relationship matches the motion trajectory, and the constructed trajectory length mapping relationship and the theoretical trajectory length are used as the basis for generating the motion error, thereby ensuring the accuracy of the generation of the motion error.
[0130] In one embodiment, Figure 5 As shown, a method for updating a preset scene error table is provided. In this method, Figure 2 After step 206 in the method, the method further comprises:
[0131] Step 502: Obtain a preset scene error table, wherein the preset scene error table includes a correspondence between at least one preset motion control scene and a motion error.
[0132] Exemplarily, step 502 includes: obtaining a preset scenario error table corresponding to all robots, or obtaining a preset scenario error table corresponding to a robot.
[0133] Step 504: updating the preset scene error table according to the motion error in the current motion control scene corresponding to the robot.
[0134] Exemplarily, step 504 includes: updating the preset scene error table according to the matching degree between the current motion control scene corresponding to the robot and each preset control scene in the preset scene error table, and the motion error under the current motion control scene corresponding to the robot.
[0135] It is understandable that, for the same robot, as the robot is used for a longer time, the wear of the robot's motion device will also increase, which will affect the robot's motion error. If the robot's motion error is not updated in time, the motion deviation of the robot controlled based on the robot's motion error may be high, that is, the robot's motion control accuracy will be low.
[0136] In order to overcome the above-mentioned technical defect that the wear degree of the robot's motion device will increase due to the longer use time of the robot, which will affect the robot's motion error. If the robot's motion error is not updated in time, it will lead to low accuracy of the robot's motion control. As an embodiment, if there is a first target motion control scene in the preset scene error table whose corresponding matching degree representation matches the current motion control scene corresponding to the robot, the motion error corresponding to the first target motion control scene in the preset scene error table is updated according to the motion error in the current motion control scene corresponding to the robot.
[0137] In this way, the preset scene error table can be updated in real time, which can facilitate the subsequent use of the preset scene error table, ensure the accuracy of motion errors when the preset scene error table is used to control the robot, and thus ensure the accuracy of the robot's motion control.
[0138] As another embodiment, if there is no corresponding matching degree representation in the preset scene error table for the first target motion control scene that matches the current motion control scene corresponding to the robot, the preset scene error table is updated according to the current motion control scene corresponding to the robot and the motion error under the current motion control scene corresponding to the robot.
[0139] In this way, the preset scene error table can be supplemented to ensure that the preset scene error table can cover more motion control scenarios, which can facilitate the subsequent use of the preset scene error table and ensure the comprehensiveness and diversity of motion control scenarios when using the preset scene error table.
[0140] In this embodiment, a preset scene error table is obtained, wherein the preset scene error table includes a correspondence between at least one preset motion control scene and a motion error; the preset scene error table is updated according to the motion error in the current motion control scene corresponding to the robot, and the preset scene error table is updated in time according to the motion error in the current motion control scene corresponding to the robot calculated in real time. When the robot is subsequently controlled, the updated preset scene error table can be directly used as the control basis without the need for unnecessary motion error determination processes, thereby improving the convenience of robot control.
[0141] The robot motion error compensation method provided in the embodiment of the present application can be applied to Figure 1 The server 106 in the application scenario shown. The server 106 communicates with the robot 104 through the network, and the terminal 102 communicates with the server 106 through the network. The data storage system can store the data (control instructions, motion errors, etc.) that the server 106 needs to process. The server 106 responds to the control instruction for the robot 104, obtains the target motion position of the control instruction, and determines the posture control parameters of the robot 104 moving from the current position to the target motion position; obtains the motion error of the robot 104 in the current motion control scenario; performs motion compensation on the posture control parameters based on the motion error to obtain the posture compensation control parameters; controls the robot 104 to move from the current position to the target motion position according to the posture compensation control parameters, and the terminal 102 can be used to send control instructions for the robot 104 to the server 106.
[0142] The robot motion error compensation method provided in the embodiment of the present application can also be applied to the terminal 102. The terminal 102 communicates with the robot 104 through the network. The data storage system can store the data that the terminal 102 needs to process (control instructions, motion errors, etc.). The terminal 102 responds to the control instructions initiated by it for the robot 104, obtains the target motion position of the control instructions, and determines the posture control parameters of the robot 104 moving from the current position to the target motion position; obtains the motion error of the robot 104 in the current motion control scenario; performs motion compensation on the posture control parameters based on the motion error to obtain the posture compensation control parameters; and controls the robot 104 to move from the current position to the target motion position according to the posture compensation control parameters.
[0143] The robot motion error compensation method provided in the embodiment of the present application can also be applied to the robot 104. The data storage system can store the data (control instructions, motion errors, etc.) that the robot 104 needs to process. The robot 104 responds to the control instructions for itself, obtains the target motion position of the control instructions, and determines the posture control parameters of itself moving from the current position to the target motion position; obtains the motion error corresponding to itself in the current motion control scenario; performs motion compensation on the posture control parameters based on the motion error to obtain the posture compensation control parameters; and controls itself to move from the current position to the target motion position according to the posture compensation control parameters, wherein the control instructions can be generated for the user's operation on the robot 104, and can also be initiated by the terminal 102 that communicates with the robot 104.
[0144] In one embodiment, Figure 6 As shown, a robot motion error compensation method is provided, which is applied to Figure 1 The server 106 in the example is used as an example to illustrate, and the following steps are included:
[0145] Step 602 , in response to a control instruction for the robot, obtain a target motion position of the control instruction, and determine a posture control parameter for the robot to move from a current position to a target motion position.
[0146] Among them, the control instruction in step 402 is a motion control instruction for the robot, and the specific content of the control instruction corresponds to the use scenario of the robot. When the use scenario of the robot is a transportation scenario, the control instruction is usually to control the robot to move to a certain location to pick up or deliver goods; the target motion position is the target position to which the robot is to move as indicated by the control instruction; the posture control parameters include position control parameters and attitude control parameters, specifically, the attitude control parameters include at least one attitude control sub-parameter in the process of the robot moving from the current position to the target motion position, and the attitude control sub-parameter is used to characterize the attitude control angle of the robot; the position control parameters include distance control sub-parameters corresponding to each attitude control sub-parameter in the process of the robot moving from the current position to the target motion position.
[0147] Exemplarily, acquiring a target motion position of a control instruction includes: identifying the target motion position of the control instruction from the control instruction.
[0148] Exemplarily, determining the posture control parameters of the robot moving from the current position to the target position includes: determining the position control parameters and posture control parameters corresponding to the process of the robot theoretically moving from the current position to the target position based on the current position and the target position of the robot.
[0149] Step 604, obtain the motion error corresponding to the robot in the current motion control scenario, where the motion error is generated based on theoretical mileage data and actual mileage data between the current position of the robot and at least one preset point, and the actual mileage data is obtained and collected in the process of controlling the robot to move to at least one preset point.
[0150] Exemplarily, step 604 includes: obtaining a preset scene error table, querying the motion error corresponding to the robot in the current motion control scene from the preset scene error table, or obtaining the motion error corresponding to the robot in the current motion control scene through the above-mentioned robot motion error determination method.
[0151] As an embodiment, step 604 includes: obtaining the matching degree between the current motion control scene corresponding to the robot and each preset motion control scene in the preset scene error table; if there is a second target motion control scene in the preset scene error table whose corresponding matching degree represents the matching of the current motion control scene corresponding to the robot, then the motion error corresponding to the second target motion control scene in the preset scene error table is determined as the motion error under the current motion control scene corresponding to the robot; if there is no second target motion control scene in the preset scene error table whose corresponding matching degree represents the matching of the current motion control scene corresponding to the robot, then the motion error under the current motion control scene corresponding to the robot is obtained by the above-mentioned robot motion error determination method.
[0152] In this way, when there is a second target motion control scene in the preset scene error table, the unnecessary time consumed in the process of obtaining the motion error corresponding to the current motion control scene of the robot through the above-mentioned robot motion error determination method is saved. Therefore, to a certain extent, the efficiency of obtaining the motion error is improved.
[0153] Step 606: Perform motion compensation on the posture control parameters based on the motion error to obtain posture compensation control parameters.
[0154] As an embodiment, step 606 includes: the posture compensation control parameters include position compensation control parameters and attitude compensation control parameters; generating the unit mileage motion error of the robot under unit mileage according to the motion error and the target theoretical mileage data corresponding to the robot; performing motion compensation on the position control parameters according to the unit mileage motion error to obtain the position compensation control parameters, and performing motion compensation on the attitude control parameters according to the unit mileage motion error to obtain the attitude compensation control parameters.
[0155] Furthermore, based on the motion error and the target theoretical mileage data corresponding to the robot, a unit mileage motion error of the robot under unit mileage is generated, including: the target theoretical mileage data is the theoretical mileage data corresponding to the robot moving from the current position to the target motion position; the unit mileage motion error includes a first unit mileage motion sub-error of the target theoretical mileage data in the first coordinate direction and a second unit mileage motion sub-error of the target theoretical mileage data in the second coordinate direction; the ratio between the first motion sub-error and the target theoretical mileage data is determined as the first unit mileage motion sub-error; the ratio between the second motion sub-error and the target theoretical mileage data is determined as the second unit mileage motion sub-error.
[0156] As an embodiment, motion compensation is performed on a position control parameter according to a unit mileage motion error to obtain a position compensation control parameter, including: determining a unit motion distance deviation according to a first unit mileage motion sub-error, a second unit mileage motion sub-error and a motion trajectory type corresponding to motion from a current position to a target motion position; and motion compensation is performed on the position control parameter according to the unit motion distance deviation to obtain a position compensation control parameter.
[0157] As an embodiment, according to the unit mileage motion error, motion compensation is performed on the posture control parameters to obtain the posture compensation control parameters, including: respectively differentiating the first unit mileage motion error and the second unit mileage motion error to obtain the first unit mileage motion differential error and the second unit mileage motion differential error; constructing the robot's geometric error homogeneous transformation matrix according to the first unit mileage motion differential error and the second unit mileage motion differential error; according to the robot's geometric error homogeneous transformation matrix, motion compensation is performed on the posture control parameters to obtain the posture compensation control parameters.
[0158] Step 608, controlling the robot to move from the current position to the target motion position according to the posture compensation control parameters.
[0159] Exemplarily, step 608 includes: sending the position compensation control parameter and the posture compensation control parameter to the control system of the robot, and controlling the robot to move from the current position to the target movement position through the control system of the robot.
[0160] Optionally, refer to Figure 7 , before step 606, the method further includes:
[0161] Step 605: Detect whether the motion error is greater than a preset error threshold.
[0162] Exemplarily, step 605 includes: detecting whether the first motion sub-error is greater than a preset error threshold, and / or detecting whether the second motion sub-error is greater than a preset error threshold.
[0163] If it is detected that the motion error is greater than the preset error threshold, step 607 is executed to output a robot fault indication.
[0164] As an embodiment, if the first motion sub-error is greater than a preset error threshold, or the second motion sub-error is greater than the preset error threshold, it is determined that the motion error is greater than the preset error threshold.
[0165] As an embodiment, outputting a robot fault indication includes: outputting the robot fault indication in voice form and / or text form and / or prompt light form.
[0166] In this way, on the one hand, in the robot usage scenario, it can be used to indicate to the user that the robot has a fault and to repair the robot in time; in the robot manufacturing scenario, it can be used to indicate to the user that the robot has a fault and needs to be returned to the factory for redoing, so as to avoid low production quality of robots leaving the factory; on the other hand, it can be seen from the above-mentioned robot motion error determination method that for the convenience of calculation and considering that the motion error is usually small, the square term of the motion error is eliminated. In this case, if the calculated motion error is still high, it means that this motion error is not necessarily accurate. If this motion error is used to control the robot, it is still easy for the robot control accuracy to be low.
[0167] If the detected motion error is less than or equal to the preset error threshold, step 606 and subsequent steps are executed.
[0168] In this embodiment, by responding to a control instruction for the robot, the target motion position of the control instruction is obtained, and the posture control parameters of the robot moving from the current position to the target motion position are determined; the motion error of the robot in the current motion control scenario is obtained, and the motion error is generated based on theoretical mileage data and actual mileage data between the current position of the robot and at least one preset point, and the actual mileage data is obtained and collected in the process of controlling the robot to move to at least one preset point; based on the motion error, the posture control parameters are motion compensated to obtain posture compensation control parameters; according to the posture compensation control parameters, the robot is controlled to move from the current position to the target motion position, and the initial posture control parameters of the robot are motion compensated based on the motion error in the current motion control scenario corresponding to the robot, and the posture compensation control parameters after motion compensation are used as the basis to control the robot to move from the current position to the target motion position, so that the robot can accurately reach the target motion position, thereby improving the motion control accuracy of the robot.
[0169] As a more detailed embodiment, the robot is controlled to move from a current position to at least one preset point, and actual mileage data of the robot moving to at least one preset point is collected and obtained; theoretical mileage data between the current position and at least one preset point is obtained; a motion trajectory corresponding to the robot moving to at least one preset point is obtained; a first trajectory type of the first trajectory is obtained, and a second trajectory type of the second trajectory is obtained; a trajectory length mapping relationship of the first trajectory is constructed according to the first trajectory type, the first mileage position data, the second mileage position data and the first error; a trajectory length mapping relationship of the second trajectory is constructed according to the second trajectory type, the second mileage position data, the third mileage position data and the second error; an error proportionality coefficient between the first error and the second error is determined according to the first trajectory length and the second trajectory length; the trajectory length mapping relationship of the first trajectory and the trajectory length mapping relationship of the second trajectory are combined according to the error proportionality coefficient, the first trajectory length and the second trajectory length to obtain the motion error of the robot; a preset scene error table is obtained, wherein the preset scene error table includes a correspondence between at least one preset motion control scene and the motion error; and the preset scene error table is updated according to the motion error of the robot under the current motion control scene.
[0170] Furthermore, in response to a control instruction for the robot, a target motion position of the control instruction is obtained, and a posture control parameter of the robot moving from the current position to the target motion position is determined; a motion error corresponding to the robot in the current motion control scenario is obtained, the motion error is generated based on theoretical mileage data and actual mileage data between the current position of the robot and at least one preset point, and the actual mileage data is obtained and collected in the process of controlling the robot to move to at least one preset point; if it is detected that the motion error is greater than a preset error threshold, a robot fault indication is output; if it is detected that the motion error is less than or equal to the preset error threshold, a unit mileage motion error of the robot under unit mileage is generated according to the motion error and the target theoretical mileage data corresponding to the robot; according to the unit mileage motion error, the position control parameter is motion compensated to obtain a position compensation control parameter, and, according to the unit mileage motion error, the posture control parameter is motion compensated to obtain a posture compensation control parameter; according to the position compensation control parameter and the posture compensation control parameter, the robot is controlled to move from the current position to the target motion position.
[0171] In this embodiment, by controlling the robot to move from the current position to at least one preset point, the actual mileage data of the robot moving to the at least one preset point is collected and obtained; the theoretical mileage data between the current position and at least one preset point is obtained; according to the actual mileage data and the theoretical mileage data, the motion error of the robot corresponding to the current motion control scenario is determined, and a motion error compensation method is provided. For the area where the preset point is located, or other points belonging to the same scene as the area where the preset point is located, a unified motion error is generated, and the mileage data of the actual movement of the robot at the preset point and the actual distance data actually measured for the preset point are used as the basis for generating the robot motion error, which ensures that the generated motion error is compatible with the current motion control scenario of the robot, so as to provide a motion compensation basis for the subsequent robot motion error compensation method, thereby further improving the robot's motion control accuracy.
[0172] Furthermore, by controlling the robot to move from the current position to at least one preset point, the actual mileage data of the robot moving to the at least one preset point is collected and obtained; the theoretical mileage data between the current position and at least one preset point is obtained; according to the actual mileage data and the theoretical mileage data, the motion error of the robot corresponding to the current motion control scenario is determined, and a motion error compensation method is provided. For the area where the preset point is located, or other points belonging to the same scene as the area where the preset point is located, a unified motion error is generated, and the mileage data of the actual movement of the robot at the preset point and the actual distance data actually measured for the preset point are used as the basis for generating the robot motion error, which ensures that the generated motion error is compatible with the current motion control scenario of the robot, so as to provide a motion compensation basis for the subsequent robot motion error compensation method, thereby further improving the robot's motion control accuracy.
[0173] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0174] Based on the same inventive concept, the embodiment of the present application also provides a robot motion error compensation device for implementing the robot motion error compensation method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in the one or more robot motion error compensation device embodiments provided below can refer to the limitations of the robot motion error compensation method above, and will not be repeated here.
[0175] In one embodiment, Figure 8 As shown, a robot motion error determination device 800 is provided, comprising: a collection module 802, a first acquisition module 804 and a first determination module 806, wherein:
[0176] The acquisition module 802 is used to control the robot to move from the current position to at least one preset point, and to acquire actual mileage data of the robot during the movement to at least one preset point;
[0177] The first acquisition module 804 is used to acquire theoretical mileage data between the current position and at least one preset point;
[0178] The first determination module 806 is used to determine the motion error of the robot in the current motion control scenario according to the actual mileage data and the theoretical mileage data.
[0179] In one embodiment, the theoretical mileage data includes a theoretical trajectory length of a motion trajectory corresponding to at least one preset point; the first determination module 806 is also used to obtain the motion trajectory corresponding to the robot moving to at least one preset point; construct a trajectory length mapping relationship of the motion trajectory based on the actual mileage data, the robot's motion error and the motion trajectory; and generate the robot's motion error based on the trajectory length mapping relationship and the theoretical trajectory length.
[0180] In one embodiment, at least one preset point includes a first point and a second point, the motion trajectory includes a first trajectory of the robot moving from a current position to the first point, and a second trajectory of the robot moving from the first point to the second point, the actual mileage data includes first mileage position data corresponding to the current position of the robot, second mileage position data corresponding to the first point of the robot, and third mileage position data corresponding to the second point of the robot, and the motion error includes a first error when the robot moves along the first trajectory and a second error when the robot moves along the second trajectory; the first determination module 806 is also used to obtain a first trajectory type of the first trajectory, and to obtain a second trajectory type of the second trajectory; according to the first trajectory type, the first mileage position data, the second mileage position data and the first error, a trajectory length mapping relationship of the first trajectory is constructed; according to the second trajectory type, the second mileage position data, the third mileage position data and the second error, a trajectory length mapping relationship of the second trajectory is constructed.
[0181] In one embodiment, the theoretical trajectory length includes a first trajectory length of the first trajectory and a second trajectory length of the second trajectory; the first determination module 806 is further used to determine an error proportionality coefficient between the first error and the second error based on the first trajectory length and the second trajectory length; based on the error proportionality coefficient, the first trajectory length and the second trajectory length, the trajectory length mapping relationship of the first trajectory and the trajectory length mapping relationship of the second trajectory are jointly established to obtain the motion error of the robot.
[0182] In one embodiment, the robot motion error determination device 800 also includes: an updating module, used to obtain a preset scene error table, wherein the preset scene error table includes a correspondence between at least one preset motion control scene and the motion error; and updating the preset scene error table according to the motion error in the current motion control scene corresponding to the robot.
[0183] Each module in the above-mentioned robot motion error generating device can be implemented in whole or in part by software, hardware and a combination thereof. Each of the above-mentioned modules can be embedded in or independent of a processor in an electronic device in the form of hardware, or can be stored in a memory in an electronic device in the form of software, so that the processor can call and execute the operations corresponding to each of the above modules.
[0184] In one embodiment, Fig. 9 As shown, a robot motion error compensation device 900 is provided, comprising: a second determination module 902, a second acquisition module 904, a compensation module 906 and a control module 908, wherein:
[0185] A second determination module 902 is used to obtain a target motion position of the control instruction in response to a control instruction for the robot, and determine a posture control parameter for the robot to move from a current position to a target motion position;
[0186] The second acquisition module 904 is used to acquire the motion error corresponding to the current motion control scenario of the robot, where the motion error is generated based on theoretical mileage data and actual mileage data between the current position of the robot and at least one preset point, where the actual mileage data is acquired and collected during the process of controlling the robot to move to at least one preset point;
[0187] A compensation module 906, configured to perform motion compensation on the posture control parameters based on the motion error to obtain posture compensation control parameters;
[0188] The control module 908 is used to control the robot to move from the current position to the target motion position according to the posture compensation control parameters.
[0189] In one embodiment, the posture control parameters include position control parameters and attitude control parameters, and the posture compensation control parameters include position compensation control parameters and attitude compensation control parameters; the compensation module 906 is also used to generate the unit mileage motion error of the robot under unit mileage according to the motion error and the target theoretical mileage data corresponding to the robot; according to the unit mileage motion error, the position control parameters are motion compensated to obtain the position compensation control parameters, and, according to the unit mileage motion error, the attitude control parameters are motion compensated to obtain the attitude compensation control parameters.
[0190] In one embodiment, the robot motion error compensation device 900 also includes a detection module, which is used to output a robot fault indication if a motion error is detected to be greater than a preset error threshold; if a motion error is detected to be less than or equal to the preset error threshold, the step of performing motion compensation on the posture control parameters based on the motion error to obtain posture compensation control parameters and subsequent steps are executed.
[0191] Each module in the above robot motion error compensation device can be implemented in whole or in part by software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in an electronic device in the form of hardware, or can be stored in a memory in an electronic device in the form of software, so that the processor can call and execute operations corresponding to each module.
[0192] In one embodiment, an electronic device is provided. The electronic device may be a terminal, and its internal structure diagram may be as follows: Fig.10As shown. The electronic device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. The processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the electronic device is used to exchange information between the processor and an external device. The communication interface of the electronic device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a robot motion error compensation method is implemented. The display unit of the electronic device is used to form a visually visible picture, which can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the electronic device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the electronic device casing, or an external keyboard, touchpad or mouse.
[0193] Those skilled in the art will understand that Fig.10 The structure shown in the figure is merely a block diagram of a partial structure related to the scheme of the present application, and does not constitute a limitation on the electronic device to which the scheme of the present application is applied. The specific electronic device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.
[0194] In one embodiment, an electronic device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.
[0195] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0196] In one embodiment, a computer program product is provided, including a computer program, which, when executed by a processor, implements the steps in the above-mentioned method embodiments.
[0197] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0198] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0199] The above embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A method for determining robot motion error, characterized in that: The method comprises: Control the robot to move from a current position to at least one preset point, and collect and obtain actual mileage data of the robot during the movement to at least one of the preset points; Acquire theoretical mileage data between the current position and at least one of the preset points; The motion error of the robot in the current motion control scenario is determined according to the actual mileage data and the theoretical mileage data.
2. The method according to claim 1, characterized in that The theoretical mileage data includes a theoretical trajectory length of the motion trajectory corresponding to the at least one preset point; and determining the motion error of the robot in the current motion control scenario according to the actual mileage data and the theoretical mileage data includes: Obtaining a motion trajectory corresponding to the robot moving to at least one of the preset points; Constructing a trajectory length mapping relationship of the motion trajectory according to the actual mileage data, the motion error of the robot and the motion trajectory; The motion error of the robot is generated according to the trajectory length mapping relationship and the theoretical trajectory length.
3. The method according to claim 2, characterized in that At least one of the preset points includes a first point and a second point, the motion trajectory includes a first trajectory of the robot moving from the current position to the first point, and a second trajectory of the robot moving from the first point to the second point, the actual mileage data includes first mileage position data of the robot corresponding to the current position, second mileage position data of the robot corresponding to the first point, and third mileage position data of the robot corresponding to the second point, and the motion error includes a first error when the robot moves along the first trajectory and a second error when the robot moves along the second trajectory; The step of constructing a trajectory length mapping relationship of the motion trajectory according to the actual mileage data, the motion error of the robot and the motion trajectory comprises: Obtaining a first trajectory type of the first trajectory, and obtaining a second trajectory type of the second trajectory; constructing a trajectory length mapping relationship of the first trajectory according to the first trajectory type, the first mileage position data, the second mileage position data, and the first error; A trajectory length mapping relationship of the second trajectory is constructed according to the second trajectory type, the second mileage position data, the third mileage position data and the second error.
4. The method according to claim 3, characterized in that: The theoretical trajectory length includes a first trajectory length of the first trajectory and a second trajectory length of the second trajectory; and generating the motion error of the robot according to the trajectory length mapping relationship and the theoretical trajectory length includes: determining an error proportionality coefficient between the first error and the second error according to the first track length and the second track length; According to the error proportional coefficient, the first trajectory length and the second trajectory length, a trajectory length mapping relationship of the first trajectory and a trajectory length mapping relationship of the second trajectory are jointly established to obtain a motion error of the robot.
5. The method according to any one of claims 1 to 4, characterized in that After determining the motion error of the robot in the current motion control scenario according to the actual mileage data and the theoretical mileage data, the method further includes: Acquire a preset scene error table, wherein the preset scene error table includes a correspondence between at least one preset motion control scene and a motion error; The preset scenario error table is updated according to the motion error in the current motion control scenario corresponding to the robot.
6. A robot motion error compensation method, characterized in that: The method comprises: In response to a control instruction for the robot, obtaining a target motion position of the control instruction, and determining a posture control parameter for the robot to move from a current position to the target motion position; Obtaining a motion error corresponding to the robot in a current motion control scenario, wherein the motion error is generated based on theoretical mileage data and actual mileage data between the current position of the robot and at least one preset point, wherein the actual mileage data is obtained and collected during the process of controlling the robot to move to at least one of the preset points; Performing motion compensation on the posture control parameter based on the motion error to obtain a posture compensation control parameter; According to the posture compensation control parameters, the robot is controlled to move from the current position to the target movement position.
7. The method according to claim 6, characterized in that The posture control parameters include position control parameters and attitude control parameters, and the posture compensation control parameters include position compensation control parameters and attitude compensation control parameters; the motion compensation of the posture control parameters based on the motion error to obtain the posture compensation control parameters includes: Generate a unit mileage motion error of the robot at unit mileage according to the motion error and target theoretical mileage data corresponding to the robot; According to the unit mileage motion error, the position control parameter is motion compensated to obtain a position compensation control parameter; and, according to the unit mileage motion error, the attitude control parameter is motion compensated to obtain an attitude compensation control parameter.
8. The method according to claim 6 or 7, characterized in that: Before performing motion compensation on the posture control parameter based on the motion error to obtain the posture compensation control parameter, the method further includes: If it is detected that the motion error is greater than a preset error threshold, a robot fault indication is output; If it is detected that the motion error is less than or equal to a preset error threshold, the step of performing motion compensation on the posture control parameter based on the motion error to obtain the posture compensation control parameter and subsequent steps are executed.
9. A robot motion error determination device, characterized in that: The device comprises: A collection module, used to control the robot to move from a current position to at least one preset point, and collect and obtain actual mileage data of the robot during the movement to at least one of the preset points; A first acquisition module, used to acquire theoretical mileage data between the current position and at least one of the preset points; The first determination module is used to determine the motion error of the robot in the current motion control scenario according to the actual mileage data and the theoretical mileage data.
10. A robot motion error compensation device, characterized in that: The device comprises: A second determination module is used to obtain a target motion position of the control instruction in response to a control instruction for the robot, and determine a posture control parameter for the robot to move from a current position to the target motion position; A second acquisition module is used to acquire a motion error corresponding to the robot in a current motion control scenario, wherein the motion error is generated based on theoretical mileage data and actual mileage data between the current position of the robot and at least one preset point, wherein the actual mileage data is acquired and collected during the process of controlling the robot to move to at least one of the preset points; A compensation module, used for performing motion compensation on the posture control parameter based on the motion error to obtain a posture compensation control parameter; A control module is used to control the robot to move from the current position to the target movement position according to the posture compensation control parameters.
11. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 are implemented.
12. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Robot motion error in-situ detection and compensation method and equipment
CN112959323A
Odometer calibration method and device, robot and readable storage medium
CN114323076A
Track compensation method and device and computer readable storage medium
CN115213897A
Method and apparatus for detecting movement error in mobile robot
US20090171504A1