Method for adjusting path of robot, computing equipment and computer readable storage medium

By scanning the trajectory of the tool and adjusting the robot path, the problem of industrial robots being difficult to accurately traverse the path is solved, and high-precision positioning and operation efficiency are improved.

CN119487467APending Publication Date: 2025-02-18ABB (SCHWEIZ) AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280097876.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-07-22
Publication Date
2025-02-18

AI Technical Summary

Technical Problem

In actual production, industrial robots are difficult to accurately traverse perfect circular, straight or rectangular paths, affecting the operation effect of high-precision applications.

Method used

By scanning multiple scanning profiles of the tool using a laser sensor, multiple positions in the actual trajectory of the tool are determined, and the robot path is adjusted based on the deviation between the actual trajectory and the theoretical trajectory to improve positioning accuracy.

Benefits of technology

High-precision correction of robot paths is achieved, positioning accuracy is improved, labor and material costs are reduced, and operational efficiency is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119487467A_ABST
    Figure CN119487467A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to a method for adjusting a robot path, computing equipment and a computer readable storage medium. The method includes: acquiring a plurality of scanned profiles of a tool held by a robot by scanning the tool at a plurality of positions using a laser sensor; determining a plurality of positions in the actual trajectory of the tool based on the plurality of scan profiles; determining an actual trajectory based on the plurality of positions; and adjusting the robot path based on a deviation between the actual trajectory and the theoretical trajectory of the tool. In this manner, contour sampling data of a tool with high precision may be analyzed to correct actual path data to fit for desired path data, thereby improving path precision.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure generally relate to the field of robotics, and more particularly, to a method for adjusting a robot path using a linear laser, a computing device, and a computer-readable storage medium. Background Art

[0002] Industrial robots are widely used in production. With the rapid development of robot technology and the continuous expansion of its application fields, the requirements for production environment and process are becoming more and more complex, and the requirements for robot positioning accuracy in industrial production are also becoming higher and higher. Accuracy is an important indicator to measure the quality of six-axis robots. The accuracy of six-axis robots mainly involves "absolute positioning accuracy", "repeat positioning accuracy", "absolute trajectory accuracy", "repeat trajectory accuracy", etc. Among them, "repeat positioning accuracy" is important.

[0003] However, in actual production and application, due to some problems, such as manufacturing or assembly errors of the internal components of the robot body, it is almost impossible for industrial robots to traverse perfect circular paths, straight paths, or rectangular paths, which will affect the operation effect of high-precision applications. Therefore, there is still room for continuous improvement in work efficiency and operation accuracy. Summary of the invention

[0004] In view of the foregoing problems, exemplary embodiments of the present disclosure propose a solution for robot path correction to improve positioning accuracy.

[0005] In a first aspect of the present disclosure, an exemplary embodiment of the present disclosure provides a method for adjusting a robot path. The method includes: obtaining a plurality of scanned profiles of a tool held by a robot traveling along a robot path by scanning a tool using a laser sensor; determining a plurality of positions in an actual trajectory of the tool based on the plurality of scanned profiles; determining the actual trajectory based on the plurality of positions; and adjusting the robot path based on the deviation of the actual trajectory from the theoretical trajectory of the tool. For these embodiments, when the robot travels along the path, a laser sensor (e.g., a line laser device) is used to scan the movement of the tool held by the robot so as to obtain a set of scanned profiles of the tool at different positions with very high accuracy. By processing and analyzing the scanned profile, the deviation of the actual trajectory from the theoretical trajectory can be determined. Therefore, the deviation can be used to adjust the robot path to achieve robot path correction, and thus improve the position accuracy of the robot. It should be understood that one or more laser sensors can be used to detect the contour of the tool. For example, a plurality of laser sensors can be distributed around the robot to simultaneously detect different parts of the contour. The present disclosure is not intended to limit the number of laser sensors.

[0006] In some embodiments, acquiring multiple scan profiles includes acquiring multiple profile point sets, each profile point set corresponding to one of the multiple scan profiles and detected by the laser sensor at one of the multiple positions in the actual trajectory. In these embodiments, when the laser sensor scans the tool at multiple different positions during travel, the laser sensor will detect multiple partial profiles of the cross section of the tool. These partial profiles can be used for subsequent analysis.

[0007] In some embodiments, determining multiple positions in the actual trajectory includes: determining multiple estimated closed contours based on multiple scanned contours by fitting a two-dimensional shape to each set of contour points; determining multiple center positions of the multiple estimated closed contours; and determining multiple positions based on the multiple center positions. The scanned contour of the tool is typically a regular two-dimensional shape, such as a circle, an ellipse, a square, and a rectangle, or some specific shape that can be described as a known function. Therefore, in these embodiments, the scanned contour can be supplemented by curve fitting based on the contour points to generate an estimated closed contour. The center position of the estimated closed contour can indicate a position in the actual trajectory. By interpolating between these center positions, the actual trajectory of the tool in the detection plane can be generated.

[0008] In some embodiments, adjusting the robot path includes: determining a theoretical trajectory by fitting a plurality of positions to a predetermined shape trajectory; determining at least one position deviation of at least one deviated position in the actual trajectory from at least one corresponding theoretical position in the theoretical trajectory; and adjusting at least one position in the robot path corresponding to at least one deviated position based on the at least one position deviation. In these embodiments, the theoretical trajectory can be determined by fitting a trajectory of a predetermined shape to a plurality of positions. The trajectory of the predetermined shape can be any shape that can be described by a function, such as a circle, an ellipse, a straight line, a sine-cosine curve, and a hyperbola, as well as some combined trajectories. Therefore, the theoretical trajectory can be accurately determined.

[0009] In some embodiments, the method further comprises: in response to determining that another robot path to be traveled by the robot causes the tool to pass through at least one offset position, adjusting the other robot path based on the at least one position deviation. In these embodiments, once the offset position is determined and adjusted, it can be stored and used for other robot paths that also pass through the offset position. The applicability of previously determined adjustments is increased.

[0010] In some embodiments, adjusting at least one position in the robot path includes: determining a tilt angle of a plurality of estimated closed contours relative to the tool; determining at least one path deviation corresponding to at least one deviated position in the robot path of the at least one position deviation based on the tilt angle; and adjusting at least one position in the robot path corresponding to the at least one deviated position based on the at least one path deviation. In these embodiments, the laser sensor is not calibrated, which means that the relationship between the coordinate system of the laser sensor and the coordinate system of the robot or tool is unknown. Therefore, the relative tilt angles between the estimated closed contours can be used to map coordinates in the coordinate system of the laser sensor to the coordinate system of the robot or tool. After determining the compensation for the determined deviations, they can be converted into the coordinate system of the robot or tool to update the position in the robot path.

[0011] In some embodiments, determining the tilt angle includes: in response to determining that the shape of the estimated closed contour has rotational symmetry, determining that the tilt angle is substantially 90 degrees. In these embodiments, when the estimated closed contour is determined to be rotationally symmetric, it can be determined that the detection plane is perpendicular to the tool, and compensation for the deviated position can be directly applied to the robot path.

[0012] In some embodiments, determining the tilt angle includes: in response to determining that the shape of the estimated closed contour has mirror symmetry but not rotational symmetry, determining a first geometric dimension of the estimated closed contour; and determining the tilt angle based on the first geometric dimension. In these embodiments, the contour of the tool is typically rotationally symmetric, so when the estimated closed contour is not rotationally symmetric, this means that the detection plane is not perpendicular to the tool and the tilt angle must be determined. For example, the estimated closed contour can be symmetric with respect to two orthogonal axes of symmetry, namely a major axis and a minor axis (similar to an ellipse). The tilt angle can be determined by the length of the major axis and the length of the minor axis.

[0013] In some embodiments, determining the tilt angle further includes: causing the robot to tilt the tool toward the laser sensor; obtaining a scan profile of the tilted tool by scanning the tilted tool using the laser sensor; determining a second geometric dimension of an estimated closed contour corresponding to the scan profile of the tilted tool; and determining an orientation of the plurality of estimated closed contours relative to the tool based on the second geometric dimension and the first geometric dimension. In these embodiments, by further tilting the tool toward the laser sensor, the relative orientation between the tool and the detection plane can be determined.

[0014] In some embodiments, acquiring a plurality of scan profiles includes: causing the robot to stop the tool at one of the plurality of positions; and acquiring a scan profile in the plurality of scan profiles by scanning the tool at the position using a laser sensor. In these embodiments, the scanned profile can be acquired at a desired position. In addition, since the robot is stationary when acquiring the scan profile, the acquired data is more reliable.

[0015] In some embodiments, obtaining a plurality of scan profiles includes: causing the robot to move the tool to continuously travel along the actual trajectory; and obtaining the plurality of scan profiles by scanning the tool at corresponding time points using a laser sensor. In these embodiments, by scanning the tool during travel, the trajectory of the tool during operation can be obtained.

[0016] In some embodiments, the method further includes: in response to determining that the deviation of the actual trajectory from the theoretical trajectory is greater than a predetermined threshold, acquiring a plurality of additional scanned profiles of the tool held by the robot traveling along the adjusted robot path by scanning the tool using a laser sensor; determining a plurality of additional positions in the adjusted actual trajectory of the tool based on the plurality of additional scanned profiles; determining the adjusted actual trajectory based on the plurality of additional positions; and further adjusting the adjusted robot path based on the deviation of the adjusted actual trajectory from the theoretical trajectory of the tool. In these embodiments, the method may be performed iteratively.

[0017] In some embodiments, the method further comprises: in response to determining that the deviation of the actual trajectory from the theoretical trajectory is less than a predetermined threshold, stopping further adjusting the adjusted robot path. In these embodiments, iterations can stop until the deviation is tolerable.

[0018] In a second aspect, an exemplary embodiment of the present disclosure provides a method for adjusting a robot path. The method includes: obtaining a plurality of scan profiles of a fixture by scanning the fixture using a laser sensor held by a robot traveling along the robot path; determining a plurality of positions in a relative trajectory of the fixture relative to the laser sensor based on the plurality of scan profiles; determining a relative trajectory based on the plurality of positions; and adjusting the robot path based on a deviation of the relative trajectory from a theoretical trajectory of the fixture with respect to the laser sensor. In these embodiments, the scanned profile is detected relative to the laser sensor. Therefore, in a detection plane formed by the laser sensor, the fixture moves relative to the laser sensor. At the same time, the relative trajectory of the fixture in the detection plane corresponds to the robot path. Therefore, based on the deviation of the relative trajectory, the robot path can be appropriately adjusted.

[0019] It should be understood that the difference between the embodiments of the first aspect and the second aspect is only the position of the tool and the laser sensor. The trajectory in the detection plane of the tool in the first aspect and the trajectory in the detection plane of the fixture in the second aspect can be analyzed in the same way. Therefore, the embodiment according to the first aspect can be applied to the embodiment according to the second aspect.

[0020] In a third aspect, an example embodiment of the present disclosure provides a computing device, comprising: at least one processor; and at least one memory storing instructions, which, when executed by the at least one processor, cause the computing device to perform a method for adjusting a robot path.

[0021] In 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 path. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The above and other purposes, features and advantages of the exemplary embodiments disclosed herein will become more easily understood through the following detailed description with reference to the accompanying drawings. In the accompanying drawings, several exemplary embodiments disclosed herein are shown in an exemplary and non-limiting manner, in which:

[0023] Figure 1 schematically illustrates a block diagram of an example environment in which example embodiments of the present disclosure may be implemented;

[0024] Figure 2 A flow chart of a method for adjusting a robot path according to an embodiment of the present disclosure is schematically shown;

[0025] Figure 3 Schematically illustrates a flow chart of a method for adjusting a position in a robot path according to an embodiment of the present disclosure;

[0026] Figure 4A -4D schematically shows a diagram of a process for adjusting a robot path according to an embodiment of the present disclosure;

[0027] Figure 5A -5D schematically shows a diagram of a process for adjusting a robot path according to other embodiments of the present disclosure;

[0028] Fig. 6A FIG6B schematically shows a schematic diagram of a process for determining the orientation of a tool relative to a detection plane.

[0029] Figure 7 A flowchart schematically illustrates a method for adjusting a robot path according to other embodiments of the present disclosure; and

[0030] Figure 8 A schematic diagram of a computing device for implementing a method according to an embodiment of the present disclosure is schematically shown.

[0031] Throughout the drawings, the same or similar reference numbers are used to refer to the same or similar elements. DETAILED DESCRIPTION

[0032] The principles of the present disclosure will now be described with reference to several example embodiments shown in the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that these embodiments are described only to facilitate those skilled in the art to better understand and thereby implement the present disclosure, rather than to limit the scope of the present disclosure in any way.

[0033] As mentioned above, in order to improve the positioning accuracy of the end effector of the industrial robot, some solutions are implemented. For example, in some cases, the quality of robot components and important transmission devices is manufactured with higher precision to reduce mechanical errors that lead to higher production and commissioning costs. In some further cases, the implementation of manual on-site commissioning and correction may lead to low efficiency and potential safety issues. In some further cases, the motion calibration of the industrial robot is introduced to improve the positioning accuracy of the end effector.

[0034] In addition, solutions with the help of auxiliary equipment such as visual cameras and sensors are also adopted. However, the cost of auxiliary equipment and debugging will increase, and at the same time it is difficult to apply when working conditions are limited. Therefore, the effects of these solutions are not ideal, and the existing solutions still have disadvantages.

[0035] In order to at least partially solve the above and other potential problems, a new scheme for adjusting the robot path according to an embodiment of the present disclosure is provided. On the whole, the actual trajectory of the tool held by the robot in the detection plane of the laser sensor is determined based on multiple scan profiles of the cross section of the tool at different positions in the actual trajectory. The deviation of the actual trajectory from the theoretical trajectory can be determined by analyzing the scanned profile. Then, the robot path can be adjusted based on the deviation. The acquired laser scanning profile has high precision, and the use of the laser sensor is almost not limited by the field environment. Therefore, the robot path can be corrected with high precision and low cost.

[0036] The architecture according to the embodiment of the present disclosure will refer to Figure 1 to describe. Figure 1A block diagram of an example environment 100 in which an example embodiment of the present disclosure can be implemented is schematically shown. In the environment 100, a robot 20 holding a tool 21 will process a workpiece 30. During processing, the robot 20 travels along a robot path and moves the tool 21 on the surface of the workpiece 30 to be processed. The plane on which the surface to be processed is located can be referred to as a processing plane M. In addition, a computing device 10 is coupled to the robot 20 and is configured to control the robot 20, for example, by giving instructions to the robot 20.

[0037] In order to detect the position of the tool, a laser sensor 40 is disposed near the work site and connected to the computing device 10. The laser sensor 40 is, for example, a line laser, and is configured to employ a laser and an optical lens to project a laser beam as a line and detect the position of a point scanned by the laser beam. The line laser beam may form a detection plane D. The position detected by the laser sensor 40 is in the form of coordinates in the detection plane D. During machining, the laser sensor 40 emits a laser beam onto the side surface of the tool 21, and detects the position of a point on the contour of the cross section of the tool 21 in the detection plane D. After the position is detected, the position data will be sent to the computing device 10 for subsequent processing. Hereinafter, reference will be made to Figures 2 to 5D for more details on the methods according to the present disclosure.

[0038] Figure 2 The flowchart of an example method 200 for adjusting a robot path according to an embodiment of the present disclosure is schematically shown. The method 200 may be Figure 1 At 202, the computing device 10 obtains a robot (e.g., Figure 1 In this case, by using a laser sensor (e.g. Figure 1 The tool 21 is scanned by a laser sensor 40 in the robot 20 to obtain a scan profile. When the robot 20 moves along the robot path, the tool 21 is moved by the robot 20 along a machining track on the machining surface of the workpiece 30. When the laser sensor 40 emits a laser beam onto the side surface of the tool 21, the scan profile of the tool 21 can be obtained.

[0039] exist Figure 4A In FIG. 1 , the scanning process is schematically shown. Figure 4AAs shown, the laser sensor 40 emits a laser beam and forms a detection plane D1. During the travel along the machining trajectory, the tool 21 intersects the detection plane D1 at positions P41, P42, P43, P44, P45, P46, P47, and P48, respectively. Here, the trajectory formed in the detection plane D1 during the movement of the tool 21 is referred to as the "actual trajectory". Therefore, the scanning profile SC41, the scanning profile SC42, the scanning profile SC43, the scanning profile SC44, the scanning profile SC45, the scanning profile SC46, the scanning profile SC47, and the scanning profile SC48 are acquired by scanning the tool 21 at these positions using the laser sensor 40. The laser sensor 40 detects the positions of the points on the scanning profile and sends these positions to the computing device 10. The detected positions can be stored in the detection plane D1 in the form of point coordinates.

[0040] In some exemplary embodiments, in order to obtain the multiple scan profiles, the computing device 10 may cause the robot 20 to stop the tool 21 at one of the multiple positions. When the tool 21 reaches and stops at a predetermined position, the laser sensor 40 scans the profile of the tool 21 and sends the data to the computing device 10, so that the computing device 10 obtains the multiple scan profiles. In some other embodiments, in order to obtain the multiple scan profiles, the computing device 10 may cause the robot 20 to move the tool 21 to continuously travel along the actual trajectory. During the movement of the tool 21, the laser sensor 40 may scan the tool 21 at specific time intervals and send the data to the computing device 40.

[0041] Back to Figure 2 At 204, the computing device 10 determines multiple positions in the actual trajectory of the tool based on the multiple scanned contours. As described above, the actual trajectory is the trajectory of the tool 21 traveling in the detection plane D. In some example embodiments, in order to determine the multiple positions in the actual trajectory, the computing device 10 may determine multiple estimated closed contours based on the multiple scanned contours by fitting a two-dimensional shape to each set of contour points. Then, the computing device 10 determines multiple center positions of the multiple estimated closed contours. Finally, the computing device 10 determines multiple positions based on the multiple center positions. This process is Figures 4B to 4C Shown in.

[0042] like Figure 4BAs shown, the acquired scan profiles, namely, scan profile SC41, scan profile SC42, scan profile SC43, scan profile SC44, scan profile SC45, scan profile SC46, scan profile SC47 and scan profile SC48 are distributed in the detection plane D1. By processing the position data of the scan profiles, the computing device 10 can determine that the closed contour corresponding to the scan profile is a circle. Then, by fitting a two-dimensional shape to each set of contour points, multiple estimated closed contours can be obtained based on multiple scan profiles.

[0043] For example, in Figure 4B In the exemplary embodiment shown, the two-dimensional shape is a circle. Figure 4C , an estimated closed contour EC41, an estimated closed contour EC42, an estimated closed contour EC43, an estimated closed contour EC44, an estimated closed contour EC45, an estimated closed contour EC46, an estimated closed contour EC47, and an estimated closed contour EC48 are shown. The position of the center point of the circular estimated closed contour can be used to represent the position in the actual trajectory. It should be understood that the center point is merely exemplary. Other specific points of the estimated closed contour can also be used.

[0044] return Figure 2 At 206, computing device 10 determines an actual trajectory based on the plurality of locations. After determining the plurality of locations, computing device 10 may generate an actual trajectory by interpolating between the locations.

[0045] At 208, the computing device 10 adjusts the robot path based on the deviation of the actual trajectory from the theoretical trajectory of the tool. The position in the actual trajectory can also be used to determine the theoretical trajectory in the detection plane. If the actual trajectory deviates from the theoretical trajectory, the computing device 10 will determine the deviation in the detection plane D and then adjust the robot path based on the deviation. Figure 3 The illustrated embodiment describes the adjustment process in more detail.

[0046] In this way, the contour sampling data of the tool with high precision can be analyzed to correct the actual path data to fit the expected path data, thereby improving the path accuracy. Therefore, the path is automatically optimized by scanning the contour sampling data analysis, the positioning accuracy is improved, and high-precision positioning is achieved. In addition, compared with vision and manual path correction, the computational complexity is less than traditional vision and point cloud computing. Therefore, the processing speed is faster and the accuracy can be guaranteed.

[0047] In the following, reference will be made to Figure 3 Describes the detailed methods used to adjust the position in the robot's path. Figure 3 Schematically shows a flow chart of an example method 300 for adjusting a position in a robot path according to an embodiment of the present disclosure. The method 300 may be Figure 1 For ease of understanding, the computing device 10 in FIG. Figure 4D Method 300 is described.

[0048] At 302, computing device 10 determines a theoretical trajectory by fitting a plurality of positions to a predetermined shape trajectory. Figure 4D As shown, by fitting the center point of the estimated closed contour, the theoretical trajectory of the circle is determined (as shown by the solid line).

[0049] At 304, computing device 10 determines at least one position deviation of at least one deviation position in the actual trajectory from at least one corresponding theoretical position in the theoretical trajectory. Figure 4D It can be clearly seen that there are three positions that deviate from the theoretical trajectory in the actual trajectory, namely the positions of the estimated closed contour EC42, the estimated closed contour EC44 and the estimated closed contour EC46. The centers representing the deviated positions are the center O42 of the estimated closed contour EC42, the center O44 of the estimated closed contour EC44 and the center O46 of the estimated closed contour EC46. Based on the time or length of the tool 21 traveling along the trajectory, the corresponding theoretical positions, namely points U42, U44 and U46, are determined. The position deviations between the corresponding theoretical positions and the deviated positions in the actual trajectory can be determined, namely the position deviation D42 extending from the center O42 to the point U42, the position deviation D44 extending from the center O44 to the point U44, and the position deviation D46 extending from the center O46 to the point U46.

[0050] At 306, the computing device 10 determines the tilt angles of the plurality of estimated closed contours relative to the tool. Since the deviations are in the detection plane D, i.e., the deviations are determined according to the coordinate system of the laser sensor 40, they need to be mapped into the coordinate system of the robot 21 so that the computing device 10 can adjust the robot path based on the mapped deviations.

[0051] In some embodiments, the tilt angle may be determined based on the geometry of the shape of the estimated closed contour. Figures 4A to 4D In the embodiment shown, the detection plane D1 is perpendicular to the tool 21. Since the shape of the estimated closed contour is circular and the tilt angle is substantially 90 degrees. The determined deviation can be used to adjust the robot path by a translation transformation of the coordinates. In some alternative embodiments, the laser sensor 40 can be calibrated in the coordinate system of the robot. In these embodiments, the deviation can be applied directly.

[0052] At 308, the computing device 10 determines at least one path deviation of at least one deviation position in the robot path corresponding to the at least one position deviation based on the tilt angle. After determining the tilt angle, the deviation in the detection plane D will be mapped into the coordinate system of the tool 21 or the robot 20. The coordinate system of the tool 21 is associated with the coordinate system of the robot 20.

[0053] At 310, the computing device 10 adjusts at least one position in the robot path corresponding to the at least one deviated position based on the at least one path deviation. The computing device updates the previous coordinates based on the mapped path deviation. In some embodiments, when the computing device 10 determines that another robot path for the robot 20 to travel will cause the tool 21 to pass through the at least one deviated position, the computing device 10 adjusts the other robot path based on the at least one position deviation.

[0054] In summary, the method provided by the exemplary embodiment of the present disclosure is simple and effective, ensures accuracy, saves manpower and material resources, and improves efficiency. For actual application sites, it greatly saves the operator's time for on-site debugging. The method provided by the exemplary embodiment of the present disclosure is low-cost, highly efficient, and ensures path accuracy and quality at the same time. Figures 5A to 5D An example process for adjusting a position in a robot path according to another embodiment of the present disclosure is described.

[0055] like Figure 5A As shown, the laser sensor 40 emits a laser beam and forms a detection plane D2. In the illustrated embodiment, the detection plane D2 is inclined relative to the tool 21. During travel along the circular robot path, the tool 21 intersects the detection plane D2 at positions P51, P52, P53, P54, P55, P56, P57, and P58, respectively. The trajectory formed in the detection plane D2 during the movement of the tool 21 is also referred to as an "actual trajectory." Thus, the scanning profile SC51, the scanning profile SC52, the scanning profile SC53, the scanning profile SC54, the scanning profile SC55, the scanning profile SC56, the scanning profile SC57, and the scanning profile SC58 are obtained by scanning the tool 21 at these positions using the laser sensor 40. The laser sensor 40 detects the position of a point on the scanning profile. The detected position can be stored in the detection plane D2 in the form of point coordinates.

[0056] exist Figure 5B, the acquired scan profiles, namely scan profile SC51, scan profile SC52, scan profile SC53, scan profile SC54, scan profile SC55, scan profile SC56, scan profile SC57 and scan profile SC58 are distributed in the detection plane D2. By processing the position data of the scan profiles, the computing device 10 can determine that the closed contour corresponding to the scan profile is a circle. Then, by fitting a two-dimensional shape to each set of contour points, a plurality of estimated closed contours can be obtained based on the plurality of scan profiles. For example, in Figure 5B In the exemplary embodiment shown, the two-dimensional shape is an ellipse.

[0057] exist Figure 5C , there are shown estimated closed contours EC51, estimated closed contours EC52, estimated closed contours EC53, estimated closed contours EC54, estimated closed contours EC55, estimated closed contours EC56, estimated closed contours EC57 and estimated closed contours EC58. The position of the center point of the circular estimated closed contour can be used to represent the position in the actual trajectory.

[0058] Because the position of the center point of the estimated closed contour is determined, the actual trajectory is determined (as shown by the dotted line). By fitting the center point of the estimated closed contour, the theoretical trajectory of the circle is determined (as shown by the solid line). Figure 5D It can be clearly seen that there are three positions that deviate from the theoretical trajectory in the actual trajectory, namely the positions of the estimated closed contour EC52, the estimated closed contour EC54 and the estimated closed contour EC56. The centers representing the deviated positions are the center O52 of the estimated closed contour EC52, the center O54 of the estimated closed contour EC54 and the center O56 of the estimated closed contour EC56. Based on the time or length of the tool 21 traveling along the trajectory, the corresponding theoretical positions, namely points U52, U54 and U56, are determined. The position deviations between the corresponding theoretical positions and the deviated positions in the actual trajectory can be determined, namely the position deviation D52 extending from the center O52 to the point U52, the position deviation D54 extending from the center O54 to the point U54, and the position deviation D56 extending from the center O56 to the point U56.

[0059] and Figures 4A to 4DUnlike the embodiment shown, the detection plane D2 is tilted relative to the tool 21, and the estimated closed contour does not have rotational symmetry, but has mirror symmetry. In this embodiment, in order to determine the tilt angle, the computing device 10 can determine the geometric dimensions of the estimated closed contour. For example, in the embodiment shown, the estimated closed contour is an ellipse. Typically, a cross section perpendicular to the axis of the tool 21 can have rotational symmetry. Therefore, a cross section tilted relative to the tool 21 can have mirror symmetry and have a long axis of symmetry and a short axis of symmetry. The short axis of symmetry is orthogonal to and shorter than the long axis of symmetry. For example, in the case where the estimated closed contour is an ellipse, the long axis of symmetry is the long axis of the ellipse, and the short axis of symmetry is the short axis of the ellipse. Therefore, the tilt angle can be determined based on the ratio of the short axis of symmetry to the long axis of symmetry.

[0060] However, the calculated tilt angle may indicate two situations, namely, two different orientations of the estimated closed contour relative to the tool 21. In some exemplary embodiments, in order to determine the orientation, the computing device 10 may cause the robot 20 to tilt the tool 21 toward the laser sensor 40. Then, the laser sensor 40 detects the new scanned contour of the tilted tool 21 and transmits the contour data to the computing device 10. Upon receiving the contour data, the computing device 10 determines a second geometric dimension of the estimated closed contour corresponding to the scanned contour of the tilted tool 21. Finally, the computing device 10 determines the orientations of the plurality of estimated closed contours relative to the tool 21 based on the second geometric dimension and the first geometric dimension. For example, if the second geometric dimension is greater than the first geometric dimension, the estimated closed contour extends from the laser sensor 40 away from the tip of the tool 21, that is, the tilt angle is an obtuse angle. Conversely, if the second geometric dimension is less than the first geometric dimension, the estimated closed contour extends from the laser sensor 40 toward the tip of the tool 21, that is, the tilt angle is an acute angle. This process is repeated in two steps. Figures 6A to 6B Shown in.

[0061] exist Figures 6A to 6B In the figure, since the directions are relative, the tool 21 is shown in a vertical posture VP without loss of generality. As shown in 6A, the detection plane D extends from the laser sensor 40 toward the tool 21 and is tilted away from the tip of the tool 21 to form an inclination angle. In order to determine whether it is an acute angle or an obtuse angle, the computing device 10 can instruct the robot 20 to further tilt the tool 21 toward the tool 21 to an inclined posture IP. The laser sensor 40 scans the scanning profile of the tool 21 in the inclined posture IP and transmits the new profile data to the computing device 10. The computing device 10 processes the new profile data and determines the new geometric dimensions of the new profile (also called "second geometric dimensions"). The computing device 10 then compares the new geometric dimensions with the previously determined geometric dimensions. In the illustrated embodiment, the new geometric dimensions are larger. Therefore, the inclination angle is determined to be an obtuse angle.

[0062] like Figure 6BAs shown, although the previously determined geometric dimensions are consistent with Fig. 6A The geometric dimensions of the embodiments shown are the same. Fig. 6A , Figure 6B The tool 21 in the image is also tilted further toward the laser sensor 40 by the robot 20. The new geometry of the resulting new contour is smaller. The computing device 10 then determines that the tilt angle is an acute angle. In this way, the orientation of the estimated closed contour relative to the tool 21 can be easily determined.

[0063] In some optional embodiments, the major axis of symmetry of the estimated closed contour may be detected in the form of a vector.The orientation of the estimated closed contour relative to the tool may be determined based on the vectorized major axis of symmetry.

[0064] Back to Figures 5A to 5D In the illustrated embodiment, after determining the tilt angle and orientation, the position deviations D52, D54, and D56 can be mapped into the coordinate system of the tool 21. The computing device 10 can then determine the path deviation in the coordinate system of the tool 21 or in the coordinate system of the robot 20 and use the path deviation to adjust the corresponding position in the circular robot path.

[0065] Thus, even though the laser sensor 40 is not calibrated, by determining the tilt angle and the relative orientation between the detection plane and the tool based on the estimated geometry of the closed contour, the adjustment of the robot path can be achieved. It should be noted that the shape of the actual path in the robot coordinate system is irrelevant. Once the deviation between the actual trajectory and the theoretical trajectory in the detection plane is compensated, the path deviation in the robot coordinate system will also be compensated, regardless of the shape of the robot path.

[0066] Alternatively, the positions of the laser sensor 40 and the tool may be interchanged. Figure 7 The flowchart of an example method 700 for adjusting a robot path according to other embodiments of the present disclosure is schematically shown. The method 700 may be Figure 1 It is implemented by the computing device 10 in.

[0067] At 702, the computing device 10 obtains a plurality of scan profiles of a fixture by scanning the fixture using a laser sensor held by a robot traveling along a robot path. In this case, the scan profiles are obtained by scanning the fixture using the laser sensor. When the robot travels along the robot path, the laser sensor is moved along the trajectory by the robot. The fixture may be away from the robot but still in the field. Alternatively, the fixture may be located on the robot. During the travel of the laser sensor, the fixture moves relative to the laser sensor in a detection plane formed by a laser beam emitted by the laser sensor, and the shape of the relative trajectory of the fixture corresponds to the robot path.

[0068] At 704, computing device 10 determines a plurality of positions in a relative trajectory of the fixture relative to the laser sensor based on the plurality of scan profiles. As described above, the relative trajectory is a trajectory that the fixture travels in the detection plane.

[0069] At 706 , computing device 10 determines a relative trajectory based on the plurality of locations.

[0070] At 708, the computing device 10 adjusts the robot path based on the deviation of the relative trajectory from the theoretical trajectory of the fixture with respect to the laser sensor. The position in the relative trajectory can also be used to determine the theoretical trajectory in the detection plane. If the relative trajectory deviates from the theoretical trajectory, the deviation in the detection plane will be determined by the computing device 10, and the robot path will then be adjusted based on the deviation. The adjustment process is similar to the reference Figure 3 - The process described in the embodiment shown in 6D.

[0071] In some embodiments of the present disclosure, a computing device for implementing the above methods 200, 300 and 700 is provided. Figure 8 A schematic diagram of a computing device 800 for implementing a method according to an embodiment of the present disclosure is shown. The computing device 800 includes: at least one processor 810 and at least one memory 820. The at least one processor 810 may be coupled to the at least one memory 820. The at least one memory 820 includes instructions 822 that implement the method 200, 300, or 700 when executed by the at least one processor 810.

[0072] In some embodiments of the present disclosure, a computer-readable medium for adjusting a robot path is provided. The computer-readable medium has instructions stored thereon, and the instructions, when executed on at least one processor, may cause the at least one processor to perform a method for managing a camera system as described in the previous paragraphs, and the details will be omitted below.

[0073] 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, which may be executed by a controller, microprocessor, or other computing device. Although various aspects of the embodiments of the present disclosure are shown and described as block diagrams, flow charts, or using some other graphical representation, it will 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 controllers or other computing devices, or some combination thereof, as non-limiting examples.

[0074] 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 a program module that are executed in a device on a target real or virtual processor to perform the above-referenced Figure 2 , 3 and 7. In general, program modules include routines, programs, libraries, objects, classes, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The functionality of the program modules can be ideally combined or separated between program modules in various embodiments. The machine executable instructions of the program modules can be executed in local or distributed devices. In distributed devices, program modules can be located in local and remote storage media.

[0075] The program code for executing 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 the program code, when executed by the processor or controller, enables 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, partially on a remote machine, or entirely on a remote machine or server.

[0076] The above program code may be contained on a machine-readable medium, which may be any tangible medium that may contain or store a program used by or in conjunction with an instruction execution system, apparatus or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared or semiconductor system, apparatus or device, or any suitable combination of the foregoing. More specific examples of machine-readable storage media would include an electrical connection with one or more conductors, 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 disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0077] In addition, although operations are described in a particular order, this should not be understood as requiring the operations to be performed in the particular order shown or in sequence, or to perform all of the operations shown, to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these details should not be interpreted as limitations on the scope of the present disclosure, but should be interpreted as descriptions of features peculiar to a particular embodiment. Certain features described in the context of a separate embodiment may also be implemented in combination in a single embodiment. On the other hand, the various features described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any suitable sub-combination.

[0078] Although the subject matter has been described in language specific to structural features and / or methodological acts, it should 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.

[0079] It should be understood that the above detailed embodiments of the present disclosure are only used to illustrate or explain the principles of the present disclosure, rather than to limit the present disclosure. Therefore, without departing from the spirit and scope of the present disclosure, any modifications, equivalent substitutions and improvements, etc. should be included in the protection scope of the present disclosure. At the same time, the attached claims of the present disclosure are intended to cover all changes and modifications that fall within the scope and limits of the claims or the equivalents of the scope and limits.

Claims

1. A method for adjusting a robot path, comprising: acquiring a plurality of scanned profiles of a tool held by a robot traveling along the robot path by scanning the tool using a laser sensor; determining a plurality of positions in an actual trajectory of the tool based on the plurality of scan profiles; determining the actual trajectory based on the plurality of locations; as well as The robot path is adjusted based on a deviation of the actual trajectory from a theoretical trajectory of the tool.

2. The method according to claim 1, wherein acquiring the plurality of scan profiles comprises: A plurality of contour point sets are acquired, each contour point set corresponding to one of the plurality of scan profiles and detected by a laser sensor at one of the plurality of positions in the actual trajectory.

3. The method of claim 2, wherein determining the plurality of locations in the actual trajectory comprises: determining a plurality of estimated closed contours based on the plurality of scanned contours by fitting a two-dimensional shape to each set of contour points; determining a plurality of center locations of the plurality of estimated closed contours; as well as The plurality of locations are determined based on the plurality of center locations.

4. The method of claim 3, wherein adjusting the robot path comprises: determining the theoretical trajectory by fitting the plurality of positions to a predetermined shape trajectory; determining at least one position deviation of at least one deviation position in the actual trajectory from at least one corresponding theoretical position in the theoretical trajectory; as well as Based on the at least one position deviation, at least one position in the robot path corresponding to the at least one deviated position is adjusted.

5. The method according to claim 4, further comprising: In response to determining that an alternative robot path to be traveled by the robot causes the tool to pass through the at least one offset position, the alternative robot path is adjusted based on the at least one position deviation.

6. The method of claim 4, wherein adjusting the at least one position in the robot path comprises: determining an inclination angle of the plurality of estimated closed contours relative to the tool; determining at least one path deviation corresponding to at least one deviation position of the at least one position deviation in the robot path based on the tilt angle; as well as Based on the at least one path deviation, at least one position in the robot path corresponding to the at least one deviated position is adjusted.

7. The method of claim 6, wherein determining the tilt angle comprises: In response to determining that the shape of the estimated closed contour has rotational symmetry, the tilt angle is determined to be substantially 90 degrees.

8. The method of claim 6, wherein determining the tilt angle comprises: In response to determining that the shape of the estimated closed contour has mirror symmetry but not rotational symmetry, determining a first geometric dimension of the estimated closed contour; as well as The tilt angle is determined based on the first geometric dimension.

9. The method of claim 8, wherein determining the tilt angle further comprises: causing the robot to tilt the tool toward the laser sensor; acquiring a scanning profile of the inclined tool by scanning the inclined tool with the laser sensor; determining a second geometric dimension of an estimated closed contour corresponding to the scanned contour of the tool tilted; as well as An orientation of the plurality of estimated closed contours relative to the tool is determined based on the second geometric dimension and the first geometric dimension.

10. The method of claim 1, wherein acquiring the plurality of scan profiles comprises: causing the robot to stop the tool at a location among the plurality of locations; as well as A scan profile among the plurality of scan profiles is acquired by scanning the tool at the location using the laser sensor.

11. The method of claim 1 , wherein acquiring the plurality of scan profiles comprises: causing the robot to move the tool to continuously travel along the actual trajectory; as well as The plurality of scan profiles are acquired by scanning the tool at corresponding time points using the laser sensor.

12. The method according to claim 1, further comprising: In response to determining that the actual trajectory deviates from the theoretical trajectory by more than a predetermined threshold, acquiring a plurality of additional scan profiles of the tool held by the robot traveling along the adjusted robot path by scanning the tool using the laser sensor; determining an additional plurality of positions in an adjusted actual trajectory of the tool based on the additional plurality of scan profiles; determining the adjusted actual trajectory based on the further plurality of positions; as well as The adjusted robot path is further adjusted based on a deviation of the adjusted actual trajectory from a theoretical trajectory of the tool.

13. The method according to claim 1, further comprising: In response to determining that the actual trajectory deviates from the theoretical trajectory by less than a predetermined threshold, further adjusting the adjusted robot path is stopped.

14. A method for adjusting a robot path, comprising: acquiring a plurality of scan profiles of a fixture by scanning the fixture using a laser sensor held by a robot traveling along a robot path; determining a plurality of positions of the fixture in a relative trajectory relative to the laser sensor based on the plurality of scan profiles; determining the relative trajectory based on the plurality of positions; as well as The robot path is adjusted based on the deviation of the relative trajectory from a theoretical trajectory of the fixture with respect to the laser sensor.

15. A computing device (700), comprising: at least one processor (710); as well as At least one memory (720) storing instructions (721) which, when executed by the at least one processor (710), cause the computing device (700) to perform a method according to any one of claims 1 to 14. 16 . A computer-readable storage medium storing instructions, which, when executed by a computer, cause the computer to perform the method according to claim 1 .