Robot, robot control device, and work robot system
Patent Information
- Application Number
- JP2024517671
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-21
- Publication Date
- 2025-01-15
- Estimated Expiration
- 2042-04-26
AI Technical Summary
Conventional robot systems face inefficiencies and potential contact issues when assembling parts onto large articles, such as automobile bodies, due to the need to stop conveyance devices, which can lead to decreased system efficiency and increased risk of part-tool contact.
A robot system with an arm and control device that performs waypoint tracking control to follow the article being moved by a conveyance device, allowing the tool or part to be placed at the work start position and follow the article during operation, minimizing contact risks and improving efficiency.
The system enhances system efficiency by allowing continuous operation without stopping the conveyance device and reduces the likelihood of part-tool contact by precisely tracking and following the article's movement, ensuring smooth and accurate assembly processes.
Abstract
Description
Robot, robot control device, and working robot system
[0001] The present invention relates to a robot, a robot control device, and a working robot system.
[0002] In the past, it was common for conveyance systems to stop when assembling parts onto an item being conveyed by the system. In particular, when precisely assembling parts onto a large item such as an automobile body, it was necessary to stop the conveyance of the item by the conveyance system. This sometimes led to a decrease in system efficiency.
[0003] On the other hand, there is known a robot system in which a robot follows an object or the like being moved by a conveying device. For example, see Patent Documents 1 to 3.
[0004] JP 2011-140084 A JP 62-241684 A JP 2007-090479 A
[0005] As mentioned above, it is important for the efficiency of the system that a robot be moved by a transport device or the like to perform work on an object. In this case, depending on the type of object, it may be preferable not to move the part at the tip of the robot in a straight line toward the work start position. Alternatively, depending on the type of object, it may not be possible to move the part at the tip of the robot in a straight line toward the work start position. For example, this may occur when moving the part in a straight line would result in contact with the object. Thus, there is a demand for a robot, a robot control device, and a work robot system that can avoid contact between the part or tool supported by the robot and the object as much as possible.
[0006] A first aspect of the present invention is a robot that includes an arm and a control device that controls the arm, and that performs a predetermined task on a target portion of an article that is being moved by an article moving device. The control device is configured to perform way point tracking control, which controls the arm so that the part or tool supported on the tip of the arm follows the moving article at each of one or more way points before moving the part or tool supported on the tip of the arm to a task start position for the predetermined task. The control device is also configured to perform work-time tracking control, which controls the arm so that the part or tool follows the moving article at each of one or more way points after the way point tracking control, and places the part or tool at the task start position.
[0007] A second aspect of the present invention is a robot control device that controls a robot arm that performs a predetermined task on a target portion of an article being moved by an article moving device. The control device is configured to perform way point tracking control, which controls the arm so that the part or tool supported at the tip of the arm follows the moving article at each of one or more way points before moving the part or tool supported at the tip of the arm to a task start position for the predetermined task. The control device is also configured to perform work-time tracking control, which places the part or tool at the task start position after the way point tracking control, and controls the arm so that the part or tool follows the moving article during the task.
[0008] A third aspect of the present invention is a working robot system including an article moving device that moves an article, a robot having an arm, and a control device that controls the arm to perform a predetermined task on a target portion of the article being moved by the article moving device. The control device is configured to perform way point tracking control, which controls the arm so that the part or tool supported on the tip of the arm follows the moving article at each of one or more way points before moving the part or tool to a task start position for the predetermined task. The control device is also configured to perform work-time tracking control, which places the part or tool at the task start position after the way point tracking control, and controls the arm so that the part or tool follows the moving article during work.
[0009] 1 is a schematic plan view of a working robot system according to a first embodiment; FIG. 2 is a schematic side view of a working robot system according to the first embodiment; FIG. 3 is an example of image data obtained by a sensor of the working robot system according to the first embodiment; FIG. 4 is a block diagram of a control device of the working robot system according to the first embodiment; FIG. 5 is a flowchart of an example of processing performed by the control device of the working robot system according to the first embodiment; FIG. 6 is an example screen of a display device of the working robot system according to the first embodiment; FIG. 7 is a schematic plan view of a working robot system according to the first embodiment; FIG. 8 is an example screen of a display device of the working robot system according to the first embodiment; FIG. 9 is a schematic side view of a working robot system according to a third embodiment; FIG. 10 is a schematic plan view of a working robot system according to the third embodiment; FIG. 11 is an example screen of a display device of the working robot system according to the third embodiment; FIG. 12 is a flowchart of an example of processing performed by the control device of the working robot system according to the third embodiment.
[0010] A working robot system 1 according to the first embodiment will be described with reference to the drawings. As shown in FIGS. 1 and 2, the working robot system 1 includes a transport device (article moving device) 2 that transports an item 100, which is the object to be worked on. The working robot system 1 also includes a robot 10, a control device 20 that controls the robot 10, and a detection device 40. The robot 10 performs a predetermined task on a target portion 101 of the item 100 being moved by the transport device 2. The working robot system 1 also includes a first tracking sensor 50 and a second tracking sensor 60 attached to the tip of the robot 10.
[0011] The detection device 40 acquires data that can identify at least the position of the article 100 and its target portion 101 transported by the transport device 2. The detection device 40 may also acquire data that can identify the position and posture of the target portion 101. In the first embodiment, the target portion 101 has a plurality of holes 101a. The function of the detection device 40 may be performed by the tracking sensors 50 and 60.
[0012] Any device having the above-described functions can be used as the detection device 40. The detection device 40 is, for example, a two-dimensional camera, a three-dimensional camera, a three-dimensional distance sensor, a sensor that measures the shape of an object by irradiating a line of light onto the object, a photoelectric sensor, etc. The detection device 40 of the first embodiment has the same functions as the tracking sensors 50 and 60. The detection device 40 of the first embodiment is a two-dimensional camera installed along the conveyance route of the conveyance device 2. The detection device 40 acquires image data of the object 101 when the object 101 is within a predetermined range of the angle of view, and transmits the image data as output to the control device 20. The detection device 40 may be a camera or sensor facing downward, or a camera or sensor facing horizontally, diagonally downward, etc.
[0013] The image data is data that can identify the position of at least one of the multiple target portions 101. The control device 20 may identify the position of the target portion 101 based on the position, shape, etc. of a characteristic portion of the article in the image data. The control device 20 can also identify the orientation of the target portion 101 based on the positional relationship of the multiple target portions 101 in the image data. The control device 20 can identify the orientation of the target portion 101 based on the position, shape, etc. of the characteristic portion in the image data. The characteristic portion may be a characteristic element such as the mark M shown in FIG. 3 or a corner of the article 100.
[0014] The article 100 is not limited to a specific type of object, but in the first embodiment, as an example, the article 100 is a car body. The conveying device 2 moves the article 100 in one direction by driving the motor 2a, and in the first embodiment, the conveying device 2 moves the article 100 toward the right side in FIG. 2. The motor 2a is equipped with an actuation position detection device 2b, which sequentially detects the rotational position and amount of rotation of the output shaft of the motor 2a. The actuation position detection device 2b is, for example, an encoder. The detection value of the actuation position detection device 2b is transmitted to the control device 20. The conveying device 2 may also be equipped with other configurations for moving the article 100, such as a belt.
[0015] The configuration described herein can also be applied to a working robot system 1 that performs other tasks, such as processing, assembly, inspection, and observation, on the item 100. The item 100 may be transported by any means of transportation, and a robot other than the robot 10 can be used as the item moving device. If the item 100 is the body or frame of an automobile, the body or frame may be moved by an engine, motor, wheels, etc. mounted thereon. In this case, the engine, motor, wheels, etc. function as the item moving device. An AGV (Automated Guided Vehicle) or the like may move the item 100 as the item moving device. Furthermore, the control device 20 may receive data on the movement route of the item 100 or target part 101 from the control device of another robot, an automobile, an AGV, sensors installed thereon, etc. Alternatively, the control device 20 may calculate the movement route data using image data sequentially obtained by the detection device 40, tracking sensors 50, 60, etc.
[0016] The target portion 101 is a portion of the article 100 on which the arm 10a of the robot 10 performs a predetermined operation. In the first embodiment, as the predetermined operation, the arm 10a lifts the component 110 using the tool 30, and then attaches the attachment portion 111 of the component 110 to the target portion 101. As a result, for example, multiple shafts 111a extending downward from the attachment portion 111 of the component 110 are fitted into multiple holes 101a provided in the target portion 101 of the article 100. In the first embodiment, the arm 10a attaches the attachment portion 111 of the component 110 to the target portion 101 while the article 100 continues to be moved by the conveyance device 2.
[0017] Although the robot 10 is not limited to a specific type, the robot 10 of the first embodiment is a multi-joint robot having six axes. The arm 10a is equipped with a plurality of servo motors 11 that respectively drive a plurality of movable parts 12 (see FIGS. 2 and 4). Each servo motor 11 has an operating position detection device for detecting its operating position, and the operating position detection device is, for example, an encoder. The control device 20 receives the detection values of the operating position detection devices.
[0018] The robot 10 has a tool 30 attached to its tip, and the tool 30 is used to carry a part 110. In one example, the tool 30 is a hand, and the tool 30 is equipped with a servo motor 31 that drives a claw (see FIG. 4). The servo motor 31 has an operating position detection device for detecting its operating position, and the operating position detection device is, for example, an encoder. The detection value of the operating position detection device is sent to the control device 20. Various types of servo motors, such as rotary motors and linear motors, can be used as the servo motors 11 and 31.
[0019] The robot 10 has a force sensor 32 at its tip. The force sensor 32 detects forces in, for example, the X-axis, Y-axis, and Z-axis directions shown in FIGS. 1 to 3 . The force sensor 32 also detects forces around the X-axis, Y-axis, and Z-axis. Other sensors that can detect the direction and magnitude of force applied to the tool 30 or the part 110 gripped by the tool 30 can be used as the force sensor 32. In the first embodiment, the force sensor 32 is provided between the robot 10 and the tool 30. Alternatively, the force sensor 32 may be provided within the tool 30, at the base end of the arm 10 a, in another portion of the arm 10 a, in the base of the robot 10, or the like.
[0020] The tracking sensors 50, 60 are attached to the tip of the arm 10a. In one example, the tracking sensors 50, 60 are attached to the wrist flange 10b of the arm 10a, similar to the tool 30. The tracking sensors 50, 60 are two-dimensional cameras, three-dimensional cameras, three-dimensional distance sensors, etc. In the first embodiment, the tracking sensors 50, 60 are two-dimensional cameras.
[0021] In the first embodiment, the first tracking sensor 50 can sequentially acquire image data of the target 101 as shown in FIG. 3 when the target 101 is within a predetermined range of the angle of view. The first tracking sensors 50, 60 can sequentially acquire image data when the waypoint tracking targets 121, 122, and 123 shown in FIG. 1 are within a predetermined range of the angle of view. The tracking sensors 50, 60 sequentially transmit image data (output) to the control device 20. The image data is data that can identify at least the positions of the target 101 and waypoint tracking targets 121, 122, and 123 transported by the transport device 2. The tracking sensors 50, 60 may also acquire image data that can identify the positions and orientations of the target 101 and waypoint tracking targets 121, 122, and 123.
[0022] When multiple target portions 101 exist, the image data is data that can identify the position of at least one of the multiple target portions 101. The control device 20 may identify the position and orientation of the via point tracking targets 121, 122, 123, etc. based on the position, shape, etc. of a characteristic portion of the article in the image data. The control device 20 can also identify the orientation of the target portions 101, via point tracking targets 121, etc. based on the positional relationship, etc. of the multiple target portions 101 and multiple via point tracking targets 121 in the image data. The characteristic portion may be a characteristic element such as the mark M shown in FIG. 3 or a corner of the article 100.
[0023] The positions and directions of the coordinate systems of the tracking sensors 50, 60 and the position and direction of the coordinate system of the robot 10 are associated in advance within the control device 20. In one example, the coordinate system of one of the tracking sensors 50, 60 is set as the reference coordinate system of the robot 10, which operates based on the operation program 23b stored in the control device 20. It is possible to associate the reference coordinate system with a coordinate system whose origin is the tool center point (TCP) of the tool 30, a coordinate system whose origin is the reference position of the part 110, or the like.
[0024] As shown in FIG. 4 , the control device 20 has a processor 21 having one or more processor elements such as a CPU, a microcomputer, etc., and a display device 22. The control device 20 has a storage unit 23 having a non-volatile storage, a ROM, a RAM, etc. The control device 20 has a plurality of servo controllers 24 corresponding to the servo motors 11 of the robot 10, respectively, and a servo controller 25 corresponding to the servo motors 31 of the tool 30. The control device 20 also has an input unit 26 connected to the control device 20 by wire or wirelessly. In one example, the input unit 26 is an input device such as a control panel that can be carried by the user. In another example, the input unit 26 is a tablet computer. In the case of a tablet computer, the input is performed using a touch screen function. The control panel or tablet computer may also have the display device 22.
[0025] The storage unit 23 stores a system program 23a, which performs the basic functions of the control device 20. The storage unit 23 also stores an operation program 23b. The storage unit 23 also stores a pre-approach control program 23c, a waypoint tracking control program 23d, a work tracking control program 23e, and a force control program 23f.
[0026] Based on these programs, the control device 20 transmits control commands to the servo controllers 24, 25 to perform a predetermined task on the article 100. This causes the arm 10a and the tool 30 to perform the predetermined task on the article 100. The operation of the control device 20 at this time will be described with reference to the flowchart in FIG.
[0027] First, the control device 20 detects the article 100 based on the output of the detection device 40 or the tracking sensors 50, 60 (step S1-1). After this detection, the control device 20 transmits control commands to the arm 10a and the tool 30 based on the pre-approach control program 23c (step S1-2). As a result, the arm 10a moves the tool 30, which was in the standby position, to the position where the part 110 is placed, and the tool 30 grasps the part 110. The arm 10a also moves the part 110 to the approach start position 200 shown in FIG. 1.
[0028] 1 , in the first embodiment, the approach start position 200 is a position closer to the base end of the robot 10 than the boundary line BL. Also, in the first embodiment, the approach start position 200 and a waypoint, which will be described later, are positions corresponding to the attachment portion 111 of the component 110. Alternatively, the approach start position 200 and the waypoint may be positions corresponding to other positions on the component 110, the tip of the arm 10 a, a predetermined position of the tool 30, or the like.
[0029] Here, the position and posture of each article 100 on the conveying device 2 may vary. This variation occurs, for example, when each article 100 is placed on the conveying device 2. This variation may also occur when each article 100 on the conveying device 2 moves slightly in an unintended direction due to vibration or the like. As shown in FIG. 1 , the article 100 may be placed on the conveying device 2 in a state rotated about the vertical axis. In this case, one end 120 of the article 100 in the X direction is positioned closer to the robot 10 than the target part 101 in the Y direction.
[0030] The one end 120 can be considered to be an interference location. In one example, the interference location is a location close to the robot 10, the tool 30, and the part 110 in the Y direction. In FIG. 1 , the rotation of the article 100 is exaggerated. For example, if the length of the article 100 is approximately 5 m, the rotational position of the article 100 around the vertical axis may vary within a range of approximately 2°. In this case, the position of the one end 120 varies in the Y direction by 10 cm or more, sometimes by 20 cm or more. When the variation in the placement position in the Y direction is added to this variation, the variation in the position of the one end 120 in the Y direction becomes even greater.
[0031] In one example, the memory unit 23 of the control device 20 stores start position data 23g, which is the coordinate values of the part 110 at the approach start position 200 ( FIG. 4 ). That is, as shown in FIG. 1 , the arm 10a places the part 110 at the approach start position 200 corresponding to the start position data 23g. As a result, even if the one end 120 is moved by the conveyance device 2 until it passes in front of the part 110, the part 110 does not interfere with the one end 120. In the first embodiment, interference refers to the one end 120 interfering with the part 110, the arm 10a, or the tool 30 while the one end 120 passes in front of the part 110, as described above. The memory unit 23 of the control device 20 may also store start position data 23g, which is the coordinate values of the tool 30 or the coordinate values of the tip of the arm 10a.
[0032] In another example, the memory unit 23 of the control device 20 stores position information of the boundary line BL as boundary position data 23h (FIG. 4). The memory unit 23 of the control device 20 may also store information on an area AR1 where interference may occur, information on an area AR2 where interference will not occur, etc. (FIG. 4). As shown in FIG. 1, the boundary line BL is a line that separates the area AR1 where interference may occur and the area AR2 where interference will not occur due to the one end 120 being moved by the conveyance device 2. The start position data 23g and / or the boundary position data 23h enable the arm 10a to position the part 110 at the approach start position 200 so as not to contact the article 100.
[0033] The memory unit 23 may store at least one of the start position data 23 g and the boundary position data 23 h. In one example, based on a user's input to the input unit 26, the control device 20 stores the start position data 23 g and the boundary position data 23 h in the memory unit 23. In another example, the control device 20 detects or calculates a path of the one end 120 moved by the conveying device 2 using image data from the detection device 40 or the tracking sensor 50.
[0034] In one example, the path corresponds to a boundary line BL. The control device 20 then sets the start position data 23g and boundary position data 23h based on the results of the detection or calculation. The control device 20 may update the start position data 23g and boundary position data 23h each time the next item 100 arrives. For example, when the next item 100 to be worked on arrives, the control device 20 detects the position of the one end 120 using image data. The control device 20 then updates the start position data 23g or boundary position data 23h using the detected position or using the detected position and data on the movement route of the conveyance device 2. This update prevents the distance between the part 110 and the target part 101 at the approach start position 200 from becoming unnecessarily large. The start position data 23g may also be data indicating a predetermined range. In this case, the arm 10a moves the part 110 to any position within the predetermined range. The setting of the approach start position 200 can also be substituted for the setting of a first waypoint 211, described below.
[0035] Based on the pre-approach control program 23c, the control device 20 adjusts the attitude of the part 110 at the approach start position 200 or the attitude of the part 110 heading towards the approach start position 200 to match the attitude of the target part 101 (step S1-3). In one example, the control device 20 adjusts the attitude of the part 110 while the part 110 is moving towards the approach start position 200 or when the part 110 reaches the approach start position 200. For example, the control device 20 detects the attitude of the target part 101 using image data from the tracking sensors 50 and 60, and adjusts the attitude of the part 110 to match the detected attitude. It is also possible to set the control device 20 not to execute step S1-3.
[0036] The control device 20 causes the arm 10a to make the part 110 follow the article 100 at the first way point 211 ( FIG. 1 ) based on the way point following control program 23d (step S1-4). Following at the second way point 212 is also performed based on the way point following control program 23d. In the first embodiment, a position corresponding to the attachment portion 111 of the part 110 follows the part 110. Note that the way points 211 and 212 are relative positions with respect to the article 100. A setting may be used in which the tip of the arm 10a, the tool 30, etc. follow the article 100 at the first way points 211 and 212.
[0037] For this tracking, the control device 20 performs visual feedback using image data sequentially obtained by, for example, the tracking sensors 50 and 60. In another example, the control device 20 performs visual feedback using data sequentially obtained by other cameras, other sensors, etc. The other cameras and other sensors may be supported on the tip of the other robot, or may be fixed in a predetermined location. The other cameras and other sensors may be supported on a slider that is movable in the conveying direction by the conveying device 2. Depending on the type, shape, etc. of the target part 101, the tracking sensors 50 and 60, other cameras, and other sensors may be three-dimensional cameras or three-dimensional distance sensors.
[0038] A known visual feedback may be used for the above control. In the first embodiment, for example, either of the following two types of control may be adopted as the visual feedback control. In the two types of control, the control device 20 detects at least the position of the waypoint tracking target 121 and causes the part 110 to follow the article 100 based on the detected position. The control by the control device 20 is also the same when causing the part 110 to follow the article 100 based on the positions of the waypoint tracking targets 122, 123, the target portion 101, etc.
[0039] The route along which the article 100 is moved by the conveying device 2 may not be a straight line. Furthermore, the posture of the article 100 on the conveying device 2 may gradually change due to vibrations or the like. In these cases, the control device 20 may cause the posture of the part 110 to follow the posture of the target part 101 in step S1-4 and step S1-5 described below. In particular, causing the posture of the part 110 to follow the posture of the target part 101 in step S1-5 is useful for smoothly performing work on the target part 101 by the arm 10a.
[0040] The first type of control is a control for making the part 110 follow the article 100 by always positioning the target to be followed at a predetermined position within the angle of view of the tracking sensors 50 and 60. The second type of control detects the position of the target to be followed on the article 100 in the coordinate system of the robot 10 (position relative to the robot 10). The second type of control then corrects the operation program 23b using the detected position of the target to be followed, thereby making the part 110 follow the article 100. The target to be followed is the waypoint target to be followed 121, 122, 123, the target portion 101, etc.
[0041] In the first control, the control device 20 detects characteristic parts on the image data sequentially obtained by the first tracking sensors 50 and 60. The characteristic parts include the overall shape of the target part 101, the hole 101a in the target part 101, the mark M (FIG. 3) provided on the target part 101, etc. The overall shapes of the via-point tracking targets 121, 122, and 123 of the article 100 are also characteristic parts.
[0042] The control device 20 always positions the feature at a predetermined position in the image data so that it is within a range of a reference shape and size. The control device 20 sends a control command for this to the servo controller 24. This allows the control device 20 to make the part 110 follow the position and orientation of the feature. If the tracking sensors 50, 60 are three-dimensional cameras, three-dimensional distance sensors, or the like, the control device 20 always positions the feature at a predetermined position in the three-dimensional image data so that it has a reference orientation. That is, the control device 20 sends a control command for this to the servo controller 24.
[0043] In the second control, the control device 20 uses image data sequentially obtained by the tracking sensors 50, 60, etc. to detect the actual position of the characteristic part relative to the coordinate system of the robot 10. Then, the control device 20 corrects the teaching points of the operation program 23b based on the difference between the position of the characteristic part assumed in the operation program 23b and the actual position of the characteristic part.
[0044] In one example, to execute step S1-4, the control device 20 always places the position of the first way point tracking target 121 obtained using the second tracking sensor 60 at a predetermined position on the image data. This causes the control device 20 to make the part 110 follow the article 100 at the first way point 211. When step S1-4 is started, for example, in FIG. 1 , the position of the shaft 111a (relative position with respect to the article 100) moves from the approach start position 200 to the first way point 211.
[0045] Next, the control device 20 causes the arm 10a to make the part 110 follow the article 100 at the second way point 212 (step S1-5). To perform step S1-5, the control device 20 constantly places the position of the second way point follow target 122 obtained using the second following sensor 60 at a predetermined position on the image data. Alternatively, to perform step S1-5, the control device 20 constantly places the position of the third way point follow target 123 obtained using the first following sensor 50 at a predetermined position on the image data. The control device 20 may also make the part 110 follow both way point follow targets 122 and 123. The way point follow control at each way point 211 and 212 ends when the degree of match between the images sequentially obtained by the following sensors 50 and 60 and the teaching image exceeds a predetermined standard. For example, the control device 20 ends follow at the first way point 211 when the degree of match at the first way point 211 exceeds a predetermined standard. Then, the control device 20 proceeds to an operation for tracking control at the second way point 122. In one example, the time for which way point tracking control is performed at each way point 211, 212 is 0.1 seconds to several seconds. Way point tracking may also be performed for a time shorter than the above time. The time, distance, etc. for which way point tracking control is performed at each way point 211, 212 can be set arbitrarily.
[0046] Next, the control device 20 moves the shaft 111a of the part 110 to the work start position 220 relative to the target part 101 based on the in-work tracking control program 23e (step S1-6). The control device 20 executes step S1-5 using the visual feedback and image data from the tracking sensors 50 and 60. In another example, in step S1-6, the control device 20 moves the part 110 a predetermined distance toward the target part 101 using the arm 10a. In step S1-6, the control device 20 may use the data from the other camera or other sensor to move the part 110 closer to the target part 101 using the arm 10a. At this time, the control device 20 may use the visual feedback to cause the posture of the part 110 approaching the target part 101 to follow the posture of the target part 101.
[0047] By controlling the arm 10a in step S1-6, the part 110 reaches a position and posture for fitting into the target part 101. As a result, the target part 101 is present within a certain range of the angle of view of the first tracking sensor 50. Then, when the distance between the attachment part 111 and the target part 101 falls within a reference value (step S1-7), the control device 20 starts in-work tracking control (step S1-8). The control device 20 also starts fitting control to fit the attachment part 111 into the target part 101 based on the operation program 23b (step S1-9).
[0048] The control device 20 executes step S1-8 by making the part 110 follow the target part 101 based on the in-work follow-up control program 23e. Furthermore, the determination in step S1-7 becomes more accurate when the detection results of the second follow-up sensor 60, the other camera, or the other sensor are also used.
[0049] Preferably, the control device 20 uses the characteristic portion visible to the tracking sensor 50 when the fitting is performed for the in-work tracking control in step S1-8. Alternatively, the control device 20 can change the characteristic portion used for the tracking control when the characteristic portion used for the tracking control becomes invisible to the tracking sensors 50, 60.
[0050] In this controlled state, the control device 20 starts force control based on the force control program 23f (step S1-10). Known force control can be used in step S1-10. In the first embodiment, based on the control by the control device 20, the arm 10a moves the part 110 in a direction away from the force detected by the force sensor 32. The control device 20 determines the amount of movement in accordance with the value detected by the force sensor 32.
[0051] For example, after the fitting control is started, the force sensor 32 may detect a force in the opposite direction to the direction of movement by the conveying device 2. In this case, the control device 20 performs in-work tracking control and moves the component 110 in the direction opposite to the direction of movement by the conveying device 2 according to the detection value of the force sensor 32. Furthermore, if the force sensor 32 detects a force equal to or greater than a reference value, the control device 20 performs an abnormality response operation.
[0052] On the other hand, the control device 20 determines whether the fitting operation is complete (step S1-11), and if so, sends a control command to the arm 10a and the tool 30 (step S1-12). As a result, the tool 30 moves away from the component 110, and the tool 30 is moved by the arm 10a to a standby position or a location where the next component 110 is stocked.
[0053] In the first embodiment, the position of the attachment unit 111 passes through a first way point 211 and a second way point 212 between the approach start position 200 and the work start position 220. Furthermore, at the first way point 211 and the second way point 212, the position of the attachment unit 111 follows the article 100 being transported by the transport device 2. If the first way point 211 and the second way point 212 are not set, the position of the attachment unit 111 moves, for example, linearly from the approach start position 200 to the work start position 220. If there is a possibility that the part 110 and the article 100 may come into contact with each other during this linear movement, the first embodiment, which allows for setting the above-described way points 211 and 212 for tracking, is useful. Note that using two tracking sensors 50 and 60 makes it possible to track the movement of the article 100 in each of the X, Y, and Z directions, even if these are two-dimensional sensors.
[0054] The conveying speed of the conveying device 2 may change under certain conditions. Or, when the detection device 40 detects the item 100, the position of the item 100 relative to the detection device 40 may not be completely constant. The latter is influenced by factors such as the cycle time when the control device 20 processes the image of the detection device 40. In these cases, the setting to perform the linear movement a certain time after detection by the detection device 40 may result in contact between the part 110 and the item 100. Even in such a situation, the tracking setting at the above-mentioned way points 211 and 212 is useful.
[0055] Note that there may be cases where the tracking sensor 60 is not provided, and only a single tracking sensor 50 is provided. Even in this case, as described above, it is possible to make the position of the shaft 111a follow the position of the article 100 being conveyed at the first way point 211 and the second way point 212.
[0056] A method for setting the tracking at the waypoints 211 and 212 and a configuration for doing so will be described below. The user performs the setting by inputting information into the input unit 26. The input unit 26 is an operation panel, a tablet computer, a remote controller with a joystick, or the like, and the input is performed using a touch screen function, a joystick, or the like.
[0057] The input unit 26 has a display device 22 that can display multiple types of screens for teaching the operation of the arm 10a. One of the multiple types of screens is a teaching screen for setting a movement path for the tip of the arm 10a, a predetermined position of the tool 30, etc. One example of the teaching screen is a known teaching screen in which a user teaches multiple teaching points. The user may teach the multiple teaching points by inputting coordinate values. The user may also teach the multiple teaching points by moving the tip of the arm 10a to multiple arbitrary positions and making a predetermined input to the input unit 26. The arm 10a can be moved in this case by known methods such as operating the joystick, operating the operation panel, or by the user applying force to the tip of the arm 10a to move it.
[0058] In the first embodiment, for example, the standby position, the position where the component 110 is placed, the approach start position 200, etc. are taught as the teaching points. At least one other of the plurality of types of screens is a via point teaching screen 300 ( FIG. 6 ) for teaching the above-mentioned following at the via points 211 and 212. On the via point teaching screen 300 illustrated in FIG. 6 , the user teaches the following target to be followed at each of the via points 211 and 212. An example of the processing of the control device 20 for teaching the following target will be described below with reference to FIG. 7 . Typically, the user teaches the following using a stationary object 100 on a stopped conveyance device 2. On the other hand, the following teaching may also be possible even when the object 100 is being moved by the conveyance device 2.
[0059] For example, the user places the tip of the arm 10a in an arbitrary position and orientation, and in this state, the user performs a first input for setting a via point on the input unit 26. In response to the first input, the control device 20 causes each tracking sensor 50, 60 to acquire an image at the position and orientation (step S2-1). Thereafter, the user performs a second input for setting a via point on the input unit 26. In response to the second input, the control device 20 determines a tracking target on the acquired image (step S2-3). The user actually places the arm 10a, tool 30, part 110, etc. relative to the article 100, and the control device 20 sets the tracking target based on the image acquired at that position. This configuration is useful for preventing contact, improving work efficiency, etc. Note that the control device 20 may also set the first via point 211 as the approach start position 200.
[0060] Before the second input, the control device 20 displays one or more indicator figures 410 on the acquired image 400 shown in Fig. 6 (step S2-2). The acquired image 400 may be an enlarged portion of the image of the tracking sensors 50, 60 as shown in Fig. 6. Each indicator figure 410 indicates a portion on the acquired image 400 that can be set as a tracking target, or indicates a characteristic shape on the acquired image 400. Instead of the indicator figure 410 in Fig. 6, an indicator figure that highlights the outer edge, interior, etc. of a characteristic shape may be displayed. In a specification in which the characteristic shape indicated by the cursor is highlighted, the cursor also functions as an indicator figure.
[0061] The user moves or changes the size of the instruction figure 410 as part of the second input. Alternatively, the user selects any one or more of the instruction figures 410 as the second input. The characteristic shapes set by the second input become the via point tracking targets 121, 122, 123, etc. Note that when the control device 20 automatically sets the characteristic shapes on the acquired image 400 as via point tracking targets, the control device 20 does not perform the above-described processing for the second input.
[0062] Thereafter, the user performs a third input to the input unit 26 for setting a way point. In response to the third input, the control device 20 sets the tracking sensors 50, 60 to be used at each way point 211, 212. The way point teaching screen 300 has a sensor selection display 420 for selecting or displaying whether each of the tracking sensors 50, 60 is to be used for tracking at each way point 211, 212. The control device 20 sets the tracking sensor selected by the third input as the tracking sensor to be used for way point tracking (step S2-4). In the first embodiment, the user performs the third input using a check box belonging to the sensor selection display 420. Note that if the tracking sensor to be used for tracking has been determined in advance, or if only a single tracking sensor 50 is provided, the control device 20 does not perform the above-described process for the third input.
[0063] The user also provides a fourth input to the input unit 26 for setting a way point. In response to the fourth input, the control device 20 sets the following direction for way point tracking at each of the way points 211 and 212 (step S2-5). More specifically, the control device 20 sets the following direction based on the input to the input unit 26. The way point teaching screen 300 has a direction selection display 430 for setting the following direction at each of the way points 211 and 212 for each of the multiple following sensors 50 and 60. The control device 20 sets the direction selected by the fourth input as the following direction at each of the way points 211 and 212. Note that if the following direction is predetermined or if the control device 20 automatically sets the following direction, the control device 20 does not perform the above-described process for the fourth input.
[0064] With the above configuration, the user can set whether or not to use each of the tracking sensors 50, 60, and can easily set the tracking direction. The user can also perform a test operation to move the arm 10a using tracking control while changing the setting of the direction selection display 430. This configuration is useful for preventing contact, improving work efficiency, etc.
[0065] 6 shows that for the first way point, tracking control is performed only in the X direction using the image of the second tracking sensor 60. For the second way point 122, Fig. 6 also shows that the image of the first tracking sensor 50 is used for tracking control in the X and Y directions, and the image of the second tracking sensor 60 is used for tracking control in the Z direction.
[0066] The above configuration of the first embodiment is a useful aid in teaching way point tracking, which performs tracking control at each way point 211, 212. Furthermore, the above configuration, which enables selection of the tracking sensors 50, 60 at each way point 211, 212, is a useful aid for accurately performing tracking, robot operation, etc. at each way point 211, 212. Furthermore, the above configuration, which enables setting the direction of each tracking sensor 50, 60 at each way point 211, 212, is also a useful aid for accurately performing tracking, robot operation, etc. at each way point 211, 212. Furthermore, the way point teaching screen 300 displays the setting status of the tracking target, as described above. This configuration is useful for the user to accurately and easily recognize whether or not a way point has been set, the setting status of each way point, etc.
[0067] One of the multiple types of screens is a work teaching screen for teaching work-time tracking at the work start position 220. As the work teaching screen, a known teaching screen for causing the shaft 111a of the part 110 to track the target portion 101 by visual feedback can be used. For example, the user places the arm 10a at the work start position 220, and the control device 20 causes the first tracking sensor 50 to acquire an image of the target portion 101 at that position. In one example, the acquisition is performed when the user makes a predetermined input to the input unit 26. The control device 20 sets a characteristic shape in the acquired image as a tracking target, and the control device 20 performs the above-described work-time tracking control using the tracking target.
[0068] When the arm 10a moves to each way point 211, 212, the control device 20 may move the tip of the arm 10a in a predetermined direction based on the operation program 23b. In FIG. 1 , when moving from way point 211 to way point 212, the control device 20 may move the part 110 in the Y direction based on the operation program 23b. In this case, the user can cancel the Y direction specification of the direction selection display 430 of the first tracking sensor 50 for the second way point on the way point teaching screen 300 of FIG. 6 . With this setting, the control device 20 does not cause the part 110 to follow the article 100 in the Y direction for the second way point. If the direction of the operation control based on the control command of the operation program 23b and the direction of the tracking control match, the operation of the arm 10a may become unsmooth due to overshooting, etc. The above configuration is useful for reducing or eliminating this problem.
[0069] 8 and 9 illustrate cases where the robot passes through way points 211' and 212', which are different from those in FIG. 1 . In the example of FIG. 9 , Z-direction tracking is not performed at way points 211' and 212'. When approach start position 200 is higher than work start position 220, the Z-direction positions of way points 211' and 212' are also higher than work start position 220. In FIG. 8 , the X-direction and Y-direction positions of second way point 212' are slightly offset from those of work start position 220, but they may also be the same. In this case, the target to be tracked at work start position 220 can be used as the target to be tracked at second way point 212'. This configuration is useful for reducing the amount of teaching work required by the user.
[0070] A working robot system according to the second embodiment will be described with reference to Figure 10. In the second embodiment, the part 130 gripped by the tool 30 in the first embodiment is a steering wheel, and the target portion 101' is a mounting portion for the steering wheel. In the second embodiment, the same components as those in the first embodiment are designated by the same reference numerals, and a description of those components and the same effects and advantages obtained by those components will be omitted.
[0071] In the second embodiment, at least one of the multiple via points 231, 232 is set inside the article 100. In the second embodiment, the center of the part 130 is the attachment portion that is attached to the target part 101′, and the center of the part 130 follows the part 110 at each of the via points 231, 232 and the work start position 240.
[0072] For example, the first way point 231 is set on the outside of the article 100, and the second way point 232 is set on the inside of the article 100. A shift knob or the like can be used as the target to be tracked by the second way point 232. In the second embodiment, when the part 130 moves in a straight line from the approach start position 200' to the work start position 240, the part 130 always comes into contact with the article 100. Even in such a case, the second embodiment, which has the same configuration as the first embodiment, makes it possible to easily set up the attachment of the part 130 without contact.
[0073] A working robot system according to the third embodiment will be described with reference to Figures 11 to 14. In the third embodiment, a first tracking sensor 50' fixed in a predetermined position is used instead of the tracking sensors 50 and 60 of the first embodiment. In this embodiment, the tracking sensor 50' is supported by a well-known frame 51 or the like.
[0074] The placement position, support structure, etc. of the tracking sensor 50' are arbitrary. In this embodiment, the placement position of the tracking sensor 50' is above the article 100. The tracking sensor 50' may be supported by another robot, or may be supported by a known linear guide that is movable in the conveying direction of the conveying device 2. The tracking sensor 50' may also be supported by other methods. In the second embodiment, the same components as those in the first embodiment are denoted by the same reference numerals, and a description of the components and the same effects obtained by the components will be omitted.
[0075] The tracking sensor 50' may be, for example, a three-dimensional camera or a three-dimensional distance sensor. The position and direction of the coordinate system of the tracking sensor 50' and the position and direction of the coordinate system of the robot 10 are previously associated within the control device 20. In the third embodiment, for example, the standby position, the position where the part 110 is placed, the approach start position 200, etc. are taught as the teaching points. The way point teaching screen 300' in the third embodiment may be slightly different from that in the first embodiment, as shown in FIG. 13. On the way point teaching screen 300' illustrated in FIG. 13, the user teaches the target to be followed at each of the way points 211 and 212 (FIG. 12). An example of the processing of the control device 20 for teaching the target to be followed will be described below with reference to FIG. 14.
[0076] The control device 20 obtains the user's instruction of the target to be followed using the way point instruction screen 300', a known sound generator built into the control device 20, etc. The user places the tip of the arm 10a in an arbitrary position and orientation, and in this state the user performs a first input for setting a way point on the input unit 26. In response to the first input, the control device 20 causes the tracking sensor 50' to acquire an image at the position and orientation (step S3-1).
[0077] The control device 20 displays one or more indication figures 410 on the acquired image 400 shown in Fig. 13, as in the first embodiment (step S3-2). The user performs a second input for setting a via point on the input unit 26. In response to the second input, the control device 20 determines the tracking target on the acquired image (step S3-3). The tracking target of the first via point 211 in Fig. 13 is the target part 101, but another part 123 of the article 100 that is convenient for via point tracking, etc., may also be used as the tracking target.
[0078] Next, the user performs a third and fourth input for setting a waypoint to the input unit 26 in the same manner as in the first embodiment, and performs the same processing as in the first embodiment (steps S3-4 and S3-5). Note that in this embodiment, step S3-3 is unnecessary because there is only one tracking sensor, but step S3-3 is useful when there are two or more tracking sensors. Note that if two two-dimensional cameras facing in the same direction as the tracking sensors 50 and 60 are used instead of the tracking sensor 50' that obtains a three-dimensional image, three-dimensional detection can be performed using the two-dimensional cameras.
[0079] Next, the control device 20 asks the user to teach the relative position and relative orientation of the target to be followed and the part to be followed, using the via point teaching screen 300′, the voice generating device, etc. The user places the tip of the arm 10a in an arbitrary position and orientation corresponding to the first via point 211, and in this state, the user performs a fifth input for setting the via point on the input unit 26.
[0080] In response to the fifth input, the control device 20 causes the tracking sensor 50' to capture an image at the position and orientation described above (step S3-6). The captured image shows the relative position of the target to be tracked and the portion of the component 110 that should be tracked. In this embodiment, the portion to be tracked is the component 110, the mounting portion 111 of the component 110, etc. The control device 20 stores the captured image as a reference image in the memory unit 23 (step S3-7). Note that, with respect to step S3-1, the control device 20 may also require the captured image to include both the target to be tracked and the portion that should be tracked. In this case, step S3-7 is performed without performing step S3-6.
[0081] The control device 20 repeats steps S3-1 to S3-6 until the above settings are made for all way points (step S3-8). In the third embodiment, too, for tracking at each way point 211, 212, the control device 20 performs visual feedback using image data sequentially obtained by the tracking sensors 50, 60, for example. While known visual feedback can be used for the above control, in the third embodiment the control device 20 performs the following tracking control.
[0082] The control device 20 positions the target and the portion to be tracked within the angle of view of the tracking sensor 50' so that their relative positions match within a predetermined standard with respect to the reference image. In addition, the control device 20 may position the target and the portion to be tracked within the angle of view so that their relative orientations also match beyond a predetermined standard with respect to the reference image. This visual feedback causes the attachment portion 111 of the part 110 to follow the target portion 101 of the article 100.
[0083] In the third embodiment, the control device 20 performs waypoint tracking based on the relative positions of the target to be tracked and the part to be tracked, as seen by the tracking sensor 50' fixed to a location other than the arm 10a. In the field of view of the tracking sensor attached to the tip of the arm 10a, the tool 30 or the like may interfere with the detection of the target to be tracked. In the third embodiment, the tracking sensor 50' has a high degree of freedom in its placement, which contributes to reducing the interference with detection.
[0084] In the third embodiment, the via point instruction screen 300′ displays the settings of the target to be followed and the settings of the target to be followed. This configuration is useful for the user to accurately and easily recognize whether or not a via point has been set, the setting status of each via point, etc.
[0085] There are situations in which the linear movement of the part 110 from the approach start position 200 to the work start position may result in contact with the article 100 by the arm 10a, the tool 30, the part 110, etc. Alternatively, as in the second embodiment, there are situations in which the part 110 inevitably comes into contact with the article 100 when it moves linearly from the approach start position 200 to the work start position. In each of the above embodiments, the arm 10a can cause the part 110 to perform way point tracking at multiple way points before moving the part 110 to the work start position. This configuration allows the user to perform various settings to prevent the contact. Note that there are also cases in which the arm 10a causes the part 110 to perform way point tracking at a single way point before moving the part 110 to the work start position. Even in such cases, the effects of each of the above embodiments can be achieved.
[0086] In the above embodiments, the arm 10a moves the part 110 to follow the article 100. Similarly, in the above embodiments, the arm 10a may move the tool 30 to follow the article 100. This configuration also achieves the same effects as the above embodiments. The tool 30 may be any tool that performs various known operations, such as welding, assembly processing, and sealant application, on a part of the article 100 as the predetermined operation.
[0087] Furthermore, the control device 20 of the first embodiment may perform waypoint tracking based on the relative positions of the tracking target and the part to be tracked, as in the third embodiment. In this case, the reference image is also stored in the storage unit 23 in the first embodiment.
[0088] Although the embodiments of the present disclosure have been described in detail, the present disclosure is not limited to the individual embodiments described above. These embodiments can be variously added, replaced, modified, partially deleted, etc., without departing from the gist of the invention or the concept and spirit of the present invention derived from the content of the claims and their equivalents. For example, in the above-described embodiments, the order of each operation, the order of each process, the omission or addition of some operations depending on conditions, and the omission or addition of some processes depending on conditions can be changed without being bound by the above examples. The same applies when numerical values or mathematical expressions are used in the description of the above embodiments.
[0089] REFERENCE SIGNS LIST 1 Working robot system 2 Conveying device 10 Robot 11 Servo motor 20 Control device 21 Processor 22 Display device 23 Memory unit 23a System program 23b Operation program 23c Pre-approach control program 23d Way point tracking control program 23e Work tracking control program 23f Force control program 23g Start position data 23h Boundary position data 26 Input unit 30 Hand 31 Servo motor 32 Force sensor 40 Detection device 50, 60, 50' Tracking sensor 100 Article 101, 101' Target part 101a Hole 110 Part 111 Mounting part 111a Shaft 200, 200' Approach start position 211, 212, 211', 212', 231, 232 Way point 220, 240 Work start position 300, 300' Waypoint teaching screen
Claims
1. A robot comprising an arm and a control device that controls the arm, the robot performing a predetermined task on a target portion of an article being moved by an article moving device, The control device includes: a way-point tracking control for controlling the arm so that the part or tool supported on the tip of the arm is tracked by the moving article at each of one or more way points before the part or tool is moved to a work start position of the predetermined work; a work-time tracking control for controlling the arm so that the part or the tool is moved to the work start position after the waypoint tracking control, and the part or the tool is moved to the work start position and the arm is moved to the waypoint tracking control; The robot is configured to:
2. The robot according to claim 1 , wherein the control device is configured to perform the way point tracking control using visual feedback.
3. The control device is configured to perform the work tracking control using visual feedback, The robot according to claim 1 or 2, wherein the target to be followed used in the during-work tracking control is used for the tracking at a way point that is closest to the work start position among the one or more way points.
4. The control device stores an operation program for causing the arm to perform a predetermined operation, The robot according to claim 1 or 2, wherein when the control device performs the tracking while moving the part or the tool in a predetermined direction according to the operating program, the control device does not cause the part or the tool to follow the object in the predetermined direction.
5. a display device capable of displaying a way point teaching screen for teaching the following at each of the one or more way points; The robot according to claim 1 or 2, further comprising: an input unit for performing an input for teaching the robot to follow the object.
6. the display device is capable of displaying a screen for designating a direction in which the tracking is to be performed at each of the one or more way points; The robot according to claim 5 , wherein the control device causes the arm to perform the tracking in a direction according to the designation at each way point.
7. A robot control device that controls an arm of a robot that performs a predetermined task on a target portion of an article being moved by an article moving device, a way-point tracking control for controlling the arm so that the part or tool supported on the tip of the arm is tracked by the moving object at each of one or more way points before the part or tool is moved to a work start position of the predetermined work; a work-time tracking control for controlling the arm to place the part or the tool at the work start position after the waypoint tracking control, and to cause the part or the tool to follow the moving object during work; A control device for a robot configured to perform the above.
8. a display device capable of displaying a way point teaching screen for teaching the following at each of the one or more way points; The robot control device according to claim 7 , further comprising: an input unit for performing an input for teaching the following.
9. the display device is capable of displaying a screen for designating a direction in which the tracking is to be performed at each of the one or more way points; The robot control device according to claim 8 , wherein the control device causes the arm to perform the tracking in a direction according to the designation at each way point.
10. An article moving device that moves an article; A robot having an arm; a control device that controls the arm so as to perform a predetermined operation on a target portion of an article being moved by the article moving device, The control device includes: a way-point tracking control for controlling the arm so that the part or tool supported on the tip of the arm is tracked by the moving object at each of one or more way points before the part or tool is moved to a work start position of the predetermined work; a work-time tracking control for controlling the arm to place the part or the tool at the work start position after the waypoint tracking control, and to cause the part or the tool to follow the moving object during work; The working robot system is configured to:
11. the control device stores an operation program for causing the arm to perform a predetermined operation, The work robot system according to claim 10, wherein when the control device performs the tracking while moving the part or the tool in a predetermined direction according to the operation program, the control device does not cause the part or the tool to follow the item in the predetermined direction.
12. a display device capable of displaying a way point teaching screen for teaching the tracking at each of the one or more way points; an input unit used for the instruction of the following on the way point instruction screen, The control device is configured to perform the way point tracking control using visual feedback based on an output of a sensor; The control device includes: an image acquisition process for causing the sensor to acquire an image based on an input to the input unit while the tip end of the arm is disposed at a position corresponding to the one or more way points; a tracking target setting process for setting a part or all of the article appearing in the acquired image as a tracking target in the way point tracking control; The working robot system according to claim 10 or 11, configured to perform the following:
13. 13. The work robot system according to claim 12, wherein the control device, in the way point tracking control, controls the arm so that the relative positions of the target to be tracked and a portion to be tracked on the part or the tool coincide within a predetermined criterion in images successively obtained by the sensor.