Portable Articulated Arm Coordinate Measuring Machine with Multiple Communication Channels

York; Frederick

Patent Application Summary

U.S. patent application number 13/006486 was filed with the patent office on 2011-07-21 for portable articulated arm coordinate measuring machine with multiple communication channels. This patent application is currently assigned to FARO TECHNOLOGIES, INC.. Invention is credited to Frederick York.

Application Number20110178762 13/006486
Document ID /
Family ID43736091
Filed Date2011-07-21

United States Patent Application 20110178762
Kind Code A1
York; Frederick July 21, 2011

Portable Articulated Arm Coordinate Measuring Machine with Multiple Communication Channels

Abstract

A portable articulated arm coordinate measuring machine (AACMM) with multiple communication channels that 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. The portable AACMM also includes a measurement device attached to a first end of the portable AACMM and a plurality of communication channels. The portable AACMM also includes an electronic circuit for receiving the position signals from the transducers and for providing data corresponding to a position of the measurement device. The portable AACMM also includes executable by the electronic circuit for receiving a request from a user to communicate via a selected one of the plurality of communication channels, and for configuring the portable AACMM to communicate via the selected communication channel.


Inventors: York; Frederick; (Longwood, FL)
Assignee: FARO TECHNOLOGIES, INC.
Lake Mary
FL

Family ID: 43736091
Appl. No.: 13/006486
Filed: January 14, 2011

Related U.S. Patent Documents

Application Number Filing Date Patent Number
61296555 Jan 20, 2010

Current U.S. Class: 702/150 ; 33/503
Current CPC Class: G05B 19/406 20130101; G01B 5/012 20130101; G01B 21/047 20130101; G05B 19/401 20130101; G05B 2219/24067 20130101; G05B 2219/37193 20130101; G05B 2219/45061 20130101; G01B 11/007 20130101; G05B 2219/40596 20130101; G05B 2219/40233 20130101
Class at Publication: 702/150 ; 33/503
International Class: G01B 5/008 20060101 G01B005/008; G06F 15/00 20060101 G06F015/00

Claims



1. A portable articulated arm coordinate measurement machine (AACMM), comprising: 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 portable AACMM; a plurality of communication channels; 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 for receiving a request from a user to communicate via a selected one of the plurality of communication channels, and for configuring the portable AACMM to communicate via the selected communication channel.

2. The portable AACMM of claim 1, wherein the logic is further for receiving a second request to communicate via another one of the plurality of communication channels and for configuring the portable AACMM to communicate via the another one of the plurality of communication channels to provide multiple simultaneously operable communication channels.

3. The portable AACMM of claim 1, wherein the plurality of communication channels include a universal serial bus (USB).

4. The portable AACMM of claim 1, wherein the plurality of communication channels include a wireless network.

5. The portable AACMM of claim 1, wherein the plurality of communication channels includes an Ethernet.

6. The portable AACMM of claim 1, wherein the plurality of communication channels include Bluetooth.

7. The portable AACMM of claim 1, wherein the plurality of communication channels include a USB, a wireless network, an Ethernet, and a Bluetooth.

8. The portable AACMM of claim 1, wherein the logic is further for receiving a request from a remote device attached to the selected communication channel to perform a function and for performing the function in response to receiving the request to perform the function.

9. The portable AACMM of claim 8, wherein the logic is further for transmitting results of performing the function to the remote device.

10. A method of implementing a portable articulated arm coordinate measuring machine (AACMM), the method comprising: receiving a request from a user to communicate via a selected communication channel, the receiving at the portable AACMM comprised of 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 portable AACMM, a plurality of communication channels including the selected communication channel, and an electronic circuit which receives the position signal from the transducers and provides data corresponding to a position of the measurement device; and configuring the portable AACMM to communicate via the selected communication channel.

11. The method claim 10, further comprising: receiving a second request to communicate via another one of the plurality of communication channels; and configuring the portable AACMM to communicate via the another one of the plurality of communication channels to provide multiple simultaneously operable communication channels.

12. The method of claim 10, wherein the plurality of communication channels include a universal serial bus (USB).

13. The method of claim 10, wherein the plurality of communication channels include a wireless network.

14. The method of claim 10, wherein the plurality of communication channels includes an Ethernet.

15. The method of claim 10, wherein the plurality of communication channels include Bluetooth.

16. The method of claim 10, wherein the plurality of communication channels include a USB, a wireless network, an Ethernet, and a Bluetooth.

17. The method of claim 10, further comprising: receiving a request from a remote device attached to the selected communication channel to perform a function; and performing the function in response to receiving the request to perform the function.

18. The method of claim 17, further comprising transmitting results of performing the function to the remote device.

19. A computer program product for implementing a portable articulated arm coordinate measuring machine (AACMM), the computer program product comprising a storage medium having computer-readable program code embodied thereon, which when executed by an electronic circuit located on the portable AACMM causes the computer to implement a method, the method including: receiving a request from a user to communicate via a selected communication channel, the receiving at the portable AACMM, the portable AACMM comprised of 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 portable AACMM, a plurality of communication channels including the selected communication channel, and the electronic circuit which receives the position signal from the transducers and provides data corresponding to a position of the measurement device; and configuring the portable AACMM to communicate via the selected communication channel.

20. The computer program product of claim 19, wherein the method further comprises: receiving a second request to communicate via another one of the plurality of communication channels; and configuring the portable AACMM to communicate via the another one of the plurality of communication channels to provide multiple simultaneously operable communication channels.

21. The computer program product of claim 19, wherein the plurality of communication channels include a USB, a wireless network, an Ethernet, and a Bluetooth.

22. The computer program product of claim 19, wherein the method further comprises: receiving a request from a remote device attached to the selected communication channel to perform a function; and performing the function in response to receiving the request to perform the function.

23. The computer program product of claim 22, wherein the method further comprises transmitting results of performing the function to the remote device.
Description



CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] 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.

BACKGROUND

[0002] The present disclosure relates to a coordinate measuring machine, and more particularly to a portable articulated arm coordinate measuring machine having multiple communication channels.

[0003] 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.

[0004] 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).

[0005] Contemporary portable AACMMs are typically controlled by an external computer processor that is physically connected to the AACMM to configure and connect the AACMM to a network. While existing portable AACMMs are suitable for their intended purposes, a portable AACMM that includes logic to connect to a network would enhance portability and ease of use of the portable AACMM.

SUMMARY OF THE INVENTION

[0006] An embodiment is a portable articulated arm coordinate measurement machine (AACMM) that 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. The portable AACMM also includes a measurement device attached to a first end of the portable AACMM and a plurality of communication channels. The portable AACMM also includes an electronic circuit for receiving the position signals from the transducers and for providing data corresponding to a position of the measurement device. The portable AACMM also includes executable by the electronic circuit for receiving a request from a user to communicate via a selected one of the plurality of communication channels, and for configuring the portable AACMM to communicate via the selected communication channel.

[0007] Another embodiment is a method of implementing a portable AACMM. The method includes receiving a request from a user to communicate via a selected communication channel. The receiving is at the portable 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 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, a plurality of communication channels including the selected communication channel, and an electronic circuit which receives the position signal from the transducers and provides data corresponding to a position of the measurement device. The method also includes configuring the portable AACMM to communicate via the selected communication channel.

[0008] 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 an electronic circuit located on the AACMM causes the computer to implement a method. The method includes receiving a request from a user to communicate via a selected communication channel. The receiving is at the portable 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 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, a plurality of communication channels including the selected communication channel, and an electronic circuit which receives the position signal from the transducers and provides data corresponding to a position of the measurement device. The method also includes configuring the portable AACMM to communicate via the selected communication channel.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009] 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:

[0010] FIG. 1, including FIGS. 1A and 1B, are perspective views of a portable articulated arm coordinate measuring machine (AACMM) having embodiments of various aspects of the present invention therewithin;

[0011] FIG. 2, including FIGS. 2A-2D taken together, is a block diagram of electronics utilized as part of the AACMM of FIG. 1 in accordance with an embodiment;

[0012] FIG. 3, including FIGS. 3A and 3B taken together, is a block diagram describing detailed features of the electronic data processing system of FIG. 2 in accordance with an embodiment;

[0013] FIG. 4 illustrates an AACMM system environment in accordance with an embodiment;

[0014] FIG. 5 illustrates a main menu user interface screen in accordance with an embodiment;

[0015] FIG. 6 illustrates a setting menu user interface screen in accordance with an embodiment;

[0016] FIG. 7 illustrates a network connection user interface screen in accordance with an embodiment;

[0017] FIG. 8 illustrates a communications settings user interface screen for a WiFi network in accordance with an embodiment;

[0018] FIG. 9 illustrates a configure static Internet protocol user interface screen in accordance with an embodiment;

[0019] FIG. 10 illustrates an access point connection user interface screen in accordance with an embodiment; and

[0020] FIG. 11 illustrates a process flow for configuring network connections for an AACMM in accordance with an embodiment.

DETAILED DESCRIPTION

[0021] An embodiment is directed to a portable articulated arm coordinate measuring machine (AACMM) that includes logic to detect and connect to available networks. The ability for the portable AACMM to perform the network connection directly allows the network connection to be automatically tailored to the portable AACMM. Having the network connected automatically via the portable AACMM avoids problems of incorrect system description (e.g., parameters, hardware specifications, software levels) being entered when configuring a network connection for a portable AACMM via a device other than the portable AACMM.

[0022] FIGS. 1A and 1B illustrate, in perspective, a portable articulated arm coordinate measuring machine (AACMM) 100 according to various embodiments of the present invention, an articulated arm being one type of coordinate measuring machine. As shown in FIGS. 1A and 1B, the exemplary AACMM 100 may comprise a six or seven axis articulated measurement device having a measurement probe housing 102 coupled to an arm portion 104 of the AACMM 100 at one end. The arm portion 104 comprises a first arm segment 106 coupled to a second arm segment 108 by a first grouping of bearing cartridges 110 (e.g., two bearing cartridges). A second grouping of bearing cartridges 112 (e.g., two bearing cartridges) couples the second arm segment 108 to the measurement probe housing 102. A third grouping of bearing cartridges 114 (e.g., three bearing cartridges) couples the first arm segment 106 to a base 116 located at the other end of the arm portion 104 of the AACMM 100. Each grouping of bearing cartridges 110, 112, 114 provides for multiple axes of articulated movement. Also, the measurement probe housing 102 may comprise the shaft of the seventh axis portion of the AACMM 100 (e.g., a cartridge containing an encoder system that determines movement of the measurement device, for example a probe 118, in the seventh axis of the AACMM 100). In use of the AACMM 100, the base 116 is typically affixed to a work surface.

[0023] 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.degree. 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).

[0024] 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.

[0025] As shown in FIGS. 1A and 1B, the AACMM 100 includes the removable handle 126 that provides advantages in allowing accessories or functionality to be changed without removing the measurement probe housing 102 from the bearing cartridge grouping 112. As discussed in more detail below with respect to FIG. 2, the removable handle 126 may also include an electrical connector that allows electrical power and data to be exchanged with the handle 126 and the corresponding electronics located in the probe end.

[0026] 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).

[0027] 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.

[0028] 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.

[0029] 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.

[0030] FIG. 2 is a block diagram of electronics utilized in an AACMM 100 in accordance with an embodiment. The embodiment shown in FIG. 2 includes an electronic data processing system 210 including a base processor board 204 for implementing the base processing system, a user interface board 202, a base power board 206 for providing power, a Bluetooth module 232, and a base tilt board 208. The user interface board 202 includes a computer processor for executing application software to perform user interface, display, and other functions described herein.

[0031] As shown in FIG. 2, the electronic data processing system 210 is in communication with the aforementioned plurality of encoder systems via one or more arm buses 218. In the embodiment depicted in FIG. 2, each encoder system generates encoder data and includes: an encoder arm bus interface 214, an encoder digital signal processor (DSP) 216, an encoder read head interface 234, and a temperature sensor 212. Other devices, such as strain sensors, may be attached to the arm bus 218.

[0032] Also shown in FIG. 2 are probe end electronics 230 that are in communication with the arm bus 218. The probe end electronics 230 include a probe end DSP 228, a temperature sensor 212, a handle/LLP interface bus 240 that connects with the handle 126 or the LLP 242 via the quick-connect interface in an embodiment, and a probe interface 226. The quick-connect interface allows access by the handle 126 to the data bus, control lines, and power bus used by the LLP 242 and other accessories. In an embodiment, the probe end electronics 230 are located in the measurement probe housing 102 on the AACMM 100. In an embodiment, the handle 126 may be removed from the quick-connect interface and measurement may be performed by the laser line probe (LLP) 242 communicating with the probe end electronics 230 of the AACMM 100 via the handle/LLP interface bus 240. In an embodiment, the electronic data processing system 210 is located in the base 116 of the AACMM 100, the probe end electronics 230 are located in the measurement probe housing 102 of the AACMM 100, and the encoder systems are located in the bearing cartridge groupings 110, 112, 114. The probe interface 226 may connect with the probe end DSP 228 by any suitable communications protocol, including commercially-available products from Maxim Integrated Products, Inc. that embody the 1-Wire.RTM. communications protocol 236.

[0033] FIG. 3 is a block diagram describing detailed features of the electronic data processing system 210 of the AACMM 100 in accordance with an embodiment. In an embodiment, the electronic data processing system 210 is located in the base 116 of the AACMM 100 and includes the base processor board 204, the user interface board 202, a base power board 206, a Bluetooth module 232, and a base tilt module 208.

[0034] In an embodiment shown in FIG. 3, the base processor board 204 includes the various functional blocks illustrated therein. For example, a base processor function 302 is utilized to support the collection of measurement data from the AACMM 100 and receives raw arm data (e.g., encoder system data) via the arm bus 218 and a bus control module function 308. The memory function 304 stores programs and static arm configuration data. The base processor board 204 also includes an external hardware option port function 310 for communicating with any external hardware devices or accessories such as an LLP 242. A real time clock (RTC) and log 306, a battery pack interface (IF) 316, and a diagnostic port 318 are also included in the functionality in an embodiment of the base processor board 204 depicted in FIG. 3.

[0035] 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.

[0036] 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.

[0037] Turning now to the user interface board 202 in FIG. 3, the angle and positional data received by the base processor is utilized by applications executing on the display processor 328 to provide an autonomous metrology system within the AACMM 100. Applications may be executed on the display processor 328 to support functions such as, but not limited to: measurement of features, guidance and training graphics, remote diagnostics, temperature corrections, control of various operational features, connection to various networks, and display of measured objects. Along with the display processor 328 and a liquid crystal display (LCD) 338 (e.g., a touch screen LCD) user interface, the user interface board 202 includes several interface options including a secure digital (SD) card interface 330, a memory 332, a USB Host interface 334, a diagnostic port 336, a camera port 340, an audio/video interface 342, a dial-up/cell modem 344 and a global positioning system (GPS) port 346.

[0038] The electronic data processing system 210 shown in FIG. 3 also includes a base power board 206 with an environmental recorder 362 for recording environmental data. The base power board 206 also provides power to the electronic data processing system 210 using an AC/DC converter 358 and a battery charger control 360. The base power board 206 communicates with the base processor board 204 using inter-integrated circuit (I2C) serial single ended bus 354 as well as via a DMA serial peripheral interface (DSPI) 356. The base power board 206 is connected to a tilt sensor and radio frequency identification (RFID) module 208 via an input/output (110) expansion function 364 implemented in the base power board 206.

[0039] 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 FIG. 3. For example, in one embodiment, the base processor board 204 and the user interface board 202 are combined into one physical board.

[0040] FIG. 4 illustrates an AACMM system environment in accordance with an embodiment. The system depicted in FIG. 4 includes a network 406 in communication with two portable AACMMs 100, a personal computer 402, and a smart phone 404 (e.g., communicating with an AACMM 100 via WiFi or Bluetooth). The system depicted in FIG. 4 also includes a personal computer 402 in direct communication (i.e., not via a network) with one of the AACMMs 100. The system depicted in FIG. 4 is intended to be one example of an AACMM system environment configuration, and is not intended to be limiting. Another AACMM system environment embodiment includes one network 406 and one AACMM 100 in communication with the network 406. In other embodiments, any number of portable AACMMs 100 and user devices (e.g., personal computer 402 and smart phone 404) are in communication with the network 406.

[0041] In an embodiment, all or a portion of the network 406 is implemented by a local area network (LAN) or wireless LAN (WLAN). In another embodiment, all or a portion of the network is implemented by a personal area network (PAN) using Bluetooth. In a further embodiment, all or a portion of the network 406 is implemented by an Ethernet network. It will be appreciated that network 406 can be implemented by any combination of the aforementioned networks as well as other types of wired and wireless networks such as, but not limited to the Internet, and an intranet.

[0042] In an embodiment, the portable AACMMs 100 and user devices (e.g., personal computers 402 and smart phone 404) are located in the same geographical location. In another embodiment, the portable AACMMs 100 and the user devices are located in two or more different geographical locations. It will be appreciated that the user devices are not limited to personal computers and cellular telephones but that they include any device capable of communicating with a network such as, but not limited to personal digital assistants (PDAs), and net book computers.

[0043] The user devices (e.g., the personal computer 402 and smart phone 404) access the processor 302 on the base processor board 204 in an AACMM 100 to request the AACMM 100 to perform user selected functions. Thus, user devices can be used in a fashion similar to the user interface board 202 to interface with the base processor board 204 of the AACMM 100. Depending on how the user device is communicating with the AACMM 100, all, a portion, or none of the code located on the user interface board 202 and the base processor board 204 may be resident on the user device. Some applications may also be remote (accessing the AACMM 100 via a router) and present in a different network.

[0044] An application residing on a user device may be used to perform all or a subset of the functions of the user interface board 202. In an embodiment, an application written for a specific user device resides on the user device, and this application collects data from the AACMM 100 and uses it in the application resident on the user device. This approach of having the application written for a specific user device requires that a custom version of the application be developed for each type of user device (e.g., I-Phone, Android, Windows CE, etc.).

[0045] In another embodiment, an application resides in the AACMM 100, and the user accesses the application and data via a web-like interface. In this case, the AACMM 100 hosts a web service version of the application via any standard browser on a remote user device.

[0046] In response to the user selected function requests, various components, e.g., encoders, sensors, and electronics are activated and collect data responsive to the request. In response to other user selected function requests, the AACMM 100 and/or user interfaces associated with the AACMM 100 are configured. In one embodiment, any user selected function that can be initiated or accessed via the LCD 338 on the user interface board 202 can also be initiated or accessed via a user device connected to the AACMM 100 via the network 406. In another embodiment, certain user selected functions are designated as those that can be accessed via a user device connected to the AACMM 100 via the network. In another embodiment, a combination of these two approaches is implemented, with some user selected functions being automatically accessible via a user device and other user selected functions requiring authorization to communicate with a user device.

[0047] User selected functions that may be initiated by a user device and executed by the processor 302 on the base processor board 204 include, but are not limited to: acquisition of dimensional measurements of an object, monitoring various temperature values, 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 providing training guidance.

[0048] FIG. 5 illustrates a main menu user interface screen in accordance with an embodiment. In an embodiment, the user interface screen depicted in FIG. 5 is displayed on the LCD 338 on the user interface board 202. In an embodiment, the user interface board 202 includes resident applications (e.g., stored in the memory 332) and executed by the display processor 328 for providing a graphical user interface (GUI) with selectable menu options corresponding to the available functions implemented by the AACMM 100. The GUI may be implemented as a set of menu options, such as those shown in FIG. 5. In FIG. 5, a computer screen window of the LCD 338 illustrates various menu options, such as "Part Setup" (e.g., for specifying part elements such as planes, lines, circles, and cylinders), "Measure" (e.g., for specifying features, lengths, angles, and positions), "Files" (e.g., for defining new parts, loading macros, and transferring data), "Settings" (e.g., for specifying applications, network connections, display characteristics, sound elements, power parameters, and languages), and "Diagnostics". In an embodiment, a user selects "Settings" (e.g., by touching the screen on the LCS 338) in order to get status about or to set up the network connection(s).

[0049] FIG. 6 illustrates a settings menu user interface screen in accordance with an embodiment that is displayed when the user selects "Settings" on the main menu user interface screen depicted in FIG. 5. In an embodiment, the user selects "Connection" in order to get status about or to set up the network connection(s).

[0050] FIG. 7 illustrates a network connection user interface screen in accordance with an embodiment that is displayed when the user selects "Connection" on the setting menu user interface depicted in FIG. 6. The network connection user interface screen depicted in FIG. 7 allows a user to select what communication options are to be turned on or off. As shown in FIG. 7, Bluetooth is enabled (turned on), as well as Ethernet. Also as shown in FIG. 7, a WiFi network is not currently enabled (it is turned off) on the AACMM 100. In an embodiment, the user changes the status by selecting a network icon. For example, the status of Bluetooth can be changed from "enabled" to "not enabled" by clicking on the Bluetooth icon on the network connection user interface screen shown in FIG. 7.

[0051] FIG. 8 illustrates a communications setting user interface screen for a WiFi network in accordance with an embodiment. In the user interface screen shown in FIG. 8, the WiFi network has been selected (as indicated by check mark next to the WiFi enabled box). The user interface screen presents the user with options for setting up a WiFi connection: to connect the AACMM 100 to an Ethernet network (e.g., a LAN), to a network (e.g., the Internet), and/or directly to a personal computer or laptop computer without going through a network. As shown in FIG. 8, the WiFi connection can be established (and an address for the AACMM 100 assigned) via a dynamic host configuration protocol (DHCP) or via a static internet protocol (IP). The way that the WiFi connection is established is installation dependent, and embodiments of the AACMM 100 described herein can support both DHCP and a static IP.

[0052] FIG. 9 illustrates a configure static IP user interface screen that is presented to a user when the user selects a static IP connection on the communications setting user interface screen shown in FIG. 8. As shown in the embodiment in FIG. 9, the user enters an IP address, a subnet mask and a gateway to establish a static IP WiFi connection to the network or to the Ethernet.

[0053] FIG. 10 illustrates an access point connection user interface screen in accordance with an embodiment when a user has selected a WiFi network connection on the user interface shown in FIG. 7. When the WiFi network connection is selected, the AACMM 100 looks for wireless routers and then displays the names of the WiFi networks associated with the located routers on a user interface screen such as the one shown in FIG. 10. The user interface screen shown in FIG. 10 also includes the signal strength as indicated by the length of the line next to each identified network. The user can then select one or more of the wireless networks and the AACMM 100 will automatically connect to the selected networks. In an embodiment, the AACMM 100 can only connect to one router at a time. In an embodiment, where Bluetooth and Ethernet are considered separate networks, both of these channels are open at the same time. In an embodiment, the AACMM 100 is a slave device on a network, and the network router and other devices are master devices.

[0054] In an embodiment, the user interface screens shown in FIGS. 5-10 are displayed on the LCD 338 located on the user interface board 202. In another embodiment, all or a subset of the user interface screens shown in FIGS. 5-10 are displayed on a user device that is in communication with the portable AACMM 100 via a network 406. In other embodiments, the content and the layout of the user interface screens shown are different than that shown in FIGS. 5-10, as the user interface screens shown in FIGS. 5-10 are intended to be examples of one way that a portable AACMM 100 may be connected to a network.

[0055] FIG. 11 illustrates a process flow for configuring network connections for a portable AACMM 100 in accordance with an embodiment. In an embodiment, the process flow depicted in FIG. 11 is executed by processor 302 located on the base processor board 204 of the AACMM 100. In an embodiment, the processor 302 outputs to and receives input from the LCD 338 via the display processor 328 on the user interface board 202. At step 1102, one or more of the communication channels supported by the AACMM 100 (e.g., USB, Ethernet, Wifi, Bluetooth) are selected. At step 1104 it is determined if a USB connection has been selected. If a USB connection has been selected, then step 1106 is performed and a USB cable is plugged in to the AACMM 100 and external host (computer), at which time the external host enumerates the ACCMM (discovers and loads the required computer software driver for the ACCMM) and an application is executed. In an embodiment, the discovery and loading of the AACMM driver takes place automatically. In the embodiment depicted in FIG. 11, processing is completed after step 1106. In another embodiment, after step 1106 is completed processing continues at step 1108.

[0056] If the USB communication channel was not selected, then step 1108 is performed to set up the supported communication channels. External network(s) corresponding to the selected communication channel (s) is configured. In an embodiment, the external network is one of a LAN, a WLAN, or a PAN. In addition, any computers and/or peripherals used by the communication channel are configured at step 1108. At step 1110, a user selects one or more of the communication channels from a user interface screen such as the one in FIG. 7. At step 1112, the AACMM is configured to communicate with the selected communication channel(s).

[0057] Technical effects and benefits include having a large variety of communication technologies supported such that the user has maximum flexibility in using the product in an environment where restrictions may be placed on one or more of the typical communication options. As examples, in some plants, Bluetooth is used to control automated delivery systems, thus Wi-Fi must be used to avoid interference. In another, Wi-Fi has too great a range and thus Bluetooth is preferable. In another, wireless methods are not acceptable due to the classified nature of the parts, thus wired Ethernet is required. In a plant with network restriction on network access, USB is required. All of these options are supported in exemplary embodiments described herein.

[0058] 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.

[0059] 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.

[0060] 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.

[0061] 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.

[0062] 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).

[0063] 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.

[0064] 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.

[0065] 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.

[0066] 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.

[0067] 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.

* * * * *


uspto.report is an independent third-party trademark research tool that is not affiliated, endorsed, or sponsored by the United States Patent and Trademark Office (USPTO) or any other governmental organization. The information provided by uspto.report is based on publicly available data at the time of writing and is intended for informational purposes only.

While we strive to provide accurate and up-to-date information, we do not guarantee the accuracy, completeness, reliability, or suitability of the information displayed on this site. The use of this site is at your own risk. Any reliance you place on such information is therefore strictly at your own risk.

All official trademark data, including owner information, should be verified by visiting the official USPTO website at www.uspto.gov. This site is not intended to replace professional legal advice and should not be used as a substitute for consulting with a legal professional who is knowledgeable about trademark law.

© 2024 USPTO.report | Privacy Policy | Resources | RSS Feed of Trademarks | Trademark Filings Twitter Feed