Control device, method, and computer program for controlling robot

The control device employs a lightweight occupancy sensor to efficiently detect articles using vision sensor data, addressing the inefficiencies of traditional vision sensors by ensuring accurate and rapid robotic operations.

WO2025150147A1PCT designated stage expired Publication Date: 2025-07-17FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/000422
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-11
Publication Date
2025-07-17

AI Technical Summary

Technical Problem

Existing systems rely on heavy and expensive vision sensors for detecting articles being conveyed, which are time-consuming for arithmetic processing, necessitating a more efficient and cost-effective alternative.

Method used

A control device that utilizes a lightweight and less costly occupancy sensor to detect the presence of articles, determining a standby position and detection target based on imaging data from a vision sensor, and correcting for slippage using a robot system with coordinated coordinate systems.

Benefits of technology

Enables accurate and rapid detection of articles, allowing for precise robotic operations despite slippage, reducing costs and processing time compared to traditional vision sensors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024000422_17072025_PF_FP_ABST
    Figure JP2024000422_17072025_PF_FP_ABST
Patent Text Reader

Abstract

A visual sensor is heavy and expensive, and takes time for arithmetic processing thereof. It has been desired to adopt a simpler sensor instead of a visual sensor for detecting an article being conveyed by a conveyance device. A control device 20 comprises: a position data acquisition unit 50 for acquiring the position of an article 100 in a control coordinate system C on the basis of imaging data from a visual sensor 18 for imaging the article 100 on a conveyance device 12; a detection position setting unit 54 for determining, in the control coordinate system C, a detection target position O on the article 100 to be detected by a presence sensor 16 on the basis of the position acquired by the position data acquisition unit 50; and a standby position setting unit 56 for determining, in the control coordinate system C, a standby position U, in which the presence sensor 16 is set to standby by operation of a robot 14, in front of the detection target position O determined by the detection position setting unit 54 in the conveyance direction Dc.
Need to check novelty before this filing date? Find Prior Art

Description

Control device, method, and computer program for controlling a robot

[0001] The present disclosure relates to a control device, a method, and a computer program for controlling a robot.

[0002] 2. Description of the Related Art Conventionally, a system is known that includes a plurality of visual sensors that capture images of an article being conveyed by a conveying device on the upstream and downstream sides, and tracks the article being conveyed (see, for example, Patent Document 1).

[0003] JP 2016-107349 A

[0004] Since visual sensors are heavy, expensive, and require a long time for calculation, there has been a demand for a simpler sensor to replace the visual sensor in order to detect an article being conveyed by a conveying device.

[0005] In one aspect of the present disclosure, a control device that moves an presence sensor that detects the presence or absence of an item being transported in a transport direction by a transport device and controls a robot that performs a predetermined task on the item includes: a position data acquisition unit that acquires the position of the item in a control coordinate system for automatically controlling the robot based on image data from a visual sensor that images the item on the transport device; a detection position setting unit that determines in the control coordinate system a detection target position on the item that the presence sensor detects based on the position acquired by the position data acquisition unit; and a standby position setting unit that determines in the control coordinate system a standby position where the presence sensor is to wait by the operation of the robot, ahead of the detection target position determined by the detection position setting unit in the transport direction.

[0006] In another aspect of the present disclosure, a method for controlling a robot that moves an presence sensor that detects the presence or absence of an item being conveyed in a conveying direction by a conveying device and performs a predetermined task on the item includes obtaining the position of the item in a control coordinate system for automatically controlling the robot based on image data from a visual sensor that images the item on the conveying device, determining a detection target position on the item that the presence sensor will detect in the control coordinate system based on the obtained position, and determining a standby position in the control coordinate system ahead of the determined detection target position in the conveying direction where the presence sensor will wait by the operation of the robot.

[0007] 5 is a schematic diagram of a robot system according to one embodiment. It is a block diagram of the robot system shown in FIG. 1. It is an enlarged view of the end effector and the presence sensor shown in FIG. 1. It is a top view of an article to be worked on. It is a flowchart showing an example of an operation flow of work performed by the robot system shown in FIG. 1. It shows a state in which an article is placed on a conveying device. It shows an article 100 in a conveying coordinate system. It shows a standby position set in the conveying coordinate system. It is a diagram for explaining a method of determining a standby position in the height direction of the conveying device. It shows an example of the posture of a robot when working on an article. It shows an presence sensor arranged in a standby position and a standby posture. It shows a manner in which the position of the article is displaced in the conveying coordinate system. It is a diagram for explaining slippage of an article on the conveying device. It is a flowchart showing an example of the flow of step S13 in FIG. 5. It is a diagram for explaining another example of step S5 in FIG. 5. It is a diagram for explaining another example of step S5 in FIG. 5. It shows a standby position and a standby posture determined by another example of step S5. It is a side view of an article according to another embodiment. It is a flowchart showing another example of an operation flow of work performed by the robot system shown in FIG. 1. It is a flowchart showing another example of an operation flow of work performed by the robot system shown in FIG. FIG. 20 is a diagram schematically illustrating an example of a reservation list created in step S32 in FIG. 19.

[0008] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the various embodiments described below, like elements will be designated by like reference numerals, and duplicate descriptions will be omitted. First, a robot system 10 according to one embodiment will be described with reference to FIGS. 1 to 3. The robot system 10 includes a transport device 12, a robot 14, an occupancy sensor 16, a visual sensor 18, a transport sensor 19, and a control device 20.

[0009] The conveying device 12 is, for example, a belt conveyor, and conveys the article 100 in the conveying direction Dc. Specifically, the conveying device 12 has a base 22, a movable part 24, and a servo motor 26 ( FIG. 2 ). The base 22 is fixedly mounted on the floor of the work cell. The movable part 24 is movably mounted on the base 22, and the article 100 is placed on the movable part 24. The servo motor 26 drives the movable part 24 to convey the article 100 placed on the movable part 24 in the conveying direction Dc.

[0010] The robot 14 moves along the occupancy sensor 16 and performs predetermined tasks (labeling, printing, picking, painting, etc.) on the articles 100 being transported by the transport device 12. Below, a case will be described in which the robot 14 performs a labeling task in which a label LB is attached to the surface of the article 100. The robot 14 is, for example, a SCARA robot (or a horizontal articulated robot), and has a robot base 28, a robot arm 30, and an end effector 32. The robot base 28 is fixedly installed on the floor of the work cell.

[0011] The robot arm 30 has multiple links rotatably connected to one another and is movably mounted on the robot base 28. The end effector 32 is attached to the tip of the robot arm 30 and performs a predetermined task (in this embodiment, a label application task) on the article 100. Specifically, the end effector 32 has a suction portion 32a (FIG. 3) that can suck and grip a label LB by creating a negative pressure inside. The robot 14 is provided with multiple servo motors 34 (FIG. 2). The servo motors 34 rotate each link of the robot arm 30 about a drive shaft to operate the robot arm 30, thereby moving the end effector 32 to any position and posture.

[0012] The occupancy sensor 16 detects the presence or absence of an item 100 being conveyed in the conveying direction Dc by the conveying device 12. In this embodiment, the occupancy sensor 16 is provided at the tip of the robot arm 30 so as to be adjacent to the end effector 32, and is moved together with the end effector 32 by the robot arm 30. In this embodiment, the occupancy sensor 16 detects the presence or absence of the item 100 by measuring the distance d to the item 100.

[0013] For example, the occupancy sensor 16 is an optical occupancy sensor that has a light-emitting unit that emits electromagnetic waves W (laser light, infrared light, visible light, or the like) along an optical axis B ( FIG. 3 ) and a light-receiving unit (photodiode, or the like) that receives the reflected waves of the electromagnetic waves W. The occupancy sensor 16 can measure the distance d to the article 100 based on the difference between the time when the light-emitting unit emits the electromagnetic waves W and the time when the light-receiving unit receives the reflected waves.

[0014] Here, the occupancy sensor 16 has an effective detection distance de with respect to a distance d from the light-emitting unit in the direction of the optical axis B. The effective detection distance de is determined as a range of d1≦d≦d2, where d is the distance from the light-emitting unit, and defines the range of distance d within which the occupancy sensor 16 can effectively detect the presence or absence of the article 100. The lower limit d1 and upper limit d2 of the effective detection distance de are determined in advance as specifications of the occupancy sensor 16 (for example, d1=300 mm, d2=600 mm).

[0015] The presence sensor 16 also has a detection range Rp in which it can detect the article 100. This detection range Rp is defined as an area on an imaginary plane perpendicular to the optical axis B, and corresponds to the area of ​​an irradiation point Wr where the light-emitting unit of the presence sensor 16 irradiates electromagnetic waves W (e.g., laser light). The presence sensor 16 can detect the presence of an object within the detection range Rp.

[0016] 1 , the visual sensor 18 is disposed upstream of the robot 14 (e.g., near the upstream end of the conveying device 12) and detects the article 100 by capturing an image of the article 100 on the movable part 24 of the conveying device 12. Specifically, the visual sensor 18 is, for example, a three-dimensional visual sensor and includes a pair of image sensors (CCD, CMOS, etc.), a pair of optical lenses (collimator lenses, focus lenses, etc.) that guide a subject image to each image sensor, and an image processing processor. The visual sensor 18 captures an image of the article 100 being conveyed on the movable part 24 and supplies image data ID of the captured article 100 to the control device 20. The image data ID is, for example, three-dimensional point cloud data that represents visual features (surfaces, edges, etc.) of the article 100 as a three-dimensional point cloud.

[0017] As described above, the visual sensor 18 and the occupancy sensor 16 are different types of optical sensors, and the occupancy sensor 16 does not have an imaging sensor and does not capture an image of the object 100. Therefore, the occupancy sensor 16 has a smaller, lighter structure, and lower cost than the visual sensor 18. The detection range Rp ( FIG. 3 ) of the occupancy sensor 16 is much smaller than the detection range Rv of the visual sensor 18 (i.e., the field of view of the visual sensor 18) (Rp<<Rv).

[0018] The transport sensor 19 detects the transport amount δ of the article 100 transported by the transport device 12. In this embodiment, the transport sensor 19 is provided in the transport device 12 and includes a rotating roller that abuts against the movable part 24 and an encoder (or a Hall element) that detects the number of rotations of the rotating roller. The transport sensor 19 repeatedly detects the transport amount δ of the article 100 in the transport direction Dc by the transport device 12 at a predetermined control period τ (for example, τ = 10 [msec]), and sequentially supplies data on the detected transport amount δ to the control device 20. The transport sensor 19 may also be installed in the servo motor 26 of the transport device 12.

[0019] The control device 20 controls the operations of the transport device 12, the robot 14, the occupancy sensor 16, and the visual sensor 18. As shown in Fig. 2, 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, a GPU, or the like, and is communicatively connected to the memory 42 and the I / O interface 44 via a bus 46.

[0020] The processor 40 performs calculations to execute operations on the article 100 while communicating with the memory 42 and the I / O interface 44. The memory 42 has RAM, ROM, or the like, and temporarily or permanently stores various data. The memory 42 may be a computer-readable recording medium such as a semiconductor memory, a magnetic recording medium, or an optical recording medium.

[0021] The I / O interface 44 has, for example, an Ethernet (registered trademark) port, a USB port, an optical fiber connector, or an HDMI (registered trademark) terminal, and communicates data with external devices via a wired or wireless connection under instructions from the processor 40. The servo motors 26 and 34, the occupancy sensor 16, and the visual sensor 18 are connected to the I / O interface 44 via a wired or wireless connection so as to be able to communicate with each other.

[0022] 1 and 3, 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 for controlling the operation of the robot arm 30. In this embodiment, the robot coordinate system C1 is set with respect to the robot base 28 so that its origin is located at the center of the robot base 28 and its z axis is parallel to the vertical direction.

[0023] The tool coordinate system C2 is a control coordinate system C that defines the position and posture of the end effector 32 in the robot coordinate system C1. In this embodiment, the tool coordinate system C2 is set with respect to 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 suction surface of the suction part 32 a).

[0024] 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 of the presence sensor 16 in the robot coordinate system C1 (specifically, the position and direction of the optical axis B). In this embodiment, the sensor coordinate system C3 is set for the presence sensor 16 so that its origin is located at the center of the light-emitting unit and its z-axis is parallel to (specifically, coincides with) the optical axis B.

[0025] The z-axis of the sensor coordinate system C3 and the z-axis of the tool coordinate system C2 may be arranged parallel to each other. The positional relationships between the robot coordinate system C1 and the tool coordinate system C2 and between the robot coordinate system C1 and the sensor coordinate system C3 are known by calibration. Therefore, the robot coordinate system C1 and the tool coordinate system C2, and the robot coordinate system C1 and the sensor coordinate system C3 can be mutually converted via known coordinate conversion matrices.

[0026] On the other hand, a transfer coordinate system C4 is set for the transfer device 12. The transfer coordinate system C4 is a control coordinate system C that defines the transfer direction Dc in the robot coordinate system C1, and the width direction Dw and height direction Dh of the transfer device 12. In this embodiment, the x-axis direction of the transfer coordinate system C4 defines the transfer direction Dc, the y-axis direction defines the width direction Dw, and the z-axis direction defines the height direction Dh.

[0027] The origin of the transfer coordinate system C4 may be located on the upper surface of the movable part 24. The z-axis direction of the transfer coordinate system C4 (i.e., the height direction Dh) may be parallel to the vertical direction. In the following description, for convenience, the positive x-axis direction of the transfer coordinate system C4 (i.e., the transfer direction Dc) may be referred to as the forward direction, the positive y-axis direction as the leftward direction, and the positive z-axis direction as the upward direction.

[0028] The processor 40 automatically controls the robot 14 based on the robot coordinate system C1, the tool coordinate system C2, the sensor coordinate system C3, and the transport coordinate system C4 to perform work on the article 100. Therefore, the robot coordinate system C1, the tool coordinate system C2, the sensor coordinate system C3, and the transport coordinate system C4 constitute a control coordinate system C for automatically controlling the robot 14.

[0029] 4 shows an example of an article 100. The article 100 is, for example, a packaging material such as a cardboard box containing a product, and is a three-dimensional (rectangular) article having a polygonal (specifically, rectangular) outer shape when viewed from above. Specifically, the article 100 has four end faces 102, 104, 106, and 108 that define the sides of the rectangle, and a top face 110.

[0030] The article 100 has defined thereon a length direction A1 parallel to the end faces 104 and 106 and a width direction A2 parallel to the end faces 102 and 108. A work area 112 for attaching a label LB is predetermined on the top surface 110. The processor 40 operates the robot 14 to perform a label attachment operation in which the label LB held by the end effector 32 is attached to the work area 112 in a predetermined posture.

[0031] The operation flow of the work performed by the robot system 10 will be described below with reference to Fig. 5. The processor 40 starts the flow of Fig. 5 when it receives a work start command from an operator, a higher-level controller, or the computer program PG. When the flow of Fig. 5 starts, the processor 40 activates the conveying device 12 and starts the operation of conveying the article 100 in the conveying direction Dc by the movable part 24.

[0032] In step S1, the processor 40 determines whether or not an article 100 has arrived at the upstream end of the conveying device 12. For example, a sensor SN (not shown) capable of detecting the presence of the article 100, such as a second occupancy sensor or a proximity sensor, is provided at the upstream end of the conveying device 12. The processor 40 can determine whether or not an article 100 has arrived at the upstream end of the conveying device 12 based on the output signal of the sensor SN.

[0033] If the processor 40 determines YES, the process proceeds to step S2, and if the processor 40 determines NO, the process proceeds to step S14. In this embodiment, as shown in FIG. 6 , the article 100 is placed in an arbitrary orientation on the movable part 24 by another robot or an operator. In step S2, the processor 40 activates the visual sensor 18 to capture an image of the article 100. The visual sensor 18 supplies the image data ID (e.g., three-dimensional point cloud data) of the captured image of the article 100 to the control device 20.

[0034] In step S3, the processor 40 acquires the position of the article 100 in the control coordinate system C. Specifically, the processor 40 analyzes the imaging data ID captured in the immediately preceding step S2, extracts the end faces 102, 104, 106, and 108 and the top surface 110 of the article 100 that appear in the imaging data ID, and identifies a feature point P (e.g., a center point, a center of gravity, or a vertex), a length direction A1, and a width direction A2 of the top surface 110.

[0035] On the other hand, when the processor 40 acquires the imaging data ID, it sets the transfer coordinate system C4 in the robot coordinate system C1. At this time, the origin of the transfer coordinate system C4 is located at a predetermined initial position IP in the robot coordinate system C1. The positional relationship between the transfer coordinate system C4 located at the initial position IP and the robot coordinate system C1 is known in advance through calibration. Therefore, the transfer coordinate system C4 and the robot coordinate system C1 can be mutually coordinate-transformed via a known coordinate transformation matrix.

[0036] The processor 40 sets the end faces 102, 104, 106, and 108, top face 110, feature point P, length direction A1, and width direction A2 of the article 100 identified from the imaging data ID in the transport coordinate system C4 of the initial position IP. This state is shown schematically in FIG. 7. Then, the processor 40 calculates the coordinates P4 (x P4 , y P4 , z P4 , w P4 , p P4 , r P4 Of the coordinates P4, the coordinate (x P4 , y P4 , z P4 ) indicates the position in the transport coordinate system C4 of the feature point P (the center point or center of gravity in the example of FIG. 7) of the article 100 imaged by the visual sensor 18.

[0037] On the other hand, coordinate w P4 indicates the amount of rotation of the article 100 (in the length direction A1 or width direction A2) around the x-axis of the transport coordinate system C4, and the coordinate p P4indicates the amount of rotation of the article 100 around the y-axis of the transport coordinate system C4, and the coordinate r P4 indicates the amount of rotation of the article 100 around the z-axis of the transport coordinate system C4. P4 , p P4 , r P4 ) indicates the orientation of the article 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 functions as a position data acquisition unit 50 (FIG. 2) that acquires the position and orientation (coordinate P4) of the article 100 in the control coordinate system C (transport coordinate system C4) based on the imaging data ID.

[0038] In step S4, the processor 40 determines a task target position Q in the control coordinate system C based on the position (coordinate P4) of the item 100 acquired in the immediately preceding step S3. Here, as described above, the task location 112 is predetermined on the top surface of the item 100. The task target position Q represents a position on the item 100 that is the target of the task (e.g., the center point of the task location 112). More specifically, the task target position Q is predetermined to have a predetermined positional relationship with the feature point P of the item 100 (e.g., a position spaced 30 mm in the length direction A1 and 20 mm in the width direction A2 from the feature point P). Positional relationship data PD indicating this positional relationship is stored in advance in the memory 42.

[0039] The processor 40 sets the task target position Q in the transport coordinate system C4 using the coordinate P4 indicating the position and orientation of the item 100 acquired in the immediately preceding step S3 and the positional relationship data PD, and calculates the coordinate Q4 (x Q4 , y Q4 , z Q4 In this manner, in this embodiment, the processor 40 functions as a work position setting unit 52 (FIG. 2) that determines the work target position Q in the control coordinate system C (transport coordinate system C4) based on the position (coordinate Q4) of the article 100.

[0040] In step S5, the processor 40 determines a detection target position O in the control coordinate system C. The detection target position O represents the position on the article 100 when the presence sensor 16 detects the presence or absence of the article 100 in step S9 (i.e., the position where the detection range Rp is located). Specifically, as shown in FIG. 7 , the processor 40 identifies the end face 102 of the article 100 facing forward among the end faces 102, 104, 106, and 108 in the transport coordinate system C4.

[0041] Meanwhile, the processor 40 defines a virtual line VL that passes through the work target position Q determined in the immediately preceding step S4 and is parallel to the length direction A1 in the transfer coordinate system C4. The processor 40 determines the intersection O of the virtual line VL and the end face 102 as the detection target position O, and calculates the coordinate O4 (x O4 , y O4 , z O4 ) to obtain the

[0042] As described above, in this embodiment, the processor 40 determines the task target position Q based on the position (coordinate P4) of the article 100 acquired in step S3, and determines the detection target position O based on the task target position Q. Therefore, the processor 40 functions as a detection position setting unit 54 (FIG. 2) that determines the detection target position O in the control coordinate system C (transport coordinate system C4) based on the position (coordinate P4) of the article 100.

[0043] In step S6, the processor 40 determines a standby position U in the control coordinate system C, where the robot 14 operates to keep the seat occupancy sensor 16 on standby. This step S6 will be described with reference to FIG. 8. The processor 40 determines the y coordinate of the standby position U in the transfer coordinate system C4: y U4 is the y coordinate of the detection target position O in the transfer coordinate system C4: y O4 Set the coordinate value to the same as U4 = y O4 ) As a result, the detection target position O and the standby position U coincide with each other in the y-axis direction of the transport coordinate system C4 (that is, the width direction Dw).

[0044] The processor 40 also calculates the z coordinate of the waiting position U in the transfer coordinate system C4: z U4is calculated by dividing the effective detection distance de of the seat presence sensor 16 and the z coordinate of the coordinate P4 of the transfer coordinate system C4 acquired in the most recent step S3: P4 The z coordinate of the coordinate P4 is determined based on the following: P4 indicates the position of the feature point P in the height direction Dh acquired in the most recent step S3. The processor 40 calculates the z coordinate of the waiting position U in the transfer coordinate system C4: z U4 The z coordinate of coordinate P4: z P4 and the lower limit value d1 of the effective detection distance de: z U4 = z P4 The standby position U thus determined is shown in FIG.

[0045] As shown in FIG. U4 = z P4 When the presence sensor 16 is placed at the waiting position U defined as +d1, the origin of the sensor coordinate system C3 will be located at a position separated from the feature point P (or the top surface 110) of the item 100 imaged in step S2 by the lower limit value d1 of the effective detection distance de in the positive direction of the z-axis of the transport coordinate system C4.

[0046] The processor 40 also calculates the x-coordinate of the waiting position U in the transfer coordinate system C4: x U4 is a predetermined coordinate value. This x coordinate: x U4 is determined by the operator as a certain coordinate value spaced forward from the visual sensor 18. In this way, the processor 40 determines the waiting position U in the transfer coordinate system C4 as a coordinate U4 (x U4 , y U4 , z U4 ) (where y U4 = y O4 , z U4 = z P4 +d1).

[0047] The processor 40 also determines a standby posture V in step S7, which will be described later, for causing the occupancy sensor 16 to wait at a standby position U. Here, the posture V' of the end effector 32 relative to the article 100 when performing work is determined in advance. An example of this posture V' is shown in FIG. 10. The axial directions of the tool coordinate system C2 in FIG. 10 represent the posture V'. In the example shown in FIG. 10, the posture V' is determined as a posture in which the x-axis of the tool coordinate system C2 is parallel to the width direction A2 of the article 100, the y-axis is parallel to the length direction A1 of the article 100, and the z-axis is parallel to the z-axis of the transport coordinate system C4. Posture data OD indicating the posture V' relative to the article 100 is stored in advance in the memory 42.

[0048] The processor 40 calculates the coordinates P4 (w P4 , p P4 , r P4 ) and the posture data OD, the waiting posture V in the transfer coordinate system C4 is calculated using the coordinates U4 (w U4 , p U4 , r U4 ) in the transfer coordinate system C4. The standby position U and the standby attitude V are determined as follows. FIG. 8 shows the standby attitude V thus determined. This standby attitude V is the attitude when the sensor coordinate system C3 is set in step S7, which will be described later, and corresponds to the attitude V' of the end effector 32 shown in FIG. 10. In this way, the processor 40 determines the standby position U and the standby attitude V as coordinates U4 (x U4 , y U4 , z U4 , w U4 , p U4 , r U4 ) can be defined as:

[0049] Next, the processor 40 calculates the coordinate U4 (x U4 , y U4 , z U4 , w U4 , p U4 , r U4 ) into the robot coordinate system C1, the coordinate U1 (x U1 , y U1 , z U1 , w U1 , p U1 , r U1) is acquired. This coordinate U1 is position data indicating the standby position U and standby posture V in the robot coordinate system C1 shown in Fig. 8. As described above, in this embodiment, the processor 40 functions as a standby position setting unit 56 (Fig. 2) that determines the standby position U and standby posture V in the control coordinate system (robot coordinate system C1, transfer coordinate system C4).

[0050] In step S7, the processor 40 operates the robot 14 to execute a standby operation in which the robot 14 waits at the standby position U with the seat presence sensor 16 placed in the standby posture V. Specifically, the processor 40 calculates the coordinate U1 (x U1 , y U1 , z U1 , w U1 , p U1 , r U1 ) and generates commands (position command, speed command, torque command) to the servo motor 34 so as to position the occupancy sensor 16 at the standby position U and standby posture V represented by the set sensor coordinate C3.

[0051] In accordance with this command, the robot 14 moves the seat sensor 16, and as a result, as shown in FIG. 11, the seat sensor 16 is positioned at the standby position U and standby posture V determined in step S6. As a result, the optical axis B of the seat sensor 16 is aligned with the coordinate U1 (x U1 , y U1 , z U1 ) and is parallel to the z-axis direction of the transfer coordinate system C4. The end effector 32 (tool coordinate system C2) is placed at an orientation V'.

[0052] Thus, in this embodiment, the processor 40 functions as a standby operation execution unit 58 (FIG. 2) that executes a standby operation. When the processor 40 executes a standby operation, it activates the presence sensor 16 and starts an operation to detect the presence or absence of the article 100. As a result, the presence sensor 16 detects the coordinate U1 (x U1 , y U1 ) electromagnetic waves W are irradiated onto the movable part 24 to detect the presence or absence of the article 100 within the detection range Rp.

[0053] In step S8, the processor 40 updates the position of the feature point P of the article 100, the task target position Q, and the detection target position O in the control coordinate system C. In this embodiment, the processor 40 displaces the origin of the transfer coordinate system C4 forward by the transfer amount δ in accordance with the transfer amount δ of the article 100 by the transfer device 12. As a result, as shown in FIG. 12 , the transfer coordinate system C4 is displaced forward by the transfer amount δ from the initial position IP in the robot coordinate system C1.

[0054] In the transfer coordinate system C4 after the displacement, the position of the feature point P, the task target position Q, and the detection target position O acquired in steps S3 to S5 are set, and the coordinates P4, Q4, and O4 of the transfer coordinate system C4 (i.e., the position of the feature point P, the task target position Q, and the detection target position O as viewed from the transfer coordinate system C4) remain unchanged. On the other hand, in the robot coordinate system C1, the position of the feature point P, the task target position Q, and the detection target position O are displaced forward by the transport amount δ.

[0055] Each time step S8 is executed, the processor 40 displaces the origin of the transfer coordinate system C4 forward in the robot coordinate system C1 by the transfer amount δ, thereby updating the position of the feature point P, the task target position Q, and the detection target position O in the robot coordinate system C1 so that they are displaced forward. The position of the feature point P, the task target position Q, and the detection target position O are managed as coordinates P4, Q4, and O4 of the transfer coordinate system C4 that moves within the robot coordinate system C1. Meanwhile, the coordinates U1(x U1 , y U1 , z U1 , w U1 , p U1 , r U1 ) is immutable.

[0056] In step S9, the processor 40 determines whether the presence sensor 16 waiting at the waiting position U has detected the presence of the item A. Here, while the conveying device 12 is conveying the item 100, the item 100 may slip forward or backward relative to the movable part 24. The processor 40 cannot recognize such slippage from the data. A state in which such slippage has occurred is shown in FIG. 13.

[0057] 13, the controlled position of the article 100 recognized by the processor 40 by executing the above-mentioned step S8 is indicated by a dashed line 100', while the actual position of the article 100 is indicated by a solid line 100. In the example of Fig. 13, the position of the actual article 100 has shifted forward by an error α due to the above-mentioned slippage. In this case, the detection target position O (or a position nearby) on the actual article 100 reaches the detection range Rp of the occupancy sensor 16, and as a result, the occupancy sensor 16 detects the presence of the article 100.

[0058] As an example of step S9, the processor 40 calculates the coordinate P4 (x P4 , y P4 , z P4 ) into the coordinates (x P1 , y P1 , z P1 ) and its z coordinate: z P1 Get the z coordinate: z P1 indicates the position of the top surface 110 of the article 100 in the height direction Dh in the robot coordinate system C1 acquired in step S3.

[0059] If an article 100 is present directly below the presence sensor 16, the light-emitting portion of the presence sensor 16 will irradiate the upper surface 110 with electromagnetic waves W. Therefore, the distance d measured by the presence sensor 16 is calculated by multiplying the z coordinate of the standby position U in the robot coordinate system C1 by z U1 and the z coordinate of the upper surface 110: z P1 The difference between REF = z U1 -z P1 The processor 40 calculates the difference d REF Based on the threshold d this set and compared with the distance d measured by the seat occupancy sensor 16. For example, the threshold value d th is the difference d REF The range is predetermined by the operator as ±10 mm (or ±5%) of the above.

[0060] In step S9, the processor 40 determines whether the distance d measured by the seat occupancy sensor 16 is d th1 ≦d≦d th2 If the threshold value d th1 For example, d REF -10 [mm] or 0.95d REF and the threshold d th2 is d REF +10 [mm] or 1.05d REF On the other hand, the processor 40 determines whether the distance d is d<d th1 , or d th2 If it is <d, the result is NO, and the process proceeds to step S10.

[0061] As another example of step S9, the processor 40 calculates the z coordinate: z R4 If the article 100 has not arrived directly below the seat presence sensor 16, the irradiation point Wr is on the surface of the movable part 24, so the z coordinate of the irradiation point Wr: z R4 is z R4 =0.

[0062] On the other hand, when the article 100 arrives directly below the seat presence sensor 16, the irradiation point Wr is on the upper surface 110 of the article 100, so the z coordinate of the irradiation point Wr: R4 is the z coordinate of the feature point P acquired in the most recent step S3: z P4 In this embodiment, the processor 40 calculates the z coordinate of the feature point P: P4 Based on the threshold z th and set the z coordinate of the irradiation point Wr: z R4For example, the threshold z th is the z coordinate: z P4 The range can be defined as ±10 mm (or ±5%) of the above.

[0063] In step S9, the processor 40 calculates the z coordinate of the irradiation point Wr: R4 But, z th1 ≦z R4 ≦z th2 If the threshold value z is 0, it is determined that the article 100 is present (i.e., YES), and the process proceeds to step S11. th1 For example, z P4 -10 [mm] or 0.95z P4 and the threshold z th2 is z P4 +10 [mm] or 1.05z P4 On the other hand, the processor 40 R4 <z th1 , or z th2 <z R4 If so, the answer is NO, and the process proceeds to step S10.

[0064] In step S10, the processor 40 determines whether the distance d has changed when the previous step S9 has been determined as NO. If the article 100 has not yet reached directly below the seat sensor 16, the distance d measured by the seat sensor 16 is a substantially constant distance from the seat sensor 16 to the movable part 24 (i.e., the z coordinate of the standby position U: z U1 )

[0065] On the other hand, the conveying device 12 continuously conveys a plurality of types of articles 100 having various heights, and another type of article (or foreign object) having a height different from that of the article 100 whose position was acquired in step S3 may arrive directly below the presence sensor 16. In this case, the distance d measured by the presence sensor 16 is greater than or equal to the threshold value d th Although the distance d falls outside the range of the height of the other article, the distance d will change by the height of the other article.

[0066] In step S10, the processor 40 determines whether the distance d is equal to or smaller than a predetermined threshold value d when the determination in the immediately preceding step S9 is performed. th0 (|d|≧d th0) is judged as YES, and the process returns to step S1. th0 If the z coordinate of the irradiation point Wr is not exceeded, the result is determined as NO, and the process returns to step S8. R4 In step S10, if the z coordinate: z R4 is a given coordinate value z th0 It may be determined whether the change exceeds

[0067] As described above, in this embodiment, if the presence sensor 16 detects a different type of item from the item 100 whose position was acquired in step S3, the processor 40 returns to step S1 and executes steps S1 to S10 again for the next item 100. This makes it possible to prevent the processor 40 from accidentally performing work in step S13 (described later) on an item other than the item 100 whose position was acquired in step S3. As a result, the accuracy of the work can be improved. Note that while the processor 40 determines NO in steps S9 and S10, it may repeatedly execute the loop of steps S8 to S10 at the above-mentioned control period τ.

[0068] In step S11, the processor 40 acquires the error α in the transport direction Dc between the standby position U and the detection target position O in the control coordinate system C. Specifically, the processor 40 acquires the coordinate U4' (x U4 ',y U4 ', z U4 As described above, the coordinate U1 of the standby position U set in step S6 in the robot coordinate system C1 remains unchanged, whereas the coordinate U4' of the standby position U in the transfer coordinate system C4 changes every time step S8 is executed.

[0069] Furthermore, the processor 40 calculates the coordinates O4 (x O4 , y O4 , z O4 As described above, the coordinate O4 of the detection target position O in the transfer coordinate system C4 is unchanged. Then, the processor 40 obtains the x-coordinate of the obtained coordinate U4': x U4' and the x-coordinate of coordinate O4: x O4 Error α = x U4 '-x O4 Ask for.

[0070] In this way, when the presence sensor 16 waiting at the standby position U detects the presence of the article 100 (i.e., when the determination in step S9 is YES), the processor 40 acquires the error α in the conveying direction Dc between the standby position U and the detection target position O in the control coordinate system C (conveyance coordinate system C4). Thus, the processor 40 functions as an error acquisition unit 60 ( FIG. 2 ) that acquires the error α.

[0071] In step S12, the processor 40 corrects the coordinate of the task target position Q in the control coordinate system C so as to shift it forward or backward in the transport direction Dc based on the error α acquired in the immediately preceding step S11. Specifically, the processor 40 corrects the coordinate Q4 (x Q4 , y Q4 , z Q4 ) and obtain the x-coordinate of the coordinate Q4: x Q4 is corrected so as to cancel the error α. For example, in the example shown in Fig. 13, the error α occurs when the article 100 slides forward in the conveying direction Dc.

[0072] In this case, the processor 40 calculates the x-coordinate of the coordinate Q4: x Q4 Add the error α to (i.e., x Q4 +α), the x coordinate: x Q4 As a result, the processor 40 corrects the coordinate Q4 to be a coordinate Q4' (x Q4 +α, y Q4 , z Q4 ) and the coordinates Q4' (x Q4 +α, y Q4 , z Q4 ) will be newly established.

[0073] On the other hand, if the error α occurs due to a backward slip in the conveying direction Dc, the processor 40 calculates the x-coordinate of the coordinate Q4: x Q4 Subtract the error α from (i.e., xQ4 -α), the x-coordinate: x Q4 is shifted backward in the conveying direction Dc. In this way, the processor 40 corrects the coordinate Q4 of the control coordinate system C (transport coordinate system C4) of the task target position Q based on the error α so that it is shifted forward or backward in the conveying direction Dc. Thus, the processor 40 functions as a correction unit 62 (FIG. 2) that corrects the coordinate Q4 of the task target position Q.

[0074] In step S13, the processor 40 executes a task on the article 100. This step S13 will be described with reference to FIG. 14. In step S21, the processor 40 operates the robot 14 to move the end effector 32 to the task target position Q. Specifically, the processor 40 functions as the position data acquisition unit 50, converts the coordinate Q4' of the task target position Q in the transfer coordinate system C4 after correction in the most recent step S12 into the robot coordinate system C1, and obtains the coordinate Q1(x Q1 , y Q1 , z Q1 ) to obtain the

[0075] Then, the processor 40 calculates the coordinate Q1 (x Q1 , y Q1 , z Q1 , w Q1 , p Q1 , r Q1 ) of the coordinate Q1. Q1 , p Q1 , r Q1 11, and corresponds to the standby posture V. In this way, the processor 40 moves the end effector 32 toward the latest task target position Q.

[0076] In step S22, the processor 40 determines whether or not the end effector 32 has reached the work target position Q. Specifically, the processor 40 calculates a coordinate T1 of the tool coordinate system C2 in the robot coordinate system C1 at this time point based on feedback from the encoders (or Hall elements) provided in each servo motor 34. The processor 40 then determines whether or not the coordinate T1 matches the coordinate Q1 of the work target position Q. If the processor 40 determines YES, the process proceeds to step S24, and if the processor 40 determines NO, the process proceeds to step S23.

[0077] In step S23, the processor 40 updates the task target position Q in the control coordinate system C. Specifically, similar to step S8 described above, the processor 40 displaces the origin of the transfer coordinate system C4 in the robot coordinate system C1 by the transfer amount δ in the transfer direction Dc. As a result, the task target position Q set as coordinate Q4' in the transfer coordinate system C4 is also displaced in the robot coordinate system C1 by the transfer amount δ in the transfer direction Dc.

[0078] After step S23, the processor 40 returns to step S21 and functions as the position data acquisition unit 50 to convert the coordinate Q4' of the corrected task target position Q set in the transfer coordinate system C4 updated in the immediately preceding step S23 into the coordinate Q1' in the robot coordinate system C1. The processor 40 then operates the robot 14 so as to position the end effector 32 at the coordinate Q1'. In this way, while the processor 40 determines NO in step S22, it loops through steps S21 to S23, for example, at a control period τ.

[0079] In step S24, the processor 40 operates the end effector 32 to perform the task on the article 100. Specifically, the processor 40 releases the negative pressure in the suction unit 32a that is suction-holding the label LB, thereby attaching the label LB to the article 100. At this time, the end effector 32 (tool coordinate system C2) is positioned at the task target position Q (coordinate Q1'), so the label LB can be attached to the task location 112 on the article 100. In this way, the processor 40 positions the end effector 32 at the coordinate Q1' in the robot coordinate system C1, and causes the robot 14 to perform the task at the task target position Q. Therefore, the processor 40 functions as a task execution unit 64 (FIG. 2) that causes the robot 14 to perform the task.

[0080] In step S24, the processor 40 may create a positive pressure inside the suction unit 32a and blow the label LB toward the article 100. Alternatively, the suction unit 32a may be supported on the main body of the end effector 32 via a spring so that the suction unit 32a can expand and contract, and the processor 40 may press the suction unit 32a against the article 100 in step S24. This configuration allows the operation to be performed with high precision.

[0081] 5 again, in step S14, the processor 40 determines whether or not a work end command has been received from the operator, the upper controller, or the computer program PG. If the processor 40 determines YES, it ends the flow of FIG. 5, but if the processor 40 determines NO, it returns to step S1.

[0082] 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 detection position setting unit 54, a standby position setting unit 56, a standby operation 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 of the article 100 in the control coordinate system C (transport coordinate system C4) for automatically controlling the robot 14 based on the image data ID of the visual sensor 18: coordinates P4 (x P4 , y P4 , z P4 ) is obtained (step S3).

[0083] The detection position setting unit 54 determines a detection target position O on the article 100 to be detected by the presence sensor 16 in the control coordinate system C (transport coordinate system C4) based on the position (coordinate P4) acquired by the position data acquisition unit 50 (step S5). Then, the standby position setting unit 56 determines a standby position U (coordinates U4, U1) in the control coordinate system C (transport coordinate system C4, robot coordinate system C1) ahead of the detection target position O determined by the detection position setting unit 54 in the conveying direction Dc, where the presence sensor 16 is to be placed on standby by the operation of the robot 14 (step S6).

[0084] As described above, the control device 20 cannot recognize slippage of the article 100 on the conveying device 12, and conventionally, in order to deal with displacement of the article 100 due to such slippage, a second visual sensor has been provided at the tip of the robot arm 30. However, the visual sensor is heavier and more expensive than the occupancy sensor 16, and it takes time to process the position of the article 100 from the image data of the visual sensor.

[0085] In this embodiment, the robot 14 is provided with an occupancy sensor 16 that is relatively lightweight and inexpensive, and that can quickly execute the process of detecting the article 100. The occupancy sensor 16, which has such advantages, can automatically determine the standby position U for accurately detecting the article 100 at the detection target position O. As a result, even if the above-mentioned slippage occurs, the actual article 100 can be accurately detected at the detection target position O, and the subsequent work can be started quickly.

[0086] In this embodiment, the article 100 has a polygonal (quadrilateral) outer shape, and the position data acquisition unit 50 acquires the position and orientation (coordinate P4) of the article 100 in the control coordinate system C (transport coordinate system C4). Then, based on the position and orientation acquired by the position data acquisition unit 50, the detection position setting unit 54 determines a detection target position O on one end face 102 facing forward among multiple end faces 102, 104, 106, and 108 of the article 100 that define the sides of the polygon ( FIG. 7 ).

[0087] Here, when the presence sensor 16 waiting in front of the article 100 detects the article 100, the presence sensor 16 can easily detect the front end face 102 of the article 100. According to this embodiment, the detection target position O can be set on this easily detectable end face 102, thereby improving detection accuracy. Note that the outer shape of the article 100 is not limited to a polygonal shape, and it may have any outer shape, such as a circle or an ellipse. For example, if the article 100 has an outer shape of a circle or an ellipse, the detection target position O may be set at a position on the front side of the outer circumferential surface of the article 100.

[0088] In this embodiment, the work position setting unit 52 determines a work target position Q on the item 100, which is the target of the work, in the control coordinate system C (transport coordinate system C4) based on the position acquired by the position data acquisition unit 50 (step S4). Then, the detection position setting unit 54 determines a detection target position O based on the work target position Q. With this configuration, the detection target position O can be set to match the work target position Q, so that the work can be carried out quickly and accurately after the presence sensor 16 detects the item 100 at the detection target position O.

[0089] In this embodiment, the standby position setting unit 56 sets the coordinate U4 (specifically, the y coordinate: y ) of the control coordinate system C (transport coordinate system C4) of the standby position U in the width direction Dw of the transport device 12 so that the detection target position O and the standby position U coincide with each other in the width direction Dw (y-axis direction of the transport coordinate system C4). U4 With this configuration, the standby position U of the presence sensor 16 is accurately positioned forward of the detection target position O in the conveying direction Dc, so that the presence sensor 16 can more accurately detect the item 100 being conveyed by the conveying device 12 at the detection target position O. Note that in step S6 described above, the processor 40 may also determine the standby position U at a position offset by a predetermined distance in the y-axis direction of the conveying coordinate system C4 from the detection target position O.

[0090] In this embodiment, the seat presence sensor 16 has a predetermined effective detection distance de (FIG. 3), and the standby position setting unit 56 determines the effective detection distance de and the position in the height direction Dh (z-axis direction of the transport coordinate system C4) of the transport device 12 acquired by the position data acquisition unit 50 (z coordinate of the coordinate P4: z P4 ), the coordinate U4 (specifically, the z coordinate: z U4 = z P4 +d1).

[0091] According to this configuration, the occupancy sensor 16 waiting at the standby position U can be brought as close to the article 100 as possible within the range of its effective detection distance de. This allows the end effector 32 to be brought close to the article 100 at the standby position U, so that after the occupancy sensor 16 detects the article 100, the end effector 32 can more quickly perform work on the work location 112. Note that the processor 40 may set the standby position U at any position spaced above the article 100. Also, the effective detection distance de does not have to be set for the occupancy sensor 16.

[0092] In this embodiment, the posture V' of the robot 14 (end effector 32) relative to the article 100 when performing work is determined in advance, and the standby position setting unit 56 determines the standby posture V: coordinate U4(w U4 , p U4 , r U4 ) is further defined.

[0093] Then, the standby operation execution unit 58 executes a standby operation by operating the robot 14 to place the presence sensor 16 in the standby position U while it is placed in the standby posture V. With this configuration, when the presence sensor 16 is on standby to detect the item 100, the robot 14 can be made to wait in the working posture V'. This allows the work to be performed more quickly after the presence sensor 16 detects the item 100.

[0094] In step S6, the processor 40 calculates the waiting posture V: coordinate U4 (wU4 , p U4 , r U4 ) without determining the standby position U: coordinate U4 (x U4 , y U4 , z U4 In this case, the processor 40 may execute steps S6 and S7 with the attitude of the end effector 32 (tool coordinate system C2) at the start of step S6.

[0095] In this embodiment, the detection target position O and the task target position Q are displaced in the conveying direction Dc in the control coordinate system C (robot coordinate system C1) according to the conveying amount δ of the article 100 by the conveying device 12 (step S8). When the presence sensor 16 waiting at the standby position U detects the presence of the article 100 (YES in step S9), the error acquisition unit 60 calculates an error α (=x U4 '-x O4 ) is acquired (step S11).

[0096] Then, the correction unit 62 calculates the coordinate Q4 (specifically, the x-coordinate: x Q4 ) in the conveying direction Dc (for example, x Q4 +α) (step S12). With this configuration, when an error α occurs between the controlled position of the article 100 recognized by the control device 20 (dashed line 100' in FIG. 13) and the actual position of the article 100, the control device 20 can re-recognize the task target position Q on the actual article 100. Therefore, the accuracy of the task at the task location 112 can be more effectively improved.

[0097] In this embodiment, the corrected task target position Q (coordinate Q4') is displaced in the conveying direction Dc in the control coordinate system C (robot coordinate system C1) according to the conveying amount δ of the item 100 by the conveying device 12 (step S23). The position data acquisition unit 50 acquires the coordinate Q1' of the corrected task target position Q based on the conveying amount δ.

[0098] The task execution unit 64 then positions the robot 14 (end effector 32) at the coordinate Q1' acquired by the position data acquisition unit 50, and causes the robot 14 to perform the task at the task target position Q. With this configuration, even if the above-mentioned slippage occurs, the task can be performed at the task location 112 with high accuracy by recognizing the corrected task target position Q.

[0099] 5, the processor 40 may execute step S4 after executing step S5. Specifically, after step S3, in step S5, the processor 40 calculates the coordinates P4 (x P4 , y P4 , z P4 , w P4 , p P4 , r P4 ) the detection target position O is determined.

[0100] 7 and at the intersection of an axis A1 parallel to the length direction A1 and the end face 102 facing forward. Next, in step S4, the processor 40 determines a work target position Q in the transfer coordinate system C4 based on the detection target position O. For example, the processor 40 determines the work target position Q at a position spaced a predetermined distance (e.g., 10 mm) rearward from the detection target position O along the axis A1.

[0101] In the above embodiment, the processor 40 corrects the coordinate Q4 of the task target position Q in the transfer coordinate system C4 to the coordinate Q4' in step S12. However, this is not limiting, and the processor 40 may shift the origin of the transfer coordinate system C4 at the start of step S12 forward or backward by the error α. In this case, the task target position Q in the transfer coordinate system C4 remains unchanged, but the coordinate of the task target position Q is corrected in the robot coordinate system C1. The processor 40 then executes step S13 using the shifted transfer coordinate system C4 as a reference.

[0102] Note that the processor 40 may perform the task without determining the task target position Q. For example, the processor 40 may move the end effector 32 downward to perform the task on the article 100 after a predetermined time has elapsed since the determination in step S9 was YES. Alternatively, when the processor 40 determines YES in step S9, the processor 40 may move the end effector 32 backward, to the right, or to the left by a predetermined distance, and then move it downward to perform the task on the article 100. That is, in this case, the task position setting unit 52, the error acquisition unit 60, and the correction unit 62 can be omitted from the control device 20, and steps S4, S11, and S12 can be omitted from the flow in FIG. 5 .

[0103] Next, another example of step S5 will be described with reference to Figures 15 and 16. In this embodiment, in step S5, the processor 40 functions as the detection position setting unit 54, 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 according to the calculated angle θ.

[0104] Here, as described above, in the most recent step S3, the processor 40 functions as the position data acquisition unit 50 and acquires the coordinates (w P4 , p P4 , r P4 The processor 40 obtains the coordinates (w P4 , p P4 , r P4 ) and the angle θ is calculated based on the angle θ. th (For example, θ th = 45°) or more.

[0105] FIG. 15 shows the angle θ in the range of θ<θ th7 shows an example in which the end faces 102 and 104 face forward (i.e., end faces whose normal unit vector has a vector component VC in the conveying direction Dc) among the end faces 102, 104, 106, and 108. In this example, the processor 40 identifies the end face 102, which intersects with the axis A1 parallel to the longitudinal direction A1, as the end face facing forward. Then, similar to the embodiment shown in FIG. 7 , the processor 40 determines the intersection O of the imaginary line VL parallel to the longitudinal direction A1 and the end face 102 as the detection target position O.

[0106] On the other hand, in FIG. 16, the angle θ is θ≧θ th In this example, of the end faces 102, 104, 106, and 108, there are two end faces 102 and 106 that face forward. In this case, the processor 40 identifies the end face 106, which passes through the characteristic point P and intersects with the axis A2 parallel to the width direction A2, as one end face facing forward.

[0107] Then, the processor 40 defines, in the transfer coordinate system C4, an imaginary straight line VL that passes through the work target position Q determined in the immediately preceding step S4 and is parallel to the width direction A2, and determines the intersection O of the imaginary line VL and the end face 106 as the detection target position O. When the detection target position O is determined as in FIG. 16 , the processor 40 determines, in step S6, a standby position U and a standby posture V shown in FIG. 17 , as in the above-described embodiment. This standby posture V corresponds to a posture V′ in 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).

[0108] Alternatively, processor 40 may use coordinates (w P4 , p P4 , r P4 ) based on the angle θ' between the width direction A2 and the conveying direction Dc, and the angle θ' is equal to or smaller than a predetermined threshold value θ th (For example, θ th In the example of FIG. 16, it may be determined whether the angle θ′ is equal to or larger than θ′<θ th In this case, the processor 40 identifies the end surface 106 intersecting with the axis A2 indicating the width direction A2 as one end surface facing forward. On the other hand, in the example of FIG. 15, the angle θ′ satisfies θ′≧θth In this case, the processor 40 may identify the end surface 102 intersecting with the axis A1 indicating the length direction A1 as one end surface facing the front side.

[0109] As described above, in this embodiment, the detection position setting unit 54 sets the posture: coordinates (w P4 , p P4 , r P4 ), the angle θ or θ' between the length direction A1 or width direction A2 of the article 100 and the conveying direction Dc is calculated, and one end face 102 or 106 facing forward is identified according to the angle θ or θ'. With this configuration, the detection target position O can be set to the end face 102 or 106 on the forward side where the presence sensor 16 waiting in front can easily detect the article 100.

[0110] In step S5, the processor 40 may identify one of the end faces 102 or 106 facing forward based on vectors in the normal directions of the end faces 102, 104, 106, and 108. Specifically, the processor 40 calculates unit vectors in the normal directions of each of the end faces 102, 104, 106, and 108 in the transfer coordinate system C4. For example, in the example of FIG. 15 , the unit vectors in the normal directions of the end faces 106 and 108 have vector components in the negative x-axis direction of the transfer coordinate system C4, but do not have vector components in the positive x-axis direction (i.e., the transfer direction Dc).

[0111] On the other hand, the unit vector normal to the end faces 102 and 104 has a vector component VC in the positive direction of the x-axis of the transport coordinate system C4 (transport direction Dc). The magnitude of the vector component VC of the end face 102 is greater than that of the end face 104. The processor 40 can identify the end face 102, whose magnitude of the vector component VC is the largest, as the one end face facing forward.

[0112] Next, another example of steps S3 and S12 will be described with reference to Fig. 18. In this embodiment, the processor 40 performs an operation on an article 100 shown in Fig. 18. When viewed from above, this article 100 (e.g., a bag-shaped packaging material) has a rectangular outer shape similar to that of Fig. 4, but when viewed from the side, the upper surface 110 is inclined, causing the height of the article 100 to change in the longitudinal direction A1.

[0113] In step S3, the processor 40 functions as the position data acquisition unit 50, as in the above-described embodiment, and represents the end faces 102, 104, 106, and 108, the top face 110, the feature point P, the length direction A1, and the width direction A2 in the transfer coordinate system C4, which is placed at the initial position IP of the robot coordinate system C1, as shown in FIG. 15. Then, the processor 40 calculates coordinates P4 (x P4 , y P4 , z P4 , w P4 , p P4 , r P4 At this time, the processor 40 acquires the z coordinate of the coordinate P4: z P4 The average value of the height (i.e., z coordinate) of the upper surface 110 in the transfer coordinate system C4 is: z AVE Find (z P4 = z AVE ) Thereafter, the processor 40 sequentially executes steps S4 to S11 based on the coordinate P4 thus obtained.

[0114] In step S12, the processor 40 functions as a correction unit 62 to correct the coordinates of the work target position Q in the control coordinate system C to shift forward or backward based on the error α, and further corrects it to shift in the vertical direction Dh of the conveying device 12 (the z-axis direction of the conveying coordinate system C4) based on the distance d measured by the presence sensor 16.

[0115] In the case of the article shown in FIG. 18, the average value of the height of the upper surface 110 calculated in step S3: z AVEmay differ from the height of the work location 112 (FIG. 4) located near the end surface 102. Therefore, in this embodiment, the processor 40 calculates the coordinate Q4' (x Q4 +α, y Q4 , z Q4 ) is further corrected. The z coordinate of this coordinate Q4' is: z Q4 is the z coordinate of the coordinate P4 acquired in step S3: z P4 = z AVE is being sought after.

[0116] When the determination in step S9 is YES, the seat presence sensor 16 acquires the distance d at a position near the end face 102 in FIG. 18. The processor 40 calculates the distance d acquired and the coordinate U4 (x U4 , y U4 , z U4 ) and the z coordinate of the upper surface 110 in the vicinity of the end surface 102 in the transfer coordinate system C4: z S4 Ask for.

[0117] Then, the processor 40 calculates the coordinate Q4' (x Q4 +α, y Q4 , z Q4 ) z coordinate: z Q4 The calculated z coordinate: z S4 By substituting the coordinate Q4' into the coordinate Q4" (x Q4 +α, y Q4 , z S4 ) The processor 40 corrects the calculated z coordinate: z S4 is multiplied by a predetermined coefficient β (for example, β=1.1 or 0.9) to obtain a new z coordinate: β·z S4 The z coordinate of the coordinate Q4' is: z Q4 the new z coordinate: β·z S4 By substituting the coordinate Q4' into the coordinate Q4" (x Q4 +α, y Q4 , β・z S4 ) may be corrected.

[0118] Thus, the processor 40 further corrects the coordinate Q4' of the work target position Q based on the distance d by shifting it upward or downward, and the corrected coordinate Q4'' of the work target position Q is newly set in the transport coordinate system C4.Then, the processor 40 executes step S13 based on the corrected coordinate Q4'' of the work target position Q.

[0119] As described above, in this embodiment, the correction unit 62 further corrects the coordinate Q4' of the task target position Q in the control coordinate system C (transport coordinate system C4) based on the distance d measured by the seat presence sensor 16 so as to shift it in the height direction Dh (z-axis direction of the transport coordinate system C4) of the transport device 12. With this configuration, tasks can be performed with high precision on an item 100 having a height as shown in FIG.

[0120] It should be noted that various modifications can be made to the flow of Fig. 5. Hereinafter, other examples of the operation flow of the robot system 10 will be described with reference to Fig. 19 and Fig. 20. In the flows shown in Fig. 19 and Fig. 20, the same processes as those in the flow of Fig. 5 are assigned the same step numbers, and duplicated explanations will be omitted. In this embodiment, three types of articles 100A, 100B, and 100C, which are different from each other in size, shape, etc., are continuously conveyed by the conveying device 12.

[0121] The specification information SP of each of the first type of product 100A, the second type of product 100B, and the third type of product 100C is associated with a number (1, 2, 3) that identifies the type and is registered in advance in the product database DB stored in the memory 42. The specification information SP may include, for example, information on the dimensions, shape, color, and material of the products 100A, 100B, and 100C.

[0122] When the processor 40 receives a work start command from an operator, a higher-level controller, or the computer program PG, it starts the flow shown in Fig. 19. After starting the flow of Fig. 19, the processor 40 sequentially executes steps S1 to S3 described above, captures an image of the first type of article 100A, the second type of article 100B, or the third type of article 100C using the visual sensor 18, and acquires coordinates P4 in the transfer coordinate system C4.

[0123] In step S31, the processor 40 determines whether it is possible to identify the type of the article 100 imaged in the immediately preceding step S2. Specifically, the processor 40 calculates the dimensions (length, width, or height) of the article 100 (specifically, article 100A, 100B, or 100C) based on the end faces 102, 104, 106, and 108 and the top face 110 of the article 100 identified in the image data ID in the immediately preceding step S3.

[0124] The processor 40 then compares the determined dimensions with the specification information SP registered in the item database DB, thereby determining whether the photographed item 100 corresponds to a first type of item 100A, a second type of item 100B, or a third type of item 100C registered in the item database DB.

[0125] At this time, the processor 40 calculates the z coordinate of the feature point P of the article 100 acquired in the immediately preceding step S3: P4 and the heights of the articles 100A, 100B, and 100C registered in the specification information SP (for example, z coordinate: z P4 The processor 40 may determine whether the imaged article 100 corresponds to article 100A, 100B, or 100C, based on the image data ID, and compare the shape, color, or material of the article 100 with the specification information SP to identify the type of article 100.

[0126] If the processor 40 can identify the imaged article 100 as the first type article 100A, the second type article 100B, or the third type article 100C, it determines YES and proceeds to step S4. On the other hand, if the processor 40 cannot identify the type of the imaged article 100, it determines NO and proceeds to step S32.

[0127] The processor 40 then sequentially executes steps S4 and S5 for each of the identified types of articles 100A, 100B, or 100C. In this embodiment, a unique work target position Q is defined for each of the first type of article 100A, the second type of article 100B, or the third type of article 100C. Therefore, the above-described positional relationship data PD is uniquely defined for each of the articles 100A, 100B, or 100C and pre-stored in the memory 42. In step S4, the processor 40 acquires a coordinate Q4 in the transfer coordinate system C4 of the work target position Q defined for the article 100A, 100B, or 100C, using the positional relationship data PD defined for the identified type of article 100A, 100B, or 100C and the coordinate P4 acquired in the most recent step S3.

[0128] In step S32, the processor 40 creates a reservation list 70. An example of the data structure of the reservation list 70 is schematically shown in Fig. 21. In the reservation list 70, a column 72 indicates the order n (n = 1, 2, 3, ...) of the item 100 imaged in step S2, and a column 74 indicates the type (1, 2, 3) of the item 100 identified in step S31.

[0129] Furthermore, column 76 indicates the position (coordinate P4) of item 100 acquired in step S3, column 78 indicates the work target position Q (coordinate Q4) of item 100 determined in step S4, and column 80 indicates the detection target position O (coordinate O4) of item 100 determined in step S5. Meanwhile, column 82 indicates the status of the work, with "waiting for work" indicating that work on item 100 is scheduled to be performed, and "work not possible" indicating that work on item 100 will be canceled without being performed.

[0130] Assume that a third type of product 100C is identified in step S31 for the first time. In this case, the processor 40 stores, in the data area shown in the row of the column 72 with the order n=1, the following data: type: 3, coordinates P4 _1 , Q4 _1 and O4 _1The processor 40 also sets the status in column 82 to "waiting for work." Thus, each time the processor 40 executes step S32, it stores the type of item 100, the position P, the work target position Q, the detection target position O, and the work status in the reservation list 70 in that order.

[0131] On the other hand, when executing step S32 after determining NO in step S31, the processor 40 sets the status in column 82 to "unavailable for work" without storing the position data of type, position P, work target position Q, and detection target position O, as shown in the row of order n=4 in column 72 of the reservation list 70. After step S32, the processor 40 proceeds to step S14.

[0132] The processor 40 executes the flow of Fig. 20 in parallel with the flow of Fig. 19. The processor 40 may have a first processor 40A that executes the flow of Fig. 19 and a second processor 40B that executes the flow of Fig. 20. For example, the processor 40 starts the flow of Fig. 20 when the reservation list 70 is created in step S32 in Fig. 19.

[0133] In step S41, the processor 40 sets the order n of the item 100 stored in the reservation list 70 to n=1. In step S42, the processor 40 refers to the "status" of the order n in the reservation list 70 and determines whether the status of the work on the item 100 with the order n is "waiting for work." If the order n has been set to 1 at this point, the processor 40 refers to the "status" of the third type item 100C with the order n=1 assigned in the reservation list 70 shown in FIG.

[0134] In the example of Fig. 21, this status is "waiting for work", so the processor 40 will determine YES in this step S42. On the other hand, if the order n=4 has been set at this point, the "status" of order n=4 is "unavailable for work", so the processor 40 will determine NO in this step S42. If the processor 40 determines YES, it proceeds to step S43, but if the processor 40 determines NO, it proceeds to step S44.

[0135] In step S43, the processor 40 reads out the position data of the position P, the work target position Q, and the detection target position O of the item 100 assigned the order n from the reservation list 70. If the order n is set to 1 at this point, the processor 40 reads out the coordinates P4 of the third type item 100C assigned the order n=1. _1 , Q4 _1 and O4 _1 are read from the reservation list 70.

[0136] After step S43, the processor 40 reads the coordinate P4 _n , Q4 _n and O4 _n 20, the processor 40 loops through step S9 while determining NO in step S9.

[0137] 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). Next, the processor 40 proceeds to step S14, and if the determination in step S14 is NO, returns to step S42. Then, the processor 40 sequentially executes steps S42, S43, S6 to S9, S11 to S13, S44, and S14 for the item 100 with the order n+1 of the reservation list 70.

[0138] As described above, in this embodiment, if the processor 40 determines NO in step S42, it does not perform the work of step S13. That is, if the processor 40 detects an item of a type other than the items 100A, 100B, and 100C that are the work target types in step S2 in Fig. 19, it cancels the work on that item. This makes it possible to prevent work from being performed on items that are not the work target, as in the above-described embodiment, thereby improving the accuracy of the work.

[0139] The position data of the positions P, the work target position Q, and the detection target position O of the items 100A, 100B, and 100C stored in the reservation list 70 are not limited to the coordinates P4, Q4, and O4 of the transport coordinate system C4. For example, for each of the items 100A, 100B, and 100C, the reference coordinates P4, Q4, and O4 are set in the transport coordinate system C4 located at the initial position IP. R (x P4R , y P4R , z P4R , w P4R , p P4R , r P4R ) may be determined in advance. R represent the reference position and the reference orientation of the articles 100A, 100B, and 100C, respectively.

[0140] For example, the reference coordinate P4 R Among them, the coordinates (x P4R , y P4R , z P4R ) may be set at the origin (0,0,0) of the transfer coordinate system C4, or may be set at the center of the width direction Dw of the movable part 24. R Among these, the coordinates indicating the reference posture (w P4R , p P4R , r P4R ) may be defined as an orientation in which the length direction A1 of the articles 100A, 100B, and 100C 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.

[0141] Similarly, for each of the articles 100A, 100B, and 100C, in the transfer coordinate system C4 located at the initial position IP, the reference coordinate Q4 of the work target position Q is R (x Q4R , y Q4R , z Q4R ) and the reference coordinate O4 of the detection target position O R (x O4R , y O4R , z O4R ) are respectively defined. R , Q4 R and O4 R are each stored in advance in the memory 42.

[0142] In this case, in step S3, the processor 40 acquires the coordinate P4 of the article 100A, 100B, or 100C captured in the immediately preceding step S2, and then calculates the reference coordinate P4 from the acquired coordinate P4. R In step S4, the processor 40 calculates the displacement Δ4 of the detection target position Q in the transfer coordinate system C4. R In step S5, the processor 40 determines the detection target position O to be a position shifted by a displacement amount Δ4 from the reference coordinate O4 in the transfer coordinate system C4. R The position is set to a position shifted by a displacement amount Δ4 from the position.

[0143] In step S32, the processor 40 also calculates the coordinate P4 of the article 100A, 100B, or 100C. _n Instead of (or in addition to), the displacement Δ4 may be stored in the reservation list 70. In the flow shown in FIG. 20, when the determination in step S9 is NO, the processor 40 may execute step S10 in the same manner as in the flow of FIG. 5.

[0144] 5 or the flows shown in Figures 19 and 20 in accordance with a computer program PG pre-stored in memory 42. In this case, the functions of the position data acquisition unit 50, the work position setting unit 52, the detection position setting unit 54, the standby position setting unit 56, the standby operation execution unit 58, the error acquisition unit 60, the correction unit 62, and the work execution unit 64 executed by the processor 40 may be functional modules realized by the computer program PG.

[0145] In the above embodiment, the processor 40 displaces the origin of the transfer coordinate system C4 forward by the transfer amount δ in steps S8 and S23. However, this is not limiting. The transfer coordinate system C4 may be fixed to the initial position IP of the robot coordinate system C1, and the position of the feature point P, the work target position Q, and the detection target position O may be displaced by the transfer amount δ in the transfer coordinate system C4 in steps S8 and S23. The transfer coordinate system C4 may also be omitted. In this case, the flow of FIG. 5 can be executed based on the robot coordinate system C1.

[0146] In the above embodiment, the processor 40 also calculates the coordinate P4 (x P4 , y P4 , z P4 , w P4 , p P4 , r P4 ) is acquired, the coordinates (w P4 , p P4 Then, in step S6, the processor 40 may delete the r coordinate: r P4 and the posture data OD, the r coordinate r of the coordinate U4 of the waiting posture V in the transfer coordinate system C4 is calculated. U4 In this case, the processor 40 may determine a coordinate U4 (x U4 , y U4 , z U4 , r U4 ) to obtain the

[0147] Then, the processor 40 calculates the coordinate U4 (x U4 , y U4 , z U4 , r U4 ) into the coordinates U1 (x U1 , y U1 , z U1 , r U1 Then, in step S7, the processor 40 converts the coordinate U1(x U1 , y U1 , z U1 , r U1 ) the presence sensor 16 may be placed on standby. P4 , p P4 ) can be omitted, which can speed up the processing.

[0148] The occupancy sensor 16 is not limited to an optical type, but may be any type of sensor, such as a capacitance type or a contact type, that can detect only the presence or absence of the article 100 without capturing an image of the article 100. The occupancy sensor 16 is also not limited to a type that measures the distance d, but may be configured to simply output a "0" signal (or an OFF signal) while not detecting the article 100, and to output a "1" signal (or an ON signal) when the article 100 is detected.

[0149] In the above embodiment, the processor 40 of the control device 20 determines the position of the article 100 in the control coordinate system C based on the image data ID of the visual sensor 18 in step S3. However, this is not limiting, and for example, the image processing processor of the visual sensor 18 may determine the position of the article 100 in the control coordinate system C. In this case, the image processing processor functions as the position data acquisition unit 50.

[0150] Furthermore, the robot 14 is not limited to a SCARA robot (a horizontally articulated robot) but may be any type of robot, such as a vertically articulated robot or a parallel link robot. Furthermore, the present disclosure is not limited to label attachment work, but can be applied to any work, such as a printing work for printing on the work area 112 of the item 100, a pick-up work for grasping and lifting the item 100 at the work area 112, or a painting work for painting the work area 112 of the item 100.

[0151] Although the present disclosure has been described in detail above, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values ​​or mathematical expressions are used in the description of the above-described embodiments.

[0152] The present disclosure describes the following aspects: (Aspect 1) A control device 20 controls a robot 14 that moves an occupancy sensor 16 that detects the presence or absence of an item 100 being conveyed in a conveying direction Dc by a conveying device 12 and performs a predetermined task on the item 100, the control device 20 including: a position data acquisition unit 50 that acquires the position of the item 100 in a control coordinate system C for automatically controlling the robot 14 based on image data ID of a visual sensor 18 that images the item 100 on the conveying device 12; a detection position setting unit 54 that determines, in the control coordinate system C, a detection target position O on the item 100 that is to be detected by the occupancy sensor 16 based on the position acquired by the position data acquisition unit 50; and a standby position setting unit 56 that determines, in the control coordinate system C, a standby position U at which the robot 14 waits, based on the operation of the robot 14, ahead of the detection target position O determined by the detection position setting unit 54 in the conveying direction Dc. (Aspect 2) The control device 20 according to Aspect 1, wherein the article 100 has a polygonal outer shape, the position data acquisition unit 50 acquires the position and orientation of the article 100 in the control coordinate system C, and the detection position setting unit 54 determines the detection target position O on one end face 102, 106 facing forward among multiple end faces 102, 104, 106, 108 of the article 100 that define the sides of the polygon based on the position and orientation acquired by the position data acquisition unit 50. (Aspect 3) The control device 20 according to Aspect 2, wherein the detection position setting unit 54 determines the angle θ between the length direction A1 or width direction A2 of the article 100 and the conveying direction Dc based on the orientation acquired by the position data acquisition unit 50, and identifies one end face 102, 106 according to the angle θ. (Aspect 4) The control device 20 according to any one of Aspects 1 to 3, further comprising a work position setting unit 52 that sets a work target position Q on the item 100 that is the target of the work in the control coordinate system C based on the position acquired by the position data acquisition unit 50, and the detection position setting unit 54 sets a detection target position O based on the work target position U. (Aspect 5) The control device 20 according to any one of Aspects 1 to 4, wherein the standby position setting unit 56 sets the coordinates of the standby position U in the width direction Dw of the conveying device 12 in the control coordinate system C so that the detection target position O and the standby position U coincide in the width direction Dw of the conveying device 12.(Aspect 6) The control device 20 according to any one of Aspects 1 to 5, wherein the occupancy sensor 16 has a predetermined effective detection distance de, and the standby position setting unit 56 determines the coordinates of the control coordinate system C for the standby position U in the height direction Dh based on the effective detection distance de and the position of the transport device C in the height direction Dh acquired by the position data acquisition unit 50. (Aspect 7) The control device 20 according to any one of Aspects 1 to 6, wherein an attitude V' of the robot 14 with respect to the article 100 when performing work is determined in advance, and the standby position setting unit 56 further determines a standby attitude V for causing the occupancy sensor 16 to wait at the standby position U based on the attitude V'. (Aspect 8) The control device 20 according to Aspect 7, further comprising a standby action execution unit 58 that executes a standby action to cause the occupancy sensor 16 to wait at the standby position U while being placed in the standby attitude V, by operation of the robot 14. (Aspect 9) A control device 20 according to any of aspects 1 to 8, further comprising a work position setting unit 52 that determines a work target position Q on the item 100 that is the target of the work in a control coordinate system C based on the position acquired by the position data acquisition unit 50, and the detection target position O and the work target position Q are displaced in the control coordinate system C in the conveying direction Dc according to the amount δ of conveyance of the item 100 by the conveying device 12, and the control device 20 comprises an error acquisition unit 60 that acquires an error α in the conveying direction Dc between the waiting position U and the detection target position O in the control coordinate system C when the presence sensor 16 waiting at the waiting position U detects the presence of the item 100, and a correction unit 62 that corrects the coordinates of the control coordinate system C of the work target position Q to shift forward or backward in the conveying direction Dc based on the error α acquired by the error acquisition unit 60. (Aspect 10) The presence sensor 16 is configured to detect 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 to shift them in the height direction Dh of the conveying device 12 based on the distance d measured by the presence sensor 16, in a control device 20 described in Aspect 9.(Aspect 11) The corrected work target position Q is displaced in the conveying direction Dc in the control coordinate system C according to the conveying amount δ of the item 100 by the conveying device 12, the position data acquisition unit 50 acquires the coordinates of the corrected work target position Q based on the conveying amount δ, and the control device 20 further includes a work execution unit 64 that positions the robot 14 at the coordinates acquired by the position data acquisition unit 50 and causes the robot 14 to perform work for the work target position Q, in the control device 20 described in aspect 9 or 10. (Aspect 12) A method for controlling a robot 14 that moves an occupancy sensor 16 that detects the presence or absence of an item 100 being conveyed in a conveying direction Dc by a conveying device 12 and performs a predetermined task on the item 100, the method comprising: acquiring the position of the item 100 in a control coordinate system C for automatically controlling the robot 14 based on the image data ID of a visual sensor 18 that images the item 100 on the conveying device 12; determining a detection target position O on the item 100 that the occupancy sensor 16 detects in the control coordinate system C based on the acquired position; and determining a waiting position U in the control coordinate system C ahead of the determined detection target position O in the conveying direction Dc, where the occupancy sensor 16 is to wait by the operation of the robot 14. (Aspect 13) A computer program PG that causes a processor 40 to execute the method described in Aspect 12.

[0153] REFERENCE SIGNS LIST 10 Robot system 12 Conveying device 14 Robot 16 Occupancy sensor 18 Visual sensor 20 Control device 30 Robot arm 32 End effector 40 Processor 50 Position data acquisition unit 52 Work position setting unit 54 Detection position setting unit 56 Standby position setting unit 58 Standby operation execution unit 60 Error acquisition unit 62 Correction unit 64 Work execution unit

Claims

1. A control device that controls a robot that moves a presence sensor for detecting the presence or absence of an article being conveyed in a conveyance direction and performs a predetermined operation on the article, the control device comprising: A position data acquisition unit that acquires the position of the article in a control coordinate system for automatically controlling the robot based on imaging data of a vision sensor that images the article on the conveyance device; A detection position setting unit that determines, in the control coordinate system, a detection target position on the article at which the presence sensor performs the detection based on the position acquired by the position data acquisition unit; A standby position setting unit that determines, in the control coordinate system, a standby position at which the presence sensor is made to standby by the operation of the robot in front of the detection target position in the conveyance direction.

2. The article has a polygonal outer shape, The position data acquisition unit acquires the position and orientation of the article in the control coordinate system, The detection position setting unit determines the detection target position on one end face facing the front side among a plurality of end faces of the article that define the sides of the polygon based on the position and the orientation acquired by the position data acquisition unit. The control device according to claim 1.

3. The detection position setting unit: Obtains the angle between the length direction or width direction of the article and the conveyance direction based on the orientation acquired by the position data acquisition unit, Identifies the one end face according to the angle. The control device according to claim 2.

4. Further comprising a work position setting unit that determines, in the control coordinate system, a work target position on the article that is the target of the operation based on the position acquired by the position data acquisition unit, The detection position setting unit determines the detection target position based on the work target position. The control device according to claim 1.

5. The standby position setting unit determines the coordinates of the standby position in the control coordinate system in the width direction of the conveyance device such that the detection target position and the standby position coincide in the width direction. The control device according to claim 1.

6. The presence sensor has a predetermined effective detection distance, The standby position setting unit determines the coordinates of the standby position in the height direction in the control coordinate system based on the effective detection distance and the position in the height direction of the conveyance device acquired by the position data acquisition unit. The control device according to claim 1.

7. The posture of the robot with respect to the article when performing the operation is predetermined, and the standby position setting unit further determines a standby posture when the occupancy sensor is made to standby at the standby position based on the posture. The control device according to claim 1.

8. The control device further includes a standby operation execution unit that executes a standby operation of causing the occupancy sensor to standby at the standby position in a state where the occupancy sensor is arranged in the standby posture by the operation of the robot. The control device according to claim 7.

9. The control device further includes a work position setting unit that determines a work target position on the article, which is the target of the work, in the control coordinate system based on the position acquired by the position data acquisition unit. The detection target position and the work target position are displaced in the transport direction according to the transport amount of the article by the transport device in the control coordinate system. The control device includes: an error acquisition unit that acquires an error in the transport direction between the standby position and the detection target position in the control coordinate system when the occupancy sensor standing by at the standby position detects the presence of the article; and a correction unit that corrects the coordinates of the work target position in the control coordinate system so as to shift forward or backward in the transport direction based on the error acquired by the error acquisition unit. The control device according to claim 1.

10. The occupancy sensor is configured to detect the presence or absence of the article and measure the distance to the article, and the correction unit further corrects the coordinates so as to shift in the height direction of the transport device based on the distance measured by the occupancy sensor. The control device according to claim 9.

11. The corrected work target position is displaced in the transport direction according to the transport amount of the article by the transport device in the control coordinate system. The position data acquisition unit acquires the coordinates of the corrected work target position based on the transport amount. The control device further includes a work execution unit that positions the robot at the coordinates acquired by the position data acquisition unit and causes the robot to perform the work on the work target position. The control device according to claim 9.

12. A method for controlling a robot that moves a seat sensor for detecting the presence or absence of an article being conveyed in a conveyance direction and performs a predetermined operation on the article, the method comprising: obtaining a position of the article in a control coordinate system for automatically controlling the robot based on imaging data of a vision sensor that images the article on the conveyance device; determining, in the control coordinate system, a detection target position on the article at which the seat sensor performs the detection based on the obtained position; and determining, in the control coordinate system, a standby position at which the seat sensor is made to standby by the operation of the robot in front of the determined detection target position in the conveyance direction.

13. A computer program for causing a processor to execute the method according to claim 12.

Citation Information

Patent Citations

  • Detection system and detection method for characters at bottom of bowl

    CN103049743A

  • Date information reader

    JP2022087687A