A system determines the position of an object located on a transport assembly. Sensor arrays are embedded in the transport assembly for identifying boundary locations of the object. The sensor arrays are spaced apart in an arrangement for detecting the locations at which the object crosses the sensor arrays. These locations provide a set of boundary points. The system computes the equation of a rectangle that identifies the location of the object on the transport assembly by minimizing the deviation of the set of boundary points from the boundary of the equation of the rectangle.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for locating a rectangular object on a surface of a transport assembly, comprising: recording a set of boundary points that identify boundary locations of the rectangular object on the surface of the transport assembly; the set of boundary points including at least one boundary point that does not lie on the boundary of the rectangular object; and computing an equation of a rectangle that minimizes deviation of the boundary points in the set of boundary points from the boundary of the rectangular object; the equation of the rectangle defining a position of the rectangular object on the transport assembly.
2. The method according to claim 1 , wherein the set of boundary points are recorded from a set of point sensors arranged in a pattern on the transport assembly that produces boundary information of the rectangular object.
3. The method according to claim 2 , wherein the set of point sensors are arranged in arrays of point sensors on the transport assembly.
4. The method according to claim 3 , wherein the arrays of point sensors are arranged perpendicular to each other on the transport assembly.
5. The method according to claim 3 , wherein the arrays of point sensors are arranged in a herringbone pattern on the transport assembly.
6. The method according to claim 3 , wherein the arrays of point sensors are rotated relative to adjacent arrays of point sensors on the transport assembly by a predefined angle.
7. The method according to claim 1 , wherein said computing further comprises assigning each point in the set of boundary points to one of four groups of points with each group of points corresponding to one side of the rectangular object.
8. The method according to claim 7 , wherein said computing further comprises computing a slope value m defining the equation of a rectangle without using dimensions of the rectangular object.
9. The method according to claim 8 , wherein said computing further comprises defining the equation of the rectangle using equations of a line as follows: y mx b , y = ( - 1 m ) x + d m , y mx c , and y = ( - 1 m ) x + e m , where m is a slope; and b, c, d, and e are y-intercepts.
10. The method according to claim 9 , wherein said computing further comprises computing a slope value m according to the following equation: m = ( C 2 - i S A x i i S A y i n A + i S B x i i S B y i n B - i S C x i i S C y i n C + i S D x i i S D y i n D ) ( C 1 - ( i S A x i ) 2 n A - ( i S B y i ) 2 n B - ( i S C x i ) 2 n C - ( i S D y i ) 2 n D ) , where: (x i , y i ) is a boundary point of the rectangular object, S A , S B , S C , and S D , are four groups of boundary points corresponding to each side of the rectangular object, n A = i S A 1 , n B = i S B 1 , n C = i S C 1 , and n D = i S C 1 , are the number of boundary points (x i , y i ) in each group of boundary points S A , S B , S C , and S D , of the rectangular object, respectively, C 1 = i S A x i 2 + i S B y i 2 + i S C x i 2 + i S D y i 2 , and C 2 = i S A y i x i - i S B x i y i + i S C x i y i - i S D x i y i .
11. The method according to claim 10 , wherein said computing further comprises computing y-intercept values b, c, d, and e with the slope value m according to the following equations: b = i S A y i - m i S A x i n A , c = i S C y i - m i S C x i n C , d = m i S B y i + i S B x i n B , and e = m i S D y i + i S D x i n D .
12. The method according to claim 7 , wherein said computing further comprises computing a slope value m defining the equation of a rectangle using dimensions of the rectangular object.
13. The method according to claim 12 , wherein said computing further comprises computing a slope value m defining the equation of a rectangle using an estimate of the orientation of the rectangular object on the transport assembly.
14. The method according to claim 13 , wherein said computing further comprises defining the equation of the rectangle using equations of a line as follows: y mx b, my x d, y mx b h /cos( ), and my x d w /cos( ), where: arctan(m), m is a slope; and b and d are y-intercepts.
15. The method according to claim 14 , wherein said computing further comprises approximating 1/cos(O) with a linear approximation as follows: m 2 + 1 = 1 cos ( ) k e + k e m e m , where: e is an estimate of the orientation of the rectangular object relative to the transport assembly, k e cos( e ), and m tan( ).
16. The method according to claim 15 , wherein said computing further comprises computing a slope value m according to the following equation: m = D 3 - ( D 1 + D 2 ) ( n B + n D ) D 4 + ( D 5 + D 6 ) ( n B + n D ) , where: D 1 ( h 2 k e 2 m e n A n C ( x A x C )( y A y C ) hk e ( n C x A n A x C m e n C y A m e n A y C ), D 2 ( n A n C )( ( xy ) A ( xy ) B ( xy ) C ( xy ) D k e w ( k e m e n D w m e x D y D )) D 3 ( n A n c )( k e n D w x B x D )( k e m e n D w y B y D ), D 4 ( n A n C )( k e m e n D w y B y D ) 2 , D 5 ( hk e m e n C x A x C ) 2 , D 6 ( n A n C )(( xx ) A ( xx ) C D 7 ) ( yy ) B ( yy ) D ), D 7 k e m e ( h 2 k e m e n C 2 hx C w ( k e m e n D w 2 y D )), m e tan( e ), (x i , y i ) is a boundary point of the rectangular object, S A , S B , S C and S D , are four groups of boundary points corresponding to each side of the rectangular object, n A = i S A 1 , n B = i S B 1 , n C = i S C 1 , and n D = i S C 1 , are the number of boundary points (x i , y i ) in each group of boundary points S A , S B , S C , and S D , of the rectangular object, respectively, h is a first dimension of the rectangular object, w is a second dimension of the rectangular object, x A = i S A x i , x B = i S B x i , x C = i S C x i , x D = i S D x i , y A = i S A y i , y B = i S B y i , y C = i S C y i , y D = i S D y i , ( xy ) A = i S A x i y i , ( xy ) B = i S B x i y i ( xy ) C = i S C x i y i , ( xy ) D = i S D x i y i , ( xx ) A = i S A x i x i , ( yy ) B = i S B y i y i ( xx ) C = i S C x i x i , ( yy ) D = i S D y i y i .
17. The method according to claim 16 , wherein said computing further comprises computing y-intercept values b and d with the slope value m according to the following equations: b = ( hk e n C + hk e m m e n C + mx 0 + mx C - y A - y C ) ( n A + n D ) , and d = ( k e n D w + h e m m e n D w - x B + x D - my B - my C ) ( n B + n D ) .
18. The method according to claim 1 , wherein said computing assigns each point in the set of boundary points to one of four groups of points by: locating a bounding rectangle that bounds all the points in the set of boundary points; and forming a line through opposing pairs of corners of the bounding rectangle.
19. The method according to claim 1 , wherein said computing further comprises: computing a centroid using the set of boundary points; sorting points in the set of boundary points by angle about the computed centroid; selecting a pair of adjacent points from the sorted set of boundary points; computing a line through the selected pair of adjacent points; and computing a rectangle bounding box with the computed line that includes all of the points in the set of boundary points.
20. An apparatus for locating a rectangular object on a transport assembly, comprising: sensors for recording a set of boundary points that identify boundary locations of the rectangular object on the surface of the transport assembly; the set of boundary points including at least one boundary point that does not lie on the boundary of the rectangular object; and a transport controller coupled to the sensors for computing an equation of a rectangle that minimizes deviation of the boundary points in the set of boundary points from the boundary of the rectangular object; the equation of the rectangle defining a position of the rectangular object on the transport assembly.
21. The apparatus according to claim 20 , wherein the sensors further comprises point sensors arranged in arrays of point sensors on the transport assembly.
22. The apparatus according to claim 21 , wherein the arrays of point sensors are arranged perpendicular to each other on the transport assembly.
23. The apparatus according to claim 21 , wherein the arrays of point sensors are arranged in a herringbone pattern on the transport assembly.
24. The apparatus according to claim 21 , wherein the arrays of point sensors are rotated relative to adjacent arrays of point sensors on the transport assembly.
25. The apparatus according to claim 20 , wherein said transport controller assigns each point in the set of boundary points to one of four groups of points, with each group of points corresponding to one side of the rectangular object.
26. The apparatus according to claim 20 , wherein said transport controller further comprises: means for locating a bounding rectangle that bounds all the points in the set of boundary points; and means for forming a line through opposing pairs of corners of the bounding box.
27. The apparatus according to claim 20 , wherein said transport controller performs the operations of: means for computing a centroid using the set of boundary points; means for sorting points in the set of boundary points by angle about the computed centroid; means for selecting a pair of adjacent points from the sorted set of boundary points; means for computing a line through the selected pair of adjacent points; and means for computing a rectangle bounding box with the computed line that includes all of the points in the set of boundary points.
28. The apparatus according to claim 20 , further comprising actuators coupled to the transport controller for moving the rectangular object on the transport assembly.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
March 30, 2000
May 11, 2004
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.