Control devices, methods, and computer programs for controlling robots
By introducing small, low-cost presence sensors into the robot system and combining them with data from vision sensors, the problems of heavy weight and slow processing speed of vision sensors are solved, enabling efficient and accurate object monitoring and operation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2024-01-11
- Publication Date
- 2026-07-31
AI Technical Summary
Visual sensors are heavy and expensive, and take a long time to process, making them difficult to effectively monitor items transported by conveying devices.
Using small, lightweight, and low-cost presence sensors, the robot monitors the presence of objects by moving around. It combines data captured by a vision sensor to determine the location of the monitored target in the control coordinate system and waits in front of the object. The presence of the object is monitored by an optical presence sensor.
This simplifies the sensor system, reduces costs, improves monitoring efficiency, and ensures the accuracy of item monitoring and the precision of operations.
Smart Images

Figure CN122497571A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to control devices, methods, and computer programs for controlling robots. Background Technology
[0002] Previously, there were known systems that used multiple visual sensors installed on the upstream and downstream sides to photograph items being transported by a conveying device and track the transported items (e.g., Patent Document 1).
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 2016-107349 Summary of the Invention
[0006] The problem that the invention aims to solve
[0007] Vision sensors are heavy and expensive, and their processing is time-consuming. In the past, in order to monitor items moved by conveyor systems, there was a desire to use simpler sensors instead of vision sensors.
[0008] Methods for solving problems
[0009] In one aspect of this disclosure, a control device for controlling a robot is provided. The robot moves to monitor the presence of an object being transported by a conveying device in a conveying direction using an presence sensor, and performs a prescribed operation on the object. The control device includes: a position data acquisition unit that acquires the position of the object in a control coordinate system for automatically controlling the robot based on image data captured by a vision sensor that captures images of the object on the conveying device; a monitoring position setting unit that determines a monitoring target position on the object being monitored by the presence sensor in the control coordinate system based on the position acquired by the position data acquisition unit; and a standby position setting unit that determines a standby position in the control coordinate system such that the monitoring target position determined by the monitoring position setting unit is in front of the object in the conveying direction, and the presence sensor is put into standby mode by the robot's movement.
[0010] In other aspects of this disclosure, a method for controlling a robot, wherein the robot moves to monitor the presence of an object being transported by a conveying device in a conveying direction using a presence sensor, and performs a prescribed operation on the object, wherein, in the method, the position of the object in a control coordinate system for automatically controlling the robot is obtained based on image data captured by a vision sensor that captures images of the object on the conveying device; based on the obtained position, a monitoring target position on the object monitored by the presence sensor is determined in the control coordinate system; and a standby position is determined in the control coordinate system such that the presence sensor is in standby mode by the robot's movement, in which the determined monitoring target position is in front of the object in the conveying direction. Attached Figure Description
[0011] Figure 1 This is a schematic diagram of a robot system according to one embodiment.
[0012] Figure 2 yes Figure 1 The diagram shows a block diagram of the robot system.
[0013] Figure 3 yes Figure 1 An enlarged view of the end effector and presence sensor shown.
[0014] Figure 4 It is a top view of the object being worked on.
[0015] Figure 5 It means Figure 1 The flowchart shown is an example of the action flow of a task performed by a robot system.
[0016] Figure 6 This indicates the state in which items are loaded on the conveying device.
[0017] Figure 7 This indicates that item 100 in the coordinate system is being moved.
[0018] Figure 8 This indicates the standby position set in the transport coordinate system.
[0019] Figure 9 This is a diagram illustrating a method for determining the standby position in the height direction of a conveying device.
[0020] Figure 10 This is an example of a robot's posture when performing tasks on an object.
[0021] Figure 11 This indicates the presence of sensors configured for standby position and standby posture.
[0022] Figure 12 This indicates the method of displacement of an item's position in the transport coordinate system.
[0023] Figure 13 This diagram illustrates the sliding of items on a conveying device.
[0024] Figure 14 It means Figure 5 A flowchart of an example of the process in step S13.
[0025] Figure 15 It is used for Figure 5 The diagram illustrates other examples of step S5.
[0026] Figure 16 It is used for Figure 5 The diagram illustrates other examples of step S5.
[0027] Figure 17 This indicates the standby position and standby posture determined by other examples in step S5.
[0028] Figure 18 This is a side view of an article in another embodiment.
[0029] Figure 19 It means Figure 1 Flowcharts of other examples of the motion flow of a task performed by the robot system shown.
[0030] Figure 20 It means Figure 1 Flowcharts of other examples of the motion flow of a task performed by the robot system shown.
[0031] Figure 21 It is a schematic representation in Figure 19 A diagram of an example of the reservation list created in step S32. Detailed Implementation
[0032] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Furthermore, in the various embodiments described below, the same elements are labeled with the same symbols, and repeated descriptions are omitted. First, refer to... Figures 1-3 The robot system 10 according to one embodiment will be described. The robot system 10 includes: a conveying device 12, a robot 14, a presence sensor 16, a vision sensor 18, a conveying sensor 19, and a control device 20.
[0033] The conveying device 12 is, for example, a belt conveyor, which conveys the item 100 in the conveying direction Dc. Specifically, the conveying device 12 includes: a base 22, a movable part 24, and a servo motor 26. Figure 2The base 22 is fixedly mounted on the ground of the work unit. The movable part 24 is movably mounted on the base 22, and the item 100 is placed on the movable part 24. The servo motor 26 drives the movable part 24 to move the item 100 placed on the movable part 24 along the conveying direction Dc.
[0034] Robot 14 uses a presence sensor 16 to perform prescribed tasks (labeling, printing, picking, painting, etc.) on items 100 transported by the conveying device 12. The following describes the robot 14 performing a labeling task (applying label LB to the surface of item 100). Robot 14 is, for example, a planar articulated robot (or a horizontal articulated robot), and includes a robot base 28, a robot arm 30, and an end effector 32. The robot base 28 is fixedly mounted on the ground of the work unit.
[0035] The robotic arm 30 has multiple links rotatably connected to each other and is movably mounted on the robot base 28. An end effector 32 is mounted on the front end of the robotic arm 30 to perform a prescribed operation on the item 100 (in this embodiment, a label affixing operation). Specifically, the end effector 32 has a suction section 32a, which can suction and hold the label LB by forming a negative pressure inside. Figure 3 The robot 14 is equipped with multiple servo motors 34. Figure 2 The servo motor 34 causes the robot arm 30 to move by rotating the links of the robot arm 30 around the drive shaft, thereby causing the end effector 32 to move to any position and orientation.
[0036] A presence sensor 16 monitors for the presence or absence of an item 100 being conveyed by the conveying device 12 in the conveying direction Dc. In this embodiment, the presence sensor 16 is disposed adjacent to the end effector 32 at the front end of the robot arm 30 and moves together with the end effector 32 via the robot arm 30. In this embodiment, the presence sensor 16 monitors the presence or absence of the item 100 by measuring the distance d to it.
[0037] For example, sensor 16 has a feature along the optical axis B ( Figure 3 An optical presence sensor 16 consists of a light-emitting part that emits electromagnetic waves W (such as laser beams, infrared rays, or visible light) and a light-receiving part (such as a photodiode) that receives the reflected waves of the electromagnetic waves W. The presence sensor 16 can determine the distance d to the object 100 based on the difference between the time when the light-emitting part emits the electromagnetic waves W and the time when the light-receiving part receives the reflected waves.
[0038] Here, the presence sensor 16 has an effective monitoring distance de at a distance d from the light-emitting part in the direction relative to the optical axis B. The effective monitoring distance de is defined as the range where the distance d from the light-emitting part is d1≤d≤d2, and defines the range of distances d from which the presence sensor 16 can effectively monitor the presence or absence of the item 100. The lower limit d1 and the upper limit d2 of the effective monitoring distance de are predetermined as specifications of the presence sensor 16 (e.g., d1=300[mm], d2=600[mm]).
[0039] Furthermore, the presence sensor 16 has a monitoring range Rp capable of monitoring the object 100. This monitoring range Rp is defined as a region on an imaginary plane orthogonal to the optical axis B, and corresponds to the area of the irradiation point Wr where the light-emitting part of the presence sensor 16 irradiates the electromagnetic wave W (e.g., a laser beam). The presence sensor 16 is capable of detecting the presence of objects within the monitoring range Rp.
[0040] Reference Figure 1 A vision sensor 18 is positioned upstream of the robot 14 (e.g., near the upstream end of the conveying device 12) and monitors the object 100 by photographing it on the movable part 24 of the conveying device 12. Specifically, the vision sensor 18 is, for example, a 3D vision sensor, having a pair of imaging sensors (CCD, CMOS, etc.), a pair of optical lenses (collimating lenses, focusing lenses, etc.) guiding the image of the subject to each imaging sensor, and an image processing processor. The vision sensor 18 photographs the object 100 being conveyed on the movable part 24 and supplies the photographed object 100's image data ID to the control device 20. The image data ID is, for example, 3D point cloud data representing the visual features (faces, edges, etc.) of the object 100 using 3D point cloud representation.
[0041] Thus, the vision sensor 18 and the presence sensor 16 are different types of optical sensors. The presence sensor 16 does not have an imaging sensor and does not capture an image of the subject 100. Therefore, the presence sensor 16 has a smaller and lighter construction than the vision sensor 18, resulting in lower cost. Furthermore, the monitoring range Rp of the presence sensor 16 is... Figure 3 The field of view of the visual sensor 18 is much smaller than the monitoring range Rv of the visual sensor 18 (i.e., the field of view of the visual sensor 18) (Rp << Rv).
[0042] The transport sensor 19 detects the transport amount δ of the item 100 transported by the transport device 12. In this embodiment, the transport sensor 19 is provided on the transport device 12 and has a rotating roller that abuts against the movable part 24 and an encoder (or Hall element) for detecting the rotational speed of the rotating roller. The transport sensor 19 repeatedly detects the transport amount δ of the item 100 transported by the transport device 12 in the transport direction Dc at a predetermined control cycle τ (e.g., τ = 10 [msec]), and sequentially supplies the detected transport amount δ data to the control device 20. Alternatively, the transport sensor 19 may also be provided on the servo motor 26 of the transport device 12.
[0043] The control device 20 controls the actions of the conveying device 12, the robot 14, the presence sensor 16, and the vision sensor 18. For example... Figure 2 As shown, the control device 20 is a computer having a processor 40, a memory 42, and an I / O interface 44. The processor 40 has a CPU or GPU, etc., and is communicatively connected to the memory 42 and the I / O interface 44 via a bus 46.
[0044] The processor 40 communicates with the memory 42 and the I / O interface 44, and performs computational processing to execute tasks for the article 100. The memory 42 may have RAM or ROM, etc., to temporarily or permanently store various data. The memory 42 may be a computer-readable storage medium such as semiconductor memory, magnetic storage medium or optical storage medium.
[0045] I / O interface 44, for example, has an Ethernet (trademarked) port, a USB port, a fiber optic connector, or an HDMI (trademarked) terminal, and communicates with external devices via wired or wireless means under instructions from processor 40. The aforementioned servo motors 26 and 34, presence sensor 16, and vision sensor 18 are connected to I / O interface 44 in a manner capable of wired or wireless communication.
[0046] like Figure 1 and Figure 3 As shown, a robot coordinate system C1 and a tool coordinate system C2 are set for the robot 14. The robot coordinate system C1 is a control coordinate system C used to control the movement of the robot arm 30. In this embodiment, the robot coordinate system C1 is set for the robot base 28, such that its origin is located at the center of the robot base 28 and its z-axis is parallel to the vertical direction.
[0047] The tool coordinate system C2 is a control coordinate system C that defines the position and orientation of the end effector 32 in the robot coordinate system C1. In this embodiment, the tool coordinate system C2 is set for the end effector 32 so that its origin (so-called TCP) is located at the working point of the end effector 32 (in this embodiment, the center of the adsorption surface of the adsorption part 32a).
[0048] On the other hand, a sensor coordinate system C3 is set for the presence sensor 16. The sensor coordinate system C3 is a control coordinate system C that defines the position and orientation (specifically, the position and direction of the optical axis B) of the presence sensor 16 in the robot coordinate system C1. In this embodiment, the sensor coordinate system C3 is set for the presence sensor 16 such that its origin is located at the center of the light-emitting part, and its z-axis is parallel to (specifically, aligned with) the optical axis B.
[0049] Furthermore, the z-axis of the sensor coordinate system C3 and the z-axis of the tool coordinate system C2 can be configured to be parallel to each other. The positional relationships between the robot coordinate system C1, the tool coordinate system C2, and the sensor coordinate system C3 are known through calibration. Therefore, the robot coordinate system C1 and the tool coordinate system C2, as well as the robot coordinate system C1 and the sensor coordinate system C3, can be transformed into each other using known coordinate transformation matrices.
[0050] On the other hand, a transport coordinate system C4 is set for the transport device 12. The transport coordinate system C4 is a control coordinate system C that defines the transport direction Dc, the width direction Dw, and the height direction Dh of the transport device 12 in the robot coordinate system C1. In this embodiment, the x-axis direction of the transport coordinate system C4 defines the transport direction Dc, the y-axis direction defines the width direction Dw, and the z-axis direction defines the height direction Dh.
[0051] Furthermore, the origin of the transport coordinate system C4 can be located on the upper surface of the movable part 24. Additionally, the z-axis direction (i.e., the height direction Dh) of the transport coordinate system C4 can be parallel to the vertical direction. Furthermore, in the following description, for convenience, the positive x-axis direction (i.e., the transport direction Dc) of the transport coordinate system C4 is sometimes referred to as "front," the positive y-axis direction as "left," and the positive z-axis direction as "up."
[0052] The processor 40 uses the robot coordinate system C1, tool coordinate system C2, sensor coordinate system C3, and transport coordinate system C4 as references to automatically control the robot 14 and perform operations on the item 100. Therefore, the robot coordinate system C1, tool coordinate system C2, sensor coordinate system C3, and transport coordinate system C4 constitute the control coordinate system C for automatically controlling the robot 14.
[0053] Figure 4 Example of article 100. Article 100 is, for example, a packaging material such as a corrugated cardboard box containing goods, and is a three-dimensional (cubic prism) article with a polygonal (specifically, quadrilateral) shape when viewed from above. Specifically, article 100 has four end faces 102, 104, 106 and 108 that define the sides of the quadrilateral and a top surface 110.
[0054] The article 100 is defined with a length direction A1 parallel to end faces 104 and 106 and a width direction A2 parallel to end faces 102 and 108. Additionally, a working area 112 for affixing the label LB is pre-defined on the upper surface 110. The processor 40 performs the label affixing operation by moving the robot 14 to affix the label LB, held by the end effector 32, to the working area 112 in a prescribed posture.
[0055] The following is for reference Figure 5 This describes the action flow of the tasks performed by the robot system 10. When the processor 40 receives the task start command from the operator, the host controller, or the computer program PG, it begins... Figure 5 The process. At the beginning Figure 5 During the process, the processor 40 starts the following actions: it starts the conveying device 12 and moves the item 100 in the conveying direction Dc through the movable part 24.
[0056] In step S1, the processor 40 determines whether the item 100 has reached the upstream end of the conveying device 12. For example, a sensor SN (not shown), such as a second presence sensor or a proximity sensor, capable of detecting the presence of the item 100, is installed at the upstream end of the conveying device 12. The processor 40 can determine whether the item 100 has reached the upstream end of the conveying device 12 based on the output signal of the sensor SN.
[0057] The processor 40 proceeds to step S2 if the determination is yes, and proceeds to step S14 if the determination is no. In this embodiment, as... Figure 6 As shown, another robot or operator places the object 100 on the movable part 24 in any posture. In step S2, the processor 40 activates the vision sensor 18 to photograph the object 100. The vision sensor 18 supplies the photographed data ID (3D point cloud data, etc.) of the object 100 to the control device 20.
[0058] In step S3, the processor 40 obtains the position of the item 100 in the control coordinate system C. Specifically, the processor 40 parses the shooting data ID captured in the previous step S2, extracts the end faces 102, 104, 106 and 108 of the item 100 reflected in the shooting data ID, as well as the upper surface 110, and determines the feature points P (e.g., center point, centroid point or vertex), length direction A1 and width direction A2 of the upper surface 110.
[0059] On the other hand, when the processor 40 obtains the captured data ID, it sets up a transport coordinate system C4 in the robot coordinate system C1. At this time, the origin of the transport coordinate system C4 is set at the initial position IP predetermined in the robot coordinate system C1. The positional relationship between the transport coordinate system C4 and the robot coordinate system C1, set at the initial position IP, is known in advance through calibration. Therefore, the transport coordinate system C4 and the robot coordinate system C1 can transform each other using a known coordinate transformation matrix.
[0060] The processor 40 sets the end faces 102, 104, 106, and 108, the upper surface 110, the feature point P, the length direction A1, and the width direction A2 of the item 100, determined according to the captured data ID, into the transport coordinate system C4 at the initial position IP. Figure 7 The state is schematically represented in the diagram. Furthermore, the processor 40 obtains the coordinates P4(x, y) of the item 100 based on the feature point P, the length direction A1, and the width direction A2 in the transport coordinate system C4. P4 y P4 , z P4 w P4 p P4 r P4 The coordinates in coordinate P4 (x) P4 y P4 , z P4 ) represents the feature point P of item 100 captured by vision sensor 18 (in Figure 7 In the example, the position of the center point (or centroid) in the transport coordinate system C4.
[0061] On the other hand, coordinate w P4 This represents the rotation of item 100 (length direction A1 or width direction A2) around the x-axis of the transport coordinate system C4, with coordinate p. P4 This represents the amount of rotation of item 100 around the y-axis of the transport coordinate system C4, where the coordinate is r. P4 This represents the rotation of item 100 around the z-axis of the transport coordinate system C4. That is, the coordinate (w... P4 p P4 r P4 The coordinates P4 represent the orientation of the item 100 in the transport coordinate system C4 (i.e., the length direction A1 and the width direction A2). Thus, in this embodiment, the processor 40 serves as the position data acquisition unit 50 that obtains the position and orientation (coordinate P4) of the item 100 in the control coordinate system C (transport coordinate system C4) based on the captured data ID. Figure 2 It can perform its functions.
[0062] In step S4, the processor 40 determines the target work position Q in the control coordinate system C based on the position (coordinate P4) of the item 100 obtained in the previous step S3. Here, as described above, the work area 112 is predetermined on the upper surface of the item 100. The target work position Q represents the position on the item 100 that serves as the work target (e.g., the center point of the work area 112). More specifically, the target work position Q is predetermined to have a specified positional relationship relative to the feature point P of the item 100 (e.g., a position 30 mm away from the feature point P in the length direction A1 and 20 mm away from the width direction A2). The positional relationship data PD representing this positional relationship is pre-stored in the memory 42.
[0063] Processor 40 uses the coordinates P4 and positional relationship data PD representing the position and orientation of item 100 obtained in the previous step S3 to set the target position Q in the transport coordinate system C4, and obtains the coordinates Q4(x) of the target position Q in the transport coordinate system C4. Q4 y Q4 , z Q4 Thus, in this embodiment, the processor 40 serves as a work position setting unit 52 that determines the target work position Q in the control coordinate system C (transfer coordinate system C4) based on the position (coordinate Q4) of the item 100. Figure 2 It can perform its functions.
[0064] In step S5, the processor 40 determines the monitoring target position O in the control coordinate system C. The monitoring target position O represents the position on the item 100 when the sensor 16 is monitoring the presence or absence of the item 100 in step S9 (described later) (i.e., the position where the monitoring range Rp is configured). Specifically, as... Figure 7 As shown, the processor 40 determines the front-facing end face 102, 104, 106 and 108 of the end face 102 of the item 100 in the transport coordinate system C4.
[0065] On the other hand, the processor 40 defines an imaginary straight line in the transport coordinate system C4 as follows: an imaginary straight line VL parallel to the length direction A1, defined in the previous step S4, at the target work position Q. The processor 40 determines the intersection point O of the imaginary straight line VL and the end face 102 as the monitoring target position O, and obtains the coordinates O4(x) of the determined monitoring target position O in the transport coordinate system C4. O4 y O4 , z O4 ).
[0066] Thus, in this embodiment, the processor 40 determines the target work position Q based on the position (coordinate P4) of the item 100 obtained in step S3, and determines the target monitoring position O based on the target work position Q. Therefore, the processor 40 serves as the monitoring position setting unit 54 that determines the target monitoring position O in the control coordinate system C (transfer coordinate system C4) based on the position (coordinate P4) of the item 100. Figure 2 It can perform its functions.
[0067] In step S6, the processor 40 determines the standby position U in the control coordinate system C, where the robot 14's actions cause the sensor 16 to be in standby mode. (Refer to...) Figure 8 The following describes step S6. The processor 40 sets the y-coordinate of the standby position U in the transport coordinate system C4. U4 The y-coordinate of the monitored target location O in the transport coordinate system C4 is determined. O4 Same coordinate values (y U4 =y O4 Therefore, in the y-axis direction (i.e., the width direction Dw) of the transport coordinate system C4, the monitoring target position O is consistent with the standby position U.
[0068] Additionally, the processor 40 uses the effective monitoring distance de of the presence sensor 16 and the z-coordinate z of the coordinate P4 in the transport coordinate system C4 obtained in the most recent step S3 as the basis for its calculations. P4 Determine the z-coordinate of the standby position U in the transport coordinate system C4. U4 The z-coordinate of coordinate P4. P4 This indicates the position of feature point P in the height direction Dh, obtained in the most recent step S3. Processor 40 sets the z-coordinate of the standby position U in the transport coordinate system C4. U4 The z-coordinate of coordinate P4 is determined. P4 The sum of z and the lower limit value d1 of the effective monitoring distance de U4 =z P4 +d1. Figure 9 This indicates the determined standby position U.
[0069] like Figure 9 As shown, when the presence sensor 16 is configured in a position determined as z U4 =z P4 When the standby position U is +d1, the origin of the sensor coordinate system C3 is set at the following position: from the feature point P (or, the upper surface 110) of the item 100 captured in step S2, in the positive z-axis direction of the transport coordinate system C4, away from the lower limit value d1 of the effective monitoring distance de.
[0070] Additionally, the processor 40 will determine the x-coordinate of the standby position U in the transport coordinate system C4. U4Let the x-coordinate be a predetermined coordinate value. U4 The operator determines a fixed coordinate value that is further forward than the vision sensor 18. Thus, as... Figure 8 As shown, the processor 40 sets the standby position U in the transport coordinate system C4 to the coordinates U4 (x) in front of the monitoring target position O determined in step S5. U4 y U4 , z U4 (where y) U4 =y O4 , z U4 =z P4 +d1).
[0071] Furthermore, in step S7 described later, the processor 40 also determines a standby posture V that puts the presence sensor 16 into standby position U. Here, the posture V' of the end effector 32 relative to the article 100 during operation is predetermined. Figure 10 This represents an example of the pose V'. Figure 10 In the tool coordinate system C2, each axis represents the attitude V'. Figure 10 In the example shown, the posture V' is determined as follows: the x-axis of the tool coordinate system C2 is parallel to the width direction A2 of the item 100, the y-axis is parallel to the length direction A1 of the item 100, and the z-axis is parallel to the z-axis of the transport coordinate system C4. The posture data OD, representing the posture V' relative to the item 100, is pre-stored in memory 42.
[0072] Processor 40 uses the coordinates P4 (w) representing the pose of item 100 obtained in the most recent step S3. P4 p P4 r P4 ) and attitude data OD, determine the standby attitude V in the transport coordinate system C4 as coordinate U4 (w U4 p U4 r U4 ). Figure 8 This indicates the determined standby posture V. This standby posture V is the posture when the sensor coordinate system C3 is set in step S7 (described later), and is related to... Figure 10 The attitude V' of the end effector 32 shown corresponds to this. Thus, the processor 40 can determine the standby position U and standby attitude V as the coordinates U4(x) of the transport coordinate system C4. U4 y U4 z U4 w U4 p U4 r U4 ).
[0073] Next, the processor 40 will transfer the coordinates U4(x) of the transport coordinate system C4 representing the standby position U and the standby posture V.U4 y U4 , z U4 w U4 p U4 r U4 Transform the coordinates into the robot coordinate system C1, and thus obtain the coordinates U1(x). U1 y U1 , z U1 w U1 p U1 r U1 The coordinate U1 represents... Figure 8 The position data of the standby position U and standby posture V in the robot coordinate system C1 are shown. Thus, in this embodiment, the processor 40 serves as the standby position setting unit 56 that determines the standby position U and standby posture V in the control coordinate system (robot coordinate system C1, transport coordinate system C4). Figure 2 It can perform its functions.
[0074] In step S7, the processor 40 performs the following standby action: it moves the robot 14, causing the presence sensor 16 to be in standby position U in a standby posture V. Specifically, the processor 40 generates instructions (position instructions, speed instructions, torque instructions) for the servo motor 34 to set the sensor coordinate system C3 in the robot coordinate system C1 to the coordinates U1 (x, y, y) obtained in the previous step S6. U1 y U1 z U1 w U1 p U1 r U1 The sensor 16 is positioned as standby position U and standby posture V, represented by the set sensor coordinates C3.
[0075] Following this instruction, robot 14 moves presence sensor 16, resulting in, as follows: Figure 11 As shown, the presence sensor 16 is positioned at the standby position U and standby posture V determined in step S6. Therefore, the optical axis B of the presence sensor 16 is configured at coordinate U1 (x, y) in the robot coordinate system C1. U1 y U1 , z U1 ), and is parallel to the z-axis direction of the transport coordinate system C4. In addition, the end effector 32 (tool coordinate system C2) is configured with attitude V'.
[0076] Thus, in this embodiment, the processor 40 serves as the standby operation execution unit 58 that performs standby operations. Figure 2The processor 40 begins to perform the following actions: During standby, it activates the presence sensor 16 to detect the presence of object 100. Therefore, the coordinates of the presence sensor 16 in the robot coordinate system C1 are U1(x...). U1 y U1 The electromagnetic wave W is irradiated onto the movable part 24 from the position of the object, and the presence or absence of an object 100 is monitored within the monitoring range Rp.
[0077] In step S8, the processor 40 updates the position of feature point P of item 100, the target position Q, and the monitoring target position O in the control coordinate system C. In this embodiment, the processor 40 shifts the origin of the transport coordinate system C4 forward by the transport amount δ of the transport device 12 on item 100. As a result, as... Figure 12 As shown, the transport coordinate system C4 is displaced forward by a transport amount δ from the initial position IP in the robot coordinate system C1.
[0078] In the transport coordinate system C4 after displacement, the positions of feature point P, target position Q, and monitoring target position O obtained in steps S3-S5 are set, and the coordinates P4, Q4, and O4 of the transport coordinate system C4 (i.e., the positions of feature point P, target position Q, and monitoring target position O as observed from the transport coordinate system C4) remain unchanged. On the other hand, in the robot coordinate system C1, the positions of feature point P, target position Q, and monitoring target position O are displaced forward by a transport amount δ.
[0079] Whenever processor 40 executes step S8, it shifts the origin of the transport coordinate system C4 forward by a transport amount δ in the robot coordinate system C1. This updates the position of feature point P, the target position Q, and the monitoring target position O in the robot coordinate system C1, causing them to shift forward. The position of feature point P, the target position Q, and the monitoring target position O are managed as coordinates P4, Q4, and O4 in the transport coordinate system C4, which moves within the robot coordinate system C1. On the other hand, the coordinates U1 (x) of the standby position U and the standby posture V in the robot coordinate system C1 are also updated. U1 y U1 z U1 w U1 p U1 r U1 )constant.
[0080] In step S9, the processor 40 determines whether the presence sensor 16, which is in standby position U, detects the presence of item A. Here, during the transport of item 100 by the conveying device 12, item 100 sometimes slides forward or backward relative to the movable part 24. The processor 40 cannot recognize such sliding in the data. Figure 13 This indicates that a sliding state has occurred.
[0081] exist Figure 13 In the diagram, the position of the controlled item 100, identified by the processor 40 performing step S8 described above, is represented by a dashed line 100'; conversely, the actual position of the item 100 is represented by a solid line 100. Figure 13 In the example, the actual position of the item 100 shifts forward by error α due to the aforementioned sliding. In this case, the monitoring target position O (or its vicinity) on the actual item 100 reaches the monitoring range Rp of the presence sensor 16, and as a result, the presence sensor 16 detects the presence of the item 100.
[0082] As an example of step S9, processor 40 will take the feature point P of item 100 obtained in the most recent step S3 and the coordinates P4 (x) of the transport coordinate system C4. P4 y P4 , z P4 Transformed into the robot coordinate system C1 coordinates (x) P1 y P1 , z P1 ), obtain its z-coordinate z P1 The z-coordinate P1 This indicates the position of the upper surface 110 of the item 100 obtained in step S3 in the height direction Dh of the robot coordinate system C1.
[0083] Assuming that an object 100 is located directly below the presence sensor 16, the light-emitting part of the presence sensor 16 irradiates electromagnetic waves W onto the upward surface 110. Therefore, the distance d measured by the presence sensor 16 becomes the z-coordinate z of the standby position U in the robot coordinate system C1. U1 z coordinates of the upper surface 110 P1 The difference d REF =z U1 -z P1 The value. Processor 40 uses this difference d REF Set the threshold d as a benchmark th And compare it with the distance d measured by sensor 16. For example, the operator sets a threshold d. th Predetermined as difference d REF The range is ±10 [mm] (or ±5 [%).
[0084] In step S9, the distance d measured by sensor 16 is d th1 ≤d≤d th2 At this point, processor 40 determines that item 100 exists (i.e., it is), and proceeds to step S11. Here, the threshold d th1 For example, d REF -10 [mm] or 0.95d REF Threshold d th2 For dREF +10 [mm] or 1.05d REF On the other hand, processor 40 is at a distance d where d < d th1 or d th2 If <d, it is determined as no, and proceed to step S10.
[0085] As another example of step S9, the processor 40 calculates the z-coordinate z in the transport coordinate system C4 of the irradiation point Wr (i.e., the surface of the object monitored by the presence sensor 16) on the object (e.g., the surface of the movable part 24 or the upper surface 110 of the article 100) on which the presence sensor 16 irradiates the electromagnetic wave W (i.e., the surface of the object monitored by the presence sensor 16) based on the distance d measured by the presence sensor 16. R4 Assuming that when the object 100 is not directly below the presence sensor 16, the illumination point Wr is located on the surface of the movable part 24, therefore, the z-coordinate of the illumination point Wr is... R4 For z R4 =0.
[0086] On the other hand, when the item 100 reaches directly below the presence sensor 16, the illumination point Wr is located on the upper surface 110 of the item 100. Therefore, the z-coordinate of the illumination point Wr is z R4 The z-coordinate of the feature point P obtained in the most recent step S3 becomes approximately equal to the z-coordinate of the feature point P. P4 The value of . In this embodiment, the processor 40 uses the z-coordinate z of the feature point P. P4 Set a threshold z for the baseline th and the z-coordinate of the irradiation point Wr R4 Comparisons are made. For example, the threshold z. th It can be determined as the z-coordinate z P4 The range is ±10 [mm] (or ±5 [%).
[0087] In step S9, the z-coordinate of the irradiation point Wr is... R4 For z th1 ≤z R4 ≤z th2 At that time, processor 40 determines that item 100 exists (i.e., it is), and proceeds to step S11. Threshold z th1 For example, it is z P4 -10 [mm] or 0.95z P4 Threshold z th2 It is z P4 +10 [mm] or 1.05z P4 On the other hand, the processor 40 in z R4 <z th1 or z th2 <z R4 If the condition is not met, proceed to step S10.
[0088] In step S10, if the processor 40 determined no in the previous step S9, it determines whether the distance d has changed. Here, it is assumed that when the item 100 is not directly below the presence sensor 16, the distance d measured by the presence sensor 16 is a roughly constant distance from the presence sensor 16 to the movable part 24 (i.e., the z-coordinate of the standby position U). U1 ).
[0089] On the other hand, when the conveying device 12 continuously conveys multiple types of items 100 with varying heights, other types of items (or foreign objects) with different heights than the items 100 that have been positioned in step S3 may reach directly below the presence sensor 16. In this case, although the distance d measured by the presence sensor 16 is within the threshold d... th Outside the range, but the distance d will change the height of other items by a certain amount.
[0090] When processor 40 performs the determination in step S9 in step S10, if the distance d changes and exceeds the predetermined threshold d... th0 (|d|≥d) th0 If the condition is met, return to step S1. On the other hand, if the distance d does not exceed the threshold d... th0 If the condition is not met, return to step S8. Furthermore, in step S9, the processor 40 obtains the z-coordinate of the irradiation point Wr. R4 In step S10, the z-coordinate can be determined. R4 Has the value changed and exceeded the specified coordinate value z? th0 .
[0091] Thus, in this embodiment, when sensor 16 detects an item of a different type than the item 100 whose location was obtained in step S3, processor 40 returns to step S1 and executes steps S1-S10 again for the next item 100. This prevents the operation from being performed on an item different from the item 100 whose location was obtained in step S3 in step S13 (described later). As a result, the accuracy of the operation can be improved. Furthermore, processor 40 can also repeatedly execute the cycle of steps S8-S10 with the aforementioned control period τ during the periods when a negative determination is made in steps S9 and S10.
[0092] In step S11, the processor 40 obtains the error α between the standby position U and the monitored target position O in the transport direction Dc in the control coordinate system C. Specifically, the processor 40 obtains the coordinates U4' (x) of the standby position U in the transport coordinate system C4 updated in the most recent step S8. U4 ',y U4 ',z U4As described above, the coordinates U1 of the standby position U set in step S6 in the robot coordinate system C1 remain unchanged. On the other hand, the coordinates U4' of the standby position U in the transport coordinate system C4 change each time step S8 is executed.
[0093] Additionally, the processor 40 obtains the monitoring target position O set in the transport coordinate system C4 updated in the most recent step S8. Figure 13 The coordinates O4(x) O4 y O4 , z O4 As described above, the coordinates O4 of the monitored target position O in the transport coordinate system C4 remain unchanged. Furthermore, the processor 40 calculates the x-coordinate x of the acquired coordinates U4'. U4 'x-coordinate of coordinate O4 O4 The error α = x U4 '-x O4 .
[0094] Thus, when the standby presence sensor 16 detects the presence of the item 100 in the standby position U (i.e., when it is determined to be present in step S9), the processor 40 obtains the error α between the standby position U and the monitored target position O in the transport direction Dc within the control coordinate system C (transport coordinate system C4). Therefore, the processor 40 serves as the error acquisition unit 60 for obtaining the error α. Figure 2 It can perform its functions.
[0095] In step S12, the processor 40 corrects the coordinates of the target position Q in the control coordinate system C based on the error α obtained in the previous step S11, so as to shift it forward or backward in the conveying direction Dc. Specifically, the processor 40 obtains the coordinates Q4(x) of the target position Q in the conveying coordinate system C4 updated in the most recent step S8. Q4 y Q4 , z Q4 ), correct the x-coordinate of coordinate Q4. Q4 To eliminate error α. For example, in Figure 13 In the example shown, an error α is generated because the item 100 slides forward in the transport direction Dc.
[0096] In this case, the processor 40 measures the x-coordinate of coordinate Q4. Q4 Add the error α (i.e., let it be x) Q4 +α) is used for correction to make the x-coordinate x Q4 The displacement is forward of the conveying direction Dc. As a result, the processor 40 corrects coordinate Q4 to coordinate Q4'(x) Q4 +α, y Q4 , z Q4In the transport coordinate system C4, the newly set coordinates of the corrected target position Q are Q4' (x). Q4 +α, y Q4 , z Q4 ).
[0097] Conversely, when an error α is generated due to slippage behind the conveying direction Dc, the processor 40 measures the error by measuring the x-coordinate x from coordinate Q4. Q4 Subtract the error α (i.e., let it be x) Q4 -α), so that the x-coordinate x Q4 The position is shifted backward in the conveying direction Dc. Thus, the processor 40 corrects according to the error α, causing the coordinates Q4 of the target position Q in the control coordinate system C (conveyor coordinate system C4) to shift forward or backward in the conveying direction Dc. Therefore, the processor 40 acts as a correction unit 62 for correcting the coordinates Q4 of the target position Q. Figure 2 It can perform its functions.
[0098] In step S13, the processor 40 performs a task on item 100. (See reference...) Figure 14 Step S13 will be explained below. In step S21, the processor 40 causes the robot 14 to move, causing the end effector 32 to move towards the target work position Q. Specifically, the processor 40 functions as a position data acquisition unit 50, transforming the coordinates Q4' of the target work position Q in the transport coordinate system C4 (corrected in the most recent step S12) to the robot coordinate system C1, and acquiring the coordinates Q1(x) of the corrected target work position Q in the robot coordinate system C1. Q1 y Q1 , z Q1 ).
[0099] Then, the processor 40 generates instructions for the servo motors 34 of the robot 14 to position the end effector 32 at coordinates Q1 (x, y) in the robot coordinate system C1. Q1 y Q1 z Q1 w Q1 p Q1 r Q1 The coordinates (w) represent the position and orientation. Here, the coordinates in coordinate Q1 are... Q1 p Q1 r Q1 () indicates a reference Figure 11 The coordinates of the described attitude V' correspond to the standby attitude V. Thus, the processor 40 causes the end effector 32 to move toward the latest job target position Q.
[0100] In step S22, the processor 40 determines whether the end effector 32 has reached the target work position Q. Specifically, the processor 40 calculates the coordinates T1 of the tool coordinate system C2 in the robot coordinate system C1 at that point in time based on feedback from the encoders (or Hall elements) installed on each servo motor 34. Then, the processor 40 determines whether the coordinates T1 and Q1 of the target work position Q are consistent. If the determination is yes, the processor 40 proceeds to step S24; otherwise, if the determination is no, it proceeds to step S23.
[0101] In step S23, the processor 40 updates the target position Q in the control coordinate system C. Specifically, similar to step S8 above, the processor 40 displaces the origin of the transport coordinate system C4 in the robot coordinate system C1 by a transport amount δ in the transport direction Dc. As a result, the target position Q, set as coordinate Q4' in the transport coordinate system C4, also displaces by a transport amount δ in the robot coordinate system C1 in the transport direction Dc.
[0102] After step S23, the processor 40 returns to step S21, functioning as the position data acquisition unit 50. It transforms the corrected target position Q coordinates Q4' set in the transport coordinate system C4 (updated in step S23) into coordinates Q1' in the robot coordinate system C1. Then, the processor 40 moves the robot 14 to position the end effector 32 at coordinates Q1'. Thus, during the period when the processor 40 determines whether step S22 is negative, steps S21 to S23 are cycled, for example, with a control cycle τ.
[0103] In step S24, the processor 40 actuates the end effector 32 to perform a task on the item 100. Specifically, the processor 40 eliminates the negative pressure on the suction part 32a holding the label LB, thereby affixing the label LB to the item 100. At this time, the end effector 32 (tool coordinate system C2) is positioned at the target work position Q (coordinate Q1'), thus enabling the label LB to be affixed to the work area 112 on the item 100. In this way, the processor 40 positions the end effector 32 at coordinate Q1' in the robot coordinate system C1, causing the robot 14 to perform the task at the target work position Q. Therefore, the processor 40 acts as the work execution unit 64 that causes the robot 14 to perform the task. Figure 2 It can perform its functions.
[0104] Furthermore, in step S24, the processor 40 can create positive pressure inside the adsorption unit 32a to blow the label LB toward the article 100. Alternatively, the adsorption unit 32a can be supported in a telescopic manner by a spring on the main body of the end effector 32, and the processor 40 can press the adsorption unit 32a onto the article 100 in step S24. With this structure, the operation can be performed with high precision.
[0105] Refer again Figure 5 In step S14, the processor 40 determines whether a job termination command has been received from the operator, the host controller, or the computer program PG. The processor 40 terminates the operation if the determination is yes. Figure 5 On the one hand, the process continues, and on the other hand, if the result is negative, it returns to step S1.
[0106] As described above, in this embodiment, the control device 20 has the functions of a position data acquisition unit 50, a work position setting unit 52, a monitoring position setting unit 54, a standby position setting unit 56, a standby action execution unit 58, an error acquisition unit 60, a correction unit 62, and a work execution unit 64. The position data acquisition unit 50 acquires the position, i.e., coordinates P4(x), of the item 100 in the control coordinate system C (transfer coordinate system C4) for the automatic control robot 14 based on the captured data ID from the vision sensor 18. P4 y P4 , z P4 (Step S3).
[0107] The monitoring position setting unit 54 determines the monitoring target position O on the item 100 being monitored by the sensor 16 in the control coordinate system C (transfer coordinate system C4) based on the position (coordinate P4) obtained by the position data acquisition unit 50 (step S5). Then, the standby position setting unit 56 determines the standby position U (coordinates U4, U1) in the control coordinate system C (transfer coordinate system C4, robot coordinate system C1) in front of the monitoring target position O determined by the monitoring position setting unit 54 in the transfer direction Dc, and sets the standby position U where the sensor 16 is in standby mode through the movement of the robot 14 (step S6).
[0108] As described above, the control device 20 cannot detect the slippage of the item 100 on the conveying device 12. In the past, in order to deal with the displacement of the item 100 caused by such slippage, a second vision sensor was placed at the front end of the robot arm 30. However, the vision sensor is heavier and more expensive than the presence sensor 16, and the processing of determining the position of the item 100 based on the data captured by the vision sensor is time-consuming.
[0109] In this embodiment, a lightweight and inexpensive presence sensor 16 is provided on the robot 14, which can quickly perform the monitoring of the item 100. Furthermore, the presence sensor 16, with these advantages, can automatically determine the standby position U for accurately monitoring the item 100 at the monitoring target position O. As a result, even when slippage occurs as described above, the actual item 100 can be accurately monitored at the monitoring target position O, allowing subsequent operations to begin quickly.
[0110] In this embodiment, the item 100 has a polygonal (quadrilateral) shape, and the position data acquisition unit 50 acquires the position and orientation (coordinate P4) of the item 100 in the control coordinate system C (transfer coordinate system C4). Then, the monitoring position setting unit 54 determines the monitoring target position O on one of the forward-facing end faces 102 among the multiple end faces 102, 104, 106, and 108 of the item 100 that define the sides of the polygon, based on the position and orientation acquired by the position data acquisition unit 50. Figure 7 ).
[0111] Here, when the presence sensor 16, which is on standby in front of the article 100, monitors the article 100, the presence sensor 16 can easily monitor the front end face 102 of the article 100. According to this embodiment, the monitoring target position O can be determined from the easily monitored end face 102, thus improving monitoring accuracy. Furthermore, the article 100 is not limited to a polygonal shape; for example, it can have any shape such as a circle or an ellipse. For example, when the article 100 has a circular or elliptical shape, the monitoring target position O can be determined at the front side of the outer peripheral surface of the article 100.
[0112] Furthermore, in this embodiment, the work position setting unit 52 determines the work target position Q on the item 100, which is the work target, in the control coordinate system C (transfer coordinate system C4) based on the position obtained by the position data acquisition unit 50 (step S4). Then, the monitoring position setting unit 54 determines the monitoring target position O based on the work target position Q. With this structure, a monitoring target position O suitable for the work target position Q can be set. Therefore, after the presence sensor 16 detects the item 100 at the monitoring target position O, it can quickly and accurately perform the work.
[0113] Furthermore, in this embodiment, the standby position setting unit 56 determines the coordinates U4 (specifically, the y-axis direction of the y-axis) of the standby position U in the control coordinate system C (transfer coordinate system C4) by monitoring that the target position O and the standby position U are consistent in the width direction Dw (y-axis direction of the transfer coordinate system C4) of the transfer device 12. U4 According to this structure, the standby position U of the presence sensor 16 is accurately positioned in front of the monitoring target position O in the conveying direction Dc. Therefore, the item 100 being conveyed by the conveying device 12 can be monitored more accurately at the monitoring target position O by the presence sensor 16. Furthermore, in step S6 described above, the processor 40 can also determine the standby position U as a position offset by a predetermined distance relative to the monitoring target position O in the y-axis direction of the conveying coordinate system C4.
[0114] In addition, in this embodiment, sensor 16 has a specified effective monitoring distance de ( Figure 3The standby position setting unit 56 determines the position (z-coordinate of coordinate P4) of the conveying device 12 in the height direction Dh (z-axis direction of the conveying coordinate system C4) obtained by the position data acquisition unit 50 based on the effective monitoring distance de and the position data acquisition unit 50. P4 Determine the coordinates U4 of the standby position U on the height direction Dh in the control coordinate system C (transfer coordinate system C4) (specifically, the z-coordinate z). U4 =z P4 +d1).
[0115] According to this structure, the presence sensor 16, which is in standby position U, can approach the item 100 as close as possible within its effective detection distance de. Therefore, the end effector 32 can approach the item 100 from the standby position U, and thus, after the presence sensor 16 detects the item 100, the end effector 32 can perform the operation on the work area 112 more quickly. Furthermore, the processor 40 can also determine the standby position U as any position moving upwards from the item 100. Alternatively, the effective detection distance de can be left unset for the presence sensor 16.
[0116] Furthermore, in this embodiment, the posture V' of the robot 14 (end effector 32) relative to the item 100 during operation is predetermined, and the standby position setting unit 56 further determines the standby posture V, i.e., coordinate U4 (w), for the presence sensor 16 to be in standby position U based on this posture V' (specifically, posture data OD). U4 p U4 r U4 ).
[0117] Then, the standby action execution unit 58 performs the following standby action: through the movement of the robot 14, the presence sensor 16 is put into standby position U in a standby posture V. According to this structure, when the presence sensor 16 is put into standby mode to monitor the item 100, the robot 14 can be put into standby mode V' during operation. Therefore, after the presence sensor 16 detects the item 100, the operation can be performed more quickly.
[0118] Furthermore, in step S6, the processor 40 may not determine the standby posture V, i.e., the coordinates U4 (w U4 p U4 r U4 ), and only the standby position U, i.e., the coordinates U4 (x) is determined. U4 y U4 , z U4 In this case, the processor 40 can execute steps S6 and S7 in the orientation of the end effector 32 (tool coordinate system C2) at the start time of step S6.
[0119] In addition, in this embodiment, the monitoring target position O and the operation target position Q are displaced in the control coordinate system C (robot coordinate system C1) according to the conveying amount δ of the conveying device 12 to the item 100 in the conveying direction Dc (step S8). When the presence sensor 16 in the standby position U detects the presence of the item 100 (as in step S9), the error acquisition unit 60 acquires the error α (= x) between the standby position U and the monitoring target position O in the conveying direction Dc in the control coordinate system C (conveyor coordinate system C4). U4 '-x O4 (Step S11).
[0120] Then, based on the error α obtained by the error acquisition unit 60, the correction unit 62 adjusts the coordinates Q4 (specifically, the x-coordinate x) of the target position Q in the control coordinate system C. Q4 Correct it to shift it in the conveying direction Dc (e.g., x). Q4 +α)(step S12). Based on this structure, the position of the article 100 on the control device 20 is determined (…). Figure 13 When an error α occurs between the position of the dotted line 100' in the diagram and the actual position of the item 100, the control device 20 can re-identify the target position Q on the actual item 100. Therefore, the working accuracy for the work area 112 can be improved more effectively.
[0121] Furthermore, in this embodiment, the corrected target position Q (coordinate Q4') is displaced in the control coordinate system C (robot coordinate system C1) in the transport direction Dc according to the transport amount δ of the transport device 12 on the item 100 (step S23). The position data acquisition unit 50 acquires the coordinate Q1' of the corrected target position Q based on the transport amount δ.
[0122] Then, the work execution unit 64 positions the robot 14 (end effector 32) at the coordinates Q1' obtained by the position data acquisition unit 50, and causes the robot 14 to perform work for the target work position Q. According to this structure, even in the case of the above-mentioned slippage, the work can be performed on the work part 112 with high precision by recognizing the corrected target work position Q.
[0123] In addition, processor 40 can also be used in Figure 5 In the process, step S4 is executed after step S5. Specifically, after step S3, in step S5, the processor 40 calculates the coordinates P4 (x, y) of item 100 obtained in the most recent step S3. P4 y P4 z P4 w P4 p P4 r P4 To determine the location O of the monitoring target.
[0124] For example, processor 40 can be in transport coordinate system C4, through... Figure 7 The monitoring target position O is determined by the intersection of the feature point P shown and the axis A1 parallel to the length direction A1 with the end face 102 facing forward. Next, in step S4, the processor 40 determines the operation target position Q in the transport coordinate system C4 based on the monitoring target position O. For example, the processor 40 determines the operation target position Q at a position that is a predetermined distance (e.g., 10 mm) away from the monitoring target position O along the axis A1 to the rear.
[0125] Furthermore, in the above embodiment, the case where the processor 40 corrects the coordinates Q4 of the target position Q in the transport coordinate system C4 to coordinates Q4' in step S12 is described. However, it is not limited to this; the processor 40 may also shift the origin of the transport coordinate system C4 forward or backward by an error α at the start time of step S12. In this case, the target position Q in the transport coordinate system C4 remains unchanged, but the coordinates of the target position Q in the robot coordinate system C1 are corrected. Afterward, the processor 40 executes step S13 based on the shifted transport coordinate system C4.
[0126] Furthermore, the processor 40 can also perform the operation without knowing the target position Q. For example, the processor 40 can move the end effector 32 downwards to perform the operation on the item 100 after a predetermined time has elapsed since the time point in step S9 when it is determined to be yes. Alternatively, the processor 40 can move the end effector 32 backwards, to the right, or to the left a predetermined distance and then move it downwards to perform the operation on the item 100 when the time point in step S9 is determined to be yes. That is, in this case, the operation position setting unit 52, the error acquisition unit 60, and the correction unit 62 can be omitted from the control device 20, and the operation position setting unit 52, the error acquisition unit 60, and the correction unit 62 can be omitted from the control device 20. Figure 5 Steps S4, S11, and S12 are omitted from the process.
[0127] Next, refer to Figure 15 as well as Figure 16 Other examples of step S5 will be described below. In this embodiment, the processor 40 functions as a monitoring position setting unit 54 in step S5, calculates the angle θ between the length direction A1 determined in the most recent step S3 and the conveying direction Dc, and determines one of the end faces 102, 104, 106 and 108 of the article 100 that faces forward based on the calculated angle θ.
[0128] Here, as described above, the processor 40 functions as a position data acquisition unit 50 in the most recent step S3, acquiring coordinates (w) representing the orientation of the item 100 in the transport coordinate system C4 (i.e., the length direction A1 and the width direction A2). P4 pP4 r P4 Processor 40 uses this coordinate (w) P4 p P4 r P4 Calculate the angle θ and determine whether the angle θ is within the specified threshold θ. th (For example, θ) th =45°) or above.
[0129] Figure 15 This means that the angle θ is θ < θ th Example. In this example, as end faces 102, 104, 106, and 108, there are two end faces 102 and 104 that face forward (i.e., end faces whose normal direction unit vector has a vector component VC of the transport direction Dc). In this case, the processor 40 determines the end face 102, which intersects the axis A1 parallel to the length direction A1, as the end face facing forward. Then, with Figure 7 In the same manner as shown, the processor 40 determines the intersection point O of the imaginary straight line VL parallel to the length direction A1 and the end face 102 as the monitoring target position O.
[0130] on the other hand, Figure 16 This means that the angle θ is ≥ θ th For example, in this case, there are two end faces, 102 and 106, which are the front-facing end faces among end faces 102, 104, 106 and 108. In this case, the processor 40 will determine the end face 106, which is located at feature point P and intersects with axis A2 parallel to the width direction A2, as the front-facing end face.
[0131] Then, the processor 40 defines an imaginary straight line VL in the transport coordinate system C4, which is parallel to the width direction A2 and is derived from the target work position Q determined in the previous step S4. The intersection point O of this imaginary straight line VL and the end face 106 is determined as the monitoring target position O. Figure 16 Once the monitoring target location O is determined, the processor 40, in step S6, determines the location as described in the above embodiment. Figure 17 The standby position U and standby posture V are shown. This standby posture V corresponds to the posture V' of the tool coordinate system C2 (the x-axis is parallel to the width direction A2 and the y-axis is parallel to the length direction A1).
[0132] As an alternative example, processor 40 can also be based on coordinates (w P4 p P4 r P4 Calculate the angle θ' between the width direction A2 and the conveying direction Dc, and determine whether this angle θ' is within the specified threshold θ. th (For example, θ) th =45° and above. In Figure 16 In the example, angle θ' is θ' < θ th In this case, the processor 40 will define the end face 106 that intersects the axis A2 representing the width direction A2 as an end face facing forward. On the other hand, in Figure 15 In the example, angle θ' is θ'≥θ th In this case, the processor 40 can determine the end face 102 that intersects the axis A1 representing the length direction A1 as an end face facing forward.
[0133] As described above, in this embodiment, the monitoring position setting unit 54 monitors the attitude, i.e., coordinates (w) obtained by the position data acquisition unit 50. P4 p P4 r P4 The angle θ or θ' between the length direction A1 or width direction A2 of the item 100 and the conveying direction Dc is calculated. Based on the angle θ or θ', an end face 102 or 106 facing forward is determined. According to this structure, the presence sensor 16, which is on standby at the front, can easily monitor the end face 102 or 106 facing forward of the item 100 and determine the monitoring target position O.
[0134] Furthermore, in step S5, processor 40 can determine one end face 102 or 106 facing forward based on the vector of the normal direction of end faces 102, 104, 106, and 108. Specifically, processor 40 calculates the unit vector of the normal direction of each end face 102, 104, 106, and 108 in the transport coordinate system C4. For example, in Figure 15 In the example case, the unit vectors in the normal direction of end faces 106 and 108 have a vector component in the negative x-axis direction of the transport coordinate system C4, and on the other hand, do not have a vector component in the positive x-axis direction (i.e., the transport direction Dc).
[0135] On the other hand, the unit vectors in the normal direction of end faces 102 and 104 have a vector component VC in the positive x-axis direction (transfer direction Dc) of the transfer coordinate system C4. Furthermore, the magnitude of the vector component VC of end face 102 is larger than that of end face 104. The processor 40 can determine the end face 102 with the largest magnitude of the vector component VC as the end face facing forward.
[0136] Next, refer to Figure 18 Other examples of steps S3 and S12 will be described below. In this embodiment, the processor 40... Figure 18 The item 100 shown is being processed. When viewed from above, this item 100 (e.g., a bag-shaped packaging material) is... Figure 4It has the same quadrilateral shape, but when viewed from the side, its upper surface 110 is tilted, so that the height of the item 100 changes in the length direction A1.
[0137] In step S3, as in the above embodiment, the processor 40 functions as the location data acquisition unit 50, such as... Figure 15 As shown, in the transport coordinate system C4 configured at the initial position IP of the robot coordinate system C1, end faces 102, 104, 106, and 108, the upper surface 110, feature point P, length direction A1, and width direction A2 are represented. Then, the processor 40 obtains the coordinates P4 (x, y, y) representing the position and orientation of the item 100. P4 y P4 z P4 w P4 p P4 r P4 At this point, processor 40 calculates the average value z of the height (i.e., z-coordinate) of the upper surface 110 in the transport coordinate system C4. AVE The z-coordinate of coordinate P4 is z P4 (z) P4 =z AVE Then, processor 40 executes steps S4 to S11 sequentially based on the coordinates P4 obtained in this way.
[0138] In step S12, the processor 40 functions as a correction unit 62, correcting the coordinates of the target position Q in the control coordinate system C based on the error α to shift it forward or backward, and further correcting it based on the distance d measured by the presence sensor 16 to shift it in the height direction Dh (the z-axis direction of the conveying coordinate system C4) of the conveying device 12.
[0139] Here, in Figure 18 In the case of the item shown, the average value z of the height of the upper surface 110 calculated in step S3. AVE It may be related to the working part 112 located near end face 102. Figure 4 The heights of the sensors are different. Therefore, in this embodiment, the processor 40 further corrects the coordinates Q4'(x) based on the distance d obtained by the sensor 16 when it was determined to exist in the previous step S9. Q4 +α, y Q4 , z Q4 The z-coordinate of coordinate Q4' is z. Q4 Based on the z-coordinate z of coordinate P4 obtained in step S3 P4 =z AVE And find out.
[0140] When the determination is yes in step S9, sensor 16 acquires... Figure 18The distance d is the position near the end face 102 in the middle. The processor 40 determines the coordinates U4(x) of the standby position U at that time point in the transport coordinate system C4 based on the obtained distance d. U4 y U4 , z U4 Find the z-coordinate of the upper surface 110 near end face 102 in the transport coordinate system C4. S4 .
[0141] Then, processor 40 passes coordinates Q4'(x) Q4 +α, y Q4 , z Q4 z-coordinate of ) Q4 The substitution is the obtained z-coordinate z S4 Correct the coordinates Q4' to Q4'(x) Q4 +α, y Q4 , z S4 Furthermore, the processor 40 can also multiply the calculated z-coordinate zS4 by a specified coefficient β (e.g., β = 1.1 or 0.9) to obtain the new z-coordinate β•z. S4 The z-coordinate of coordinate Q4' is z Q4 Replace with the new z-coordinate β•z S4 Therefore, coordinate Q4' is corrected to coordinate Q4'(x). Q4 +α, y Q4 ,β•z S4 ).
[0142] Thus, the processor 40 further corrects the coordinates Q4' of the target position Q based on the distance d to shift it upwards or downwards. The corrected coordinates Q4' of the target position Q are then newly set in the transport coordinate system C4. Afterwards, the processor 40 executes step S13 based on the corrected coordinates Q4' of the target position Q.
[0143] As described above, in this embodiment, the correction unit 62 further corrects the coordinates Q4' of the target position Q in the control coordinate system C (transfer coordinate system C4) based on the distance d measured by the presence sensor 16, so that it shifts the target position Q in the height direction Dh (z-axis direction of the transfer coordinate system C4) of the transfer device 12. According to this structure, it is possible to adjust the position of the target position Q in the control coordinate system C (transfer coordinate system C4) according to the distance d measured by the presence sensor 16. Figure 18 The item at the indicated height performs the operation with high precision.
[0144] In addition, it is possible to Figure 5 Various changes were made to the process. See below for reference. Figure 19 as well as Figure 20 Other examples of the motion flow of the robot system 10 will be explained. Furthermore, in Figure 19 as well as Figure 20 In the process shown, for and Figure 5 The same process flow is labeled with the same step numbers, and repeated descriptions are omitted. In this embodiment, three items 100A, 100B and 100C with different sizes or shapes are continuously transported by the conveying device 12.
[0145] The specification information SP of each of the three categories of items 100A, 100B, and 100C is associated with a category number (1, 2, 3) and pre-registered in the item database DB stored in memory 42. The specification information SP may include, for example, information about the size, shape, color, and material of items 100A, 100B, and 100C.
[0146] When the processor 40 receives the job start instruction from the operator, the host controller, or the computer program PG, it begins... Figure 19 The process is shown below. Figure 19 After the process begins, the processor 40 executes the above steps S1 to S3 in sequence, and takes pictures of the first type of item 100A, the second type of item 100B or the third type of item 100C through the vision sensor 18 to obtain the coordinates P4 of the transport coordinate system C4.
[0147] In step S31, the processor 40 determines whether the type of the item 100 captured in the most recent step S2 can be determined. Specifically, the processor 40 calculates the dimensions (length, width, or height) of the item 100 (specifically, item 100A, 100B, or 100C) based on the end faces 102, 104, 106, and 108 and the upper surface 110 of the item 100 (specifically, item 100A, 100B, or 100C) determined in the capture data ID in the previous step S3.
[0148] Then, the processor 40 compares the calculated dimensions with the specification information SP registered in the item database DB, thereby determining which of the following categories of item 100 the photographed item 100 matches in the item database DB: first category item 100A, second category item 100B, and third category item 100C.
[0149] At this point, the processor 40 can use the z-coordinate z of the feature point P of the item 100 obtained in the previous step S3. P4 Compare the heights of items 100A, 100B, and 100C registered in the specification information SP (e.g., by determining the z-coordinate). P4The processor 40 determines which of the captured items 100—item 100A, 100B, and 100C—it can determine if the captured item 100 falls within a pre-defined threshold range based on height. Furthermore, the processor 40 can determine the shape, color, or material of the item 100 based on the captured data ID, compare it with the specification information SP, and thus determine the type of item 100.
[0150] If the processor 40 can determine that the photographed item 100 belongs to the first type of item 100A, the second type of item 100B, or the third type of item 100C, it determines "yes" and proceeds to step S4. On the other hand, if the processor 40 cannot determine the type of the photographed item 100, it determines "no" and proceeds to step S32.
[0151] Subsequently, the processor 40 sequentially executes steps S4 and S5 for items 100A, 100B, or 100C whose types have been determined. In this embodiment, a specific target work position Q is determined for each of the first type of item 100A, the second type of item 100B, or the third type of item 100C. Therefore, for each of these items 100A, 100B, or 100C, the aforementioned positional relationship data PD is specifically determined and pre-stored in the memory 42. In step S4, the processor 40 uses the positional relationship data PD determined for the items 100A, 100B, or 100C whose types have been determined, and the coordinates P4 obtained in the most recent step S3, to obtain the coordinates Q4 of the transport coordinate system C4 for the target work position Q determined for items 100A, 100B, or 100C.
[0152] In step S32, the processor 40 creates a reservation list 70. Figure 21 This schematically illustrates an example of the data construction of the reservation list 70. In the reservation list 70, column 72 represents the order n (n = 1, 2, 3, ...) of the items 100 photographed in step S2, and column 74 represents the type (1, 2, 3) of the items 100 determined in step S31.
[0153] Additionally, column 76 indicates the location (coordinate P4) of item 100 obtained in step S3, column 78 indicates the target location Q (coordinate Q4) of item 100 determined in step S4, and column 80 indicates the monitoring target location O (coordinate O4) of item 100 determined in step S5. On the other hand, column 82 indicates the status of the operation: "Waiting for Operation" indicates that the operation for item 100 is scheduled to be performed, while "Cannot Perform" indicates that the operation for item 100 is canceled and will not be performed.
[0154] Suppose that item 100C of the third type was identified in the first step S31. In this case, as... Figure 21As shown, processor 40 stores the following data in the data area shown in the sequential row n=1 of column 72: type 3, coordinate P4. _1 Q4 _1 And O4 _1 The processor 40 sets the status of column 82 to "waiting for job". Thus, each time step S32 is executed, the processor 40 sequentially stores the type of item 100, its location P, the target job location Q, the monitoring target location O, and the job status in the reservation list 70.
[0155] On the other hand, after determining no in step S31, when executing step S32, the processor 40, as shown in the order n=4 rows of column 72 in the reservation list 70, does not store the location data of type, location P, job target location Q, and monitoring target location O, and sets the state of column 82 to "unworkable". After step S32, the processor 40 proceeds to step S14.
[0156] Processor 40 and Figure 19 The process is executed in parallel. Figure 20 The process. In addition, processor 40 may also have the ability to execute... Figure 19 The first processor 40A and execution of the process Figure 20 The second processor 40B in the process. For example, processor 40 in Figure 19 In step S32, when the reservation list 70 was created, the process began. Figure 20 The process.
[0157] In step S41, the processor 40 sets the sequence n of item 100 stored in the reservation list 70 to n=1. In step S42, the processor 40 refers to the "status" of sequence n in the reservation list 70 to determine whether the job status of item 100 in sequence n is "waiting for job". Assuming that at this point in time the sequence n is set to 1, the processor 40 refers to... Figure 21 The item 100C of the third type, which is assigned the order n=1 in the reservation list 70 shown, has a "status".
[0158] exist Figure 21 In the example, the state is "waiting for job", therefore, processor 40 determines "yes" in step S42. On the other hand, if the time point is set to sequence n=4, the "state" of sequence n=4 is "unavailable for job", therefore, processor 40 determines "no" in step S42. Processor 40 proceeds to step S43 when it determines "yes", and proceeds to step S44 when it determines "no".
[0159] In step S43, the processor 40 reads the location data of the item 100 assigned sequence n, including its location P, target location Q, and monitoring target location O, from the reservation list 70. Assuming that the time point is set to sequence n = 1, the processor 40 reads the coordinates P4 of the third type of item 100C assigned sequence n = 1 from the reservation list 70. _1 Q4 _1 And O4 _1 .
[0160] After step S43, the processor 40 uses the coordinates P4 read in step S43. _n Q4 _n And O4 _n Then, execute steps S6-S9 and S11-S13 as described above in sequence. Furthermore, in Figure 20 During the process, when the processor 40 determines that step S9 is not true, step S9 is repeated.
[0161] On the other hand, after executing step S13, in step S44, the processor 40 increments the order n of the reservation list 70 by "1" (n = n + 1). Then, the processor 40 proceeds to step S14, and if the result in step S14 is negative, returns to step S42. Then, for item 100 in the order n + 1 of the reservation list 70, the processor 40 sequentially executes steps S42, S43, S6~S9, S11~S13, S44, and S14.
[0162] Thus, in this embodiment, if the processor 40 determines the result is negative in step S42, the operation in step S13 is not executed. That is, the processor 40... Figure 19 If, in step S2, items of a different type than the target type 100A, 100B, and 100C are detected, the operation for that item is cancelled. Thus, as in the embodiment described above, it is possible to prevent operations from being performed on items other than the target type, thereby improving operational accuracy.
[0163] Furthermore, the location data of items 100A, 100B, and 100C stored in the reservation list 70, including their location P, target location Q, and monitoring target location O, are not limited to the coordinates P4, Q4, and O4 of the transport coordinate system C4. For example, for each of items 100A, 100B, and 100C, the reference coordinate P4 can be pre-determined in the transport coordinate system C4 configured at the initial location IP. R (x) P4R y P4R z P4R w P4R p P4R r P4R The reference coordinate P4R These represent the reference position and reference orientation of items 100A, 100B, and 100C, respectively.
[0164] For example, the reference coordinate P4 can be used. R The coordinates (x, y) represent the reference position. P4R y P4R , z P4R The origin (0, 0, 0) of the transport coordinate system C4 can be determined, or it can be determined as the center of the width direction Dw of the movable part 24. Additionally, the reference coordinate P4... R The coordinates (w) in the reference attitude represent the coordinates. P4R p P4R r P4R The orientation of items 100A, 100B, and 100C can be determined as follows: the length direction A1 is parallel to the x-axis of the transport coordinate system C4, and the width direction A2 is parallel to the y-axis of the transport coordinate system C4.
[0165] Similarly, for each of items 100A, 100B, and 100C, the reference coordinates Q4 of the target work position Q are determined in the transport coordinate system C4 configured at the initial position IP. R (x) Q4R y Q4R z Q4R ) and the reference coordinates O4R(x) of the monitoring target location O. O4R y O4R z O4R The reference coordinates P4 for items 100A, 100B, and 100C. R Q4 R And O4 R They are pre-stored in memory 42.
[0166] In this case, the processor 40 obtains the coordinates P4 of the item 100A, 100B, or 100C captured in the previous step S2 in step S3, and then obtains the coordinates P4 from the reference coordinate P4. R The displacement Δ4. Additionally, in step S4, the processor 40 determines the monitored target position Q as the position from the reference coordinate Q4 in the transport coordinate system C4. R The position was offset by a displacement of Δ4. Additionally, in step S5, the processor 40 determined the monitored target position O as being located in the transport coordinate system C4 from the reference coordinate O4. R The position was offset by a displacement of Δ4.
[0167] Additionally, in step S32, the processor 40 can replace the coordinates P4 of items 100A, 100B, or 100C. _n(Or, based on this), the displacement Δ4 is stored in the reservation list 70. Furthermore, in Figure 20 In the process shown, if the determination is negative in step S9, the processor 40 can interact with... Figure 5 The same process is followed in step S10.
[0168] In addition, the processor 40 can also execute a computer program PG pre-stored in the memory 42. Figure 5 The process shown or Figure 19 and Figure 20 The process is shown. In this case, the functions of the position data acquisition unit 50, the work position setting unit 52, the monitoring position setting unit 54, the standby position setting unit 56, the standby action execution unit 58, the error acquisition unit 60, the correction unit 62, and the work execution unit 64 executed by the processor 40 can also be implemented by a computer program PG.
[0169] Furthermore, in the above embodiment, the case where the processor 40 shifts the origin of the transport coordinate system C4 forward by a transport amount δ in steps S8 and S23 has been described. However, it is not limited to this; the transport coordinate system C4 may also be fixed at the initial position IP of the robot coordinate system C1, and in steps S8 and S23, the position of the feature point P, the position of the work target Q, and the position of the monitoring target O may be shifted by a transport amount δ in the transport coordinate system C4. Alternatively, the transport coordinate system C4 may be omitted. In this case, execution can also be performed based on the robot coordinate system C1. Figure 5 The process.
[0170] Furthermore, in the above embodiment, the processor 40 can obtain the coordinates P4(x) in step S3. P4 y P4 , z P4 w P4 p P4 r P4 When deleting the coordinates representing the attitude (w), delete the coordinates representing the attitude. P4 p P4 Then, in step S6, the processor 40 can determine the r-coordinate r of the coordinate P4 representing the attitude. P4 Based on the attitude data OD, determine the r-coordinate of the standby attitude V in the transport coordinate system C4, specifically the coordinate U4. U4 In this case, the processor 40 obtains the coordinates U4 (x, y) representing the standby position U and the standby posture V. U4 y U4 , z U4 r U4 ).
[0171] Next, processor 40 will assign coordinates U4 (x U4 y U4 , zU4 r U4 Transformed into coordinates U1(x) in robot coordinate system C1. U1 y U1 , z U1 r U1 Then, in step S7, the processor 40 can make the presence sensor 16 at coordinate U1(x) U1 y U1 , z U1 r U1 Standby. Based on this structure, the coordinates (w) can be omitted. P4 p P4 The related computational processing enables high-speed processing.
[0172] Furthermore, the presence sensor 16 is not limited to optical type, but can be any type of sensor that does not photograph the article 100 but can only detect its presence or absence. In addition, the presence sensor 16 is not limited to measuring distance d, and can be configured to output a "0" signal (or OFF signal) only when the article 100 is not detected, and on the other hand, output a "1" signal (or ON signal) when the article 100 is detected.
[0173] Furthermore, in the above embodiment, the case where the processor 40 of the control device 20 determines the position of the item 100 in the control coordinate system C based on the image data ID captured by the vision sensor 18 in step S3 has been described. However, it is not limited to this; for example, the image processing processor of the vision sensor 18 can also determine the position of the item 100 in the control coordinate system C. In this case, the image processing processor functions as the position data acquisition unit 50.
[0174] Furthermore, robot 14 is not limited to planar multi-joint robots (horizontal multi-joint robots), but can also be any type of robot such as vertical multi-joint robots or parallel linkage robots. Additionally, this disclosure is not limited to label pasting operations, but can also be applied to any operation such as printing on the working part 112 of the article 100, picking up the article 100 by holding and lifting it at the working part 112, or painting the working part 112 of the article 100.
[0175] The present disclosure has been described in detail above, but it is not limited to the various embodiments described above. Various additions, substitutions, modifications, and partial deletions can be made to these embodiments without departing from the core essence of the present disclosure, or without departing from the core essence of the present disclosure derived from the claims and their equivalents. Furthermore, these embodiments can also be implemented in combination. For example, in the above embodiments, the order of each action and the order of each process have been shown as an example, but this is not a limitation. The same applies to the use of numerical values or mathematical formulas in the description of the above embodiments.
[0176] This disclosure describes the following methods.
[0177] (Method 1) A control device 20 for controlling a robot 14, wherein the robot 14 moves to monitor the presence of an object 100 being transported by a conveying device 12 in a conveying direction Dc, and performs a prescribed operation on the object 100, wherein the control device 20 comprises: a position data acquisition unit 50, which acquires the position of the object 100 in a control coordinate system C for automatically controlling the robot 14 based on the image data ID of a vision sensor 18 that captures images of the object 100 on the conveying device 12; a monitoring position setting unit 54, which determines a monitoring target position O on the object 100 being monitored by the presence sensor 16 in the control coordinate system C based on the position acquired by the position data acquisition unit 50; and a standby position setting unit 56, which determines a standby position U in the control coordinate system C such that the monitoring target position O determined by the monitoring position setting unit 54 is in front of the object 100 in the conveying direction Dc, and the presence sensor 16 is put into standby mode by the movement of the robot 14.
[0178] (Method 2) According to the control device 20 of Method 1, the article 100 has a polygonal shape, the position data acquisition unit 50 acquires the position and orientation of the article 100 in the control coordinate system C, and the monitoring position setting unit 54 determines the monitoring target position O on one of the multiple end faces 102, 106 of the article 100 that define the sides of the polygon, facing forward, based on the position and orientation acquired by the position data acquisition unit 50.
[0179] (Method 3) According to the control device 20 of Method 2, the monitoring position setting unit 54 performs the following operations: based on the posture obtained by the position data acquisition unit 50, it calculates the angle θ between the length direction A1 or width direction A2 of the item 100 and the conveying direction Dc; and determines an end face 102, 106 based on the angle θ.
[0180] (Method 4) The control device 20 according to any one of Methods 1 to 3, wherein the control device 20 further comprises: a work position setting unit 52, which determines the work target position Q on the article 100 as the work target in the control coordinate system C based on the position obtained by the position data acquisition unit 50, and a monitoring position setting unit 54 determining the monitoring target position O based on the work target position U.
[0181] (Method 5) The control device 20 according to any one of Methods 1 to 4, wherein the standby position setting unit 56 determines the coordinates of the standby position U in the width direction Dw in the control coordinate system C, such that the monitoring target position O and the standby position U are consistent in the width direction Dw of the conveying device 12.
[0182] (Method 6) The control device 20 according to any one of Methods 1 to 5, wherein the sensor 16 has a predetermined effective monitoring distance de, and the standby position setting unit 56 determines the coordinates of the standby position U in the height direction Dh in the control coordinate system C based on the effective monitoring distance de and the position of the conveying device C in the height direction Dh obtained by the position data acquisition unit 50.
[0183] (Method 7) The control device 20 according to any one of Methods 1 to 6, wherein the posture V' of the robot 14 relative to the article 100 when performing the operation is predetermined, and the standby position setting unit 56 further determines the standby posture V when the presence sensor 16 is in standby position U based on the posture V'.
[0184] (Method 8) The control device 20 according to Method 7, wherein the control device 20 further comprises: a standby action execution unit 58, which performs a standby action as follows: by the action of the robot 14, the presence sensor 16 is put into standby position U in a state configured as standby posture V.
[0185] (Method 9) The control device 20 according to any one of Methods 1 to 8, wherein the control device 20 further comprises: a work position setting unit 52, which determines the work target position Q on the item 100 as the work target in the control coordinate system C based on the position obtained by the position data acquisition unit 50, monitors the target position O and the work target position Q in the control coordinate system C, and moves them in the conveying direction Dc according to the conveying amount δ of the conveying device 12 on the item 100; the control device 20 comprises: an error acquisition unit 60, which acquires the error α between the standby position U and the monitored target position O in the conveying direction Dc when the presence sensor 16 in the standby position U detects the presence of the item 100; and a correction unit 62, which corrects the coordinates of the work target position Q in the control coordinate system C based on the error α acquired by the error acquisition unit 60, so as to shift it forward or backward in the conveying direction Dc.
[0186] (Method 10) According to the control device 20 of Method 9, the presence sensor 16 is configured to: monitor the presence or absence of an item 100 and measure the distance d to the item 100, and the correction unit 62 further corrects the coordinates based on the distance d measured by the presence sensor 16, so as to shift it in the height direction Dh of the conveying device 12.
[0187] (Method 11) According to the control device 20 of Method 9 or 10, the corrected target position Q in the control coordinate system C is displaced in the conveying direction Dc according to the conveying amount δ of the conveying device 12 on the item 100. The position data acquisition unit 50 obtains the coordinates of the corrected target position Q according to the conveying amount δ. The control device 20 also includes a work execution unit 64, which positions the robot 14 at the coordinates obtained by the position data acquisition unit 50 and causes the robot 14 to perform work for the target position Q.
[0188] (Method 12) A method for controlling a robot 14, wherein the robot 14 moves to detect the presence of an object 100 being transported by a conveying device 12 in a conveying direction Dc, and performs a prescribed operation on the object 100, wherein, in the method, the position of the object 100 in a control coordinate system C for automatically controlling the robot 14 is obtained based on the image data ID of a vision sensor 18 that captures images of the object 100 on the conveying device 12; based on the obtained position, a monitoring target position O on the object 100 being monitored by the sensor 16 is determined in the control coordinate system C; a standby position is determined in the control coordinate system C such that the presence sensor 16 is in a standby position due to the movement of the robot 14 in front of the determined monitoring target position O in the conveying direction Dc.
[0189] (Method 13) A computer program PG, wherein processor 40 is caused to execute the method described in Method 12.
[0190] Compliant with instructions
[0191] 10 Robotic Systems
[0192] 12 Conveying device
[0193] 14 Robots
[0194] 16. Sensors are present.
[0195] 18 Vision Sensors
[0196] 20 Control devices
[0197] 30 robotic arms
[0198] 32 End effector
[0199] 40 processors
[0200] 50 Location Data Acquisition Department
[0201] 52. Work Position Setting Department
[0202] 54 Monitoring Location Setting Unit
[0203] 56 Standby position setting unit
[0204] 58 Standby Action Execution Unit
[0205] 60 Error Acquisition Section
[0206] 62 Correction Department
[0207] 64. Operations Execution Department.
Claims
1. A control device for controlling a robot, wherein the robot moves to detect the presence of a sensor indicating whether an item is being transported by a conveying device in the conveying direction, and performs a prescribed operation on the item, characterized in that, The control device has: The position data acquisition unit acquires the position of the item in the control coordinate system used for automatically controlling the robot based on the image data captured by the vision sensor that captures images of the item on the conveying device. The monitoring position setting unit determines, in the control coordinate system, the monitoring target position on the item being monitored by the presence sensor, based on the position obtained by the position data acquisition unit; as well as The standby position setting unit determines a standby position in the control coordinate system as follows: the monitoring target position determined by the monitoring position setting unit is in front of the conveying direction, and the position where the presence sensor is in standby mode is determined by the robot's movement.
2. The control device according to claim 1, characterized in that, The item has a polygonal shape. The location data acquisition unit acquires the position and orientation of the item in the control coordinate system. The monitoring position setting unit determines the monitoring target position on one of the multiple end faces of the item that define the sides of the polygon, facing the front side, based on the position and posture obtained by the position data acquisition unit.
3. The control device according to claim 2, characterized in that, The monitoring location setting unit performs the following actions: Based on the posture obtained by the position data acquisition unit, the angle between the length direction or width direction of the item and the conveying direction is calculated; The end face is determined based on the angle.
4. The control device according to claim 1, characterized in that, The control device further includes a work position setting unit, which determines, in the control coordinate system, a work target position on the item that is the target of the work, based on the position obtained by the position data acquisition unit. The monitoring location setting unit determines the monitoring target location based on the operation target location.
5. The control device according to claim 1, characterized in that, The standby position setting unit determines the coordinates of the standby position in the width direction in the control coordinate system, so that the monitoring target position and the standby position are consistent in the width direction of the conveying device.
6. The control device according to claim 1, characterized in that, The presence sensor has a specified effective monitoring distance. The standby position setting unit determines the coordinates of the standby position in the control coordinate system in the height direction based on the effective monitoring distance and the position of the conveying device obtained by the position data acquisition unit in the height direction.
7. The control device according to claim 1, characterized in that, The robot's posture relative to the object is predetermined when performing the operation. The standby position setting unit further determines the standby posture for the presence sensor to be in standby position based on the posture.
8. The control device according to claim 7, characterized in that, The control device further includes a standby action execution unit, which performs the following standby action: by the action of the robot, the presence sensor is put into standby position in a state configured as the standby posture.
9. The control device according to claim 1, characterized in that, The control device further includes a work position setting unit, which determines, in the control coordinate system, a work target position on the item that is the target of the work, based on the position obtained by the position data acquisition unit. The location of the monitored target and the location of the operational target are positioned in the control coordinate system and shifted in the conveying direction according to the amount of the item being conveyed by the conveying device. The control device has: The error acquisition unit acquires the error between the standby position and the position of the monitored target in the control coordinate system in the conveying direction when the presence sensor in the standby position detects the presence of the item. as well as The correction unit corrects the coordinates of the work target position in the control coordinate system based on the error obtained by the error acquisition unit, so as to shift it forward or backward in the conveying direction.
10. The control device according to claim 9, characterized in that, The presence sensor is configured to: monitor the presence or absence of the item and determine the distance to the item. The correction unit further corrects the coordinates based on the distance measured by the presence sensor, so as to shift the coordinates in the height direction of the conveying device.
11. The control device according to claim 9, characterized in that, The corrected target position in the control coordinate system is shifted in the conveying direction according to the amount of the item conveyed by the conveying device. The location data acquisition unit obtains the coordinates of the corrected work target location based on the transport volume. The control device further includes a work execution unit that positions the robot at the coordinates obtained by the position data acquisition unit and causes the robot to perform the work for the target work location.
12. A method for controlling a robot, wherein the robot moves to detect the presence of a sensor for an item being conveyed by a conveying device in a conveying direction, and performs a prescribed operation on the item, characterized in that, In the method, Based on the image data captured by the vision sensor that captures images of the item on the conveying device, the position of the item in the control coordinate system used for automatically controlling the robot is obtained; Based on the obtained position, the monitoring target position on the item being monitored by the presence sensor is determined in the control coordinate system; The following standby position is determined in the control coordinate system: the position where the monitoring target is located in front of the conveying direction, and the robot's movement causes the sensor to be in standby position.
13. A computer program, characterized in that, The processor is made to execute the method of claim 12.