CONTROL DEVICE, INSPECTION SYSTEM, CONTROL METHOD, PROGRAM, AND STORAGE MEDIUM

The control device automates the posture setting of a first robot based on data from a second robot, reducing teaching time and enhancing production line efficiency.

JP7620391B2Active Publication Date: 2025-01-23KK TOSHIBA
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2020047852
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-03-18
Publication Date
2025-01-23
Estimated Expiration
2040-03-18

AI Technical Summary

Technical Problem

The challenge is to reduce the time required for teaching industrial robots their working postures, which is currently inefficient and time-consuming.

Method used

A control device that receives posture data from a second robot performing a second work and uses this data to automatically set the posture of a first robot performing a first work, eliminating the need for manual teaching.

Benefits of technology

This approach significantly shortens the time needed for teaching the first robot, allowing for faster operation of production lines by automating the posture setting process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007620391000001
    Figure 0007620391000001
  • Figure 0007620391000002
    Figure 0007620391000002
  • Figure 0007620391000003
    Figure 0007620391000003
Patent Text Reader

Abstract

To provide a control device, an inspection system, a control method, a program, and a storage medium capable of shortening the time required for teaching.SOLUTION: A control device receives first posture data indicating a posture of a first robot. The first robot includes a first manipulator and a first end effector. The control device sets the posture of the first robot on the basis of the first posture data and causes the first robot to execute first work to a first member. The first posture data is generated on the basis of second posture data. The second posture data indicates a posture when a second robot including a second manipulator and a second end effector executes second work to the first member.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] An embodiment of the present invention relates to a control device, an inspection system, a control method, a program, and a storage medium. [Background technology]

[0002] Various industrial robots are used in production sites. Before a robot is applied to a production line, the robot is taught the posture it should assume during work. There is a demand for a reduction in the time required for this teaching. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2019-90727 A Summary of the Invention [Problem to be solved by the invention]

[0004] An object of the present invention is to provide a control device, an inspection system, a control method, a program, and a storage medium that are capable of shortening the time required for teaching. [Means for solving the problem]

[0005] A control device according to an embodiment receives first posture data indicating a posture of a first robot. The first robot includes a first manipulator and a first end effector. The control device further sets the posture of the first robot based on the first posture data and causes the first robot to perform a first task on a first member. The first posture data is generated based on second posture data. The second posture data indicates a posture of a second robot including a second manipulator and a second end effector when performing a second task on the first member. [Brief description of the drawings]

[0006] [Figure 1] 1 is a schematic diagram illustrating a production system to which a robot system according to an embodiment is applied. [Diagram 2] FIG. 2 is a perspective view illustrating a first robot. [Diagram 3] FIG. 2 is a schematic diagram illustrating a second robot. [Figure 4] FIG. 2 is a schematic diagram illustrating an operation of a production system according to an embodiment. [Diagram 5] 2 is an example of data stored in a storage device. [Figure 6] 4 is a flowchart showing a process in a production system according to an embodiment. [Figure 7] FIG. 2 is a perspective view showing the internal structure of the tip of the detector. [Figure 8] FIG. 1 is a schematic diagram for explaining an inspection method. [Figure 9] 11 is a flowchart showing a specific example of a first task. [Figure 10] FIG. 13 is a diagram for explaining a method for calculating the tilt of a detector. [Figure 11] 11 is an example of an image showing detected information. [Figure 12] 11 is an example of an image showing detected information. [Figure 13] FIG. 2 is a diagram illustrating an example of the configuration of a processing device and a control device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0007] Hereinafter, embodiments of the present invention will be described with reference to the drawings. The drawings are schematic or conceptual, and the relationship between the thickness and width of each part, the size ratio between parts, etc. are not necessarily the same as those in reality. Even when the same part is shown, the dimensions and ratios of each part may be different depending on the drawing. In this specification and each drawing, elements similar to those already explained are given the same reference numerals and detailed explanations are omitted as appropriate.

[0008] FIG. 1 is a schematic diagram illustrating a production system to which a robot system according to an embodiment is applied. The robot system 100 according to the embodiment includes a first robot 110, a control device 120, and a processing device 130. The production system 300 includes the robot system 100 and a robot system 200. The robot system 200 includes a second robot 210, a control device 220, and a processing device 230. In this example, the production system 300 further includes a storage device 310, a teaching device 320, and a storage device 330.

[0009] The first robot 110 includes a first manipulator 111 and a first end effector 112. The first end effector 112 is attached to, for example, the tip of the first manipulator 111. The first manipulator 111 is, for example, a vertical multi-joint type, a horizontal multi-joint type, or a parallel link type. The first manipulator 111 may be a combination of two or more manipulators selected from the vertical multi-joint type, the horizontal multi-joint type, and the parallel link type. The first robot 110 performs a first task according to the function of the first end effector 112.

[0010] The control device 120 transmits a command to the first robot 110 and controls the first robot 110. For example, the control device 120 operates a drive unit included in the first manipulator 111 to control the posture of the first robot 110. Alternatively, the control device 120 operates the first end effector 112 to cause the first robot 110 to perform a first task.

[0011] Here, the posture indicates the position and orientation according to the degrees of freedom of the robot. For example, the posture of a robot with six degrees of freedom is expressed by the positions in three mutually orthogonal directions (X direction, Y direction, and Z direction) and the angles around each direction (rolling, pitching, and yawing).

[0012] The processing device 130 transmits data used for controlling the first robot 110 to the control device 120. Alternatively, the processing device 130 receives data based on information acquired by the first robot 110 from the control device 120. The processing device 130 processes various types of data as appropriate.

[0013] The second robot 210 includes a second manipulator 211 and a second end effector 212. The second end effector 212 is attached to, for example, the tip of the second manipulator 211. The second manipulator 211 is, for example, a vertical multi-joint type, a horizontal multi-joint type, or a parallel link type. The second manipulator 211 may be a combination of two or more manipulators selected from the vertical multi-joint type, the horizontal multi-joint type, and the parallel link type.

[0014] The second robot 210 performs a second task according to the function of the second end effector 212. The function of the second end effector 212 is different from the function of the first end effector 112. Therefore, the second task performed by the second robot 210 is different from the first task.

[0015] The control device 220 transmits a command to the second robot 210 to control the second robot 210. For example, the control device 220 operates a drive unit included in the second manipulator 211 to control the posture of the second robot 210. Alternatively, the control device 220 operates the second end effector 212 to cause the second robot 210 to perform the first task.

[0016] The processing device 230 transmits data used for controlling the second robot 210 to the control device 220. Alternatively, the processing device 230 receives data acquired by the second robot 210 from the control device 220. The processing device 230 appropriately processes various types of data.

[0017] The storage device 310 stores data related to the robot systems 100 and 200. For example, the processing device 130 accesses the storage device 310 to acquire data related to a first task, data on the components that are the targets of the first task, etc. Similarly, the processing device 230 accesses the storage device 310 to acquire data related to a second task, data on the components that are the targets of the second task, etc. Furthermore, the processing device 130 stores data related to the first robot 110 and the first task transmitted from the control device 120 in the storage device 310. The processing device 230 stores data related to the second robot 210 and the second task transmitted from the control device 220 in the storage device 310.

[0018] The first robot 110 and the second robot 210 perform a first task and a second task, respectively, on the same member. For example, the second robot 210 performs the second task on the first member. After that, the first robot 110 performs the first task on the same first member.

[0019] The storage device 330 stores design data related to the first member. The design data includes, for example, Computer-Aided Design (CAD) data. For example, the teaching device 320 refers to the design data and generates an operation program for the second robot 210. The teaching device 320 also runs the generated operation program on a simulator and performs confirmation of the robot operation, confirmation of interference, and the like.

[0020] The operation program includes data regarding the posture of the second robot 210. The data indicates the posture of the control points of the second robot 210 when the second robot 210 performs the second task. Hereinafter, data that is generated based on the design data and indicates the posture of the control points of the second robot 210 is referred to as designed posture data. The teaching device 320 stores the generated designed posture data in the storage device 310.

[0021] When the second robot 210 performs the second task, the processing device 230 accesses the storage device 310 and acquires second posture data indicating the posture of the second robot 210. For example, the design posture data is used as the second posture data. Alternatively, the second posture data may be data indicating a posture taught using the second robot 210.

[0022] For example, at a site where the second task is actually performed, a worker verifies whether or not a problem will occur at the site when the posture of the second robot 210 is set based on the design posture data. Specifically, it is confirmed whether or not there is a possibility that the second robot 210 will interfere with objects at the site or come into contact with a worker when the posture of the second robot 210 is set based on the design posture data. If a problem may occur, the worker uses the second robot 210 to teach the posture of the second robot 210 so as to resolve the problem. In this case, the taught posture is stored in the storage device 310 as the second posture data.

[0023] The processing device 130 acquires the second posture data and generates first posture data. The first posture data indicates the posture of the first robot 110 when performing the first task. The processing device 130 stores the generated first posture data in the storage device 310. Alternatively, the processing device 130 transmits the generated first posture data to the control device 120. The control device 120 sets the posture of the first robot 110 based on the first posture data, and causes the first robot 110 to perform the first task.

[0024] The generation of the first attitude data may be performed by the processing device 230. In this case, the processing device 230 stores the generated first attitude data in the storage device 310 or transmits it to the processing device 130.

[0025] When a first task and a second task are performed at multiple locations on one first member, multiple first posture data and multiple second posture data corresponding to the multiple locations are prepared. The multiple first posture data are generated based on the multiple second posture data. At least a portion of the multiple second posture data are generated based on the design posture data. At least a portion of the multiple second posture data may be generated based on actual teaching separately from the design posture data. For example, a portion of the multiple second posture data are generated based on the design posture data, and another portion of the multiple second posture data are generated based on actual teaching.

[0026] The components of the production system 300 are connected to each other via wired communication, wireless communication, or a network.

[0027] The effects of the embodiment will be described. In the robot system 100 according to the embodiment, the control device 120 receives first posture data. Then, the control device 120 sets the posture of the first robot 110 based on the first posture data, and causes the first robot 110 to perform the first task. The first posture data is automatically generated by the processing device 130 or 230 based on second posture data indicating the posture of the second robot 210 when performing the second task. Therefore, there is no need for a person to teach the posture of the first robot 110 when performing the first task. The control device 120 can reduce the time required for a person to teach the first robot 110.

[0028] For example, at a production site, one product is produced through a number of processes. In a production line using robots, different types of robots are used for each process. In some production lines, one robot performs an operation on a specific part of one component in one process, and then another robot performs an operation on the same part of the same component in another process. By applying the invention according to the embodiment to such a production line, it becomes unnecessary to teach the other robot the posture during work. For example, the time required for teaching can be shortened, and the operation of the production line can be accelerated.

[0029] As a reference example, there is a method of generating the first posture data based on design data. For example, the teaching device 320 generates an operation program for the first robot 110 based on the design data. This method is effective when the second posture data corresponds to the design posture data. By using the first posture data based on the design data, the other robot can perform work on the same location as the one robot performed work.

[0030] However, in reality, as described above, the design posture data may not be adopted and the posture may be taught on-site. In this case, if the first posture data is generated based on the design posture data as well, the other robot cannot perform work on the same location as the one robot has worked on. For this reason, it is preferable that the first posture data is generated based on the second posture data. According to the embodiment, even if the second posture data different from the design posture data is used, the other robot can perform work on the same location as the one robot has worked on.

[0031] Specific examples of the embodiment will be described below. Fig. 2 is a perspective view illustrating a first robot, and Fig. 3 is a schematic view illustrating a second robot. Here, a case will be described in which the first manipulator 111 and the second manipulator 211 are vertical articulated types having six degrees of freedom.

[0032] 2, the first manipulator 111 includes six joints J1a to J1f and six links L1a to L1f that are alternately connected. The joints J1a to J1f are each driven by a driving unit (not shown). The control device 120 drives the joints J1a to J1f, thereby adjusting the posture of the control point of the first robot 110.

[0033] 3, the second manipulator 211 includes six joints J2a to J2f and six links L1a to L1f that are alternately connected. The joints J2a to J2f are each driven by a driving unit (not shown). The control device 220 drives the joints J2a to J2f, thereby adjusting the posture of the control point of the second robot 210.

[0034] The control point is a point whose posture is controlled by the control device 120 or 220. The control point is set, for example, at an arbitrary point on each end effector. When a workpiece or a tool is held by the end effector, the control point may be set at an arbitrary point on the workpiece or the tool. Hereinafter, the "posture of the control point of the first robot 110" is also simply referred to as the "posture of the first robot 110". Similarly, the "posture of the control point of the second robot 210" is also simply referred to as the "posture of the second robot 210".

[0035] As a specific example, as shown in Fig. 2, the first end effector 112 includes a detector 112a and an application device 112b. The second end effector 212 includes a welding device. As shown in Fig. 3, the welding device includes a welding gun 212a, an upper electrode 212b, a lifting unit 212c, a lower electrode 212d, and a current supply unit 212e.

[0036] The second end effector 212 performs spot welding on the first member. That is, the second operation is spot welding. The first end effector 112 transmits ultrasonic waves toward the spot-welded welded portion and detects the reflected waves. That is, the first operation is obtaining information about the welded portion.

[0037] 4(a) and 4(b) are schematic diagrams illustrating the operation of the production system according to the embodiment. For example, the robot systems 100 and 200 execute a first operation and a second operation on a first member 10 shown in FIG.

[0038] For example, as shown in FIG. 4(a), the transport device T transports the first member 10 to a position where the second robot 210 is installed. The transport device T stops at a position preset for the second work. The second robot 210 performs spot welding on the first part P1 and the second part P2 of the first member 10. Specifically, the second manipulator 211 operates so that the first part P1 or the second part P2 is positioned between the upper electrode 212b and the lower electrode 212d. The lifting part 212c operates to move the upper electrode 212b toward the lower electrode 212d. The first member 10 is sandwiched between the upper electrode 212b and the lower electrode 212d. The current supply part 212e intermittently supplies a current between the upper electrode 212b and the lower electrode 212d. The steel plates 11 and 12 are partially melted and mixed together, and are joined.

[0039] The posture of the second robot 210 when performing spot welding is set based on the second posture data. For example, the second posture data includes coordinates (P X2 ,P Y2 ,P Z2 ) and the angles of the joints J2a to J2f (α J2a , α J2b , α J2c , α J2d , α J2e , α J2f ). When spot welding the first part P1, the control device 220 refers to the second posture data indicating the posture at the time of spot welding the first part P1. When spot welding the second part P2, the control device 220 refers to the second posture data indicating the posture at the time of spot welding the second part P2. For each spot welding, the control device 220 sets the posture of the second robot 210 based on the referred second posture data.

[0040] When the spot welding is completed, the transport device T transports the first member 10 to a position where the first robot 110 is installed. The transport device T stops at a position that is preset for the first work. The first robot 110 acquires information on the first part P1 and the second part P2 of the first member 10, as shown in FIG. 4(b). Specifically, the first manipulator 111 operates so that the application device 112b faces the first part P1. The application device 112b applies couplant to the first part P1. Next, the first manipulator 111 operates so that the tip of the detector 112a contacts the first part P1. The detector 112a transmits ultrasonic waves and detects the reflected waves. For example, three-dimensional data showing the intensity distribution of the reflected waves is acquired. The state of the first part P1 is reflected in this data. The first robot 110 also performs a similar operation on the second part P2.

[0041] The posture of the first robot 110 when acquiring data is set based on the first posture data. The first posture data, like the second posture data, includes coordinates (P X1 ,P Y1 ,P Z1 ) and the angles of the joints J1a to J1f (α J1a , α J1b , α J1c , α J1d , α J1e , α J1f ) and.

[0042] When the first end effector 112 includes a plurality of devices, first posture data is prepared for each of the devices. For example, when acquiring information on the first portion P1, the control device 120 refers to the first posture data indicating the posture when the couplant is applied to the first portion P1 and the first posture data indicating the posture when the information on the first portion P1 is acquired. The same is true when acquiring information on the second portion P2. When acquiring information on each portion, the control device 120 sets the posture of the first robot 110 based on the first posture data that it has referred to.

[0043] The first orientation data is generated using the second orientation data. For example, the first orientation data is generated by the processing device 230. The processing device 230 refers to the second orientation data, the first structure data, and the second structure data when generating the first orientation data.

[0044] The first structure data includes data indicating the structure of the first manipulator 111. The first structure data further includes data indicating the relationship between the posture of the first robot 110 and the posture of the tip of the first manipulator 111. The data indicating the structure of the first manipulator 111 includes the lengths (β L1a , β L1b , β L1c , β L1d , β L1e , β L1f The tip of the first manipulator 111 is connected to the joints J1a to J1f, and the angles (α J1a , α J1b , α J1c , α J1d , α J1e , α J1f ) and the length of each of the links L1a to L1f (β L1a , β L1b , β L1c , β L1d , β L1e , β L1f ) corresponds to the part whose orientation is calculated by The positional relationship is expressed, for example, by the displacement of the posture of the control point of the first robot 110 relative to the posture of the tip of the first manipulator 111. Specifically, the positional relationship is expressed by the displacement of the position in each of the X direction, Y direction, and Z direction (D X1 ,D Y1 ,D Z1 ) and the angular displacement around each direction (D θ1 ,D φ1 ,D ψ1 ) and is expressed as:

[0045] The second structure data includes data indicating the positional relationship between the control point of the second robot 210 and the tip of the second manipulator 211. The second structure data includes data indicating the structure of the second manipulator 211. The second structure data further includes data indicating the relationship between the posture of the second robot 210 and the posture of the tip of the second manipulator 211. The data indicating the structure of the second manipulator 211 includes the lengths (β L2a , β L2b , β L2c , β L2d , β L2e , β L2f The tip of the second manipulator 211 is connected to the joints J2a to J2f of the second manipulator 211. J2a , α J2b , α J2c , α J2d , α J2e , α J2f ) and the length of each of the links L2a to L2f (β L2a , β L2b , β L2c , β L2d , β L2e , β L2f ) corresponds to the part whose orientation is calculated by The positional relationship is expressed, for example, by the displacement of the attitude of the tip of the second manipulator 211 with respect to the attitude of the control point of the second robot 210. Specifically, the positional relationship is expressed by the displacement of the position in each of the X direction, Y direction, and Z direction (D X2 ,D Y2 ,D Z2 ) and the angular displacement around each direction (D θ2 ,D φ2 ,D ψ2 ) and is expressed as:

[0046] First, the processing device 230 uses the second posture data and the second structure data to calculate the posture of the second robot 210 when a specific portion is spot welded. Next, the processing device 230 uses the calculated posture and the first structure data to calculate the posture of the tip of the first manipulator 111 when the tip of the first end effector 112 is positioned at the portion to be spot welded. The processing device 230 calculates the posture of the tip of the first manipulator 111 calculated based on the posture of the tip of the first manipulator 111 and each of the lengths (β L1a , β L1b , β L1c , β L1d , β L1e , β L1f ) and by using the inverse kinematics calculation, the angles (α J1a , α J1b , α J1c , α J1d , α J1e , α J1f ) is calculated. In this way, the first posture data is generated. The first posture data includes the angles of the joints J1a to J1f when acquiring information on the spot-welded portion. The processing device 230 stores the generated first posture data in the storage device 310.

[0047] The coordinates included in the first orientation data and the coordinates included in the second orientation data may be included in different coordinate systems, or may be included in the same coordinate system. When generating the coordinates of the second orientation data based on the coordinates of the first orientation data, a correction according to the difference in the coordinate systems may be appropriately applied.

[0048] The above calculation may be omitted when the following conditions are satisfied. The first condition is that the length of the links L1a to L1f of the first manipulator 111 is the same as the length of the links L2a to L2f of the second manipulator 211, respectively. The second condition is that the positional relationship between the first robot 110 and the first member 10 during the first work is the same as the positional relationship between the second robot 210 and the first member 10 during the second work. The third condition is that the relationship between the posture of the first robot 110 and the posture of the tip of the first manipulator 111 is the same as the relationship between the posture of the second robot 210 and the posture of the tip of the second manipulator 211. When these conditions are satisfied, the processing device 230 may generate the second posture data as it is as the first posture data and store it in the storage device 310.

[0049] When the first end effector 112 includes a plurality of devices, first structure data is prepared for each of the devices. Each of the first structure data is used to generate first posture data when working with each of the devices.

[0050] The transport device T includes, for example, at least one of a belt conveyor, a roller conveyor, an automated guided vehicle (AGV), and an elevator. The transport device T may include a plurality of transport mechanisms. For example, a transport mechanism that transports a member to a position where the first robot 110 is installed and another transport mechanism that transports a member to a position where the second robot 210 is installed may be provided.

[0051] The operation of the transport device T may be controlled by the processing device 130 or 230, or may be controlled by another processing device. A higher-level processing device that manages the processing devices 130 and 230 may be provided, and the transport device T may be controlled by this higher-level processing device.

[0052] FIG. 5 is an example of data stored in the storage device. The storage device 310 stores, for example, the tables shown in Fig. 5(a) and Fig. 5(b). Fig. 5(a) shows a table (first table) including data related to a first task. Fig. 5(b) shows a table (second table) including data related to a second task.

[0053] Each table includes a process ID, process name, previous process ID, component ID, component name, robot ID, robot name, coordinates, and joint angles. The coordinates indicate the coordinates of the control point of the robot when performing that process. The joint angles indicate the angles of each joint of the robot when performing that process. In the table shown in FIG. 5(a), a combination of one coordinate and one joint angle corresponds to one piece of first posture data. In the table shown in FIG. 5(b), a combination of one coordinate and one joint angle corresponds to one piece of second posture data.

[0054] When generating the first orientation data, the processing device 230 refers to the first table. The processing device 230 extracts the previous process ID of each process and refers to the second table. The processing device 230 searches the second table for a process ID corresponding to the extracted previous process ID and extracts second orientation data linked to the process ID. The processing device 230 generates first orientation data based on the extracted second orientation data. The processing device 230 associates the generated first orientation data with the process ID corresponding to the extracted previous process ID in the first table and stores it.

[0055] When the first robot 110 performs the first task, the processing device 130 appropriately extracts the first posture data from the storage device 310 and transmits it to the control device 120. The control device 120 sets the posture of the first robot 110 based on the received first posture data, and causes the first robot 110 to perform the first task.

[0056] 6(a) and 6(b) are flowcharts showing processes in the production system according to the embodiment. Fig. 6(a) shows the process executed before the production line starts operating, and Fig. 6(b) shows the process executed while the production line is operating.

[0057] 6(a), the teaching device 320 generates, based on the design data, design posture data for when the second robot 210 performs the second task (step S1). Based on the design posture data, second posture data is generated (step S2). As described above, the second posture data may be generated based on the design posture data, or may be generated separately from the design posture data.

[0058] 6(b), the second robot 210 performs the second task in the posture indicated by the second posture data (step S3). The processing device 230 generates first posture data based on the second posture data (step S4). The first robot 110 performs the first task in the posture indicated by the first posture data (step S5). Note that step S4 may be performed after step S2 before the production line starts operating.

[0059] FIG. 7 is a perspective view showing the internal structure of the tip of the detector. A specific description will be given of the operation of the robot system 100. Here, an example will be described in which the robot system 100 is used as an inspection system for inspecting spot-welded welds.

[0060] A matrix sensor 401 shown in Fig. 7 is provided inside the tip of the detector 112a. The matrix sensor 401 includes a plurality of ultrasonic sensors 402. The ultrasonic sensors 402 are, for example, transducers. The plurality of ultrasonic sensors 402 are arranged along two directions (X direction and Y direction) that intersect with each other. In this example, the X direction and the Y direction are orthogonal to each other. Note that the X direction and the Y direction in which the plurality of ultrasonic sensors 402 are arranged may or may not correspond to the X direction and the Y direction of a coordinate system indicating the position of a control point.

[0061] 7 shows a state in which the first member 10 is inspected. The first member 10 is produced by spot welding a steel plate 11 and a steel plate 12 at a welded portion 13. At the welded portion 13, a part of the steel plate 11 and a part of the steel plate 12 melt, mix, and solidify to form a solidified portion 14. Each ultrasonic sensor 402 transmits ultrasonic waves US toward the first member 10 to which the couplant 15 is applied, and detects (receives) a reflected wave RW from the first member 10.

[0062] 7, one ultrasonic sensor 402 transmits ultrasonic waves US toward the welded portion 13. A part of the ultrasonic waves US is reflected by the upper or lower surface of the first member 10. Each of the multiple ultrasonic sensors 402 detects the reflected waves RW. Each ultrasonic sensor 402 transmits ultrasonic waves US in sequence, and each reflected wave RW is detected by the multiple ultrasonic sensors 402.

[0063] When each ultrasonic sensor 402 detects a reflected wave, a signal (current) is transmitted to the control device 120. The strength of the signal corresponds to the strength of the reflected wave. The control device 120 transmits data indicating the received signal strength to the processing device 130. The processing device 130 inspects the welded portion 13 based on the received data.

[0064] FIG. 8 is a schematic diagram for explaining the inspection method. 8(a), a portion of the ultrasonic wave US is reflected by the upper surface 10a of the steel plate 11 or the upper surface 10b of the welded portion 13. Another portion of the ultrasonic wave US enters the first member 10 and is reflected by the lower surface 10c of the steel plate 11 or the lower surface 10d of the welded portion 13.

[0065] The positions in the Z direction of the upper surface 10a, the upper surface 10b, the lower surface 10c, and the lower surface 10d are different from one another. That is, the distances in the Z direction between these surfaces and the ultrasonic sensor 402 are different from one another. When the ultrasonic sensor 402 receives the reflected waves from these surfaces, it detects the peaks of the intensity of the reflected waves. By calculating the time from transmitting the ultrasonic waves US until each peak is detected, it is possible to find out from which surface the ultrasonic waves US are being reflected.

[0066] 8(b) and 8(c) are graphs illustrating the relationship between the time after transmitting ultrasonic waves US and the intensity of the reflected waves RW. Here, the intensity of the reflected waves RW is expressed as an absolute value. The graph in FIG. 8(b) illustrates the reception results of the reflected waves RW from the upper surface 10a and the lower surface 10c of the steel plate 11. The graph in FIG. 8(c) illustrates the reception results of the reflected waves RW from the upper surface 10b and the lower surface 10d of the welded portion 13.

[0067] In the graph of Fig. 8(b), the first peak Pe1 is based on the reflected wave RW from the upper surface 10a. The second peak Pe2 is based on the reflected wave RW from the lower surface 10c. The times when the peaks Pe1 and Pe2 are detected correspond to the positions in the Z direction of the upper surface 10a and the lower surface 10c of the steel sheet 11, respectively. The time difference TD1 between the time when the peak Pe1 is detected and the time when the peak Pe2 is detected corresponds to the distance Di1 in the Z direction between the upper surface 10a and the lower surface 10c.

[0068] 8(c), the first peak Pe3 is based on the reflected wave RW from the upper surface 10b. The second peak Pe4 is based on the reflected wave RW from the lower surface 10d. The times when peaks Pe3 and Pe4 are detected correspond to the positions in the Z direction of the upper surface 10b and the lower surface 10d of the welded portion 13, respectively. The time difference TD2 between the time when peak Pe3 is detected and the time when peak Pe4 is detected corresponds to the distance Di2 in the Z direction between the upper surface 10b and the lower surface 10d.

[0069] The processing device 130 inspects whether each point near the welded portion 13 is welded from the time difference between adjacent peaks. The upper surface 10b and the lower surface 10d of the welded portion 13 may be inclined with respect to the upper surface 10a of the steel plate 11. This is due to the fact that the welded portion 13 includes a solidified portion 14, or due to deformation of the shape during the welding process. In this case, it is desirable to transmit ultrasonic waves US along a direction that is vertical to the upper surface 10b or the lower surface 10d on average. This allows the ultrasonic waves to be reflected more strongly by the upper surface 10b and the lower surface 10d, improving the accuracy of the inspection.

[0070] FIG. 9 is a flowchart showing a specific example of the first task. First, the control device 120 refers to first posture data indicating the posture of the first robot 110 when applying the couplant using the application device 112b. The control device 120 sets the posture of the first robot 110 based on the first posture data (step S41). The control device 120 causes the application device 112b to apply the couplant to the first member 10 (step S42). The control device 120 refers to first posture data indicating the posture of the first robot 110 when acquiring information using the detector 112a. The control device 120 sets the posture of the first robot 110 based on the first posture data (step S43). The control device 120 acquires information on the spot-welded welded portion using the detector 112a (step S44).

[0071] The control device 120 transmits the acquired information to the processing device 130. The processing device 130 processes the information and calculates the inclination of the detector 112a with respect to the first member 10 (step S45). The processing device 130 determines whether the inclination is less than a predetermined threshold (step S46). If the inclination is greater than the threshold, the control device 120 adjusts the attitude of the first robot 110 so that the inclination becomes smaller (step S47). After the attitude is adjusted, step S44 is executed again.

[0072] When the inclination is less than the threshold value, the processing device 130 inspects the welded portion using the information acquired in the immediately preceding step S44 (step S48). Specifically, the processing device 130 determines whether the first member 10 is properly welded in the welded portion. For example, the processing device 130 stores the inspection result in the storage device 310.

[0073] A specific example of a method for calculating the inclination will be described below. FIG. 10 is a diagram for explaining a method for calculating the tilt of the detector. 11 and 12 are examples of images showing the detected information.

[0074] FIG. 11 is three-dimensional volume data depicted based on the detection results of the reflected waves. FIG. 12(a) shows the surface of the weld 13 in the volume data shown in FIG. 11. FIG. 12(b) shows a YZ cross section near the weld 13 in the volume data shown in FIG. 11. FIG. 12(c) shows an XZ cross section near the weld 13 in the volume data shown in FIG. 11. In FIG. 12(b) and FIG. 12(c), the upper side is the surface of the weld 13, and data in the depth direction is shown downward. Parts with high brightness are parts where the reflection intensity of the ultrasonic waves is high. Ultrasonic waves are strongly reflected by the bottom surface of the weld 13, the surfaces between unjoined components, and the like.

[0075] The inclination of the detector 112a corresponds to the angle between a direction D1 perpendicular to the welded portion 13 and a direction D2 of the detector 112a shown in Fig. 10. This angle is represented by an angle θx about the X direction and an angle θy about the Y direction. The direction D2 is perpendicular to the arrangement direction of the ultrasonic sensors 402.

[0076] The angle θx is calculated based on the detection result in the YZ cross section as shown in Fig. 12(b). The angle θy is calculated based on the detection result in the XZ cross section as shown in Fig. 12(c). The processing device 130 calculates the average of the three-dimensional brightness gradient for each cross section as angles θx and θy. The processing device 130 stores the calculated angles θx and θy in the storage device 310 as the tilt of the detector 112a.

[0077] FIG. 13 is a diagram illustrating an example of the configuration of a processing device and a control device. Each of the control device 120, the processing device 130, the control device 220, and the processing device 230 includes a central processing unit (CPU) 501, a main memory 502, a non-volatile memory 503, an I / O interface 504, and a bus 505, for example, as shown in FIG.

[0078] The bus 505 connects the CPU 501, the main memory 502, the non-volatile memory 503, and the I / O interface 504 to one another.

[0079] The main memory 502 can be accessed faster than the nonvolatile memory 503. The main memory 502 includes, for example, a random access memory (RAM). The nonvolatile memory 503 is used as a storage area for various data. The nonvolatile memory 503 includes, for example, a read only memory (ROM), a flash memory, an optical disk, a magnetic disk, a removable memory device, or a combination of these. The I / O interface 504 is an interface device for connecting to another device.

[0080] The non-volatile memory 503 stores programs necessary for processing in the control device 120, the processing device 130, the control device 220, or the processing device 230. For example, the control device 120 or 220 stores a firmware program and a robot program for operating the first robot 110 or the second robot 210. The robot program describes the operation procedure of each robot. For example, in the control device 120 or 220, the CPU 501 loads the firmware program from the non-volatile memory 503 to the main memory 502. The CPU 501 executes the robot program based on the loaded firmware program. The CPU 501 interprets the robot program and calculates drive commands for each drive unit of the first robot 110 or the second robot 210 based on the result. The calculated drive commands are transmitted to each robot via the I / O interface 504.

[0081] Each of the control device 120, the processing device 130, the control device 220, and the processing device 230 may have the configuration shown in Fig. 13, or one device having the configuration shown in Fig. 13 may function as two or more selected from the control device 120, the processing device 130, the control device 220, and the processing device 230. For example, one control device may function as the control devices 120 and 220. One processing device may function as the processing devices 130 and 230.

[0082] The configuration shown in FIG. 13 is also applicable to the teaching device 320.

[0083] The time required for a person to teach the first robot can be reduced by using the above-described control device 120, robot system 100, inspection system, production system 300, or the control method executed by the control device 120. The same effect can be obtained by using a program that causes the control device of the robot system to execute the above-described control method.

[0084] The various data processing operations described above may be recorded on a magnetic disk (such as a flexible disk or hard disk), an optical disk (such as a CD-ROM, CD-R, CD-RW, DVD-ROM, DVD±R, DVD±RW), a semiconductor memory, or other recording medium as a program that can be executed by a computer.

[0085] For example, data recorded on a recording medium can be read by a computer (or an embedded system). The recording medium may have any recording format (storage format). For example, the computer reads a program from the recording medium and causes a CPU to execute instructions described in the program based on the program. In the computer, the program may be acquired (or read) through a network.

[0086] Although some embodiments of the present invention have been illustrated above, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, substitutions, modifications, etc. can be made without departing from the gist of the invention. These embodiments and their modifications are included in the scope and gist of the invention, and are included in the scope of the invention and its equivalents described in the claims. In addition, the above-mentioned embodiments can be implemented in combination with each other. [Explanation of symbols]

[0087] 10: first member, 11, 12: steel plate, 13: welded portion, 14: solidified portion, 15: couplant, 100: robot system, 110: first robot, 111: first manipulator, 112: first end effector, 112a: detector, 112b: coating device, 120: control device, 130: processing device, 200: robot system, 210: second robot, 211: second manipulator, 212: second end effector, 212a: welding gun, 212b: upper electrode, 212c: lifting unit, 212d: lower electrode, 212e: current supply unit, 220: control device, 230: processing device, 300: production system, 310: storage device, 320: teaching device, 330: storage device, 401: matrix sensor, 402: ultrasonic sensor, 501: CPU, 502: main memory, 503: non-volatile memory, 504: I / O interface, 505: bus, J1a to J1f, J2a to J2f: joints, L1a to L1f, L2a to L2f: links, RW: reflected wave, US: ultrasonic wave

Claims

1. receiving first pose data indicative of a pose of a first robot including a first manipulator and a first end effector; setting the posture of the first robot based on the first posture data, and causing the first robot to perform a first task on a first member; A control device, the first posture data is generated based on second posture data indicating a posture when a second robot including a second manipulator and a second end effector performs a second task on the first member; a position where the first end effector of the first robot, whose posture is set based on the first posture data, comes into contact with the first member in the first operation is a position where the second end effector of the second robot, whose posture is set based on the second posture data, comes into contact with the first member in the second operation, the first end effector includes a detector having an ultrasonic sensor; the second end effector includes a welding device for performing welding; In the first work, the first robot is caused to obtain information of a welded portion by using the detector; the information includes an intensity of a reflected ultrasonic wave from the weld; A control device that compares the inclination of the detector with respect to a direction perpendicular to the weld, calculated using the information, with a threshold value, and if the inclination is greater than the threshold value, changes the posture of the first robot so as to reduce the inclination.

2. receiving a plurality of the first attitude data; sequentially setting the posture of the first robot based on the plurality of first posture data; causing the first robot to perform the first task in each of the postures; The control device according to claim 1.

3. the plurality of first attitude data are generated based on a plurality of second attitude data, a part of the plurality of second posture data is generated based on design posture data generated from design data of the first member; The control device according to claim 2 , wherein another part of the plurality of second posture data is generated based on teaching to the second robot.

4. the first orientation data is generated using the second orientation data, the first structure data, and the second structure data; the first structure data indicates a structure of the first manipulator and a relationship between a posture of a tip end of the first manipulator and the posture of the first robot, The control device according to claim 1 , wherein the second structure data indicates a structure of the second manipulator and a relationship between a posture of a tip of the second manipulator and the posture of the second robot.

5. the first member is transported after the second operation by the second robot; The control device according to claim 1 , further comprising: a control unit for controlling a first robot to perform the first task on the first member that has been transported.

6. The welding device of the second end effector performs spot welding, 6. The control device according to claim 1, wherein, in the first task, the first robot is caused to obtain the information on the spot-welded welded portion using the detector.

7. The control device according to any one of claims 1 to 6, wherein the detector contacts the first member in a direction perpendicular to a surface of the first member during the first operation.

8. A control device according to any one of claims 1 to 7; A processing device; Equipped with The processor uses the information to inspect the weld or calculate the tilt of the detector.

9. The inspection system of claim 8 further comprising the first robot.

10. receiving first pose data indicative of a pose of a first robot including a first manipulator and a first end effector; setting the posture of the first robot based on the first posture data, and causing the first robot to perform a first task on a first member; 1. A control method comprising: the first posture data is generated based on second posture data indicating a posture when a second robot including a second manipulator and a second end effector performs a second task on the first member; a position where the first end effector of the first robot, whose posture is set based on the first posture data, comes into contact with the first member in the first operation is a position where the second end effector of the second robot, whose posture is set based on the second posture data, comes into contact with the first member in the second operation, the first end effector includes a detector having an ultrasonic sensor; the second end effector includes a welding device for performing welding; In the first work, the first robot is caused to obtain information of a welded portion by using the detector; the information includes an intensity of a reflected ultrasonic wave from the weld; A control method comprising: comparing an inclination of the detector with respect to a direction perpendicular to the weld, calculated using the information, with a threshold; and, if the inclination is greater than the threshold, changing the posture of the first robot so as to reduce the inclination.

11. The welding device of the second end effector performs spot welding, The control method according to claim 10 , further comprising the step of: causing the first robot to obtain the information about the spot-welded welded portion using the detector in the first operation.

12. causing a second robot including a welding device to perform spot welding on the first member; A method for manufacturing a joint, comprising: causing a first robot to acquire information on a welded portion formed by spot welding using a detector provided with an ultrasonic sensor, the method comprising: setting a posture of the first robot when the first robot acquires the information based on data of a posture of the second robot when the second robot performs the spot welding; a position where the first robot comes into contact with the first member when acquiring the information is a position where the second robot comes into contact with the first member when performing the spot welding; the information includes an intensity of a reflected ultrasonic wave from the weld; A method for manufacturing a joint, comprising: comparing an inclination of the detector with respect to a direction perpendicular to the weld, calculated using the information, with a threshold value; and, if the inclination is greater than the threshold value, changing the posture of the first robot so as to reduce the inclination.

13. receiving first pose data indicative of a pose of a first robot including a first manipulator and a first end effector; setting the posture of the first robot based on the first posture data, and causing the first robot to perform a first task on a first member; A program for causing a computer to function as a control device, the first posture data is generated based on second posture data indicating a posture when a second robot including a second manipulator and a second end effector performs a second task on the first member; a position where the first end effector of the first robot, whose posture is set based on the first posture data, comes into contact with the first member in the first operation is a position where the second end effector of the second robot, whose posture is set based on the second posture data, comes into contact with the first member in the second operation, the first end effector includes a detector having an ultrasonic sensor; the second end effector includes a welding device for performing welding; The control device causes the first robot to obtain information of a welded portion by using the detector during the first work; the information includes an intensity of a reflected ultrasonic wave from the weld; The control device compares the inclination of the detector with respect to a direction perpendicular to the weld, calculated using the information, with a threshold value, and if the inclination is greater than the threshold value, changes the posture of the first robot so that the inclination becomes smaller.

14. The welding device of the second end effector performs spot welding, The program according to claim 13 , wherein the control device causes the first robot to obtain the information on the welded portion spot-welded using the detector in the first operation.

15. A storage medium storing the program according to claim 13 or 14.

Citation Information

Patent Citations

  • Robot group control method

    JP1994043917A

  • Method and apparatus for evaluating spot-welded part

    JP1994265529A

  • Robot programming system by read-through

    JP1996069314A

  • Spot welding equipment

    JP2005334945A

  • Automatic welding / inspection method, automatic welding / inspection system, and program

    JP2010019777A