The present disclosure relates to a coordinate measuring machine, and more particularly to a portable articulated arm coordinate measuring machine having an onboard electronic data processing system and user interface.
Portable articulated arm coordinate measuring machines (AACMMs) have found widespread use in the manufacturing or production of parts where there is a need to rapidly and accurately verify the dimensions of the part during various stages of the manufacturing or production (e.g., machining) of the part. Portable AACMMs represent a vast improvement over known stationary or fixed, cost-intensive and relatively difficult to use measurement installations, particularly in the amount of time it takes to perform dimensional measurements of relatively complex parts. Typically, a user of a portable AACMM simply guides a probe along the surface of the part or object to be measured. The measurement data are then recorded and provided to the user. In some cases, the data are provided to the user in visual form, for example, three-dimensional (3-D) form on a computer screen. In other cases, the data are provided to the user in numeric form, for example when measuring the diameter of a hole, the text “Diameter=1.0034” is displayed on a computer screen.
An example of a prior art portable articulated arm CMM is disclosed in commonly assigned U.S. Pat. No. 5,402,582 ('582), which is incorporated herein by reference in its entirety. The '582 patent discloses a 3-D measuring system comprised of a manually-operated articulated arm CMM having a support base on one end and a measurement probe at the other end. Commonly assigned U.S. Pat. No. 5,611,147 ('147), which is incorporated herein by reference in its entirety, discloses a similar articulated arm CMM. In the '147 patent, the articulated arm CMM includes a number of features including an additional rotational axis at the probe end, thereby providing for an arm with either a two-two-two or a two-two-three axis configuration (the latter case being a seven axis arm).
Currently, articulated arm CMMs are controlled by an operator that communicates with the CMM to direct the CMM to gather data which is then processed by a computer processor. To enhance functionality, what is needed is an AACMM that includes an integrated electronic data processing system that enables access by multiple users and associated computer devices without interruption of the underlying data acquisition and processing functionality.
An embodiment is a method of implementing a portable articulated arm coordinate measuring machine (AACMM). The method includes receiving a first request to perform a function. The portable AACMM includes a manually positionable articulated arm portion having opposed first and second ends, the arm portion including a plurality of connected arm segments, each arm segment including at least one position transducer for producing a position signal, a measurement device attached to a first end of the AACMM, and an electronic circuit which receives the position signals from the transducers and provides data corresponding to a position of the measurement device. The method also includes identifying a source device from which the first request is received, implementing the function pursuant to the first request, selecting a destination device as the source device of the first request by identifying from which of a first and second port the first request is received, and transmitting information derived from implementing the function to the destination device.
Another embodiment is a portable articulated arm coordinate measuring machine (AACMM). The portable AACMM includes a manually positionable articulated arm portion having opposed first and second ends, the arm portion including a plurality of connected arm segments, each of the arm segments including at least one position transducer for producing a position signal, a measurement device attached to a first end of the AACMM, an electronic circuit for receiving the position signals from the transducers and for providing data corresponding to a position of the measurement device, and logic executable by the electronic circuit. The logic receives a first request to perform a function, identifies a source device from which the first request is received, implements the function pursuant to the first request, selects a destination device as the source device of the first request by identifying from which of a first and second port the first request is received, and transmits information derived from implementing the function to the destination device.
A further embodiment is a computer program product for implementing a portable articulated arm coordinate measuring machine (AACMM). The computer program product includes a computer storage medium having computer-readable program code embodied thereon, which when executed by a computer cause the computer to implement a method. The method includes receiving a first request to perform a function. The portable AACMM includes a manually positionable articulated arm having opposed first and second ends, the arm including a plurality of connected arm segments, each arm segment including at least one position transducer for producing a position signal, a measurement device attached to a first end of the AACMM, and an electronic circuit which receives the position signals from the transducers and provides data corresponding to a position of the measurement device. The method also includes identifying a source device from which the first request is received, implementing the function pursuant to the first request, selecting a destination device as the source device of the first request by identifying from which of a first and second port the first request is received, and transmitting information derived from implementing the function to the destination device.
Referring now to the drawings, exemplary embodiments are shown which should not be construed to be limiting regarding the entire scope of the disclosure, and wherein the elements are numbered alike in several FIGURES:
A portable articulated arm coordinate measuring machine (AACMM) and integrated electronic data processing system are provided in accordance with exemplary embodiments. The electronic data processing system resides onboard, and is integrated with, the AACMM and its components. The electronic data processing system includes a base computer processor and display processor, which perform user-selected functions in response to requests received via the AACMM. In an embodiment the requests may be received at the AACMM via an onboard user interface board and/or an external computer processor that is remotely located from the AACMM. In response to the requests, various components, e.g., encoders, sensors, and electronics collect data responsive to the requests. Information derived by the data is forwarded to a destination device as described further herein.
Each bearing cartridge within each bearing cartridge grouping 110, 112, 114 typically contains an encoder system (e.g., an optical encoder system). The encoder system (i.e., transducer) provides an indication of the position of the respective arm segments 106, 108 and corresponding bearing cartridge groupings 110, 112, 114, that all together provide an indication of the position of the probe 118 with respect to the base 116 (and, thus, the position of the object being measured by the AACMM 100 in a certain frame of reference—for example a local or global frame of reference). The arm segments 106, 108 may be made from a suitably rigid material such as but not limited to a carbon composite material for example. A portable AACMM 100 with six or seven axes of articulated movement (i.e., degrees of freedom) provides advantages in allowing the operator to position the probe 118 in a desired location within a 360° area about the base 116 while providing an arm portion 104 that may be easily handled by the operator. However, it should be appreciated that the illustration of an arm portion 104 having two arm segments 106, 108 is for exemplary purposes, and the claimed invention should not be so limited. An AACMM 100 may have any number of arm segments coupled together by bearing cartridges (and, thus, more or less than six or seven axes of articulated movement or degrees of freedom).
The probe 118 is detachably mounted to the measurement probe housing 102, which is connected to bearing cartridge grouping 112. A handle 126 is removable with respect to the measurement probe housing 102 by way of, for example, a quick-connect interface. The handle 126 may be replaced with another device (e.g., a laser line probe, a bar code reader), thereby providing advantages in allowing the operator to use different measurement devices with the same AACMM 100. In exemplary embodiments, the probe housing 102 houses a removable probe 118, which is a contacting measurement device and may have different tips 118 that physically contact the object to be measured, including, but not limited to: ball, touch-sensitive, curved and extension type probes. In other embodiments, the measurement is performed, for example, by a non-contacting device such as a laser line probe (LLP). In an embodiment, the handle 126 is replaced with the LLP using the quick-connect interface. Other types of measurement devices may replace the removable handle 126 to provide additional functionality. Examples of such measurement devices include, but are not limited to, one or more illumination lights, a temperature sensor, a thermal scanner, a bar code scanner, a projector, a paint sprayer, a camera, or the like.
As shown in
In various embodiments, each grouping of bearing cartridges 110, 112, 114 allows the arm portion 104 of the AACMM 100 to move about multiple axes of rotation. As mentioned, each bearing cartridge grouping 110, 112, 114 includes corresponding encoder systems, such as optical angular encoders for example, that are each arranged coaxially with the corresponding axis of rotation of, e.g., the arm segments 106, 108. The optical encoder system detects rotational (swivel) or transverse (hinge) movement of, e.g., each one of the arm segments 106, 108 about the corresponding axis and transmits a signal to an electronic data processing system within the AACMM 100 as described in more detail herein below. Each individual raw encoder count is sent separately to the electronic data processing system as a signal where it is further processed into measurement data. No position calculator separate from the AACMM 100 itself (e.g., a serial box) is required, as disclosed in commonly assigned U.S. Pat. No. 5,402,582 ('582).
The base 116 may include an attachment device or mounting device 120. The mounting device 120 allows the AACMM 100 to be removably mounted to a desired location, such as an inspection table, a machining center, a wall or the floor for example. In one embodiment, the base 116 includes a handle portion 122 that provides a convenient location for the operator to hold the base 116 as the AACMM 100 is being moved. In one embodiment, the base 116 further includes a movable cover portion 124 that folds down to reveal a user interface, such as a display screen.
In accordance with an embodiment, the base 116 of the portable AACMM 100 contains or houses an electronic data processing system that includes two primary components: a base processing system that processes the data from the various encoder systems within the AACMM 100 as well as data representing other arm parameters to support three-dimensional (3-D) positional calculations; and a user interface processing system that includes an on-board operating system, a touch screen display, and resident application software that allows for relatively complete metrology functions to be implemented within the AACMM 100 without the need for connection to an external computer.
The electronic data processing system in the base 116 may communicate with the encoder systems, sensors, and other peripheral hardware located away from the base 116 (e.g., a LLP that can be mounted to the removable handle 126 on the AACMM 100). The electronics that support these peripheral hardware devices or features may be located in each of the bearing cartridge groupings 110, 112, 114 located within the portable AACMM 100.
As shown in
Also shown in
In an embodiment shown in
The base processor board 204 also manages all the wired and wireless data communication with external (host computer) and internal (display processor 202) devices. The base processor board 204 has the capability of communicating with an Ethernet network via an Ethernet function 320 (e.g., using a clock synchronization standard such as Institute of Electrical and Electronics Engineers (IEEE) 1588), with a wireless local area network (WLAN) via a LAN function 322, and with Bluetooth module 232 via a parallel to serial communications (PSC) function 314. The base processor board 204 also includes a connection to a universal serial bus (USB) device 312.
The base processor board 204 transmits and collects raw measurement data (e.g., encoder system counts, temperature readings) for processing into measurement data without the need for any preprocessing, such as disclosed in the serial box of the aforementioned '582 patent. The base processor 204 sends the processed data to the display processor 328 on the user interface board 202 via an RS485 interface (IF) 326. In an embodiment, the base processor 204 also sends the raw measurement data to an external computer.
Turning now to the user interface board 202 in
The electronic data processing system 210 shown in
Though shown as separate components, in other embodiments all or a subset of the components may be physically located in different locations and/or functions combined in different manners than that shown in
In an embodiment, the AACMM 100 includes the integrated electronic data processing system 210 described above. The electronic data processing system 210 resides onboard, and is integrated with, the AACMM 100 and its components. The base processor board 204 includes a base computer processor, which may be implemented by the processor function 302 illustrated in
Referring to
In one embodiment, the housing 400 includes an opening 410 sized to receive a battery 412 for providing electrical power for the AACMM 100 when the AACMM 100 is not connected to an external power source (e.g. a wall outlet). In an embodiment, the battery 412 includes circuitry that communicates with the electronic data processing system 210 and transmits signals that may include but are not limited to: battery charge level; battery type; model number; manufacturer; characteristics; discharge rate; predicted remaining capacity; temperature; voltage; and an almost-discharged alarm so that the AACMM can shut down in a controlled manner.
The movable cover portion 124 includes a housing 404 that is mounted to the base 116, e.g., by hinges. During operation of the AACM 100, the movable cover portion 124 may be opened to allow viewing of a display screen 406.
Arranged within the movable cover portion 124 is a display 408 having the display screen 406 (e.g., color LCD 338 of
The user interface board 202 (
In one embodiment, the housing 404 of the cover portion 124 further includes a pair of computer interfaces 414, 416 that allow the operator to connect the user interface board 202 to an external device such as but not limited to: a computer; a computer network; a laptop; a barcode scanner; a digital camera; a digital video camera; a keyboard; a mouse; a printer; a personal digital assistant (PDA); or a smart phone for example. In one embodiment, the computer interface 414 is the USB host interface 334, and the computer interface 416 is the secure digital card interface 330. As discussed above, the user interface board 202 includes a processor 328 that is arranged in bi-directional communication to accept and transmit signals from the display screen 406 and the electronic data processing system 210.
Turning now to
At step 502, the electronic data processing system 210 receives a request from one or more source devices to perform a function. Functions available for implementation may include acquisition of dimensional measurements (such as measurement of point coordinates) of an object through a probe device of the AACMM 100 (e.g., probe 118), monitoring various temperature values (e.g., through one or more temperature sensors 212), performing calibration of one or more components of the AACMM 100, performing diagnostics on one or more of the components of the AACMM 100, and training guidance, to name a few. If the function includes the measurement of point coordinates of an object, components used in the data capture include one or more encoder systems (e.g., encoder systems 214, 216, 234) disposed on a bearing cartridge grouping 110, 112, 114 of the AACMM 100 and the base computer processor, which receives raw measurement data captured from the encoder(s). Other functions available may be implemented in response to a request from a removable accessory or peripheral device, such as a camera, LLP 242, radio frequency identification device (RFID) scanner, thermal scanning device, etc. Source devices may include an external computer processor, an onboard user interface component (e.g., onboard user interface board 202 and display 338 of
The electronic data processing system 210 identifies the source device from which the request is sent (e.g., identifying a port from which the request is received via the logic). If the source device is the external computer processor, the port identified may be the USB port, an Ethernet port, or a wireless communications port (e.g., a wireless port 232 supporting Bluetooth™ protocols or port 322 supporting 802.11 protocols), as shown in
In one embodiment, the request is received at the base computer processor (e.g., processor 302 of
If the request is received from the user interface component (e.g., via the user interface board 202) disposed onboard the AACMM 100, the request may be input by an operator of the AACMM 100 via the user interface display 338 (also shown as display screen 406 of
Returning to step 502, in response to the request to perform a function, the electronic data processing system 210 issues a data capture signal via the logic at step 504. For example, if the function requested is a request for probe 118 measurements, the base computer processor issues a data capture signal to the encoder DSPs 216 and probe end DSP 228 via the arm bus 218. If the AACMM 100 employs a touch probe, the data capture signal may be initiated by the touch probe in response to positioning the touch probe in contact with an object to be measured. The encoder DSPs 216 and the probe end DSP 228 capture (or latch) data (e.g., encoder counts and temperature) in response to receiving the capture signal. If the function requested is a request for data from a peripheral component that is communicatively coupled to the AACMM 100 (e.g., a removably attached peripheral component), the base computer processor issues a data capture signal either across the arm bus 218 to the peripheral component, or it may issue a data capture signal wirelessly to the peripheral component if the peripheral component is equipped with wireless communication components. In an embodiment, the data from a peripheral component is latched and sent over the arm buses 218 to the base computer processor. For example, the peripheral component (e.g., LLP 242) may include a controller and DSP. The data is latched by the DSP in the LLP 242 and then is put onto the arm bus 218 for transport to the base computer processor.
At step 506, the base computer processor receives the data resulting from the data capture signal. For example, if the requested function is for probe measurement data, the base computer processor polls the encoder DSPs 216 and probe end DSP 228 in sequence for the latched data (e.g., sends packets with encoder addresses requesting the position data). If the requested function is for peripheral component data, the data captured may include, e.g., image data (where the peripheral component is a camera), multimedia data (where the accessory is a video recorder), RFID data (where the peripheral component is an RFID scanner), and two-dimensional center of gravity (COG) data (where the accessory is an LLP). In one embodiment, the peripheral component data may also include identifying information that identifies the peripheral component data type (e.g., JPEG, MPEG, AVI, etc.). The data may be received at the base computer processor via the arm bus 218 or the data may be transmitted wirelessly between the peripheral component and the base computer processor.
In an embodiment, steps 502 through 506 are performed continuously while the AACMM 100 is in operation. In addition, if a touch probe is connected to the AACMM, the touch probe can initiate the issuance of a trigger signal (e.g., when the probe tip comes in contact or near contact with an object). When a touch probe initiates the signal, it interrupts the current cycle of steps 502 through 506 and causes processing to resume at step 502
At step 508, the captured data is optionally converted to a different format. For example, if the captured data is raw measurement data, the captured data may be converted to three-dimensional coordinate data.
At step 510, the electronic data processing system 210 selects a destination device to transmit the data (optionally, the converted data). In an embodiment, the electronic data processing system 210 selects the destination device via the logic by identifying the port from which the request is received. As indicated above, if the destination device is the external computer processor, the port identified may be the USB port, an Ethernet port, or a wireless communications port (e.g., a wireless port 232 supporting Bluetooth™ protocols), as shown in
At step 512, the data is transmitted to one or more selected destination devices, such as the external computer and the onboard display 406. In other embodiments, the destination device may be a smart phone, PDA, or other communication device.
As described above in
In an exemplary embodiment, the AACMM 100 may be configured to provide multiple, simultaneous access to the coordinate measuring machine features. For example, a remote user of the AACMM 100 (e.g., via a computer device) may initiate acquisition of data or measurements from the AACMM 100 through the base computer processor and logic. The AACMM 100 may begin collecting data in response to commands provided by the base computer processor. If an operator of the AACMM 100 desires to acquire, e.g., measurements of another aspect of the object being measured, the operator may activate the user interface board 202 and display by selecting from menu options available by the GUI described above. In an exemplary embodiment, the AACMM 100 is configured to receive, through the base computer processor and logic, commands from both the user interface board 202 as well as from external sources, such as the remote computer device. The AACMM 100 may be instructed through the base processor board 204 to pause acquisition of data collection from the remote computer device in order to gather data pursuant to the instructions received via the user interface board 202 and GUI. The data gathered in response to the request from the remote computer device may be stored or temporarily buffered in order to begin collecting data for the operator at the AACMM 100. Once the operator has completed the requested measurements, the AACMM 100 is configured to resume measurements in response to the instructions earlier received from the remote computer device. In this embodiment, the gathered data may be transmitted to the corresponding device that requested the data, or the logic may be configured to transmit all gathered data to any device that is in communication with the AACMM 100. Thus, e.g., the external computer may receive gathered data requested by an operator through the onboard user interface.
In one embodiment, two requests for measurements may be processed by the electronic data processing system 210 at the same time. For example, a request from the external computer for probe 118 measurements may be implemented simultaneous with a request from the onboard user interface for LLP device 242 measurement data. The AACMM 100 arm buses 218 may be configured such that data acquired through operation of one device (e.g., the probe 118) may be transmitted on one bus, while data acquired through operation of another device (e.g., the LLP 242) may be transmitted along another bus. The data from one device may be temporarily buffered while the logic processes the data from the other device.
Technical effects and benefits include integrated functionality of an AACMM 100 and the electronic data processing system 210, which resides onboard, and is integrated with, the AACMM and its components. Because the functions of the electronic data processing system are integrated into the base of the AACMM, no external computer is needed to operate or control the AACMM. If an external computer is desired in the operation of the AACMM, the AACMM integrates base computer processing functionality that enables communication between the AACMM and the external computer as well as communication through an onboard user interface for communicating with an operator of the AACMM separately from the communications conducted with the external computer processor. The data streams to each of the external computer processor and the user interface are separately buffered so one stream can be interrupted without affecting the other. The base computer processor identifies source devices of requests for functions to be performed by the AACMM and transmits captured data resulting from these requests to the identified devices, referred as destination devices. Thus, the AACMM enables access by multiple users and associated computer devices without interruption of the underlying data acquisition and processing functionality.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method, or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM, Flash or Phase-change memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++, C# or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, may be implemented by computer program instructions.
These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer program instructions may also be stored in a computer readable medium that may direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, may be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
While the invention has been described with reference to example embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims. Moreover, the use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another. Furthermore, the use of the terms a, an, etc. do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced item.
The present application claims the benefit of provisional application No. 61/296,555 filed Jan. 20, 2010, the content of which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61296555 | Jan 2010 | US |