Patent Description:
Computer Numerically Controlled (CNC) machine tools are widely used in manufacturing industry for machining or cutting parts. With such machine tools, it is known to exchange a cutting tool for a measurement probe to enable parts or tools to be measured for set-up or inspection purposes. Such a measurement probe may be a contact probe having a workpiece-contacting stylus for measuring the position of points on the surface of a workpiece, such as described in <CIT> and <CIT>. Rather than having a workpiece-contacting stylus, any of these types of probe may instead sense the workpiece using optical, capacitive, inductive (e.g. using eddy currents) or other non-contact techniques.

Since a measurement probe for use in machine tools is exchangeable with cutting tools, it can be difficult to provide wires or cables to connect the probe's output signal to the controller of the machine. Consequently, various wireless signal transmission techniques are typically used, including inductive transmission, optical transmission and radio transmission. An example of an optical transmission systems between the probe and the controller of the machine tool is shown in <CIT>, while <CIT> provides an example of a wireless measurement probe that communicates with a remote probe interface over a spread spectrum radio link. Without wires or cables, the probe also needs to be battery powered.

<CIT> discloses a method for communicating a control command from a probe interface of a machine tool to a measurement probe using an infrared transmission channel.

As measurement probes have become more complex over the years, there has been a need for them to operate in different modes. For example, such measurement probes may include electronics to filter the signals they acquire, prior to transmitting these signals to the controller, in order to prevent the generation of spurious signals as a result e.g. of vibration. Therefore, the probe may have various modes of operation (e.g. filtering, or no filtering) and may be pre-set to use a different mode depending on the machine tool and the environment into which it has been installed. Since a wireless measurement probe for a machine tool is battery operated, the probe may also include various power saving modes to preserve battery life.

In addition, the wireless communications interface for the probe needs to be set up before wireless communication between the probe and the controller can even take place. For example, for a radio probe the frequency channels and communications protocols need to be set both at the probe and at the controller to ensure that they can talk to each other. However, before the mode of wireless communication has been established, it is not possible to use the wireless interface as a means of configuring the probe.

In known probes, such modes can be pre-set by the use of DIP switches on a circuit board internally within the probe. However, since the use of DIP switches has a number of disadvantages, <CIT> describes an improvement in the form of a so-called "trigger-logic" technique that provides an easier way to program the mode of operation of a measurement probe. With this technique, indicators (e.g. LEDs) on the measurement probe flash to indicate mode information and deflection of the probe stylus by hand is used to set the desired modes of probe operation.

However, although the "trigger logic" technique enables simple programming of the measurement probe without needing to access internal DIP switches or the like, the present applicant has found it can become complex when a large number of measurement probes need to be programmed or when the measurement probe has a large number of modes to set. This can lead to programming errors and can make the programming task time consuming.

According to a first aspect of the present invention, there is provided a method of communicating information to a measurement probe mounted on a coordinate positioning machine, comprising encoding (and/or representing) the information as (e.g. by selecting from) one or more of a (e.g. predetermined) plurality of (e.g. available or selectable) characteristic (and/or distinct and/or identifiable and/or distinguishable) movements of the probe, controlling the machine to impart the movement(s) to the probe, detecting the movement(s) at the probe, and decoding (and/or determining and/or reconstructing) the information at the probe from the detected movement(s).

This has the advantage that an existing mechanism (i.e. movement of the machine) can be used, rather than a separate communications channel which may not yet be configured. Furthermore, because of the availability of a plurality of characteristic movements from which to select when encoding the information, a rich variety of information can be represented and communicated in this way. For example, a combination or sequence of movements selected from the available characteristic movements can be used to form a complex set of instructions for the probe or to communicate or initiate communication of configuration data.

According to a second aspect of the present invention, there is provided a measurement probe for use in a method according to the first aspect of the invention, the measurement probe being mountable to the machine and comprising: at least one movement sensor for detecting the movement(s) imparted to the measurement probe by the machine; and a controller for decoding the information from the detected movement(s), and performing an operation at or controlling operation of the probe in dependence on the decoded information.

The information may be encoded or represented as a sequence of two or more of the plurality of characteristic movements.

A characteristic movement of the probe (or a sequence of such characteristic movements) may be one that is not a normal movement or sequence of movements that the probe would make during normal operation (for example when measuring a workpiece, or when being moved around the working volume, or when being moved to or from a tool changer rack). For example, a rotation around a longitudinal axis of the probe would not typically be a movement which is made during normal operational use of the probe.

A characteristic movement need not be specified in all respects, but can instead relate to a characteristic type or range of movement. For example, a clockwise rotation at any rotational speed might be used as a characteristic movement because it can be distinguished from an anticlockwise rotation at any rotational speed. Therefore, two movements or types of movements can be considered as characteristic movements if they can be distinguished from one another (particularly at the probe, using suitable movement sensors). However, a clockwise rotation in a range between <NUM> and <NUM> rpm would not constitute a characteristic movement relative to a clockwise rotation in a range between <NUM> and <NUM> rpm because the overlapping ranges (in the same rotation direction) mean that these movements cannot be distinguished (at the probe) from the other. So, the property of being a characteristic movement can be considered to be relative to another movement or type of movement.

The method may comprise performing an operation at or controlling operation of the probe in dependence on the information decoded at the probe.

The information may comprise at least one of: (a) configuration data for the probe; and (b) one or more commands or operations or instructions to be performed by the probe.

The method may comprise using one or more movements as a command or instruction to put the probe into a data reception mode, during which mode one or more further movements may be used to communicate data to the probe.

The method may comprise using one or more movements as a command or instruction to put the probe into a data transmission mode, during which mode the probe may communicate data to a machine controller or interface of the machine.

The probe may communicate the data to the machine controller or interface using a sequence of trigger pulses.

The data may comprise probe configuration data.

The method may comprise using the data received at the probe to configure the probe.

The step of encoding (or representing) the information may comprise selecting one or more movements representing (or corresponding to) the information from a plurality of predetermined characteristic movements.

The predetermined characteristic movements may be stored in a lookup table.

The predetermined characteristic movements may be presented in an instruction manual, for example a user instruction manual.

The step of encoding (or representing) the information may comprise using a predetermined algorithm (e.g. encoding algorithm) to encode or convert the information into a corresponding set or sequence of one or more movements to be performed by the probe. The algorithm may be adapted such that different information (with different information content) is encoded into a different set or sequence of one or more movements to be performed by the probe. In this way, the different information (with different information content) can be distinguished at the probe. The algorithm may be adapted to receive more than one type of information (e.g. more than one command to be communicated to the probe) and to encode different type of information (e.g. different commands) into different respective movement(s) to be performed by the probe.

The method may be adapted to handle more than one type or item of information (for example different commands to be performed by the probe or different configuration data for the probe), and to encode different types or items of information (for example different commands or configuration data) into different corresponding respective movement(s) of the probe.

The one or more movements may comprise at least one rotational movement of the probe and/or at least one translational movement of the probe.

The or each movement may be a rotational movement of the probe.

The method may comprise using (e.g. signals from) at least one movement sensor on the probe to detect the one or more movements.

The method may comprise using (e.g. signals from) at least one movement sensor on the probe to distinguish between different movements of the one or more movements.

The method may comprise using (e.g. signals from) at least one movement sensor on the probe to distinguish between the one or more movements and other movements of the probe (e.g. normal movements made during normal use of the probe).

The at least one movement sensor may comprise at least one accelerometer.

The at least one movement sensor may comprise at least one linear accelerometer.

The method may comprise using (e.g. signals from) at least two accelerometers on the probe, arranged substantially orthogonal to one another, to detect the movement(s) and/or to distinguish those movement(s) from other movements of the probe.

The method may comprise using (e.g. signals from) at least three accelerometers on the probe, arranged substantially orthogonal to one another, to detect the movement(s) and/or to distinguish those movement(s) from other movements of the probe.

The probe may comprise at least one of: an axial accelerometer for measuring acceleration along an axis of the probe; and first and second radial accelerometers for measuring acceleration respectively in first and second substantially orthogonal radial directions towards the probe axis (such as is caused by rotation of the probe around the probe axis).

The machine may be operable to rotate the probe around a rotational axis of the machine.

The movement(s) may comprise at least one rotational movement about the rotational axis of the machine.

The probe may be mounted on the machine with the probe axis substantially aligned with the rotational axis of the machine.

The machine may comprise an articulating probe head to which the probe is mounted. The rotational axis of the machine may be selected from one or more rotational axes of the probe head.

The or each of the movement(s) may be distinguishable by the probe from each other of the movement(s).

The or each of the movement(s) may be distinguishable by the probe from other movements made by the probe.

The or each of the movements may be characterised by (and/or distinguishable from each other of the movements) by one or more of: (a) a property of the movement, such as its speed and/or duration; (b) a type of the movement, such as whether it is a clockwise or anticlockwise rotation; (c) a magnitude of acceleration; (d) a direction of acceleration; (e) a speed or velocity of the movement; (f) a direction of the movement; (g) a duration of the movement; (h) a timing of movement; (i) the order of the movement within a sequence of movements; and (j) a temporal relationship between the movement and one or more other movements within a sequence of movements. Whether or not one movement or type of movement is distinguishable from another movement or type of movement is particularly relevant from the perspective of the probe, which is where the detection, identification and analysis of movements takes place. It is also noted that a movement can be characterised by a range of property values (such as a rotation speed between <NUM> and <NUM> rpm or a rotation speed greater than <NUM> rpm or a duration between <NUM> and <NUM> seconds) rather than by a specific value of a property (e.g. a rotation speed of exactly <NUM> rpm) though in practice even a specific property value would typically amount to a small range of values due to measurement and motion control tolerances.

Movement may comprise rotational and/or translational movement.

There may be a plurality of different movements or combinations of movements from which to choose or select in the encoding or representing step, with each corresponding to a different respective operation to be performed by the probe.

Each movement or combination of movements may correspond to a different respective identifiable signature.

The method may comprise mounting the measurement probe on the machine before controlling the machine to impart the one or more movements to the probe.

The decoding step performed at the probe may be based only on movement(s) detected at the probe after the probe has been mounted on the machine, or at least account may be taken only of information derived from movement(s) which are detected at the probe after the probe has been mounted on the machine. This is to be distinguished from a scenario where movements imparted e.g. by a manual operator when mounting the probe on the machine tool changer might trigger the probe to turn on or be accidentally configured.

The measurement probe may be a wireless measurement probe.

The measurement probe may be adapted for measuring the position of points on the surface of an object. The measurement probe may be a contact probe having a deflectable stylus. The sensor may then measure deflection of the stylus. The measurement probe may be a non-contact probe (e.g. an optical, inductive or capacitive probe). The measurement probe may be a touch trigger probe. The measurement probe may be a scanning or analogue probe. The measurement probe may be configured for measuring a workpiece. For example, the measurement probe may comprise a shank that allows it to be mounted in the spindle of a machine tool; i.e. it may comprise a spindle-mountable measurement probe. The measurement probe may be mountable elsewhere on the machine tool.

A measurement probe may also be referred to as a dimensional measurement probe, or a probe for sensing the position of (one or more points on) an object.

The measurement probe may be a measurement device, such as a measurement probe or a tool setter. In this way, the first aspect of the present invention is applicable to any type of measurement device. The tool setter may be an optical tool setter (for example, a non-contact laser tool setter). The tool setter may be mounted to the bed of the machine tool.

The measurement probe may be battery operated (e.g. it may include one or more internal batteries for powering the control circuitry, primary wireless communications module etc).

The coordinate positioning machine may be a machine tool.

The rotational axis of the machine may be a rotational axis of a spindle of the machine tool.

The probe may be mounted on the machine tool with the probe axis substantially aligned with a spindle axis of the machine tool.

The method of communicating information to the probe may provide a secondary means of communication, there also being a primary means of communication different from the secondary means of communication, with the primary means of communication being used to communicate during normal use of the probe, for example for communicating measurement data during a measurement operation.

The primary means of communication may comprise a wireless means of communication, such as optical or radio.

The probe movement(s) may be considered to be characteristic (or distinct or identifiable) if each (e.g. rotational) movement is distinguishable by the probe from each other (e.g. rotational) movement.

According to a third aspect of the present invention, there is provided a method of controlling a measurement probe mounted on a coordinate positioning machine, comprising communicating information to the probe using a method according to the first aspect of the present invention, and performing an operation at or controlling operation of the probe in dependence on the decoded information.

According to a fourth aspect of the present invention, there is provided a probe controller configured to use a method according to the first aspect of the present invention by decoding the information at the probe from the detected movement(s).

According to a fifth aspect of the present invention, there is provided a machine controller configured to use a method according to the first aspect of the present invention by encoding the information as one or more of a plurality of characteristic movements of the probe, and controlling the machine to impart the movement(s) to the probe.

According to a sixth aspect of the present invention, there is provided a computer program which, when run by a probe controller, causes the probe controller to perform or at least use a method according to the first aspect of the present invention by decoding the information at the probe from the detected movement(s).

According to a seventh aspect of the present invention, there is provided a computer program which, when run by a computer or a machine controller, causes the computer or machine controller to perform or at least use a method according to the first aspect of the present invention by encoding the information as one or more of a plurality of characteristic movements of the probe, and controlling the machine to impart the movement(s) to the probe.

The program may be carried on a carrier medium. The carrier medium may be a storage medium. The carrier medium may be a transmission medium.

According to an eighth aspect of the present invention, there is provided a computer-readable medium having stored therein computer program instructions for controlling a probe controller to perform a method according to the first aspect of the present invention by decoding the information at the probe from the detected movement(s).

According to a ninth aspect of the present invention, there is provided a computer-readable medium having stored therein computer program instructions for controlling a computer or machine controller to perform a method according to the first aspect of the present invention by encoding the information as one or more of a plurality of characteristic movements of the probe, and controlling the machine to impart the movement(s) to the probe.

Also described herein is a method of communicating information to a measurement probe mounted on a coordinate positioning machine, comprising selecting one or more of a plurality of characteristic movements of the probe in dependence on the information, controlling the machine to impart the movement(s) to the probe, detecting the movement(s) at the probe, and determining or reconstructing the information at the probe from the detected movement(s).

Also described herein is a method of communicating with a measurement probe mounted on a coordinate positioning machine (with the machine operating under control of a machine controller), the method comprising encoding (or representing) information (at the controller) to be communicated to the probe as a sequence of two or more (distinct and/or identifiable and/or characteristic) movements of (to be performed by) the probe, controlling (using the controller to control) the machine to perform the sequence movements on (impart the sequence of movements to) the probe, detecting the sequence of movements at the probe, and decoding (or determining) the information from the detected sequence of movements at the probe.

Also described herein is a method of communicating with a measurement probe mounted on a coordinate positioning machine, the method comprising controlling the machine to perform a sequence of two or more different (rotational) movements of the probe, and detecting this sequence of movements at the probe.

Also described herein is a method of communicating with a measurement probe mounted on a coordinate positioning machine, the method comprising representing (encoding) information to be communicated to the probe as a sequence of two or more distinct movements of (to be performed by) the probe, controlling the machine to impart the sequence of movements to (or on) the probe, detecting the sequence of movements at the probe, and extracting (decoding) the information at the probe from the detected sequence of movements.

Also described herein is a method of controlling operation of a measurement probe mounted on a coordinate positioning machine, the method comprising (communicating with the probe by) controlling the machine to perform a sequence of two or more different (rotational) movements of the probe, detecting this sequence of movements at the probe, and controlling operation of the probe based on the detected sequence.

Reference will now be made, by way of example, to the accompanying drawings, in which:.

<FIG> is a schematic illustration of a machine tool <NUM> embodying the present invention, which would typically be installed in a factory or machine shop environment. The machine tool <NUM> is for performing machining operations on a workpiece <NUM>, which is illustrated in <FIG> as being loaded onto a base or bed <NUM> of the machine tool <NUM>. The machine tool <NUM> comprises a spindle <NUM>, into which a drill bit <NUM> for performing machining operations on the workpiece <NUM> is mounted. The spindle <NUM> is in turn supported by a support member <NUM> which is itself moved by a movement system <NUM>, thereby enabling the drill bit <NUM> to be moved into position for working on the workpiece <NUM>. The movement system <NUM> would typically provide for movement of the drill bit <NUM> in three degrees of freedom (along three axes) X, Y, Z, and the spindle <NUM> is controllable to rotate rapidly around its longitudinal axis R in order to cause the drill bit <NUM> to machine a feature in workpiece <NUM>.

The movement system <NUM> is controlled by a machine controller <NUM>, and these elements are connected via communications link <NUM>, which is typically a wired connection. Separately, the machine also comprises a probe interface <NUM>, which will be discussed below, and a user interface <NUM> which is used by the operator to set up and program the machine tool <NUM> (for example the machine controller <NUM>). To the left side of the window of the machine tool <NUM> shown in <FIG> is a tool holder or rack <NUM>, which is shown holding a measurement probe <NUM>. After the machine tool <NUM> has finished working on the workpiece <NUM>, or has finished working on a particular feature of the workpiece <NUM>, the machine controller <NUM> can be used to perform a series of movements which results in the drill bit <NUM> of <FIG> being interchanged with the measurement probe <NUM>.

After such a tool change operation to swap the drill bit <NUM> for the measurement probe <NUM>, as shown in <FIG>, the machine tool <NUM> can then be controlled to perform a measurement operation on the workpiece <NUM> to inspect it and to check that any machined features are within tolerance. During the measurement operation, the spindle <NUM> and the attached measurement probe <NUM> would not typically be rotated around its longitudinal axis, because such a movement is not typically required or desirable. During the measurement operation the measurement probe <NUM> communicates with the probe interface <NUM> over a separate communications link <NUM> (for example a radio or optical communications channel), for example to send commands to the probe <NUM> and/or to receive measurement data from the measurement probe <NUM>; this can be considered to a primary communications channel for the measurement probe <NUM>. Following the measurement operation, if there is further work to be performed on the workpiece <NUM> then the measurement probe <NUM> can be swapped for the drill bit <NUM> (or some other tool held in the tool rack <NUM>) for further machining or processing operations. <FIG> provides a more detailed illustration of the drill bit <NUM> of <FIG>, showing in particular a shank <NUM> that is adapted to couple with the spindle <NUM> of the machine tool <NUM> using a standard releasable shank connector. The longitudinal rotation axis R is also shown in <FIG> provides a more detailed illustration of the measurement probe <NUM> of <FIG>, also having a shank <NUM> that is adapted similarly to couple with the spindle <NUM> of the machine tool <NUM> using the standard releasable shank connector. Although, as mentioned above, probe <NUM> is not typically rotated during normal use (e.g. during a measurement operation), the longitudinal rotation axis R is also shown in <FIG> because this is relevant further below when describing a method of communicating information embodying the present invention. Since the measurement probe <NUM> illustrated in <FIG> is battery powered, it also comprises a battery compartment <NUM> into which a battery can be inserted. The measurement probe <NUM> in this example is a touch trigger type probe and accordingly comprises a workpiece-contacting stylus <NUM>. Finally, the measurement probe <NUM> has an annular window <NUM> through which optical signals can be transmitted to and received from the probe interface <NUM> over the wireless communications link <NUM> illustrated in <FIG>; this can be considered to the primary communications channel for the probe <NUM>. The elements illustrated schematically within the window <NUM> are the optical transmitters and receivers, and associated exposed electronic components. Also illustrated schematically in the probe <NUM> of <FIG> are one or more movement sensors <NUM> for sensing movement imparted to the measurement probe <NUM> by the machine <NUM>, and a controller <NUM> for determining whether the sensed movement comprises one or more of the plurality of characteristic movements, and performing an operation at or controlling operation of the probe <NUM> in dependence on the determination. <FIG> is a schematic illustration of a method embodying the present invention for communicating information in general to a measurement probe (such as measurement probe <NUM> of <FIG>) mounted on a coordinate positioning machine (such as machine tool <NUM> of <FIG>). More specific embodiments will be described further below.

In step S1, the measurement probe <NUM> is mounted in the spindle <NUM> of the machine tool <NUM>, as described above. In step S2 it is determined what information is to be communicated to the measurement probe <NUM>. As will be described in more detail below, this information could be configuration data for the measurement probe <NUM>, or it could be a command for putting the measurement probe <NUM> into a particular operating mode, or indeed any information whatsoever.

In step S3 the information is encoded as one or more of a plurality of characteristic movements of the probe <NUM>. For example, there may be a lookup table comprising a plurality of different characteristic movements of the probe <NUM>, and step S3 would comprise selecting one or more of those characteristic movements based on the information that is to be sent. In this way, the selected characteristic movements are a representation of the information to be sent. This will become more apparent in the specific embodiments described below.

In step S4 the machine tool <NUM> is controlled to impart the movement(s) determined in step S4 to the probe <NUM>, for example by using the movement system <NUM> and/or by rotating the spindle <NUM> around the rotational axis R, as described above with reference to <FIG>.

In step S5, these movement(s) are detected at the probe <NUM> by movement sensors <NUM>, and in step S6 the information is decoded or extracted by the probe controller <NUM> of the probe <NUM> from the movement(s) detected in step S5. Having decoded the information sent from the machine controller <NUM> by way of these movement(s), the decoded information is used at the probe <NUM> appropriately (based on what the information represents), for example to control some aspect of the operation of the probe <NUM> if the information represents configuration data or a command which is intended to change an operational mode of the probe <NUM>.

Finally, step S8 represents the measurement probe <NUM> using the primary communications channel <NUM> to communicate with the probe interface <NUM>, for example having configured or established or initiated this primary communications channel <NUM> using the method of steps S1 to S7.

Various possibilities for the characteristic movements of the probe <NUM> will now be described with reference to <FIG>. Each of the plurality of possible characteristic movements should be distinguishable by the probe <NUM> from each of the other characteristic movements. For example, <FIG> shows a sequence of rotational movements performed by the probe <NUM>, each of which is in a clockwise direction for the same duration, but at different respective rotational speeds. As such, each of these movements can be described as a characteristic movement because each movement is distinguishable from each other movement by virtue of the rotational speed, which is detectable at the probe <NUM> by appropriate movement sensors. A characteristic movement in this context can also be considered to be an individual one of the rotational movements of <FIG>, or a combination of movements (for example a signature sequence consisting of all five rotations shown in <FIG>, in that order and with those rotational speeds).

<FIG> shows a different sequence of rotational movements performed by the probe <NUM>, each of which is in a clockwise direction, but for different respective durations and at different respective rotational speeds. As such, each of these movements (or a combination of such movements) can be described as a characteristic movement because each movement is distinguishable from each other movement by virtue of both the duration and the rotational speed, both of which are measurable at the probe <NUM>.

<FIG> shows another sequence of rotational movements performed by the probe <NUM>, each of which at the same rotational speed, but in different respective directions (some clockwise, some anticlockwise) and for different respective durations. As such, each of these movements (or a combination of such movements) can be described as a characteristic movement because each movement is distinguishable from each other movement by virtue of both the duration and the rotational direction, both of which are measurable at the probe <NUM>.

<FIG> shows another sequence of rotational movements performed by the probe <NUM>, at different respective rotational speeds, rotational directions and durations. As such, each of these movements (or a combination of such movements) can be described as a characteristic movement because each movement is distinguishable from each other movement by virtue of the rotational speed, rotational direction and duration, all of which are measurable at the probe <NUM>.

A characteristic movement can also be a rotational movement combined with a translational movement of the probe <NUM>, as illustrated in <FIG>. In <FIG>, an anticlockwise rotation combined with a movement (acceleration) in the Z direction (in either direction) is used to encode an information bit '<NUM>', while in <FIG> a clockwise rotation combination with a movement in the Z direction (in either direction) is used to encode an information bit '<NUM>'. In this way, a sequence of such characteristic movements can be used to convey a series of logic bits, which can be used to represent any data that needs to be communicated to the probe <NUM>. The bit periods could be of a fixed duration or could be separated by null periods of zero movement.

A movement of the probe <NUM> can also be characterised at least in part by its linear and/or rotational acceleration (in contrast to its linear and/or rotational speed). For example, when considering the Z movement of <FIG>, this movement in Z could be characterised by its linear acceleration rather than its linear speed. Movement of the machine in the Z direction (which is imparted to the probe <NUM>) would in practice consist of an acceleration phase followed by a deceleration phase as shown in <FIG>. It is not practical for the machine tool <NUM> to provide extended periods of high acceleration, since the velocity of the accelerated machine components (including the probe <NUM>) would end up becoming too great. One possible implementation would be to take the absolute output of the linear accelerometer for the Z axis, which is shown in <FIG>, and for each of the bit periods to derive a cumulative or accumulated acceleration, as shown in <FIG>. When the accumulated acceleration of <FIG> reaches a predetermined threshold (as marked in <FIG>), then the movement is determined to be a characteristic Z movement in the context of <FIG>. In this way, high accelerations of machine components can be avoided.

In each of the examples shown in <FIG>, modulation of angular velocity (rotation) is used to characterise the different movements of the probe <NUM>. For the examples shown in <FIG>, modulation of angular velocity (rotation) is combined with modulation of linear acceleration modulation (in the Z direction).

In summary, the or each of the movement(s) performed by the probe <NUM> may be distinguishable from each other of the movement(s) by one or more of: (a) magnitude of acceleration; (b) direction of acceleration; (c) speed of movement; (d) direction of movement; (e) duration of movement; (f) timing of movement; and (g) order of movement within a sequence of movements. Movement may comprise rotational and/or translational movement.

A characteristic movement should also preferably be readily distinguishable by the probe <NUM> from other movements made by the probe <NUM> during normal operation, such as translational movements around the working volume of the machine tool <NUM>. For this reason, it is preferable to use rotation around the longitudinal axis R of the probe <NUM> to form at least part of a characteristic movement, since this is not a type of movement that would normally be imparted to the probe <NUM> during normal operational use (except in specific circumstances such as for a measurement cycle in which the probe <NUM> might e.g. be rotated to deal with stylus runout). However, this is not essential so long as the movements can be distinguished from normal operational movements in some way. A movement (or acceleration) in the Z direction is chosen for the characteristic movements shown in <FIG> because some machine tools move the machine table <NUM> (and workpiece <NUM>) in X and Y rather than the support <NUM>, with the movement system <NUM> only moving the support <NUM> (and spindle <NUM>) in a Z direction, and since the idea would ideally work consistently on multiple machine tools <NUM> with differing acceleration profiles, complex signatures would not be possible. However, it is also possible where appropriate to use translational movements or accelerations in X and Y to characterise (at least partly) a characteristic movement of the probe <NUM>.

In a simple case, performing one or more of the characteristic movements described above for the probe <NUM> can be used to initiate a single corresponding function at the probe, such as switching the probe <NUM> into a different operational mode, with a plurality of different operational modes being selectable by using different characteristic movements to convey different respective commands to the probe <NUM>. For example, a user manual for the measurement probe <NUM> could teach rotating the probe <NUM> at <NUM> rpm (revolutions per minute) for <NUM> seconds to enter mode A, rotating the probe <NUM> at <NUM> rpm for <NUM> seconds for mode B or rotating the probe <NUM> at <NUM> rpm for <NUM> seconds for mode C. The user would then enter a line of code (or a pair of speed/duration variables) for the desired mode (A, B or C) into the machine controller <NUM> (using the interface <NUM>) that commands the machine tool <NUM> to rotate the probe <NUM> at the given speed and for the given duration. In this way, information in the form of a command to change the operational mode of the probe <NUM> has been communicated to the probe <NUM> by encoding that information in the form of a characteristic rotational movement of the probe <NUM> (note that this is just a single rotational movement, but is one of many possible rotational movements which the probe <NUM> could be made to perform), which is detected and decoded at the probe <NUM> to effect the change of operational mode of the probe <NUM>.

It is also possible to use a predetermined characteristic movement or sequence of characteristic movements, for example one or more characteristic rotations, to put the probe <NUM> into a 'receptive' mode during which one or more further characteristic movements (e.g. rotations and/or accelerations) of the probe <NUM> are used to encode and communicate data to the probe <NUM>, which is detected and decoded by the probe <NUM> for use at the probe <NUM> in some way. This possibility is illustrated by the flowchart of <FIG>, in the case where the 'receptive' mode is a configuration loading mode, in which various configuration options are loaded into the probe <NUM>.

In step T1 of <FIG>, the characteristic movement(s) required to put the probe <NUM> into the configuration loading mode is determined. In other words, in step T1 the command for putting the probe <NUM> into the configuration loading mode is encoded into one or more characteristic movement(s) to be performed by the probe <NUM>. It could be that the user looks up the corresponding characteristic movement(s) in a user manual, with the encoded movements being programmed into the machine controller <NUM> via the interface <NUM>. Alternatively, the user could indicate directly via the interface <NUM> that the configuration loading mode is required for the probe <NUM>, with the controller <NUM> then performing a lookup to determine the corresponding characteristic movement(s) to be performed by the probe <NUM> in order to communicate a `configuration loading mode' command (the encoded information) to the probe <NUM>.

In step T2, the machine tool <NUM> is controlled to impart the movement(s) determined in step T1 to the probe <NUM>, for example by using the movement system <NUM> and/or by rotating the spindle <NUM> around its rotational axis R, as described above with reference to <FIG>. In step T3, these movement(s) are detected at the probe <NUM> by movement sensors <NUM>, and from these detected movements the probe controller <NUM> determines that the probe <NUM> has been commanded to enter the configuration loading mode (the decoded information). Accordingly, in step T4 the probe controller <NUM> puts the probe <NUM> into a configuration loading mode.

In step T5, it is determined what probe configuration data is to be communicated to the probe <NUM>. For example, where the probe <NUM> is an optical probe (such as the example shown in <FIG>, having a primary communications channel <NUM> as shown in <FIG> that is optically based), one such configuration option might be for the "Switch On Method" that is used for the optical channel <NUM>, and another might be for the "Switch Off Method". Other functions that are controlled by configuration options might be "Enhanced Trigger Filter and Spindle Orientation capability", "Optical Transmission Type" and "Optical Power Setting". These functions are summarised in the table of <FIG>, along with the possible configuration options that are available for each function. For example, the "Switch On Method" can be either "Optical On (Standard)" or "Optical On (<NUM> Delay)", while the "Switch Off Method" could be one of "Optical Off', "Short Timeout (<NUM>)", "Medium Timeout (<NUM>)" and "Long Timeout (<NUM>)".

In step T6, the probe configuration data determined in step T5 is encoded into one or more probe movements of a plurality of characteristic probe movements. Referring to the table of <FIG>, since there are two possibilities for the "Switch On Method" function, this can be encoded into a single information bit, taking a '<NUM>' or a '<NUM>' value depending on the configuration choice required for that function. Similarly, there are four possibilities for the "Switch Off Method" function, so this can be encoded into two information bits, taking values of '<NUM>', '<NUM>', '<NUM>' or '<NUM>' depending on the configuration choice required for that function. A similar approach can be taken for the other functions shown in <FIG>, such that the configuration options for all five functions of <FIG> can be encoded into nine information bits as shown in the table of <FIG> provide tables corresponding respectively to the functions of <FIG>, with each table showing the bit position values for each possible configuration option associated with that function.

For each of the information bits #<NUM> to #<NUM> shown in the table of <FIG>, a characteristic probe movement as shown in <FIG> can be used to communicate a value of '<NUM>' and a characteristic probe movement as shown in <FIG> can be used to communicate a value of '<NUM>'. This provides a scheme (or algorithm) for encoding the configuration data into characteristic probe movements. For example if it is required to configure the probe <NUM> as follows: (a) Optical On (<NUM> delay); (b) Medium Timeout (<NUM>); (c) Autoreset On/Filter On (<NUM>); (d) Legacy (Start Filter On); and (e) Low Power. Using the on the "lookup tables" of <FIG>, this configuration information would be encoded into a bit sequence of '1_10_011_01_0' (or just '<NUM>' without separators), with each of these bit values having an associated characteristic probe movement as shown in one or other of <FIG> (depending on whether the bit value is '<NUM>' or '<NUM>').

In step T7 the machine tool <NUM> is controlled to impart the movement(s) determined in step T6 to the probe <NUM>, which for the probe movements of <FIG> would involve a combination of using the movement system <NUM> to accelerate the probe <NUM> in the Z direction and rotating the spindle <NUM> (with attached probe <NUM>) around rotational axis R. In step T8, these movement(s) are detected at the probe <NUM> by movement sensors <NUM> and decoded by the probe controller <NUM> to extract the configuration data sent by the machine <NUM>. In step T9, the probe <NUM> is configured according to the decoded configuration data from step T8. Finally, in step T10 the configuration loading mode is ended by communicating a further command to the probe <NUM>, with this command (information) being encoded as one or more movements of the probe <NUM> (each selected from a plurality of different characteristic movements) in a similar way to what is described above. Alternatively, the configuration loading mode could end automatically after a predetermined period of time.

<FIG> is a flowchart to illustrate a method embodying the present invention for putting the probe into a configuration reading mode and for subsequently ending configuration reading mode. As the name implies, this mode is for reading the current configuration from the probe <NUM> (in contrast to the method of <FIG> which is for writing a new configuration to the probe <NUM>). Since this is similar to previous embodiments, only a brief description is required. In step P1, the command (which is a type of information) to put the probe <NUM> into configuration reading mode is encoded into one or more movements of the probe <NUM> (each selected from a plurality of different characteristic movements). In step P2 the machine tool <NUM> is controlled to impart the movement(s) determined in step P1 to the probe <NUM>, and in step P3, these movement(s) are detected at the probe <NUM> by movement sensors <NUM> and decoded to recover the command sent from the machine controller <NUM>. In response to receipt of the command, in step P4 the probe controller <NUM> puts the probe <NUM> into configuration reading mode. Because of this, in step P5 the current configuration data for the probe <NUM> is communicated to the probe interface <NUM> of the machine <NUM> over the primary communications (e.g. radio) channel <NUM> (see <FIG>). This configuration data could be communicated via sequences of trigger pulses through the SKIP input (many modern controllers include a direct input for the probe's trigger signal often referred to as a SKIP input, where the probe trigger signal is effectively read immediately and the current axis position is 'latched' upon receipt of this signal). Then, in steps P7 to P10 a command is encoded and communicated from the machine <NUM> to the probe <NUM> (where it is decoded and acted on) to end the configuration data reading mode, and to put the probe <NUM> back into a standby mode.

<FIG> is a flowchart to illustrate a method embodying the present invention for putting the probe into a radio pairing mode. This method is intended to address a problem where, particularly in factories with a large number of machine tools <NUM> in a relatively small space, a probe <NUM> that has been paired to a probe interface <NUM> in a particular machine tool <NUM> is then moved to an adjacent machine tool <NUM>. In this situation, it may be possible for the original probe interface <NUM> to communicate with the probe <NUM> after it has moved to a new machine tool <NUM>. This creates the situation that a probe interface <NUM> will be receiving for example a seated status from the probe <NUM> irrespective of whether or the probe <NUM> in its spindle <NUM> is actually in contact with a workpiece <NUM>, and this is very likely to lead to a machine crash (where the movement system <NUM> drives the probe <NUM> into the workpiece <NUM> causing damage to the probe <NUM> and/or other parts of the machine tool <NUM>).

To overcome the above problem, the machine tool <NUM> performs a probing move in step Q1, and if no trigger signal is received back from the probe <NUM> before the machine reaches a target position (by which time a trigger signal would have expected to have been received), then it can be assumed that there is a possibility that the scenario described above has occurred. In this case the machine tool <NUM> proceeds to the subsequent steps shown in <FIG>, in which a sequence of rotations varying in speed and direction is executed to force the probe <NUM> in its spindle <NUM> into an 'acquisition' state (or radio pairing mode). This is achieved in a similar manner as described above, with the command being encoded into a sequence of characteristic probe movements in step Q2, the probe <NUM> being moved accordingly in step Q3, and the movements of the probe <NUM> being detected and decoded in step Q4. In response to the received command, in step Q5 the probe <NUM> is put into radio pairing mode. At the same time, the radio interface <NUM> is also be put into an acquisition state (or radio pairing mode) in step Q6, for example through the use of a sequence of probe start input pulses. Using a radio pairing routine performed respectively in steps Q7 and Q8 by the probe <NUM> and radio interface <NUM> respectively, the machine tool <NUM> is able to 're-pair' with the probe <NUM> that is in its own spindle <NUM>, thereby overcoming the problem described above of the incorrect seated signal. In steps Q9 to Q11 a command is encoded and communicated to the probe <NUM> (again using one or more probe movements to encode and communicated the command to the probe <NUM>) to end the radio pairing mode and to put the probe <NUM> back into a standby mode.

The various functions and sequences described above can be combined in very flexible ways. For example, it may be more practical (e.g. better for power management) to have two stages in a sequence, for example a "wake up" command and a separate "message" command, rather than combining these into a single movement (i.e. where the "wake up" and the "message" are part of the same movement). <FIG> show further sequences of characteristic movements that might be performed in different scenarios, and of course there are countless other possibilities as well because of the flexibility offered by the proposed communication method. In <FIG>, "CW" and "ANTI" denote a clockwise and anticlockwise rotation of the probe <NUM>, respectively, at any rotational speed unless specified. If no rotation direction is specified (for example in <FIG>) then the rotation direction does not matter (and instead the movement is characterised by virtue of another motion property, such as spin speed and/or duration).

It is noted that <CIT> discloses a technique which also makes use of a probe rotation to switch power-intensive probe circuity on or off. However, there just a single command and a single associated characteristic movement is disclosed in <CIT>. The single command is effectively a "toggle power" command (i.e. switch on, if currently off, or switch off, if currently on), and the single associated characteristic movement a brief, constant-speed rotation in a single direction only. There is no suggestion in <CIT> of encoding and communicating a rich variety of information by representing the information based on a plurality of different characteristic movements, which is what is provided for with an embodiment of the present invention. The method of <CIT> is not adapted to handle more than one type of command. The technique of <CIT> was a development of a technique for switching on a probe as described in <CIT> in which, after the probe has been inserted in the spindle of a machine tool, it is powered on by a brief rotation of the spindle, using a centrifugal switch within the probe to respond to such rotation. After use, the battery may be disconnected by a further such rotation, or by a delay element within the circuit of the probe which times out after a predetermined period of non-use of the probe.

Previous implementations of machine tool probes, such as described in <CIT>, utilise centripetal acceleration experienced by an accelerometer mounted in the probe as a means of detecting axial rotational velocity when the probe is mounted in a machine tool spindle, for the purposes of activating the probe from a standby state, or deactivating it from an operating state. The centripetal acceleration detected, is independent of the direction of rotation and hence the probe is only able to detect the rotation, but not the direction. With an embodiment of the present invention, detection of the direction of rotation (or other characteristic movements) is used as another input to facilitate more complex functionality. In addition to this, modulation of the angular velocity can also be used to convey information to the probe.

The advent of low power MEMS (microelectromechanical systems) gyroscopes in conjunction with a three-axis accelerometer (so called Inertial Measurement Units), facilitates the determination of rotation direction as well as magnitude, in three rotational degrees of freedom (three rotational axes). When used in conjunction with acceleration information in three linear axes this provides measurement with six degrees of freedom. The implementation of movement sensors <NUM> would ideally account for the fact that the probe <NUM> could be mounted in either a vertical machine tool spindle <NUM>, as shown in <FIG>, or a horizontal machine tool spindle <NUM>, as shown in <FIG>.

As well as encoding or mapping each of a plurality of different individual discrete commands (or other discrete types of information) into a corresponding set of one or more probe movement(s), it is also possible to use an algorithm to encode a continuous variable into an appropriate characteristic probe movement. For example, the probe <NUM> could sense the spin or rotation speed to set some probe parameter (such as a timing filter) based on the measured spin speed. For example, if the spin speed is measured at <NUM> rpm then a <NUM> filter is set at the probe <NUM>, or if <NUM> rpm is measured then a <NUM> filter is used. In that case, the encoding algorithm used at the machine controller <NUM> would effectively be "R = F × <NUM>" where F is the desired filter duration in milliseconds and R is the rotation speed in revolutions per minute (rpm) for the characteristic probe movement (rotation). The decoding algorithm used at the probe <NUM>, to extract the desired filter duration F from the measured rotation speed R, would be the inverse of the encoding algorithm: "F = R / <NUM>".

It will also be apparent from the description above that information can be encoded as a single movement, having a number of different possible states, e.g. with different rpm represent different actions, or as a sequence of movements. It is also noted that different sequences could decode to the same information. For example, three characteristic movements A, B and C in any order could represent the same information (i.e. ABC is the same as BAC which is the same as CAB) but a different combination of those movements A, B and C would represent different information (i.e. ABC is different to AAB). It is also possible that first and second bits of information are encoded as first and second different characteristic motions, but where the first and second characteristic motions are superimposed (performed simultaneously; for example a translation in Z would give first information and simultaneous rotation around Z would give second information.

Although an embodiment of the present invention is described above in the context of a machine tool, the same technique can be used with such a probe mounted on other types of coordinate positioning machine. For example, when used with a robot arm, rotation around one or more of the rotary joints of the robot arm can be used to perform the procedure described above in an entirely equivalent manner (to replace rotation of the spindle <NUM> around axis R as described above). An articulated robot arm would often have a final rotary joint having a rotational axis that is arranged axially in relation to the arm, so this final joint (with attached probe) could be used in a very similar manner to rotation of the spindle <NUM> in the machine tool embodiment above.

Claim 1:
A method of communicating information to a measurement probe (<NUM>) mounted on a coordinate positioning machine (<NUM>), comprising encoding the information as one or more of a plurality of characteristic movements of the probe (<NUM>), controlling the machine (<NUM>) to impart the movement(s) to the probe (<NUM>), detecting the movement(s) at the probe (<NUM>), and decoding the information at the probe (<NUM>) from the detected movement(s).