WO2014122995A1 - 干渉チェック装置 - Google Patents

干渉チェック装置 Download PDF

Info

Publication number
WO2014122995A1
WO2014122995A1 PCT/JP2014/051283 JP2014051283W WO2014122995A1 WO 2014122995 A1 WO2014122995 A1 WO 2014122995A1 JP 2014051283 W JP2014051283 W JP 2014051283W WO 2014122995 A1 WO2014122995 A1 WO 2014122995A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
upper limit
calculation
unit
interference check
Prior art date
Application number
PCT/JP2014/051283
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 US14/651,426 priority Critical patent/US9550295B2/en
Priority to JP2014560713A priority patent/JP5872077B2/ja
Priority to CN201480007555.7A priority patent/CN104969134B/zh
Priority to KR1020157020983A priority patent/KR101781709B1/ko
Priority to DE112014000700.5T priority patent/DE112014000700B4/de
Publication of WO2014122995A1 publication Critical patent/WO2014122995A1/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/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • 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
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39094Interference checking between robot and fixture
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/49Protective device

Definitions

  • the present invention relates to an interference check device for checking interference between robots or between a robot and peripheral devices.
  • the interference check device is a device that checks the possibility of collision in order to prevent the industrial robot and its peripheral devices from colliding with each other.
  • the collision check device checks the possibility of collision, and if there is a possibility of collision, issues an appropriate command value (command value for stopping or correcting the motion trajectory) to the robot, etc. , Preventing collisions.
  • the interference check device that is executed online even when the robot is in operation, the industrial robot and its peripheral devices are not in the detailed shape as they are. In place of spheres and cylinders, etc., interference check between the models is performed.
  • the interference check device When replacing the modeling target (object) such as the robot body with a model, the interference check device divides the modeling target into multiple regions in advance, taking into account the number of movable axes of the joint (mechanism freedom). To do. Then, the interference check apparatus arranges the models so that each region is included by a simple geometric model (a sphere, a cylinder, a cuboid, a polyhedron, etc.) called a primitive. Furthermore, the interference check device calculates the shortest distance between each primitive, and when the shortest distance is 0 or smaller than a predetermined distance set in advance, it determines that “interference occurs”, outputs a stop command, and stops. The operation was starting.
  • a simple geometric model a sphere, a cylinder, a cuboid, a polyhedron, etc.
  • Modeling requires that “the model is larger than the object to be modeled and the object is included”. For inclusion of objects, if the model settings are too large and the model settings are too large, the objects will be misjudged as “interfering” even though there is no possibility of interference. It becomes a factor to generate. For this reason, when modeling, it is important how efficiently the entire object is included using a model with a small surplus area.
  • the surplus of the volume to be included may increase by increasing the number of models from N to one. Further, in this case, the calculation processing cost for determination may increase even though there is almost no change in the inclusion surplus of the model.
  • the interference check processing time per model unit increases, the modeling object can be included with a smaller number of models than the sphere. For this reason, it is desirable to consider total and efficient model selection and arrangement.
  • the task of adding a model is performed by the user of the robot equipped with the interference check device, and it is difficult to perform model placement in consideration of the above requirements by user adjustment.
  • the present invention has been made in view of the above, and an object of the present invention is to obtain an interference check apparatus that can easily generate a model in which the inclusion volume of the model is minimized within a limited calculation cost.
  • the present invention provides a model number upper limit input in which the upper limit number of geometric models set by the interference check device as a modeling target that is an object of interference check is input. And a rectangular parallelepiped that can include the modeling target is set as the modeling target as an interference check model, a new geometric model having a calculation cost per unit distance calculation smaller than that of the rectangular parallelepiped is calculated as the model.
  • a model processing unit that models the modeling target by replacing the rectangular parallelepiped with the new geometric model using a number equal to or less than the upper limit number, and a model using the new geometric model, Based on the information regarding the model candidate storage unit stored as candidates and the amount of calculation processing required for each process performed by the controller that controls the modeling target.
  • a calculation amount upper limit setting unit that sets a calculation upper limit amount that is an upper limit of the calculation amount when performing the interference check, and the calculation process of the interference check is performed from the model candidates below the calculation upper limit amount
  • a model candidate that extracts possible model candidates, determines a model candidate having the smallest model inclusion volume among the extracted model candidates as a model to be modeled, and a model determined by the volume model determination unit
  • an interference check unit that outputs an operation stop command if there is a possibility of interference, and outputs an operation continuation command if there is no possibility of interference.
  • FIG. 1 is a diagram illustrating a configuration of an interference check system including an interference check device according to the first embodiment.
  • FIG. 2 is a block diagram illustrating a configuration of the interference check apparatus according to the first embodiment.
  • FIG. 3 is a diagram for explaining a calculation cost per unit distance calculation when the sphere model determination is performed.
  • FIG. 4 is a diagram illustrating another target example of unit distance calculation.
  • FIG. 5 is a diagram for explaining the modeling process.
  • FIG. 6 is a diagram illustrating a model example in the case where the upper limit number of models is one.
  • FIG. 7 is a diagram illustrating a model example when the upper limit number of models is two.
  • FIG. 8 is a diagram illustrating the relationship between the number of models and the surplus inclusion volume ratio.
  • FIG. 1 is a diagram illustrating a configuration of an interference check system including an interference check device according to the first embodiment.
  • FIG. 2 is a block diagram illustrating a configuration of the interference check apparatus according to the first embodiment.
  • FIG. 9 is a diagram illustrating another configuration example of the interference check system.
  • FIG. 10 is a block diagram illustrating a configuration of the interference check apparatus according to the second embodiment.
  • FIG. 11 is a diagram for explaining division processing for each assembly using the CAD / CAM system.
  • FIG. 12 is a block diagram illustrating a configuration of the interference check apparatus according to the third embodiment.
  • FIG. 13 is a diagram illustrating a hardware configuration of the interference check apparatus.
  • FIG. 14 is a block diagram showing a configuration of the interference check apparatus according to the fourth embodiment.
  • FIG. 1 is a diagram illustrating a configuration of an interference check system including an interference check device according to the first embodiment.
  • the interference check system 100A is a system that includes a robot production system, a communication device 3 that connects devices of the robot production system, and a computer 9 that changes the setting of each controller included in the robot production system.
  • the interference check system 100A may include a control device such as a PLC (programmable logic controller) having a communication function and a function of sending command values and signals to each device instead of the communication device 3. Good.
  • PLC programmable logic controller
  • the communication device 3 performs communication within the interference check system 100A using Ethernet (registered trademark) or the like. Specifically, the communication device 3 communicates with the robot controller 2, the peripheral device controller 4, and the computer 9.
  • Ethernet registered trademark
  • the computer 9 is a device that performs information processing, such as a PC (Personal computer).
  • the computer 9 changes the setting of each controller (such as the robot controller 2 and the peripheral device controller 4) via the communication device 3.
  • each controller such as the robot controller 2 and the peripheral device controller
  • these devices may be included in the configuration of the interference check system 100A.
  • the robot production system includes a robot 10, a hand device 6, a vision sensor 7, a peripheral device 5, a peripheral device controller 4, and a robot controller (robot control device) 2.
  • the robot 10 is connected to the robot controller 2 and operates according to instructions from the robot controller 2. In addition, the robot 10 operates the hand device 6 and the like according to instructions from the robot controller 2.
  • the hand device 6 is a device operated by the robot 10.
  • the hand device 6 moves so as not to collide with the peripheral device 5 or the like.
  • the vision sensor 7 is an image sensor that captures the vicinity of the hand device 6 and the peripheral device 5.
  • the vision sensor 7 is disposed, for example, in the vicinity of the hand device 6 and moves together with the hand device 6.
  • the vision sensor 7 moves so as not to collide with the peripheral device 5 or the like.
  • the peripheral device controller 4 is connected to the peripheral device 5 and controls the peripheral device 5 in accordance with an instruction from the computer 9.
  • the peripheral device 5 is a device arranged around the robot 10.
  • the peripheral device 5 is connected to the peripheral device controller 4 and operates according to an instruction from the peripheral device controller 4.
  • Robot controller 2 is connected to robot 10, hand device 6, and vision sensor 7, and controls robot 10, hand device 6, and vision sensor 7 in accordance with instructions from computer 9.
  • the robot controller 2 has an interference check device 1X.
  • the interference check device 1X is a device that performs interference check processing (collision prediction).
  • the possibility of a collision between the hand device 6 and the peripheral device 5 and the possibility of a collision between the vision sensor 7 and the peripheral device 5 are as follows. Check before a collision actually occurs. When there is a possibility of a collision, the interference check device 1X outputs a command value (a command value for stopping or correcting the motion trajectory) for causing the robot 10 or the hand device 6 to avoid the collision.
  • the interference check device 1X may issue a command value for causing the peripheral device 5 to avoid a collision.
  • the interference check system 100A may include one robot controller 2 or may include a plurality of robot controllers 2.
  • the interference check system 100A may include one peripheral device controller 4 or may include a plurality of peripheral device controllers 4.
  • the robot production system may not include the vision sensor 7.
  • the interference check device 1X models the interference check target (robot 10, hand device 6, vision sensor 7, peripheral device 5), and outputs a stop signal if there is a possibility of interference.
  • the interference check target is safely stopped without any occurrence.
  • the interference check device 1X can apply the algorithm itself to other than the robot controller 2, the interference check device may be configured using an arithmetic processing device other than the robot controller 2.
  • the interference check device 1X may be arranged in the peripheral device controller 4.
  • a space formed by the movable range of the robot 10 and through which the robot 10 can pass is expressed as an operation area.
  • an expression representing such a collision between the robots 10 an expression “interference” is used in a state where spaces occupied by the robots 10 intersect at a certain time.
  • the area occupied by each model is called an interference determination area, and the expression interference is also used for a state where the interference determination areas intersect with each other. Also, checking whether or not such interference occurs is called interference check. In order to perform the interference check, it is necessary to model each robot 10 using a plurality of spheres, cylinders, cuboids, and the like.
  • the robot hand is modeled with a model such as a sphere before performing an interference check, and the model type (sphere, cylinder, cuboid), model All dimensions, model arrangement (which object is restrained), etc. are set in advance.
  • the robot 10 body it is possible to apply the model values already set by the robot manufacturer at the time of shipment, but for the hand device 6, the vision sensor 7 and the peripheral device 5 designed and selected by the user. Is newly set on the user side.
  • the first restriction is that there is an upper limit on the number of models that can be managed as a self model due to the communication speed between the robot controllers 2 or the restriction on the storage capacity of the storage area.
  • the second restriction is that there is an upper limit on the number of models that can be processed. This second restriction is caused by the fact that the processing unit of the robot controller 2 normally processes a plurality of tasks, so that a large calculation resource cannot be taken only for the interference check process.
  • the inclusion volume has the smallest inclusion volume among the model candidates that do not affect other arithmetic processing as the calculation processing amount. Is automatically extracted.
  • FIG. 2 is a block diagram illustrating a configuration of the interference check apparatus according to the first embodiment.
  • a configuration of an interference check device 1A that is an example of the interference check device 1X will be described.
  • the interference check device 1A includes a rectangular parallelepiped setting input unit 11, a model number upper limit input unit 12, an inclusion volume comparison unit 13, a modeling processing unit 14, a model candidate storage unit 17, and a processing calculation amount upper limit setting unit 16.
  • the rectangular parallelepiped setting input unit 11 is an interface for inputting an instruction (modeling instruction 101) for replacing a modeling target such as the hand device 6 or the vision sensor 7 with a rectangular parallelepiped.
  • the modeling instruction 101 is input to the rectangular parallelepiped setting input unit 11 by the user using a mouse or a keyboard.
  • the modeling instruction 101 input to the rectangular parallelepiped setting input unit 11 includes, for example, a rectangular parallelepiped dimension and constraint conditions.
  • the rectangular parallelepiped dimensions are, for example, L [mm], a [mm], and b [mm] (L ⁇ a ⁇ b), which are the lengths of three sides of the rectangular parallelepiped.
  • the constraint condition is a position and posture at which the model is constrained.
  • the constraint conditions include, for example, a position serving as a reference for attachment such as a flange position in the robot 10 and an offset amount (X, Y, Z, A, B, C) from the position serving as a reference for attachment to the attachment position of the model. Is the specified information.
  • A represents the amount of rotation about the X axis
  • B represents the amount of rotation about the Y axis
  • C represents the amount of rotation about the Z axis.
  • each rotation amount and offset amount are defined based on the designated coordinate system.
  • the coordinate system is defined in advance for each robot axis.
  • the base coordinate system, the first axis coordinate system, the second axis coordinate system, the third axis coordinate system, the fourth axis coordinate system, the fifth axis It is defined in the form of a coordinate system, a sixth axis coordinate system, and a flange position coordinate system.
  • the rectangular parallelepiped setting input unit 11 sends a modeling instruction 101 to the inclusion volume comparison unit 13 and the modeling processing unit 14.
  • the model number upper limit input unit 12 is an interface for inputting a model upper limit number 102 that is an upper limit value of the model number.
  • the model upper limit number 102 is input to the model number upper limit input unit 12 by the user using a mouse, a keyboard, or the like.
  • the model upper limit number 102 is an upper limit allowable number of models set as a modeling target.
  • the model upper limit number 102 is an integer of 1 or more, and there is no upper limit.
  • the model number upper limit input unit 12 sends the model upper limit number 102 to the modeling processing unit 14.
  • the reason for specifying the modeling target in a rectangular parallelepiped is that various shapes in FA (Factory Automation) can be easily included in a square and can be set easily. Since the distance between models using a square and the calculation cost of collision determination have a large amount of information processing, it is difficult to use for the real-time calculation. For this reason, the modeling processing unit 14 of the interference checking apparatus 1A replaces the rectangular parallelepiped model with a model that has a low unit calculation cost such as a sphere or a cylinder (column) and can perform information processing by real-time calculation.
  • the modeling processing unit 14 executes the modeling process by replacing the modeling target with a model such as a sphere or a cylinder based on the modeling instruction 101 which is an instruction from the user.
  • the modeling processing unit 14 replaces the modeling target with a new geometric model (spherical model, cylindrical model, etc.) whose calculation cost per unit distance calculation is smaller than that of the rectangular parallelepiped.
  • the modeling processing unit 14 uses, for each of a plurality of types of geometric model types, a model using a model that is equal to or less than the upper limit (model number N) (model upper limit number 102) of the number of geometric models specified by the user. Is generated.
  • FIG. 3 is a diagram for explaining a calculation cost per unit distance calculation when the sphere model determination is performed.
  • ⁇ ((X1-X2) ⁇ 2 + (Y1-Y2) ⁇ 2 + (Z1-Z2) ⁇ 2)
  • FIG. 4 is a diagram showing another example of target distance calculation.
  • a unit distance calculation target As a unit distance calculation target, a cylinder 301 shown in (a) of FIG. 4 (a hull defined by a certain distance from a line segment, both ends are hemispherical), a cylinder 302 shown in (b) of FIG.
  • the finite planes polygons such as the triangle 303B and the quadrangle 303A) shown in (c) and (d) are conceivable.
  • Unit distance calculation targets include cones (cone, triangular pyramid 305 shown in FIG. 4D), polyhedrons (tetrahedron, hexahedron 304 shown in FIG. 4C, octahedron,.
  • the envelopes 306A and 306B shown in FIGS. 4 (e) and 4 (f) (closed regions included by curved surfaces having a certain distance from the curved line) are conceivable.
  • FIG. 5 is a diagram for explaining the modeling process.
  • FIG. 5 shows a modeling process when the user designs the robot hand 30 that is a part of the hand device 6 and applies it to the production system.
  • the modeling processing unit 14 models the robot hand 30 with a predetermined model, and sets a constraint condition constrained on the hand side of the robot 10 as a model.
  • each model figure at the time of modeling with the spherical body model 31, the cylindrical body model 32, and the rectangular parallelepiped model 33 is shown.
  • the modeling processing unit 14 determines, based on the modeling instruction 101, the model type (sphere, cylinder, rectangular parallelepiped, etc.), model dimensions, model arrangement (which object is constrained) ) Is set in advance.
  • the modeling processing unit 14 replaces the modeling target with a model such as a sphere or cylinder based on the model type, model dimensions, and model arrangement specified in the modeling instruction 101.
  • the modeling processing unit 14 stores the modeling target (model candidate) replaced with a model such as a sphere or a cylinder in the model candidate storage unit 17 as model information 103.
  • the model information 103 is information relating to model candidates, and includes the model candidates themselves, the number of each model, the type of each model, the dimensions of each model, the arrangement of each model, and the like.
  • the modeling processing unit 14 generates a plurality of model candidates and stores each model candidate in the model candidate storage unit 17.
  • the inclusion volume comparison unit 13 calculates a surplus inclusion volume ratio of the model with respect to the modeling target based on the rectangular parallelepiped dimension in the modeling instruction 101 and the model information 103.
  • the surplus inclusion volume ratio is a value obtained by dividing the volume that the model contains excessively with respect to the modeling target by the volume of the modeling target.
  • the inclusion volume comparison unit 13 calculates the volume to be modeled based on the rectangular parallelepiped dimension in the modeling instruction 101, and calculates the model volume from the model information 103.
  • the inclusion volume comparison unit 13 stores the calculated excess inclusion volume ratio in the model candidate storage unit 17 as the modeled excess amount 104.
  • the inclusion volume comparison unit 13 may store the model volume limit value (allowable value) in the model candidate storage unit 17 as the modeled surplus amount 104 instead of the excess inclusion volume ratio.
  • the limit value of the model volume may be a ratio or a difference to the volume to be modeled.
  • the model candidate storage unit 17 is a memory that stores the model information 103 and the modeled surplus amount 104.
  • the model candidate storage unit 17 stores the model information 103 and the modeled surplus amount 104 in association with each other.
  • the robot control device setting storage unit 15 is a memory or the like that stores, as processing information 105, information related to an arithmetic processing amount required for each process executed by each controller.
  • the processing information 105 is, for example, optional processing function information that is valid in each controller, calculation processing time for each processing function, calculation processing time for one control cycle, and the like.
  • the robot controller setting storage unit 15 stores the interference check determination time for each unit model processed in each robot controller 2 (the amount of calculation required for each model unit) as a model unit calculation amount 108.
  • the processing calculation amount upper limit setting unit 16 reads the processing information 105 from the robot control device setting storage unit 15 and, based on the processing information 105, calculates the processing time 106 (the calculation upper limit amount) that the robot controller 2 can use for the interference check. ) Is calculated.
  • the processing calculation amount upper limit setting unit 16 outputs the calculated calculation processing time 106 to the minimum inclusion volume model determination unit 18A.
  • the post-setting model storage unit 19 stores the type of each model set in the robot arm (robot 10, hand device 6), vision sensor 7, and peripheral device 5, the number of each model, the size of each model, and the arrangement of each model. Information necessary for model placement for interference check included in model information 103 such as information is stored.
  • the minimum inclusion volume model 109 in the post-setting model storage unit 19 is read out as post-setting model information 110.
  • the post-setting model information 110 is information on the model type and the number of models of the model set in the robot arm (robot 10, hand device 6).
  • the interference check is performed, the minimum inclusion volume model 109 in the post-setting model storage unit 19 is read as it is.
  • the minimum inclusion volume model determination unit 18A reads the model information 103 and the modeled surplus amount 104 from the model candidate storage unit 17 as model candidate information 107. Further, the minimum inclusion volume model determination unit 18 ⁇ / b> A reads the model unit calculation amount 108 from the robot control device setting storage unit 15 and reads the post-setting model information 110 from the post-setting model storage unit 19.
  • the minimum inclusion volume model determination unit 18A extracts a model candidate that satisfies the threshold limitation of the processing calculation amount from the model candidates. Specifically, the minimum inclusion volume model determination unit 18A calculates the number of calculation processes necessary for one interference check for each model candidate based on the post-setting model information 110 and the model candidate information 107. Further, the minimum inclusion volume model determination unit 18A calculates the calculation processing time required for one interference check for each combination of the cylinder and the sphere based on the calculated calculation processing count and the model unit calculation amount 108. To do. The minimum inclusion volume model determination unit 18A repeats this calculation process for the number of model types ⁇ the number of models.
  • the minimum inclusion volume model determination unit 18A compares the calculation processing time of each interference check with the calculation processing time 106 that can be used for the interference check.
  • the minimum inclusion volume model determination unit 18A extracts, from model candidates, only model candidates that can be checked for interference with a calculation processing time that is shorter than the calculation processing time 106 that can be used for the interference check.
  • the minimum inclusion volume model determination unit 18A selects a model candidate having the smallest modeling surplus amount 104 from the extracted model candidates, and stores the selected model candidate as the minimum inclusion volume model 109 in the post-setting model storage unit 19 Let At this time, when the old minimum inclusion volume model 109 exists in the post-setting model storage unit 19 for one modeling target, the minimum inclusion volume model determination unit 18A overwrites with the new minimum inclusion volume model 109. To do.
  • the interference check unit 20 performs an interference check using the minimum inclusion volume model 109 stored in the post-setting model storage unit 19. At this time, the interference check unit 20 performs an interference check using the model dimensions and model position constraint conditions 111 set in the minimum inclusion volume model 109.
  • the model position constraint condition 111 is a condition related to the position and orientation in which the model is constrained, and is included in the modeling instruction 101.
  • the interference check unit 20 outputs an operation stop command to the drive control unit 21 when determining that there is a possibility of interference. When the interference check unit 20 determines that there is no possibility of interference, the interference check unit 20 outputs an operation continuation command to the drive control unit 21. The interference check unit 20 outputs an operation stop command and an operation continuation command to the drive control unit 21 as an operation change command value 112. The drive control unit 21 performs drive control according to the operation change command value 112 for the robot 10 and the hand device 6.
  • a modeling instruction 101 is input in advance to the rectangular parallelepiped setting input unit 11 by the user.
  • the rectangular parallelepiped setting input unit 11 sends a modeling instruction 101 to the inclusion volume comparison unit 13 and the modeling processing unit 14.
  • the model upper limit number input unit 12 is inputted with the model upper limit number 102 in advance by the user.
  • the model number upper limit input unit 12 sends the model upper limit number 102 to the modeling processing unit 14.
  • the modeling processing unit 14 stores model information 103 (the number of each model, the type of each model, the dimensions of each model, and the arrangement of each model) used in executing the modeling process in accordance with the modeling instruction 101 as a model candidate. Stored in the unit 17. The modeling processing unit 14 sends the model information 103 to the inclusion volume comparison unit 13.
  • the modeling processing unit 14 replaces the modeling target from a rectangular parallelepiped to a model such as a sphere or a cylinder based on the modeling instruction 101 and the model upper limit number 102. Thereby, the modeling process part 14 performs a modeling process with respect to a modeling object, and produces
  • the modeling processing unit 14 stores the model candidates in the model information 103 and stores them in the model candidate storage unit 17.
  • FIG. 6 is a diagram illustrating a model example when the model upper limit number is one
  • FIG. 7 is a diagram illustrating a model example when the model upper limit number is two.
  • a model 51 when the rectangular parallelepiped shape (thin and thin object) 50 is modeled as a sphere, and models 60 and 61 when the rectangular parallelepiped shape 50 is modeled as a cylinder. It shows.
  • the cylindrical body here has a shape obtained by sweeping the sphere, and the inclusion direction has two patterns in the order of the longer longitudinal direction.
  • a model when the cuboid shape 50 is modeled as a cylinder whose longitudinal direction and longitudinal direction are the same is shown as a model 61, and when the cuboid shape 50 is modeled as a cylinder whose longitudinal direction and longitudinal direction are perpendicular to each other.
  • the model is shown as model 60.
  • the model using the sphere is modeled so as to have a minimum volume, so the model 51 is set.
  • the model using the cylindrical body is modeled so as to have a minimum volume, so the model 61 is set.
  • Models 63A and 63B are shown.
  • the rectangular parallelepiped shape 50 may be modeled by one sphere or one cylinder, but since it is the same model as FIG. 6, it is not shown in FIG. .
  • models 63A and 63B are shown as models in which the longitudinal direction and the longitudinal direction of the rectangular parallelepiped shape 50 are modeled, and are modeled by a cylindrical body whose longitudinal direction and longitudinal direction are perpendicular to each other.
  • the model in this case is indicated by models 62A and 62B.
  • the models using the sphere are modeled so as to have a minimum volume, so the models 52A and 52B are set. Further, when the upper limit number of models is two, when modeling the rectangular parallelepiped shape 50 with a cylindrical body, the model using the cylindrical body is modeled so as to have a minimum volume. Is set.
  • modeling is less wasteful when modeled using a cylindrical model. This can be estimated by human trial and error, but the amount of calculation required for the interference check between the sphere and the cylinder and the interference check between the cylinder and the cylinder is several times larger than the case of the sphere. . For this reason, depending on the model configuration, the amount of calculation becomes too large, so that the amount of interference check processing in the entire processing of the robot controller 2 may be too large.
  • FIG. 8 is a diagram showing the relationship between the number of models and the surplus inclusion volume ratio.
  • a relationship 71 indicates the relationship between the number of models and the surplus inclusion volume ratio when a spherical model (sphere) is used.
  • relationships 72 and 73 indicate the relationship between the number of models and the surplus inclusion volume ratio when a cylindrical body model (cylinder) is used.
  • the relationship 72 is a relationship when the longitudinal direction of the cylindrical body model is L
  • the relationship 73 is a relationship when the longitudinal direction is a.
  • the horizontal axis is the number of models
  • the vertical axis is the surplus inclusion volume ratio.
  • the surplus inclusion volume ratio is 0 when the model of the rectangular parallelepiped (modeling target) is just wrapped, and indicates the amount obtained by dividing the extra volume of the rectangular parallelepiped model by the volume of the rectangular parallelepiped model. It is a thing.
  • the surplus inclusion volume ratio is a ratio representing the amount of surplus inclusion.
  • the modeling processing unit 14 performs modeling by the number of model types M ⁇ the number of models N using two pieces of information (modeling instruction 101 and model upper limit number 102) specified in advance by the user. Execute the process.
  • N and M are natural numbers.
  • the model number N is determined by the model upper limit number 102.
  • the modeling processing unit 14 executes the modeling process N times when the spherical model is applied, and executes the modeling process N times when the cylindrical body model is applied. When N is applied, N times of modeling processes are executed. Thereby, the modeling process part 14 performs a modeling process of MxN times.
  • the k division method differs depending on the model type. An example of the modeling rules for each model type will be described below.
  • the division target is a rule of creating as many cubes as possible.
  • the center position Pcnt_ki can be obtained by the following equation (1)
  • the radius R can be obtained by the following equation (2).
  • Norm (*) is a function for calculating the norm of the vector of *.
  • Pcnt_ki (P1 ki + P2 ki + P3 ki + P4 ki + P5 ki + P6 ki + P7 ki + P8 ki) / 8 ⁇ (1)
  • R norm (Pcnt_ki ⁇ P1 ki ) (2)
  • a rectangular parallelepiped given by the modeling instruction 101 is divided by the number of divisions designated in the designated direction shown below, and a sphere that can be included at the minimum for the divided rectangular parallelepiped is defined.
  • L [mm], a [mm], and b [mm] (L ⁇ a ⁇ b), which are the lengths of the three sides of the rectangular parallelepiped.
  • the number of divisions in the definition direction of L [mm] is k_L [times]
  • the number of divisions in the definition direction of a [mm] is k_a [times]
  • the division in each direction is performed by a procedure of dividing one rectangular parallelepiped into two rectangular parallelepipeds in one division. Further, when the number k of usable models is determined as described later, the modeling processing unit 14 performs a predetermined division process until k_tot reaches k in the modeling process. As a result, k_tot reaches k, and the divided rectangular parallelepiped is uniquely determined.
  • the minimum inclusion sphere in this case is a sphere whose diameter is a diagonal line of a rectangular parallelepiped divided as represented by the formula (2).
  • a predetermined division process of the modeling process in the modeling processing unit 14 will be described. First, it is confirmed whether or not the following condition (formula (3)) is satisfied when k_L is divided. If it is established, k_L is increased by one and the division process is performed.
  • the longitudinal direction to be divided is changed to the definition direction of a [mm] and divided.
  • ⁇ k>0 it is confirmed whether or not the following condition (formula (4)) is satisfied.
  • each axial direction (L Direction, a direction, and b direction) are defined as k_Ln, k_an, and k_bn. These are defined in each stage, and the lengths, L / k_Ln, a / k_an, and b / k_bn are compared each time the number of divisions k_L, k_a, and k_b in each direction increases. In this case, L is first divided, and the division direction is switched to a when the following expression (6) is satisfied. Then, when the following equation (7) is established, it is confirmed whether or not the following equation (8) is established.
  • Equation (8) the number of divisions in the b direction is increased by one.
  • Equation (8) does not hold, the number of divisions of L is increased by one again.
  • the division is terminated and the spherical model is defined according to the equations (1) and (2).
  • Pcnt_ki (P1 ki + P2 ki + P3 ki + P4 ki ) / 4 (9)
  • R norm (Pcnt_ki ⁇ P1 ki ) (10)
  • the division is continued according to the same rules as the sphere direction except that only the a and b directions are divided.
  • the division is completed, and a cylindrical body that models each rectangular parallelepiped is obtained based on the equations (9) and (10).
  • the inclusion volume comparison unit 13 determines the k model positions and model dimensions of each model candidate and the dimensions of the rectangular parallelepiped set by each user. Then, the modeling surplus amount 104 is calculated.
  • the inclusion volume comparison unit 13 extracts the model position and model size of the model candidate from the model information 103, and extracts the size of the rectangular parallelepiped (modeling target) from the modeling instruction 101. Then, the inclusion volume comparison unit 13 calculates the volume of the model candidate from the model position and the model dimension, and calculates the volume to be modeled from the dimension to be modeled. Furthermore, the inclusion volume comparison unit 13 calculates a modeled surplus amount 104 (excess inclusion volume ratio) related to the volume of the model candidate with reference to the volume to be modeled. Note that a value other than the surplus inclusion volume ratio may be defined as the modeling surplus amount.
  • the surplus inclusion volume ratio is Wst
  • the volume of the cuboid defined by the user is Vblock [mm ⁇ 3]
  • the sum of the volumes of the model after the division is Vmdl [mm ⁇ 3]
  • does not overlap with the cuboid defined by the user in Vmdl Assuming that the volume of the space is Vwst [mm ⁇ 3] and the volume of the region where the divided models overlap is Vovrp [mm ⁇ 3], Wst and Vwst are expressed by the following equations (11) and ( 12).
  • Vwst Vwst / Vblock (11)
  • Vwst Vmdl ⁇ Vovrp ⁇ Vblock (12)
  • the volume of the overlapping portion of the cuboid) ⁇ (the volume of the rectangular parallelepiped defined by the user).
  • the inclusion volume comparison unit 13 calculates a surplus inclusion volume ratio based on the equations (11) and (12), and stores it in the model candidate storage unit 17 as the modeled surplus amount 104.
  • the modeling surplus amount is calculated based on a straight line extending in the vertical direction from a point on the surface of the rectangular parallelepiped defined by the user and the generated model region. A value may be applied. In this case, a straight line extending in the vertical direction from a point on the surface of the rectangular parallelepiped and an intersection (two points) of the generated model surface are derived, and the distance between the intersections is defined as a surplus radius Rwst. It is evaluated as a modeled surplus quantity 104.
  • the model candidate storage unit 17 stores the model information 103 of M ⁇ N model candidates and the modeled surplus amount 104 of each model candidate in association with each other. After the information regarding all the M ⁇ N model candidates is accumulated in the model candidate storage unit 17, the minimum inclusion volume model determination unit 18A performs model information 103 (each model type, each model type of the M ⁇ N model candidates). The model position, each model size, and the number of each model) and the modeled surplus amount 104 of each model candidate are read from the model candidate storage unit 17 as model candidate information 107.
  • processing calculation amount upper limit setting unit 16 obtains, from the robot control device setting storage unit 15, optional processing function information that is valid in each controller, calculation processing time of each processing function, and calculation processing time of one control cycle. And read as processing information 105.
  • the processing calculation amount upper limit setting unit 16 calculates a calculation processing time 106 that the robot controller 2 can use for the interference check, and outputs the calculation result to the minimum inclusion volume model determination unit 18A. .
  • the minimum inclusion volume model determination unit 18A obtains the interference check determination time (sphere and sphere, cylinder and sphere, cylinder and cylinder) for each unit model processed by each robot controller 2 from the robot controller setting storage unit 15. And read out as the model unit calculation amount 108.
  • the model unit calculation amount 108 is a calculation amount required for the interference check of each model unit, and is set for each model unit.
  • the model unit calculation amount 108 is set, for example, for each combination of a cylinder and a sphere (sphere and sphere, cylinder and sphere, cylinder and cylinder).
  • the minimum inclusion volume model determining unit 18A reads out information on the model type and the number of models of the already set robot arm from the post-setting model storage unit 19 as post-setting model information 110.
  • the minimum inclusion volume model determination unit 18A calculates the number of calculation processes required for one interference check from the post-setting model information 110 and the model type and model number in the model candidate information 107.
  • the minimum inclusion volume model determination unit 18A calculates the number of calculation processes for each of a sphere and a sphere, a cylinder and a sphere, and a cylinder and a cylinder.
  • the minimum inclusion volume model determination unit 18A calculates the calculation processing time required for one interference check for each combination of the cylinder and the sphere based on the calculated calculation processing count and the model unit calculation amount 108. To do. The minimum inclusion volume model determination unit 18A repeats this calculation process the number of model types ⁇ the number of models (M ⁇ N) times.
  • the minimum inclusion volume model determination unit 18A compares the calculation processing time of M ⁇ N interference checks with the calculation processing time 106 that can be used for the interference check. Then, the minimum inclusion volume model determination unit 18A extracts from the model candidates only model candidates that can be checked for interference in a calculation processing time shorter than the calculation processing time 106.
  • the minimum inclusion volume model determination unit 18A selects a model candidate having the smallest modeling surplus amount 104 from the extracted model candidates, and sets the selected model candidate as the minimum inclusion volume model 109 after setting the model storage unit 19.
  • the minimum inclusion volume model determination unit 18A displays an error or the like on a display device (not shown).
  • the interference check unit 20 performs an interference check using the minimum inclusion volume model 109 stored in the post-setting model storage unit 19. Specifically, the interference check unit 20 performs an interference check using the model dimensions and model position constraint conditions 111 set in the minimum inclusion volume model 109.
  • the interference check unit 20 updates the current position of the model using, for example, information on the joint angle of the robot 10 (robot joint angle information). Then, the interference check unit 20 outputs an operation stop command for stopping the robot 10 or the like to the drive control unit 21 when the distance between the models becomes zero or a predetermined distance or less. The interference check unit 20 outputs an operation continuation command to the drive control unit 21 when there is no possibility of interference. Accordingly, the drive control unit 21 performs drive control according to the operation change command value 112 with respect to the robot 10 and the hand device 6.
  • FIG. 9 is a diagram illustrating another configuration example of the interference check system.
  • the interference check system 100B includes a robot production system and a computer 9.
  • the robot production system of the interference check system 100 ⁇ / b> B includes the robot 10, the hand device 6, and the robot controller 2.
  • the processing calculation amount upper limit setting unit 16, the interference check unit 20, the drive control unit 21, and the like of the interference check device 1A may be arranged in separate devices.
  • the model having the smallest inclusion volume within the range of the model upper limit number 102 in consideration of the calculation cost can be obtained automatically. Therefore, even an operator who has no knowledge of modeling can easily perform an efficient interference check using the user interface.
  • the model is set based on the modeling instruction 101 and the model upper limit number 102, a model in which the inclusion volume of the model is minimized within the limited calculation cost can be easily generated. It becomes possible to do. Further, when modeling a plurality of hand devices 6 and the like, the user can easily determine how much detailed modeling is performed on each hand device 6 by setting an allowable model upper limit number 102. It becomes possible to distribute.
  • Embodiment 2 of the present invention will be described with reference to FIG.
  • the model upper limit is based on the limit value (allowable modeling surplus amount 113) for the modeled surplus amount 104. Equation 102 is derived.
  • FIG. 10 is a block diagram showing a configuration of the interference check apparatus according to the second embodiment.
  • the configuration of an interference check device 1B which is an example of the interference check device 1X, will be described.
  • the constituent elements in FIG. 10 the constituent elements that achieve the same functions as those of the interference check apparatus 1A of the first embodiment shown in FIG.
  • the interference check device 1B includes a rectangular parallelepiped setting input unit 11, an inclusion volume comparison unit 13, a modeling processing unit 14, a model candidate storage unit 17, a processing calculation amount upper limit setting unit 16, and a minimum inclusion volume model determination unit 18B.
  • a post-setting model storage unit 19 a robot controller setting storage unit 15, an interference check unit 20, a drive control unit 21, and an allowable modeling surplus input unit 23.
  • the allowable modeled surplus input unit (limit value input unit) 23 is an interface for inputting a limit value (allowable modeled surplus amount 113) for the modeled surplus amount 104.
  • the allowable modeling surplus amount 113 is input to the allowable modeling surplus amount input unit 23 by the user using a mouse, a keyboard, or the like.
  • the allowable modeling surplus amount input unit 23 sends the allowable modeling surplus amount 113 to the minimum inclusion volume model determination unit 18B.
  • FIG. 10 illustrates a configuration in the case where the interference check device 1B does not include the model number upper limit input unit 12.
  • the minimum inclusion volume model determination unit 18B derives the model upper limit number 102 using the calculation processing time 106, the model unit calculation amount 108, and the post-setting information model 110. Specifically, the minimum inclusion volume model determining unit 18B obtains the determination processing time Tarm [s] necessary for checking the interference between the robot arms from the already-set model information 110 and the model unit calculation amount 108. . Then, the minimum inclusion volume model determination unit 18B subtracts Tarm from the calculation processing time 106.
  • the minimum inclusion volume model determination unit 18B obtains the number of sphere models that can be increased in addition to the post-setting model information 110 up to the upper limit satisfying the subtraction result (time) using the model unit calculation amount 108, The number is defined as the upper limit model number Nmax (model upper limit number 102).
  • the minimum inclusion volume model determination unit 18B adds the number of spherical models to the post-setting information model 110 until the upper limit time of the subtraction result, and the additional number of spherical models that becomes the upper limit time of the subtraction result Ask for.
  • the interference check device 1B can calculate the maximum number of models Nmax that can be processed by the robot controller 2.
  • the minimum inclusion volume model determination unit 18B sends the derived model upper limit number 102 to the modeling processing unit 14.
  • the modeling processing unit 14 generates model candidates by the same processing as in the first embodiment, and stores the model candidates as model information 103 in the model candidate storage unit 17.
  • the inclusion volume comparison unit 13 stores the modeled surplus amount 104 in the model candidate storage unit 17 by the same processing as in the first embodiment.
  • the minimum inclusion volume model determination unit 18B compares the allowable modeled surplus amount 113 with the modeled surplus amount 104. Then, the minimum inclusion volume model determination unit 18B removes, from the options, model candidates that are larger than the allowable modeling surplus amount 113 among the M ⁇ Nmax model candidates. If all model candidates have been removed, the minimum inclusion volume model determination unit 18B displays an error or the like on a display device (not shown).
  • the minimum inclusion volume model determination unit 18B selects a model candidate having the smallest modeling surplus amount 104 from the model candidates by the same processing as in the first embodiment, and selects the selected model candidate as the minimum inclusion volume.
  • the model 109 is stored in the model storage unit 19 after setting.
  • the maximum model upper limit number 102 is set using the calculation processing time 106 and the model unit calculation amount 108, and the model candidate is selected based on the allowable modeling surplus amount 113. ing. Then, model candidates are set on the assumption that all models are applied to the modeling target, and the model candidate having the smallest modeling surplus amount 104 is selected. For this reason, the resources remaining in the robot controller 2 can be utilized to the maximum with respect to the model, and modeling with the smallest inclusion volume can be realized.
  • Embodiment 3 a third embodiment of the present invention will be described with reference to FIGS.
  • the rectangular parallelepiped generator (a part of the modeling processor 14) used when the user executes the modeling process is automated by using three-dimensional CAD (Computer Aided Design) information.
  • CAD Computer Aided Design
  • FIG. 11 is a diagram for explaining division processing for each assembly (block) using the CAD / CAM system.
  • the modeling processing unit 14 includes a CAD / CAM (CAD / CAE) system.
  • the modeling processing unit 14 divides a three-dimensional model created in advance into a plurality of assemblies and automatically converts each assembly into a rectangular parallelepiped model.
  • the three-dimensional model (modeling target) before conversion is indicated by a three-dimensional model 81
  • the three-dimensional model after being converted into a rectangular parallelepiped model for each assembly is indicated by a three-dimensional model 82.
  • FIG. 12 is a block diagram showing a configuration of the interference check apparatus according to the third embodiment.
  • the configuration of an interference check device 1C which is an example of the interference check device 1X, will be described.
  • constituent elements that achieve the same functions as those of the interference check device 1 ⁇ / b> A of the first embodiment shown in FIG. 2 are assigned the same reference numerals, and redundant descriptions are omitted.
  • the interference check device 1C includes an assembly outer shape extraction unit (conversion unit) 82 and a rectangular parallelepiped storage unit 83 in addition to each component of the interference check device 1A.
  • the interference check device 1C may be configured to include an assembly outer shape extraction unit 82 and a rectangular parallelepiped storage unit 83 in addition to the components of the interference check device 1B.
  • the 3D shape data input unit 22 is an interface for inputting the 3D shape data 201 to be modeled.
  • the three-dimensional shape data input unit 22 sends the three-dimensional shape data 201 as a modeling target to the assembly outer shape extraction unit 82.
  • the assembly outer shape extraction unit 82 divides the modeled object into a plurality of assemblies by rectangular parallelepipeds having various dimensions, and extracts each assembly outer shape after the division.
  • the assembly outer shape extraction unit 82 stores each assembly outer shape (cuboid) in the rectangular parallelepiped storage unit 83.
  • the rectangular parallelepiped storage unit 83 is a memory or the like that stores each assembly outer shape (cuboid).
  • the modeling processing unit 14 executes a modeling process for a modeling target using each assembly outline stored in the rectangular parallelepiped storage unit 83.
  • the interference check device 1C may calculate the surplus inclusion volume ratio Wst using the volume Vcad. For example, when the 3D shape data 201 is input to the 3D shape data input unit 22, the 3D shape data input unit 22 inputs the 3D shape data 201 to the inclusion volume comparison unit 13. When calculating the surplus inclusion volume ratio, the inclusion volume comparison unit 13 holds the three-dimensional shape data 201 or can calculate from the three-dimensional shape data 201 instead of the volume Vblock of the cuboid defined by the user. The surplus inclusion volume ratio Wst is calculated using the volume Vcad. Since the surplus inclusion volume ratio Wst is expressed as the following formula (13), the inclusion volume comparison unit 13 calculates the surplus inclusion volume ratio Wst using the formula (13).
  • Vwst Vmdl-Vovrp-Vcad (13)
  • the surplus inclusion volume ratio Wst can be calculated by: (total volume) ⁇ (volume of overlapping portion of volumes modeled by sphere / cylinder) ⁇ (volume calculated by three-dimensional CAD).
  • the interference check device 1 ⁇ / b> C does not include the assembly outer shape extraction unit 82 and the rectangular parallelepiped storage unit 83. Also good.
  • the definition represented by Expression (13) may be switched to the definition represented by Expression (13) when the 3D shape data 201 can be used from the 3D shape data input unit 22.
  • the interference check devices 1A and 1B may include the three-dimensional shape data input unit 22.
  • the hardware configuration of the interference check apparatuses 1A to 1C will be described. Since the interference check apparatuses 1A to 1C have the same configuration, the configuration of the interference check apparatus 1A will be described here.
  • FIG. 13 is a diagram illustrating a hardware configuration of the interference check apparatus.
  • the interference check device 1A includes a CPU (Central Processing Unit) 91, a ROM (Read Only Memory) 92, a RAM (Random Access Memory) 93, a display unit 94, and an input unit 95.
  • the CPU 91, the ROM 92, the RAM 93, the display unit 94, and the input unit 95 are connected via the bus line B.
  • the CPU 91 performs an interference check using an interference check program 90 that is a computer program.
  • the display unit 94 is a display device such as a liquid crystal monitor, and displays modeling targets, model candidates, models, and the like based on instructions from the CPU 91.
  • the input unit 95 includes a mouse and a keyboard, and inputs instruction information (such as parameters necessary for interference check) externally input from the user. The instruction information input to the input unit 95 is sent to the CPU 91.
  • the interference check program 90 is stored in the ROM 92 and loaded into the RAM 93 via the bus line B.
  • the CPU 91 executes an interference check program 90 loaded in the RAM 93.
  • the CPU 91 reads the interference check program 90 from the ROM 92 and expands it in the program storage area in the RAM 93 in accordance with an instruction input from the input unit 95 by the user, and executes various processes. .
  • the CPU 91 temporarily stores various data generated during the various processes in a data storage area formed in the RAM 93.
  • the interference check program 90 executed by the interference check apparatus 1A includes an inclusion volume comparison unit 13, a modeling processing unit 14, a processing calculation amount upper limit setting unit 16, a minimum inclusion volume model determination unit 18A, an interference check unit 20, and a drive control unit. These are loaded into the main storage device and are generated on the main storage device.
  • the user can easily check the interference by using a model having the number of models or less that the robot controller 2 can tolerate while suppressing the size of the model volume without checking the model size. Can be performed.
  • Embodiment 4 FIG. Next, Embodiment 4 of the present invention will be described with reference to FIG.
  • the model upper limit number 102 is calculated in advance by an external device of the interference check apparatus
  • the model upper limit number 102 is input into the interference check apparatus. That is, the user does not input the model upper limit number 102 from the model number upper limit input unit 12 shown in FIG. 2, but the model upper limit number 102 calculated by the external device is input into the interference check apparatus.
  • the external device that calculates the model upper limit number 102 is, for example, a device other than the interference check device in the robot controller 2, a control device in the PLC that can communicate with the robot controller 2, or the computer 9.
  • the computer 9 calculates the model upper limit number 102 using, for example, robot setting software.
  • robot setting software a case where the external device that calculates the model upper limit number 102 is the computer 9 will be described.
  • FIG. 14 is a block diagram showing a configuration of the interference check apparatus according to the fourth embodiment.
  • a configuration of an interference check device 1D which is an example of the interference check device 1X will be described.
  • constituent elements that achieve the same functions as those of the interference check device 1 ⁇ / b> A according to the first embodiment shown in FIG. 2 are given the same reference numerals, and redundant descriptions are omitted.
  • the interference check system 100A of the present embodiment includes a model number upper limit calculation device 24.
  • the model number upper limit calculation device 24 may be arranged in the interference check system 100B.
  • the user inputs the object number 202 when one device unit such as a hand or a peripheral device arranged as an interference check target is an object.
  • the model number upper limit calculation device 24 is arranged in the preceding stage of the model number upper limit input unit 12 as shown in FIG.
  • the model number upper limit calculation device 24 calculates the model upper limit number 102 based on the object number 202.
  • an object is defined by one cuboid, and the defined cuboid is counted as one object. For example, when one rectangular parallelepiped is defined for one hand, there is one object for one hand. In addition, when a rectangular parallelepiped is applied to each of a total of three portions of two hands and one vision sensor, there are three objects.
  • each object information includes the total quantity of objects and the number of models assigned to the objects as the accompanying information of the objects.
  • the model number upper limit calculation device 24 automatically calculates the model upper limit number 102 that is defined by the settings input to the rectangular parallelepiped setting input unit 11 and can be used to include a rectangular parallelepiped.
  • the model number upper limit calculation device 24 executes a process of calculating the number of models (model upper limit number 102) obtained by subtracting the number of models assigned to each object from the total number of models. This process is automatically calculated by the robot controller 2, the control device such as the PLC described above, or the computer 9.
  • the model upper limit number 102 is the upper limit value of the model including the rectangular parallelepiped input to the rectangular parallelepiped setting input unit 11 this time.
  • the model upper limit number 102 is determined as follows, for example.
  • the model number upper limit calculation device 24 performs an operation such that at least one model is assigned to each object. Therefore, the initial value is a state in which one model is assigned to one object. When one or more models are already assigned to a plurality of objects among all objects, the information is acquired from the model storage unit 19 after setting.
  • the model number upper limit calculation device 24 acquires the processing calculation amount upper limit 106 from the processing calculation amount upper limit setting unit 16 in advance, and calculates an allowable model number upper limit from the processing calculation amount upper limit 106. Then, the model number upper limit calculation device 24 subtracts the total number of models assigned to the object from the allowable model number upper limit, and determines the model upper limit number 102 applicable this time from the subtracted value.
  • model number upper limit 102 is related to the upper limit of the processing calculation amount, when the object number upper limit once set by the user is changed (increased or decreased) after setting the object number, it can be assigned to each object. The number of models varies. For this reason, there is a case where the model allocation of the minimum inclusion volume that satisfies the upper limit of the processing calculation amount is not performed. Therefore, it is necessary to change the model number upper limit 102 for an object that has already been modeled.
  • the robot setting software on the computer 9 performs model setting calculation again.
  • the model number upper limit calculation device 24 resets the model number upper limit 102 of each object so that the entire inclusion volume is minimized.
  • model upper limit number 102 is determined by the model number upper limit calculation device 24 in the above-described framework, but other external devices in the robot controller 2 may be designated as initial values in advance. In other words, even if the user does not specify the number of objects, the number of objects assumed by the manufacturer may be set as the preset value (initial value). For example, the number of objects is set in advance as one.
  • the model upper limit number 102 itself may be designated in advance by another external device in the robot controller 2. In this case, for example, the number of models is set in advance such as 20.
  • the object number 202 shown in FIG. 14 may be automatically determined when the 3D-CAD is imported. In this case, for example, the number of objects is automatically counted after regarding the object as one rectangular parallelepiped in assembly units.
  • the maximum model upper limit number 102 is set using the model number upper limit calculation device 24, and model candidates are selected based on the model upper limit number 102. Then, model candidates are set on the assumption that all models that can be used with the model upper limit number are applied to the modeling target, and the model candidate having the smallest modeling surplus amount 104 is selected. For this reason, the resources remaining in the robot controller 2 can be utilized to the maximum with respect to the model, and modeling with the smallest inclusion volume can be realized.
  • the total number of objects is input in advance instead of setting the individual model upper limit number 102. For this reason, it is possible to set a configuration in which the total of the modeling surplus amount 104 is the smallest with respect to the entire current modeling target in consideration of all objects.
  • the interference check device is suitable for interference check between robots or between a robot and peripheral devices.
  • 1X, 1A-1D interference check device 2 robot controller, 5 peripheral device, 6 hand device, 7 vision sensor, 9 computer, 10 robot, 11 cuboid setting input unit, 12 model number upper limit input unit, 13 inclusion volume comparison unit, 14 modeling processing unit, 15 robot control device setting storage unit, 16 processing calculation amount upper limit setting unit, 17 model candidate storage unit, 18A, 18B minimum inclusion volume model determination unit, 19 post-setting model storage unit, 20 interference check unit, 21 drive control unit, 22 3D shape data input unit, 23 allowable modeling surplus input unit, 24 model number upper limit calculation device, 82 assembly outer shape extraction unit, 83 cuboid storage unit, 100A, 100B interference check system.

Abstract

 干渉チェック装置(1A)において、干渉チェック対象であるモデル化対象に設定する幾何的モデルのモデル上限数が入力されるモデル数上限入力部(12)と、モデル上限数以下の幾何的モデルを用いて、モデル化対象からモデル候補を生成するモデル化処理部(14)と、モデル化対象を制御するコントローラの各処理に要する演算処理量に基づいて、干渉チェックの演算上限量を設定する処理演算量上限設定部(16)と、演算上限量以下で干渉チェックの計算処理を行えるモデル候補の中からモデルの包含体積が最小のモデル候補をモデル化対象のモデルに決定する最小包含体積モデル決定部(18A)と、決定されたモデルを用いてモデル同士の干渉チェックを行う干渉チェック部(20)と、を備える。

Description

干渉チェック装置
 本発明は、ロボット同士あるいはロボットと周辺機器との間の干渉をチェックする干渉チェック装置に関するものである。
 干渉チェック装置は、産業用ロボットやその周辺機器が衝突するのを未然に防ぐ目的で、衝突する可能性をチェックする装置である。干渉チェック装置は、衝突の可能性をチェックしておくことによって、衝突する可能性がある場合には、ロボットなどに適切な指令値(停止あるいは動作軌道を修正する指令値)を出し、これにより、衝突を未然に防いでいる。特に、ロボットが稼働中の場合もオンラインで実行する干渉チェック装置においては、産業用ロボットやその周辺機器をそのままの詳細な形状ではなく、一旦、干渉チェックを高速に計算処理しやすいモデル(例えば、球体や円筒体など)に置き換えて、そのモデル同士の干渉チェックを実施している。
 干渉チェック装置は、ロボット本体などのモデル化対象(物体)をモデルに置き換える際には、関節の可動軸数など(機構の自由度)を考慮してモデル化対象を複数個の領域にあらかじめ分割する。そして、干渉チェック装置は、それぞれの領域がプリミティブと呼ばれる簡単な幾何モデル(球体・円筒体・直方体・多面体など)によって包含されるようにモデルを配置する。さらに、干渉チェック装置は、それぞれのプリミティブ間の最短距離を計算し、最短距離が0あるいは予め設定した所定距離より小さくなる場合に、「干渉が発生する」と判定し、停止指令を出力し停止動作を開始していた。
 ここで、モデル化対象の具体的なモデルの生成方法について述べる。モデル化には、「モデル化する対象よりもモデルの方が大きい状態で、対象を包含していること」が必要となる。対象の包含について、仮に、過剰に余裕をもって包含してしまい、モデル設定が大きすぎる場合には、対象同士は干渉の可能性が無いのにもかかわらず「干渉をしている」と誤判定を発生させる要因になる。このため、モデル化する場合には、対象全体をいかに効率良く余剰領域が小さいモデルを使って包含するかということが重要となる。
 干渉チェック用のモデルとして、単位判定計算コストが有利な球体を用いる方式が古くから用いられている。このような、球体同士の判定を利用する場合でも、存在する全てのモデル同士を判定すると、モデル数の組み合わせ分だけ計算処理コストが増大してしまう。計算処理の効率を上げるために、常に全てのモデル同士を判定するのではなく、干渉する可能性のある部位のみ詳細に判定する方法が提案されている。
 この方法では、例えば、ロボットに対して半径を大きくし少数のモデルで粗くモデル化したモデルと、半径を小さくし多数のモデルで詳細にモデル化したモデルと、が階層的に用意される。そして、まず粗いモデル同士を判定させ、干渉している可能性があれば、詳細なモデルでも判定を行うという方法を取ることで、精度良く計算処理コストを減らしている(例えば、特許文献1参照)。
 ロボットなどのオフラインあるいはオンラインでの干渉チェックを必要とする現場においては、このように精度良くモデル化されたモデルを使って干渉チェックすることが望まれている。
特許第3612781号公報
 しかしながら、上記従来の技術では、全てのモデル同士を判定することは避けられる一方で、モデル同士が接近状態にある場合には、判定の必要なモデル数は結局多くなることになる。この結果、単位あたりの計算コストが小さい球体を利用して詳細なモデル化を行う場合には、大きな計算コストが発生しうるという問題点があった。
 また、単一の種類のプリミティブをモデルに適用する場合にも、モデル数をN個から1個増やすことで、包含する体積の余剰分が増加する場合がある。さらに、この場合、モデルの包含余剰分にほとんど変化がないにもかかわらず、判定のための計算処理コストが増加してしまうこともある。
 このため、常に安定した計算処理コストを実現しつつ、包含体積も小さくするためには、単一のモデルではなく、形状に有効な包含モデルを選択する必要がある。また、計算処理コストに上限があるような場合には、トータル計算処理コストが上限よりも大きくならないかを考慮しなくてはならない。
 たとえば、包含するモデルとして球体以外の円筒体を用いることで、1モデル単位あたりの干渉チェック処理時間は増加するものの、球体よりも少ないモデル数でモデル化対象を包含できる。このため、トータルで効率的なモデル選定・配置を検討することが望まれる。ところが、現実には、モデルの追加をする作業は、干渉チェック装置を搭載したロボットのユーザが行うことになり、ユーザの調整で上記要件を考慮したモデル配置を実施することは困難であった。
 本発明は、上記に鑑みてなされたものであって、制限された計算コスト内でモデルの包含体積を最小にしたモデルを容易に生成することができる干渉チェック装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明は、干渉チェック装置が、干渉チェックの対象であるモデル化対象に設定する幾何的モデルの上限数が、入力されるモデル数上限入力部と、前記モデル化対象を包含できる直方体が、干渉チェック用のモデルとして前記モデル化対象に設定されると、単位距離計算あたりの計算コストが前記直方体よりも小さい新たな幾何的モデルを前記モデル上限数以下の数だけ用いて、前記直方体を前記新たな幾何的モデルに置き換えることによって、前記モデル化対象をモデル化するモデル化処理部と、前記新たな幾何的モデルを用いたモデルを、モデル候補として記憶しておくモデル候補記憶部と、前記モデル化対象を制御するコントローラが行う各処理に要する演算処理量に関する情報に基づいて、干渉チェックを行う際の計算処理演算量の上限である演算上限量を設定する演算量上限設定部と、前記モデル候補の中から、前記演算上限量以下で前記干渉チェックの計算処理を実行できるモデル候補を抽出するとともに、抽出したモデル候補の中からモデルの包含体積が最も小さいモデル候補を前記モデル化対象のモデルに決定する体積モデル決定部と、前記体積モデル決定部によって決定されたモデルを用いてモデル同士の干渉チェックを行うとともに、干渉する可能性があれば動作停止指令を出力し、干渉する可能性がなければ動作継続指令を出力する干渉チェック部と、を備えることを特徴とする。
 本発明によれば、制限された計算コスト内でモデルの包含体積を最小にしたモデルを容易に生成することが可能になるという効果を奏する。
図1は、実施の形態1に係る干渉チェック装置を備えた干渉チェックシステムの構成を示す図である。 図2は、実施の形態1に係る干渉チェック装置の構成を示すブロック図である。 図3は、球体モデル判定を行う際の単位距離計算あたりの計算コストを説明するための図である。 図4は、単位距離計算の他の対象例を示す図である。 図5は、モデル化処理を説明するための図である。 図6は、モデル上限数を1つとした場合のモデル例を示す図である。 図7は、モデル上限数を2つとした場合のモデル例を示す図である。 図8は、モデル数と余剰包含体積比との関係を示す図である。 図9は、干渉チェックシステムの他の構成例を示す図である。 図10は、実施の形態2に係る干渉チェック装置の構成を示すブロック図である。 図11は、CAD/CAMシステムを用いた、アセンブリごとの分割処理を説明するための図である。 図12は、実施の形態3に係る干渉チェック装置の構成を示すブロック図である。 図13は、干渉チェック装置のハードウェア構成を示す図である。 図14は、実施の形態4に係る干渉チェック装置の構成を示すブロック図である。
 以下に、本発明の実施の形態に係る干渉チェック装置を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
実施の形態1.
 図1は、実施の形態1に係る干渉チェック装置を備えた干渉チェックシステムの構成を示す図である。干渉チェックシステム100Aは、ロボット生産システムと、ロボット生産システムの機器間を接続する通信機器3と、ロボット生産システムが備える各コントローラの設定を変更するコンピュータ9と、を含んで構成されるシステムである。なお、干渉チェックシステム100Aは、通信機器3の代わりに、通信機能と、各機器に指令値や信号を送る機能とを備えたPLC(プログラマブル・ロジック・コントローラ)などの制御装置を備えていてもよい。
 通信機器3は、Ethernet(登録商標)などを用いて、干渉チェックシステム100A内の通信を行う。具体的には、通信機器3は、ロボットコントローラ2、周辺機器コントローラ4およびコンピュータ9と通信を行う。
 コンピュータ9は、PC(Personal computer)などの情報処理を行う機器である。コンピュータ9は、各コントローラ(ロボットコントローラ2や周辺機器コントローラ4など)の設定を、通信機器3を介して変更する。なお、コンピュータ9以外にも、各コントローラに対して直接設定を変更するデバイスがある場合、これらのデバイスを干渉チェックシステム100Aの構成に含めてもよい。
 ロボット生産システムは、ロボット10と、ハンド装置6と、ビジョンセンサ7と、周辺機器5と、周辺機器コントローラ4と、ロボットコントローラ(ロボット制御装置)2と、を含んで構成されている。
 ロボット10は、ロボットコントローラ2に接続されており、ロボットコントローラ2からの指示に従って動作する。また、ロボット10は、ロボットコントローラ2からの指示に従ってハンド装置6などを動作させる。
 ハンド装置6は、ロボット10によって動作させられる装置である。ハンド装置6は、周辺機器5などに衝突しないように移動する。ビジョンセンサ7は、ハンド装置6や周辺機器5などの近傍を撮像する画像センサである。ビジョンセンサ7は、たとえば、ハンド装置6の近傍に配置されており、ハンド装置6と一緒に移動する。ビジョンセンサ7は、周辺機器5などに衝突しないように移動する。
 周辺機器コントローラ4は、周辺機器5に接続されており、コンピュータ9からの指示に従って、周辺機器5を制御する。周辺機器5は、ロボット10の周辺に配置される機器である。周辺機器5は、周辺機器コントローラ4に接続されており、周辺機器コントローラ4からの指示に従って動作する。
 ロボットコントローラ2は、ロボット10、ハンド装置6、ビジョンセンサ7に接続されており、コンピュータ9からの指示に従って、ロボット10、ハンド装置6、ビジョンセンサ7を制御する。
 また、ロボットコントローラ2は、干渉チェック装置1Xを有している。干渉チェック装置1Xは、干渉チェック処理(衝突予想)を実施する装置であり、ハンド装置6と周辺機器5との衝突の可能性や、ビジョンセンサ7と周辺機器5との衝突の可能性を、実際に衝突が発生する前にチェックする。干渉チェック装置1Xは、衝突する可能性がある場合には、ロボット10またはハンド装置6に衝突を回避させるための指令値(停止または動作軌道を修正する指令値)を出す。なお、干渉チェック装置1Xは、周辺機器5に衝突を回避させるための指令値を出してもよい。
 なお、干渉チェックシステム100Aは、1つのロボットコントローラ2を備えていてもよいし、複数のロボットコントローラ2を備えていてもよい。また、干渉チェックシステム100Aは、1つの周辺機器コントローラ4を備えていてもよいし、複数の周辺機器コントローラ4を備えていてもよい。また、ロボット生産システムは、ビジョンセンサ7を備えていなくてもよい。
 本実施の形態の干渉チェック装置1Xは、干渉チェック対象(ロボット10、ハンド装置6、ビジョンセンサ7、周辺機器5)をそれぞれモデル化して、干渉の可能性があれば停止信号を出し、干渉を生ずることなく安全に干渉チェック対象を停止させる。なお、干渉チェック装置1Xはアルゴリズム自体をロボットコントローラ2以外に適用することも可能であるので、ロボットコントローラ2以外の演算処理装置を用いて干渉チェック装置を構成してもよい。例えば、干渉チェック装置1Xは、周辺機器コントローラ4内に配置しておいてもよい。
 ここで、本実施の形態において行われる干渉チェック処理について説明する。本実施の形態では、ロボット10の可動範囲によって形成される、ロボット10が通過しうる空間を動作領域と表現する。2台以上のロボット10同士で動作領域が交差する場合はロボット10同士の衝突の可能性が出てくる。このようなロボット10同士の衝突を表す表現として、ある時刻にロボット10の占めている空間同士が交差している状態に干渉という表現を用いる。
 また、ロボット10を複数のモデルで表現したとき、各モデルが占める領域を干渉判定領域と呼び、干渉判定領域同士が交差する状態にも干渉という表現を用いる。また、このような干渉が生じるか否かを確認することを干渉チェックと呼ぶ。干渉チェックを行うためには、各ロボット10を複数の球体、円筒体、直方体などを用いてモデル化しておくことが必要である。
 例えば、ロボットハンドをユーザが設計して生産システムに適用する場合には、干渉チェックを行う前に、ロボットハンドを球体などのモデルでモデル化し、モデルのタイプ(球体・円筒体・直方体)、モデルの寸法、モデルの配置(どの物体に拘束されるのか)などを予め全て設定しておく。
 ロボット10本体については、出荷時に既にロボットメーカー側で設定されているモデルの値を適用することが可能であるが、ユーザ側で設計・選定されるハンド装置6、ビジョンセンサ7および周辺機器5については、ユーザ側で新規に設定することとなる。
 このため、ユーザは実際に演算に適用するモデルを1つ1つ試行錯誤しながら、モデルサイズやモデル位置を決定する必要がある。このようなモデル条件の設定には、2つの制約を考慮しながら設定する必要がある。
 1つ目の制約は、ロボットコントローラ2間の通信速度上あるいは記憶領域の記憶許容量の制約から自モデルとして管理可能なモデル数に上限があることである。2つ目の制約は、処理可能なモデル数に上限があることである。この2つ目の制約は、ロボットコントローラ2の演算処理装置が通常複数のタスクを処理しているので、計算リソースを干渉チェック処理のためだけに大きく取ることができないことに起因している。
 これらを考慮しつつ包含するモデルのタイプの体積をなるべく小さくしながら計算処理量が他の演算処理(例えば、軌道計算や加減速指令生成など)に影響がない程度にモデルを設定することは従来困難であった。
 本実施の形態に係る干渉チェック装置1Xは、モデル化したい領域の外形が直方体で指定されると、計算処理量として他の演算処理に影響を及ぼさないモデル候補の中で包含体積が最小のものを自動抽出する。
 次に、干渉チェック装置1Xの構成について説明する。図2は、実施の形態1に係る干渉チェック装置の構成を示すブロック図である。ここでは、干渉チェック装置1Xの一例である干渉チェック装置1Aの構成について説明する。
 干渉チェック装置1Aは、直方体設定入力部11と、モデル数上限入力部12と、包含体積比較部13と、モデル化処理部14と、モデル候補記憶部17と、処理演算量上限設定部16と、最小包含体積モデル決定部18Aと、設定後モデル記憶部19と、ロボット制御装置設定記憶部15と、干渉チェック部20と、駆動制御部21と、を備えている。
 直方体設定入力部11は、ハンド装置6やビジョンセンサ7などのモデル化対象を直方体に置き換えるための指示(モデル化指示101)を入力するインタフェースである。モデル化指示101は、ユーザがマウスやキーボードなどを用いることによって直方体設定入力部11に入力される。
 直方体設定入力部11に入力されるモデル化指示101には、例えば、直方体寸法や拘束条件などが含まれている。直方体寸法は、例えば、直方体の3辺の長さである、L[mm]、a[mm]、b[mm](L≧a≧b)である。また、拘束条件は、モデルが拘束される位置および姿勢である。
 拘束条件は、例えば、ロボット10における、フランジ位置などの取り付けの基準となる位置、取り付けの基準となる位置からモデルの取り付け位置までのオフセット量(X,Y,Z,A,B,C)などが指定された情報である。ここでのAは、X軸周りの回転量、Bは、Y軸周りの回転量、Cは、Z軸周りの回転量を表している。
 なお、それぞれの回転量やオフセット量については、指定した座標系に基づいて定義することとなる。また、前記座標系については、予めロボット軸ごとに定義されており、例えばベース座標系、1軸目座標系、2軸目座標系、3軸目座標系、4軸目座標系、5軸目座標系、6軸目座標系、フランジ位置座標系、という形で定義されているものとする。直方体設定入力部11は、モデル化指示101を包含体積比較部13およびモデル化処理部14に送る。
 モデル数上限入力部12は、モデル数の上限値であるモデル上限数102を入力するインタフェースである。モデル上限数102は、ユーザがマウスやキーボードなどを用いることによってモデル数上限入力部12に入力される。モデル上限数102は、モデル化対象に設定するモデルの上限許容数である。モデル上限数102は、1以上の整数であり、上限はない。モデル数上限入力部12は、モデル上限数102を、モデル化処理部14に送る。
 モデル化対象を直方体で指定するのは、FA(Factory Automation)における各種の形状は方形で簡単に包含できるものが多く、設定が容易であるからである。方形を用いたモデル間距離および衝突判定の計算コストは、情報処理量が多いので、リアルタイム計算に用いることは困難である。このため、干渉チェック装置1Aのモデル化処理部14は、直方体モデルを球体や円筒体(円柱)などの単位計算コストが低く、リアルタイム計算で情報処理が可能なモデルに置き換える。
 モデル化処理部14は、ユーザからの指示であるモデル化指示101に基づいて、モデル化対象を球体や円筒体などのモデルに置き換えることにより、モデル化処理を実行する。モデル化処理部14は、モデル化対象を、単位距離計算あたりの計算コストが直方体よりも小さい新たな幾何的モデル(球体モデル、円筒体モデルなど)に置き換えてモデル化する。モデル化処理部14は、複数種類の幾何的モデル品種の各品種に対して、ユーザに指定された幾何的モデル数の上限(モデル数N)(モデル上限数102)以下のモデルを使ってモデルを生成する。
 ここで、「単位距離計算あたりの計算コスト」について具体的な事例を用いて示す。この処理は、「距離計算」の1回分に関する計算コストを示している。図3は、球体モデル判定を行う際の単位距離計算あたりの計算コストを説明するための図である。例えば、図3に示すように、球と球との判定(球体モデル判定)であれば「点と点との距離計算」が1回分の計算コストになる。あるモデルiの中心点をP1、別のモデルjの中心点をP2とし、P1=(X1,Y1,Z1)、P2=(X2,Y2,Z2)とすると、P1,P2間の距離Lijは下記の数式で求めることができる。
 Lij=|P1-P2|=√((X1-X2)^2+(Y1-Y2)^2+(Z1-Z2)^2)
 図4は、単位距離計算の他の対象例を示す図である。単位距離計算の対象としては、図4の(a)に示す円筒301(線分から一定距離で定義される包体、両端は半球形状)、図4の(b)に示す円柱302、図4の(c)、(d)に示す有限平面(三角形303B、四角形303Aなどの多角形)が考えられる。また、単位距離計算の対象としては、錐体(円すい、図4の(d)に示す三角錐305など)、多面体(4面体、図4の(c)に示す6面体304、8面体・・・)、図4の(e)、(f)に示す包体306A,306B(曲線から一定距離の曲面で包含された閉領域)が考えられる。
 図5は、モデル化処理を説明するための図である。図5では、ハンド装置6の一部であるロボットハンド30を、ユーザが設計して生産システムに適用する場合の、モデル化処理を示している。モデル化処理部14は、モデル化指示101に基づいて、ロボットハンド30を所定のモデルでモデル化するとともに、ロボット10の手先側に拘束されている拘束条件をモデルに設定する。図5では、球体モデル31、円筒体モデル32、直方体モデル33でモデル化した場合の、各モデル図を示している。
 モデル化処理部14は、干渉チェックを行う前に、モデル化指示101に基づいて、モデルのタイプ(球体・円筒体・直方体など)、モデルの寸法、モデルの配置(どの物体に拘束されるのか)を設定しておく。モデル化処理部14は、モデル化指示101で指定されている、モデルのタイプ、モデルの寸法およびモデルの配置に基づいて、モデル化対象を球体や円筒体などのモデルに置き換える。モデル化処理部14は、球体や円筒体などのモデルに置き換えたモデル化対象(モデル候補)を、モデル情報103としてモデル候補記憶部17に記憶させる。モデル情報103は、モデル候補に関する情報であり、モデル候補自体、各モデルの個数、各モデルのタイプ、各モデルの寸法、各モデルの配置などを含んでいる。モデル化処理部14は、複数のモデル候補を生成し、各モデル候補をモデル候補記憶部17に記憶させる。
 包含体積比較部13は、モデル化指示101内の直方体寸法と、モデル情報103と、に基づいて、モデル化対象に対するモデルの余剰包含体積比を算出する。余剰包含体積比は、モデルがモデル化対象に対して余分に包含している体積を、モデル化対象の体積で割った値である。包含体積比較部13は、モデル化対象の体積を、モデル化指示101内の直方体寸法に基づいて算出し、モデルの体積をモデル情報103から算出する。包含体積比較部13は、算出した余剰包含体積比を、モデル化余剰量104としてモデル候補記憶部17に記憶させる。なお、包含体積比較部13は、余剰包含体積比の代わりに、モデルの体積の制限値(許容値)をモデル化余剰量104としてモデル候補記憶部17に記憶させてもよい。モデルの体積の制限値は、モデル化対象の体積に対する比であってもよいし差であってもよい。
 モデル候補記憶部17は、モデル情報103、モデル化余剰量104を記憶しておくメモリなどである。モデル候補記憶部17は、モデル情報103とモデル化余剰量104とを対応付けて記憶しておく。
 ロボット制御装置設定記憶部15は、各コントローラが実行する各処理に要する演算処理量に関する情報を処理情報105として記憶しておくメモリなどである。処理情報105は、例えば、各コントローラで有効となっているオプション処理機能情報、各処理機能の演算処理時間、1制御周期の演算処理時間などである。
 また、ロボット制御装置設定記憶部15は、各ロボットコントローラ2において処理する単位モデル毎の干渉チェック判定時間(各モデル単位に要する演算量)を、モデル単位演算量108として記憶しておく。
 処理演算量上限設定部16は、ロボット制御装置設定記憶部15から処理情報105を読み出すとともに、処理情報105に基づいて、ロボットコントローラ2が干渉チェックに使うことができる演算処理時間106(演算上限量)を算出する。処理演算量上限設定部16は、算出した演算処理時間106を最小包含体積モデル決定部18Aに出力する。
 設定後モデル記憶部19は、ロボットアーム(ロボット10、ハンド装置6)、ビジョンセンサ7、周辺機器5に設定されている各モデルのタイプ、各モデルの個数、各モデルの寸法および各モデルの配置情報などモデル情報103に含まれる干渉チェック用のモデル配置に必要な情報を記憶している。
 新たなモデルを設定する際には、設定後モデル記憶部19の最小包含体積モデル109が、設定後モデル情報110として読み出される。設定後モデル情報110は、ロボットアーム(ロボット10、ハンド装置6)に設定されているモデルの、モデルタイプおよびそのモデル個数の情報などである。また、干渉チェックが行われる際には、設定後モデル記憶部19の最小包含体積モデル109が、そのまま読み出される。
 最小包含体積モデル決定部18Aは、モデル情報103とモデル化余剰量104とをモデル候補情報107としてモデル候補記憶部17から読み出す。また、最小包含体積モデル決定部18Aは、ロボット制御装置設定記憶部15からモデル単位演算量108を読み出し、設定後モデル記憶部19から設定後モデル情報110を読み出す。
 最小包含体積モデル決定部18Aは、モデル候補の中から処理演算量の閾値制限を満たすモデル候補を抽出する。具体的には、最小包含体積モデル決定部18Aは、設定後モデル情報110およびモデル候補情報107に基づいて、各モデル候補に対して、1回の干渉チェックに必要な計算処理回数を算出する。さらに、最小包含体積モデル決定部18Aは、算出した計算処理回数とモデル単位演算量108と、に基づいて、円筒体と球体との組み合わせ毎に、1回の干渉チェックに要する計算処理時間を算出する。最小包含体積モデル決定部18Aは、この算出処理を、モデルタイプ数×モデル数の数だけ繰り返す。
 最小包含体積モデル決定部18Aは、各干渉チェックの計算処理時間と、干渉チェックに使うことのできる演算処理時間106と、を比較する。最小包含体積モデル決定部18Aは、モデル候補の中から、干渉チェックに使うことのできる演算処理時間106よりも小さい計算処理時間で干渉チェックを行なうことができるモデル候補のみを抽出する。最小包含体積モデル決定部18Aは、抽出したモデル候補の中から、モデル化余剰量104が最も小さいモデル候補を選択し、選択したモデル候補を最小包含体積モデル109として設定後モデル記憶部19に記憶させる。このとき、最小包含体積モデル決定部18Aは、1つのモデル化対象に対して古い最小包含体積モデル109が設定後モデル記憶部19内に存在する場合には、新たな最小包含体積モデル109で上書きする。
 干渉チェック部20は、設定後モデル記憶部19が記憶している最小包含体積モデル109を用いて、干渉チェックを実行する。このとき、干渉チェック部20は、最小包含体積モデル109に設定されているモデル寸法およびモデル位置拘束条件111を用いて、干渉チェックを実行する。モデル位置拘束条件111は、モデルが拘束される位置および姿勢に関する条件であり、モデル化指示101に含まれているものである。
 干渉チェック部20は、干渉する可能性があると判断した場合には、動作停止指令を駆動制御部21に出力する。干渉チェック部20は、干渉する可能性がないと判断した場合には、動作継続指令を駆動制御部21に出力する。干渉チェック部20は、動作停止指令や動作継続指令を、動作変更指令値112として駆動制御部21に出力する。駆動制御部21は、ロボット10やハンド装置6に対して、動作変更指令値112に応じた駆動制御を行う。
 次に、干渉チェック装置1Aによる干渉チェック処理の処理手順について説明する。直方体設定入力部11へは、予めユーザによってモデル化指示101が入力される。直方体設定入力部11は、モデル化指示101を包含体積比較部13およびモデル化処理部14に送る。また、モデル数上限入力部12へは、予めユーザによってモデル上限数102が入力される。モデル数上限入力部12は、モデル上限数102を、モデル化処理部14に送る。
 モデル化処理部14は、モデル化指示101に従って、モデル化処理を実行する際に用いるモデル情報103(各モデルの個数、各モデルのタイプ、各モデルの寸法、各モデルの配置)をモデル候補記憶部17に記憶させておく。モデル化処理部14は、モデル情報103を、包含体積比較部13に送る。
 また、モデル化処理部14は、モデル化指示101およびモデル上限数102に基づいて、モデル化対象を直方体から球体や円筒体などのモデルに置き換える。これにより、モデル化処理部14は、モデル化対象にモデル化処理を実行し、複数のモデル候補を生成する。モデル化処理部14は、モデル候補を、モデル情報103内に入れて、モデル候補記憶部17に記憶させる。
 ここで、モデル数と余剰包含体積比について説明する。一般的には、モデルの数を増やすほどモデルが包含する誤差量(モデルとモデル化対象との間の誤差量)が低減する。なお、誤差量は、単純に低減するわけではない。図6は、モデル上限数を1つとした場合のモデル例を示す図であり、図7は、モデル上限数を2つとした場合のモデル例を示す図である。
 図6では、1つのモデルを使用可能という制限で、直方体形状(細長く薄い物体)50を球体でモデル化した場合のモデル51と、直方体形状50を円筒体でモデル化した場合のモデル60,61とを示している。ここでの円筒体は、球体を掃引した形状であり、包含方向は長手方向が長い順に2パターンある。図6では、直方体形状50の長手方向と長手方向が同じ円筒体でモデル化した場合のモデルをモデル61で示し、直方体形状50の長手方向と長手方向が垂直な円筒体でモデル化した場合のモデルをモデル60で示している。
 モデル上限数を1つとした場合に、直方体形状50を球体でモデル化する際には、球体を用いたモデルが最小体積となるようにモデル化されるので、モデル51が設定される。また、モデル上限数を1つとした場合に、直方体形状50を円筒体でモデル化する際には、円筒体を用いたモデルが最小体積となるようにモデル化されるので、モデル61が設定される。
 図7では、2つまでのモデルを使用可能という制限で、直方体形状50を球体でモデル化した場合のモデル52A,52Bと、直方体形状50を円筒体でモデル化した場合のモデル62A,62Bおよびモデル63A,63Bと、を示している。なお、モデル上限数を2つとした場合、1つの球体または1つの円筒体で直方体形状50をモデル化してもよいが、図6と同様のモデルになるので、図7では、図示省略している。
 図7では、直方体形状50の長手方向と長手方向が同じ円筒体でモデル化した場合のモデルをモデル63A,63Bで示し、直方体形状50の長手方向と長手方向が垂直な円筒体でモデル化した場合のモデルをモデル62A,62Bで示している。
 モデル上限数を2つとした場合に、直方体形状50を球体でモデル化する際には、球体を用いたモデルが最小体積となるようにモデル化されるので、モデル52A,52Bが設定される。また、モデル上限数を2つとした場合に、直方体形状50を円筒体でモデル化する際には、円筒体を用いたモデルが最小体積となるようにモデル化されるので、モデル63A,63Bが設定される。
 図6や図7に示すように、円筒体モデルを用いてモデル化すると、モデル化(包含体積)の無駄が少ないことが分かる。このことは、人間の試行錯誤によって推測できるが、球体と球体との間の干渉チェック、円筒体と円筒体との間の干渉チェックに必要な計算量は、球体の場合よりも数倍大きくなる。このため、モデル構成によっては計算量が大きくなりすぎることで、ロボットコントローラ2の処理全体に占める干渉チェック処理の処理量が大きくなりすぎることがある。
 図8は、モデル数と余剰包含体積比との関係を示す図である。図8では、球体モデル(sphere)を用いた場合の、モデル数と余剰包含体積比との関係を、関係71で示している。また、円筒体モデル(cylinder)を用いた場合の、モデル数と余剰包含体積比との関係を、関係72,73で示している。関係72は、円筒体モデルにおける長手方向をLとした場合の関係であり、関係73は、長手方向をaとした場合の関係である。
 図8における横軸が、モデル個数であり、縦軸が余剰包含体積比である。ここでの余剰包含体積比は、直方体(モデル化対象)のモデルをちょうど包み込んだ場合を0とし、直方体のモデルを余分に包含している体積を、直方体のモデルの体積で割った量を示したものである。換言すると、余剰包含体積比は、余剰包含している量を表す比率である。
 図8に示すように、使用可能なモデル数がある程度大きい場合にモデル数を単純に増やしたような配置をすると、モデル数を増やすことで包含の余剰量が増えることがわかっている。
 このような状況に対して、モデル化処理部14は、予めユーザが指定した2つの情報(モデル化指示101およびモデル上限数102)を用いて、モデルタイプ数M×モデル数Nだけ、モデル化処理を実行する。なお、ここでのN,Mは自然数である。また、モデル数Nは、モデル上限数102で決められるものである。また、モデルタイプが「球体」、「円筒体」および「球体と円筒体」の場合、モデルタイプ数M=3である。つまり、モデルタイプ数とは、使用するモデル数とモデルタイプとから計算できる全ての組み合わせの数である。この場合、モデル化処理部14は、球体モデルを適用した場合について、N回のモデル化処理を実行し、円筒体モデルを適用した場合にN回のモデル化処理を実行し、球体および円筒体を適用した場合にN回のモデル化処理を実行する。これにより、モデル化処理部14は、M×N回のモデル化処理を実行する。
 モデル化処理部14は、モデルタイプ毎のモデル化処理において、モデル数上限入力部12から得られる上限数をNとして、まずモデル自体をk個(k=1~N)の直方体に分割する処理を実施する。k分割の方法については、モデルタイプごとに異なる。これについては、それぞれのモデルタイプ別のモデル化ルールについて一例を以下に説明する。
 モデルタイプに球体を用いる場合は、与えられたモデル化指示101に対して、できるだけ立方体に近い直方体に分割することで、効率の良い包含ができる。このため、分割の目標は、なるべく立方体に近いものを多く作るというルールとなる。球体モデルの場合、分割後の第ki番目(i=1...,N)の直方体の端点P1ki,P2ki,P3ki,P4ki,P5ki,P6ki,P7ki,P8kiを用いて、中心位置Pcnt_kiを以下の式(1)で求めることができ、半径Rを以下の式(2)で求めることができる。なお、norm(*)は、*のベクトルのノルムを計算する関数である。
 Pcnt_ki=(P1ki+P2ki+P3ki+P4ki+P5ki+P6ki+P7ki+P8ki)/8・・・(1)
 R=norm(Pcnt_ki-P1ki)・・・(2)
 球体の場合については、使用可能なモデル数k(k=1~N)の条件下で、指定されたモデルタイプのモデル(球体あるいは円筒体)で最小包含体積を実現する配置が自動的に計算される。配置の方法としては、モデル化指示101で与えられる直方体を以下に示す指定した方向に指定した分割回数だけ分割し、分割された直方体に対して最小包含可能な球体が定義される。
 以下、前述の直方体の3辺の長さである、L[mm]、a[mm]、b[mm](L≧a≧b)を用いて説明する。分割方向および分割数については、L[mm]の定義方向の分割数がk_L[回]、a[mm]の定義方向の分割数がk_a[回]、b[mm]の定義方向の分割数がk_b[回]と定義され、それぞれ、k_L=0、k_a=0、k_b=0から開始する。まず、k_Lを増加させていき、後述の手順に従いk_Lが所定の条件を満たす場合にはk_aを増加させ、同様にk_aが所定の条件を満たす場合にはk_bを増加させる手順で分割を実施する。k_L、k_a、k_bはそれぞれの方向の分割数が増加するたびに1増加する。そして、モデル化指示101で与えられる直方体分割数をk_tot=k_L+k_a+k_bで定義して、分割後の直方体の数(k_tot+1)が、使用可能なモデル数kに達するまで、モデル化指示101で与えられる直方体を分割する。
 なお、各方向の分割にあたっては、1回の分割では、1つの直方体を2つの直方体に分割するという手順で実施する。また、後述のように使用可能なモデル数kが決定されると、モデル化処理部14は、モデル化処理において、k_totがkに達するまで所定の分割処理を行う。これにより、k_totがkに達し、分割された直方体が一意に決定されることとなる。
 この場合の最小包含球体は、式(2)で表されるように分割された直方体の対角線を直径とする球体となる。以下、モデル化処理部14におけるモデル化処理の所定の分割処理について説明する。まず、k_L分割した場合に、以下の条件(式(3))が成立しているか否かが確認される。成立していれば、引き続きk_Lが1つ増加して分割処理が実施される。
 L/(k_L+1)≧a・・・(3)
 式(3)が成立していない場合、分割する長手方向がa[mm]の定義方向に変更されて分割される。なお、分割方向を変更する場合は、L/(k_L+1)<aが成立する初めのk_Lをk_L0とし、今回のkとの差を差Δk=k-(k_L0+1)とする。そして、Δk>0である場合に、以下の条件(式(4))が成立しているか否かが確認される。
 a≧L/(k_L0+1)・・・(4)
 式(4)の条件が成立している場合、長手方向をa[mm]の定義方向とした2分割が実施される。なお、分割方法については、(k_L0+1)≧Δkである場合は、(k_L0+1)個の直方体のうちΔk個だけ、長手方向aの方向に2分割を実施して分割完了となる。分割対象とするものは例えば手先に近い側からモデル化する。(k_L0+1)<Δkである場合は、k0回分だけ長手方向aの方向に直方体を2分割する処理が実施された後に、次の条件(式(5))が成立しているか否かが確認される。
 L/(k_L0+1)≧a/2・・・(5)
 式(5)が成立する場合は、分割方向が変更され、長手方向L[mm]の定義方向がk_L0+1分割される。式(5)が成立しない場合は、長手方向a[mm]の定義方向の分割が継続される。式(5)までの処理をb方向の分割もあわせて一般化するために、それぞれの条件として各辺L,a,bを現在の各軸方向に対して分割する回数をk_Ln[回]、k_an[回]、k_bn[回](ただし、n=0,1,2,…)とするとき、k_L0の定義のように、各段階において別の長手方向が生じた際の各軸方向(L方向、a方向、b方向)で見た場合の最大の分割数をk_Ln、k_an、k_bnとして定義する。これらは、それぞれ各段階において定義され、長さ、L/k_Ln、a/k_an、b/k_bnが各方向の分割数k_L、k_a、k_bが増える毎に比較される。この場合において、まずLが分割され、以下の式(6)が成立した時点で分割方向がaに切り替えられる。そして、以下に示す式(7)が成立した時点で、以下の式(8)が成立しているか否かが確認される。
 L/(k_Ln+1)<a/(k_an+1)・・・(6)
 L/(k_Ln+1)≧a/(k_an+1)・・・(7)
 L/(k_Ln+1)<a/(k_bn+1)・・・(8)
 式(8)が成立している場合は、b方向の分割数が1増やされる。一方で、式(8)が成立しない場合は、再びLの分割数が1増やされる。なお、分割数が増やされる場合には、k_tot=k_L+k_a+k_bがk-1に達した場合には、そこで分割が終了され、球体モデルが式(1)、式(2)に従って定義される。この処理を通してk=1~Nのそれぞれの場合に対して、分割したことによって定義される直方体とそれに対応する球体モデルの位置および寸法を得る。
 モデルタイプに円筒体が用いられる場合は、正方形を端面にもつ長い形状の物体が生成されることで、効率的な包含が実現できる。このため、L方向の分割は実行されず、a方向あるいはb方向の分割が実行され、できるだけ分割後のL方向に垂直な断面が正方形に近づくように分割が続けられる。分割完了時の円筒体の求め方は、分割後の第ki番目(i=1,...,N)の直方体の端点P1ki,P2ki,P3ki,P4ki,P5ki,P6ki,P7ki,P8kiを用いて求められる。具体的には、中心位置(基準点)Pcnt_kiは、以下の式(9)で求められ、モデルの長さL、半径Rは、以下の式(10)で求められる。
 L方向に垂直な面に沿った点で拘束する座標系の中心位置Pcnt_kiに近い方を、P1ki,P2ki,P3ki,P4kiとし、遠い方をP5ki,P6ki,P7ki,P8kiとすると、以下の式(9)および式(10)が成立する。
 Pcnt_ki=(P1ki+P2ki+P3ki+P4ki)/4・・・(9)
 R=norm(Pcnt_ki-P1ki)・・・(10)
 なお、実際のk回の分割のルールについては、a,b方向しか分割しないという条件以外は、球体方向と同様のルールで分割が続けられる。そして、分割が完了した時点で分割完了となり、式(9)および式(10)に基づいて、各直方体をモデル化する円筒体が求められる。
 次に、モデルタイプに球体と円筒体を混合した場合のモデル化について説明する。分割方法については、球体と同様の分割方法で分割が実行される。分割の結果として、モデルタイプを分割後のk個(k=1~N)のモデルに割り当てるルールのみが球体モデルの場合と異なる。基本的な方法として、各直方体に対して、球体と円筒体とをそれぞれ割り当てた後に、余剰体積比が最も小さいモデルを採用する方法が実行される。以上の処理を経る事で、最終的にM×N個のモデル候補が算出される。
 次に、このM×N個のモデル候補に対して、包含体積比較部13は、それぞれのモデル候補のk個のモデル位置およびモデル寸法と、各ユーザが設定した直方体の寸法と、に基づいて、モデル化余剰量104を算出する。
 具体的には、包含体積比較部13は、モデル情報103内からモデル候補のモデル位置およびモデル寸法を抽出するとともに、モデル化指示101内から直方体(モデル化対象)の寸法を抽出する。そして、包含体積比較部13は、モデル位置およびモデル寸法からモデル候補の体積を算出し、モデル化対象の寸法からモデル化対象の体積を算出する。さらに、包含体積比較部13は、モデル化対象の体積を基準として、モデル候補の体積に関するモデル化余剰量104(余剰包含体積比)を算出する。なお、モデル化余剰量としては、余剰包含体積比以外の値を定義してもよい。
 ここで、余剰包含体積比の算出方法について説明する。余剰包含体積比をWst、ユーザが定義した直方体の体積をVblock[mm^3]、分割後のモデルの体積の総和をVmdl[mm^3]、Vmdlの中でユーザが定義した直方体と重複しない空間分の体積をVwst[mm^3]、分割後のモデル同士が重複している領域の体積をVovrp[mm^3]とすると、WstとVwstは、それぞれ以下の式(11)と式(12)で定義できる。
 Wst=Vwst/Vblock・・・(11)
 Vwst=Vmdl-Vovrp-Vblock・・・(12)
 換言すると、モデル化による余剰体積は、(余剰体積)=(ユーザが定義した直方体を基にして、球・円筒でモデル化された総体積)-(球・円筒でモデル化された体積のうちの重なり部分の体積)-(ユーザが定義した直方体の体積)によって、算出することができる。
 包含体積比較部13は、式(11)および式(12)に基づいて余剰包含体積比を算出し、モデル化余剰量104としてモデル候補記憶部17に記憶させる。なお、モデル化余剰量としては、余剰包含体積比以外にも、ユーザが定義した直方体の面上の点から鉛直方向に向かって伸びる直線と、生成したモデルの領域と、に基づいて算出される値を適用してもよい。この場合、直方体の面上の点から鉛直方向に向かって伸びる直線と、生成したモデルの表面の交点(2点)が導出され、交点間の距離が余剰半径Rwstとして定義され、余剰半径Rwstがモデル化余剰量104として評価される。
 モデル候補記憶部17は、M×N個のモデル候補のモデル情報103と、各モデル候補のモデル化余剰量104と、を対応付けて蓄積しておく。M×N個の全てのモデル候補に関する情報がモデル候補記憶部17に蓄積された後、最小包含体積モデル決定部18Aは、モデル情報103(M×N個のモデル候補の、各モデルタイプ、各モデル位置、各モデル寸法およびそれぞれのモデル個数)と、各モデル候補のモデル化余剰量104と、をモデル候補情報107としてモデル候補記憶部17から読み出す。
 また、処理演算量上限設定部16は、ロボット制御装置設定記憶部15から、各コントローラで有効となっているオプション処理機能情報、各処理機能の演算処理時間および1制御周期の演算処理時間とを、処理情報105として読み出す。
 そして、処理演算量上限設定部16は、処理情報105に基づいて、ロボットコントローラ2が干渉チェックに使うことができる演算処理時間106を算出し、算出結果を最小包含体積モデル決定部18Aに出力する。
 最小包含体積モデル決定部18Aは、ロボット制御装置設定記憶部15から、各ロボットコントローラ2において処理する単位モデル毎の干渉チェック判定時間(球体と球体、円筒体と球体、円筒体と円筒体)を、モデル単位演算量108として読み出す。モデル単位演算量108は、各モデル単位の干渉チェックに要する演算量であり、モデル単位毎に設定されている。モデル単位演算量108は、例えば、円筒体と球体との組み合わせ毎(球体と球体、円筒体と球体、円筒体と円筒体)に設定されている。
 また、最小包含体積モデル決定部18Aは、設定後モデル記憶部19から、既に設定されているロボットアームに対するモデルタイプおよびそのモデル個数の情報を、設定後モデル情報110として読み出す。
 最小包含体積モデル決定部18Aは、設定後モデル情報110と、モデル候補情報107の中のモデルタイプおよびモデル個数と、から1回の干渉チェックに必要な計算処理回数を算出する。最小包含体積モデル決定部18Aは、球体と球体、円筒体と球体、円筒体と円筒体に対し、各計算処理回数をそれぞれ算出する。
 さらに、最小包含体積モデル決定部18Aは、算出した計算処理回数とモデル単位演算量108と、に基づいて、円筒体と球体との組み合わせ毎に、1回の干渉チェックに要する計算処理時間を算出する。最小包含体積モデル決定部18Aは、この算出処理を、モデルタイプ数×モデル数(M×N)回繰り返す。
 最小包含体積モデル決定部18Aは、M×N個の干渉チェックの計算処理時間と、干渉チェックに使うことのできる演算処理時間106と、を比較する。そして、最小包含体積モデル決定部18Aは、モデル候補の中から、演算処理時間106よりも小さい計算処理時間で干渉チェックを行なうことができるモデル候補のみを抽出する。
 そして、最小包含体積モデル決定部18Aは、抽出したモデル候補の中から、モデル化余剰量104が最も小さいモデル候補を選択し、選択したモデル候補を最小包含体積モデル109として設定後モデル記憶部19に記憶させる。なお、最小包含体積モデル決定部18Aは、モデル候補を抽出できなかった場合には、表示装置(図示せず)などに、エラーなどを表示させる。
 干渉チェック部20は、設定後モデル記憶部19が記憶している最小包含体積モデル109を用いて、干渉チェックを実行する。具体的には、干渉チェック部20は、最小包含体積モデル109に設定されているモデル寸法およびモデル位置拘束条件111を用いて、干渉チェックを実行する。
 干渉チェック部20は、例えば、ロボット10の関節角度に関する情報(ロボット関節角度情報)を用いてモデルの現在位置を更新する。そして、干渉チェック部20は、モデル間の距離が0または所定距離以下になった場合に、ロボット10などを停止させるための動作停止指令を駆動制御部21に出力する。また、干渉チェック部20は、干渉する可能性がない場合は、動作継続指令を駆動制御部21に出力する。これにより、駆動制御部21は、ロボット10やハンド装置6に対して、動作変更指令値112に応じた駆動制御を行う。
 なお、干渉チェックシステム100Aの構成は、図1のような構成に限らず、他の構成であってもよい。図9は、干渉チェックシステムの他の構成例を示す図である。干渉チェックシステム100Bは、ロボット生産システムと、コンピュータ9と、を含んで構成されている。そして、干渉チェックシステム100Bのロボット生産システムは、ロボット10と、ハンド装置6と、ロボットコントローラ2と、を含んで構成されている。
 このような、干渉チェックシステム100Bに示すような構成であっても、ユーザはロボットコントローラ2にアクセスしてモデル設定を変更することができる。また、干渉チェックシステム100Aにおいて、干渉チェック装置1Aの処理演算量上限設定部16、干渉チェック部20、駆動制御部21などを別装置に配置してもよい。
 このように、ユーザがモデル化対象を包含する直方体形状(直方体寸法)およびモデル上限数102を指定すれば、モデル上限数102の範囲内で、計算コストを考慮したうえで最も包含体積が小さいモデルの品種選択を自動的に取得することができる。したがって、モデル化に対する知識が無い作業者でも、ユーザインターフェースを用いて容易に効率の良い干渉チェックを行うことが可能となる。
 このように実施の形態1によれば、モデル化指示101およびモデル上限数102に基づいて、モデルを設定するので、制限された計算コスト内でモデルの包含体積を最小にしたモデルを容易に生成することが可能になる。また、複数個のハンド装置6などをモデル化する場合には、許容するモデル上限数102を設定しておくことで、各ハンド装置6にどの程度詳細なモデル化を行うかをユーザが容易に振り分けることが可能となる。
実施の形態2.
 次に、図10を用いてこの発明の実施の形態2について説明する。実施の形態2では、干渉チェック装置において、モデル数上限入力部12からモデル上限数102を入力する代わりに、モデル化余剰量104に対する制限値(許容モデル化余剰量113)に基づいて、モデル上限数102を導出する。
 図10は、実施の形態2に係る干渉チェック装置の構成を示すブロック図である。ここでは、干渉チェック装置1Xの一例である干渉チェック装置1Bの構成について説明する。図10の各構成要素のうち図2に示す実施の形態1の干渉チェック装置1Aと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
 干渉チェック装置1Bは、直方体設定入力部11と、包含体積比較部13と、モデル化処理部14と、モデル候補記憶部17と、処理演算量上限設定部16と、最小包含体積モデル決定部18Bと、設定後モデル記憶部19と、ロボット制御装置設定記憶部15と、干渉チェック部20と、駆動制御部21と、許容モデル化余剰量入力部23と、を備えている。
 許容モデル化余剰量入力部(制限値入力部)23は、モデル化余剰量104に対する制限値(許容モデル化余剰量113)を入力するインタフェースである。許容モデル化余剰量113は、ユーザがマウスやキーボードなどを用いることによって許容モデル化余剰量入力部23に入力される。許容モデル化余剰量入力部23は、許容モデル化余剰量113を最小包含体積モデル決定部18Bに送る。
 なお、本実施の形態では、許容モデル化余剰量113を設定しているので、モデル数の上限値(モデル上限数102)は設けなくてもよい。図10では、干渉チェック装置1Bが、モデル数上限入力部12を備えていない場合の構成を示している。
 モデル上限数102を設けない場合、最小包含体積モデル決定部18Bは、演算処理時間106、モデル単位演算量108、設定後情報モデル110を用いて、モデル上限数102を導出する。具体的には、最小包含体積モデル決定部18Bは、ロボットアーム間の干渉チェックに必要な判定処理時間Tarm[s]を、既に設定されている設定後モデル情報110およびモデル単位演算量108から求める。そして、最小包含体積モデル決定部18Bは、演算処理時間106からTarmを引き算する。
 さらに、最小包含体積モデル決定部18Bは、引き算結果(時間)を満たす上限まで、設定後モデル情報110に加えて増やすことができる球体のモデルの個数を、モデル単位演算量108を用いて求め、その個数を上限のモデル数Nmax(モデル上限数102)として定義する。換言すると、最小包含体積モデル決定部18Bは、引き算結果の上限時間となるまで、設定後情報モデル110に球体モデルの個数を追加していき、引き算結果の上限時間となる、球体モデルの追加数を求める。これにより、干渉チェック装置1Bは、ロボットコントローラ2で処理可能な最大のモデル数Nmaxを算出することが可能となる。
 最小包含体積モデル決定部18Bは、導出したモデル上限数102をモデル化処理部14に送る。モデル化処理部14は、実施の形態1と同様の処理によってモデル候補を生成し、モデル情報103としてモデル候補記憶部17に記憶させる。また、包含体積比較部13は、実施の形態1と同様の処理によって、モデル化余剰量104をモデル候補記憶部17に記憶させる。
 そして、最小包含体積モデル決定部18Bは、許容モデル化余剰量113とモデル化余剰量104とを比較する。そして、最小包含体積モデル決定部18Bは、M×Nmax個のモデル候補のうち、許容モデル化余剰量113よりも大きいモデル候補を選択肢から除去する。最小包含体積モデル決定部18Bは、全てのモデル候補を除去してしまった場合には、表示装置(図示せず)などに、エラーなどを表示させる。
 この後、最小包含体積モデル決定部18Bは、実施の形態1と同様の処理によって、モデル候補の中から、モデル化余剰量104が最も小さいモデル候補を選択し、選択したモデル候補を最小包含体積モデル109として設定後モデル記憶部19に記憶させる。
 実施の形態1では、ハンド装置6などをモデル化する場合に、許容するモデル化個数(モデル上限数102)を設定しておくことで、各ハンド装置6にどの程度詳細なモデル化を行うかを決めた。本実施の形態では、モデル化余剰量104に対する制限値として許容モデル化余剰量113を設定しておくことで、各ハンド装置6にどの程度詳細なモデル化を行うかを決めている。
 このように実施の形態2によれば、演算処理時間106、モデル単位演算量108を用いて、最大のモデル上限数102を設定し、許容モデル化余剰量113に基づいて、モデル候補を選択している。そして、全てのモデルをモデル化対象に適用する前提でモデル候補を設定し、モデル化余剰量104が最も小さいモデル候補を選択している。このため、ロボットコントローラ2に残っているリソースを、モデルに対して最大限に活用できるとともに、最も小さな包含体積でのモデル化を実現することができる。
実施の形態3.
 次に、図11~図13を用いてこの発明の実施の形態3について説明する。実施の形態3では、ユーザがモデル化処理を実行する際に用いた直方体の生成部(モデル化処理部14の一部)を、3次元CAD(Computer Aided Design)情報を用いることで自動化する。
 図11は、CAD/CAMシステムを用いた、アセンブリ(ブロック)ごとの分割処理を説明するための図である。本実施の形態のモデル化処理部14は、CAD/CAM(CAD/CAE)システムを備えている。モデル化処理部14は、予め作成された3次元モデルを複数のアセンブリに分割し、アセンブリごとに直方体モデルに自動的に変換する。図11では、変換前の3次元モデル(モデル化対象)を3次元モデル81で示し、アセンブリごとに直方体モデルに変換した後の3次元モデルを3次元モデル82で示している。
 図12は、実施の形態3に係る干渉チェック装置の構成を示すブロック図である。ここでは、干渉チェック装置1Xの一例である干渉チェック装置1Cの構成について説明する。図12の各構成要素のうち図2に示す実施の形態1の干渉チェック装置1Aと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
 干渉チェック装置1Cは、干渉チェック装置1Aの各構成要素に加えて、アセンブリ外形抽出部(変換部)82と、直方体記憶部83と、を備えている。なお、干渉チェック装置1Cは、干渉チェック装置1Bの各構成要素に加えて、アセンブリ外形抽出部82と、直方体記憶部83と、を備える構成としてもよい。
 3次元形状データ入力部22は、モデル化対象の3次元形状データ201を入力するインタフェースである。3次元形状データ入力部22は、モデル化対象としての3次元形状データ201をアセンブリ外形抽出部82に送る。アセンブリ外形抽出部82は、種々の寸法の直方体によってモデル化対象を複数のアセンブリに分割し、分割後の各アセンブリ外形を抽出する。アセンブリ外形抽出部82は、各アセンブリ外形(直方体)を直方体記憶部83に記憶させる。直方体記憶部83は、各アセンブリ外形(直方体)を記憶するメモリなどである。本実施の形態のモデル化処理部14は、直方体記憶部83が記憶している各アセンブリ外形を用いて、モデル化対象へのモデル化処理を実行する。
 なお、モデル化対象の体積Vcadを取得可能な場合は、干渉チェック装置1Cが、体積Vcadを用いて余剰包含体積比Wstを算出してもよい。例えば、3次元形状データ入力部22に3次元形状データ201が入力されると、3次元形状データ入力部22は、3次元形状データ201を包含体積比較部13に入力する。包含体積比較部13は、余剰包含体積比を計算する際に、ユーザが定義した直方体の体積Vblockの代わりに、3次元形状データ201が保有している又は3次元形状データ201から計算が可能な体積Vcadを用いて、余剰包含体積比Wstを算出する。余剰包含体積比Wstは、以下の式(13)のように表されるので、包含体積比較部13は、式(13)を用いて余剰包含体積比Wstを算出する。
 Vwst=Vmdl-Vovrp-Vcad・・・(13)
 換言すると、3次元形状データ201の体積Vcadを得ることができる場合には、包含体積比較部13が、(余剰体積)=(ユーザが定義した直方体を元にして、球・円筒でモデル化された総体積)-(球・円筒でモデル化された体積のうちの重なり部分の体積)-(3次元CADで算出される体積)によって、余剰包含体積比Wstを算出することができる。
 このように、3次元形状データ入力部22から3次元形状データ201の体積Vcadが入力される場合には、干渉チェック装置1Cが、アセンブリ外形抽出部82、直方体記憶部83を有していなくてもよい。なお、式(13)で表される定義は、3次元形状データ入力部22から3次元形状データ201を利用できる場合に、式(13)で表される定義に切り替えてもよい。また、干渉チェック装置1A,1Bが、3次元形状データ入力部22を備える構成としてもよい。
 つぎに、干渉チェック装置1A~1Cのハードウェア構成について説明する。なお、干渉チェック装置1A~1Cは、同様の構成を有しているので、ここでは干渉チェック装置1Aの構成について説明する。
 図13は、干渉チェック装置のハードウェア構成を示す図である。干渉チェック装置1Aは、CPU(Central Processing Unit)91、ROM(Read Only Memory)92、RAM(Random Access Memory)93、表示部94、入力部95を有している。干渉チェック装置1Aでは、これらのCPU91、ROM92、RAM93、表示部94、入力部95がバスラインBを介して接続されている。
 CPU91は、コンピュータプログラムである干渉チェックプログラム90を用いて干渉チェックを行う。表示部94は、液晶モニタなどの表示装置であり、CPU91からの指示に基づいて、モデル化対象、モデル候補、モデルなどを表示する。入力部95は、マウスやキーボードを備えて構成され、使用者から外部入力される指示情報(干渉チェックに必要なパラメータ等)を入力する。入力部95へ入力された指示情報は、CPU91へ送られる。
 干渉チェックプログラム90は、ROM92内に格納されており、バスラインBを介してRAM93へロードされる。CPU91はRAM93内にロードされた干渉チェックプログラム90を実行する。具体的には、干渉チェック装置1Aでは、使用者による入力部95からの指示入力に従って、CPU91がROM92内から干渉チェックプログラム90を読み出してRAM93内のプログラム格納領域に展開して各種処理を実行する。CPU91は、この各種処理に際して生じる各種データをRAM93内に形成されるデータ格納領域に一時的に記憶させておく。
 干渉チェック装置1Aで実行される干渉チェックプログラム90は、包含体積比較部13、モデル化処理部14、処理演算量上限設定部16、最小包含体積モデル決定部18A、干渉チェック部20、駆動制御部21、を含むモジュール構成となっており、これらが主記憶装置上にロードされ、これらが主記憶装置上に生成される。
 このように実施の形態3によれば、ユーザがモデルの寸法を調べることなく、モデル体積の大きさを抑制しつつ、ロボットコントローラ2が許容可能なモデル数以下のモデルを用いて容易に干渉チェックを行うことが可能となる。
実施の形態4.
 次に、図14を用いてこの発明の実施の形態4について説明する。実施の形態4では、予め干渉チェック装置の外部装置によってモデル上限数102が演算されたうえで、モデル上限数102が干渉チェック装置内に入力される。すなわち、ユーザが図2に示したモデル数上限入力部12からモデル上限数102を入力するのではなく、外部装置で演算されたモデル上限数102が、干渉チェック装置内に入力される。
 モデル上限数102を演算する外部装置は、例えば、ロボットコントローラ2内の干渉チェック装置以外の装置、ロボットコントローラ2と通信可能なPLC内の制御装置、またはコンピュータ9である。コンピュータ9は、例えば、ロボット設定用ソフトウェアを用いてモデル上限数102を演算する。なお、以下では、モデル上限数102を演算する外部装置が、コンピュータ9である場合について説明する。
 図14は、実施の形態4に係る干渉チェック装置の構成を示すブロック図である。ここでは、干渉チェック装置1Xの一例である干渉チェック装置1Dの構成について説明する。図14の各構成要素のうち図2に示す実施の形態1の干渉チェック装置1Aと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
 本実施の形態の干渉チェックシステム100Aは、モデル数上限算出装置24を備えている。なお、モデル数上限算出装置24は、干渉チェックシステム100B内に配置してもよい。
 モデル数上限算出装置24へは、干渉チェック対象として配置するハンドや周辺機器などの1つの装置単位をオブジェクトとした場合のオブジェクト数202がユーザによって入力される。モデル数上限算出装置24は、図14に示すようにモデル数上限入力部12の前段に配置されている。モデル数上限算出装置24は、オブジェクト数202に基づいて、モデル上限数102を演算する。
 本実施の形態では、オブジェクトは、直方体1つで定義され、定義された直方体をオブジェクト1つと数えることとする。例えば、1つのハンドに対して1つの直方体を定義する場合、1つのハンドのオブジェクトは1つである。また、2つのハンドと1つのビジョンセンサとの合計3つの部位のそれぞれに直方体を当てはめる場合、オブジェクトは3つである。
 ユーザは、配置予定の装置全てのオブジェクト数202と、各オブジェクトの名称と、をオブジェクト情報として予めモデル数上限算出装置24へ入力しておく。すなわち、各オブジェクト情報は、オブジェクトの全数量と、オブジェクトの付随情報としてオブジェクトに割り当てられているモデル数と、を含んでいる。
 モデル数上限算出装置24は、直方体設定入力部11に入力された設定で定義される、直方体を包含するために使えるモデル上限数102を、自動的に演算する。モデル数上限算出装置24は、全モデル数から各オブジェクトに割り当てるモデル数を差し引いたモデル数(モデル上限数102)を算出する処理を実行する。この処理は、ロボットコントローラ2、上述したPLCなどの制御装置またはコンピュータ9などが自動的に演算する。
 このモデル上限数102は、今回直方体設定入力部11に入力された直方体を包含するモデルの上限値である。モデル上限数102は、例えば以下のように決定する。モデル数上限算出装置24は、最低1つ以上は各オブジェクトにモデルが割り当てられるような演算を実施する。したがって、初期値は、1つのオブジェクトに対して1つのモデルが割り当てられている状態である。全てのオブジェクトのうち、既に複数のオブジェクトに対して1つ以上のモデルが割り当てられている場合は、その情報を設定後モデル記憶部19から取得しておく。
 モデル数上限算出装置24は、予め処理演算量上限設定部16から処理演算量上限106を取得しておき、処理演算量上限106から許容されるモデル数上限を演算しておく。そして、モデル数上限算出装置24は、許容されるモデル数上限からオブジェクトに割り当てられているモデル数の総和を減算し、減算した値から今回適用可能なモデル上限数102を決定する。
 ただし、モデル数上限102は、処理演算量の上限と関連しているので、ユーザによって一度設定されたオブジェクト数上限が、オブジェクト数の設定後に変更(増減)される場合、各オブジェクトに割り当て可能なモデル数が変動する。このため、処理演算量の上限を満たす最小包含体積のモデル割り当になっていないことがある。そこで、既にモデル化している物体に対して、モデル数上限102を変化させる処理が必要になる。
 このため、オブジェクト数を変化させた場合は、コンピュータ9上のロボット設定用ソフトウェアなどが、再度モデル設定計算を行う。これにより、モデル数上限算出装置24は、各オブジェクトのモデル数上限102を、全体の包含体積が最小になるように再設定する。
 また、モデル上限数102は、上記のような枠組みでモデル数上限算出装置24によって決定されているが、ロボットコントローラ2内の他の外部装置などが予め初期値として指定してもよい。換言すると、ユーザがオブジェクト数を指定していなくても、事前設定値(初期値)としてメーカー側が想定したオブジェクト数を設定してもよい。例えば、オブジェクト数は1つのように予め設定しておく。なお、モデル上限数102自体をロボットコントローラ2内の他の外部装置などが予め指定してもよい。この場合、例えば、モデル数は20個のように予め設定しておく。
 また図14に示すオブジェクト数202は、3D-CADの取り込み時に自動的に判断してもよい。この場合、例えば、オブジェクトをアセンブリ単位で1つの直方体とみなしたうえで、オブジェクト数が自動的にカウントされる。
 このように実施の形態4によれば、モデル数上限算出装置24を用いて、最大のモデル上限数102を設定し、このモデル上限数102に基づいて、モデル候補を選択している。そして、モデル上限数で使用可能な全てのモデルをモデル化対象に適用する前提でモデル候補を設定し、モデル化余剰量104が最も小さいモデル候補を選択している。このため、ロボットコントローラ2に残っているリソースを、モデルに対して最大限に活用できるとともに、最も小さな包含体積でのモデル化を実現することができる。特に、実施の形態1と比べると、個別のモデル上限数102の設定ではなく、全体のオブジェクト数を予め入力している。このため、全てのオブジェクトを考慮したうえで、現在のモデル化対象全体に対してモデル化余剰量104の合計が最も小さい構成を設定することができる。
 以上のように、本発明に係る干渉チェック装置は、ロボット同士あるいはロボットと周辺機器との間の干渉チェックに適している。
 1X,1A~1D 干渉チェック装置、2 ロボットコントローラ、5 周辺機器、6 ハンド装置、7 ビジョンセンサ、9 コンピュータ、10 ロボット、11 直方体設定入力部、12 モデル数上限入力部、13 包含体積比較部、14 モデル化処理部、15 ロボット制御装置設定記憶部、16 処理演算量上限設定部、17 モデル候補記憶部、18A,18B 最小包含体積モデル決定部、19 設定後モデル記憶部、20 干渉チェック部、21 駆動制御部、22 3次元形状データ入力部、23 許容モデル化余剰量入力部、24 モデル数上限算出装置、82 アセンブリ外形抽出部、83 直方体記憶部、100A,100B 干渉チェックシステム。

Claims (6)

  1.  干渉チェックの対象であるモデル化対象に設定する幾何的モデルの上限数が、入力されるモデル数上限入力部と、
     前記モデル化対象を包含できる直方体が、干渉チェック用のモデルとして前記モデル化対象に設定されると、単位距離計算あたりの計算コストが前記直方体よりも小さい新たな幾何的モデルを前記モデル上限数以下の数だけ用いて、前記直方体を前記新たな幾何的モデルに置き換えることによって、前記モデル化対象をモデル化するモデル化処理部と、
     前記新たな幾何的モデルを用いたモデルを、モデル候補として記憶しておくモデル候補記憶部と、
     前記モデル化対象を制御するコントローラが行う各処理に要する演算処理量に関する情報に基づいて、干渉チェックを行う際の計算処理演算量の上限である演算上限量を設定する演算量上限設定部と、
     前記モデル候補の中から、前記演算上限量以下で前記干渉チェックの計算処理を実行できるモデル候補を抽出するとともに、抽出したモデル候補の中からモデルの包含体積が最も小さいモデル候補を前記モデル化対象のモデルに決定する体積モデル決定部と、
     前記体積モデル決定部によって決定されたモデルを用いてモデル同士の干渉チェックを行うとともに、干渉する可能性があれば動作停止指令を出力し、干渉する可能性がなければ動作継続指令を出力する干渉チェック部と、
     を備えることを特徴とする干渉チェック装置。
  2.  干渉チェックの対象であるモデル化対象の体積に対して前記モデル化対象に設定するモデルに許容する体積の体積上限値が、入力される制限値入力部と、
     前記モデル化対象を制御するコントローラが行う各処理に要する演算処理量に関する情報に基づいて、干渉チェックを行う際の計算処理演算量の上限である演算上限量を設定する演算量上限設定部と、
     前記コントローラで処理可能な幾何的モデルの上限数であるモデル上限数を、前記演算上限量に基づいて算出するモデル数算出部と、
     前記モデル化対象を包含できる直方体が、干渉チェック用のモデルとして前記モデル化対象に設定されると、単位距離計算あたりの計算コストが前記直方体よりも小さい新たな幾何的モデルを前記モデル上限数以下の数だけ用いて、前記直方体を前記新たな幾何的モデルに置き換えることによって、前記モデル化対象をモデル化するモデル化処理部と、
     前記新たな幾何的モデルを用いたモデルを、モデル候補として記憶しておくモデル候補記憶部と、
     前記モデル候補の中から、前記演算上限量以下で前記干渉チェックの計算処理を実行できるモデル候補を抽出するとともに、抽出したモデル候補の中から前記体積上限値以下のモデルが存在する場合には、前記モデル候補の中からモデルの包含体積が最も小さいモデル候補を前記モデル化対象のモデルに決定する体積モデル決定部と、
     前記体積モデル決定部によって決定されたモデルを用いてモデル同士の干渉チェックを行うとともに、干渉する可能性があれば動作停止指令を出力し、干渉する可能性がなければ動作継続指令を出力する干渉チェック部と、
     を備えることを特徴とする干渉チェック装置。
  3.  前記モデル化対象を包含できる直方体の寸法に関する情報が、入力される直方体設定入力部をさらに備え、
     前記モデル化処理部は、前記直方体の寸法に関する情報に基づいて、前記直方体を前記新たな幾何的モデルに置き換えることを特徴とする請求項1または2に記載の干渉チェック装置。
  4.  前記体積モデル決定部は、前記コントローラが干渉チェックに要する単位モデル毎の計算処理演算量に関する情報に基づいて、前記演算上限量以下で前記干渉チェックの計算処理を実行できるモデル候補を抽出し、抽出したモデル候補の中からモデルの包含体積が最も小さいモデル候補を前記モデル化対象のモデルに決定することを特徴とする請求項1から3のいずれか1つに記載の干渉チェック装置。
  5.  予めCAD/CAMシステムを用いて作成されたモデル化対象としての3次元モデルが入力されると、CAD/CAMシステムを用いて前記3次元モデルを複数のアセンブリに分割し、前記3次元モデルをアセンブリごとに直方体モデルに変換する変換部をさらに備え、
     前記モデル化処理部は、アセンブリごとに直方体モデルに変換された3次元モデルを用いて、前記モデル化対象をモデル化することを特徴とする請求項1から4のいずれか1つに記載の干渉チェック装置。
  6.  前記新たな幾何的モデルは、球体モデルの組み合わせ、円筒体モデルの組み合わせ、および球体モデルと円筒体モデルとの組み合わせ、の何れかであることを特徴とする請求項1から5のいずれか1つに記載の干渉チェック装置。
PCT/JP2014/051283 2013-02-06 2014-01-22 干渉チェック装置 WO2014122995A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US14/651,426 US9550295B2 (en) 2013-02-06 2014-01-22 Interference check device
JP2014560713A JP5872077B2 (ja) 2013-02-06 2014-01-22 干渉チェック装置
CN201480007555.7A CN104969134B (zh) 2013-02-06 2014-01-22 干涉检查装置
KR1020157020983A KR101781709B1 (ko) 2013-02-06 2014-01-22 간섭 체크 장치
DE112014000700.5T DE112014000700B4 (de) 2013-02-06 2014-01-22 Interferenzprüfgerät

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013021515 2013-02-06
JP2013-021515 2013-02-06

Publications (1)

Publication Number Publication Date
WO2014122995A1 true WO2014122995A1 (ja) 2014-08-14

Family

ID=51299592

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/051283 WO2014122995A1 (ja) 2013-02-06 2014-01-22 干渉チェック装置

Country Status (6)

Country Link
US (1) US9550295B2 (ja)
JP (1) JP5872077B2 (ja)
KR (1) KR101781709B1 (ja)
CN (1) CN104969134B (ja)
DE (1) DE112014000700B4 (ja)
WO (1) WO2014122995A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017051485A1 (ja) * 2015-09-25 2017-03-30 株式会社牧野フライス製作所 3dモデル生成方法および3dモデルを生成する工作機械
JP2018134703A (ja) * 2017-02-21 2018-08-30 株式会社安川電機 ロボットシミュレータ、ロボットシステム及びシミュレーション方法
WO2024004042A1 (ja) * 2022-06-28 2024-01-04 ファナック株式会社 ロボット制御装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9993222B2 (en) * 2014-02-05 2018-06-12 Intuitive Surgical Operations, Inc. System and method for dynamic virtual collision objects
DE102015009048B3 (de) * 2015-07-13 2016-08-18 Kuka Roboter Gmbh Steuern eines nachgiebig geregelten Roboters
JP6328599B2 (ja) * 2015-11-20 2018-05-23 ファナック株式会社 ロボットの動作可能範囲を算出するロボットの手動送り装置
JP6654926B2 (ja) * 2016-02-24 2020-02-26 本田技研工業株式会社 処理時間の予測方法
DE102016004836B3 (de) 2016-04-24 2017-05-18 Haddadin Beteiligungs UG (haftungsbeschränkt) Steuerung eines Robotersystems
EP3323565B1 (de) * 2016-11-21 2021-06-30 Siemens Aktiengesellschaft Verfahren und vorrichtung zur inbetriebnahme eines mehrachssystems
WO2018146740A1 (ja) * 2017-02-08 2018-08-16 株式会社Fuji 作業機
EP3518059B1 (de) * 2018-01-24 2020-04-01 Siemens Aktiengesellschaft Verfahren zur rechnergestützten benutzerassistenz bei der in-betriebnahme eines bewegungsplaners für eine maschine
JP6836543B2 (ja) * 2018-04-27 2021-03-03 ファナック株式会社 干渉監視装置
CN108858162B (zh) * 2018-06-28 2020-10-30 广州视源电子科技股份有限公司 四轴机械臂的位置确定方法和装置
JP7172399B2 (ja) 2018-10-03 2022-11-16 カシオ計算機株式会社 制御装置、ロボット、制御方法及びプログラム
DE102019103349B3 (de) * 2019-02-11 2020-06-18 Beckhoff Automation Gmbh Industrierobotersystem und Verfahren zur Steuerung eines Industrieroboters
JP2021065940A (ja) * 2019-10-17 2021-04-30 オムロン株式会社 干渉評価装置、方法、及びプログラム
DE102020104359B4 (de) 2020-02-19 2022-04-14 Franka Emika Gmbh Arbeitsraumbegrenzung für einen Robotermanipulator
CN112245014B (zh) * 2020-10-30 2023-06-02 上海微创医疗机器人(集团)股份有限公司 一种医疗机器人、检测机械臂碰撞的方法及存储介质
US11878424B2 (en) 2021-12-06 2024-01-23 Fanuc Corporation Point set interference check

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04236676A (ja) * 1991-01-21 1992-08-25 Hitachi Ltd 多関節構造体の干渉チェック方法
JPH11254379A (ja) * 1998-03-11 1999-09-21 Kawasaki Heavy Ind Ltd ロボットの干渉チェック方法
JP2001315087A (ja) * 2000-05-09 2001-11-13 Toshiba Mach Co Ltd ロボットアームのリアルタイム干渉チェック方法
JP2010052114A (ja) * 2008-08-29 2010-03-11 Mitsubishi Electric Corp 干渉チェック制御装置および干渉チェック制御方法
JP2012216151A (ja) * 2011-04-01 2012-11-08 Mitsubishi Electric Corp 干渉回避制御装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6426981A (en) 1987-07-23 1989-01-30 Toshiba Corp Recognizing method for collision of objects
JP2895672B2 (ja) * 1992-01-28 1999-05-24 ファナック株式会社 複数ロボット制御方法
JPH06238581A (ja) * 1993-02-10 1994-08-30 Daikin Ind Ltd 対象物のモデル化方法、対象物間の干渉判別方法およびこれらの装置
US5347459A (en) * 1993-03-17 1994-09-13 National Research Council Of Canada Real time collision detection
JP3612781B2 (ja) 1995-04-17 2005-01-19 ダイキン工業株式会社 階層球体モデル生成方法、干渉チェック方法およびこれらの装置
JP2003271687A (ja) 2002-01-11 2003-09-26 Ricoh Co Ltd 干渉モデル検出装置、方法及び記憶媒体
US6678582B2 (en) * 2002-05-30 2004-01-13 Kuka Roboter Gmbh Method and control device for avoiding collisions between cooperating robots
JP2004295255A (ja) * 2003-03-25 2004-10-21 Hokkaido Univ 干渉判定システム及び干渉判定プログラム
JP4159577B2 (ja) * 2005-12-13 2008-10-01 ファナック株式会社 複数のロボット間のインターロック自動設定装置及び自動設定方法
US8315738B2 (en) * 2008-05-21 2012-11-20 Fanuc Robotics America, Inc. Multi-arm robot system interference check via three dimensional automatic zones
US9144904B2 (en) * 2008-05-21 2015-09-29 Fanuc Robotics America Corporation Method and system for automatically preventing deadlock in multi-robot systems
JP5275967B2 (ja) 2009-12-22 2013-08-28 本田技研工業株式会社 干渉チェック装置
JP5981215B2 (ja) * 2011-05-05 2016-08-31 ファナック アメリカ コーポレイション マルチロボットシステムのデッドロックを自動的に防止する方法及びシステム
JP5878750B2 (ja) 2011-12-21 2016-03-08 川崎重工業株式会社 ロボットの動作規制方法及び装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04236676A (ja) * 1991-01-21 1992-08-25 Hitachi Ltd 多関節構造体の干渉チェック方法
JPH11254379A (ja) * 1998-03-11 1999-09-21 Kawasaki Heavy Ind Ltd ロボットの干渉チェック方法
JP2001315087A (ja) * 2000-05-09 2001-11-13 Toshiba Mach Co Ltd ロボットアームのリアルタイム干渉チェック方法
JP2010052114A (ja) * 2008-08-29 2010-03-11 Mitsubishi Electric Corp 干渉チェック制御装置および干渉チェック制御方法
JP2012216151A (ja) * 2011-04-01 2012-11-08 Mitsubishi Electric Corp 干渉回避制御装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017051485A1 (ja) * 2015-09-25 2017-03-30 株式会社牧野フライス製作所 3dモデル生成方法および3dモデルを生成する工作機械
JPWO2017051485A1 (ja) * 2015-09-25 2018-04-12 株式会社牧野フライス製作所 3dモデル生成方法および3dモデルを生成する工作機械
JP2018134703A (ja) * 2017-02-21 2018-08-30 株式会社安川電機 ロボットシミュレータ、ロボットシステム及びシミュレーション方法
US11213945B2 (en) 2017-02-21 2022-01-04 Kabushiki Kaisha Yaskawa Denki Robot simulator, robot system and simulation method
WO2024004042A1 (ja) * 2022-06-28 2024-01-04 ファナック株式会社 ロボット制御装置

Also Published As

Publication number Publication date
CN104969134B (zh) 2017-06-09
KR101781709B1 (ko) 2017-10-23
CN104969134A (zh) 2015-10-07
JPWO2014122995A1 (ja) 2017-02-02
US9550295B2 (en) 2017-01-24
KR20150103257A (ko) 2015-09-09
DE112014000700B4 (de) 2023-03-02
US20150328776A1 (en) 2015-11-19
JP5872077B2 (ja) 2016-03-01
DE112014000700T5 (de) 2015-10-22

Similar Documents

Publication Publication Date Title
JP5872077B2 (ja) 干渉チェック装置
JP6879464B2 (ja) 干渉判定方法、干渉判定システム及びコンピュータプログラム
US11498214B2 (en) Teaching device, teaching method, and robot system
US9827675B2 (en) Collision avoidance method, control device, and program
JP7009051B2 (ja) レイアウト設定方法、制御プログラム、記録媒体、制御装置、部品の製造方法、ロボットシステム、ロボット制御装置、情報処理方法、情報処理装置
JP6069923B2 (ja) ロボットシステム、ロボット、ロボット制御装置
EP0753837B1 (en) Interference checking method
JP5908544B2 (ja) 駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置
KR101850410B1 (ko) 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치 및 방법
US9569568B2 (en) Robot simulation system which simulates takeout process of workpiece
US20030112281A1 (en) Methods and apparatus for detecting and correcting penetration between objects
US20180036883A1 (en) Simulation apparatus, robot control apparatus and robot
JP6900863B2 (ja) 制御装置、制御方法および制御プログラム
Aras et al. Extracting cutter/workpiece engagements in five-axis milling using solid modeler
CN114641375A (zh) 动态规划控制器
Lin et al. Improving machined surface textures in avoiding five-axis singularities considering tool orientation angle changes
RU2308764C2 (ru) Перемещение виртуального сочлененного объекта в виртуальном пространстве с предотвращением столкновений сочлененного объекта с элементами окружающего пространства
US11886174B2 (en) Virtualized cable modeling for manufacturing resource simulation
CN114555302A (zh) 干涉评价装置、方法以及程序
DK3005308T3 (en) PROCEDURE FOR USING A COMPUTER GRAPHIC SYSTEM TO CHANGE THE FORM OF THE SURFACE OF MODELS OF GEOMETRIC SOLIDS BY DEFORMATION AND IMPLEMENTATION THEREOF
Shen et al. Research on adaptive adjustment of welding torch pose in wire and arc additive remanufacturing of hot-forging dies
US11380058B2 (en) Method and apparatus for continuity based smoothing
Patoglu et al. Feedback-stabilized minimum distance maintenance for convex parametric surfaces
JPH01292474A (ja) 立体干渉演算装置
JP5878907B2 (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: 14749365

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014560713

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14651426

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20157020983

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 112014000700

Country of ref document: DE

Ref document number: 1120140007005

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14749365

Country of ref document: EP

Kind code of ref document: A1