# Patent

## Title
System and method for positioning a tool in a work space

## Abstract

A system for assisting an operator in positioning an operating element of any of a plurality of tools at a desired location at a worksite, includes a plurality of fixed position video imaging devices located at known positions at the worksite. Each of the imaging devices has a known field of view. A memory stores a digital image and dimensions of each of the tools, as well as the desired locations at the worksite for operating the tools. A processor is responsive to the video devices for determining the tool being viewed, and determining the position and orientation of the tool and the operating element of said tool. A radio transmitter transmits this to a receiver with the tool operator.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
Not applicable.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Not applicable.
BACKGROUND
This relates to a system that facilitates positioning a tool in a work space or at a worksite, such as for example a construction site. When the interior of a building is being finished, connectors, anchors and the like are attached to the floors, ceilings and other structures in the building and cuts are made and holes drilled using power saws and drills. All of this must be accomplished using special power tools at predetermined locations, requiring that the tools be operated at numerous precisely defined positions in the building. For example, nail guns, power saws, powder anchor tools, and the like are used to nail, cut, install fasteners, and perform other operations at predetermined points within the building with little error. In any building, a large number of electrical, plumbing, and HVAC components must be properly sited and installed, usually with power tools. Additionally, finishing a building interior also requires that a number of different tools that are not powered be operated at precisely defined positions, such as for example reinforcement bar scanners. Positioning both power tools and non-power tools must be accomplished quickly and with some precision with respect to the surrounding walls, ceilings and floors as they are roughed in. Typically, it has required a significant amount of labor to lay out various construction points at such a construction site. Teams of workers have been needed to measure and mark predetermined locations. It will be appreciated that this process has been subject to errors, resulting from measurement mistakes and from accumulated errors. Further, the cost of this layout process and the time needed to perform the layout process have both been significant.
Various location determining systems, including systems that incorporate one or more robotic total stations, have been used for building layout. The total station in such a system, positioned at a fixed, known location, directs a beam of laser light at a retroreflective target. As the target moves, robotics in the total station cause the beam of light to track the target. By measuring the time of travel of the beam from the total station to the retroreflective target and then back to the total station, the distance to the target is determined. The directional orientation of the beam to the target is also measured. Since the dimensional coordinates of the total station are known, the dimensional coordinates of the retroreflective target can easily be determined. Based on the measured position of the retroreflective target, and the desired position of some building feature, such as a drilled hole, or a fastener, the operator can move the reflector to the desired position, and mark the position.
Although position determination systems, such as ranging radio systems and robotic total station systems, can facilitate and speed the layout process, nevertheless the layout process has continued to be lengthy, tedious, and expensive.
SUMMARY
A system for assisting an operator in positioning an operating element of any of a plurality of tools at a desired location at a worksite includes a plurality of fixed position video imaging devices located at known positions at the worksite. Each of the imaging devices has a known field of view. The tool has an operating element. A processor is responsive to the plurality of fixed position video imaging devices for determining the tool being viewed, and the position and orientation of the tool and the operating element of the tool. A radio transmitter is responsive to the processor for transmitting the position and orientation of the tool and the operating element and the desired position and orientation of the tool and the operating element to a receiver with the tool operator. A radio receiver and a display, responsive to the radio receiver, are carried by the tool operator, such that the operator is assisted in moving the operating element and the tool to a desired position. A memory may have a database of the digital image and dimensions of each of the plurality of tools, and a database of the desired locations at the worksite for operating the tool. A moveable video imaging device may also be used.
A method of assisting in the use by an operator of the operating element comprises the steps of providing a tool at the worksite, providing a plurality of video imaging devices at known positions with known fields of view in the work space, at least two of the video imaging devices providing an image of the tool at the worksite, and providing a database specifying the image and dimensions of the tool, including the operating element. The location and orientation of the tool are then determined based on the images of the tool from the at least two video imaging devices.
The method of assisting an operator in the use of the operating element of a tool at desired locations at a worksite may further include the steps of identifying a desired location at the worksite at which the tool is to be used, and displaying to the operator of the tool the position and orientation of the tool and the desired location at the worksite.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a view illustrating a building under construction;
FIG. 2 shows a power tool;
FIG. 3 illustrates the manner in which fixed position video imaging devices are used to determine the dimensional co-ordinates of a point adjacent the operating element of the power tool;
FIG. 4 is a schematic diagram of circuitry used in the system;
FIGS. 5 and 6 are useful in explaining the manner in which video imaging devices may be used to determine the position of a point in space; and
FIG. 7 is a diagrammatic plan view of the floor plan of a building showing fixed and moveable video imaging devices.



DETAILED DESCRIPTION
FIG. 1 shows a building 11 under construction, a typical environment in which a system for assisting a tool operator in properly positioning the tool is needed, and an environment in which such a system can provide significant gains in productivity. Power tools are used to install fasteners, nails, and similar devices, and to cut holes and larger openings in various structural components, such as the floors, walls, and ceilings of the building. Non-power tools are also used to perform numerous functions. In the past it has been necessary for workers to go through a time-consuming layout process, measuring and marking points where various tools, such as power tools, are to be operated, before the cutting, fastening and steps are performed. The embodiments described, below, eliminate this measuring and marking process so that a tool can simply be moved directly to the location where it is to be used, and the operator can be signaled that the tool is properly located and oriented for operation or use.
Reference is made to FIGS. 1-4 which collectively illustrate a system for assisting an operator in using a tool at desired locations at a worksite without the need to measure the worksite and mark appropriate layout information on the floors, ceilings, and walls. It should also be appreciated that the tool may comprise a marking rod that permits the worker to make marks on surfaces with a marking element, such that later operations can be properly positioned. Such a marking rod may be particularly useful when the tool needed for the desired operation is not immediately available for use. The system includes a tool 10, which is shown in FIG. 2 as a power fastener tool. As discussed, below, the system may include and operate with a number of different power tools, recognizing and differentiating among them. It will be appreciated that the system may be used with non-power tools, as well. The tool 10 has an operating element, a barrel 13, from which a fastener is fired when the operator presses trigger 15. A supply of fasteners is provided in canister 17. The system includes a position radio receiver 19 that is mounted on the tool 10 for receiving information specifying the position and orientation of the tool such that this information can be displayed on display 21 for review by the operator. Based on the displayed information, the operator can position the barrel 13 properly and orient the tool 10 properly before the tool is actuated. This will result in a fastener being secured to a surface at the worksite at a desired location without the need for preliminary layout and marking at the worksite.
The system for assisting an operator in positioning an operating element of a tool includes a plurality of fixed position video imaging devices, shown as digital video imaging devices 18, 20, 22, and 24. Each of the imaging devices has been leveled, is located at a known position at the worksite 11, and faces in a known direction. As a consequence, each of the imaging devices has a known field of view. As shown in FIG. 1, there are a number of digital video imaging devices positioned on each floor with the imaging devices arranged to afford the system a view of substantially the entire floor under construction. Digital video imaging devices 18 are positioned on the third floor of the building 11, digital video imaging devices 20 are positioned on the first floor of the building 11, digital video imaging devices 22 are positioned on the second floor of the building 11, and digital video imaging devices 24 are positioned on the fourth floor of the building 11. FIG. 3 shows a tool 10 located on the fourth floor of the building 11, being viewed by four separate video imaging devices 24. The devices 24 are oriented, either manually or automatically. Devices 24 face in known directions, and their fields of view are therefore known. Each of the video imaging devices 24 has the tool 10 and the operating element 13 of tool 10 in its field of view in FIG. 3. It will be appreciated, however, that not all of the devices may be able to see a tool as it is moved to various parts of the building floor. The center of the operating element 13 in the image produced by each device 24 defines a vector from that device to the operating element. Since the locations of the devices 24 are precisely known, the vectors from the devices collectively provide the location (Xp, Yp, Zp) of the operating element of the tool. Although two such vectors are all that are needed to specify this location, additional vectors provided by additional devices enhance the accuracy of the system. Also having a larger number of video devices makes it more likely that at least two devices will always have a view of the operating element 13 as the operator moves about the worksite with the tool. The orientation of the tool 10 is determined by locating a point 26 (X2, Y2, Z2) at the opposite end of the tool 10. If the operating element 13 is not visible to the devices 24 because of the particular location at the worksite where the tool is being used, the location of the operating element 13 may be determined by locating another point on the tool, such as point 28 half way along the length of the tool 10.
As shown in FIG. 3, the coordinates of point 28 are X1, Y1, and Z1, the coordinates of point 26 are X2, Y2, and Z2, and the coordinates of point 23 are XP, YP, and ZP. Points 26 and 28 lie on a common line with point 23. It will be apparent from a review of FIG. 3, that

(X2−X1)/L2=(X1−XP)/L1 and

XP=X1+(L1/L2)(X1−X2).

Similarly,

YP=Y1+(L1/L2)(Y1−Y2), and

ZP=Z1+(L1/L2)(Z1−Z2).

If L1=L2, then these relationships simplify even further to

XP=2X1−X2,

YP=2Y1−Y2, and

ZP=2Z1−Z2.

Thus, if the three-dimensional coordinates of the points 26 and 28 are determined, the three-dimensional coordinates of the point 23 is also known.

The coordinates of points 23, 26 and 28 are determined by use of the vector information provided by the video devices 24. The system further includes a processor 40 (FIG. 4) which is responsive to the digital video imaging devices 24 that provide vector information. Processor 40, which is connected to the video imaging devices 18, 20, 22 and 24 by a wired connection or by a wireless link, determines the position of each of the points 23, 26, and 28 with respect to the devices 24 using triangulation analysis based on the vectors from the video devices 24.
The processor 40 may receive the coordinates of each of the video devices 24 through a manual input at 42, or by any other appropriate means. Alternatively, the system may initially determine these coordinates based on the vectors from the devices 42 to targets 50. Targets 50 are positioned at known locations at the worksite and permit each of the video devices 24 to be deployed with a minimum of effort.
In any event, the position of point 23 is determined either by direct observation by devices 24 or in relation to points 26 and 28, and compared with data stored in memory 52. Memory 52 has data stored specifying a building information model (BIM) for the building 11. The memory 52 further has data specifying one or more desired locations for operation of the tool at the worksite. The memory 52 also has data stored specifying the appearance and dimensions of the tool 10, as well as other tools that may be used at the worksite. The processor 40 determines the location and orientation of the tool 10 in response to the images of the tool 10 provided by the plurality of video imaging devices 24 and compares this with a desired point of operation and tool orientation. Additionally, the processor may automatically determine which of the various tools that may be used at the worksite is then in the field of view of the video devices 24. This information is displayed on a display 46, as well as supplied to a radio transmitter 60 for transmission to the tool operator. The information is received by receiver 19 and then displayed on display 21 so that the operator may move the tool to the desired location at the worksite for operation.
The video devices 24 are shown in FIG. 4 as being directly connected to the processor 40, but may alternatively be connected via a radio link, or other wireless link to the processor 40. As stated above, the memory 52 may have a database of the digital image and dimensions of each of the plurality of tools, and a database specifying the desired locations at the worksite for operating each of these tools. The processor is capable of determining which of the tools is then in the view of the video devices, and of keeping track of more than one such tool simultaneously.
In use, the video devices 24 are positioned at the worksite, leveled manually or automatically, and their three-dimensional coordinates noted either manually or automatically by reference to precisely located targets. The tool 10 is then moved by the operator so that the operating element of the tool is at a desired location, as indicated on display 21. The tool is then operated, and the tool moved to the next point of operation. When the tool is properly positioned and operated, a switch associated with trigger 15 may be actuated, permitting the system to keep track of the desired locations where the tool has been operated.
Reference is now made to FIGS. 5 and 6, which illustrate the manner in which video imaging devices may be used to determine the position of a point in space, such as for example the operating element or other point on a tool. Generalizing, and referring specifically to FIG. 5, it will be seen that collinearity equations represent the condition in which the exposure station of any photograph, an object point, and its photo image all lie on a straight line.



  
    
      x
      a
    
    =
    
      
        x
        o
      
      -
      
        f
        ⁡
        
          [
          
            
              
                
                  m
                  11
                
                ⁡
                
                  (
                  
                    
                      X
                      A
                    
                    -
                    
                      X
                      L
                    
                  
                  )
                
              
              +
              
                
                  m
                  12
                
                ⁡
                
                  (
                  
                    
                      Y
                      A
                    
                    -
                    
                      Y
                      L
                    
                  
                  )
                
              
              +
              
                
                  m
                  13
                
                ⁡
                
                  (
                  
                    
                      Z
                      A
                    
                    -
                    
                      Z
                      L
                    
                  
                  )
                
              
            
            
              
                
                  m
                  31
                
                ⁡
                
                  (
                  
                    
                      X
                      A
                    
                    -
                    
                      X
                      L
                    
                  
                  )
                
              
              +
              
                
                  m
                  32
                
                ⁡
                
                  (
                  
                    
                      Y
                      A
                    
                    -
                    
                      Y
                      L
                    
                  
                  )
                
              
              +
              
                
                  m
                  33
                
                ⁡
                
                  (
                  
                    
                      Z
                      A
                    
                    -
                    
                      Z
                      L
                    
                  
                  )
                
              
            
          
          ]
        
      
    
  




  
    
      y
      a
    
    =
    
      
        y
        o
      
      -
      
        f
        ⁡
        
          [
          
            
              
                
                  m
                  21
                
                ⁡
                
                  (
                  
                    
                      X
                      A
                    
                    -
                    
                      X
                      L
                    
                  
                  )
                
              
              +
              
                
                  m
                  22
                
                ⁡
                
                  (
                  
                    
                      Y
                      A
                    
                    -
                    
                      Y
                      L
                    
                  
                  )
                
              
              +
              
                
                  m
                  23
                
                ⁡
                
                  (
                  
                    
                      Z
                      A
                    
                    -
                    
                      Z
                      L
                    
                  
                  )
                
              
            
            
              
                
                  m
                  31
                
                ⁡
                
                  (
                  
                    
                      X
                      A
                    
                    -
                    
                      X
                      L
                    
                  
                  )
                
              
              +
              
                
                  m
                  32
                
                ⁡
                
                  (
                  
                    
                      Y
                      A
                    
                    -
                    
                      Y
                      L
                    
                  
                  )
                
              
              +
              
                
                  m
                  33
                
                ⁡
                
                  (
                  
                    
                      Z
                      A
                    
                    -
                    
                      Z
                      L
                    
                  
                  )
                
              
            
          
          ]
        
      
    
  



where, f is the camera focal length, xo, yo are the image space coordinates of the principal point, XL, XL, ZL, are object space coordinates of the exposure station (L), XA, YA, ZA are the object space coordinates of the arbitrary point A, and xa, ya are the image space coordinates of the point A. “m's” are the elements of the rotation matrix which can be calculated from three rotation angles (ω,φ,κ)





  
    [
    
      
        
          
            m
            11
          
        
        
          
            m
            12
          
        
        
          
            m
            13
          
        
      
      
        
          
            m
            21
          
        
        
          
            m
            22
          
        
        
          
            m
            23
          
        
      
      
        
          
            m
            31
          
        
        
          
            m
            32
          
        
        
          
            m
            33
          
        
      
    
    ]
  
  =
  
    
      
        [
        
          
            
              
                cos
                ⁢
                
                  
                
                ⁢
                κ
              
            
            
              
                sin
                ⁢
                
                  
                
                ⁢
                κ
              
            
            
              0
            
          
          
            
              
                
                  -
                  sin
                
                ⁢
                
                  
                
                ⁢
                κ
              
            
            
              
                cos
                ⁢
                
                  
                
                ⁢
                κ
              
            
            
              0
            
          
          
            
              0
            
            
              0
            
            
              1
            
          
        
        ]
      
      ⁡
      
        [
        
          
            
              
                cos
                ⁢
                
                  
                
                ⁢
                φ
              
            
            
              0
            
            
              
                
                  -
                  sin
                
                ⁢
                
                  
                
                ⁢
                φ
              
            
          
          
            
              0
            
            
              1
            
            
              0
            
          
          
            
              
                sin
                ⁢
                
                  
                
                ⁢
                φ
              
            
            
              0
            
            
              
                cos
                ⁢
                
                  
                
                ⁢
                φ
              
            
          
        
        ]
      
    
    ⁢
    
       
      
        [
        
          
            
              1
            
            
              0
            
            
              0
            
          
          
            
              0
            
            
              
                cos
                ⁢
                
                  
                
                ⁢
                ω
              
            
            
              
                sin
                ⁢
                
                  
                
                ⁢
                ω
              
            
          
          
            
              0
            
            
              
                
                  -
                  sin
                
                ⁢
                
                  
                
                ⁢
                ω
              
            
            
              
                cos
                ⁢
                
                  
                
                ⁢
                ω
              
            
          
        
        ]
      
    
  




The nonlinear collinearity equations are linearized by using Taylor's theorem. In linearizing them, the collinearity equations are rewritten as following:



  
    F
    =
    
      
        
          x
          o
        
        -
        
          f
          ⁢
          
            r
            q
          
        
      
      =
      
        x
        a
      
    
  




  
    G
    =
    
      
        
          y
          o
        
        -
        
          f
          ⁢
          
            s
            q
          
        
      
      =
      
        y
        a
      
    
  



where

q=m31(XA−XL)+m32(YA−YL)+m33(ZA−ZL)

r=m11(XA−XL)+m12(YA−YL)+m13(ZA−ZL)

s=m21(XA−XL)+m22(YA−YL)+m23(ZA−ZL)

According to Taylor's theorem, the collinearity equation may be expressed in linearized form by taking partial derivatives with respect to the unknowns. In this case, the unknowns are the object coordinates of the arbitrary point A. The followings equations are simplified forms of the linearized collinearity equation to estimate the object coordinates of the arbitrary point A.

b14dXA+b15dYA+b16dZA=J+vxa 

b24dXA+b25dYA+b26dZA=K+vya 

where,




  
    
      b
      14
    
    =
    
      
        f
        
          q
          2
        
      
      ⁢
      
        (
        
          
            rm
            31
          
          -
          
            qm
            11
          
        
        )
      
    
  




  
    
      b
      15
    
    =
    
      
        f
        
          q
          2
        
      
      ⁢
      
        (
        
          
            rm
            32
          
          -
          
            qm
            12
          
        
        )
      
    
  




  
    
      b
      16
    
    =
    
      
        f
        
          q
          2
        
      
      ⁢
      
        (
        
          
            rm
            33
          
          -
          
            qm
            13
          
        
        )
      
    
  




  
    
      b
      24
    
    =
    
      
        f
        
          q
          2
        
      
      ⁢
      
        (
        
          
            sm
            31
          
          -
          
            qm
            21
          
        
        )
      
    
  




  
    
      b
      25
    
    =
    
      
        f
        
          q
          2
        
      
      ⁢
      
        (
        
          
            sm
            32
          
          -
          
            qm
            22
          
        
        )
      
    
  




  
    
      b
      26
    
    =
    
      
        f
        
          q
          2
        
      
      ⁢
      
        (
        
          
            sm
            33
          
          -
          
            qm
            23
          
        
        )
      
    
  



Assume that there are three cameras, C1, C2, and C3, with known interior and exterior orientation parameters. The unknowns are the object coordinates of two arbitrary points A and B. Then the matrix form of the above linearized collinearity equation is written as following.




  
    
      
        
          AX
          =
          
            L
            +
            V
          
        
        ⁢
        
          

        
        ⁢
        where
        ⁢
        
          

        
        ⁢
        
          
            A
            =
            
              [
              
                
              
              ⁢
              
                
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            14
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            15
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            16
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                    
                  
                  
                    0
                  
                  
                    0
                  
                  
                    0
                  
                
                
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            24
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            25
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            26
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                    
                  
                  
                    0
                  
                  
                    0
                  
                  
                    0
                  
                
                
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            14
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        2
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            15
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        2
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            16
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        2
                      
                    
                  
                  
                    0
                  
                  
                    0
                  
                  
                    0
                  
                
                
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            24
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        2
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            25
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        2
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            26
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        2
                      
                    
                  
                  
                    0
                  
                  
                    0
                  
                  
                    0
                  
                
                
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            14
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        3
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            15
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        3
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            16
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        3
                      
                    
                  
                  
                    0
                  
                  
                    0
                  
                  
                    0
                  
                
                
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            24
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        3
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            25
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        3
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            A
                            26
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        3
                      
                    
                  
                  
                    0
                  
                  
                    0
                  
                  
                    0
                  
                
                
                  
                    0
                  
                  
                    0
                  
                  
                    0
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            14
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            15
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            16
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                    
                  
                
                
                  
                    0
                  
                  
                    0
                  
                  
                    0
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            24
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            25
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            26
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                    
                  
                
                
                  
                    0
                  
                  
                    0
                  
                  
                    0
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            14
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        2
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            15
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        2
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            16
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        2
                      
                    
                  
                
                
                  
                    0
                  
                  
                    0
                  
                  
                    0
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            24
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        2
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            25
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        2
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            26
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        2
                      
                    
                  
                
                
                  
                    0
                  
                  
                    0
                  
                  
                    0
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            14
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        3
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            15
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        3
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            16
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        3
                      
                    
                  
                
                
                  
                    0
                  
                  
                    0
                  
                  
                    0
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            24
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        3
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            25
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        3
                      
                    
                  
                  
                    
                      
                        (
                        
                          b
                          
                            B
                            26
                          
                        
                        )
                      
                      
                        c
                        ⁢
                        
                          
                        
                        ⁢
                        3
                      
                    
                  
                
              
              ]
            
          
          ,
          
            

          
          ⁢
          
            X
            =
            
              
                
                  [
                  
                    
                      
                        
                          d
                          
                            X
                            A
                          
                        
                      
                    
                    
                      
                        
                          d
                          
                            Y
                            A
                          
                        
                      
                    
                    
                      
                        
                          d
                          
                            Z
                            A
                          
                        
                      
                    
                    
                      
                        
                          d
                          
                            X
                            B
                          
                        
                      
                    
                    
                      
                        
                          d
                          
                            Y
                            B
                          
                        
                      
                    
                    
                      
                        
                          d
                          
                            Z
                            B
                          
                        
                      
                    
                  
                  ]
                
                ⁢
                
                  

                
                ⁢
                L
              
              =
              
                [
                
                  
                    
                      
                        
                          (
                          
                            J
                            A
                          
                          )
                        
                        
                          c
                          ⁢
                          
                            
                          
                          ⁢
                          1
                        
                      
                    
                  
                  
                    
                      
                        
                          (
                          
                            K
                            A
                          
                          )
                        
                        
                          c
                          ⁢
                          
                            
                          
                          ⁢
                          1
                        
                      
                    
                  
                  
                    
                      
                        
                          (
                          
                            J
                            A
                          
                          )
                        
                        
                          c
                          ⁢
                          
                            
                          
                          ⁢
                          2
                        
                      
                    
                  
                  
                    
                      
                        
                          (
                          
                            K
                            A
                          
                          )
                        
                        
                          c
                          ⁢
                          
                            
                          
                          ⁢
                          2
                        
                      
                    
                  
                  
                    
                      
                        
                          (
                          
                            J
                            A
                          
                          )
                        
                        
                          c
                          ⁢
                          
                            
                          
                          ⁢
                          3
                        
                      
                    
                  
                  
                    
                      
                        
                          (
                          
                            K
                            A
                          
                          )
                        
                        
                          c
                          ⁢
                          
                            
                          
                          ⁢
                          3
                        
                      
                    
                  
                  
                    
                      
                        
                          (
                          
                            J
                            B
                          
                          )
                        
                        
                          c
                          ⁢
                          
                            
                          
                          ⁢
                          1
                        
                      
                    
                  
                  
                    
                      
                        
                          (
                          
                            K
                            B
                          
                          )
                        
                        
                          c
                          ⁢
                          
                            
                          
                          ⁢
                          1
                        
                      
                    
                  
                  
                    
                      
                        
                          (
                          
                            J
                            B
                          
                          )
                        
                        
                          c
                          ⁢
                          
                            
                          
                          ⁢
                          2
                        
                      
                    
                  
                  
                    
                      
                        
                          (
                          
                            K
                            B
                          
                          )
                        
                        
                          c
                          ⁢
                          
                            
                          
                          ⁢
                          2
                        
                      
                    
                  
                  
                    
                      
                        
                          (
                          
                            J
                            B
                          
                          )
                        
                        
                          c
                          ⁢
                          
                            
                          
                          ⁢
                          3
                        
                      
                    
                  
                  
                    
                      
                        
                          (
                          
                            K
                            B
                          
                          )
                        
                        
                          c
                          ⁢
                          
                            
                          
                          ⁢
                          3
                        
                      
                    
                  
                
                ]
              
            
          
          ,
        
      
    
  
  
    
      
        V
        =
        
          [
          
            
              
                
                  
                    (
                    
                      v
                      
                        x
                        A
                      
                    
                    )
                  
                  
                    c
                    ⁢
                    
                      
                    
                    ⁢
                    1
                  
                
              
            
            
              
                
                  
                    (
                    
                      v
                      
                        y
                        A
                      
                    
                    )
                  
                  
                    c
                    ⁢
                    
                      
                    
                    ⁢
                    1
                  
                
              
            
            
              
                
                  
                    (
                    
                      v
                      
                        x
                        A
                      
                    
                    )
                  
                  
                    c
                    ⁢
                    
                      
                    
                    ⁢
                    2
                  
                
              
            
            
              
                
                  
                    (
                    
                      v
                      
                        y
                        A
                      
                    
                    )
                  
                  
                    c
                    ⁢
                    
                      
                    
                    ⁢
                    2
                  
                
              
            
            
              
                
                  
                    (
                    
                      v
                      
                        x
                        A
                      
                    
                    )
                  
                  
                    c
                    ⁢
                    
                      
                    
                    ⁢
                    3
                  
                
              
            
            
              
                
                  
                    (
                    
                      v
                      
                        y
                        A
                      
                    
                    )
                  
                  
                    c
                    ⁢
                    
                      
                    
                    ⁢
                    3
                  
                
              
            
            
              
                
                  
                    (
                    
                      v
                      
                        x
                        B
                      
                    
                    )
                  
                  
                    c
                    ⁢
                    
                      
                    
                    ⁢
                    1
                  
                
              
            
            
              
                
                  
                    (
                    
                      v
                      
                        y
                        B
                      
                    
                    )
                  
                  
                    c
                    ⁢
                    
                      
                    
                    ⁢
                    1
                  
                
              
            
            
              
                
                  
                    (
                    
                      v
                      
                        x
                        B
                      
                    
                    )
                  
                  
                    c
                    ⁢
                    
                      
                    
                    ⁢
                    2
                  
                
              
            
            
              
                
                  
                    (
                    
                      v
                      
                        y
                        B
                      
                    
                    )
                  
                  
                    c
                    ⁢
                    
                      
                    
                    ⁢
                    2
                  
                
              
            
            
              
                
                  
                    (
                    
                      v
                      
                        x
                        B
                      
                    
                    )
                  
                  
                    c
                    ⁢
                    
                      
                    
                    ⁢
                    3
                  
                
              
            
            
              
                
                  
                    (
                    
                      v
                      
                        y
                        B
                      
                    
                    )
                  
                  
                    c
                    ⁢
                    
                      
                    
                    ⁢
                    3
                  
                
              
            
          
          ]
        
      
    
  




The least squares solution of above equation can be acquired by the following equation

X=(ATA)−1ATL 

The above equation provides three dimensional object space coordinates of arbitrary points A and B. Therefore, the three dimensional orientation of a vector between the two points can be directly determined.

Reference is made to FIG. 7, which is a diagrammatic plan view of the floor plan of a building interior. Located in the building are four video imaging devices, 70, 72, 74, and 76, fixed in position in separate corners of the building. FIG. 7 presents the situation in which a worker 78 on a scissors lift 80 is working at a position adjacent a wall 82. Wall 82 screens the worker from video imaging devices 74 and 76, permitting the tool being used by the worker to be viewed only by video imaging devices 70 and 72. While, of course, the position of the tool carried by the worker may be determined from the video data developed by two video imaging devices, the accuracy of the calculated position improves with data from additional devices. Additionally, it is quite possible that the tool may be screened from the view of one of the devices 70 and 72 by the worker. In order to address these situations, a portable video imaging device 84 may be positioned appropriately. The video device 84 is located where all of the other video devices 70-76 may view it, permitting its location to be calculated accurately. With the location, orientation and field of view of the video device 84 determined, the video data from device 84 may be processed in conjunction with data from devices 70 and 72 to determine the location of a tool being used by worker 78. When worker 78 and lift 80 are moved to the other side of wall, 82, the video device 84 may be repositioned so that its output may be combined with video output from devices 74 and 76.
As discussed, above, the system memory 52 may includes data defining the digital image and dimensions of each of a plurality of tools, so that the system can distinguish among the various tools that may be used by a worker. The system may then determine location based on a recognition of the overall three dimensional image of the tool, or based on the certain features of the tool, whether those features were added to the tool for this specific purpose or built into the tool for this or another purpose.
The system is capable of finding and tracking various construction tools as they move about the building construction site. It will be appreciated that each video imaging device viewing the construction site will provide a huge amount of video data for analysis. This analysis task may be simplified by only looking at those portions of each digital image where movement is sensed. While tools will be stationary from time to time, when they are in use by a workman, much of the time they will be moving from point to point. Once a tool and its features are located, the system can then continue to monitor the position of the tool, even when the tool is stationary.
If desired, a system may be configured to determine the coordinates of a point of interest in two dimensional space. Such a two dimensional system may be used, for example, to lay out positions on the floor of a building for operation of tools. Only one video device need be used for two dimensional operation, although using additional video devices increases accuracy and reduces the risk that the tool will be moved to a location at the worksite where there is no coverage by a video device.
Other variations in the system depicted in FIGS. 1-7 may be adopted. For example, a video surveying system may be utilized in which each tool carries unique video targets. The targets allow the video surveying system to identify the tool, as well as its orientation.
Other arrangements can be used to determine the position and orientation of the tool.

## Claims

1. A system for assisting an operator in carrying any of a plurality of tools to a desired position and a desired orientation at a worksite, said system comprising:
a plurality of imaging devices located at known positions at said worksite, each of said imaging devices having a known field of view,
a tool having an operating element, said tool being one of said plurality of tools and wherein said tool is configured to be directly and physically manipulated by said operator,
a memory having a database stored therein of the digital image and dimensions of each of said plurality of tools,
a processor, responsive to said plurality of imaging devices, wherein:
said plurality of imaging devices are configured to view said tool,
said processor is configured to identify said tool from said plurality of tools, and
said processor is configured to determine a current position of said tool, a current orientation of said tool, said desired position of said tool, and said desired orientation of said tool, and

a display attached to said tool, where said display is configured to display visual information such that said operator is assisted in directly and physically carrying said tool from said current position and said current orientation to said desired position and said desired orientation.

2. A system for assisting an operator in carrying a tool to a desired position and a desired orientation at a worksite, said system comprising:
a plurality of video imaging devices located at known locations at said worksite, each of said video imaging devices having a known field of view,
a processor, responsive to said plurality of video imaging devices, said processor including a memory having data stored therein specifying a desired position and a desired orientation of said tool at said worksite, said memory further having data stored therein specifying the appearance and dimensions of said tool, said processor configured to identify said tool and to determine a current position of said tool and a current orientation of said tool, and
a display for providing indications to said operator of said tool such that said operator is assisted in directly and physically carrying said tool from said current position and said current orientation to said desired position and said desired orientation.

3. The system of claim 2, wherein said memory includes data specifying the appearance and dimensions of a plurality of tools, and in which said processor determines which of said plurality of tools is in the field of view of said video imaging devices.

4. The system of claim 2, wherein said processor determines a position of an operating element of said tool and a movement of said operating element needed to move said operating element to a desired location.

5. The system of claim 4, wherein said desired locations is specified in three dimensions.

6. The system of claim 4, wherein said desired locations is specified in two dimensions.

7. A method of assisting an operator in carrying a tool to a desired position and a desired orientation at a worksite, said method comprising the steps of:
providing a tool at said worksite, wherein said tool is configured to be directly and physically manipulated by said operator,
providing a plurality of imaging devices at known positions with known fields of view in the worksite, at least two of said plurality of imaging devices providing an image of the tool at said worksite,
providing a database specifying the image and dimensions of said tool, including an operating element of said tool,
determining a current position of said tool, a current orientation of said tool, said desired position of said tool, and said desired orientation of said tool, and
displaying, at a display attached to said tool, visual information such that said operator is assisted in directly and physically carrying said tool from said current position and said current orientation to said desired position and said desired orientation.

8. The method of claim 7, further comprising the steps of:
identifying a desired location at said worksite at which said tool is to be used, and displaying to said operator said desired location.

9. A system for guiding an operator of a tool in moving an operating element of said tool to a desired location in a workspace, said system comprising:
a plurality of fixed imaging devices at known positions with known fields of view in said workspace,
a moveable imaging device, positionable in said workspace,
a processor, responsive to said plurality of fixed imaging devices and to said moveable imaging device, wherein:
said plurality of fixed imaging devices and said moveable imaging device are configured to view said tool,
said processor is configured to identify said tool, and
said processor is configured to determine a current position of said tool, a current orientation of said tool, a desired position of said tool, and a desired orientation of said tool, and

a display for providing indications to said operator of said tool such that said operator is assisted in directly and physically carrying said tool from said current position and said current orientation to said desired position and said desired orientation.

10. The system of claim 9, wherein said plurality of imaging devices comprises at least four imaging devices.