WO2015177855A1 - 組立順序生成装置、組立順序生成方法および組立順序生成プログラム - Google Patents

組立順序生成装置、組立順序生成方法および組立順序生成プログラム Download PDF

Info

Publication number
WO2015177855A1
WO2015177855A1 PCT/JP2014/063286 JP2014063286W WO2015177855A1 WO 2015177855 A1 WO2015177855 A1 WO 2015177855A1 JP 2014063286 W JP2014063286 W JP 2014063286W WO 2015177855 A1 WO2015177855 A1 WO 2015177855A1
Authority
WO
WIPO (PCT)
Prior art keywords
assembly
node
order
disassembly
component
Prior art date
Application number
PCT/JP2014/063286
Other languages
English (en)
French (fr)
Inventor
敦子 榎本
典明 山本
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2014/063286 priority Critical patent/WO2015177855A1/ja
Priority to JP2016520834A priority patent/JP6266104B2/ja
Publication of WO2015177855A1 publication Critical patent/WO2015177855A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Definitions

  • the present invention relates to an assembly sequence generation device, an assembly sequence generation method, and an assembly sequence generation program.
  • Patent Document 1 discloses a component arrangement / proximity relationship acquisition unit that acquires information about proximity of each of a plurality of components and other components from CAD, and an assembly unit setting unit that sets an assembly unit of the plurality of components. Generated by the component placement / proximity relationship acquisition unit and the component arrangement / part proximity relationship and the assembly unit set by the assembly relationship acquisition unit so that the assembly sequence of multiple parts does not interfere with adjacent components.
  • An assembly sequence generation system including a sequence generation unit and an assembly animation generation unit that generates an assembly operation of a plurality of parts and a camera viewpoint for observing the assembly operation from the assembly sequence generated by the assembly sequence generation unit is described Has been.
  • the assembly sequence generation system described in Patent Document 1 disassembles parts in the order according to a predetermined rule. For this reason, there are cases where parts cannot be disassembled in the middle. In such a case, it is necessary to regenerate the assembly sequence by replacing the parts to be disassembled with different parts. Further, in the assembly sequence generation system of the same document, the disassembly motion is calculated in consideration of the parts in contact with each other, but it is not considered whether interference occurs with non-contact parts.
  • an object of the present invention is to provide an assembly sequence generation apparatus that can generate an assembly sequence more reliably.
  • an assembly sequence generation device is an assembly sequence generation device that generates an assembly sequence of an assembly, and includes an arithmetic unit, and the arithmetic unit can be disassembled from the assembly.
  • the disassembly order is determined using the disassembly graph, and the assembly order is generated based on the disassembly order.
  • the assembly sequence generation device can generate a more appropriate assembly sequence.
  • FIG. 2A is a diagram illustrating an example of an assembly and a component.
  • FIG. 2B is a diagram showing the shapes of the two drawn components.
  • FIG. 3A is a view showing another example of the assembly and the component parts.
  • FIG. 3B is a diagram showing the shapes of two components drawn from different positions on the disassembly vector axis of the screw shown in FIG. It is the figure which showed an example of the setting parameter information which concerns on one Embodiment of this invention. It is the figure which showed an example of the hardware constitutions of the assembly order production
  • FIG. 10A is a diagram illustrating an example of a decomposition graph.
  • FIG. 10B is a diagram illustrating an exploded graph to which an evaluation value between the selected origin node is given.
  • FIG. 12A is a diagram showing an example of a decomposition graph generated based on the adjacent graph of FIG.
  • FIG. 12B is a diagram showing an example of assembly order information.
  • FIG. 1 is a functional block diagram illustrating an example of a functional configuration of the assembly sequence generation device 100 according to the present embodiment.
  • the assembly sequence generation apparatus 100 obtains the assembly order of the assembly using the assembly model information 150 indicating the three-dimensional shape of the assembly and the components, and generates the assembly sequence from the disassembly order.
  • the assembly sequence generation apparatus 100 includes a calculation unit 101, a storage unit 102, and a display unit 103.
  • the calculation unit 101 includes an input reception unit 111, a disassembling component specifying unit 112, an adjacent graph generation unit 113, a decomposition graph generation unit 114, a decomposition order generation unit 115, an assembly order generation unit 116, an animation, An information generation unit 117 and a node evaluation unit 118 are included.
  • the input reception unit 111 is a functional unit that receives various instruction inputs from the user of the assembly sequence generation device 100. Specifically, the input receiving unit 111 receives an instruction to generate an assembly order and input of parameter values from the user. The input receiving unit 111 passes the received instruction and the like to the corresponding function unit.
  • the disassembleable part identifying unit 112 is a functional part that identifies a disassembleable component. Specifically, the disassembleable part specifying unit 112 specifies the geometric constraint relationship between two adjacent surfaces of the component, and indicates the direction in which the component can be disassembled and the moving length of the component necessary for disassembly. Calculate the decomposition vector. Further, the disassembling part specifying unit 112 places a virtual camera viewpoint on the axis of the calculated disassembling vector, and determines whether or not it interferes with a non-contact component that is not in a geometric constraint relationship. Identify possible parts. As a method for calculating the decomposition vector, a known technique (for example, Japanese Patent Laid-Open No. 2012-14569 describes obtaining a decomposition vector from a movable direction of objects in contact with each other). It ’s fine.
  • FIG. 2A is a diagram showing an example of an assembly and component parts.
  • the disassembleable part specifying unit 112 uses the assembly model information 150 to specify the three-dimensional shape of the assembly and the constituent parts, and specifies the geometric constraint relationship between the constituent parts.
  • the disassembleable part specifying unit 112 specifies that the bottom surface of the screw tip (screw head) is in a plane restraint relationship with the part A and the screw shaft is in a cylindrical restraint relation with the part A. To do.
  • the disassembleable component specifying unit 112 calculates a disassembly vector of the component (screw in the case of FIG. 2A) from these constraint relationships.
  • the disassembleable part specifying unit 112 may specify a component having a smaller mass or size and obtain a decomposition vector of the component.
  • the disassembling part specifying unit 112 places a virtual camera viewpoint at a predetermined position (distance from the screw ⁇ vector length d) on the disassembling vector axis of the constituent part to be disassembled, and displays an image of the constituent part (in FIG. 2, Draw the entire plane of the screw head. Further, the disassembleable component specifying unit 112 moves the camera viewpoint to a position on the axis of the disassembly vector and away from the component by the vector length d, and the size of the drawn component becomes the same. Draw an image of the component (screw) at a magnification. In addition, the disassembleable component specifying unit 112 compares the two drawn shapes, and determines that the component can be disassembled if they match.
  • FIG. 2B is a diagram showing the shapes of the two drawn components. In this case, since both shapes match, the disassembling component specifying unit 112 determines that the screw is a disassembling component.
  • FIG. 3A is a diagram showing another example of the assembly and the component parts.
  • FIG. 3B is a diagram showing the shapes of two components drawn from different positions on the disassembly vector axis of the screw shown in FIG. As shown in the drawing, the shape of the screw drawn from the position separated from the component by the vector length d of the disassembly vector is blocked by a part of the part B, and a predetermined position on the disassembly vector axis (distance from the screw ⁇ It does not match the shape drawn from the vector length d). In this case, the disassembleable part specifying unit 112 does not determine that the screw is a disassembleable part.
  • the disassembleable component specifying unit 112 does not compare the shape of the drawn component, but colors each of the two images of the drawn component with a single color, and compares the pixel values so that the non-contact component You may make it determine whether it interferes.
  • the adjacent graph generation unit 113 is a functional unit that generates an adjacent graph. Specifically, the adjacency graph generation unit 113 generates an adjacency graph in which edges are provided between the nodes of the component parts having a geometric constraint relationship with the component parts as nodes. In addition, the adjacent graph generation unit 113 identifies a component that is first determined to be disassembled as a starting node. Details of the adjacency graph will be described later.
  • the decomposition graph generation unit 114 is a functional unit that generates a decomposition graph. Specifically, the decomposition graph generation unit 114 generates a decomposition graph in which a component (including an origin node) is set as a node that can be decomposed among a plurality of components, and an evaluation value is assigned to an edge extending between the nodes. To do. Details of the decomposition graph will be described later.
  • the disassembly order generation unit 115 is a functional unit that generates a disassembly order of component parts. Specifically, the decomposition order generation unit 115 searches for the decomposition order of the component parts by a predetermined method (for example, Dijkstra method) using the evaluation values of the nodes and edges of the decomposition graph. In addition, the decomposition order generation unit 115 searches the decomposition order for all the starting nodes, and generates a decomposition order based on the search result.
  • a predetermined method for example, Dijkstra method
  • the assembly order generation unit 116 is a functional unit that generates an assembly order of component parts. Specifically, the assembly order generation unit 116 generates an assembly order by rearranging the disassembly order of the component parts generated by the disassembly order generation unit 115 in the reverse order.
  • the animation information generation unit 117 is a functional unit that generates assembly animation information and disassembly animation information. Specifically, the animation information generation unit 117 generates animation information for assembling the component parts and animation information for disassembling the assembly according to the assembly order and the disassembly order.
  • the node evaluation unit 118 is a functional unit that calculates an evaluation value of a node. Specifically, the node evaluation unit 118 calculates an evaluation value of each node using a predetermined evaluation element and setting parameter information 200 stored in advance in the storage unit 102.
  • the storage unit 102 includes assembly model information 150, setting parameter information 200, assembly order information 210, and disassembly order information 220. Note that the assembly order information 210 and the disassembly order information 220 are both generated by the calculation unit 101 and stored in the storage unit 102.
  • the assembly model information 150 is STL (Standard Triangulated Language) information representing the three-dimensional shape of the assembly and its component parts.
  • the STL information includes CAD (Computer Aided Design) information and the like.
  • the setting parameter information 200 is information used to calculate an evaluation value from each node or origin node to the next node.
  • FIG. 4 is a diagram illustrating an example of the setting parameter information 200.
  • the setting parameter information 200 includes parameter items such as a node evaluation index, mass, load, centroid position, number of edges, edge evaluation index, distance on an adjacent graph, centroid Eugrid distance, and parameter values of each item. Have. Note that the mass, load, barycentric position, and number of edges are evaluation elements used to calculate the evaluation value given to each node, and parameter values are set so that all are 1.0. That is, these parameter values indicate the evaluation ratio of each evaluation element in the evaluation value of each node.
  • the parameter values of the node evaluation index and the edge evaluation index are used when calculating the evaluation value from the selected starting node to the next node in the process of searching the disassembly order of the component parts.
  • the sum is set to 1.0. That is, these parameter values indicate the node and edge evaluation ratios in the evaluation values from the starting node to the next node. Note that these parameter values are set in advance by the user of the assembly sequence generation apparatus 100.
  • the assembly order information 210 is information indicating the assembly order of the component parts.
  • the disassembly order information 220 is information indicating the disassembly order of the assembly.
  • the display unit 103 is a functional unit that displays predetermined screen information. Specifically, the display unit 103 displays the assembly order of the component parts, the disassembly order of the assembly parts, and animation information indicating these orders.
  • FIG. 5 is a diagram illustrating an example of a hardware configuration of the assembly sequence generation apparatus 100.
  • the assembly sequence generation device 100 includes a CPU (Central Processing Unit) 302, a RAM (Random Access Memory) 303, a ROM (Read Only Memory) 304, a processing unit 301, a storage device 305, an input device 306, and the like. , A display device 307, and a bus 308 for connecting the respective devices to each other.
  • a CPU Central Processing Unit
  • RAM Random Access Memory
  • ROM Read Only Memory
  • the storage device 305 is, for example, a nonvolatile storage device such as a hard disk device or a flash memory.
  • the input device 306 is a device that receives an instruction input from the user, such as a touch panel, a keyboard, and a mouse.
  • the display device 307 is a device that displays image information such as a liquid crystal display.
  • the calculation unit 101 of the assembly sequence generation device 100 is realized by a predetermined program (for example, an optimal sequence generation program or an animation information generation program) that causes the CPU 302 to perform processing.
  • a predetermined program for example, an optimal sequence generation program or an animation information generation program
  • Such a program is stored in the RAM 303 or the ROM 304, loaded onto the RAM 303 for execution, and executed by the CPU 302.
  • the storage unit 102 described above is realized by the RAM 303, the ROM 304, and the storage device 305. Further, the display unit 103 described above is realized by the display device 307.
  • FIG. 6 is a flowchart showing the flow of the assembly sequence generation process.
  • FIG. 7 is a diagram illustrating an example of an assembly that is a target of the assembly sequence generation process according to the present embodiment.
  • the assembly sequence generation process is started when, for example, the input receiving unit 111 receives an execution instruction for the assembly sequence generation process from the user via the input device 306.
  • the input receiving unit 111 acquires the assembly model information 150 and the setting parameter information 200 from the storage unit 102 (step S001).
  • the adjacency graph generation unit 113 generates an adjacency graph (step S002). Specifically, the adjacency graph generation unit 113 uses the assembly model information 150 to specify the three-dimensional shape of the assembly T and its components 1 to 7 in FIG. Also, the adjacency graph generation unit 113 generates an adjacency graph in which the components of the assembly T are used as nodes and an edge is provided between the nodes of the components having a geometric constraint.
  • FIG. 8 is a view showing an adjacency graph of the assembly shown in FIG. As shown in the figure, the adjacency graph includes nodes 1 to 7 indicating the components 1 to 7 of the assembly and edges indicating a geometric constraint relationship. Note that the numerical value of the node indicates the number of the corresponding component.
  • the disassembleable part specifying unit 112 specifies a disassembleable part (step S003). Specifically, the disassembleable part specifying unit 112 specifies a component that can be disassembled at the present time based on the geometric constraint relationship of each component specified using the assembly model information 150, and sets the disassembly vector. calculate. In this example, it is assumed that the component parts 4 to 7 are specified as the component parts for which the decomposition vector can be calculated, and the decomposition vectors of these component parts 4 to 7 are calculated.
  • the disassembleable part specifying unit 112 draws an image of the component parts 4 to 7 on the RAM 303 on the graphic board from a predetermined position on the decomposition vector axis and a position separated by the length of the decomposition vector.
  • the disassembleable component specifying unit 112 compares the two drawn shapes, and specifies the component as a disassembleable component when they match. In this example, it is assumed that the two drawn shapes of the component parts 4 to 7 coincide with each other, and the disassembleable part specifying unit 112 determines that the component parts 4 to 7 can be disassembled. .
  • the display unit 103 displays the origin node candidate (step S004). Specifically, the display unit 103 sets the three-dimensional shape of the assembly T in which the component parts identified as the parts that can be disassembled in step S003 are the starting node candidates for disassembly and the starting node candidates are colored with a predetermined color. The information is displayed on the display device 307. By such processing, for example, image information indicating the three-dimensional shape of the assembly T shown in FIG. 7 is displayed on the display device 307.
  • the disassembleable part specifying unit 112 selects a starting node from the constituent parts of the assembly T (step S005).
  • the disassembleable part specifying unit 112 selects the start point nodes 4 to 7 that are disassembleable parts.
  • the disassembly order generation unit 115 determines whether or not the disassembly order has been determined for all the origin nodes (step S006). If there is a starting node for which the disassembly order has not been determined (No in step S006), the disassembly order generation unit 115 shifts the processing to step S007. On the other hand, when the disassembly order has been determined for all the origin nodes (Yes in step S006), the disassembly order generation unit 115 shifts the processing to step S012.
  • the node evaluation unit 118 calculates an evaluation value of each node. Specifically, the node evaluation unit 118 generates evaluation value information including the evaluation value of the node using a predetermined evaluation element preset by the user and the setting parameter information 200.
  • FIG. 9 is a diagram showing an example of the evaluation value information 400.
  • the evaluation value information 400 includes a component part ID field 401, a part name field 402, a mass field 403, an edge number field 404, and an evaluation value field 405.
  • the mass of the component and the number of edges are preset as evaluation elements.
  • the evaluation elements correspond to the respective items of the setting parameter information 200.
  • evaluation elements such as the load of the component, the position of the center of gravity, the distance on the adjacent graph, the center of gravity Eugrid distance, etc. There is.
  • an evaluation element is not limited to these, What is necessary is just to be preset by the user.
  • the node evaluation unit 118 specifies the masses of the component parts 1 to 7 using the assembly model information 150.
  • the mass of the component may be specified by the assembly model information 150, or may be specified by information other than the assembly model information 150 stored in the storage unit 102 in advance.
  • the node evaluation unit 118 identifies the largest mass among the masses of the component parts 1 to 7, and registers the value obtained by dividing the mass of the other component parts by the mass in the corresponding mass column 403. Further, the node evaluation unit 118 registers the number of edges of each component in the corresponding edge number column 404.
  • the node evaluation unit 118 calculates the evaluation values of the other component parts by the same method.
  • evaluation formula for calculating the evaluation value is not limited to the above, and may be set as appropriate by the user.
  • the adjacent graph generation unit 113 assigns the evaluation value thus calculated to the corresponding node.
  • evaluation value of the node may be calculated by the below-described decomposition graph generation unit 114 when generating the decomposition graph.
  • the decomposition graph generation unit 114 generates a decomposition graph (step S008).
  • the starting node selected in step S005 is replaced as a decomposable node.
  • the decomposition graph generation unit 114 specifies the decomposable nodes and the edges between the decomposable nodes using the adjacent graph.
  • the decomposition graph generation unit 114 generates a decomposition graph with edges between the specified decomposable nodes and the decomposable nodes.
  • FIG. 10A is a diagram illustrating an example of a decomposition graph. In the decomposition graph, the nodes 4 to 7 specified in the adjacent graph shown in FIG. 9 are set as the decomposable nodes, and the decomposition graph with the edges between the decomposable nodes is generated.
  • the decomposition graph generation unit 114 calculates an evaluation value of the edge. Specifically, the decomposition graph generation unit 114 calculates the distance (number of edges) to the next decomposable node as an edge evaluation value. For example, since there are two edges at the shortest distance between the decomposable node 5 and the decomposable node 4, the evaluation value of the edge stretched between the decomposable node 5 and the decomposable node 4 is 2 and Become. Further, for example, since there are three edges at the shortest distance between the decomposable node 4 and the decomposable node 7, the evaluation value of the edge stretched between the decomposable node 4 and the decomposable node 7 Becomes 3. In this way, the decomposition graph generation unit 114 calculates the evaluation value of the edge between the resolvable nodes.
  • the decomposition order generation unit 115 searches for the decomposition order (step S006).
  • the decomposition order generation unit 115 selects one decomposable node in ascending order of evaluation values.
  • the decomposition order generation unit 115 selects a node having a smaller node number.
  • the decomposable node 5 having the smallest evaluation value of the decomposable node 5 and the decomposable node 7 and the smaller node number is selected.
  • the disassembly order generation unit 115 searches for a component to be disassembled next to the disassembleable node 5 (component 5).
  • the decomposition order generation unit 115 searches the decomposition order by a predetermined method (for example, Dijkstra method) using the evaluation values of the nodes and edges of the decomposition graph.
  • a predetermined method for example, Dijkstra method
  • the disassembly order generation unit 115 When searching for the disassembly order, the disassembly order generation unit 115, the evaluation value of the node and the edge that are edged with the disassembleable node 5 and the evaluation value of the node included in the setting parameter information 200, and the edge The evaluation value up to the next node is calculated using the evaluation index.
  • the evaluation value between the decomposable node 5 and the decomposable node 4 is a value (0.603) obtained by multiplying the evaluation value (1.005) of the decomposable node 4 by the evaluation index (0.6) of the node. ) And the edge evaluation value (2) multiplied by the edge evaluation index (0.4), and the value (0.8) is added to obtain 1.403.
  • the evaluation value between the decomposable node 5 and the decomposable node 6 is a value (0) obtained by multiplying the evaluation value (1.005) of the decomposable node 6 by the node evaluation index (0.6). .603) and the edge evaluation value (3) multiplied by the edge evaluation index (0.4) are added to the value (1.2) to be 1.803.
  • the evaluation value between the decomposable node 5 and the decomposable node 7 is a value (0) obtained by multiplying the evaluation value (0.505) of the decomposable node 7 by the evaluation index (0.6) of the node. .303) and the edge evaluation value (4) multiplied by the edge evaluation index (0.4) and the value (1.6) are added to 1.903.
  • the disassembly order generation unit 115 calculates an evaluation value between the selected disassembleable node 5.
  • FIG. 10B is a diagram showing a decomposition graph to which an evaluation value between the selected resolvable nodes is given.
  • the disassembly order generation unit 115 identifies a node having a smaller evaluation value with the selected disassembleable node as a node to be disassembled next. As illustrated in FIG. 10B, the disassembly order generation unit 115 identifies the disassembleable node 4 having a smaller evaluation value as a component node to be disassembled next. In addition, when the disassembly order generation unit 115 specifies a disassembling node to be disassembled next, the disassembly order generation unit 115 determines the disassembly order of the starting node. That is, the disassembly order generation unit 115 specifies the node 4 as a component to be disassembled next, and determines the disassembly order of the disassembleable node 5 as the first.
  • the disassembly order generation unit 115 determines whether or not the disassembly order has been determined for all the component parts (step S010). In this example, it is determined whether or not the disassembly order has been determined for all seven component parts. If there is an undecided component part (No in step S010), the disassembly order generation unit 115 performs the process in step S011. Migrate to
  • the disassembleable part specifying unit 112 specifies a disassembleable part from the assembly from which the node (node 5 in this example) whose disassembly order has already been determined is removed.
  • the disassembleable part specifying unit 112 specifies a disassembleable part in a state where the component 5 corresponding to the node 5 is removed from the assembly.
  • the adjacency graph generation unit 113 updates the adjacency graph in a state where the node 5 is removed from the assembly and the node 2 corresponding to the component 2 is newly specified as a disassembleable part, and the process returns to step S007. .
  • step S007 the node evaluation unit 118 newly generates evaluation value information and assigns an evaluation value to each node.
  • the number of edges of the node 2 is reduced by one because the node 5 is removed. Therefore, in the newly generated evaluation value information, the evaluation value of node 2 changes from 1.52 to 1.02.
  • FIG. 11 is a diagram showing an example of an adjacency graph of an assembly obtained by removing a node whose disassembly order has been determined.
  • FIG. 12A is a diagram illustrating an example of a decomposition graph generated based on the adjacent graph of FIG.
  • the disassembly order generation unit 115 searches for the disassembly order of the component parts using such a disassembly graph, and repeatedly executes the processing from step S007 to step S011 until the disassembly order is determined for all the component parts.
  • step S010 If it is determined in step S010 described above that the disassembly order has been determined for all the component parts (Yes in step S010), the disassembly order generation unit 115 returns the process to step S006 and disassembles all the origin nodes. Steps S006 to S011 are repeatedly executed until the order is determined.
  • FIG. 12C is a diagram illustrating an example of the disassembly order information 220.
  • the disassembly order information 220 has a plurality of disassembly order proposals for each starting node. Specifically, in the disassembly order information 220, an ID for specifying a disassembly order proposal, a component specified as a starting node, and a disassembly order are registered.
  • the assembly order generation unit 116 generates an assembly order for each starting node using the disassembly order information 220 (step S013). Specifically, the assembly order generation unit 116 generates the assembly order information 210 by rearranging the disassembly order in the reverse order. Further, the assembly order generation unit 116 stores the assembly order information 210 in the storage unit 102.
  • FIG. 12B is a diagram illustrating an example of the assembly order information 210.
  • the assembly sequence information 210 has a plurality of assembly sequence plans for each starting node. Specifically, in the assembly order information 210, an ID for specifying an assembly order proposal, a component specified in the starting node, and an assembly order are registered.
  • the animation information generation unit 117 generates assembly animation information and disassembly animation information (step S014). Specifically, the animation information generation unit 117 generates the assembly animation information of the component parts and the disassembly animation information of the assembly according to the assembly order and the disassembly order specified by the assembly order information 210 and the disassembly order information 220. When these animation information is generated, the assembly sequence generation process is terminated.
  • the display unit 103 acquires assembly animation information or disassembled animation information from the storage unit 102 and causes the display device 307 to display it.
  • the assembly sequence generator identifies disassembleable parts in consideration of interference with non-contact components, and therefore identifies components that can be disassembled but cannot be actually disassembled as disassembleable components. Can be prevented. Further, the assembly order generation device re-specifies the disassembleable parts each time the component parts specified as disassembleable parts are removed, so that it is possible to eliminate the waste of searching for component parts that cannot be disassembled.
  • the assembly order generation device can generate the disassembly order more reliably and efficiently because it identifies the component part to be removed next based on the evaluation value from among the component parts specified as disassembling parts. it can.
  • the number of nodes in the disassembly graph is the number of parts that can be disassembled at that time. For example, even if the disassembly order is searched by the Dijkstra method, the assembly order is generated to the square of the number of parts. Therefore, the search for the disassembly order by the assembly order generation device is a search for a sufficiently small graph, and for example, a search for a thousand-scale assembly can also be realized.
  • assembly sequence generation device 100 can be applied to generation of a component disassembly sequence that does not include elastic deformation and plastic deformation.
  • the node and edge evaluation values are calculated using the setting parameter information 200.
  • the setting parameter information 200 is not necessarily used for calculating these evaluation values.
  • the parameter items are not limited to those described in the above-described embodiment.
  • the node evaluation value and the edge evaluation value are multiplied by the node evaluation index and the edge evaluation index, respectively.
  • the evaluation index is not necessarily used.
  • the node and edge evaluation values may only be added.
  • the assembly sequence generation device 100 generates assembly animation information and disassembly animation information using the assembly sequence information 210 and the disassembly sequence information 220.
  • the generation of animation information may be performed by another external device.
  • the assembly sequence generation device 100 transmits the assembly sequence information 210 and the disassembly sequence information 220 to an external device through a predetermined network such as the Internet using a communication device (not shown). Further, when the external device acquires such information, the external device generates assembly animation information and disassembled animation information using a predetermined animation generation program.
  • the functional blocks of the assembly sequence generation device 100 are classified according to the main processing contents in order to facilitate understanding of the functions of the assembly sequence generation device 100 realized in the present embodiment.
  • the present invention is not limited by the way of classification and its name.
  • each configuration of the assembly sequence generation device 100 can be classified into more components according to the processing content.
  • it can also classify
  • this invention is not limited to the above-mentioned Example, Various modifications are included.
  • the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described.
  • a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment.
  • control lines and information lines indicate what is considered necessary for the description, and not all control lines and information lines on the product are necessarily shown. In practice, it can be considered that almost all the components are connected to each other.
  • DESCRIPTION OF SYMBOLS 100 ... Assembly order production

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Automatic Assembly (AREA)

Abstract

 より適切な組立順序を生成することができる。 組立品の組立順序を生成する組立順序生成装置であって、演算部を備え、前記演算部は、組立品の中から分解可能な構成部品を特定し、分解可能な前記構成部品をノードとして、幾何学的拘束関係にある該ノード間にエッジを張り、前記ノードおよび前記エッジの各々に評価値を付与した分解グラフを生成し、前記分解グラフを用いて組立品の分解順序を決定し、該分解順序に基づいて組立順序を生成する。

Description

組立順序生成装置、組立順序生成方法および組立順序生成プログラム
 本発明は、組立順序生成装置、組立順序生成方法および組立順序生成プログラムに関する。
 特許文献1には、複数の部品のそれぞれの配置と他の部品との近接関係の情報をCADから取得する部品配置・近接関係取得部と、複数の部品の組立単位を設定する組立単位設定部と、部品配置・近接関係取得部で取得した部品配置、部品近接関係と組立関係取得部で設定した組立単位とから、複数の部品の組立シーケンスを近接する部品と干渉しないようにして生成する組立シーケンス生成部と、組立シーケンス生成部で生成した組立シーケンスから複数の部品の組立の動作とこの組立の動作を観察するカメラ視点とを生成する組立アニメ生成部とを備えた組立シーケンス生成システムが記載されている。
特開2012-14569号公報
 特許文献1に記載の組立シーケンス生成システムは、予め定めたルールに従った順番で部品を分解していく。そのため、途中で部品を分解できない場合が生じる。また、そのような場合には、分解する部品を異なる部品と入れ替えて組立順序を生成し直す必要が生じる。また、同文献の組立シーケンス生成システムでは、接触している部品を考慮して分解運動を算出しているが、非接触の部品との間で干渉が生じるかどうかは考慮していない。
 そこで、本発明は、より確実に組立順序を生成することができる組立順序生成装置の提供を目的とする。
 上記課題を解決するため、本発明に係る組立順序生成装置は、組立品の組立順序を生成する組立順序生成装置であって、演算部を備え、前記演算部は、組立品の中から分解可能な構成部品を特定し、分解可能な前記構成部品をノードとして、幾何学的拘束関係にある該ノード間にエッジを張り、前記ノードおよび前記エッジの各々に評価値を付与した分解グラフを生成し、前記分解グラフを用いて組立品の分解順序を決定し、該分解順序に基づいて組立順序を生成する。
 本発明に係る組立順序生成装置によれば、より適切な組立順序を生成することができる。
本発明の一実施形態に係る組立順序生成装置の機能構成の一例を示した機能ブロック図である。 図2(a)は、組立品および構成部品の一例を示した図である。図2(b)は、描画した2つの構成部品の形状を示した図である。 図3(a)は、組立品および構成部品の他の例を示した図である。図3(b)は、図3(a)に示すネジの分解ベクトル軸上の異なる位置から描画した2つの構成部品の形状を示した図である。 本発明の一実施形態に係る設定パラメータ情報の一例を示した図である。 本発明の一実施形態に係る組立順序生成装置のハードウェア構成の一例を示した図である。 本発明の一実施形態に係る組立順序生成処理の流れを示したフロー図である。 本発明の一実施形態に係る組立順序生成処理の対象となる組立品の一例を示した図である。 図7に示す組立品の隣接グラフを示した図である。 本発明の一実施形態に係る評価値情報の一例を示した図である。 図10(a)は、分解グラフの一例を示した図である。図10(b)は、選択された起点ノードとの間の評価値が付与された分解グラフを示した図である。 本発明の一実施形態に係る隣接グラフ(分解順序が決定したノードを取り除いた組立品の隣接グラフ)の一例を示した図である。 図12(a)は、図11の隣接グラフに基づいて生成された分解グラフの一例を示した図である。図12(b)は、組立順序情報の一例を示した図である。
 以下、本発明の一実施形態に係る組立順序生成装置について説明する。
 図1は、本実施形態に係る組立順序生成装置100の機能構成の一例を示した機能ブロック図である。組立順序生成装置100は、組立品および構成部品の3次元形状を示す組立品モデル情報150を用いて組立品の分解順序を求め、かかる分解順序から組立順序を生成する。
 図1に示すように、組立順序生成装置100は、演算部101と、記憶部102と、表示部103とを有している。また、演算部101は、入力受付部111と、分解可能部品特定部112と、隣接グラフ生成部113と、分解グラフ生成部114と、分解順序生成部115と、組立順序生成部116と、アニメーション情報生成部117と、ノード評価部118とを有している。
 入力受付部111は、組立順序生成装置100のユーザから様々な指示入力を受け付ける機能部である。具体的には、入力受付部111は、組立順序の生成指示やパラメータ値の入力をユーザから受け付ける。また、入力受付部111は、受け付けた指示などを対応する機能部に受け渡す。
 分解可能部品特定部112は、分解可能な構成部品を特定する機能部である。具体的には、分解可能部品特定部112は、構成部品の隣接する2面間の幾何学的拘束関係を特定し、構成部品の分解できる方向および分解に必要な構成部品の移動長さを示す分解ベクトルを算出する。また、分解可能部品特定部112は、算出した分解ベクトルの軸上に仮想のカメラ視点を置き、幾何学的拘束関係にない非接触の構成部品と干渉するか否かを判定することにより、分解可能部品を特定する。なお、分解ベクトルの算出方法については、公知の技術(例えば、特開2012-14569号公報には、互いに接している物の移動可能方向から分解ベクトルを求めることが記載されている)が用いられれば良い。
 図2(a)は、組立品および構成部品の一例を示した図である。分解可能部品特定部112は、組立品モデル情報150を用いて組立品および構成部品の3次元形状を特定し、構成部品同士の幾何学的拘束関係を特定する。同図に示す組立品の場合、分解可能部品特定部112は、ネジ先端(ネジ頭)の底面が部品Aと平面拘束関係にあり、ネジの軸が部品Aと円筒拘束関係にあることを特定する。また、分解可能部品特定部112は、これらの拘束関係から、構成部品(図2(a)の場合にはネジ)の分解ベクトルを算出する。なお、分解可能部品特定部112は、質量またはサイズの小さい方の構成部品を特定し、かかる構成部品の分解ベクトルを求めれば良い。
 また、分解可能部品特定部112は、分解する構成部品の分解ベクトル軸上の所定位置(ネジからの距離<ベクトル長さd)に仮想のカメラ視点を置き、構成部品の画像(図2では、ネジ頭の平面全体)を描画する。また、分解可能部品特定部112は、分解ベクトルの軸上であって、かつ、構成部品からベクトル長さdだけ離した位置にカメラ視点を移動し、描画した構成部品の大きさが同じになる倍率で構成部品(ネジ)の画像を描画する。また、分解可能部品特定部112は、描画した2つの形状を比較し、両者が一致する場合には、かかる構成部品が分解可能であると判定する。図2(b)は、描画した2つの構成部品の形状を示した図である。この場合、両者の形状が一致するため、分解可能部品特定部112は、ネジが分解可能部品であると判定する。
 図3(a)は、組立品および構成部品の他の例を示した図である。また、図3(b)は、図3(a)に示すネジの分解ベクトル軸上の異なる位置から描画した2つの構成部品の形状を示した図である。図示するように、構成部品から分解ベクトルのベクトル長さdだけ離した位置から描画したネジの形状は部品Bの一部に遮られており、分解ベクトル軸上の所定位置(ネジからの距離<ベクトル長さd)から描画した形状と一致しない。この場合、分解可能部品特定部112は、ネジが分解可能部品であると判定しない。
 なお、分解可能部品特定部112は、描画した構成部品の形状比較ではなく、描画した構成部品の2つの画像各々に単色で着色し、そのピクセル値を比較することにより、分解時に非接触部品と干渉するか否かを判定するようにしても良い。
 図1に戻って説明する。隣接グラフ生成部113は、隣接グラフを生成する機能部である。具体的には、隣接グラフ生成部113は、構成部品をノードとし、幾何学的拘束関係にある構成部品のノード間にエッジを張った隣接グラフを生成する。また、隣接グラフ生成部113は、最初に分解可能と判定された構成部品を起点ノードとして特定する。なお、隣接グラフの詳細は後述する。
 分解グラフ生成部114は、分解グラフを生成する機能部である。具体的には、分解グラフ生成部114は、複数ある構成部品のうち、分解可能な構成部品をノード(起点ノードを含む)とし、ノード間に張ったエッジに評価値を付与した分解グラフを生成する。なお、分解グラフの詳細については後述する。
 分解順序生成部115は、構成部品の分解順序を生成する機能部である。具体的には、分解順序生成部115は、分解グラフのノードおよびエッジの評価値を用いて、所定の方法(例えば、ダイクストラ法など)により構成部品の分解順序を探索する。また、分解順序生成部115は、起点ノード全てについて分解順序を探索し、探索結果に基づいて分解順序を生成する。
 組立順序生成部116は、構成部品の組立順序を生成する機能部である。具体的には、組立順序生成部116は、分解順序生成部115により生成された構成部品の分解順序を逆の順番に並べ替えることにより組立順序を生成する。
 アニメーション情報生成部117は、組立アニメーション情報および分解アニメーション情報を生成する機能部である。具体的には、アニメーション情報生成部117は、組立順序および分解順序に従って、構成部品を組み立てるアニメーション情報および組立品を分解するアニメーション情報を生成する。
 ノード評価部118は、ノードの評価値を算出する機能部である。具体的には、ノード評価部118は、所定の評価要素と、記憶部102に予め格納されている設定パラメータ情報200とを用いて、各ノードの評価値を算出する。
 記憶部102は、組立品モデル情報150と、設定パラメータ情報200と、組立順序情報210と、分解順序情報220とを有している。なお、組立順序情報210および分解順序情報220は、いずれも演算部101により生成され、記憶部102に格納される。
 組立品モデル情報150は、組立品およびその構成部品の3次元形状を表したSTL(Standard Triangulated Language)情報である。なお、STL情報には、CAD(Computer Aided Design)情報などが含まれる。
 設定パラメータ情報200は、各ノードや起点ノードから次のノードまでの評価値の算出に用いられる情報である。図4は、設定パラメータ情報200の一例を示した図である。設定パラメータ情報200は、ノードの評価指数、質量、荷重、重心位置、エッジ数、エッジの評価指数、隣接グラフ上の距離、重心ユーグリット距離などの各パラメータ項目と、各項目のパラメータ値とを有している。なお、質量、荷重、重心位置およびエッジ数は、各ノードに付与される評価値の算出に用いられる評価要素であり、全て足しあわせて1.0となるようにパラメータ値が設定されている。すなわち、これらのパラメータ値は、各ノードの評価値における各評価要素の評価割合を示したものである。また、ノードの評価指数およびエッジの評価指数のパラメータ値は、構成部品の分解順序を探索する処理において、選択された起点ノードから次のノードまでの評価値を算出する際に用いられ、両方を足し合せて1.0となるように設定される。すなわち、これらのパラメータ値は、起点ノードから次のノードまでの評価値におけるノードおよびエッジの評価割合を示したものである。なお、これらのパラメータ値は、組立順序生成装置100のユーザにより予め設定される。
 組立順序情報210は、構成部品の組立順序を示した情報である。分解順序情報220は、組立品の分解順序を示した情報である。これらの情報は、演算部101が実行する組立順序生成処理によって生成される。なお、組立順序生成処理の詳細は後述する。
 表示部103は、所定の画面情報を表示する機能部である。具体的には、表示部103は、構成部品の組立順序、組立品の分解順序およびこれらの順序を示すアニメーション情報を表示する。
 以上、組立順序生成装置100の機能ブロックについて説明した。
 図5は、組立順序生成装置100のハードウェア構成の一例を示した図である。組立順序生成装置100は、CPU(Central Processing Unit)302と、RAM(Random Access Memory)303と、ROM(Read Only Memory)304とを有する演算処理装置301と、記憶装置305と、入力装置306と、表示装置307と、各々の装置を相互に接続するバス308とを有している。
 記憶装置305は、例えば、ハードディスク装置やフラッシュメモリなどの不揮発性記憶装置である。
 入力装置306は、例えば、タッチパネル、キーボードおよびマウスなどユーザからの指示入力を受け付ける装置である。
 表示装置307は、液晶ディスプレイなどの画像情報を表示する装置である。
 なお、組立順序生成装置100の演算部101は、CPU302に処理を行わせる所定のプログラム(例えば、最適順序生成プログラムやアニメーション情報生成プログラムなど)によって実現される。このようなプログラムは、RAM303またはROM304に格納され、実行にあたってRAM303上にロードされ、CPU302により実行される。
 なお、前述の記憶部102は、RAM303、ROM304および記憶装置305により実現される。また、前述の表示部103は、表示装置307により実現される。
 [動作の説明]
図6は、組立順序生成処理の流れを示したフロー図である。図7は、本実施形態に係る組立順序生成処理の対象となる組立品の一例を示した図である。組立順序生成処理は、例えば、入力受付部111が入力装置306を介して組立順序生成処理の実行指示をユーザから受け付けると開始される。
 組立順序生成処理が開始されると、入力受付部111は、組立品モデル情報150および設定パラメータ情報200を記憶部102から取得する(ステップS001)。
 次に、隣接グラフ生成部113は、隣接グラフを生成する(ステップS002)。具体的には、隣接グラフ生成部113は、組立品モデル情報150を用いて、図7の組立品Tとその構成部品1~7の3次元形状を特定する。また、隣接グラフ生成部113は、組立品Tの構成部品をノードとし、幾何学的拘束関係にある構成部品のノード間にエッジを張った隣接グラフを生成する。図8は、図7の組立品の隣接グラフを示した図である。図示するように、隣接グラフは、組立品の構成部品1~7を示すノード1~7と、幾何学的拘束関係にあることを示すエッジとを有している。なお、ノードの数値は、対応する構成部品の番号を示すものである。
 次に、分解可能部品特定部112は、分解可能部品を特定する(ステップS003)。具体的には、分解可能部品特定部112は、組立品モデル情報150を用いて特定された各構成部品の幾何学的拘束関係に基づき、現時点で分解できる構成部品を特定し、その分解ベクトルを算出する。なお、本例では、分解ベクトルを算出できる構成部品として構成部品4~7が特定され、これらの構成部品4~7の分解ベクトルが算出されたものとする。
 また、分解可能部品特定部112は、構成部品4~7について、分解ベクトル軸上の所定位置および分解ベクトルの長さだけ離した位置から構成部品の画像をグラフィックボード上のRAM303に描画する。また、分解可能部品特定部112は、描画した2つの形状を比較し、両者が一致する場合に、かかる構成部品を分解可能部品として特定する。なお、本例では、構成部品4~7は、いずれも描画した2つの形状が一致するものとし、分解可能部品特定部112は、構成部品4~7を分解可能であると判定したものとする。
 次に、表示部103は、起点ノード候補を表示する(ステップS004)。具体的には、表示部103は、ステップS003で分解可能部品として特定された構成部品を分解の起点ノード候補とし、それらの起点ノード候補を所定の色で着色した組立品Tの3次元形状を表示装置307に表示する。このような処理により、例えば、図7に示す組立品Tの3次元形状を示した画像情報が表示装置307に表示される。
 次に、分解可能部品特定部112は、組立品Tの構成部品から起点ノードを選択する(ステップS005)。本例では、分解可能部品特定部112は、分解可能部品である起点ノード4~7を選択する。
 次に、分解順序生成部115は、全ての起点ノードについて分解順序が決定したか否かを判定する(ステップS006)。そして、分解順序が決定していない起点ノードがある場合(ステップS006でNo)、分解順序生成部115は、処理をステップS007に移行する。一方で、全ての起点ノードについて分解順序が決定している場合(ステップS006でYes)、分解順序生成部115は、処理をステップS012に移行する。
 ステップS007では、ノード評価部118は、各ノードの評価値を算出する。具体的には、ノード評価部118は、ユーザにより予め設定されている所定の評価要素と、設定パラメータ情報200とを用いてノードの評価値を含む評価値情報を生成する。
 図9は、評価値情報400の一例を示した図である。評価値情報400は、構成部品ID欄401と、部品名欄402と、質量欄403と、エッジ数欄404と、評価値欄405とを有している。本例では、構成部品の質量およびエッジ数が評価要素として予め設定されているものとする。なお、評価要素は設定パラメータ情報200の各項目に対応しており、質量およびエッジ数以外にも、例えば、構成部品の荷重、重心位置、隣接グラフ上の距離、重心ユーグリット距離などの評価要素がある。また、評価要素は、これらに限定されるものではなく、ユーザによって予め設定されていれば良い。
 評価値の算出にあたり、ノード評価部118は、組立品モデル情報150を用いて構成部品1~7の質量を特定する。なお、構成部品の質量は、組立品モデル情報150によって特定されても良いし、予め記憶部102に格納されている組立品モデル情報150以外の情報によって特定されても良い。
 また、ノード評価部118は、構成部品1~7の質量の中から最も大きい質量を特定し、かかる質量で他の構成部品の質量を割った値を対応する質量欄403に登録する。また、ノード評価部118は、各構成部品のエッジ数を対応するエッジ数欄404に登録する。
 また、ノード評価部118は、各評価要素の値と設定パラメータ情報200の対応するパラメータ値とを用いて、所定の評価式により各ノードの評価値を算出する。具体的には、ノード評価部118は、設定パラメータ情報200を参照し、質量とエッジ数のパラメータ値を取得する。また、ノード評価部118は、取得したパラメータ値と、これに対応する評価要素とを掛け合わせ、それらを加算することによりノードの評価値を算出する。本例の構成部品1(ケース)の場合、ノード評価部118は、パラメータ値(質量)=0.1と、質量(100/100)とを掛け合わせた値(0.1)と、パラメータ値(エッジ数)=0.5と、エッジ数=4とを掛け合わせた値(2.0)とを加算し、ノード1の評価値2.1を得る。
 また、例えば、構成部品2(ブロック)の場合、ノード評価部118は、パラメータ値(質量)=0.1と、質量(20/100)とを掛け合わせた値(0.02)と、パラメータ値(エッジ数)=0.5と、エッジ数=3とを掛け合わせた値(1.5)とを加算し、ノード2の評価値1.52を得る。また、ノード評価部118は、他の構成部品の評価値についても同様の方法で算出する。
 なお、評価値を算出する評価式は上記のものに限定されず、ユーザによって適宜設定されれば良い。
 隣接グラフ生成部113は、このようにして算出した評価値を対応するノードに付与する。
 なお、ノードの評価値は、後述の分解グラフ生成部114が分解グラフの生成時に算出しても良い。
 次に、分解グラフ生成部114は、分解グラフを生成する(ステップS008)。ここで、ステップS005で選択された起点ノードは、分解可能ノードとして置き換えられる。具体的には、分解グラフ生成部114は、隣接グラフを用いて、分解可能ノードおよび分解可能ノード間のエッジを特定する。また、分解グラフ生成部114は、特定した分解可能ノードおよび分解可能ノード間にエッジを張った分解グラフを生成する。図10(a)は、分解グラフの一例を示した図である。分解グラフは、図9に示す隣接グラフで特定されたノード4~7を分解可能ノードとし、各分解可能ノード間にエッジを張った分解グラフを生成する。
 また、分解グラフ生成部114は、エッジの評価値を算出する。具体的には、分解グラフ生成部114は、次の分解可能ノードまでの距離(エッジ数)をエッジの評価値として算出する。例えば、分解可能ノード5から分解可能ノード4までの間には、最短距離で2つのエッジが存在するため、分解可能ノード5および分解可能ノード4の間に張られたエッジの評価値は2となる。また、例えば、分解可能ノード4と分解可能ノード7までの間には、最短距離で3つのエッジが存在するため、分解可能ノード4と分解可能ノード7との間に張られたエッジの評価値は3となる。このようにして、分解グラフ生成部114は、分解可能ノード間のエッジの評価値を算出する。
 次に、分解順序生成部115は、分解順序を探索する(ステップS006)。分解順序の探索にあたり、分解順序生成部115は、評価値が少ない順に分解可能ノードを1つ選択する。なお、評価値が同じ分解可能ノードが複数ある場合、分解順序生成部115は、ノード番号が小さい方を選択する。本例では、分解可能ノード5および分解可能ノード7の評価値が最少であり、ノード番号が小さい方の分解可能ノード5が選択される。そして、分解順序生成部115は、分解可能ノード5(構成部品5)の次に分解する構成部品を探索する。具体的には、分解順序生成部115は、分解グラフのノードおよびエッジの評価値を用いて、所定の方法(例えば、ダイクストラ法)により分解順序を探索する。
 分解順序の探索にあたり、分解順序生成部115は、分解可能ノード5との間にエッジが張られているノードおよびエッジの評価値と、設定パラメータ情報200に含まれる前述のノードの評価指数およびエッジの評価指数とを用いて、次のノードまでの評価値を算出する。例えば、分解可能ノード5と分解可能ノード4との間の評価値は、分解可能ノード4の評価値(1.005)にノードの評価指数(0.6)を掛け合わせた値(0.603)と、エッジの評価値(2)にエッジの評価指数(0.4)を掛け合わせ値(0.8)とを足し合わせた1.403となる。また、例えば、分解可能ノード5と分解可能ノード6との間の評価値は、分解可能ノード6の評価値(1.005)にノードの評価指数(0.6)を掛け合わせた値(0.603)と、エッジの評価値(3)にエッジの評価指数(0.4)を掛け合わせ値(1.2)とを足し合わせた1.803となる。また、例えば、分解可能ノード5と分解可能ノード7との間の評価値は、分解可能ノード7の評価値(0.505)にノードの評価指数(0.6)を掛け合わせた値(0.303)と、エッジの評価値(4)にエッジの評価指数(0.4)を掛け合わせ値(1.6)とを足し合わせた1.903となる。このようにして、分解順序生成部115は、選択された分解可能ノード5との間の評価値を算出する。図10(b)は、選択された分解可能ノードとの間の評価値が付与された分解グラフを示した図である。
 また、分解順序生成部115は、選択された分解可能ノードとの間の評価値がより小さいノードを次に分解するノードとして特定する。図10(b)に示すように、分解順序生成部115は、より小さい評価値を有する分解可能ノード4を次に分解する構成部品のノードとして特定する。また、分解順序生成部115は、次に分解する分解可能ノードを特定すると、起点となったノードの分解順序を決定する。すなわち、分解順序生成部115は、次に分解する構成部品としてノード4を特定すると共に、分解可能ノード5の分解順序を1番目として決定する。
 次に、分解順序生成部115は、全ての構成部品について分解順序が決定したか否かを判定する(ステップS010)。本例では、7つある構成部品の全てについて分解順序が決定したか否かを判定し、未決定の構成部品がある場合(ステップS010でNo)、分解順序生成部115は、処理をステップS011に移行する。
 ステップS011の処理では、分解可能部品特定部112は、既に分解順序が決定しているノード(本例では、ノード5)を取り除いた組立品から分解可能部品を特定する。本例では、分解可能部品特定部112は、ノード5に相当する構成部品5を組立品から取り除いた状態における分解可能部品を特定する。その結果、新たに構成部品2が分解可能部品として特定されたものとする。また、隣接グラフ生成部113は、ノード5が組立品から取り除かれ、新たに構成部品2に相当するノード2が分解可能部品として特定された状態の隣接グラフを更新し、処理をステップS007に戻す。
 ステップS007では、ノード評価部118は、評価値情報を新たに生成し、各ノードに評価値を付与する。なお、本例では、ノード5が取り除かれたことにより、ノード2のエッジ数が1つ減ることになる。そのため、新たに生成された評価値情報では、ノード2の評価値が1.52から1.02に変化することになる。
 図11は、分解順序が決定したノードを取り除いた組立品の隣接グラフの一例を示した図である。また、図12(a)は、図11の隣接グラフに基づいて生成された分解グラフの一例を示した図である。分解順序生成部115は、前述と同様に、かかる分解グラフを用いて構成部品の分解順序を探索し、全ての構成部品について分解順序が決定するまでステップS007~ステップS011の処理を繰り返し実行する。
 また、前述のステップS010において、全ての構成部品について分解順序が決定したと判定された場合(ステップS010でYes)、分解順序生成部115は、処理をステップS006に戻し、全ての起点ノードについて分解順序が決定するまでステップS006~ステップS011の処理を繰り返し実行する。
 また、全ての起点ノードについて分解順序を生成したと判定された場合(ステップS006でYes)、分解順序生成部115は、起点ノードごとの分解順序を特定した分解順序情報220を生成し、これを記憶部102に格納する(ステップS012)。図12(c)は、分解順序情報220の一例を示した図である。分解順序情報220は、起点ノードごとに複数の分解順序案を有している。具体的には、分解順序情報220には、分解順序案を特定するIDと、起点ノードに特定された構成部品と、分解順序とが登録されている。
 次に、組立順序生成部116は、分解順序情報220を用いて、起点ノードごとに組立順序を生成する(ステップS013)。具体的には、組立順序生成部116は、分解順序を逆の順番に並べ替えることにより組立順序情報210を生成する。また、組立順序生成部116は、組立順序情報210を記憶部102に格納する。図12(b)は、組立順序情報210の一例を示した図である。組立順序情報210は、起点ノードごとに複数の組立順序案を有している。具体的には、組立順序情報210には、組立順序案を特定するIDと、起点ノードに特定された構成部品と、組立順序とが登録されている。
 次に、アニメーション情報生成部117は、組立アニメーション情報および分解アニメーション情報を生成する(ステップS014)。具体的には、アニメーション情報生成部117は、組立順序情報210および分解順序情報220で特定される組立順序および分解順序に従って、構成部品の組立アニメーション情報および組立品の分解アニメーション情報を生成する。また、これらのアニメーション情報を生成すると、組立順序生成処理を終了する。
 なお、入力受付部111を介してアニメーション情報の表示指示をユーザから受け付けると、表示部103は、記憶部102から組立アニメーション情報または分解アニメーション情報を取得し、これを表示装置307に表示させる。
 このような組立順序生成装置によれば、より適切な組立順序を生成することができる。特に、組立順序生成装置は、非接触の構成部品との干渉についても考慮して分解可能部品を特定しているため、分解ベクトルを算出できても実際に分解できない構成部品を分解可能部品として特定することを防止できる。また、組立順序生成装置は、分解可能部品として特定した構成部品を取り除く度に、分解可能部品を特定し直すため、分解できない構成部品を探索する無駄を排除できる。
 また、組立順序生成装置は、分解可能部品として特定された構成部品の中から、その評価値に基いて次に取り外す構成部品を特定するため、より確実かつ効率的に分解順序を生成することができる。また、分解グラフのノード数はその時点で分解できる部品数であり、例えば、ダイクストラ法により分解順序を探索しても、組立順序の生成は部品数の2乗規模となる。したがって、組立順序生成装置による分解順序の探索は、充分に小さいグラフの探索となり、例えば、千点規模の組立品の探索も実現可能である。
 なお、前述の実施形態に係る組立順序生成装置100は、弾性変形および塑性変形を含まない部品の分解順序の生成に適用することができる。
 また、前述の実施形態では、設定パラメータ情報200を用いてノードおよびエッジの評価値を算出したが、これらの評価値の算出にあたり、必ずしも設定パラメータ情報200を用いる必要はない。また、パラメータの項目は、前述の実施形態で説明したものに限定されるものではない。
 また、前述の実施形態では、次に分解するノードを特定する際に、ノードの評価値およびエッジの評価値に各々、ノードの評価指数およびエッジの評価指数を乗算したが、必ずしも評価指数を用いなくても良く、例えば、ノードおよびエッジの評価値を各々加算するだけであっても良い。
 また、前述の実施形態では、組立順序生成装置100が組立順序情報210および分解順序情報220を用いて組立アニメーション情報および分解アニメーション情報を生成したが、本発明はこのような実施形態に限定されず、例えば、アニメーション情報の生成は、別の外部装置で実施されても良い。その場合、組立順序生成装置100は、図示しない通信装置を用いて、インターネットなどの所定のネットワーク網により、組立順序情報210および分解順序情報220を外部装置に送信する。また、外部装置は、かかる情報を取得すると、所定のアニメーション生成プログラムを用いて、組立アニメーション情報および分解アニメーション情報を生成する。
 また、組立順序生成装置100の機能ブロックは、本実施形態において実現される組立順序生成装置100の機能を理解容易にするために、主な処理内容に応じて分類したものであり、各機能の分類の仕方やその名称によって、本発明が制限されることはない。また、組立順序生成装置100の各構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、一つの構成要素がさらに多くの処理を実行するように分類することもできる。
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
 また、上記説明では、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えて良い。
100・・・組立順序生成装置、101・・・演算部、102・・・記憶部、
103・・・表示部、111・・・入力受付部、112・・・分解可能部品特定部、
113・・・隣接グラフ生成部、114・・・分解グラフ生成部、
115・・・分解順序生成部、116・・・組立順序生成部、
117・・・アニメーション情報生成部、118・・・ノード評価部、
121・・・組立品モデル情報、
122・・・設定パラメータ情報、123・・・組立順序情報、
124・・・分解順序情報、301・・・演算処理装置、302・・・CPU、
303・・・RAM、304・・・ROM、305・・・記憶装置、
306・・・入力装置、307・・・表示装置

Claims (9)

  1.  組立品の組立順序を生成する組立順序生成装置であって、
     演算部を備え、
     前記演算部は、
     組立品の中から分解可能な構成部品を特定し、
     分解可能な前記構成部品をノードとして、幾何学的拘束関係にある該ノード間にエッジを張り、
     前記ノードおよび前記エッジの各々に評価値を付与した分解グラフを生成し、
     前記分解グラフを用いて組立品の分解順序を決定し、該分解順序に基づいて組立順序を生成する
    ことを特徴とする組立順序生成装置。
  2.  請求項1に記載の組立順序生成装置であって、
     所定の評価要素ごとにパラメータ値が設定された設定パラメータ情報が格納された記憶部をさらに備え、
     前記演算部は、
     前記設定パラメータ情報のパラメータ値を用いて、前記ノードの評価値を算出する
    ことを特徴とする組立順序生成装置。
  3.  請求項1に記載の組立順序生成装置であって、
     前記エッジの評価値は、
     前記エッジが張られたノード間のエッジ数である
    ことを特徴とする組立順序生成装置。
  4.  請求項1に記載の組立順序生成装置であって、
     前記演算部は、
     前記ノードおよび前記エッジの評価値を用いて、ダイクストラ法により、前記組立品の分解順序を探索する
    ことを特徴とする組立順序生成装置。
  5.  請求項1に記載の組立順序生成装置であって、
     前記演算部は、
     分解可能な前記構成部品を取り外した組立品から再度、分解可能な構成部品を特定し、特定した該構成部品をノードとして、幾何学的拘束関係にある該ノード間にエッジを張り、該ノードおよび該エッジの評価値を付与した分解グラフを再度生成し直し、該分解グラフを用いて組立品の分解順序を決定する
    ことを特徴とする組立順序生成装置。
  6.  請求項1に記載の組立順序生成装置であって、
     前記演算部は、
     組立品の構成部品の分解ベクトルを算出し、
     前記分解ベクトルの軸上の所定位置に仮想のカメラ視点を置いて描画した前記構成部品の形状と、
     前記分解ベクトルの軸上であって、前記分解ベクトルの長さだけ前記構成部品から離れた距離に前記カメラ視点を置いて描画した前記構成部品の形状と、を比較し、
     前記2つの形状が一致する場合、前記構成部品を分解可能であると判定する
    ことを特徴とする組立順序生成装置。
  7.  請求項1に記載の組立順序生成装置であって、
     前記演算部は、
     組立順序および分解順序を示すアニメーション情報を生成する
    ことを特徴とする組立順序生成装置。
  8.  コンピュータが実行する組立品の組立順序生成方法であって、
     前記コンピュータは、
     組立品の中から分解可能な構成部品を特定するステップと、
     分解可能な前記構成部品をノードとして、幾何学的拘束関係にある該ノード間にエッジを張るステップと、
     前記ノードおよび前記エッジの各々に評価値を付与した分解グラフを生成するステップと、
     前記分解グラフを用いて組立品の分解順序を決定し、該分解順序に基づいて組立順序を生成するステップと、を実行する
    ことを特徴とする組立順序生成方法。
  9.  コンピュータを、組立品の組立順序を生成する装置として機能させる組立順序生成プログラムであって、
     前記コンピュータを、
     組立品の中から分解可能な構成部品を特定し、
     分解可能な前記構成部品をノードとして、幾何学的拘束関係にある該ノード間にエッジを張り、
     前記ノードおよび前記エッジの各々に評価値を付与した分解グラフを生成し、
     前記分解グラフを用いて組立品の分解順序を決定し、該分解順序に基づいて組立順序を生成する演算部として機能させる
    ことを特徴とする組立順序生成プログラム。
PCT/JP2014/063286 2014-05-20 2014-05-20 組立順序生成装置、組立順序生成方法および組立順序生成プログラム WO2015177855A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2014/063286 WO2015177855A1 (ja) 2014-05-20 2014-05-20 組立順序生成装置、組立順序生成方法および組立順序生成プログラム
JP2016520834A JP6266104B2 (ja) 2014-05-20 2014-05-20 組立順序生成装置、組立順序生成方法および組立順序生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/063286 WO2015177855A1 (ja) 2014-05-20 2014-05-20 組立順序生成装置、組立順序生成方法および組立順序生成プログラム

Publications (1)

Publication Number Publication Date
WO2015177855A1 true WO2015177855A1 (ja) 2015-11-26

Family

ID=54553553

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/063286 WO2015177855A1 (ja) 2014-05-20 2014-05-20 組立順序生成装置、組立順序生成方法および組立順序生成プログラム

Country Status (2)

Country Link
JP (1) JP6266104B2 (ja)
WO (1) WO2015177855A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018180693A (ja) * 2017-04-05 2018-11-15 株式会社日立製作所 作業指示生成装置および作業指示生成方法
US11707845B2 (en) 2019-06-27 2023-07-25 Hitachi, Ltd. Assembly planning device, assembly planning method, and non-transitory computer-readable storage medium
JP7422632B2 (ja) 2020-09-07 2024-01-26 株式会社日立製作所 計画装置、計画方法、および計画プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023125754A (ja) * 2022-02-28 2023-09-07 株式会社日立製作所 軌道計画装置及び軌道計画方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240324A (ja) * 1997-02-27 1998-09-11 Toshiba Corp 組立順序抽出方法及びその装置
JP2012221416A (ja) * 2011-04-13 2012-11-12 Hitachi Ltd 計算機システム、及び組立アニメーション生成方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5639907B2 (ja) * 2011-01-25 2014-12-10 株式会社日立製作所 設計支援装置、方法およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240324A (ja) * 1997-02-27 1998-09-11 Toshiba Corp 組立順序抽出方法及びその装置
JP2012221416A (ja) * 2011-04-13 2012-11-12 Hitachi Ltd 計算機システム、及び組立アニメーション生成方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018180693A (ja) * 2017-04-05 2018-11-15 株式会社日立製作所 作業指示生成装置および作業指示生成方法
US11707845B2 (en) 2019-06-27 2023-07-25 Hitachi, Ltd. Assembly planning device, assembly planning method, and non-transitory computer-readable storage medium
JP7422632B2 (ja) 2020-09-07 2024-01-26 株式会社日立製作所 計画装置、計画方法、および計画プログラム

Also Published As

Publication number Publication date
JP6266104B2 (ja) 2018-01-24
JPWO2015177855A1 (ja) 2017-04-20

Similar Documents

Publication Publication Date Title
JP6266104B2 (ja) 組立順序生成装置、組立順序生成方法および組立順序生成プログラム
KR101745406B1 (ko) 깊이 영상 기반의 손 제스처 인식 장치 및 방법
Athawale et al. Selection of industrial robots using compromise ranking method
CN110268402A (zh) 用于在增材制造过程中提供珠粒尺寸变化以提高沉积层的几何精度的系统和方法
EP3544773B1 (en) System and method for determining grasping positions for two-handed grasps of industrial objects
CN106273441A (zh) 打印温度的控制方法及其装置
JP2005285130A (ja) 蛋白質相互作用ネットワークの分割視覚化技法
JP7159033B2 (ja) 3次元位置・姿勢認識装置及び方法
JP4973447B2 (ja) 差異強調プログラム、差異強調処理方法及び差異強調処理装置
JP2013164813A5 (ja) 情報処理装置、及びその制御方法、プログラム
WO2016193843A2 (en) Modelling method and system
CN109522613B (zh) 一种装配方法及装置
WO2016132521A1 (ja) 教示データ生成装置
EP3292488A1 (en) System and method for identifying clones
US10780642B2 (en) System and method for computing surfaces in a multi-layer part
CN103810351A (zh) 基于计算机辅助设计的数据处理方法和装置
Coscia et al. 3-d hand pose estimation from kinect’s point cloud using appearance matching
JP2021082290A (ja) ソフトウェアコンポーネント内の仮想オブジェクトのキーインジケータを統合する方法
JP6687584B2 (ja) 加工プログラム解析装置およびこれを備えた工作機械、ならびに加工プログラム解析プログラムおよび加工プログラム解析方法
US8704828B1 (en) Inverse kinematic melting for posing models
JP2006338119A (ja) 製造検討支援装置
KR20150012921A (ko) 선박 설계 방법
US6928331B2 (en) Orientation method
KR20140147761A (ko) 접히는 시트 오브젝트의 설계
JPWO2020100310A1 (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: 14892277

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016520834

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14892277

Country of ref document: EP

Kind code of ref document: A1