INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, DISPLAY DEVICE, DISPLAY METHOD, ROBOT SYSTEM, ARTICLE MANUFACTURING METHOD, AND RECORDING MEDIUM
20220410395 · 2022-12-29
Inventors
Cpc classification
B25J9/1612
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/40522
PHYSICS
G05B2219/39443
PHYSICS
B25J9/1605
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
An information processing apparatus including a display unit configured to display a state of a robot system based on first data is characterized in that at least one element of the robot system based on the first data can be outputted with second data that is different from the first data.
Claims
1. An information processing apparatus comprising: a display unit configured to display a state of a robot system based on first data, wherein at least one element of the robot system based on the first data is outputted with second data different from the first data.
2. The information processing apparatus according to claim 1, wherein the at least one element includes a plurality of elements, and the plurality of elements includes a first element at a higher level and a second element at a lower level of the first element in a hierarchy.
3. The information processing apparatus according to claim 2, wherein of the at least one element, one or more given elements managed in a hierarchy are outputted.
4. The information processing apparatus according to claim 2, wherein a first screen configured to display a name of the at least one element as a node and a second screen configured to display the at least one element as a model are displayed.
5. The information processing apparatus according to claim 4, wherein when a node or model is selected on a corresponding one of the first screen and the second screen, a corresponding node or model is displayed with a highlight on another of the first screen and the second screen.
6. The information processing apparatus according to claim 5, wherein an element for output of the at least one element is selected on the first screen or the second screen.
7. The information processing apparatus according to claim 6, wherein the selected element is displayed with a highlight on the first screen and/or the second screen.
8. The information processing apparatus according to claim 4, wherein when a node or model representing the first element is selected on a corresponding one of the first screen and the second screen, a corresponding node or model representing the first element and a node or model representing the second element are displayed with a highlight on another of the first screen and the second screen.
9. The information processing apparatus according to claim 8, wherein the highlight is provided by changing a color of the model or a background color of the node.
10. The information processing apparatus according to claim 2, wherein a robot arm and a robot hand are configured in the robot system, and the first element is the robot arm, and the second element is the robot hand.
11. The information processing apparatus according to claim 10, wherein a control point is configured at the robot hand, and the second element includes the control point.
12. The information processing apparatus according to claim 11, wherein the control point and/or the teaching point are indicated by a coordinate system having three axes, and when the control point or the teaching point are displayed with a highlight, a predetermined shape is displayed at an end of each of the three axes.
13. The information processing apparatus according to claim 2, wherein a target object and a teaching point for performing an operation with the target object are configured in the robot system, and the first element is the target object, and the second element is the teaching point.
14. The information processing apparatus according to claim 13, wherein when the at least one element based on the first data is outputted with the second data, a third screen configured for associating a control point based on the second data with the teaching point.
15. The information processing apparatus according to claim 14, wherein the control point is displayed in a pull-down menu on the third screen.
16. The information processing apparatus according to claim 13, wherein a first robot is configured in the robot system, and a second robot different from the first robot is configured with the second data, and an indication of whether the second robot is capable of performing an operation at the teaching point with the second data is displayed.
17. The information processing apparatus according to claim 2, wherein a target object and a teaching point for performing an operation with the target object are configured in the robot system, and the first element is an operation, and the second element is the target object and the teaching point.
18. The information processing apparatus according to claim 2, wherein a fourth screen configured for selecting an element for output of the at least one element from a unit of given elements managed in a hierarchy of the at least one element is displayed.
19. The information processing apparatus according to claim 18, wherein the fourth screen is displayed as a list.
20. The information processing apparatus according to claim 18, wherein the fourth screen displays a first area for displaying an element to be outputted and a second area for displaying an element to be not outputted, and an element for output of the at least one element is selected by moving given elements of the at least one element between the first area and the second area.
21. The information processing apparatus according to claim 2, wherein the outputted at least one element is deployed with the second data different from the first data, and the first element is associated with an element of the second data while the hierarchy is maintained.
22. The information processing apparatus according to claim 1, wherein the first data is a first space data, and the second data is a second space data, and the outputted at least one element is deployed with the second space data.
23. The information processing apparatus according to claim 1, wherein an element for output of the at least one element is outputted with a new element added to create a group in a hierarchy.
24. The information processing apparatus according to claim 23, wherein elements grouped in a hierarchy of the at least one element are displayed with a highlight by circling the elements with a line.
25. A robot system comprising the information processing apparatus according to claim 1.
26. An article manufacturing method for manufacturing an article by using the robot system according to claim 25.
27. An information processing method for displaying a state of a robot system based on first data, wherein at least one element of the robot system based on the first data is displayed with second data different from the first data.
28. A display device configured to display a state of a robot system based on first data, wherein at least one element of the robot system based on the first data is displayed with second data different from the first data.
29. A display method for displaying a state of a robot system based on first data, comprising: displaying at least one element of the robot system based on the first data, with second data different from the first data.
30. A non-transitory computer-readable recording medium storing a program implementing the information processing method according to claim 27.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
DESCRIPTION OF THE EMBODIMENTS
[0027] International Publication No. 2019/064914 describes that, with its technology, models targeted for simulation and teaching points are managed by being associated with each other in the form of hierarchical data, based on data of a given virtual space. International Publication No. 2019/064914, however, does not describe the case of applying the hierarchical data generated based on the data of the given virtual space data to data of another virtual space. One example of the above case is that, when hierarchical data composed of elements including teaching points corresponding to operational targets is created with a robot of Company A on data of a given virtual space, simulation may be expected to be conducted with a robot of Company B by using the hierarchical data on data of another virtual space. International Publication No. 2019/064914, however, does not describe the case of applying hierarchical data created based on data of a given virtual space to different data with its technology, and thus, it is necessary to reconfigure teaching points corresponding to operational targets, based on data of another virtual space.
[0028] In consideration of the above problems, the present disclosure provides an information processing apparatus capable of handling created elements targeted for simulation on different data.
[0029] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. The following embodiments are mere examples, and those skilled in the art can change, for example, details of configurations as appropriate without departing from the spirit and scope of the disclosure. The numerical values presented in the embodiments are for reference only, and the present disclosure is not limited to the presented numerical values. In the drawings, arrows X, Y, and Z indicate the coordinate system of an entire robot system. In general, the three-dimensional XYZ coordinate system represents the world coordinate system of an entire setting environment. In some cases, local coordinate systems may be used when appropriate for particular parts such as a robot hand, fingers, and joints for the sake of, for example, convenience of control.
First Embodiment
[0030] The following describes an embodiment of the present disclosure in detail with reference to the drawings.
[0031] The robot arm body 100 is an industrial robot and used to manufacture articles. The robot arm body 100 includes a robot hand body 400, which is an example of an end effector. The robot arm body 100 is positioned on, for example, a stand or a floor surface, which are not illustrated in the drawings.
[0032] Close to the robot arm body 100, a workpiece Wa and a workpiece Wb, which are target objects, are stored in a box H. The robot hand body 400 is a tool for grasping the workpiece Wa or Wb.
[0033] The control device 200 controls the robot arm body 100 in accordance with motion information about the robot arm body 100 and the robot hand body 400, in other words, teaching data representing a robot program. The control device 200 obtains the teaching data from the information processing apparatus 300.
[0034] The teaching data includes information about commands and information about teaching points. In the present embodiment, the control device 200 controls the robot arm body 100 and the robot hand body 400 in accordance with the teaching data so that the robot arm body 100 holds either one of the workpieces Wa and Wb.
[0035] As a result, for example, by performing assembly operation with the workpiece Wa and the workpiece Wb as materials, assembled workpieces can be manufactured as products. As such, articles can be manufactured by using the robot arm body 100.
[0036] The information processing apparatus 300 is implemented by a computer. The information processing apparatus 300 operates as a teaching device, that is, a simulator. In the present embodiment, the information processing apparatus 300 generates teaching data by computer simulation, that is, off-line teaching. The teaching data generated by the information processing apparatus 300 is output to the control device 200. The method of outputting teaching data to the control device 200 is not limited to any particular manner. For example, the teaching data generated by the information processing apparatus 300 may be outputted to the control device 200 by wired or wireless communication, or via a storage device not illustrated in the drawings.
[0037]
[0038] The joint links J1 to J6 each include a motor as a power source, which is not illustrated in the drawing. The robot arm body 100 can pose in various manners such that the motors (not illustrated) provided in the joint links J1 to J6 respectively rotate the links 102 to 106 and the robot hand body 400 in the direction of circumference of the joint links J1 to J6.
[0039] The robot hand body 400 is configured to move fingers 401 and 402 close to or away from each other. The robot hand body 400 includes inside a motor for actuating the fingers 401 and 402, which is not illustrated in the drawing. This motor causes the fingers 401 and 402 to move close to or away from each other. The present embodiment describes as an example the case of grasping a workpiece (target object) by fingers, but this should not be construed in a limiting sense. For example, an air suction mechanism may also be used.
[0040]
[0041] On the display 302 for performing display, a display unit 302a displays images used by the user to teach the robot system 1000 and edit a program for controlling the robot system 1000. The display unit 302a may be formed by arranging a touch panel on its surface. In this case, the touch panel can be used for input operations similar to input operations performed with input devices such as the keyboard 303 and the mouse 304, and as a result, the input devices may be removed from the configuration in given cases.
[0042] The display unit 302a displays a simulation screen 500 for checking motions of the robot system 1000 after teaching and program editing. The information processing apparatus 300 of the present embodiment is configured to teach a robot arm and a robot hand mainly in an offline environment, rather than in an online environment in which the information processing apparatus 300 is connected to an actual robot system to cause a robot arm and a robot hand to move. Various kinds of information for the simulator of the robot system can be inputted, edited, and changed by the input devices such as the keyboard 303 and the mouse 304.
[0043] The simulation screen 500 in
[0044]
[0045] The apparatus main body 301 further includes an interface 311a for communicating and establishing connection with the input devices such as the mouse 304 and the keyboard 303 and an interface 311b for communicating and establishing connection with the display 302. The apparatus main body 301 also includes an interface 315 for exchanging data in the form of, for example, a file 320 with external devices such as other simulator devices and robotic devices. These interfaces are each implemented by, for example, a serial bus, a parallel bus, or a network interface.
[0046] The ROM 314a is a non-transitory storage device. The ROM 314a stores basic programs that are read by the CPU 312 when the computer starts. The RAM 314b is a temporary storage device used by the CPU 312 for processing operations. The HDD 314c is a non-transitory storage device for storing various kinds of data including results of processing operations by the CPU 312.
[0047] In the present embodiment, the HDD 314c stores a program used as application software. By running this program, the CPU 312 functions as an information processing unit capable of simulating motions of a virtual robot and virtual workpieces in a virtual environment as described later.
[0048] In the present embodiment, the HDD 314c is a computer-readable non-transitory recording medium, and the HDD 314c stores the program as application software. However, this should not be construed in a limiting sense. Any computer-readable non-transitory recording medium can store this program. As a recording medium used to supply this program to the computer, for example, a flexible disk, an optical disk, a magneto-optical disk, a magnetic tape, or a non-volatile memory may be used.
[0049] The CPU 312 controls the entire system of the information processing apparatus 300. In
[0050] The display 302 displays the simulation screen 500 in the form of GUI; the simulation screen 500 is constituted by, for example, the virtual space screen 501 and the management screen 502 described above. The simulation screen 500 receives user's GUI operations performed with, for example, the mouse 304 and the keyboard 303.
[0051] The CPU 312 causes the calculation unit 313 to perform calculation for control in accordance with input or edit operations performed with the mouse 304 or the keyboard 303. The calculation for control by the calculation unit 313 generates display control information for updating the presentation of the display 302 and also updates elements stored in the storage device 314.
[0052] The storage device 314 stores the virtual space screen 501 on the display 302, model information about models that are elements displayed in the management screen 502, and teaching information in the form of hierarchical data using (hierarchical) nodes. The hierarchical data using nodes stored in the storage device 314 is outputted and updated in response to requests from the CPU 312. Additionally, in response to requests from external devices or particular operations by the mouse 304 and the keyboard 303, the CPU 312 can control the storage device 314 to output, in the form of the file 320, the hierarchical data using nodes stored in the storage device 314 via the interface 315. The file 320 can be loaded from the outside via the interface 315 as needed.
[0053] For example, when the information processing apparatus 300 is started or restored, the file 320 previously outputted is loaded from external devices (external storage devices such as a solid state drive (SSD) and a network attached storage (NAS).
[0054] The storage device 314 is accordingly updated, so that the previous storage can be reproduced. In the present embodiment, elements can be stored in any storage area in the storage device 314; for example, a given area in the RAM 314b or a storage area (for example, an area corresponding to a given file) in the HDD 314c can be used. The above is an example of an overall configuration of the information processing apparatus 300.
[0055]
[0056] The following describes virtual objects defined in the virtual space V illustrated in
[0057] In the virtual space V, virtual workpieces WaA and WbA, and a virtual box HA are defined close to the virtual robot arm body 100A. The virtual workpieces WaA and WbA, and the virtual box HA respectively imitate the workpieces Wa and Wb, and the box H illustrated in
[0058] Referring back to
[0059] The RAM 314b and the HDD 314c of the storage device 314 described above are used as storage units for storing 3D data and position/orientation data of provided elements. For example, when one element depends on another element in the structure of the robot system, information items corresponding to these elements are stored as hierarchical data. The structure and details of this hierarchical data can be understood through, for example, the following description of the management screen 502.
[0060] In the present embodiment, the management screen 502 displays in the form of a hierarchical structure all elements necessary for simulation, represented by, for example, model information for virtual display using 3D model representations and teaching information about a TCP and teaching points necessary for controlling the robot arm body 100. On the management screen 502, model information of representations displayed on the virtual space screen 501, teaching information, elements not actually existing as 3D models (for example, a coordinate system and groups) are managed as information in the form of nodes, which is node management. The information managed in this state is displayed as a tree diagram (tree structure).
[0061] According to
[0062] To store data to manage elements with nodes in the present embodiment, data items of nodes are associated with each other together with, for example, address pointers and stored in the RAM 314b in the form of, for example, a linked list. Alternatively, when the data is stored in a file system on an external storage device such as an SSD or NAS, data storage methods of various relational database systems may be used.
[0063] In the present embodiment, the appearance of the management screen 502 is a visualized tree structure using nodes as elements stored on the storage device 314. At the same, it can be also considered that the management screen 502 displays a memory map of the tree-structured elements stored on the storage device 314. With the node management as described above, when the relative value information indicating the position and orientation of a parent model is changed, because the relative value information corresponding to the position and orientation of a child model relative to the parent model is retained, the child model can follow the parent model.
[0064] The following describes details of the simulation screen 500 according to the present embodiment.
[0065] Referring to
[0066] As teaching information for the virtual robot arm body 100A, a teaching point (TP_11) 602a and a teaching point (TP_12) 602b are displayed. The teaching point (TP_11) 602a indicates a pickup position for collecting the virtual workpiece WaA. The teaching point (TP_12) 602b indicates a safe position for pulling the virtual workpiece WaA out of the virtual box HA. Similarly, a teaching point (TP_21) 602c and a teaching point (TP_22) 602d are displayed. The teaching point (TP_21) 602c indicates a pickup position for collecting the virtual workpiece WbA. The teaching point (TP_22) 602d indicates a safe position for pulling the virtual workpiece WbA out of the virtual box HA.
[0067] Here, the name in parentheses of each model, teaching point, and coordinates corresponds to a node (item) displayed in the management screen 502. The models, teaching points, and coordinates are managed with the names in parentheses in hierarchical data.
[0068] In the management screen 502, the nodes of the elements displayed in the virtual space screen 501 are displayed in a tree structure. Firstly, the node of the absolute coordinate system (ROOT) as the root is displayed, and at its child level, the node of the virtual robot arm body 100A and the node of the virtual box HA are displayed. Because the virtual robot arm body 100A and the virtual box HA are arranged in the absolute coordinate system (ROOT), the virtual robot arm body 100A and the virtual box HA are managed as children of the absolute coordinate system (ROOT) in the hierarchy.
[0069] The virtual robot hand body 400A and the TCP 601, which follow the movement of the virtual robot arm body 100A, are displayed as nodes at a child level of the virtual robot arm body 100A.
[0070] The virtual workpieces WaA and WbA, which are stored in the virtual box HA and follow the movement of the virtual box HA, are displayed as nodes at a child level of the virtual box HA.
[0071] The teaching points 602a and 602b, which are the pickup position and safe position following the movement of the virtual workpiece WaA, are displayed as nodes at a child level of the virtual workpiece WaA. Similarly, the teaching points 602c and 602d, which are the pickup position and safe position following the movement of the virtual workpiece WbA, are displayed as nodes at a child level of the virtual workpiece WbA.
[0072] In the simulation screen 500, a cursor 503 is displayed. The cursor 503 is moved by the mouse 304. When a node displayed in the management screen 502 is selected with the cursor 503, a highlight 504 is displayed over the node. Similarly, the highlight 504 is also displayed in the virtual space screen 501 over a model corresponding to the node with the highlight 504. In
[0073] A toolbar 505 is displayed at the top of the simulation screen 500. In the toolbar 505, a management screen display button 506 for displaying the management screen 502, a partial output button 507 for outputting partial hierarchical data as described later, and a partial input button 508 for inputting (loading) partial hierarchical data as described later are displayed. Additionally, a space change button 509 for changing virtual space data and changing the virtual space is also displayed. The above is the description of the simulation screen 500.
[0074] Next, an operation of outputting partial hierarchical data in the present embodiment will be described in detail.
[0075] According to the processing procedure in
[0076] Subsequently, in step S1, an output target element is selected. In the present embodiment, the cursor 503 is operated with the mouse 304 as illustrated in
[0077] The 3D model of the virtual box (BOX) HA displayed in the virtual space screen 501 may be selected by the cursor 503 operated by the mouse 304. In this case, the color of the 3D model of the selected virtual box (BOX) HA is changed to display the highlight 504 so as to indicate that the virtual box (BOX) HA is being selected. When a 3D model is selected in the virtual space screen 501, a node in the management screen 502 corresponding to the selected 3D model may be displayed with the highlight 504 at the same time. Conversely, when a node is selected in the management screen 502, a 3D model in the virtual space screen 501 corresponding to the selected node may be displayed with the highlight 504 at the same time.
[0078] In the present embodiment, highlighting is grayscaling with the background color. However, highlighting is not limited to changing colors, and it is only necessary to display the node or 3D model in such a manner that it can be determined whether the node or 3D model is being selected.
[0079] For example, a mark or pattern may be displayed next to the node in the management screen 502; the size or boldness of characters may be changed; or the design or pattern of the 3D model in the virtual space screen 501 may be changed.
[0080] Next, the partial hierarchical data selected in step S1 is outputted. In the present embodiment, the trigger for output is to press the partial output button 507 displayed in the toolbar 505 with the cursor 503 operated by the mouse 304 to start the output operation. However, how to start the operation is not limited to any particular manner, and detailed descriptions thereof is omitted here because the details can be referred to known implementation methods.
[0081] When the partial output operation is started, the CPU 312 extracts from the storage device 314 information about the selected node and all the lower-level nodes as children of the selected node. At this time, the CPU 312 calculates the position/orientation data of the 3D model of the extracted virtual box HA as absolute value information with respect to the absolute coordinate system (ROOT). By using the absolute value information, the same position and orientation can be reproduced in the input operation described later. Furthermore, in accordance with the shape information of the virtual box HA, information (for example, position/orientation data) about the lower-level nodes as children can also be extracted as relative values relative to the shape information of the virtual box HA.
[0082] After the extraction, the CPU 312 outputs the information about all the extracted nodes, while maintaining the form of hierarchical data, to the file 320 through the interface 315. In the present embodiment, information about the virtual box HA, the virtual workpieces WaA and WbA, and the teaching points 602a, 602b, 602c, and 602d are outputted as hierarchical data. Finally, the output operation ends in step S3.
[0083] Next, an operation of inputting (loading) partial hierarchical data in the present embodiment will be described in detail. The present embodiment describes as an example the case of using the partial hierarchical data described above in a virtual space V′ represented by second data, which is different from the virtual space V represented by the first data.
[0084] According to
[0085] In the virtual space screen 501 of the simulation screen 500 in
[0086] Next, in step S11, to input the outputted part of the file 320, an element in the virtual space V′ is selected as a parent of the outputted part of hierarchical data. In the present embodiment, the node of the absolute coordinate system (ROOT) displayed in the management screen 502 in
[0087] Subsequently, in step S12, inputting (loading) partial hierarchical data is executed by clicking the partial input button 508 with the cursor 503. When the execution is started, the CPU 312 reads the file 320 and displays as a list the partial hierarchical data stored in the file 320.
[0088]
[0089] Next, in step S13, it is determined whether the inputted partial hierarchical data includes a node of a teaching point. When no teaching point is included (NO in step S13), an input result is displayed in step S16 described later. When a teaching point is included (YES in step S13), the process moves to step S14.
[0090] Subsequently, in step S14, in the case of including teaching points, associations are made between the TCP 603 of the virtual robot arm body 100′A and the teaching points 602a, 602b, 602c, and 602d in the process of the input operation. Associations are made with teaching points that the TCP to be passed over and teaching points at which the orientation of the virtual robot arm body 100′A is calculated in step S15 described later. It is possible to make associations automatically or manually. When associations are made automatically, the TCP 603 at a child level of the virtual robot arm body 100′A, which is displayed in the simulation screen 500 in
[0091] When associations are made manually, a TCP selection screen 711 as illustrated in
[0092] Next, in step S15, the orientation of the virtual robot arm body 100′A is calculated at the teaching points 602a, 602b, 602c, and 602d. The orientation is calculated with general robotics inverse kinematics; descriptions thereof are omitted because the details can be referred to known implementation methods.
[0093] Subsequently, in step S16, an input result is displayed.
[0094] Additionally, in the management screen 502, the virtual box (BOX) HA and the elements at a lower level of the virtual box (BOX) HA are restored and displayed in the same tree structure and hierarchy as in the state before the partial output operation. Moreover, as the result of the orientation calculation of teaching points in step S15, when it is discovered that the virtual robot arm body 100′A cannot achieve a particular orientation, the management screen 502 displays an alert indication 510 to provide an alert against the discovery. In the example in
[0095] Alternatively, an alert may be provided on the virtual space screen 501 instead of the management screen 502, by changing the state of displaying the 3D model of the teaching point in the virtual space screen 501. An alert may be provided by, for example, changing the appearance of the 3D model of the teaching point by making the 3D model of the teaching point semitransparent, recoloring the 3D model of the teaching point, or changing the pattern of the 3D model of the teaching point, or may be provided by a balloon next to the 3D model.
[0096] After the process ends in step S17, the inputted elements can be edited by using the keyboard 303 and the mouse 304.
[0097] As described above, with the present embodiment, the created elements targeted for simulation can be processed on different data defining another virtual space. With this configuration, by inputting the partial data of selected elements as hierarchical data, the data can be reused with a simulator of robot system in another virtual space while the relative positions of the selected elements are maintained, and consequently, it is possible to reduce man-hours. When partial hierarchical data includes teaching points, associations are made between the TCP of the virtual robot arm body and the teaching points, the orientation calculation is conducted, and the result is displayed, which are all performed during the input operation. As a result, the state of inputted teaching points can be intuitively checked, and it is possible to further reduce man-hours. When the simulation of taking out operational targets of the same kind stored in the same box is conducted by using a plurality of kinds of robot systems as in the present embodiment, the reuse of data can greatly reduce man-hours.
Second Embodiment
[0098] Next, a second embodiment will be described. In the following, hardware parts and configurations in the control system different from the first embodiment will be illustrated in the diagrams and described as necessary. The same parts as the first embodiment are considered to be implemented by the same configurations and to function in the same manner, and detailed descriptions thereof are not repeated.
[0099]
[0100] The elements are displayed by the name of node in the tree structure displayed in the management screen 502. The selection screen 721 also displays move buttons 724 and 725 for moving elements in the element list 722 and the selection list 723. The move button 724 moves an element from the selection list 723 to the element list 722. The move button 725 moves an element from the element list 722 to the selection list 723. The selection screen 721 also displays the confirmation button 703 for confirming results and the cancel button 704 for terminating the selection operation.
[0101] For example, of the child nodes of the virtual box (BOX) HA, when the virtual workpiece (WORK_2) WbA and the teaching points (TP_21, TP_22) 602c and 602d are removed from selections, the process is implemented with the following procedure. The selection operation is performed with the mouse 304 or the keyboard 303.
[0102] Firstly, the virtual box (BOX) HA is selected as an element for output in the element list 722, and the move button 725 is then pressed. In response to pressing the move button 725, as illustrated in
[0103] Next, the virtual workpiece (WORK_2) WbA is selected from the elements moved to the selection list 723, and the move button 724 is pressed. In response to pressing the move button 725, as illustrated in
[0104] With the present embodiment, unnecessary elements can be more easily selected before the output operation are performed, and as a result, the teaching operation can be further reduced. In the present embodiment, elements are moved between the lists while the hierarchy is maintained, but this should not be construed in a limiting sense. For example, the hierarchy may be temporarily removed so that elements can be moved one by one. In this case, it is more effective that selected nodes are highlighted to indicate that a plurality of elements are being selected.
Third Embodiment
[0105] Next, a third embodiment will be described. In the following, hardware parts and configurations in the control system different from the embodiments described above will be illustrated in the diagrams and described as necessary. The same parts as the first embodiment are considered to be implemented by the same configurations and to function in the same manner, and detailed descriptions thereof are not repeated.
[0106]
[0107] By clicking with the mouse 304 while holding down the “Ctrl” key on the keyboard 303, a plurality of different elements, for example, the virtual box (BOX) HA and the virtual workpieces (WORK_1, WORK_2) WaA and WbA are selected. The method for selecting a plurality of elements is not limited to this example. A plurality of elements may be selected by, for example, using another key on the keyboard in combination with another pointing device or using the selection screen 721 described in the second embodiment. As the result of the selection operation described above, as illustrated in
[0108] A plurality of elements may be selected by clicking models in the virtual space V with the mouse 304 while holding down the “Ctrl” key on the keyboard 303.
[0109] Similarly to the above, corresponding elements may be highlighted on the screen.
[0110] Next, the selected elements are outputted as partial hierarchical data. The CPU 312 obtains information about the selected nodes and their child nodes from the storage device 314. At this time, the CPU 312 obtains position/orientation data of the virtual box HA and the virtual workpieces (WORK_1, WORK_2) WaA and WbA as absolute value information in the absolute coordinate system (ROOT). By obtaining absolute value information, the elements can be restored with the same position and orientation as the elements before the output operation. After obtaining the information about the selected nodes and their child nodes, the CPU 312 outputs the information through the interface 315 to the file 320. At this time, the information about the virtual box HA, the virtual workpieces WaA and WbA, and the teaching points 602a, 602b, 602c, and 602d are outputted as hierarchical data to the file 320.
[0111] As typical output methods, two cases will be described below with reference to the drawings.
[0112] In the first case, the selected elements are outputted as nodes in the same level in the hierarchy (the absolute coordinate system (ROOT) is also regarded as a parent in the virtual space V′).
[0113] In the second case, a group node for grouping the selected elements is added, and the selected elements are outputted to a child level of the group node.
[0114] As described above, in the present embodiment, after the partial input operation, a plurality of elements selected by the group 511 can be processed with their child elements following the elements. Consequently, a plurality of elements not in family relationships (the virtual box HA and the virtual workpieces WaA and WbA) can be outputted together as partial hierarchical data by the grouping operation, which reduces man-hours.
Fourth Embodiment
[0115] Next, a fourth embodiment will be described. In the following, hardware parts and configurations in the control system different from the embodiments described above will be illustrated in the diagrams and described as necessary. The same parts as the embodiments described above are considered to be implemented by the same configurations and to function in the same manner, and detailed descriptions thereof are not repeated.
[0116] Referring to
[0117] As teaching information for the virtual robot arm body 100A, the teaching point (TP_11) 602a and the teaching point (TP_12) 602b are displayed. The teaching point (TP_11) 602a indicates a pickup position for collecting the virtual workpiece WaA. The teaching point (TP_12) 602b indicates a safe position for pulling the virtual workpiece WaA out of the virtual box HA. Similarly, the teaching point (TP_21) 602c and the teaching point (TP_22) 602d are displayed. The teaching point (TP_21) 602c indicates a pickup position for collecting the virtual workpiece WbA. The teaching point (TP_22) 602d indicates a safe position for pulling the virtual workpiece WbA out of the virtual box HA.
[0118] The present embodiment differs from the embodiments described above in that, a process node for grouping selected elements is added to the management screen 502, and the nodes of elements relating to the process are associated with a child level of the process node. The process denotes an operation performed by the virtual robot arm body 100A. In
[0119] The process 513 is associated with the virtual workpiece WaA and the teaching points 602a and 602b as child nodes in the hierarchy. The process 514 is associated with the virtual workpiece WbA and the teaching points 602c and 602d as child nodes in the hierarchy.
[0120] In the simulation screen 500, the cursor 503 is displayed. The cursor 503 is moved by the mouse 304. When a process node displayed in the management screen 502 is selected with the cursor 503, the selected process node and all the child nodes of the process node are displayed with the highlight 504 or a highlight 515. In
[0121]
[0122]
[0123] Additionally, in the management screen 502, the process (PROCESS_2) 2 and the elements at a lower level of the process (PROCESS_2) 2 are restored and displayed in the same tree structure and hierarchy as in the state before the partial output operation.
[0124] As described above, in the present embodiment, elements can be collectively extracted for different processes (operations) performed by the virtual robot arm. In particular, when there are many virtual workpieces and many teaching points due to the complexity of operation, elements can be partially displayed in an emphasized manner, and elements can be inputted and outputted between different sets of space data as in the present embodiment. This can greatly reduce man-hours.
Other Embodiments
[0125] Embodiment(s) of the present disclosure can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)?), a flash memory device, a memory card, and the like.
[0126] Specifically, control devices, or an information processing apparatus, execute the processing procedures of the embodiments described above. Hence, the processing procedures can be configured to be executed by a CPU, which centrally performs processing, that reads and runs a software program for implementing the functions described above, stored in a recording medium supplied to the apparatus integrating the control devices. In this case, the program read from the recording medium realizes the functions of the embodiments described above, and thus, the program and the recording medium storing the program are embodied in the present disclosure.
[0127] The embodiments have described the case in which, the computer-readable recording medium is a ROM, RAM, or flash memory, and the ROM, RAM, or flash memory stores the program. The present disclosure is, however, not limited to these examples. The program for implementing the present disclosure can be stored in any kind of recording medium when the recording medium is computer-readable. As the recording medium for supplying the control program, for example, an HDD, external storage device, or recording disk may also be used.
[0128] The embodiments described above have described the case in which the robot arm body is an articulated robot arm having a plurality of joints, the number of joints is not limited to this example. Although the robot arm is formed in a vertical multiple-axis structure, the same configurations can be implemented with other kinds of joint structures, such as a horizontally articulated structure, a parallel link structure, and a Cartesian coordinate robot.
[0129] The embodiments described above have described as an example the case of grasping a workpiece W as an operation with the workpiece W, but this should not be construed in a limiting sense. Various motions such as coating, welding, cutting, fastening with, for example, screws, and polishing can be performed.
[0130] The embodiments described above can be applied to machines capable of automatically performing extending and retracting, bending and stretching, moving upwards and downwards, moving to left and right, or rotating, or a combination thereof in accordance with information in the storage device provided in the control device.
[0131] The present disclosure is not limited to the embodiments described above, and various modifications to the embodiments may be made without departing from the technical idea of the present disclosure. The embodiments of the present disclosure have only described the most desired effects achieved with the present disclosure, and effects of the present disclosure are not limited to the effects described in the embodiments of the present disclosure. It is also possible to combine together at least two or more of the embodiments described above.
[0132] While the present disclosure has been described with reference to exemplary embodiments, it is to be understood that the disclosure is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
[0133] This application claims the benefit of Japanese Patent Application No. 2021-104985 filed Jun. 24, 2021, which is hereby incorporated by reference herein in its entirety.