Device for adjusting parameters, robotic system, method and computer program product
By using a position detection unit, a matching position acquisition unit, and a parameter adjustment unit, parameters are automatically optimized, solving the problem that non-professional operators have difficulty adjusting the comparison between workpiece features and workpiece models in visual sensor image data, thus achieving efficient and accurate workpiece positioning.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-11
- Publication Date
- 2026-04-14
AI Technical Summary
In the existing technology, adjusting the parameters used to compare workpiece features with workpiece models in visual sensor image data requires professional knowledge, and operators need to have high professional skills.
The automatic optimization of parameters is achieved by using the matching position of the workpiece model and workpiece features in the image data to adjust the parameters through the position detection unit, the matching position acquisition unit, and the parameter adjustment unit.
Even non-professional operators can adjust parameters by matching positions, which improves the efficiency and accuracy of parameter adjustment and achieves high-precision workpiece positioning.
Smart Images

Figure CN116472551B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to apparatus, robot systems, methods, and computer program products for adjusting parameters, wherein the parameters are used to compare workpiece features with a workpiece model in image data. Background Technology
[0002] There is a known technique for obtaining parameters for detecting the position of a workpiece in image data captured by a vision sensor (e.g., Patent Document 1).
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 2-210584 Summary of the Invention
[0006] The problem that the invention aims to solve
[0007] Sometimes, parameters are used to compare the workpiece features shown in the image data captured by a vision sensor with the workpiece model obtained by modeling the workpiece, thereby determining the position of the workpiece shown in the image data. Previously, adjusting such comparison parameters required operators with specialized knowledge.
[0008] Methods for solving problems
[0009] In one aspect of this disclosure, an apparatus includes: a position detection unit that models a workpiece to obtain a workpiece model from image data displaying workpiece features captured by a vision sensor, the position detection unit using parameters for comparing the workpiece model with the workpiece features to determine the position of the workpiece in the image data as a detection position; a matching position acquisition unit that acquires the position of the workpiece model in the image data when the workpiece model is configured to match the workpiece features as a matching position; and a parameter adjustment unit that adjusts parameters based on data representing the difference between the detection position and the matching position so that the position detection unit can determine the detection position as the position corresponding to the matching position.
[0010] In another aspect of this disclosure, a method in which a processor performs the following processing: modeling the workpiece in image data displaying workpiece features captured by a vision sensor to obtain a workpiece model; using parameters for comparing the workpiece model with the workpiece features, determining the position of the workpiece in the image data as a detection position; obtaining the position of the workpiece model in the image data when the workpiece model is configured to match the workpiece features as a matching position; and adjusting parameters based on data representing the difference between the detection position and the matching position so that the detection position can be determined as the position corresponding to the matching position.
[0011] Invention Effects
[0012] According to this disclosure, the matching position obtained when matching the workpiece model with workpiece features in image data is used to adjust the parameters. Therefore, even operators without expertise in parameter adjustment can obtain the matching position, thereby enabling parameter adjustment. Attached Figure Description
[0013] Figure 1 This is a schematic diagram of a robot system according to one embodiment.
[0014] Figure 2 yes Figure 1 The diagram shows a block diagram of the robot system.
[0015] Figure 3 This is a flowchart illustrating a parameter adjustment method for one implementation.
[0016] Figure 4 Indicates in Figure 3 An example of the image data generated in step S3.
[0017] Figure 5 express Figure 3 An example of the process in step S4.
[0018] Figure 6 Indicates in Figure 5 An example of the image data generated in step S11.
[0019] Figure 7 This indicates the state of matching between the workpiece model and workpiece features within the image data.
[0020] Figure 8 express Figure 3 An example of the process in step S5.
[0021] Figure 9 express Figure 3 Another example of the process in step S4.
[0022] Figure 10 Indicates in Figure 9 An example of the image data generated in step S11.
[0023] Figure 11 Indicates in Figure 9 Another example of the image data generated in step S11.
[0024] Figure 12 Indicates in Figure 9 An example of the image data generated in step S32.
[0025] Figure 13 Indicates in Figure 9 In step S11, the generated image data randomly displays the state of the workpiece model.
[0026] Figure 14 Indicates in Figure 9 In step S11, the generated image data displays the state of the workpiece model according to predetermined rules.
[0027] Figure 15 express Figure 3 Another example of the process in step S4.
[0028] Figure 16 Indicates in Figure 15 An example of the image data generated in step S42.
[0029] Figure 17 This illustrates an example of a process for acquiring image data using a visual sensor.
[0030] Figure 18 This is a flowchart illustrating parameter adjustment methods in other implementation methods. Detailed Implementation
[0031] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Furthermore, in the various embodiments described below, the same elements are labeled with the same symbols, and repeated descriptions are omitted. First, refer to... Figure 1 and Figure 2 The robot system 10 according to one embodiment will be described. The robot system 10 includes: a robot 12, a vision sensor 14, and a control device 16.
[0032] In this embodiment, robot 12 is a vertical joint robot, comprising: a robot base 18, a rotary body 20, a lower arm 22, an upper arm 24, a wrist 26, and an end effector 28. The robot base 18 is fixed to the ground of the work unit. The rotary body 20 is mounted on the robot base 18 in a manner that allows it to rotate about a vertical axis.
[0033] The lower arm portion 22 is rotatably mounted on the rotating body 20 about a horizontal axis, and the upper arm portion 24 is rotatably mounted on the front end of the lower arm portion 22. The wrist portion 26 has: a wrist base 26a, which is rotatably mounted on the front end of the upper arm portion 24; and a wrist flange 26b, which is rotatably mounted on the wrist base 26a about a wrist axis A1.
[0034] The end effector 28 can be detachably mounted on the wrist flange 26b to perform a specified operation on the workpiece W. In this embodiment, the end effector 28 is a robotic arm capable of holding the workpiece W, for example having multiple fingers or suction parts (negative pressure generating device, suction cup, electromagnet, etc.) that can be opened and closed.
[0035] Servo motors 29 are installed in each component of robot 12 (robot base 18, rotating body 20, lower arm 22, upper arm 24, wrist 26). Figure 2 These servo motors 29, according to instructions from the control unit 16, cause the movable elements of the robot 12 (rotor 20, lower arm 22, upper arm 24, wrist 26, wrist flange 26b) to rotate about the drive shaft. As a result, the robot 12 can move the end effector 28 to be configured in any position and posture.
[0036] The vision sensor 14 is fixed to the end effector 28 (or wrist flange 26b). For example, the vision sensor 14 is a 3D vision sensor having an image sensor (CMOS, CCD, etc.) and an optical lens (collimating lens, focusing lens, etc.) that guides the image of the subject to the image sensor, configured to capture the image of the subject along the optical axis A2 and measure the distance d to the image of the subject.
[0037] like Figure 1 As shown, a robot coordinate system C1 and a tool coordinate system C2 are set for the robot 12. The robot coordinate system C1 is a control coordinate system used to control the movements of the various movable elements of the robot 12. In this embodiment, the robot coordinate system C1 is fixed relative to the robot base 18 such that its origin is located at the center of the robot base 18, and its z-axis is parallel to the vertical direction.
[0038] On the other hand, the tool coordinate system C2 is a control coordinate system in the robot coordinate system C1 used to control the position of the end effector 28. In this embodiment, the tool coordinate system C2 is set relative to the end effector 28 such that its origin (so-called TCP) is configured at the working position (workpiece gripping position) of the end effector 28, and its z-axis is parallel (specifically, aligned) with the wrist axis A1.
[0039] When the end effector 28 is moved, the control device 16 sets the tool coordinate system C2 in the robot coordinate system C1 and generates commands for each servo motor 29 of the robot 12 to position the end effector 28 at the position represented by the set tool coordinate system C2. In this way, the control device 16 can position the end effector 28 at any position in the robot coordinate system C1. Furthermore, in this specification, "position" sometimes means both location and orientation.
[0040] On the other hand, a sensor coordinate system C3 is set for the vision sensor 14. The sensor coordinate system C3 defines the coordinates of each pixel in the image data (or imaging sensor) captured by the vision sensor 14. In this embodiment, the sensor coordinate system C3 is set relative to the vision sensor 14 such that its origin is located at the center of the imaging sensor, and its z-axis is parallel to (specifically, aligned with) the optical axis A2.
[0041] The positional relationship between the sensor coordinate system C3 and the tool coordinate system C2 is known through calibration. Therefore, the coordinates of the sensor coordinate system C3 and the tool coordinate system C2 can be transformed into each other using a known transformation matrix (e.g., a homogeneous transformation matrix). Furthermore, the positional relationship between the tool coordinate system C2 and the robot coordinate system C1 is known. Therefore, the coordinates of the sensor coordinate system C3 and the robot coordinate system C1 can be transformed into each other using the tool coordinate system C2.
[0042] The control device 16 controls the movements of the robot 12. Specifically, the control device 16 is a computer having a processor 30, a memory 32, and an I / O interface 34. The processor 30 is communicatively connected to the memory 32 and the I / O interface 34 via a bus 36, communicates with these components, and performs computational processing to implement the various functions described later.
[0043] The memory 32 has RAM or ROM, etc., to temporarily or permanently store various data. The I / O interface 34 has, for example, an Ethernet port, a USB port, a fiber optic connector, or an HDMI terminal, to communicate with external devices via wired or wireless means under instructions from the processor 30. The servo motors 29 and vision sensors 14 of the robot 12 are communicatively connected to the I / O interface 34.
[0044] In addition, the control device 16 is provided with a display device 38 and an input device 40. The display device 38 and the input device 40 are communicatively connected to the I / O interface 34. The display device 38 has a liquid crystal display or an organic EL display, etc., and can visually display various data under the instructions from the processor 30.
[0045] The input device 40 includes a keyboard, mouse, or touch panel, and accepts input data from the operator. Furthermore, the display device 38 and the input device 40 can be integrally assembled into the housing of the control device 16, or they can be separately mounted externally to the housing of the control device 16.
[0046] In this embodiment, the processor 30 causes the robot 12 to move and perform a workpiece handling operation by using the end effector 28 to grasp and pick up the workpiece W, which is loosely packed in the container B. In order to perform this workpiece handling operation, the processor 30 first uses the vision sensor 14 to take a picture of the workpiece W in the container B.
[0047] At this time, the image data ID1 captured by the vision sensor 14 contains information about the workpiece feature WP, which displays the visual feature points (edges, contours, surfaces, sides, corners, holes, protrusions, etc.) of each workpiece W captured, and the distance d from the vision sensor 14 (specifically, the origin of the sensor coordinate system C3) to the point on the workpiece W represented by each pixel of the workpiece feature WP.
[0048] Next, the processor 30 acquires a parameter PM for comparing the workpiece model WM obtained by modeling the workpiece W with the workpiece feature WP of the workpiece W captured by the vision sensor 14. The processor 30 then applies this parameter PM to a predetermined algorithm AL (software), comparing the workpiece model WM and the workpiece feature WP according to the algorithm AL, thereby acquiring data (specifically, coordinates) of the position (position and orientation) of the workpiece W displayed in the image data ID1 in the sensor coordinate system C3. Furthermore, the processor 30 transforms the acquired position in the sensor coordinate system C3 into the robot coordinate system C1, thereby acquiring the position data of the captured workpiece W in the robot coordinate system C1.
[0049] Here, in order to obtain the position of the workpiece W displayed in the image data ID1 with high accuracy, it is necessary to optimize the parameter PM. In this embodiment, the processor 30 uses the workpiece feature WP of the workpiece W captured by the vision sensor 14 to adjust the parameter PM to optimize it.
[0050] The following is for reference Figure 3 The method for adjusting parameter PM is explained. Figure 3 The process shown begins, for example, when the start control device 16 is activated. Furthermore, in Figure 3 The start time of the process, the above algorithm AL and the pre-prepared parameter PM1 are stored in memory 32.
[0051] In step S1, the processor 30 determines whether a parameter adjustment command has been accepted. For example, an operator manually inputs a parameter adjustment command through the input device 40. If the processor 30 accepts the parameter adjustment command from the input device 40 via the I / O interface 34, it determines that the command is accepted and proceeds to step S2. Conversely, if the processor 30 does not accept the parameter adjustment command, it determines that the command is not accepted and proceeds to step S6.
[0052] In step S2, the processor 30 captures an image of the workpiece W using the vision sensor 14. Specifically, the processor 30 causes the robot 12 to move, such as... Figure 1 As shown, the vision sensor 14 is positioned at the shooting position where at least one workpiece W is housed within the field of view of the vision sensor 14.
[0053] Next, the processor 30 sends an image capture command to the vision sensor 14, which captures images of the workpiece W according to the command to obtain image data ID1. As described above, image data ID1 contains information about the workpiece features WP of each captured workpiece W and the aforementioned distance d. The processor 30 obtains image data ID1 from the vision sensor 14. Each pixel of image data ID1 represents a coordinate in the sensor coordinate system C3.
[0054] In step S3, the processor 30 generates image data ID2 that displays the workpiece feature WP. Specifically, the processor 30 generates image data ID2 based on image data ID1 obtained from the vision sensor 14, which serves as a graphical user interface (GUI) that allows the operator to visually identify the workpiece feature WP. Figure 4 This shows an example of image data ID2.
[0055] exist Figure 4 In the example shown, the workpiece feature WP is displayed as a group of 3D points in image data ID2. Furthermore, a sensor coordinate system C3 is set in image data ID2, and each pixel of this image data ID2 is represented as a coordinate in sensor coordinate system C3, just like the image data ID1 captured by the vision sensor 14.
[0056] Furthermore, since the multiple points constituting the workpiece feature WP each possess the aforementioned distance d information, they can be represented as 3D coordinates (x, y, z) in the sensor coordinate system C3. That is, in this embodiment, the image data ID2 is 3D image data. Additionally, in Figure 4 For ease of understanding, an example is shown where a total of 3 workpiece features WP are displayed in image data ID2, but it should actually be understood that more workpiece features WP (i.e., workpiece W) can be displayed.
[0057] The processor 30 can generate image data ID2 that is different from image data ID1, so as to provide a GUI with superior visual recognition compared to image data ID1. For example, the processor 30 can generate image data ID2 by making the area other than the workpiece feature WP displayed in image data ID1 colorless, while coloring the workpiece feature WP (black, blue, red, etc.), thereby enabling the operator to easily identify the workpiece feature WP.
[0058] The processor 30 displays the generated image data ID2 on the display device 38. This allows the operator to visually identify it. Figure 4 Image data ID2 as shown. Thus, in this embodiment, the processor 30 serves as the image generation unit 52 that generates image data ID2 displaying the workpiece feature WP. Figure 2 To fulfill its function.
[0059] Furthermore, the processor 30 can also update the image data ID2 displayed on the display device 38 in a manner that changes the orientation of the workpiece W displayed in the observed image data ID2 according to the operator's operation on the input device 40 (e.g., as in 3D CAD data). In this case, the operator can visually identify the workpiece W displayed in the image data ID2 from the desired orientation by operating the input device 40.
[0060] Refer again Figure 3 In step S4, the processor 30 executes the process of obtaining the matching position. (See reference...) Figure 5 Step S4 will now be explained. In step S11, the processor 30 further displays the workpiece model WM in the image data ID2 generated in step S3 above. In this embodiment, the workpiece model WM is 3D CAD data.
[0061] Figure 6 This illustrates an example of image data ID2 generated through step S11. In step S11, the processor 30 configures the workpiece model WM in a virtual space defined by the sensor coordinate system C3, generating image data ID2 of the virtual space configured with the workpiece model WM along with the workpiece feature WP of the workpiece W. Additionally, the processor 30 sets a workpiece coordinate system C4 in the sensor coordinate system C3, together with the workpiece model WM. This workpiece coordinate system C4 is a coordinate system that defines the position (specifically, position and orientation) of the workpiece model WM.
[0062] In this embodiment, in step S11, the processor 30 uses the parameter PM1 stored in the memory 32 at the start time of step S11 to determine the position of the workpiece W in the image data ID2 as the detection position DP1. When determining the detection position DP1, the processor 30 applies the parameter PM1 to the algorithm AL, and according to the algorithm AL, compares the workpiece model WM with the workpiece feature WP displayed in the image data ID2.
[0063] More specifically, the processor 30, following the algorithm AL with parameter PM1 applied, gradually changes the position of the workpiece model WM by a specified displacement E in the virtual space defined by the sensor coordinate system C3, and retrieves the position of the workpiece model WM with feature points (edges, contours, faces, sides, corners, holes, protrusions, etc.) and the workpiece model WM whose feature points are consistent with the feature points of the workpiece feature WP corresponding to the feature points.
[0064] Furthermore, when a feature point of the workpiece model WM matches a feature point of the corresponding workpiece feature WP, the processor 30 detects the coordinates (x, y, z, W, P, R) in the workpiece coordinate system C4 and the sensor coordinate system C3 of the workpiece model WM as the detection position DP1. Here, the coordinates (x, y, z) represent the origin position of the workpiece coordinate system C4 in the sensor coordinate system C3, and the coordinates (W, P, R) represent the posture (roll, pitch, roll) of the workpiece coordinate system C4 relative to the sensor coordinate system C3.
[0065] The aforementioned parameter PM1 is used to compare the workpiece model WM with the workpiece feature WP. For example, it includes the displacement E mentioned above, the size SZ of the window that defines the range of the feature points to be compared in the image data ID2, the image roughness (or resolution) σ during comparison, and the data that determines which feature points of the workpiece model WM and the workpiece feature WP are compared (for example, the data determined by comparing the "outlines" of the workpiece model WM and the workpiece feature WP).
[0066] Thus, the processor 30 obtains the detection position DP1 (x, y, z, W, P, R) by comparing the workpiece model WM and the workpiece feature WP using the parameter PM1. Therefore, in this embodiment, the processor 30 serves as the position detection unit 54 that uses the parameter PM1 to determine the detection position DP1. Figure 2 To fulfill its function.
[0067] Next, the processor 30 functions as an image generation unit 52, displaying the workpiece model WM at the acquired detection position DP1 in the image data ID2. Specifically, the processor 30 displays the workpiece WM at a position represented by the workpiece coordinate system C4, which is configured with coordinates (x, y, z, W, P, R) of the sensor coordinate system C3 at the detection position DP1.
[0068] Thus, as Figure 6 As shown, in image data ID2, three workpiece models WM are displayed at the positions corresponding to the three workpiece features WP. Here, when parameter PM1 is not optimized, as... Figure 6 As shown, this may cause the obtained detection position DP1 (i.e., Figure 6 The position of the displayed workpiece model WM is offset from the workpiece feature WP.
[0069] Refer again Figure 5 In step S12, the processor 30 determines whether the input data IP1 (first input data) for displacing the workpiece model WM has been received in the image data ID2. Specifically, the operator visual identification is displayed on the display device 38. Figure 6 While displaying image data ID2, in order to move the workpiece model WM displayed in image data ID2 to a position consistent with the corresponding workpiece feature WP on the image, input data IP1 is input through operation input device 40.
[0070] When the processor 30 receives input data IP1 from the input device 40 via the I / O interface 34, it determines "yes" and proceeds to step S13. Conversely, when it does not receive input data IP1 from the input device 40, it determines "no" and proceeds to step S14. Thus, in this embodiment, the processor 30 functions as an input receiving unit 56 that receives input data IP1 for displacing the position of the workpiece model WM in the image data ID2. Figure 2 To fulfill its function.
[0071] In step S13, the processor 30 displaces the workpiece model WM displayed in image data ID2 according to the input data IP1. Specifically, the processor 30 functions as an image generation unit 52, updating image data ID2 so that the workpiece model WM is displaced within the virtual space defined by the sensor coordinate system C3 according to the input data IP1. Thus, the operator visually recognizes the image data ID2 displayed on the display device 38 and operates the input device 40, thereby enabling the workpiece model WM to be displaced in image data ID2 to approximate the corresponding workpiece feature WP.
[0072] In step S14, the processor 30 determines whether the input data IP2 for obtaining the matching position MP has been accepted. Specifically, when the operator displaces the workpiece model WM in step S13 and the position of the workpiece model WM in the image data ID2 matches the position of the workpiece feature WP, the operator operates the input device 40 to input the input data IP2 for obtaining the matching position MP.
[0073] Figure 7 This indicates that the position of the workpiece model WM in image data ID2 matches the workpiece feature WP. When the processor 30 receives input data IP2 from the input device 40 via the I / O interface 34, it determines "yes" and proceeds to step S15. Conversely, if it does not receive input data IP2 from the input device 40, it determines "no" and returns to step S12. Thus, the processor 30 cycles through steps S12 to S14 until it determines "yes" in step S14.
[0074] In step S15, the processor 30 obtains the position of the workpiece model WM in the image data ID2 when the input data IP2 is received as the matching position MP. As described above, when the processor 30 receives the input data IP2, such as Figure 7As shown, in image data ID2, the workpiece model WM is consistent with the corresponding workpiece feature WP.
[0075] Processor 30 acquires the pair Figure 7 The coordinates (x, y, z, W, P, R) in the sensor coordinate system C3 of the workpiece coordinate system C4 set by each workpiece model WM are stored in the memory 32 as matching positions MP. Thus, in this embodiment, the processor 30 serves as the matching position acquisition unit 58 for acquiring the matching position MP. Figure 2 To fulfill its function.
[0076] Refer again Figure 3 In step S5, the processor 30 executes the process of adjusting parameter PM. (Refer to...) Figure 8 The following describes step S5. In step S21, the processor 30 determines the parameter PM. n The update number "n" is set to "1".
[0077] In step S22, the processor 30 functions as the position detection unit 54 and acquires the detected position DP. n Specifically, the processor 30 uses the parameter PM stored in the memory 32 at the start time of step S22. n Find the detection location DP n Assuming that the start time of step S22 is set to n=1 (i.e., when executing step S22 for the first time), processor 30, like in step S11 above, uses parameter PM1 to calculate... Figure 6 The detection location DP1 is shown.
[0078] In step S23, the processor 30 obtains the detection position DP obtained in the most recent step S22. n The data Δ is the difference between the matching position MP obtained in step S4 above. n The data Δ n For example, DP represents the detection position in the sensor coordinate system C3. n The objective function representing the difference between the detection positions DP and MP. This objective function could, for example, represent a pair of corresponding detection positions DP. n A function of the sum, sum of squares, mean, or mean square of the differences from the matching position MP. Processor 30 will acquire the data Δ n It is stored in memory 32.
[0079] Suppose that when the start time of step S23 is set to n=1 (i.e., when the first step S23 is executed), processor 30 obtains data Δ1 representing the difference between detection position DP1 and matching position MP. This data Δ1 represents... Figure 6The position of the sensor coordinate system C3 (i.e., the detection position DP1) of the workpiece model WM shown is... Figure 7 The difference between the position (i.e., the matching position MP) of the sensor coordinate system C3 of the workpiece model WM shown.
[0080] In step S24, the processor 30 determines the data Δ obtained in the most recent step S23. n Is the value of Δ a predetermined threshold? th The following (Δ) n ≤Δ th The threshold Δ th Determined by the operator and pre-stored in memory 32. Processor 30 in Δ n ≤Δ th If the condition is met, end step S5 and proceed to the next step. Figure 3 Step S6 in the process.
[0081] If the determination is yes in step S24, the detection position DP is calculated in the most recent step S22. n Since it is essentially the same as the matching position MP, it can be considered as the parameter PM. n Optimized. On the other hand, processor 30 in Δ n >Δ th If the result is negative, proceed to step S25.
[0082] In step S25, the processor 30 determines the data Δ obtained in the most recent step S23. n This determines that the detection location DP can be reduced in image data ID2. n The parameter PM is the difference between the matching position MP and the matching position MP. n Change α n Specifically, the processor 30, based on the data Δ obtained in the most recent step S23, n The decision was made to repeatedly execute Figure 8 During the loop of steps S22 to S28, the data Δ obtained in step S23 can be made to... n The value of the parameter PM converges to zero. n The change α of (e.g., displacement E, dimension SZ, or image roughness σ) n Processor 30 can use data Δ n The change α is calculated using the prescribed algorithm. n .
[0083] In step S26, processor 30 updates parameter PM n Specifically, processor 30 enables parameter PM n (For example, the change in displacement E, dimension SZ, or image roughness σ) is determined by the change α in the most recent step S25.n The size of the parameter PM is used to update the parameter PM. n Set as the new parameter PM n+1 Processor 30 will update the parameters PM n+1 It is stored in memory 32. Assuming that when the start time point of step S26 is set to n=1, the processor 30 updates the parameter PM1 by the magnitude of the change α1 of the pre-prepared parameter PM1 to the parameter PM2.
[0084] In step S27, the processor 30 will determine the parameter PM. n The update number "n" is incremented by "1" (n = n + 1). In step S28, the processor 30 determines the parameter PM. n Does the update number "n" exceed the maximum value n? MAX (n>n MAX ), or the change α determined in the most recent step S25. n Is it a predetermined threshold α? th The following (α) n ≤α th The maximum value n MAX and threshold α th It is predetermined by the operator and stored in memory 32.
[0085] Here, as Figure 8 As shown, the processor 30 repeatedly executes steps S22 to S28 until a determination is made in step S24 or S28. In step S25 described above, the processor 30 reduces the detection position DP. n The difference between the matching position MP (i.e., the data Δ) n The change α is determined by the value of (the change α). n Therefore, whenever the cycle of steps S22 to S28 is repeated, the data Δ obtained in step S23 is... n The value and the amount of change α determined in step S25 n It gets smaller.
[0086] Therefore, in the change α n Threshold α th The following can be considered as parameter PM n It is optimized. On the other hand, even if the loop of steps S22 to S28 is executed repeatedly, there is still a change α. n It converges to a certain value (> α) th ) and not become the threshold α th The following situation. In this case, it can also be regarded as parameter PM. n It is fully optimized.
[0087] Therefore, in step S28, processor 30 determines whether n > n. MAX or α n ≤α th When n > n MAX or α n ≤α th If the condition is met, step S5 ends. On the other hand, processor 30 operates when n ≤ n MAX And α n >α th If the condition is not met, return to step S22 and use the updated parameter PM. n+1 Execute the loop of steps S22 to S28.
[0088] Thus, the processor 30 repeatedly executes a series of actions from steps S22 to S28 until a determination is made in step S24 or S28. Based on this, according to the data Δ... n Update and adjust parameters PM n Therefore, in this embodiment, the processor 30 acts as a processor based on data Δ n Adjusting parameters PM n Parameter adjustment section 60 ( Figure 2 To fulfill its function.
[0089] Processor 30 functions as position detection unit 54, determining the detection position DP based on image data ID2. n At that time, by using the parameter PM that was optimized as described above n It can calculate the detection location DP in image data ID2. n As the position corresponding to (e.g., substantially the same as) the matching position MP.
[0090] Refer again Figure 3 In step S6, the processor 30 determines whether an action end command has been received. For example, the operator manually inputs an action end command through the input device 40. When the processor 30 receives the action end command from the input device 40 via the I / O interface 34, it determines that the action end command is received and terminates the operation of the control device 16. On the other hand, if the processor 30 does not receive the action end command, it determines that the action end command is received and returns to step S1.
[0091] For example, if the operator does not input an action end command after step S5, then... Figure 1 The configuration of workpiece W within container B is changed. Next, the operator operates input device 40 to input the aforementioned parameter adjustment command. Then, processor 30 determines in step S1 that it is correct and executes steps S2 to S5 for the workpiece W with the changed configuration within container B, adjusting parameter PM. nThus, by executing steps S2 to S5 each time the configuration of the workpiece W within container B changes, the parameter PM can be adjusted for workpieces W configured in various positions. n Optimization.
[0092] As described above, in this embodiment, the processor 30 functions as an image generation unit 52, a position detection unit 54, an input receiving unit 56, a matching position acquisition unit 58, and a parameter adjustment unit 60, adjusting the parameter PM. Therefore, the image generation unit 52, the position detection unit 54, the input receiving unit 56, the matching position acquisition unit 58, and the parameter adjustment unit 60 constitute a device 50 for adjusting the parameter PM. Figure 2 ).
[0093] According to the device 50, the matching position MP obtained when matching the workpiece model WM with the workpiece feature WP in the image data ID2 is used to adjust the parameter PM. Therefore, even an operator without expertise related to adjusting the parameter PM can obtain the matching position MP, thereby enabling the adjustment of the parameter PM.
[0094] Furthermore, in this embodiment, the processor 30 repeatedly executes... Figure 8 The series of actions in steps S22 to S28 are used to adjust the parameter PM. n Based on this structure, the parameter PM can be automatically adjusted. n And it can make the parameter PM n Optimize quickly.
[0095] In this embodiment, the processor 30 functions as an image generation unit 52, displaying the workpiece model WM in the image data ID2 (step S11), and adjusting the position of the workpiece model WM displayed in the image data ID2 according to the input data IP1 (step S13). Furthermore, when the workpiece model WM in the image data ID2 matches the workpiece feature WP, the processor 30 functions as a matching position acquisition unit 58, acquiring the matching position MP (step S15).
[0096] According to this structure, the operator visually recognizes the image data ID2 displayed on the display device 38 and operates the input device 40. This allows the workpiece model WM to be easily aligned with the workpiece feature WP in the image data ID2, thus achieving the matching position MP. Therefore, even an operator without expertise in adjusting the parameter PM can easily obtain the matching position MP simply by aligning the workpiece model WM with the workpiece feature WP on the image.
[0097] After adjusting the parameter PM as described above n Then, processor 30 uses the adjusted parameters PM nThe robot 12 is then instructed to perform a task (specifically, a task handling task) on the workpiece W. The task performed by the robot 12 on the workpiece W will be described below. When the processor 30 receives a task start instruction from an operator, a host controller, or a computer program, it causes the robot 12 to move, positioning the vision sensor 14 at a position capable of capturing images of the workpiece W within the container B, and then causing the vision sensor 14 to move to capture images of the workpiece W.
[0098] At this time, the image data ID3 captured by the vision sensor 14 shows the workpiece feature WP of at least one workpiece W. The processor 30 obtains the image data ID3 from the vision sensor 14 through the I / O interface 34, and generates motion instructions CM for moving the robot 12 based on the image data ID3.
[0099] More specifically, the processor 30 functions as the position detection unit 54, processing the adjusted parameters PM n Applied to algorithm AL, the workpiece model WM is compared with the workpiece feature WP displayed in image data ID3. As a result, processor 30 obtains the detection position DP in image data ID3. ID3 As the coordinates of the sensor coordinate system C3.
[0100] Next, the processor 30 will obtain the detection position DP ID3 The coordinates are transformed into robot coordinate system C1 (or tool coordinate system C2), thereby obtaining the position data PD of the workpiece W in robot coordinate system C1 (or tool coordinate system C2). Next, the processor 30 generates motion instructions CM for controlling the robot 12 based on the obtained position data PD. According to the motion instructions CM, the processor controls each servo motor 29, thereby enabling the robot 12 to perform a workpiece handling operation by using the end effector 28 to grasp and pick up the workpiece W with the obtained position data PD.
[0101] Thus, in this embodiment, the processor 30 functions as the instruction generation unit 62 that generates action instructions CM. This is achieved by using the adjusted parameter PM. n It can detect the accurate detection position DP ID3 (i.e., position data PD), therefore, the processor 30 enables the robot 12 to perform workpiece handling operations with high precision.
[0102] Next, refer to Figure 9 Another example of step S4 (i.e., the process of obtaining the matching position) described above will be explained. Furthermore, in Figure 9 In the process shown, for and Figure 5 Processes with identical flow charts are labeled with the same step numbers, and repetitive descriptions are omitted. Figure 9In step S4 shown, processor 30 executes steps S31 and S32 after step S11.
[0103] Specifically, in step S31, the processor 30 determines whether it accepts input data IP3 (second input data) for deleting the workpiece model WM from the image data ID2, or input data IP4 (second input data) for adding a further workpiece model WM to the image data ID2.
[0104] Here, in step S11 above, there is a situation where the processor 30 incorrectly displays the workpiece model WM in an inappropriate position. Figure 10 This is an example of image data ID2 indicating that the workpiece model WM is displayed in an inappropriate location. Figure 10 The image data ID2 shown captures the feature F of a component that is different from the workpiece W.
[0105] When processor 30 uses parameter PM1 to calculate detection position DP1, it may sometimes mistake feature F for workpiece feature WP of workpiece W and calculate the detection position DP1 corresponding to feature F. In such cases, the operator needs to delete the workpiece model WM displayed at the position corresponding to feature F from image data ID2.
[0106] On the other hand, in step S11 above, the processor 30 sometimes fails to recognize the workpiece feature WP displayed in the image data ID2, resulting in a lossy display of the workpiece model WM. Figure 11 This is an example. Figure 11 In the image data ID2 shown, the workpiece model WM corresponding to the upper right workpiece feature WP out of a total of 3 workpiece features WP is not displayed. In this case, the operator needs to add workpiece model WM to the image data ID2.
[0107] Therefore, in this embodiment, the processor 30 is configured to accept input data IP3 for deleting the workpiece model WM from the image data ID2, and input data IP4 for appending a further workpiece model WM to the image data ID2. Specifically, step S11 shows... Figure 10 When the image data ID2 is displayed, the operator visually identifies the image data ID2 and operates the input device 40 to input the input data IP3 specifying the workpiece model WM to be deleted.
[0108] Additionally, it is shown in step S11 Figure 11 When the image data ID2 is displayed, the operator visually confirms the image data ID2 and operates the input device 40 to input input data IP4, which specifies the position (e.g., coordinates) of the workpiece model WM to be added in the image data ID2 (sensor coordinate system C3).
[0109] In step S31, if the processor 30 receives input data IP3 or IP4 from the input device 40 via the I / O interface 34, it determines "yes" and proceeds to step S32. On the other hand, if it does not receive input data IP3 or IP4 from the input device 40, it determines "no" and proceeds to step S12.
[0110] In step S32, the processor 30 functions as an image generation unit 52, deleting the displayed workpiece model WM from image data ID2 or adding a further workpiece model WM to image data ID2 according to the received input data IP3 or IP4. For example, when input data IP3 is received, the processor 30... Figure 10 In the image data ID2 shown, the workpiece model WM displayed at the position corresponding to feature F is deleted. The result is as follows: Figure 12 As shown, image data ID2 is updated.
[0111] On the other hand, when the processor 30 receives the input data IP4, it... Figure 11 In the image data ID2 shown, the workpiece model WM is appended and displayed at the position specified by the input data IP4. The result is as follows: Figure 6 As shown, a total of three workpiece models WM are displayed in image data ID2 to correspond to all workpiece features WP.
[0112] After step S32, processor 30 and Figure 5 The process is executed in the same way, following steps S12 to S15. Furthermore, in Figure 9 In the illustrated process, if the processor 30 determines no in step S14, it returns to step S31. As described above, according to this embodiment, the operator can delete or add processing to the part model WM as needed from the image data ID2 displayed in step S11.
[0113] In addition, Figure 9 In step S11, the processor 30 can display the workpiece model WM at a randomly determined position in the image data ID2. Figure 13 This example shows the processor 30 randomly displaying workpiece models WM in image data ID2. In this case, the processor 30 can randomly determine the number of workpiece models WM configured in image data ID2, or the operator can predetermine the number.
[0114] Instead, in Figure 9 In step S11, the processor 30 may also display the workpiece model WM in the image data ID2 at positions determined according to a predetermined rule. For example, the rule may be determined as arranging the workpiece model WM in the image data ID2 in a grid pattern at equal intervals. Figure 14 This example shows the processor 30 displaying the workpiece model WM in image data ID2 according to a rule that the workpiece model WM is arranged in a grid pattern with equal intervals.
[0115] After the processor 30 randomly or according to a prescribed rule configures the workpiece model WM in step S11, the operator inputs input data IP3 or IP4 to the input device 40 in step S31, thereby deleting or appending the workpiece model WM displayed in the image data ID2 as needed.
[0116] Next, refer to Figure 15 Here is another example illustrating step S4 (the process of obtaining the matching position) described above. Figure 15 In step S4, processor 30 executes steps S41 and S42 after step S11. In step S41, processor 30 determines whether the workpiece model WM in image data ID2 satisfies condition G1 as a deletion object.
[0117] Specifically, for each workpiece model WM displayed in image data ID2, processor 30 calculates the number N of points (or pixels displaying workpiece feature WP) existing within the occupied area of the workpiece model WM that constitute the 3D point group. Furthermore, in step S41, processor 30 determines for each workpiece model WM whether the calculated number N is equal to a predetermined threshold N. th The following (N≤N th ), where there exists a condition N≤N th When the workpiece model WM is selected, it is determined as a deletion object. That is, in this embodiment, condition G1 is determined as the quantity N being the threshold N. th the following.
[0118] For example, processor 30 generates in step S11 Figure 14 Image data ID2 is shown. At this time, regarding the workpiece models WM displayed in image data ID2, the second and fourth workpiece models WM from the left in the top column, and the first, third, and fourth workpiece models WM from the left in the bottom column, the number of workpiece feature WP points (pixels) existing in their exclusive areas decreases. Therefore, at this time, the processor 30 determines these 5 workpiece models WM as deletion objects in step S11, and determines it as yes.
[0119] In step S42, the processor 30 functions as the image generation unit 52, automatically deleting the workpiece model WM, which was determined to be the object to be deleted in step S41, from the image data ID2. Figure 14 In the example shown, processor 30 automatically removes the aforementioned five workpiece models WM that are identified as objects to be deleted from image data ID2. Figure 16 This example illustrates the deletion of image data ID2 for the five workpiece models WM. Thus, in this embodiment, the processor 30 automatically deletes the displayed workpiece models WM from image data ID2 according to a predetermined condition G1.
[0120] Instead, processor 30 can also determine in step S41 whether condition G2 for appending the workpiece model WM in image data ID2 is met. For example, processor 30 generates in step S11 Figure 11 The image data ID2 is shown. For each workpiece feature WP, the processor 30 determines whether it contains a point (or pixel) contained in the proprietary region of the workpiece model WM.
[0121] Furthermore, when the processor 30 determines that a workpiece feature WP exists that contains a point (pixel) within a dedicated region of the workpiece model WM, it identifies that workpiece feature WP as a model addition object. That is, in this embodiment, condition G2 is determined to be the existence of a workpiece feature WP that contains a point (pixel) within a dedicated region of the workpiece model WM. For example, in... Figure 11 In the example shown, in step S41, the processor 30 determines the workpiece feature WP shown in the upper right corner of the image data ID2 as a model addition object and determines it to be yes.
[0122] Furthermore, in step S42, the processor 30 functions as the image generation unit 52, automatically appending the workpiece model WM to the image data ID2 at the position corresponding to the workpiece feature WP, which was determined to be the model addition object in step S41. As a result, for example... Figure 6 The model WM is shown as an example of a workpiece being machined.
[0123] Thus, in this embodiment, the processor 30 appends the workpiece model WM to the image data ID2 according to the predetermined condition G2. Figure 15 As shown in the process, the processor 30 can automatically delete or add workpiece models WM according to conditions G1 or G2, thus reducing operator workload.
[0124] Next, refer to Figure 17 and Figure 18 The other functions of the robot system 10 will be described below. In this embodiment, the processor 30 first executes... Figure 17 The image acquisition process is shown. In step S51, the processor 30 identifies the image data ID1 captured by the vision sensor 14. _i The number "i" is set to "1".
[0125] In step S52, the processor 30 determines whether a shooting start command has been accepted. For example, the operator inputs a shooting start command through the input device 40. If the processor 30 accepts the shooting start command from the input device 40 via the I / O interface 34, it determines that it is yes and proceeds to step S53. On the other hand, if the processor 30 does not accept the shooting start command, it determines that it is no and proceeds to step S56.
[0126] In step S53, the processor 30, in the same manner as in step S2 above, uses the vision sensor 14 to capture an image of the workpiece W. As a result, the vision sensor 14 captures the i-th image data ID1. _i This data is provided to the processor 30. In step S54, the processor 30 will retrieve the i-th image data ID1 obtained in the most recent step S53. _i It is stored in memory 32 along with the identification number "i". In step S55, the processor 30 increments the identification number "i" by "1" (i = i + 1).
[0127] In step S56, the processor 30 determines whether a shooting end command has been accepted. For example, the operator inputs a shooting end command through the input device 40. The processor 30 determines that the shooting end command is accepted and terminates the process. Figure 17 The process is shown. On the other hand, if the processor 30 does not receive a shooting end command, it determines that it is not true and returns to step S52.
[0128] For example, after step S55, the operator does not input a shooting end command, but instead... Figure 1 The configuration of workpiece W within container B is shown to have changed. Next, the operator inputs a shooting start command via input device 40. Then, in step S52, processor 30 determines that the configuration has changed and executes steps S53-S55 on the workpiece W within container B after the configuration change, obtaining the (i+1)th image data ID1. _i+1 .
[0129] Figure 17 After the process shown is completed, processor 30 executes... Figure 18 The process is shown. Furthermore, in Figure 18 In the process shown, for and Figure 3 and Figure 17 The same process flow is labeled with the same step number, and repeated descriptions are omitted. If the processor 30 determines yes in step S1, it proceeds to step S51; otherwise, it proceeds to step S6.
[0130] Furthermore, when the processor 30 determines that it is yes in step S6, the process ends. Figure 18 The process shown, on the other hand, returns to step S1 if the determination is negative. In step S51, the processor 30 will transfer the image data ID1 _iThe identification number "i" is set to "1".
[0131] In step S62, the processor 30 generates image data ID2 that displays the workpiece feature WP. _i Specifically, processor 30 reads the i-th image data ID1 identified by identification number "i" from memory 32. _i Furthermore, processor 30 uses the i-th image data ID1 _i Based on this, the i-th image data ID1 _i The workpiece features displayed in the image serve as a visually recognizable GUI for operators, generating, for example... Figure 4 The i-th image data ID2 shown is as follows. _i .
[0132] After step S62, the processor 30 uses the i-th image data ID2 _i Perform steps S4 and S5 as described above in sequence, and adjust parameter PM. n So that regarding the i-th image data ID2 _i Optimization is then performed. Next, the processor 30 executes step S55, which increments the identification number "i" by "1" (i = i + 1).
[0133] In step S64, the processor 30 determines whether the identification number "i" exceeds the maximum value i. MAX (i>i MAX The maximum value i MAX Is Figure 17 Image data ID1 obtained by processor 30 in the process _i The total number. In step S64, processor 30, when i > i MAX If the condition is met, the process ends. Figure 18 The process shown, on the other hand, is that when i ≤ i MAX If the condition is not met, return to step S62. Thus, processor 30 repeatedly executes steps S62, S4, S5, S55, and S64 until the condition is met in step S64, regarding all image data ID2. _i (i = 1, 2, 3, ... i) MAX Adjusting parameters PM n .
[0134] As described above, in this embodiment, by Figure 17 The process shown accumulates image data ID1 of multiple workpieces W positioned at various locations. _i After that, Figure 18 The process shown uses multiple accumulated image data ID1 _i This allows for the adjustment of parameter PM. Based on this structure, parameter PM can be optimized for workpieces W positioned in various locations.
[0135] In addition, Figure 17 In the illustrated process, processor 30 can omit step S52 and instead execute step S64 as described above, determining whether the identification number "i" exceeds the maximum value i. MAX (i>i MAX The threshold i used in step S64 at this point. MAX Integers greater than 2 are predetermined by the operator.
[0136] Furthermore, when the processor 30 determines that the condition is yes in step S64, the process ends. Figure 17 The process, if the determination is negative, returns to step S53. Here, the processor 30 in such a way... Figure 17 In a variation of the process, the position (specifically, position and orientation) of the vision sensor 14 can be changed each time step S53 is executed, allowing images of the workpiece W to be captured from different positions and viewing directions A2. According to this variation, even without the operator manually changing the configuration of the workpiece W, image data ID1 obtained from capturing images of the workpiece W in various configurations can be automatically acquired and stored. _i .
[0137] In addition, the processor 30 can also execute according to a computer program pre-stored in the memory 32. Figure 3 , Figure 17 as well as Figure 18 The process is shown. The computer program contains instructions for causing processor 30 to execute... Figure 3 , Figure 17 as well as Figure 18 The instruction statements for the process shown are pre-stored in memory 32.
[0138] In the above embodiment, the case where the processor 30 obtains the image data ID1 of the physical workpiece W using the actual robot 12 and the vision sensor 14 is described. However, the processor 30 may also obtain the image data ID1 by virtually photographing the workpiece model WM using a vision sensor model 14M obtained by modeling the vision sensor 14.
[0139] In this case, the processor 30 can configure the robot model 12M obtained by modeling the robot 12 and the vision sensor model 14M fixed to the end effector model 28M of the robot model 12M in the virtual space, so that the robot model 12M and the vision sensor model 14M can simulate actions in the virtual space and perform... Figure 3 , Figure 17 as well as Figure 18The process shown is a simulation. Based on this structure, parameter PM can be adjusted via so-called offline motion without using the actual robot 12 and vision sensor 14.
[0140] Furthermore, the input receiving unit 56 can be omitted from the aforementioned device 50. In this case, the processor 30 can be omitted. Figure 5 In steps S12 to S14, the matching position MP is automatically obtained from the image data ID2 generated in step S11. For example, a learning model LM representing the correlation between the workpiece feature WP shown in the image data ID and the matching position MP can be pre-stored in memory 32.
[0141] The learning model LM can be constructed, for example, by repeatedly providing a learning dataset of image data IDs displaying at least one workpiece feature WP and matching positions MP within those image data IDs to a machine learning device (e.g., supervised learning). The processor 30 inputs the image data ID2 generated in step S11 into the learning model LM. The learning model LM then outputs the matching position MP corresponding to the workpiece feature WP displayed in the input image data ID2. Thus, the processor 30 can automatically obtain the matching position MP from the image data ID2. Furthermore, the processor 30 can also be configured to perform the functions of this machine learning device.
[0142] Furthermore, in the above embodiment, the case where the workpiece feature WP in the image data ID2 is composed of a group of 3D points has been described. However, it is not limited to this, and the processor 30 may also generate the image data ID2 in step S3 as a distance image in which the color or hue (intensity) of each pixel displaying the workpiece feature WP changes according to the distance d mentioned above.
[0143] Alternatively, in step S3, the processor 30 may not generate new image data ID2, but instead generate image data ID1 obtained from the vision sensor 14 as image data for display on the display device 38, and display it on the display device 38. Furthermore, the processor 30 may use image data ID1 to perform steps S3 and S4.
[0144] Alternatively, the image generation unit 52 can be omitted from the aforementioned device 50, and its function can be requested from an external device (e.g., the vision sensor 14 or a PC). For example, the processor 30 can use the image data ID1 captured by the vision sensor 14 without any alteration as the original data format to adjust the parameter PM. In this case, the vision sensor 14 assumes the function of the image generation unit 52.
[0145] The vision sensor 14 is not limited to a 3D vision sensor; it can also be a 2D camera. In this case, the processor 30 can generate 2D image data ID2 based on the 2D image data ID1, and execute steps S3 and S4. At this time, the sensor coordinate system C3 is a 2D coordinate system (x, y).
[0146] In the above embodiments, the case where device 50 is installed on control device 16 has been described. However, it is not limited to this, and device 50 may also be installed on a computer different from control device 16 (e.g., a desktop PC, tablet terminal device, or mobile electronic device such as a smartphone, or a teaching pendant for teaching robot 12). In this case, the other computer may have a processor that functions as device 50 and be communicatively connected to I / O interface 34 of control device 16.
[0147] Furthermore, the aforementioned end effector 28 is not limited to a robotic arm, but can be any device that performs operations on a workpiece (laser processing head, welding torch, paint applicator, etc.). The present disclosure has been described above through embodiments, but the above embodiments do not limit the invention as defined in the claims.
[0148] Symbol Explanation
[0149] 10 Robotic Systems
[0150] 12 robots
[0151] 14. Visual Sensors
[0152] 16. Control device
[0153] 30 processors
[0154] 50 devices
[0155] 52 Image Generation Unit
[0156] 54 Position Detection Department
[0157] 56 Input Acceptance Department
[0158] 58 Matching Position Acquisition Section
[0159] 60 Parameter Adjustment Section
[0160] 62 Instruction Generation Department.
Claims
1. A device for adjusting parameters, characterized in that, have: The position detection unit models the workpiece to obtain a workpiece model from image data displaying workpiece features captured by a vision sensor. The position detection unit uses parameters to compare the workpiece model with the workpiece features to determine the position of the workpiece in the image data as the detection position. An image generation unit generates image data that displays the workpiece model together with the workpiece features; The input receiving unit receives first input data, which is used to displace the position of the workpiece model in the image data. The matching position acquisition unit acquires the position of the workpiece model in the image data when the image generation unit configures the workpiece model to be consistent with the workpiece features based on the first input data and the position displacement of the workpiece model displayed in the image data. as well as The parameter adjustment unit adjusts the parameters based on data representing the difference between the detected position and the matching position, so that the position detection unit can determine the detected position as the position corresponding to the matching position.
2. The device for adjusting parameters according to claim 1, characterized in that, The image generation unit displays the workpiece model at the detection position obtained by the position detection unit, or displays the workpiece model at a randomly determined position in the image data, or displays the workpiece model at a position determined according to a predetermined rule in the image data.
3. The device for adjusting parameters according to claim 1 or 2, characterized in that, The input receiving unit also receives second input data, which is used to delete the workpiece model from the image data or to add a second workpiece model to the image data. The image generation unit deletes the displayed workpiece model from the image data or adds the second workpiece model to the image data according to the second input data.
4. The apparatus for adjusting parameters according to claim 1 or 2, characterized in that, The image generation unit deletes the displayed workpiece model from the image data or adds a second workpiece model to the image data according to predetermined conditions.
5. The apparatus for adjusting parameters according to claim 1 or 2, characterized in that, The parameter adjustment unit adjusts the parameters by repeatedly performing the following series of actions: Based on the data representing the difference, determine the amount of change in the parameter that can reduce the difference; The parameter is updated by the magnitude of the change determined by the change in the parameter. Data representing the difference between the detected position and the matched position calculated by the position detection unit using the updated parameters is obtained.
6. The apparatus for adjusting parameters according to claim 1 or 2, characterized in that, The workpiece model is virtually photographed using a visual sensor model, thereby obtaining the features of the workpiece. The visual sensor model is obtained by modeling the visual sensor.
7. A robot system, characterized in that, The robot system has the following features: A vision sensor that captures images of the workpiece; A robot that performs tasks on the workpiece; The instruction generation unit generates action instructions for making the robot move based on the image data captured by the vision sensor. as well as The apparatus for adjusting parameters according to any one of claims 1 to 6, The position detection unit uses the parameters adjusted by the parameter adjustment unit to obtain the position of the workpiece in the image data captured by the vision sensor as the detection position. The instruction generation unit obtains the position data of the workpiece in the control coordinate system for controlling the robot based on the detection position obtained by the position detection unit using the adjusted parameters, and generates the action instruction based on the position data.
8. A method for adjusting parameters, characterized in that, The processor performs the following processing: In image data showing the workpiece features captured by a vision sensor, the workpiece is modeled to obtain a workpiece model. Using parameters for comparing the workpiece model with the workpiece features, the position of the workpiece in the image data is determined as the detection position. Generate the image data that displays the workpiece model together with the workpiece features; The system accepts first input data, which is used to displace the position of the workpiece model in the image data. The position of the workpiece model in the image data when the workpiece model is configured to match the workpiece features based on the displacement of the workpiece model according to the first input data is obtained as the matching position. The parameters are adjusted based on data representing the difference between the detection position and the matching position, so that the detection position can be determined as the position corresponding to the matching position.
9. A computer program product, characterized in that, The processor is made to execute the method for adjusting parameters as described in claim 8.
Citation Information
Patent Citations
System for setting teaching data for picture processing in visual sensor
JP1990210584A
Method for deriving parameter for three-dimensional measurement processing and three-dimensional visual sensor
US20100232682A1