1460706925-9d660fd1-9efb-4753-9831-a500f5b59fa7

1. A computer implemented method for optimizing a production process comprising the steps of:
(A) creating a representation for equipment for production of a product and arranging the representation in at least one sequence for production of the product, and designating each piece of equipment as a resource type according to such piece of equipment’s function;
(B) selecting the sequence created at step (A) and designating such sequence as a current sequence;
(C) calculating a value score for the current sequence according to value scores assigned to each resource in the current sequence as resources are arranged in the current sequence, with the value scores being assigned at least in consideration of characteristics of each resource;
(D) determining if there are possible unevaluated variations in the arrangement of the resources in the current sequence, and if there are no possible unevaluated variations then designating the current sequence an optimal sequence and proceeding to step (G), and if there are possible unevaluated variations, varying the arrangement of resources in the current sequence to create a new sequence;
(E) calculating a value score for the new sequence according to values assigned to each resource in the new sequence as resources are arranged in the new sequence, with the values being assigned at least according to resource characteristics;
(F) comparing the value scores for the current sequence and the new sequence to determine if the value score for the new sequence exceeds the value score for the current sequence according to predetermined criteria, and if the value score for the new sequence exceeds the value score for the current sequence, then designating the new sequence as the current sequence and proceeding to step (D), and if the value score for the current score exceeds the value score for the new sequence, then retaining the current sequence as the current sequence and proceeding to step (D); and
(G) said computer returning to a system user the optimal sequence for production of the product.
2. The method as recited in claim 1, wherein the representation of the production includes a computer-based representation of the equipment and the arrangement of such equipment.
3. The method as recited in claim 2, wherein the computer-based representation includes a virtual representation of the equipment and the arrangement of such equipment.
4. The method as recited in claim 1, wherein resource characteristics for a resource include restrictions associated with the operation of such resource.
5. The method as recited in claim 4, wherein the restrictions include restrictions associated with interaction of resources.
6. The method as recited in claim 1, wherein calculating a value score for the current sequence, further includes the substeps of:
(A) selecting the last resource in the current sequence and designating such resource as the current resource;
(B) determining if there is another resource upstream in the current sequence and if there is an upstream resource, selecting the upstream resource and designating such upstream resource as the current resource, and repeating step (B) until an upstream resource is not identified, then proceeding to step (C); and
(C) calculating a value score for the current sequence based on a composite of the assigned values of each of the resources of the current sequence selected at steps (A) and (B).
7. The method as recited in claim 1, wherein calculating a value score for the current sequence, further includes the substeps of:
(A) selecting the last resource in the new sequence and designating such resource as the new resource;
(B) determining if there is another resource upstream in the new sequence and if there is an upstream resource, selecting the upstream resource and designating such upstream resource as the new resource, and repeating step (B) until an upstream resource is not identified, then proceeding to step (C); and
(C) calculating a value score for the new sequence based on a composite of the assigned values of each of the resources of the sequence selected at steps (A) and (B).
8. The method as recited in claim 6 or 7, wherein assigning a value to each resource includes a value based on at least a time score, energy score andor human resource score for that resource.
9. The method as recited in claim 8, wherein the method is capable of calculating a value score for a sequence at any point in time during operation of that sequence.
10. The method as recited in claim 1, wherein the method is capable of calculating a value score for a sequence that processes products in batch form.
11. A computer-base system for optimizing a production process comprising:
(A) means for creating a representation of equipment for production of a product and arranging the representation in at least one sequence for production of the product, and means for receiving a designation for each piece of equipment as a resource type according to such piece of equipment’s function;
(B) means for selecting the sequence created at step (A) and designating such sequence as a current sequence;
(C) means for calculating a value score for the current sequence according to value scores assigned to each resource in the current sequence that are received by the system as resources are arranged in the current sequence, with the value scores being assigned at least in consideration of characteristics of each resource;
(D) means for determining if there are possible unevaluated variations in the arrangement of the resources in the current sequence, and if there are no possible unevaluated variations then designating the current sequence an optimal sequence and proceeding to step (G), and if there are possible unevaluated variations, varying the arrangement of resources in the current sequence to create a new sequence;
(E) means for calculating a value score for the new sequence according to values assigned to each resource in the new sequence as resources are arranged in the new sequence, with the values being assigned at least according to resource characteristics;
(F) means for comparing the value scores for the current sequence and the new sequence to determine if the value score for the new sequence exceeds the value score for the current sequence according to predetermined criteria, and if the value score for the new sequence exceeds the value score for the current sequence, then designating the new sequence as the current sequence and proceeding to step (D), and if the value score for the current score exceeds the value score for the new sequence, then retaining the current sequence as the current sequence and proceeding to step (D); and
(G) means for returning to a system user the optimal sequence for production of the product.
12. The system as recited in claim 11, wherein the means for creating the representation of the production includes a computer-based representation of the equipment and the arrangement of such equipment.
13. The system as recited in claim 12, wherein the computer-based representation includes a virtual representation of the equipment and the arrangement of such equipment.
14. The system as recited in claim 11, wherein resource characteristics for a resource include restrictions associated with the operation of such resource.
15. The system as recited in claim 14, wherein the restrictions include restrictions associated with interaction of resources.
16. The system as recited in claim 11, wherein the means for calculating a value score for the current sequence, further includes computer-based:
(A) means for selecting the last resource in the current sequence and designating such resource as a current resource;
(B) means for determining if there is another resource upstream in the current sequence and if there is an upstream resource, selecting the upstream resource and designating such upstream resource as the current resource, and repeating step (B) until an upstream resource is not identified, then proceeding to step (C); and
(C) means for calculating a value score for the current sequence based on a composite of the assigned values of each of the resources of the current sequence selected at steps (A) and (B).
17. The system as recited in claim 11, wherein the means for calculating a value score for the current sequence, further includes computer-based:
(A) means for selecting the last resource in the new sequence and designating such resource as a current resource;
(B) means for determining if there is another resource upstream in the new sequence and if there is an upstream resource, selecting the upstream resource and designating such upstream resource as the current resource, and repeating step (B) until an upstream resource is not identified, then proceeding to step (C); and
(C) means for calculating a value score for the new sequence based on a composite of the assigned values of each of the resources of the new sequence selected at steps (A) and (B).
18. The system as recited in claim 16 or 17, wherein assigning a value to each resource includes a value based on at least a time score, energy score andor human resource score for that resource.
19. The system as recited in claim 18, wherein the system is capable of calculating a value score for a sequence at any point in time during operation of that sequence.
20. The system as recited in claim 11, wherein the system is capable of calculating a value score for a sequence that processes products in batch form.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for recognizing instances of a 3D object in 3D scene data and for determining the 3D poses of said instances comprising the following steps:
(a) providing 3D scene data;
(b) selecting at least one reference point from the 3D scene data;
(c) computing, for each selected reference point, pose candidates for the 3D object under the assumption that said reference point is part of the 3D object;
(d) computing a set of filtered poses from the pose candidates.
2. The method of claim 1, wherein a 3D model is computed from the 3D object before step (a) and is used in steps (b), (c) and (d), comprising the following steps:
(m1) providing 3D object data of the 3D object;
(m2) creating from said 3D object data a 3D model for 3D object recognition and pose determination.
3. The method of claim 2, wherein step (m2) comprises:
(m2a) selecting at least two sample points from the 3D object data;
(m2b) computing the point pair descriptors that describe, for each pair of selected sample points, the two points and their relation;
(m2c) creating a global model description that stores the point pairs indexed by the point pair descriptor.
4. The method of claim 3, wherein step (m2c) comprises:
(m2d) sampling the point pair descriptors;
(m2e) creating a global model description that maps each sampled point pair descriptor to a list of point pairs, where each list contains all pairs of selected sample points with identical sampled point pair descriptor.
5. The method of claim 1, wherein in step (b) the reference points are selected randomly from the 3D scene data or by uniformly sampling the 3D scene data.
6. The method of claim 1, wherein in step (c) a score value is calculated for each pose candidate.
7. The method of claim 6, wherein the pose candidates are computed using a voting scheme.
8. The method of claim 7, wherein the voting scheme comprises the following steps:
(c1) sampling the space of possible object poses;
(c2) creating a counter for each pose space sample of step (c1);
(c3) selecting a set of scene points from the 3D scene data;
(c4) computing, for each selected scene point, the matching poses such that both the selected scene point and the reference point are on the surface of the 3D object;
(c5) increasing, for each pose computed in step (c4), the counter for the corresponding pose space sample;
(c6) detecting peak counter values in the sampled pose space and selecting the corresponding pose space samples as pose candidates.
9. The method of claim 8, wherein in step (c1) the space of possible object poses is represented by two parameters, where the first parameter is a point on the 3D object, and the second parameter is the angle that describes the rotation around the surface normal.
10. The method of claim 9, wherein the point on the 3D object is represented as index into a set of points selected from the 3D object data, and rotation angle is sampled by dividing the set of angles into intervals of equal size.
11. The method of claim 8, wherein in step (c4) the matching poses are computed using a data structure that allows to search for point pairs on the 3D object that are similar to the pair of the reference point and the selected scene point.
12. The method of claim 11, wherein the search for point pairs comprises the steps of:
(c4a) computing a point pair descriptor that describes the two points and their relation;
(c4b) using said point pair descriptor as index to the data structure.
13. The method of claim 12, wherein step (c4b) comprises:
(c4c) sampling the point pair descriptor;
(c4d) using a data structure that maps the sampled point pair descriptor to a list of point pairs.
14. The method of claim 13, where in step (c4d) a hash table is used as data structure.
15. The method of claim 7, wherein step (d) the computation comprises:
(d1) defining a neighbor relation between the pose candidates;
(d2) computing the score of each pose as the weighted sum of the scores of the neighboring pose candidates;
(d3) selecting the set of filtered poses by ranking the poses by the score computed in (d2).
16. The method of claim 15, wherein the neighborhood relation is defined by thresholding the difference in the translation of the poses and the rotation of the poses or by thresholding the maximum distance that a point on the 3D object can have under both poses.
17. The method of claim 15, further comprising a step where the poses selected in (d3) are recomputed as the average pose over the neighboring poses.
18. The method of claim 1, further comprising a step that refines each pose of the set of filtered poses by optimizing an error function that is based on the distances between the 3D scene and the 3D object under said pose.
19. The method of claim 1, further comprising a step computing a score for each pose of the set of filtered poses, where the score describes the consistency between the 3D scene and the 3D object under said pose.