System and method for calibration of an articulated robotic arm - Patents.com

By using a system of beam and mobile sensing units in the non-Carthy coordinate positioning robot workspace for calibration and characteristic, the problems of inaccurate positioning and error accumulation are solved, and higher positioning accuracy and position reliability are achieved.

JP2025509473APending Publication Date: 2025-04-11RENISHAW PLC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024554144
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-03-11
Filing Date
2023-03-08
Publication Date
2025-04-11

AI Technical Summary

Technical Problem

The prior art is difficult to effectively improve the positioning accuracy of non-Carthy coordinate positioning robots, especially in complex workspaces, resulting in problems of inaccurate positioning and accumulation of errors.

Method used

Using a system consisting of a transmitting unit, a sensing unit and a processing unit, the robot coordinate system is calibrated and characterized by placing a beam in the work space and moving the sensing unit to measure the position of the beam, and measuring data of at least three degrees of freedom is used.

Benefits of technology

The positioning accuracy of non-Carter Xi'an coordinate positioning robots is improved, error accumulation is reduced, and position reliability of the robots in complex workspaces is enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025509473000001_ABST
    Figure 2025509473000001_ABST
Patent Text Reader

Abstract

A system for calibrating or otherwise characterizing a machine (1) comprises a launch unit (20) operable to launch an optical beam into a working volume of the machine (1), a sensor unit (10) movable by the machine (1) to a plurality of sensor unit positions along the beam (22) and operable to measure, for each of the plurality of sensor unit positions, a lateral beam position at a plurality of measurement positions along the beam, wherein the position of the sensor unit relative to the beam (22) in at least three degrees of freedom is derivable from the measurements, and a processor unit operable to calibrate or otherwise characterize the machine (1) using the measurements.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to coordinate positioning machines. The present invention relates in particular, but not exclusively, to a system for calibrating or characterizing at least some aspects of a coordinate positioning machine. The present invention is particularly applicable to non-Cartesian coordinate positioning machines, such as, for example, a hexapod, a measuring arm, or an articulated robot. [Background technology]

[0002] Articulated robots are commonly used in a variety of manufacturing applications such as assembly, welding, gluing, painting, picking and placing (e.g. printed circuit boards), packaging and labelling, palletizing, product inspection, etc. Their versatility and robustness, long reach and flexibility of movement make them ideal for use in production environments.

[0003] FIG. 1 of the accompanying drawings shows diagrammatically an articulated robot (or simply "robot") comprising an articulated robot arm 1 extending from a fixed base 2 to a moveable flange 3, the flange 3 supporting a tool (or end effector) 4. The flange 3 is provided with a coupling which enables the tool 4 to be conveniently interchangeable so that a variety of tools or end effectors can be employed depending on the application involved. Examples include grippers, vacuum cups, cutting tools (including both mechanical and laser cutting tools), drilling tools, milling tools, deburring tools, welding tools and other speciality tools.

[0004] The arm 1 is made up of multiple segments 5 connected by a combination of transverse rotation axes 6 and in-line (or longitudinal) rotation axes 7, forming a mechanical linkage from one end to the other. In the example shown in Figure 1, there are three transverse rotation axes 6 and three in-line rotation axes 7, alternating between the transverse rotation axes 6 and the in-line rotation axes 7 to make a total of six rotation axes. An additional in-line rotation axis 7 (not shown in Figure 1) could be provided between the final transverse rotation axis 6 and the flange 3 to conveniently rotate the tool 4 about its longitudinal axis, making a total of seven rotation axes.

[0005] Another common arrangement is shown in arm 1 of FIG. 2, which includes the additional in-line rotary shaft 7 described above between the final lateral rotary shaft 6 and the flange 3, and also omits the second in-line rotary shaft 7 (in series from the base end to the head end) from FIG. 1, thereby making a total of six rotary shafts. Tool 4 in FIG. 2 is a gripper. Arm 1 in FIG. 1 is a schematic diagram of a well-known IRB140 six-axis industrial robot by ABB Robotics. The last three axes 6, 7 form the "wrist" of the robot arm 1, with the wrist's center at the center of the final lateral rotary shaft 6. Since the wrist's center is invariant to the rotation of the wrist's three rotary axes 6, 7, the movement of the three rotary axes 6, 7 changes the orientation of whatever is attached to the wrist (in this case the gripper 4) without changing the position of the wrist's center, and the first three rotary axes 6, 7 of the robot arm 1 determine the position of the wrist's center. The wrist can be easily detached from the rest of the arm 1.

[0006] The articulated robot arm 1 of Figures 1 and 2 is an example of a non-Cartesian coordinate positioning machine, since its axes are not arranged orthogonally according to a Cartesian coordinate system, in contrast to Cartesian machines such as conventional three-axis (X, Y, Z) coordinate measuring machines (see, for example, Figure 1 of US Pat. No. 5,399,313). The arm 1 of Figures 1 and 2 is also an example of a "serial kinematic" coordinate positioning machine, since their axes of movement are arranged in series. In this sense, such machines are similar to conventional three-axis Cartesian coordinate measuring machines, which are also examples of "serial kinematic" coordinate measuring machines, and are in contrast to "parallel kinematic" coordinate positioning machines, such as hexapods, whose axes of movement are arranged in parallel.

[0007] Each joint or axis of a coordinate positioning machine contributes a position error or uncertainty. In serial kinematic machines, such as those shown in Figures 1 and 2, these errors are cumulative due to the continuous nature of the linkages. This accumulation of position errors does not occur in the same sense as in parallel kinematic machines, but regardless of the type of machine, it is important to calibrate the machine to map these errors and uncertainties.

[0008] Calibrating any type of non-Cartesian machine is a significant challenge, especially for articulated arms such as those shown in Figures 1 and 2, which have multiple rotational axes that are (a) arranged in series, (b) not fixed relative to each other, and (c) can combine in complex ways to position a tool within the working volume. Calibrating a Cartesian machine is usually simpler because such machines have three well-defined axes that are fixed relative to each other in an orthogonal arrangement, and each axis is largely independent of the others. For articulated robots, the position and orientation of each axis depends on the position and orientation of each of the other axes, so the calibration is different for each pose of the machine.

[0009] Many calibration techniques have a common goal of identifying a parametric model of the machine concerned, where a set of parameters (also called machine parameters) is used to characterize the machine geometry. Uncalibrated values ​​are initially assigned to these parameters as a starting point for the machine geometry. During calibration, the machine is moved to a variety of different poses (based on a current estimate of the machine parameters). For each pose, a calibrated measuring device is used to measure the actual pose, so that it is possible to determine a measure of the error between the expected and the actual machine pose. The task of calibrating the machine then becomes one of determining a set of values ​​for the various machine parameters that minimizes the error, using known numerical optimization or error minimization techniques.

[0010] In the case of a robot arm as shown in Figures 1 and 2, these machine parameters may include various geometric parameters such as the length of each of the segments 5, the rotational angular offset of each of the rotational axes or joints 6, 7 (angles from the encoders plus actual calibrated offsets) and various machine parameters such as joint compliance and friction. When all of these machine parameters are known and properly calibrated, it is possible to more reliably predict where the tool 4 will actually be when the various axes or joints 6, 7 are commanded by the robot controller 8 to move to their different respective positions. In other words, the machine parameters resulting from such a calibration provide a more accurate characterization of the machine geometry. These concepts regarding the calibration of coordinate positioning machines in general, and robot arms in particular, are discussed in more detail in US Patent No. 5,399,633 and US Patent No. 5,399,633.

[0011] Even after using known calibration techniques, errors will typically remain due to the challenges associated with calibrating non-Cartesian machines such as those shown in Figures 1 and 2. As a result, the accuracy of such machines is typically not as good as that of traditional 3-axis Cartesian machines, which are typically used for assembly (e.g., pick and place) tasks in manufacturing environments such as the arrangement shown in Figure 2 where speed, reach and flexibility are more important than absolute positioning accuracy.

[0012] In view of the above, it would be desirable to find improved systems and methods for calibrating non-Cartesian coordinate positioning machines such as those shown in Figures 1 and 2, not only to improve their positioning accuracy for existing assembly tasks, but also to improve their positioning accuracy to a point where they are suitable for use as coordinate measuring machines themselves. Such systems and methods may also find more general applicability to types of coordinate positioning machines other than robotic arms, as shown in Figures 1 and 2. [Prior art documents] [Patent documents]

[0013] [Patent Document 1] International Application No. PCT / GB2020 / 052593 [Patent Document 2] International Publication No. 2008 / 122808 Brochure [Patent Document 3] International Publication No. 2019 / 162697 Brochure [Patent Document 4] International Publication No. 2021 / 116685 Brochure [Patent Document 5] US Patent Application Publication No. 2016 / 0243703 Summary of the Invention

[0014] According to a first aspect of the invention, there is provided a system for calibrating or otherwise characterizing a machine, comprising a launch unit, a sensor unit, and a processor (or a characterization unit or calibration unit). The launch unit is operable to launch (or place or provide) an optical beam (or other form of optical or non-optical guide) into (or across or within) the working volume of the machine. The sensor unit (couplable to the machine) is moveable by the machine (relative to the launch unit) to a number of sensor unit positions along the beam. The sensor unit is operable to measure, for each of the number of sensor unit positions, a lateral (or lateral) beam position (a lateral beam position is a position in a lateral plane, or a position in a plane that is lateral to the beam) at a number of measurement positions along the beam (these are "measurements" or "actual measurements"). A position of the sensor unit relative to the beam (or launch unit or machine), or a change in the position of the sensor unit relative to the beam (or launch unit or machine) from one of the sensor unit's positions to another of the sensor unit's positions, is derivable from measurements of (each of) at least three degrees of freedom (e.g., three or four degrees of freedom). The processor unit (or characterization unit or calibration unit) is operable to calibrate or otherwise characterize the machine using the measurements.

[0015] In general, a first entity can move relative to a second entity with up to six degrees of freedom, up to three of which are translational degrees of freedom and up to three of which are rotational degrees of freedom. The three translational degrees of freedom may be denoted as X, Y, Z (corresponding to translation along the X, Y, and Z axes) and the three rotational degrees of freedom may be denoted as A, B, and C (corresponding to rotation about the X, Y, and Z axes, respectively). In this coordinate system, if Z is considered to correspond to (or be aligned with) the axis defined by the beam, then (a) X, Y are considered to be lateral translational degrees of freedom, (b) Z is considered to be longitudinal translational degrees of freedom, (c) A, B are considered to be lateral rotational degrees of freedom (also called pitch, yaw), and (d) C is considered to be longitudinal rotational degrees of freedom (also called roll). It will be understood that the assignment of letters to the degrees of freedom is arbitrary and that the rotational degrees of freedom corresponding to X, Y, and Z could alternatively be denoted as, for example, C, B, and A, respectively.

[0016] According to a second aspect of the invention there is provided a sensor unit for use in a system according to the first aspect of the invention, the sensor unit being machine movable to a plurality of sensor unit positions along the beam and operable to measure a position of the beam in a lateral direction at a plurality of measurement positions along the beam for each of the plurality of sensor unit positions, and wherein the position of the sensor unit relative to the beam (or a change in the position of the sensor unit relative to the beam from one of the sensor unit positions to another of the sensor unit positions) is derivable from measurements of at least three degrees of freedom.

[0017] According to a third aspect of the present invention, there is provided a method of calibrating or otherwise characterizing a machine, comprising: (a) launching an optical beam into a working volume of the machine, or at least causing an optical beam to be launched into the working volume of the machine; (b) controlling the machine to move a sensor unit along the beam to a plurality of sensor unit positions along the beam; (c) for each of the plurality of sensor unit positions, measuring a position of the beam laterally at a plurality of measurement positions along the beam using the sensor unit, wherein a position of the sensor unit relative to the beam (or a change in the position of the sensor unit relative to the beam from one of the sensor unit positions to another sensor unit position) is derivable from measurements in at least three degrees of freedom; and (d) using the measurements to calibrate or otherwise characterize the machine.

[0018] The method may include repeating steps (b) and (c) for the same beam emitted in step (a), or at least for a beam emitted at the same position and same angle, but using a path of the path of the sensor unit that is offset from the path of the sensor unit from a previous execution of steps (b) and (c), and from the combination of the measurements a position of the sensor unit relative to the beam is derivable with a rotational (roll) degree of freedom about an axis defined by the beam.

[0019] The movement of the sensor unit along the beam to collect measurement data as part of a method embodying the present invention is also referred to herein as a "run."

[0020] The position of the sensor unit relative to the beam may be derivable (from the measurements) in two lateral translational degrees of freedom (translational degrees of freedom along first and second lateral axes relative to the beam or along first and second axes that are transverse to the beam) and in at least one lateral rotational degree of freedom (at least one rotational degree of freedom around an axis transverse to the beam or around an axis that is transverse to the beam, which may be the same as one of the first and second lateral axes). The axis defined by the beam may be denoted as the Z axis, the two lateral translational degrees of freedom are X, Y, and the at least one lateral rotational degree of freedom is at least one of A, B (at least one of pitch, yaw).

[0021] The position of the sensor unit relative to the beam in the lateral rotational degree of freedom may be derived from (measurements from) a corresponding pair of measurement locations separated by a fixed and / or known and / or measured interval. Each measurement location of a pair may provide a measurement in or along the same direction and / or dimension. Each measurement location of a pair may provide a measurement in or along the same direction and / or dimension from which a position may be derived. The measurement locations of a pair may be separated by a fixed but unknown or unmeasured interval, or at least by an interval that is known or measured only to a certain level of accuracy (e.g., an accuracy of less than or equal to the actual interval, or less than or equal to 50% of the actual interval, or less than or equal to 10% of the actual interval, or less than or equal to 5% of the actual interval, or less than or equal to 1% of the actual interval, or less than or equal to 0.1% of the actual interval).

[0022] The position of the sensor unit relative to the beam may be derivable in two lateral rotational degrees of freedom, for example, both A and B, or both pitch and yaw.

[0023] The sensor unit may be further operable to provide additional measurements in which the position of the sensor unit relative to the beam is derivable in a longitudinal rotational degree of freedom (e.g., about an axis defined by the beam or the Z-axis). This degree of freedom may be referred to as roll. These measurements may be provided by a dedicated roll sensor (as described in US Pat. No. 6,399,433) or from two offset runs along the same beam as described herein.

[0024] The processor unit may be operable to calibrate or otherwise characterize the machine relying on a comparison between expected measurements from the sensor units (or information derived from the measurements, such as relative position information) and actual measurements from the sensor units (or information derived from the actual measurements, such as relative position information). In this context, expected may be taken to mean predicted based on a set of model parameters characterizing the geometry of the machine.

[0025] The system may include a control unit operable to control the machine to move the sensor unit along the beam. The control unit may be operable to control the machine to move the sensor unit along the beam based on a set of model parameters (of a parametric model) characterizing a geometry of the machine. The control unit may be operable to generate a series of position requests for controlling the machine to move in this manner.

[0026] The processor unit may be operable to update the model parameters (of the parametric model) based on said comparison. This may be performed in order to provide a closer match between expected and actual measurements, such that the new set of model parameters is intended to thereby better characterise the geometry of the machine than the existing set of model parameters.

[0027] The control unit may be operable to control the movement of the machine (for at least a portion of the movement) to cause the sensor unit to follow a predetermined path along the beam, at least in the absence of any additional movement applied or imposed, for example by a servomechanism. The path of the sensor unit may define both the position and orientation of the sensor unit relative to the beam.

[0028] The control unit may be operable (in cooperation with the processor unit) to servo (for at least part of the movement) the movement of the machine depending on measurements from the sensor unit to maintain (or at least attempt to maintain) a substantially constant (or otherwise known or predetermined) measurement value from the sensor unit for each of the positions of the sensor unit along the beam. The servo action may be applied in addition to or in combination with any movement along the predetermined path.

[0029] The spacing may be measured by moving the sensor unit relative to the launch unit such that the beam is incident on each of the pair of measurement locations in turn, and the spacing may be determined based on the model parameters.

[0030] The processor unit may be separate from the control unit (eg even in a separate location) or they may be substantially the same (or at least provided by the same unit).

[0031] The sensor unit may include a sensor at each of the measurement locations, and each sensor may be adapted to sense the beam (or measure the incidence position) in one or two lateral dimensions or directions.

[0032] The sensor unit may have multiple points of incidence of the beam passing through the same measurement location but at different respective angles.

[0033] The coupling between the sensor unit and the machine may be adapted to position at least one of the measurement locations substantially coincident with a point of interest associated with the machine.

[0034] A point of interest associated with a machine may be a tool center point (for a tool attached to the machine).

[0035] The coupling between the sensor unit and the machine may be adapted to provide for rotation of the sensor unit relative to the machine about a predetermined point on the coupling, the predetermined point preferably being located to substantially coincide with a point of interest (e.g., a tool center point).

[0036] The launch unit may be operable to launch the beam from multiple positions and / or in multiple directions into the working volume of the machine.

[0037] The sensor unit may be moved by the machine while the launch unit is fixed (moving, e.g., coupled to a base platform of the machine). The launch unit may be moved by the machine (e.g., coupled to a head end of the machine) while the sensor unit is fixed (moving, e.g., coupled to a base platform of the machine).

[0038] The optical beam may be a laser beam or a light beam. However, it will be understood that the optical beam effectively serves as an optical guide that can be sensed by an appropriate form of optical sensor in the sensor unit, and the invention is not limited to the use of an optical beam as a guide. Instead, some other type of energy beam, such as an electron beam, can be used, using an appropriate sensor in the sensor unit, depending on the type of energy beam used. Preferably, a non-contact form of guide is used, but mechanical guides such as a straight edge of a metal rod or metal sheet (such as a ruler) can also be used. In a more general case, the phrase "firing an optical beam in the working volume" can be replaced with the phrase "locating a guide in the working volume". The guide (which can also be referred to as a sensor unit guide or a guide for the sensor unit) does not need to define a straight path, it is simply necessary that the path defined by the guide is of a known form, for example the guide can have a known radius of curvature.

[0039] The system may further comprise a linear measurement device for providing measurements for a longitudinal (linear) translational degree of freedom, thereby providing a system capable of determining up to five degrees of freedom from the sensor unit and an additional degree of freedom from the measurement device, thereby characterizing a machine based on up to six degrees of freedom.

[0040] The sensor unit may include a means (e.g., a reflector) for returning at least a portion of the beam to a launch unit (or some other receiver unit) that includes an interferometric sensor that uses the reference and return beams to provide measurements for the longitudinal (linear) translational degree of freedom. This provides a system in which up to five degrees of freedom can be determined from the sensor unit and additional degrees of freedom can be determined from the measurement device, thereby characterizing a machine based on up to six degrees of freedom.

[0041] Characterizing the machine may include one or more of calibrating the machine, validating the machine, performing a machine health check, assessing machine positioning errors, and configuring the machine.

[0042] The geometry of the machine may be characterized by a set of model parameters, and calibrating the machine may include determining a set of new model parameters that better characterize the geometry of the machine than the existing set of model parameters.

[0043] The machine may include (or may be) a coordinate positioning machine. The machine may include (or may be) a non-Cartesian and / or parallel kinematic machine. The machine may include (or may be) a robotic arm.

[0044] Each of the features discussed above in relation to the first aspect of the invention also applies, where appropriate, to each of the further aspects of the invention described below.

[0045] According to a fourth aspect of the present invention there is provided a direction sensor unit mountable to a non-cartesian machine in a fixed orientation for performing a method for characterising the machine and movable between a plurality of different fixed orientations relative to the machine to enable the method to be performed by the machine in a plurality of different configurations (or poses) for the same sensing operation.

[0046] According to a fifth aspect of the invention, there is provided a method of calibrating or otherwise characterizing a non-Cartesian coordinate positioning machine, comprising: (a) projecting an optical beam into a working volume of the machine, or at least causing an optical beam to be projected into the working volume of the machine; (b) controlling the machine to move a sensor unit along the beam to a plurality of sensor unit positions along the beam; (c) for each of the plurality of sensor unit positions, using the sensor unit to obtain measurements in which the position of the sensor unit relative to the beam is derivable in at least three degrees of freedom; (d) repeating steps (a) to (c) for a plurality of different launch positions and / or angles of the beam; and (e) using the measurements to calibrate or otherwise characterize the machine. The sensor unit may be according to the second aspect of the invention or may be another type of sensor unit.

[0047] According to a sixth aspect of the present invention there is provided a computer program which, when executed by a computer or machine controller, causes the computer or machine controller to perform a method according to the third or fifth aspects of the present invention (or at least any steps of a method which can be performed or caused to be performed by a computer program).

[0048] According to another aspect of the invention there is provided a computer readable medium storing computer program instructions for controlling a computer or machine controller to perform a method according to the third or fifth aspects of the invention (or at least any steps of a method which may be carried out or caused to be carried out by a computer program).

[0049] According to another aspect of the invention there is provided a machine controller configured to control a machine to perform a method according to the third or fifth aspect of the invention (or at least any steps of the method which may be performed or caused to be performed by the controller). [Brief description of the drawings]

[0050] Reference will now be made, by way of example, to the accompanying drawings in which: [Figure 1] FIG. 1 is a schematic diagram of a coordinate positioning arm in the form of an articulated robot, as described above. [Diagram 2] FIG. 2 is a schematic diagram of an articulated robot having a different arrangement of rotation axes than that of FIG. 1, as described above. [Diagram 3] FIG. 3 is a schematic diagram of a system embodying the invention for calibrating a coordinate positioning machine in the form of an articulated robotic arm. [Figure 4A] FIG. 4A shows two possible types of two-dimensional sensors for use in a sensor unit embodying the invention. [Figure 4B] FIG. 4B is a diagram illustrating two possible types of two-dimensional sensors for use in a sensor unit embodying the present invention. [Diagram 5] FIG. 5 shows a sensor unit having an alternative sensor arrangement to that shown in FIG. [Figure 6] FIG. 6 shows a sensor unit having an alternative sensor arrangement to that shown in FIGS. [Figure 7] FIG. 7 shows how measurement data is collected from a sensor unit as it is moved along a laser beam by a robotic arm in a method embodying the invention. [Figure 8] FIG. 8 illustrates how additional measurement data can be collected by repeating the process for a number of different beam orientations. [Figure 9] FIG. 9 illustrates how additional measurement data can be collected by repeating the process for a number of different beam positions and orientations. [Figure 10] FIG. 10 is a diagram showing a simplified form of a sensor unit having two one-dimensional sensors for ease of explanation. [Figure 11] FIG. 11 shows the sensor unit of FIG. 10 moving along the laser beam according to a predetermined path, but with some undesirable translational and rotational deviations from that path. [Figure 12] FIG. 12 is a diagram illustrating how the rotational deviation can be determined based on the measured lateral beam positions from two sensors of the sensor unit. [Figure 13] FIG. 13 shows the sensor unit of FIG. 10 moving along the laser beam according to a predetermined path, but with some undesirable translational deviations from that path. [Figure 14] FIG. 14 is a diagram illustrating that the predetermined path of the sensor unit of FIG. 10 need not be intended to maintain the sensor unit in perfect alignment with the laser beam along its length. [Figure 15] FIG. 15 shows the sensor unit of FIG. 10 moving along the laser beam according to a predetermined path, but with superimposed servo action that corrects for undesirable translational and rotational deviations to keep the beam and sensor unit aligned. [Figure 16] FIG. 16 illustrates that servo motion superimposed on the sensor unit of FIG. 10 can be aimed at maintaining the sensor unit at a constant angle relative to the beam, rather than perfectly aligned with the beam. [Figure 17] FIG. 17 illustrates a sensor unit similar to that shown in FIG. 6, but with the sensor conveniently mounted externally. [Figure 18] FIG. 18 illustrates an alternative incidence path of the laser beam onto the sensor unit of FIG. 17 to allow for repeated calibration runs along the same beam with the head at a different angle. [Figure 19] FIG. 19 is a diagram used to explain a method for measuring the spacing between sensors in the sensor unit of FIG. [Figure 20]FIG. 20 is a three-dimensional representation of two two-dimensional sensors forming part of a sensor unit embodying the invention for measuring relative motion in four degrees of freedom. [Figure 21] FIG. 21 is a three-dimensional representation of four one-dimensional sensors forming part of a sensor unit embodying the invention for measuring relative motion in four degrees of freedom. [Figure 22] FIG. 22 illustrates the use of three measurement positions that can determine relative motion in three degrees of freedom, including pitch. [Diagram 23] FIG. 23 is a diagram illustrating the use of four measurement positions that can determine relative motion in four degrees of freedom, including pitch and yaw. [Figure 24A] FIG. 24A shows generally how a single sensor can be moved between multiple measurement locations, rather than having a sensor at each measurement location. [Figure 24B] FIG. 24B is a schematic diagram illustrating how a single sensor can be moved between multiple measurement locations, rather than having a sensor at each measurement location. [Figure 24C] FIG. 24C illustrates generally how a single sensor can be moved between multiple measurement locations, rather than having a sensor at each measurement location. [Figure 25A] FIG. 25A is a schematic diagram illustrating the use of movable optical components to create multiple measurement positions for a static sensor. [Figure 25B] FIG. 25B is a schematic diagram illustrating the use of movable optical components to create multiple measurement positions for a static sensor. [Figure 26] FIG. 26 is a diagram illustrating the effective in-line position of the distal sensor as the optical path of the reflected beam is deployed. [Figure 27] FIG. 27 illustrates a sensor unit having a revolute joint with a center of rotation that coincides with the effective location of the distal sensor of the sensor unit. [Figure 28]FIG. 28 shows the sensor unit of FIG. 27 coupled to a robot arm via a revolute joint and moved along a laser beam as part of a calibration routine. [Figure 29] FIG. 29 illustrates how a rotary joint can be used to change the mounting angle of the sensor unit so that additional calibration data can be collected along the same laser beam. [Diagram 30] FIG. 30 illustrates additional calibration data collected with the sensor unit mounted at a different angle via the rotary joint after redirecting the laser beam. [Diagram 31] FIG. 31 illustrates additional calibration data collected with the sensor unit mounted at a different angle via the rotary joint after changing both the position and direction of the laser beam. [Diagram 32] FIG. 32 illustrates a separate linear measurement device coupled to the robot arm via a ball adapter for collecting calibration data for an additional degree of freedom. [Diagram 33] FIG. 33 shows how the sensor unit itself can be attached to a robot arm via the ball adaptor of FIG. [Diagram 34] FIG. 34 shows an alternative arrangement where the sensor unit is coupled to a fixed base of the machine and the launch unit is coupled to a moving part of the machine. [Diagram 35] FIG. 35 illustrates, in flow chart form, a method for calibrating or otherwise characterizing a machine in accordance with an embodiment of the present invention. [Diagram 36] FIG. 36 illustrates the application of an embodiment of the present invention to the characterization of a linear axis provided by a rail along which a robot arm can move. [Figure 37] FIG. 37 illustrates how the roll degree of freedom can be determined by performing two runs along the same beam, each with the sensor unit positioned at a different lateral, radial, or transverse position relative to the beam. [Figure 38]FIG. 38 illustrates how the same sensor readings as in FIG. 37 can be interpreted as a transform if measurement data from only one of the beam runs is used to characterize the machine. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0051] Figure 3 shows a robotic arm 1 generally similar to that described above with reference to Figures 1 and 2, having multiple segments 5 connected by a combination of lateral rotation axes 6 and in-line rotation axes 7. Figure 3 also shows a calibration system according to an embodiment of the invention for calibrating the robotic arm 1. The calibration system comprises a sensor unit 10, a launch unit 20, and a processor unit 30.

[0052] The launch unit 20 is operable to launch a laser beam 21 into a working volume of the robot arm 1. The sensor unit 10, coupled to the robot arm 1 via a flange 3, is movable by the robot arm 1 to a number of sensor unit positions along the beam 21 relative to the launch unit 20, this relative movement being controlled by a controller 8.

[0053] The sensor unit 10 comprises first and second two-dimensional sensors 11, 12 for measuring the lateral (or transverse) two-dimensional position of the beam 21 within the sensor unit 10, i.e. the two-dimensional position of the beam 21 in a plane that is transverse (e.g. perpendicular) to the beam 21 at two corresponding measurement positions along the beam 21.

[0054] An exemplary two-dimensional sensor 11, 12 including a two-dimensional array of sensor pixels is shown in Figure 4A. When a beam 21 is incident on the sensor 11, 12, the two-dimensional lateral position X, Y of the beam 21 can be determined based on the row and column of the sensor pixel having the strongest response.

[0055] Alternatively, instead of using a high density two-dimensional array of sensor pixels as shown in Figure 4A, a two-dimensional sensor based on a quad-cell design can be used as shown in Figure 4B. There are four output signals Q1, Q2, Q3, and Q4 from sensors 11, 12, and from the relative intensities of these output signals the two-dimensional lateral X,Y position of the incident beam 21 can be determined using well known equations.

[0056] As another alternative, a position sensitive detector (PSD) can be used for the sensors 11, 12. This type of detector has a single isotropic sensing area rather than four or more discrete sensing areas according to Figures 4A and 4B. Typically, a PSD has four outputs like the quad cell sensor of Figure 4B, and the incident beam 21 causes a change in the local resistance and therefore also a change in the electron flow (current) in the four outputs. From the four output signals, the two-dimensional lateral X,Y position of the incident beam 21 can again be calculated using well-known equations.

[0057] In the sensor unit 10 shown in FIG. 3, the laser beam 21 first enters the first sensor 11 (at the first measurement position) and then the second sensor 12 (at the second measurement position), where the beam 21 passes through the first sensor 11 to reach the second sensor 12 behind the first sensor 11. While this is possible, for example, by the use of a semi-transparent detector for the first sensor 11, FIG. 5 shows an alternative optical arrangement of the sensor unit 10 using a beam splitter 13 and sensors 11, 12 at right angles and different respective spacings from the beam splitter 13. This is optically equivalent to the in-line version of the sensor unit 10 shown in FIG. 3, while avoiding the need for a semi-transparent detector. Another configuration of the sensor unit 10 is shown in FIG. 6, in which a beam splitter 13 is used to direct a proportion of the beam 21 to a first sensor 11, which is disposed on one side of the sensor unit 10 at right angles to the incident beam 21, and a mirror 14 is disposed in the optical path of the beam 21 beyond the beam splitter 13 to direct the remainder of the beam 21 to a second sensor 12, which is disposed on one side of the sensor unit 10. It will be understood that the second sensor 12 does not have to be at right angles to the incident beam 21, but can also be disposed on the opposite side of the sensor unit 10 compared to the first sensor 11. Other configurations of the sensor unit 10 are further described below (see, for example, FIGS. 24A to 24C, and FIGS. 25A and 25B). Certain advantages associated with the sensor unit 10 of FIG. 6 are further described below with reference to FIGS. 26 and 27.

[0058] A method for calibrating the robot arm 1 using the sensor unit 10 will now be described with reference to Figure 7. First, the controller 8 is used to control the robot arm 1 to move the sensor unit 10 towards the lower end of the beam 21. The controller 8 then adjusts the position of the sensor unit 10 relative to the beam 21 until the beam 21 is in the centre of both sensors 11, 12. At this sensor unit position A, it is known that the sensor unit 10 will be aligned with the beam 21 when the beam 21 passes through the centre of both sensors 11, 12. The machine coordinates of this sensor unit position A are recorded.

[0059] The controller 8 is then used to control the robot arm 1 to move the sensor unit 10 towards the top end of the beam 21. The controller 8 then adjusts the position of the sensor unit 10 relative to the beam 21 until the beam 21 is again in the middle of both sensors 11, 12 (the "null position" or "null pose"). At this sensor unit position B, when the beam 21 passes through the center of both sensors 11, 12, it is known that the sensor unit 10 is again aligned with the beam 21. The machine coordinates of this sensor unit position B are recorded.

[0060] At position B of the sensor unit, rather than rotating the sensor unit 10 to align the beam 21 with the center of both sensors 11, 12, it would be possible to simply instruct the robot 1 to adjust the X-, Y-, Z-positions of the sensor unit 10 to maintain the same orientation of the sensor unit 10 (i.e., the same orientation as in the other position A) and align only one of the sensors 11, 12 with the beam 21 (e.g., one of the sensors 11, 12 is treated as a reference for the coordinate system X, Y, Z, A, B, C of the sensor unit 10, which will be further explained in detail below with reference to FIG. 12). Any other misalignment of the sensors 11, 12 is likely to be small enough not to pose a problem. This is beneficial because it is relatively simple to instruct the robot to adjust only the X-, Y-, Z-positions of the sensor unit 10 and move it between the positions of the sensor unit along the beam 21, and not the A, B, C orientations of the sensor unit 10. Preferably, the sensors 11, 12 used as references for this translation in X, Y, Z are also positioned to coincide with the Tool Centre Point (TCP), as will be explained below with reference to Figures 28 to 31.

[0061] A path for the sensor unit 10 is then calculated by the controller 8, which moves the sensor unit 10 in a straight line from position B to position A, attempting to keep the sensor unit 10 perfectly aligned with the beam 21 at all times. This path is determined based on the existing machine parameters and therefore it is expected that (based on these machine parameters) the sensor unit 10 will remain aligned with the beam 21 as it moves along the beam, but in reality this will not be the case since the machine parameters are not a perfect representation of the machine's geometry. The aim of the calibration method is to generate a new set of machine parameters that better represent the machine's geometry and thereby lead to an improved calibration.

[0062] The controller 8 is then used to control the robot arm 1 to move the sensor unit 10 relative to the launch unit 20 along a calculated path starting at sensor unit position B and ending at sensor unit position A, while causing the sensor unit 10 to pass a number of intermediate sensor unit positions. At each of these intermediate sensor unit positions, machine coordinates (i.e. rotary encoder readings representing all rotary joint angles) are recorded along with lateral two dimensional measurements from both sensors 11, 12.

[0063] If the calibration were ideal, the beam 21 would remain perfectly centered on both sensors 11, 12 at each of the intermediate sensor unit positions, i.e. the lateral position would always be X = 0 and Y = 0. In reality, however, the calibration is not ideal and the lateral position of the beam 21 on the sensors 11, 12 will vary away from X = 0 and Y = 0.

[0064] Once all measurements from sensors 11, 12 have been collected from a run from sensor unit position B to sensor unit position A, the measurements are passed to processor unit 30. Processor unit 30 runs a numerical optimization or error minimization routine, as described above, that involves a comparison between the actual measurements from sensor unit 10 and the expected measurements from sensor unit 10 (i.e., as expected based on an existing set of model parameters that characterize the geometry of the machine). Based on this comparison, processor unit 30 updates the model parameters to provide a closer match between the expected measurements (i.e., as expected based on a new set of model parameters) and the actual measurements (from the previous run). In other words, the updated model parameters better represent the geometry of the machine than the previous version of the model parameters.

[0065] For example, if a programmed path from B to A (or vice versa) is expected to produce sensor readings of X=0 and Y=0 for all sensor unit positions (because the path is programmed to do so, at least in theory), then the actual sensor readings for one of the sensor unit positions are X=3 and Y=2, but after the model parameters have been optimized, the expected sensor readings for the same set of actuator position demands (i.e., commanded angles for each revolute joint) should be closer to X=3 and Y=2 (rather than X=0 and Y=0) as before. Note, however, that the error minimization routine seeks to minimize the overall error across all calibration data, so while some expected measurements will be slightly away from the actual measurements, many others may be closer (such that the overall calibration is improved).

[0066] To further improve the calibration, several runs can be performed with the laser beam 21 fired into the working volume of the machine at different orientations for each run, and measurements from all runs are fed into a numerical optimization or error minimization routine, as shown in FIG. 8. This leads to a more complete calibration, as the robot arm 1 is moved to more different poses or configurations and calibration data is collected for more different combinations of rotary joint angles. The calibration can be further improved by moving the firing unit 20 to one or more different firing positions and collecting more measurement data from each of these firing positions, as shown in FIG. 9, where preferably the beam 21 is fired at multiple different angles for each firing position.

[0067] To illustrate the concept of expected measurements versus actual measurements in the above method, a simplified representation of the sensor unit 10 is shown in FIG. 10, with each sensor 11, 12 shown as a one-dimensional sensor with five different positions 0 to 5. FIG. 11 shows the sensor unit 10 at several sensor unit positions along the beam 21, starting at [2,2] (i.e., the beam 21 is incident at a lateral position of 2 on the first sensor 11 and the second sensor 12). This is the "null" starting position A, as described above, where the sensor unit 10 is aligned with the beam 21. However, for the next three sensor unit positions, the sensor readings are [1,2], then [0,1], then [1,3], whereas the expected sensor reading at each sensor unit position is [2,2]. Thus, instead of a purely linear motion of the sensor unit 10 relative to the beam 21, an undesired relative rotation has been introduced due to the non-ideal calibration of the robot arm 1. The comparison between expected and actual sensor readings is as follows, and in this simple example is determined as "actual minus expected": [0, 0][-1, 0][-2, -1][-1, 1]. After the model parameters have been optimized, this would ideally be [0, 0] for each sensor unit location.

[0068] The amount of unwanted rotation, and therefore the amount of correction that needs to be applied to the calibration to nullify that unwanted rotation, can be determined by comparing (i.e. taking the difference between) the lateral positions of the beam 21 on each sensor 11, 12, and also by taking into account the spacing between the sensors 11, 12. As shown in Figure 12, if the difference in lateral position from one sensor to the other is denoted as "y" and the spacing between the sensors is denoted as "d", then using simple trigonometry the relationship between these is:

[0069]

number

[0070] For this reason,

[0071]

number

[0072] Therefore, in order to determine the angle information, it is necessary to know the spacing "d" between the sensors 11, 12. However, since this angle information is used in the error minimization routine to determine how much adjustment needs to be made (and in what direction) for each iteration of the iteration routine, for example, when performing a gradient descent type algorithm, it is noted that it is generally not necessary to know this spacing with high precision, and it is possible to take smaller steps in gradient descent rather than larger ones (e.g., when there is some uncertainty about the accuracy of the angle information), but it will take longer to reach a steady state (i.e., find a local minimum in the error minimization routine). Methods for determining the spacing between the sensors 11, 12 are described further below.

[0073] The lateral position of the sensor unit 10 relative to the beam 21 can be derived from measurements from sensor 11, or from measurements from sensor 12, or from a combination of measurements from sensors 11, 12. It may be convenient to place the center of the coordinate system of the sensor unit 10 (e.g., X, Y, A, B, when considering four degrees of freedom) at one of the sensors 11, 12, so that only one of the sensors 11, 12 is used to determine the lateral position X, Y, and a combination of the sensors is used to determine the angular position A, B (or lateral position X and angular position A in the simplified one-dimensional example of FIG. 12). For example, in FIG. 12, the lateral position X is 1 (i.e., when the beam 21 is incident on sensor 11) and the angular position A is θ (determined as above based on a combination of the lateral position 1 from sensor 11 and the lateral position 3 from sensor 12). It may be convenient to align the coordinate system with one of the sensors 11, 12 which is closest to the machine 1, so in Figure 3 this would be sensor 12 rather than sensor 11, although it could be either of these. This concept is considered further with reference to Figures 28 to 31.

[0074] FIG. 13 shows another example where the actual measurements are [2,2][3,3][4,4][2,2] and the comparison is [0,0][1,1][2,2][0,0], so in this case there is no unwanted rotation (no rotation error), but some linear drift (linear error). Again, after optimization, this linear drift is calibrated out so that ideally the comparison is [0,0] at each sensor unit's position. The example shown in FIG. 14 shows that it is not necessary to start and end each run with the beam 21 centered on both sensors 11, 12, but instead, any calibration path can be programmed that keeps the beam incident on both sensors during the run. In FIG. 14, the linear path is programmed to start with a sensor reading of [0,1] and end with a reading of [3,4]. If the actual readings along the path are as shown in FIG. 14, i.e., [0,1][1,2][2,3][3,4], then the sensor unit 10 is moving along the beam without rotational or translational drift and the calibration cannot be improved in this example.

[0075] In the calibration method described above, the sensor unit 10 is moved along a pre-programmed path from one end of the laser beam 21 to the other, and measurement data from the sensor unit 10 is collected at each sensor unit's location along the path. In the event of an imperfect calibration, the actual sensor measurement data will deviate from the expected sensor measurement data along the path, and it is the purpose of the calibration method to analyze these deviations so as to generate a calibration that eliminates or at least reduces those deviations (in subsequent runs or subsequent operational uses of the robot arm 1). Rather than allowing these deviations to occur during the calibration method, another approach is to actively adjust or servo the robot's movements during the calibration run to always attempt to align the sensor unit 10 with the beam 21 rather than misalign it, as shown in Figures 11 and 13.

[0076] In this alternative approach, a path is programmed as before, and the control unit 8 operates to move the sensor unit 10 along this pre-programmed path, but the control unit 8 is also operable to servo (in cooperation with the processor unit 3) the movement of the machine in dependence on measurements from the sensor unit 10 (these sensor measurements act as feedback in a servo loop) to attempt to maintain substantially constant measurements from the sensor unit 10 for each of the sensor unit's positions along the beam 21. This alternative approach is shown in FIG. 15, where the sensor readings are actively maintained at [2, 2] under servo control throughout the entire run. Of course, it is not necessary to maintain the sensor readings at [2, 2], but instead could be maintained at [1, 2] or other sensor readings as shown in FIG. 16. In any case, it is known that the sensor unit 10 is moving along a straight line and at a constant angle relative to the beam 21, and any adjustments from the servo control will offset the effects of calibration errors.

[0077] A similar analysis can be performed for this alternative servo approach with respect to adjusting the model parameters as with the previous approach in that it involves a comparison of actual measurements from the sensor unit 10 with expected measurements from the sensor unit 10. In this case, the actual measurements are always [2, 2] due to the servo control, and the expected measurements for a particular sensor unit position are based on where the sensor unit 10 is expected to use the same position demands (adjusted by the servo control) that resulted in an actual measurement of [2, 2] for that sensor unit position, based on an existing set of model parameters that characterize the geometry of the machine. Based on this comparison, the processor unit 30 updates the model parameters to provide a closer match between the expected and actual measurements, and the updated model parameters better represent the geometry of the machine than the previous version of the model parameters.

[0078] The servo approach is advantageous because it means that the sensors 11, 12 themselves do not need to be calibrated, as the beam remains almost stationary at a single point on both sensors 11, 12 and any small deviations are quickly corrected by the servo control. Advantageously, the position signal from one of the sensors 11, 12 can be used to control X,Y during servo operation, while the position signal from the other of the sensors 11, 12 can be used to control the "yaw" and "pitch" of the head (taking into account the position signal from the other sensor as well as the spacing between the sensors to work out the angle). Also, as mentioned above in relation to the first approach, with the servo approach it is more important that the spacing between the sensors is fixed than knowing exactly what the spacing is. For example, an accuracy of 1mm or less may be sufficient for a sensor spacing of 100mm. This is because the exact angle does not need to be known for the servo control to be effective, as it is effectively based on making small changes to the angle (and seeing how this affects the sensor measurements), rather than commanding a precise absolute angle. This is an advantage of the method according to an embodiment of the present invention, since it is only necessary to have a fixed, but not precisely known, spacing.

[0079] FIG. 17 shows a sensor unit 10 in a similar configuration to that shown in FIG. 6, but with the sensors 11, 12 conveniently mounted on their respective exterior surfaces for access and maintenance. FIG. 17, like FIG. 6, shows the normal path of the laser beam 21 passing through the sensor unit 10 to reach both sensors 11, 12. An alternative beam path is shown in FIG. 18, with the beam entering the first sensor 11 from the opposite side of the beam splitter 13, with part of the beam 21 passing through the first sensor 11 and the remainder being directed to the mirror 14 and then reflected to the second sensor 12. Thus, the sensor unit 10 has multiple points of incidence for the beam 21, at different respective angles, while passing through the same sensor measurement location. This is advantageous to make it possible to perform a first calibration run with the laser beam 21 using a first internal path (the beam entering at a first angle) and to perform a second calibration run with the laser beam 21 in the same orientation but using a second internal path through the sensor unit 10 (the beam entering at a second angle different from the first angle). The robot arm 1 will use a series of very different poses for the first run compared to the second run and therefore the overall calibration will be more complete (in a manner similar to Figures 8 and 9).

[0080] A method for measuring the distance between the sensors 11, 12 will be described with reference to FIG. 19, which shows a sensor unit as also shown in FIGS. 17 and 18. The robot arm 1 is first controlled to move the sensor unit 10 so that the laser beam 21 passes obliquely through the sensor unit 10 along a first path 22, so that it is directly incident on the first sensor 11 without passing through the beam splitter 13. The exact angle of incidence is not important as long as the beam misses any internal components; for example, any path within the cone formed by the rotation path 22 around the line that connects the mirror 14 to the sensor 12 is sufficient. If the mirror 14 was instead a beam splitter, it would also be possible to have this beam pass directly through the beam splitter, as a continuation of the line that connects the mirror 14 to the sensor 12. The robot arm 1 is then controlled to move the sensor unit 10 so that the laser beam 21 passes through the sensor unit 10 along a second path 23 (at the same angle as the path 22), so that it is directly incident on the second sensor 12, without being blocked by the mirror 14. The spacing between the two sensors 11, 12 can then be determined as the distance traveled by the sensor unit 10. As mentioned above, this is a sufficiently accurate measurement of the spacing between the sensors 11, 12, even based on a rough calibration of the robot arm 1, since it is not important to know this spacing with high precision.

[0081] FIG. 20 is a three-dimensional representation of two sensors 11, 12 (forming part of a sensor unit 10) of the type shown in FIG. 4B, with these sensors 11, 12. For simplicity, they are shown in an in-line arrangement along the laser beam 21 (as in FIG. 3) rather than in an offset arrangement (as in FIG. 6). Each of the sensors 11, 12 is a two-dimensional sensor, measuring the lateral (or transverse) position of the laser beam 21 in two directions (or dimensions) X and Y. However, it will be understood that each of the two-dimensional sensors 11, 12 can be formed from two one-dimensional sensors, as shown in FIG. 21. In the sensor arrangement of FIG. 21, the first two-dimensional sensor 11 is formed from a first one-dimensional sensor 11x for measuring the position of the beam in the X direction and a second one-dimensional sensor 11y for measuring the position of the beam in the Y direction. Together, the position measurements from these two sensors 11x, 11y can be used to provide the two-dimensional position of the beam 21. Similarly, the second two-dimensional sensor 12 is formed from a first one-dimensional sensor 12x for measuring the position of the beam in the X direction and a second one-dimensional sensor 12y for measuring the position of the beam in the Y direction. Of course, it is also possible to use a two-dimensional sensor for one of the sensors 11, 12 and two one-dimensional sensors for the other of the sensors 11, 12.

[0082] FIG. 22 shows a sensor arrangement of the sensor unit 10 operable to measure the lateral beam position at three measurement positions Y1, X1, Y2 along the beam 21 for each of a number of sensor unit positions along the beam 21 (where measurement position "X1" is indicated with an "X" in the upper left corner and a "1" in the lower right corner). From these three measurements, the position of the sensor unit 10 relative to the beam 21 (or launch unit 20) can be derived in three degrees of freedom (3DOF): two lateral translational degrees of freedom (along lateral axes X, Y, with axis Z being the longitudinal axis), and one lateral rotational degree of freedom (around the X lateral axis, also known as "pitch"). Of these three degrees of freedom, the two translational degrees of freedom X, Y can be derived from the X and Y measurements taken at measurement positions X1 and Y1, respectively, while the rotational degree of freedom can be derived from the Y measurements taken at two spaced apart measurement positions Y1 and Y2. The pitch angle θ can be determined from the separation dY between these two measurement positions Y1, Y2 and the difference y of the position measurements from these measurement positions Y1, Y2 (as described above with reference to FIG. 12):

[0083]

number

[0084] In the arrangement shown in FIG. 22, measurement locations X1 and Y1 can be coincident (with a single two-dimensional sensor), or substantially coincident (but with two separate one-dimensional sensors), or spaced apart (and with two separate one-dimensional sensors).

[0085] Compared to FIG. 22, the sensor arrangement shown in FIG. 23 includes a fourth measurement position X2 that provides a measurement of the position of the beam laterally in the X direction (or dimension). With the addition of this fourth measurement position X2, the position of the sensor unit 10 relative to the beam 21 (or launch unit 20) can be derived in four degrees of freedom (4DOF), and the "yaw" (which is a rotation about the Y lateral axis) can also be derived in a similar manner to that described for "pitch" with reference to FIG. 22. Again, the measurement positions X2 and Y2 can be coincident (with a single two-dimensional sensor), or substantially coincident (but with two separate one-dimensional sensors), or spaced apart (and with two separate one-dimensional sensors). Both the sensor arrangements of FIG. 22 and FIG. 23 constitute embodiments of the present invention.

[0086] 22, it will be seen that the sensor at position Y2 can be rotated 90 degrees (as in FIG. 23) to provide an additional position X2, thereby providing relative position information in four degrees of freedom (4DOF) instead of three (3DOF). This rotation can be done for each sensor unit position in a single run, moving to the new sensor unit position, measuring at measurement position Y2, then rotating to make measurement position X2, moving to the next sensor unit position, measuring X2, then rotating to make Y2, measuring, etc. Alternatively, a complete run along the laser beam 21 can be performed in the Y2 configuration and another run can be performed in the X2 configuration, taking measurements at the same sensor unit positions along the beam 21.

[0087] This concept is further explored in the sensor unit 10 shown in Figures 24A and 24B, which has a single two-dimensional sensor 12 that is movable between two (e.g., kinematically defined) positions 15 and 16 by a piston 17 (effectively creating two sensors 11 and 12 at those positions). Positions 15 and 16 are separated by a fixed distance. This concept is further expanded in Figure 24C, which has a single one-dimensional sensor 11 that is movable between two fixed positions 15 and 16 and also rotatable between two fixed angular positions, thereby providing all four measurement positions X1, Y1, X2, Y2 of Figure 23 using a single one-dimensional sensor.

[0088] Rather than moving the sensor itself, it would also be possible to achieve this, for example, by moving optical components between two positions to create two different path lengths of the laser to the same sensor at the same position, or by switching in a delay line or extra optical paths, or by switching in extra components to increase the optical path length. Just one example is shown in Figures 25A and 25B, which has a single two-dimensional sensor 11, a mirror 19 facing the sensor 11, and a beam splitter 13 mounted on a rotation stage 25. The beam splitter 13 can be rotated from a first position shown in Figure 25A, where the beam 21 is directed directly to the sensor 11, to a second position shown in Figure 25B, where the beam 21 is directed across the mirror 19 and then back to the sensor 11. This effectively creates two measurement positions of the sensor unit 10, and is thus equivalent to the embodiments shown in, for example, Figures 3, 5 and 6. Of course, the two-dimensional sensor 11 of Figures 25A and 25B could be replaced by a one-dimensional sensor and means for rotating the one-dimensional sensor by 90 degrees, thereby making it possible to recreate all four measurement locations shown in Figure 23 using a single one-dimensional sensor.

[0089] Particular advantages associated with a sensor arrangement such as that of FIG. 6, with sensors 11, 12 (and more specifically sensor 12) on one side of the incident beam 21, will now be described with reference to FIGS. 26 and 27. When the distance between mirror 14 and sensor 12 is shown as "d" and the optical path of beam 21 after beam splitter 13 is "unfolded", it can be seen that sensor 12 is effectively aligned with the incident beam 21 at a position beyond mirror 14 by the same distance "d" from mirror 14, marked as (12) in FIG. 26 (a similar "unfolding" can be performed for the other sensor 11 to show where it would be if aligned with the incident beam 21). This allows sensor 12 to be effectively located outside the main housing of sensor unit 10, as shown in FIG. 26. As a result, this creates space for a revolute joint 18 that is used to form the coupling between sensor unit 10 and robot arm 1. Revolute joint 18 may have multiple indexed rotational positions or may be continuously adjustable. Furthermore, the center of rotation of the revolute joint 18 is preferably positioned to coincide with the effective sensor location (12) so that the sensor unit 10 can rotate about the revolute joint 18 to change the orientation of the sensor 12 without moving (translating) the sensor 12 in X, Y, Z. Further advantageously, the center of rotation of the revolute joint 18 can also be positioned to coincide with a location of interest on the robot arm 1, such as the Tool Center Point (TCP), when the sensor unit is attached to the robot arm 1, as will now be described with reference to Figures 28 to 31.

[0090] FIG. 28 shows the sensor unit 10 coupled to a robot arm 1 via a revolute joint 18, where the revolute joint coupling is designed to position the centre of the revolute joint 18 to coincide with the TCP currently programmed for the robot arm 1. As described above, the robot arm 1 is then controlled to move the sensor unit 10 along the beam 21. In general, robot control is complex due to the way the various revolute joints 5, 6 interact and couple, but commanding the robot arm 1 in relation to the current TCP, for example to translate the TCP in X, Y, Z, or to rotate the robot's head in A, B, C around the TCP (i.e. keeping the TCP in the same position in X, Y, Z), is relatively straightforward. Thus, by effectively coinciding the sensor 12 with the TCP, the robot arm 1 can be more easily controlled as it moves along the beam 21; the position of the sensor 12 in X, Y, Z can be controlled via the TCP, and the overall orientation of the sensor unit 10 can likewise be separately controlled by commanding the robot arm 1 to rotate about the TCP at A, B, C (without changing the position of the sensor 12 in X, Y, Z), i.e. translation and rotation can be processed and controlled separately.

[0091] As shown in Fig. 29, the sensor unit 10 can then rotate about the revolute joint 18 so that another run can be performed for the same orientation of the beam 21, thereby running the revolute joints 5, 6 in a different combination compared to the run performed in Fig. 28, thereby providing a better overall calibration for the robot arm 1. Fig. 30 shows another run performed with the beam 21 fired at a different angle from the same position, and Fig. 31 shows another run performed with the beam 21 fired from a different position, in each case the revolute joint 18 allowing the sensor unit 10 to be attached to the robot arm 1 in a flexible way, at different angles relative to the head of the robot arm 1.

[0092] It should be noted that the above advantages of positioning the sensor 12 to be substantially coincident with the TCP apply regardless of the presence or absence of the revolute joint 18. In other words, even for a coupling between a machine 1 and a sensor unit 10 that does not have a revolute joint as shown in Fig. 3, it is beneficial for the same reasons as above to position one of the two sensors 11, 12 (the sensor 12 closest to the machine 1) to be coincident with the TCP when the sensor unit 10 is coupled to the machine 1.

[0093] It should also be noted that the concepts illustrated in Figures 28 through 31 are independently applicable to any directional sensor unit that is mounted to a non-cartesian machine in a fixed orientation to perform a method for characterizing the machine, and that can move between a number of different fixed orientations relative to the machine (and may be operable in a number of different sensing orientations similar to those shown in Figures 17 and 18), allowing the method to be performed by the machine in a number of different configurations for the same sensing operation. This is particularly applicable where the sensor unit is of a type that can make measurements where the position of the sensor unit relative to the beam is derivable in at least three degrees of freedom (3+DOF).

[0094] US Pat. No. 5,999,366 describes a system in which a single laser beam interacts with a single sensor, from which it is not possible to derive information about the relative rotational degrees of freedom for use in calibration. Even if two sensors and two laser beams are used, it is still not possible to derive information about the relative rotational degrees of freedom, since the spacing between the sensors is not fixed and is unknown. Unlike US Pat. No. 5,999,366, an embodiment of the present invention conveniently measures relative motion in at least three degrees of freedom (preferably four) using only a single laser beam.

[0095] The XM-60 calibration device, manufactured and sold by Renishaw plc, is designed to measure the relative motion in all six degrees of freedom (6DOF) of the receiver unit with respect to the launch unit for machine calibration purposes. However, this calibration device requires the launch of four laser beams from the launch unit. The fourth beam is incident on a two-dimensional sensor and is used to measure horizontal and vertical straightness based on how the beam moves in the X, Y directions on the sensor as the receiver unit moves along the beam. This fourth beam is also used to measure roll (rotation about the longitudinal axis of the beam) by sensing how the linear polarization of the beam rotates as the receiver unit moves along the beam. The other three degrees of freedom (pitch, yaw, linear straightness) are determined interferometrically from the other three laser beams by measuring distance (or change in distance) and determining pitch, yaw, and linear straightness from them.

[0096] Unlike the XM-60, an embodiment of the present invention conveniently measures relative motion in four degrees of freedom (4DOF) using a single laser beam instead of four. An embodiment of the present invention may be augmented by adding a roll sensor, such as that used in the XM-60, so that relative position can be measured in five degrees of freedom (X, Y, pitch, roll, yaw) using only a single laser beam. Such a roll sensor is described in US Pat. No. 5,399,363, which is incorporated herein by reference. The only degree of freedom that is then missing (out of six) is a linear straightness measurement, i.e., along the laser beam (the Z-axis in the coordinate system shown in FIG. 23).

[0097] Referring back to FIG. 19, it has been described that the robot 1 itself can be used to measure the spacing between the sensors 11, 12, however, if the spacing between the sensors 11, 12 is known by some other means, for example by being measured by a separate coordinate measuring machine, then this known spacing can be used to provide measurement information related to the final linear degree of freedom (along the beam). This can be achieved by moving the sensor unit 10 along the main beam path 21 shown in FIG. 19, but with the beam 21 entering the sensor unit 10 at an angle corresponding to paths 22, 23, and the angled beam 21 being incident on the sensors 11 and 12 in either order (via paths 22, 23 respectively). The known spacing between the sensors 11, 12 can then be used to calibrate or otherwise characterize the linear degree of freedom along the path 21.

[0098] A calibration system embodying the invention may also include a separate linear measurement device (or strut or ball bar) 41 to enable calibration of this final degree of freedom, as shown in FIG. 32. Such a linear measurement device 41 is described in detail in our related U.S. Pat. No. 6,399,323, which is incorporated herein by reference. The linear measurement device 41 may be mounted on the robot arm 1 in place of the sensor unit 10 to collect measurements along the longitudinal axis (i.e., where the laser beam 21 would have been). Measurements may be collected with the linear measurement device 41 at a variety of different orientations, so that the joints of the robot 1 are also in a wider variety of states for improved overall calibration.

[0099] The '633 patent also describes how the linear measuring device 41 can be advantageously mounted via a ball adapter 44 and a corresponding coupling 47 on the linear measuring device 41, allowing the linear measuring device 41 to pivot precisely about the TCP 48, as also shown in FIG. 32. The ball adapter 44 is mounted to the robot arm 1, allowing the tool (e.g., a welding tool) to remain in place on the robot arm 1 even while a calibration is being performed, with the center of the ball adapter 44 coinciding with the TCP 48. The other end of the linear measuring device 41 has a ball 45 that rotatably couples to the mount 42. More details on this ball adapter concept are described in the '633 patent.

[0100] As shown in FIG. 33, the ball adapter 44 of FIG. 32 also provides the sensor unit 10 with an internal (e.g., kinematic) cup 81 that can be used to mount the sensor unit 10 itself by magnetically coupling to the ball adapter 44 via the internal cup 81. The internal cup 81 has a generally partial spherical concave surface with a radius that matches the radius of the ball adapter 44 (the internal cup 81 preferably includes a kinematic contact feature as described in U.S. Pat. No. 5,399,323). The center of the partial sphere of the internal cup 81 is also positioned to match the effective position of the sensor 12, so that the sensor unit 10 can move around the ball adapter 44 to change the orientation of the sensor 12 without moving (translating) the sensor 12 in X, Y, Z, much like what was described above with reference to FIGS. 26 and 27. As described above, because the center of the ball adapter 44 matches the TCP, the sensor 12 itself also matches the TCP and remains so even when moved in different directions around the ball adapter 44. With a sufficiently strong magnetic coupling force between the sensor unit 10 and the ball adapter 44, no additional retention features are required, which is practically feasible since the sensor unit 10 is contactless and therefore not susceptible to any destabilizing forces (other than gravity and acceleration forces, which are typically manageable).

[0101] Instead of using a separate linear measurement device (or ballbar) 41 for the sixth (linear) degree of freedom, some of the beams 21 can be returned to the launch unit 20 (e.g. by use of a retroreflector in the sensor unit 10) and the sixth (linear) degree of freedom can be determined interferometrically, i.e. based on the interference between a returning (measurement) beam and a reference beam, as is well known (and as used in the XM-60 and XL-80 calibration devices manufactured and sold by Renishaw plc).

[0102] The above description focuses on a system for calibrating a machine (such as a robot arm), i.e., not only identifying errors associated with the parametric model used to characterize the machine geometry, but also correcting or calculating those errors to provide a better calibration. It is also possible to use techniques to identify or evaluate machine errors, without actually correcting them, for example as part of a machine validation procedure to evaluate the overall performance of the machine. This technique can also be used when setting up the machine. The present invention should therefore be considered as a system and method for characterizing a machine in a general sense, including calibration, validation, etc.

[0103] In various embodiments illustrated and described herein, the processor unit 30 is shown forming part of the controller 8, however, the processor unit 30 may be separate and / or remote from the controller 8. For example, the measurement data may be transmitted to a remote site for processing rather than being processed on-site. The processor unit 30 is intended to represent a means associated with embodiments of the present invention to provide additional functionality not provided by conventional controllers, i.e. either additional functionality of the controller (e.g. providing the servo control mentioned above when collecting measurement data) or additional functionality external to the controller (e.g. off-site processing of collected measurement data).

[0104] Calibration systems embodying the invention have the advantage of using optical (i.e., non-contact) coupling between moving and fixed parts of the machine, and therefore do not introduce extra loads that may affect the accuracy of the measurements (and therefore the validity of the resulting machine calibration or validation), as would be the case with mechanical forms of multi-dimensional measuring arms. The sensor unit 10 itself can be of very light construction so as not to provide significant additional load due to its weight, tooling can be left in place while this calibration is being performed, and the sensor unit 10 only needs to be attached during a quick calibration routine, as the load on the robot arm 1 is substantially the same as in actual use.

[0105] Sensor measurements can be taken only when the sensor unit 10 is moving, or only when it is static, or a combination. A motion sensor, such as an accelerometer, can be added to sense when the sensor unit 10 is moving, to ensure that measurements are taken only when it is moving or only when it is static. Such a motion sensor can also be used to compensate for vibration effects caused by imperfections in the machine's drive system, or other environmental factors that may cause the machine to vibrate. It would also be advantageous to measure the ambient light level (e.g., based on a comparison of sensor readings with the laser beam 21 switched on and off) and compensate for the ambient light level from the sensor readings.

[0106] While it has been described above that the sensor unit 10 is mounted on a moving element of the machine and the launch unit 20 is mounted on a fixed base 2 of the machine, it is also possible to reverse this so that the launch unit 20 is mounted on the moving element and the sensor unit 10 is mounted on the base 2, as shown in Figure 34. However, mounting the sensor unit 10 on the moving element is considered preferable, because if the launch unit 20 were instead mounted on the moving element, small unintended angular changes to the moving element of the machine, for example due to machine vibrations, would result in large position changes at the far end of the laser beam (this would be particularly evident in the case of a robotic arm), but this could be mitigated by using a larger sensor (which can measure a wider range of lateral beam positions).

[0107] Although the two two-dimensional sensors 11, 12 in Figure 20 (and the equivalents in Figures 21, 22, 23) are shown as having aligned X and Y axes, it is also possible to have sensors 11, 12 with their axes rotated relative to each other such that their axes are not aligned. In this case the angle between them also needs to be known (in the arrangement shown in Figure 20 it is assumed that the angle is zero, i.e. it is known but zero).

[0108] A method of calibrating or otherwise characterizing a machine according to an embodiment of the present invention is summarized in the flow chart of FIG. 35. In step S1, a laser beam is fired from a firing unit into the working volume of the machine. In step S2, the machine is controlled to move a sensor unit along the laser beam relative to the firing unit to a number of sensor unit positions along the beam; either the sensor unit or the firing unit can be moved by the machine, but preferably the sensor unit is moved. In step S3, for each of the number of sensor unit positions, the sensor unit is used to obtain measurements such that the position of the sensor unit relative to the beam is derivable in at least three degrees of freedom (3+DOF). In step S4, it is determined whether sufficient measurements have been obtained. If not, in step S5, the position and / or direction of the beam is changed and the method returns to step S1 to collect further measurements along the beam at its new position and / or orientation. If so, in step S6, the measurements are used to calibrate or otherwise characterize the machine. It is noted that such a method has not previously been considered for the characterization (e.g., calibration) of non-Cartesian coordinate positioning machines (in particular articulated robot arms) that do not include a series of fixed linear axes (such as a 3-axis Cartesian CMM), whether or not the sensor unit is of a type as previously described herein (see, e.g., FIG. 6); it is sufficient that the sensor unit is of any type capable of obtaining measurements from which the position of the sensor unit relative to the beam is derivable in at least three degrees of freedom. For example, the XM-60 device manufactured and sold by Renishaw plc (see above for further details) is suitable for use as a sensor unit in such a method. Although the XM-60 is generally intended to calibrate each of the three linear axes of a Cartesian CMM separately, the applicants understand that such a calibration device may be used in this context to collect measurements in six degrees of freedom (6DOF) along multiple lines spanning the working volume, none of which correspond to actual machine axes.

[0109] Although described primarily in relation to the characterization (e.g., calibration) of articulated robotic arms, it will be understood that embodiments of the invention are applicable to the characterization (e.g., calibration) of any type of coordinate positioning machine, including various types, whether cartesian or non-cartesian, serial kinematic or parallel kinematic, for example, as described in the introductory portion of this application. Embodiments of the invention are also applicable to the characterization of a single machine axis, such as, for example, a 3-axis Cartesian CMM. This extends to an example, as shown in FIG. 36, where a robot arm 1 is mounted on a linear rail 40 (or linear axis), in which case a sensor unit 10 as described herein can be mounted on the robot arm 1, and the entire robot arm 1 moves (with the robot joints locked) along the rail 40 while the sensor unit 10 moves along a laser 21 emitted from a firing unit 20, effectively corresponding to the characterization of the linear axis of the rail 40 to which the robot arm 1 is mounted; in this example, it should be understood to constitute an embodiment of the invention, since the machine being calibrated or otherwise characterized includes a linear axis provided by the rail 40.

[0110] FIG. 37 illustrates how two (first and second) runs of the sensor unit 10 are performed along the same beam 21 (i.e. fired at the same angle from the same position) to determine the roll degrees of freedom, as an alternative to using a dedicated roll sensor as described above. The illustration in FIG. 37 is based on a two-dimensional sensor of the type shown in FIG. 4A, but of course any suitable sensor of the sensor combinations described herein can be used. In the second run, the sensor unit 10 is moved by the robot arm 1 along a path that is shifted laterally relative to the beam 21 compared to the path of the first run. The sensor readings from both runs can be used to derive information about the roll degrees of freedom of each sensor unit position. FIG. 38 illustrates how the same sensor readings as in FIG. 37 are interpreted as a transformation if only one of the beam runs is performed. It is also possible to use a pair of beams 21 such that only a single run needs to be performed along the beam pair, but this requires that the beams are parallel to each other or at least at a known angle, which may be more difficult to achieve in practice.

[0111] It should be understood that when it is described herein that the position of the sensor unit 10 relative to the beam 21 is derivable from measurements of at least three degrees of freedom, this does not mean that such position is actually derived or determined or calculated from measurements of any or all of these degrees of freedom as part of the method. It is merely necessary that such position of the sensor unit relative to the beam is derived from measurements, as this means that the measurements encapsulate sufficient position information to allow the machine to be calibrated or characterized. For example, in the case of a calibration routine to update a set of model parameters of the machine, a set of raw measurements can be processed directly as part of an iterative error minimization algorithm without deriving (e.g., as an intermediate step) the actual position of the sensor unit relative to the beam in each of the at least three degrees of freedom. Thus, in the example shown in FIG. 12, the actual numerical value of θ may not be determined as part of the method, even though this angular information is implicitly used in the method via lateral position measurements from spaced apart sensors 11, 12.

[0112] The above embodiment is based on a laser beam 21 used as a guide along which the sensor unit 10 moves. It will be understood that the invention is not specifically limited to the use of a laser beam. Any optical beam can be used, whether or not it has the properties of a laser beam. For example, it is possible to use a normal (non-laser) light beam and sense it in a similar way. The optical beam is effectively acting as an optical guide that can be sensed by a suitable form of sensor in the sensor unit. The invention is not limited to the use of an optical beam as a guide. Instead, it is possible to use some other type of energy beam, such as an electron beam, using a suitable sensor in the sensor unit, depending on the type of energy beam used. In this sense, the exact form of the guide is not relevant, as it is necessary that the guide is located in the working volume, the sensor unit is machine-movable to a number of sensor unit positions along the guide, and for each of the multiple sensor unit positions, is operable to measure the lateral position of the guide (by means appropriate to the type of guide being used) at a number of measurement positions along the guide, and the position of the sensor unit relative to the guide is derivable from measurements in at least three degrees of freedom. Preferably, a non-contact form of guide is used, but mechanical guides such as metal rods or straight edges of rigid metal sheets (such as rulers) can also be used, and the sensor is of a type for measuring lateral position relative to the guide (e.g., Linear Variable Differential Transformer or LVDT sensors). The guide does not need to be straight, just of a known shape. Thus, the use of a laser beam is a very convenient way of providing a non-contact guide of known form (i.e., straight), but it should be understood that other forms of guides are within the scope of the present invention.

[0113] A machine controller for controlling the operation of a robot (or other type of coordinate positioning machine) may be a dedicated electronic control system and / or may include a computer operating under the control of a computer program. For example, the machine controller may comprise a real-time controller for providing low level instructions to the coordinate positioning machine and a PC for operating the real-time controller. It will be appreciated that the operation of the coordinate positioning machine may be controlled by a program running on the machine, in particular a program running on a coordinate positioning machine controller such as controller 8. Such a program may be stored on a computer readable medium or may be embodied in a signal, for example a downloadable data signal provided from an internet website. The appended claims should be interpreted as covering the program itself, or a record on a carrier, or a signal, or any other form.

Claims

1. 1. A system for characterizing a machine, comprising: a launch unit operable to launch an optical beam into a working volume of the machine; a sensor unit movable by the machine to a plurality of sensor unit positions along the beam, and operable for each of the plurality of sensor unit positions to measure a lateral beam position at a plurality of measurement positions along the beam, a position of the sensor unit relative to the beam in at least three degrees of freedom being derivable from the measurements; a processor unit operable to characterise the machine using the measurements; A system comprising:

2. a position of the sensor unit relative to the beam is derivable in two lateral translational degrees of freedom and at least one lateral rotational degree of freedom; The system of claim 1 .

3. a position of the sensor unit relative to the beam in the rotational degree of freedom is derivable from a corresponding pair of measurement positions separated by a fixed interval. The system of claim 2.

4. The position of the sensor unit relative to the beam is derivable with two lateral rotational degrees of freedom.

4. A system according to claim 2 or 3.

5. the sensor unit is further operable to provide a further measurement where the position of the sensor unit relative to the beam is derivable in a longitudinal rotational degree of freedom. A system according to any one of claims 1 to 4.

6. the processor unit is operable to characterize the machine in dependence on a comparison between expected measurements from the sensor unit and actual measurements from the sensor unit. A system according to any one of claims 1 to 5.

7. the geometry of the machine is characterized by a set of model parameters; A system according to any one of claims 1 to 6.

8. When dependent on claim 6, the processor unit is operable to update the model parameters based on the comparison. The system of claim 7.

9. characterizing the machine includes determining a set of new model parameters that better characterize the shape of the machine than an existing set of model parameters.

9. A system according to claim 7 or 8.

10. a control unit operable to control the machine to move the sensor unit along the beam; A system according to any preceding claim.

11. When dependent on claim 7, the control unit is operable to control the machine to move the sensor unit along the beam based on the set of model parameters. The system of claim 10.

12. the control unit is operable to control movement of the machine to cause the sensor unit to follow a predetermined path along the beam; 12. A system according to claim 10 or 11.

13. the control unit is operable to servo movement of the machine in dependence on the measurements from the sensor unit to maintain measurements from the sensor unit substantially constant for each position of the sensor unit along the beam.

13. A system according to claim 10, 11 or 12.

14. When dependent on claim 3 or 7, the sensor unit is operable to move relative to the launch unit such that the beam is incident on each measurement location of the pair of measurement locations in turn, and the processor unit is operable to determine the spacing based on the model parameters. A system according to any one of claims 10 to 13.

15. the processor unit is separate from the control unit; A system according to any one of claims 10 to 14.

16. the sensor unit comprises a sensor at each of the measurement locations, each sensor adapted to sense the beam in one or two lateral dimensions or directions; 16. A system according to any preceding claim.

17. the sensor unit has a plurality of incidence points of the beam passing through the same measurement location but at different respective angles; 17. A system according to any preceding claim.

18. the coupling of the sensor unit and the machine is adapted to position at least one of the measurement locations substantially coincident with a point of interest associated with the machine; 18. A system according to any preceding claim.

19. the point of interest associated with the machine is a tool center point; 20. The system of claim 18.

20. a coupling of the sensor unit and the machine adapted to permit rotation of the sensor unit relative to the machine about a predetermined point on the coupling; 20. A system according to any preceding claim.

21. When dependent on claim 18, the predetermined point substantially coincides with the point of interest.

21. The system of claim 20.

22. the launch unit is operable to launch the beam into the working volume of the machine from multiple positions and / or in multiple directions; 22. A system according to any preceding claim.

23. The sensor unit is moved by the machine while the launch unit is fixed, or the launch unit is moved by the machine while the sensor unit is fixed.

23. A system according to any preceding claim.

24. The optical beam is a laser beam or some other type of energy beam, such as a light beam or an electron beam, or some other form of guide, such as a non-contact guide and / or an optical guide or even a mechanical guide, such as a straight edge of a rigid structure; 24. A system according to any preceding claim.

25. and further comprising a linear measurement device for providing a measurement for a longitudinal translational degree of freedom.

25. A system according to any preceding claim.

26. the sensor unit comprises a reflector for returning at least a portion of the beam to the launch unit, the launch unit comprising an interferometric sensor that uses a reference beam and a return beam to provide a measurement for a longitudinal translational degree of freedom; 26. A system according to any preceding claim.

27. characterizing the machine includes one or more of: calibrating the machine, validating the machine, performing a health check on the machine, assessing a positioning error of the machine, and configuring the machine; 27. A system according to any preceding claim.

28. the machine comprising a coordinate positioning machine; 28. A system according to any preceding claim.

29. the machine includes a non-cartesian machine and / or a parallel kinematic machine; 29. A system according to any preceding claim.

30. the machine includes a robotic arm; 30. A system according to any preceding claim.

31. the sensor unit is movable by the machine to a plurality of sensor unit positions along the beam, and for each of the plurality of sensor unit positions, is operable to measure a position of the lateral beam at a plurality of measurement positions along the beam, and a position of the sensor unit relative to the beam in at least three degrees of freedom is derivable from the measurements. A sensor unit for use in a system according to any preceding claim.

32. A direction sensor unit that is mountable to a non-orthogonal machine in a fixed orientation for performing a method for characterizing the machine and is moveable between a plurality of different fixed orientations relative to the machine to enable the method to be performed by the machine in a plurality of different configurations for the same sensing operation.

33. 1. A method for characterizing a machine, comprising: (a) projecting an optical beam into a working volume of the machine; (b) controlling the machine to move a sensor unit along the beam to positions of a plurality of sensor units along the beam; (c) for each of the plurality of sensor unit positions, using the sensor unit to measure a position of the beam in a lateral direction at a plurality of measurement positions along the beam, wherein a position of the sensor unit relative to the beam in at least three degrees of freedom is derivable from the measurements; and (d) characterizing the machine using the measurements; and The method includes:

34. repeating steps (b) and (c) for the same beam emitted in step (a), but using a path of the path of the sensor unit that is offset from a path of the sensor unit from a previous execution of steps (b) and (c), and from a combination of measurements a position of the sensor unit relative to the beam is derivable with a rotational degree of freedom about an axis defined by the beam.

34. The method of claim 33.

35. 1. A method for characterizing a non-Cartesian coordinate positioning machine, comprising: (a) projecting an optical beam into a working volume of the machine; (b) controlling the machine to move a sensor unit along the beam to positions of a plurality of sensor units along the beam; (c) for each of the plurality of sensor unit positions, obtaining measurements using the sensor unit such that a position of the sensor unit relative to the beam is derivable in at least three degrees of freedom; (d) repeating steps (a) through (c) for a plurality of different launch positions and / or angles of the beam; (e) characterizing the machine using the measurements; and The method includes:

36. The sensor unit is a sensor unit according to claim 31 or 32.

36. The method of claim 33, 34 or 35.

37. A computer program which, when executed by a computer or machine controller, causes said computer or machine controller to carry out the method of any one of claims 33 to 36.

38. A computer readable medium storing computer program instructions for controlling a computer or machine controller to carry out a method according to any one of claims 33 to 36.

39. A machine controller configured to control a machine to carry out a method according to any one of claims 33 to 36.

Citation Information

Patent Citations

  • Arrangement and method for the model-based calibration of a robot in a working space

    US20160243703A1

  • Rotation detection kit with intensity sensors receiving optical beams with discretely varying polarisation orientation

    WO2008122808A2

  • Coordinate positioning machine

    WO2019162697A1

  • Coordinate positioning machine

    WO2021074625A1

  • Coordinate positioning arm

    WO2021116685A1