CN113580115A - Robot point location automatic correction method and device, medium and robot controller - Google Patents
Robot point location automatic correction method and device, medium and robot controller Download PDFInfo
- Publication number
- CN113580115A CN113580115A CN202110864102.8A CN202110864102A CN113580115A CN 113580115 A CN113580115 A CN 113580115A CN 202110864102 A CN202110864102 A CN 202110864102A CN 113580115 A CN113580115 A CN 113580115A
- Authority
- CN
- China
- Prior art keywords
- point location
- point
- coordinate
- robot
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/02—Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
- B25J9/023—Cartesian coordinate type
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
Abstract
The invention provides a robot point location automatic correction method, a device, a storage medium and a robot controller, wherein the method comprises the following steps: receiving a point location in any Cartesian space selected from a robot program as a first point location, and receiving a first calibration point location obtained by re-teaching the first point location; receiving any other point location in the Cartesian space selected from the robot program as a second point location, and receiving a second calibration point location obtained by re-teaching the second point location; determining a first coordinate deviation value of the first calibration point position and the first point position or a second coordinate deviation value of the second calibration point position and the second point position; determining the rotation angle of the workbench of the robot relative to a base coordinate system according to the point position coordinates of the first point position and the second point position; and obtaining corrected point location coordinates according to the rotation angle and the first coordinate deviation value or the second coordinate deviation value. The scheme of the invention can automatically correct the program point location.
Description
Technical Field
The invention relates to the field of control, in particular to a robot point location automatic correction method and device, a storage medium and a robot controller.
Background
In the industrial production process, according to the change of production environment, the condition that the worktable needs to be moved often appears, and the relative position of the robot and the workpiece changes at the moment. After the workbench is moved, if the recorded program point locations of the robot are not changed, the tool end of the robot cannot be guaranteed to reach the designated target point when the program is operated again, and therefore, the program point locations need to be modified to complete the production task.
Disclosure of Invention
The main purpose of the present invention is to overcome the above-mentioned defects in the prior art, and provide a method and a device for automatically correcting a point location of a robot, a storage medium, and a robot controller, so as to solve the problem of point location deviation after an industrial robot worktable moves in the prior art.
The invention provides a robot point location automatic correction method on one hand, which comprises the following steps: receiving a point location in any Cartesian space selected from a robot program as a first point location, and receiving a first calibration point location obtained by re-teaching the first point location; receiving any other point position in the Cartesian space selected from the robot program as a second point position, and receiving a second calibration point position obtained by re-teaching the second point position; determining a first coordinate deviation value of the first calibration point location and the first point location or a second coordinate deviation value of the second calibration point location and the second point location; determining the rotation angle of the workbench of the robot relative to a base coordinate system according to the point position coordinates of the first point position and the second point position; and obtaining corrected point location coordinates according to the rotation angle and the first coordinate deviation value or the second coordinate deviation value.
Optionally, obtaining corrected point location coordinates according to the rotation angle and the first coordinate deviation value or the second coordinate deviation value, includes: obtaining a rotation matrix according to the rotation angle and the first coordinate deviation value or the second coordinate deviation value; and correcting the point location coordinates in all Cartesian spaces in the robot program according to the rotation matrix to obtain corrected point location coordinates.
Optionally, the correcting, according to the rotation matrix, point location coordinates in all cartesian spaces in the robot program to obtain corrected point location coordinates includes: and multiplying the point location coordinates in other Cartesian spaces in the robot program by the rotation matrix to obtain corrected point location coordinates.
Optionally, the method further comprises: before receiving a second calibration point location obtained by re-teaching the second point location, judging whether the first point location has an offset in the X direction or the Y direction relative to the second point location; and if the deviation in the X direction or the Y direction exists, re-receiving the point in any other Cartesian space selected from the program as a second point.
Optionally, determining a rotation angle of the workbench of the robot relative to a base coordinate system according to the point location coordinate of the first point location and the point location coordinate of the second point location includes: by the formula of vector dot productCalculating a rotation angle theta of the workbench relative to a base coordinate system; wherein, P1Is the point location coordinate of said first point location, P1' is a point location coordinate of the first calibration point location; p is a radical of2Is a point location coordinate of the second point location, P'2Is the point location coordinate of the second calibration point location,
another aspect of the present invention provides an automatic point location calibration device for a robot, including: the robot comprises a first receiving unit, a second receiving unit and a control unit, wherein the first receiving unit is used for receiving a point position in any Cartesian space selected from a robot program as a first point position and receiving a first calibration point position obtained by re-teaching the first point position; the second receiving unit is used for receiving any other point position in the Cartesian space selected from the robot program as a second point position and receiving a second calibration point position obtained by re-teaching the second point position; the first determining unit is used for determining a first coordinate deviation value of the first calibration point position and the first point position or a second coordinate deviation value of the second calibration point position and the second point position; the second determining unit is used for determining the rotation angle of the workbench of the robot relative to a base coordinate system according to the point position coordinates of the first point position and the second point position; and the correction unit is used for obtaining corrected point location coordinates according to the rotation angle and the first coordinate deviation value or the second coordinate deviation value.
Optionally, the obtaining, by the correction unit, a corrected point location coordinate according to the rotation angle and the first coordinate deviation value or the second coordinate deviation value includes: obtaining a rotation matrix according to the rotation angle and the first coordinate deviation value or the second coordinate deviation value; and correcting the point location coordinates in all Cartesian spaces in the robot program according to the rotation matrix to obtain corrected point location coordinates.
Optionally, the correcting unit corrects the point location coordinates in all cartesian spaces in the robot program according to the rotation matrix to obtain corrected point location coordinates, and the correcting unit includes: and multiplying the point location coordinates in other Cartesian spaces in the program by the rotation matrix to obtain corrected point location coordinates.
Optionally, the method further comprises: a determining unit, configured to determine whether the first point location has an offset in an X direction or a Y direction with respect to the second point location before the second receiving unit receives a second calibration point location re-taught to the second point location; the second determining unit is further configured to: and if the judging unit judges that the offset in the X direction or the Y direction exists, re-receiving the point location in any other Cartesian space selected from the program as a second point location.
Optionally, the second determination unit determines a rotation angle of the table of the robot with respect to the base coordinate system based on the point position coordinates of the first point position and the point position coordinates of the second point positionAnd (b) degree, comprising: by the formula of vector dot productCalculating a rotation angle theta of the workbench relative to a base coordinate system; wherein, P1Is the coordinate of said first point location, P1' is a first calibration point location coordinate; p is a radical of2Is the coordinate of the second point location, P'2Is the coordinate of the second calibration point position,
a further aspect of the invention provides a storage medium having stored thereon a computer program which, when executed by a processor, carries out the steps of any of the methods described above.
Yet another aspect of the invention provides a robot controller comprising a processor, a memory, and a computer program stored on the memory and executable on the processor, the processor implementing the steps of any of the methods described above when executing the program.
The invention further provides a robot controller which comprises the robot point location automatic correction device.
According to the technical scheme of the invention, under the condition that the relative position of the industrial robot and the workpiece is changed, the deviation amount between the actual position and the program data recording position is calculated through calibration, all program point positions in Cartesian space stored in the program data are shifted according to coordinate transformation, and the program data are modified to offset the change of the relative position of the robot and the workpiece. When the workbench moves in the actual production process, the situation that the origin of the workpiece coordinate system exceeds the working space of the robot to cause that the correct workpiece coordinate system cannot be calibrated is avoided.
And after the relative position of the robot and the workpiece is changed, shifting the point position of the program by using an automatic point position correction method. The method only needs to select two point positions in the Cartesian space in the program for recalibration, automatically corrects all the point positions in the robot program through the offset between the actual position and the program data recording position, and modifies the program data, so that the situation that the workpiece coordinate system cannot be calibrated due to the limitation of the working space of the robot is avoided.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the invention and not to limit the invention. In the drawings:
FIG. 1 is a schematic diagram of a robot point location automatic correction method according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a method for automatically correcting a point location of a robot according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of an embodiment of the automatic robot point location correction device provided in the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the technical solutions of the present invention will be clearly and completely described below with reference to the specific embodiments of the present invention and the accompanying drawings. It is to be understood that the described embodiments are merely exemplary of the invention, and not restrictive of the full scope of the invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
When the table needs to be moved, for example, in actual production, the table may need to be moved depending on a change in production environment, and the relative position between the robot and the workpiece may change.
Fig. 1 is a schematic method diagram of an embodiment of the robot point location automatic correction method provided by the present invention. (the method can be used on a controller, and the demonstrator is only used for displaying point positions and operation prompts)
As shown in fig. 1, according to an embodiment of the present invention, the method includes at least step S110, step S120, step S130, step S140, and step S150.
Step S110, receiving a point location in any Cartesian space selected from a robot program as a first point location, and receiving a first calibration point location obtained by re-teaching the first point location.
Specifically, a point offset function icon or button may be set in the program editing interface in advance. After the workbench is moved, clicking a point location offset function icon or button on a program editing interface, if point location offset is not selected, the program still runs according to the current point location, and if the relative position of the robot and the workpiece changes and is not processed in other modes, the position of the tail end of the robot tool which actually runs cannot be guaranteed to reach the target position; if point location deviation is selected, point location automatic correction is carried out, and after point location is corrected, the fact that the actual running position of the robot reaches the target position when the program is written can be achieved.
If the user selects the point location deviation function, a calibration prompt interface can be displayed, and the user selects the point location P in any Cartesian space in the program1(X1, Y1, Z1), selecting the point P by the user1As a first point location; the user re-teaches the point location through the demonstrator to obtain the point location P1'(X1', Y1', Z1') to re-teach the obtained point P1' as the first calibration point.
And step S120, receiving any point position in other Cartesian spaces selected from the robot program as a second point position, and receiving a second calibration point position obtained by re-teaching the second point position.
In particular, the user selects a second cartesian spatial down-point p in the robot program2(X2, Y2, Z2), namely P removal in the program1Any point location outside the point, the point location p selected by the user2As a second point, the user again teaches the point to obtain a point P 'through a demonstrator'2(X2 ', Y2 ', Z2 '), the point P ' obtained by the re-teaching '2As a second calibration point.
Preferably, before receiving a second calibration point location re-taught to the second point location, it is determined whether the first point location has a shift in the X direction or the Y direction with respect to the second point location; and if the deviation exists in the X direction or the Y direction, re-receiving any other point position in the Cartesian space selected from the robot program as a second point position, and receiving a second calibration point position obtained by re-teaching the second point position.
In particular, the second point p2The point position being relative to the first point position P1The dot locations must be offset in either the X or Y direction. For example, p is2And P1Subtracting the X, Y coordinate value of (1), if the absolute value of the difference is less than 10-6And mm, judging that no offset exists, popping up a prompt by a demonstrator to recalibrate, and otherwise, failing to calculate and needing recalibration.
Step S130, determining a first coordinate deviation value of the first calibration point location and the first point location or a second coordinate deviation value of the second calibration point location and the second point location.
Specifically, according to a difference value between cartesian coordinate values of the first calibration point location and the first point location, a coordinate deviation value between the first point location and the first calibration point location is determined. That is, the first calibration point P1' with the first point P1The cartesian coordinate values of (a) are subtracted, i.e., Δ X1 ═ X1' -X1, ("Δ Y1 ═ Y1' -Y1, (" Δ Z1 ═ Z1' -Z1) (using a vector method, a point offset vector is obtained by subtracting the starting point from the end point, because the point offset vector is obtained by subtracting the starting point from the end pointIn this case, Δ X1 ═ X1' -X1, Δ Y1 ═ Y1' -Y1, and Δ Z1 ═ Z1' -Z1) to obtain the first calibration point P)1' with said first point P1I.e., the coordinate deviation value of the actual position from the program data recording position.
Determining a coordinate deviation value of the second calibration point position and the second point position according to a difference value of the Cartesian coordinate values of the second calibration point position and the second point position; the second calibration point position P'2And said second point location p2The cartesian coordinate values of (a) are subtracted, that is, Δ X2 ═ X2 '-X2, Δ Y2 ═ Y2' -Y2, and Δ Z2 ═ Z2 '-Z2, to obtain the second calibration point P'2And a second point p2I.e., the coordinate deviation value of the actual position from the program data recording position.
Step S140, determining the rotation angle of the working platform of the robot relative to the base coordinate system according to the point position coordinates of the first point position and the second point position.
In particular, by P1And P1The cartesian coordinates of' calculate the differences Δ X, Δ Y, Δ Z as X, Y, Z directional displacements of the stage with respect to the base coordinate system. Vector quantityBy the formula of vector dot productThe rotation angle theta of the table with respect to the base coordinate system is obtained. Vector quantityIs P1' and P1The coordinate values of the points are subtracted, that is, the above-mentioned Δ X1 ═ X1' -X1, Δ Y1 ═ Y1' -Y1, Δ Z1 ═ Z1' -Z1, and the vectorIs p2And p2The coordinate values of the point positions are subtracted from each other, that is, Δ X2 ═ X2 ' -X2, Δ Y2 ═ Y2 ' -Y2, and Δ Z2 ═ Z2 ' -Z2, and the rotation angle is solved as described aboveFormula (II)Determining the angle of rotationWherein, P1Is the point location coordinate of said first point location, P1' is a point location coordinate of the first calibration point location; p is a radical of2Is a point location coordinate of the second point location, P'2And point location coordinates of the second calibration point location are obtained.
And S150, obtaining corrected point location coordinates according to the rotation angle and the first coordinate deviation value or the second coordinate deviation value.
In a specific embodiment, a rotation matrix is obtained according to the rotation angle and the first coordinate offset value or the second coordinate offset value. And correcting the point location coordinates in all Cartesian spaces in the robot program according to the rotation matrix to obtain corrected point location coordinates. Namely, a rotation matrix is obtained according to the rotation angle and the first coordinate deviation value, or a rotation matrix is obtained according to the rotation angle and the first coordinate deviation value.
The rotation matrix of the deviation between the original position and the actual position of the two calibration point positions is as follows:
the displacement of the workbench relative to the base coordinate system only needs the offset of one calibration point, the offset of a point P1 or the offset of a point P2, and the offset calculation through the point P1 is only listed above.
Coordinate P of other point positions in Cartesian space in the robot program3Multiplying with the rotation matrix to obtain the shifted point location (multiplying with the matrix through the point location, as shown in the following formula)
The result is calculated as a new coordinate P'3) And obtaining the corrected point position coordinates. And modifying the data of the points in the Cartesian space in the program one by one until the data of the points in all the Cartesian spaces in the program is modified, and finishing the correction of the points of the program.
The robot program before the point offset is as follows:
Global Robtarget P1:=[364.000,0.000,-20.000,-200.000];
Global Robtarget P2:=[424.800,20.800,-20.000,0.000];
Global Robtarget P3:=[364.800,40.800,-20.000,250.000];
(the P1 and P2 used in the previous embodiment only represent any two points in the robot program, P1, P2 and P3 in the program are names of point locations, and any two points are selected as P1 and P2 points to carry out point location offset)
Proc main()
MovP(P1,tool0);
MovP(P2,tool0);
MovP(P3,tool0);
End Procroot
The worktable is moved by 20mm respectively along the X, Y, Z directions, the C direction is moved by 20 degrees, and the robot program after point displacement is as follows:
Global Robtarget P1:=[323.971,-151.917,-40.000,-220.000];
Global Robtarget P2:=[368.269,-125.747,-40.000,-20.000];
Global Robtarget P3:=[331.120,-98.383,-40.000,230.000];
Proc main()
MovP(P1,tool0);
MovP(P2,tool0);
MovP(P3,tool0);
End Procroot
according to the technical scheme, after the workbench moves, all point positions in the program can be automatically corrected only by manually teaching any two point positions in the program through the demonstrator, coordinate data can be modified, the operation steps are simple, the condition that the origin of a workpiece coordinate system exceeds the working space of the robot is avoided, and the program editing steps in the production process are simplified.
In another specific embodiment, a new coordinate system is established according to the rotation angle and the first coordinate deviation value or the second coordinate deviation value, and the corrected point location coordinate is obtained based on the established new coordinate system. That is, during point position correction, after the displacement and rotation angle of the worktable in each direction are calculated, a new workpiece coordinate system is established according to the offset without modifying the point position, and the same point position correction purpose can be achieved through the conversion of the coordinate system.
Specifically, the coordinate deviation values Δ X, Δ Y, Δ Z of the stage with respect to the base coordinate system, and the rotation angle θ are obtained by the foregoing embodiments, and the calculation method is consistent with the above-described method. The obtained offset and rotation angle are stored in a new workpiece coordinate system, i.e., work1 ═ Δ X, Δ Y, Δ Z, θ. When writing a robot program, the same object can be achieved using the object coordinate system work1 after each movement instruction. )
In order to clearly illustrate the technical solution of the present invention, an implementation flow of the robot point location automatic correction method provided by the present invention is described below with a specific embodiment.
Fig. 2 is a schematic method diagram of an embodiment of the robot point location automatic correction method provided by the present invention. As shown in fig. 2, in a case that the workbench needs to be moved, after the workbench is moved, the point location offset function icon may be clicked on the program editing interface, if point location offset is not selected, the program still runs according to the current point location, and if the relative position of the robot and the workpiece changes and is not processed in other manners, it cannot be guaranteed that the actual running position of the end of the robot tool reaches the target position; if point location deviation is selected, point location automatic correction is carried out, and after point location is corrected, the fact that the actual running position of the robot reaches the target position when the program is written can be achieved. If the user selects the point location deviation function, a calibration prompt interface can be popped up, and the user selects any Cartesian space lower point location P in the program1(P1Point canAs a first point location for any point in the program), the point location is taught again by the demonstrator to obtain a point location P1'. Will P1And P1The cartesian coordinate values of 'are subtracted from each other, that is, Δ X ═ X1' -X1, Δ Y ═ Y1'-Y1, and Δ Z ═ Z1' -Z1, to obtain an offset value between the actual position and the program data recording position. Selecting any remaining Cartesian space down point P in the program2(p2The point may be in the program except for P1Any point other than the point is taken as a second point location), and the point location is taught again by the demonstrator to obtain a point location P'2Judgment of p2Dot position relative to P1And if the point position has no offset, recalibrating is needed, otherwise, calculation cannot be carried out.
By P1And P1The cartesian coordinates of' calculate the differences Δ X, Δ Y, Δ Z as X, Y, Z directional displacements of the stage with respect to the base coordinate system. Vector quantityBy the formula of vector dot productAnd (3) solving the rotation angle theta of the workbench relative to the base coordinate system, solving a rotation matrix of the deviation between the original positions and the actual positions of the two calibration points, and multiplying the unchanged program point location by the rotation matrix to obtain the point location after the deviation. And modifying the data of the points in the Cartesian space in the program one by one until the data of the points in all the Cartesian spaces in the program is modified, and finishing the correction of the points of the program.
Fig. 3 is a schematic structural diagram of an embodiment of the automatic robot point location correction device provided in the present invention. (this apparatus may be used on a controller, and a teach pendant is used only for displaying point positions and operation prompts.) as shown in fig. 3, the robot point position automatic correction apparatus 100 includes a first receiving unit 110, a second receiving unit 120, a first determining unit 130, a second determining unit 140, and a correcting unit 150.
The first receiving unit 110 is configured to receive a point location in any cartesian space selected from the robot program as a first point location, and receive a first calibration point location obtained by re-teaching the first point location.
Specifically, a point offset function icon or button may be set in the program editing interface in advance. After the workbench is moved, clicking a point location offset function icon or button on a program editing interface, if point location offset is not selected, the program still runs according to the current point location, and if the relative position of the robot and the workpiece changes and is not processed in other modes, the position of the tail end of the robot tool which actually runs cannot be guaranteed to reach the target position; if point location deviation is selected, point location automatic correction is carried out, and after point location is corrected, the fact that the actual running position of the robot reaches the target position when the program is written can be achieved.
If the user selects the point location deviation function, a calibration prompt interface can be displayed, and the user selects the point location P in any Cartesian space in the program1(X1, Y1, Z1), selecting the point P by the user1As a first point location; the user re-teaches the point location through the demonstrator to obtain the point location P1'(X1', Y1', Z1') to re-teach the obtained point P1' as the first calibration point.
The second receiving unit 120 is configured to receive a point location in any other cartesian space selected from the robot program as a second point location, and receive a second calibration point location obtained by re-teaching the second point location.
In particular, the user selects a second cartesian spatial down-point p in the robot program2(X2, Y2, Z2), namely P removal in the program1Any point location outside the point, the point location p selected by the user2As a second point, the user again teaches the point to obtain a point P 'through a demonstrator'2(X2 ', Y2 ', Z2 '), the point P ' obtained by the re-teaching '2As a second calibration point.
Preferably, the apparatus 100 further comprises: a determining unit (not shown) configured to determine whether the first point location has a deviation in the X direction or the Y direction with respect to the second point location before the second receiving unit 120 receives the second calibration point location re-taught to the second point location; if there is a deviation in the X direction or the Y direction, the second receiving unit 120 receives a point location in any other cartesian space selected from the robot program as a second point location again, and receives a second calibration point location re-taught from the second point location.
In particular, the second point p2The point position being relative to the first point position P1The dot locations must be offset in either the X or Y direction. For example, p is2And P1Subtracting the X, Y coordinate value of (1), if the absolute value of the difference is less than 10-6And mm, judging that no offset exists, popping up a prompt by a demonstrator to recalibrate, and otherwise, failing to calculate and needing recalibration.
The first determining unit 130 is configured to determine a first coordinate deviation value of the first point location and the first calibration point location or a second coordinate deviation value of the second point location and the second calibration point location.
Specifically, according to a difference value between the cartesian coordinate values of the first calibration point location and the first point location, a coordinate deviation value between the first calibration point location and the first point location is determined. That is, the first calibration point P1' with the first point P1The first calibration point P is obtained by subtracting cartesian coordinate values of (Δ X1 ═ X1'-X1, (. DELTA.y 1 ═ Y1' -Y1), (. DELTA.z 1 ═ Z1 '-Z1) (by using a vector method, a point offset vector is obtained by subtracting a starting point from a terminal point, and thus, (. DELTA.x 1 ═ X1' -X1, (. DELTA.y 1 ═ Y1 '-Y1), and ═ Z1 ═ Z1' -Z1)1' with said first point P1I.e., the coordinate deviation value of the actual position from the program data recording position.
Determining a coordinate deviation value of the second point location and the second calibration point location according to a difference value of the Cartesian coordinate values of the second calibration point location and the second point location; the second calibration point position P'2And a second point p2The second point p is obtained by subtracting cartesian coordinate values of (a) X2 (X2 ' -X2), Y2 (Y2 ' -Y2), and (a) Z2 (Z2 ' -Z2)2And the second calibration pointP′2I.e., the coordinate deviation value of the actual position from the program data recording position.
The second determining unit 140 is configured to determine a rotation angle of the worktable of the robot with respect to the base coordinate system according to the point location coordinate of the first point location and the point location coordinate of the second point location.
In particular, by P1And P1The cartesian coordinates of' calculate the differences Δ X, Δ Y, Δ Z as X, Y, Z directional displacements of the stage with respect to the base coordinate system. Vector quantityBy the formula of vector dot productThe rotation angle theta of the table with respect to the base coordinate system is obtained. Vector quantityIs P1' and P1The coordinate values of the points are subtracted, that is, the above-mentioned Δ X1 ═ X1' -X1, Δ Y1 ═ Y1' -Y1, Δ Z1 ═ Z1' -Z1, and the vectorIs p2And p2The coordinate values of the point positions are subtracted from each other, that is, Δ X2 ═ X2 ' -X2, Δ Y2 ═ Y2 ' -Y2, and Δ Z2 ═ Z2 ' -Z2, and the rotation angle is solved by the above formulaDetermining the angle of rotationWherein, P1Is the point location coordinate of said first point location, P1' is a point location coordinate of the first calibration point location; p is a radical of2Is a point location coordinate of the second point location, P'2And point location coordinates of the second calibration point location are obtained.
And the correcting unit 150 is configured to obtain corrected point location coordinates according to the rotation angle and the first coordinate deviation value or the second coordinate deviation value.
In a specific embodiment, the calibration unit 150 obtains a rotation matrix according to the rotation angle and the first coordinate offset value or the second coordinate offset value; and correcting the point location coordinates in all Cartesian spaces in the robot program according to the rotation matrix to obtain corrected point location coordinates.
The rotation matrix of the deviation between the original position and the actual position of the two calibration point positions is as follows:
the displacement of the workbench relative to the base coordinate system only needs the offset of one calibration point, the offset of a point P1 or the offset of a point P2, and the offset calculation through the point P1 is only listed above.
The calibration unit 150 maps the point coordinates P in other cartesian spaces in the robot program3The multiplication with the rotation matrix results in the shifted point locations (by multiplying the point locations with the matrix, as follows,
the result is calculated as a new coordinate P'3) And obtaining the corrected point position coordinates. And modifying the data of the points in the Cartesian space in the program one by one until the data of the points in all the Cartesian spaces in the program is modified, and finishing the correction of the points of the program.
The invention also provides a storage medium corresponding to the robot point location automatic correction method, and a computer program is stored on the storage medium, and when the program is executed by a processor, the steps of any one of the methods are realized.
The invention also provides a robot controller corresponding to the robot point location automatic correction method, which comprises a processor, a memory and a computer program stored on the memory and capable of running on the processor, wherein the processor realizes the steps of any one of the methods when executing the program.
The invention also provides a robot controller corresponding to the robot point location automatic correction device, which comprises any one of the robot point location automatic correction devices.
Therefore, according to the scheme provided by the invention, under the condition that the relative position of the industrial robot and the workpiece is changed, the deviation amount between the actual position and the program data recording position is calculated through calibration, all program point positions in the Cartesian space stored in the program data are subjected to deviation according to coordinate transformation, and the program data are modified to offset the change of the relative position of the robot and the workpiece. When the workbench moves in the actual production process, the situation that the origin of the workpiece coordinate system exceeds the working space of the robot to cause that the correct workpiece coordinate system cannot be calibrated is avoided.
And after the relative position of the robot and the workpiece is changed, shifting the point position of the program by using an automatic point position correction method. The method only needs to select two point positions in the Cartesian space in the program for recalibration, automatically corrects all the point positions in the program through the offset between the actual position and the program data recording position, and modifies the program data, so that the situation that the workpiece coordinate system cannot be calibrated due to the limitation of the working space of the robot is avoided.
The functions described herein may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Other examples and implementations are within the scope and spirit of the invention and the following claims. For example, due to the nature of software, the functions described above may be implemented using software executed by a processor, hardware, firmware, hardwired, or a combination of any of these. In addition, each functional unit may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
In the embodiments provided in the present application, it should be understood that the disclosed technology can be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units may be a logical division, and in actual implementation, there may be another division, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.
The units described as separate parts may or may not be physically separate, and the parts serving as the control device may or may not be physical units, may be located in one place, or may be distributed on a plurality of units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
The above description is only an example of the present invention, and is not intended to limit the present invention, and it is obvious to those skilled in the art that various modifications and variations can be made in the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the scope of the claims of the present invention.
Claims (12)
1. A robot point location automatic correction method is characterized by comprising the following steps:
receiving a point location in any Cartesian space selected from a robot program as a first point location, and receiving a first calibration point location obtained by re-teaching the first point location;
receiving any other point position in the Cartesian space selected from the robot program as a second point position, and receiving a second calibration point position obtained by re-teaching the second point position;
determining a first coordinate deviation value of the first calibration point location and the first point location or a second coordinate deviation value of the second calibration point location and the second point location;
determining the rotation angle of the workbench of the robot relative to a base coordinate system according to the point position coordinates of the first point position and the second point position;
and obtaining corrected point location coordinates according to the rotation angle and the first coordinate deviation value or the second coordinate deviation value.
2. The method of claim 1, wherein obtaining corrected point location coordinates according to the rotation angle and the first coordinate offset value or the second coordinate offset value comprises:
obtaining a rotation matrix according to the rotation angle and the first coordinate deviation value or the second coordinate deviation value;
and correcting the point location coordinates in all Cartesian spaces in the robot program according to the rotation matrix to obtain corrected point location coordinates.
3. The method of claim 2, wherein correcting point location coordinates in all Cartesian spaces in the robot program according to the rotation matrix to obtain corrected point location coordinates comprises:
and multiplying the point location coordinates in other Cartesian spaces in the robot program by the rotation matrix to obtain corrected point location coordinates.
4. The method according to any one of claims 1-3, further comprising:
before receiving a second calibration point location obtained by re-teaching the second point location, judging whether the first point location has an offset in the X direction or the Y direction relative to the second point location;
and if the deviation in the X direction or the Y direction exists, re-receiving the point in any other Cartesian space selected from the program as a second point.
5. The method according to any one of claims 1-4, wherein determining the rotation angle of the table of the robot with respect to a base coordinate system based on the point location coordinates of the first point location and the point location coordinates of the second point location comprises:
by the formula of vector dot productCalculating a rotation angle theta of the workbench relative to a base coordinate system;
6. the utility model provides a robot point location automatic correction device which characterized in that includes:
the robot comprises a first receiving unit, a second receiving unit and a control unit, wherein the first receiving unit is used for receiving a point position in any Cartesian space selected from a robot program as a first point position and receiving a first calibration point position obtained by re-teaching the first point position;
the second receiving unit is used for receiving any other point position in the Cartesian space selected from the robot program as a second point position and receiving a second calibration point position obtained by re-teaching the second point position;
the first determining unit is used for determining a first coordinate deviation value of the first calibration point position and the first point position or a second coordinate deviation value of the second calibration point position and the second point position;
the second determining unit is used for determining the rotation angle of the workbench of the robot relative to a base coordinate system according to the point position coordinates of the first point position and the second point position;
and the correction unit is used for obtaining corrected point location coordinates according to the rotation angle and the first coordinate deviation value or the second coordinate deviation value.
7. The apparatus according to claim 6, wherein the correcting unit obtains the corrected point location coordinate according to the rotation angle and the first coordinate offset value or the second coordinate offset value, and includes:
obtaining a rotation matrix according to the rotation angle and the first coordinate deviation value or the second coordinate deviation value;
and correcting the point location coordinates in all Cartesian spaces in the robot program according to the rotation matrix to obtain corrected point location coordinates.
8. The apparatus according to claim 7, wherein the correction unit corrects the point location coordinates in all cartesian spaces in the robot program according to the rotation matrix to obtain corrected point location coordinates, and includes:
and multiplying the point location coordinates in other Cartesian spaces in the program by the rotation matrix to obtain corrected point location coordinates.
9. The apparatus of any of claims 6-8, further comprising:
a determining unit, configured to determine whether the first point location has an offset in an X direction or a Y direction with respect to the second point location before the second receiving unit receives a second calibration point location re-taught to the second point location;
the second determining unit is further configured to: and if the judging unit judges that the offset in the X direction or the Y direction exists, re-receiving the point location in any other Cartesian space selected from the program as a second point location.
10. The apparatus according to any one of claims 6 to 9, wherein the second determination unit determines the rotation angle of the table of the robot with respect to the base coordinate system based on the point location coordinates of the first point location and the point location coordinates of the second point location, includes:
by the formula of vector dot productCalculating a rotation angle theta of the workbench relative to a base coordinate system;
11. a storage medium, having stored thereon a computer program which, when being executed by a processor, carries out the steps of the method of any one of claims 1 to 5.
12. A robot controller comprising a processor, a memory, and a computer program stored in the memory and operable on the processor, wherein the processor executes the program to implement the steps of the method according to any one of claims 1 to 5, or comprises the automatic robot point location correction device according to any one of claims 6 to 10.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110864102.8A CN113580115A (en) | 2021-07-29 | 2021-07-29 | Robot point location automatic correction method and device, medium and robot controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110864102.8A CN113580115A (en) | 2021-07-29 | 2021-07-29 | Robot point location automatic correction method and device, medium and robot controller |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113580115A true CN113580115A (en) | 2021-11-02 |
Family
ID=78251917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110864102.8A Withdrawn CN113580115A (en) | 2021-07-29 | 2021-07-29 | Robot point location automatic correction method and device, medium and robot controller |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113580115A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114290330A (en) * | 2021-12-13 | 2022-04-08 | 库卡机器人制造(上海)有限公司 | Calibration method and calibration device for robot, robot and readable storage medium |
CN114638888A (en) * | 2022-03-31 | 2022-06-17 | 广东利元亨智能装备股份有限公司 | Position determination method and device, electronic equipment and readable storage medium |
-
2021
- 2021-07-29 CN CN202110864102.8A patent/CN113580115A/en not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114290330A (en) * | 2021-12-13 | 2022-04-08 | 库卡机器人制造(上海)有限公司 | Calibration method and calibration device for robot, robot and readable storage medium |
CN114290330B (en) * | 2021-12-13 | 2023-09-05 | 库卡机器人制造(上海)有限公司 | Calibration method and calibration device for robot, and readable storage medium |
CN114638888A (en) * | 2022-03-31 | 2022-06-17 | 广东利元亨智能装备股份有限公司 | Position determination method and device, electronic equipment and readable storage medium |
CN114638888B (en) * | 2022-03-31 | 2022-12-16 | 广东利元亨智能装备股份有限公司 | Position determination method and device, electronic equipment and readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113580115A (en) | Robot point location automatic correction method and device, medium and robot controller | |
JP4271232B2 (en) | Apparatus, method, program, and recording medium for executing offline programming of robot | |
EP1834738B1 (en) | Teaching position correcting apparatus and teaching position correction method | |
JP4137909B2 (en) | Robot program correction device | |
US20180290304A1 (en) | Offline programming apparatus and method having workpiece position detection program generation function using contact sensor | |
CN113634871A (en) | Robot friction stir welding track planning method based on offline programming | |
JP2021137946A (en) | Information processing method, information processing system, and program | |
CN108705530B (en) | Method and system for automatically correcting path of industrial robot | |
CN110142748A (en) | A kind of quick teaching system of robot suitable for spraying welding profession and method | |
WO2020037496A1 (en) | Method, device and system for correcting offline programming program, medium, and terminal | |
JP6849262B1 (en) | Information processing method, information processing system, program | |
CN109311163B (en) | Method for correcting motion control command of robot and related equipment thereof | |
JP6912529B2 (en) | How to correct the visual guidance robot arm | |
JP5375703B2 (en) | Numerical controller | |
CN112907669A (en) | Camera pose measuring method and device based on coplanar feature points | |
CN107636418B (en) | Robot control method, control equipment and system | |
JP5381063B2 (en) | Machining parameter determination device, machining parameter determination method and program | |
JP2796016B2 (en) | CAD system | |
US20230046827A1 (en) | Robot programming device and robot programming method | |
CN115533924B (en) | Cooperative motion control method and device, robot control device and storage medium | |
CN112621713B (en) | Robot demonstrator, controller, robot demonstrator and robot demonstrator control method, robot demonstrator control device and robot demonstrator control medium | |
JP6079352B2 (en) | ROBOT CONTROL METHOD, ROBOT CONTROL DEVICE, ROBOT, ROBOT SYSTEM, AND PROGRAM | |
CN113600650B (en) | Automatic calibration method for coordinate system of robot pipe bending machine | |
WO2023073959A1 (en) | Work assistance device and work assistance method | |
CN114194849B (en) | Stacking error correction method and stacking robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211102 |
|
WW01 | Invention patent application withdrawn after publication |