WO2024075200A1 - オフラインシミュレーション装置 - Google Patents

オフラインシミュレーション装置 Download PDF

Info

Publication number
WO2024075200A1
WO2024075200A1 PCT/JP2022/037236 JP2022037236W WO2024075200A1 WO 2024075200 A1 WO2024075200 A1 WO 2024075200A1 JP 2022037236 W JP2022037236 W JP 2022037236W WO 2024075200 A1 WO2024075200 A1 WO 2024075200A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
offline
offline simulation
program
path
Prior art date
Application number
PCT/JP2022/037236
Other languages
English (en)
French (fr)
Inventor
俊之 安藤
Original Assignee
ファナック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ファナック株式会社 filed Critical ファナック株式会社
Priority to PCT/JP2022/037236 priority Critical patent/WO2024075200A1/ja
Publication of WO2024075200A1 publication Critical patent/WO2024075200A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators

Definitions

  • the present invention relates to an offline simulation device that simulates robot movements and generates movement paths offline.
  • a technique is known in which welding lines are extracted based on a three-dimensional CAD file in which three-dimensional shape information of a work object is stored, a teaching-less function is used for each welding line to automatically generate a work motion path for the selected welding line, and an offline teaching function is used to correct the work motion path for a work line where interference occurs in the overall path simulation function.
  • One aspect of the offline simulation device disclosed herein includes an offline program execution unit that executes a robot program and simulates the robot's operation of picking up the workpieces in an offline simulation environment in which a robot, a pile of workpieces to be picked up by the robot, and a vision sensor that detects the workpieces are arranged in a virtual space; an automatic path generation execution unit that copies the offline simulation environment and generates a motion path for the robot's operation in the copied duplicate offline simulation environment; and an adjustment unit that modifies the robot program and/or adjusts parameters of the motion path based on the simulated robot operation and the generated motion path.
  • One aspect of the offline simulation device disclosed herein includes an offline program execution unit that executes a robot program and simulates the robot's operation of picking up the workpieces in an offline simulation environment in which a robot, a pile of workpieces to be picked up by the robot, and a vision sensor that detects the workpieces are arranged in a virtual space; an automatic path generation execution unit that generates a motion path for the robot's operation in the offline simulation environment; a storage unit that retains the execution state of the robot program in the offline simulation environment by the offline program execution unit and the execution state of the generation of the motion path in the offline simulation environment by the automatic path generation execution unit; and an adjustment unit that modifies the robot program and/or adjusts parameters of the motion path based on the simulated robot operation and the generated motion path.
  • FIG. 1 is a diagram illustrating an example of a configuration of a robot system according to a first embodiment.
  • FIG. 2 is a functional block diagram showing an example of a functional configuration of the offline simulation device according to the first embodiment.
  • 10 is a flowchart illustrating offline processing of the offline simulation device.
  • an offline simulation device executes a robot program and simulates the robot's operation of picking up a workpiece in an offline simulation environment in which a robot, a pile of workpieces to be picked up by the robot, and a vision sensor for detecting the workpieces are arranged in a virtual space.
  • the offline simulation device also copies the offline simulation environment and generates a motion path of the robot in the copied duplicate offline simulation environment.
  • the offline simulation device modifies the robot program and/or adjusts parameters for path generation based on the simulated robot operation and the generated path.
  • the above is an outline of this embodiment.
  • FIG. 1 is a diagram illustrating an example of the configuration of a robot system 100 according to the first embodiment.
  • the robot system 100 includes an offline simulation device 10 , a robot control device 20 , a robot 30 , a vision sensor 40 , a plurality of workpieces 50 , and a container 60 .
  • the offline simulation device 10, the robot control device 20, the robot 30, and the vision sensor 40 may be directly connected to each other via a connection interface (not shown).
  • the offline simulation device 10, the robot control device 20, the robot 30, and the vision sensor 40 may be connected to each other via a network (not shown) such as a LAN (Local Area Network) or the Internet.
  • a network such as a LAN (Local Area Network) or the Internet.
  • the offline simulation device 10, the robot control device 20, the robot 30, and the vision sensor 40 are provided with a communication unit (not shown) for communicating with each other through such connection.
  • FIG. 1 illustrates the offline simulation device 10 and the robot control device 20 separately, and in this case, the offline simulation device 10 may be composed of, for example, a computer. The configuration is not limited to this, and for example, the offline simulation device 10 may be implemented inside the robot control device 20 and integrated with the robot control device 20.
  • the robot control device 20 is a device known to those skilled in the art for controlling the operation of the robot 30.
  • the robot control device 20 generates a control signal for controlling the operation of the robot 30 to pick up the workpiece 50, for example, based on pick-up position information of the workpiece 50 detected by a vision sensor 40 (described below) among the piled up workpieces 50.
  • the robot control device 20 then outputs the generated control signal to the robot 30.
  • the robot 30 is a robot that operates under the control of the robot control device 20.
  • the robot 30 includes a base for rotating around a vertical axis, an arm that moves and rotates, and a removal hand 31 that is attached to the arm for holding the workpiece 50.
  • a gripping type removal hand is attached to the removal hand 31 of the robot 30, but an air suction type removal hand or a magnetic hand that uses magnetic force to remove an iron workpiece may also be attached.
  • peripheral equipment such as a conveyor to which the removed workpiece 50 is transferred is not shown in the drawings.
  • the specific configuration of the robot 30 is well known to those skilled in the art, a detailed description thereof will be omitted.
  • offline simulation device 10 and the robot control device 20 are assumed to have performed calibration in advance to associate the machine coordinate system for controlling the robot 30 with the camera coordinate system of the vision sensor 40, which indicates the pick-up position of the workpiece 50.
  • the vision sensor 40 is a three-dimensional measuring device such as a stereo camera, and acquires three-dimensional information (hereinafter also referred to as a "distance image") in which pixel values are values converted from the distance between a plane perpendicular to the optical axis of the vision sensor 40 and each point on the surface of the workpieces 50 stacked in bulk in the container 60.
  • a distance image three-dimensional information
  • the pixel value of point A of the workpiece 50 on the distance image is converted from the distance between the vision sensor 40 and point A of the workpiece 50 in the Z-axis direction of the three-dimensional coordinate system (X, Y, Z) of the vision sensor 40.
  • the Z-axis direction of the three-dimensional coordinate system is the optical axis direction of the vision sensor 40.
  • the vision sensor 40 may also be configured to acquire three-dimensional point cloud data of the multiple workpieces 50 loaded in the container 60 by, for example, a stereo camera.
  • the vision sensor 40 may acquire a two-dimensional image such as a grayscale image or an RGB image in addition to the distance image.
  • the vision sensor 40 may be a digital camera or the like.
  • the workpieces 50 are placed randomly, including in a loose pile, in the container 60.
  • the workpieces 50 may be any workpieces that can be held by the pick-up hand 31 attached to the arm of the robot 30, and the shape and other properties of the workpieces are not particularly limited.
  • the workpiece 50 may be a depalletizing system such as cardboard boxes stacked on a pallet.
  • FIG. 2 is a functional block diagram showing an example of the functional configuration of the offline simulation device 10 according to the first embodiment.
  • the offline simulation device 10 includes a control unit 11 and a storage unit 12.
  • the control unit 11 includes an offline program execution unit 110, an automatic path generation execution unit 111, an adjustment unit 112, and an output unit 113.
  • the storage unit 12 is a solid state drive (SSD) or a hard disk drive (HDD) or the like, and may store a robot program, an automatic path creation program, and the like.
  • the storage unit 12 also stores an offline simulation environment in which an offline program execution unit 110 described later executes a robot program offline to operate three-dimensional models (e.g., CAD data or the like) of the robot 30, vision sensor 40, workpiece 50, and container 60 shown in Fig. 1 arranged in a virtual space.
  • the storage unit 12 also stores a duplicated offline simulation environment obtained by copying the offline simulation environment so that an automatic path generation execution unit 111 described later generates a path for the operation of the robot 30 based on a path generation request from the offline program execution unit 110.
  • the offline simulation device 10 can simultaneously execute the robot's movement by executing the robot program offline and generate the robot's movement path by automatic path generation.
  • a three-dimensional model of a peripheral device (not shown) of the robot system 100 may be placed in the offline simulation environment and the replicated offline simulation environment.
  • the control unit 11 includes a CPU, a ROM, a RAM, a CMOS memory, etc., which are configured to be able to communicate with each other via a bus, and are well known to those skilled in the art.
  • the CPU is a processor that controls the entire offline simulation device 10.
  • the CPU reads out the system program and application program stored in the ROM via the bus, and controls the entire offline simulation device 10 in accordance with the system program and application program.
  • the control unit 11 is configured to realize the functions of an offline program execution unit 110, an automatic path generation execution unit 111, an adjustment unit 112, and an output unit 113.
  • the RAM stores various data such as temporary calculation data and display data.
  • the CMOS memory is backed up by a battery (not shown), and is configured as a non-volatile memory that retains its stored state even when the offline simulation device 10 is powered off.
  • the offline program execution unit 110 executes a robot program in an offline simulation environment in which, for example, a robot 30, a vision sensor 40, a workpiece 50, and a container 60 are arranged in a virtual space, and simulates the operation of the robot 30 removing the workpiece 50.
  • the offline program execution unit 110 executes the robot program by accepting an instruction to execute the robot program offline from a user via an input device (not shown) such as a keyboard or a touch panel.
  • the offline program execution unit 110 outputs a path generation request for an operation path of the robot 30 in the offline simulation environment to an automatic path generation execution unit 111 (described later) based on the robot program, in order to cause the robot 30 to pick up the workpiece 50 detected from a virtual image generated by the vision sensor 40 in the offline simulation environment.
  • the path generation request includes position information of the workpiece 50 to be picked up in the offline simulation environment, etc.
  • the offline program executing unit 110 operates the robot 30 in the offline simulation environment based on the path generated by the automatic path generating executing unit 111, and picks up the workpieces 50. Then, the offline program executing unit 110 executes the robot program in the offline simulation environment until the robot 30 picks up all of the workpieces 50 detected from the virtual image by the vision sensor 40.
  • the offline program execution unit 110 may terminate the execution of the robot program if, during calculation of the removal position of the workpiece 50, it determines that the robot 30 and the hand will interfere with a three-dimensional model of a peripheral device (not shown) of the robot system 100 and the workpiece 50 cannot be removed.
  • the automatic path generation execution unit 111 when the automatic path generation execution unit 111 receives a path generation request from the offline program execution unit 110, it copies the offline simulation environment and generates a path for the movement of the robot 30 in the copied duplicated offline simulation environment. Specifically, the automatic path generation executing unit 111 executes, for example, an automatic path generation program, and generates a motion path for the robot 30 to pick up the workpiece 50 in the replicated offline simulation environment, based on the position information of the workpiece 50 to be picked up, included in the path generation request, using a known path generation method. Note that the generated motion path may be generated so that the robot 30 and the hand do not interfere with three-dimensional models of the container 60 and peripheral equipment (not shown) in the replicated offline simulation environment.
  • the generated motion path may also include a path from when the robot 30 picks up the workpiece 50 to when it moves to peripheral equipment (not shown), such as a conveyor, in the replicated offline simulation environment.
  • the automatic path generation execution unit 111 outputs the generated operation path to the offline program execution unit 110 .
  • the adjustment unit 112 modifies the robot program and/or adjusts parameters of the movement path based on, for example, the movement of the robot 30 simulated in the offline simulation environment and the movement path generated in the replicated offline simulation environment. Specifically, the adjustment unit 112 calculates, for example, a cycle time (e.g., an average value, a variance value, etc.), the number of path generation failures (e.g., an average value, a variance value, etc.), the number of workpieces 50 that could not be picked up (e.g., an average value, a variance value, etc.), etc. based on the operation of the robot 30 simulated in the offline simulation environment and the result of the operation path generated in the replicated offline simulation environment.
  • a cycle time e.g., an average value, a variance value, etc.
  • the number of path generation failures e.g., an average value, a variance value, etc.
  • the number of workpieces 50 that could not be picked up e.g., an average value,
  • the number of path generation failures indicates, for example, the number of times in the replicated offline simulation environment when the robot 30 fails to pick up the workpiece 50 on the operation path for picking up the workpiece 50 from above, and the automatic path generation execution unit 111 changes the pick-up position to the side of the workpiece 50 or the like, or changes the target for picking up another workpiece 50, etc.
  • the adjustment unit 112 modifies the robot program, such as modifying or adding the speed of the robot 30 and the pick-up position, based on the calculated cycle time, the number of path generation failures, the number of workpieces 50 that could not be picked up, etc.
  • the adjustment unit 112 also adjusts parameters for path generation, such as changing the algorithm used for automatic path generation and the distance to obstacles such as the container 60 and peripheral equipment (not shown), based on the calculated cycle time, the number of path generation failures, the number of workpieces 50 that could not be picked up, etc.
  • the adjustment unit 112 stores the modified robot program and the adjusted path generation parameters in the storage unit 12.
  • the adjustment unit 112 may display the calculated cycle time, the number of path generation failures, the number of workpieces 50 that could not be removed, etc., on a display device (not shown) such as a liquid crystal display included in the offline simulation device 10.
  • the output unit 113 outputs the corrected robot program and the adjusted path generation parameters to the robot control device 20.
  • the robot control device 20 can adjust the robot 30 in the real space in a short amount of time by using the robot program corrected in the offline simulation and the adjusted path generation parameters.
  • FIG. 3 is a flowchart for explaining the offline processing of the offline simulation device 10. The flow shown here is executed every time the offline simulation device 10 receives an instruction to execute a robot program offline from a user.
  • step S11 when the offline program execution unit 110 receives an instruction to execute a robot program offline from a user via an input device (not shown) of the offline simulation device 10, it executes the robot program.
  • step S12 the vision sensor 40 in the offline simulation environment captures an image of the container 60 to generate a virtual image, and detects the workpiece 50 from the generated image.
  • step S13 the offline program execution unit 110 calculates the position of the workpiece 50 detected in step S12 based on the virtual image generated in step S12, and outputs a path generation request including the position information of the calculated position to the automatic path generation execution unit 111.
  • step S14 when the automatic path generation execution unit 111 receives a path generation request, it executes the automatic path generation program, copies the offline simulation environment, and generates a motion path for the robot 30 in the copied duplicated offline simulation environment.
  • step S15 the offline program execution unit 110 operates the robot 30 in the offline simulation environment based on the motion path generated in step S14, and removes the workpiece 50.
  • step S16 the offline program execution unit 110 determines whether or not there is a removable workpiece 50 detected by the vision sensor 40 in the offline simulation environment. If there is a removable workpiece 50, the process returns to step S12. On the other hand, if there is no removable workpiece 50, the process proceeds to step S17.
  • step S17 the adjustment unit 112 modifies the robot program and/or adjusts the parameters of the movement path based on the results of the movement of the robot 30 simulated in the offline simulation environment and the movement path generated in the replicated offline simulation environment.
  • step S18 the output unit 113 outputs the modified robot program and the adjusted path generation parameters to the robot control device 20.
  • the offline simulation device 10 executes a robot program in an offline simulation environment in which the robot 30, multiple workpieces 50, and vision sensor 40 are arranged in a virtual space, and simulates the operation of the robot 30 picking up the workpiece 50.
  • the offline simulation device 10 also copies the offline simulation environment and generates a movement path for the robot 30 in the copied, duplicated offline simulation environment. This allows the offline simulation device 10 to simultaneously execute the robot operation by executing the robot program offline and generate the movement path for the robot by automatic path generation.
  • the offline simulation device 10 outputs the corrected robot program and/or adjusted movement path parameters based on the movement of the robot 30 simulated in the offline simulation environment and the movement path generated in the replicated offline simulation environment to the robot control device 20. In this way, the robot control device 20 can adjust the robot 30 in the real space in a short time by using the robot program corrected in the offline simulation and the adjusted path generation parameters.
  • the first embodiment has been described above.
  • the offline simulation device 10 executes a robot program in an offline simulation environment in which a robot, a pile of workpieces to be picked up by the robot, and a vision sensor for detecting the workpieces are arranged in a virtual space, and simulates the robot's operation of picking up the workpieces.
  • the offline simulation device 10 also copies the offline simulation environment, and generates a motion path of the robot in the copied duplicated offline simulation environment.
  • the offline simulation device 10A differs from the first embodiment in that it uses one offline simulation environment in which a robot, a pile of workpieces to be picked up by the robot, and a vision sensor for detecting the workpieces are arranged in a virtual space, and stores the execution state of the robot program and the execution state of the generation of the motion path.
  • the offline simulation device 10A can simultaneously execute the robot operation by executing the robot program offline and generate the robot operation path by automatic path generation. The second embodiment will be described below.
  • the robot system 100 includes an offline simulation device 10A, a robot control device 20, a robot 30, a vision sensor 40, a plurality of workpieces 50, and a container 60, similar to the first embodiment shown in FIG. 1.
  • Fig. 4 is a functional block diagram showing an example of the functional configuration of an offline simulation device 10A according to the second embodiment. Elements having the same functions as those of the offline simulation device 10 in Fig. 2 are denoted by the same reference numerals, and detailed description thereof will be omitted.
  • the offline simulation device 10A has a control unit 11a and a storage unit 12.
  • the control unit 11a also has an offline program execution unit 110a, an automatic path generation execution unit 111a, an adjustment unit 112, and an output unit 113.
  • the storage unit 12 has the same function as the storage unit 12 in the first embodiment.
  • the control unit 11a includes a CPU, a ROM, a RAM, a CMOS memory, etc., which are configured to be able to communicate with each other via a bus, and are well known to those skilled in the art.
  • the CPU is a processor that controls the entire offline simulation device 10A.
  • the CPU reads out the system program and application program stored in the ROM via the bus, and controls the entire offline simulation device 10A in accordance with the system program and application program.
  • the control unit 11a is configured to realize the functions of an offline program execution unit 110a, an automatic path generation execution unit 111a, an adjustment unit 112, and an output unit 113.
  • the adjustment unit 112 and the output unit 113 have the same functions as the adjustment unit 112 and the output unit 113 in the first embodiment.
  • the offline program execution unit 110a executes a robot program in an offline simulation environment in which a robot 30, a vision sensor 40, a workpiece 50, and a container 60 are arranged in a virtual space, and simulates the operation of the robot 30 removing the workpiece 50.
  • the offline program executing unit 110a holds an execution state of the robot program in the offline simulation environment in a preset storage area of the storage unit 12. Then, the offline program executing unit 110a refers to the execution state of the robot program in the offline simulation environment held in the storage unit 12 and simulates the operation of the robot 30 to pick up the workpiece 50.
  • the automatic path generation executing unit 111a generates a movement path for the robot 30 in an offline simulation environment, similar to the automatic path generation executing unit 111 of the first embodiment.
  • the automatic path generation execution unit 111a executes the automatic path generation program offline to generate a movement path, it holds an execution state of the generation of the movement path in the offline simulation environment in a storage area different from the storage area of the offline program execution unit 110a that is preset in the storage unit 12.
  • the automatic path generation execution unit 111a generates a movement path of the robot 30 that picks up the workpiece 50 by referring to the execution state of the generation of the movement path in the offline simulation environment held in the storage unit 12.
  • the offline simulation device 10A can simultaneously execute the robot's movement by executing the robot program offline and generate the movement path of the robot by automatic path generation.
  • FIG. 5 is a flowchart for explaining offline processing of the offline simulation device 10 A.
  • the flow shown here is executed every time the offline simulation device 10 A receives an instruction to execute a robot program offline from a user.
  • the processes from step S26 to step S28 are similar to the processes from step S16 to step S18 in FIG. 3, and therefore the description thereof will be omitted.
  • step S21 when the offline program execution unit 110 receives an instruction to execute a robot program offline from a user via an input device (not shown) of the offline simulation device 10A, it executes the robot program and stores the execution state of the robot program in the offline simulation environment in the memory unit 12.
  • the vision sensor 40 in the offline simulation environment refers to the execution state of the robot program in the offline simulation environment stored in the memory unit 12, captures an image of the container 60 to generate a virtual image, and detects the workpiece 50 from the generated image.
  • step S23 the offline program execution unit 110a calculates the position of the workpiece 50 detected in step S22 based on the virtual image generated in step S22, and outputs a path generation request including the position information of the calculated position to the automatic path generation execution unit 111a.
  • step S24 when the automatic path generation execution unit 111a receives a path generation request, it executes the automatic path generation program by referring to the execution state of path generation in the offline simulation environment stored in the storage unit 12, and generates a movement path for the robot 30 in the offline simulation environment.
  • the automatic path generation execution unit 111a stores the execution state of the generation of the movement path in the offline simulation environment in the storage unit 12.
  • step S25 the offline program execution unit 110a operates the robot 30 in the offline simulation environment based on the motion path generated in step S24, and picks up the workpiece 50.
  • the offline program execution unit 110a then stores the execution state of the robot program in the offline simulation environment in the memory unit 12.
  • the offline simulation device 10A holds the execution state of the robot program and the execution state of the generation of the movement path by using one offline simulation environment in which the robot 30, the multiple workpieces 50, and the vision sensor 40 are arranged in a virtual space.
  • the offline simulation device 10A executes the robot program offline and simulates the movement of the robot 30 to pick up the workpiece 50 in the offline simulation environment by referring to the execution state of the held robot program.
  • the offline simulation device 10A generates a movement path of the robot 30 in the offline simulation environment by referring to the execution state of the held movement path generation. In this way, the offline simulation device 10A can simultaneously execute the movement of the robot by executing the robot program offline and the generation of the movement path of the robot by automatic path generation.
  • the offline simulation device 10A outputs the corrected robot program and/or adjusted parameters of the movement path based on the movement of the robot 30 simulated in the offline simulation environment and the movement path generated in the replicated offline simulation environment to the robot control device 20.
  • the robot control device 20 can adjust the robot 30 in the real space in a short time by using the robot program corrected in the offline simulation and the adjusted parameters for path generation.
  • the offline simulation devices 10 and 10A of the present disclosure can simultaneously execute a robot's motion by executing a robot program offline and generate a motion path for the robot by automatic path generation.
  • the robot 30 picks up the randomly stacked workpieces 50, but the present invention is not limited to this.
  • the robot 30 may be a depalletizing system that picks up stacked cardboard boxes or the like.
  • the offline simulation devices 10 and 10A are devices different from the robot control device 20, but this is not limited to the above.
  • the offline simulation devices 10 and 10A may be included in the robot control device 20.
  • each function included in the offline simulation device 10, 10A in the first and second embodiments can be realized by hardware, software, or a combination of these.
  • being realized by software means being realized by a computer reading and executing a program.
  • Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R/Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, RAMs).
  • the program may also be provided to the computer by various types of temporary computer readable media. Examples of temporary computer readable media include electrical signals, optical signals, and electromagnetic waves.
  • the temporary computer readable medium can provide the program to the computer via a wired communication path such as an electric wire or optical fiber, or via a wireless communication path.
  • the steps of writing the program to be recorded on the recording medium include not only processes that are performed chronologically according to the order, but also processes that are not necessarily performed chronologically but are executed in parallel or individually.
  • the offline simulation device (10) includes an offline program execution unit (110) that executes a robot program and simulates the operation of the robot (30) picking up a work (50) in an offline simulation environment in which a robot (30), a plurality of piled workpieces (50) to be picked up by the robot (30), and a vision sensor (40) that detects the plurality of workpieces (50) are arranged in a virtual space; an automatic path generation execution unit (111) that copies the offline simulation environment and generates a motion path for the operation of the robot (30) in the copied duplicated offline simulation environment; and an adjustment unit (112) that modifies the robot program and/or adjusts parameters of the motion path based on the simulated operation of the robot (30) and the generated motion path.
  • the offline simulation device (10A) includes an offline program execution unit (110a) that executes a robot program and simulates the operation of the robot (30) picking up the workpiece (50) in an offline simulation environment in which a robot (30), a plurality of piled workpieces (50) that the robot (30) picks up, and a vision sensor (40) that detects the plurality of workpieces (50) are arranged in a virtual space, an automatic path generation execution unit (111a) that generates a motion path of the operation of the robot (30) in the offline simulation environment, a memory unit (12) that retains an execution state of the robot program in the offline simulation environment by the offline program execution unit (110a) and an execution state of generation of the motion path in the offline simulation environment by the automatic path generation execution unit (111a), and an adjustment unit (112) that modifies the robot program and/or adjusts parameters of the motion path based on the simulated operation of the robot (30) and the generated motion path.
  • an offline program execution unit (110a) that executes a robot program and
  • the plurality of workpieces (50) are a plurality of workpieces that are randomly piled up or a plurality of workpieces of a depalletizing system.
  • an adjustment unit (112) calculates at least a cycle time and a number of failures in generating a movement path based on the simulated movement of the robot (30) and the generated movement path.
  • the adjustment unit (112) calculates the number of workpieces (50) that could not be picked up, together with the cycle time and the number of failures in generating the motion path, based on the simulated motion of the robot (30) and the generated motion path (Supplementary Note 6).
  • the offline simulation device (10, 10A) of Supplementary Note 1 or Supplementary Note 2 is provided with an output unit (113) that outputs the corrected robot program and/or the adjusted parameters of the motion path to a robot control device (20) in real space.
  • REFERENCE SIGNS LIST 10 10A offline simulation device 11, 11a control unit 110, 110a offline program execution unit 111, 111a automatic path generation execution unit 112 adjustment unit 113 output unit 20 robot control device 30 robot 31 removal hand 40 vision sensor 50 workpiece 60 container

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

オフラインでロボットプログラムの実行によるロボットの動作と、経路自動生成によるロボットの動作経路の生成とを同時に実行すること。 オフラインシミュレーション装置は、仮想空間においてロボット、前記ロボットが取り出す山積みされた複数のワーク、及び前記複数のワークを検出するビジョンセンサが配置されたオフラインシミュレーション環境において、ロボットプログラムを実行し、前記ロボットが前記ワークを取り出す動作をシミュレーションするオフラインプログラム実行部と、前記オフラインシミュレーション環境をコピーし、コピーした複製オフラインシミュレーション環境において、前記ロボットの前記動作の動作経路を生成する自動経路生成実行部と、シミュレーションされた前記ロボットの動作、及び生成された前記動作経路に基づいて、前記ロボットプログラムの修正、及び/又は前記動作経路のパラメータの調整を行う調整部と、を備える。

Description

オフラインシミュレーション装置
 本発明は、オフラインにおいてロボットの動作のシミュレーションと動作経路の生成とを行うオフラインシミュレーション装置に関する。
 ロボットシステムをオフラインでレイアウトの確認やセットアップ、動作確認し、現場での立ち上げ作業を短時間で完了させたいという要望があり、オフラインプログラミングツールが用意されている。
 また、ロボットの動作経路を自動で生成する経路自動生成があり、経路生成には仮想空間上に実空間と同じシステムを用意して、仮想空間で経路を生成し、生成に成功した経路をロボット制御装置に送り、ロボットを動作させている。
 例えば、作業対象物の3次元形状情報が格納された3次元CADファイルに基づいて溶接線を抽出し、各溶接線に対しティーチングレス機能が選択された溶接線に対して作業動作経路を自動生成し、全体経路シミュレーション機能で干渉が生じる作業線に対してはオフラインティーチング機能を用いて作業動作経路の修正を行う技術が知られている。例えば、特許文献1参照。
特開2000-190264号公報
 ところで、従来技術では、仮想空間にロボットやワーク等が配置されたオフラインシミュレーション環境が1つしかないため、例えば、段ボール箱等のデパレシステムやワークのバラ積み取出しにおいて、オフラインシミュレーション環境においてロボットプログラムの実行とロボットの動作経路の生成とを同時に実行することが難しかった。
 そこで、オフラインでロボットプログラムの実行によるロボットの動作と、経路自動生成によるロボットの動作経路の生成とを同時に実行することが望まれていた。
 本開示のオフラインシミュレーション装置の一態様は、仮想空間においてロボット、前記ロボットが取り出す山積みされた複数のワーク、及び前記複数のワークを検出するビジョンセンサが配置されたオフラインシミュレーション環境において、ロボットプログラムを実行し、前記ロボットが前記ワークを取り出す動作をシミュレーションするオフラインプログラム実行部と、前記オフラインシミュレーション環境をコピーし、コピーした複製オフラインシミュレーション環境において、前記ロボットの前記動作の動作経路を生成する自動経路生成実行部と、シミュレーションされた前記ロボットの動作、及び生成された前記動作経路に基づいて、前記ロボットプログラムの修正、及び/又は前記動作経路のパラメータの調整を行う調整部と、を備える。
 本開示のオフラインシミュレーション装置の一態様は、仮想空間においてロボット、前記ロボットが取り出す山積みされた複数のワーク、及び前記複数のワークを検出するビジョンセンサが配置されたオフラインシミュレーション環境において、ロボットプログラムを実行し、前記ロボットが前記ワークを取り出す動作をシミュレーションするオフラインプログラム実行部と、前記オフラインシミュレーション環境において、前記ロボットの前記動作の動作経路を生成する自動経路生成実行部と、前記オフラインプログラム実行部による前記オフラインシミュレーション環境における前記ロボットプログラムの実行状態と、前記自動経路生成実行部による前記オフラインシミュレーション環境における前記動作経路の生成の実行状態とを保持する記憶部と、シミュレーションされた前記ロボットの動作、及び生成された前記動作経路に基づいて、前記ロボットプログラムの修正、及び/又は前記動作経路のパラメータの調整を行う調整部と、を備える。
第1実施形態に係るロボットシステムの構成の一例を示す図である。 第1実施形態に係るオフラインシミュレーション装置の機能的構成例を示す機能ブロック図である。 オフラインシミュレーション装置のオフライン処理について説明するフローチャートである。 第2実施形態に係るオフラインシミュレーション装置の機能的構成例を示す機能ブロック図である。 オフラインシミュレーション装置のオフライン処理について説明するフローチャートである。
<第1実施形態>
 まず、本実施形態の概略を説明する。本実施形態では、オフラインシミュレーション装置は、仮想空間においてロボット、ロボットが取り出す山積みされた複数のワーク、及び複数のワークを検出するビジョンセンサが配置されたオフラインシミュレーション環境において、ロボットプログラムを実行し、ロボットがワークを取り出す動作をシミュレーションする。また、オフラインシミュレーション装置は、オフラインシミュレーション環境をコピーし、コピーした複製オフラインシミュレーション環境において、ロボットの動作経路を生成する。オフラインシミュレーション装置は、シミュレーションされたロボットの動作、及び生成された経路に基づいて、ロボットプログラムの修正、及び/又は経路生成のパラメータの調整を行う。
 これにより、本実施形態によれば、オフラインでロボットプログラムの実行によるロボットの動作と、経路自動生成によるロボットの動作経路の生成とを同時に実行することができる。
 以上が本実施形態の概略である。
 図1は、第1実施形態に係るロボットシステム100の構成の一例を示す図である。
 図1に示すように、ロボットシステム100は、オフラインシミュレーション装置10、ロボット制御装置20、ロボット30、ビジョンセンサ40、複数のワーク50、及びコンテナ60を有する。
 オフラインシミュレーション装置10、ロボット制御装置20、ロボット30、及びビジョンセンサ40は、図示しない接続インタフェースを介して互いに直接接続されてもよい。なお、オフラインシミュレーション装置10、ロボット制御装置20、ロボット30、及びビジョンセンサ40は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して相互に接続されていてもよい。この場合、オフラインシミュレーション装置10、ロボット制御装置20、ロボット30、及びビジョンセンサ40は、かかる接続によって相互に通信を行うための図示しない通信部を備えている。また、説明しやすくするために、図1はオフラインシミュレーション装置10とロボット制御装置20をそれぞれ独立に描いていて、この場合のオフラインシミュレーション装置10は例えばコンピュータより構成されてもよい。このような構成に限定されず、例えば、オフラインシミュレーション装置10はロボット制御装置20の内部に実装され、ロボット制御装置20と一体化されてもよい。
 ロボット制御装置20は、ロボット30の動作を制御するための当業者にとって公知の装置である。ロボット制御装置20は、例えば、バラ積みされたワーク50のうち後述するビジョンセンサ40に検出されたワーク50の取り出し位置情報に基づいて、ワーク50を取り出すようにロボット30の動作を制御するための制御信号を生成する。そして、ロボット制御装置20は、生成した制御信号をロボット30に対して出力する。
 ロボット30は、ロボット制御装置20の制御に基づいて動作するロボットである。ロボット30は、鉛直方向の軸を中心に回転するためのベース部や、移動及び回転するアームや、ワーク50を保持するためにアームに装着される取り出しハンド31を備える。なお、図1では、ロボット30の取り出しハンド31には、把持式の取り出しハンドが装着されているが、エア吸着式の取り出しハンドが装着されてもよく、磁力で鉄製のワークを取り出す磁気式ハンドが装着されてもよい。
 なお、取り出したワーク50の移載先であるコンベア等の周辺機器については図示を省略する。また、ロボット30の具体的な構成については、当業者によく知られているので、詳細な説明は省略する。
 なお、オフラインシミュレーション装置10やロボット制御装置20は、予め行われたキャリブレーションにより、ロボット30を制御するための機械座標系と、ワーク50の取り出し位置を示すビジョンセンサ40のカメラ座標系とを対応付けているものとする。
 ビジョンセンサ40は、ステレオカメラ等の3次元計測機等であり、ビジョンセンサ40の光軸に対して垂直な平面とコンテナ60内のばら積みされたワーク50の表面の各点との間の距離から換算した値を画素値とする3次元情報(以下、「距離画像」ともいう)を取得する。例えば、図1に示すように、距離画像上のワーク50の点Aの画素値は、ビジョンセンサ40の3次元座標系(X,Y,Z)のZ軸方向の、ビジョンセンサ40とワーク50の点Aとの間の距離から換算したものである。すなわち、3次元座標系のZ軸方向はビジョンセンサ40の光軸方向である。また、ビジョンセンサ40は、例えばステレオカメラによりコンテナ60内に積載の複数のワーク50の3次元点群データを取得するように構成されてもよい。
 なお、ビジョンセンサ40は、距離画像とともに、グレースケール画像又はRGB画像等の2次元画像を取得してもよい。また、ビジョンセンサ40は、デジタルカメラ等でもよい。
 ワーク50は、コンテナ60内で、バラ積みされた状態を含んで乱雑に置かれる。ワーク50は、ロボット30のアームに装着された取り出しハンド31で保持可能なものであればよく、その形状等は特に限定されない。
 ワーク50は、パレットに積まれた段ボール箱等のデパレシステムでもよい。
<オフラインシミュレーション装置10>
 図2は、第1実施形態に係るオフラインシミュレーション装置10の機能的構成例を示す機能ブロック図である。
 オフラインシミュレーション装置10は、当業者にとって公知のコンピュータであり、図2に示すように、制御部11、及び記憶部12を有する。また、制御部11は、オフラインプログラム実行部110、自動経路生成実行部111、調整部112、及び出力部113を有する。
<記憶部12>
 記憶部12は、SSD(Solid State Drive)やHDD(Hard Disk Drive)等であり、ロボットプログラムや自動経路作成プログラム等を記憶してもよい。
 また、記憶部12は、後述するオフラインプログラム実行部110がオフラインにおいてロボットプログラムを実行することにより、仮想空間に配置された図1に示すロボット30、ビジョンセンサ40、ワーク50、及びコンテナ60の3次元モデル(例えば、CADデータ等)を動作させるオフラインシミュレーション環境を記憶する。また、記憶部12は、後述する自動経路生成実行部111が、オフラインプログラム実行部110からの経路生成依頼に基づいてロボット30の動作の経路を生成するために、オフラインシミュレーション環境をコピーした複製オフラインシミュレーション環境を記憶する。
 そうすることで、オフラインシミュレーション装置10は、オフラインでロボットプログラムの実行によるロボットの動作と、経路自動生成によるロボットの動作経路の生成とを同時に実行することができる。
 なお、オフラインシミュレーション環境及び複製オフラインシミュレーション環境には、ロボットシステム100の周辺機器(図示しない)の3次元モデルが配置されてもよい。
<制御部11>
 制御部11は、CPU、ROM、RAM、CMOSメモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
 CPUはオフラインシミュレーション装置10を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、システムプログラム及びアプリケーションプログラムに従ってオフラインシミュレーション装置10全体を制御する。これにより、図1に示すように、制御部11は、オフラインプログラム実行部110、自動経路生成実行部111、調整部112、及び出力部113の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。CMOSメモリは図示しないバッテリでバックアップされ、オフラインシミュレーション装置10の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
 オフラインプログラム実行部110は、例えば、仮想空間においてロボット30、ビジョンセンサ40、ワーク50、及びコンテナ60が配置されたオフラインシミュレーション環境において、ロボットプログラムを実行し、ロボット30がワーク50を取り出す動作をシミュレーションする。
 具体的には、オフラインプログラム実行部110は、例えば、キーボードやタッチパネル等の入力装置(図示しない)を介して、ユーザからオフラインでロボットプログラムの実行指示を受け付けることで、ロボットプログラムを実行する。オフラインプログラム実行部110は、ロボットプログラムに基づいて、オフラインシミュレーション環境においてビジョンセンサ40が生成した仮想の画像から検出したワーク50をロボット30に取り出させるために、オフラインシミュレーション環境におけるロボット30の動作経路の経路生成依頼を後述する自動経路生成実行部111に出力する。なお、経路生成依頼には、オフラインシミュレーション環境での取り出すワーク50の位置情報等が含まれる。
 オフラインプログラム実行部110は、自動経路生成実行部111により生成された経路に基づいて、オフラインシミュレーション環境において、ロボット30を動作させ、ワーク50を取り出す。そして、オフラインプログラム実行部110は、オフラインシミュレーション環境において、ビジョンセンサ40により仮想の画像から検出された全てのワーク50を、ロボット30が取り出するまで、ロボットプログラムを実行する。
 なお、オフラインプログラム実行部110は、ワーク50の取り出し位置の計算で、ロボット30及びハンドがロボットシステム100の周辺機器(図示しない)の3次元モデルと干渉し取り出せないと判定することで、ロボットプログラムの実行を終了するようにしてもよい。
 自動経路生成実行部111は、例えば、オフラインプログラム実行部110より経路生成依頼を受信した場合、オフラインシミュレーション環境をコピーし、コピーした複製オフラインシミュレーション環境において、ロボット30の動作の経路を生成する。
 具体的には、自動経路生成実行部111は、例えば、自動経路生成プログラムを実行し、公知の経路生成の手法を用いて、経路生成依頼に含まれる取り出すワーク50の位置情報に基づき、複製オフラインシミュレーション環境においてロボット30がワーク50を取り出すための動作経路を生成する。なお、生成される動作経路は、複製オフラインシミュレーション環境において、ロボット30及びハンドがコンテナ60及び周辺機器(図示しない)の3次元モデルと干渉しないように生成されてもよい。また、生成される動作経路は、複製オフラインシミュレーション環境において、ロボット30がワーク50を取り出してからコンベア等の周辺機器(図示しない)に移動するまでの経路を含んでもよい。
 自動経路生成実行部111は、生成した動作経路をオフラインプログラム実行部110に出力する。
 調整部112は、例えば、オフラインシミュレーション環境でシミュレーションされたロボット30の動作、及び複製オフラインシミュレーション環境で生成された動作経路に基づいて、ロボットプログラムの修正、及び/又は動作経路のパラメータの調整を行う。
 具体的には、調整部112は、例えば、オフラインシミュレーション環境でシミュレーションされたロボット30の動作、及び複製オフラインシミュレーション環境で生成された動作経路の結果に基づいて、サイクルタイム(例えば、平均値や分散値等)、経路生成の失敗回数(例えば、平均値や分散値等)、取り出せなかったワーク50の数(例えば、平均値や分散値等)等を算出する。ここで、経路生成の失敗回数は、例えば、複製オフラインシミュレーション環境において、最初に生成したワーク50の上から取り出す動作経路でロボット30がワーク50の取り出しに失敗し、自動経路生成実行部111がワーク50の横等の取り出し位置に変更した場合や、別のワーク50を取り出す対象に変更した場合等の回数を示す。
 調整部112は、算出したサイクルタイム、経路生成の失敗回数、取り出せなかったワーク50の数等に基づいて、ロボット30の速度や、取り出し位置の修正・追加等のロボットプログラムを修正する。また、調整部112は、算出したサイクルタイム、経路生成の失敗回数、取り出せなかったワーク50の数等に基づいて、自動経路生成に用いるアルゴリズムの変更、コンテナ60や周辺機器(図示しない)等の障害物との距離等の経路生成のパラメータを調整する。調整部112は、修正したロボットプログラム、及び調整した経路生成のパラメータを記憶部12に記憶する。
 なお、調整部112は、算出したサイクルタイム、経路生成の失敗回数、取り出せなかったワーク50の数等を、オフラインシミュレーション装置10に含まれる液晶ディスプレイ等の表示装置(図示しない)に表示するようにしてもよい。
 出力部113は、修正したロボットプログラム、及び調整した経路生成のパラメータをロボット制御装置20に出力する。
 そうすることで、ロボット制御装置20は、オフラインシミュレーションにおいて修正したロボットプログラム、及び調整した経路生成のパラメータを用いることで、実空間のロボット30の調整を短い時間で行うことができる。
<オフラインシミュレーション装置10のオフライン処理>
 次に、図3を参照しながら、オフラインシミュレーション装置10のオフライン処理の流れを説明する。
 図3は、オフラインシミュレーション装置10のオフライン処理について説明するフローチャートである。ここで示すフローは、オフラインシミュレーション装置10がユーザからオフラインでロボットプログラムの実行指示受け付ける度に実行される。
 ステップS11において、オフラインプログラム実行部110は、オフラインシミュレーション装置10の入力装置(図示しない)を介して、ユーザからオフラインでロボットプログラムの実行指示を受け付けると、ロボットプログラムを実行する。
 ステップS12において、オフラインシミュレーション環境のビジョンセンサ40は、コンテナ60を撮像して仮想の画像を生成し、生成した画像からワーク50を検出する。
 ステップS13において、オフラインプログラム実行部110は、ステップS12で生成された仮想の画像に基づいて、ステップS12で検出されたワーク50の位置を算出し、算出した位置の位置情報を含む経路生成依頼を、自動経路生成実行部111に出力する。
 ステップS14において、自動経路生成実行部111は、経路生成依頼を受信した場合、自動経路生成プログラムを実行し、オフラインシミュレーション環境をコピーし、コピーした複製オフラインシミュレーション環境において、ロボット30の動作経路を生成する。
 ステップS15において、オフラインプログラム実行部110は、ステップS14で生成された動作経路に基づいて、オフラインシミュレーション環境でロボット30を動作させ、ワーク50を取り出す。
 ステップS16において、オフラインプログラム実行部110は、オフラインシミュレーション環境でビジョンセンサ40により検出された取り出せるワーク50があるか否かを判定する。取り出せるワーク50がある場合、処理はステップS12に戻る。一方、取り出せるワーク50がない場合、処理はステップS17に進む。
 ステップS17において、調整部112は、オフラインシミュレーション環境でシミュレーションされたロボット30の動作、及び複製オフラインシミュレーション環境で生成された動作経路の結果に基づいて、ロボットプログラムの修正、及び/又は動作経路のパラメータの調整を行う。
 ステップS18において、出力部113は、修正したロボットプログラム、及び調整した経路生成のパラメータをロボット制御装置20に出力する。
 以上により、第1実施形態に係るオフラインシミュレーション装置10は、仮想空間においてロボット30、複数のワーク50、及びビジョンセンサ40が配置されたオフラインシミュレーション環境において、ロボットプログラムを実行し、ロボット30がワーク50を取り出す動作をシミュレーションする。また、オフラインシミュレーション装置10は、オフラインシミュレーション環境をコピーし、コピーした複製オフラインシミュレーション環境において、ロボット30の動作経路を生成する。これにより、オフラインシミュレーション装置10は、オフラインでロボットプログラムの実行によるロボットの動作と、経路自動生成によるロボットの動作経路の生成とを同時に実行することができる。
 また、オフラインシミュレーション装置10は、オフラインシミュレーション環境でシミュレーションされたロボット30の動作、及び複製オフラインシミュレーション環境で生成された動作経路に基づいて、修正したロボットプログラム、及び/又は調整した動作経路のパラメータを、ロボット制御装置20に出力する。そうすることで、ロボット制御装置20は、オフラインシミュレーションにおいて修正したロボットプログラム、及び調整した経路生成のパラメータを用いることで、実空間のロボット30の調整を短い時間で行うことができる。
 以上、第1実施形態について説明した。
<第2実施形態>
 次に、第2実施形態について説明する。第1実施形態では、オフラインシミュレーション装置10は、仮想空間においてロボット、ロボットが取り出す山積みされた複数のワーク、及び複数のワークを検出するビジョンセンサが配置されたオフラインシミュレーション環境において、ロボットプログラムを実行し、ロボットがワークを取り出す動作をシミュレーションする。また、オフラインシミュレーション装置10は、オフラインシミュレーション環境をコピーし、コピーした複製オフラインシミュレーション環境において、ロボットの動作経路を生成する。これに対して、第2実施形態では、オフラインシミュレーション装置10Aは、仮想空間においてロボット、ロボットが取り出す山積みされた複数のワーク、及び複数のワークを検出するビジョンセンサが配置された1つのオフラインシミュレーション環境を用いて、ロボットプログラムの実行状態と、動作経路の生成の実行状態とを記憶する点で、第1実施形態と相違する。
 これにより、第2実施形態によれば、オフラインシミュレーション装置10Aは、オフラインでロボットプログラムの実行によるロボットの動作と、経路自動生成によるロボットの動作経路の生成とを同時に実行することができる。
 以下、第2実施形態について説明する。
 第2実施形態に係るロボットシステム100は、図1の第1実施形態の場合と同様に、オフラインシミュレーション装置10A、ロボット制御装置20、ロボット30、ビジョンセンサ40、複数のワーク50、及びコンテナ60を有する。
<オフラインシミュレーション装置10A>
 図4は、第2実施形態に係るオフラインシミュレーション装置10Aの機能的構成例を示す機能ブロック図である。なお、図2のオフラインシミュレーション装置10の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 オフラインシミュレーション装置10Aは、第1実施形態に係るオフラインシミュレーション装置10と同様に、制御部11a、及び記憶部12を有する。また、制御部11aは、オフラインプログラム実行部110a、自動経路生成実行部111a、調整部112、及び出力部113を有する。
 記憶部12は、第1実施形態における記憶部12と同様の機能を有する。
<制御部11a>
 制御部11aは、CPU、ROM、RAM、CMOSメモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
 CPUはオフラインシミュレーション装置10Aを全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、システムプログラム及びアプリケーションプログラムに従ってオフラインシミュレーション装置10A全体を制御する。これにより、図4に示すように、制御部11aは、オフラインプログラム実行部110a、自動経路生成実行部111a、調整部112、及び出力部113の機能を実現するように構成される。
 調整部112及び出力部113は、第1実施形態における調整部112及び出力部113と同様の機能を有する。
 オフラインプログラム実行部110aは、例えば、第1実施形態のオフラインプログラム実行部110と同様に、仮想空間においてロボット30、ビジョンセンサ40、ワーク50、及びコンテナ60が配置されたオフラインシミュレーション環境において、ロボットプログラムを実行し、ロボット30がワーク50を取り出す動作をシミュレーションする。
 なお、オフラインプログラム実行部110aは、オフラインでロボットプログラムを実行する場合、オフラインシミュレーション環境におけるロボットプログラムの実行状態を記憶部12の予め設定された記憶領域に保持する。そして、オフラインプログラム実行部110aは、記憶部12に保持されたオフラインシミュレーション環境におけるロボットプログラムの実行状態を参照してロボット30がワーク50を取り出す動作をシミュレーションする。
 自動経路生成実行部111aは、オフラインシミュレーション環境において、第1実施形態の自動経路生成実行部111と同様に、ロボット30の動作経路を生成する。
 なお、自動経路生成実行部111aは、オフラインで自動経路生成プログラムを実行し動作経路を生成する場合、オフラインシミュレーション環境における動作経路の生成の実行状態を、記憶部12の予め設定されたオフラインプログラム実行部110aの記憶領域と異なる記憶領域に保持する。そして、自動経路生成実行部111aは、記憶部12に保持されたオフラインシミュレーション環境における動作経路の生成の実行状態を参照してワーク50を取り出すロボット30の動作経路を生成する。
 そうすることで、オフラインシミュレーション装置10Aは、オフラインでロボットプログラムの実行によるロボットの動作と、経路自動生成によるロボットの動作経路の生成とを同時に実行することができる。
<オフラインシミュレーション装置10Aのオフライン処理>
 次に、図5を参照しながら、オフラインシミュレーション装置10Aのオフライン処理の流れを説明する。
 図5は、オフラインシミュレーション装置10Aのオフライン処理について説明するフローチャートである。ここで示すフローは、オフラインシミュレーション装置10Aがユーザからオフラインでロボットプログラムの実行指示受け付ける度に実行される。
 なお、ステップS26からステップS28の処理は、図3のステップS16からステップS18の処理と同様であり、説明は省略する。
 ステップS21において、オフラインプログラム実行部110は、オフラインシミュレーション装置10Aの入力装置(図示しない)を介して、ユーザからオフラインでロボットプログラムの実行指示を受け付けると、ロボットプログラムを実行し、オフラインシミュレーション環境におけるロボットプログラムの実行状態を記憶部12に保持する。
 ステップS22において、オフラインシミュレーション環境のビジョンセンサ40は、記憶部12に保持されたオフラインシミュレーション環境におけるロボットプログラムの実行状態を参照し、コンテナ60を撮像して仮想の画像を生成し、生成した画像からワーク50を検出する。
 ステップS23において、オフラインプログラム実行部110aは、ステップS22で生成された仮想の画像に基づいて、ステップS22で検出されたワーク50の位置を算出し、算出した位置の位置情報を含む経路生成依頼を、自動経路生成実行部111aに出力する。
 ステップS24において、自動経路生成実行部111aは、経路生成依頼を受信した場合、記憶部12に保持されたオフラインシミュレーション環境における経路生成の実行状態を参照して自動経路生成プログラムを実行し、オフラインシミュレーション環境において、ロボット30の動作経路を生成する。自動経路生成実行部111aは、オフラインシミュレーション環境における動作経路の生成の実行状態を記憶部12に保持する。
 ステップS25において、オフラインプログラム実行部110aは、ステップS24で生成された動作経路に基づいて、オフラインシミュレーション環境でロボット30を動作させ、ワーク50を取り出す。そして、オフラインプログラム実行部110aは、オフラインシミュレーション環境におけるロボットプログラムの実行状態を記憶部12に保持する。
 以上により、第2実施形態に係るオフラインシミュレーション装置10Aは、仮想空間においてロボット30、複数のワーク50、及びビジョンセンサ40が配置された1つのオフラインシミュレーション環境を用いて、ロボットプログラムの実行状態と、動作経路の生成の実行状態とを保持する。オフラインシミュレーション装置10Aは、オフラインでロボットプログラムを実行し、保持したロボットプログラムの実行状態を参照することで、オフラインシミュレーション環境でロボット30がワーク50を取り出す動作をシミュレーションする。また、オフラインシミュレーション装置10Aは、保持した動作経路の生成の実行状態を参照し、オフラインシミュレーション環境でロボット30の動作経路を生成する。これにより、オフラインシミュレーション装置10Aは、オフラインでロボットプログラムの実行によるロボットの動作と、経路自動生成によるロボットの動作経路の生成とを同時に実行することができる。
 また、オフラインシミュレーション装置10Aは、オフラインシミュレーション環境でシミュレーションされたロボット30の動作、及び複製オフラインシミュレーション環境で生成された動作経路に基づいて、修正したロボットプログラム、及び/又は調整した動作経路のパラメータを、ロボット制御装置20に出力する。そうすることで、ロボット制御装置20は、オフラインシミュレーションにおいて修正したロボットプログラム、及び調整した経路生成のパラメータを用いることで、実空間のロボット30の調整を短い時間で行うことができる。
 以上、第2実施形態について説明した。
 以上のように、第1実施形態、及び第2実施形態に記載したように、本開示のオフラインシミュレーション装置10、10Aは、オフラインでロボットプログラムの実行によるロボットの動作と、経路自動生成によるロボットの動作経路の生成とを同時に実行することができる。
<変形例1>
 第1実施形態、及び第2実施形態では、ロボット30はバラ積みされたワーク50を取り出したが、これに限定されない。例えば、ロボット30は、積まれた段ボール箱等を取り出すデパレシステムでもよい。
<変形例2>
 また例えば、第1実施形態、及び第2実施形態では、オフラインシミュレーション装置10、10Aは、ロボット制御装置20と異なる装置としたが、これに限定されない。例えば、オフラインシミュレーション装置10、10Aは、ロボット制御装置20に含まれてもよい。
 なお、第1実施形態、及び第2実施形態における、オフラインシミュレーション装置10、10Aに含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
 プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
 なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 本開示について詳述したが、本開示は上述した個々の実施形態に限定されるものではない。これらの実施形態は、本開示の要旨を逸脱しない範囲で、又は、特許請求の範囲に記載された内容とその均等物から導き出される本 開示の趣旨を逸脱しない範囲で、種々の追加、置き換え、変更、部分的削除等が可能である。また、これらの実施形態は、組み合わせて実施することもできる。例えば、上述した実施形態において、各動作の順序や各処理の順序は、一例として示したものであり、これらに限定されるものではない。また、上述した実施形態の説明に数値又は数式が用いられている場合も同様である。
 上記実施形態及び変形例に関し、更に以下の付記を開示する。
(付記1)
 オフラインシミュレーション装置(10)は、仮想空間においてロボット(30)、ロボット(30)が取り出す山積みされた複数のワーク(50)、及び複数のワーク(50)を検出するビジョンセンサ(40)が配置されたオフラインシミュレーション環境において、ロボットプログラムを実行し、ロボット(30)がワーク(50)を取り出す動作をシミュレーションするオフラインプログラム実行部(110)と、オフラインシミュレーション環境をコピーし、コピーした複製オフラインシミュレーション環境において、ロボット(30)の動作の動作経路を生成する自動経路生成実行部(111)と、シミュレーションされたロボット(30)の動作、及び生成された動作経路に基づいて、ロボットプログラムの修正、及び/又は動作経路のパラメータの調整を行う調整部(112)と、を備える。
(付記2)
 オフラインシミュレーション装置(10A)は、仮想空間においてロボット(30)、ロボット(30)が取り出す山積みされた複数のワーク(50)、及び複数のワーク(50)を検出するビジョンセンサ(40)が配置されたオフラインシミュレーション環境において、ロボットプログラムを実行し、ロボット(30)がワーク(50)を取り出す動作をシミュレーションするオフラインプログラム実行部(110a)と、オフラインシミュレーション環境において、ロボット(30)の動作の動作経路を生成する自動経路生成実行部(111a)と、オフラインプログラム実行部(110a)によるオフラインシミュレーション環境におけるロボットプログラムの実行状態と、自動経路生成実行部(111a)によるオフラインシミュレーション環境における動作経路の生成の実行状態とを保持する記憶部(12)と、シミュレーションされたロボット(30)の動作、及び生成された動作経路に基づいて、ロボットプログラムの修正、及び/又は動作経路のパラメータの調整を行う調整部(112)と、を備える。
(付記3)
 付記1又は付記2のオフラインシミュレーション装置(10、10A)において、複数のワーク(50)は、バラ積みされた複数のワーク、又はデパレシステムの複数のワークである。
(付記4)
 付記1又は付記2のオフラインシミュレーション装置(10、10A)において、調整部(112)は、シミュレーションされたロボット(30)の動作、及び生成された動作経路に基づいて、少なくともサイクルタイム、動作経路の生成の失敗回数を算出する。
(付記5)
 付記4のオフラインシミュレーション装置(10、10A)において、調整部(112)は、複数のワーク(50)がバラ積みされている場合、シミュレーションされたロボット(30)の動作、及び生成された動作経路に基づいて、サイクルタイム及び動作経路の生成の失敗回数とともに、取り出せなかったワーク(50)の数を算出する
(付記6)
 付記1又は付記2のオフラインシミュレーション装置(10、10A)において、修正したロボットプログラム、及び/又は調整した動作経路のパラメータを実空間のロボット制御装置(20)に出力する出力部(113)を備える。
 10、10A オフラインシミュレーション装置
 11、11a 制御部
 110、110a オフラインプログラム実行部
 111、111a 自動経路生成実行部
 112 調整部
 113 出力部
 20 ロボット制御装置
 30 ロボット
 31 取り出しハンド
 40 ビジョンセンサ
 50 ワーク
 60 コンテナ

Claims (6)

  1.  仮想空間においてロボット、前記ロボットが取り出す山積みされた複数のワーク、及び前記複数のワークを検出するビジョンセンサが配置されたオフラインシミュレーション環境において、ロボットプログラムを実行し、前記ロボットが前記ワークを取り出す動作をシミュレーションするオフラインプログラム実行部と、
     前記オフラインシミュレーション環境をコピーし、コピーした複製オフラインシミュレーション環境において、前記ロボットの前記動作の動作経路を生成する自動経路生成実行部と、
     シミュレーションされた前記ロボットの動作、及び生成された前記動作経路に基づいて、前記ロボットプログラムの修正、及び/又は前記動作経路のパラメータの調整を行う調整部と、
     を備えるオフラインシミュレーション装置。
  2.  仮想空間においてロボット、前記ロボットが取り出す山積みされた複数のワーク、及び前記複数のワークを検出するビジョンセンサが配置されたオフラインシミュレーション環境において、ロボットプログラムを実行し、前記ロボットが前記ワークを取り出す動作をシミュレーションするオフラインプログラム実行部と、
     前記オフラインシミュレーション環境において、前記ロボットの前記動作の動作経路を生成する自動経路生成実行部と、
     前記オフラインプログラム実行部による前記オフラインシミュレーション環境における前記ロボットプログラムの実行状態と、前記自動経路生成実行部による前記オフラインシミュレーション環境における前記動作経路の生成の実行状態とを保持する記憶部と、
     シミュレーションされた前記ロボットの動作、及び生成された前記動作経路に基づいて、前記ロボットプログラムの修正、及び/又は前記動作経路のパラメータの調整を行う調整部と、
     を備えるオフラインシミュレーション装置。
  3.  前記複数のワークは、バラ積みされた複数のワーク、又はデパレシステムの複数のワークである、請求項1又は請求項2に記載のオフラインシミュレーション装置。
  4.  前記調整部は、シミュレーションされた前記ロボットの動作、及び生成された前記動作経路に基づいて、少なくともサイクルタイム、前記動作経路の生成の失敗回数を算出する、請求項1又は請求項2に記載のオフラインシミュレーション装置。
  5.  前記調整部は、前記複数のワークがバラ積みされている場合、シミュレーションされた前記ロボットの動作、及び生成された前記動作経路に基づいて、前記サイクルタイム及び前記動作経路の生成の失敗回数とともに、取り出せなかったワークの数を算出する、請求項4に記載のオフラインシミュレーション装置。
  6.  修正した前記ロボットプログラム、及び/又は調整した前記動作経路のパラメータを実空間の制御装置に出力する出力部を備える、請求項1又は請求項2に記載のオフラインシミュレーション装置。
PCT/JP2022/037236 2022-10-05 2022-10-05 オフラインシミュレーション装置 WO2024075200A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/037236 WO2024075200A1 (ja) 2022-10-05 2022-10-05 オフラインシミュレーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/037236 WO2024075200A1 (ja) 2022-10-05 2022-10-05 オフラインシミュレーション装置

Publications (1)

Publication Number Publication Date
WO2024075200A1 true WO2024075200A1 (ja) 2024-04-11

Family

ID=90607819

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/037236 WO2024075200A1 (ja) 2022-10-05 2022-10-05 オフラインシミュレーション装置

Country Status (1)

Country Link
WO (1) WO2024075200A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016036895A (ja) * 2014-08-11 2016-03-22 ファナック株式会社 駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置
JP2019036014A (ja) * 2017-08-10 2019-03-07 オムロン株式会社 情報処理装置、情報処理方法およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016036895A (ja) * 2014-08-11 2016-03-22 ファナック株式会社 駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置
JP2019036014A (ja) * 2017-08-10 2019-03-07 オムロン株式会社 情報処理装置、情報処理方法およびプログラム

Similar Documents

Publication Publication Date Title
JP4153528B2 (ja) ロボットシミュレーションのための装置、プログラム、記録媒体及び方法
CN110573308B (zh) 用于机器人设备的空间编程的基于计算机的方法及系统
JP5949242B2 (ja) ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
US20200061837A1 (en) Method for industrial robot commissioning, industrial robot system and control system using the same
US9727053B2 (en) Information processing apparatus, control method for information processing apparatus, and recording medium
US11657527B2 (en) Robotic control based on 3D bounding shape, for an object, generated using edge-depth values for the object
JP2017094406A (ja) シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
CN108687767B (zh) 离线编程装置以及离线编程方法
JP2019018272A (ja) モーション生成方法、モーション生成装置、システム及びコンピュータプログラム
CN112313045A (zh) 用于机器人拣箱的系统和方法
TW201240779A (en) Robot control apparatus
JP2018149606A (ja) 生産ラインにおける運用を考慮した学習制御を行うロボット及びその制御方法
JP6643020B2 (ja) ロボット制御装置、ロボット制御方法及びコンピュータプログラム
JP2021065955A (ja) ロボット制御システム及びその制御方法及びプログラム
CN114080590A (zh) 使用先进扫描技术的机器人料箱拾取系统和方法
JP6658985B1 (ja) ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法
WO2024075200A1 (ja) オフラインシミュレーション装置
JP2006281330A (ja) ロボットシミュレーション装置
JP2014124735A (ja) ロボット制御方法、ロボット制御装置、プログラム、及びロボット
TW202415508A (zh) 離線模擬裝置
WO2023061695A1 (en) Method and apparatus for hand-eye calibration of robot
WO2021250923A1 (ja) ロボットシステム、制御装置、及び制御方法
JP2013184242A (ja) 産業用機械の干渉判定装置、干渉判定方法、コンピュータプログラムおよび記録媒体
JP7249221B2 (ja) センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法
WO2022254538A1 (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: 22961389

Country of ref document: EP

Kind code of ref document: A1