The present disclosure relates to a coordinate measuring machine, and more particularly to a portable articulated arm coordinate measuring machine having an integrated environmental recorder.
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).
Information about past environmental conditions of an articulated arm CMM is helpful during system diagnostics and repair of the articulated arm CMM. To enhance traceability of the past operating environments of the articulated arm CMM, what is needed is an environmental monitoring system to measure and record environmental data for the articulated arm CMM.
An embodiment is a portable articulated arm coordinate measurement machine (AACMM) that includes a manually positionable articulated arm having opposed first and second ends, the arm including a plurality of connected arm segments, each of the arm segments including at least one position transducer for producing a position signal. The AACMM also includes a measurement device attached to a first end of the AACMM, and an electronic circuit for receiving the position signal from the transducers and for providing data corresponding to a position of the measurement device. The AACM further includes an environmental recorder in communication with the electronic circuit. The environmental recorder includes a sensor for outputting a value of a parameter, a memory, and logic executable by the environmental recorder to implement a method. The method includes monitoring the value of the parameter, and determining that the value of the parameter is outside of a programmable threshold. The value of the parameter and a timestamp are stored in the memory in response to the value of the parameter being determined to be outside of the programmable threshold. The contents of the memory are transmitted to the electronic circuit.
Another embodiment is a method of implementing a portable AACMM. The method includes receiving a value of a parameter from a sensor located on the portable AACM. The portable AACMM includes a manually positionable articulated arm having opposed first and second ends. The arm includes a plurality of connected arm segments, each arm segment including at least one position transducer for producing a position signal. The portable AACMM also includes a measurement device attached to a first end of the portable AACMM, and an electronic circuit which receives the position signal from the transducers and provides data corresponding to a position of the measurement device. The received value of the parameter is monitored and it is determined that the value of the parameter is outside of a programmable threshold. The value of the parameter and a timestamp are stored in a memory located on an environmental recorder in response to the value of the parameter being determined to be outside of the programmable threshold. The contents of the memory are transmitted to the base computer processor.
A further embodiment is a computer program product for implementing a portable AACMM. The computer program product includes a storage medium having computer-readable program code embodied thereon, which when executed by a computer causes the computer to implement a method. The method includes receiving a value of a parameter from a sensor located on the portable AACM. The portable AACMM includes a manually positionable articulated arm having opposed first and second ends. The arm includes a plurality of connected arm segments, each arm segment including at least one position transducer for producing a position signal. The portable AACMM also includes a measurement device attached to a first end of the portable AACMM, and an electronic circuit which receives the position signal from the transducers and provides data corresponding to a position of the measurement device. The received value of the parameter is monitored and it is determined that the value of the parameter is outside of a programmable threshold. The value of the parameter and a timestamp are stored in a memory located on an environmental recorder in response to the value of the parameter being determined to be outside of the programmable threshold. The contents of the memory are transmitted to the base computer processor.
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) that includes an environmental recorder is provided in accordance with exemplary embodiments. The environmental recorder provides data that may be useful in explaining any anomalous behavior of the AACMM. Data representing the history of the AACMM is recorded by the environmental recorder at various times, including from early in the manufacturing process, during time in inventory, during shipment of the product, and during subsequent handling and use at the site of an end user. This data can be read directly by an end user of the AACMM via an on-board operating system and display, or it can be extracted and saved on another computer. The environmental recorder is an independent, battery backed environmental monitoring system that is located on the AACMM.
Data collected by the environmental recorder may be utilized to alert a user about an event and to suggest that a probe calibration and/or a single point articulation performance test (SPAT) be performed to see if the arm is still measuring to specification. The data collected by the environmental recorder is also used during system diagnostics and repair to determine a history of the AACMM in terms of environmental conditions. Environmental conditions include, but are not limited to: temperature, humidity, and shock (e.g., due to the AACMM being dropped). Sensors located on the environmental recorder output values of environmental condition parameters and their values are recorded periodically. In accordance with embodiments, the periodic recording occurs both when the AACMM is powered on and when the AACMM is powered off. In addition, or alternatively, the values of environmental condition parameters are recorded in response to an event such as an extreme humidity value (e.g., as defined by a programmable threshold) being detected at a sensor. In accordance with embodiments, the recording of values that exceed thresholds occurs both when the AACMM is powered on and when the AACMM is powered off.
Each bearing cartridge within each bearing cartridge grouping 110, 112, 114 typically contains an encoder system (e.g., an optical angular 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, for example.
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
The environmental recorder 362 also includes a clock 406 for maintaining the date and time of day. The clock 406 is used to generate a timestamp for events that are logged as well as to measure time intervals. Commercially available clocks such as, but not limited to, a crystal driven clock may be utilized by embodiments.
The environmental recorder 362 depicted in
An embodiment of the impact sensor 402 is implemented by two or more accelerometers: a first accelerometer designed to detect and measure very small accelerations (or vibrations); and a second accelerometer designed to detect and measure larger accelerations. When the first accelerometer detects a motion, it instructs the second accelerometer to start taking and recording measurements. As known in the art, accelerometers measure acceleration in terms of gravitational force (g-force), and thus, the impact sensor 402 measures a g-force parameter. Any suitable accelerometers known in the art for detecting a shock or impact may be utilized by exemplary embodiments described herein, including, but not limited to three-axis micro electro-mechanical systems (MEMS), gravitometers, piezoresistive accelerometers, and capacitive accelerometers. In an embodiment, a g-force value detected by the first accelerometer that is greater than a present threshold (e.g., 2.5 g), causes the environmental recorder 362 to store the values of the g-force along with a timestamp. This programmable g-force threshold value may be updated during manufacturing or initialization of the AACMM 100.
The parameter measured by the temperature sensor 412 is ambient temperature, and the temperature sensor 412 is implemented by a commercially available temperature sensor. In an embodiment, a temperature value that is greater than 45 degrees Celsius or less than 5 degrees Celsius causes the environmental recorder 362 to store the value of the temperature along with a timestamp. This programmable temperature threshold value may be updated during manufacturing or initialization of the AACMM 100.
A humidity parameter is measured by the humidity sensor 414, and the humidity sensor 414 is implemented by a commercially available humidity sensor. In an embodiment, a humidity value that is greater than 80% or less than 20% causes the environmental recorder 362 to store the value of the humidity along with a timestamp. This programmable humidity threshold value may be updated during manufacturing or initialization of the AACMM 100.
The processor 408 controls a programmable time interval for recording values of the parameters from the sensors, the reading of sensors, and the recording or storage of the values and timestamps into the memory 404. As described herein, the values of parameters measured by the sensors cause the environmental recorder 362 to activate the recording of the parameter value at the moment of an event (or shortly thereafter) regardless of the monitoring schedule of that sensor. An alert may also be sent to an operator of the system (e.g., via the LCD 338) in response to the event being detected. In addition, the processor 408 controls the periodic transmission of contents of the memory 404 to the base processor board 204. In an embodiment, the transmission is across an inter-integrated circuit (I2C) bus, and the processor is implemented by a commercially available processor. The processor 408 controls the processing described herein using hardware instructions, software instructions or a combination of both.
The memory 404 stores the recorded values of the parameters and their associated timestamps. In addition, the memory 404 may store the programmable threshold values associated with the parameters. The memory 404 is implemented by a commercially available memory such as, but not limited to: flash and direct random access memory (SRAM). The size of the memory 404 dictates how many parameter values and timestamps may be stored at the environmental recorder 362 before requiring a transmission of contents of the memory 404 to the base processor board 204.
In an embodiment, the environmental recorder 362 utilizes multiple processors, clocks, and sensors. The lowest level system runs continuously and detects basis events that then bring up the next processor and sensor set. When the AACMM 100 is powered up, a third processor comes into play to interface to the environmental recorder 362, and then a fourth processor comes up to allow retrieval and display of data.
Referring to
In an embodiment, while the monitoring and detecting are being performed, the environmental recorder 362 is in a low power mode where the memory 404 is not accessible. At step 506, the environmental recorder 362 is put into a high power mode to allow access to the memory 404. The values of the parameter(s) along with a timestamp are stored to the memory 404 at step 508. In an embodiment, values of all of the parameters being measured by the sensors are stored to the memory 404 at step 508. Alternatively, all of the parameter values are stored to memory 404 when the event detected at step 504 is that a programmable time interval has expired, and only the value of the parameter causing the event to be detected at step 504 is stored to memory 404 when the event detected at step 504 is that a threshold has been exceeded. In an embodiment, step 508 is repeated a programmable number of times or for a programmable amount of time when the event detected at step 504 is that a threshold has been exceeded. In an embodiment, space in the memory 404 is conserved, by performing step 508 only if the current value of the parameter is different from a previous value of the parameter. At step 510, the environmental recorder 362 is put into the low power mode. In an embodiment, the low power mode includes portions of the environmental recorder 362 that are not used for the monitoring and detecting being powered off. Processing then continues at step 502.
Referring to
The values of the parameter(s) along with a timestamp are stored to the memory 404 at step 606. In an embodiment, values of all of the parameters being measured by the sensors are stored to the memory 404 at step 606. Alternatively, all of the parameter values are stored to memory 404 when the event detected at step 604 is that a programmable time interval has expired, and only the value of the parameter causing the event to be detected at step 604 is stored to memory 404 when the event detected at step 604 is that a threshold has been exceeded. In an embodiment, space in the memory 404 is conserved, by performing step 606 only if the current value of the parameter is different from a previous value of the parameter. In an embodiment, step 606 is repeated a programmable number of times or for a programmable amount of time when the event detected at step 604 is that a threshold has been exceeded.
At step 608, it is determined if contents of the memory 404 should be transmitted to the base processor board 204. The determination is made based on how much space is left in the memory 404 and/or how much time has passed since the last time the contents of the memory 404 were transmitted to the base processor board 204. If it is determined, at step 608, that the contents of the memory 404 should be transmitted to the base processor board computer 204, then processing continues at step 610. At step 610, the transmitting is performed and the memory 404 is cleared out. Processing then continues at step 602. Once the data is transmitted to the base processor board 204, it is stored in the memory 304 on the base processor board 204. The data can then be transmitted to a processor remote from the AACMM 100 and/or displayed on the color LCD 338 on the user interface board 202. In additional embodiments, the thresholds and time intervals are programmed using the color LCD 338 on the user interface board 202.
In an embodiment, additional monitoring is provided by the environmental recorder 362 when the AACMM 100 is powered on. The system monitors and records time stamped events such as, for example, error codes returned by software, missed communications, and supply voltage variations. Data from the environmental recorder 362 is then correlated with a software event monitoring system on the base processor board 204 to determine if hardware error conditions are related to environmental events.
In an embodiment, data from the environmental recorder 362 is used to create a history of the AACMM 100 from manufacture, through storage, shipment and use. This historical data can be used to diagnose issues reported by the user, which could include accuracy variations, electronic errors, and/or software anomalies. As an example, if a customer reported that the AACMM 100 suddenly stopped providing accurate readings, the historical data could be reviewed to see if the AACMM 100 was subjected to excessive shock just prior to the change in performance. A report of performance problems on a particular shift or date could be reviewed for extremes in temperature or vibrations at that time. The historical data can also be used to see if an AACMM 100 was abused during transport either to a customer site or in route back to the factory for service. AACMMs 100 showing similar performance symptoms can be checked for common environmental factors in the history log.
Technical effects and benefits include the ability to more easily perform troubleshooting and determination of root cause of product failures, especially for events that occur during shipping, that occur outside of normal operating hours, or that go un-reported (e.g., dropping of the AACMM 100).
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 or Flash 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 |