Method and apparatus for managing robot paths
By determining the transmission error of the robot system and correcting the path deviation, the error problem of the robot system in path calibration is solved, and higher path accuracy and system performance are achieved.
Patent Information
- Application Number
- CN202080103443.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-17
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2040-09-17
AI Technical Summary
The existing robotic systems have transmission errors in path calibration, resulting in path deviations and cannot meet the demand for higher accuracy in microelectronic equipment production.
By obtaining the deviation between the real path and the ideal path at the tip of the robot system, the transmission error is represented by a group of sinusoidal functions, and the transmission error is determined by solving unknown parameters, thereby correcting the path of the robot system.
Improves the path accuracy of the robot system, reduces the demand for calibration tools, reduces time costs, and improves the overall performance of the robot system.
Smart Images

Figure CN115989115B_ABST
Abstract
Description
Technical Field
[0001] Example embodiments of the present disclosure relate generally to a robotic system, and more particularly to methods, apparatuses, systems, and computer-readable media for managing a robot path of a robotic system. Background Art
[0002] With the development of computers and automatic control, robotic systems have been widely used to handle various types of objects in the manufacturing industry. For example, tools can be equipped at the tip of the robotic system for cutting, grasping, and other operations. Typically, a robotic system may have multiple robotic arms, each of which can rotate through a corresponding joint at the end of the arm. The joints are driven by a gearbox, and due to gearbox mechanism errors and other errors, the rotation of the joints is not always accurate. Sometimes, transmission errors may occur during joint movement. Typically, a robotic system may have multiple arms, and the transmission errors caused by the multiple joints of the multiple arms may be accumulated, resulting in path deviations at the tip of the robotic system.
[0003] Several solutions have been proposed to calibrate these errors. However, the increasing demands of microelectronic device production necessitate more accurate path performance for robotic systems, and existing calibration solutions fail to provide sufficient accuracy. Therefore, more accurate management of robotic paths is desired. Summary of the Invention
[0004] Example embodiments of the present disclosure provide solutions for controlling a robot path of a robotic system.
[0005] In a first aspect, example embodiments of the present disclosure provide a method for managing a robot path of a robotic system, wherein the robotic system includes at least one arm, wherein the at least one arm has a joint for rotating the arm. The method includes: obtaining a real path of a tip of the robotic system while guiding the tip to follow an ideal path; identifying a path deviation between the real path and the ideal path; and determining a transmission error of the joint based on the path deviation and kinematic data associated with the movement and multiple rotations of the joint at multiple time points during the movement. The tip of the robotic system can be driven to follow the ideal path. Due to transmission errors in the joint(s), the tip can follow a real path that differs from the ideal path. To determine the transmission error, the path deviation between the real path and the ideal path can be determined. Furthermore, kinematic data of the robotic system can be collected. Using these embodiments, the path deviation and kinematic data can be easily collected, and the transmission error of the joint can then be efficiently determined. Once the transmission error is determined, it can be used to further correct the path to be executed in the robotic system, allowing the robotic system to operate with improved accuracy.
[0006] In some embodiments, determining the transmission error includes: representing the transmission error using a set of sinusoidal functions, wherein the sinusoidal functions in the set are associated with multiple rotations of the joint; aligning the transmission error with the path deviation according to multiple time points; and determining the set of sinusoidal functions at the multiple time points based on the aligned path deviation and kinematic data. Using these embodiments, the transmission error can be easily represented by the set of sinusoidal functions including multiple unknown parameters. Furthermore, the multiple unknown parameters can be determined by solving a formula that includes the path deviation and the kinematic data at multiple time points during the movement.
[0007] In some embodiments, representing the transmission error includes defining the sine function by amplitude and phase shift with respect to a sine function from a set of sine functions. Because the transmission error is caused by rotation of the joint, according to existing solutions, the transmission error can be effectively defined using sinusoidal parameters such as amplitude and phase shift. Using these embodiments, the amplitude and phase shift can be treated as unknown parameters and then calculated by solving a formula that includes the path deviation and kinematic data.
[0008] In some embodiments, determining the set of sine functions includes generating formulas based on values in the path deviation and data in the kinematic data for a time point in a plurality of time points; and solving for amplitude and phase shift based on the formulas for the plurality of time points. The values at each time point can be used to construct a separate formula including the unknown amplitude and phase shift. Furthermore, the formulas for the plurality of time points can be combined to provide more basis for determining the transmission error. Consequently, multiple candidate amplitude and phase shifts can be determined.
[0009] In some embodiments, solving for the amplitude and phase shift includes solving for the amplitude and phase shift under the constraint that the sum of the differences is minimized. With this constraint, a set of optimized amplitudes and phase shifts can be selected from a plurality of candidates to accurately represent the transmission error.
[0010] In some embodiments, the method further includes obtaining kinematic data based on a deviation in the true path caused by the rotation of the joint at a time point in the plurality of time points. Using these embodiments, kinematic data can be collected at each time point during the movement, so that the kinematic data can be effectively aligned with the path deviation.
[0011] In some embodiments, the ideal path is related to at least one direction in the coordinates of the robotic system.With these embodiments, the ideal path can be defined in a simple manner, so that the processing cost for determining the transmission error can be reduced.
[0012] In some embodiments, the frequency associated with the plurality of time points is higher than twice the product of the frequency coefficient of any sinusoidal function and the joint angular velocity. Using these embodiments, more information can be gathered from the movement so that the transmission error can be determined in an accurate manner.
[0013] In some embodiments, the method further includes: correcting the path to be followed by the tip of the robotic system using the transmission error; and directing movement of the tip to follow the corrected path. Using these embodiments, the determined transmission error can be used to control further operation of the robotic system by correcting the path to be executed. Using the corrected path, the tip of the robotic system can more accurately follow the path, thereby improving the overall performance of the robotic system.
[0014] In some embodiments, correcting a path includes: determining a path offset associated with a rotation of a joint at a given time point in the path; and updating the point in the path at that time point using the path offset. Because the value of the transmission error varies at different time points, each point in the ideal path can be corrected based on the value corresponding to the point in the transmission error. Consequently, points in the path can be corrected individually in a more reliable manner.
[0015] In some embodiments, the method further includes: obtaining another actual path of the tip during guiding another movement of the tip to follow another ideal path; identifying another path deviation between the another actual path and the another ideal path; determining another transmission error of the joint based on the another path deviation and another kinematic data associated with the another movement; and correcting the path to be followed by the tip of the robotic system using the transmission error and the another transmission error. With these embodiments, the method for determining the transmission error can be performed multiple times to provide a more accurate way to correct the path.
[0016] In a second aspect, example embodiments of the present disclosure provide an apparatus for managing a robot path of a robotic system, the robotic system including at least one arm, wherein the at least one arm has a joint for rotating the arm. The apparatus includes: an acquisition unit configured to acquire a true path of a tip of the robotic system during movement to guide the tip to follow an ideal path; an identification unit configured to identify a path deviation between the true path and the ideal path; and a determination unit configured to determine a transmission error of the joint based on the path deviation and kinematic data associated with the movement and multiple rotations of the joint at multiple time points during the movement.
[0017] In some embodiments, the determination unit includes: a representation unit configured to represent the transmission error by a group of sinusoidal functions, wherein the sinusoidal functions in the group of sinusoidal functions are associated with multiple rotations of the joint; an alignment unit configured to align the transmission error with the path deviation according to multiple time points; and a function determination unit configured to determine the group of sinusoidal functions at multiple time points based on the aligned path deviation and kinematic data.
[0018] In some embodiments, the representation unit comprises: a definition unit configured to define the sine function by an amplitude and a phase shift with respect to a sine function in the group of sine functions.
[0019] In some embodiments, the function determination includes: a generation unit configured to generate a formula based on a value in the path deviation and data in the kinematic data relative to a time point in a plurality of time points; and a solution unit configured to solve for the amplitude and phase shift based on the formula for the plurality of time points.
[0020] In some embodiments, the solving unit includes: a parameter solving unit configured to solve for the amplitude and the phase shift under the constraint that the sum of the differences is minimized.
[0021] In some embodiments, the apparatus further comprises: a kinematics data obtaining unit configured to obtain kinematics data, with respect to a time point among the plurality of time points, based on a deviation in the real path caused by a rotation of the joint at the time point.
[0022] In some embodiments, the ideal path is associated with at least one direction in coordinates of the robotic system and has a frequency associated with the plurality of time points that is higher than twice the product of a frequency coefficient of any sine function and an angular velocity of the joint.
[0023] In some embodiments, the apparatus further comprises: a correction unit configured to correct a path to be followed by the tip of the robotic system by a transmission error; and a guidance unit configured to guide the movement of the tip to follow the corrected path.
[0024] In some embodiments, the correction unit includes: an offset determination unit configured to determine a path offset associated with a rotation of the joint at a time point relative to the time point in the path; and an updating unit configured to update the point in the path at the time point by the path offset.
[0025] In some embodiments, the obtaining unit is further configured to obtain another real path of the tip during another movement guiding the tip to follow another ideal path; the identifying unit is further configured to identify another path deviation between the another real path and the another ideal path; the determining unit is further configured to determine another transmission error of the joint based on the another path deviation and another kinematic data associated with the another movement; and the correction unit is further configured to correct the path to be followed by the tip of the robotic system by means of the transmission error and the another transmission error.
[0026] In a third aspect, an example embodiment of the present disclosure provides a system for managing a robot path. The system includes a computer processor coupled to a computer-readable memory unit, the memory unit including instructions that, when executed by the computer processor, implement a method for managing a robot path.
[0027] In a fourth aspect, example embodiments of the present disclosure provide a computer-readable medium having stored thereon instructions that, when executed on at least one processor, cause the at least one processor to perform a method for managing a robot path. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Figure 1 is a schematic diagram of a robotic system in which embodiments of the present disclosure may be implemented;
[0029] Figure 2 A schematic diagram illustrating a program for managing a robot path according to an embodiment of the present disclosure is illustrated;
[0030] Figure 3 A flowchart of a method for managing a robot path according to an embodiment of the present disclosure is illustrated;
[0031] Figure 4 A schematic diagram illustrating an ideal path that can be used to determine a transmission error according to an embodiment of the present disclosure is shown;
[0032] Figure 5 A schematic diagram illustrating the association between a path and a rotation of a joint according to an embodiment of the present disclosure;
[0033] Figure 6 FIG2 illustrates a schematic diagram for representing the transmission error of an arm of a robot system by a sine function according to an embodiment of the present disclosure;
[0034] Figure 7 A schematic diagram for correcting a robot path according to an embodiment of the present disclosure is illustrated;
[0035] Figure 8 A schematic diagram illustrating an apparatus for managing a robot path according to an embodiment of the present disclosure is illustrated; and
[0036] Figure 9 A schematic diagram of a system for managing robot paths according to an embodiment of the present disclosure is illustrated.
[0037] In the drawings, the same or similar reference symbols are used to designate the same or similar elements. DETAILED DESCRIPTION
[0038] The principles of the present disclosure will now be described with reference to several example embodiments shown in the accompanying drawings. Although example embodiments of the present disclosure are illustrated in the accompanying drawings, it is to be understood that the description of these embodiments is merely to facilitate those skilled in the art to better understand and implement the present disclosure, and is not intended to limit the scope of the present disclosure in any way.
[0039] For ease of description, reference will be made to Figure 1 To provide a general description of the environment of the present disclosure. Figure 1 1 illustrates a schematic diagram of a robotic system 100 in which embodiments of the present disclosure may be implemented. Figure 1 , the robotic system 100 may include at least one arm 110, 120, ..., and 130, wherein arm 110 is connected to a base of the robotic system 100 via a joint 114, and arm 120 is connected to arm 130 via a joint. As shown, arm 110 can rotate about axis 112 of joint 114, and arm 120 can rotate about axis 122 of a joint (not shown). The tip of end arm 130 may be equipped with a tool 140 for processing an object 170, such as raw material to be formed by the robotic system 110. Here, the tool may include, for example, a cutting tool for forming object 170 into a desired shape.
[0040] During operation of the robotic system 100, an ideal path 150 can be input into the robotic system 100 to drive the tip along a straight line. However, due to errors in the robotic system 100, the tip may actually follow the true path 160 in a curved form. In this case, the object 170 may not be shaped as desired. Solutions for managing the robotic path of the robotic system have been proposed. In some solutions, camera equipment or other calibration tools can be used to calibrate the robotic system 100 and then remove the deviation between the ideal path 160 and the true path 150. However, the accuracy of the calibrated robotic system still does not reach the desired level.
[0041] To at least partially address the above and other potential problems, according to an embodiment of the present disclosure, a new method for managing a robot path is provided. Generally, according to an embodiment of the present disclosure, a path deviation between an ideal path 150 and a true path 160 can be determined. Kinematic data related to the rotation of the joint 114 and the movement of the tip can be collected to determine the transmission error of the joint. The transmission error depends on the transmission torque, speed and other factors because the (multiple) gears in the gearbox reach different angles during rotation. When the arm is rotated by the joint, the transmission error of the joint may be greatly affected by the rotation, so the true path 160 may show a periodic pattern related to the rotation of the joint 114.
[0042] Using this embodiment, the transmission error of the joint 114 can be efficiently determined based on the path deviation and the collected kinematic data. Once the transmission error is determined, it can be used to further correct the robot path that the robotic system 100 will follow, so that the tip of the robotic system 100 can be controlled with an increased level of accuracy. Furthermore, no calibration tool is required to determine the transmission error, eliminating the time and cost of setting up and removing the calibration tool.
[0043] For a brief description of the present disclosure, please refer to Figure 2 . Figure 2 A schematic diagram 200 of a program for managing a robot path according to an embodiment of the present disclosure is illustrated. Figure 2 , the association between time points and tip movement is illustrated, where the horizontal axis represents the time points during the tip movement and the vertical axis represents the path of the tip. In order to calibrate the robot path, an ideal path 150 can be predefined, and the ideal path 150 can be the path used to control the tip movement. During operation of the robotic system 100, due to errors in the robotic system 100, the tip can follow a true path 160 instead of the ideal path 150. For the time point 210 at which the joint 114 reaches the angle 220 during the tip movement, the deviation 230 between the true path 160 and the ideal path 150 can be determined. Therefore, the path deviation can be obtained based on the deviation at multiple time points during the tip movement. Since the path deviation and kinematic data can be easily measured, the transmission error 240 of the joint 114 is effectively determined based on the path deviation and the kinematic data.
[0044] It is understood that the robotic system 100 may have multiple joints, and each of these joints may have a corresponding transmission error. Figure 2 Only one example for determining the transmission error 240 associated with the joint 114 is shown, but transmission errors caused by other joints may be determined in a similar manner.
[0045] In the following, for more details about the embodiments, reference will be made to Figure 3 . Figure 3 A flow chart of a method 300 for managing a robot path according to an embodiment of the present disclosure is illustrated. In block 310, the actual path 160 of the tip of the robotic system 100 may be obtained during movement to guide the tip to follow the ideal path 150. Here, the tip of the robotic system 100 may be driven to follow the ideal path 150 predefined by an administrator of the robotic system 100. Figure 4 A diagram 400 is shown illustrating an ideal path that may be used to determine a transmission error according to an embodiment of the present disclosure.
[0046] Typically, to reduce the computational effort for calibration, the ideal path 150 can be defined as a straight line. measure can be defined as the direction representing the ideal path 150. Figure 4 As shown, along the x-axis line 410 (denoted by M measure = [1 0 0]) can be defined as the ideal path 150, along the y-axis line 430 (denoted by M measure = [0 1 0]) can be defined as the ideal path 150, and the line 420 (denoted by ) can be defined as the ideal path 150. It is to be understood that Figure 4 Only a few examples of ideal path 150 are provided. In other embodiments, ideal path 150 can be defined along the z-axis, or have a different direction defined by another vector. With these embodiments, ideal path 150 can be defined in a simple manner, so the processing cost for determining transmission error 240 can be reduced.
[0047] Due to the transmission errors of the joint(s), the tip's actual path 160 differs from the ideal path 150, and the tip's position at each point in time during its movement can be collected. For example, a sensor can be installed at the tip to collect the tip's actual position at each point in time during its movement. Based on geometric relationships, the actual position at a point in time can be determined using the following formula 1.
[0048]
[0049] in represents the true position of the tip in the true path 160, represents the ideal position of the tip in the ideal path 150, and M measurerepresents the direction of the ideal path 150. It should be understood that Formula 1 only shows the actual position of the tip at one point in time, and Formula 1 can be applied to each point in time during the tip's movement. Specifically, if the path includes n points in time, there will be n formulas, each of which represents the relationship between the actual position and the ideal position at a point in time. Here, the position can be represented by x, y, and z values in a three-dimensional coordinate system.
[0050] In block 320, the path deviation between actual path 160 and ideal path 150 is identified. The path deviation can be determined at each of the time points, so the path deviation can include n deviations for n time points. The path deviation can also be represented by a curve, with the values in the path deviation being determined by the difference between the corresponding values in actual path 160 and ideal path 150.
[0051] In block 330, the transmission error 240 of the joint 114 is determined based on the path deviation and kinematic data associated with the rotation and movement of the joint 114 at multiple points in time during the movement. During the movement of the tip, the kinematic data of the robotic system 100 can be collected from the controller of the robotic system 100 and the sensor. Figure 5 . Figure 5 Schematic diagram 500 illustrates the association between a path and the rotation of a joint according to an embodiment of the present disclosure. During operation of the robotic system 100, as the joint 114 rotates, the tip can move along the true path 160. At time 210, the joint 114 can reach angle 220, and the tip can reach point 532 in the true path 160. At the next time 520, the joint 114 can rotate by angle 510 to reach an angle that is the sum of angle 220 and angle 510. At the same time, the tip can reach point 534 in the true path 160.
[0052] In some embodiments, the transmission error 240 can be compared with the Figure 5 During the time difference between time points 210 and 520, the rotation difference may include angle 510, and the distance difference may include offset 530. Here, angle 510 may be collected directly from the controller of the robotic system 100, and offset 530 may be determined based on the 3D position of the tip at time points 210 and 520. Using these embodiments, kinematic data may be collected at each time point during the movement of the tip, so that the kinematic data may be further used to determine the transmission error 240.
[0053] In some embodiments, the Jacobian matrix of the robot system 100 can be determined for a time point in a plurality of time points. Specifically, the Jacobian matrix can be determined based on the difference between the value in the ideal path 150 and the data in the kinematic data according to the following formula 2.
[0054]
[0055] Among them J robot represents the Jacobian matrix of the robot system 100, represents the tip offset between two consecutive time points in the ideal path 150, and represents the angle difference of the joint 114 between two consecutive time points. In other words, the Jacobian matrix defines the ratio between the offsets covered by the joint rotation.
[0056] In the following, reference will be made to Equations 3 to 6 to provide details for determining the transmission error 240. For descriptive purposes, This is used to represent the angle error caused by the transmission error 240 of the joint 114. For example, the controller of the robotic system wants to rotate the joint to an angle Due to the transmission error 240, the joint 114 actually reaches the angle Considering the angle error after traditional calibration The first-order Taylor expansion of the tip position is relatively small and can be expressed as follows:
[0057]
[0058] in The vector representing the ideal joint angle, represents the angle error caused by transmission error, Indicates that the joint reaches the joint angle The position of the tip, Indicates that the joint reaches the joint angle The position of the tip, and J robot Represents the Jacobian matrix of the robot system.
[0059] Based on the above formulas 1 to 3, the true position of the tip can be determined based on the following formula 4.
[0060]
[0061] in represents the true position of the tip in the true path, represents the ideal position of the tip in the ideal path, M measure represents the direction of the ideal path, J robot represents the Jacobian matrix of the robot system, A vector representing the joint angle at a certain point in time, and Indicates the angular error caused by transmission error.
[0062] In the above formula 4, shows the ideal position of the tip, and shows the actual position of the tip. If the robotic system 100 is calibrated, the deviation between the ideal position and the actual position is caused by the transmission error 240 in the joint 114. In other words, the above formula 4 Caused by transmission error 240.
[0063] It should be understood that the above formula 4 only illustrates the relationship between various parameters at one time point during the movement of the tip. A specific formula can be determined for each of the multiple time points during the movement of the tip based on formula 4. Details for determining the transmission error will be presented below based on the above formula 4.
[0064] Transmission error 240 provides periodic variation because it results from rotations of joint 114. In some embodiments, transmission error 240 may be represented by a set of sinusoidal functions, with each sinusoidal function associated with multiple rotations of joint 114 at multiple points in time. Figure 6 FIG. 6 illustrates a schematic diagram 600 for representing the transmission error of an arm according to an embodiment of the present disclosure. Figure 6 , the horizontal axis represents the angle of the joint 114, and the vertical axis represents the components of the transmission error 240. Here, the transmission error 240 is represented by the sum of the sine function 610 and the sine function 620. In other embodiments, the transmission error 240 may be represented by more or fewer sine functions due to accuracy requirements.
[0065] In some embodiments, regarding the sine functions in the sine function set, the sine functions can be defined by amplitude and phase shift. As shown, the two sine functions 610 and 620 can have different amplitudes and different phase shifts. Since the transmission error 240 is caused by the rotation of the joint 114, the transmission error 240 can be effectively defined by sinusoidal parameters (such as amplitude and phase shift). Using these embodiments, the amplitude and phase shift can be used as unknown parameters and then calculated by solving a formula that includes the path deviation and kinematic data.
[0066] It should be understood that the above two sinusoidal functions are only example components included in the transmission error 240. In other embodiments, the transmission error 240 may include more or fewer components. Assuming that there are u joints in the robotic system 100 and the transmission error of each joint is represented by v sinusoidal functions, the j-th sinusoidal function of the i-th joint can be represented by the following:
[0067]
[0068] in represents the transmission error of the i-th joint, v represents the number of sine functions, k i,j represents the frequency coefficient of the i-th joint, θ i represents the angular position of the i-th joint, A ij represents the amplitude of the jth sine function of the i-th joint, and represents the phase shift of the jth sine function of the i-th joint (1≤i≤u, and 1≤j≤v). In the above formula 5, A i,j and is an unknown parameter, and the other parameters can be measured by sensors or determined based on state-of-the-art solutions.
[0069] In some embodiments, the frequencies associated with the time points in the above actual path 160 and the ideal path 150 can be determined based on the frequency coefficients of the sine function. For example, the frequency used for collection should be high enough to reflect the periodic changes in the transmission error 240. Therefore, the frequency used for collection can be higher than twice the product of the frequency coefficients of any sine function and the angular velocity of the joint. Using these embodiments, more information can be collected from the tip movement so that the transmission error 240 can be determined in an accurate manner. Otherwise, if the frequency used for collection is lower than the above value, the changes in the tip movement cannot reflect the periodic changes in the transmission error 240, and therefore the accuracy in determining the transmission error 240 will be reduced.
[0070] Based on Equations 4 and 5 above, a set of sinusoidal functions can be determined based on the aligned path deviation and kinematic data. Using these embodiments, transmission error 240 can be easily represented by a set of sinusoidal functions including multiple unknown parameters. Furthermore, the multiple unknown parameters can be determined by generating formulas based on values in the path deviation and kinematic data at multiple time points during tip movement. Specifically, the amplitude and phase shift can be solved based on formulas generated for multiple time points based on Equation 6 below.
[0071]
[0072] where t k represents the kth time point among multiple time points in the path, Indicates that the tip is at time point t k The real location, Indicates that the tip is at time point t k The ideal location of M measure represents the direction of the ideal path, J robot represents the Jacobian matrix of the robot system, where all the above parameters have known values. In Equation 6, the last term defined in Equation 5 is Including unknown parameters A i,j and
[0073] Using these embodiments, the values of the path deviation and kinematic data can be extracted at each time point during the movement. The values at each time point can be used to construct a separate formula for solving for the unknown amplitude and phase shift. Further, the unknown parameter A i,j and The transmission error 240 can be determined by solving the above formula 6.
[0074] In some embodiments, the amplitude A i,j and phase shift The solution can be performed under the constraint that the sum of the differences is minimized. With this constraint, a set of optimized amplitudes and phase shifts can be selected from a plurality of candidates, and thus the level of accuracy in determining the transmission error 240 can be improved.
[0075] It should be understood that the above paragraphs only provide an example for determining the transmission error 240 associated with the joint 114 based on the combination of Formulas 5 and 6. Hereinafter, reference will be made to Formula 7 to determine the transmission errors associated with multiple joints. In some embodiments, the transmission errors of the multiple joints can be represented by the following Formula 7.
[0076]
[0077] in represents the transmission error of u joints, the matrix on the right includes u lines (each line indicates the transmission error of one joint), and the various parameters in Formula 7 have the same meanings as the parameters in Formula 5.
[0078] In some embodiments, the transmission errors of all joints can be determined based on the above formula 7 and formula 6. Specifically, the matrix including the transmission errors of all joints can be used to replace the parameters in formula 6 For example, if the robotic system 100 has six joints, six transmission errors can be determined for each of the six joints. In this case, the formulas for multiple joints can be combined to provide more basis for determining the transmission errors, so that multiple candidates for the amplitude and phase shift can be determined.
[0079] In some embodiments, the transmission errors of a portion of the joints can be determined based on Equations 7 and 6 above. Generally, joints near the base of the robotic system 100 have a greater impact on the accuracy of tip movement, so the transmission errors associated with these joints should be determined first. For example, the transmission errors of joints 110 and 120 can be generated based on Equation 7. In this case, the matrix includes two lines, and the amplitude and phase shift of two sets of sine functions can be determined for each joint.
[0080] Using these embodiments, based on the path deviation and the kinematic data of the robotic system collected during the movement of the tip, the transmission error of the joint(s) can be effectively determined. Once the transmission error is determined, it can be used to further correct the path that the robotic system 100 will run, so that the robotic system 100 can operate with improved accuracy.
[0081] In some embodiments, the transmission error 240 may be used to correct a path to be executed in the robotic system 100 . Figure 7 FIG. 7 illustrates a schematic diagram 700 for correcting a robot path according to an embodiment of the present disclosure. Figure 7 In the example embodiment, the tip of the robotic system 100 is expected to follow a path 710 (such as a straight line). If the path 710 is directly input into the robotic system 100 without a correction program, the tip will follow a curve instead of a straight line. In this case, the transmission error 240 can be used in the correction program.
[0082] During the correction procedure, a path offset 732 associated with the rotation of the joint 114 at time point 730, relative to time point 730 in the path 710, can be determined based on the transmission error 240. Then, a point 734 in the path 710 at time point 730 can be updated by the path offset 732. The above updating operation can be performed at each of the time points in the path 710, so that the path 710 can be converted into the corrected path 720. Since the value in the transmission error 240 varies at different time points, using these embodiments, each point in the path 710 can be corrected based on the value corresponding to the point in the transmission error 240. Therefore, all points in the path 710 can be corrected one by one in a more reliable manner.
[0083] In some embodiments of the present disclosure, the path 710 can be identical to the ideal path 150 used to determine the transmission error 240. Thus, the path 710 can be corrected in a significantly more efficient manner. In some embodiments of the present disclosure, the path 710 can be different from the ideal path 150 used to determine the transmission error 240. With these embodiments, the process for determining the transmission error 240 only needs to be implemented once. After the transmission error 240 is determined, the transmission error 240 can be used to correct one or more paths to be executed. With the corrected path 720, the tip of the robotic system 100 can follow the path 710 more accurately, thereby improving the overall performance of the robotic system 100.
[0084] It should be understood that the above paragraphs describe how to determine the transmission error 240 based on only one ideal path 150. In some embodiments, a more ideal path can be used to determine the corresponding transmission error. For example, the above method 300 can be implemented for a second ideal path to obtain a second transmission error. Then, the path to be operated in the future can be corrected based on both the transmission error 240 and the second transmission error. Using these embodiments, the method for determining the transmission error can be implemented multiple times to provide a more accurate transmission error.
[0085] The previous paragraphs have described the detailed steps of the method 300 . In some embodiments of the present disclosure, the method 300 may be implemented by the apparatus 800 for managing a robot path. Figure 8 FIG2 shows a schematic diagram of an apparatus 800 for managing a robot path according to an embodiment of the present disclosure. The robot system includes at least one arm, and the arm of the at least one arm has a joint for rotating the arm. Figure 8 As illustrated, the apparatus 800 may include an obtaining unit 810 configured to obtain a true path of the tip of the guiding robotic system during movement of the tip to follow an ideal path; an identifying unit 820 configured to identify a path deviation between the true path and the ideal path; and a determining unit 830 configured to determine a transmission error of the joint based on the path deviation and kinematic data associated with the movement and multiple rotations of the joint at multiple time points during the movement, respectively.
[0086] In some embodiments, the determination unit 830 includes: a representation unit configured to represent the transmission error by a group of sinusoidal functions, wherein the sinusoidal functions in the group of sinusoidal functions are associated with multiple rotations of the joint; an alignment unit configured to align the transmission error with the path deviation according to multiple time points; and a function determination unit configured to determine the group of sinusoidal functions at multiple time points based on the aligned path deviation and kinematic data.
[0087] In some embodiments, the representation unit comprises: a definition unit configured to define the sine function by an amplitude and a phase shift with respect to a sine function in the group of sine functions.
[0088] In some embodiments, the function determination includes: a generation unit configured to generate a formula based on a value in the path deviation and data in the kinematic data relative to a time point in a plurality of time points; and a solution unit configured to solve for the amplitude and phase shift based on the formula for the plurality of time points.
[0089] In some embodiments, the solving unit includes: a parameter solving unit configured to solve for the amplitude and the phase shift under the constraint that the sum of the differences is minimized.
[0090] In some embodiments, the apparatus 800 further comprises: a kinematics data obtaining unit configured to obtain kinematics data based on a deviation in the real path caused by the rotation of the joint at a time point among the plurality of time points.
[0091] In some embodiments, the ideal path is associated with at least one direction in coordinates of the robotic system and has a frequency associated with the plurality of time points that is higher than twice the product of a frequency coefficient of any sine function and an angular velocity of the joint.
[0092] In some embodiments, the apparatus 800 further comprises: a correction unit configured to correct a path to be followed by the tip of the robotic system by means of a transmission error; and a guidance unit configured to guide the movement of the tip to follow the correction path.
[0093] In some embodiments, the correction unit includes: an offset determination unit configured to determine a path offset associated with a rotation of the joint at a time point relative to the time point in the path; and an updating unit configured to update the point in the path at the time point by the path offset.
[0094] In some embodiments, the obtaining unit 810 is further configured to obtain another real path of the tip during another movement that guides the tip to follow another ideal path; the identification unit is further configured to identify another path deviation between the another real path and the another ideal path; the determination unit is further configured to determine another transmission error of the joint based on the another path deviation and another kinematic data associated with the another movement; and the correction unit is further configured to correct the path to be followed by the tip of the robotic system by means of the transmission error and the another transmission error.
[0095] In some embodiments of the present disclosure, a system 900 for managing a robot path is provided. Figure 9 FIG. 8 is a schematic diagram of a system 900 for managing robot paths according to an embodiment of the present disclosure. Figure 9 As illustrated, the system 900 may include a computer processor 910 coupled to a computer-readable memory unit 920, and the memory unit 920 includes instructions 922. When executed by the computer processor 910, the instructions 922 may implement the method for managing a robot path described in the previous paragraphs, and the details will be omitted below.
[0096] In some embodiments of the present disclosure, a computer-readable medium for managing a robot path is provided. The computer-readable medium has instructions stored thereon, and when executed on at least one processor, the instructions can cause the at least one processor to perform a method for managing a robot path, as described in the preceding paragraphs, and the details will be omitted below.
[0097] In general, various embodiments of the present disclosure may be implemented in hardware or dedicated circuits, software, logic, or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software that may be executed by a controller, microprocessor, or other computing device. Although various aspects of the embodiments of the present disclosure are illustrated and described as block diagrams, flow charts, or using some other graphical representations, it is to be understood that the blocks, devices, systems, techniques, or methods described herein may be implemented in hardware, software, firmware, dedicated circuits or logic, general-purpose hardware or a controller, or other computing device, or some combination thereof, as non-limiting examples.
[0098] The present disclosure also provides at least one computer program product tangibly stored on a non-transitory computer readable storage medium. The computer program product includes computer executable instructions, such as those included in program modules, which are executed in a device on a target real or virtual processor to perform the above-referenced Figure 3 Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, etc. that perform specific tasks or implement specific abstract data types. In various embodiments, the functionality of program modules can be combined or split between program modules as desired. The machine-executable instructions of program modules can be executed on local or distributed devices. In distributed devices, program modules can be located in local and remote storage media.
[0099] The program code for performing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when executed by the processor or controller, the program code causes the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0100] The above program code can be implemented on a machine-readable medium, which can be any tangible medium that can contain or store a program used by an instruction execution system, device or equipment or in conjunction with an instruction execution system, device or equipment. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, device or equipment or any suitable combination of the foregoing. More specific examples of machine-readable storage media will include an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device or any suitable combination of the foregoing.
[0101] Further, although operation is described in a particular order, this should not be understood as requiring that such operation be performed in the particular order shown or in a sequential order, or that all illustrated operations be performed, to achieve desired results. In some cases, multitasking and parallel processing may be advantageous. Similarly, although a plurality of specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure, but should be interpreted as the description of the features that may be specific to a particular embodiment. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the other hand, the various features described in the context of a single embodiment can also be implemented in a plurality of embodiments individually or according to any suitable subcombination.
[0102] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims
1. A method for managing a robot path of a robotic system, the robotic system comprising at least one arm, wherein an arm of the at least one arm has a joint for rotating the arm, the method comprising: determining, for a time point in a plurality of time points, a Jacobian matrix of the robotic system based on a tip deflection between two consecutive time points in an ideal path and an angular difference of the joint between the two consecutive time points in the kinematic data, the Jacobian matrix defining a ratio between deflections covered by a rotation of the joint; utilizing the Jacobian matrix to obtain a true path of the tip during movement of the tip of the robotic system directed to follow the ideal path; Identifying a path deviation between the actual path and the ideal path; as well as determining a transmission error of the joint based on the path deviation and the kinematic data associated with the movement and a plurality of rotations of the joint at a plurality of time points during the movement; Wherein determining the transmission error comprises: representing the transmission error by a set of sinusoidal functions, wherein the sinusoidal functions in the set of sinusoidal functions are associated with the plurality of rotations of the joint; aligning the transmission error with the path deviation according to the plurality of time points; and The set of sine functions at the plurality of time points is determined based on the aligned path deviations and the kinematic data.
2. The method of claim 1 , wherein representing the transmission error comprises: With respect to the sine functions in the set of sine functions, the sine functions are defined by amplitude and phase shift.
3. The method of claim 2, wherein determining the set of sinusoidal functions comprises: generating a formula based on a value in the path deviation and data in the kinematic data relative to a time point in the plurality of time points; as well as The amplitude and the phase shift are solved based on a formula for the plurality of time points.
4. The method of claim 3 , wherein solving for the amplitude and the phase shift comprises: The amplitude and the phase shift are solved for under the constraint that the sum of the differences is minimized.
5. The method according to claim 1, further comprising: The kinematic data is obtained based on a deviation in the true path caused by a rotation of the joint at a time point in the plurality of time points.
6. The method of claim 1 , wherein the ideal path is associated with at least one direction in the coordinates of the robot system, and a frequency associated with the plurality of time points in the real path and the ideal path is higher than twice the product of a frequency coefficient of any sine function in the set of sine functions and the angular velocity of the joint.
7. The method according to claim 1, further comprising: correcting a path to be followed by the tip of the robotic system by means of the transmission error; as well as The tip is guided to follow the movement of the corrected path.
8. The method of claim 7, wherein correcting the path comprises: Relative to a time point in the path, determining a path offset associated with the rotation of the joint at the point in time; as well as The point in the path at the point in time is updated by the path offset.
9. The method according to claim 7, further comprising: obtaining another real path of the tip during another movement directing the tip to follow another ideal path; identifying another path deviation between the another actual path and the another ideal path; determining another transmission error of the joint based on the another path deviation and another kinematic data associated with the another movement; and A path to be followed by the tip of the robotic system is corrected by means of the transmission error and the further transmission error.
10. An apparatus for managing a robot path of a robotic system, the robotic system comprising at least one arm, wherein an arm of the at least one arm has a joint for rotating the arm, the apparatus comprising: a Jacobian matrix of the robotic system configured to be determined, for a time point in a plurality of time points, based on a tip deflection between two consecutive time points in an ideal path and an angular difference of the joint between the two consecutive time points in the kinematic data, the Jacobian matrix defining a ratio between deflections covered by a rotation of the joint; an obtaining unit configured to obtain a real path of the tip of the robotic system during movement of the tip to guide the tip to follow the ideal path using the Jacobian matrix; an identification unit configured to identify a path deviation between the actual path and the ideal path; as well as a determination unit configured to determine a transmission error of the joint based on the path deviation and the kinematic data associated with the movement and a plurality of rotations of the joint at a plurality of time points during the movement; The determining unit comprises: a representation unit configured to represent the transmission error by a set of sinusoidal functions, wherein the sinusoidal functions in the set of sinusoidal functions are associated with the plurality of rotations of the joint; an aligning unit configured to align the transmission error with the path deviation according to the plurality of time points; and A function determination unit is configured to determine the group of sinusoidal functions at the plurality of time points based on the aligned path deviations and the kinematic data.
11. The apparatus according to claim 10, wherein the representation unit comprises: A definition unit is configured to define the sine function in the sine function group by amplitude and phase shift.
12. The apparatus of claim 11, wherein the function determination comprises: a generating unit configured to generate a formula based on a value in the path deviation and data in the kinematic data with respect to a time point in the plurality of time points; as well as A solving unit is configured to solve the amplitude and the phase shift based on formulas for the multiple time points.
13. The apparatus according to claim 12, wherein the solving unit comprises: The parameter solving unit is configured to solve the amplitude and the phase shift under the constraint that the sum of the differences is minimized.
14. The apparatus according to claim 10, further comprising: A kinematic data obtaining unit is configured to obtain the kinematic data based on a deviation in the real path caused by a rotation of the joint at a time point among the plurality of time points.
15. The apparatus of claim 10 , wherein the ideal path is associated with at least one direction in the coordinates of the robotic system, and a frequency associated with the plurality of time points in the real path and the ideal path is higher than twice the product of a frequency coefficient of any sine function in the set of sine functions and the angular velocity of the joint.
16. The apparatus according to claim 10, further comprising: a correction unit configured to correct a path to be followed by the tip of the robotic system by means of the transmission error; as well as A guiding unit is configured to guide the movement of the tip to follow the corrected path.
17. The apparatus according to claim 16, wherein the correction unit comprises: an offset determination unit configured to determine, relative to a time point in the path, a path offset associated with a rotation of the joint at the time point; as well as An updating unit is configured to update the point in the path at the time point by using the path offset.
18. The apparatus of claim 16, wherein: The obtaining unit is further configured to obtain another real path of the tip during another movement guiding the tip to follow another ideal path; The identification unit is further configured to identify another path deviation between the another real path and the another ideal path; The determining unit is further configured to determine another transmission error of the joint based on the another path deviation and another kinematic data associated with the another movement; and The correction unit is further configured to correct a path to be followed by the tip of the robotic system by means of the transmission error and the further transmission error.
19. A system for managing a robot path, comprising: A computer processor coupled to a computer readable memory unit, the memory unit comprising instructions which, when executed by the computer processor, implement the method according to any one of claims 1 to 9.
20. A computer-readable medium having instructions stored thereon, which, when executed on at least one processor, cause the at least one processor to perform the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Adaptive placement system and method
US9196518B1