CN115026843B - Automatic TCP calibration and deviation correction method based on cross laser sensor - Google Patents
Automatic TCP calibration and deviation correction method based on cross laser sensor Download PDFInfo
- Publication number
- CN115026843B CN115026843B CN202210962682.9A CN202210962682A CN115026843B CN 115026843 B CN115026843 B CN 115026843B CN 202210962682 A CN202210962682 A CN 202210962682A CN 115026843 B CN115026843 B CN 115026843B
- Authority
- CN
- China
- Prior art keywords
- point
- laser
- laser sensor
- moment
- tail end
- 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.)
- Active
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/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
The invention relates to the field of calibration and deviation correction of robots, and discloses an automatic TCP calibration and deviation correction method based on a cross laser sensor, which comprises an automatic calibration method of TCP and a TCP deviation correction method based on the method.
Description
Technical Field
The invention relates to the field of robot calibration and deviation correction, in particular to an automatic TCP calibration and deviation correction method based on a cross laser sensor.
Background
Along with the transformation and upgrading of manufacturing enterprises, more and more industrial robot technologies are applied to the fields of polishing, spraying, deburring, welding and the like. When the robot completes the tasks, various robot end tools need to be installed, and coordinates of a Center Point (TCP) of the end Tool need to be effectively marked, so that the robot can be used for completing the high-precision working requirements.
The calibration algorithm of the robot tool coordinate system is commonly used in the traditional four-point calibration, six-point calibration and the like, and the principle of the calibration algorithm is to transform different poses and control the robot to reach the same sharp point in a motion space and solve a TCP point by using a least square method; but each fixed point is reached due to the error of manually teaching the operation pointAll can not be completely equalThe method has the advantages that large position deviation exists, and ideal precision is difficult to calibrate, so that the traditional four-point TCP calibration algorithm has the problems of insufficient stability, low calibration efficiency and low precision. Chinese patent application No. CN201610849202.2 discloses an industrial robot TCP calibration method, which uses a preferred algorithm for calibration, although a certain calibration accuracy is improved, the manual peer-to-peer operation is still required, the calibration efficiency is not high, and the operation time is long. The Chinese invention patent with the patent application number of CN201811207015.X discloses a method and a device for realizing online rapid calibration of six-degree-of-freedom TCP, which realize the six-degree-of-freedom deviation correction, but the positions of TCP points and laser intersection points need to be manually calibrated and manually taught firstly, and the manual operation error factors are increased, so that the calibration and deviation correction precision is reduced. The automatic calibration of the coordinate system of the robot tool written by liu and published in journal of optical precision engineering-2019.3 can realize the quick calibration of the coordinate system of the tool, but the sensor is provided with strict limitation, the coordinate system of the sensor needs to be calibrated first, and the calibration precision is limited by the coordinate system of the sensor. If the camera is used for visual calibration or laser tracker calibration, the calibration precision is high, but the calibration equipment is expensive and the cost is too high.
In addition, when the center point of the tool at the tail end of the robot changes, the tool needs to be calibrated by using the traditional manual teaching calibration method again, so that the calibration time is increased, the shutdown working time of the robot is prolonged, and the production efficiency is reduced.
Disclosure of Invention
The invention aims to solve the problems and provides an automatic TCP calibration and deviation correction method based on a cross laser sensor, which solves the problems of low production efficiency of a production line and time and labor waste and deviation correction caused by large error, low precision and much time consumption due to manual operation in the conventional TCP calibration process.
In order to achieve the purpose, the invention adopts the following technical scheme:
an automatic TCP calibration method based on a cross laser sensor comprises the following steps:
s1: moving a tail end tool of the robot to the position above the cross laser sensor, randomly selecting five initial postures of the tail end tool, manually teaching the five selected initial postures, planning tracks of the five selected initial postures, selecting one initial posture of the five initial postures, and controlling the tail end tool to move along the planned track after entering the cross laser sensor in the selected initial posture;
s2: the cross laser sensor records signal pulses at each moment of laser on-off, the recorded signal pulses are communicated to the demonstrator through the control cabinet, the demonstrator records and marks point location coordinates of the center of the end flange at each moment of laser on-off according to the received signal pulses, and point location coordinates of the center of the end flange when the end tool of the robot passes through a laser intersection point in the cross laser sensor are calculated through the recorded point location coordinates at the moment of laser on-off;
S3: after the terminal tool is controlled to move downwards for a preset distance, the terminal tool moves with the same initial posture and the same track as those in the step S2, the cross laser sensor records signal pulses at each moment of laser on-off, the recorded signal pulses are communicated to the demonstrator through the control cabinet, the demonstrator records and marks point location coordinates of the center of the terminal flange at each moment of laser on-off according to the received signal pulses, and the point location coordinates of the center of the terminal flange when the terminal tool of the robot passes through a laser intersection point in the cross laser sensor are calculated through the recorded point location coordinates of the laser on-off momentFrom the central point of the end flange to the coordinatesMove toThe direction of (a) is set as a vector direction Z;
s4: calculating the distance in the vector direction ZThe coordinate of the point P is returned to the demonstrator, the demonstrator controls the terminal flange to move to the point P in the selected initial posture and to move to the point P from the point P along the vector direction Z at a constant speedThe cross laser sensor records the sharp point of the end tool in the movement process of the end flange, so that the laser is blocked to cut off the instantaneous signal pulse, the recorded signal pulse is communicated to the demonstrator through the control cabinet, and the demonstrator records and marks the point position coordinate of the center of the end flange at the moment of laser cutting off according to the received signal pulseAnd recording the attitude of the center of the end flange at the moment of laser interruption;
S5: controlling the robot to return to the initial posture before entering the cross laser sensor, respectively switching the remaining four initial postures to enter the cross laser sensor to move along the planned track, and repeating the operations of the steps S2-S4 for each initial posture to respectively obtain the point position coordinate of the center of the end flange at the moment of laser disconnection,,,Attitude of center of end flange at moment of laser disconnection,,,;
S6: the point location coordinates of the laser disconnection instant obtained in the steps S4 and S5、、、Andinstantaneous attitude of laser disconnection、、、Andcalculating and obtaining machine by adopting optimal algorithmHuman end tool center pointCoordinate point of intersection point of laser and cross laser sensor。
Preferably, the track in the step S2 is a circular track, the movement along the planned track is a circle along the circular track, four groups of instantaneous point location coordinates of laser on-off can appear in the process that the tail end tool moves a circle along the circular track, eight instantaneous point location coordinates of laser on-off are obtained, and the center point location coordinates of the tail end flange when the tail end tool of the robot passes through the laser intersection point in the cross laser sensor are obtained through calculation of the obtained eight instantaneous point location coordinates of laser on-off。
Preferably, in step S3, four sets of point location coordinates at the instant of laser on-off may appear during the process that the end tool moves for one circle along the circular track, and point location coordinates at the instant of eight laser on-off may be obtained, and the point location coordinates of the center of the end flange when the end tool of the robot passes through the intersection point of the lasers in the intersecting laser sensor are obtained through calculation of the obtained point location coordinates at the instant of eight laser on-off。
Preferably, the coordinates of the central point of the end flange are used in the step S4、Unit vector of sum vector direction ZCan calculate the distanceThe coordinate point P of (a).
Preferably, the preferred algorithm is a five-point preferred algorithm.
An automatic TCP deviation rectifying method based on a cross laser sensor comprises the following steps:
the deviation correcting method is based on the laser intersection point obtained after TCP calibrationCompared with the traditional deviation rectifying method, the method does not need to manually determine the coordinate system of the crossed laser sensor.
A1: after the collision of the tail end tool occurs, manually teaching the tail end tool, enabling the tail end tool with the offset central point to be initially vertical to an XOY plane of the robot, defining the posture of the tail end tool after manual teaching as a fixed posture, and moving the tail end tool to the position above the cross laser sensor in the fixed posture;
a2: controlling the offset tail end tool to enter the cross laser sensor for posture correction operation at the fixed posture in the step A1;
a3: and C, controlling the tail end tool subjected to posture correction in the step A2 to enter the cross laser sensor again for position correction, and finishing the correction operation of the tail end tool.
Wherein, step A2 includes the following steps:
a21, after the end tool enters the cross laser sensor in a fixed posture, the cross laser sensor moves for one circle along a planned circular track, the cross laser sensor records signal pulses at each laser on-off moment, the recorded signal pulses are communicated to the demonstrator through the control cabinet, the demonstrator records and marks point position coordinates of the center of the end flange at each laser on-off moment according to the received signal pulses, and the point position coordinates of the center of the end flange when the end tool of the robot passes through a laser intersection point in the cross laser sensor are calculated through the recorded point position coordinates of the laser on-off moment;
A22, after the tail end tool is controlled to move downwards for a preset distance in a fixed posture, the operation of the step A21 is repeated, and the point location coordinate of the center point of the tail end flange when the tail end tool of the robot passes through the intersection point of the lasers in the cross laser sensor is calculated according to the recorded point location coordinate at the moment when the lasers are switched on and offIs set byMove toIs a vector direction;
A23: according to the position of the end flange、And the vector directionUnit vector ofCapable of calculating deviation angle of end tool of robotAndthereby finishing the posture correction operation;
wherein, step A3 includes the following steps:
a31: controlling the tail end tool of the robot to enter the cross laser sensor again in the corrected posture, and repeating the stepsThe operation method of the step A21-A22 is that the point position coordinates of the centers of the two end flanges are respectively calculated by recording the point position coordinates at the moment of laser on-offAndis set byMove toIs a vector direction;
A32: in the vector directionGet away from by upper calculationCoordinate point of (2)Will clickThe coordinate position of the terminal flange is returned to the demonstrator, and the demonstrator controls the terminal flange to move to a pointAnd controlling the tail end flange to move from the point with the corrected postureStarting along the vector directionMove to a point at a uniform speedThe cross laser sensor records the sharp point of the tail end tool in the movement process of the tail end flange, so that the laser is blocked to disconnect the instantaneous signal pulse, the recorded signal pulse is communicated to the demonstrator through the control cabinet, and the demonstrator records and marks the point position coordinate of the center of the tail end flange at the moment of laser disconnection according to the received signal pulseAnd recording the attitude of the center of the end flange at the moment of laser interruption;
A33: according to the point location coordinate at the moment of laser disconnectionCoordinate point of intersection point of laser and cross laser sensorCalculating to obtain the central point of the end tool of the robotAnd finishing the position deviation rectifying operation.
The contribution of the invention lies in: the invention provides an automatic TCP calibration method based on a cross laser sensor, which uses the cross laser sensor to replace manual teaching point alignment operation, realizes automatic point alignment calibration, reduces errors caused by manual operation and point alignment time of manual operation, improves the calibration precision, can perform quick TCP deviation correction operation on a tail end tool of a robot under the condition that the position of a robot sensor is unchanged, reduces the downtime, recovers production line production with the minimum downtime, greatly reduces the calibration time and cost, and improves the TCP calibration precision.
Drawings
FIG. 1 is a flow chart of an automatic TCP calibration method based on a cross laser sensor according to the present invention;
FIG. 2 is a flow chart of an automatic TCP deviation rectification method based on a cross laser sensor according to the present invention;
FIG. 3 is a schematic view of one of the initial poses of the present invention entering a crossed laser sensor and following a planned circular trajectory;
FIG. 4 shows the coordinates of the center point of the end flange calculated in step S2Schematic diagram of the state of (1);
FIG. 5 shows the coordinates of the center point of the end flange calculated after one of the initial poses of the present invention moves down along the vector direction Z and moves along the planned circular trajectoryA schematic diagram of (a);
FIG. 6 is a diagram of one of the initial poses of the present invention from point P to pointA schematic process diagram of the movement;
FIG. 7 is a schematic diagram of five initial poses selected by the present invention as they move in a circular path in a crossed laser sensor;
FIG. 8 is a schematic view of the vector direction Z of the present invention;
fig. 9 is a schematic illustration of the positions of the robot, end tool, cross laser sensor, control cabinet and teach pendant of the present invention.
Detailed Description
The following examples are further illustrative and supplementary to the present invention and do not limit the present invention in any way.
Referring to fig. 1 and 9, an automatic TCP calibration method based on a cross laser sensor includes the following steps:
s1: moving the end tool 200 of the robot 100 above the cross laser sensor 300, randomly selecting five initial postures of the end tool 200 and manually teaching the five selected initial postures, planning tracks of the five selected initial postures, selecting one initial posture of the five initial postures, and controlling the end tool 200 to move along the planned track after entering the cross laser sensor 300 according to the selected initial posture;
s2: the laser on-off can occur in the process that the end tool 200 moves in the cross laser sensor 300, the cross laser sensor 300 records signal pulses at each laser on-off moment, the recorded signal pulses are communicated to the demonstrator 500 through the control cabinet 400, the demonstrator 500 records and marks point position coordinates of the center of the end flange 600 at each laser on-off moment according to the received signal pulses, and the point position coordinates of the center of the end flange 600 when the end tool 200 passes through a laser intersection point in the cross laser sensor 300 are calculated through the recorded point position coordinates at the laser on-off moment;
S3: after the end tool 200 is controlled to move downwards for a preset distance, the end tool moves with the same initial posture and the same track as those in the step S2, the cross laser sensor 300 records signal pulses at each laser on-off moment, the recorded signal pulses are communicated to the demonstrator 500 through the control cabinet 400, the demonstrator 500 records and marks point location coordinates of the center of the end flange 600 at each laser on-off moment according to the received signal pulses, and the point location coordinates of the center of the end flange 600 when the end tool 200 of the robot passes through the laser intersection point in the cross laser sensor 300 are calculated through the recorded point location coordinates of the laser on-off momentFrom the center point of the flange 600 at the end of the robot 100Move toThe direction of (a) is set as a vector direction Z;
s4: at vectorCalculated to get away in the direction of magnitude ZThe coordinate of the point P is returned to the teach pendant 500, the teach pendant 500 controls the end flange 600 to move to the point P in the selected initial posture, and from the point P, the end flange moves to the point P at a uniform speed along the vector direction ZThe cross laser sensor 300 records a signal pulse at the moment when the tip of the end tool 200 causes the laser to be blocked and disconnected during the movement of the end flange 600, and communicates the recorded signal pulse to the teach pendant 500 through the control cabinet 400, and the teach pendant 500 records and marks a point position coordinate of the center of the end flange 600 at the moment when the laser is disconnected according to the received signal pulse at the momentAnd recording the attitude of the center of the end flange 600 at the moment of laser interruption;
S5: controlling the robot 100 to return to the initial posture before entering the cross laser sensor 300, respectively switching the remaining four initial postures to enter the cross laser sensor 300 to move along the planned track, and repeating the operations of the steps S2-S4 for each initial posture to respectively obtain the point position coordinate of the center of the end flange 600 at the moment of laser disconnection,,,To the center of the end flangeAttitude at the moment of laser interruption,,,;
S6: the point position coordinates of the laser disconnection instant obtained in the steps S4 and S5、 、、Andattitude of center of end flange at moment of laser disconnection、、、Andcalculating and obtaining the center point of the end tool 200 of the robot 100 by using a preferred algorithmCoordinate point of intersection point with laser of cross laser sensor 300。
The invention provides an automatic TCP calibration method based on a cross laser sensor, which uses the cross laser sensor 300 to replace manual teaching point alignment operation, realizes automatic point alignment calibration, reduces errors caused by manual operation and point alignment time of manual operation, improves the calibration precision, can perform quick TCP deviation correction operation on a tail end tool 200 of a robot 100 under the condition that the position of the robot 100 and the position of the cross laser sensor 300 are unchanged, reduces the downtime, recovers production line production with the minimum downtime, greatly reduces the calibration time and cost, and improves the TCP calibration precision.
Specifically, in step S1, five different initial poses of the end tool 200 of the robot 100 are first selected, and the five initial poses are manually taught respectively, so that the robot can move along a planned trajectory (the conventional teaching operation is TCP four-point calibration teaching, and the present invention only needs to teach the initial poses and how to move along a circular trajectory). One initial gesture is selected from the five initial gestures and moves in the cross laser sensor 300 according to the taught track, and specifically, the end tool 200 in the gesture is controlled to enter the cross laser sensor 300 (the plane of the cross laser sensor 300 is parallel to the XOY plane of the robot 100, and the XOY plane is horizontally arranged), and moves for one circle along the previously planned circular track.
S2, the end tool 200 passes through the cross laser four times in sequence in the moving process, the on-off of the laser occurs when the laser passes through each time, the cross laser sensor 300 records signal pulses at the moment of each laser on-off and communicates the signal pulses to the demonstrator 500, and the demonstrator 500 can mark the center of the end flange 600 through the received signal pulses every time when the laser passes through the center of the end flange 600The demonstrator 500 stores the point coordinates at the moment of switching on and off, and the point coordinates are used for calculating the point coordinates of the center of the end flange 600 when the end tool 200 of the robot 100 passes through the intersection point of the laser in the cross laser sensor 300。
Here, as shown in fig. 3, the end tool 200 performs a first circular trajectory movement in the cross laser sensor 300 in an initial posture under the control of the teach pendant 500, and at this time, the center point coordinate of the end flange 600 is a point P as shown in fig. 3 1 The position coordinates P of the center point of the end flange 600 at the same height (i.e., the position coordinates P of the center point of the end flange 600 making a circular track) can be calculated by the position coordinates of the four groups of laser on-off moments obtained in step S2 1 The height in the vertical direction is kept uniform) such that the center point of the end flange 600 when the end tool 200 passes through the center intersection of the cross laser sensor 300 in the initial posture (i.e., the laser intersection) is located at the coordinate of the center pointI.e., the center point coordinates of the end flange 600 shown in fig. 4(the point location coordinate of the center of the end flange 600 when the end tool with the same initial posture passes through the intersection point of the laser in fig. 4 can be calculated by the point location coordinate at the moment of laser on-off recorded in fig. 3), as can be seen from fig. 4, the point location coordinate is solved at this timeThe center point coordinates of the end flange 600 after the end tool 200 passes through the intersection point of the centers of the intersecting laser sensors 300.
Step S3, controlling the terminal tool 200 to vertically move downwards for a preset distance, and moving for one circle at the same initial posture and the same track as those in the step S2 to obtain point location coordinates of the centers of the eight corresponding terminal flanges 600 at each laser on-off instant, and aligning the point location coordinates with the point location coordinates by the demonstrator 500The point location of the laser instant on-off coordinate is stored and used for calculating the central point location coordinate of the tail end flange 600 of the robot 100。
It should be noted that, after the end tool 200 in step S2 moves downward for a certain distance, it makes the same circular track motion in the initial posture, and by recording the point coordinates of the four sets of corresponding laser on-off instants, it is possible to calculate the center point coordinates of the end flange 600 when the end tool 200 passes through the center intersection point (i.e., the laser intersection point) of the cross laser sensor 300 in the initial posture at the same height (which is the height at which the end tool is located after dropping a preset distance) and at the same height(Here, the coordinates of the center point of the end flange 600 are calculated in step S2The principle and the method are consistent and redundant description is omitted).
Step S4, as shown in fig. 6, the point coordinates of the centers of the two end flanges 600 of the robot 100 can be calculated and obtained by recording the stored point coordinates at the moment of laser on-offAndin combination with a vector direction Z (the vector direction Z beingAndin the direction of the interconnection, i.e.TowardsDirection of movement, as shown in fig. 5) of the unit vectorCan be at a pointFind a point P above (point P needs to be satisfied at point P)A certain distance above and capable of ensuring that the tip point of the end tool 200 is also above the cross laser sensor 300, i.e., at point P, the entire end tool 200 is above the cross laser sensor 300), the end flange 600 of the robot 100 is controlled to move to point P in a selected initial posture, and the end flange 600 moves to point P along the vector direction Z from point PRecording the signal pulse at the moment when the laser is blocked and disconnected during the movement of the end tool 200, communicating the signal pulse to the demonstrator 500, and recording the point location coordinate at the moment when the laser is disconnected asMeanwhile, the demonstrator can also record the posture of the center of the end flange at the moment of laser disconnection。Is the coordinate of the location of the center point of the end flange 600 when the point of the end tool 200 coincides with the intersection point of the centers of the intersecting laser sensors 300,when the sharp point of the end tool 200 coincides with the center intersection point of the cross laser sensor 300In the attitude of the center of the end flange 600, when the tip of the end tool 200 contacts the center intersection of the laser intersection sensor, the tip of the end tool 200 blocks the irradiation of both sets of lasers at the same time.
In the prior art, a cross laser sensor is adopted to perform self calibration on a terminal tool, and a dichotomy approach point alignment method as in patent document CN114012784A is often adopted, the method needs to move the terminal tool for multiple times to approach the cross laser sensor, the terminal tool needs to be moved for multiple times during calibration, and meanwhile, a large number of on-off times of cross laser sensor signals can occur, so that the storage amount of point coordinates of a demonstrator is greatly increased, the coordinate storage space of the demonstrator is wasted, and meanwhile, a large amount of point alignment time is needed because the terminal tool needs to be moved for multiple times to approach a central intersection point of the cross laser sensor, so that the point alignment efficiency is not high, and the calibration efficiency is reduced. The invention only needs to calculateAndunit vector on a lineAnd a far point P far from the intersection point of the laser centers is selected on the unit vector, and then the end flange 600 is moved from the point P to the pointThe point alignment operation can be completed, and compared with the point alignment method of the traditional cross laser sensor 300, the method has the advantages of higher point alignment efficiency and higher calibration efficiency.
Step S5, as shown in fig. 7, controlling the robot 100 to return to the initial posture before entering the cross laser sensor 300, sequentially switching to the remaining four initial postures, and repeating the steps S2 to S4 every time switching to a new initial posture, so as to obtain the point location coordinate of the center of the end flange 600 at the moment of laser disconnection,,,And the attitude of the center of the end flange 600 at the moment of laser disconnection,,,。
Step S6, combining the point coordinates of the centers of the five end flanges 600 obtained in steps S4 to S5 at the moment of laser disconnection and the postures of the centers of the five end flanges 600 at the moment of laser disconnection, and calculating the end tool center point of the end tool 200 of the robot 100 by using a preferred algorithm(Is a coordinate position relative to the center of the end flange 600, is expressed in terms of the center of the end flange 600 as a base coordinate, representing the positional relationship between the center of the end flange 600 and the end tool 200) and the laser intersection point coordinate of the intersection laser sensor 300(A position point of the cross laser sensor 300 with respect to the center coordinates of the robot 100, which is expressed by the center of the robot 100 as a base coordinate representing a positional relationship between the cross laser sensor 300 and the center of the robot 100), and moves the tip point of the tip tool 200 of the robot 100 to a coordinate point by controlling the teach pendant 500The automatic calibration can be completed, manual teaching is used only when the initial posture and the planning track are selected initially in the whole process, and compared with the manual point alignment teaching in the traditional four-point calibration or six-point calibration, the automatic calibration method is free of manual point alignment calibration, greatly reduces human errors, and can greatly improve the calibration precision of the tail end tool 200 of the robot 100.
Further, the track in step S2 is a circular track, the movement along the planned track is a circle along the circular track, four groups of point location coordinates at the moment of laser on-off occur during the process that the end tool 200 moves a circle along the circular track, point location coordinates at the moment of laser on-off are obtained, and the point location coordinates at the center of the end flange when the end tool 200 of the robot 100 passes through the laser intersection point in the cross laser sensor 300 are obtained by calculating the obtained point location coordinates at the moment of laser on-off;
To be further described, in the step S3, four groups of point location coordinates at the instant of laser on-off may appear in the process that the end tool 200 moves for one circle along the circular track, and point location coordinates at the instant of laser on-off may be obtained, and the point location coordinates of the center of the end flange when the end tool 200 of the robot 100 passes through the intersection point of the lasers in the cross laser sensor 300 may be obtained through calculation of the obtained point location coordinates at the instant of laser on-off。
As shown in fig. 3-4, the coordinates of the center point of the end flange 600 of the robot 100 at two different positionsAndthe solution is that the end tool 200 is inserted into the cross laser sensor 300 and moves for one circle along the circular track to respectively obtain the point location coordinates of the center of the end flange 600 at the moment when four groups of lasers are turned on and off (the first circle of track obtains the point locations of the coordinates of four groups of laser on and off signals, namely the point location coordinates of the center of the end flange 600 at the moment when eight lasers are turned on and off, and the same second circle of track after moving downwards can also obtain the point location coordinates of the center of the end flange 600 at the moment when four groups of lasers are turned on and off, namely the point location coordinates of the center of the end flange 600 at the moment when eight lasers are turned on and off), and the sixteen coordinate points can be used for respectively calculating the point location coordinatesAndthe specific point location coordinates are specifically calculated as follows:
and calculating the obtained point position coordinates at the sixteen laser on-off moments to obtain eight groups of intermediate point position coordinates at the laser on-off moments (each circle of track has four groups of intermediate coordinates):
wherein the content of the first and second substances,x, y axis coordinates representing the center of the end flange 600 of the robot 100 recorded by the end tool 200 of the robot 100 at each laser turn-on and turn-off.
To is thatThe coordinates of the middle point positions of the four groups of laser on-off moments of the first circle of track on the x axis,toThe coordinates of the middle point positions of the four groups of laser on-off moments of the first circle of track on the y axis,to is thatThe coordinates of the middle point position of the four groups of laser on-off moments of the second circle of track on the x axis,toAnd the coordinates of the middle point positions of the four groups of laser on-off moments of the first circle of track on the y axis.
From the coordinates of the eight intermediate points obtained above, the coordinates of the intersection of the laser light and the position vector of the end tool 200 of the robot 100 at the intersection coordinates can be obtained.
Four intermediate points are obtained for each circular track, and two intersecting straight lines are calculated through the four intermediate points ,(taking the first circle of circular track as an example here), the intersection point of the straight line is the intersection point of two groups of lasers crossing the laser sensor 300, and the calculation flow of the straight line equation is as follows:
wherein, the first and the second end of the pipe are connected with each other,andthe coefficients of x in the two straight lines are respectively,andare respectively in two straight linesThe coefficient of (a) is determined,andare constants in the two straight lines respectively,is composed of、、Andthe relation therebetween.
The coordinates of the center point of the end flange 600 of the robot 100 which moves along the planned circular track for the first time can be calculated by the two straight lines:
Similarly, the coordinates of the center point of the end flange 600 of the robot 100 moving along the planned circular trajectory for the second time after moving downward for a certain distance can be calculated:
four intermediate points can be obtained in the second circular track, and two intersecting straight lines are calculated through the four intermediate points ,(taking the second circle of circular track as an example here), the intersection point of the straight lines is the intersection point of two groups of lasers of the cross laser sensor 300, and the calculation flow of the straight line equation is as follows:
wherein the content of the first and second substances,andthe coefficients of x in the two straight lines are respectively,andare respectively in two straight linesThe coefficient of (a) is determined,andare constants in the two straight lines respectively,is composed of、、Andthe relation between them.
The coordinates of the center point of the end flange 600 of the robot 100 which moves along the planned circular track for the first time can be calculated by the two straight lines:
To be more specific, the coordinates of the center points of the two end flanges 600 of the robot 100 are used in step S4、Unit vector of sum vector direction ZCan calculate the distanceThe coordinate point P of (a).
In calculatingAndafter the specific point location coordinates are combined with the unit vectorCan calculate the distanceIs in the following relation:
stated further, the preferred algorithm is a five-point preferred algorithm.
The optimization algorithm of the invention is to perform binomial grouping on the point location coordinates of five laser disconnection moments on the basis of automatically teaching the point location coordinates of five laser disconnection momentsDividing into five calibration groups, calculating the error of point coefficient for each groupSelecting outRemoving a point position coordinate at the moment of laser disconnection with large deviation from the minimum group of four points, and carrying out final TCP calibration; therefore, the precision and the stability of TCP calibration are improved.
Firstly, grouping is carried out according to the point position coordinates of five laser disconnection moments collected and recorded in the steps S4 and S5, and the point position coordinates are grouped according to a binomial expressionThe point location coordinates at the moment of five laser disconnection are divided into five groups, and each group needs to solve a maximum point location error coefficient。
Coefficient of point to point errorThe solution method of (2) is to carry out binomial again on the combination of every four point positions in one groupGrouping into four subgroups, and calculating to obtain four point values,,And:
、、andrespectively shows the coordinates of the central point of the end flange at the point position、、Andthe attitude of the center of the end flange 600 with respect to the base coordinates of the robot 100, and the point coordinates at the moment when the laser of the center of the end flange is cut off are marked by the demonstrator、、、Andthe demonstrator can simultaneously obtain the corresponding postures、、、And。
wherein,,Andis represented by,,Andis determined by the generalized inverse matrix of (a),,,andeach representing the content of the above formula in parentheses.
According to the obtained four point values, solving norm (two norms) values of every two point pairs in sequence:
6 point-to-point error coefficients can be obtainedAnd taking the maximum one of the point-to-point error coefficients as the final value of the point-to-point error coefficients of each group of four points.
In conclusion, five sets of corresponding five point-to-point error coefficient final values can be obtained, an error coefficient threshold value is set, if the point-to-point error coefficient final values are all smaller than the error coefficient threshold value, five points are selected together to carry out TCP calibration (the calibration mode is the same as that of the optimal calibration set, at this time, all the point positions of the five sets need to be subjected to equation set construction, and the corresponding generalized inverse matrix is correspondingly expanded); if only part of the final values of the point error coefficients are smaller than the error coefficient threshold value, selecting the group with the minimum final value of the point error coefficients as an optimal calibration group; and if the minimum final value of the point aligning error coefficient is larger than or equal to the error coefficient threshold value, the point aligning operation is carried out again.
Assuming that the selected optimal calibration set has the point location of,,Andand constructing an equation set by selecting four optimal calibration points:
in the formula (I), the compound is shown in the specification,representing the attitude of the center of the end flange 600 with respect to the base coordinates of the robot 100,indicating the location of the center of the end flange 600 relative to the base coordinates of the robot 100; can be obtained by transformation:
WhereinRepresentIs determined by the generalized inverse matrix of (a),the content of the above formula in parentheses is represented,is the laser intersection point coordinate.
Solve outThen, the TCP coordinates of the end-of-line tool 200 are calibrated according to the above formula:
Recording according to the calibrated resultAnd,is the coordinate position of the end tool 200 of the robot 100,is the laser intersection position of the cross laser sensor 300.
As shown in fig. 2, an automatic TCP deviation rectification method based on cross laser sensor includes the following steps:
a1: after the collision of the end tool 200 occurs, manually teaching the end tool 200, so that the end tool 200 with the offset central point is initially perpendicular to the XOY plane of the robot 100 (the laser cross sensor is parallel to the XOY plane of the robot 100, and the angle of the end tool 200 is adjusted through manual teaching so as to be initially perpendicular to the XOY plane of the robot 100 or the cross laser sensor 300, which is the initial perpendicular because the mutual perpendicular of the end tool 200 and the XOY plane of the robot 100 is judged by eyes in the manual teaching process, so that a certain error exists, and the true perpendicular state can be realized only by teaching to an approximately perpendicular degree and subsequent correction of the posture of the end tool 200), defining the posture of the manually taught end tool 200 as a fixed posture, and moving the end tool 200 to the position above the cross laser sensor 300 in the fixed posture;
a2: controlling the end tool 200 after the deviation to enter the cross laser sensor 300 at the fixed posture in the step A1 for posture deviation rectifying operation;
a3: and C, controlling the tail end tool 200 subjected to posture correction in the step A2 to enter the cross laser sensor 300 again for position correction, and finishing the correction operation of the tail end tool 200.
After the end tool 200 of the robot 100 performs a task for a period of time, the end tool 200 may be worn or deformed by impact, so that the tool center point may be shifted, and in order to save efficiency, the center point of the end tool 200 of the new robot 100 may be calibrated again by the fast correction method of the present invention. Thereby achieving the purposes of reducing the production line downtime and improving the production line efficiency.
Specifically, the deviation rectifying method of the present invention mainly includes two steps, firstly, on the basis of the fixed posture being adjusted (the process is adjusted by manual teaching and has a certain deviation), the end tool 200 enters the cross laser sensor 300 to perform posture rectifying operation, the initial fixed posture is replaced by the rectified posture (that is, the angle of the end tool 200 of the robot 100 is adjusted to be perpendicular to the cross laser sensor 300 to eliminate the deviation existing in manual teaching), and then the rectified posture enters the cross laser sensor 300 to perform position rectifying processing, so as to find the required deviation rectifying calibration point position.
To be further explained, the step A2 further includes the following steps:
a21, after the end tool 200 enters the cross laser sensor 300 in a fixed posture, the end tool moves for one circle along a planned circular track (the circular track is consistent with the circular track mentioned in calibration and moves along the planned circular track through manual teaching in advance), the cross laser sensor 300 records signal pulses at each laser on-off moment, the recorded signal pulses are communicated to the demonstrator 500 through the control cabinet 400, the demonstrator 500 records and marks point position coordinates of the center of the end flange 600 at each laser on-off moment according to the received signal pulses, and the point position coordinates of the center of the end flange 600 when the end tool 200 passes through a laser intersection point in the cross laser sensor 300 are calculated through the recorded point position coordinates at the laser on-off moment;
And A22, after the end tool 200 is controlled to move downwards in a fixed posture for a preset distance, repeating the operation in the step A21, and calculating the coordinate of the central point of the end flange 600 when the end tool 200 of the robot 100 passes through the intersection point of the lasers in the cross laser sensor 300 according to the recorded point coordinates of the laser on-off momentIs set byMove toIs a vector direction;
A23: according to the coordinates of the center point of the end flange 600、And direction of vectorUnit vector of (2)The deviation angle of the end tool 200 of the robot 100 can be calculatedAndthereby finishing the posture rectification operation.
The above-mentioned procedures of steps A21-A22 are similar to those of steps S2-S3, and are not described in detail here, and step A23 is implemented byObtained by、And direction of vectorUnit vector ofThe deviation angle of the end tool 200 of the robot 100 can be calculatedAndthe calculation is as follows:
in the formula (I), the compound is shown in the specification,representing unit vectorsThe vector in the direction of the X-axis,representing a unit vectorThe vector in the direction of the Y-axis,representing unit vectorsVector in the Z-axis direction.
To be further described, the step A3 further includes the following steps:
a31: controlling the tail end tool 200 of the robot 100 to enter the cross laser sensor 300 again in the corrected posture, repeating the operation method of the steps A21-A22, and respectively calculating the central point position coordinates of the tail end flanges 600 of the two robots 100 by recording the point position coordinates at the moment of laser on-offAndis set byMove toIs a vector direction;
A32: in the vector directionGet away from by upper calculationCoordinate point of (2)To be pointed outReturns to the teach pendant 500, and the teach pendant 500 controls the end flange 600 to move to a pointAnd controls the end flange 600 to take the corrected attitude from the pointStarting along the vector directionMove to point at uniform speedThe cross laser sensor 300 records a signal pulse at the moment when the tip of the end tool 200 causes the laser to be blocked and disconnected during the movement of the end flange 600, and communicates the recorded signal pulse to the teach pendant 500 through the control cabinet 400, and the teach pendant 500 records and marks a point position coordinate of the center of the end flange 600 at the moment when the laser is disconnected according to the received signal pulse at the momentAnd recording the attitude of the center of the end flange at the moment of laser interruption;
A33: according to the point location coordinate at the moment of laser disconnectionCoordinate point of intersection point of laser light with intersecting laser sensor 300The center point of the end tool 200 of the robot 100 is calculatedAnd finishing the position deviation rectifying operation.
Since the position of the cross laser sensor 300 is not changed, the coordinates of the laser intersection point can be followed by the points calculated during calibrationThus through steps A31-A32The point location coordinate at the moment of laser disconnection(i.e., the coordinates of the point of the center of the end flange just as it blocked the laser) and the attitude at the moment of laser interruptionAnd combining the laser intersection point coordinates calculated during the prior calibrationThe calibrated point of the tail end tool 200 after deviation correction can be obtainedAnd then the teaching device 500 moves the tip of the end tool 200 to the calibration point to complete the deviation correction operation.
Specifically, the calculation formula is as follows:
inv means that the operation result before the instruction is inverted,indicating that the central point of the end flange is positioned at the point coordinateThe attitude of the center of the end flange 600 with respect to the base coordinates of the robot 100.
Although the present invention has been described in connection with the above embodiments, the scope of the present invention is not limited thereto, and modifications, substitutions and the like of the above members are intended to fall within the scope of the claims of the present invention without departing from the spirit of the present invention.
Claims (6)
1. An automatic TCP calibration method based on a cross laser sensor is characterized by comprising the following steps:
s1: moving a tail end tool of the robot to the position above the cross laser sensor, randomly selecting five initial postures of the tail end tool, manually teaching the five selected initial postures, planning tracks of the five selected initial postures, selecting one initial posture of the five initial postures, and controlling the tail end tool to move along the planned track after entering the cross laser sensor in the selected initial posture;
s2: the cross laser sensor records signal pulses at each moment of laser on-off, the recorded signal pulses are communicated to the demonstrator through the control cabinet, the demonstrator records and marks point location coordinates of the center of the end flange at each moment of laser on-off according to the received signal pulses, and point location coordinates of the center of the end flange when the end tool of the robot passes through a laser intersection point in the cross laser sensor are calculated through the recorded point location coordinates at each moment of laser on-off;
S3: after the terminal tool is controlled to move downwards for a preset distance, the terminal tool moves with the same initial posture and the same track as those in the step S2, the cross laser sensor records signal pulses at each moment of laser on-off, the recorded signal pulses are communicated to the demonstrator through the control cabinet, the demonstrator records and marks point location coordinates of the center of the terminal flange at each moment of laser on-off according to the received signal pulses, and the point location coordinates of the center of the terminal flange when the terminal tool of the robot passes through a laser intersection point in the cross laser sensor are calculated through the recorded point location coordinates of the laser on-off momentFrom the central point of the end flange of the robotMove toIs set as vector direction Z;
s4: calculating the distance in the vector direction ZReturning the coordinate of the point P to the demonstrator, controlling the end flange to move to the point P in the selected initial posture by the demonstrator, and starting to move at a constant speed to the point P along the vector direction Z from the point PThe cross laser sensor records the sharp point of the tail end tool in the movement process of the tail end flange, so that the laser is blocked to cut off the instantaneous signal pulse, the recorded signal pulse is communicated to the demonstrator through the control cabinet, and the demonstrator records and marks the point position coordinate of the center of the tail end flange at the moment of laser cutting off according to the received signal pulseAnd recording the attitude of the center of the end flange at the moment of laser interruption;
S5: controlling the robot to return to the initial posture before entering the cross laser sensor, respectively switching the remaining four initial postures to enter the cross laser sensor to move along the planned track, and repeating the steps S2-S4 for each initial posture to respectively obtain the point position coordinate of the center of the end flange at the moment of laser disconnection,,,Attitude of center of end flange at moment of laser disconnection,,,;
S6: the point position coordinates of the laser disconnection instant obtained in the steps S4 and S5、、、Andinstantaneous attitude of laser disconnection,,,Andcalculating and obtaining the central point of the end tool of the robot by adopting an optimal algorithmCoordinate point of intersection point of laser and cross laser sensor。
2. The automatic TCP calibration method based on the cross laser sensor as claimed in claim 1, wherein: s2, the track is a circular track, the movement along the planned track is a circle along the circular track, four groups of point location coordinates at the moment of switching on and off the lasers appear in the process that the tail end tool moves along the circular track for a circle, point location coordinates at the moment of switching on and off the lasers are obtained, and the center point location coordinates of the tail end flange when the tail end tool of the robot passes through the intersection point of the lasers in the cross laser sensor are obtained through calculation of the obtained point location coordinates at the moment of switching on and off the lasers。
3. The automatic TCP calibration method based on the cross laser sensor as claimed in claim 2, characterized in that: in the step S3, four groups of instantaneous point location coordinates of laser on-off can appear in the process that the tail end tool moves for one circle along the circular track, and eight instantaneous point location coordinates of laser on-off can be obtainedMarking, and calculating the coordinate of the center point of the end flange when the end tool of the robot passes through the intersection point of the lasers in the cross laser sensor according to the obtained point coordinates at the moment of switching on and off the eight lasers。
5. The automatic TCP calibration method based on the cross laser sensor as claimed in claim 1, wherein: the preferred algorithm is a five-point preferred algorithm.
6. An automatic TCP deviation rectifying method based on a cross laser sensor is characterized by comprising the following steps:
a1: after the collision of the tail end tool occurs, manually teaching the tail end tool, enabling the tail end tool with the offset central point to be initially vertical to an XOY plane of the robot, defining the posture of the tail end tool after manual teaching as a fixed posture, and moving the tail end tool to the position above the cross laser sensor in the fixed posture;
a2: controlling the offset tail end tool to enter the cross laser sensor for posture correction operation at the fixed posture in the step A1;
a3: controlling the tail end tool subjected to posture correction in the step A2 to enter the cross laser sensor again for position correction processing, and finishing the correction operation of the tail end tool;
wherein, step A2 includes the following steps:
a21, after the end tool enters the cross laser sensor in a fixed posture, the cross laser sensor moves for one circle along a planned circular track, the cross laser sensor records signal pulses at each laser on-off moment, the recorded signal pulses are communicated to the demonstrator through the control cabinet, the demonstrator records and marks point position coordinates of the center of the end flange at each laser on-off moment according to the received signal pulses, and the point position coordinates of the center of the end flange when the end tool of the robot passes through a laser intersection point in the cross laser sensor are calculated through the recorded point position coordinates of the laser on-off moment;
A22, after the tail end tool is controlled to move downwards for a preset distance in a fixed posture, the operation of the step A21 is repeated, and the point location coordinate of the center point of the tail end flange when the tail end tool of the robot passes through the intersection point of the lasers in the cross laser sensor is calculated according to the recorded point location coordinate at the moment when the lasers are switched on and offIs set byMove toIs a vector direction;
A23: according to the position of the end flange、And the vector directionUnit vector ofCapable of calculating deviation angle of end tool of robotAndthereby finishing the posture correction operation;
wherein, step A3 includes the following steps:
a31: controlling the tail end tool of the robot to enter the cross laser sensor again in the corrected posture, repeating the operation method of the steps A21-A22, and respectively calculating the coordinates of the center point of the two tail end flanges by recording the point coordinates at the moment of laser on-offAndis set byMove toIs a vector direction;
A32: in the vector direction Z , Get far away from upper calculationCoordinate point of (2)To be pointed outThe coordinate position of the terminal flange is returned to the demonstrator, and the demonstrator controls the terminal flange to move to a pointAnd controlling the tail end flange to move from the point with the corrected postureStarting along the vector directionMove to point at uniform speedThe cross laser sensor records the sharp point of the tail end tool in the movement process of the tail end flange, so that the laser is blocked to disconnect the instantaneous signal pulse, the recorded signal pulse is communicated to the demonstrator through the control cabinet, and the demonstrator records and marks the point position coordinate of the center of the tail end flange at the moment of laser disconnection according to the received signal pulseAnd recording the attitude of the center of the end flange at the moment of laser interruption;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210962682.9A CN115026843B (en) | 2022-08-11 | 2022-08-11 | Automatic TCP calibration and deviation correction method based on cross laser sensor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210962682.9A CN115026843B (en) | 2022-08-11 | 2022-08-11 | Automatic TCP calibration and deviation correction method based on cross laser sensor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115026843A CN115026843A (en) | 2022-09-09 |
CN115026843B true CN115026843B (en) | 2022-12-13 |
Family
ID=83129894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210962682.9A Active CN115026843B (en) | 2022-08-11 | 2022-08-11 | Automatic TCP calibration and deviation correction method based on cross laser sensor |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115026843B (en) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10230772A1 (en) * | 2002-01-15 | 2003-07-31 | Thomas Pagel | Measuring device and method for measuring a working point of tools for industrial robots |
WO2014042668A2 (en) * | 2012-06-11 | 2014-03-20 | Trompeter Matthew E | Automatic and manual robot work finder calibration systems and methods |
CN106595485A (en) * | 2017-01-17 | 2017-04-26 | 北京航空航天大学 | CoKriging-based absolute positioning error estimation method of mechanical arm |
CN108759792B (en) * | 2018-08-24 | 2023-08-25 | 张洋 | Unmanned aerial vehicle attitude and flying height measuring method based on cross laser |
CN109571479B (en) * | 2018-12-20 | 2021-10-08 | 东莞固高自动化技术有限公司 | Method for detecting off-line programming track of industrial robot |
CN209304612U (en) * | 2018-12-29 | 2019-08-27 | 南京工程学院 | A kind of experimental provision of the TCP error-detecting for industrial robot |
CN211414086U (en) * | 2019-12-12 | 2020-09-04 | 一汽-大众汽车有限公司 | Offset calibration tool for laser welding equipment |
CN111805548A (en) * | 2020-07-22 | 2020-10-23 | 江苏亚威创科源激光装备有限公司 | TCP error calibration method of industrial robot |
CN112198218A (en) * | 2020-10-30 | 2021-01-08 | 安图实验仪器(郑州)有限公司 | Full-automatic sample adding system and mechanical arm position calibration device and method thereof |
-
2022
- 2022-08-11 CN CN202210962682.9A patent/CN115026843B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN115026843A (en) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108481323B (en) | Augmented reality-based robot motion trajectory automatic programming system and method | |
Baeten et al. | Hybrid vision/force control at corners in planar robotic-contour following | |
CN112847353B (en) | Multi-segment welding seam track correction method based on offline programming software | |
CN104827479A (en) | Pipeline insertion intersecting line track planning method orientated to laser machining robot | |
US20050246062A1 (en) | Method for controlling a machine, particularly an industrial robot | |
CN112833792B (en) | Precision calibration and verification method for six-degree-of-freedom mechanical arm | |
WO2010060459A1 (en) | A method and an apparatus for calibration of an industrial robot system | |
CN103085072A (en) | Method for achieving industrial robot off-line programming based on three-dimensional modeling software | |
JP2006048244A (en) | Working program generating device | |
WO2015165062A1 (en) | Method for calibrating tool centre point for industrial robot system | |
CN110682289B (en) | Automatic calibration method for curved surface workpiece coordinate system based on industrial robot | |
CN105487481A (en) | RObot Teaching Device For Teaching Robot Offline | |
CN111267073A (en) | Industrial robot teaching system and method based on augmented reality technology | |
CN103512511A (en) | Large face automatic measurement method based on laser tracker | |
CN111515928B (en) | Mechanical arm motion control system | |
CN112958974A (en) | Interactive automatic welding system based on three-dimensional vision | |
CN115026843B (en) | Automatic TCP calibration and deviation correction method based on cross laser sensor | |
JP5505155B2 (en) | Robot system and robot control method | |
US11878420B2 (en) | High-precision mobile robot management and scheduling system | |
CN211278404U (en) | Hand eye calibration device of mechanical arm | |
CN110456729B (en) | Trajectory tracking control method and trajectory tracking system | |
Veryha et al. | Application of joint error mutual compensation for robot end-effector pose accuracy improvement | |
JPH09212229A (en) | Teaching device for robot | |
Shen | Research on virtual simulation design of ABB robot welding operation based on Robotstudio | |
Dong et al. | A novel algorithm combined with single mapping workspace and Genetic Algorithm for solving inverse kinematic problem of redundant manipulators |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |