WO2019167765A1 - シミュレーション装置、方法、及びプログラム - Google Patents

シミュレーション装置、方法、及びプログラム Download PDF

Info

Publication number
WO2019167765A1
WO2019167765A1 PCT/JP2019/006400 JP2019006400W WO2019167765A1 WO 2019167765 A1 WO2019167765 A1 WO 2019167765A1 JP 2019006400 W JP2019006400 W JP 2019006400W WO 2019167765 A1 WO2019167765 A1 WO 2019167765A1
Authority
WO
WIPO (PCT)
Prior art keywords
workpiece
acceleration
simulation
robot arm
unit
Prior art date
Application number
PCT/JP2019/006400
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 オムロン株式会社
Publication of WO2019167765A1 publication Critical patent/WO2019167765A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators

Definitions

  • the present disclosure relates to a simulation apparatus, a simulation method, and a simulation program.
  • the pick-and-place device includes, for example, a holding body that holds a workpiece by sucking it, such as a suction pad, sucks and holds the workpiece at a predetermined location, conveys the workpiece in the held state, and Release the suction and place the workpiece.
  • the vibration acceleration applied to the work model can be calculated from the operation speed of the handling robot and the mass of the work model, and the operation condition of the apparatus can be determined based on the vibration acceleration. To do.
  • Japanese Patent Application Laid-Open No. 7-256578 can check the vibration applied to the work model in the simulation, but cannot check how much the work is inclined during conveyance. For example, when a gap in which the contents can move in the work is allowed to some extent, if the degree of inclination of the work is large, there is a problem that the contents are arranged at a biased position in the work. If the tilt of the workpiece cannot be confirmed, the occurrence of such a failure cannot be prevented.
  • the present disclosure provides a simulation apparatus, a method, and a program capable of calculating the degree of inclination of a workpiece during conveyance.
  • a simulation apparatus is a simulation model including a workpiece, a holding body that holds the workpiece, and a robot arm to which the holding body is attached.
  • An acceleration deriving unit for deriving the acceleration of the workpiece with respect to the acceleration of the robot arm when executing a simulation of accelerating the relative motion simulation model based on the operation command, and the workpiece deriving by the acceleration deriving unit
  • a calculation unit that calculates the degree of inclination of the workpiece during the acceleration motion using acceleration.
  • the acceleration deriving unit is a simulation model including a workpiece, a holding body that holds the workpiece, and a robot arm to which the holding body is attached.
  • the acceleration of the workpiece is derived with respect to the acceleration of the robot arm when the simulation is performed to perform the acceleration motion of the simulation model capable of relative motion based on the motion command.
  • the calculation unit calculates the degree of inclination of the workpiece during acceleration motion using the workpiece acceleration derived by the acceleration deriving unit.
  • the workpiece acceleration relative to the acceleration of the robot arm is derived by simulation, and by using the workpiece acceleration, the degree of inclination of the workpiece during conveyance can be calculated.
  • the calculation unit is configured so that the calculation of the workpiece with respect to changes in acceleration of the workpiece derived by the acceleration deriving unit and acceleration of the robot arm based on the operation command is performed.
  • the workpiece swing angle represented by the angular frequency of the workpiece swing obtained from the cycle of the acceleration step response and the distance between the rotation center of the workpiece and the point on the workpiece where the acceleration of the workpiece occurs. , And calculated as the degree of inclination of the workpiece. Accordingly, the workpiece swing angle can be easily calculated from the workpiece acceleration as the degree of workpiece tilt.
  • the calculation unit may calculate a swing width of the workpiece represented by a value obtained by integrating twice the acceleration of the workpiece derived by the acceleration deriving unit. Calculated as the degree of inclination of the workpiece. As a result, the workpiece swing width can be easily calculated from the workpiece acceleration as the workpiece tilt degree.
  • the simulation apparatus is the first to third aspects, wherein the acceptance unit that accepts an allowable value of the degree of inclination of the workpiece, and the degree of inclination calculated by the calculation unit are And a specifying unit that specifies the acceleration of the robot arm within a range not exceeding an allowable value of the degree of inclination received by the receiving unit. Thereby, the user can know the optimal acceleration of the robot arm according to the allowable degree of workpiece inclination.
  • the simulation apparatus is the load generated in the holding body due to the difference between the acceleration of the robot arm and the acceleration of the workpiece when the simulation is executed in the fourth aspect.
  • a load moment deriving unit for deriving a moment wherein the specifying unit is configured so that the load moment derived by the load moment deriving unit does not exceed a threshold value indicating the possibility of the workpiece falling; Identify acceleration.
  • the user can know the acceleration of the robot arm in accordance with the allowable degree of inclination of the workpiece and the workpiece does not fall.
  • the simulation apparatus is the load generated in the holding body due to the difference between the acceleration of the robot arm and the acceleration of the workpiece when the simulation is executed in the fourth aspect.
  • the acceleration of the robot arm is specified in a range in which the load moment derived by the load moment deriving unit does not exceed the load moment corresponding to the allowable drop rate accepted by the accepting unit.
  • the user can know the optimum acceleration of the robot arm according to the allowable degree of workpiece tilt and the drop rate.
  • the simulation device is the load generated in the holding body due to a difference between the acceleration of the robot arm and the acceleration of the work when the simulation is executed in the second aspect. It further includes a load moment deriving unit for deriving a moment from the moment generated in the workpiece by subtracting the moment generated by the inertial force, and the moment generated by the inertial force is calculated by the calculation unit.
  • a simulation method is a simulation model including a work, a holding body that holds the work, and a robot arm to which the holding body is attached. Then, an acceleration of the workpiece with respect to the robot arm when performing a simulation of accelerating the simulation model that allows the workpiece to move relative to the operation command is derived, and the acceleration of the workpiece derived by the acceleration deriving unit is derived. And a method for executing processing including calculating a degree of inclination of the workpiece during the acceleration motion.
  • a simulation program is a simulation model including a computer, a workpiece, a holding body that holds the workpiece, and a robot arm to which the holding body is attached.
  • the acceleration of the workpiece is derived with respect to the acceleration of the robot arm when the simulation is performed to accelerate the simulation based on the operation command of the simulation model in which the workpiece can move relatively, and the acceleration of the derived workpiece is used.
  • a program for executing a process including calculating the degree of inclination of the workpiece during the acceleration motion.
  • the acceleration of the workpiece with respect to the acceleration of the robot arm is derived by simulation, and the inclination of the workpiece during conveyance can be calculated using the acceleration of the workpiece. it can.
  • FIG. 1 is a block diagram showing a hardware configuration of a simulation apparatus 10 according to the present embodiment.
  • the simulation apparatus 10 of the present embodiment predicts and designs the behavior of the simulation model using the target apparatus, the work handled by the apparatus, the obstacle, and the like as a simulation model.
  • the simulation model for example, there is a physical model that expresses a physical phenomenon acting on a device or the like by a mathematical expression, or a dynamic model obtained by system identification or machine learning from measurement data of an actual machine.
  • the device to be simulated is a robot having a robot arm.
  • a holding body having elasticity is attached to the tip of the robot arm, and the robot is a so-called pick-and-place device that picks up a workpiece by the holding body, conveys it, and places the workpiece on the destination.
  • the holding body is a suction pad and the robot arm sucks and conveys a workpiece will be described.
  • the simulation apparatus 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input unit 15, a monitor 16, and an optical disk drive device 17. And a communication interface 18.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • storage 14 an input unit 15, a monitor 16, and an optical disk drive device 17.
  • a communication interface 18 Each component is connected to be communicable with each other via a bus 19.
  • the ROM 12 or the storage 14 stores a simulation program for executing a simulation.
  • the CPU 11 is a central processing unit, and executes various programs and controls each component. That is, the CPU 11 reads a program from the ROM 12 or the storage 14 and executes the program using the RAM 13 as a work area.
  • the CPU 11 controls the above components and performs various arithmetic processes according to a program recorded in the ROM 12 or the storage 14.
  • the ROM 12 stores various programs and various data.
  • the RAM 13 temporarily stores a program or data as a work area.
  • the storage 14 is configured by an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and stores various programs including an operating system and various data.
  • the input unit 15 includes a keyboard 151 and a pointing device such as a mouse 152, and is used for performing various inputs.
  • the monitor 16 is a liquid crystal display, for example, and displays various information such as simulation results.
  • the monitor 16 may function as the input unit 15 by adopting a touch panel method.
  • the optical disk drive device 17 reads data stored in various recording media (CD-ROM, Blu-ray disc, etc.), writes data to the recording medium, and the like.
  • the communication interface 18 is an interface for communicating with other devices.
  • standards such as Ethernet (registered trademark), FDDI, or Wi-Fi (registered trademark) are used.
  • FIG. 2 is a block diagram illustrating an example of a functional configuration of the simulation apparatus 10.
  • 3 is a diagram illustrating an example of coordinate positions where the robot operates
  • FIG. 4 is a diagram illustrating an example of a motion program
  • FIG. 5 is a diagram illustrating an example of a motion parameter.
  • the simulation apparatus 10 includes a motion program editing unit 101, a motion parameter setting unit 102, a motion command value calculation unit 103, a dynamics calculation unit 104, an allowable value reception unit 105, and a swing angle calculation unit as functional configurations. 106, an optimum command value specifying unit 107, and a 3D display unit 108.
  • Each functional configuration is realized by the CPU 11 reading out a simulation program stored in the ROM 12 or the storage 14, developing it in the RAM 13, and executing it.
  • the dynamics calculation unit 104 is an example of the acceleration deriving unit of the present disclosure
  • the swing angle calculation unit 106 is an example of the calculation unit of the present disclosure
  • the optimum command value specifying unit 107 is an example of the specifying unit of the present disclosure. It is an example.
  • the motion program editing unit 101 receives a desired operation of the robot in the simulation from the user or receives an operation edit.
  • the user can input or edit the motion program with the input unit 15 while referring to the monitor 16.
  • the motion program editing unit 101 may function as a motion planning unit that automatically generates an operation motion program of the device from the device and obstacle arrangement information.
  • the motion program shown in FIG. 4 is set in order to cause the robot arm to execute the operation shown in FIG.
  • the robot arm starts to move from the position p0, and the robot arm reaches the position p3 through the position p1 and the position p2.
  • the position p0 represents coordinates (0, 0, 0) in the xyz coordinate system, that is, the origin.
  • the position p1 is a coordinate (0, 0, 30), and is a position moved by 30 in the unit defined by the coordinate in the z direction (height direction) from the position p0.
  • the position p2 is coordinates (50, 0, 30), and is a position further advanced from the position p1 by 50 in the x direction.
  • the position p3 is a coordinate (50, 0, 0), and is a position further advanced by 30 in the ⁇ z direction from the position p2.
  • the operation shown in FIG. 3 is an operation in which the three motions of the vertical motion of the robot arm rising from the origin, the horizontal motion maintaining the height, and the vertical motion of descending are continuous.
  • a command for such an operation is input to the motion program editing unit 101 as a motion program, for example, as shown in FIG.
  • the motion program shown in FIG. 4 includes three rows of operation commands for executing commands in ascending order of row numbers.
  • pick-up and place operations can also be included in the motion program.
  • operations such as holding (sucking) and releasing the workpiece are also instructed by the motion program.
  • the motion parameter setting unit 102 sets operation parameters instructed by the motion program.
  • the motion parameter for example, as shown in FIG. 5, the maximum speed and the maximum acceleration in the operation by each command are set.
  • the maximum speed and the maximum acceleration can be set as a ratio with respect to a reference speed and a reference acceleration set in advance in the robot. By setting the parameter as a ratio to the reference speed, it is possible to intuitively understand how much the operation speed is set with respect to the common-sense operation speed of the robot.
  • the motion parameter setting unit 102 may set numerical values of physical quantities of speed and acceleration.
  • acceleration is used as a term including the concepts of acceleration (positive value) when accelerating and deceleration (negative value) when decelerating. Therefore, the parameters of the maximum acceleration in FIG. 5 include not only the maximum acceleration during acceleration but also the maximum deceleration during deceleration. However, the parameters of maximum acceleration and maximum deceleration need not be set uniformly as the same value, and may be set individually.
  • the motion command value calculation unit 103 reads a command for the first operation in the motion program obtained by the motion program editing unit 101. Next, the motion command value calculation unit 103 reads a motion parameter corresponding to the command among the motion parameters set by the motion parameter setting unit 102. Then, the motion command value calculation unit 103 sequentially calculates and outputs a motion command value (operation command value) used in the simulation from the read command and the motion parameter. Similarly, the motion command value calculation unit 103 sequentially reads subsequent commands and corresponding motion parameters, and outputs a motion command value.
  • the motion command value calculation unit 103 outputs the acceleration of the robot arm at each time as one of the motion command values. Therefore, the motion command value calculation unit 103 outputs a motion command value including a time series of acceleration of the robot arm from the pick position to the place position.
  • the dynamics calculation unit 104 is a simulation model including models representing the motion command value output from the motion command value calculation unit 103, the three-dimensional CAD data of the robot, the workpiece, the suction pad (holding body), and the robot arm. And read.
  • the dynamics calculation unit 104 calculates and outputs various data related to the operation of the simulation model considering dynamics (dynamics) from the read motion command value, CAD data, and the simulation model.
  • the three-dimensional CAD data and the simulation model of the robot may be stored in advance in the storage 14, may be acquired by reading from the optical disk drive device 17, or may be acquired from an external device via the communication interface 18. May be.
  • the point using three-dimensional CAD data is exemplified, but the simulation can be executed without using the three-dimensional CAD data.
  • the simulation may be executed using two-dimensional CAD data, robot dimension data, robot design data, or the like.
  • the various data output by the dynamics calculation unit 104 includes workpiece acceleration.
  • workpiece acceleration a method for deriving the acceleration of the workpiece in the simulation will be described.
  • the simulation model of the first embodiment includes a physical model including a model representing each of a workpiece W, a suction pad P that sucks the workpiece W, and a robot arm R to which the suction pad P is attached at the tip. It is configured as.
  • the workpiece W and the robot arm R are rigid bodies
  • the suction pad P is an elastic body having a mass m pad , a rotational damping coefficient C pad , and a rotational elastic coefficient K pad .
  • the transfer function G (s) is represented by, for example, the following equation (2).
  • the physical model is constructed by extracting parameters that affect the acceleration aw of the workpiece W from the operation data of the actual machine. For example, in FIG. 6, when the robot arm R is accelerated at an acceleration a r , the mass m pad of the suction pad P that affects the acceleration a w of the workpiece W, the rotational damping coefficient C pad , and the rotational elastic coefficient K pad. are extracted as parameters of the suction pad model. In particular, by constructing the suction pad model only with parameters that affect the acceleration aw of the workpiece W, external influences other than the acceleration aw can be reduced, and the acceleration aw can be obtained with higher accuracy.
  • the allowable value receiving unit 105 receives a workpiece swing angle (hereinafter referred to as “allowable swing angle”) corresponding to the maximum value of the workpiece tilt allowed during workpiece transfer from the user.
  • a workpiece swing angle hereinafter referred to as “allowable swing angle”
  • the suction pad P having elasticity is interposed between the robot arm R and the work W, the work W is inclined during conveyance. Therefore, as shown in FIG. 7, as the rotation around the rotation axis which is assumed suction pad P, and the rotation angle of the center of gravity W G of the workpiece with respect to the vertical direction is defined as sway angle ⁇ of the workpiece W.
  • the swing angle calculation unit 106 calculates the swing angle ⁇ of the workpiece W using the acceleration aw of the workpiece W derived by the dynamics calculation unit 104. Specifically, the swing angle calculation unit 106 uses the workpiece acceleration aw , the vertical length L from the center of rotation to the bottom surface of the workpiece W, and the angular frequency ⁇ of the workpiece W swing, Is calculated.
  • the acceleration aw of the workpiece W is a value derived by the dynamics calculation unit 104.
  • the length L is an actual measurement value.
  • is the acceleration a w of the workpiece W that is an output when the acceleration arm a r of the robot arm R is input in time series when using a physical model using the transfer functions of the equations (1) and (2).
  • A is the amplitude of the workpiece W shaking, and t is the time.
  • the angular acceleration of the workpiece W can be expressed as the following expression (4) by second-order differentiation of the expression (3) with respect to time t.
  • a physical model as shown in FIG. 6 is constructed using the workpiece acceleration aw measured by the acceleration sensor attached to the bottom surface of the workpiece W held by the robot arm R.
  • the acceleration aw of the workpiece W derived from this physical model is used. Therefore, in the approximation of Expression (5), as shown in FIG. 7, the vertical length of the workpiece W held by the robot arm R and having a swing angle ⁇ of 0 is set from the rotation center to the bottom surface of the workpiece W.
  • the length L is used.
  • the swing angle ⁇ of the workpiece W can be calculated as the following formula (6).
  • Optimum command value specifying unit 107 as a pattern of acceleration a r of the robot arm R, which is one of the motion command value (a r (t)), identifying the optimum pattern.
  • the optimum pattern of the acceleration a r of the robot arm R is a range in which the swing angle ⁇ of the workpiece W calculated by the swing angle calculator 106 does not exceed the allowable swing angle received by the allowable value receiver 105.
  • the pattern has the shortest tact time.
  • the tact time is the time from when the workpiece W is picked up until it is placed.
  • the optimum pattern is not limited to the above example. For example, among patterns whose tact time is shorter than a predetermined time, a pattern in which the workpiece swing angle ⁇ calculated by the swing angle calculation unit 106 is minimized, etc. Can be set as appropriate.
  • the optimum command value specifying unit 107 instructs the motion parameter setting unit 102 to set each of all possible combinations of parameters, and also instructs the motion command value calculation unit 103 to set the parameters. for each, an instruction to calculate a pattern of acceleration a r of the robot arm R, which is one of the motion command value (a r (t)) all combinations of.
  • the optimum command value specifying unit 107 generates the acceleration aw pattern (a w () of the workpiece W derived by the dynamics calculation unit 104 with respect to the acceleration a r pattern ( ar (t)) of the robot arm R. t)), the swing angle calculation unit 106 calculates the swing angle ⁇ (t) of the workpiece W.
  • the optimum command value specifying unit 107 calculates the swing angle ⁇ (t) of the workpiece W corresponding to each pattern calculated by the swing angle calculating unit 106 within the range of the allowable swing angle received by the allowable value receiving unit 105. Extract a pattern. Further, the optimum command value specifying unit 107 calculates a tact time when the robot arm R is accelerated by each extracted pattern. Then, the optimum command value specifying unit 107 specifies the pattern having the shortest tact time among the extracted patterns as the optimum pattern of the acceleration ar of the robot arm R. The optimum command value specifying unit 107 displays the motion parameter and the tact time corresponding to the specified optimum pattern on the monitor 16.
  • the 3D display unit 108 displays the operation of the simulation model calculated by the dynamics calculation unit 104 on the monitor 16. For example, the 3D display unit 108 causes the monitor 16 to display a moving image that three-dimensionally shows how the robot transports the workpiece.
  • the display is not limited to three dimensions, and may be two dimensions or numerical values.
  • FIG. 8 is a flowchart showing a flow of operations executed by the CPU 11 of the simulation apparatus 10.
  • the CPU 11 reads out a simulation program from the ROM 12 or the storage 14, develops it in the RAM 13, and executes it, whereby simulation processing is performed.
  • FIG. 9 is a diagram illustrating an example of a screen for receiving an input of an allowable value or the like from the user and displaying an optimal parameter or the like.
  • the CPU 11 receives the allowable swing angle of the workpiece W as the allowable value receiving unit 105 (step S101).
  • the accepted allowable swing angle is denoted by “ ⁇ th ”.
  • the CPU 11 displays a screen as shown in FIG. 9 on the monitor 16 and permits the input box 201 to input the allowable swing angle ⁇ th .
  • the user can input the allowable swing angle ⁇ th through the input unit 15.
  • the CPU 11 accepts a motion program as the motion program editing unit 101. Further, the CPU 11 sets an initial value of the motion parameter as the motion parameter setting unit 102 (step S102).
  • the initial value of the motion parameter can be any combination of motion parameters (for example, all parameters are “100%”).
  • step S103 when a part of the motion program is determined in advance, only the remaining part of the input may be accepted.
  • the CPU 11 displays the screen shown in FIG. 9 on the monitor 16 and receives input of the movement distance of the robot arm R (work W) set as a motion program in the input boxes 202 to 204.
  • the processing after step S103 may be started, for example, when the user presses the “optimum parameter calculation execution” button 205 in FIG.
  • CPU11 reads a motion program and a motion parameter as the motion command value calculation part 103, and calculates a motion command value (step S103).
  • CPU11 as the dynamics calculation unit 104, by using the pattern of the acceleration a r of the robot arm R, which is one of the motion command value (a r (t)), executes a simulation by the simulation model, the acceleration a of the workpiece W to derive the w of the pattern (a w (t)) (step S104).
  • the CPU 11 calculates, for example, the acceleration a w (t) of the workpiece W, the vertical length L from the center of rotation to the bottom surface of the workpiece W, and the angular frequency ⁇ of the swing of the workpiece W.
  • the swing angle ⁇ (t) of the workpiece W is calculated (step S105).
  • the CPU 11 determines whether or not the swing angle ⁇ (t) of the workpiece W is within the range of the allowable swing angle ⁇ th (step S106). If the swing angle ⁇ (t) of the workpiece W includes a value exceeding the allowable swing angle ⁇ th (step S106: NO), the CPU 11 proceeds to the process of step S109. When the swing angle ⁇ (t) of the workpiece W is within the range of the allowable swing angle ⁇ th (step S106: YES), the CPU 11 calculates a tact time for the robot arm R to transport the workpiece W in the simulation (step S107). .
  • the CPU 11 associates the motion parameter set in step S102 or step S110 described later, the tact time calculated in step S107, and the swing angle ⁇ (t) of the workpiece W calculated in step S105, and stores it in the storage 14 or the RAM 13. Store (step S108).
  • the CPU 11 determines whether or not the processing for determining whether or not the swing angle ⁇ (t) of the workpiece W is within the allowable swing angle ⁇ th is completed for all combinations of motion parameters that can be changed (step) S109). If the determination has not been completed for all the motion parameter combinations (step S109: NO), the CPU 11 changes the setting of the motion parameters (step S110) and returns to the process of step S103.
  • step S109 When the determination is completed for all the motion parameter combinations (step S109: YES), the CPU 11 selects the motion parameter combination that has the shortest tact time among the optimal parameters as stored in the storage 14 or the RAM 13 in step S108. Is displayed on the monitor 16 together with the tact time (step S111). For example, as shown in the calculation result display window 206 in FIG. 9, the CPU 11 displays the motion parameter in each operation of the robot arm R and the tact time during the operation based on the motion parameter. Further, the CPU 11 may display the calculated swing angle ⁇ (t) of the workpiece W in a graph.
  • the CPU 11 performs a simulation as the motion command value calculation unit 103 and the dynamics calculation unit 104 based on the motion parameter determined as the optimum parameter in step S111, and displays the simulation result as the 3D display unit 108 (step S112).
  • the simulation result is displayed as, for example, a moving image of the operation of the simulation model.
  • the CPU 11 ends the simulation process.
  • the workpiece acceleration relative to the acceleration of the robot arm is derived by simulation, and the workpiece acceleration is used to show the degree of tilt of the workpiece during conveyance.
  • the corner can be calculated.
  • the optimal acceleration of the robot arm can be specified in a range in which the workpiece swing angle does not exceed the accepted allowable swing angle by using the calculated swing angle.
  • the user can know the optimal operation command value according to the allowable swing angle. For example, when there is a slight allowance for the contents to move within the workpiece, the workpiece is tilted too much and the contents are placed at a biased position in the workpiece.
  • the robot arm can be operated so as to minimize the tact time.
  • FIG. 10 is a block diagram showing a functional configuration of the simulation apparatus 10A according to the second embodiment. Note that the hardware configuration of the simulation apparatus 10A is the same as that of the simulation apparatus 10 according to the first embodiment, and a description thereof will be omitted.
  • the simulation apparatus 10A includes an optimum command value identification unit 107A instead of the optimum command value identification unit 107 in the functional configuration of the simulation apparatus 10 according to the first embodiment.
  • the simulation apparatus 10A includes a load deriving unit 109 in addition to the functional configuration of the simulation apparatus 10 according to the first embodiment.
  • the optimum command value specifying unit 107A is an example of the specifying unit of the present disclosure
  • the load deriving unit 109 is an example of the load moment deriving unit of the present disclosure.
  • the load deriving unit 109 derives a downward force applied to the workpiece when the simulation model moves vertically from the operation of the simulation model calculated by the dynamics calculation unit 104. In addition, the load deriving unit 109 determines, based on the operation of the simulation model calculated by the dynamics calculation unit 104, a load moment generated on the suction pad due to the difference between the acceleration of the robot arm and the acceleration of the workpiece when the simulation model moves horizontally ( Details will be derived later. The load deriving unit 109 may calculate the downward force and the load moment from the operation of the simulation model, or may derive from a pre-registered table.
  • the optimum command value specifying unit 107 ⁇ / b> A not only has the workpiece swing angle ⁇ within the range of the allowable swing angle ⁇ th. so as not to fall, to identify the optimal pattern of acceleration a r of the robot arm.
  • the optimum command value specifying unit 107A determines whether or not the workpiece falls from the suction pad based on the downward force and load moment derived by the load deriving unit 109.
  • the optimum command value specifying unit 107A determines whether the workpiece is dropped depending on whether the downward force is greater than a threshold value (hereinafter referred to as a threshold value Tv).
  • a threshold value Tv a threshold value
  • Th a threshold value representing how much load moment is generated in addition to the gravity to drop the workpiece.
  • Threshold value Tv and threshold value Th are both values that are set in consideration of the falling of the workpiece.
  • the threshold value Tv can be set as a downward force generated under an execution condition in which the workpiece does not fall when the actual machine of the robot corresponding to the simulation model is operated.
  • the threshold value Tv is set as the maximum value of the downward force generated under the execution condition in which the workpiece does not fall when the real machine of the robot corresponding to the simulation model is repeatedly operated with the execution condition changed. Is done.
  • the threshold value Th can be set as a load moment that is generated under an execution condition in which the workpiece does not fall when the actual machine of the robot corresponding to the simulation model is operated.
  • the threshold value Th is set as the maximum value of the load moment generated under the execution condition in which the workpiece did not fall when the real machine of the robot corresponding to the simulation model is repeatedly operated with the execution condition changed.
  • the Note that the threshold value Tv and the threshold value Th are not necessarily set by operating an actual machine.
  • the threshold value for the vertical movement and the threshold value for the horizontal movement of the workpiece similar to the workpiece to be transported may be set as the threshold value Tv and the threshold value Th with reference to a database in which the threshold value for each workpiece is accumulated in advance. .
  • FIG. 11 is a diagram showing the downward force applied to the workpiece
  • FIG. 12 is a diagram showing the difference in acceleration between the robot arm and the workpiece
  • FIG. 13 is a diagram showing the rotation of the workpiece.
  • the gravity center of the workpiece W included in the simulation model includes gravity m ⁇ g and inertial force m ⁇ az .
  • Japanese power is applied.
  • m is the mass of the workpiece W
  • g is the gravitational acceleration
  • az is the acceleration of the workpiece W.
  • the workpiece acceleration is represented by aw
  • the distance from the center of rotation to the center of gravity of the workpiece W is represented by symbol L1
  • the distance from the center of rotation to the bottom of the workpiece is represented by symbol L2.
  • the symbol I represents the moment of inertia of the workpiece W in the rotating portion of the simulation model.
  • the rotation angle of the workpiece W with respect to the vertical direction is represented as ⁇ .
  • the moment ⁇ generated in the workpiece W is expressed by the following equation (7).
  • the moment ⁇ generated in the workpiece W can be considered in a translational coordinate system that moves together with the robot arm R.
  • the moment ⁇ generated in the workpiece is expressed by the equation of motion of rotation shown in the following equation (10).
  • equation (11) Substituting equation (8) into equation (10) and transforming into equation of load moment M yields equation (11). Therefore, if the acceleration a r is given, the acceleration a w can be obtained from the above equation (1), and therefore the load moment M can be obtained from the equation (11).
  • the load moment M is expressed by Expression (11)
  • the load moment M is equal to or less than the above-described threshold Th
  • the load moment M is larger than the threshold Th
  • the workpiece W falls.
  • the threshold value Th is set as the maximum value of the load moment generated under the execution condition in which the workpiece did not fall when the real machine of the robot corresponding to the simulation model was repeatedly operated with the execution condition changed.
  • FIG. 14 is a flowchart showing a flow of operations executed by the CPU 11 of the simulation apparatus 10A according to the second embodiment.
  • the CPU 11 reads out a simulation program from the ROM 12 or the storage 14, develops it in the RAM 13, and executes it, whereby simulation processing is performed.
  • Steps S201 to S205 and Steps S208 to S213 are the same as Steps S101 to S105 and Steps S107 to S112 shown in FIG.
  • CPU 11 derives all load moments M based on Equation (11) and all downward forces that change during simulation as load deriving unit 109 (step S206).
  • the CPU 11 determines that the swing angle ⁇ (t) of the workpiece W is within the allowable swing angle ⁇ th , all the downward forces are equal to or less than the threshold value Tv, and all the load moments M are It is determined whether or not it is equal to or less than a threshold Th (step S207).
  • the swing angle ⁇ (t) of the workpiece W includes a value exceeding the allowable swing angle ⁇ th , at least one of a case where a downward force greater than the threshold Tv exists and a case where a load moment M greater than the threshold Th exists. In this case (step S207: NO), the CPU 11 proceeds to the process of step S210.
  • step S207 when the swing angle ⁇ (t) of the workpiece W is within the range of the allowable swing angle ⁇ th , all downward forces are equal to or less than the threshold value Tv, and all load moments M are equal to or less than the threshold value Th (step S207: YES) )
  • the CPU 11 proceeds to the process of step S208.
  • the calculated swing angle is used so that the downward force and the load moment are within a range in which the swing angle of the workpiece does not exceed the accepted allowable swing angle. It is possible to specify the optimum acceleration of the robot arm that is not more than the threshold value. Thereby, the user can know the operation command value that is the optimum operation command value according to the allowable swing angle and the workpiece does not fall.
  • FIG. 15 is a block diagram showing a functional configuration of the simulation apparatus 10B according to the third embodiment. Note that the hardware configuration of the simulation apparatus 10B is the same as that of the simulation apparatus 10 according to the first embodiment, and a description thereof will be omitted.
  • the simulation apparatus 10B includes an optimal command value specifying unit 107B instead of the optimal command value specifying unit 107A in the functional configuration of the simulation apparatus 10A according to the second embodiment.
  • the simulation apparatus 10B includes an allowable value receiving unit 105B instead of the allowable value receiving unit 105 in the functional configuration of the simulation apparatus 10A according to the second embodiment.
  • the simulation apparatus 10B includes a load moment deriving unit 109B instead of the load deriving unit 109 in the functional configuration of the simulation apparatus 10A according to the second embodiment.
  • the simulation apparatus 10B includes a correlation acquisition unit 110 in addition to the functional configuration of the simulation apparatus 10A according to the second embodiment.
  • the optimum command value specifying unit 107B and the correlation acquisition unit 110 are examples of the specifying unit of the present disclosure.
  • the load moment deriving unit 109B determines, based on the simulation model operation calculated by the dynamics calculation unit 104, the load moment that acts on the suction pad according to the difference between the acceleration of the robot arm and the workpiece when the simulation model moves horizontally. Is derived.
  • the load moment derived by the load moment deriving unit 109B is the same as the load moment M derived by the load deriving unit 109 in the second embodiment.
  • the allowable value receiving unit 105B receives the allowable fall rate of the workpiece W (hereinafter referred to as “allowable fall rate”) together with the allowable swing angle of the workpiece W.
  • allowable fall rate the allowable fall rate of the workpiece W
  • the allowable fall rate represents how much the user can accept the fall rate. For example, when the allowable fall rate is 0.1%, the user indicates that the workpiece is allowed to fall on average once out of 1000 transfers.
  • the correlation acquisition unit 110 acquires data indicating the correlation between the load moment and the physical quantity corresponding to the workpiece drop rate.
  • the data acquisition destination is, for example, the storage 14 or an external server.
  • the correlation is obtained by plotting a probability distribution representing the correlation between the load moment and the drop rate obtained by experiment using probability paper.
  • the correlation between the load moment and the drop rate is expressed as a Weibull distribution, and the correlation is obtained by plotting on the Weibull probability paper.
  • the probability distribution is not limited to the Weibull distribution, and a normal distribution, a log normal distribution, a Gumbel distribution, a Fréchet distribution, an exponential function type asymptotic distribution, an exponential distribution, or a Rayleigh distribution may be applied.
  • the correlation is obtained by plotting on the probability papers matched to each.
  • FIG. 16 shows an example of the correlation between the load moment and the physical quantity corresponding to the workpiece drop rate.
  • Optimum command value specifying unit 107B in addition to roll angle of the workpiece W theta is within the permissible roll angle theta th, corresponding to the load moment which is derived by the load moment deriving unit 109B, the correlation acquisition unit 110
  • the optimum pattern of the acceleration a r of the robot arm R is specified in a range in which the fall rate acquired by the above does not exceed the allowable fall rate.
  • FIG. 17 is a flowchart showing a flow of operations executed by the CPU 11 of the simulation apparatus 10B according to the third embodiment.
  • the CPU 11 reads out a simulation program from the ROM 12 or the storage 14, develops it in the RAM 13, and executes it, whereby simulation processing is performed.
  • Steps S303 to S306 and Steps S309 to S314 are the same as Steps S102 to S105 and Steps S107 to S112 shown in FIG.
  • the CPU 11 receives the allowable swing angle ⁇ th and the allowable drop rate of the workpiece W as the allowable value receiving unit 105B (step S301).
  • symbol "p" is attached
  • Acceptance of the permissible drop rate p can be accepted in the same manner as in the case of accepting the permissible swing angle ⁇ th on a screen as shown in FIG. 9, for example.
  • the CPU 11 refers to the correlation (for example, FIG. 16) between the above-described load moment and the physical quantity corresponding to the workpiece drop rate, and corresponds to the allowable drop rate p received in step S301.
  • the load moment M is set as the threshold value Tp (step S302).
  • the threshold value Tp is temporarily stored in the storage 14 or the RAM 13.
  • the CPU 11 derives all the load moments M that change during the simulation as the load moment deriving unit 109B based on the equation (11) (step S307).
  • the CPU 11 determines whether or not the swing angle ⁇ (t) of the workpiece W is within the allowable swing angle ⁇ th and all the load moments M are equal to or less than the threshold value Tp (step). S308).
  • the CPU 11 proceeds to the process of step S311. .
  • step S308 YES
  • the CPU 11 proceeds to the process of step S309. .
  • the fall rate corresponding to the load moment is within a range in which the swing angle of the workpiece does not exceed the accepted allowable swing angle using the calculated swing angle.
  • the optimal robot arm acceleration can be specified within a range that does not exceed the allowable fall rate. Thereby, the user can know the optimal operation command value according to the allowable swing angle and drop rate.
  • the swing angle ⁇ of the workpiece W calculated by the swing angle calculation unit 106 is used for specifying the optimum pattern of the acceleration a r of the robot arm R has been described.
  • the fourth embodiment a case where the calculated swing angle ⁇ of the workpiece W is used for deriving a load moment considering that the horizontal acceleration and the vertical acceleration of the robot arm R act on the workpiece W will be described. To do. For example, when the robot arm R performs a motion inclined with respect to the horizontal direction, the horizontal acceleration and the vertical acceleration act on the workpiece W.
  • FIG. 18 is a block diagram showing a functional configuration of a simulation apparatus 10C according to the fourth embodiment. Note that the hardware configuration of the simulation apparatus 10C is the same as that of the simulation apparatus 10 according to the first embodiment, and a description thereof will be omitted.
  • the simulation apparatus 10C includes an optimum command value identification unit 107C instead of the optimum command value identification unit 107B in the functional configuration of the simulation apparatus 10B according to the third embodiment.
  • the simulation apparatus 10C includes a load moment deriving unit 109C instead of the load moment deriving unit 109B in the functional configuration of the simulation apparatus 10B according to the third embodiment. Note that the simulation apparatus 10C does not include the allowable value reception unit 105B and the correlation acquisition unit 110 in the functional configuration of the simulation apparatus 10B according to the third embodiment.
  • the optimum command value specifying unit 107C is an example of the specifying unit of the present disclosure.
  • the horizontal acceleration obtained by disassembling the acceleration a r of the robot arm R is shown as a y
  • the vertical acceleration is shown as a z
  • a synthesis inertial force applied to the workpiece W F w the inertial force in the horizontal direction obtained by decomposing the composite inertia force F w F y, the inertial force in the vertical direction F z.
  • the rotation angle of the workpiece W with respect to the vertical direction is represented as ⁇ .
  • the mass of the workpiece W is represented by m
  • the moment of inertia acting on the rotating portion of the simulation model is represented by I.
  • the distance from the rotation center of the workpiece W to the center of gravity of the workpiece W is L1
  • the distance from the rotation center to the tip (bottom surface) of the workpiece W is L2.
  • the difference between the moment ⁇ generated in the workpiece W and the moment due to the inertial force is the force applied to the suction pad P as a load, that is, the load moment M.
  • the load moment deriving unit 109C derives the load moment M by using the swing angle ⁇ of the workpiece W calculated by the swing angle calculating unit 106 as ⁇ in the above formula (13).
  • the optimum command value specifying unit 107C specifies the optimum pattern of the acceleration a r of the robot arm R in a range where the load moment M derived by the load moment deriving unit 109C does not exceed a predetermined threshold Mp.
  • the threshold value Mp is set to, for example, the maximum value of the load moment generated under the execution condition in which the workpiece does not fall when the real machine of the robot corresponding to the simulation model is repeatedly operated with the execution condition changed. I can keep it.
  • FIG. 20 is a flowchart showing a flow of operations executed by the CPU 11 of the simulation apparatus 10C according to the fourth embodiment.
  • the CPU 11 reads out a simulation program from the ROM 12 or the storage 14, develops it in the RAM 13, and executes it, whereby simulation processing is performed.
  • Steps S401 to S404 and Steps S407 to S412 are the same as Steps S102 to S105 and Steps S107 to S112 shown in FIG.
  • the CPU 11 derives all the load moments M that change during the simulation based on the swing angle ⁇ of the workpiece W calculated in step S404 and the equation (13) (step S405). .
  • Step S406 judges whether all load moments M are below threshold Tp as optimal command value specific part 107C (Step S406).
  • the CPU 11 proceeds to the process of step S409.
  • the CPU 11 proceeds to the process of step S407.
  • the load moment can be accurately derived using the calculated swing angle. it can.
  • the load moment that affects the falling of the workpiece it is possible to identify the optimum pattern of acceleration of the robot arm so that the workpiece does not fall. As a result, the user can know the optimum operation command value at which the workpiece does not fall.
  • simulation apparatus is not limited to the above-described embodiments, and various modifications can be made.
  • the swing width of the workpiece W may be calculated.
  • the swing width x of the workpiece W is based on the vertical direction passing through the rotation axis of the workpiece W, and the horizontal of the intersection of the straight line passing through the center of rotation and the center of gravity of the workpiece W and the bottom surface of the workpiece W. It can be defined as the distance in the direction.
  • the swing width of the workpiece W can be obtained by second-order integration of the acceleration aw of the workpiece W.
  • the swing angle ⁇ of the workpiece W may be calculated by approximation using the swing width x as shown in the following formula (14).
  • the present invention is not limited to this.
  • whether or not the calculated swing angle ⁇ of the workpiece W is within the range of the allowable swing angle ⁇ th may be presented to the user. Further, the calculated swing angle ⁇ of the workpiece W may be presented to the user without receiving the allowable swing angle ⁇ th from the user.
  • the case where the optimum pattern is searched from the pattern ( ar (t)) of the acceleration arm a r corresponding to all combinations of motion parameters has been described. It is not limited.
  • a combination of motion parameters to be simulated next is determined, and when a motion parameter satisfying a predetermined condition can be identified, You may complete
  • the predetermined condition may be, for example, a case where the calculated swing angle ⁇ is within the range of the allowable swing angle ⁇ th and the tact time is equal to or less than a predetermined time.
  • a suction pad is used as a holding body
  • the configuration is not limited to the suction pad, and any configuration may be used as long as the workpiece can move relative to the robot arm, that is, a configuration in which a difference occurs between the acceleration of the robot arm and the workpiece.
  • the present disclosure can also be applied to a case where the workpiece is gripped from both sides by a chuck or the like, and the workpiece is inclined with respect to a line connecting the gripped portions.
  • various processors other than the CPU may execute the simulation process in which the CPU reads and executes the software (program) in each of the above embodiments.
  • PLD Programmable Logic Device
  • FPGA Field-Programmable Gate Array
  • ASIC Application Specific Integrated Processing
  • a dedicated electric circuit which is a processor having a circuit configuration designed exclusively, is exemplified.
  • the simulation process may be executed by one of these various processors, or a combination of two or more processors of the same type or different types (for example, a combination of a plurality of FPGAs and CPUs and FPGAs, etc.) ).
  • the hardware structure of these various processors is more specifically an electric circuit in which circuit elements such as semiconductor elements are combined.
  • the mode in which the simulation program is stored (installed) in advance in the storage 14 or the ROM 12 has been described.
  • the program may be recorded in a recording medium such as a CD-ROM (Compact Disk Only Memory), a DVD-ROM (Digital Versatile Disk Only Memory), or a USB (Universal Serial Bus) memory.
  • the program may be downloaded from an external device via a network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Abstract

ワーク、前記ワークを保持した保持体、及び前記保持体が取り付けられたロボットアームを含むシミュレーションモデルであって、前記ロボットアームに対して前記ワークが相対運動可能なシミュレーションモデルを動作指令に基づいて加速度運動させるシミュレーションを実行した際の前記ロボットアームの加速度に対する前記ワークの加速度を導出する加速度導出部と、前記加速度導出部で導出された前記ワークの加速度を用いて、前記加速度運動時における前記ワークの傾き度合いを算出する算出部と、を含むシミュレーション装置、が提供される。

Description

シミュレーション装置、方法、及びプログラム
 本開示は、シミュレーション装置、シミュレーション方法、及びシミュレーションプログラムに関する。
 工場の製造ラインなどにおいて、部品や製品等のワークを搬送する装置の一つとしてピックアンドプレース装置がある。ピックアンドプレース装置は、例えば、吸着パッドなど、ワークを吸着することによって保持する保持体を備え、所定の場所でワークを吸着して保持し、保持した状態でワークを搬送し、目的の場所で吸着を解除してワークを載置する。
 ピックアンドプレース装置の最適な実行条件を決定するために、ワークモデル及びハンドリングロボットのモデルを用いたシミュレーション装置が提案されている。例えば、特開平7-256578号公報を参照。
 特開平7-256578号公報に記載の技術によれば、ハンドリングロボットの動作速度及びワークモデルの質量からワークモデルにかかる振動加速度を算出し、振動加速度に基づいて、装置の動作条件を決定可能とする。
 しかしながら、特開平7-256578号公報に記載の技術では、シミュレーションにおいてワークモデルにかかる振動を確認できるものの、搬送時にワークがどれだけ傾くかを確認することはできない。例えば、ワーク内で内容物が移動できる隙間が多少許されているような場合に、ワークの傾き度合いが大きいと、内容物がワーク内で偏った位置に配置されてしまうなどの不具合が生じる。ワークの傾きを確認できない場合には、このような不具合の発生を予防することができない。
 本開示は、搬送時のワークの傾き度合いを算出することができるシミュレーション装置、方法、及びプログラムを提供する。
 本開示の第1の態様に係るシミュレーション装置は、ワーク、前記ワークを保持した保持体、及び前記保持体が取り付けられたロボットアームを含むシミュレーションモデルであって、前記ロボットアームに対して前記ワークが相対運動可能なシミュレーションモデルを動作指令に基づいて加速度運動させるシミュレーションを実行した際の前記ロボットアームの加速度に対する前記ワークの加速度を導出する加速度導出部と、前記加速度導出部で導出された前記ワークの加速度を用いて、前記加速度運動時における前記ワークの傾き度合いを算出する算出部とを含んで構成されている。
 上記第1の態様に係るシミュレーション装置によれば、加速度導出部が、ワーク、ワークを保持した保持体、及び保持体が取り付けられたロボットアームを含むシミュレーションモデルであって、ロボットアームに対してワークが相対運動可能なシミュレーションモデルを動作指令に基づいて加速度運動させるシミュレーションを実行した際のロボットアームの加速度に対するワークの加速度を導出する。そして、算出部が、加速度導出部で導出されたワークの加速度を用いて、加速度運動時におけるワークの傾き度合いを算出する。
 このように、シミュレーションにより、ロボットアームの加速度に対するワークの加速度を導出し、このワークの加速度を用いることで、搬送時のワークの傾き度合いを算出することができる。
 本開示の第2の態様は、上記第1の態様において、前記算出部が、前記加速度導出部で導出された前記ワークの加速度、前記動作指令に基づく前記ロボットアームの加速度の変化に対する前記ワークの加速度のステップ応答の周期から得られる前記ワークの揺れの角周波数、及び、前記ワークの回転中心と前記ワークの加速度が生じる前記ワーク上の点との距離、で表される前記ワークの揺れ角を、前記ワークの傾き度合いとして算出する。これにより、ワークの加速度から、ワークの傾き度合いとして、ワークの揺れ角を簡易に算出することができる。
 本開示の第3の態様は、上記第1の態様において、前記算出部が、前記加速度導出部で導出された前記ワークの加速度を2回積分した値で表される前記ワークの揺れ幅を、前記ワークの傾き度合いとして算出する。これにより、ワークの加速度から、ワークの傾き度合いとして、ワークの揺れ幅を簡易に算出することができる。
 本開示の第4の態様に係るシミュレーション装置は、上記第1~第3の態様において、前記ワークの傾き度合いの許容値を受け付ける受付部と、前記算出部で算出される前記傾き度合いが、前記受付部で受け付けられた傾き度合いの許容値を超えない範囲で、前記ロボットアームの加速度を特定する特定部とをさらに含む。これにより、ユーザは、許容できるワークの傾き度合いに応じた最適なロボットアームの加速度を知ることができる。
 また、本開示の第5の態様に係るシミュレーション装置は、上記第4の態様において、前記シミュレーションを実行した際の前記ロボットアームの加速度と前記ワークの加速度との差により前記保持体に発生する負荷モーメントを導出する負荷モーメント導出部をさらに含み、前記特定部は、前記負荷モーメント導出部で導出された負荷モーメントが、前記ワークの落下の可能性を示す閾値を超えない範囲で、前記ロボットアームの加速度を特定する。これにより、ユーザは、許容できるワークの傾き度合いに応じ、かつワークが落下しないロボットアームの加速度を知ることができる。
 また、本開示の第6の態様に係るシミュレーション装置は、上記第4の態様において、前記シミュレーションを実行した際の前記ロボットアームの加速度と前記ワークの加速度との差により前記保持体に発生する負荷モーメントを導出する負荷モーメント導出部をさらに含み、前記受付部は、前記ワークの落下率の許容値を受け付け、前記特定部は、前記ワークの落下率と前記負荷モーメントとの予め定めた関係に基づいて、前記負荷モーメント導出部で導出された負荷モーメントが、前記受付部で受け付けられた落下率の許容値に対応する負荷モーメントを超えない範囲で、前記ロボットアームの加速度を特定する。これにより、ユーザは、許容できるワークの傾き度合い及び落下率に応じた最適なロボットアームの加速度を知ることができる。
 また、本開示の第7の態様に係るシミュレーション装置は、上記第2の態様において、前記シミュレーションを実行した際の前記ロボットアームの加速度と前記ワークの加速度との差により前記保持体に発生する負荷モーメントを、前記ワークに生じるモーメントから、慣性力により発生するモーメントを差し引いて導出する負荷モーメント導出部をさらに含み、前記慣性力により発生するモーメントは、前記算出部により算出された前記ワークの揺れ角によって、慣性力を水平方向及び鉛直方向に分解した場合における、水平方向に作用する水平慣性力によるモーメントと鉛直方向に作用する鉛直慣性力によるモーメントとの和とする。これにより、水平方向に交差する方向にロボットアームを運動させる場合でも、算出した揺れ角を利用して、ワークの落下に影響を与える負荷モーメントを精度良く導出することができる。
 また、本開示の第8の態様に係るシミュレーション方法は、ワーク、前記ワークを保持した保持体、及び前記保持体が取り付けられたロボットアームを含むシミュレーションモデルであって、前記ロボットアームの加速度に対して前記ワークが相対運動可能なシミュレーションモデルを動作指令に基づいて加速度運動させるシミュレーションを実行した際の前記ロボットアームに対する前記ワークの加速度を導出し、前記加速度導出部で導出された前記ワークの加速度を用いて、前記加速度運動時における前記ワークの傾き度合いを算出することを含む処理を実行する方法である。
 また、本開示の第9の態様に係るシミュレーションプログラムは、コンピュータに、ワーク、前記ワークを保持した保持体、及び前記保持体が取り付けられたロボットアームを含むシミュレーションモデルであって、前記ロボットアームに対して前記ワークが相対運動可能なシミュレーションモデルを動作指令に基づいて加速度運動させるシミュレーションを実行した際の前記ロボットアームの加速度に対する前記ワークの加速度を導出し、導出された前記ワークの前記加速度を用いて、前記加速度運動時における前記ワークの傾き度合いを算出することを含む処理を実行させるためのプログラムである。
 本開示に係るシミュレーション装置、方法、及びプログラムによれば、シミュレーションにより、ロボットアームの加速度に対するワークの加速度を導出し、このワークの加速度を用いて、搬送時のワークの傾き度合いを算出することができる。
シミュレーション装置のハードウェア構成を示すブロック図である。 第1実施形態に係るシミュレーション装置の機能構成の例を示すブロック図である。 ロボットが動作する座標位置の例を示す図である モーションプログラムの例を示す図である。 モーションパラメータの例を示す図である。 ロボットアーム、保持体、及びワークを含む物理モデルの例を示す図である。 ワークの揺れ角の定義を説明するための図である。 第1実施形態に係るシミュレーション装置の動作の流れを示すフローチャートである。 許容揺れ角の入力を受け付ける画面の一例を示す図である。 第2実施形態に係るシミュレーション装置の機能構成を示すブロック図である。 ワークにかかる下向きの力を示す図である。 ロボットアームとワークの加速度の差を示す図である。 ワークの回転を示す図である。 第2実施形態に係るシミュレーション装置の動作の流れを示すフローチャートである。 第3実施形態に係るシミュレーション装置の機能構成を示すブロック図である。 落下率に相当する物理量と負荷モーメントとの相関関係の一例を示す図である。 第3実施形態に係るシミュレーション装置の動作の流れを示すフローチャートである。 第4実施形態に係るシミュレーション装置の機能構成を示すブロック図である。 ワークに係る力を示す図である。 第4実施形態に係るシミュレーション装置の動作の流れを示すフローチャートである。 ワークの揺れ幅の定義を説明するための図である。
 以下、本開示の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
 (第1実施形態)
 図1は、本実施形態に係るシミュレーション装置10のハードウェア構成を示すブロック図である。
 本実施形態のシミュレーション装置10は、対象となる装置、装置が扱うワーク及び障害物などをシミュレーションモデルとして、シミュレーションモデルの挙動を予測及び設計する。シミュレーションモデルとしては、例えば、装置等に働く物理現象を数式で表現した物理モデル、又は実機の計測データからシステム同定あるいは機械学習などにより得られた動的モデルがある。
 本実施形態では、シミュレーションの対象となる装置は、ロボットアームを備えたロボットである。ロボットアームの先端には弾性を有する保持体が取り付けられ、ロボットは、保持体によりワークをピックアップして、搬送し、目的地にワークを載置する、いわゆるピックアンドプレース装置である。本実施形態では、特に、保持体が吸着パッドであり、ロボットアームがワークを吸着搬送する場合について説明する。
 図1に示すように、シミュレーション装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、モニタ16、光ディスク駆動装置17、及び通信インタフェース18を有する。各構成は、バス19を介して相互に通信可能に接続されている。
 本実施形態では、ROM12又はストレージ14には、シミュレーションを実行するシミュレーションプログラムが格納されている。CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記録されているプログラムにしたがって、上記各構成の制御及び各種の演算処理を行う。
 ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 入力部15は、キーボード151、及びマウス152等のポインティングデバイスを含み、各種の入力を行うために使用される。モニタ16は、例えば、液晶ディスプレイであり、シミュレーション結果等の各種の情報を表示する。モニタ16は、タッチパネル方式を採用して、入力部15として機能してもよい。光ディスク駆動装置17は、各種の記録媒体(CD-ROM又はブルーレイディスクなど)に記憶されたデータの読み込みや、記録媒体に対するデータの書き込み等を行う。
 通信インタフェース18は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI又はWi-Fi(登録商標)等の規格が用いられる。
 次に、第1実施形態に係るシミュレーション装置10の機能構成について説明する。
 図2は、シミュレーション装置10の機能構成の例を示すブロック図である。図3は、ロボットが動作する座標位置の例を示す図、図4は、モーションプログラムの例を示す図、図5は、モーションパラメータの例を示す図である。
 図2に示すように、シミュレーション装置10は、機能構成として、モーションプログラム編集部101、モーションパラメータ設定部102、モーション指令値計算部103、ダイナミクス計算部104、許容値受付部105、揺れ角算出部106、最適指令値特定部107、及び3D表示部108を有する。各機能構成は、CPU11がROM12又はストレージ14に記憶されたシミュレーションプログラムを読み出し、RAM13に展開して実行することにより実現される。なお、ダイナミクス計算部104は、本開示の加速度導出部の一例であり、揺れ角算出部106は、本開示の算出部の一例であり、最適指令値特定部107は、本開示の特定部の一例である。
 モーションプログラム編集部101は、シミュレーションにおけるロボットの所望の動作をユーザから受け付けたり、動作の編集を受け付けたりする。ユーザは、モニタ16を参照しつつ、入力部15によりモーションプログラムを入力又は編集できる。なお、モーションプログラム編集部101は、装置及び障害物の配置情報から、装置の動作モーションプログラムを自動的に生成するモーションプランニング部として機能してもよい。
 モーションプログラム編集部101では、例えば、図3に示すような動作をロボットアームに実行させるために、図4に示すモーションプログラムが設定される。図3に示す動作の例では、位置p0からロボットアームの移動が開始し、位置p1及び位置p2を経て、位置p3にロボットアームが到達する動作を示す。位置p0は、xyz座標系において座標(0,0,0)、すなわち原点を表す。位置p1は、座標(0,0,30)であり、位置p0からz方向(高さ方向)に座標で定義される単位で30だけ移動した位置である。位置p2は、座標(50,0,30)であり、位置p1からさらに、x方向に50進んだ位置である。位置p3は、座標(50,0,0)であり、位置p2からさらに、-z方向に30進んだ位置である。このように、図3に示す動作は、ロボットアームが原点から上昇する鉛直運動と、高さを維持した水平運動と、下降する鉛直運動とによる3つの運動が連続する動作である。
 このような動作のための命令は、モーションプログラムとして、例えば図4に示すようにモーションプログラム編集部101に入力される。図4に示すモーションプログラムは、行番号の昇順に命令を実行させるための三行の動作指令を含む。ピックアンドプレース装置の場合、ピックアップ及びプレースの動作もモーションプログラムに含まれうる。ロボットの移動だけでなく、ワークの保持(吸着)及び解放等の動作についても、モーションプログラムにより命令される。
 モーションパラメータ設定部102は、モーションプログラムにより命令される動作のパラメータを設定する。モーションパラメータは、例えば、図5に示すように、各命令による動作における最大速度及び最大加速度を設定する。最大速度及び最大加速度は、ロボットに予め設定されている基準速度及び基準加速度に対する割合として設定されうる。基準速度に対する割合としてパラメータが設定されることにより、ロボットの常識的な動作速度に対して、どの程度の動作速度が設定されたかを直観的に把握することができる。なお、モーションパラメータ設定部102は、速度及び加速度の物理量の数値を設定してもよい。
 なお、本明細書では、「加速度」は、加速する際の加速度(正の値)、及び減速する際の減速度(負の値)の両方の概念を含む用語として使用する。したがって、図5の最大加速度のパラメータは、加速の際の最大加速度だけでなく、減速の際の最大減速度も含む。ただし、最大加速度と最大減速度のパラメータが同じ値として一律に設定される必要はなく、それぞれ個別に設定されてもよい。
 モーション指令値計算部103は、シミュレーションの開始が指示されると、モーションプログラム編集部101で得られたモーションプログラムのうち最初の動作のための命令を読み込む。次に、モーション指令値計算部103は、モーションパラメータ設定部102で設定されたモーションパラメータのうち、命令に対応するモーションパラメータを読み込む。そして、モーション指令値計算部103は、読み込んだ命令とモーションパラメータとから、シミュレーションで用いるモーション指令値(動作指令値)を順次計算し、出力する。同様に、モーション指令値計算部103は、後続の命令と対応するモーションパラメータとを順に読み込み、モーション指令値を出力する。
 本実施形態では、モーション指令値計算部103は、モーション指令値の1つとして、各時刻におけるロボットアームの加速度を出力する。したがって、モーション指令値計算部103は、ピック位置からプレース位置までのロボットアームの加速度の時系列を含むモーション指令値を出力する。
 ダイナミクス計算部104は、モーション指令値計算部103から出力されたモーション指令値と、ロボットの三次元CADデータと、ワーク、吸着パッド(保持体)、及びロボットアームの各々を表すモデルを含むシミュレーションモデルとを読み込む。ダイナミクス計算部104は、読み込んだモーション指令値、CADデータ、及びシミュレーションモデルから、ダイナミクス(動力学)を考慮したシミュレーションモデルの動作に関わる各種データを計算し、出力する。ロボットの三次元CADデータ及びシミュレーションモデルは、ストレージ14に予め格納されていてもよいし、光ディスク駆動装置17から読み込まれて取得されてもよいし、あるいは、通信インタフェース18を介して外部機器から取得されてもよい。なお、上記では三次元CADデータを用いる点を例示しているが、三次元CADデータを用いなくても、シミュレーションは実行可能である。例えば、二次元CADデータ、ロボットの寸法データ、又はロボットの設計データ等を用いてシミュレーションを実行してもよい。
 ダイナミクス計算部104により出力される各種データには、ワークの加速度が含まれる。以下、シミュレーションにおけるワークの加速度の導出方法について説明する。
 図6に示すように、第1実施形態のシミュレーションモデルは、ワークW、ワークWを吸着した吸着パッドP、及び先端に吸着パッドPが取り付けられたロボットアームRの各々を表すモデルを含む物理モデルとして構成されている。図6に示す物理モデルでは、ワークW及びロボットアームRは剛体とし、吸着パッドPは、質量mpad、回転減衰係数Cpad、及び回転弾性係数Kpadの弾性体としている。
 図6に示す物理モデルを用いたシミュレーションにおいて、ワークWの加速度aは、吸着パッドPとワークWとの間の伝達関数G(s)、及びロボットアームRの加速度aを用いて、次の式(1)で表される。
 a=G(s)×a … 式(1)
 ここで伝達関数G(s)は、吸着パッドPを図6に示す物理モデルで表した場合、例えば、以下の式(2)で表される。物理モデルは、実機の動作データから、ワークWの加速度aに影響を及ぼすパラメータを抽出して構築される。例えば、図6では、ロボットアームRを加速度aで加速度運動させたときに、ワークWの加速度aに影響する吸着パッドPの質量mpad、回転減衰係数Cpad、及び回転弾性係数Kpadが吸着パッドモデルのパラメータとして抽出されている。特にワークWの加速度aに影響を及ぼすパラメータだけで吸着パッドモデルを構築することにより、加速度a以外の外部影響を低減でき、より高い精度により加速度aを求めることができる。
Figure JPOXMLDOC01-appb-M000001

 
 許容値受付部105は、ワーク搬送時に許容されるワークの傾きの最大値に相当するワークの揺れ角(以下、「許容揺れ角」という)をユーザから受け付ける。本実施形態では、ロボットアームRとワークWとの間には、弾性を有する吸着パッドPが介在しているため、搬送時にワークWに傾きが生じる。そこで、図7に示すように、吸着パッドPに想定される回転軸を回転中心とし、鉛直方向に対するワークの重心Wの回転角度を、ワークWの揺れ角θと定義する。
 揺れ角算出部106は、ダイナミクス計算部104により導出されたワークWの加速度aを用いて、ワークWの揺れ角θを算出する。具体的には、揺れ角算出部106は、ワークの加速度aと、回転中心からワークWの底面までの鉛直方向の長さLと、ワークWの揺れの角周波数ωを用いて、ワークWの揺れ角θを算出する。ワークWの加速度aは、ダイナミクス計算部104で導出された値である。長さLは、実測値である。ωは、例えば、式(1)及び式(2)の伝達関数を用いた物理モデルを用いる場合、ロボットアームRの加速度aを時系列で入力したときの出力であるワークWの加速度aの時系列変化を示すステップ応答のピーク間の時間差から求めることができる。以下、ワークWの加速度a、回転中心からワークWの底面までの鉛直方向の長さL、及びワークWの角周波数ωを用いたワークWの揺れ角θの算出について説明する。
 まず、ワークWの揺れ角θを、下記式(3)に示すように単純化して考える。
Figure JPOXMLDOC01-appb-M000002

 
 AはワークWの揺れの振幅、tは時間である。ワークWの角加速度は、式(3)を時間tで2階微分して、下記式(4)のように表すことができる。
Figure JPOXMLDOC01-appb-M000003

 
 ここで、ワークWの揺れ角θが小さい場合、ワークWの角加速度は、下記式(5)のように近似することができる。
Figure JPOXMLDOC01-appb-M000004

 
 なお、第1実施形態では、ロボットアームRに保持された状態のワークWの底面に取り付けた加速度センサにより計測されたワークの加速度aを用いて、図6に示すような物理モデルを構築し、シミュレーション時には、この物理モデルにより導出されたワークWの加速度aを用いることを想定している。そのため、式(5)の近似では、図7に示すように、ロボットアームRに保持され、揺れ角θが0の状態におけるワークWの鉛直方向の長さを、回転中心からワークWの底面までの長さLとして用いている。
 上記式(3)~式(5)を整理すると、ワークWの揺れ角θは、下記式(6)のように算出することができる。
Figure JPOXMLDOC01-appb-M000005

 
 最適指令値特定部107は、モーション指令値の1つであるロボットアームRの加速度aのパターン(a(t))として、最適パターンを特定する。本実施形態では、ロボットアームRの加速度aの最適パターンを、揺れ角算出部106で算出されたワークWの揺れ角θが、許容値受付部105で受け付けられた許容揺れ角を超えない範囲で、タクトタイムが最短となるパターンとする。タクトタイムとは、ワークWがピックアップされてからプレースされるまでの時間である。なお、最適パターンは、上記の例に限定されず、例えば、タクトタイムが予め定めた時間より短くなるパターンのうち、揺れ角算出部106で算出されたワークの揺れ角θが最小となるパターンなど、適宜設定可能である。
 具体的には、最適指令値特定部107は、モーションパラメータ設定部102に対し、パラメータの取りうる値の全組み合わせの各々を設定するように指示すると共に、モーション指令値計算部103に対し、パラメータの全組み合わせの各々について、モーション指令値の1つであるロボットアームRの加速度aのパターン(a(t))を計算するように指示する。また、最適指令値特定部107は、ロボットアームRの加速度aのパターン(a(t))に対して、ダイナミクス計算部104で導出されたワークWの加速度aのパターン(a(t))を用いて、ワークWの揺れ角θ(t)を、揺れ角算出部106に算出させる。
 最適指令値特定部107は、揺れ角算出部106で算出された、各パターンに対応するワークWの揺れ角θ(t)が、許容値受付部105で受け付けられた許容揺れ角の範囲内であるパターンを抽出する。また、最適指令値特定部107は、抽出した各パターンでロボットアームRを加速度運動させた場合のタクトタイムを算出する。そして、最適指令値特定部107は、抽出した各パターンのうち、タクトタイムが最小となるパターンを、ロボットアームRの加速度aの最適パターンとして特定する。最適指令値特定部107は、特定した最適パターンに対応するモーションパラメータ及びタクトタイムを、モニタ16に表示する。
 3D表示部108は、ダイナミクス計算部104により計算されたシミュレーションモデルの動作を、モニタ16に表示する。3D表示部108は、例えば、ロボットがワークを搬送する様子を経時的に三次元に示す動画をモニタ16に表示させる。表示は、三次元に限定されず、二次元あるいは数値であってもよい。
 次に、第1実施形態に係るシミュレーション装置10の作用について説明する。
 図8は、シミュレーション装置10のCPU11により実行される動作の流れを示すフローチャートである。CPU11がROM12又はストレージ14からシミュレーションプログラムを読み出して、RAM13に展開し実行することにより、シミュレーション処理が行なわれる。図9は、ユーザから許容値等の入力を受け付けると共に、最適パラメータ等を表示するための画面の一例を示す図である。
 CPU11は、許容値受付部105として、ワークWの許容揺れ角を受け付ける(ステップS101)。以下では、受け付けた許容揺れ角に「θth」の符号を付す。例えば、CPU11は、図9に示すような画面をモニタ16に表示させ、入力ボックス201に許容揺れ角θthの入力を許可する。ユーザは、入力部15を介して許容揺れ角θthを入力できる。
 CPU11は、モーションプログラム編集部101として、モーションプログラムを受け付ける。また、CPU11は、モーションパラメータ設定部102として、モーションパラメータの初期値を設定する(ステップS102)。モーションパラメータの初期値は、モーションパラメータの全組み合わせのいずれか(例えば、全てのパラメータが「100%」)とすることができる。
 なお、事前にモーションプログラムの一部が決まっている場合には、残りの一部だけの入力を受け付けてもよい。例えば、CPU11は、図9に示す画面をモニタ16に表示させ、入力ボックス202~204に、モーションプログラムとして設定されるロボットアームR(ワークW)の移動距離の入力を受け付ける。ステップS103以降の処理は、例えば、図9の「最適パラメータ算出実行」ボタン205をユーザが押下することをトリガーとして開始してもよい。
 CPU11は、モーション指令値計算部103として、モーションプログラム及びモーションパラメータを読み込み、モーション指令値を計算する(ステップS103)。
 CPU11は、ダイナミクス計算部104として、モーション指令値の1つであるロボットアームRの加速度aのパターン(a(t))を用いて、シミュレーションモデルによりシミュレーションを実行し、ワークWの加速度aのパターン(a(t))を導出する(ステップS104)。
 CPU11は、揺れ角算出部106として、例えば、ワークWの加速度a(t)と、回転中心からワークWの底面までの鉛直方向の長さLと、ワークWの揺れの角周波数ωとを用いて、上記式(6)により、ワークWの揺れ角θ(t)を算出する(ステップS105)。
 CPU11は、最適指令値特定部107として、ワークWの揺れ角θ(t)が、許容揺れ角θthの範囲内か否かを判断する(ステップS106)。ワークWの揺れ角θ(t)に許容揺れ角θthを超える値が含まれる場合(ステップS106:NO)、CPU11は、ステップS109の処理に進む。ワークWの揺れ角θ(t)が許容揺れ角θthの範囲内の場合(ステップS106:YES)、CPU11は、シミュレーションにおいてロボットアームRがワークWを搬送するタクトタイムを算出する(ステップS107)。CPU11は、ステップS102又は後述するステップS110で設定したモーションパラメータと、ステップS107で算出したタクトタイムと、ステップS105で算出したワークWの揺れ角θ(t)とを関連付けて、ストレージ14又はRAM13に記憶する(ステップS108)。
 CPU11は、変更し得る全てのモーションパラメータの組合せについて、ワークWの揺れ角θ(t)が許容揺れ角θthの範囲内か否かを判断する処理を終了したか否かを判断する(ステップS109)。全てのモーションパラメータの組合せについて判断が終了していない場合(ステップS109:NO)、CPU11は、モーションパラメータの設定を変更し(ステップS110)、ステップS103の処理に戻る。
 全てのモーションパラメータの組合せについて判断が終了した場合(ステップS109:YES)、CPU11は、上記ステップS108で、ストレージ14又はRAM13に記憶した中で、タクトタイムが最短となるモーションパラメータの組合せを最適パラメータとして、タクトタイムと共にモニタ16に表示する(ステップS111)。CPU11は、例えば、図9の算出結果表示ウィンドウ206に示すように、ロボットアームRの各動作におけるモーションパラメータ及び当該モーションパラメータによる動作時のタクトタイムを表示する。また、CPU11は、算出されたワークWの揺れ角θ(t)をグラフ化して表示してもよい。
 CPU11は、ステップS111で最適パラメータとして決定したモーションパラメータにより、モーション指令値計算部103及びダイナミクス計算部104としてシミュレーションを行い、3D表示部108として、シミュレーション結果を表示する(ステップS112)。シミュレーション結果は、例えば、シミュレーションモデルの動作の動画として表示される。CPU11は、シミュレーション処理を終了する。
 以上のように、第1実施形態のシミュレーション装置10によれば、シミュレーションにより、ロボットアームの加速度に対するワークの加速度を導出し、このワークの加速度を用いて、搬送時におけるワークの傾き度合いを示す揺れ角を算出することができる。また、シミュレーション装置10によれば、算出した揺れ角を利用して、ワークの揺れ角が、受け付けた許容揺れ角を超えない範囲で最適なロボットアームの加速度を特定することができる。これにより、ユーザは、許容できる揺れ角に応じた最適な動作指令値を知ることができる。例えば、ワーク内で内容物が移動できる隙間が多少許されているような場合に、ワークの傾き度合いが大きくなり過ぎて、内容物がワーク内で偏った位置に配置されてしまうなどの不具合を防止しつつ、例えばタクトタイムが最短となるようにロボットアームを動作させることができる。
 (第2実施形態)
 図10は、第2実施形態に係るシミュレーション装置10Aの機能構成を示すブロック図である。なお、シミュレーション装置10Aのハードウェア構成については、第1実施形態に係るシミュレーション装置10と同様であるため、説明を省略する。
 図10に示すように、シミュレーション装置10Aは、第1実施形態に係るシミュレーション装置10の機能構成における最適指令値特定部107に変えて、最適指令値特定部107Aを有する。また、シミュレーション装置10Aは、第1実施形態に係るシミュレーション装置10の機能構成に加え、負荷導出部109を有する。なお、最適指令値特定部107Aは、本開示の特定部の一例であり、負荷導出部109は、本開示の負荷モーメント導出部の一例である。
 負荷導出部109は、ダイナミクス計算部104により計算されたシミュレーションモデルの動作から、シミュレーションモデルが鉛直運動する際にワークにかかる下向きの力を導出する。また、負荷導出部109は、ダイナミクス計算部104により計算されたシミュレーションモデルの動作から、シミュレーションモデルが水平運動する際のロボットアームの加速度とワークの加速度との差により吸着パッドに発生する負荷モーメント(詳細は後述)を導出する。負荷導出部109は、下向きの力及び負荷モーメントを、シミュレーションモデルの動作から計算してもよく、また、予め登録されているテーブルから導出してもよい。
 最適指令値特定部107Aは、ワークの揺れ角θが許容揺れ角θthの範囲内であることに加え、負荷導出部109により導出した下向きの力及び負荷モーメントに基づいて、ワークが吸着パッドから落下しないような、ロボットアームの加速度aの最適パターンを特定する。
 具体的には、最適指令値特定部107Aは、負荷導出部109により導出した下向きの力及び負荷モーメントに基づいて、ワークが吸着パッドから落下するか否かを判定する。最適指令値特定部107Aは、シミュレーションモデルが鉛直運動する際には、下向きの力が閾値(以下、閾値Tvと呼ぶ)より大きいか否かによりワークの落下を判定する。また、最適指令値特定部107Aは、シミュレーションモデルが水平運動する際には、負荷モーメントが閾値(以下、閾値Thと呼ぶ)より大きいか否かによりワークの落下を判断する。なお、水平運動においてもワークには重力がかかるが、閾値Thは、重力に加えてどの程度の負荷モーメントが発生すればワークが落下するかを表す値である。
 閾値Tv及び閾値Thは、いずれもワークの落下を考慮して設定される値である。例えば、閾値Tvは、シミュレーションモデルに相当するロボットの実機を動作させたときに、ワークが落下しなかった実行条件で発生する下向きの力として設定され得る。好ましくは、閾値Tvは、シミュレーションモデルに相当するロボットの実機を実行条件を変更して繰り返し動作させたときに、ワークが落下しなかった実行条件で発生する下向きの力のうちの最大値として設定される。同様に、閾値Thは、シミュレーションモデルに相当するロボットの実機を動作させたときに、ワークが落下しなかった実行条件で発生する負荷モーメントとして設定され得る。好ましくは、閾値Thは、シミュレーションモデルに相当するロボットの実機を実行条件を変更して繰り返し動作させたときに、ワークが落下しなかった実行条件で発生する負荷モーメントのうちの最大値として設定される。なお、閾値Tvおよび閾値Thは、必ずしも実機を動作させることにより設定されなくてもよい。ワーク毎の閾値を前もって蓄積したデータベースを参照し、搬送対象のワークと類似しているワークの鉛直運動の際の閾値及び水平運動の際の閾値を、閾値Tv及び閾値Thとして設定してもよい。
 次に、下向きの力及び負荷モーメントについて、詳細に説明する。
 図11は、ワークにかかる下向きの力を示す図、図12は、ロボットアームとワークとの加速度の差を示す図、図13はワークの回転を示す図である。
 まず、下向きの力について説明する。図11に示すように、ロボットアームRが鉛直方向上方に加速度aにより加速度運動する場合、シミュレーションモデルに含まれるワークWの重心には、重力m×gと、慣性力m×aとの和の力がかかる。ここで、mは、ワークWの質量、gは重力加速度、aはワークWの加速度である。重力m×gと慣性力m×aとの和である下向きの力が閾値Tv以下の場合、ワークWは落下せず、閾値Tvよりも大きい場合にワークWは落下すると判定する。閾値Tvは、シミュレーションモデルに相当するロボットの実機を実行条件を変更して繰り返し動作させたときに、ワークが落下しなかった実行条件で発生する下向きの力のうちの最大値として設定される。
 次に、負荷モーメントについて説明する。図12に示すように、ロボットアームRが動作指令に基づいて水平方向に加速度aにより加速度運動する場合について説明する。ここで、ロボットアームRとワークWとの間には、弾性を有する吸着パッドPが介在している。このため、加速度運動時に吸着パッドPが変形し、ワークWは、吸着パッドPに想定される回転軸を回転中心として、図13に示すように回転し、ワークW及びロボットアームR間に加速度の差が生じる。ここで、ワークの加速度をaで表し、回転中心からワークWの重心までの距離を記号L1で表し、回転中心からワークの底部までの距離を記号L2で表す。また、シミュレーションモデルの回転部分のワークWの慣性モーメントを記号Iで表す。ワークWの鉛直方向に対する回転角度をθとして表す。ワークW及びロボットアームRが移動する慣性座標系においては、ワークWに生じるモーメントτは、次の式(7)により表される。
Figure JPOXMLDOC01-appb-M000006

 
 ここで、ワークの揺れ角θが小さい場合、角加速度は、下記式(8)のように近似することができる。
Figure JPOXMLDOC01-appb-M000007

 
 式(7)に式(8)を代入すると、次の式(9)が得られる。
Figure JPOXMLDOC01-appb-M000008

 
 式(9)に示すように、ワークWの加速度aとロボットアームRの加速度aとの差により、ワークWに生じるモーメントτが表される。
 一方、ワークWに生じるモーメントτは、ロボットアームRと共に運動する並進座標系において考えることもできる。並進座標系においては、ワークに生じるモーメントτは、次の式(10)に示す回転の運動方程式により表される。
Figure JPOXMLDOC01-appb-M000009

 
 並進座標系においては、ワークWに生じるモーメントτは、ロボットアームRの加速度運動(水平運動)により水平方向に作用する水平慣性力により、ワークWに作用する(みかけの)慣性モーメントmaL1と、吸着パッドPに負荷としてかかる力、すなわち、負荷モーメントMとの和で表すことができる。式(10)のように、並進座標系で考えれば、式(7)よりも、吸着パッドPにかかる負荷モーメントMを考慮する分、ワークWに生じるモーメントτをより正確に表現することができる。
 式(10)に式(8)を代入し、負荷モーメントMの式に変形すると、式(11)が得られる。従って、加速度aを与えれば、上記の式(1)から加速度aが求められるので、式(11)から負荷モーメントMを求めることができる。
Figure JPOXMLDOC01-appb-M000010

 
 以下の説明では、負荷モーメントMを式(11)で表す場合について説明する。負荷モーメントMが上述した閾値Th以下の場合、ワークWは落下せず、閾値Thよりも大きい場合にワークWは落下する。閾値Thは、シミュレーションモデルに相当するロボットの実機を実行条件を変更して繰り返し動作させたときに、ワークが落下しなかった実行条件で発生する負荷モーメントのうちの最大値として設定される。
 図14は、第2実施形態に係るシミュレーション装置10AのCPU11により実行される動作の流れを示すフローチャートである。CPU11がROM12又はストレージ14からシミュレーションプログラムを読み出して、RAM13に展開し実行することにより、シミュレーション処理が行なわれる。
 ステップS201~ステップS205及びステップS208~S213は、図8に示すステップS101~ステップS105及びステップS107~S112と同様であるので、説明を省略する。
 CPU11は、負荷導出部109として、シミュレーション中に変化する、全ての下向きの力及び式(11)に基づく全ての負荷モーメントMを導出する(ステップS206)。
 CPU11は、最適指令値特定部107Aとして、ワークWの揺れ角θ(t)が、許容揺れ角θthの範囲内で、全ての下向きの力が閾値Tv以下で、かつ全ての負荷モーメントMが閾値Th以下か否かを判断する(ステップS207)。ワークWの揺れ角θ(t)が許容揺れ角θthを超える値を含む場合、閾値Tvより大きい下向きの力が存在する場合、及び閾値Thより大きい負荷モーメントMが存在する場合の少なくともいずれかの場合(ステップS207:NO)、CPU11は、ステップS210の処理に進む。一方、ワークWの揺れ角θ(t)が許容揺れ角θthの範囲内で、全ての下向きの力が閾値Tv以下で、かつ全ての負荷モーメントMが閾値Th以下の場合(ステップS207:YES)、CPU11は、ステップS208の処理に進む。
 以上のように、第2実施形態のシミュレーション装置10Aによれば、算出した揺れ角を利用して、ワークの揺れ角が受け付けた許容揺れ角を超えない範囲で、かつ下向きの力及び負荷モーメントが閾値以下となる最適なロボットアームの加速度を特定することができる。これにより、ユーザは、許容できる揺れ角に応じた最適な動作指令値であって、かつワークが落下しない動作指令値を知ることができる。
 (第3実施形態)
 図15は、第3実施形態に係るシミュレーション装置10Bの機能構成を示すブロック図である。なお、シミュレーション装置10Bのハードウェア構成については、第1実施形態に係るシミュレーション装置10と同様であるため、説明を省略する。
 図15に示すように、シミュレーション装置10Bは、第2実施形態に係るシミュレーション装置10Aの機能構成における最適指令値特定部107Aに変えて、最適指令値特定部107Bを有する。また、シミュレーション装置10Bは、第2実施形態に係るシミュレーション装置10Aの機能構成における許容値受付部105に変えて、許容値受付部105Bを有する。また、シミュレーション装置10Bは、第2実施形態に係るシミュレーション装置10Aの機能構成における負荷導出部109に変えて、負荷モーメント導出部109Bを有する。また、シミュレーション装置10Bは、第2実施形態に係るシミュレーション装置10Aの機能構成に加え、相関関係取得部110を有する。なお、最適指令値特定部107B及び相関関係取得部110は、本開示の特定部の一例である。
 負荷モーメント導出部109Bは、ダイナミクス計算部104により計算されたシミュレーションモデルの動作から、シミュレーションモデルが水平運動する際のロボットアームの加速度とワークの加速度との差に応じて吸着パッドに作用する負荷モーメントを導出する。負荷モーメント導出部109Bにより導出される負荷モーメントは、第2実施形態における負荷導出部109により導出される負荷モーメントMと同様である。
 許容値受付部105Bは、ワークWの許容揺れ角と共に、許容されるワークWの落下率(以下、「許容落下率」という)を受け付ける。例えば、ロボットが包材により包装されたワークWを吸着する場合、包材にランダムなシワが発生する。ランダムなシワは、ロボットによるワークWの吸着力をランダムに低下させてしまい、ロボットによるワークWの保持を失敗させる可能性がある。つまり、包材を有するワークWを搬送する場合、ロボットを同じ動作条件により動かしても、ワークWが落下したりしなかったりする。同じ動作条件における複数回の搬送のうち、ワークWが落下する割合をワークの落下率と呼ぶ。許容落下率は、ユーザがどの程度の落下率まで許容できるかを表す。例えば、許容落下率が0.1%の場合、ユーザは、1000回の搬送のうち平均1回はワークが落下してしまうことを許容していることを表す。
 相関関係取得部110は、負荷モーメントと、ワークの落下率に相当する物理量との相関関係を示すデータを取得する。データの取得先は、例えば、ストレージ14又は外部のサーバである。相関関係は、実験により求めた負荷モーメントと落下率との相関を表す確率分布を、確率紙を用いてプロットすることにより求められる。例えば、負荷モーメントと落下率との相関をワイブル分布として表し、ワイブル確率紙にプロットすることにより相関関係が得られる。確率分布はワイブル分布に限らず、正規分布、対数正規分布、グンベル分布、フレシェ分布、指数関数型最小値漸近分布、指数分布又はレーリー分布等も適用し得る。この場合も、それぞれに合わせた確率紙にプロットすることにより相関関係が得られる。図16に、負荷モーメントと、ワークの落下率に相当する物理量との相関関係の一例を示す。
 最適指令値特定部107Bは、ワークWの揺れ角θが許容揺れ角θthの範囲内であることに加え、負荷モーメント導出部109Bにより導出される負荷モーメントに対応して、相関関係取得部110により取得される落下率が許容落下率を超えない範囲で、ロボットアームRの加速度aの最適パターンを特定する。
 図17は、第3実施形態に係るシミュレーション装置10BのCPU11により実行される動作の流れを示すフローチャートである。CPU11がROM12又はストレージ14からシミュレーションプログラムを読み出して、RAM13に展開し実行することにより、シミュレーション処理が行なわれる。
 ステップS303~ステップS306及びステップS309~S314は、図8に示すステップS102~ステップS105及びステップS107~S112と同様であるので、説明を省略する。
 CPU11は、許容値受付部105Bとして、ワークWの許容揺れ角θth及び許容落下率を受け付ける(ステップS301)。以下では、受け付けた許容落下率に符号「p」を付す。許容落下率pの受け付けは、例えば、図9に示すような画面により許容揺れ角θthを受け付ける場合と同様に受け付けることができる。
 CPU11は、相関関係取得部110として、上述の負荷モーメントと、ワークの落下率に相当する物理量との相関関係(例えば、図16)を参照し、ステップS301において受け付けた許容落下率pに対応する負荷モーメントMを閾値Tpとして設定する(ステップS302)。閾値Tpは、ストレージ14又はRAM13に一旦記憶される。
 CPU11は、負荷モーメント導出部109Bとして、シミュレーション中に変化する、全ての負荷モーメントMを、式(11)に基づいて導出する(ステップS307)。
 CPU11は、最適指令値特定部107Bとして、ワークWの揺れ角θ(t)が、許容揺れ角θthの範囲内で、かつ全ての負荷モーメントMが閾値Tp以下か否かを判断する(ステップS308)。ワークWの揺れ角θ(t)が許容揺れ角θthを超える値を含む場合、又は閾値Tpより大きい負荷モーメントMが存在する場合(ステップS308:NO)、CPU11は、ステップS311の処理に進む。一方、ワークWの揺れ角θ(t)が許容揺れ角θthの範囲内で、かつ全ての負荷モーメントMが閾値Tp以下の場合(ステップS308:YES)、CPU11は、ステップS309の処理に進む。
 以上のように、第3実施形態のシミュレーション装置10Bによれば、算出した揺れ角を利用して、ワークの揺れ角が受け付けた許容揺れ角を超えない範囲で、かつ負荷モーメントに対応する落下率が許容落下率を超えない範囲で、最適なロボットアームの加速度を特定することができる。これにより、ユーザは、許容できる揺れ角及び落下率に応じた最適な動作指令値を知ることができる。
 (第4実施形態)
 第1~第3実施形態では、揺れ角算出部106により算出されたワークWの揺れ角θを、ロボットアームRの加速度aの最適パターンを特定するために利用する場合について説明した。第4実施形態では、ワークWにロボットアームRの水平方向の加速度及び鉛直方向の加速度が作用することを考慮した負荷モーメントの導出に、算出されたワークWの揺れ角θを利用する場合について説明する。例えば、ロボットアームRが水平方向に対して傾斜した運動を行なう場合に、水平方向の加速度及び鉛直方向の加速度がワークWに作用する。
 図18は、第4実施形態に係るシミュレーション装置10Cの機能構成を示すブロック図である。なお、シミュレーション装置10Cのハードウェア構成については、第1実施形態に係るシミュレーション装置10と同様であるため、説明を省略する。
 図18に示すように、シミュレーション装置10Cは、第3実施形態に係るシミュレーション装置10Bの機能構成における最適指令値特定部107Bに変えて、最適指令値特定部107Cを有する。また、シミュレーション装置10Cは、第3実施形態に係るシミュレーション装置10Bの機能構成における負荷モーメント導出部109Bに変えて、負荷モーメント導出部109Cを有する。なお、シミュレーション装置10Cは、第3実施形態に係るシミュレーション装置10Bの機能構成における許容値受付部105B及び相関関係取得部110は有さない。なお、最適指令値特定部107Cは、本開示の特定部の一例である。
 ここで、負荷モーメント導出部109Cにおける負荷モーメントの導出を説明するために、まず、図19に、ワークWにかかる力を示す。
 図19において、ロボットアームRの加速度aを分解して得られる水平方向の加速度をa、鉛直方向の加速度をaとして示す。また、ワークWにかかる合成慣性力をF、合成慣性力Fを分解して得られる水平方向の慣性力をF、鉛直方向の慣性力をFとして示す。ワークWの鉛直方向に対する回転角度をθとして表す。また、ワークWの質量をm、シミュレーションモデルの回転する部分に作用する慣性モーメントをIとして表す。ワークWの回転中心からワークWの重心までの距離がL1、回転中心からワークWの先端(底面)までの距離をL2とする。
 水平方向の慣性力Fは、F=m×aとして表され、鉛直方向の慣性力Fは、F=m×aとして表される。
 慣性力による水平方向のモーメントの腕の長さはL1sinθ、鉛直方向のモーメントの腕の長さはL1cosθで表され、θが小さい場合、各々L1θ、L1で表される。したがって、ロボットアームRと共に運動する並進座標系においては、ワークWに生じるモーメントτは、次の式(12)に示す回転の運動方程式により表される。
Figure JPOXMLDOC01-appb-M000011

 
 ワークWに生じるモーメントτと、慣性力によるモーメントとの差が、吸着パッドPに負荷としてかかる力、すなわち、負荷モーメントMである。
 式(12)に上記の式(8)を代入し、負荷モーメントMの式に変形すると、式(13)が得られる。
Figure JPOXMLDOC01-appb-M000012

 
 したがって、負荷モーメント導出部109Cは、上記式(13)のθとして、揺れ角算出部106により算出されたワークWの揺れ角θを用いて、負荷モーメントMを導出する。
 最適指令値特定部107Cは、負荷モーメント導出部109Cにより導出される負荷モーメントMが、予め定めた閾値Mpを超えない範囲で、ロボットアームRの加速度aの最適パターンを特定する。閾値Mpは、例えば、シミュレーションモデルに相当するロボットの実機を実行条件を変更して繰り返し動作させたときに、ワークが落下しなかった実行条件で発生する負荷モーメントのうちの最大値などを設定しておくことができる。
 図20は、第4実施形態に係るシミュレーション装置10CのCPU11により実行される動作の流れを示すフローチャートである。CPU11がROM12又はストレージ14からシミュレーションプログラムを読み出して、RAM13に展開し実行することにより、シミュレーション処理が行なわれる。
 ステップS401~ステップS404及びステップS407~S412は、図8に示すステップS102~ステップS105及びステップS107~S112と同様であるので、説明を省略する。
 CPU11は、負荷モーメント導出部109Cとして、シミュレーション中に変化する、全ての負荷モーメントMを、ステップS404で算出されたワークWの揺れ角θ、及び式(13)に基づいて導出する(ステップS405)。
 CPU11は、最適指令値特定部107Cとして、全ての負荷モーメントMが閾値Tp以下か否かを判断する(ステップS406)。閾値Tpより大きい負荷モーメントMが存在する場合(ステップS406:NO)、CPU11は、ステップS409の処理に進む。一方、全ての負荷モーメントMが閾値Tp以下の場合(ステップS406:YES)、CPU11は、ステップS407の処理に進む。
 以上のように、第4実施形態のシミュレーション装置10Cによれば、水平方向に交差する方向にロボットアームを運動させる場合でも、算出した揺れ角を利用して、精度良く負荷モーメントを導出することができる。ワークの落下に影響を与える負荷モーメントを精度良く導出できることにより、ワークが落下しないようなロボットアームの加速度の最適パターンを特定することができる。これにより、ユーザは、ワークが落下しない最適な動作指令値を知ることができる。
 なお、シミュレーション装置は、上記の各実施形態に限定されず、種々の改変が可能である。
 例えば、上記各実施形態では、ワークWの傾きの度合いの一例として、ワークWの揺れ角θを算出する場合について説明したが、ワークWの揺れ幅を算出するようにしてもよい。ワークWの揺れ幅xは、例えば図21に示すように、ワークWの回転軸を通る鉛直方向を基準とし、回転中心とワークWの重心とを通る直線とワークWの底面との交点の水平方向の距離と定義することができる。この場合、揺れ幅xは、x=Lsinθにより、算出することができる。
 また、ワークWの揺れ幅は、ワークWの加速度aの二階積分により求めることができる。ワークWの揺れが小さい場合、下記式(14)に示すように、揺れ幅xを利用した近似により、ワークWの揺れ角θを算出してもよい。
Figure JPOXMLDOC01-appb-M000013

 
 また、上記各実施形態では、算出したワークWの揺れ角θを利用して、ロボットアームRの加速度aの最適パターンを特定する場合について説明したが、これに限定されない。例えば、第1実施形態では、算出されたワークWの揺れ角θが、許容揺れ角θthの範囲内か否かをユーザに提示するようにしてもよい。また、ユーザから許容揺れ角θthを受け付けることなく、算出されたワークWの揺れ角θをユーザに提示するようにしてもよい。
 また、上記各実施形態では、モーションパラメータの取りうる全ての組み合わせに対応するロボットアームRの加速度aのパターン(a(t))から、最適パターンを探索する場合について説明したが、これに限定されない。例えば、算出された揺れ角θと、許容揺れ角θthとの比較結果に応じて、次にシミュレーションするモーションパラメータの組合せを決定し、所定の条件を満たすモーションパラメータが特定できた場合には、モーションパラメータの全ての組み合わせについてシミュレーションを行うことなく、シミュレーション処理を終了してもよい。所定の条件は、例えば、算出された揺れ角θが、許容揺れ角θthの範囲内で、かつタクトタイムが予め定めた時間以下の場合とすることができる。
 また、上記各実施形態では保持体として吸着パッドを用いた例について説明した。しかし、吸着パッドに限定されず、ロボットアームに対してワークが相対運動可能な構成、すなわち、ロボットアームの加速度とワークの加速度とに差が生じる構成であればよい。例えば、ワークをチャック等により両サイドから把持し、把持された部分を結ぶ線を軸に、ワークに傾きが生じる場合などにも、本開示を適用することができる。
 また、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行したシミュレーション処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、シミュレーション処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 また、上記各実施形態では、シミュレーションプログラムがストレージ14またはROM12に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 2018年2月28日に出願された日本国特許出願2018-035342号の開示は、その全体が参照により本明細書に取り込まれる。
 本明細書に記載された全ての文献、特許出願、および技術規格は、個々の文献、特許出願、および技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。

Claims (9)

  1.  ワーク、前記ワークを保持した保持体、及び前記保持体が取り付けられたロボットアームを含むシミュレーションモデルであって、前記ロボットアームに対して前記ワークが相対運動可能なシミュレーションモデルを動作指令に基づいて加速度運動させるシミュレーションを実行した際の前記ロボットアームの加速度に対する前記ワークの加速度を導出する加速度導出部と、
     前記加速度導出部で導出された前記ワークの加速度を用いて、前記加速度運動時における前記ワークの傾き度合いを算出する算出部と、
     を含むシミュレーション装置。
  2.  前記算出部は、前記加速度導出部で導出された前記ワークの加速度、前記動作指令に基づく前記ロボットアームの加速度の変化に対する前記ワークの加速度のステップ応答の周期から得られる前記ワークの揺れの角周波数、及び、前記ワークの回転中心と前記ワークの加速度が生じる前記ワーク上の点との距離、で表される前記ワークの揺れ角を、前記ワークの傾き度合いとして算出する請求項1に記載のシミュレーション装置。
  3.  前記算出部は、前記加速度導出部で導出された前記ワークの加速度を2回積分した値で表される前記ワークの揺れ幅を、前記ワークの傾き度合いとして算出する請求項1に記載のシミュレーション装置。
  4.  前記ワークの傾き度合いの許容値を受け付ける受付部と、
     前記算出部で算出される前記傾き度合いが、前記受付部で受け付けられた傾き度合いの許容値を超えない範囲で、前記ロボットアームの加速度を特定する特定部と、
     を含む請求項1~請求項3のいずれか1項に記載のシミュレーション装置。
  5.  前記シミュレーションを実行した際の前記ロボットアームの加速度と前記ワークの加速度との差により前記保持体に発生する負荷モーメントを導出する負荷モーメント導出部を含み、
     前記特定部は、前記負荷モーメント導出部で導出された負荷モーメントが、前記ワークの落下の可能性を示す閾値を超えない範囲で、前記ロボットアームの加速度を特定する
     請求項4に記載のシミュレーション装置。
  6.  前記シミュレーションを実行した際の前記ロボットアームの加速度と前記ワークの加速度との差により前記保持体に発生する負荷モーメントを導出する負荷モーメント導出部を含み、
     前記受付部は、前記ワークの落下率の許容値を受け付け、
     前記特定部は、前記ワークの落下率と前記負荷モーメントとの予め定めた関係に基づいて、前記負荷モーメント導出部で導出された負荷モーメントが、前記受付部で受け付けられた落下率の許容値に対応する負荷モーメントを超えない範囲で、前記ロボットアームの加速度を特定する
     請求項4に記載のシミュレーション装置。
  7.  前記シミュレーションを実行した際の前記ロボットアームの加速度と前記ワークの加速度との差により前記保持体に発生する負荷モーメントを、前記ワークに生じるモーメントから、慣性力により発生するモーメントを差し引いて導出する負荷モーメント導出部を含み、
     前記慣性力により発生するモーメントは、前記算出部により算出された前記ワークの揺れ角によって、慣性力を水平方向及び鉛直方向に分解した場合における、水平方向に作用する水平慣性力によるモーメントと鉛直方向に作用する鉛直慣性力によるモーメントとの和である
     請求項2に記載のシミュレーション装置。
  8.  ワーク、前記ワークを保持した保持体、及び前記保持体が取り付けられたロボットアームを含むシミュレーションモデルであって、前記ロボットアームに対して前記ワークが相対運動可能なシミュレーションモデルを動作指令に基づいて加速度運動させるシミュレーションを実行した際の前記ロボットアームの加速度に対する前記ワークの加速度を導出し、
     導出された前記ワークの加速度を用いて、前記加速度運動時における前記ワークの傾き度合いを算出する、
     ことを含む処理を実行するシミュレーション方法。
  9.  コンピュータに、
     ワーク、前記ワークを保持した保持体、及び前記保持体が取り付けられたロボットアームを含むシミュレーションモデルであって、前記ロボットアームに対して前記ワークが相対運動可能なシミュレーションモデルを動作指令に基づいて加速度運動させるシミュレーションを実行した際の前記ロボットアームの加速度に対する前記ワークの加速度を導出し、
     導出された前記ワークの前記加速度を用いて、前記加速度運動時における前記ワークの傾き度合いを算出する、
     ことを含む処理を実行させるシミュレーションプログラム。
PCT/JP2019/006400 2018-02-28 2019-02-20 シミュレーション装置、方法、及びプログラム WO2019167765A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018035342A JP6930457B2 (ja) 2018-02-28 2018-02-28 シミュレーション装置、方法、及びプログラム
JP2018-035342 2018-02-28

Publications (1)

Publication Number Publication Date
WO2019167765A1 true WO2019167765A1 (ja) 2019-09-06

Family

ID=67805733

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/006400 WO2019167765A1 (ja) 2018-02-28 2019-02-20 シミュレーション装置、方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP6930457B2 (ja)
WO (1) WO2019167765A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110941183A (zh) * 2019-11-30 2020-03-31 华南理工大学 一种基于神经网络的工业机器人动力学辨识方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6874712B2 (ja) * 2018-02-19 2021-05-19 オムロン株式会社 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
JP6988573B2 (ja) * 2018-03-01 2022-01-05 オムロン株式会社 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
CN110744548B (zh) * 2019-11-08 2021-02-19 山东大学 一种多线驱连续体机械臂驱动线耦合关系的统一解耦方法
WO2024080155A1 (ja) * 2022-10-14 2024-04-18 パナソニックIpマネジメント株式会社 ロボットシステム、ロボットの制御装置、およびロボットの制御方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1160153A (ja) * 1997-08-19 1999-03-02 Sumitomo Heavy Ind Ltd クレ−ンの吊り荷の振れ角計測装置
JP2007511441A (ja) * 2003-11-14 2007-05-10 シーメンス テクノロジー−トゥー−ビジネス センター、リミテッド ライアビリティ カンパニー 揺れ制御のためのシステム及び方法
JP2007161393A (ja) * 2005-12-13 2007-06-28 Ishikawajima Harima Heavy Ind Co Ltd クレーンの振れ止め制御方法
WO2014076935A1 (ja) * 2012-11-19 2014-05-22 株式会社タダノ 作業機械の緩停止装置
US20140202970A1 (en) * 2013-01-22 2014-07-24 National Taiwan University Fast crane and operation method for same
JP2016169091A (ja) * 2015-03-13 2016-09-23 国立大学法人三重大学 単振り子式搬送装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05253876A (ja) * 1991-08-21 1993-10-05 Sanyo Electric Co Ltd マニピュレータ
JP3910157B2 (ja) * 2003-06-11 2007-04-25 ファナック株式会社 ロボット装置
JP2005052919A (ja) * 2003-08-01 2005-03-03 Yaskawa Information Systems Co Ltd ワーク搬送装置の加速度制御方法
JP4408694B2 (ja) * 2003-12-22 2010-02-03 エスペックテクノ株式会社 吸着装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1160153A (ja) * 1997-08-19 1999-03-02 Sumitomo Heavy Ind Ltd クレ−ンの吊り荷の振れ角計測装置
JP2007511441A (ja) * 2003-11-14 2007-05-10 シーメンス テクノロジー−トゥー−ビジネス センター、リミテッド ライアビリティ カンパニー 揺れ制御のためのシステム及び方法
JP2007161393A (ja) * 2005-12-13 2007-06-28 Ishikawajima Harima Heavy Ind Co Ltd クレーンの振れ止め制御方法
WO2014076935A1 (ja) * 2012-11-19 2014-05-22 株式会社タダノ 作業機械の緩停止装置
US20140202970A1 (en) * 2013-01-22 2014-07-24 National Taiwan University Fast crane and operation method for same
JP2016169091A (ja) * 2015-03-13 2016-09-23 国立大学法人三重大学 単振り子式搬送装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110941183A (zh) * 2019-11-30 2020-03-31 华南理工大学 一种基于神经网络的工业机器人动力学辨识方法

Also Published As

Publication number Publication date
JP6930457B2 (ja) 2021-09-01
JP2019150887A (ja) 2019-09-12

Similar Documents

Publication Publication Date Title
WO2019167765A1 (ja) シミュレーション装置、方法、及びプログラム
JP7454148B2 (ja) パッキング機構を有するロボットシステム
KR102332603B1 (ko) 실시간 배치 시뮬레이션을 사용하여 패키지를 팔레트화하기 위한 로봇 시스템
US10589424B2 (en) Robot control device, robot, and robot system
JP7429386B2 (ja) 順序通りでなく到着するパッケージを処理するためのロボットシステム
JP6540472B2 (ja) シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
US7881917B2 (en) Apparatus simulating operations between a robot and workpiece models
JP6036662B2 (ja) ロボットシミュレーション装置、プログラム、記録媒体及び方法
US10828778B2 (en) Method for operating a robot
JP6988573B2 (ja) シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
JP6662836B2 (ja) 収容領域又は治具にワークを配置するワーク配置システム
JP7147571B2 (ja) 経路生成装置、経路生成方法、及び経路生成プログラム
CN112236272B (zh) 把持姿态评价装置和把持姿态评价程序
CN109803796A (zh) 模拟装置、机器人、模拟方法及其程序
JP6874712B2 (ja) シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
Zhu et al. Parallel image-based visual servoing/force control of a collaborative delta robot
CN103970026B (zh) 计算方法和计算装置
JP2017202549A (ja) ロボット制御装置、ロボット、及びロボットシステム
CN111498213A (zh) 具有动态打包机制的机器人系统
WO2022113538A1 (ja) 軌道計画装置、軌道計画方法、及び非一時的記録媒体
US20240253232A1 (en) Method for Ascertaining Control Data for a Gripping Device for Gripping an Object
JP2021091036A (ja) ピッキングロボット、ピッキング方法及びプログラム
CN116952508A (zh) 接触碰撞测试方法、接触碰撞测试系统
JP2017227980A (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: 19760802

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19760802

Country of ref document: EP

Kind code of ref document: A1