WO2018180300A1 - ロボット作業管理システム、ロボット作業管理プログラム - Google Patents
ロボット作業管理システム、ロボット作業管理プログラム Download PDFInfo
- Publication number
- WO2018180300A1 WO2018180300A1 PCT/JP2018/008721 JP2018008721W WO2018180300A1 WO 2018180300 A1 WO2018180300 A1 WO 2018180300A1 JP 2018008721 W JP2018008721 W JP 2018008721W WO 2018180300 A1 WO2018180300 A1 WO 2018180300A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- work
- robot
- management system
- unit
- predetermined
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
Definitions
- the present invention relates to a robot work management system and a robot work management program.
- Patent Document 1 discloses a technique (teaching technique) in which a work or a robot that is a work target is placed in a virtual space by a computer and a robot operation program is created.
- the same operation program is executed regardless of the type of work (for example, when placing a work or taking a work).
- the operation program at this time is described as a movement from the operation start point of the robot to the work point regardless of whether the work is placed or taken. For this reason, it is difficult to immediately identify what kind of work the robot has executed even if it refers to the executed operation program.
- the present invention has been made in view of the above problems, and an object of the present invention is to provide a technique capable of easily grasping work performed by a robot.
- the robot work management system of the present invention that solves the above-described problems includes a processing unit that executes an operation program including work information relating to the predetermined work generated by teaching the robot an action corresponding to the predetermined work.
- the user can easily grasp the work performed by the robot.
- FIG. 1 is a diagram illustrating a configuration of a robot work management system 200.
- FIG. 4 is a diagram illustrating an example of information stored in a storage device 22.
- FIG. 2 is a diagram showing a list of blocks arranged in a virtual space 100.
- FIG. FIG. 3 is a diagram showing blocks arranged in a virtual space 100. It is a figure which shows the setting screen. It is a figure which shows the functional block implement
- FIG. 4 is a diagram illustrating an example of information stored in a storage device 27.
- FIG. It is a figure which shows an example of the process at the time of an operation program being performed. It is a figure which shows the setting screen. It is a figure which shows the functional block implement
- 6 is a diagram illustrating an example when various types of information are input to a setting screen 300.
- FIG. It is a flowchart which shows an example of the process which the robot teaching apparatus 10 performs.
- 4 is a diagram illustrating an example of an approach point P3 in the virtual space 100.
- FIG. 4 is a diagram illustrating an example of an operation of a hand 50 in a virtual space 100.
- FIG. 1 is a diagram illustrating a configuration of a robot work management system 200.
- the robot work management system 200 includes the robot teaching device 10 and the arm type robot 11 and manages the work of the arm type robot 11.
- the robot teaching device 10 (robot teaching unit) is a device for teaching an operation to an arm type robot 11 installed in a factory line.
- a CPU Central Processing Unit
- a memory 21 a storage device 22
- an input A device 23 a display device 24, and a communication device 25 are included.
- the CPU 20 implements various functions in the robot teaching device 10 by executing programs stored in the memory 21 and the storage device 22.
- the memory 21 is, for example, a RAM (Random-Access Memory) or the like, and is used as a temporary storage area for programs and data.
- RAM Random-Access Memory
- the storage device 22 is a non-volatile storage means area such as a hard disk, and stores a program 600 and various data 700.
- FIG. 2 is a diagram illustrating information stored in the storage device 22.
- the program 600 includes a teaching program 610 for realizing a function for teaching the arm type robot 11 and a CAD program 620 for realizing a three-dimensional CAD (Computer Aided Design) function. Is included.
- the data 700 includes three-dimensional CAD data Da indicating a three-dimensional model of the arm type robot 11, three-dimensional CAD data Db indicating a three-dimensional model of a work that is a work target, and three shelves on which the work is placed.
- Three-dimensional CAD data Dc indicating a dimensional model is included.
- the three-dimensional CAD data Da includes information on the world coordinate system of the virtual space where the model of the arm type robot 11 is arranged and the local coordinate system of the model of the arm type robot 11.
- the three-dimensional CAD data Db and Dc are the same as the three-dimensional CAD data Da. However, in the present embodiment, since a plurality (n) of works are used, the storage device 22 stores three-dimensional CAD data Db1 to three-dimensional CAD data Dbn corresponding to each of the plurality of works.
- the data 700 also includes an operation program 710 for operating the arm type robot 11.
- the robot teaching apparatus 10 generates the operation program 710 by executing the teaching program 610 using the three-dimensional CAD data.
- the input device 23 is, for example, a touch panel or a keyboard, and is a device that receives an input of a user operation result.
- the display device 24 is a display, for example, and is a device that displays various information and processing results.
- the communication device 25 is a communication means such as a network interface, and transmits / receives data to / from an external computer or the arm robot 11 via a communication network (not shown) such as the Internet or a LAN (Local Area Network). Do.
- a communication network such as the Internet or a LAN (Local Area Network).
- the arm type robot 11 is a multi-joint robot having six axes (x axis, y axis, z axis, and rotation directions ⁇ x, ⁇ y, ⁇ z of each axis).
- the arm type robot 11 includes a processing device 26, a storage device 27, and a communication device 28.
- the processing device 26 (processing unit) is a device that controls the operation of the arm type robot 11 by executing an operation program 710 or the like.
- the storage device 27 (storage unit) is a non-volatile storage means area such as a hard disk, and stores various information including the operation program 710. Details of the processing device 26 and the storage device 27 will be described later.
- the communication device 28 is a communication means such as a network interface, and transmits and receives data to and from various external devices and the robot teaching device 10.
- FIG. 3 is a diagram showing an example of a hierarchical structure screen that a user refers to and edits in order to determine the arrangement of a model of the arm type robot 11 or the like in the virtual space.
- the screen 30 is a screen showing a world coordinate system and a hierarchical structure (tree structure) of various configurations, and is displayed on the display device 24 when the CPU 20 executes the teaching program 610.
- “World” indicating the world coordinate system is set in the highest hierarchy.
- “Robot” indicating the model of the arm type robot 11 and “Shelves” indicating the shelves on which the workpieces are placed are set. For this reason, “Robot” and “shelf” are arranged at positions determined in the world coordinate system in the virtual space.
- “OG B1” to “OG B10” indicating ten music boxes B1 to B10 are set under the “shelf” hierarchy. For this reason, “OG B1” to “OG B10” are arranged at positions determined in the local coordinate system with “shelf” as a reference.
- FIG. 4 is a diagram illustrating the virtual space 100 reflecting the configuration included in the screen 30.
- the virtual space 100 is displayed on the display device 24 when the CPU 20 executes the teaching program 610.
- an arm type robot 40 In the virtual space 100, an arm type robot 40, music boxes A1, B1 to B10, and a shelf 45 are provided.
- the arm type robot 40 is a model expressed based on “Robot” (three-dimensional CAD data Da), and includes a hand (holding unit) 50 and an arm 51 to which the hand 50 is attached. As described above, the position of the arm 51 in the virtual space 100 is arranged at a position determined in the world coordinate system, and the position of the hand 50 is set at a position determined in the local coordinate system with the arm 51 as a reference. Be placed.
- the music box A1 is a model representing a work expressed based on “OG A1” (three-dimensional CAD data Db1).
- the position of the music box A1 in the virtual space 100 is arranged at a position determined by a local coordinate system with the hand 50 as a reference, in this case, a position held (held) by the hand 50. That is, the workpiece is held by the holding unit. Further, the state where the work is not held by the holding unit is a state where the hand 50 is not holding the work.
- Music boxes B1 to B10 are models expressed based on “OG B1” to “OG B10” (three-dimensional CAD data Db2 to Db11).
- the positions of the music boxes B1 to B10 in the virtual space 100 are arranged at positions determined by a local coordinate system with the shelf 45 as a reference. For example, here, the music boxes B1 to B10 are arranged in two rows on the shelf 45.
- the shelf 45 is a model expressed based on “shelf” (three-dimensional CAD data Dc), and is arranged at a position determined in the world coordinate system.
- FIG. 5 is a diagram showing an example of a setting screen 60 displayed on the display device 24 when teaching the arm type robot 11.
- the setting screen 60 is displayed on the display device 24 when the CPU 20 executes the teaching program 610.
- the setting screen 60 includes a function name designation area 70, a work start position input area 71, and a work end position input area 72.
- the function name designation area 70 includes a work type designation area 70a and a function name input area 70b.
- a work to be executed by the arm robot 11 is selected from a plurality of work by the user. Specifically, in the work type designation area 70a, a work such as placing (“place”), taking (grabbing) (“pick up”), or discarding (“dispose”) can be selected.
- a file name indicating the work specified by the user is input.
- the user includes information indicating the work (for example, music box A1 “OG A1”) as information (identification information) for identifying the work to be processed in the file name. To do.
- the work start position input area 71 information regarding the work start position of the operation of the hand 50 of the arm type robot 40 is input. Note that the start position of the operation of the hand 50 is specified by the position of the work or the hand 50 in the virtual space 100 or the position of the world coordinate system of the virtual space 100.
- the end position of the operation of the hand 50 is designated by the position of the work or the hand 50 in the virtual space 100 or the position of the world coordinate system of the virtual space 100.
- FIG. 6 is a diagram showing functional blocks implemented in the CPU 20 when the CPU 20 executes a predetermined program.
- the CPU 20 includes functional blocks of a first acquisition unit 80, a second acquisition unit 81, a calculation unit 82, an operation program generation unit 83, and a transmission unit 84.
- the first acquisition unit 80 uses the TCP (predetermined point) of the work as the teaching point P1 (first point) based on the information (three-dimensional CAD data) indicating the work input in the work start position input area 71. get.
- 2nd acquisition part 81 acquires TCP of a work as teaching point P2 (2nd point) based on information (three-dimensional CAD data) which shows a work inputted into work end position input area 72.
- information three-dimensional CAD data
- the calculation unit 82 calculates a trajectory for moving the hand 50 based on the teaching points P1 and P2. Further, the calculation unit 82 stores the calculation result in the storage device 22.
- the operation program generation unit 83 generates an operation program 710 for operating each joint of the actual arm type robot 11 based on the calculation result of the calculation unit 82.
- the operation program generation unit 83 stores the generated operation program 710 in the storage device 22.
- the operation program 710 includes work information I1 indicating the type of work and identification information I2 for identifying the work to be worked.
- the transmission unit 84 transmits the operation program 710 to the arm type robot 11 based on an instruction from the user.
- FIG. 7 is a diagram showing the setting screen 61 in a state where various information is input to the setting screen 60.
- a work "place" is designated as the work.
- the name “OG A1_to_shelf” including “Music Box A1” (“OG A1”) is input.
- “music box A1” (“OG A1”) gripped by the hand 50 is input to the work start position input area 71, and “music box B9 placed on the shelf 45 is input to the work end position input area 72.
- “(" OG B9 ") is entered.
- “music box A1” and ten “music boxes B1” to “music box B10” are arranged. Is arranged to calculate the trajectory.
- FIG. 8 is a flowchart showing an example of processing executed when the robot teaching apparatus 10 generates the operation program 710a.
- the first acquisition unit 80 acquires the TCP of the music box A1 as the teaching point P1 based on the information of the music box A1 input to the work start position input area 71 (S100).
- the second acquisition unit 81 acquires the TCP of the music box B9 as the teaching point P2 based on the information of the music box B9 input to the work end position input area 72 (S101).
- the calculation unit 82 calculates the trajectory of the hand 50 when moving the hand 50 based on the teaching points P1 and P2, and stores the calculation result in the storage device 22 (S102).
- the operation program generation unit 83 acquires information indicating the type of work (for example, “place”) designated in the work type designation area 70a as work information I1 (S103).
- the operation program generation unit 83 acquires the identification information I2 for identifying the work to be worked based on, for example, the file name (“OG A1_to_shelf”) (S104).
- the information (“OG A1”) indicating the music box A1 in the file name is the identification information I2.
- the operation program generation unit 83 generates an operation program 710a for operating each joint of the actual arm type robot 11 based on the calculation result, and stores it in the storage device 22 (S105). In step S105, the operation program generation unit 83 generates an operation program 710a including work information I1 and identification information I2.
- the start position is the position of “music box A1”, for example, an arbitrary position in the virtual space 100 may be designated by coordinates (or a work placed at an arbitrary position).
- Each block of the robot teaching apparatus 10 executes processing similar to the processing S100 to S105 of FIG. 8 based on the information set on the setting screen 62.
- an operation program 710 b from which “music box B5” is acquired is generated and stored in the storage device 22.
- the operation program 710b includes information indicating the “take” operation as the operation information I1 and information indicating the music box B5 (“OG B5”) as the identification information I2.
- the start position is the position of “music box A1”, for example, an arbitrary position in the virtual space 100 may be designated by coordinates (or a work placed at an arbitrary position).
- Each block of the robot teaching apparatus 10 executes processing similar to the processing S100 to S105 of FIG. 8 based on the information set on the setting screen 63.
- the 2nd acquisition part 81 acquires the predetermined
- FIG. As a result, an operation program 710 c in which “music box A 1” is discarded is generated and stored in the storage device 22.
- the operation program 710c includes information indicating “discard” work as work information I1, and information indicating the music box A1 (“OG A1”) as identification information I2.
- the storage device 22 stores the above-described operation programs 710a to 710c.
- the transmission unit 84 transmits the operation programs 710a to 710c to the arm robot 11 in accordance with a user instruction.
- FIG. 11 is a diagram illustrating information stored in the storage device 27.
- the storage device 27 stores an operation program 800 and work execution data 900.
- the operation program 800 is a program for actually operating the arm type robot 11 and includes a main program 810 and a sub program 820.
- the main program 810 is a program (main routine) for executing main processing of the operation program 800.
- the subprogram 820 is a program (subroutine) that is called from the main program 810 and executes predetermined processing (for example, “put”, “throw away”, etc.), and the operation programs 710 a to 710 c generated by the robot teaching apparatus 10. including.
- the operation program 800 is created by appropriately using the operation programs 710a to 710c generated by the user.
- Work execution data 900 is data indicating that the work of the operation programs 710a to 710c has been executed.
- the work execution data 900 includes time data 910 (time information) indicating “time” when the work is executed, work type data 920 indicating “work type” (for example, “place”), and “work target”.
- the identification data 930 (identification information) indicating the workpiece ".”
- FIG. 12 is a flowchart illustrating an example of processing when the operation program 710 is executed.
- the processing device 26 executes the main program 810 and the operation program 710a related to the “place” work is called as the sub program 820.
- the processing device 26 executes the called operation program 710a (S200). Then, the processing device 26 controls each joint of the arm type robot 11 so that the arm type robot 11 performs the operation specified by the operation program 710a (S201). As a result, the arm type robot 11 moves the “music box” from the “music box A1” position to the “music box B9” position and “places” it on the shelf. Further, the processing device 26 refers to a timer (not shown) that measures time, acquires “time” at which the “placement” operation is executed as time data 910, and stores it in the storage device 27 (S202).
- the processing device 26 acquires the work information I1 indicating the “place” work of the operation program 710a as work type data 920 indicating that the “place” work has been executed, and stores it in the storage device 27 (S203). . Further, the processing device 26 acquires the identification information I2 indicating that the work target of the operation program 710a is “music box A1” as the identification data 930 and stores it in the storage device 27 (S204). When the processing S204 is executed, the processing of the sub program 820 (operation program 710a) is ended, and the processing device 26 executes the processing defined by the main program 810.
- the processing when the operation program 710a related to the “place” operation is executed as the subprogram 820 has been described, but the same applies to other operations (for example, “discard”).
- the operation program 710 a (processing S 200 to S 204) is executed, and new operation execution data 900 is stored in the processing device 26.
- information stored in the storage device 27 is exchanged with an external device or the like via the communication device 28. Therefore, the user can grasp what work was performed at what time, and the work target and the number of work by referring to the work execution data 900 stored in the storage device 27.
- the work execution data 900 stored in the storage device 27 may include a command value for a motor that moves the axes and joints of the robot when the work is performed.
- the work execution data 900 may include an effective value when the motor is driven. Note that the motor command value and effective value are the motor current, voltage, and torque.
- FIG. 13 is a diagram showing an example of a setting screen 300 displayed on the display device 24 when teaching the arm type robot 11.
- the setting screen 300 includes a function name designation area 70, a work start position input area 71, a work end position input area 72, an approach point setting area 73, and an escape point setting area 74.
- the function name designation area 70 a “function name” indicating an operation program (subroutine) to be created is designated.
- the function name designation area 70 includes a work type designation area 70a and a function name input area 70b.
- a work to be executed by the arm type robot 11 is designated.
- a work such as placing (“place”), taking (grabbing) (“pick up”), or discarding (“dispose”) can be selected.
- a file name for example, date or reference number
- the work start position input area 71 (first information input section), information (first information) indicating a work provided at the start position of the operation of the hand 50 of the arm type robot 40 is input.
- first information information indicating a work provided at the start position of the operation of the hand 50 of the arm type robot 40 is input.
- the work end position input area 72 (second information input unit), information (second information) indicating the work provided at the end position of the operation of the hand 50 of the arm type robot 40 is input.
- second information information indicating the work provided at the end position of the operation of the hand 50 of the arm type robot 40 is input.
- the user has previously placed the work to be moved at the work end position (second position) after the movement.
- the approach point setting area 73 includes a work work designation area 73a, a distance designation area 73b, and a direction instruction area 73c. Information input to each of the work work designation area 73a, the distance designation area 73b, and the direction instruction area 73c corresponds to third information.
- the distance d1 (first distance) from the workpiece selected in the work workpiece designation area 73a is input to the distance designation area 73b.
- a direction v1 that is substantially perpendicular to the surface (for example, the bottom surface) of the workpiece selected in the work workpiece designation area 73a is instructed.
- the escape point setting area 74 (fourth information input unit), a point (escape point) through which the TCP of the hand 50 passes when the movement of the hand 50 is finished and the hand 50 is returned to the original position or the like is set.
- the escape point is a point set to prevent the hand 50 from hitting an obstacle or another workpiece after the workpiece is placed.
- the escape point setting area 74 includes a work work designation area 74a, a distance designation area 74b, and a direction instruction area 74c.
- the information input to each of the work work designation area 74a, the distance designation area 74b, and the direction instruction area 74c corresponds to fourth information.
- the work work designation area 74a information indicating the work placed at the end position of the operation of the hand 50 is input.
- information other than information indicating the work placed at the end position of the operation of the hand 50 may be input.
- the distance designation area 74b In the distance designation area 74b, the distance d2 (second distance) from the workpiece selected in the work workpiece designation area 74a is input.
- a direction v2 that is substantially perpendicular to the surface (for example, the bottom surface) of the workpiece selected in the work workpiece designation area 74a is instructed.
- the directions v1 and v2 are determined based on the workpiece edge, the workpiece normal vector, the workpiece center axis, and the like included in the workpiece model.
- FIG. 14 is a diagram illustrating functional blocks implemented in the CPU 20 when the CPU 20 executes a predetermined teaching program.
- the CPU 20 includes a display control unit 400, a first acquisition unit 401, a second acquisition unit 402, a third acquisition unit 403, a fourth acquisition unit 404, a calculation unit 405, an operation program generation unit 406, and A functional block of the transmission unit 407 is provided.
- the display control unit 400 displays various information on the display device 24 based on an instruction from the input device 23, a processing result of a teaching program executed by the CPU 20, or the like. For example, the display control unit 400 displays the virtual space 100 illustrated in FIG. 3 and the setting screen 300 illustrated in FIG. 13 on the display device 24. In addition, the display control unit 400 displays an animation of the hand 50 when moving the workpiece on the display device 24.
- the first acquisition unit 401 uses the workpiece TCP (predetermined point) as the teaching point P1 (first point) based on the information (three-dimensional CAD data) indicating the workpiece input in the work start position input area 71. get.
- 2nd acquisition part 402 acquires TCP of a work as teaching point P2 (2nd point) based on information (three-dimensional CAD data) which shows a work inputted into work end position input area 72.
- the point acquired by the first acquisition unit 401 and the second acquisition unit 402 is the TCP of the workpiece, but may be a point indicating the center of gravity of the workpiece, for example.
- 3rd acquisition part 403 acquires approach point P3 (3rd point) which a work passes, when a work is moved based on information inputted into approach point setting area 73. Specifically, the third acquisition unit 403 acquires the TCP (predetermined point) of the work from information indicating the work selected in the work work designation area 73a. Then, the third acquisition unit 403 acquires, as an approach point P3, a point separated from the work TCP by the distance d1 in the designated direction v1.
- the fourth acquisition unit 404 acquires the escape point P4 (fourth point) through which the hand 50 passes when the hand 50 is moved based on the information input in the escape point setting area 74. Specifically, the fourth acquisition unit 404 acquires the work TCP from the information indicating the work selected in the work work designation area 74a. Then, the fourth acquisition unit 404 acquires, as an escape point P4, a point separated from the work TCP by the distance d2 in the designated direction v2. Note that the starting point for determining the approach point P3 and the escape point P4 is the TCP of the workpiece, but it may be a point indicating the center of gravity of the workpiece, for example.
- the calculation unit 405 calculates a trajectory for moving the hand 50 based on the teaching points P1, P2, the approach point P3, and the escape point P4. Further, the calculation unit 405 stores the calculation result in the storage device 22.
- the operation program generation unit 406 generates an operation program 710 for operating each joint of the actual arm type robot 11 based on the calculation result of the calculation unit 405.
- the operation program generation unit 406 stores the generated operation program 710 in the storage device 22.
- the transmission unit 407 transmits the operation program 710 to the processing device 26 of the arm type robot 11 based on an instruction from the user. As a result, the arm type robot 11 can operate according to the calculation result.
- FIG. 15 is a diagram illustrating the setting screen 301 in a state where various information is input to the setting screen 300.
- FIG. 16 is a flowchart illustrating an example of processing executed by the robot teaching apparatus 10.
- the trajectory of the hand 50 when the arm type robot 40 moves the “music box” from the “music box A1” position (first position) to the “music box B9” position (second position).
- a case where the trajectory of the hand 50 after the “music box” is placed on the shelf 45 is calculated will be described.
- “music box A1” and ten “music boxes B1” to “music box B10” are arranged. Is arranged to calculate For example, when “music box A1” and “music box B1” are selected, the trajectory of hand 50 when moving “music box” from the position of “music box A1” to the position of “music box B1” is calculated.
- a work placing ("place") work is designated as the work, and "OG1_to_shelf” is input as the file name indicating the work.
- “music box A1” (“OG A1”) gripped by the hand 50 is input to the work start position input area 71, and “music box B9 placed on the shelf 45 is input to the work end position input area 72.
- “(" OG B9 ") is entered.
- “Music box B9” is input to the work work specification area 73a of the approach point setting area 73, “200” is input to the distance specification area 73b, and “edge” of the music box B9 is input to the direction instruction area 73c. It is specified.
- “Music box B9” is input to the work work designation area 74a of the escape point setting area 74, “100” is input to the distance designation area 74b, and “edge” of the music box B9 is displayed in the direction indication area 74c. It is specified.
- the first acquisition unit 401 acquires the TCP of the music box A1 as the teaching point P1 based on the information of the music box A1 input to the work start position input area 71 (S1000).
- the second acquisition unit 402 acquires the TCP of the music box B9 as the teaching point P2 based on the information of the music box B9 input to the work end position input area 72 (S1001).
- the third acquisition unit 403 starts from the TCP of the music box B9 selected in the work work designation area 73a, and is separated by a distance d1 “200” mm in the edge direction v1 of the music box B9.
- a point is acquired as an approach point P3 (S1002).
- S1002 approach point
- the x-axis direction is the longitudinal direction of the surface on which the music box of the shelf 45 is placed (hereinafter referred to as the placement surface), the y-axis direction is the direction perpendicular to the x-axis on the placement surface, and the z-axis The direction is a direction perpendicular to the placement surface.
- the bottom surface of the music box B9 is the xy plane in FIG. 17, and the specified edge of the music box B9 is perpendicular to the bottom surface of the music box B9. Therefore, the edge direction v1 is the z-axis direction (+ z direction).
- the fourth acquisition unit 404 starts from the TCP of the music box B9 selected in the work work designation area 74a and starts from the direction v2 (+ z direction) based on the edge of the music box B9 with a distance d2 “100.
- a point separated by “mm” is acquired as an escape point P4 (S1003).
- the distances d1 and d2 are distances longer than the height of the music box B9 in the z direction, for example.
- the calculation unit 405 calculates the trajectory of the hand 50 when moving the hand 50 based on the teaching points P1, P2, the approach point P3, and the escape point P4 (S1004). Specifically, first, the calculation unit 405 calculates the trajectory O1 of the hand 50 when moving the “music box” from the teaching point P1 to the approach point P3. Further, the calculation unit 405 calculates the trajectory O2 of the hand 50 when moving the “music box” from the approach point P3 to the teaching point P2. Further, the calculation unit 405 calculates a trajectory O3 for moving the hand 50 to the escape point P4. When the trajectory O3 is calculated, for example, the TCP of the hand 50 stored in the storage device 22 is used.
- the motion program generation unit 406 generates a motion program 710 for operating each joint of the actual arm type robot 11 based on the calculation result of the calculation unit 405, and stores it in the storage device 22 (S1005). At this time, the calculation result is also stored in the storage device 22 (S1005). Further, the display control unit 400 acquires the operation program 710 stored in the storage device 22 and causes the display device 24 to display an animation in which the hand 50 on the virtual space 100 moves along the calculated trajectory (S1006).
- FIG. 18 is a diagram illustrating an example of the operation of the hand 50 when an animation is displayed. First, the hand 50 moves along the trajectory O1 so that the music box TCP gripped by the hand 50 coincides with the approach point P3.
- the hand 50 moves along the trajectory O2 so that the gripped TCP of the music box matches the TCP2.
- the hand 50 moves along the track O3 so that the TCP of the hand 50 coincides with the escape point P4. Since the hand 50 moves along the tracks O2 and O3, the hand 50 moves along a substantially vertical direction of a position where the music box is placed (position of “music box B9”). For this reason, when the hand 50 places the music box, even if there are other music boxes (for example, music box B4) in the vicinity, the music box held by the hand 50 or the hand 50 hits another obstacle. There is no.
- the trajectory of the hand 50 is calculated based on the music box TCP. For this reason, the music box is accurately placed at a desired position regardless of the position of the music box in the hand 50.
- the user can set the movement start position and the end position of the work in the work start position input area 71 and the work end position input area 72 when moving the work. Therefore, since the user does not need to specify complicated coordinates or the like, the user can easily teach the arm type robot 11.
- the approach point P3 is set based on the music box information provided in the virtual space 100.
- the user can easily set the approach point P3 as compared with the case of directly specifying the coordinates of the approach point P3.
- the escape point P4 is set based on the music box information provided in the virtual space 100. As a result, the user can easily set the escape point P4 as compared with the case of directly specifying the coordinates of the escape point P4.
- Example 2 is for making an understanding of this invention easy, and is not for limiting and interpreting this invention.
- the present invention can be changed and improved without departing from the gist thereof, and the present invention includes equivalents thereof.
- the hand 50 “holds” the “music box”, which is a work, as a held state, but is not limited thereto.
- a suction pad that can vacuum-suck a workpiece may be used. In such a case, the workpiece is “held” by the suction pad.
- the work is “music box” and the support member on which “music box” is placed (supported) is the shelf 45, but is not limited thereto.
- the workpiece may be a “cup (container)” and the “cup” may be stored (supported) in a “cup holder”.
- the “cup holder” may be configured not only to store the “cup” but also to support only a part of the outer surface of the “cup holder”. Even when such a “cup” and “cup holder” are used, the same effects as in the present embodiment can be obtained. For example, when the robot moves so that the “cup” is supported by the tilted “cup holder”, the approach point P3 and the escape point P4 are based on the bottom surface of the tilted “cup”. Is acquired.
- the robot to be taught is a 6-axis multi-joint robot, but it may be a 3-axis robot, for example.
- the robot teaching device 10 can increase the degree of freedom of TCP (teaching point) when only the three-axis trajectory needs to be calculated when moving the workpiece even if the robot to be taught is a six-axis robot.
- the trajectory may be calculated by changing from 6 to 3.
- the designated direction v1 at the approach point P3 is substantially from TCP to the bottom surface of the workpiece.
- the direction is vertical, the present invention is not limited to this. For example, it may be substantially horizontal with respect to the bottom surface of the workpiece.
- the direction v2 at the escape point P4 is also a direction that is substantially perpendicular to the bottom surface of the workpiece from the TCP, but may be a substantially horizontal direction with respect to the bottom surface of the workpiece, for example.
- FIG. 3 shows a state where the hand 50 is holding a workpiece, but when the hand 50 is not holding a workpiece, the display control unit 400 does not display the workpiece on the display device 24.
- the user can select any one of a plurality of works registered in the work type designation area 70a (place (“place”), take (grab) (“pick ⁇ ⁇ up”), discard (“dispose”)). You can select one work.
- the selected work is included in the operation program 720 as work information I1. For this reason, for example, the operation selected by the user is reliably reflected in the operation program 720 without describing the operation program. Therefore, the user can easily set the work.
- the processing device 26 determines, for example, whether or not the workpiece has a predetermined shape (whether or not the workpiece is scratched), that is, whether or not the workpiece has been processed before the processing S200. You may determine whether it is inferior goods. Then, when the workpiece is not a defective product, the processing device 26 performs a placing (“place”) or taking (grabbing) (“pick up”) operation (first operation), and when the workpiece is a defective product. Alternatively, an operation of disposing (“dispose”) (second operation) may be performed. For this reason, the user can grasp the number of defective workpieces from the number of times that the work to be discarded (“dispose”) is performed with reference to the work execution data 900 stored in the storage device 27.
- the calculation unit 405 of the robot teaching apparatus 10 determines the trajectory of the hand 50 when moving the music box based on the TCP of the music box A1 at the position before the movement and the TCP of the music box B9 at the position after the movement. (For example, processing S1004).
- processing S1004 since the music box TCP is used instead of the TCP of the hand 50, a change in the position of the work with respect to the hand 50 (for example, whether the work is gripped at the tip of the hand or the back of the hand), etc. The influence of is suppressed.
- the arm type robot 11 can move the workpiece to a desired position with high accuracy by using the calculation result of the calculation unit 405.
- the calculation unit 405 calculates a trajectory passing through the approach point P3 in a state where the hand 50 holds the music box by the holding unit (for example, processing S1004).
- another music box or the like may be placed around the position where the music box is placed (for example, the position of the music box B9).
- the music box to be moved may hit another music box.
- the music box is placed via the approach point P3 defined in the vertical direction from the TCP of the music box B9. Therefore, the calculation unit 405 can calculate the trajectory that prevents the workpiece to be moved from hitting the obstacle or the like even when there is an obstacle around the target position.
- the calculation unit 405 calculates a trajectory through the escape point P4 in a state where the hand 50 does not hold the music box as a trajectory for moving the hand 50 after placing the music box (for example, processing S1004). For example, another music box may be placed around the position of the placed music box (for example, the position of the music box B9). In such a case, if the hand 50 is directly moved to the set position, the hand 50 may hit another music box.
- a trajectory for moving the hand 50 from the music box B9 TCP via the escape point P4 defined in the vertical direction is calculated. Accordingly, the calculation unit 405 can calculate a trajectory that prevents the hand 50 from hitting an obstacle or the like even when there is an obstacle around the target position.
- the trajectory calculation of the calculation unit 85 at the time of placing the workpiece (“place”) has been described, but the same applies to the work of picking up the workpiece (“pick up”). That is, when grasping the music box, the hand 50 passes through the approach point P3 in a state where the music box is not held. Then, as a trajectory for moving the hand 50 after grabbing the music box, the hand 50 passes through the escape point P4 while holding the music box.
- the display control unit 400 displays an animation of the hand 50 moving along the trajectory on the display device 24. Since the display control unit 400 displays only the animation of the hand 50 without displaying the animation of the entire arm type robot 40, the load on the CPU 20 is reduced.
- the processing device 26 stores identification data 930 indicating the work that has become “work target” in the “placement” work in the storage device 27. (Process S204). For this reason, the user can easily grasp not only what work has been executed but also the work that is the work target by referring to the information stored in the storage device 27.
- the processing device 26 stores time data 910 indicating the time when the “placement” work is performed in the storage device 27 (processing S202). . For this reason, the user can easily grasp what work was performed and when by referring to the information stored in the storage device 27.
- a predetermined work for example, “placement” work
- the processing device 26 executes the operation program 710, the processing device 26 acquires information (for example, command values and effective values of the motor current value, voltage, torque, and the like) related to the motor that operates the arm type robot 11, and Stored as work execution data 900. For this reason, the user can grasp the detailed state of the motor.
- information for example, command values and effective values of the motor current value, voltage, torque, and the like
- the processing device 26 may display the contents of the work execution data 900 on the display device (not shown) of the arm type robot 11 or the display device 24. In such a case, the user can easily grasp the work performed.
- Example 2 is for making an understanding of this invention easy, and is not for limiting and interpreting this invention.
- the present invention can be changed and improved without departing from the gist thereof, and the present invention includes equivalents thereof.
- the same processing as that of the present embodiment is executed also in the work of picking up (grabbing) a workpiece (“pick up”).
- the robot teaching apparatus 10 calculates the trajectory of the hand 50 based on the TCP of the music box A1 at the position before the movement and the TCP of the music box B9 at the position after the movement even when taking the workpiece ( For example, process S104).
- the hand 50 takes a workpiece, the hand 50 does not actually hold the workpiece.
- the trajectory calculated in step S104 or the like assuming that the hand 50 is gripping the workpiece is the same as the trajectory when taking the workpiece.
- the “work” provided at the work start position is calculated as a trajectory to be moved to the “work” provided at the work end position. That is, the trajectory for moving the “workpiece” from the work start position (first position) to the work end position (second position) is not only the trajectory for actually moving the “workpiece” but also the hand. 50 also includes a trajectory when the “work” is virtually moved (trajectory when the workpiece is picked up (“pick up”)).
- the processing device 26 stores the work execution data 900 indicating that the work has been executed in the storage device 27, but is not limited thereto.
- the processing device 26 may store the work information I1 in the storage device 27 instead of the work execution data 900 to indicate that the work has been executed. Even in such a case, the same effect as in the present embodiment can be obtained.
- the operation program generation unit 83 acquires the identification information I2 based on the file name, the operation program generation unit 83 is not limited to this.
- the operation program generation unit 83 may acquire the identification information I2 based on the work information in the work start position input area 71.
- the identification information I2 may be acquired based on the work information in the work end position input area 72.
- processing is executed by the processing device 26 of the arm type robot 11 and various information is stored in the storage device 27, the present invention is not limited to this.
- various processes may be executed by a CPU (not shown) such as a personal computer outside the arm type robot 11 and various information may be stored in a nonvolatile memory (storage unit) accessed by the CPU (processing unit). .
- the storage device 27 is not necessarily included in the arm type robot 11.
- the storage device 27 may be provided outside the arm type robot apparatus.
- various processing is executed by the processing device 26 of the arm type robot 11, and the communication device 28 is transmitted to the external storage device 27 via a communication network such as the Internet.
- Various types of information may be stored in the external storage device 27.
- the processing device 26 can grasp the number of workpieces based on information from a camera (not shown), the processing device 26 puts the number of workpieces placed on the shelf and places them on the shelf (“place”). By comparing the number of operations, the number of failed operations of the “place” operation can be detected. Then, the processing device 26 may store such work failure count as the work execution data 900 in the storage device 27. In this case, the user can grasp not only the number of times of work but also the number of work failures.
- whether or not the product is defective may be determined by causing the processing device 26 party to measure the weight of the work when the arm 51 lifts the work, and determining the processing device 26 based on the weight. For example, when a part of the work is missing, the work becomes lighter than a predetermined weight, so that the processing device 26 can determine that the work is defective.
- the processing device 26 may store in the storage device 27 information that associates the determination result that the product is “defective” with the identification data 930 that indicates the work that has become the “work target”. By referring to such information, the user can grasp the lot number of the defective product and analyze the defective product.
- Display control part 401 ... First acquisition unit, 402 ... Second acquisition unit, 403 ... Third acquisition unit, 404 ... Fourth acquisition unit, 405 ... Calculation unit, 406 ... Operation program generation unit, 4 7 ... transmission unit, 600 ... program, 610 ... teaching program, 620 ... CAD program, 700 ... data, 800 ... operation program, 810 ... main program, 820 ... subprogram
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
【課題】ロボットが実行した作業を容易に把握することができる技術を提供する。 【解決手段】ロボット作業管理システムは、ロボットに所定の作業に対応する動作が教示されることにより生成された、前記所定の作業に関する作業情報を含む動作プログラムを実行する処理部と、前記処理部により前記動作プログラムが実行され、前記ロボットが前記所定の作業に対応する動作を実行すると、前記所定の作業が実行されたことを示す作業実行情報が記憶される記憶部と、を備える。
Description
本発明は、ロボット作業管理システム、ロボット作業管理プログラムに関する。
ロボットを工場のライン等で使用するためには、利用者は、ロボットに対して動きを教示(ティーチング)する必要がある。例えば、特許文献1には、作業対象物であるワークやロボットをコンピュータにより仮想空間上に配置し、ロボットの動作プログラムを作成する技術(ティーチング技術)が開示されている。
ところで、一般に、ロボットのハンドやアームの軌道が似ている場合、作業の種類(例えば、ワークを配置する場合やワークを取る場合)等に関わらず、同様の動作プログラムが実行される。この時の動作プログラムは、ワークを配置する場合も、取る場合も、ロボットの動作開始点から作業点への移動として記述されている。このため、実行された動作プログラムを参照しても、ロボットがどのような作業を実行したかを直ちに特定することは困難であった。
本発明は上記課題を鑑みてなされたものであり、ロボットが実行した作業を容易に把握することができる技術を提供することを目的とする。
上記課題を解決する本発明のロボット作業管理システムは、ロボットに所定の作業に対応する動作が教示されることにより生成された、前記所定の作業に関する作業情報を含む動作プログラムを実行する処理部と、前記処理部により前記動作プログラムが実行され、前記ロボットが前記所定の作業に対応する動作を実行すると、前記所定の作業が実行されたことを示す作業実行情報が記憶される記憶部と、を備えることを特徴とする。
本発明によれば、利用者は、ロボットが実行した作業を容易に把握することが可能となる。
---ロボット作業管理システム200の構成---
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、ロボット作業管理システム200の構成を示す図である。ロボット作業管理システム200は、ロボット教示装置10及びアーム型ロボット11を含んで構成され、アーム型ロボット11の作業を管理する。
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、ロボット作業管理システム200の構成を示す図である。ロボット作業管理システム200は、ロボット教示装置10及びアーム型ロボット11を含んで構成され、アーム型ロボット11の作業を管理する。
<<ロボット教示装置10>>
ロボット教示装置10(ロボット教示部)は、工場のラインに設置されたアーム型ロボット11に対し動作を教示するための装置であり、CPU(Central Processing Unit)20、メモリ21、記憶装置22、入力装置23、表示装置24、及び通信装置25を含んで構成される。
ロボット教示装置10(ロボット教示部)は、工場のラインに設置されたアーム型ロボット11に対し動作を教示するための装置であり、CPU(Central Processing Unit)20、メモリ21、記憶装置22、入力装置23、表示装置24、及び通信装置25を含んで構成される。
CPU20は、メモリ21や記憶装置22に格納されたプログラムを実行することにより、ロボット教示装置10における様々機能を実現する。
メモリ21は、例えばRAM(Random-Access Memory)等であり、プログラムやデータ等の一時的な記憶領域として用いられる。
記憶装置22は、例えばハードディスク等の不揮発性の記憶手段領域であり、プログラム600や様々なデータ700が格納される。図2は、記憶装置22に格納される情報を示す図である。同図に示すように、プログラム600の中には、アーム型ロボット11に対する教示を行う機能を実現するための教示プログラム610や、3次元CAD(Computer Aided Design)機能を実現するためのCADプログラム620が含まれる。
また、データ700には、アーム型ロボット11の3次元モデルを示す3次元CADデータDa、作業対象物であるワークの3次元モデルを示す3次元CADデータDb、ワークが載置される棚の3次元モデルを示す3次元CADデータDcが含まれる。3次元CADデータDaは、アーム型ロボット11のモデルが配置される仮想空間のワールド座標系、およびアーム型ロボット11のモデルのローカル座標系の情報を含む。また、3次元CADデータDb,Dcに関しても、3次元CADデータDaと同様である。ただし、本実施形態では、複数(n個)のワークが用いられるため、記憶装置22には、複数のワークのそれぞれに対応する3次元CADデータDb1~3次元CADデータDbnが格納されている。
また、データ700には、アーム型ロボット11を動作させる動作プログラム710も含まれる。なお、ロボット教示装置10は、3次元CADデータを用いながら教示プログラム610を実行することにより、動作プログラム710を生成する。
入力装置23は、例えばタッチパネルやキーボードであり、利用者の操作結果が入力を受け付ける装置である。
表示装置24は、例えばディスプレイであり、各種情報や処理結果を表示する装置である。
通信装置25は、ネットワークインターフェイスなどの通信手段であって、インターネットやLAN(Local Area Network)等の通信網(不図示)を介して外部のコンピュータやアーム型ロボット11との間でデータの送受信を行う。
<<アーム型ロボット11>>
アーム型ロボット11は、6軸(x軸、y軸、z軸、および各軸の回転方向θx、θy、θz)の多関節のロボットである。アーム型ロボット11は、処理装置26、記憶装置27、および通信装置28を含んで構成される。
アーム型ロボット11は、6軸(x軸、y軸、z軸、および各軸の回転方向θx、θy、θz)の多関節のロボットである。アーム型ロボット11は、処理装置26、記憶装置27、および通信装置28を含んで構成される。
処理装置26(処理部)は、動作プログラム710等を実行することにより、アーム型ロボット11の動作を制御する装置である。
記憶装置27(記憶部)は、例えばハードディスク等の不揮発性の記憶手段領域であり、動作プログラム710を含む様々な情報が格納される。なお、処理装置26および記憶装置27の詳細については後述する。
通信装置28は、ネットワークインターフェイスなどの通信手段であって、外部の各種装置やロボット教示装置10との間でデータの送受信を行う。
---階層構造画面---
図3は、仮想空間においてアーム型ロボット11等のモデルの配置を定めるために、利用者が参照・編集する階層構造画面の一例を示す図である。
図3は、仮想空間においてアーム型ロボット11等のモデルの配置を定めるために、利用者が参照・編集する階層構造画面の一例を示す図である。
画面30は、ワールド座標系や各種構成の階層構造(ツリー構造)を示す画面であり、CPU20が、教示プログラム610を実行することにより表示装置24に表示される。
画面30では、最上位の階層に、ワールド座標系を示す「World」が設定されている。そして、ワールド座標系の下の階層には、アーム型ロボット11のモデルを示す「Robot」と、ワークが載置される棚を示す「棚」が設定されている。このため、「Robot」および「棚」は、仮想空間において、ワールド座標系で定められた位置に配置される。
また、「Robot」の階層の下には、アーム型ロボット11のハンドのモデルを示す「HAND」が設定され、「HAND」の階層の下には、ワークであるオルゴールA1を示す「OG A1」が設定されている。このため、「HAND」は、「Robot」を基準とするローカル座標系で定められた位置に配置され、「OG A1」は、「HAND」を基準とするローカル座標系で定められた位置に配置される。
また、「棚」の階層の下には、10個のオルゴールB1~B10を示す「OG B1」~「OG B10」が設定されている。このため、「OG B1」~「OG B10」は、「棚」を基準とするローカル座標系で定められた位置に配置される。
なお、画面30で示された階層構造では、ある階層の構成の位置が変更されると、その階層の下に配置された構成の位置も同様に変更される。例えば、3次元CADデータDcの値が変更され、「棚」のワールド座標系における位置が変更されると、「棚」の下の階層に設けられた「OG B1」~「OG B10」のワールド座標系における位置も「棚」に伴って移動する。ただし、「OG B1」~「OG B10」のそれぞれの「棚」に対する位置は、「棚」を基準とするローカル座標系で定められている。したがって、「棚」のワールド座標系に対する位置が変更された場合であっても、「OG B1」~「OG B10」のそれぞれの「棚」に対する位置は変化しない。
---仮想空間---
図4は、画面30に含まれる構成を反映した仮想空間100を示す図である。仮想空間100は、CPU20が、教示プログラム610を実行することにより表示装置24に表示される。
図4は、画面30に含まれる構成を反映した仮想空間100を示す図である。仮想空間100は、CPU20が、教示プログラム610を実行することにより表示装置24に表示される。
仮想空間100には、アーム型ロボット40、オルゴールA1,B1~B10、棚45が設けられている。
アーム型ロボット40は、「Robot」(3次元CADデータDa)に基づいて、表現されたモデルであり、ハンド(保持部)50と、ハンド50が取り付けられるアーム51とを含む。なお、上述したように、仮想空間100におけるアーム51の位置は、ワールド座標系で定められた位置に配置され、ハンド50の位置は、アーム51を基準とするローカル座標系で定められた位置に配置される。
オルゴールA1は、「OG A1」(3次元CADデータDb1)に基づいて表現された、ワークを示すモデルである。仮想空間100におけるオルゴールA1の位置は、ハンド50を基準とするローカル座標系で定められた位置、ここでは、ハンド50で把持(保持)される位置に配置される。すなわち、ワークを保持部により保持した状態である。また、ワークを保持部により保持していない状態とは、ハンド50がワークを把持していない状態である。
オルゴールB1~B10は、「OG B1」~「OG B10」(3次元CADデータDb2~Db11)に基づいて表現されたモデルである。仮想空間100におけるオルゴールB1~B10の位置は、棚45を基準とするローカル座標系で定められた位置に配置されている。例えば、ここでは、オルゴールB1~B10は、棚45の上に2列で配置される。
棚45は、「棚」(3次元CADデータDc)に基づいて表現されたモデルであり、ワールド座標系で定められた位置に配置される。
---設定画面---
図5は、アーム型ロボット11を教示する際に表示装置24に表示される設定画面60の一例を示す図である。設定画面60は、CPU20が、教示プログラム610を実行することにより表示装置24に表示される。
図5は、アーム型ロボット11を教示する際に表示装置24に表示される設定画面60の一例を示す図である。設定画面60は、CPU20が、教示プログラム610を実行することにより表示装置24に表示される。
設定画面60は、関数名指定エリア70、作業開始位置入力エリア71、作業終了位置入力エリア72を含んで構成される。
関数名指定エリア70では、作成される動作プログラム710を示す「関数名」が指定される。関数名指定エリア70は、作業種類指定エリア70aおよび関数名入力エリア70bを含む。
作業種類指定エリア70a(選択部)では、複数の作業から、アーム型ロボット11に実行させる作業が、利用者により選択される。具体的には、作業種類指定エリア70aでは、置く(“place”)、取る(つかむ)(“pick up”)、捨てる(“dispose”)等の作業が選択可能である。
関数名入力エリア70b(入力部)には、利用者が指定する作業を示すファイル名が入力される。なお、本実施形態では、利用者は、ファイル名に、作業対象となるワークを識別するための情報(識別情報)として、ワークを示す情報(例えば、オルゴールA1「OG A1」)を含めることとする。
作業開始位置入力エリア71では、アーム型ロボット40のハンド50の動作の作業開始位置に関する情報が入力される。なお、ハンド50の動作の開始位置は、仮想空間100におけるワーク若しくはハンド50の位置、又は仮想空間100のワールド座標系の位置で指定される。
作業終了位置入力エリア72では、アーム型ロボット40のハンド50の動作の終了位置に関する情報が入力される。なお、ハンド50の動作の終了位置は、仮想空間100におけるワーク若しくはハンド50の位置、又は仮想空間100のワールド座標系の位置で指定される。
---CPU20に実現される機能ブロック---
図6は、CPU20が所定のプログラムを実行することによりCPU20に実現される機能ブロックを示す図である。同図に示すように、CPU20は、第1取得部80、第2取得部81、計算部82、動作プログラム生成部83、及び送信部84の機能ブロックを備える。
図6は、CPU20が所定のプログラムを実行することによりCPU20に実現される機能ブロックを示す図である。同図に示すように、CPU20は、第1取得部80、第2取得部81、計算部82、動作プログラム生成部83、及び送信部84の機能ブロックを備える。
第1取得部80は、作業開始位置入力エリア71に入力されたワークを示す情報(3次元CADデータ)に基づいて、ワークのTCP(所定の点)を教示点P1(第1の点)として取得する。
第2取得部81は、作業終了位置入力エリア72に入力されたワークを示す情報(3次元CADデータ)に基づいて、ワークのTCPを教示点P2(第2の点)として取得する。なお、ここでは、第1取得部81および第2取得部82が取得する点をワークのTCPとしたが、例えば、ワークの重心を示す点であっても良い。
計算部82は、教示点P1,P2に基づいて、ハンド50を移動させる軌道の計算を行う。また、計算部82は、計算結果を、記憶装置22に格納する。
動作プログラム生成部83は、計算部82の計算結果に基づいて、実際のアーム型ロボット11の各関節を動作させる動作プログラム710を生成する。また、動作プログラム生成部83は、生成した動作プログラム710を記憶装置22に格納する。なお、詳細は後述するが、動作プログラム710には、作業の種類を示す作業情報I1と、作業対象となるワークを識別するための識別情報I2とが含まれる。
送信部84は、利用者からの指示に基づいて、動作プログラム710を、アーム型ロボット11に送信する。
---動作プログラム710生成処理---
以下、ロボット教示装置10が、動作プログラム710を生成する際の処理について説明する。
以下、ロボット教示装置10が、動作プログラム710を生成する際の処理について説明する。
<<「置く」(“place”)作業>>
ここでは、アーム型ロボット40が「オルゴール」を、「オルゴールA1」の位置から「オルゴールB9」の位置へ「置く」作業が教示され、生成される動作プログラム710aについて説明する。
ここでは、アーム型ロボット40が「オルゴール」を、「オルゴールA1」の位置から「オルゴールB9」の位置へ「置く」作業が教示され、生成される動作プログラム710aについて説明する。
図7は、設定画面60に対し各種情報が入力された状態の設定画面61を示す図である。設定画面61の作業種類指定エリア70aに示すように、作業としては、ワークを「置く」(“place”)作業が指定されている。また、ファイル名としては、「オルゴールA1」(「OG A1」)を含む名称“OG A1_to_shelf”が入力されている。また、作業開始位置入力エリア71には、ハンド50に把持された「オルゴールA1」(「OG A1」)が入力され、作業終了位置入力エリア72には、棚45に載置された「オルゴールB9」(「OG B9」)が入力されている。なお、図3の仮想空間100においては、「オルゴールA1」と、10個の「オルゴールB1」~「オルゴールB10」が配置されているが、これらは、例えば「置く」作業を教示し、ハンド50の軌道を計算するために配置されているものである。
図8は、ロボット教示装置10が動作プログラム710aを生成する際に実行する処理の一例を示すフローチャートである。
まず、第1取得部80は、作業開始位置入力エリア71に入力されたオルゴールA1の情報に基づいて、オルゴールA1のTCPを教示点P1として取得する(S100)。つぎに、第2取得部81は、作業終了位置入力エリア72に入力されたオルゴールB9の情報に基づいて、オルゴールB9のTCPを教示点P2として取得する(S101)。そして、計算部82は、教示点P1,P2に基づいて、ハンド50を移動させる際のハンド50の軌道を計算し、計算結果を記憶装置22に格納する(S102)。また、動作プログラム生成部83は、作業種類指定エリア70aで指定された作業の種類(例えば、「置く」)を示す情報を、作業情報I1として取得する(S103)。さらに、動作プログラム生成部83は、例えば、ファイル名(“OG A1_to_shelf”)に基づいて、作業対象となるワークを識別するための識別情報I2を取得する(S104)。なお、ここでは、ファイル名のうち、オルゴールA1を示す情報(“OG A1”)が、識別情報I2となる。動作プログラム生成部83は、計算結果に基づいて、実際のアーム型ロボット11の各関節を動作させる動作プログラム710aを生成し、記憶装置22に格納する(S105)。なお、処理S105において、動作プログラム生成部83は、作業情報I1および識別情報I2を含む動作プログラム710aを生成する。
以下、「置く」(“place”)作業と同様に、「取る」(“pick up”)作業、および「捨てる」(“dispose”)作業のそれぞれが教示され、生成される動作プログラム710b,710cについて説明する。
<<「取る」(“pick up”)作業>>
例えば「オルゴールA1」の位置に設けられたハンド50が「オルゴールB5」を取得する際に生成される動作プログラム710bについて説明する。この際、図9に示す設定画面62の作業種類指定エリア70aには、ワークを「取る」(“pick up”)作業が指定されており、ファイル名としては、「オルゴールB5」を含む名称“OG B5_from_shelf”が入力されている。また、作業開始位置入力エリア71には、「オルゴールA1」が入力され、作業終了位置入力エリア72には、「オルゴールB5」が入力されている。なお、ここでは、開始位置を「オルゴールA1」の位置としたが、例えば、仮想空間100の任意の位置を座標(若しくは任意の位置に配置されたワーク)で指定しても良い。ロボット教示装置10の各ブロックは、設定画面62で設定された情報に基づいて、図8の処理S100~S105と同様の処理を実行する。この結果、「オルゴールB5」が取得される動作プログラム710bが生成され、記憶装置22に格納されることになる。なお、動作プログラム710bには、「取る」作業を示す情報が作業情報I1として含まれるとともに、オルゴールB5を示す情報(“OG B5”)が識別情報I2として含まれる。
例えば「オルゴールA1」の位置に設けられたハンド50が「オルゴールB5」を取得する際に生成される動作プログラム710bについて説明する。この際、図9に示す設定画面62の作業種類指定エリア70aには、ワークを「取る」(“pick up”)作業が指定されており、ファイル名としては、「オルゴールB5」を含む名称“OG B5_from_shelf”が入力されている。また、作業開始位置入力エリア71には、「オルゴールA1」が入力され、作業終了位置入力エリア72には、「オルゴールB5」が入力されている。なお、ここでは、開始位置を「オルゴールA1」の位置としたが、例えば、仮想空間100の任意の位置を座標(若しくは任意の位置に配置されたワーク)で指定しても良い。ロボット教示装置10の各ブロックは、設定画面62で設定された情報に基づいて、図8の処理S100~S105と同様の処理を実行する。この結果、「オルゴールB5」が取得される動作プログラム710bが生成され、記憶装置22に格納されることになる。なお、動作プログラム710bには、「取る」作業を示す情報が作業情報I1として含まれるとともに、オルゴールB5を示す情報(“OG B5”)が識別情報I2として含まれる。
<<「捨てる」(“dispose”)作業>>
アーム型ロボット40が、「オルゴールA1」の位置で把持される「オルゴール」を、所定の箱X(不図示)に廃棄する際に生成される動作プログラム710cについて説明する。この際、図10に示す設定画面63の作業種類指定エリア70aには、ワークを「捨てる」(“dispose”)作業が指定されており、ファイル名としては、「オルゴールA1」を含む名称“OG A1_to_box”が入力されている。また、作業開始位置入力エリア71には、「オルゴールA1」が入力され、作業終了位置入力エリア72には、箱X(「BOX X」)が入力されている。なお、ここでは、開始位置を「オルゴールA1」の位置としたが、例えば、仮想空間100の任意の位置を座標(若しくは任意の位置に配置されたワーク)で指定しても良い。ロボット教示装置10の各ブロックは、設定画面63で設定された情報に基づいて、図8の処理S100~S105と同様の処理を実行する。なお、第2取得部81は、箱Xの情報に基づいて、箱Xの所定の点(例えば、箱Xの開口に設けらた点)を教示点P2として取得する。この結果、「オルゴールA1」が捨てられる動作プログラム710cが生成され、記憶装置22に格納されることになる。なお、動作プログラム710cには、「捨てる」作業を示す情報が作業情報I1として含まれるとともに、オルゴールA1を示す情報(“OG A1”)が識別情報I2として含まれる。また、記憶装置22には、上述した、動作プログラム710a~710cが格納されているが、例えば利用者の指示により、送信部84は、動作プログラム710a~710cをアーム型ロボット11に送信する。
アーム型ロボット40が、「オルゴールA1」の位置で把持される「オルゴール」を、所定の箱X(不図示)に廃棄する際に生成される動作プログラム710cについて説明する。この際、図10に示す設定画面63の作業種類指定エリア70aには、ワークを「捨てる」(“dispose”)作業が指定されており、ファイル名としては、「オルゴールA1」を含む名称“OG A1_to_box”が入力されている。また、作業開始位置入力エリア71には、「オルゴールA1」が入力され、作業終了位置入力エリア72には、箱X(「BOX X」)が入力されている。なお、ここでは、開始位置を「オルゴールA1」の位置としたが、例えば、仮想空間100の任意の位置を座標(若しくは任意の位置に配置されたワーク)で指定しても良い。ロボット教示装置10の各ブロックは、設定画面63で設定された情報に基づいて、図8の処理S100~S105と同様の処理を実行する。なお、第2取得部81は、箱Xの情報に基づいて、箱Xの所定の点(例えば、箱Xの開口に設けらた点)を教示点P2として取得する。この結果、「オルゴールA1」が捨てられる動作プログラム710cが生成され、記憶装置22に格納されることになる。なお、動作プログラム710cには、「捨てる」作業を示す情報が作業情報I1として含まれるとともに、オルゴールA1を示す情報(“OG A1”)が識別情報I2として含まれる。また、記憶装置22には、上述した、動作プログラム710a~710cが格納されているが、例えば利用者の指示により、送信部84は、動作プログラム710a~710cをアーム型ロボット11に送信する。
---アーム型ロボット11の記憶装置27に格納される情報---
図11は、記憶装置27に格納される情報を示す図である。記憶装置27には、動作プログラム800、作業実行データ900が記憶される。
図11は、記憶装置27に格納される情報を示す図である。記憶装置27には、動作プログラム800、作業実行データ900が記憶される。
動作プログラム800は、アーム型ロボット11を実際に動作させるためのプログラムであり、メインプログラム810、およびサブプログラム820を含む。
メインプログラム810は、動作プログラム800の主な処理を実行するプログラム(メインルーチン)である。
サブプログラム820は、メインプログラム810から呼び出され、所定の処理(例えば、「置く」、「捨てる」等)を実行するプログラム(サブルーチン)であり、ロボット教示装置10で生成された動作プログラム710a~710cを含む。なお、動作プログラム800は、利用者が生成された動作プログラム710a~710cを適宜用いて作成する。
作業実行データ900(作業実行情報)は、動作プログラム710a~710cの作業が実行されたことを示すデータである。なお、作業実行データ900は、作業が実行された際の「時刻」を示す時刻データ910(時刻情報)、「作業の種類」(例えば、「置く」)を示す作業種類データ920、「作業対象」のワークを示す識別データ930(識別情報)を含む。
---動作プログラム710が実行された際の処理の一例---
図12は、動作プログラム710が実行された際の処理の一例を示すフローチャートである。ここでは、処理装置26がメインプログラム810を実行し、サブプログラム820として、「置く」(“place”)作業に関する動作プログラム710aが呼び出されていることとする。
図12は、動作プログラム710が実行された際の処理の一例を示すフローチャートである。ここでは、処理装置26がメインプログラム810を実行し、サブプログラム820として、「置く」(“place”)作業に関する動作プログラム710aが呼び出されていることとする。
まず、処理装置26は、呼び出された動作プログラム710aを実行する(S200)。そして、処理装置26は、アーム型ロボット11が動作プログラム710aで規定された動作をするよう、アーム型ロボット11の各関節を制御する(S201)。この結果、アーム型ロボット11は「オルゴール」を、「オルゴールA1」の位置から「オルゴールB9」の位置へ移動し、棚の上に「置く」ことになる。また、処理装置26は、時刻を計時するタイマー(不図示)を参照し、「置く」作業が実行された「時刻」を時刻データ910として取得し、記憶装置27に格納する(S202)。そして、処理装置26は、動作プログラム710aの「置く」作業を示す作業情報I1を、「置く」作業が実行されたことを示す作業種類データ920として取得し、記憶装置27に格納する(S203)。さらに、処理装置26は、動作プログラム710aの作業対象が「オルゴールA1」であることを示す識別情報I2を、識別データ930として取得し、記憶装置27に格納する(S204)。処理S204が実行されると、サブプログラム820(動作プログラム710a)の処理は終了するため、処理装置26は、メインプログラム810で規定された処理を実行することになる。
なお、ここでは、サブプログラム820として、「置く」作業に関する動作プログラム710aが実行された際の処理を説明したが、他の作業(例えば、「捨てる」)の際も同様である。また、再度、「置く」作業のメインプログラム810で呼び出されると、動作プログラム710a(処理S200~S204)が実行され、新たな作業実行データ900が処理装置26に格納される。なお、記憶装置27に格納された情報は、通信装置28を介して外部の機器等とやり取りされる。したがって、利用者は、記憶装置27に格納された作業実行データ900を参照することにより、どのような作業が何時行われたか、さらに、作業対象や作業の回数を把握することができる。また、記憶装置27に格納された作業実行データ900には、作業が行われた時に、ロボットの軸・関節を動かすモータに、対する指令値が含まれてよい。また作業実行データ900には、モータ駆動時の実効値が含まれてもよい。 なお、モータの指令値および実効値とは、モータの電流・電圧・トルクである。
---動作プログラム710生成処理の詳細---
ここで、動作プログラム710の生成処理の詳細の一例について説明する。
ここで、動作プログラム710の生成処理の詳細の一例について説明する。
<<設定画面>>
図13は、アーム型ロボット11を教示する際に表示装置24に表示される設定画面300の一例を示す図である。
図13は、アーム型ロボット11を教示する際に表示装置24に表示される設定画面300の一例を示す図である。
設定画面300は、関数名指定エリア70、作業開始位置入力エリア71、作業終了位置入力エリア72、アプローチポイント設定エリア73、およびエスケープポイント設定エリア74を含んで構成される。
関数名指定エリア70では、作成される動作プログラム(サブルーチン)を示す「関数名」が指定される。関数名指定エリア70は、作業種類指定エリア70aおよび関数名入力エリア70bを含む。作業種類指定エリア70aでは、アーム型ロボット11に実行させる作業が指定される。具体的には、作業種類指定エリア70aでは、置く(“place”)、取る(つかむ)(“pick up”)、捨てる(“dispose”)等の作業を選択可能である。関数名入力エリア70bには、利用者が指定するファイル名(例えば、日付や整理番号)が入力される。
作業開始位置入力エリア71(第1情報入力部)では、アーム型ロボット40のハンド50の動作の開始位置に設けられたワークを示す情報(第1情報)が入力される。なお、本実施形態では、利用者は、予め移動対象となるワークを、移動前の作業開始位置(第1の位置)に配置していることとする。
作業終了位置入力エリア72(第2情報入力部)では、アーム型ロボット40のハンド50の動作の終了位置に設けられたワークを示す情報(第2情報)が入力される。なお、本実施形態では、利用者は、予め移動対象となるワークを、移動後の作業終了位置(第2の位置)に配置していることとする。
アプローチポイント設定エリア73(第3情報入力部)では、ハンド50の移動が開始してから終了するまでに、ハンド50に把持されたワークが経由する点(アプローチポイント)が設定される。なお、詳細は後述するが、アプローチポイントは、ハンド50に把持されたワークが障害物や他のワーク等に当たることを防ぐために設定される点である。アプローチポイント設定エリア73は、作業ワーク指定エリア73a、距離指定エリア73b、および方向指示エリア73cを含む。なお、作業ワーク指定エリア73a、距離指定エリア73b、および方向指示エリア73cのそれぞれに入力される情報は、第3情報に相当する。
作業ワーク指定エリア73aには、ハンド50の動作の終了位置に載置されたワークを示す情報が入力される。
距離指定エリア73bには、作業ワーク指定エリア73aで選択されたワークからの距離d1(第1の距離)が入力される。
方向指示エリア73cには、作業ワーク指定エリア73aで選択されたワークの面(例えば、底面)に対して略垂直となる方向v1が指示される。
エスケープポイント設定エリア74(第4情報入力部)では、ハンド50の移動が終了し、ハンド50を元の位置等に戻す際にハンド50のTCPが通過する点(エスケープポイント)が設定される。なお、詳細は後述するが、エスケープポイントは、ワークが載置された後、ハンド50が障害物や他のワーク等に当たることを防ぐために設定される点である。エスケープポイント設定エリア74は、作業ワーク指定エリア74a、距離指定エリア74b、および方向指示エリア74cを含む。なお、作業ワーク指定エリア74a、距離指定エリア74b、および方向指示エリア74cのそれぞれに入力される情報は、第4情報に相当する。
作業ワーク指定エリア74aには、ハンド50の動作の終了位置に載置されたワークを示す情報が入力される。なお、作業ワーク指定エリア73a、74aには、ハンド50の動作の終了位置に載置されたワークを示す情報以外が入力されても良い。
距離指定エリア74bには、作業ワーク指定エリア74aで選択されたワークからの距離d2(第2の距離)が入力される。
方向指示エリア74cには、作業ワーク指定エリア74aで選択されたワークの面(例えば、底面)に対して略垂直となる方向v2が指示される。なお、方向v1,v2は、ワークのモデルに含まれる、ワークのエッジ、ワークの法線ベクトル、ワークの中心軸等に基づいて定められる。
<<CPU20に実現される機能ブロック>>
図14は、CPU20が所定の教示プログラムを実行することによりCPU20に実現される機能ブロックを示す図である。同図に示すように、CPU20は、表示制御部400、第1取得部401、第2取得部402、第3取得部403、第4取得部404、計算部405、動作プログラム生成部406、及び送信部407の機能ブロックを備える。
図14は、CPU20が所定の教示プログラムを実行することによりCPU20に実現される機能ブロックを示す図である。同図に示すように、CPU20は、表示制御部400、第1取得部401、第2取得部402、第3取得部403、第4取得部404、計算部405、動作プログラム生成部406、及び送信部407の機能ブロックを備える。
表示制御部400は、入力装置23からの指示やCPU20で実行される教示プログラムの処理結果等に基づいて、表示装置24に各種情報を表示する。例えば、表示制御部400は、図3に示した仮想空間100や図13に示す設定画面300を表示装置24に表示する。また、表示制御部400は、ワークを移動する際のハンド50のアニメーションを表示装置24に表示する。
第1取得部401は、作業開始位置入力エリア71に入力されたワークを示す情報(3次元CADデータ)に基づいて、ワークのTCP(所定の点)を教示点P1(第1の点)として取得する。
第2取得部402は、作業終了位置入力エリア72に入力されたワークを示す情報(3次元CADデータ)に基づいて、ワークのTCPを教示点P2(第2の点)として取得する。なお、ここでは、第1取得部401および第2取得部402が取得する点をワークのTCPとしたが、例えば、ワークの重心を示す点であっても良い。
第3取得部403は、アプローチポイント設定エリア73に入力された情報に基づいて、ワークが移動される際に、ワークが経由するアプローチポイントP3(第3の点)を取得する。具体的には、第3取得部403は、作業ワーク指定エリア73aで選択されるワークを示す情報から、ワークのTCP(所定の点)を取得する。そして、第3取得部403は、ワークのTCPを始点とし、指定された方向v1に距離d1だけ離間した点をアプローチポイントP3として取得する。
第4取得部404は、エスケープポイント設定エリア74に入力された情報に基づいて、ハンド50が移動される際に、ハンド50が経由するエスケープポイントP4(第4の点)を取得する。具体的には、第4取得部404は、作業ワーク指定エリア74aで選択されるワークを示す情報から、ワークのTCPを取得する。そして、第4取得部404は、ワークのTCPを始点とし、指定された方向v2に距離d2だけ離間した点をエスケープポイントP4として取得する。なお、アプローチポイントP3、エスケープポイントP4を定める際の始点はワークのTCPであるとしたが、例えばワークの重心を示す点等でも良い。
計算部405は、教示点P1,P2、アプローチポイントP3、エスケープポイントP4に基づいて、ハンド50を移動させる軌道の計算を行う。また、計算部405は、計算結果を、記憶装置22に格納する。
動作プログラム生成部406は、計算部405の計算結果に基づいて、実際のアーム型ロボット11の各関節を動作させる動作プログラム710を生成する。また、動作プログラム生成部406は、生成した動作プログラム710を記憶装置22に格納する。
送信部407は、利用者からの指示に基づいて、動作プログラム710を、アーム型ロボット11の処理装置26に送信する。この結果、アーム型ロボット11は、計算結果に応じた動作をすることができる。
<<ロボット教示装置10で実行される処理の一例>>
以下、ワークが移動される際にロボット教示装置10が実行する一連の処理を、図面を適宜参照しつつ説明する。図15は、設定画面300に対し各種情報が入力された状態の設定画面301を示す図である。図16は、ロボット教示装置10が実行する処理の一例を示すフローチャートである。なお、ここでは、アーム型ロボット40が「オルゴール」を、「オルゴールA1」の位置(第1の位置)から「オルゴールB9」の位置(第2の位置)へ移動させる際のハンド50の軌道と、「オルゴール」が棚45に載置された後のハンド50の軌道と、が計算される場合を説明する。また、図3の仮想空間100においては、「オルゴールA1」と、10個の「オルゴールB1」~「オルゴールB10」が配置されているが、これらは「置く」作業を教示し、ハンド50の軌道を計算するために配置されているものである。例えば「オルゴールA1」と、「オルゴールB1」とが選択されると、「オルゴールA1」の位置から、「オルゴールB1」の位置へ「オルゴール」を移動させる際のハンド50の軌道が計算される。
以下、ワークが移動される際にロボット教示装置10が実行する一連の処理を、図面を適宜参照しつつ説明する。図15は、設定画面300に対し各種情報が入力された状態の設定画面301を示す図である。図16は、ロボット教示装置10が実行する処理の一例を示すフローチャートである。なお、ここでは、アーム型ロボット40が「オルゴール」を、「オルゴールA1」の位置(第1の位置)から「オルゴールB9」の位置(第2の位置)へ移動させる際のハンド50の軌道と、「オルゴール」が棚45に載置された後のハンド50の軌道と、が計算される場合を説明する。また、図3の仮想空間100においては、「オルゴールA1」と、10個の「オルゴールB1」~「オルゴールB10」が配置されているが、これらは「置く」作業を教示し、ハンド50の軌道を計算するために配置されているものである。例えば「オルゴールA1」と、「オルゴールB1」とが選択されると、「オルゴールA1」の位置から、「オルゴールB1」の位置へ「オルゴール」を移動させる際のハンド50の軌道が計算される。
設定画面301の作業種類指定エリア70aに示すように、作業としては、ワークを置く(“place”)作業が指定されており、作業を示すファイル名としては、“OG1_to_shelf”が入力されている。また、作業開始位置入力エリア71には、ハンド50に把持された「オルゴールA1」(「OG A1」)が入力され、作業終了位置入力エリア72には、棚45に載置された「オルゴールB9」(「OG B9」)が入力されている。アプローチポイント設定エリア73の作業ワーク指定エリア73aには、「オルゴールB9」が入力され、距離指定エリア73bには、「200」が入力され、方向指示エリア73cには、オルゴールB9の「エッジ」が指定されている。エスケープポイント設定エリア74の作業ワーク指定エリア74aには、「オルゴールB9」が入力され、距離指定エリア74bには、「100」が入力され、方向指示エリア74cには、オルゴールB9の「エッジ」が指定されている。
まず、第1取得部401は、作業開始位置入力エリア71に入力されたオルゴールA1の情報に基づいて、オルゴールA1のTCPを教示点P1として取得する(S1000)。つぎに、第2取得部402は、作業終了位置入力エリア72に入力されたオルゴールB9の情報に基づいて、オルゴールB9のTCPを教示点P2として取得する(S1001)。
また、第3取得部403は、図17に示すように、作業ワーク指定エリア73aで選択されるオルゴールB9のTCPを始点とし、オルゴールB9のエッジの方向v1で距離d1「200」mmだけ離れた点を、アプローチポイントP3として取得する(S1002)。なお、図17においては、便宜上、棚45の表面の一部と、オルゴールB9のみが描かれている。また、図17では、x軸方向は、棚45のオルゴールが載置される面(以下、載置面)の長手方向、y軸方向は、載置面においてx軸と直交する方向、z軸方向は、載置面と垂直方向である。そして、オルゴールB9の底面は、図17のxy平面であり、指定されたオルゴールB9のエッジは、オルゴールB9の底面に対して垂直となっている。このため、エッジの方向v1は、z軸方向(+z方向)となる。
第4取得部404は、第3取得部403と同様に、作業ワーク指定エリア74aで選択されるオルゴールB9のTCPを始点とし、オルゴールB9のエッジに基づく方向v2(+z方向)から距離d2「100」mmだけ離れた点を、エスケープポイントP4として取得する(S1003)。なお、距離d1,d2は、例えば、オルゴールB9のz方向の高さよりも長い距離である。
計算部405は、教示点P1,P2、アプローチポイントP3、エスケープポイントP4に基づいて、ハンド50を移動させる際のハンド50の軌道を計算する(S1004)。具体的には、まず、計算部405は、「オルゴール」を教示点P1からアプローチポイントP3まで移動させる際のハンド50の軌道O1を計算する。また、計算部405は、「オルゴール」をアプローチポイントP3から教示点P2に移動させる際のハンド50の軌道O2を計算する。さらに計算部405は、ハンド50をエスケープポイントP4に移動させる軌道O3を計算する。なお、軌道O3が計算される際には、例えば、記憶装置22に格納されたハンド50のTCPが用いられる。また、動作プログラム生成部406は、計算部405の計算結果に基づいて、実際のアーム型ロボット11の各関節を動作させる動作プログラム710を生成し、記憶装置22に格納する(S1005)。なお、この際、計算結果も、記憶装置22に格納される(S1005)。また、表示制御部400は、記憶装置22に格納された動作プログラム710を取得し、仮想空間100上のハンド50が計算された軌道に沿って動くアニメーションを表示装置24に表示させる(S1006)。図18は、アニメーションが表示されている際にハンド50の動作の一例を示す図である。ハンド50は、まず、軌道O1に沿って、ハンド50に把持されたオルゴールのTCPが、アプローチポイントP3に一致するよう移動する。つぎに、ハンド50は、軌道O2に沿って、把持されたオルゴールのTCPがTCP2に一致するよう移動する。そして、オルゴールが載置された後、ハンド50は、軌道O3に沿って、ハンド50のTCPがエスケープポイントP4に一致するように移動する。なお、ハンド50は、軌道O2,O3に沿って動くため、オルゴールが載置される位置(「オルゴールB9」の位置)の略垂直方向に沿って移動する。このため、ハンド50がオルゴールを載置する際に、周囲の他のオルゴール(例えば、オルゴールB4)がある場合であっても、ハンド50やハンド50に把持されたオルゴールが他の障害物に当たることはない。また、ハンド50の軌道は、オルゴールのTCPに基づいて計算されている。このため、ハンド50におけるオルゴールの位置によらず、オルゴールは所望の位置に精度良く置かれることになる。
<<まとめ(ロボット教示装置10)>>
本実施形態では、利用者は、ワークを移動させる際に、ワークの移動開始位置と、終了位置を、作業開始位置入力エリア71と、作業終了位置入力エリア72で設定できる。したがって、利用者は、複雑な座標等を指定する必要がないため、利用者は容易にアーム型ロボット11を教示できる。
本実施形態では、利用者は、ワークを移動させる際に、ワークの移動開始位置と、終了位置を、作業開始位置入力エリア71と、作業終了位置入力エリア72で設定できる。したがって、利用者は、複雑な座標等を指定する必要がないため、利用者は容易にアーム型ロボット11を教示できる。
また、本実施形態では、仮想空間100に設けられたオルゴールの情報に基づいて、アプローチポイントP3が設定される。この結果、アプローチポイントP3の座標等を直接指定する場合と比較すると、利用者は、容易にアプローチポイントP3を設定できる。
また、本実施形態では、仮想空間100に設けられたオルゴールの情報に基づいて、エスケープポイントP4が設定される。この結果、エスケープポイントP4の座標等を直接指定する場合と比較すると、利用者は、容易にエスケープポイントP4を設定できる。
なお、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
本実施形態では、ハンド50がワークである「オルゴール」を「把持」することを、保持した状態として説明したが、これに限られない。例えば、ハンド50の代わりにワークを真空吸着することが可能な吸着パッドを用いても良い。このような場合、ワークは、吸着パッドにより「保持」されることになる。
本実施形態では、ワークは「オルゴール」であり、「オルゴール」が載置(支持)される支持部材は、棚45であることとしたが、これに限られない。例えば、ワークが「カップ(容器)」であり、「カップ」は「カップホルダー」に収納(支持)されることとしても良い。また、「カップホルダー」は、「カップ」を収納する構成のみならず、「カップい」の外側の面の一部だけを支持する構成であっても良い。このような、「カップ」および「カップホルダー」が用いられる場合であっても、本実施形態と同様の効果を得ることができる。なお、例えば、ロボットが「カップ」を、傾いた「カップホルダー」に支持されるように移動する際には、傾いて支持された「カップ」の底面に基づいて、アプローチポイントP3、エスケープポイントP4が取得される。
また、ここでは、教示対象となるロボットが6軸の多関節のロボットであることとしたが、例えば、3軸のロボットであっても良い。また、ロボット教示装置10は、教示対象となるロボットが6軸のロボットであっても、ワークを移動させる際に3軸の軌道のみを計算すれば良い場合、TCP(教示点)の自由度を6から3に変更し、軌道を計算しても良い。このようにTCPの自由度を低下させることにより、CPU20の負荷を軽減することができる また、本実施形態では、アプローチポイントP3における指定された方向v1は、TCPから、ワークの底面に対して略垂直となる方向であることとしたが、これに限られない。例えば、ワークの底面に対して略水平方向であっても良い。また、エスケープポイントP4における方向v2も、TCPから、ワークの底面に対して略垂直となる方向であることとしたが、例えば、ワークの底面に対して略水平方向であっても良い。
例えば、図3では、ハンド50がワークを保持している状態が示されているが、ハンド50がワークを保持していない場合、表示制御部400は、ワークを表示装置24に表示しない。
---まとめ(本実施形態)---
以上、本実施形態のロボット作業管理システム200について説明した。処理装置26が動作プログラム710aを実行すると、アーム型ロボット11は、動作プログラム710aに基づく作業(「置く」作業)に対応する動作を実行する。そして、アーム型ロボット11が「置く」作業を実行すると、処理装置26は「置く」作業が実行されたこを示す作業実行データ900を記憶装置27に格納する(例えば、処理S202~S204)。したがって、利用者は、記憶装置27に格納された作業実行データ900を参照することにより、どのような作業が行われたかを容易に把握することができる。
以上、本実施形態のロボット作業管理システム200について説明した。処理装置26が動作プログラム710aを実行すると、アーム型ロボット11は、動作プログラム710aに基づく作業(「置く」作業)に対応する動作を実行する。そして、アーム型ロボット11が「置く」作業を実行すると、処理装置26は「置く」作業が実行されたこを示す作業実行データ900を記憶装置27に格納する(例えば、処理S202~S204)。したがって、利用者は、記憶装置27に格納された作業実行データ900を参照することにより、どのような作業が行われたかを容易に把握することができる。
また、利用者は、作業種類指定エリア70aで予め登録された複数の作業(置く(“place”)、取る(つかむ)(“pick up”)、捨てる(“dispose”))のうちから、何れか一つの作業を選択できる。そして、選択された作業が、作業情報I1として動作プログラム720に含まれる。このため、例えば、利用者が動作プログラムを記載等することなく、利用者が選択した作業が確実に動作プログラム720に反映される。したがって、利用者は容易に作業を設定できる。
また、カメラ(不図示)からの情報により、処理装置26は、例えば、処理S200の前に、ワークが所定の形状であるか否か(ワークに傷があるか否か)、つまり、ワークが不良品であるか否かを判定しても良い。そして、処理装置26は、ワークが不良品でない場合に、置く(“place”)若しくは取る(つかむ)(“pick up”)作業(第1の作業)を実行し、ワークが不良品の場合に、捨てる(“dispose”)作業(第2の作業)を実行しても良い。このため、利用者は、記憶装置27に格納された作業実行データ900を参照し、捨てる(“dispose”)作業が行われた回数から、ワークの不良品の個数を把握することができる。
また、ロボット教示装置10の計算部405は、オルゴールを移動する際のハンド50の軌道を、移動前の位置にあるオルゴールA1のTCPと、移動後の位置にあるオルゴールB9のTCPと、に基づいて計算する(例えば、処理S1004)。この際、ハンド50のTCPではなく、オルゴールのTCPが用いられるため、ハンド50に対するワークの位置の変化(例えば、ハンドの先端でワークを把持するか、ハンドの奥でワークを把持するか)等の影響が抑制される。この結果、アーム型ロボット11は、計算部405の計算結果を用いることにより、ワークを精度良く所望の位置に移動することが可能となる。
また、計算部405は、オルゴールが載置される際に、ハンド50がオルゴールを保持部により保持した状態でアプローチポイントP3を経る軌道を計算する(例えば、処理S1004)。例えば、オルゴールを載置する位置(例えば、オルゴールB9の位置)の周辺に他のオルゴール等が載置されていることがある。このような場合に、移動対象のオルゴールを目標とする位置に直接移動させると、移動対象のオルゴールが、他のオルゴールに当たることがある。本実施形態では、オルゴールB9のTCPから垂直方向に定められたアプローチポイントP3を経由してオルゴールが載置される。したがって、計算部405は、目標位置の周辺に障害物がある場合であっても、移動対象のワークが障害物等に当たることを防ぐ軌道を計算できる。
また、計算部405は、オルゴールを載置した後にハンド50を移動させる軌道として、ハンド50がオルゴールを保持していない状態で、エスケープポイントP4を経る軌道を計算する(例えば、処理S1004)。例えば、載置されたオルゴールの位置(例えば、オルゴールB9の位置)の周辺に他のオルゴールが載置されていることがある。このような場合に、ハンド50を設定された位置に直接移動させると、ハンド50が、他のオルゴールに当たることがある。本実施形態では、オルゴールB9のTCPから垂直方向に定められたエスケープポイントP4を経由してハンド50を移動させる軌道が計算される。したがって、計算部405は、目標位置の周辺に障害物がある場合であっても、ハンド50が障害物等に当たることを防ぐ軌道を計算できる。
ワークを置く(“place”)作業時の計算部85の軌道計算を説明したが、ワークを取る(つかむ)(“pick up”)作業時も同様である。すなわち、オルゴールをつかむ際に、ハンド50はオルゴールを保持していない状態で、アプローチポイントP3を経る。そして、オルゴールをつかんだ後にハンド50を移動させる軌道として、ハンド50がオルゴールを保持している状態で、エスケープポイントP4を経る。
また、表示制御部400は、軌道に沿って動くハンド50のアニメーションを表示装置24に表示する。表示制御部400は、アーム型ロボット40全体のアニメーションを表示せず、ハンド50のみのアニメーションを表示することから、CPU20への負荷は軽減される。
また、アーム型ロボット11が所定の作業(例えば「置く」作業)を実行すると、処理装置26は「置く」作業で「作業対象」となったワークを示す識別データ930を記憶装置27に格納する(処理S204)。このため、利用者は、記憶装置27に格納された情報を参照することにより、何の作業が実行されたかのみならず、作業対象となったワークを容易に把握できる。
また、アーム型ロボット11が所定の作業(例えば「置く」作業)を実行すると、処理装置26は「置く」作業が実行された時刻を示す時刻データ910を記憶装置27に格納する(処理S202)。このため、利用者は、記憶装置27に格納された情報を参照することにより、何の作業が何時行われたかを容易に把握できる。
また、処理装置26は動作プログラム710を実行した際、アーム型ロボット11を動作させるモータに関する情報(例えばモータの電流値、電圧、トルク等の指令値や実効値)を取得し、記憶装置27に作業実行データ900として格納する。このため、利用者は、モータの詳細な状態を把握することができる。
また、処理装置26は、作業実行データ900の内容を、アーム型ロボット11の表示装置(不図示)若しくは、表示装置24に表示しても良い。このような場合、利用者は、実行された作業を容易に把握できる。
なお、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
例えば、ワークを取る(つかむ)(“pick up”)作業の際においても、本実施形態と同様の処理が実行される。例えば、ロボット教示装置10は、ワークを取る場合においても、移動前の位置にあるオルゴールA1のTCPと、移動後の位置にあるオルゴールB9のTCPと、に基づいてハンド50の軌道を計算する(例えば、処理S104)。ハンド50がワークを取る際には、ハンド50は実際にはワークを把持していない。しかしながら、ハンド50が仮にワークを把持しているとして処理S104等で計算された軌道は、ワークを取る際の軌道と同様である。したがって、本実施形態では、ワークを取る際にも、作業開始位置に設けられた「ワーク」を、作業終了位置に設けられた「ワーク」に移動させる軌道として計算する。つまり、「ワーク」を作業開始位置(第1の位置)から作業終了位置(第2の位置)に移動させる際の軌道とは、実際に「ワーク」を移動させる際の軌道のみならず、ハンド50が仮想的に「ワーク」を移動させる際の軌道(ワークを取る(つかむ)(“pick up”)際の軌道)も含む。
例えば、処理装置26は、作業が実行されたこを示す作業実行データ900を記憶装置27に格納することとしたが、これに限られない。例えば、処理装置26は、作業実行データ900の代わりに、作業情報I1を記憶装置27に格納し、作業が実行されたことを示すこととしても良い。このような場合であっても、本実施形態と同様の効果を得ることができる。
また、動作プログラム生成部83は、ファイル名に基づいて識別情報I2を取得することとしたが、これに限られない。動作プログラム生成部83は、作業が、置く(“place”)、または捨てる(“dispose”)の場合、作業開始位置入力エリア71のワークの情報に基づいて、識別情報I2を取得しても良い。また、指定された作業が、取る(つかむ)(“pick up”)の場合、作業終了位置入力エリア72のワークの情報に基づいて、識別情報I2を取得しても良い。
また、アーム型ロボット11の処理装置26で各種処理が実行され、記憶装置27に各種情報が格納されることとしたが、これに限られない。例えば、アーム型ロボット11の外部のパソコン等のCPU(不図示)で各種処理が実行され、CPU(処理部)がアクセスする不揮発性メモリ(記憶部)に各種情報が格納されることとしても良い。
また、記憶装置27は、必ずしもアーム型ロボット11に含まれていなくてもよい。例えば、記憶装置27はアーム型ロボット装置の外部に設けてもよい。この時、アーム型ロボット11の処理装置26で各種処理が実行され、通信装置28がインターネット等の通信網を介して外部の記憶装置27に送信される。そして、各種情報は外部の記憶装置27に格納されていても良い。
また、例えば、カメラ(不図示)からの情報により、処理装置26がワークの個数を把握できる場合、処理装置26は、棚に置かれたワークの個数と、棚への置く(“place”)作業の回数とを比較することにより、置く(“place”)作業の失敗回数を検出することができる。そして、処理装置26は、そのような作業失敗回数を作業実行データ900として、記憶装置27に格納しても良い。この場合、利用者は、作業の回数のみならず、作業の失敗回数も把握できる。
また、不良品か否かは、アーム51がワークを持ち上げた際、処理装置26党にワークの重さを計測させ、重さに基づいて処理装置26に判定させても良い。なお、例えば、ワークの一部が欠けているような場合、ワークは所定の重さより軽くなるため、処理装置26は、ワークが不良品であると判定できる。
また、処理装置26は、「不良品」であるとの判定結果と、「作業対象」となったワークを示す識別データ930とを対応させた情報を、記憶装置27に格納しても良い。利用者が、このような情報を参照することにより、不良品のロット番号等を把握することが可能となり、不良品の解析が可能となる。
また、ロボットの動作プログラミングをする際、座標値を扱うのは煩雑である。3DCADからは座標値も抽出することも可能であるが、煩雑であることに変わりない。また、この煩雑さは、機械技術者、ソフトウェア技術者などの異なる技術者が必要となる。そのためロボットを利用したオートメーションシステムを構築するために、膨大な時間を要する。本実施形態は、ロボットのオートメーションシステムを短時間で行うことができる。
10…ロボット教示装置、11,40…アーム型ロボット、20…CPU、21…メモリ、22…記憶装置、23…入力装置、24…表示装置、25…通信装置、30…画面、45…棚、50…ハンド、51…アーム、60~63…設定画面、70…関数名指定エリア、71…作業開始位置入力エリア、72…作業終了位置入力エリア、73…アプローチポイント設定エリア、74…エスケープポイント設定エリア、80…第1取得部、81…第2取得部、82…計算部、83…動作プログラム生成部、84…送信部、100…仮想空間、200…ロボット作業管理システム、400…表示制御部、401…第1取得部、402…第2取得部、403…第3取得部、404…第4取得部、405…計算部、406…動作プログラム生成部、407…送信部、600…プログラム、610…教示プログラム、620…CADプログラム、700…データ、800…動作プログラム、810…メインプログラム、820…サブプログラム
Claims (14)
- ロボットに所定の作業に対応する動作が教示されることにより生成された、前記所定の作業に関する作業情報を含む動作プログラムを実行する処理部と、
前記処理部により前記動作プログラムが実行され、前記ロボットが前記所定の作業に対応する動作を実行すると、前記所定の作業が実行されたことを示す作業実行情報が記憶される記憶部と、
を備えることを特徴とするロボット作業管理システム。 - 請求項1に記載のロボット作業管理システムであって、
前記動作プログラムを生成するロボット教示部を更に備え、
前記ロボット教示部は、
予め登録された複数の作業から何れか一つの作業を前記所定の作業として利用者に選択させる選択部を含むこと、
を特徴とするロボット作業管理システム。 - 請求項1または請求項2に記載のロボット作業管理システムであって、
前記所定の作業は、作業対象となるワークが不良品でない場合の第1の作業と、前記ワークが不良品である場合の第2の作業と、を含むこと、
を特徴とするロボット作業管理システム。 - 請求項3に記載のロボット作業管理システムであって、
前記処理部は、
前記所定の作業が第1の作業であると、前記ワークを取る作業若しくは前記ワークを置く作業の少なくとも何れか一方の作業に関する作業情報を含む前記動作プログラムを実行し、前記所定の作業が前記第2の作業であると、前記ワークを捨てる作業に関する作業情報を含む前記動作プログラムを実行すること、
を特徴とするロボット作業管理システム。 - 請求項1に記載のロボット作業管理システムであって、
前記動作プログラムを生成するロボット教示部を更に備え、
前記ロボット教示部は、
仮想空間における第1の位置に設けられたワークの所定の点を、第1の点として取得する第1取得部と、
前記仮想空間における第2の位置に設けられた前記ワークの所定の点を、第2の点として取得する第2取得部と、
前記第1及び第2の点に基づいて、前記仮想空間におけるロボットが、前記ワークを前記第1の位置から前記第2の位置に移動させる際の前記保持部の軌道を計算する計算部と、
を備えることを特徴とするロボット作業管理システム。 - 請求項5に記載のロボット作業管理システムであって、
前記第2の位置に支持された前記ワークの前記第2の点から離れた第3の点を取得する第3取得部を更に備え、
前記計算部は、
前記第1~第3の点に基づいて、前記ロボットが、前記ワークを前記第1の位置から前記第3の点を経由して前記第2の位置に移動させる際の前記保持部の軌道を計算すること、
を特徴とするロボット作業管理システム。 - 請求項5または請求項6に記載のロボット作業管理システムであって、
前記第2の位置に支持された前記ワークの前記第2の点から離れた第4の点を取得する第4取得部を更に備え、
前記計算部は、
前記ロボットが、前記保持部を前記第4の点まで移動させる際の前記保持部の軌道を計算すること、
を特徴とするロボット作業管理システム。 - 請求項5~7の何れか一項に記載のロボット作業管理システムであって、
前記ロボットが前記保持部を移動させる際、前記ロボットのうち、前記保持部の動きを表示装置に表示させる表示制御部を更に備えること、
を特徴とするロボット作業管理システム。 - 請求項2に記載のロボット作業管理システムであって、
前記ロボット教示部は、
前記所定の作業に対応する動作が教示される際に、前記ロボットが作業対象とするワークを識別するための識別情報が入力される入力部を更に備え、
前記ロボット教示部は、
前記作業情報と、前記識別情報とを含む前記動作プログラムを生成し、
前記記憶部には、
前記所定の作業に対応する動作が前記作業対象となる前記ワークに実行されると、前記識別情報および前記作業実行情報が記憶されること、
を特徴とするロボット作業管理システム。 - 請求項1~9の何れか一項に記載のロボット作業管理システムであって、
前記記憶部には、
前記ロボットが前記所定の作業に対応する動作を実行した時刻を示す時刻情報が記憶されること、
を特徴とするロボット作業管理システム。 - 請求項1~10の何れか一項に記載のロボット作業管理システムであって、
前記記憶部には、
前記ロボットが前記所定の作業に対応する動作を実行した際の前記ロボットを動作させるモータに関する情報が記憶されること、
を特徴とするロボット作業管理システム。 - 請求項11に記載のロボット作業管理システムであって、
前記モータに関する情報には、モータに流れる電流値が含まれること、
を特徴とするロボット作業管理システム。 - 請求項1~12の何れか一項に記載のロボット作業管理システムであって、
前記処理部は、
前記作業実行情報を表示部に表示すること、
を特徴とするロボット作業管理システム。 - コンピュータに、
ロボットに所定の作業に対応する動作が教示されることにより生成された、前記所定の作業に関する作業情報を含む動作プログラムを実行する機能と、
前記動作プログラムが実行され、前記ロボットが前記所定の作業に対応する動作を実行すると、前記所定の作業が実行されたことを示す作業実行情報を記憶部に記憶させる機能と、
を実現させるロボット作業管理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019509117A JPWO2018180300A1 (ja) | 2017-03-31 | 2018-03-07 | ロボット作業管理システム、ロボット作業管理プログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017073214 | 2017-03-31 | ||
JP2017-073214 | 2017-03-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018180300A1 true WO2018180300A1 (ja) | 2018-10-04 |
Family
ID=63675346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/008721 WO2018180300A1 (ja) | 2017-03-31 | 2018-03-07 | ロボット作業管理システム、ロボット作業管理プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2018180300A1 (ja) |
WO (1) | WO2018180300A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020080023A1 (ja) * | 2018-10-15 | 2020-04-23 | 株式会社Preferred Networks | 検査装置、検査方法、ロボット装置、ロボット装置における検査方法及びプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60191307A (ja) * | 1984-03-12 | 1985-09-28 | Hitachi Ltd | ロボツトの積付動作簡易教示方式 |
JP2004174662A (ja) * | 2002-11-27 | 2004-06-24 | Fanuc Ltd | ロボットの動作状態解析装置 |
JP2015136762A (ja) * | 2014-01-23 | 2015-07-30 | セイコーエプソン株式会社 | 処理装置、ロボット、ロボットシステム及び処理方法 |
WO2016063808A1 (ja) * | 2014-10-20 | 2016-04-28 | 株式会社イシダ | 質量測定装置 |
-
2018
- 2018-03-07 WO PCT/JP2018/008721 patent/WO2018180300A1/ja active Application Filing
- 2018-03-07 JP JP2019509117A patent/JPWO2018180300A1/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60191307A (ja) * | 1984-03-12 | 1985-09-28 | Hitachi Ltd | ロボツトの積付動作簡易教示方式 |
JP2004174662A (ja) * | 2002-11-27 | 2004-06-24 | Fanuc Ltd | ロボットの動作状態解析装置 |
JP2015136762A (ja) * | 2014-01-23 | 2015-07-30 | セイコーエプソン株式会社 | 処理装置、ロボット、ロボットシステム及び処理方法 |
WO2016063808A1 (ja) * | 2014-10-20 | 2016-04-28 | 株式会社イシダ | 質量測定装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020080023A1 (ja) * | 2018-10-15 | 2020-04-23 | 株式会社Preferred Networks | 検査装置、検査方法、ロボット装置、ロボット装置における検査方法及びプログラム |
JP2020062691A (ja) * | 2018-10-15 | 2020-04-23 | 株式会社Preferred Networks | 検査装置、検査方法、ロボット装置、ロボット装置における検査方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2018180300A1 (ja) | 2020-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6807949B2 (ja) | 干渉回避装置 | |
JP6458713B2 (ja) | シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム | |
JP2019018272A (ja) | モーション生成方法、モーション生成装置、システム及びコンピュータプログラム | |
EP3650181A1 (en) | Route output method, route output system and route output program | |
JP2019532827A (ja) | 衝突回避動作計画のための方法 | |
JP2010137298A (ja) | 複腕ロボットの作業プログラム作成方法 | |
JP2019171501A (ja) | ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム | |
WO2020012712A1 (ja) | 把持姿勢評価装置及び把持姿勢評価プログラム | |
JP4942924B2 (ja) | 仮想多関節物体を仮想環境で動きの連続により動かす方法 | |
JP2009190113A (ja) | ロボットシミュレーション装置 | |
WO2018180300A1 (ja) | ロボット作業管理システム、ロボット作業管理プログラム | |
JPWO2020066949A1 (ja) | ロボットの経路決定装置、ロボットの経路決定方法、プログラム | |
JP6456557B1 (ja) | 把持位置姿勢教示装置、把持位置姿勢教示方法及びロボットシステム | |
WO2018180297A1 (ja) | ロボット教示装置、ロボット教示プログラム、ロボット教示装置の制御方法 | |
JPWO2019064919A1 (ja) | ロボット教示装置 | |
WO2016132521A1 (ja) | 教示データ生成装置 | |
JP4669941B2 (ja) | 3次元デザイン支援装置及びプログラム | |
JP2023058949A (ja) | 計算機システム及びモデルの学習方法 | |
WO2018180298A1 (ja) | ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム | |
JP7167925B2 (ja) | ロボット教示装置 | |
WO2018180299A1 (ja) | ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム | |
JP2021146433A (ja) | 制御装置、ロボット装置、シミュレーション装置、制御方法、シミュレーション方法、物品の製造方法、プログラム及び記録媒体 | |
JP2019171499A (ja) | ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム | |
JP2021037594A (ja) | ロボットシミュレーション装置 | |
JP7099470B2 (ja) | ロボット教示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18775829 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019509117 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18775829 Country of ref document: EP Kind code of ref document: A1 |