CN117584114A - Control method and robot system - Google Patents
Control method and robot system Download PDFInfo
- Publication number
- CN117584114A CN117584114A CN202311028258.8A CN202311028258A CN117584114A CN 117584114 A CN117584114 A CN 117584114A CN 202311028258 A CN202311028258 A CN 202311028258A CN 117584114 A CN117584114 A CN 117584114A
- Authority
- CN
- China
- Prior art keywords
- control
- correction
- actual
- robot
- correction amount
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000012937 correction Methods 0.000 claims abstract description 225
- 230000009466 transformation Effects 0.000 claims description 35
- 238000006243 chemical reaction Methods 0.000 claims description 27
- 230000007423 decrease Effects 0.000 claims description 10
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 54
- 101000610557 Homo sapiens U4/U6 small nuclear ribonucleoprotein Prp31 Proteins 0.000 description 17
- 101001109965 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L7-A Proteins 0.000 description 17
- 101001109960 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L7-B Proteins 0.000 description 17
- 102100040118 U4/U6 small nuclear ribonucleoprotein Prp31 Human genes 0.000 description 17
- 101000726148 Homo sapiens Protein crumbs homolog 1 Proteins 0.000 description 16
- 102100027331 Protein crumbs homolog 1 Human genes 0.000 description 16
- 101000825534 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 40S ribosomal protein S2 Proteins 0.000 description 16
- 101001105683 Homo sapiens Pre-mRNA-processing-splicing factor 8 Proteins 0.000 description 15
- 102100021231 Pre-mRNA-processing-splicing factor 8 Human genes 0.000 description 15
- 101000862778 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 40S ribosomal protein S3 Proteins 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 101000772173 Homo sapiens Tubby-related protein 1 Proteins 0.000 description 12
- 101000677914 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 40S ribosomal protein S5 Proteins 0.000 description 12
- 101000679735 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L16-A Proteins 0.000 description 12
- 102100029293 Tubby-related protein 1 Human genes 0.000 description 12
- 101000643078 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 40S ribosomal protein S9-A Proteins 0.000 description 10
- 101000729607 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 40S ribosomal protein S9-B Proteins 0.000 description 10
- 102100027518 1,25-dihydroxyvitamin D(3) 24-hydroxylase, mitochondrial Human genes 0.000 description 8
- 101000849787 Brucella melitensis biotype 1 (strain 16M / ATCC 23456 / NCTC 10094) Ribosome-recycling factor Proteins 0.000 description 8
- 102100031476 Cytochrome P450 1A1 Human genes 0.000 description 8
- 101000861278 Homo sapiens 1,25-dihydroxyvitamin D(3) 24-hydroxylase, mitochondrial Proteins 0.000 description 8
- 101000941690 Homo sapiens Cytochrome P450 1A1 Proteins 0.000 description 8
- 101000732916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L9-A Proteins 0.000 description 8
- 101000732903 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L9-B Proteins 0.000 description 8
- 102100026533 Cytochrome P450 1A2 Human genes 0.000 description 7
- 101000855342 Homo sapiens Cytochrome P450 1A2 Proteins 0.000 description 7
- 101000741271 Sorghum bicolor Phosphoenolpyruvate carboxylase 1 Proteins 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 6
- 101710201952 Photosystem II 22 kDa protein, chloroplastic Proteins 0.000 description 5
- 102100021941 Sorcin Human genes 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 239000012636 effector Substances 0.000 description 5
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 4
- 101000721946 Homo sapiens Oral-facial-digital syndrome 1 protein Proteins 0.000 description 4
- 101000679737 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L16-B Proteins 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- -1 CP14 Proteins 0.000 description 1
- 102100025410 Oral-facial-digital syndrome 1 protein Human genes 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 108010044762 nucleolin Proteins 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
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/1602—Programme controls characterised by the control system, structure, architecture
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
The invention provides a control method with high position accuracy and a robot system. The control method is a control method for determining a control position relative to a target position of a robot, and includes: a first actual reference position acquisition step of acquiring first actual reference positions defining three or more points of a first correction region in an actual space, a second actual reference position acquisition step of acquiring second actual reference positions defining three or more points of a second correction region adjacent to an outside of the first correction region in the actual space, a first correction amount acquisition step of acquiring first correction amounts of the target positions in the first correction region, a second correction amount acquisition step of acquiring second correction amounts of the target positions in the second correction region, and a control position determination step of determining the control position based on the first correction amounts or the second correction amounts, the second correction amounts gradually decreasing toward an outer edge of the second correction region.
Description
Technical Field
The present invention relates to a control method and a robot system.
Background
For example, the robot system described in patent document 1 is configured to set a plurality of work origins in a robot work environment, acquire measurement positions for the plurality of work origins based on a captured image of a camera, and correct position information of each work origin based on the measurement positions, thereby improving the operation accuracy of the robot.
Japanese patent application laid-open No. 2018-134695
However, in the robot system of patent document 1, when the robot operates beyond the correction coordinate range surrounded by the plurality of work origins, there is a case where the robot does not operate continuously because the presence/absence of correction is switched instantaneously when the robot crosses the correction coordinate range.
Disclosure of Invention
The control method of the present invention is a control method for determining a control position relative to a target position of a robot, comprising:
a first actual reference position acquisition step of acquiring a first actual reference position of three or more points defining a first correction region in an actual space,
A second actual reference position acquisition step of acquiring a second actual reference position in the actual space of three or more points defining a second correction region adjacent to the outside of the first correction region,
A first correction amount acquisition step of acquiring a first correction amount of the target position in the first correction region,
A second correction amount acquisition step of acquiring a second correction amount of the target position in the second correction area, and
a control position determining step of determining the control position based on the first correction amount or the second correction amount,
the second correction amount gradually decreases toward an outer edge of the second correction region.
The robot system of the present invention is a robot system including a robot, a control device for controlling driving of the robot, the control device specifying a control position with respect to a target position of the robot,
the control device is provided with a control unit,
a first actual reference position specifying three or more points of the first correction region in the actual space is acquired,
acquiring second actual reference positions defining three or more points of a second correction area adjacent to the outside of the first correction area in the actual space,
a first correction amount of the target position in the first correction region is acquired,
acquiring a second correction amount of the target position in the second correction area,
determining the control position based on the first correction amount or the second correction amount,
the second correction amount gradually decreases toward an outer edge of the second correction region.
Drawings
Fig. 1 is a configuration diagram of a robot system according to a preferred embodiment.
Fig. 2 is a diagram showing a method of using the stand.
Fig. 3 is a diagram showing a modification of the stand.
Fig. 4 is a block diagram of the control device.
Fig. 5 is a diagram showing an error in position control of the robot.
Fig. 6 is a flowchart showing a control method.
Fig. 7 is a diagram showing a graph for controlling position determination.
Fig. 8 is a diagram showing a graph for controlling position determination.
Fig. 9 is a diagram showing a graph for controlling position determination.
Description of the reference numerals
1 robot system, 2 robot, 21 base station, 22 robot arm, 221 arm, 222 arm, 223 arm, 224 arm, 225 arm, 226 arm, 23 end effector, 3 control device, 31 processor, 310 control position determining section, 32 memory, 33 interface circuit, 34 input device, 35 display section, 5 base station, 51 positioning jig, 53 positioning jig, 531 substrate, 532 wall section, 54 positioning aid, CD control position correction data, CP1 first control reference position, CP11 first control reference position, CP12 first control reference position, CP13 first control reference position, CP14 first control reference position, CP2 second control reference position, CP21 second control reference position, CP22 second control reference position, CP23 second control reference position, CP24 second control reference position E0 correction region, E1 first correction region, E2 second correction region, E3 non-correction region, G pattern, G1 pattern, G2 pattern, G3 pattern, G4 pattern, G5 pattern, G6 pattern, G7 pattern, G8 pattern, G9 pattern, G10 pattern, J1 joint, J2 joint, J3 joint, J4 joint, J5 joint, J6 joint, L11 straight line, L12 straight line, L13 straight line, L14 straight line, L21 straight line, L22 straight line, L23 straight line, L24 straight line, MP action program, RP1 first actual reference position, RP11 first actual reference position, RP12 first actual reference position, RP13 first actual reference position, RP14 first actual reference position, RP2 second actual reference position, RP21 second actual reference position, RP22 second actual reference position, RP23 … second actual reference position, RP24 … second actual reference position, S1 … first actual reference position acquisition step, S2 … second actual reference position acquisition step, S3 … first correction amount acquisition step, S4 … second correction amount acquisition step, S5 … target position acquisition step, S6 … control position determination step, S7 … robot control step, TCP … control point.
Detailed Description
The control method and the robot system according to the present invention will be described in detail below based on the embodiments shown in the drawings.
Fig. 1 is a configuration diagram of a robot system according to a preferred embodiment. Fig. 2 is a diagram showing a method of using the stand. Fig. 3 is a diagram showing a modification of the stand. Fig. 4 is a block diagram of the control device.
Fig. 5 is a diagram showing an error in position control of the robot. Fig. 6 is a flowchart showing a control method.
Fig. 7 to 9 are diagrams each showing a pattern for controlling position determination.
The robot system 1 shown in fig. 1 includes: robot 2, control device 3 for controlling the driving of robot 2, and stand 5. In fig. 1, three axes, that is, an X axis, a Y axis, and a Z axis, of an orthogonal coordinate system defining a three-dimensional space are illustrated. The X-axis and the Y-axis are axes in the horizontal direction, and the Z-axis is an axis in the vertical direction. Hereinafter, this three-dimensional space is also referred to as "real space".
As shown in fig. 1, the robot 2 is a six-axis vertical multi-joint robot having six drive axes. The robot 2 includes: a base 21, a robot arm 22 rotatably coupled to the base 21, and an end effector 23 attached to the distal end of the robot arm 22. The robot arm 22 is a robot arm in which a plurality of arms 221, 222, 223, 224, 225, 226 are rotatably coupled, and includes six joints J1, J2, J3, J4, J5, J6. Of the six joints J1 to J6, joints J2, J3, and J5 are bending joints, and joints J1, J4, and J6 are torsion joints.
The joints J1, J2, J3, J4, J5, J6 are respectively provided with a motor and an encoder. The control device 3 performs servo control (feedback control) for matching the rotation angle of the joint shown by the output of the encoder with the control position for each joint J1 to J6 during the operation of the robot system 1. This makes it possible to set the robot 2 to a desired posture.
The end effector 23 may be appropriately selected according to the work to be performed by the robot 2. A control point TCP of the robot 2 is set at the tip end portion of the end effector 23. The position of the control point TCP may be arbitrarily set, but in order to determine the position of the control point TCP using a positioning jig 51 described later, it is preferable to set the control point TCP at the tip end portion of the end effector 23 as in the present embodiment.
The robot 2 is described above, but the configuration of the robot 2 is not particularly limited. For example, a SCARA robot (horizontal multi-joint robot), a double-arm robot having two robot arms 22 described above, or the like may be used. Further, the robot may be a self-propelled robot in which the base 21 is not fixed.
The mount 5 is used when acquiring a conversion function for reducing the positional displacement of the robot 2, and is not used for the robot work.
In the robot system 1, the control device 3 controls the driving of the robot 2 based on the target position, simply explaining the positional displacement of the robot 2. Specifically, the control device 3 calculates the position of the control point TCP based on the length of each arm 221 to 226, the origin of the rotation axis of each joint J1 to J6, the parallelism and orthogonality of each joint J1 to J6, and other mechanical parameters in design, and controls the driving of the robot 2 so that the control point TCP coincides with the target position.
However, there are cases where the actual mechanism parameters deviate from the designed mechanism parameters due to part variations, assembly variations, and the like. In this way, when the actual mechanism parameter is shifted, the calculated position of the control point TCP is shifted from the actual position of the control point TCP, and therefore even if the control point TCP is brought into agreement with the target position in control, the control point TCP is actually shifted from the target position. Hereinafter, this offset is also referred to as "error in position control".
Therefore, in the robot system 1, as described above, the first and second conversion functions A1 and A2 for reducing the error of the position control are acquired, and the mount 5 is a prop used for the acquisition of the first and second conversion functions A1 and A2. As shown in fig. 1, the stand 5 has four positioning jigs 51. Each positioning jig 51 is a jig used for positioning the control point TCP. The number of the positioning jigs 51 is not particularly limited as long as it is three or more.
Further, a first actual reference position RP1 is set at the tip of the positioning jig 51. The three-dimensional position of the first actual reference position RP1 in the actual space is measured in advance. Then, as shown in fig. 2, by bringing the control point TCP of the robot 2 into contact with the first actual reference position RP1, the control position in the robot control coordinate system at this time can be acquired as the first control reference position CP1 corresponding to the first actual reference position RP1.
The positioning jig is not particularly limited, and for example, the positioning jig 53 shown in fig. 3 may be used. The positioning jig 53 includes a flat plate-shaped substrate 531 and an L-shaped wall portion 532 provided on the substrate 531. The wall portion 532 is bent at a right angle, and a first actual reference position RP1 is set at a point where the bent portion of the wall portion 532 contacts the surface of the substrate 531. On the other hand, a positioning aid 54 is connected to the distal end of the robot arm 22. The positioning aid 54 has a rectangular parallelepiped shape, and a control point TCP is set at the top of the bottom surface thereof.
By bringing the control point TCP into contact with the first actual reference position RP1 of the positioning jig 53, the control position of the robot control coordinate system at this time can be acquired as the first control reference position CP1 corresponding to the first actual reference position RP1.
The first actual reference position and the first control reference position of the robot control coordinate system may be obtained by using a three-dimensional measuring device instead of the positioning jigs 51 and 53. In this case, first, the control point TCP of the robot 2 is positioned using the first control reference position CP1 of the robot control coordinate system, and in this state, the three-dimensional position in the real space of the control point TCP is measured as the first real reference position RP1 by the three-dimensional position measuring instrument.
The control device 3 controls the driving of the robot 2. As shown in fig. 4, the control device 3 is constituted by, for example, a computer, and includes: a processor 31, a memory 32, an interface circuit 33, an input device 34 connected to the interface circuit 33, and a display 35.
The processor 31 functions as a control position determining unit 310 that determines a control position of the robot 2. The function of controlling the position determining section 310 is realized by the processor 31 executing a computer program stored in the memory 32. However, a hardware circuit may be used to realize a part or all of the functions of the control position determining unit 310.
The memory 32 stores control position correction data CD and an operation program MP. The control position correction data CD includes a pattern G, first and second conversion functions A1 and A2, which will be described later. The operation program MP is composed of a plurality of operation commands for operating the robot 2.
Next, the error in the position control of the robot 2 will be described with reference to fig. 5. The left side of fig. 5 shows the control position in the robot control coordinate system, and the right side shows the error of the position control in the real space. The "robot control coordinate system" is a coordinate system expressing the position and posture of the robot 2 used in an operation command for controlling the robot 2.
In the example of fig. 5, assuming a state in which control positions are set at intervals of 30mm in the X-direction and the Y-direction in the robot control coordinate system, an arrow drawn in real space shows an error in position control. That is, the start point of the arrow is the target position, and the front side of the arrow is the control point TCP including the error. However, for convenience of illustration, the length of the arrow is drawn with the error amount being 200 times. In order to reduce the error in such position control, the control device 3 controls the driving of the robot 2 as follows.
As shown in fig. 6, the control method of the robot 2 includes: a first actual reference position acquisition step S1, a second actual reference position acquisition step S2, a first correction amount acquisition step S3, a second correction amount acquisition step S4, a target position acquisition step S5, a control position determination step S6, and a robot control step S7. These steps S1 to S7 will be described in order below.
A first actual reference position acquisition step S1
In the first actual reference position acquisition step S1, the control position determining unit 310 acquires the first actual reference positions RP1 of three or more points in the actual space. As described above, in the present embodiment, the stand 5 has four positioning jigs 51, and the first actual reference position RP1 is set at the tip end thereof. Therefore, as shown in fig. 7, the control position determining section 310 acquires four first actual reference positions RP11, RP12, RP13, RP14.
The area surrounded by the four first actual reference positions RP11, RP12, RP13, RP14 is a first correction area E1 in which correction of the target position is performed. The first correction region E1 is formed as a quadrangle formed by a straight line L11 connecting the first actual reference positions RP11, RP12, a straight line L12 connecting the first actual reference positions RP12, RP14, a straight line L13 connecting the first actual reference positions RP14, RP13, and a straight line L14 connecting the first actual reference positions RP13, RP11.
A non-correction region E3 is disposed outside the first correction region E1, in which the target position is not corrected, that is, the target position is equal to the control position.
Further, the number of first actual reference positions RP1 may be selected by the operator using the input device 34, for example. In general, since the error in position control can be reduced as the number of the first actual reference positions RP1 increases, the number of the first actual reference positions RP1 can be selected, and thus, setting in consideration of the accuracy of the calculation and the like can be performed. Therefore, the robot system 1 is highly convenient.
In the above, the first actual reference position obtaining step S1 is described, and the number of the first actual reference positions RP1 is not particularly limited as long as it is three or more, for example. Further, the shape of the first correction region E1 is not particularly limited.
Second actual reference position acquiring step S2
In the second actual reference position acquisition step S2, the control position determining section 310 acquires the second actual reference positions RP2 of three or more points located outside the first correction region E1 in the actual space. In the present embodiment, as shown in fig. 7, the control position determining unit 310 acquires four second actual reference positions RP21, RP22, RP23, RP24. The area surrounded by the four second actual reference positions RP21, RP22, RP23, RP24 is located between the first correction area E1 and the non-correction area E3, and is a second correction area E2 in which the correction amount of the target position is gradually reduced from the first correction area E1 to the non-correction area E3. Further, at the outer edge of the second correction region E2, the correction amount of the target position is zero, that is, the target position is equal to the control position. Hereinafter, the region in which the first correction region E1 and the second correction region E2 are combined is also referred to as a correction region E0.
The second correction area E2 is formed as a quadrangle formed by a straight line L21 connecting the second actual reference positions RP21, RP22, a straight line L22 connecting the second actual reference positions RP22, RP24, a straight line L23 connecting the second actual reference positions RP24, RP23, and a straight line L24 connecting the second actual reference positions RP23, RP 21. The second correction region E2 is adjacent to the outside of the first correction region E1, and includes the entire region of the first correction region E1 inside thereof.
In this way, in the robot system 1, between the first correction region E1 in which the correction of the target position is performed and the non-correction region E3 in which the correction of the target position is not performed, the second correction region E2 in which the correction amount of the target position gradually decreases from the first correction region E1 to the non-correction region E3 is arranged. As a result, the robot 2 is operated continuously and smoothly even when it crosses the boundary between the correction region E0 and the non-correction region E3. Therefore, the robot system 1 having excellent operability is obtained. In particular, since the correction amount of the outer edge of the second correction area E2 is zero, the above-described effect is more remarkable.
Further, the number of second actual reference positions RP2 may be selected by the operator using the input device 34, for example. The second actual reference position RP2 may be automatically set so as to surround the first reference position RP1.
In the above, the second actual reference position obtaining step S2 is described, and the number of the second actual reference positions RP2 is not particularly limited as long as it is three or more, for example. Further, the shape of the second correction region E2 is not particularly limited.
A first correction amount acquisition step S3
In the first correction amount acquisition step S3, a first correction amount of the target position in the first correction region E1 is acquired.
The control position determining unit 310 first acquires a first control reference position CP1, which is a position of the control point TCP in the robot control coordinate system when the control point TCP is located at the first actual reference position RP1. Specifically, first, the control position determining unit 310 positions the control point TCP at the first actual reference position RP11. Next, the control position determining unit 310 acquires the first control reference position CP11, which is the position of the control point TCP in the robot control coordinate system when the control point TCP is located at the first actual reference position RP11. The control position determining unit 310 performs the same operation also for the other first actual reference positions RP12, RP13, RP14, and acquires the first control reference positions CP12, CP13, CP14, respectively. As described above, the control position determining unit 310 acquires the four first control reference positions CP11 to P14.
Next, as shown in fig. 7, the control position determining unit 310 sets, in the first correction area E1, a graph G of a triangle having the first actual reference position RP1 as a vertex in the actual space. As described above, since the four first actual reference positions RP1 are acquired in the first actual reference position acquisition step S1, the first correction area E1 is divided into two patterns G1, G2. As the segmentation method, for example, any segmentation method such as Delaunay triangle segmentation may be used.
Next, as shown in fig. 8, the control position determining unit 310 obtains a first conversion function A1 indicating a correspondence relation between the actual position and the control position in each of the graphics G1, G2. The first transformation function A1 is a function showing the correction amount of the target position within the first correction region E1. In this way, by showing the correction amount of the target position with the first conversion function A1, calculation of the control position corresponding to the target position becomes easy.
The first transformation function A1 in the graph G1 is obtained based on the differences between the first actual reference positions RP11, RP12, RP13, which are the vertices of the graph G1, and the first control reference positions CP11, CP12, CP13 corresponding to the first actual reference positions RP11, RP12, RP 13. The first transformation function A1 in the graph G2 is obtained based on the differences between the first actual reference positions RP12, RP13, RP14, which are the vertices of the graph G2, and the first control reference positions CP12, CP13, CP14 corresponding to the first actual reference positions RP12, RP13, RP14. The first conversion function A1 corresponding to each of the graphs G1 and G2 can be expressed by, for example, the following equations (1) to (4).
[ math 1 ]
PctrlA1·Preal·(1)
In the equation (1), pctrl is a control position in the robot control coordinate system, and Preal is an actual position in the actual space. Further, xctrl is an X-coordinate of a control position in the robot control coordinate system, and Yctrl is a Y-coordinate of a control position in the robot control coordinate system. In addition, xreal is an X coordinate of an actual position in the actual space, and Yreal is a Y coordinate of an actual position in the actual space. Further, A1 is a first transformation function showing a correction amount of the target position in the first correction region E1, and is a transformation formula showing affine transformation. A11, a12, a21, a22, b1, and b2 are coefficients, respectively, and are different in accordance with graphs G1 and G2.
By using such a first conversion function A1, the target position is substituted into Preal, and the control position Pctrl corresponding to the target position can be obtained. Therefore, the actual position Preal can be simply converted into the control position Pctrl.
The shape of the graph G may not be a triangle, and the transformation function may not be affine transformation. For example, the graph G may be a quadrangle, and the transformation function may be a projective transformation. The conversion function may be changed for each of the graphics G by dividing the graphics G into a state in which a plurality of types of polygons are mixed. The pattern G may be a stereoscopic pattern. The transformation function may be configured as a transformation formula or may be configured in other forms such as a lookup table.
Second correction amount acquisition step S4
In the second correction amount acquisition step S4, a second correction amount of the target position in the second correction area E2 is acquired.
First, the control position determining unit 310 sets the second control reference positions CP21 to CP24, which are positions of the control point TCP in the robot control coordinate system when the control point TCP is located at each of the second actual reference positions RP21 to RP24. The second control reference position CP21 corresponding to the second actual reference position RP21 is set equal to the second actual reference position RP 21. That is, the second actual reference position rp21=the second control reference position CP21. Similarly, the second control reference position CP22 corresponding to the second actual reference position RP22 is set equal to the second actual reference position RP 22. Further, the second control reference position CP23 corresponding to the second actual reference position RP23 is set equal to the second actual reference position RP 23. Further, the second control reference position CP24 corresponding to the second actual reference position RP24 is set equal to the second actual reference position RP24. That is, in each of the second actual reference positions RP2, the actual position is the same as the control position. By setting the second control reference positions CP21 to CP24 in this way, the second correction amount at the outer edge of the second correction area E2 can be made zero.
Next, as shown in fig. 7, the control position determining unit 310 sets a triangle pattern G having the first and second actual reference positions RP1 and RP2 as vertices in the actual space in the second correction area E2. As described above, since four first actual reference positions RP1 are acquired in the first actual reference position acquisition step S1 and four second actual reference positions RP2 are acquired in the second actual reference position acquisition step S2, the second correction area E2 is divided into eight patterns G3, G4, G5, G6, G7, G8, G9, G10. As the segmentation method, for example, any segmentation method such as Delaunay triangle segmentation may be used.
Next, as shown in fig. 8, the control position determining unit 310 obtains a second conversion function A2 indicating a correspondence relationship between the actual position and the control position in each of the graphs G3 to G10. The second transformation function A2 is a function showing the correction amount of the target position within the second correction area E2. In this way, by showing the correction amount of the target position with the second conversion function A2, calculation of the control position corresponding to the target position becomes easy.
Then, the second transformation function A2 in the graph G3 is obtained based on the difference between the first and second actual reference positions RP11, RP21, RP22, which are the vertices of the graph G3, and the first and second control reference positions CP11, CP21, CP22 corresponding to the first and second actual reference positions RP11, RP21, RP 22. The second transformation function A2 in the graph G4 is obtained based on the difference between the first and second actual reference positions RP11, RP12, RP22, which are the vertices of the graph G4, and the first and second control reference positions CP11, CP12, CP22 corresponding to the first and second actual reference positions RP11, RP12, RP 22. The second transformation function A2 in the graph G5 is obtained based on the difference between the first and second actual reference positions RP12, RP22, RP24, which are the vertices of the graph G5, and the first and second control reference positions CP12, CP22, CP24 corresponding to the first and second actual reference positions RP12, RP22, RP24. The second transformation function A2 in the graph G7 is obtained based on the difference between the first and second actual reference positions RP12, RP14, RP24, which are the vertices of the graph G6, and the first and second control reference positions CP12, CP14, CP24 corresponding to the first and second actual reference positions RP12, RP14, RP24.
The second transformation function A2 in the graph G7 is obtained based on the difference between the first and second actual reference positions RP13, RP14, RP24, which are the vertices of the graph G7, and the first and second control reference positions CP13, CP14, CP24 corresponding to the first and second actual reference positions RP13, RP14, RP24. The second transformation function A2 in the graph G8 is obtained based on the difference between the first and second actual reference positions RP13, RP23, RP24, which are the vertices of the graph G8, and the first and second control reference positions CP13, CP23, CP24 corresponding to the first and second actual reference positions RP13, RP23, RP24. The second transformation function A2 in the graph G9 is obtained based on the difference between the first and second actual reference positions RP11, RP13, RP23, which are the vertices of the graph G9, and the first and second control reference positions CP11, CP13, CP23 corresponding to the first and second actual reference positions RP11, RP13, RP 23. The second transformation function A2 in the graph G10 is obtained based on the difference between the first and second actual reference positions RP11, RP21, RP23, which are the vertices of the graph G10, and the first and second control reference positions CP11, CP21, C23 corresponding to the first and second actual reference positions RP11, RP21, RP 23.
The second conversion function A2 corresponding to each of the graphs G3 to G10 can be expressed by, for example, the following equations (5) to (8).
[ formula 2 ]
Pctrl=A2·Preal……(5)
In equation (5), pctrl is a control position in the robot control coordinate system, and Preal is an actual position in the actual space. Further, xctrl is an X-coordinate of a control position in the robot control coordinate system, and Yctrl is a Y-coordinate of a control position in the robot control coordinate system. In addition, xreal is an X coordinate of an actual position in the actual space, and Yreal is a Y coordinate of an actual position in the actual space. Further, A2 is a second transformation function showing a correction amount of the target position in the second correction region E2, and is a transformation formula representing affine transformation. A11, a12, a21, a22, b1, and b2 are coefficients, respectively, and are different in accordance with graphs G3 to G10.
By using such a second conversion function A2, the target position is substituted into Preal, and the control position Pctrl corresponding to the target position can be obtained. Therefore, the actual position Preal can be simply converted into the control position Pctrl.
Fig. 9 shows correction amounts of target positions in the respective graphs G1 to G10. In the figure, the darker the color, the larger the correction amount, the lighter the color, and the smaller the correction amount. As can be seen from the figure, in the second correction region E2, the correction amount from the first correction region E1 to the target position of the non-correction region E3 gradually decreases. As a result, the robot 2 is operated continuously and smoothly even when it crosses the boundary between the correction region E0 and the non-correction region E3. In particular, since the actual position and the control position are set equal in the second actual reference position RP2, the correction amount of the target position can be made zero at the outer edge of the second correction region E2. Therefore, the robot 2 is a continuous and smooth operation even when crossing the boundary between the correction area E0 and the non-correction area E3. Therefore, the robot system 1 having excellent operability is obtained.
The shape of the graph G may not be a triangle, and the transformation function may not be affine transformation. For example, the graph G may be a quadrangle, and the transformation function may be a projective transformation. The conversion function may be changed for each of the graphics G by dividing the graphics G into a state in which a plurality of types of polygons are mixed. The pattern G may be a stereoscopic pattern. The transformation function may be configured as a transformation formula or may be configured in other forms such as a lookup table.
The first actual reference position acquisition step S1 to the second correction amount acquisition step S4 described above become preparation steps for reducing errors in position control during robot work. The first conversion function A1 and the second conversion function A2 obtained in the preparation step are stored in the control position correction data CD, respectively.
The order of the first actual reference position acquisition step S1 to the second correction amount acquisition step S4 is not particularly limited if the first and second transformation functions A1, A2 can be acquired. For example, the first actual reference position acquisition step S1, the first correction amount acquisition step S3, the second actual reference position acquisition step S2, and the second correction amount acquisition step S4 may be performed in this order, the first actual reference position acquisition step S1 and the second actual reference position acquisition step S2 may be performed in the same step, or the first correction amount acquisition step S3 and the second correction amount acquisition step S4 may be performed in the same step.
Target position acquisition step S5
In the target position acquisition step S5, the control position determination unit 310 receives an input of the target position of the control point TCP. The target position of the control point TCP is a three-dimensional position of a point within the actual space where the control point TCP is intended to be moved. For example, an operator may input a target position of the control point TCP using the input device 34. When the operator generates the operation program MP and the target position of the control point TCP is described in the operation instruction, the control position determining unit 310 may execute this step by acquiring the target position included in the operation instruction of the operation program MP.
Control position determination step S6
In the control position determining step S6, the control position determining unit 310 determines the control position with respect to the target position based on the first correction amount (first conversion function A1) when the target position is within the first correction area E1, and determines the control position with respect to the target position based on the second correction amount (second conversion function A2) when the target position is within the second correction area E2. In this way, by correcting the target position by the correction amount corresponding to the region in which the target position is located, the control position can be calculated with high accuracy. Therefore, an error in position control can be reduced.
Specifically, the control position determining unit 310 first selects a target pattern including the target position from the patterns G1 to G10 shown in fig. 7. Next, the control position determining unit 310 calculates a control position with respect to the target position using a correction amount (conversion function) corresponding to the selected target pattern.
That is, if the target pattern is either one of the patterns G1, G2, the control position is calculated using the first transformation function A1 corresponding to the target pattern. In this case, for example, by using the above-described formulas (1) to (4), the coordinate value of the target position is input to Preal, and Pctrl can be calculated as the control position with respect to the target position.
If the target pattern is any one of the patterns G3 to G10, the control position is calculated using the second transformation function A2 corresponding to the target pattern. In this case, for example, by using the above-described formulas (5) to (8), the coordinate value of the target position is input to Preal, and Pctrl can be calculated as the control position with respect to the target position.
When the target position is located outside the correction area E0, that is, the non-correction area E3, the control position determining unit 310 sets the control position to be equal to the target position.
Next, the control position determining unit 310 generates an operation command using the control position calculated by the above-described method. When the operation program MP including the operation command is generated in advance, the processing can be executed by replacing the target position included in the operation command with the control position specified as described above.
Robot control step S7
In the robot control step S7, the control position determining unit 310 controls the driving of the robot 2 using the operation program MP including the generated operation command. This can improve the accuracy of the position control of the robot 2. Further, in the correction region E0, the correction amount from the outer edge of the first correction region E1 to the outer edge of the second correction region E2 gradually decreases, and the correction amount at the outer edge of the second correction region E2 decreases, so that the robot 2 also moves continuously and smoothly when crossing the boundary between the correction region E0 and the non-correction region E3.
The robot system 1 is described above. As described above, the control method applied to the robot system 1 is a control method for correcting the target position of the robot 2 and determining the control position with respect to the target position, and includes: a first actual reference position acquisition step S1 of acquiring a first actual reference position RP1 that specifies three or more points of the first correction region E1 in the actual space, a second actual reference position acquisition step S2 of acquiring a second actual reference position RP2 that specifies three or more points of the second correction region E2 adjacent to the outside of the first correction region E1 in the actual space, a first correction amount acquisition step S3 of acquiring a first correction amount of a target position in the first correction region E1, a second correction amount acquisition step S4 of acquiring a second correction amount of a target position in the second correction region E2, and a control position determination step S6 of determining a control position based on the first correction amount or the second correction amount. Further, the second correction amount gradually decreases toward the outer edge of the second correction region E2. According to such a control method, the robot 2 is also operated continuously and smoothly when crossing the boundary between the correction region E0 and the non-correction region E3. Therefore, the robot system 1 having excellent operability is obtained.
Further, as described above, in the control position determining step S6, the control position is determined based on the first correction amount in the case where the target position is located within the first correction area E1, and the control position is determined based on the second correction amount in the case where the target position is located within the second correction area E2. In this way, by correcting the target position by the correction amount corresponding to the region in which the target position is located, the control position can be calculated with high accuracy. Therefore, an error in position control can be reduced.
Further, as described above, the first correction amount acquisition step S3 includes: a step of acquiring a first control reference position CP1, which is a position of the control point TCP in the robot control coordinate system when the control point TCP of the robot 2 is located at the first actual reference position RP1, a step of obtaining a first conversion function A1 indicating a correspondence relation between the actual position and the control position in the first correction area E1 based on the first actual reference position RP1 and the first control reference position CP1, and a control position determining step S6 of calculating the control position using the first conversion function A1 when the target position is located in the first correction area E1. In this way, by calculating the control position using the first conversion function A1, the calculation of the control position corresponding to the target position becomes easy.
Further, as described above, the second correction amount in the outer edge of the second correction area E2 is zero (0). That is, in each of the second actual reference positions RP2, the actual position is equal to the control position. As a result, the robot 2 moves continuously and smoothly even when it crosses the boundary between the correction region E0 and the non-correction region E3.
Further, as described above, the second correction amount acquisition step S4 includes: the control position determining step S6 includes a step of setting the second control reference position CP2 corresponding to each second actual reference position RP2 to a value equal to the second actual reference position RP2, and a step of obtaining a second conversion function A2 indicating a correspondence relation between the actual position in the second correction area E2 and the control position based on the second actual reference position RP2 and the second control reference position CP2, and in the case where the target position is located in the second correction area E2, the control position is calculated using the second conversion function A2. In this way, by calculating the control position using the second conversion function A2, the calculation of the control position corresponding to the target position becomes easy.
As described above, the robot system 1 includes the robot 2 and the control device 3 that controls the driving of the robot 2, and the control device 3 determines the control position with respect to the target position of the robot 2, and the control device 3 acquires the first actual reference position RP1 defining three or more points of the first correction region E1 in the actual space, acquires the second actual reference position RP2 defining three or more points of the second correction region E2 adjacent to the outside of the first correction region E1 in the actual space, acquires the first correction amount of the target position in the first correction region E1, acquires the second correction amount of the target position in the second correction region E2, and determines the control position based on the first correction amount or the second correction amount. Further, the second correction amount gradually decreases toward the outer edge of the second correction region E2. According to such a system, the robot 2 is also configured to continue a smooth operation when crossing the boundary between the correction area E0 and the non-correction area E3. Therefore, the robot system 1 having excellent operability is obtained.
The control method and the robot system according to the present invention have been described above based on the illustrated embodiments, but the present invention is not limited to these. The constitution of each part may be replaced with an arbitrary constitution having the same function. In the present invention, any other structure may be added.
Claims (6)
1. A control method, characterized in that,
a control method for determining a control position relative to a target position of a robot, comprising:
a first actual reference position acquisition step of acquiring a first actual reference position of three or more points defining a first correction region in an actual space,
A second actual reference position acquisition step of acquiring a second actual reference position in the actual space of three or more points defining a second correction region adjacent to the outside of the first correction region,
A first correction amount acquisition step of acquiring a first correction amount of the target position in the first correction region,
A second correction amount acquisition step of acquiring a second correction amount of the target position in the second correction area, and
a control position determining step of determining the control position based on the first correction amount or the second correction amount,
the second correction amount gradually decreases toward an outer edge of the second correction region.
2. The control method according to claim 1, wherein,
in the control position determining step,
in the case where the target position is located within the first correction region, the control position is determined based on the first correction amount,
the control position is determined based on the second correction amount in a case where the target position is located within the second correction area.
3. The control method according to claim 1, wherein,
the first correction amount acquisition step includes:
a step of acquiring a first control reference position, which is a position of a control point in a robot control coordinate system when the control point of the robot is located at the first actual reference position, and
a step of obtaining a first conversion function indicating a correspondence relationship between an actual position in the first correction region and a control position based on the first actual reference position and the first control reference position,
in the control position determining step, the control position is calculated using the first transformation function in a case where the target position is located within the first correction region.
4. The control method according to claim 1, wherein,
the second correction amount in the outer edge of the second correction region is zero.
5. The control method according to claim 4, wherein,
the second correction amount acquisition step includes:
a step of setting a second control reference position corresponding to each of the second actual reference positions to a value equal to the second actual reference position, and
a step of obtaining a second conversion function indicating a correspondence relationship between an actual position in the second correction area and a control position based on the second actual reference position and the second control reference position,
in the control position determining step, the control position is calculated using the second transformation function in a case where the target position is located within the second correction region.
6. A robot system, characterized in that,
is a robot system having a robot and a control device for controlling driving of the robot, wherein the control device determines a control position relative to a target position of the robot,
the control device is provided with a control unit,
a first actual reference position specifying three or more points of the first correction region in the actual space is acquired,
acquiring second actual reference positions defining three or more points of a second correction area adjacent to the outside of the first correction area in the actual space,
a first correction amount of the target position in the first correction region is acquired,
acquiring a second correction amount of the target position in the second correction area,
determining the control position based on the first correction amount or the second correction amount,
the second correction amount gradually decreases toward an outer edge of the second correction region.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022129928A JP2024027267A (en) | 2022-08-17 | 2022-08-17 | Control method and robot system |
JP2022-129928 | 2022-08-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117584114A true CN117584114A (en) | 2024-02-23 |
Family
ID=89918935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311028258.8A Pending CN117584114A (en) | 2022-08-17 | 2023-08-15 | Control method and robot system |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2024027267A (en) |
CN (1) | CN117584114A (en) |
-
2022
- 2022-08-17 JP JP2022129928A patent/JP2024027267A/en active Pending
-
2023
- 2023-08-15 CN CN202311028258.8A patent/CN117584114A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2024027267A (en) | 2024-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111482959B (en) | Automatic hand-eye calibration system and method of robot motion vision system | |
CN111331592B (en) | Mechanical arm tool center point correcting device and method and mechanical arm system | |
KR102280663B1 (en) | Calibration method for robot using vision technology | |
EP1676679A2 (en) | Robot controller for correcting a target position of a robot hand by means of a visual sensor | |
CN111390901B (en) | Automatic calibration method and calibration device for mechanical arm | |
JP3644991B2 (en) | Coordinate system coupling method in robot-sensor system | |
WO2014161603A1 (en) | A robot system and method for calibration | |
US20070242073A1 (en) | Robot simulation apparatus | |
JPH08384B2 (en) | Tool tip point automatic setting method | |
US7957834B2 (en) | Method for calculating rotation center point and axis of rotation, method for generating program, method for moving manipulator and positioning device, and robotic system | |
JP6912529B2 (en) | How to correct the visual guidance robot arm | |
JP4345607B2 (en) | Rotation center calculation method and work positioning apparatus using this method | |
CN114670188B (en) | Method for determining control position of robot and robot system | |
CN117584114A (en) | Control method and robot system | |
JP2002018750A (en) | Method and device for calibration of robot | |
JP5634764B2 (en) | MOBILE BODY CONTROL SYSTEM, PROGRAM, AND MOBILE BODY CONTROL METHOD | |
King et al. | Vision guided robots for automated assembly | |
CN117584115A (en) | Control method and robot system | |
CN117621044A (en) | Control method and robot system | |
JP6628170B1 (en) | Measurement system and measurement method | |
JPH01106107A (en) | Controller for robot having visual sensation of finger | |
JP2021024075A (en) | Control device of robot device for controlling position of robot | |
KR100784734B1 (en) | Error compensation method for the elliptical trajectory of industrial robot | |
US20240066701A1 (en) | Simulation device using three-dimensional position information obtained from output from vision sensor | |
WO2023013739A1 (en) | Robot control device, robot control system, and robot control method |
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 |