Method and apparatus for adjusting a robotic system

By automatically adjusting the sensor and controller delays of the robot system, the problems of slow visual processing and low feedback frequency are solved, enabling efficient operation and precise control of the robot system and simplifying parameter settings.

CN116096533BActive Publication Date: 2025-10-28ABB (SCHWEIZ) AG
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202080104083.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-09-18
Publication Date
2025-10-28
Estimated Expiration
2040-09-18

AI Technical Summary

Technical Problem

In existing technologies, the visual processing of robot systems is relatively slow, and the low feedback frequency makes it impossible for robot systems to achieve high-efficiency control. Furthermore, adjusting control parameters requires extensive engineering knowledge, which is difficult for non-professionals to complete independently.

Method used

By collecting sensed positions and robot positions from the sensors and controllers of the robot system, and using regression operations and geometric relationships to determine sensor and robot delays, control parameters are automatically adjusted to compensate for errors caused by delays, including determining sensor delays and robot delays.

Benefits of technology

The robot system can be automatically adjusted without requiring extensive engineering knowledge, improving the system's operational accuracy and efficiency, and simplifying the parameter setting process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116096533B_ABST
    Figure CN116096533B_ABST
Patent Text Reader

Abstract

Methods, apparatus, systems, and computer-readable media for adjusting a robot system. In one method, the sensed position (310) of a target (150) handled by the robot system (100) during movement of the robot system (100) at a predetermined speed and predetermined precision is collected from sensors of the robot system. During movement, the robot position (320) of the robot system (100) is collected from a controller (110) of the robot system (100). A robot position estimate (322) is obtained based on the robot position (320) and the sensed position (310), the robot position estimate (322) being associated with a sensor delay of the robot system (100) caused by a sensor (140). The sensor delay is determined based on the sensed position (310) and the robot position estimate (322). Furthermore, embodiments of this disclosure provide apparatus, systems, and computer-readable media for adjusting a robot system (100). In such embodiments, time delays can be detected in a precise and efficient manner.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Exemplary embodiments of this disclosure generally relate to robot systems; more specifically, they relate to methods, apparatus, systems, and computer-readable media for adjusting robot systems so that the robot systems can operate in a more efficient manner. Background Art

[0002] With the development of computers and automatic control, robotic systems are widely used in manufacturing to handle various types of objects. For example, tools for cutting, grasping, and other operations can be mounted on the end effector of a robotic system. Vision-guided motion provides an important technical solution in automation, improving the flexibility and accuracy of robotic systems. However, to achieve high-performance controllers in robotic systems, engineers need to spend a significant amount of time and effort tuning control parameters (such as time delays and other parameters). In particular, compared to the high-speed movement of robotic systems, vision processing in some systems is relatively slow, and the low feedback frequency prevents the robotic system from achieving high efficiency.

[0003] Several technical solutions for adjusting robot systems have been proposed. However, these solutions require extensive knowledge of the control parameters within the robot system, and inexperienced engineers find it difficult to adjust the system independently. Therefore, a more automated approach for adjusting robot systems is desired. Summary of the Invention

[0004] Exemplary embodiments of this disclosure provide technical solutions for adjusting robot systems.

[0005] According to a first aspect, an exemplary embodiment of this disclosure provides a method for adjusting a robot system. The method includes: collecting from sensors of the robot system a sensed position of a target being processed by the robot system during movement of the robot system at a predetermined speed and predetermined accuracy; collecting from a controller of the robot system the robot position during movement; obtaining a target position estimate based on the robot position and the sensed position, the target position estimate being correlated with a sensor delay of the robot system caused by the sensors; and determining the sensor delay based on the target position estimate. In such an embodiment, engineers are not required to have extensive knowledge of the control parameters, and the only thing required is to input the predetermined speed and accuracy at which the robot system operates. As a crucial parameter for controlling the robot system, the sensor delay can be automatically determined by implementing the method of this disclosure without any manual effort.

[0006] In some implementations, obtaining a target position estimate includes: determining a robot position estimate based on a regression operation on the robot position; and obtaining a target position estimate based on the geometric relationship between the robot position estimate and the sensed position at multiple time points during movement. In such embodiments, the problem of determining sensor delay is transformed into solving a target position formula, thus allowing the sensor delay to be determined in a simple and efficient manner.

[0007] In some embodiments, determining the sensor delay includes: generating a target position formula based on the target's target position and a target position estimate; and determining the sensor delay by solving the target position formula such that the determined sensor delay minimizes the target position formula. Since the aforementioned difference depends on the distance traveled within the sensor delay, for these embodiments, the sensor delay can be determined by minimizing the difference in an efficient manner.

[0008] In some implementations, the method further includes determining a calibrated target position at a given time point based on sensor delay and the sensed position at that time point. In such embodiments, the determined sensor delay can be used to correct the target position at a future time point to compensate for errors in the target position caused by the sensor delay.

[0009] In some implementations, the method further includes: acquiring speed commands for controlling the robot system at multiple points in time; and determining robot delay caused by the controller based on the speed commands and the robot position. Since robot delay affects the accuracy of the robot system, in such embodiments, the robot delay can be determined to further correct the motion of the robot system.

[0010] In some embodiments, acquiring a speed command includes: identifying the position error of the robot system at one of a plurality of time points; and acquiring the speed command from the speed commands based on a comparison of the position error and accuracy. The speed command is an important parameter used to control the robot system. In such embodiments, the speed command can be determined in a simple and efficient manner based on a comparison operation.

[0011] In some embodiments, identifying the positioning error includes identifying the position error based on the target position estimate and robot position estimate at each time point. In such embodiments, the estimated target position and robot position at each time point can be used to determine the position error, thus allowing for fine-grained determination of the position error.

[0012] In some embodiments, determining robot delay includes: generating a robot position formula based on robot delay, a geometric relationship between robot position and velocity commands at multiple time points; and determining robot delay by solving the robot position formula such that the determined robot delay minimizes the robot position formula. In such embodiments, determining robot delay is transformed into solving a robot position formula, and therefore robot delay can be determined in a simple and efficient manner.

[0013] In some implementations, the method further includes determining a corrected robot position for the robot system at a given time point by updating the robot position of the robot system at a given time point using robot delay and a velocity command at a given time point. In such embodiments, the determined robot delay can be used to correct the robot position at a future time point to compensate for errors in robot position caused by the robot delay.

[0014] In some implementations, the method further includes determining parameters for controlling the robot system based on sensor latency and robot latency, including any of the following: the buffer length of the robot system, the strength of the control speed command, and the dead zone of the robot system. Sensor latency and robot latency significantly affect the accuracy of controlling the robot system. In such embodiments, more control parameters can be determined based on sensor latency and robot latency to ensure that the robot system operates accurately and efficiently.

[0015] According to a second aspect, an exemplary embodiment of this disclosure provides an apparatus for adjusting a robot system. The apparatus includes: a sensing position collection unit configured to collect from sensors of the robot system a sensing position of a target processed by the robot system during movement of the robot system at a predetermined speed and predetermined accuracy; a robot position acquisition unit configured to acquire from a controller of the robot system a robot position during movement; an acquisition unit configured to acquire a target position estimate based on the robot position and the sensing position, the target position estimate being associated with a sensor delay of the robot system caused by the sensors; and a determination unit configured to determine the sensor delay based on the target position estimate.

[0016] In some embodiments, a robot position estimation unit is configured to determine a robot position estimate based on a regression operation on the robot position; and a target position estimation unit is configured to obtain a target position estimate based on the geometric relationship between the robot position estimate and the sensed position at multiple time points during movement.

[0017] In some embodiments, the determining unit includes: a generating unit configured to generate a target position formula based on the target position and the target position estimate; and a sensor delay determining unit configured to determine a sensor delay by solving the target position formula, such that the determined sensor delay minimizes the target position formula.

[0018] In some embodiments, the device further includes a target position determination unit configured to determine the corrected target position of the target at a given time point based on sensor delay and the sensed position at a given time point.

[0019] In some embodiments, the device further includes: a command acquisition unit configured to acquire speed commands for controlling the robot system at multiple points in time; and a robot delay determination unit configured to determine robot delay caused by the controller based on the speed commands and the robot position.

[0020] In some implementations, the command acquisition unit includes: an identification unit configured to identify the position error of the robot system at a given time point relative to a plurality of time points; and a speed command acquisition unit configured to acquire a speed command from the speed commands based on a comparison of the position error and the accuracy.

[0021] In some embodiments, the identification unit includes an error identification unit configured to identify position errors based on target position estimates and robot position estimates at time points.

[0022] In some implementations, the robot delay determination unit includes: a robot position formula generation unit configured to generate a robot position formula based on the geometric relationship between robot delays, robot position, and velocity commands at multiple time points; and a solving unit configured to determine the robot delay by solving the robot position formula, such that the determined robot delay minimizes the robot position formula.

[0023] In some embodiments, the device further includes a robot position determination unit configured to determine a corrected robot position of the robot system at a given time point by utilizing robot delay and a speed command at a given time point to update the robot position of the robot system at a given time point.

[0024] In some embodiments, the device further includes a parameter determination unit configured to determine parameters for controlling the robot system based on sensor delay and robot delay, the parameters including any one of the following: the buffer length of the robot system, the strength of the control speed command, and the dead zone of the robot system.

[0025] According to a third aspect, exemplary embodiments of this disclosure provide a system for adjusting a robot system. The system includes a computer processor coupled to a computer-readable storage unit, the storage unit including instructions that, when executed by the computer processor, implement a method for adjusting the robot system.

[0026] According to a fourth aspect, an exemplary embodiment of the present disclosure provides a computer-readable medium having instructions stored thereon, which, when executed on at least one processor, cause the at least one processor to perform a method for adjusting a robot system. Attached Figure Description

[0027] Figure 1 A schematic diagram of a robot system in which embodiments of the present disclosure may be implemented is shown;

[0028] Figure 2 A schematic diagram showing the position of a robot system in motion according to an embodiment of the present disclosure is provided.

[0029] Figure 3 A schematic diagram of a process for adjusting a robot system according to an embodiment of the present disclosure is shown;

[0030] Figure 4 A flowchart of a method for adjusting a robot system according to an embodiment of the present disclosure is shown;

[0031] Figure 5A A schematic diagram of a process for determining a robot position estimate according to an embodiment of the present disclosure is shown;

[0032] Figure 5B A schematic diagram is shown illustrating a process for determining a target location estimate according to an embodiment of the present disclosure;

[0033] Figure 6 A schematic diagram is shown illustrating the determination of errors caused by robot delays in a robotic system according to an embodiment of the present disclosure;

[0034] Figure 7 A schematic diagram illustrating the relationship between target position estimation, robot position estimation, and sensed position according to embodiments of the present disclosure is shown;

[0035] Figure 8 A schematic diagram of an apparatus for adjusting a robot system according to an embodiment of the present disclosure is shown; and

[0036] Figure 9 A schematic diagram of a system for adjusting a robot system according to an embodiment of the present disclosure is shown.

[0037] Throughout the accompanying drawings, the same or similar reference numerals are used to denote the same or similar elements. Detailed Implementation

[0038] The principles of this disclosure will now be described with reference to several exemplary embodiments illustrated in the accompanying drawings. Although exemplary embodiments of this disclosure are shown in the drawings, it should be understood that these embodiments are described only to enable those skilled in the art to better understand and implement this disclosure, and not to limit the scope of this disclosure in any way.

[0039] For descriptive purposes, references will be made. Figure 1 This is to provide a general description of the environment in which this disclosure is made. Figure 1 A schematic diagram of a robot system 100 in which embodiments of the present disclosure may be implemented is shown. Figure 1 In this system, the robot system 100 may include at least one arm 120, 122, ..., 124, wherein arm 120 is connected to the base of the robot system 100 via a joint, and arm 122 is connected to arm 120 via a joint. The tip of end arm 124 may be equipped with a tool 130 for processing a target 150 (e.g., raw material to be shaped by the robot system 100). Here, tool 130 may include, for example, a cutting tool for shaping the target 150 into a desired shape.

[0040] The robot system 100 may include a controller 110 for controlling components within the robot system 100. Furthermore, the robot system 100 may include one or more sensors 140 for various purposes. For example, a vision sensor may be mounted at the end effector to sense the position of a target 150. The sensed position can be fed back to the robot system 100 to guide its movement.

[0041] A specific calibration process can be run first to identify the basic parameters of the robot system 100. Then, an adjustment process can be run to determine additional control parameters based on the basic parameters identified during the calibration process. However, control parameters involve various aspects of the robot system 100, and setting these parameters to desired values ​​is difficult for engineers without a control background.

[0042] In robot system 100, sensor delay is an important parameter and forms the basis for configuring other parameters during the adjustment process. (Refer to...) Figure 2 To briefly describe the sensor delay in robot system 100. Figure 2 A schematic diagram 200 showing the position of a robot system in motion according to an embodiment of the present disclosure is illustrated. Figure 2In this system, when the end effector of robot system 100 moves along direction 260, sensor 140 can collect an image of target 150. At a given time, when the robot is at position 210, sensor 140 can collect an image of target 150. Here, robot position can refer to the position of the end effector or tool 130 at the end effector.

[0043] Because image processing takes time and the robot system 100 moves at high speed, the robot position can move from position 210 to position 220 during image processing. Therefore, when sensor 140 collects an image, the feedback from the robot system 100 may incorrectly indicate that the robot position has reached position 220. Here, the sensed position of target 150 indicated by the image can show the distance between sensor 140 and target 150. Figure 2 The distance 252 is marked in the diagram. At this point, if the robot position 220 and the sensed position are directly used to determine the target position, the target will be estimated to be at position 240 instead of the actual target position 230. Consequently, an estimation error 254 will exist between the actual target position 230 and the estimated target position 240.

[0044] Here, sensor delay is related to the time difference between the point in time when sensor 140 collects the image and the point in time when robot system 100 provides feedback. Since estimation error 254 greatly affects the accuracy of determining the actual target position, sensor delay should be determined and compensated for.

[0045] To at least partially address the aforementioned and other potential problems, embodiments of this disclosure provide a novel method for adjusting a robot system. Typically, according to embodiments of this disclosure, the engineer only needs to input a predetermined speed and predetermined accuracy for triggering the robot system 100. Furthermore, parameters can be determined automatically without the engineer needing to know each parameter.

[0046] Reference Figure 3 To briefly describe this disclosure, wherein Figure 3 A schematic diagram of a process 300 for adjusting a robot system according to an embodiment of the present disclosure is shown. Figure 3 In this process, robot system 100 is triggered to operate at a predetermined speed and accuracy. During the movement of robot system 100, the sensed position 310 of target 150 and robot position 320 are collected from sensor 140 and controller 110 at various time points during the movement. Since sensor 140 can cause sensor delay, a robot position estimate 322 associated with sensor delay 340 can be obtained based on robot position 320. Then, target position estimate 330 can be determined based on sensed position 310 and robot position estimate 322. Furthermore, sensor delay 340 is determined based on target position estimate 330.

[0047] In such embodiments, engineers are not required to have extensive knowledge of the control parameters; they only need to configure the robot system to a predetermined speed and accuracy. Compared to conventional techniques for manually adjusting the robot system 100, the automated adjustment process in this disclosure does not require engineers to have extensive background knowledge, thus freeing them from arduous manual labor.

[0048] Figure 4 A flowchart of a method 400 for adjusting a robot system according to an embodiment of the present disclosure is shown. In block 410, during movement of the robot system 100 at a predetermined speed and predetermined accuracy, the sensed position 310 of the target 150 processed by the robot system 100 is collected from sensor 140. When the robot system 100 operates at different speeds and accuracies, it exhibits different errors; the faster the robot system 100 operates, the greater the error produced. Therefore, an engineer can input the desired speed and accuracy before the adjustment process. The robot system 100 can then be triggered with the input speed and accuracy, and the adjustment process begins.

[0049] During the movement of the robot system 100, the sensor 140 collects sensing positions 310 at various time points according to the collection frequency of the sensor 140, and each sensing position 310 can be marked with a timestamp associated with the time point of collection. In block 420, the robot positions 310 of the robot system 100 are collected during movement when feedback comes from the controller 110. Here, each of the robot positions 310 corresponds to a sensing position, and the robot position is also timestamped with the time point of movement.

[0050] In box 430, a target position estimate 330 is obtained based on the robot position 310 and the sensed position 320. Here, the target robot position estimate 330 is associated with the sensor delay 340 of the robot system 100 caused by sensor 140. Figure 5A A schematic diagram of a process 500A for determining a robot position estimate 322 according to an embodiment of the present disclosure is shown. Figure 5A In this context, the robot position 320 with timestamps can be used to determine the robot position estimate 322. For example, the positions at multiple time points can be stored in a buffer 510 and then fed into a regressor 520.

[0051] exist Figure 5AIn the diagram, the horizontal axis represents time, and the vertical axis represents the position of the robot system 100 during movement. Based on a regression operation, the regression quantity 520 can generate a polynomial 530 representing the relationship between time points and robot position estimates 322, and then output the robot position estimate 322. The robot position estimate 322 depends on the robot position at a given time point and the sensor delay. Here, the robot position estimate 322 is associated with the sensor delay, which is considered an unknown parameter and will be determined in a future step.

[0052] Figure 5B A schematic diagram of a process 500B for determining a target location estimate 330 according to an embodiment of the present disclosure is shown. Figure 5B In the process, the sensed position 310 and the robot position estimate 322 are input into a buffer 540 for regression operation by a regressor 550. In the robot system 100, the sensor 140 can involve two types. If the sensor 140 directly measures the position of the target 150, the sensed position 310 can be directly input into the regressor 540 to determine the robot position estimate 322. If the sensor 140 measures an incremental value of the target 150, the sensed position 310 can be fused with the robot position 320 used for the position of the target 150. The fused position is then input into the regressor 540 to determine the target position estimate 330. The target position estimate 330 can then be determined. For example, a line 562 can be determined, which is more accurate than the initially determined polynomial 530 and reflects the true position of the target 150.

[0053] In some embodiments, the target position estimate 330 may be determined based on the geometric relationship between the robot position estimate 322 and the sensed position 310 at multiple time points during movement. Specifically, in some embodiments, the geometric relationship may be represented by the following Formula 1.

[0054] pos 目标估计 (t)=pos 机器人估计 (tt 传感器延迟 )+α 传感器 pos 传感器 (t) Formula 1

[0055] Where t represents a point in time during the movement of the robot system, and pos 目标传达 (t) represents the target position estimate at time t, where t 传感器延迟 Indicates sensor delay, pos 机器人估计 (tt 传感器延迟 ) represents the robot position estimate at time point (output by the regression value 520), pos 传感器 (t) represents the sensing position at time t, and α传感器 This represents the scaling factor used for the sensor.

[0056] The preceding paragraphs have described the determination of target location estimate 330. (Reference) Figure 4 The sensor delay 340 is determined. In box 440, the sensor delay 340 is determined based on the target position estimate 330. In some embodiments, a target position formula may be generated based on the target position of target 150 and the target position estimate 330.

[0057] Using the geometric relationships described in Formula 1, a target position formula can be generated based on the difference between the target position and the target position estimate at multiple time points. As mentioned above, the difference involves the distance caused by the sensor delay 340, and for these embodiments, the sensor delay 340 can be determined by minimizing the difference in an efficient manner. Specifically, the target position formula can be generated according to Formula 2 as follows.

[0058]

[0059] When Equation 1 is combined into Equation 2, the following Equation 2.1 can be obtained.

[0060]

[0061] Where, pos 目标 The target location is represented by n, the number of time points during the movement is represented by t. i Indicates the i-th term during the movement. th Equation 2.1 includes three unknown parameters: pos 目标 t 传感器延迟 and α 传感器 Meanwhile, other parameters can be determined from the publicly available information mentioned above.

[0062] In some embodiments, Equation 2.1 above can be solved to determine the unknown parameter while minimizing the constraints of Equation 2. In this disclosure, the unknown sensor delay 340 can be determined based on methods proposed to date or to be developed in the future, and details for solving Equation 2.1 are omitted below. In such embodiments, the determination of the sensor delay 340 is transformed into solving the target position formula, thus allowing the sensor delay 340 to be determined in a simple and efficient manner. In some embodiments, method 400 can be implemented while the robot system 100 is running, allowing the accuracy of the sensor delay 340 to be gradually improved.

[0063] As sensor delay 340 is known to be a significant factor affecting the accuracy of target position estimation, the determined sensor delay 340 can be used to correct the target position of target 150 at a given time point. Specifically, the corrected target position at a given time point can be determined based on sensor delay 340 and the sensing position at that time point. For example, the corrected target position at time point t can be determined as follows: k Target location:

[0064] pos 目标估计 (t k ) = pos 机器人估计 (t k -t 传感器延迟 )+α 传感器 pos 传感器 (t k ) Formula 3

[0065] Where t k pos represents a point in time during the movement of the robot system. 目标估计 (t k ) indicates at time point t k The target position for correction, t 传感器延迟 This indicates that, based on the sensor delay determined in this disclosure, pos 机哭人估计 (t k -t 传感器延迟 ) indicates at time point (t) k -t 传感器延迟 Robot position estimation, pos 传感器 (t k ) indicates at time point t k The sensing position, and α 传感器 This represents the scaling factor of sensor 140. In such an embodiment, sensor delay 340 can be used to correct the target position at a future time point in order to compensate for errors in the target position estimation caused by sensor delay 340.

[0066] The preceding paragraphs have described the determination of sensor delay 340. During the adjustment process, other parameters such as robot delay also affect the movement accuracy of robot system 100, therefore, robot delay needs to be determined to further improve the performance of robot system 100. In robot system 100, controller 110 generates speed commands for controlling further movement of robot system 100 based on the current state of robot system 100. However, robot delay occurs due to the time cost of controller 110 processing data, which can lead to errors in robot positioning.

[0067] In some embodiments, a speed command for controlling the robot system 100 may be determined. Here, the speed command varies at different points in time, and therefore can be determined at one of multiple points in time during movement. It should be understood that the speed command is intended to adjust the speed of the robot system 100 so that the robot system 100 reaches the position of the target 150 with predetermined accuracy.

[0068] Typically, the robot system 100 can move towards the target 150, and the rules for adjusting the speed can include: if the arm does not reach the desired position at a given time point, the speed can be increased; if the arm reaches the desired position at a given time point, the speed can remain unchanged; and if the arm exceeds the desired position at a given time point, the speed can be decreased. Furthermore, when considering accuracy, the desired position can become a desired range defined by the accuracy and the desired position. The position error of the robot system can be identified at each time point during movement. Specifically, the position error can be identified based on the position estimate and robot position estimate at the given time point, according to Formula 4 below.

[0069] pos 误差 (t)=pos 目标估计 (t)-pos 机器人估计 (t) Formula 4

[0070] Where pos 误差(t) pos represents the position error of the robot system at time point t during its movement. 目标估计 (t) represents the target location estimate, and pos 机器人估计 (t) represents the robot position estimate. In such an embodiment, the position error can be determined at each point in time during the movement, thus allowing for fine-grained determination of the position error.

[0071] Based on the above rules, the speed command at each time point can be determined by comparing the position error with the accuracy based on the above rules. Specifically, Formula 5 can be used to determine the speed command.

[0072]

[0073] Among them vel 命令 (t) represents the velocity command at time t, K p This indicates the strength used to control the robot system 100, pos 误差 (t) represents the position error of the robot system at time t, and the accuracy represents the predetermined accuracy. The speed command is an important parameter used to control the robot system. In such an embodiment, the speed command can be determined in a simple and efficient manner based on a comparison operation.

[0074] In some embodiments, the robot delay caused by the controller 110 can be determined based on the speed command and the robot position 320. Since robot delay affects the accuracy of the robot system 100, in such embodiments, robot delay can be effectively determined in order to further correct the motion of the robot system 100.

[0075] In some embodiments, to determine robot delay, a robot position formula can be generated based on the robot delay at multiple time points, the geometric relationship between robot position and velocity commands, and the robot position formula. Specifically, Formula 6 can be used to generate the robot position formula.

[0076]

[0077] Where pos 机器人 (t i ) indicates at time point t i The robot's position, t 机器人延迟 The robot delay (which is an unknown parameter) represents the robot system's delay. 命令 (t) represents the velocity command, and α and β represent the difference between the robot position and the robot position estimate. Equation 6 includes three unknown parameters: vel 命令 (t), α, and β. The robot delay can be determined by solving Equation 6 above under the constraints of minimizing the above formula. In such an embodiment, determining the robot delay is transformed into solving for the robot position, thus allowing for a simple and efficient determination of the robot delay.

[0078] In some embodiments, a corrected robot position for a robot system 100 at a given time can be determined by updating the robot position of the robot system 100 at a given time using robot delay and speed commands at that time. In such embodiments, the determined robot delay can be used to correct the robot position at a future time to compensate for errors in the robot position caused by the robot delay.

[0079] Robot delay is a significant factor affecting the accuracy of robot position estimation; therefore, the determined robot delay can be used to correct the robot position at a given time point. Specifically, the corrected robot position at a given time point can be determined based on the robot delay and the robot position at that time point. For example, the position at time point t can be determined as follows: k Robot location:

[0080]

[0081] Where t k pos represents a point in time during the movement of the robot system. 机器人估计 (t k) indicates at time point t k The corrected robot position, t 机器人延迟 This indicates the robot delay determined based on the above paragraph, and vel 命令 (t) represents the speed command at time point t.

[0082] Details regarding Formula 7 will be referenced. Figure 6 . Figure 6 A schematic diagram 600 is shown illustrating the determination of an error caused by robot delay in robot system 100 according to an embodiment of the present disclosure. Figure 6 The horizontal axis represents time, and the vertical axis represents speed commands. As shown in the figure, the speed command is represented by curve 610, time point 622 represents time point t, and time point 620 represents time point t related to the robot delay 630. k During the movement of the robot system 100, the arm can move forward and cover the area. The calculated distance. Therefore, it can be determined based on the distance at time point t. k The sum of the robot's position and the distance it moves during the robot's delay period determines the position at time t. k Robot position estimation. In such an embodiment, the position at time point t can be determined in a more accurate and efficient manner. k The true position of the robot is known, thus enabling more precise control of the movement of the robot system 100.

[0083] Figure 7 A schematic diagram illustrating the relationship 700 between target position estimation, robot position estimation, and sensed position according to embodiments of the present disclosure is shown. The horizontal axis represents time during the movement of the robot system 100, and the vertical axis represents various positions acquired during the movement. Curve 710 represents the sensed position of target 150, and curve 720 represents the robot position estimate determined according to the present disclosure. The target position is based on the sum of the sensed position and the robot position estimate, and the target position estimate determined according to the present disclosure is shown as a straight line and remains unchanged during movement, consistent with the fact that target 150 is located in a fixed position. Compared to conventional techniques where target position estimation varies, the present disclosure provides a more accurate way to determine the true target position.

[0084] In some embodiments, further parameters may be determined based on sensor delay and robot delay during the adjustment process. For example, the buffer length of the robot system 100 used for the regression process may be determined. Alternatively and / or additionally, the strength of the control speed command and the dead zone of the robot system may be determined. In these embodiments, the aforementioned parameters may be determined based on sensor delay and robot delay according to any methods proposed or to be developed in the future, and details of the determination are omitted below. Sensor delay and robot delay are known to significantly affect the accuracy of controlling the robot system 100. In such embodiments, further control parameters may be determined during the adjustment process to ensure that the robot system 100 operates in an accurate and efficient manner.

[0085] Using this disclosure, engineers are not required to have extensive knowledge of the control parameters during the adjustment process. Instead, engineers only need to input the desired operating speed and accuracy, and then press a button to trigger the automatic adjustment process. Therefore, no further knowledge background is required, and the robot system 100 can be controlled in a simple and efficient manner. Furthermore, errors caused by time delays are compensated for, allowing the robot system 100 to move efficiently at higher speeds.

[0086] The preceding paragraphs have provided detailed steps of method 400. In other embodiments of this disclosure, method 400 may be implemented by a device. Figure 8 A schematic diagram of an apparatus 800 for adjusting a robot system according to an embodiment of the present disclosure is shown. The apparatus 800 includes: a sensing position collection unit 810 configured to collect from sensors of the robot system the sensing position of a target processed by the robot system during movement of the robot system at a predetermined speed and predetermined accuracy; a robot position collection unit 820 configured to collect the robot position of the robot system from a controller of the robot system during movement; an acquisition unit 830 configured to acquire a target position estimate based on the robot position and the sensing position, the target position estimate being associated with a sensor delay of the robot system caused by the sensors; and a determination unit 840 configured to determine the sensor delay based on the target position estimate.

[0087] In some embodiments, the acquisition unit 830 includes: a robot position estimation unit configured to determine a robot position estimate based on a regression operation of the robot position; and a target position estimation unit configured to acquire a target position estimate based on the geometric relationship between the robot position estimate and the sensed position at multiple time points during movement.

[0088] In some embodiments, the determining unit 840 includes: a generating unit configured to generate a target position formula based on the target position and target position estimation of the target; and a sensor delay determining unit configured to determine a sensor delay by solving the target position formula such that the determined sensor delay minimizes the target position formula.

[0089] In some embodiments, the apparatus 800 further includes a target position determination unit configured to determine the corrected target position of the target at a given time point based on sensor delay and the sensing position at a given time point.

[0090] In some embodiments, the apparatus 800 further includes: a command acquisition unit configured to acquire speed commands for controlling the robot system at multiple points in time; and a robot delay determination unit configured to determine robot delay caused by the controller based on the speed commands and the robot position.

[0091] In some implementations, the command acquisition unit includes: an identification unit configured to identify the position error of the robot system at one point in time relative to multiple points in time; and a speed command acquisition unit configured to acquire a speed command from the speed commands based on a comparison of the position error and the accuracy.

[0092] In some embodiments, the identification unit includes an error identification unit configured to identify position errors based on target position estimates and robot position estimates at time points.

[0093] In some implementations, the robot delay determination unit includes: a robot position formula generation unit configured to generate a robot position formula based on the robot delay and the geometric relationship between robot position and velocity commands at multiple time points; and a solving unit configured to determine the robot delay by solving the robot position formula such that the determined robot delay minimizes the robot position formula.

[0094] In some embodiments, the apparatus 800 further includes a robot position determination unit configured to determine a corrected robot position of the robot system at a given time point by utilizing robot delay and a speed command at a given time point to update the robot position of the robot system at a given time point.

[0095] In some embodiments, the apparatus 800 further includes a parameter determination unit configured to determine parameters for controlling the robot system based on sensor delay and robot delay, the parameters including any one of the following: the buffer length of the robot system, the strength of the control speed command, and the dead zone of the robot system.

[0096] In some embodiments of this disclosure, a system 900 for adjusting a robot system is provided. Figure 9 A schematic diagram of a system 900 for adjusting a robot system according to an embodiment of the present disclosure is shown. Figure 9 As shown, system 900 may include a computer processor 910 coupled to a computer-readable storage unit 920, which includes instructions 922. When executed by the computer processor 910, instructions 922 may implement method 400 for adjusting the robot system as described in the preceding paragraphs, and details will be omitted below.

[0097] In some embodiments of this disclosure, a computer-readable medium is provided for adjusting a robot system. The computer-readable medium has instructions stored thereon that, when executed on at least one processor, cause the at least one processor to perform methods for adjusting the robot system as described in the preceding paragraphs, and details will be omitted below.

[0098] Generally, the various embodiments of this disclosure can be implemented in hardware or dedicated circuitry, software, logic, or any combination thereof. Some aspects can be implemented in hardware, while others can be implemented in firmware or software, which can be executed by a controller, microprocessor, or other computing device. Although aspects of the embodiments of this disclosure are shown and described as block diagrams, flowcharts, or using some other graphical representation, it will be understood that the blocks, apparatuses, systems, techniques, or methods described herein can be implemented in hardware, software, firmware, dedicated circuitry or logic, general-purpose hardware or controllers or other computing devices, or some combination thereof, as non-limiting examples.

[0099] This disclosure also provides at least one computer program product tangibly stored on a non-transient computer-readable storage medium. The computer program product includes computer-executable instructions, such as those included in a program module, that execute on a device targeting a real or virtual processor to perform the above-referenced instructions. Figure 3 The process or method. Generally, a program module includes routines, programs, libraries, objects, classes, components, data structures, etc., that perform specific tasks or implement specific abstract data types. The functionality of a program module can ideally be combined or separated among program modules in various embodiments. The machine-executable instructions of a program module can be executed locally or in a distributed device. In a distributed device, program modules can reside in local and remote storage media.

[0100] Program code used to perform the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package, partially on a machine, partially on a remote machine, or entirely on a remote machine or server.

[0101] The aforementioned program code may be contained on a machine-readable medium, which may be any tangible medium that can contain or store a program used by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. More specific examples of machine-readable storage media will include electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable optical disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0102] Furthermore, although the operations are described in a specific order, this should not be construed as requiring that these operations be performed in the specific order shown or sequentially, or that all of the shown operations be performed to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the foregoing discussion, these details should not be construed as limiting the scope of this disclosure, but rather as descriptions of features specific to particular embodiments. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. On the other hand, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.

[0103] Although the subject matter of this technology has been described using language specific to structural features and / or methodological actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are disclosed as exemplary forms of implementing the claims.

Claims

1. A method for adjusting a robot system, comprising: The sensed position of the target processed by the robot system during its movement at a predetermined speed and with predetermined accuracy is collected from the sensors of the robot system. The robot's position during the movement is collected from the robot system's controller; A target position estimate is obtained based on the robot position and the sensed position, and the target position estimate is associated with the sensor delay of the robot system caused by the sensor. as well as The sensor delay is determined based on the target position estimate. Obtaining the target location estimate includes: The robot position estimate is determined based on a regression operation on the robot position; as well as The target position estimate is obtained based on the geometric relationship between the robot position estimate and the sensed position at multiple time points during the movement.

2. The method of claim 1, wherein determining the sensor delay comprises: A target position formula is generated based on the target's target position and the target position estimate. as well as The sensor delay is determined by solving the target position formula, such that the determined sensor delay minimizes the target position formula.

3. The method according to claim 1, further comprising: The corrected target position at a given time point is determined based on the sensor delay and the sensing position at that given time point.

4. The method according to claim 3, further comprising: Obtain speed commands for controlling the robot system at the plurality of time points; as well as The robot delay caused by the controller is determined based on the speed command and the robot position.

5. The method according to claim 4, wherein obtaining the speed command comprises: Relative to the time point among the plurality of time points, Indicate the positional error of the robot system at the specified time point; as well as The speed command in the speed command is obtained based on the comparison between the position error and the accuracy.

6. The method of claim 5, wherein identifying the position error comprises: The position error is identified based on the target position estimate and the robot position estimate at the time point.

7. The method of claim 4, wherein determining the robot delay comprises: Generate robot position formulas based on robot delay and the geometric relationship between robot position and velocity commands at multiple time points; as well as The robot delay is determined by solving the robot position formula, and the determined robot delay is minimized by the robot position formula.

8. The method of claim 4, further comprising: The corrected robot position of the robot system at the given time point is determined by updating the robot position of the robot system at the given time point using the robot delay and the speed command at the given time point.

9. The method of claim 4, further comprising: The parameters for controlling the robot system are determined based on the sensor delay and the robot delay, and the parameters include any of the following: the buffer length of the robot system, the strength of the speed command, and the dead zone of the robot system.

10. An apparatus for adjusting a robot system, comprising: A sensing position collection unit is configured to collect from the sensors of the robot system the sensing position of a target processed by the robot system during the robot system's movement at a predetermined speed and predetermined accuracy; A robot position acquisition unit is configured to acquire the robot position of the robot system during the movement from the controller of the robot system; An acquisition unit is configured to acquire a target position estimate based on the robot position and the sensing position, the target position estimate being associated with a sensor delay of the robot system caused by the sensor; as well as The determining unit is configured to determine the sensor delay to be compensated based on the target position estimate. The acquisition unit includes: The robot position estimation unit is configured to determine the robot position estimate based on a regression operation of the robot position; as well as The target position estimation unit is configured to obtain a target position estimate based on the geometric relationship between the robot position estimate and the sensed position at multiple time points during the movement.

11. The apparatus of claim 10, wherein the determining unit comprises: The generation unit is configured to generate a target position formula based on the target's target position and the target position estimate. as well as The sensor delay determination unit is configured to determine the sensor delay by solving the target position formula, such that the determined sensor delay minimizes the target position formula.

12. The apparatus of claim 10, further comprising: The target location determination unit is configured to determine the corrected target location of the target at a given time point based on the sensor delay and the sensing location at a given time point.

13. The apparatus of claim 12, further comprising: The command acquisition unit is configured to acquire speed commands for controlling the robot system at the plurality of time points; as well as The robot delay determination unit is configured to determine the robot delay caused by the controller based on the speed command and the robot position.

14. The apparatus of claim 13, wherein the command acquisition unit comprises: An identification unit is configured to identify the positional error of the robot system at the time point relative to the time points among the plurality of time points; as well as The speed command acquisition unit is configured to acquire the speed command in the speed command based on a comparison between the position error and the accuracy.

15. The apparatus of claim 14, wherein the identification unit comprises: An error identification unit is configured to identify the position error based on the target position estimate and the robot position estimate at the time point.

16. The apparatus of claim 13, wherein the robot delay determination unit comprises: The robot position formula generation unit is configured to generate a robot position formula based on the robot delay, the geometric relationship between the robot position at multiple time points and the speed command; as well as The solving unit is configured to determine the robot delay by solving the robot position formula, such that the determined robot delay minimizes the robot position formula.

17. The apparatus of claim 13, further comprising: A robot position determination unit is configured to determine the corrected robot position of the robot system at a given time point by updating the robot position of the robot system at the given time point using the robot delay and the speed command at the given time point.

18. The apparatus of claim 13, further comprising: The parameter determination unit is configured to determine parameters for controlling the robot system based on the sensor delay and the robot delay, the parameters including any of the following: the buffer length of the robot system, the strength of the speed control command, and the dead zone of the robot system.

19. A system for adjusting a robot system, comprising: A computer processor coupled to a computer-readable storage unit, the storage unit including instructions that, 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, the instructions, when executed on at least one processor, causing the at least one processor to perform the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • System and method for demonstrating planned autonomous manipulation of an anatomy

    US20160343273A1

  • Controller, control system, and control method

    US20180264649A1

  • Robot system, method for controlling robot, robot controller, and non-transitory computer-readable storage medium

    US20200238530A1