Information processing method, system, information processing device, method for manufacturing articles, program, and recording medium
By simulating and synchronizing the states of a robot arm and its peripheral equipment in a virtual space, the method addresses the challenge of labor-intensive teaching work, enhancing operational efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2021-12-07
- Publication Date
- 2026-04-13
AI Technical Summary
The teaching work for synchronizing a robot arm with its peripheral devices in a system, such as in a factory, requires significant labor and is not efficiently addressed by existing simulators.
An information processing method and device that simulates the states of a robot arm and its peripheral equipment in a virtual space, receiving and associating teaching data for both, and managing them as a synchronized dataset, allowing for easier teaching of the entire system operation.
Facilitates the teaching process for the entire system by simplifying the synchronization of robot arm and peripheral device operations, making it more efficient and less labor-intensive.
Smart Images

Figure 0007844142000001 
Figure 0007844142000002 
Figure 0007844142000003
Abstract
Description
Technical Field
[0001] The present invention relates to information processing.
Background Art
[0002] Generally, a simulator capable of creating teaching data of a robot arm on a computer is known. The simulator can simulate the operation of a 3D model corresponding to the robot arm in a three-dimensional virtual space according to the teaching data of the robot arm. Thereby, the operation of the robot arm can be confirmed by the operation of the 3D model. Patent Document [1] discloses a method of controlling a robot arm based on teaching data registered by such a simulator.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in an actual field, for example, in a factory, a robot arm does not operate alone but operates in synchronization with peripheral devices. In such a system, the teaching work for synchronizing the robot arm and its peripheral devices requires a lot of labor.
[0005] An object of the present invention is to facilitate the teaching work of the entire system.
Means for Solving the Problems
[0006] This DisclosureThe first aspect of this method is an information processing method for simulating the state of a robot arm and the state of peripheral equipment different from the robot arm in a virtual space, the method receiving input of first teaching data related to the robot arm and second teaching data related to the peripheral equipment, associating the first teaching data and the second teaching data, and managing them as a dataset that synchronizes the state of the robot arm and the state of the peripheral equipment in the virtual space. death , An input area for receiving the first teaching data and the second teaching data as the dataset is displayed on the display unit. This is an information processing method characterized by the following features. A second aspect of this disclosure is an information processing method for simulating the state of a robot arm and the state of peripheral equipment different from the robot arm in a virtual space, characterized in that it receives input of first teaching data related to the robot arm and second teaching data related to the peripheral equipment, associates the first teaching data and the second teaching data, manages them as a dataset for synchronizing the state of the robot arm and the state of the peripheral equipment in the virtual space, simulates the state of a first model corresponding to the robot arm in the virtual space based on the first teaching data, simulates the state of a second model corresponding to the peripheral equipment in the virtual space based on the second teaching data, and displays a first model image obtained by simulating the state of the first model in the virtual space based on the first teaching data and a second model image obtained by simulating the state of the second model in the virtual space based on the second teaching data on a display unit.
[0007] Book Disclosure The 3 The embodiment is an information processing device that simulates the state of a robot arm and the state of peripheral equipment different from the robot arm in a virtual space, wherein the processing unit receives input of first teaching data related to the robot arm and second teaching data related to the peripheral equipment, associates the first teaching data and the second teaching data, and manages them as a dataset that synchronizes the state of the robot arm and the state of the peripheral equipment in the virtual space. death , An input area for receiving the first teaching data and the second teaching data as the dataset is displayed on the display unit. This is an information processing device characterized by the following features. A fourth aspect of this disclosure is an information processing device for simulating the state of a robot arm and the state of peripheral equipment different from the robot arm in a virtual space, characterized in that it receives input of first teaching data related to the robot arm and second teaching data related to the peripheral equipment, associates the first teaching data and the second teaching data, manages them as a dataset for synchronizing the state of the robot arm and the state of the peripheral equipment in the virtual space, simulates the state of a first model corresponding to the robot arm in the virtual space based on the first teaching data, simulates the state of a second model corresponding to the peripheral equipment in the virtual space based on the second teaching data, and displays a first model image obtained by simulating the state of the first model in the virtual space based on the first teaching data and a second model image obtained by simulating the state of the second model in the virtual space based on the second teaching data on a display unit. [Effects of the Invention]
[0008] According to the present invention, the teaching process for the entire system becomes easier. [Brief explanation of the drawing]
[0009] [Figure 1] This is an explanatory diagram of a robot system, which is an example of a system according to the first embodiment. [Figure 2] This is an explanatory diagram of the information processing device according to the first embodiment. [Figure 3] This is a block diagram of the information processing device according to the first embodiment. [Figure 4] This is a flowchart showing the information processing method of the information processing device according to the first embodiment. [Figure 5] (a) is an explanatory diagram of a user interface image according to the first embodiment. (b) is an explanatory diagram of a virtual space and virtual objects placed in the virtual space according to the first embodiment. [Figure 6] (a) is an explanatory diagram of a user interface image according to the first embodiment. (b) is an explanatory diagram of a virtual space and virtual objects placed in the virtual space according to the first embodiment. [Figure 7] This is an explanatory diagram of the user interface image according to the first embodiment. [Figure 8] (a) to (d) are explanatory diagrams showing an example of an overall image according to the first embodiment. [Figure 9] (a) and (b) are explanatory diagrams of the user interface images according to the second embodiment. [Figure 10] This is an explanatory diagram of the user interface image according to the third embodiment. [Figure 11] (a) is an explanatory diagram of the robot system according to the fourth embodiment. (b) is an explanatory diagram of the virtual space and virtual objects placed in the virtual space according to the fourth embodiment. (c) is an explanatory diagram of the user interface image according to the fourth embodiment. [Modes for carrying out the invention]
[0010] Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings.
[0011] [First Embodiment] Figure 1 is an explanatory diagram of a robot system 1000, which is an example of a system according to the first embodiment. The robot system 1000 is placed in a factory or the like and used for manufacturing goods W0. Goods W0 consist of, for example, workpieces W1 and W2, and are manufactured by the robot system 1000 assembling workpiece W1 onto workpiece W2. Goods W0 may be a final product or an intermediate product. Alternatively, the robot system 1000 may be equipped with a cutting machine or a grinding machine, etc., and goods may be manufactured by processing workpiece W1 or workpiece W2.
[0012] The robot system 1000 includes a robot arm 201, a robot hand 202, a processing machine 203, and an AGV (Automatic Guided Vehicle) 204, which is an example of peripheral devices around the robot arm 201. In the first embodiment, a case where the robot system 1000 includes a plurality of peripheral devices 202 to 204 will be described, but it is not limited thereto, and the robot system 1000 may include at least one peripheral device.
[0013] The robot arm 201 is, for example, a 6-axis vertical articulated robot arm and has a plurality of links 210 to 216 connected by a plurality of joints J1 to J6. Among the plurality of links 210 to 216, the link 210 is a pedestal, that is, a base, and is fixed to, for example, a pedestal or the like not shown in the figure.
[0014] The robot hand 202 is an example of an end effector and has a hand body 220 and a plurality of, for example, two claws 221 and 222 that are supported so as to be able to open and close with respect to the hand body 220. In the first embodiment, each of the claws 221 and 222 is configured to operate independently, but it is not limited thereto, and they may be configured to operate in conjunction. The hand body 220 is a pedestal that supports the two claws 221 and 222. The hand body 220 of the robot hand 202 is attached to a predetermined portion of the robot arm 201, for example, the link 216.
[0015] In the first embodiment, the workpiece W1 can be held by operating each of the claws 221 and 222. Then, by operating the robot arm 201 in this held state, the workpiece W1 can be moved, and thereby the workpiece W1 can be assembled to the workpiece W2. The processing machine 203 is configured to be able to perform predetermined processing such as cutting and polishing on a processing object, and has a processing machine body 230 and a door 231 that is supported by the processing machine body 230 so as to be able to open and close. The AGV 204 is configured to be able to move around the robot arm 201.
[0016] The robot system 1000 also includes a control unit 300. The control unit 300 has a control device 301 for controlling the robot arm 201, a control device 302 for controlling the robot hand 202, a control device 303 for controlling the processing machine 203, and a control device 304 for controlling the AGV 204. Each of the control devices 301 to 304 is composed of a computer. Although the description will focus on the case where the control unit 300 is composed of multiple computers, it may also be composed of a single computer.
[0017] Furthermore, the robot system 1000 includes an information processing device 100. The information processing device 100 is a computer and functions as a simulator that allows the user to run computer simulations to verify the operation of the robot arm 201 and peripheral devices 202-204.
[0018] In the first embodiment, the information processing device 100 generates teaching data for each of the robot arm 201 and peripheral devices 202-204 under user operation. The teaching data is also called teaching points. The information processing device 100 transmits the teaching data for each of the robot arm 201 and peripheral devices 202-204 to the corresponding control device among the plurality of control devices 301-304. Each control device 301-304 receives the corresponding teaching data and controls the corresponding device among the robot arm 201 and peripheral devices 202-204 based on the received teaching data.
[0019] In the first embodiment, the teaching data for the robot arm 201 is, for example, information on the angles of joints J1 to J6, or information on the position and orientation of the tip of the robot arm 201 in the workspace where the robot arm 201 is located. The information on the angles of each joint J1 to J6 is also the teaching data for each of the links 211 to 216. The teaching data for the robot hand 202 is information on the positions of the claws 221 and 222 relative to the hand body 220. The information on the positions of each of the claws 221 and 222 is also the teaching data for each of the claws 221 and 222. The teaching data for the processing machine 203 is, for example, information on the position of the door 231 relative to the processing machine body 230. The teaching data for the AGV 204 is, for example, information on the position and orientation of the robot arm 201 in the workspace where the robot arm 201 is located.
[0020] Figure 2 is an explanatory diagram of the information processing device 100 according to the first embodiment. The information processing device 100 comprises a computer main unit 110 and a keyboard 111 and a mouse 112, which are examples of input units connected to the computer main unit 110. The information processing device 100 also comprises a monitor 113, which is an example of a display unit. The monitor 113 is a display having a display screen 150 on which various images are displayed. The computer main unit 110 is an arithmetic unit. The description will explain the case where the input unit and the display unit are configured as separate devices, but it is not limited to this. The input unit and the display unit may be configured as an integrated device, such as a touch panel display. The following description will use the case where the input devices are the keyboard 111 and the mouse 112 and the display device is the monitor 113 as an example. The description will also use the case where the information processing device 100 is a general-purpose computer, such as a desktop PC, as an example, but it is not limited to this. For example, it may be a general-purpose computer such as a laptop PC, tablet PC, or smartphone, or it may be a teaching pendant.
[0021] Figure 3 is a block diagram of the information processing device 100 according to the first embodiment. The computer body 110 is an example of a processing unit and includes a CPU (Central Processing Unit) 120, which is an example of a processor. The computer body 110 also includes a ROM (Read Only Memory) 121, a RAM (Random Access Memory) 122, and an HDD (Hard Disk Drive) 123 as examples of storage devices. The computer body 110 also includes a recording disk drive 124 and a plurality of interfaces 125 to 128 as input / output interfaces. The CPU 120, ROM 121, RAM 122, HDD 123, recording disk drive 124, and interfaces 125 to 128 are connected to each other by a bus so that they can communicate with one another.
[0022] ROM121 stores the basic program related to the operation of the computer. RAM122 is a storage device that temporarily stores various data, such as the results of calculations performed by the CPU120. HDD123 can store the results of calculations performed by the CPU120 and various data acquired from external sources. HDD123 can also store component information for the robot arm 201 and peripheral devices 202-204. In the first embodiment, HDD123 stores a program 140 that causes the CPU120 to perform various processes. Program 140 is application software that the CPU120 can execute.
[0023] The CPU 120 can perform the information processing described later by executing the program 140 recorded on the HDD 123. The recording disk drive 124 can read various data and programs recorded on the recording disk 115. The recording disk 115 may also contain the program 140, and the recording disk 115 can also supply the program 140 to the information processing device 100.
[0024] In the first embodiment, the program 140 is recorded on the HDD 123, but this is not the only possible configuration. The program 140 may be recorded on any non-temporary recording medium that is readable by a computer. Examples of recording media that can be used to supply the program 140 to a computer include flexible disks, hard disks, optical disks, magneto-optical disks, magnetic tapes, non-volatile memory, and the like.
[0025] A keyboard 111 is connected to interface 125, and a mouse 112 is connected to interface 126. Input devices such as the keyboard 111 and mouse 112 enable operation input to the computer main unit 110. 7 A monitor 113 is connected to it, and various images, such as user interface images for data input and data editing, and images showing the state of component models in a three-dimensional virtual space, can be displayed on the display screen 150 of the monitor 113. In the first embodiment, the user interface image refers to a graphical user interface image. External storage devices 114, such as rewritable non-volatile memory and an external HDD, can be connected to the interface 128.
[0026] Figure 4 is a flowchart showing the information processing method of the information processing device 100 according to the first embodiment. First, the CPU 120 accepts the registration of structural data for the robot arm 201 by the user (S100). Structural data is model data of a virtual object corresponding to a structure, and includes data such as the 3D shape data of the parts that make up the virtual object and the connection method between the parts.
[0027] Figures 5(a) and 5(b) are explanatory diagrams of step S100. Figure 5(a) shows the user interface image UI1 displayed on the display screen 150 of the monitor 113 shown in Figure 2. Figure 5(b) shows the virtual space V defined by the processing of the CPU 120, and the virtual objects placed in the virtual space V. The virtual space V corresponds to the workspace described above. The user interface image UI1 shown in Figure 5(a) includes windows 401 and 402. The CPU 120 can accept registration of a virtual robot arm 201V corresponding to the robot arm 201 in windows 401 and 402 of the user interface image UI1.
[0028] Window 401 includes a title bar 4011 and a registration area 4012. The title bar 4011 displays a title, for example, "Robot System". The registration area 4012 is an area where the user can input registration information using an example of an input device, such as a keyboard 111 and a mouse 112. The CPU 120 accepts the registration of information by the user through this registration area 4012. Figure 5(a) illustrates a state in which a virtual robot arm 201V corresponding to the robot arm 201 has been registered by the user. The virtual robot arm 201V is an example of a first model (data) and is a model that includes three-dimensional shape data (hereinafter referred to as "3D data") corresponding to the robot arm 201.
[0029] CPU 120 performs the process of placing the virtual robot arm 201V, registered by the user, into the virtual space V. The virtual robot arm 201V includes multiple interconnected parts 210V to 216V. Each part 210V to 216V corresponds to each link 210 to 216.
[0030] The 3D data for each component 210V~216V of the virtual robot arm 201V is, for example, CAD data. The 3D data for each component 210V~216V is stored as a file that the CPU 120 can access, in a storage device, such as the HDD 123, with a unique file name assigned to it.
[0031] As shown in Figure 5(a), the information processing device 100 of the first embodiment is configured to set up virtual objects in the virtual space V by defining information about virtual objects in a tree structure T in which nodes are linked to a root R in a branching manner. In the tree structure T, nodes can be arbitrarily set by the user. That is, nodes can be arbitrarily added, edited, and deleted by the user. In addition, the root R and nodes can be arbitrarily assigned names by the user.
[0032] The vertically articulated robot arm 201 is composed of multiple links 210-216 connected in series, so multiple nodes N0-N6 are registered as being linked in series to root R. Root R corresponds to the virtual space V. Each node N0-N6 corresponds to each component 210V-216V of the virtual robot arm 201V.
[0033] In the example in Figure 5(a), the name "Ground" is registered for root R by the user. Additionally, the name "Robot1_Base" is registered for node N0, which is a child node of root R. Furthermore, the name "Robot1_Axis1" is registered for node N1, which is a child node of node N0, by the user. Nodes N2 through N6 are registered in the same way as node N1. For example, regarding node N6, the name "Robot1_Axis6" is registered for node N6, which is a child node of node N5, by the user. In this way, each node N0 through N6 and its unique name are registered for root R by the user.
[0034] The method for registering information corresponding to each node N0 to N6 will be explained using node N6 as an example. In the registration area 4012 of window 401, node N6 is selected by the user using the mouse pointer P1. Upon receiving this selection, CPU 120 displays window 402 on monitor 113 as the user interface image UI1, which is capable of accepting registration of information corresponding to node N6. Note that the display method of window 402 is not limited to this. For example, CPU 120 may display the virtual robot arm shown in Figure 5(b). 201 The robot arm image, which is a model image corresponding to V, may be displayed on the monitor 113 so that it can be selected with the mouse pointer P1. The CPU 120 may then display on the monitor 113 a window 402 corresponding to the part image selected by the user with the mouse pointer P1 in the robot arm image.
[0035] The window 402 shown in Figure 5(a) illustrates the state in which information has already been registered by the user. Window 402 includes a title bar 4021 and a registration area 4022. The title bar 4021 displays "Robot 1_Axis 6" as the name registered for node N6. The registration area 4022 includes a box 4023 for registering the name of the parent node N5, and a box 4024 for selecting the connection method with the parent node N5's component 215V. The registration area 4022 also includes a box 4025 for registering the relative position of the parent node N5's component 215V, and a box for registering the file name of the 3D data of its own node N6's component 216V. 4 Includes 026. In each box 4023-4026, the user can input information using the keyboard 111 and mouse 112.
[0036] As explained above, in step S100, the CPU 120 accepts the registration of structural data related to the robot arm 201 by the user's operation. Specifically, in the user interface image UI1, the CPU 120 can accept the registration of the virtual robot arm 201V using the names "robot1_base", "robot1_axis1" to "robot1_axis6" assigned to the virtual robot arm 201V. The names "robot1_base", "robot1_axis1" to "robot1_axis6" are examples of third names.
[0037] The explanation described registering each component 210V to 216V corresponding to each link 210 to 216 of the robot arm 201, but this is not the only way. The entire virtual robot arm 201V corresponding to the robot arm 201 may be registered at once. In this case, for example, a file containing data for all components 210V to 216V of the virtual robot arm 201V may be prepared. Furthermore, there may be multiple robot arms; in that case, multiple virtual robot arms should be registered.
[0038] Next, the CPU 120 accepts the user's registration of structural data for peripheral devices 202-204 (S200). In step S200, the only difference is that the registration target changes from information for the robot arm 201 to information for peripheral devices 202-204, and the process is the same as in step S100.
[0039] Figures 6(a) and 6(b) are explanatory diagrams for step S200. Figure 6(a) shows the user interface image UI1 displayed on the display screen 150 of the monitor 113 shown in Figure 2. Figure 6(b) shows the virtual space V defined by the processing of the CPU 120, and the virtual objects placed in the virtual space V. The user interface image UI1 shown in Figure 6(a) includes windows 401 and 402, similar to Figure 5(a). The CPU 120 can accept registration of virtual peripheral devices 202V to 204V corresponding to peripheral devices 202 to 204 in windows 401 and 402 of the user interface image UI1.
[0040] Figure 6(a) illustrates a state in which a virtual robot hand 202V corresponding to robot hand 202 has been registered by the user. The virtual robot hand 202V is an example of a second model (data) and is a model that includes 3D data corresponding to robot hand 202. Also in Figure 6(a), an example of a state in which a virtual machining center 203V corresponding to machining center 203 has been registered by the user. The virtual machining center 203V is an example of a second model and is a model that includes 3D data corresponding to machining center 203. Also in Figure 6(a), an example of a state in which a virtual AGV204V corresponding to AGV204 has been registered by the user. The virtual AGV204V is an example of a second model and is a model that includes 3D data corresponding to AGV204.
[0041] CPU 120 processes the placement of virtual peripherals 202V to 204V registered by the user in the virtual space V. Virtual robot hand 202V includes multiple interconnected parts 220V to 222V. Part 220V corresponds to the hand body 220, part 221V corresponds to the claw 221, and part 222V corresponds to the claw 222. Virtual machining center 203V includes multiple parts 230V and 231V. Part 230V corresponds to the machining center body 230, and part 231V corresponds to the door 231. Virtual AGV 204V consists of, for example, one part and corresponds to AGV 204.
[0042] The 3D data for each component of each virtual peripheral device 202V~204V is, for example, CAD data. The 3D data for each component is stored as a file that the CPU 120 can access, on a storage device, such as HDD 123, with a unique file name.
[0043] As shown in Figure 6(a), in the tree structure T, nodes N7 to N12 corresponding to peripheral devices 202 to 204 are added by the user. Since the hand body 220 of the robot hand 202 is connected to link 216, node N6 corresponding to link 216 is used as the parent node, and node N7 corresponding to the hand body 220 is added by the user. Also, since the two claws 221 and 222 are connected to the hand body 220, node N7 corresponding to the hand body 220 is used as the parent node, and two nodes N8 and N9 corresponding to the two claws 221 and 222 are added by the user. Furthermore, since the virtual machining center 203V is located in virtual space V, node N10 corresponding to the machining center 203 is added by the user, with root R as the parent node. Also, since the door 231 is connected to the machining center body 230, node N11 corresponding to the door 231 is added by the user, with node N10 corresponding to the machining center 203 as the parent node. Furthermore, since the virtual AGV204V is located in the virtual space V, the root R is the parent node, and node N12, corresponding to AGV204, is added by the user. Each node N7 to N12 is assigned a unique name by the user, as shown in Figure 6(a). The method for registering information and assigning names to each node N7 to N12 is the same as for each node N0 to N6 described above.
[0044] Figure 6(a) illustrates the state in which node N8 is selected by the user with the mouse pointer P1 in the registration area 4012 of window 401. The CPU 120 displays window 402 as the user interface image UI1, which is capable of accepting registration of information corresponding to node N8. This allows the user to register the information of node N8 with the CPU 120.
[0045] As explained above, in step S200, the CPU 120 accepts the registration of structural data related to peripheral devices 202-204 by user operation. Specifically, in the user interface image UI1, the CPU 120 can accept the registration of virtual robot hand 202V using the names "Hand_Base", "Hand_Claw1", and "Hand_Claw2" assigned to virtual robot hand 202V. In addition, in the user interface image UI1, the CPU 120 can accept the registration of virtual processing machine 203V using the names "Peripheral Device 1_Processing Machine" and "Peripheral Device 1_Door" assigned to virtual processing machine 203V. In addition, in the user interface image UI1, the CPU 120 can accept the registration of virtual AGV 204V using the names "Peripheral Device 1_Processing Machine" and "Peripheral Device 1_Door". 4 The name assigned to V, "Peripheral Device 2_AGV", is acceptable. The names "Hand_Base", "Hand_Claw 1", and "Hand_Claw 2" are examples of the fourth name. The names "Peripheral Device 1_Processing Machine" and "Peripheral Device 1_Door" are examples of the fourth name. The name "Peripheral Device 2_AGV" is an example of the fourth name.
[0046] Next, the CPU 120 accepts the registration of teaching data for the robot arm 201 and peripheral devices 202-204 by the user (S300). In step S300, the CPU 120 displays a user interface image UI1 on the monitor 113 that accepts the registration of teaching data for the robot arm 201 and teaching data for peripheral devices 202-204.
[0047] Figure 7 is an explanatory diagram of step S300. Figure 7 illustrates the user interface image UI1 displayed on the display screen 150 of the monitor 113 shown in Figure 2. The user interface image UI1 shown in Figure 7 includes windows 401 and 403. Window 403 includes a title bar 4031 and a registration area 4032. The title bar 4031 displays a title such as "System Teaching Point". The registration area 4032 is an area where the user can input registration information using an example of an input device, such as a keyboard 111 and a mouse 112. The CPU 120 accepts the registration of information by the user through this registration area 4032.
[0048] The registration area 4032 includes a field 41 named "System Instruction List" and a field 42 for accepting the registration of instruction data. Field 41 is a field that includes a box 411 for accepting the name to be assigned to the instruction data dataset, which will be described later. Field 42 is a field for accepting the registration of the instruction data dataset corresponding to the box 411 selected by the user.
[0049] Field 42 contains a box 421 created by the user. The user can input teaching data into box 421 using the keyboard 111 and mouse 112. Field 42 is provided with a button 422 that allows the user to add box 421 by selecting it with the mouse pointer P1. Within box 421, there is a button 423 that allows the user to delete box 421 by selecting it with the mouse pointer P1.
[0050] Figure 7 illustrates, as an example, boxes 4211 to 4216 that accept the registration of teaching data T1 to T6 for links 211 to 216 of the robot arm 201. These teaching data T1 to T6 constitute the teaching data T100 for the robot arm 201. Teaching data T100 is an example of the first teaching data.
[0051] Furthermore, Figure 7 illustrates, as an example, boxes 4217 and 4218 that accept registration of teaching data T7 and T8 for the claws 221 and 222 of the robot hand 202, which are peripheral devices. These teaching data T7 and T8 constitute the teaching data T200 for the robot hand 202. Teaching data T200 is an example of second teaching data.
[0052] Furthermore, Figure 7 illustrates, as an example, a box 4219 that accepts the registration of teaching data T9 for a peripheral device, the processing machine 203. Teaching data T9 is an example of second teaching data.
[0053] In Figure 7, although not yet registered, CPU 120 can also accept registration of teaching data T10 for the peripheral device AGV 204. Teaching data T10 is an example of second teaching data.
[0054] These teaching data T1 to T10 are data on the position or orientation of the corresponding parts. For example, each teaching data T1 to T6 is information on the relative angle of the link of the robot arm 201 with respect to the parent link. Also, each teaching data T7 and T8 is information on the opening amount of each claw 221, 222 of the robot hand 202, i.e., information on the position of each claw 221, 222 relative to the hand body 220. Furthermore, teaching data T9 is information on the opening amount of the door 231 of the processing machine 203, i.e., information on the position of the door 231 relative to the processing machine body 230.
[0055] The CPU 120 selects a node from among several nodes N0 to N12 that has a name that matches the name of the part entered in box 421. The CPU 120 then accepts the teaching data entered in box 421 as teaching data for the part corresponding to that node. For example, if the name "Robot 1_Axis 1" is entered in box 4211, the CPU 120 accepts the teaching data T1 entered in box 4211 as teaching data for part 211V, i.e., link 211.
[0056] Furthermore, it may be possible to drag and drop the name "Peripheral Device 2_AGV" assigned to a node in the tree structure T, for example, node N12, from the registration area 4012 to field 42 using the mouse pointer P1. This will facilitate the input work in field 42.
[0057] These teaching data T1 to T10, registered via field 42, are teaching data that instruct the entire robot system 1000, i.e., the robot arm 201 and peripheral devices 202 to 204, at the same time. The teaching data T1 to T10, which synchronizes the operation of the robot arm 201 and peripheral devices 202 to 204 of the robot system 1000, can be registered together with the CPU 120 via field 42. In other words, these teaching data T1 to T10 are teaching data that correspond to each other in order to synchronize the operation of the robot arm 201 and peripheral devices 202 to 204. Therefore, in the first embodiment, when teaching to synchronize the operation of the robot arm 201 and peripheral devices 202 to 204, the teaching work for the entire robot system 1000 becomes easier.
[0058] Furthermore, the teaching data T1 to T10 that synchronize the movements of the robot arm 201 and peripheral devices 202 to 204 can be combined into a single dataset G1. That is, one dataset G1 contains the teaching data T1 to T10. Since such datasets G1 are used for trajectory calculation in the control unit 300, multiple datasets G1 can be created. It is preferable that each of the multiple datasets G1 be individually named and managed.
[0059] Therefore, in the first embodiment, field 41 is managed by a list of names assigned to each of the multiple datasets G1. That is, field 41 is a list of names assigned to datasets G1 containing multiple teaching data T1 to T10 that are synchronized with each other.
[0060] Field 41 contains at least one box, or multiple boxes 411 in the example of Figure 7, which are created by the user. Each box 411 allows the user to input a name to be assigned to the corresponding dataset G1 using the keyboard 111 and mouse 112. Field 41 is provided with a button 412 that allows the user to add boxes 411 by selecting them with the mouse pointer P1. Within each box 411, there is a button 413 that allows the user to delete that box 411 by selecting it with the mouse pointer P1.
[0061] Each of the multiple boxes 411 contains a unique name assigned by the user. In the example in Figure 7, the user has entered the names "System Teaching Point_1" in box 4111, "System Teaching Point_2" in box 4112, "System Teaching Point_3" in box 4113, and "System Teaching Point_4" in box 4114. Each name is an example of a fifth name.
[0062] Each box 411 is provided with a button 414. When one of the multiple buttons 414 in field 41 is selected by the user using the mouse pointer P1, the dataset G1 corresponding to the selected box 411 is displayed in field 42. In field 42, the user can create, edit, and delete teaching data as appropriate.
[0063] In this way, the CPU 120 displays the multiple datasets G1 on the monitor 113 as a list using two fields 41 and 42. At that time, the CPU 120 displays the names assigned to each of the multiple datasets G1 in field 41 as a list consisting of multiple boxes 411 on the monitor 113.
[0064] In the example in Figure 7, button 414 of box 4111, which is named "System Instruction Point_1," is selected, and a selection mark is placed on button 414 of box 4111. Then, multiple instruction data T1 to T10 included in dataset G1, which is associated with box 4111, i.e., named "System Instruction Point_1," are displayed in field 42.
[0065] The CPU 120 can simulate the state, i.e., the operation, of the virtual robot arm 201V in the virtual space V based on the registered teaching data T100. The CPU 120 can also simulate the state, i.e., the operation, of the virtual robot hand 202V in the virtual space V based on the registered teaching data T200. Furthermore, the CPU 120 can simulate the state, i.e., the operation, of the virtual machining center 203V in the virtual space V based on the registered teaching data T9. Finally, the CPU 120 can simulate the state, i.e., the operation, of the virtual AGV 204V in the virtual space V based on the registered teaching data T10. Specifically, the CPU 120 can perform the above simulations based on the teaching data T1 to T10 corresponding to the dataset G1 specified by the user by selecting button 414 with the mouse pointer P1, from among multiple datasets G1.
[0066] Next, the CPU 120 displays the simulated image on the monitor 113 (S400). Figures 8(a) to 8(d) are explanatory diagrams showing examples of overall images I1 to I4 according to the first embodiment. Overall image I1 shown in Figure 8(a) is an image obtained by simulation based on teaching data T1 to T10 corresponding to "system teaching point 1" in Figure 7, i.e., box 4111. Overall image I2 shown in Figure 8(b) is an image obtained by simulation based on teaching data T1 to T10 corresponding to "system teaching point 2" in Figure 7, i.e., box 4112. Overall image I3 shown in Figure 8(c) is an image obtained by simulation based on teaching data T1 to T10 corresponding to "system teaching point 3" in Figure 7, i.e., box 4113. Overall image I4 shown in Figure 8(d) is an image obtained by simulation based on teaching data T1 to T10 corresponding to "system teaching point 4" in Figure 7, i.e., box 4114.
[0067] Assume that the box specified by the user is box 4111. That is, assume that the button selected by the mouse pointer P1 is button 414 within box 4111. The CPU 120 simulates the state of multiple virtual objects in the virtual space V based on the teaching data T1 to T10 contained in the dataset G1 corresponding to box 4111, and displays the overall image I1 obtained on the monitor 113.
[0068] The overall image I1 includes model image I11 corresponding to virtual robot arm 201V, model image I12 corresponding to virtual robot hand 202V, model image I13 corresponding to virtual machining center 203V, and model image I14 corresponding to virtual AGV 204V. Model image I11 is an example of the first model image. Model images I12 to I14 are examples of the second model image.
[0069] Model image I11 is a model image obtained by simulating the state of the virtual robot arm 201V in the virtual space V based on teaching data T1 to T6. Model image I12 is a model image obtained by simulating the state of the virtual robot hand 202V in the virtual space V based on teaching data T7 and T8. Model image I13 is a model image obtained by simulating the state of the virtual machining center 203V in the virtual space V based on teaching data T9. Model image I14 is a model image obtained by simulating the state of the virtual AGV 204V in the virtual space V based on teaching data T10.
[0070] Furthermore, the box specified by the user is assumed to be box 4112. That is, the button selected by the mouse pointer P1 is assumed to be button 414 within box 4112. The CPU 120 simulates the state of multiple virtual objects in the virtual space V based on the teaching data T1 to T10 contained in the dataset G1 corresponding to box 4112, and displays the overall image I2 obtained on the monitor 113.
[0071] The overall image I2 includes model image I21 corresponding to virtual robot arm 201V, model image I22 corresponding to virtual robot hand 202V, model image I23 corresponding to virtual machining center 203V, and model image I24 corresponding to virtual AGV 204V. Model image I21 is an example of the first model image. Model images I22 to I24 are examples of the second model image.
[0072] Furthermore, the box specified by the user is assumed to be box 4113. That is, the button selected by the mouse pointer P1 is assumed to be button 414 within box 4113. The CPU 120 displays the overall image I3 obtained by simulating the state of multiple virtual objects in the virtual space V on the monitor 113, based on the teaching data T1 to T10 contained in the dataset G1 corresponding to box 4113.
[0073] The overall image I3 includes model image I31 corresponding to virtual robot arm 201V, model image I32 corresponding to virtual robot hand 202V, model image I33 corresponding to virtual machining center 203V, and model image I34 corresponding to virtual AGV 204V. Model image I31 is an example of the first model image. Each model image I3 2 ~I34 is an example of a second model image.
[0074] Furthermore, the box specified by the user is assumed to be box 4114. That is, the button selected by the mouse pointer P1 is assumed to be button 414 within box 4114. The CPU 120 displays the overall image I4 obtained by simulating the state of multiple virtual objects in the virtual space V on the monitor 113, based on the teaching data T1 to T10 contained in the dataset G1 corresponding to box 4114.
[0075] The overall image I4 includes model image I41 corresponding to virtual robot arm 201V, model image I42 corresponding to virtual robot hand 202V, model image I43 corresponding to virtual machining center 203V, and model image I44 corresponding to virtual AGV 204V. Model image I41 is an example of the first model image. Model images I42 to I44 are examples of the second model image.
[0076] As described above, the CPU 120 simulates the operation of each of the multiple virtual objects 201V to 204V based on the teaching data T1 to T10 included in the selected dataset G1, and displays the overall images I1, I2, I3, or I4 on the monitor 113. This allows the user to easily confirm the operation of the entire robot system 1000. Furthermore, since the teaching data related to the robot arm 201 and the teaching data of peripheral devices 202 to 204 can be registered in correspondence with each other, the teaching work for the entire robot system 1000 is also made easier. In this embodiment, a robot hand, processing machine, or AGV was used as peripheral device, but it is not limited to these. For example, it may also be applied when a robot arm other than the robot arm 201 is used as a peripheral device.
[0077] [Second Embodiment] Next, a second embodiment will be described. Figures 9(a) and 9(b) are explanatory diagrams of the user interface image UI2 according to the second embodiment. The overall system configuration is as described in the first embodiment, and the same reference numerals as in the first embodiment will be used in the following description, and the configuration will not be described in detail.
[0078] In the second embodiment, the processing of the CPU 120 in step S300 differs in part from that of the first embodiment. The CPU 120 can accept registration of teaching data T100 and T200 using the names previously assigned to teaching data T100 and teaching data T200 in the user interface image UI2.
[0079] To explain in more detail, as shown in Figure 9(a), the CPU 120 displays window 403A on the monitor 113 as a user interface image UI2, instead of window 403 as described in the first embodiment. The CPU 120 can then accept registration of the assignment of teaching data T200 and a unique name for the robot hand 202 in this window 403A.
[0080] In the example shown in Figure 9(a), the name "Hand Open" is entered in box 411A1 of field 41, and the CPU 120 accepts the registration of the name "Hand Open". Then, in field 42, teaching data T7 for claw 221 is entered in box 4217, and teaching data T8 for claw 222 is entered in box 4218. The CPU 120 accepts the registration of teaching data T200, consisting of teaching data T7 and T8, to be assigned to the name "Hand Open". Similarly, for the robot arm 201, the CPU 120 accepts the registration of teaching data T100 for the robot arm 201 in another window 404 shown in Figure 9(b), which will be assigned to a name such as "Robot 1_Teaching Point_1".
[0081] Window 404 includes a title bar 4041 and a registration area 4042. The title bar 4041 displays a name such as "Robot Teaching Point" as its title. The registration area 4042 is an area where the user can input registration information using an input device such as a keyboard 111 and a mouse 112. The CPU 120 accepts the registration of information by the user through this registration area 4042. For example, node N21 is assigned the name "Robot 1_Teaching Point_1" and, as described above, is assigned teaching data T100.
[0082] As shown in Figure 9(b), a new box 411A2 is created in field 41, and it is assumed that this box 411A2 is selected by the user. Box 411A2 is given a name, for example, "System Instruction Point_1".
[0083] In field 42, suppose the user has entered the names "Robot1_TeachingPoint_1" to which teaching data T100 is assigned, and "HandOpen" to which teaching data T200 is assigned. The CPU 120 accepts the registration of teaching data T100 for the robot arm 201 and teaching data T200 for the robot hand when the names "Robot1_TeachingPoint_1" and "HandOpen" are entered. "Robot1_TeachingPoint_1" is an example of a first name, and "HandOpen" is an example of a second name. For example, in box 421A1 created in field 42, the user has entered "Robot1_TeachingPoint_1", and in box 421A2 created in field 42, the user has entered "HandOpen". These input operations can be performed by the user using drag and drop with the mouse 112, or by adding boxes using button 422.
[0084] Thus, according to the second embodiment, teaching data for the robot arm 201 and peripheral devices 202-204 can be registered using a previously registered name, such as "Robot 1_Teaching Point_1" or "Hand Open". This eliminates the need for the user to input numerical values each time teaching data is registered, improving the efficiency of the teaching process. It should be noted that this embodiment and its modifications may be combined with the above-described embodiment and its modifications in a predetermined information processing device or predetermined information processing method.
[0085] [Third Embodiment] Next, a third embodiment will be described. Figure 10 is an explanatory diagram of the user interface image UI3 according to the third embodiment. The overall system configuration is as described in the first embodiment, and the same reference numerals as in the first embodiment will be used in the following description, and the configuration will not be described in detail.
[0086] Furthermore, in the user interface image UI3, the difference from the first embodiment is the addition of window 405. Similar to the first embodiment, window 403 registers multiple datasets consisting of teaching data representing the state of the robot system 1000 at a given moment. In window 405, a playback list is registered that is displayed sequentially while referring to window 403, allowing the CPU 120 to display an image on monitor 113 that makes it appear as if the entire robot system 1000 is operating. This allows the user to visually grasp how the state of the robot system 1000 changes, making it even easier to verify its operation.
[0087] Window 405 includes a title bar 4051 and a registration area 4052. The title bar 4051 displays a title such as "Continuous Display of System Teaching Points". The registration area 4052 includes a display list 45 that the user can input using an example of an input device, such as a keyboard 111 and a mouse 112.
[0088] The display list 45 includes a box 451 created by the user. The user can input a name corresponding to the dataset G1 (Figure 7) into the box 451 using the keyboard 111 and mouse 112. The display list 45 is provided with a button 452 that allows the user to add a box 451 by selecting it with the mouse pointer. Within a box 451, there is a button 453 that allows the user to delete that box 451 by selecting it with the mouse pointer. The display list 45 is created when the user enters a name into a box 451.
[0089] The CPU 120 accepts user registration of information via this display list 45. For example, the display list 45 may contain the names "System Teaching Point_1", "System Teaching Point_2", "System Teaching Point_3", and "System Teaching Point_4" as described in the first embodiment, registered by the user in that order. Each name is associated with a corresponding dataset G1. Input into the display list 45 may be done by the user using drag-and-drop with the mouse 112, or by typing characters into a box 451 added with the button 452 using the keyboard 111. The dataset G1 associated with each name may contain multiple teaching data T1 to T10.
[0090] Of the multiple datasets G1, two or more datasets G1 specified by the user are assumed to be four datasets G1 corresponding to the names "System Instruction Point_1" to "System Instruction Point_4".
[0091] The CPU 120 switches and displays the overall images I1, I2, I3, and I4 shown in Figures 8(a) to 8(d), which correspond to the four datasets G1, on the monitor 113 in this order at predetermined time intervals. That is, it simulates the list entered in window 405 from top to bottom and displays the overall image on monitor 113. The time interval can be registered by entering it in box 455 included in window 405. When the user selects the start button 456, the display of overall images I1 to I4 begins. This allows the user to easily confirm the operation of the entire robot system 1000 by switching between overall images I1 to I4. Note that this embodiment and its variations may be combined with the above-described embodiment and its variations in a predetermined information processing device or predetermined information processing method.
[0092] [Fourth Embodiment] Next, a fourth embodiment will be described. Figure 11(a) is an explanatory diagram of the robot system 1000D according to the fourth embodiment. Figure 11(b) is an explanatory diagram of the virtual space V and virtual objects placed in the virtual space V according to the fourth embodiment. Figure 11(c) is an explanatory diagram of the user interface image UI4 according to the fourth embodiment. The robot system 1000D includes the robot arm 201, robot hand 202, and AGV 204 described in the first embodiment. Furthermore, the robot system 1000D includes a robot hand 205 attached to the AGV 204. The robot hand 205 has the same configuration as the robot hand 202. The robot hand 202 attached to the robot arm 201 is an example of a first peripheral device, and the robot hand 205 attached to the AGV 204 is an example of a second peripheral device.
[0093] Furthermore, in the user interface image UI4, the difference from the first embodiment is that window 401D is used instead of window 401. In the first embodiment, the method for registering the models of peripheral devices 202 to 204 and the method for registering the teaching data for peripheral devices 202 to 204 were described. In the fourth embodiment, the reuse of registered models and teaching data will be described.
[0094] In the fourth embodiment, as shown in Figure 11(c), node N41 with the name "Hand Open" and node N42 with the name "Hand Closed," both of which are associated with pre-registered teaching data, are added to the tree structure T.
[0095] CPU 120 stores the data for the virtual robot hand 202V and group 1001, which includes teaching data corresponding to nodes N41 and N42, in HDD 123. The teaching data included in each node N41 and N42 is an example of second teaching data.
[0096] For example, if a user adds group 1003, which has the same content as group 1001 stored on HDD 123, as a child to node N12, the CPU 120 accepts the registration of group 1003. This allows the user to reuse the content they have registered once. As a result, in the virtual space V, the virtual robot arm 201V is simulated to have a virtual robot hand 202V attached, and the virtual AGV 204V is simulated to have a virtual robot hand 205V with the same configuration as virtual robot hand 202V attached. Thus, the CPU 120 can accept the registration of the information of group 1001, which was accepted for registration in relation to robot hand 202, as information corresponding to robot hand 205 in the user interface image UI4. In this way, it is possible to reuse the information of group 1001 related to the structure of peripheral devices, making the registration work, i.e., the teaching work, easier. Note that this embodiment and its variations may be combined with the above-described embodiment and its variations in a predetermined information processing device or predetermined information processing method.
[0097] Furthermore, while the first to fourth embodiments described the case where the robot arm 201 is a vertically articulated robot arm, the invention is not limited to this. The robot arm may be various types of robot arms, such as a horizontally articulated robot arm, a parallel link robot arm, or a Cartesian robot. In addition, the mechanism for holding the workpiece may be realized by a machine that can automatically perform movements such as extension and retraction, bending and straightening, vertical movement, horizontal movement or rotation, or combinations thereof, based on information stored in a memory device provided in the control device.
[0098] (Other examples) The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions. [Explanation of symbols]
[0099] 100... Information processing unit, 120... CPU (processing unit)
Claims
1. An information processing method for simulating the state of a robot arm and the state of peripheral equipment different from the robot arm in a virtual space, The system accepts input of first teaching data related to the robot arm and second teaching data related to the peripheral equipment. The first teaching data and the second teaching data are associated and managed as a dataset that synchronizes the state of the robot arm and the state of the peripheral equipment in the virtual space. An input area for receiving the first teaching data and the second teaching data as the dataset is displayed on the display unit. An information processing method characterized by the following:
2. The dataset is used to manage the first teaching data and the second teaching data together as a single teaching data in the virtual space. The information processing method according to feature 1.
3. When a user gives an instruction to display the dataset in the display area for displaying the dataset in the virtual space, the state of the robot arm based on the first teaching data managed by the dataset and the state of the peripheral device based on the second teaching data managed by the dataset are displayed in the display area. The information processing method according to claim 1 or 2, characterized by the features described above.
4. In the input area, the input of the first teaching data and the second teaching data is accepted using the first name assigned to the first teaching data and the second name assigned to the second teaching data. The information processing method according to any one of claims 1 to 3.
5. The input area accepts input for the assignment of the first name to the first teaching data, or input for the assignment of the second name to the second teaching data. The information processing method according to feature 4.
6. Based on the first teaching data, the state of the first model corresponding to the robot arm in the virtual space is simulated, and based on the second teaching data, the state of the second model corresponding to the peripheral device in the virtual space is simulated. The information processing method according to any one of claims 1 to 5.
7. In the input area, registration of a first model corresponding to the robot arm and a second model corresponding to the peripheral equipment is accepted. The state of the first model in the virtual space is simulated based on the first teaching data, and the state of the second model in the virtual space is simulated based on the second teaching data. The information processing method according to any one of claims 1 to 6.
8. In the input area, registration of the first model and the second model is accepted using the third name assigned to the first model and the fourth name assigned to the second model. The information processing method according to feature 7.
9. An information processing method for simulating the state of a robot arm and the state of peripheral equipment different from the robot arm in a virtual space, The system accepts input of first teaching data related to the robot arm and second teaching data related to the peripheral equipment. The first teaching data and the second teaching data are associated and managed as a dataset that synchronizes the state of the robot arm and the state of the peripheral equipment in the virtual space. Based on the first teaching data, the state of the first model corresponding to the robot arm in the virtual space is simulated, and based on the second teaching data, the state of the second model corresponding to the peripheral device in the virtual space is simulated. A first model image obtained by simulating the state of the first model in the virtual space based on the first teaching data, and a second model image obtained by simulating the state of the second model in the virtual space based on the second teaching data, are displayed on the display unit. An information processing method characterized by the following:
10. The aforementioned dataset is displayed as a list in the display unit. The information processing method according to any one of claims 1 to 9.
11. The fifth name assigned to each of the aforementioned datasets is displayed as a list on the display unit. The information processing method according to any one of claims 1 to 10.
12. The display unit switches and displays the first model image and the second model image corresponding to each of two or more datasets specified by the user from the aforementioned datasets. The information processing method according to feature 9.
13. The display unit continuously displays the first model image and the second model image corresponding to each of two or more datasets specified by the user from the aforementioned datasets. The information processing method according to feature 9.
14. The aforementioned peripheral device is the first peripheral device, In the input area, information of a group including the second model and the second teaching data, which has been received as input in accordance with the first peripheral device, is received as input in accordance with the second peripheral device. The information processing method according to feature 7 or 8.
15. The display unit displays information regarding the model corresponding to the robot arm and the peripheral equipment. The system accepts input of the first teaching data and the second teaching data by dragging and dropping information about the model into the input area. The information processing method according to any one of claims 1 to 8.
16. A robot arm controlled by an information processing method according to any one of claims 1 to 15, comprising: a robot arm; peripheral equipment; and a control unit that controls the robot arm based on first teaching data and controls the peripheral equipment based on second teaching data. A system characterized by the following features.
17. An information processing device that simulates the state of a robot arm and the state of peripheral equipment different from the robot arm in a virtual space, The processing unit, The system accepts input of first teaching data related to the robot arm and second teaching data related to the peripheral equipment. The first teaching data and the second teaching data are associated and managed as a dataset that synchronizes the state of the robot arm and the state of the peripheral equipment in the virtual space. An input area for receiving the first teaching data and the second teaching data as the dataset is displayed on the display unit. An information processing device characterized by the following:
18. An information processing device that simulates the state of a robot arm and the state of peripheral equipment different from the robot arm in a virtual space, The system accepts input of first teaching data related to the robot arm and second teaching data related to the peripheral equipment. The first teaching data and the second teaching data are associated and managed as a dataset that synchronizes the state of the robot arm and the state of the peripheral equipment in the virtual space. Based on the first teaching data, the state of the first model corresponding to the robot arm in the virtual space is simulated, and based on the second teaching data, the state of the second model corresponding to the peripheral device in the virtual space is simulated. A first model image obtained by simulating the state of the first model in the virtual space based on the first teaching data, and a second model image obtained by simulating the state of the second model in the virtual space based on the second teaching data, are displayed on the display unit. An information processing device characterized by the following:
19. A method for manufacturing an article, comprising simulating the first teaching data and the second teaching data using the information processing method described in any one of claims 1 to 15, and controlling the robot arm and the peripheral equipment using the simulated first teaching data and the second teaching data to manufacture the article.
20. A program for causing a computer to execute the information processing method described in any one of claims 1 to 15.
21. A computer-readable recording medium having the program described in claim 20 recorded on it.
Citation Information
Patent Citations
Control method of articulated robot
JP1994047689A
Teaching system and teaching method
JP2014161922A
Robot interference determination device, robot interference determination method and program
JP2019171501A