WO2025004380A1 - Program, information processing method, and information processing device - Google Patents
Program, information processing method, and information processing device Download PDFInfo
- Publication number
- WO2025004380A1 WO2025004380A1 PCT/JP2023/024514 JP2023024514W WO2025004380A1 WO 2025004380 A1 WO2025004380 A1 WO 2025004380A1 JP 2023024514 W JP2023024514 W JP 2023024514W WO 2025004380 A1 WO2025004380 A1 WO 2025004380A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- input
- user
- area
- setting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
Definitions
- This disclosure relates to a program, an information processing method, and an information processing device.
- an image recognition unit performs image recognition to recognize parts in the parts storage unit using images acquired by a camera that captures images of the parts in the parts storage unit, and when the presence of a part in the picking section is recognized by image recognition, the robot control unit controls the robot to pick up the recognized part (see, for example, Patent Document 1).
- the present disclosure makes it possible to efficiently perform image-based settings via a user interface.
- a first output process outputs an input screen including an image in a predetermined area; an input acquisition process for acquiring a user input from a user; performing image recognition processing on the image based on the user input including a designation input of a position or area for the predetermined area or the image, thereby performing image recognition of an object having a boundary corresponding to the position or area related to the designation input; a second output process of generating a predetermined display representing an image recognition result of the image processing and outputting the predetermined display in association with the target; A setting process for generating setting information related to the target related to the predetermined display based on the user input including a setting instruction from a user; A program for execution by a computer is provided.
- image-based settings can be efficiently performed via a user interface.
- FIG. 1 is a configuration diagram illustrating an example of an information processing device according to an embodiment of the present invention.
- 2 is a diagram illustrating an example of a hardware configuration of a processing unit of the information processing device illustrated in FIG. 1 .
- FIG. 2 is a block diagram for explaining functions of the information processing device according to the embodiment.
- 11A to 11C are diagrams showing examples (part 1) of input screens output by an input screen output processing unit when a user selects a teaching mode.
- 13A to 13C are diagrams showing examples (part 2) of input screens output by the input screen output processing unit when a user selects the teaching mode.
- 13A to 13C are diagrams showing examples (part 3) of input screens output by the input screen output processing unit when the user selects the teaching mode.
- FIG. 13A to 13C are diagrams showing examples (part 4) of input screens output by the input screen output processing unit when the user selects the teaching mode.
- 10 is a schematic flowchart for illustrating a flow of a process executed when an input screen for a teaching mode is selected.
- 13 is a schematic flowchart for explaining the flow of a process that is executed in a state where the input screen for the picking execution mode is selected.
- FIG. 10 is an explanatory diagram of FIG. 9 and shows an example (part 1) of an input screen for a picking execution mode.
- FIG. 10 is an explanatory diagram of FIG. 9 and shows an example of an input screen for the picking execution mode (part 2).
- FIG. 10 is an explanatory diagram of FIG. 9 and shows an example of an input screen for the picking execution mode (part 3).
- 10 is a timing chart showing an example of information exchange between components during picking.
- FIG. 13 is a diagram showing an input screen output by an input screen output processing unit according to another embodiment.
- FIG. 1 is a configuration diagram showing an example of a system 1 including an information processing device 20 according to this embodiment.
- the system 1 includes an information processing device 20, a robot arm controller 40, a robot arm 42, and a camera 50.
- the information processing device 20 is, for example, a PC (Personal Computer), but may also be realized by a mobile phone, a smartphone, a tablet terminal, etc.
- the information processing device 20 may also be realized by a combination of multiple PCs that are communicatively connected via a network.
- the information processing device 20 may also be realized by a combination of PCs and server computers that are communicatively connected via a network.
- the information processing device 20 realizes the setting assistance function according to this embodiment.
- the setting assistance function is a function that assists the user in setting various settings based on images, and details thereof will be described later with reference to FIG. 3 and subsequent figures.
- the information processing device 20 includes a communication unit 21, a memory unit 22, a display unit 23, an input unit 24, and a control unit 25.
- the communication unit 21 includes an interface that communicates with external devices wirelessly or via a wired connection to send and receive information.
- the communication unit 21 can communicate with the robot arm controller 40 and the camera 50 via a network.
- the storage unit 22 includes, for example, a primary storage device and a secondary storage device.
- the storage unit 22 may include a semiconductor memory, a magnetic memory, an optical memory, or the like.
- the storage unit 22 stores various information and programs related to the setting assistance function.
- the information and programs related to the setting assistance function may be obtained from an external device via an external memory or the communication unit 21.
- a setting assistance application program may be obtained from a specified application distribution server.
- the application program may also be simply referred to as an application.
- the setting assistance application may be in the form of a web application.
- the display unit 23 includes a display device such as a liquid crystal display or an organic EL (Electro-Luminescence) display.
- the display unit 23 is capable of displaying a variety of images.
- the display unit 23 may be configured as a touch panel, for example.
- the display unit 23 may be built into a head-mounted display.
- the input unit 24 may include physical keys, and may further include any input interface, including a pointing device such as a mouse.
- the control unit 25 controls the operation of the entire information processing device 20.
- the control unit 25 executes a setting assistance application to execute processing related to the setting assistance function.
- the control unit 25 outputs a GUI (Graphical User Interface) (described later with reference to FIG. 4) that detects operation input on the screen of the display unit 23.
- the control unit 25 receives various inputs by touch operations, input operations, etc. via the input unit 24, and executes processing related to the setting assistance function in response to the various inputs.
- the robot arm controller 40 is communicatively connected to the information processing device 20.
- the robot arm controller 40 controls a robot arm 42.
- the robot arm 42 may be, for example, an articulated arm.
- the robot arm 42 may be used for any purpose, but in this embodiment, as an example, the robot arm 42 is used for picking up objects.
- the robot arm 42 may have a gripping portion (hand) at the tip, and may be capable of gripping objects by opening and closing the gripping portion.
- the camera 50 is positioned so as to be able to capture images of various objects, including objects to be picked by the robot arm 42 (hereinafter also referred to as "picking objects").
- the camera 50 may be positioned in association with a conveyor in a factory line, and capture images of various objects moving on the conveyor in real time.
- the image data captured by the camera 50 may be supplied to the information processing device 20.
- the camera 50 may include a camera that captures RGB color images (hereinafter also referred to as "RGB images”) and/or a depth camera that captures depth images.
- the camera 50 may also include a camera that utilizes electromagnetic waves having wavelengths outside the wavelength range of visible light, such as infrared rays and ultraviolet rays (for example, a camera equipped with an element that forms an image on a flat surface).
- FIG. 2 is a diagram showing an example of the hardware configuration of the processing unit 10 of the information processing device 20 shown in FIG. 1.
- the processing unit 10 includes a CPU (Central Processing Unit) 11, a GPU (Graphics Processing Unit) 11A, a RAM (Random Access Memory) 12, a ROM (Read Only Memory) 13, an auxiliary storage device 14, a drive device 15, and a communication interface 17, all connected by a bus 19, as well as a wired transceiver unit 18A and a wireless transceiver unit 18B connected to the communication interface 17.
- a CPU Central Processing Unit
- GPU Graphics Processing Unit
- RAM Random Access Memory
- ROM Read Only Memory
- auxiliary storage device 14 a drive device 15
- a communication interface 17 all connected by a bus 19, as well as a wired transceiver unit 18A and a wireless transceiver unit 18B connected to the communication interface 17.
- GPU 11A performs image processing such as drawing various images, which will be described later.
- the auxiliary storage device 14 is, for example, a hard disk drive (HDD) or a solid state drive (SSD), and is a storage device that stores data related to application software, etc.
- HDD hard disk drive
- SSD solid state drive
- the wired transceiver 18A includes a transceiver capable of communicating using a wired network.
- Peripheral devices forming the input unit 24 and display unit 23 shown in FIG. 1 are connected to the wired transceiver 18A. However, some or all of the peripheral devices may be connected to the bus 19 or may be connected to the wireless transceiver 18B.
- the wireless transceiver 18B is a transceiver capable of communicating using a wireless network.
- the wireless network may include a wireless communication network for mobile phones, the Internet, a VPN (Virtual Private Network), a WAN (Wide Area Network), etc.
- the wireless transceiver 18B may also include a near field communication (NFC) unit, a Bluetooth (registered trademark) communication unit, a Wi-Fi (Wireless-Fidelity (registered trademark)) transceiver unit, an infrared transceiver unit, etc.
- NFC near field communication
- Bluetooth registered trademark
- Wi-Fi Wireless-Fidelity
- the wired transceiver unit 18A and the wireless transceiver unit 18B form the communication unit 21 shown in FIG. 1, for example.
- the processing unit 10 may be connectable to a recording medium 16.
- the recording medium 16 stores a specific program.
- the program stored in the recording medium 16 is installed in the auxiliary storage device 14 of the processing unit 10 via the drive device 15.
- the installed specific program can be executed by the CPU 11 of the processing unit 10.
- the recording medium 16 may be a recording medium that records information optically, electrically or magnetically, such as a CD (Compact Disc)-ROM, a flexible disk, or a magneto-optical disk, or a semiconductor memory that records information electrically, such as a ROM or a flash memory.
- the recording medium 16 does not include a carrier wave.
- FIG. 3 is a block diagram for explaining the functions of the processing unit 10 of the information processing device 20 of this embodiment.
- a user is defined as a person who provides various operational inputs to the input unit 24 of the information processing device 20.
- the information processing device 20 includes an image acquisition processing unit 210, an input screen output processing unit 212, an input acquisition processing unit 214, an image recognition processing unit 216, a recognition result output unit 218, and a setting processing unit 220.
- Each unit from the image acquisition processing unit 210 to the setting processing unit 220 can be realized by the CPU 11 shown in FIG. 2 executing one or more programs stored in a storage device (e.g., ROM 13).
- the image acquisition processing unit 210 acquires an image including the object to be picked.
- the object to be picked can be any object, but in this embodiment, it is a specific type of tool stored in a tray (case), and the image including the object to be picked is also referred to as a "tray image G10.”
- the object to be picked is not limited to being in a container such as a tray, but may be placed directly on a conveyor or the like, or may be stored in another container such as a bag.
- the tray image G10 to be acquired by the image acquisition processing unit 210 may be specified by the user.
- the tray image G10 acquired by the image acquisition processing unit 210 may be an image stored in an external database or the like, or may be an image stored in the recording medium 16 described above.
- the input screen output processing unit 212 outputs an input screen for performing various settings, etc.
- FIGS. 4 to 7 are diagrams showing examples (transition states) of input screens output by the input screen output processing unit 212 when the user selects the teaching mode.
- FIG. 4 shows one state of the input screen G400
- FIG. 5 shows another state of the input screen G400 formed by user input, etc.
- FIG. 6 shows yet another state of the input screen G400 formed by user input, etc.
- FIG. 7 shows yet another state of the input screen G400 formed by user input, etc.
- the input screen G400 forms a GUI (Graphical User Interface).
- the input screens G400 (FIG. 4, etc.), G1000 (FIG. 10, etc., described below), etc. may be switchable by the user selecting (switching input) tabs Tb1 and Tb2.
- tab Tb1 When tab Tb1 is selected, settings related to the picking execution mode are possible, and when tab Tb2 is selected, settings related to the teaching mode are possible. Information that the user can input via the input screen G400, etc. will be described later.
- the input screen G400 has an image display area G310 that displays the tray image G10 acquired by the image acquisition processing unit 210.
- the tray image G10 is an image of a planar view (top view) of the tray containing the items to be picked, as described above.
- the tray image G10 may be another view (e.g., an oblique view), or a combination of two or more views may be used.
- the input screen G400 becomes available for input when tab Tb2 is selected.
- the input screen G400 includes a user interface for making various settings in the teaching mode.
- the input screen G400 includes buttons BT1 to BT6 that allow the user to input various commands. Buttons BT1 to BT6 are buttons that cause the information processing device 20 to perform image recognition and extract (cut out) the object to be picked from within the tray image G10.
- Button BT1 is for "adding a target object point" and is a button that allows the user to associate a target object point P400 (an example of a point with a first attribute) with the image display area G310 or the tray image G10. Three target object points P400 are shown in FIG. 4. In this case, the user can associate the target object point P400 in FIG. 4 with the image display area G310 or the tray image G10 by specifying one or more desired positions while button BT1 is active. In a preferred method of specification, the user specifies the target object point P400 so that it is located within the image portion of the desired picking target.
- Button BT2 is for "adding an exclusion point” and is a button that allows the user to associate an exclusion point P402 (an example of a point with a second attribute) with the image display area G310 or the tray image G10.
- an exclusion point P402 an example of a point with a second attribute
- Three exclusion points P402 are shown in FIG. 4.
- the user can associate the exclusion point P402 in FIG. 4 with the image display area G310 or the tray image G10 by specifying one or more desired positions while button BT2 is active.
- the user specifies the exclusion point P402 so that it is located around the image portion of the desired picking target.
- Button BT3 is used to issue a "Cut Out” command, and is a button for extracting (cutting out) an image portion bounded by the contour display G700, which will be described later.
- button BT3 is also referred to as cut out button BT3.
- Button BT4 is for "remove all points” and is a button for clearing all points (target object points P400 and excluded points P402) associated with the image display area G310 or the tray image G10. For example, the user can redo all associations by operating button BT4 just once.
- Button BT5 is used to "go back one step” and clear the most recently matched point (target object point P400 or excluded point P402). For example, the user can operate button BT5 one or more times to redo the previous match.
- Button BT6 is used to "go forward one step" and to cancel the operation of button BT5. For example, if the user mistakenly operates button BT5 one or more times, the user can restore the desired association state by operating button BT6 the same number of times.
- buttons BT1 to BT6 may be operable using shortcut keys.
- the input screen G400 further includes an image load button BT440A, an image capture button BT440B, a work type display area G430, a cut-out work output area G450, a similar product extraction (search) button BT460, a picking location estimation button BT470, a settings load button BT475 (indicated as "Load settings” in the figure), and a settings save button BT480 (indicated as "Save settings” in the figure).
- the image load button BT440A is a button for loading a tray image G10, and when operated, it may be possible to specify an image file (the user may specify a desired image file).
- the loaded tray image G10 is output to the image display area G310.
- the image capture button BT440B is typically used when there is no image to load or when teaching is to be performed using a new image.
- the image capture button BT440B may be a button for capturing an image on the spot using the camera 50 and loading it, and when operated, the image captured by the camera 50 is loaded as a tray image G10.
- the loaded tray image G10 is output to the image display area G310.
- the work type display area G430 is an area that displays the type of work related to the picking target.
- the type of work related to the picking target may be specified by the user, or may be selectable from a pull-down list. In the latter case, the pull-down list may be automatically generated based on the image recognition results.
- the items that can be selected from the pull-down are already registered work types and items for adding new work. When an item for adding new work is selected, a new name is entered and registered. The "Delete item" button can also be selected, and the item can be deleted.
- the cut-out work output area G450 is an area where the cut-out image, described below, is output. By visually checking the image in the cut-out work output area G450, the user can confirm whether the desired image portion has been cut out as the cut-out image.
- the similar item extraction button BT460 is a button for extracting an object that is the same as or similar to the target object related to the cut-out image from the tray image G10.
- the tray image G10 may have multiple (e.g., many) image portions of the same type of tool.
- the user can efficiently cut out multiple desired image portions by operating the similar item extraction button BT460 without repeating the same operation on the above-mentioned buttons BT1 and BT2.
- FIG. 5 shows the state after the similar item extraction button BT460 is operated in the state shown in FIG. 4.
- an image portion (cut-out image) related to an object similar to the target object related to the contour display G700 in the state shown in FIG. 4 is extracted in the cut-out work output area G450.
- the image portion is preferably output as it is, and the posture in the tray image G10 is maintained (see area Q50).
- Such maintenance of the posture is suitable when it is desired to set an object in a specific posture as a picking target.
- an edit/delete button BT500 (see area Q51) appears, and the user can edit or delete the image portion (cut-out image) in the cut-out work output area G450 by operating the edit/delete button BT500.
- the degree of similarity used to extract similar objects when the similar item extraction button BT460 is operated may be changeable (customizable) by the user.
- the degree of similarity may be appropriately set to be completely identical, identical in type, etc.
- factors other than shape, such as color and posture may be taken into consideration.
- the picking location estimation button BT470 is a button for performing (attempting to perform) a picking location estimation process for the current tray image G10 or a newly loaded tray image G10.
- the picking location estimation process may include a process of recognizing the picking target and estimating the picking location for the picking target.
- the save settings button BT480 is a button for saving the current setting state.
- the save settings button BT480 is operated in the state shown in FIG. 4 or FIG. 5, the target object related to the image portion extracted in the cut-out work output area G450 at that time is set as the object to be picked.
- non-contact object in addition to setting (registering) the object to be picked, it may also be possible to set (register) an object that is not to be picked (or an object that should not be touched by the robot arm 42).
- the object that is not to be picked or the object that should not be touched by the robot arm 42 will be collectively referred to as a "non-contact object”.
- the notation is arbitrary.
- the method of specifying a non-contact object may be the same as the method of specifying an object to be picked described above.
- FIG. 6 shows a state in which a target object point P400 is associated with an image portion related to the tray in the image display area G310, and an excluded point P402 is associated with its periphery (see Q60 in FIG. 6).
- the user can specify the tray as a non-contact object by operating the cut-out button BT3 for the "cut-out" command.
- the image portion of the object that can be the picking object or the non-contact object may be automatically extracted.
- the image portion G720 of each object that can be the picking object or the non-contact object is cut out and output to the unregistered display area G452.
- the user may be able to edit or delete, as in the case described above with reference to FIG. 5.
- the object related to the image portion can be set as the picking object.
- the object related to the image portion can be set as the non-contact object.
- a new item may be added by operating the new item addition BT458.
- a new item is a new item among the items that represent the contents of a process (in this embodiment, the contents of a process related to the robot arm 42), such as a picking target. It may also be possible to delete the item by pressing a cross button BT459 near the item name.
- the input acquisition processing unit 214 acquires various inputs via the above-mentioned input screen G400.
- the input information to be acquired is not limited to input information directly entered by the user, and may include input information that is automatically entered. Automatically entered input information may be acquired definitively when approved by the user (for example, by operating the save settings button BT480).
- the image recognition processing unit 216 detects the contour (segment) of an object by performing image recognition processing on the tray image G10 loaded into the image display area G310. Any algorithm can be used to detect the contour of an object, and for example, the Segment Anything Model (SAM) developed by Meta, Inc. or similar may be used.
- SAM Segment Anything Model
- the image recognition processing unit 216 may execute image recognition processing. For example, each time a target object point P400 or a non-contact object is added, the image recognition processing unit 216 may update the image recognition processing result in a manner that reflects the addition.
- the image recognition processing unit 216 recognizes (searches for) an object similar to the object whose contour has been detected (hereinafter also referred to as a "similar object").
- the image recognition processing unit 216 cuts out (extracts) the object whose contour is detected at that time (the image portion surrounded by the contour display G700 described below).
- the recognition result output unit 218 outputs the image recognition result by the image recognition processing unit 216. Specifically, the recognition result output unit 218 generates and outputs a contour display G700 (an example of a predetermined display).
- the contour display G700 is, for example, a display that highlights (emphasizes) the contour (boundary) detected (recognized) by the image recognition processing unit 216.
- the contour display G700 represents the image recognition result of the contour (boundary) of the object recognized by the image recognition processing unit 216 based on the above-mentioned target object point P400 and/or the non-contact object. As described above, the image portion surrounded by the contour display G700 can be set (registered) as the picking object and/or the non-contact object.
- the contour display G700 is preferably displayed superimposed on the tray image G10, but may also be displayed in another location (for example, the cut-out work output area G450) together with the image portion within the contour display G700.
- the contour display G700 is displayed superimposed on the tray image G10 according to the detection result of the contour of the corresponding target object.
- the recognition result output unit 218 may update the contour display G700 in real time when the image recognition result by the image recognition processing unit 216 is updated.
- the recognition result output unit 218 may update the contour display G700 in a manner that reflects the update of the image recognition result by the image recognition processing unit 216 resulting from the addition of a target object point P400 or a non-contact object each time the target object point P400 or a non-contact object is added. This allows the user to end the operation of button BT1 or button BT2 and proceed to the operation of the cut-out button BT3 when the desired contour display G700 is obtained.
- the recognition result output unit 218 may output a display that highlights (emphasizes) the image portion that should be surrounded by the contour display G700.
- the recognition result output unit 218 in response to the user's operation of the similar object extraction button BT460, if the image recognition processing unit 216 is able to recognize a similar object, the recognition result output unit 218 generates a contour display G700 of the similar object based on the image recognition result. Note that, if multiple similar objects are recognized, the recognition result output unit 218 may output multiple contour displays G700.
- the recognition result output unit 218 may output the cut-out image portion to the cut-out work output area G450.
- the tray image G10 may be displayed with the cut-out image portion missing, or may be left as is.
- the setting processing unit 220 generates setting information for various settings based on the input information obtained up to that point via the input screen G400, in response to the user's operation of the setting save button BT480.
- the setting information includes setting information for objects related to the contour display G700. For example, from the input screen G400 shown in FIG. 4, an object related to an image portion that will be output to the cut-out work output area G450 by the subsequent operation of the cut-out button BT3 is set as an object to be picked. Also, from the input screen G400 shown in FIG. 6, an object related to an image portion that will be output to the cut-out work output area G450 by the subsequent operation of the cut-out button BT3 is set as an object to be picked.
- CAD Computer Aided Design
- 3D data 3D data
- the user can efficiently perform these processes and tasks via the teaching mode input screen G400, significantly reducing the burden on the user in picking, defect inspection, etc.
- FIG. 8 is a schematic flowchart for explaining the flow of processing executed when the teaching mode input screen G400 is selected.
- the processing order of each step may be changed as long as the relationship between the input and output of each step is not lost.
- step S801 When the user operates the setting read button BT475 ("Y" in step S800), the corresponding setting file is read (step S801). In this case, the user can edit the setting file. When creating a new setting file, it is not necessary to read the setting file using the setting read button BT475. Also, when the user operates the image capture button BT440B ("Y" in step S802), the image captured by the camera 50 is acquired as the tray image G10 as described above (steps S803, S804). Next, the selection state of the work type display area G430 is updated according to the user's selection (step S806), and image recognition processing and output processing of the outline display G700 are executed (step S808).
- step S810 When the user operates the cut-out button BT3, the image portion in the outline display G700 at that time is cut out and displayed in the cut-out work output area G450 (step S810), and if there is further cutting out, the processing from step S806 is repeated.
- step S810 the image portion related to the similar object is cut out as described above and displayed in the cut-out work output area G450 (step S814).
- step S816 If the user operates the picking location estimation button BT470 ("Y” in step S816), the above-mentioned picking location estimation process is executed for the current tray image G10 (step S818).
- setting information is generated (saved) based on the input information at that time (step S822).
- the setting information may be saved as a setting file in a form in which a desired file name specified by the user is associated with the setting information. In this case, the user can easily load the desired file in the picking execution mode described later.
- FIG. 9 is a schematic flowchart for explaining the flow of processing that is executed when the picking execution mode input screen G1000 (see FIG. 10, etc.) is selected.
- FIG. 10 and FIG. 11B are explanatory diagrams of FIG. 9, and show an example of the picking execution mode input screen G1000.
- the selection button B1010 (automatic picking or setting read button) is operated from the input screen G1000 as shown in FIG. 10 (step S900). At this time, if the setting read button is checked, it is used as the setting information set in the teaching mode described above.
- the picking target (and the picking position accordingly) is estimated based on the image from the camera 50 and the setting information during picking (step S904), and it is determined whether or not there is a picking target (a pickable point) (step S906). If there is no pickable point ("N" in step S906), the processing for this tray is terminated.
- step S906 it is determined whether or not the machine can determine whether picking is necessary (step S908). If the machine is capable of making the determination (“Y” in step S908), picking is performed by the robot arm 42 (step S912); if the machine is unable to make the determination ("N” in step S908), the system waits for an instruction from the user as to whether picking should be performed via the input screen G1000 as shown in FIG. 11B. Specifically, if the machine is unable to make the determination ("N” in step S908), an interface (see Q1000 in FIG. 11B) is output and the system waits for a selection from the user (step S910).
- step S910 If an input to perform picking is received from the user ("Y” in step S910), picking is performed by the robot arm 42 (step S912); if an input to perform picking is not received (“N” in step S910), the process from step S904 is repeated (i.e., automatic picking continues).
- an input screen G1000 having a stop button BT1100 as shown in FIG. 11A may be output.
- the user can stop automatic picking by operating the stop button BT1100.
- the stop button BT1100 is operated ("Y" in step S903), automatic picking is stopped.
- the outline of the estimated object to be picked may be highlighted as shown by reference symbol G111 in FIG. 11B. This makes it easier for the user to determine whether or not to stop automatic picking (i.e., whether or not to operate the stop button BT1100) and to make a decision (selection) in a situation where the machine cannot make a decision as described above.
- FIG. 12 is a timing chart that shows an example of information exchange between each component (information processing device 20, camera 50, and robot arm controller 40) during picking.
- the camera 50 acquires an RGB image (camera image) and a depth image of the tray containing the object to be picked (S1200), and transmits these images to the information processing device 20 (step S1202).
- the image transmission timing may be, for example, the timing when the tray on the conveyor is positioned upstream of the robot arm 42.
- the information processing device 20 When the information processing device 20 receives the RGB image and the depth image from the camera 50 (step S1204), it identifies the object to be picked based on these images and calculates the picking position (step S1206). Then, the information processing device 20 transmits the calculated picking position to the robot arm controller 40 (step S1208).
- the robot arm controller 40 When the robot arm controller 40 receives the picking position (step S1210), it performs the picking operation, and when the picking is completed, it generates picking completion information indicating that fact (step S1212) and transmits this to the information processing device 20 (step S1214).
- the information processing device 20 receives picking completion information (step S1216).
- the processing method related to the setting assistance function was picking, but this is not limited to this.
- the setting can be applied to any processing, such as quality inspection processing based on image recognition, cleaning processing, various cooking processing, etc.
- the tabs Tb1 and Tb2 are provided to select either the teaching mode or the picking execution mode, but this is not limited to this.
- Dedicated software may be prepared for each of the teaching mode and the picking execution mode.
- the input screen G400A can have a relatively large image display area G310 that does not require the tabs Tb1 and Tb2. Note that while FIG. 13 shows the input screen G400A for the teaching mode, the same applies to the input screen for the picking execution mode (not shown).
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
Description
本開示は、プログラム、情報処理方法、情報処理装置に関する。 This disclosure relates to a program, an information processing method, and an information processing device.
パーツ収容部内のパーツの画像を撮像するカメラで取得された画像を使用して、パーツ収容部内のパーツを認識する画像認識を実行する画像認識部を備え、画像認識によってピッキング区画にパーツが存在することが認識された場合には、ロボット制御部が、認識されたパーツを拾い上げるようにロボットを制御する技術が知られている(例えば、特許文献1参照)。 A technology is known in which an image recognition unit performs image recognition to recognize parts in the parts storage unit using images acquired by a camera that captures images of the parts in the parts storage unit, and when the presence of a part in the picking section is recognized by image recognition, the robot control unit controls the robot to pick up the recognized part (see, for example, Patent Document 1).
ところで、パーツ収容部内のパーツに限らず、各種対象を画像認識して各種処理を行う場合に、その準備のための設定が必要となる。
そこで、本開示は、画像に基づく設定をユーザインターフェースを介して効率的に行うことを可能とする。
Incidentally, when performing various processes by image recognition on various objects, not limited to parts in a parts storage section, settings for preparation are required.
Therefore, the present disclosure makes it possible to efficiently perform image-based settings via a user interface.
本開示の一局面によれば、画像を所定領域に含む入力画面を出力する第1出力処理と、
ユーザからのユーザ入力を取得する入力取得処理と、
前記所定領域又は前記画像に対する位置又は領域の指定入力を含む前記ユーザ入力に基づいて、前記画像に対する画像認識処理を行うことで、前記指定入力に係る位置又は領域に応じた境界を有する対象を画像認識する画像処理と、
前記画像処理の画像認識結果を表す所定表示を生成し、前記所定表示を、前記対象に対応付けて出力する第2出力処理と、
ユーザからの設定指示を含む前記ユーザ入力に基づいて、前記所定表示に係る前記対象に関する設定情報を生成する設定処理を、
コンピュータに実行させるプログラムが提供される。
According to an aspect of the present disclosure, a first output process outputs an input screen including an image in a predetermined area;
an input acquisition process for acquiring a user input from a user;
performing image recognition processing on the image based on the user input including a designation input of a position or area for the predetermined area or the image, thereby performing image recognition of an object having a boundary corresponding to the position or area related to the designation input;
a second output process of generating a predetermined display representing an image recognition result of the image processing and outputting the predetermined display in association with the target;
A setting process for generating setting information related to the target related to the predetermined display based on the user input including a setting instruction from a user;
A program for execution by a computer is provided.
本開示によれば、画像に基づく設定をユーザインターフェースを介して効率的に行うことが可能となる。 According to the present disclosure, image-based settings can be efficiently performed via a user interface.
以下、添付図面を参照しながら各実施例について詳細に説明する。 Each embodiment will be described in detail below with reference to the attached drawings.
図1は、本実施例による情報処理装置20を含むシステム1の一例を示す構成図である。 FIG. 1 is a configuration diagram showing an example of a system 1 including an information processing device 20 according to this embodiment.
システム1は、情報処理装置20と、ロボットアームコントローラ40と、ロボットアーム42と、カメラ50とを含む。 The system 1 includes an information processing device 20, a robot arm controller 40, a robot arm 42, and a camera 50.
情報処理装置20は、例えばPC(Personal Computer)であるが、携帯電話、スマートフォン、タブレット端末等により実現されてもよい。また、情報処理装置20は、ネットワークを介して通信可能に接続される複数のPCの組み合わせにより実現されてもよい。また、情報処理装置20は、ネットワークを介して通信可能に接続されるPCやサーバコンピュータ等の組み合わせにより実現されてもよい。 The information processing device 20 is, for example, a PC (Personal Computer), but may also be realized by a mobile phone, a smartphone, a tablet terminal, etc. The information processing device 20 may also be realized by a combination of multiple PCs that are communicatively connected via a network. The information processing device 20 may also be realized by a combination of PCs and server computers that are communicatively connected via a network.
情報処理装置20は、本実施例による設定支援機能を実現する。設定支援機能は、画像に基づく各種設定をユーザが行う際にその設定作業を支援する機能であり、その詳細は、図3以降を参照して後述する。 The information processing device 20 realizes the setting assistance function according to this embodiment. The setting assistance function is a function that assists the user in setting various settings based on images, and details thereof will be described later with reference to FIG. 3 and subsequent figures.
図1に示す例では、情報処理装置20は、通信部21と、記憶部22と、表示部23と、入力部24と、制御部25とを備える。 In the example shown in FIG. 1, the information processing device 20 includes a communication unit 21, a memory unit 22, a display unit 23, an input unit 24, and a control unit 25.
通信部21は、外部装置と無線又は有線によって通信し、情報の送受信を行うインターフェースを含む。通信部21は、ネットワークを介して、ロボットアームコントローラ40やカメラ50と通信可能である。 The communication unit 21 includes an interface that communicates with external devices wirelessly or via a wired connection to send and receive information. The communication unit 21 can communicate with the robot arm controller 40 and the camera 50 via a network.
記憶部22は、例えば一次記憶装置及び二次記憶装置を含む。例えば記憶部22は、半導体メモリ、磁気メモリ、又は光メモリ等を含んでもよい。記憶部22は、設定支援機能に係る種々の情報及びプログラムを記憶する。設定支援機能に係る情報及びプログラムは、外部メモリや通信部21を介して外部装置から取得されてもよい。例えば、設定支援アプリケーションプログラムが、所定のアプリケーション配信サーバから取得されてもよい。以下、アプリケーションプログラムを、単にアプリケーションともいう。なお、設定支援アプリケーションは、WEBアプリケーションの形態であってもよい。 The storage unit 22 includes, for example, a primary storage device and a secondary storage device. For example, the storage unit 22 may include a semiconductor memory, a magnetic memory, an optical memory, or the like. The storage unit 22 stores various information and programs related to the setting assistance function. The information and programs related to the setting assistance function may be obtained from an external device via an external memory or the communication unit 21. For example, a setting assistance application program may be obtained from a specified application distribution server. Hereinafter, the application program may also be simply referred to as an application. The setting assistance application may be in the form of a web application.
表示部23は、例えば液晶ディスプレイ又は有機EL(Electro-Luminescence)ディスプレイ等の表示デバイスを含む。表示部23は、多様な画像を表示可能である。表示部23は、例えばタッチパネルで構成されてもよい。なお、表示部23は、ヘッドマウントディスプレイに内蔵される形態であってよい。 The display unit 23 includes a display device such as a liquid crystal display or an organic EL (Electro-Luminescence) display. The display unit 23 is capable of displaying a variety of images. The display unit 23 may be configured as a touch panel, for example. The display unit 23 may be built into a head-mounted display.
入力部24は、物理キーを含んでもよいし、マウス等のようなポインティングデバイスをはじめとする任意の入力インターフェースを更に含んでもよい。 The input unit 24 may include physical keys, and may further include any input interface, including a pointing device such as a mouse.
制御部25は、情報処理装置20全体の動作を制御する。制御部25は、設定支援アプリケーションを実行することで、設定支援機能に係る処理を実行する。例えば、制御部25は、表示部23の画面上に、操作入力を検出するGUI(Graphical User Interface)(図4を参照して後述)を出力する。制御部25は、入力部24を介して、タッチ操作や入力操作等による各種入力を受け、各種入力に応じて設定支援機能に係る処理を実行する。 The control unit 25 controls the operation of the entire information processing device 20. The control unit 25 executes a setting assistance application to execute processing related to the setting assistance function. For example, the control unit 25 outputs a GUI (Graphical User Interface) (described later with reference to FIG. 4) that detects operation input on the screen of the display unit 23. The control unit 25 receives various inputs by touch operations, input operations, etc. via the input unit 24, and executes processing related to the setting assistance function in response to the various inputs.
ロボットアームコントローラ40は、情報処理装置20に通信可能に接続される。ロボットアームコントローラ40は、ロボットアーム42を制御する。なお、ロボットアームコントローラ40の機能の一部又は全部は、情報処理装置20により実現されてもよい。
ロボットアーム42は、例えば関節型のアームであってよい。ロボットアーム42の用途は任意であるが、本実施例では、一例として、対象物のピッキング用途である。この場合、ロボットアーム42は、先端部に把持部(ハンド)を有し、把持部を開閉等させることで、対象物を掴む事が可能とされてよい。
The robot arm controller 40 is communicatively connected to the information processing device 20. The robot arm controller 40 controls a robot arm 42. Note that some or all of the functions of the robot arm controller 40 may be realized by the information processing device 20.
The robot arm 42 may be, for example, an articulated arm. The robot arm 42 may be used for any purpose, but in this embodiment, as an example, the robot arm 42 is used for picking up objects. In this case, the robot arm 42 may have a gripping portion (hand) at the tip, and may be capable of gripping objects by opening and closing the gripping portion.
カメラ50は、ロボットアーム42によるピッキング対象の対象物(以下、「ピッキング対象物」とも称する)を含む各種物体を撮像可能なように、配置される。例えば、カメラ50は、工場ラインにおいて、コンベアに対応付けて配置され、コンベア上を流れる各種物体をリアルタイムに撮像してよい。カメラ50による撮像データは、情報処理装置20に供給されてよい。カメラ50は、RGBのカラー画像(以下、「RGB画像」とも称する)を取得するカメラ、及び/又は、深度画像を取得する深度カメラを含んでよい。また、赤外線や紫外線などのような、可視光の波長領域以外の波長を有する電磁波を利用するカメラ(例えば平面上に結像する素子を備えるカメラ)を含んでもよい。 The camera 50 is positioned so as to be able to capture images of various objects, including objects to be picked by the robot arm 42 (hereinafter also referred to as "picking objects"). For example, the camera 50 may be positioned in association with a conveyor in a factory line, and capture images of various objects moving on the conveyor in real time. The image data captured by the camera 50 may be supplied to the information processing device 20. The camera 50 may include a camera that captures RGB color images (hereinafter also referred to as "RGB images") and/or a depth camera that captures depth images. The camera 50 may also include a camera that utilizes electromagnetic waves having wavelengths outside the wavelength range of visible light, such as infrared rays and ultraviolet rays (for example, a camera equipped with an element that forms an image on a flat surface).
図2は、図1に示す情報処理装置20の処理部10のハードウェア構成の一例を示す図である。 FIG. 2 is a diagram showing an example of the hardware configuration of the processing unit 10 of the information processing device 20 shown in FIG. 1.
図2に示す例では、処理部10は、バス19で接続されたCPU(Central Processing Unit)11、GPU(Graphics Processing Unit)11A、RAM(Random Access Memory)12、ROM(Read Only Memory)13、補助記憶装置14、ドライブ装置15、及び通信インターフェース17、並びに、通信インターフェース17に接続された有線送受信部18A及び無線送受信部18Bを含む。 In the example shown in FIG. 2, the processing unit 10 includes a CPU (Central Processing Unit) 11, a GPU (Graphics Processing Unit) 11A, a RAM (Random Access Memory) 12, a ROM (Read Only Memory) 13, an auxiliary storage device 14, a drive device 15, and a communication interface 17, all connected by a bus 19, as well as a wired transceiver unit 18A and a wireless transceiver unit 18B connected to the communication interface 17.
GPU11Aは、後述する各種画像の描画等、画像処理を行う。 GPU 11A performs image processing such as drawing various images, which will be described later.
補助記憶装置14は、例えばHDD(Hard Disk Drive)や、SSD(Solid State Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。 The auxiliary storage device 14 is, for example, a hard disk drive (HDD) or a solid state drive (SSD), and is a storage device that stores data related to application software, etc.
有線送受信部18Aは、有線ネットワークを利用して通信可能な送受信部を含む。有線送受信部18Aには、図1に示した入力部24や表示部23等を形成する周辺機器が接続される。ただし、周辺機器の一部又は全部は、バス19に接続されてもよいし、無線送受信部18Bに接続されてもよい。 The wired transceiver 18A includes a transceiver capable of communicating using a wired network. Peripheral devices forming the input unit 24 and display unit 23 shown in FIG. 1 are connected to the wired transceiver 18A. However, some or all of the peripheral devices may be connected to the bus 19 or may be connected to the wireless transceiver 18B.
無線送受信部18Bは、無線ネットワークを利用して通信可能な送受信部である。無線ネットワークは、携帯電話の無線通信網、インターネット、VPN(Virtual Private Network)、WAN(Wide Area Network)等を含んでよい。また、無線送受信部18Bは、近距離無線通信(NFC:Near Field Communication)部、ブルートゥース(Bluetooth、登録商標)通信部、Wi-Fi(Wireless-Fidelity、登録商標)送受信部、赤外線送受信部などを含んでもよい。 The wireless transceiver 18B is a transceiver capable of communicating using a wireless network. The wireless network may include a wireless communication network for mobile phones, the Internet, a VPN (Virtual Private Network), a WAN (Wide Area Network), etc. The wireless transceiver 18B may also include a near field communication (NFC) unit, a Bluetooth (registered trademark) communication unit, a Wi-Fi (Wireless-Fidelity (registered trademark)) transceiver unit, an infrared transceiver unit, etc.
有線送受信部18A及び無線送受信部18Bは、例えば図1に示した通信部21を形成する。 The wired transceiver unit 18A and the wireless transceiver unit 18B form the communication unit 21 shown in FIG. 1, for example.
なお、処理部10は、記録媒体16と接続可能であってもよい。記録媒体16は、所定のプログラムを格納する。この記録媒体16に格納されたプログラムは、ドライブ装置15を介して処理部10の補助記憶装置14等にインストールされる。インストールされた所定のプログラムは、処理部10のCPU11により実行可能となる。例えば、記録媒体16は、CD(Compact Disc)-ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する記録媒体、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等であってよい。なお、記録媒体16には、搬送波は含まれない。 The processing unit 10 may be connectable to a recording medium 16. The recording medium 16 stores a specific program. The program stored in the recording medium 16 is installed in the auxiliary storage device 14 of the processing unit 10 via the drive device 15. The installed specific program can be executed by the CPU 11 of the processing unit 10. For example, the recording medium 16 may be a recording medium that records information optically, electrically or magnetically, such as a CD (Compact Disc)-ROM, a flexible disk, or a magneto-optical disk, or a semiconductor memory that records information electrically, such as a ROM or a flash memory. The recording medium 16 does not include a carrier wave.
図3は、本実施例の情報処理装置20の処理部10の機能を説明するためのブロック図である。以下では、ユーザとは、情報処理装置20の入力部24に対して各種操作入力を与える人であるとする。 FIG. 3 is a block diagram for explaining the functions of the processing unit 10 of the information processing device 20 of this embodiment. In the following, a user is defined as a person who provides various operational inputs to the input unit 24 of the information processing device 20.
情報処理装置20は、図3に示すように、画像取得処理部210と、入力画面出力処理部212と、入力取得処理部214と、画像認識処理部216と、認識結果出力部218と、設定処理部220とを含む。画像取得処理部210から設定処理部220の各部は、図2に示すCPU11が、記憶装置(例えばROM13)に記憶される1つ以上のプログラムを実行することで実現できる。 As shown in FIG. 3, the information processing device 20 includes an image acquisition processing unit 210, an input screen output processing unit 212, an input acquisition processing unit 214, an image recognition processing unit 216, a recognition result output unit 218, and a setting processing unit 220. Each unit from the image acquisition processing unit 210 to the setting processing unit 220 can be realized by the CPU 11 shown in FIG. 2 executing one or more programs stored in a storage device (e.g., ROM 13).
画像取得処理部210は、ピッキング対象物を含む画像を取得する。ピッキング対象物は、上述したように任意であるが、本実施例では、トレイ(ケース)内に収容される特定種類の工具であるとし、ピッキング対象物を含む画像を、「トレイ画像G10」とも称する。なお、ピッキング対象物は、トレイのような容器に入ったものに限られず、コンベア等に直接載置されるものであってもよいし、袋のような他の容器に収容されてもよい。 The image acquisition processing unit 210 acquires an image including the object to be picked. As described above, the object to be picked can be any object, but in this embodiment, it is a specific type of tool stored in a tray (case), and the image including the object to be picked is also referred to as a "tray image G10." Note that the object to be picked is not limited to being in a container such as a tray, but may be placed directly on a conveyor or the like, or may be stored in another container such as a bag.
なお、画像取得処理部210による取得対象のトレイ画像G10は、ユーザにより指定されてよい。画像取得処理部210による取得されるトレイ画像G10は、外部のデータベース等に記憶されている画像であってもよいし、上述した記録媒体16内に記憶されている画像であってもよい。 The tray image G10 to be acquired by the image acquisition processing unit 210 may be specified by the user. The tray image G10 acquired by the image acquisition processing unit 210 may be an image stored in an external database or the like, or may be an image stored in the recording medium 16 described above.
入力画面出力処理部212は、各種の設定等を行うための入力画面を出力する。 The input screen output processing unit 212 outputs an input screen for performing various settings, etc.
図4から図7は、ティーチングモードをユーザが選択した場合の、入力画面出力処理部212により出力される入力画面の各例(各遷移状態)を示す図である。図4は、入力画面G400の一の状態を示し、図5は、ユーザ入力等により形成される入力画面G400の他の一の状態を示す。図6は、ユーザ入力等により形成される入力画面G400の更なる他の一の状態を示す。図7は、ユーザ入力等により形成される入力画面G400の更なる他の一の状態を示す。 FIGS. 4 to 7 are diagrams showing examples (transition states) of input screens output by the input screen output processing unit 212 when the user selects the teaching mode. FIG. 4 shows one state of the input screen G400, and FIG. 5 shows another state of the input screen G400 formed by user input, etc. FIG. 6 shows yet another state of the input screen G400 formed by user input, etc. FIG. 7 shows yet another state of the input screen G400 formed by user input, etc.
入力画面G400は、GUI(Graphical User Interface)を形成する。入力画面G400(図4等)、G1000(後出の図10等)等は、ユーザによるタブTb1、Tb2の選択(切替入力)により、切替可能とされてよい。タブTb1が選択された場合、ピッキング実行モードに係る設定が可能とされ、タブTb2が選択された場合、ティーチングモードに係る設定が可能とされる。入力画面G400等を介してユーザが入力可能な情報等については後述する。 The input screen G400 forms a GUI (Graphical User Interface). The input screens G400 (FIG. 4, etc.), G1000 (FIG. 10, etc., described below), etc. may be switchable by the user selecting (switching input) tabs Tb1 and Tb2. When tab Tb1 is selected, settings related to the picking execution mode are possible, and when tab Tb2 is selected, settings related to the teaching mode are possible. Information that the user can input via the input screen G400, etc. will be described later.
入力画面G400は、画像取得処理部210により取得されたトレイ画像G10を表示する画像表示領域G310を有する。本実施例では、一例として、トレイ画像G10は、上述したように、ピッキング対象物が収容された状態のトレイの平面視(上面視)での画像である。なお、変形例では、トレイ画像G10は、他のビュー(例えば斜視)であってもよいし、2つ以上のビューの組み合わせが利用されてもよい。 The input screen G400 has an image display area G310 that displays the tray image G10 acquired by the image acquisition processing unit 210. In this embodiment, as an example, the tray image G10 is an image of a planar view (top view) of the tray containing the items to be picked, as described above. Note that in modified examples, the tray image G10 may be another view (e.g., an oblique view), or a combination of two or more views may be used.
入力画面G400は、タブTb2が選択された場合に入力可能となる。入力画面G400は、ティーチングモードでの各種の設定を行うためのユーザインターフェースを含む。 The input screen G400 becomes available for input when tab Tb2 is selected. The input screen G400 includes a user interface for making various settings in the teaching mode.
入力画面G400は、ユーザが各種指令を入力するためのボタンBT1からBT6を含む。ボタンBT1からBT6は、情報処理装置20にトレイ画像G10内のピッキング対象物を画像認識させて抽出(切り出し)させるためのボタンである。 The input screen G400 includes buttons BT1 to BT6 that allow the user to input various commands. Buttons BT1 to BT6 are buttons that cause the information processing device 20 to perform image recognition and extract (cut out) the object to be picked from within the tray image G10.
ボタンBT1は、「対象物体点追加」用であり、ユーザにより画像表示領域G310又はトレイ画像G10に対して、対象物体点P400(第1属性の点の一例)を対応付けるためのボタンである。図4には、3つの対象物体点P400が図示されている。この場合、ユーザは、ボタンBT1がアクティブな状態で所望の1つ以上の位置を指定することで、図4の対象物体点P400を、画像表示領域G310又はトレイ画像G10に対応付けることができる。望ましい指定方法では、ユーザは、所望のピッキング対象物の画像部分内に、対象物体点P400が位置するように、対象物体点P400を指定する。 Button BT1 is for "adding a target object point" and is a button that allows the user to associate a target object point P400 (an example of a point with a first attribute) with the image display area G310 or the tray image G10. Three target object points P400 are shown in FIG. 4. In this case, the user can associate the target object point P400 in FIG. 4 with the image display area G310 or the tray image G10 by specifying one or more desired positions while button BT1 is active. In a preferred method of specification, the user specifies the target object point P400 so that it is located within the image portion of the desired picking target.
ボタンBT2は、「除外点追加」用であり、ユーザにより画像表示領域G310又はトレイ画像G10に対して、除外点P402(第2属性の点の一例)を対応付けるためのボタンである。図4には、3つの除外点P402が図示されている。この場合、ユーザは、ボタンBT2がアクティブな状態で所望の1つ以上の位置を指定することで、図4の除外点P402を、画像表示領域G310又はトレイ画像G10に対応付けることができる。望ましい指定方法では、ユーザは、所望のピッキング対象物の画像部分の周辺に、除外点P402が位置するように、除外点P402を指定する。 Button BT2 is for "adding an exclusion point" and is a button that allows the user to associate an exclusion point P402 (an example of a point with a second attribute) with the image display area G310 or the tray image G10. Three exclusion points P402 are shown in FIG. 4. In this case, the user can associate the exclusion point P402 in FIG. 4 with the image display area G310 or the tray image G10 by specifying one or more desired positions while button BT2 is active. In a preferred method of specification, the user specifies the exclusion point P402 so that it is located around the image portion of the desired picking target.
ボタンBT3は、「切り出し」指令用であり、後述する輪郭表示G700により境界付けられた画像部分を抽出する(切り出す)ためのボタンである。以下、ボタンBT3は、切り出しボタンBT3とも称する。 Button BT3 is used to issue a "Cut Out" command, and is a button for extracting (cutting out) an image portion bounded by the contour display G700, which will be described later. Hereinafter, button BT3 is also referred to as cut out button BT3.
ボタンBT4は、「全点除去」用であり、画像表示領域G310又はトレイ画像G10に対応付けられた点(対象物体点P400や除外点P402)をすべてクリアするためのボタンである。例えば、ユーザは、ボタンBT4を1回だけ操作することで、全ての対応付けをやり直すことができる。 Button BT4 is for "remove all points" and is a button for clearing all points (target object points P400 and excluded points P402) associated with the image display area G310 or the tray image G10. For example, the user can redo all associations by operating button BT4 just once.
ボタンBT5は、「1つ戻る」用であり、直近で対応付けた点(対象物体点P400又は除外点P402)をクリアするためのボタンである。例えば、ユーザは、ボタンBT5を1回以上操作することで、1つ以上前の対応付けをやり直すことができる。 Button BT5 is used to "go back one step" and clear the most recently matched point (target object point P400 or excluded point P402). For example, the user can operate button BT5 one or more times to redo the previous match.
ボタンBT6は、「1つ進む」用であり、ボタンBT5での操作をキャンセルするためのボタンである。例えば、ユーザは、ボタンBT5を1回以上誤って操作した場合に、同じ回数だけボタンBT6を操作することで、所望の対応付け状態を復活させることができる。 Button BT6 is used to "go forward one step" and to cancel the operation of button BT5. For example, if the user mistakenly operates button BT5 one or more times, the user can restore the desired association state by operating button BT6 the same number of times.
なお、ボタンBT1からBT6に係る操作のいずれか1つ以上の操作は、ショートカットキーを使用して操作可能であってもよい。 Note that one or more of the operations related to buttons BT1 to BT6 may be operable using shortcut keys.
入力画面G400は、更に、画像読み込みボタンBT440A、画像撮影ボタンBT440B、ワークの種類表示領域G430、切り出しワーク出力領域G450、類似品抽出(探索)ボタンBT460、ピッキング場所推定ボタンBT470、設定読み込み(図では、「設定の読込」と表記)ボタンBT475、及び設定保存(図では、「設定を保存」と表記)ボタンBT480を含む。 The input screen G400 further includes an image load button BT440A, an image capture button BT440B, a work type display area G430, a cut-out work output area G450, a similar product extraction (search) button BT460, a picking location estimation button BT470, a settings load button BT475 (indicated as "Load settings" in the figure), and a settings save button BT480 (indicated as "Save settings" in the figure).
画像読み込みボタンBT440Aは、トレイ画像G10を読み込むためのボタンであり、操作すると、画像ファイルの指定(ユーザにより所望の画像ファイルの指定)が可能とされてよい。なお、読み込まれたトレイ画像G10は、画像表示領域G310に出力される。 The image load button BT440A is a button for loading a tray image G10, and when operated, it may be possible to specify an image file (the user may specify a desired image file). The loaded tray image G10 is output to the image display area G310.
画像撮影ボタンBT440Bは、典型的には、読み込む画像がない場合や新規の画像を使用してティーチングを行う場合に利用される。例えば画像撮影ボタンBT440Bは、カメラ50により画像をその場で撮像して読み込むためのボタンであってよく、操作すると、カメラ50により撮像された画像が、トレイ画像G10として読み込まれる。なお、読み込まれたトレイ画像G10は、画像表示領域G310に出力される。 The image capture button BT440B is typically used when there is no image to load or when teaching is to be performed using a new image. For example, the image capture button BT440B may be a button for capturing an image on the spot using the camera 50 and loading it, and when operated, the image captured by the camera 50 is loaded as a tray image G10. The loaded tray image G10 is output to the image display area G310.
ワークの種類表示領域G430は、ピッキング対象物に係るワークの種類を表示する領域である。ピッキング対象物に係るワークの種類は、ユーザにより指定されてもよいし、プルダウンリストから選択可能とされてもよい。後者の場合、プルダウンリストは、画像認識結果に基づいて自動的に生成されてもよい。本実施例では、一例として、プルダウンで選択できる項目は、既に登録したワークの種類と新規ワーク追加用の項目である。なお、新規ワーク追加用の項目が選択された場合、新規の名称を入力して登録する。「項目を削除」ボタンも選択可能であり、その項目を削除できる。 The work type display area G430 is an area that displays the type of work related to the picking target. The type of work related to the picking target may be specified by the user, or may be selectable from a pull-down list. In the latter case, the pull-down list may be automatically generated based on the image recognition results. In this embodiment, as an example, the items that can be selected from the pull-down are already registered work types and items for adding new work. When an item for adding new work is selected, a new name is entered and registered. The "Delete item" button can also be selected, and the item can be deleted.
切り出しワーク出力領域G450は、後述する切り出し画像が出力される領域である。ユーザは、切り出しワーク出力領域G450内の画像を目視することで、所望の画像部分が切り出し画像として切り出されたかどうかを確認できる。 The cut-out work output area G450 is an area where the cut-out image, described below, is output. By visually checking the image in the cut-out work output area G450, the user can confirm whether the desired image portion has been cut out as the cut-out image.
類似品抽出ボタンBT460は、切り出し画像に係る対象物体と同じ又は類似の物体を、トレイ画像G10から抽出するためのボタンである。例えば、トレイ画像G10には、同じ種類の工具の画像部分が複数(例えば多数)ある場合もある。この場合、ユーザは、類似品抽出ボタンBT460を操作することで、上述したボタンBT1やボタンBT2に対して同様の操作を繰り返すことなく、複数の所望の画像部分を効率的に切り出すことができる。図5には、図4に示す状態において、類似品抽出ボタンBT460が操作された後の状態が示されている。この場合、図4に示す状態で輪郭表示G700に係る対象物体に類似する物体に係る画像部分(切り出し画像)が、切り出しワーク出力領域G450内に抽出されている。この際、画像部分は、好ましくは、そのまま出力され、トレイ画像G10における姿勢等が維持される(領域Q50参照)。このような姿勢の維持は、特定の姿勢の物体をピッキング対象物として設定したい場合に好適である。 The similar item extraction button BT460 is a button for extracting an object that is the same as or similar to the target object related to the cut-out image from the tray image G10. For example, the tray image G10 may have multiple (e.g., many) image portions of the same type of tool. In this case, the user can efficiently cut out multiple desired image portions by operating the similar item extraction button BT460 without repeating the same operation on the above-mentioned buttons BT1 and BT2. FIG. 5 shows the state after the similar item extraction button BT460 is operated in the state shown in FIG. 4. In this case, an image portion (cut-out image) related to an object similar to the target object related to the contour display G700 in the state shown in FIG. 4 is extracted in the cut-out work output area G450. At this time, the image portion is preferably output as it is, and the posture in the tray image G10 is maintained (see area Q50). Such maintenance of the posture is suitable when it is desired to set an object in a specific posture as a picking target.
図5に示す例では、編集/削除ボタンBT500(領域Q51参照)が出現し、ユーザは、編集/削除ボタンBT500を操作することで、切り出しワーク出力領域G450内の画像部分(切り出し画像)を編集や削除できる。 In the example shown in FIG. 5, an edit/delete button BT500 (see area Q51) appears, and the user can edit or delete the image portion (cut-out image) in the cut-out work output area G450 by operating the edit/delete button BT500.
なお、類似品抽出ボタンBT460の操作の際に類似の物体の抽出に利用される類似の度合いは、ユーザにより変更(カスタマイズ)可能とされてもよい。例えば、類似の度合いは、完全に同一、種類として同一等、適宜設定可能とされてもよい。また、色や姿勢等のような形状以外の他の要素が考慮されてもよい。 The degree of similarity used to extract similar objects when the similar item extraction button BT460 is operated may be changeable (customizable) by the user. For example, the degree of similarity may be appropriately set to be completely identical, identical in type, etc. Also, factors other than shape, such as color and posture, may be taken into consideration.
ピッキング場所推定ボタンBT470は、現在のトレイ画像G10又は新たに読み込んだトレイ画像G10に対してピッキング場所の推定処理を行う(試す)ためのボタンである。ピッキング場所の推定処理は、ピッキング対象物を認識し、当該ピッキング対象物をピッキング場所として推定する処理を含んでよい。 The picking location estimation button BT470 is a button for performing (attempting to perform) a picking location estimation process for the current tray image G10 or a newly loaded tray image G10. The picking location estimation process may include a process of recognizing the picking target and estimating the picking location for the picking target.
設定保存ボタンBT480は、現在の設定状態を保存するためのボタンである。図4又は図5に示す状態で設定保存ボタンBT480が操作されると、その際に切り出しワーク出力領域G450内に抽出されている画像部分に係る対象物体が、ピッキング対象物として設定される。 The save settings button BT480 is a button for saving the current setting state. When the save settings button BT480 is operated in the state shown in FIG. 4 or FIG. 5, the target object related to the image portion extracted in the cut-out work output area G450 at that time is set as the object to be picked.
ここで、本実施例では、ピッキング対象物の設定(登録)の他に、ピッキングされない物体(あるいはロボットアーム42で触れてはいけない物体)も設定(登録)可能とされてもよい。以下は、ピッキングされない物体、あるいは、ロボットアーム42で触れてはいけない物体を、「非接触物体」とも総称する。本実施例では、図6に示すように、ワークの種類表示領域G430に、「Don’t Touch」Boxなる表記を選択することで、非接触物体の設定が可能とされる(図6のQ61参照)。なお、表記は任意である。非接触物体の指定方法は、上述したピッキング対象物の指定方法と同様であってよい。この場合、ユーザは、ボタンBT1からBT6を適宜操作して、非接触物体の指定が可能となる。図6には、画像表示領域G310において、トレイに係る画像部分に対象物体点P400が対応付けられ、その周辺に除外点P402が対応付けられている状態(図6のQ60参照)が示されている。この状態で、ユーザが、「切り出し」指令用の切り出しボタンBT3を操作することで、トレイを非接触物体として指定できる。 Here, in this embodiment, in addition to setting (registering) the object to be picked, it may also be possible to set (register) an object that is not to be picked (or an object that should not be touched by the robot arm 42). Hereinafter, the object that is not to be picked or the object that should not be touched by the robot arm 42 will be collectively referred to as a "non-contact object". In this embodiment, as shown in FIG. 6, by selecting the notation "Don't Touch" Box in the work type display area G430, it is possible to set a non-contact object (see Q61 in FIG. 6). Note that the notation is arbitrary. The method of specifying a non-contact object may be the same as the method of specifying an object to be picked described above. In this case, the user can specify a non-contact object by appropriately operating buttons BT1 to BT6. FIG. 6 shows a state in which a target object point P400 is associated with an image portion related to the tray in the image display area G310, and an excluded point P402 is associated with its periphery (see Q60 in FIG. 6). In this state, the user can specify the tray as a non-contact object by operating the cut-out button BT3 for the "cut-out" command.
なお、ピッキング対象物又は非接触物体となりうる物体の画像部分は、自動的に抽出されてもよい。例えば、図7に示す例の入力画面G400Aでは、トレイ画像G10が読み込まれると、ピッキング対象物又は非接触物体となりうる各物体の画像部分G720が切り出され、未登録表示領域G452に出力される。ユーザは、図5を参照して上述した場合と同様に、編集や削除が可能とされてよい。例えば、未登録表示領域G452に出力される各画像部分のうちの所望の画像部分を、ピッキング対象物に係る領域G454に、ドラッグ&ドロップで移動することで、当該画像部分に係る物体をピッキング対象物として設定可能となる。また、未登録表示領域G452に出力される各画像部分のうちの所望の画像部分を、非接触物体に係る領域G456に、ドラッグ&ドロップで移動することで、当該画像部分に係る物体を非接触物体として設定可能となる。この場合、新規項目追加BT458を操作することで、新規項目を追加可能とされてもよい。新規項目は、ピッキング対象など、処理の内容(本実施例では、ロボットアーム42に係る処理の内容)を表す項目のうちの新しい項目である。また、項目名付近にあるバツマークのボタンBT459でその項目を削除することも可能とされてもよい。 Note that the image portion of the object that can be the picking object or the non-contact object may be automatically extracted. For example, in the input screen G400A of the example shown in FIG. 7, when the tray image G10 is read, the image portion G720 of each object that can be the picking object or the non-contact object is cut out and output to the unregistered display area G452. The user may be able to edit or delete, as in the case described above with reference to FIG. 5. For example, by dragging and dropping a desired image portion of each image portion output to the unregistered display area G452 to the area G454 related to the picking object, the object related to the image portion can be set as the picking object. Also, by dragging and dropping a desired image portion of each image portion output to the unregistered display area G452 to the area G456 related to the non-contact object, the object related to the image portion can be set as the non-contact object. In this case, a new item may be added by operating the new item addition BT458. A new item is a new item among the items that represent the contents of a process (in this embodiment, the contents of a process related to the robot arm 42), such as a picking target. It may also be possible to delete the item by pressing a cross button BT459 near the item name.
入力取得処理部214は、上述した入力画面G400を介して各種入力を取得する。なお、取得対象の入力情報は、ユーザにより直接入力された入力情報に限られず、自動的に入力された入力情報を含んでよい。自動的に入力された入力情報は、ユーザにより承認(例えば設定保存ボタンBT480の操作)があった場合に、確定的に取得されてもよい。 The input acquisition processing unit 214 acquires various inputs via the above-mentioned input screen G400. Note that the input information to be acquired is not limited to input information directly entered by the user, and may include input information that is automatically entered. Automatically entered input information may be acquired definitively when approved by the user (for example, by operating the save settings button BT480).
画像認識処理部216は、画像表示領域G310に読み込まれたトレイ画像G10に対する画像認識処理を行うことで、物体の輪郭(セグメント)を検出する。物体の輪郭の検出アルゴリズムは、任意であり、例えばMeta社が開発したSegment Anything Model(SAM)又はその類が利用されてもよい。 The image recognition processing unit 216 detects the contour (segment) of an object by performing image recognition processing on the tray image G10 loaded into the image display area G310. Any algorithm can be used to detect the contour of an object, and for example, the Segment Anything Model (SAM) developed by Meta, Inc. or similar may be used.
画像認識処理部216は、トレイ画像G10が読み込まれると、画像認識処理を実行してよい。例えば、画像認識処理部216は、対象物体点P400又は非接触物体が追加されるごとに、当該追加を反映する態様で、画像認識処理結果を更新してよい。 When the tray image G10 is read, the image recognition processing unit 216 may execute image recognition processing. For example, each time a target object point P400 or a non-contact object is added, the image recognition processing unit 216 may update the image recognition processing result in a manner that reflects the addition.
また、画像認識処理部216は、ユーザによる類似品抽出ボタンBT460の操作に応答して、輪郭を検出した物体と類似する物体(以下、「類似物体」とも称する)を認識(探索)する。 In addition, in response to the user's operation of the similar object extraction button BT460, the image recognition processing unit 216 recognizes (searches for) an object similar to the object whose contour has been detected (hereinafter also referred to as a "similar object").
また、画像認識処理部216は、ユーザによる切り出しボタンBT3の操作に応答して、その時点で輪郭を検出した物体(後述する輪郭表示G700で囲まれた画像部分)を、切り出す(抽出する)。 In addition, in response to the user's operation of the cut-out button BT3, the image recognition processing unit 216 cuts out (extracts) the object whose contour is detected at that time (the image portion surrounded by the contour display G700 described below).
認識結果出力部218は、画像認識処理部216による画像認識結果を出力する。具体的には、認識結果出力部218は、輪郭表示G700(所定表示の一例)を生成し出力する。輪郭表示G700は、例えば、画像認識処理部216により検出(認識)された輪郭(境界)をハイライト(強調)する表示である。輪郭表示G700は、上述した対象物体点P400及び/又は非接触物体に基づいて画像認識処理部216が認識した対象の輪郭(境界)の画像認識結果を表す。輪郭表示G700で囲まれた画像部分は、上述したように、ピッキング対象物及び/又は非接触物体として設定(登録)が可能である。輪郭表示G700は、好ましくは、トレイ画像G10上に重畳表示されるが、他の場所(例えば切り出しワーク出力領域G450)に、輪郭表示G700内の画像部分とともに表示されてもよい。本実施例では、輪郭表示G700は、対応する対象物体の輪郭の検出結果に合わせて、トレイ画像G10上に重畳表示される。 The recognition result output unit 218 outputs the image recognition result by the image recognition processing unit 216. Specifically, the recognition result output unit 218 generates and outputs a contour display G700 (an example of a predetermined display). The contour display G700 is, for example, a display that highlights (emphasizes) the contour (boundary) detected (recognized) by the image recognition processing unit 216. The contour display G700 represents the image recognition result of the contour (boundary) of the object recognized by the image recognition processing unit 216 based on the above-mentioned target object point P400 and/or the non-contact object. As described above, the image portion surrounded by the contour display G700 can be set (registered) as the picking object and/or the non-contact object. The contour display G700 is preferably displayed superimposed on the tray image G10, but may also be displayed in another location (for example, the cut-out work output area G450) together with the image portion within the contour display G700. In this embodiment, the contour display G700 is displayed superimposed on the tray image G10 according to the detection result of the contour of the corresponding target object.
認識結果出力部218は、画像認識処理部216による画像認識結果が更新されると、リアルタイムに輪郭表示G700を更新してよい。例えば、認識結果出力部218は、対象物体点P400又は非接触物体が追加されるごとに、当該追加に起因した画像認識処理部216による画像認識結果の更新が反映する態様で、輪郭表示G700を更新してよい。これにより、ユーザは、所望の輪郭表示G700を得られた時点で、ボタンBT1やボタンBT2の操作を終了して、切り出しボタンBT3の操作に進むことができる。 The recognition result output unit 218 may update the contour display G700 in real time when the image recognition result by the image recognition processing unit 216 is updated. For example, the recognition result output unit 218 may update the contour display G700 in a manner that reflects the update of the image recognition result by the image recognition processing unit 216 resulting from the addition of a target object point P400 or a non-contact object each time the target object point P400 or a non-contact object is added. This allows the user to end the operation of button BT1 or button BT2 and proceed to the operation of the cut-out button BT3 when the desired contour display G700 is obtained.
認識結果出力部218は、輪郭表示G700に代えて又は加えて、輪郭表示G700で囲まれるべき画像部分をハイライト(強調)する表示を出力してもよい。 In place of or in addition to the contour display G700, the recognition result output unit 218 may output a display that highlights (emphasizes) the image portion that should be surrounded by the contour display G700.
また、認識結果出力部218は、ユーザによる類似品抽出ボタンBT460の操作に応答して、画像認識処理部216により類似物体を認識できた場合は、その画像認識結果に基づいて、類似物体の輪郭表示G700を生成する。なお、認識結果出力部218は、類似物体が複数認識された場合は、複数の輪郭表示G700を出力してよい。 In addition, in response to the user's operation of the similar object extraction button BT460, if the image recognition processing unit 216 is able to recognize a similar object, the recognition result output unit 218 generates a contour display G700 of the similar object based on the image recognition result. Note that, if multiple similar objects are recognized, the recognition result output unit 218 may output multiple contour displays G700.
また、認識結果出力部218は、ユーザによる切り出しボタンBT3の操作に応答して画像認識処理部216が画像部分を切り出す場合、切り出された画像部分を、切り出しワーク出力領域G450に出力してよい。なお、この際、トレイ画像G10は、切り出された画像部分が欠損された状態で表示されてもよいし、そのままであってもよい。 In addition, when the image recognition processing unit 216 cuts out an image portion in response to a user's operation of the cut-out button BT3, the recognition result output unit 218 may output the cut-out image portion to the cut-out work output area G450. At this time, the tray image G10 may be displayed with the cut-out image portion missing, or may be left as is.
設定処理部220は、ユーザによる設定保存ボタンBT480の操作に基づいて、その際までに入力画面G400を介して得られている入力情報に基づいて、各種設定に係る設定情報を生成する。この際、設定情報は、輪郭表示G700に係る物体に係る設定情報を含む。例えば、図4に示す入力画面G400からは、その後の切り出しボタンBT3の操作により切り出しワーク出力領域G450に出力されることになる画像部分に係る物体は、ピッキング対象物として設定される。また、図6に示す入力画面G400からは、その後の切り出しボタンBT3の操作により切り出しワーク出力領域G450に出力されることになる画像部分に係る物体は、ピッキング対象物として設定される。 The setting processing unit 220 generates setting information for various settings based on the input information obtained up to that point via the input screen G400, in response to the user's operation of the setting save button BT480. At this time, the setting information includes setting information for objects related to the contour display G700. For example, from the input screen G400 shown in FIG. 4, an object related to an image portion that will be output to the cut-out work output area G450 by the subsequent operation of the cut-out button BT3 is set as an object to be picked. Also, from the input screen G400 shown in FIG. 6, an object related to an image portion that will be output to the cut-out work output area G450 by the subsequent operation of the cut-out button BT3 is set as an object to be picked.
このようにして、本実施例によれば、トレイ画像G10に基づく各種設定を入力画面G400のユーザインターフェースを介して効率的に行うことが可能となる。 In this way, according to this embodiment, various settings based on the tray image G10 can be efficiently performed via the user interface of the input screen G400.
ここで、例えば、ピッキングや欠陥検査等においては、検出場所を見つけるためのアノテーションや、CAD(Computer Aided Design)データ(例えば3次元データ)の読み込み、ルールや手続きの設定が必要になる。このような各種処理や作業は、ユーザにとって負担であり、効率的かつ正確に実行するのが難しいものである。 For example, when picking or inspecting for defects, annotation is required to find the detection location, CAD (Computer Aided Design) data (e.g., 3D data) must be read, and rules and procedures must be set. These types of processes and tasks are a burden for users, and are difficult to execute efficiently and accurately.
この点、本実施例によれば、ユーザは、これらの処理や作業をティーチングモードの入力画面G400を介して効率的に行うことが可能となり、ピッキングや欠陥検査等におけるユーザの負担を大幅に低減できる。 In this regard, according to this embodiment, the user can efficiently perform these processes and tasks via the teaching mode input screen G400, significantly reducing the burden on the user in picking, defect inspection, etc.
次に、図8以降を参照して、本実施例のシステム1の動作等について更に説明する。 Next, the operation of system 1 of this embodiment will be further explained with reference to Figure 8 onwards.
図8は、ティーチングモードの入力画面G400が選択されている状態で実行される処理の流れを説明するための概略的なフローチャートである。以降の処理フロー図(フローチャート)においては、各ステップの入力と出力の関係を損なわない限り、各ステップの処理順序を入れ替えてもよい。 FIG. 8 is a schematic flowchart for explaining the flow of processing executed when the teaching mode input screen G400 is selected. In the subsequent processing flow diagrams (flowcharts), the processing order of each step may be changed as long as the relationship between the input and output of each step is not lost.
ユーザによる設定読み込みボタンBT475の操作があった場合(ステップS800の“Y”)、対応する設定ファイルが読み込まれる(ステップS801)。この場合、ユーザは、設定ファイルの編集等が可能である。なお、新規で設定ファイルを作成する場合、設定読み込むボタンBT475による設定ファイルの読み込みは不要である。また、ユーザによる画像撮影ボタンBT440Bの操作があった場合(ステップS802の“Y”)、上述したようにカメラ50により撮像される画像を、トレイ画像G10として取得する(ステップS803、S804)。ついで、ユーザによる選択に応じてワークの種類表示領域G430の選択状態を更新し(ステップS806)、画像認識処理及び輪郭表示G700の出力処理が実行される(ステップS808)。ユーザにより切り出しボタンBT3が操作されると、その時点で輪郭表示G700内の画像部分を切り出して、切り出しワーク出力領域G450に表示し(ステップS810)、更なる切り出しがある場合は、ステップS806からの処理が繰り返される。ついで、ユーザによる類似品抽出ボタンBT460の操作があった場合(ステップS812の“Y”)、上述したように類似物体に係る画像部分を切り出して、切り出しワーク出力領域G450に表示する(ステップS814)。また、ユーザによるピッキング場所推定ボタンBT470の操作があった場合(ステップS816の“Y”)、現在のトレイ画像G10に対して上述したピッキング場所推定処理を実行する(ステップS818)。そして、ユーザによる設定保存ボタンBT480の操作があった場合(ステップS820の“Y”)、その際の入力情報に基づいて設定情報を生成(保存)する(ステップS822)。なお、設定情報は、設定ファイルとして、ユーザからの指定された所望のファイル名が対応付けられる態様で、保存されてよい。この場合、後述するピッキング実行モードにおいて、ユーザは所望のファイルを容易に読み込むことができる。 When the user operates the setting read button BT475 ("Y" in step S800), the corresponding setting file is read (step S801). In this case, the user can edit the setting file. When creating a new setting file, it is not necessary to read the setting file using the setting read button BT475. Also, when the user operates the image capture button BT440B ("Y" in step S802), the image captured by the camera 50 is acquired as the tray image G10 as described above (steps S803, S804). Next, the selection state of the work type display area G430 is updated according to the user's selection (step S806), and image recognition processing and output processing of the outline display G700 are executed (step S808). When the user operates the cut-out button BT3, the image portion in the outline display G700 at that time is cut out and displayed in the cut-out work output area G450 (step S810), and if there is further cutting out, the processing from step S806 is repeated. Next, if the user operates the similar item extraction button BT460 ("Y" in step S812), the image portion related to the similar object is cut out as described above and displayed in the cut-out work output area G450 (step S814). If the user operates the picking location estimation button BT470 ("Y" in step S816), the above-mentioned picking location estimation process is executed for the current tray image G10 (step S818). If the user operates the setting save button BT480 ("Y" in step S820), setting information is generated (saved) based on the input information at that time (step S822). The setting information may be saved as a setting file in a form in which a desired file name specified by the user is associated with the setting information. In this case, the user can easily load the desired file in the picking execution mode described later.
図9は、ピッキング実行モードの入力画面G1000(図10等参照)が選択されている状態で実行される処理の流れを説明するための概略的なフローチャートである。図10及び図11Bは、図9の説明図であり、ピッキング実行モードの入力画面G1000の一例を示す図である。 FIG. 9 is a schematic flowchart for explaining the flow of processing that is executed when the picking execution mode input screen G1000 (see FIG. 10, etc.) is selected. FIG. 10 and FIG. 11B are explanatory diagrams of FIG. 9, and show an example of the picking execution mode input screen G1000.
図10に示すような入力画面G1000から選択ボタンB1010(自動ピッキング又は設定読み込みボタン)が操作される(ステップS900)。この際、設定読み込みボタンがチェックされる場合、上述したティーチングモードで設定した設定情報として利用する。ピッキングが開始される(ステップS902)と、ピッキング時にはカメラ50からの画像と設定情報とに基づいて、ピッキング対象物(及びそれに伴いピッキング位置)が推定され(ステップS904)、ピッキング対象物(ピッキング可能点)があるか否かを判定する(ステップS906)。ピッキング可能点がない場合(ステップS906で“N”)、今回のトレイに対する処理は終了となる。ピッキング対象物(ピッキング可能点)がある場合(ステップS906で“Y”)、ピッキングの要否を機械で判定可能であるか否かを判定する(ステップS908)。なお、機械で判定可能である場合(ステップS908で“Y”)、ロボットアーム42によるピッキングを実行し(ステップS912)、機械で判定不能な場合(ステップS908で“N”)は、図11Bに示すような入力画面G1000を介して、ユーザからのピッキングの実行要否の指示を待機する。具体的には、機械で判定不能な場合(ステップS908で“N”)は、インターフェース(図11BのQ1000参照)を出力し、ユーザからの選択を待機する(ステップS910)。ユーザからピッキングを実行する旨の入力が得られた場合(ステップS910で“Y”)、ロボットアーム42によるピッキングを実行し(ステップS912)、ピッキングを実行する旨の入力が得られない場合(ステップS910で“N”)、ステップS904からの処理を繰り返す(すなわち自動ピッキングが継続される)。 The selection button B1010 (automatic picking or setting read button) is operated from the input screen G1000 as shown in FIG. 10 (step S900). At this time, if the setting read button is checked, it is used as the setting information set in the teaching mode described above. When picking is started (step S902), the picking target (and the picking position accordingly) is estimated based on the image from the camera 50 and the setting information during picking (step S904), and it is determined whether or not there is a picking target (a pickable point) (step S906). If there is no pickable point ("N" in step S906), the processing for this tray is terminated. If there is a picking target (a pickable point) ("Y" in step S906), it is determined whether or not the machine can determine whether picking is necessary (step S908). If the machine is capable of making the determination ("Y" in step S908), picking is performed by the robot arm 42 (step S912); if the machine is unable to make the determination ("N" in step S908), the system waits for an instruction from the user as to whether picking should be performed via the input screen G1000 as shown in FIG. 11B. Specifically, if the machine is unable to make the determination ("N" in step S908), an interface (see Q1000 in FIG. 11B) is output and the system waits for a selection from the user (step S910). If an input to perform picking is received from the user ("Y" in step S910), picking is performed by the robot arm 42 (step S912); if an input to perform picking is not received ("N" in step S910), the process from step S904 is repeated (i.e., automatic picking continues).
ここで、本実施例では、ピッキング動作モードの開始後に、図11Aに示すような停止ボタンBT1100を有する入力画面G1000が出力されてよい。この場合、ユーザは、停止ボタンBT1100を操作することで、自動ピッキングを停止させることができる。すなわち、停止ボタンBT1100が操作されると(ステップS903で“Y”)、自動ピッキングが停止される。 In this embodiment, after the picking operation mode is started, an input screen G1000 having a stop button BT1100 as shown in FIG. 11A may be output. In this case, the user can stop automatic picking by operating the stop button BT1100. In other words, when the stop button BT1100 is operated ("Y" in step S903), automatic picking is stopped.
また、本実施例では、ピッキング対象物(及びそれに伴いピッキング位置)が推定された場合に、図11Bに符号G111に示すように、推定されたピッキング対象物の輪郭が強調表示されてもよい。これにより、ユーザは、自動ピッキングを停止すべきかどうか(すなわち停止ボタンBT1100を操作すべきかどうか)の判断や、上述した機械による判定不能な状況下での判定(選択)を実行しやすくなる。 Furthermore, in this embodiment, when the object to be picked (and therefore the picking position) is estimated, the outline of the estimated object to be picked may be highlighted as shown by reference symbol G111 in FIG. 11B. This makes it easier for the user to determine whether or not to stop automatic picking (i.e., whether or not to operate the stop button BT1100) and to make a decision (selection) in a situation where the machine cannot make a decision as described above.
図12は、ピッキング実行時の各構成要素(情報処理装置20、カメラ50、及びロボットアームコントローラ40)間での情報のやり取りの一例を概略的に示すタイミングチャートである。 FIG. 12 is a timing chart that shows an example of information exchange between each component (information processing device 20, camera 50, and robot arm controller 40) during picking.
カメラ50が、ピッキング対象物が収容されたトレイのRGB画像(カメラ画像)及び深度画像を取得し(S1200)、これらの画像を情報処理装置20に送信する(ステップS1202)。画像の送信タイミングは、例えばコンベア上のトレイがロボットアーム42の上流側に位置するタイミングであってよい。 The camera 50 acquires an RGB image (camera image) and a depth image of the tray containing the object to be picked (S1200), and transmits these images to the information processing device 20 (step S1202). The image transmission timing may be, for example, the timing when the tray on the conveyor is positioned upstream of the robot arm 42.
情報処理装置20は、カメラ50からRGB画像及び深度画像を受信すると(ステップS1204)、これらの画像に基づいて、ピッキング対象物を特定し、ピッキング位置を算出する(ステップS1206)。そして、情報処理装置20は、算出したピッキング位置を、ロボットアームコントローラ40に送信する(ステップS1208)。 When the information processing device 20 receives the RGB image and the depth image from the camera 50 (step S1204), it identifies the object to be picked based on these images and calculates the picking position (step S1206). Then, the information processing device 20 transmits the calculated picking position to the robot arm controller 40 (step S1208).
ロボットアームコントローラ40は、ピッキング位置を受信すると(ステップS1210)、ピッキング動作を行い、ピッキングが完了すると、その旨を表すピッキング完了情報を生成し(ステップS1212)、情報処理装置20に送信する(ステップS1214)。 When the robot arm controller 40 receives the picking position (step S1210), it performs the picking operation, and when the picking is completed, it generates picking completion information indicating that fact (step S1212) and transmits this to the information processing device 20 (step S1214).
そして、情報処理装置20は、ピッキング完了情報を受信する(ステップS1216)。 Then, the information processing device 20 receives picking completion information (step S1216).
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。 Although each embodiment has been described in detail above, it is not limited to a specific embodiment, and various modifications and changes are possible within the scope of the claims. It is also possible to combine all or some of the components of the above-mentioned embodiments.
例えば、上述した実施例では、設定支援機能に係る処理方法は、ピッキングであったが、これに限られない。例えば、画像認識等に基づく品質検査処理や、洗浄処理、調理用の各種処理等に、任意の処理用の設定に適用可能である。 For example, in the above-described embodiment, the processing method related to the setting assistance function was picking, but this is not limited to this. For example, the setting can be applied to any processing, such as quality inspection processing based on image recognition, cleaning processing, various cooking processing, etc.
また、上述した実施例では、設定支援機能に係る処理方法は、1つだけであったが、2つ以上の組み合わせを含んでよい。例えば、上述した実施例では、設定可能な処理方法は、ピッキングだけであったが、ピッキング後の載置場所(ピッキング対象物の移動場所)等も設定可能とされてもよい。 In addition, in the above-described embodiment, there was only one processing method related to the setting assistance function, but it may include a combination of two or more. For example, in the above-described embodiment, the only processing method that could be set was picking, but it may also be possible to set the placement location after picking (the location to which the item to be picked is moved), etc.
また、上述した実施例では、ティーチングモードとピッキング実行モードのうちのいずれかを選択可能なタブTb1、Tb2を有するが、これに限られない。ティーチングモードとピッキング実行モードのそれぞれごとに専用のソフトウェアが用意されてもよい。この場合、図13に示すように、入力画面G400Aは、タブTb1、Tb2を必要としない分だけ、比較的大きな画像表示領域G310を有することができる。なお、図13には、ティーチングモード用の入力画面G400Aが示されているが、ピッキング実行モードに係る入力画面(図示せず)についても同様である。 In the above-described embodiment, the tabs Tb1 and Tb2 are provided to select either the teaching mode or the picking execution mode, but this is not limited to this. Dedicated software may be prepared for each of the teaching mode and the picking execution mode. In this case, as shown in FIG. 13, the input screen G400A can have a relatively large image display area G310 that does not require the tabs Tb1 and Tb2. Note that while FIG. 13 shows the input screen G400A for the teaching mode, the same applies to the input screen for the picking execution mode (not shown).
1 システム
10 処理部
14 補助記憶装置
15 ドライブ装置
16 記録媒体
17 通信インターフェース
18A 有線送受信部
18B 無線送受信部
19 バス
20 情報処理装置
21 通信部
22 記憶部
23 表示部
24 入力部
25 制御部
40 ロボットアームコントローラ
42 ロボットアーム
50 カメラ
210 画像取得処理部
212 入力画面出力処理部
214 入力取得処理部
216 画像認識処理部
218 認識結果出力部
220 設定処理部
REFERENCE SIGNS LIST 1 System 10 Processing section 14 Auxiliary storage device 15 Drive device 16 Recording medium 17 Communication interface 18A Wired transmission/reception section 18B Wireless transmission/reception section 19 Bus 20 Information processing device 21 Communication section 22 Storage section 23 Display section 24 Input section 25 Control section 40 Robot arm controller 42 Robot arm 50 Camera 210 Image acquisition processing section 212 Input screen output processing section 214 Input acquisition processing section 216 Image recognition processing section 218 Recognition result output section 220 Setting processing section
Claims (14)
ユーザからのユーザ入力を取得する入力取得処理と、
前記所定領域又は前記画像に対する位置又は領域の指定入力を含む前記ユーザ入力に基づいて、前記画像に対する画像認識処理を行うことで、前記指定入力に係る位置又は領域に応じた境界を有する対象を画像認識する画像処理と、
前記画像処理の画像認識結果を表す所定表示を生成し、前記所定表示を、前記対象に対応付けて出力する第2出力処理と、
ユーザからの設定指示を含む前記ユーザ入力に基づいて、前記所定表示に係る前記対象に関する設定情報を生成する設定処理を、
コンピュータに実行させるプログラム。 a first output process for outputting an input screen including an image in a predetermined area;
an input acquisition process for acquiring a user input from a user;
performing image recognition processing on the image based on the user input including a designation input of a position or area for the predetermined area or the image, thereby performing image recognition of an object having a boundary corresponding to the position or area related to the designation input;
a second output process of generating a predetermined display representing an image recognition result of the image processing and outputting the predetermined display in association with the target;
A setting process for generating setting information regarding the target related to the predetermined display based on the user input including a setting instruction from a user;
A program that a computer runs.
前記設定処理は、前記入力領域内の入力情報に基づいて、前記特定情報を前記対象に対応付ける処理を含む、請求項2に記載のプログラム。 the input screen has an input area for inputting specific information,
The program according to claim 2 , wherein the setting process includes a process of associating the specific information with the target based on input information in the input area.
前記第2出力処理は、前記全体指定入力に基づいて、前記対象ごとに、前記所定表示を重畳表示させる、請求項2に記載のプログラム。 The designation input includes an entire designation input that designates an entire image,
The program according to claim 2 , wherein the second output process causes the predetermined display to be superimposed on each of the targets based on the overall designation input.
前記設定処理は、前記入力領域内の入力情報に基づいて、前記特定情報を前記対象に対応付ける処理を含み、
前記入力領域内に、前記画像のうちの、前記対象のそれぞれに係る画像部分を切り出して出力する第3出力処理を更にコンピュータに実行させる、請求項8に記載のプログラム。 the input screen has an input area for inputting specific information,
the setting process includes a process of associating the specific information with the target based on input information in the input area,
The program according to claim 8 , further causing the computer to execute a third output process of cutting out and outputting, within the input area, image portions of the image relating to each of the targets.
前記第2出力処理は、前記第1属性の入力に基づいて、前記第1属性の点又は領域を前記輪郭内が含むように前記所定表示を重畳表示させる、請求項2から9のうちのいずれか1項に記載のプログラム。 the designation input includes an input of a first attribute designating one or more first attribute points or regions;
The program according to claim 2 , wherein the second output process superimposes the predetermined display based on an input of the first attribute so that the contour includes a point or area of the first attribute.
前記第2出力処理は、前記第2属性の入力に基づいて、前記第2属性の点又は領域を前記輪郭内が含まないように前記所定表示を重畳表示させる、請求項10に記載のプログラム。 the designation input includes an input of a second attribute designating one or more points or regions of a second attribute;
The program according to claim 10 , wherein the second output process superimposes the predetermined display based on the input of the second attribute such that the contour does not include points or areas of the second attribute.
前記設定処理は、1つ以上の前記画像に対する前記画像認識処理の結果に基づいて、前記設定情報に係る一の設定ファイルを生成する、請求項1に記載のプログラム。 The first output process updates the image from one image to another image based on the user input including a change instruction from a user;
The program according to claim 1 , wherein the setting process generates a setting file related to the setting information based on a result of the image recognition process for one or more of the images.
ユーザからのユーザ入力を取得する入力取得処理部と、
前記所定領域又は前記画像に対する位置又は領域の指定入力を含む前記ユーザ入力に基づいて、前記画像に対する画像認識処理を行うことで、前記指定入力に係る位置又は領域に応じた境界を有する対象を画像認識する画像処理部と、
前記画像処理部の画像認識結果を表す所定表示を生成し、前記所定表示を、前記対象に対応付けて出力する第2出力処理部と、
ユーザからの設定指示を含む前記ユーザ入力に基づいて、前記所定表示に係る前記対象に関する設定情報を生成する設定処理部とを含む、情報処理装置。 a first output processing unit that outputs an input screen including an image in a predetermined area;
an input acquisition processing unit that acquires a user input from a user;
an image processing unit that performs image recognition processing on the image based on the user input including a designation input of a position or area for the predetermined area or the image, thereby performing image recognition of an object having a boundary corresponding to the position or area related to the designation input;
a second output processing unit that generates a predetermined display representing an image recognition result of the image processing unit and outputs the predetermined display in association with the target;
a setting processing unit that generates setting information regarding the target related to the predetermined display based on the user input including a setting instruction from a user.
ユーザからのユーザ入力を取得する入力取得処理ステップと、
前記所定領域又は前記画像に対する位置又は領域の指定入力を含む前記ユーザ入力に基づいて、前記画像に対する画像認識処理を行うことで、前記指定入力に係る位置又は領域に応じた境界を有する対象を画像認識する画像処理ステップと、
前記画像処理ステップの画像認識結果を表す所定表示を生成し、前記所定表示を、前記対象に対応付けて出力する第2出力処理ステップと、
ユーザからの設定指示を含む前記ユーザ入力に基づいて、前記所定表示に係る前記対象に関する設定情報を生成する設定処理ステップとを含む、コンピュータにより実行される情報処理方法。 a first output processing step of outputting an input screen including an image in a predetermined area;
an input acquisition processing step for acquiring a user input from a user;
an image processing step of performing image recognition processing on the image based on the user input including a designation input of a position or area for the predetermined area or the image, thereby image-recognizing an object having a boundary corresponding to the position or area related to the designation input;
a second output processing step of generating a predetermined display representing the image recognition result of the image processing step, and outputting the predetermined display in association with the target;
and generating setting information relating to the target related to the predetermined display based on the user input including a setting instruction from a user.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2023/024514 WO2025004380A1 (en) | 2023-06-30 | 2023-06-30 | Program, information processing method, and information processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2023/024514 WO2025004380A1 (en) | 2023-06-30 | 2023-06-30 | Program, information processing method, and information processing device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025004380A1 true WO2025004380A1 (en) | 2025-01-02 |
Family
ID=93938283
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2023/024514 Pending WO2025004380A1 (en) | 2023-06-30 | 2023-06-30 | Program, information processing method, and information processing device |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025004380A1 (en) |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080019683A1 (en) * | 2006-07-18 | 2008-01-24 | Mitutoyo Corporation | Multi-region autofocus tool and mode |
| JP2011112402A (en) * | 2009-11-24 | 2011-06-09 | Omron Corp | Method for displaying measurement effective area in three-dimensional visual sensor and three-dimensional visual sensor |
| WO2014002686A1 (en) * | 2012-06-29 | 2014-01-03 | トーヨーカネツソリューションズ株式会社 | Support device and system for article picking work |
| JP2017096750A (en) * | 2015-11-24 | 2017-06-01 | 株式会社キーエンス | Positioning method, positioning apparatus, program, and computer-readable recording medium |
| WO2018146959A1 (en) * | 2017-02-10 | 2018-08-16 | 新日鉄住金ソリューションズ株式会社 | System, information processing device, information processing method, program, and recording medium |
| JP2019027947A (en) * | 2017-07-31 | 2019-02-21 | 株式会社キーエンス | Shape measuring device and shape measurement method |
| JP2020040193A (en) * | 2018-09-14 | 2020-03-19 | 株式会社東芝 | Information processing device and picking system |
| JP2020062707A (en) * | 2018-10-16 | 2020-04-23 | 株式会社東芝 | Information processing device |
| JP2021024052A (en) * | 2019-08-07 | 2021-02-22 | オムロン株式会社 | Image processing device, image processing method and program |
-
2023
- 2023-06-30 WO PCT/JP2023/024514 patent/WO2025004380A1/en active Pending
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080019683A1 (en) * | 2006-07-18 | 2008-01-24 | Mitutoyo Corporation | Multi-region autofocus tool and mode |
| JP2011112402A (en) * | 2009-11-24 | 2011-06-09 | Omron Corp | Method for displaying measurement effective area in three-dimensional visual sensor and three-dimensional visual sensor |
| WO2014002686A1 (en) * | 2012-06-29 | 2014-01-03 | トーヨーカネツソリューションズ株式会社 | Support device and system for article picking work |
| JP2017096750A (en) * | 2015-11-24 | 2017-06-01 | 株式会社キーエンス | Positioning method, positioning apparatus, program, and computer-readable recording medium |
| WO2018146959A1 (en) * | 2017-02-10 | 2018-08-16 | 新日鉄住金ソリューションズ株式会社 | System, information processing device, information processing method, program, and recording medium |
| JP2019027947A (en) * | 2017-07-31 | 2019-02-21 | 株式会社キーエンス | Shape measuring device and shape measurement method |
| JP2020040193A (en) * | 2018-09-14 | 2020-03-19 | 株式会社東芝 | Information processing device and picking system |
| JP2020062707A (en) * | 2018-10-16 | 2020-04-23 | 株式会社東芝 | Information processing device |
| JP2021024052A (en) * | 2019-08-07 | 2021-02-22 | オムロン株式会社 | Image processing device, image processing method and program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6159323B2 (en) | Information processing method and information processing apparatus | |
| EP3284078B1 (en) | Augmented interface authoring | |
| EP3353491B1 (en) | System and method for programming workpiece feature inspection operations for a coordinate measuring machine | |
| EP2703949B1 (en) | Information processing device, information processing method, and recording medium | |
| US10306149B2 (en) | Image processing apparatus, robot system, robot, and image processing method | |
| WO2015141178A1 (en) | Information processing apparatus, information processing method, and program | |
| US11710250B2 (en) | Electronic device, method, and storage medium for setting processing procedure for controlling apparatus | |
| EP3166084A2 (en) | Method and system for determining a configuration of a virtual robot in a virtual environment | |
| US10019157B2 (en) | Modifying key size on a touch screen based on fingertip location | |
| US11921619B2 (en) | Programming devices and programs for creating and editing programs used for image processing | |
| CN114080590B (en) | Robotic bin picking system and method using advanced scanning technology | |
| CN117730347A (en) | Automatically generate one or more machine vision jobs based on regions of interest (ROI) from digital images | |
| US10466877B2 (en) | Method and device for selecting entity in drawing | |
| EP3974949B1 (en) | Head-mounted display | |
| JP2012135858A (en) | Operation environment model construction system and operation environment model construction method | |
| US12466067B2 (en) | Multi-mode robot programming | |
| WO2025004380A1 (en) | Program, information processing method, and information processing device | |
| US20170277428A1 (en) | Information processing device, information processing method, and non-transitory computer readable memory medium | |
| JP5676959B2 (en) | Information processing apparatus and control method thereof | |
| KR101635054B1 (en) | Method for controlling a plurality of terminals collectively | |
| US20250178202A1 (en) | Information processing device and controller | |
| US20240126416A1 (en) | Operating system, processing system, computer, operating method, and storage medium | |
| JP6256545B2 (en) | Information processing apparatus, control method and program thereof, and information processing system, control method and program thereof | |
| US12175717B2 (en) | Information processing apparatus and information processing method | |
| JP2023079490A (en) | Work support device, work support method and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23943767 Country of ref document: EP Kind code of ref document: A1 |