Robot control device, robot system, and robot control program
Patent Information
- Application Number
- JP2024571476
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2025-01-08
- Publication Date
- 2025-09-24
AI Technical Summary
Existing screw tightening robot systems face inefficiencies and precision issues when handling multiple types of bolts, requiring frequent parameter adjustments and socket replacements, leading to time-consuming and imprecise fastening operations on production lines.
A robot control device with a storage unit, acquisition unit, setting unit, and control unit that utilizes a fastener recognition sensor and force sensor to automatically acquire and set parameters for precise fastening operations, enabling efficient and precise screw tightening by recognizing bolt types and positions, and adjusting force control parameters accordingly.
The solution enables efficient and precise fastening operations by automatically recognizing bolt types and positions, adjusting parameters, and switching sockets, thereby reducing production time and improving precision in screw tightening tasks.
Abstract
Description
Robot control device, robot system, and robot control program
[0001] The present disclosure relates to a robot control device, a robot system, and a robot control program.
[0002] In recent years, screw tightening robot systems (robot systems) have come into use in various industries, in which robots perform fastening work using fasteners such as screws, bolts, and nuts. Known screw tightening robots that can be used in such screw tightening robot systems include, for example, a robot in which a nut runner (screw tightening device) is attached to the tip of the arm (hand) of an articulated robot, and a robot equipped with a force sensor (force sensor) that rotates and tightens screws without using a nut runner.
[0003] For example, during production operations, a screw tightening robot performs screw tightening (fastening) on workpieces (or work objects) that are conveyed down the production line. When tightening multiple types of bolts, for example, a worker (operator, user) manually or automatically adjusts the screw tightening parameters and replaces the sockets with appropriate ones before having the robot perform the screw tightening. To perform screw tightening (fastening) by force-controlling the robot, it is necessary to appropriately set parameters that define the relationship between the force applied to the workpiece and the robot's behavior.
[0004] Conventionally, various robot systems have been proposed for causing a robot to perform screw tightening work.
[0005] Japanese Unexamined Patent Publication No. 02-237784 Special Publication No. 2020-518468
[0006] As described above, in a robot system that causes a robot to perform screw tightening work, for example, to tighten multiple types of bolts, it is necessary to readjust parameters and perform processes such as socket replacement, etc. This takes time and effort, and poses a problem of inefficiency, particularly on a production line.
[0007] Furthermore, when performing screw tightening work on multiple types of bolts, it is difficult to control the magnitude and direction of the force applied to each bolt, which poses a problem, for example, making it difficult to perform bolt tightening work with high precision.
[0008] Therefore, it is desired to provide a robot control device, a robot system, and a robot control program that can perform fastening work using fasteners efficiently and with high precision.
[0009] According to one embodiment of the present disclosure, there is provided a robot control device that controls a robot to perform fastening work using a fastener, the robot control device including a memory unit, an acquisition unit, a setting unit, and a control unit.
[0010] The storage unit stores information about the fasteners in association with parameters for performing the fastening work, the acquisition unit acquires information about the fasteners that will perform the fastening work based on the output of the fastener recognition sensor, the setting unit acquires and sets parameters associated with the information about the fasteners from the storage unit based on the acquired information about the fasteners, and the control unit controls the robot based on the set parameters.
[0011] The objects and advantages of the invention will be realized and obtained by means of the elements and combinations particularly pointed out in the claims. Both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention as claimed.
[0012] FIG. 1 is a diagram schematically illustrating an example of a robot in a robot system according to this embodiment. FIG. 2 is a block diagram illustrating an example of a robot system according to this embodiment. FIG. 3 is a diagram illustrating an example of vision tracking in an example of a robot system according to this embodiment. FIG. 4 is a diagram illustrating processing associated with a fastening operation in the vision tracking shown in FIG. 3. FIG. 5 is a diagram illustrating an example of an image captured by a visual sensor in an example of a robot system according to this embodiment. FIG. 6 is a diagram illustrating an example of processing by a force sensor in an example of a robot system according to this embodiment. FIG. 7 is a diagram illustrating an example of a display image on a display device in an example of a robot system according to this embodiment. FIG. 8 is a block diagram illustrating another example of a robot system according to this embodiment. FIG. 9 is a diagram illustrating an example of processing in an example of a robot control program according to this embodiment. FIG. 10 is a flowchart illustrating an example of processing in an example of a robot control program according to this embodiment. FIG. 11 is a flowchart illustrating an example of processing in another example of a robot control program according to this embodiment.
[0013] Hereinafter, examples of a robot control device, a robot system, and a robot control program according to the present embodiment will be described in detail with reference to the accompanying drawings. In each drawing, identical or similar components are assigned identical or similar reference numerals. Furthermore, the embodiments described below do not limit the technical scope and meaning of the terms of the invention described in the claims.
[0014] 1 is a diagram schematically illustrating an example of a robot in a robot system according to this embodiment. In this figure, reference numeral 1 denotes a robot (screw tightening robot), 3 denotes a visual sensor (fastener recognition sensor), 4 denotes a force sensor, 5 denotes a nut runner (screw tightening device), SB denotes a socket (impact socket), B denotes a bolt, and W denotes a workpiece (object of work).
[0015] 1, the robot 1 is an articulated robot, and a nut runner 5 is attached to the tip (hand) of an arm 10. Each joint (axis) of the robot 1 is provided with a force sensor 4. The force sensor 4 detects the magnitude and direction (moment) of force at each joint of the robot 1, and is configured, for example, as a torque sensor (built-in torque sensor) built into each joint.
[0016] 1 shows an example in which the force sensor 4 is configured as a built-in torque sensor provided at each joint. Note that the force sensor 4 can also be configured as a force sensor provided on the base of the robot 1, for example, rather than as a built-in torque sensor provided at each joint. Furthermore, the force sensor 4 may be configured to detect, for example, the rotation axis (axis that tightens the screw) of the nut runner 5, i.e., the magnitude and direction of the force applied to the bolt B.
[0017] A visual sensor 3 for capturing images of, for example, the workpiece W and the bolt B is attached to the tip of the arm 10. The visual sensor 3 has an imaging element such as a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS), an optical lens for focusing the image on the imaging element, an image processor, etc., and acquires visual information.
[0018] Here, the visual sensor 3 may be a plurality of visual cameras for capturing images of three-dimensional shapes, a LiDAR (Light Detection and Ranging) or ToF (Time-of-flight) camera, or a camera using a laser light cutting method. Depending on the target and specifications of the robot system, a two-dimensional sensor (one visual camera) for capturing images of two-dimensional shapes may also be used to reduce costs. Furthermore, the visual sensor 3 is not limited to being attached to the tip of the arm 10, but may also be provided above or to the side of the robot 1, for example. It may also be configured by combining a plurality of devices located in different positions.
[0019] The visual sensor 3 is an example of a fastener recognition sensor that recognizes information (fastener B information) such as the type of bolt (fastener) B used in the screw tightening operation and its position relative to the workpiece W, and is not limited to a visual sensor as long as it can acquire information about the fastener B (for example, size information). Also, while FIG. 1 shows a case in which the bolt B is tightened to the workpiece W by the nut runner 5, the bolt B may be a screw, a nut, or another tightening part (fastener). Furthermore, the nut runner 5 and the socket SB are merely examples, and various external devices capable of tightening fasteners may also be applied.
[0020] Based on the output of the visual sensor 3 (commands from the robot control device 2), the nut runner 5 changes to a socket (impact socket) SB suitable for the type of bolt B to be fastened to the workpiece W, and uses this socket SB to fasten the bolt B to a predetermined location on the workpiece W. Furthermore, based on the output of the force sensor 4 (commands from the robot control device 2), the nut runner 5 is configured to control, for example, the magnitude of the force (tightening torque, etc.: parameter) used to fasten the bolt B to a predetermined location on the workpiece W. Here, for example, the tip of the bolt B is inserted in advance into a predetermined location (tightening hole) on the workpiece W, but it goes without saying that various changes and modifications are possible depending on the screw fastening mechanism of the nut runner 5 and the robot 1.
[0021] While FIG. 1 illustrates the bolt B being tightened vertically from top to bottom against the workpiece W, the tightening direction of the bolt B against the workpiece W may be any direction. Furthermore, the robot 1 is not limited to an articulated robot, nor is it limited to one that performs screw tightening operations using a nut runner 5. That is, various external devices capable of screw tightening may be applied without using a nut runner 5, or the robot may have an additional shaft (tightening motor: electric motor) for tightening the bolt B. If the robot 1 has an additional shaft for tightening the bolt B without using a nut runner 5, the force sensor 4 may be provided at any location as long as the magnitude and direction of the force tightening the bolt B by the additional shaft can be detected. Furthermore, the robot 1 is not limited to tightening bolts and screws, and may also perform tightening operations for various fasteners. For example, instead of screwing the bolt B into a hole, the robot may insert a pin (fastener) into the hole. For example, the robot may select and insert (tighten) the optimal pin for the hole based on information (size information) about the size of the hole captured by the vision sensor 3.
[0022] Figure 2 is a block diagram showing an example of a robot system according to this embodiment. As shown in Figure 2, the robot system 100 of this embodiment includes a robot (screw tightening robot) 1, a robot control device 2, a fastener recognition sensor 3, a force sensor 4, a nut runner 5, an operation panel (teaching operation panel) 6, and a display device 7. Note that the visual sensor is an example of the fastener recognition sensor 3 that recognizes information (fastener information) such as the type of bolt B used in the tightening operation (screw tightening operation) and its position relative to the workpiece W, but as mentioned above, the fastener recognition sensor 3 is not limited to a visual sensor.
[0023] The robot control device 2 controls the robot 1 to perform a fastening operation (screw tightening operation) using a fastener (bolt B), and includes a storage unit 21, an acquisition unit 22, a setting unit 23, and a control unit (arithmetic processing device) 24. The output of the fastener recognition sensor 3 and the output of the force sensor 4 are input to the robot control device 2, and as will be described in detail below, the robot control device 2 causes the robot 1 to perform a fastening operation based on the information about the fastener.
[0024] The storage unit 21 stores a robot control program for controlling the robot 1 via the control unit 24 to perform a fastening operation using a fastener. The storage unit 21 also stores fastener model information (detection models VB1, VB2, ... of multiple different types of bolts B1, B2, ...) in association with (linked to) parameters for performing the fastening operation (force control parameters FB1, FB2, ...). The storage unit 21 also stores fastener model information in association with information on sockets (SB1, SB2, ...) used in the fastening operation. Note that processing in an example of vision tracking to which an embodiment of the robot system according to this embodiment is applied will be described in detail later with reference to FIGS. 3 to 6.
[0025] The acquisition unit 22 acquires information about the fastener that will perform the fastening work based on the output of the fastener recognition sensor 3. That is, the acquisition unit 22 receives, for example, image information captured by the visual sensor 3, and acquires model information (detection model VB) of the bolt B that will perform the screw tightening work and its position information relative to the workpiece W. Here, the fastener information includes, for example, not only bolt information indicating the type of bolt B that will perform the screw tightening work, but also position information of the bolt B that will perform the screw tightening work relative to the workpiece W. This is because, even when the same bolt B is to be screwed, appropriate parameters such as tightening torque differ depending on its position relative to the workpiece W.
[0026] The setting unit 23 acquires and sets corresponding parameters from the storage unit 21 based on the acquired fastener information. That is, the setting unit 23 acquires and sets parameters associated with the acquired information (e.g., size information) of the bolt B from the storage unit 21 based on the model information of the bolt B acquired by the acquisition unit 22. Here, the parameters based on the model information of the bolt B stored in the storage unit 21 can be set for model information of the bolt B that is assumed in advance, for example, before the actual screw tightening operation is performed. An example of this advance processing will be described in detail later with reference to FIGS. 9 and 10.
[0027] The control unit 24 controls the robot 1 based on the set parameters, causing the robot 1 to perform the work of tightening a fastener. That is, the control unit 24 controls the robot 1 to perform the screw tightening work, for example, using parameters set based on model information of the bolt B and its position information relative to the workpiece W. Here, the control unit 24 can automatically switch (automatically replace) the socket SB for tightening the bolt B with a socket corresponding to the type of bolt B to be tightened, and cause the robot 1 to perform the screw tightening work. Note that various known methods can be used for the automatic socket switching.
[0028] As described above, the fastener recognition sensor 3 is used to recognize information such as the type of fastener B used in the screw tightening operation and its position relative to the workpiece W, and can be, for example, a visual sensor 3 that captures an image including the fastener B and the workpiece W. As described above, the fastener recognition sensor 3 can be a LiDAR or ToF camera, or a camera that uses a laser light light cutting method.
[0029] The force sensor 4 is a sensor for detecting and feedback-controlling force control parameters such as the pressing force and tightening moment applied to the fastener by the nut runner 5. Note that the force sensor 4 can be a multi-axis force sensor having multiple strain gauges provided at each joint of the robot 1, a built-in torque sensor, or a force sensor that detects the force applied to an additional axis that tightens the screw.
[0030] The control panel 6 is, for example, handheld and portable by an operator and is used to teach various operations to the robot 1, and the display device 7 is used to provide the operator with various information by means of images. The display device 7 does not have to be provided as a standalone device, but can be provided in the control panel 6 or the robot control device 2. The control panel 6 and the display device 7 can be selected and applied appropriately depending on the target to which the robot system 100 is applied and the work to be performed by the robot 1.
[0031] 3 is a diagram illustrating an example of vision tracking in an embodiment of the robot system according to this embodiment. Vision tracking, also known as conveyor tracking, involves performing a predetermined task on a workpiece (work object) W on a conveyor equipped with a sensor that recognizes the distance and speed of movement, using the output of a visual sensor (vision camera). That is, FIG. 3 shows how multiple types of bolts B are being screwed onto multiple workpieces W on a production line using a conveyor.
[0032] 3, reference numerals 1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 110, 111, 112, 113, 114, 115, 116, 117, 118, 120, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 1
[0033] That is, based on the image information captured by the visual sensor 3, the robot control device 2 acquires information (detection model) VB of the bolt B to be tightened, and position information of the bolt B relative to the workpiece W. Furthermore, the robot control device 2 sets corresponding parameters based on the acquired model information of the bolt B and the position information relative to the workpiece W, and causes the robot 1 (nut runner 5) to tighten the bolt B using the set parameters.
[0034] At this time, if the model of the bolt B to be tightened next is different from the model of the bolt B tightened immediately before, the socket SB is replaced with one corresponding to the bolt B to be tightened next, and then the tightening operation is performed. When tightening the bolt B, the robot control device 2 controls the parameters for actually performing the tightening operation based on the set parameters corresponding to the bolt B and the output of the force sensor 4.
[0035] Fig. 4 is a diagram for explaining the processing involved in the fastening operation in the vision tracking shown in Fig. 3. Fig. 5 is a diagram for explaining an example of an image captured by a visual sensor in an example of the robot system according to this embodiment. Fig. 6 is a diagram for explaining an example of processing by a force sensor in an example of the robot system according to this embodiment, showing the nut runner 5 attached to the tip of the arm 10 of the robot 1.
[0036] Here, Fig. 4(a) shows different types B1, B2, B3, ... of fasteners (bolts B), Fig. 4(b) shows detection models VB (VB1, VB2, VB3, ...) corresponding to each bolt B (B1, B2, B3, ...), Fig. 4(c) shows parameters FB (FB1, FB2, FB3, ...) corresponding to each bolt B (B1, B2, B3, ...), and Fig. 4(d) shows sockets SB (SB1, SB2, SB3, ...) corresponding to each bolt B (B1, B2, B3, ...).
[0037] 4(c) only depicts the axial force (axial force) and rotational force (tightening torque) that press against the bolt B as the parameter FB, but it goes without saying that various other parameters can be included. Also, while one type of parameter FB is used for different types of bolts B, for example, the same bolt B may be associated with multiple different parameters adjusted depending on the type and position of the workpiece W to be tightened. This is because, for example, even for bolts B of the same model, parameters such as the optimum tightening torque will differ depending on the tightening position relative to the workpiece W.
[0038] 1 and 2, a plurality of different types of bolts B1, B2, B3, ... and parameters FB1, FB2, FB3, ... for tightening the respective bolts B1, B2, B3, ... are associated and stored in storage unit 21. Furthermore, storage unit 21 can also store the types of bolts (model information) B1, B2, B3, ... and the types of sockets SB (socket information) SB1, SB2, ... to be applied to each bolt, associated with each other. The association (teaching process) of parameters FB1, FB2, FB3, ... for a plurality of different types of bolts B1, B2, B3, ... will be described in detail later with reference to FIGS. 9 and 10.
[0039] 5, the acquisition unit 22 extracts and acquires information (detection model VB) of bolt B from an image (captured image) 300 captured by the visual sensor 3. Furthermore, the acquisition unit 22 compares the detection model VB extracted from the image 300 captured by the visual sensor 3 with the detection models VB1, VB2, VB3, ... shown in FIG. 4(b) to identify (recognize) the model of bolt B to be tightened.
[0040] 5, the image 300 captured by the visual sensor 3 includes not only the bolt B to be fastened, but also various other components attached to the workpiece W. The acquisition unit 22 extracts the bolt B to be fastened from the captured image 300 that includes the various other components, and acquires information (detection model) VB about the bolt B.
[0041] The setting unit 23 reads out parameters corresponding to the acquired detection model VB of bolt B from the storage unit 21 and sets the parameters. Here, the parameters set by the setting unit 23 include, for example, a force control parameter FB and a parameter (NB) of the nut runner 5. If the acquisition unit 22 is also able to acquire position information of the bolt B performing the screw tightening operation relative to the workpiece W, the setting unit 23 will set the parameter FB (NB) corresponding to the detection model VB of bolt B that includes not only the model information of bolt B but also the position information relative to the workpiece W.
[0042] 6, for example, based on an image 300 captured by the visual sensor 3, the control unit 24 moves the tip of the socket SB of the nut runner 5 attached to the tip of the arm 10 of the robot 1 to the position of the bottle B where the screw tightening operation is to be performed. Furthermore, the control unit 24, for example, fits the head of the bottle B where the screw tightening operation is to be performed into the tip of the socket SB of the nut runner 5, and controls the robot 1 (nut runner 5) based on the set parameters FB (NB) to perform the screw tightening operation of the bolt B.
[0043] That is, the control unit 24 controls the robot 1 so that the bolt B to be fastened is fastened using the parameters FB set by the setting unit 23 based on the model information of the bolt B and its position information relative to the workpiece W. As described above, the control unit 24 can automatically switch the socket SB for fastening the bolt B to a socket SB corresponding to the type of bolt B to be fastened, and cause the robot 1 to perform the fastening operation.
[0044] The visual sensor 3 is not limited to a visual camera, but may be a LiDAR or ToF camera, or an optical device that applies a laser light light cutting method, as long as it can identify the type of bolt B to be fastened. Furthermore, the position of the bolt B to be fastened to the workpiece W is not limited to being calculated from an image captured by the visual sensor 3, but can also be calculated, for example, from the tip position of the socket SB of the nut runner 5 obtained from the rotation angle of each axis of the robot 1.
[0045] Alternatively, depending on the application, it is also possible to use the tip of the socket SB as a fastener recognition sensor 3, and, for example, to recognize the detection model VB of the bolt B by repeatedly replacing the socket SB and inserting the bolt B.
[0046] 7 is a diagram for explaining an example of a display image on a display device in an example of the robot system according to this embodiment, showing an example of a display image when an abnormality occurs during screw tightening work. As explained with reference to FIG. 2, the display device 7 may be disposed as a standalone device, but it may also be provided in the robot control device 2 or the operation panel 6 that teaches various operations to the robot 1.
[0047] Furthermore, the display device 7 does not have to be disposed near the robot 1, but can be connected to the robot control device 2 via a communication line (for example, a LAN (Local Area Network)) and installed in a location (such as an operation room) separated from the robot 1. Here, in the operation room where the display device 7 is installed, for example, an operator (worker) can refer to the display device 7 to perform various processes. Furthermore, the image displayed on the display device 7 is not limited to an image taken at the time when the screw tightening work is actually being performed (in real time), and may be, for example, an image that reproduces the screw tightening work using stored data.
[0048] As shown in Fig. 7, the display device 7 (display screen) has display areas 7a to 7d arranged thereon for the operator to refer to and perform various processes. Here, display area 7a directly displays the image 300 captured by the visual sensor 3, for example, the image shown in Fig. 5 described above, while display area 7b displays the work performed by the robot 1 (robot system 100) over time. Furthermore, display area 7c displays the execution history of force control for the screw tightening work (screw tightening and force control execution results), and display area 7d displays the visual execution history of the screw tightening work (screw tightening and vision execution results).
[0049] Furthermore, the display device 7 is also provided with, for example, touch-type or press-type operation buttons (operation areas) 7e to 7g. Operation button 7e is operated to transition to a vision (visual) parameter setting screen when, for example, an abnormality occurs and a vision parameter needs to be adjusted. Operation button 7f is operated to transition to a force control (kinematic) parameter setting screen when, for example, an abnormality occurs and a force control parameter needs to be adjusted. Operation button 7g is operated to update settings, for example. Note that visual and kinematic parameter adjustment (including adjustment of parameters NB for nut runners, etc.) can be performed automatically, but can also be performed manually by an operator taking into account various conditions, such as the target product and its specifications.
[0050] Here, for example, if an alarm occurs during force control execution in the display area 7c, the visual and haptic parameters related to the alarm are automatically highlighted, allowing the worker to identify and solve the problem within a short period of time. Note that the alarm (warning information) can be made known to the worker by, for example, a warning display on the screen of the display device 7, or by a warning output unit such as the output of a warning sound or warning lamp from the robot control device 2 or the operation panel 6.
[0051] Specifically, consider the case where an alarm occurs when the torque is too large and the insertion depth is too short during screw tightening (2. Function Screw tightening). In other words, consider the case where bolt B is not inserted at the correct angle into the tightening hole during screw tightening, causing an alarm (3. Alarm No. 576) to occur in force control.
[0052] At this time, the display area 7a displays an image (image 300 captured by the visual sensor 3) of the bolt B being tightened when the alarm occurred. The display area 7c also displays the torque (8. generated force: large) and insertion depth (4. reached depth: short) applied to the bolt B when the alarm occurred, as well as the angle (5. posture change in degrees) of the bolt B being tightened (detection model: vision model) VB, which is visually detected.
[0053] This allows the worker to quickly and easily identify the cause of an alarm (abnormality) that occurs during, for example, the screw tightening operation of bolt B. Furthermore, by using display areas 7b and 7d and operation buttons 7e to 7g, the worker can not only identify the problem that caused the abnormality, but also quickly and easily adjust the vision settings and force control settings (visual and force parameters) to prevent similar abnormalities from occurring. In other words, during screw tightening operations using force control, the worker can intuitively grasp the diagnostic data when an abnormality occurs, allowing the worker to quickly and easily investigate the cause of the screw tightening operation failure. Note that the display screen (display device 7) shown in FIG. 7 is merely an example, and various modifications and variations are possible.
[0054] 8 is a block diagram showing another example of the robot system according to this embodiment. The robot system 100′ of this example includes a robot 1, a robot control device 2, a visual sensor 3, a visual data processing device 30, a force sensor 4, a force data processing device 40, a nut runner 5, a control panel 6, and a display device 7.
[0055] 8 and the aforementioned Fig. 2, the robot system 100' shown in Fig. 8 additionally includes a visual data processing device 30 and a force data processing device 40. In other words, in the robot system 100 shown in Fig. 2, the visual data processing device 30 and the force data processing device 40 share and process various functions of the robot control device 2, for example.
[0056] The visual data processing device 30 is provided between the visual sensor 3 and the robot control device 2, and includes a storage unit 31 and a visual data processing unit 32. The visual data processing unit 32 receives and processes images captured by the visual sensor 3, and has, for example, a portion of the functions of the acquisition unit 22 that extracts and acquires a detection model VB of bolt B from the captured image. The storage unit 31 also has, for example, a portion of the functions of the storage unit 21 that pre-stores detection models VB1, VB2, VB3, ... shown in FIG. 4(b). Note that the visual data processing unit 32 may also have, for example, a portion of the functions of the control unit 24 that compares the extracted detection model VB with the detection models VB1, VB2, VB3, ... shown in FIG. 4(b) to identify the model of bolt B to be tightened.
[0057] The force data processing device 40 is provided between the force sensor 4 and the robot control device 2, and includes a storage unit 41, a force data processing unit 42, and an automatic adjustment unit 43. The force data processing unit 42 receives the output of the force sensor 4 and determines the magnitude and direction of the force. Note that the force data processing unit 42 can have, for example, a part of the function of the control unit 24 that performs feedback control based on the pressing force and tightening torque applied to the bolt B obtained by processing the output of the force sensor 4.
[0058] The memory unit 41 has a part of the function of the memory unit 21, which stores, for example, parameters FB1, FB2, FB3, ... corresponding to each bolt shown in Fig. 4(c). Furthermore, the automatic adjustment unit 43 has a part of the function of the control unit 24, which automatically adjusts (feedback controls) the force applied to the bolt B by the robot 1 (nut runner 5) in accordance with the parameters corresponding to the bolt B that is being tightened.
[0059] Here, the force data processing device 40 can also be used, for example, to prepare parameters for each of the bolts B1, B2, B3, ... before actually performing a screw tightening operation. The automatic adjustment unit 43 can apply a known technique for adjusting parameters, for example, by automatically executing force control multiple times. Thus, the robot system according to this embodiment is not limited to the one shown in FIGS. 2 and 8 , and various changes and modifications are possible.
[0060] Fig. 9 is a diagram for explaining an example of processing in an example of a robot control program according to this embodiment, and Fig. 10 is a flowchart for explaining an example of processing in an example of a robot control program according to this embodiment. Here, Figs. 9 and 10 are for explaining an example of processing in a pre-teaching program (bolt registration program) that is performed before a screw tightening process on an actual production line.
[0061] The advance teaching program is stored, for example, in the memory unit 21 of the robot control device 2 and executed by the control unit 24, and each item is set manually or automatically based on an image (detection model) VB of the bolt B extracted from an image captured by the visual sensor 3. Specifically, for example, when part of the teaching process is performed manually, by operating (pressing) the No. 1 button VB1 in Figure 9, a screen such as the one shown in the lower right is displayed on the display device 7, and various items are set.
[0062] That is, the detection models VB1, VB2, ... (VB), force control parameters FB1, FB2, ... (FB), nut runner parameters NB1, NB2, ... (NB), and sockets SB1, SB2, ... (SB) are associated with each other and stored (taught) in the storage unit 21. The completion / incompletion of the teaching process for each item can be confirmed by a completion mark in the upper right corner of each item. Specifically, in Figure 9, it is indicated that the teaching process for the detection model VB1 and parameter FB1 has been completed (MV1, MF1), and that the teaching process for the nut runner NB1 and socket SB1 has not been completed (MN1, MS1).
[0063] 9 merely shows one example, and various modifications and changes are possible to the items set in association with the detection model VB of bolt B extracted from the image captured by the visual sensor 3, as well as the screens and operations displayed on the display device 7. Next, an example of processing in one example of a robot control program according to this embodiment will be described with reference to the flowchart in FIG.
[0064] As shown in FIG. 10 , when an example of processing in an example of a robot control program (pre-teaching program) according to this embodiment starts (START), necessary screw tightening parameters are taught in step ST11. That is, in step ST11, parameters necessary for performing a screw tightening operation, such as a force control parameter FB and a nut runner 5 parameter NB, are taught. Note that if various external devices capable of screw tightening without using the nut runner 5 or additional axes for tightening bolts B are applied to the robot 1, the parameters (NB, FB) necessary for performing a screw tightening operation using those external devices or additional axes are taught. This parameter teaching can be performed using a known technique for automatically adjusting parameters by automatically executing force control multiple times, for example. Parameters can also be set or adjusted manually.
[0065] Next, the process proceeds to step ST12, where the screw tightening parameters for the bolt B to be worked on are adjusted manually or automatically. For example, the parameters for the multiple bolts (B1, B2, B3, ...) to be worked on may be automatically adjusted (set) to values prepared in advance by the manufacturer (provider), or the operator (worker) may individually adjust (fine-tune) the parameters (FB, NB). The automatic adjustment of the parameters (FB, NB) can be performed, for example, by the automatic adjustment unit 43 (force data processing device 40) in FIG. 8 described above.
[0066] Then, the process proceeds to step ST13, where detection models VB1, VB2, VB3, ... of the bolts to be worked on are taught by the visual sensor 3. That is, in step ST13, the images of the bolts (VB1, VB2, VB3, ...) in the images captured by the visual sensor 3 are taught.
[0067] Then, the process proceeds to step ST14, where parameters, detection models, sockets, etc. are associated with each bolt type. For example, as described with reference to Fig. 4, parameters FB1, FB2, ..., detection models VB1, VB2, ..., sockets SB1, SB2, ..., etc. are associated with bolt types B1, B2, ....
[0068] The program then proceeds to step ST15, where the visual sensor 3 detects the bolt B, and the program proceeds to step ST16. In step ST16, it is determined whether the bolt type is a registered one. If it is determined that the bolt type is not a registered one (NO), the program returns to step ST11 and performs the same processing. If it is determined that the bolt type is a registered one (YES), the program ends (END). The above-described advance teaching program is merely an example, and it goes without saying that various changes and modifications are possible.
[0069] 11 is a flowchart for explaining an example of processing in another example of the robot control program according to this embodiment, and is intended to explain an example of processing in an actual production line to tighten a bolt onto a workpiece W. This example of the robot control program according to this embodiment is stored, for example, in the memory unit 21 of the robot control device 2 shown in FIG. 2 and executed by the control unit (arithmetic processing device) 24.
[0070] 11 , when an example of processing in another example (screw tightening control program) of the robot control program according to this embodiment starts (START), in step ST21, the visual sensor 3 detects the bolt B. That is, from an image including the workpiece W and the bolt B captured by the visual sensor 3, the bolt B to be tightened is detected, and the process proceeds to step ST22.
[0071] In step ST22, it is determined whether the detected bolt B is a registered bolt type, that is, it is determined whether the detected bolt B is included in the bolt types registered by the advance teaching program described with reference to Figures 9 and 10. Then, in step ST22, if it is determined that the detected bolt B is not a registered bolt type (NO), in other words, that it is a new bolt type, the process proceeds to step ST27.
[0072] In step ST27, an alarm stating "Unregistered bolt type" is generated, and the worker performs a predetermined process based on this alarm, for example, the process performed after it is determined that the type of bolt is not included in the registered bolt types (NO) in step ST16 of Figure 10 described above.
[0073] On the other hand, if it is determined in step ST22 that the detected bolt B is a registered bolt type (YES), the process proceeds to step ST23, where the screw tightening parameters are automatically set and the socket is automatically switched over. That is, the parameters corresponding to the bolt B to be tightened are set, and the socket SB is switched over to the socket SB corresponding to the bolt B to be tightened.
[0074] Next, the process proceeds to step ST24, where the robot is moved to a vision correction position and performs bolt tightening operation using force control. For example, the center position of the head of the bolt B to be tightened is determined from the image captured by the visual sensor 3, the end of the socket SB of the nut runner 5 is moved to the center position of the head of the bolt B to be tightened, and the screw tightening operation is performed according to the set parameters. Here, the vision correction position in step ST24 corresponds to the center position of the head of the bolt B to be tightened, determined from the image captured by the visual sensor 3.
[0075] Then, the process proceeds to step ST25, where it is determined whether an abnormality has occurred, and if it is determined that no abnormality has occurred (NO), the tightening operation of bolt B is terminated (END), but if it is determined that an abnormality has occurred (YES), the process proceeds to step ST26, where a diagnosis is made in the event of an abnormality. That is, in step ST26, the problem that caused the abnormality is identified from the execution history, and parameters are adjusted to prevent further occurrence of the abnormality.
[0076] In this way, the robot control program (advance teaching program and screw tightening control program) according to this embodiment enables efficient screw tightening work and easy diagnosis in the event of an abnormality. The robot control program described above is executed, for example, by the control unit 24 of the robot control device 2, but can also be executed by an externally added computer or the like if the processing capacity is insufficient.
[0077] The robot control program according to the present embodiment described above may be provided by recording it on a computer-readable non-transitory recording medium or non-volatile semiconductor memory, or may be provided via a wired or wireless connection. Examples of computer-readable non-transitory recording media include optical disks such as CD-ROMs (Compact Disc Read Only Memory) and DVD-ROMs, or hard disk drives. Examples of non-volatile semiconductor memory include PROMs (Programmable Read Only Memory) and flash memory. Furthermore, distribution from a server device may be via a wired or wireless LAN or a WAN (Wide Area Network) such as the Internet.
[0078] As described above in detail, the robot control device, robot system, and robot control program according to this embodiment make it possible to perform fastening work using fasteners efficiently and with high precision.
[0079] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values or mathematical expressions are used in the description of the above-described embodiments.
[0080] The following supplementary notes are further disclosed regarding the above embodiment and modified examples. [Supplementary Note 1] A robot control device (2) that controls a robot (1) to cause the robot (1) to perform a fastening operation using a fastener (B), comprising: a storage unit (21) that stores information about the fastener (B) and parameters (FB, NB) for performing the fastening operation in association with each other; an acquisition unit (22) that acquires information (VB) about the fastener (B) that performs the fastening operation based on an output of a fastener recognition sensor (3); a setting unit (23) that acquires from the storage unit (21) and sets the parameters (FB, NB) associated with the information about the fastener (B) based on the acquired information about the fastener (B); and a control unit (24) that controls the robot (1) based on the set parameters (FB, NB). [Supplementary Note 2] The robot control device according to Supplementary Note 1, wherein the control unit (24) controls the robot (1) based on the output of a force sensor (4) that detects a force control parameter (FB) applied to the fastener (B) when performing the fastening work, and the set parameters (FB, NB). [Supplementary Note 3] The robot control device according to Supplementary Note 1 or Supplementary Note 2, wherein the information on the fastener (B) includes model information (VB1, VB2, VB3, ...) of each fastener (B1, B2, B3, ...). [Supplementary Note 4] The robot control device according to any one of Supplementary Note 1 to Supplementary Note 3, wherein the information on the fastener (B) includes position information of each fastener (B1, B2, B3, ...) on a work object (W). [Supplementary Note 5] The robot control device according to any one of Supplementary Note 1 to Supplementary Note 4, wherein the fastener recognition sensor (3) is a visual sensor that captures an image including the fastener (B) and the work object (W).[Supplementary Note 6] The robot control device according to any one of Supplementary Notes 1 to 5, wherein the robot (1) includes a replaceable socket (SB), the memory unit (21) stores information on the fastener (B) and information on the socket (SB) used when performing the fastening work in association with each other, the setting unit (23) acquires information on the socket (SB) associated with the information on the fastener (B) from the memory unit (21) based on the acquired information on the fastener (B) and sets the information, and the control unit (24) switches the socket (SB) used when performing the fastening work based on the set information on the socket (SB). [Supplementary Note 7] The robot control device according to any one of Supplementary Notes 1 to 6, wherein the robot (1) includes an external device (5) or an additional axis that performs the fastening work using the fastener (B), and the control unit (24) controls a force control parameter (FB) of the robot and parameters (NB, FB) of the external device (5) or the additional axis based on the parameters (FB, NB) set by the setting unit (23). [Supplementary Note 8] The robot control device according to Supplementary Note 7, wherein the external device (5) is a nut runner. [Supplementary Note 9] The robot control device according to any one of Supplementary Notes 1 to 8, wherein the fastener (B) is a bolt, and the fastening work using the fastener (B) is a screw tightening work of the bolt (B). [Supplementary Note 10] The robot control device according to any one of Supplementary Notes 1 to 9, further comprising a warning output unit (7, 2, 6) that outputs warning information when an abnormality occurs in the fastening work, and the control unit (24), after the warning output unit (7, 2, 6) outputs the warning information, determines a cause of the output of the warning information and takes appropriate action based on information on the fastener (B) performing the fastening work acquired by the acquisition unit (22), the output of the force sensor (4), and the parameters (FB, NB) set by the setting unit (23). [Supplementary Note 11] A robot system (100, 100') comprising: the robot control device (2) according to any one of Supplementary Notes 1 to 10; the robot (1); the fastener recognition sensor (3); and the force sensor (4).[Supplementary Note 12] The robot system according to Supplementary Note 11, further comprising a display device (7) that displays information about the fastener (B) performing the fastening work acquired by the acquisition unit (22), the output of the force sensor (4), and the parameters (FB, NB) set by the setting unit (23). [Supplementary Note 13] The robot system according to Supplementary Note 12, wherein the display device (7) is provided on the robot control device (2) or an operation panel (6) that teaches various operations to the robot (1). [Supplementary Note 14] The robot system according to Supplementary Note 12, wherein the display device (7) is connected to the robot control device (2) via a communication line and is provided in a location remote from the robot (1). [Supplementary Note 15] A robot control program for controlling a robot (1) to perform a fastening operation using a fastener (B), the robot control program executing the following processes in an arithmetic processing device (24): instructing information about the fastener (B) and parameters (FB, NB) for performing the fastening operation in association with each other, registering the fastener (B) and the parameters (FB, NB) for performing the fastening operation in association with each type, detecting the fastener (B) performing the fastening operation with a fastener recognition sensor (3), and determining whether the fastener (B) performing the fastening operation is of a registered fastener type. [Supplementary Note 16] The robot control program according to Supplementary Note 15, further causing the arithmetic processing device (24) to execute a process of adjusting the parameters (FB, NB) associated with the information about the fastener (B).[Supplementary Note 17] A robot control program for controlling a robot (1) to cause the robot (1) to perform fastening work using a fastener (B), the robot control program causing an arithmetic processing device (24) to execute the following processes: storing information about the fastener (B) and parameters (F B, N B) used when performing the fastening work in a storage unit (21) in association with each other; acquiring information about the fastener (B) that performs the fastening work based on an output of a fastener recognition sensor (3); acquiring and setting the parameters (F B, N B) associated with the information about the fastener (B) from the storage unit (21) based on the acquired information about the fastener (B); and controlling the robot (1) based on the set parameters (F B, N B).
[0081] REFERENCE SIGNS LIST 1 Robot 2 Robot control device 3 Visual sensor (fastener recognition sensor) 4 Force sensor 5 Nut runner (screw tightening device) 6 Operation panel 7 Display device 8 Conveyor 10 Arm 21 Memory unit 22 Acquisition unit 23 Setting unit 24 Control unit 30 Visual data processing device 31 Memory unit 32 Visual data processing unit 40 Force data processing device 41 Memory unit 42 Force data processing unit 43 Automatic adjustment unit 100, 100' Robot system B, B1, B2, B3, ... Bolt (fastener) FB, FB1, FB2, FB3, ... Parameter (force control parameter) NB, NB1, NB2, NB3, ... Parameter (nut runner parameter) SB, SB1, SB2, SB3, ... Socket VB, VB1, VB2, VB3, ... Detection model (fastener information) W Work (work object)
Claims
1. A robot control device that controls a robot to perform a fastening operation using a fastener, a storage unit that stores information about the fastener and parameters for performing the fastening work in association with each other; an acquisition unit that acquires information about the fastener that performs the fastening work based on an output of a fastener recognition sensor; a setting unit that retrieves the parameters associated with the fastener information from the storage unit based on the retrieved fastener information, and sets the parameters; a control unit that controls the robot based on the set parameters; A robot control device comprising:
2. 2. The robot control device according to claim 1, wherein the control unit controls the robot based on an output of a force sensor that detects a parameter of force control applied to the fastener when performing the fastening work, and the parameter that has been set.
3. The robot control device according to claim 1 or 2, wherein the information on the fasteners includes model information on each of the fasteners.
4. The robot control device according to claim 1 or 2, wherein the information on the fasteners includes position information on each fastener on the work object.
5. 3. The robot control device according to claim 1, wherein the fastener recognition sensor is a visual sensor that captures an image including the fastener and a work object.
6. the robot includes an interchangeable socket; the storage unit stores information about the fastener and information about the socket used when performing the fastening work in association with each other; the setting unit acquires information about the socket associated with the information about the fastener from the storage unit based on the acquired information about the fastener, and sets the information; The robot control device according to claim 1 or 2, wherein the control unit switches the socket to be used when performing the fastening work based on the set information of the socket.
7. the robot includes an external device or an additional axis that performs the fastening work using the fastener, 3. The robot control device according to claim 1, wherein the control unit controls a force control parameter of the robot and a parameter of the external device or an additional axis based on the parameter set by the setting unit.
8. The robot control device according to claim 7 , wherein the external device is a nut runner.
9. the fastener is a bolt; 3. The robot control device according to claim 1, wherein the fastening operation using the fastener is a screw tightening operation of the bolt.
10. moreover, a warning output unit that outputs warning information when an abnormality occurs in the fastening work, 3. The robot control device according to claim 1, wherein after the warning output unit outputs the warning information, the control unit determines a cause of the output of the warning information and takes appropriate action based on the information of the fastener performing the fastening work acquired by the acquisition unit, the output of the force sensor, and the parameters set by the setting unit.
11. The robot control device according to claim 1 or 2; The robot; the fastener recognition sensor; A robot system comprising the force sensor.
12. moreover, 12. The robot system according to claim 11, further comprising a display device that displays information about the fastener that performs the fastening work acquired by the acquisition unit, an output from the force sensor, and the parameters set by the setting unit.
13. The robot system according to claim 12, wherein the display device is provided on the robot control device or on an operation panel that teaches the robot various operations.
14. The robot system according to claim 12 , wherein the display device is connected to the robot control device via a communication line and is provided at a location remote from the robot.
15. A robot control program that controls a robot to perform a fastening operation using a fastener, The processing unit The information on the fastener is associated with parameters for performing the fastening work and is taught; The fastening tool and the parameters for performing the fastening work are registered in association with each other for each type; detecting the fastener that will perform the fastening work using a fastener recognition sensor, and determining whether the fastener that will perform the fastening work is a registered fastener type; A robot control program that executes a process.
16. moreover, The robot control program according to claim 15, which causes the arithmetic processing device to execute a process of adjusting the parameter associated with the information on the fastener.
17. A robot control program that controls a robot to perform a fastening operation using a fastener, The processing unit storing information about the fastener and parameters for performing the fastening work in a storage unit in association with each other; acquiring information about the fastener that performs the fastening work based on an output of a fastener recognition sensor; Based on the acquired information on the fastener, the parameters associated with the information on the fastener are acquired from the storage unit and set; Controlling the robot based on the set parameters. A robot control program that executes a process.