The present invention relates to a coordinate positioning machine. The present invention relates in particular, but not exclusively, to a system for calibrating or otherwise characterising at least some aspect of a coordinate positioning machine. The present invention is particularly applicable, for example, to a non-Cartesian type of coordinate positioning machine, such as a hexapod, measurement arm or articulated robot.
Articulated robots are commonly used in a wide variety of manufacturing applications such as assembly, welding, gluing, painting, picking and placing (e.g. for printed circuit boards), packaging and labelling, palletizing, and product inspection. They benefit from being versatile and rugged, with a large reach and a high degree of flexibility of movement, making them ideal for use in a production environment.
An articulated robot (or just “robot” for short) is illustrated schematically in
The arm 1 comprises a plurality of segments 5 connected by a mixture of transverse rotary axes 6 and inline (or longitudinal) rotary axes 7, forming a mechanical linkage from one end to the other. In the example illustrated in
Another common arrangement is shown in the arm 1 of
The articulated robot arms 1 of
Each joint or axis in a coordinate positioning machine contributes a positional error or uncertainty. In a serial kinematic machine such as that shown in
Calibration of any type of non-Cartesian machine is a significant challenge, and particularly so for an articulated arm such as that illustrated in
Many calibration techniques have in common the goal of specifying a parametric model of the machine concerned, in which a set of model parameters (also referred to as machine parameters) is used to characterise the machine's geometry. Uncalibrated values are initially assigned to these parameters as a starting point for the machine geometry. During the calibration, the machine is moved into a variety of different poses (based on the current estimates of the machine parameters). For each pose, a calibrated measuring device is used to measure the actual pose, so that an indication of the error between the assumed machine pose and the actual machine pose can be determined. The task of calibrating the machine then amounts to determining a set of values for the various machine parameters that minimises the errors, using known numerical optimisation or error minimisation techniques.
For a robot arm as illustrated in
Even after using known calibration techniques, due to the challenges associated with calibrating a non-Cartesian machine such as shown in
In view of the above, it is desirable to find an improved system for and method of calibrating a non-Cartesian coordinate positioning machine such as shown in
According to a first aspect of the present invention, there is provided a system for calibrating or otherwise characterising a machine, comprising: a launch unit; a sensor unit; and a processor (or characterisation unit or calibration unit). The launch unit is operable to launch (or arrange or provide) an optical beam (or other form of optical or non-optical guide) into (or across or within) a working volume of the machine. The sensor unit is (couplable to the machine and) moveable by the machine (relative to the launch unit) to a plurality of sensor unit positions along the beam. The sensor unit is operable, for each of the plurality of sensor unit positions, to measure a transverse (or lateral) beam position (a transverse beam position being a position in a transverse plane, or in a plane that is transverse to the beam) at a plurality of measurement positions along the beam (these being the ‘measurements’ or ‘actual measurements’). A position of the sensor unit relative to the beam (or launch unit or machine), or a change in a position of the sensor unit relative to the beam (or launch unit or machine) from one of the sensor unit positions to another of the sensor unit positions, is derivable from the measurements in (each of) at least three degrees of freedom (e.g. three or four degrees of freedom). The processor unit (or characterisation unit or calibration unit) is operable to use the measurements to calibrate or otherwise characterise the machine.
In general, a first entity is moveable relative to a second entity in 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 X, Y, Z axes) and the three rotational degrees of freedom may be denoted as A, B, C (corresponding respectively to rotation around the X, Y, Z axes). With this coordinate system, if Z is considered to correspond to (or be aligned with) an axis defined by the beam, then: (a) X, Y are considered to be transverse translational degrees of freedom; (b) Z is considered to be a longitudinal translational degree of freedom; (c) A, B are considered to be transverse rotational degrees of freedom (also referred to as pitch, yaw); and (d) C is considered to be a longitudinal rotational degree of freedom (also referred to as roll). It will be appreciated that the allocation of letters to degrees of freedom is arbitrary, and it is also possible that rotational degrees of freedom corresponding to X, Y, Z are instead denoted as C, B, A respectively, for example.
According to a second aspect of the present invention, there is provided a sensor unit for use in a system according to the first aspect of the present invention, the sensor unit being moveable by the machine to a plurality of sensor unit positions along the beam, and which is operable, for each of the plurality of sensor unit positions, to measure a transverse beam position at a plurality of measurement positions along the beam, with a position of the sensor unit relative to the beam (or a change in a position of the sensor unit relative to the beam from one of the sensor unit positions to another of the sensor unit positions) being derivable from the measurements in at least three degrees of freedom.
According to a third aspect of the present invention, there is provided a method of calibrating or otherwise characterising 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 a working volume of the machine; (b) controlling the machine to move a sensor unit according to the second aspect of the present invention 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 measure a transverse beam position at a plurality of measurement positions along the beam, with a position of the sensor unit relative to the beam (or a change in a position of the sensor unit relative to the beam from one of the sensor unit positions to another of the sensor unit positions) being derivable from the measurements in at least three degrees of freedom; and (d) using the measurements to calibrate or otherwise characterise the machine.
The method may comprise repeating steps (b) and (c) for the same beam launched in step (a), or at least for a beam launched from the same position and at the same angle, but using a path for the sensor unit path that is offset from the path for the sensor unit from a previous performance of steps (b) and (c), from which combination of measurements a position of the sensor unit relative to the beam is derivable in a rotational (roll) degree of freedom around an axis defined by the beam.
A 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”.
A position of the sensor unit relative to the beam may be derivable (from the measurements) in two transverse translational degrees of freedom (translational degrees of freedom along first and second transverse axes to the beam, or along first and second axes that are transverse to the beam) and at least one transverse rotational degree of freedom (at least one rotational degree of freedom around a transverse axis to the beam, or around an axis that is transverse to the beam, which axis may be the same as one of the first and second transverse axes). An axis defined by the beam may be denoted as the Z axis, with the two transverse translational degrees of freedom being X, Y, and the at least one transverse rotational degree of freedom being at least one of A, B (at least one of pitch, yaw).
A position of the sensor unit relative to the beam in the transverse rotational degree of freedom may be derivable from (the measurements from) a corresponding pair of measurement positions that are spaced apart by a fixed and/or known and/or measured separation. Each measurement position of the pair may provide measurements in or along the same direction and/or dimension. Each measurement position of the pair may provide measurements from which a position in or along the same direction and/or dimension can be derived. The pair of measurement positions may be spaced apart by a fixed but unknown or unmeasured separation, or at least spaced apart by a separation that is only known or measured to a certain level of accuracy (e.g. to an accuracy no greater than the actual separation, or no greater than 50% of the actual separation, or no greater than 10% of the actual separation, or no greater than 5% of the actual separation, or no greater than 1% of the actual separation, or no greater than 0.1% of the actual separation).
A position of the sensor unit relative to the beam may be derivable in two transverse rotational degrees of freedom, for example in both A and B, or for both pitch and yaw.
The sensor unit may be further operable to provide further measurements from which a position of the sensor unit relative to the beam is derivable in a longitudinal rotational degree of freedom (e.g. around 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 (such as described in described in WO 2008/122808) or from two offset runs along the same beam as described herein.
The processor unit may be operable to calibrate or otherwise characterise the machine in dependence on a comparison between expected measurements from the sensor unit (or information such as relative positional information derived from the measurements) and the actual measurements from the sensor unit (or information such as relative positional information derived from the actual measurements). In this context, expected can be considered to mean expected based on a set of model parameters which characterises the geometry of the machine.
The system may comprise a control unit that is 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) which characterises the geometry of the machine. The control unit that may be operable to produce a series of position demands to control the machine to move in this way.
The processor unit may be operable to update the model parameters (of the parametric model) based on the comparison mentioned above. This may be performed to provide a closer match between expected and actual measurements.
In doing so, the intention is that the new set of model parameters thereby characterises the geometry of the machine better than the existing set of model parameters.
The control unit may be operable to control movement of the machine (for at least part 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 e.g. by a servo mechanism. The path of the sensor unit may define both the position and orientation of the sensor unit relative to the beam.
The control unit may be operable (in cooperation with the processor unit) to servo movement of the machine (for at least part of the movement) in dependence on the measurements from the sensor unit to maintain (or at least to attempt to maintain) substantially constant (or otherwise known or predetermined) measurements from the sensor unit for each of the sensor unit positions along the beam. The servo movement may be applied in addition to or combination with any movement along a predetermined path.
The separation may be measured by moving the sensor unit relative to the launch unit such that the beam is incident at each measurement position of the pair in turn, with the separation being determined based on the model parameters.
The processor unit may be separate from (e.g. at a separate location to) the control unit, or these may effectively be one and the same (or at least provided by the same unit).
The sensor unit may comprise a sensor at each of the measurement positions, each sensor being adapted to sense (or measure an incident position of) the beam in one or two transverse dimensions or directions.
The sensor unit may have multiple entry points for the beam at different respective angles while still passing through the same measurement positions.
A coupling between the sensor unit and the machine may be adapted to place at least one of the measurement positions substantially coincident with a point of interest associated with the machine.
The point of interest associated with the machine may be a tool centre point (for a tool mounted to the machine).
A coupling between the sensor unit and the machine may be adapted to provide for rotation of the sensor unit relative to the machine around a predetermined point on the coupling. The predetermined point is preferably arranged to be substantially coincident with the point of interest (e.g. tool centre point).
The launch unit may be operable to launch the beam into the working volume of the machine from multiple positions and/or in multiple directions.
The sensor unit may be moved by the machine (e.g. coupled to a head end of the machine) while the launch unit is fixed (during the movement, e.g. coupled to a base platform of the machine). Alternatively, 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 (during the movement, e.g. coupled to a base platform of the machine).
The optical beam may be a laser beam or a light beam. However, it will be appreciated that the optical beam is effectively acting as an optical guide that can be sensed by an appropriate form of optical sensor in the sensor unit, and the present invention is not limited to the use of an optical beam as the guide. Some other type of energy beam could be used instead, such as an electron beam, with use of appropriate sensors in the sensor unit depending on the type of energy beam used. Preferably a non-contact form of guide is used, but a mechanical guide could also be used, such as a metal rod or a straight edge of a metal sheet (like a ruler). In the more general case, the phrase “launching an optical beam into the working volume” can be replaced by the phrase “arranging a guide within the working volume”. The guide (which can also be referred to as a sensor unit guide or a guide for a sensor unit) need not define a straight path, it merely being required that the path defined by the guide is of a known form; for example, the guide could have a known radius of curvature.
The system may further comprise a linear measurement device for providing measurements relating to a longitudinal (linear) translational degree of freedom. This would thereby enable up to five degrees of freedom to be determined from the sensor unit, with an additional degree of freedom being determined from this measurement device, thereby providing a system capable of characterising the machine based on up to six degrees of freedom.
The sensor unit may comprise means (e.g. a reflector) for returning at least a proportion of the beam back to the launch unit (or some other receiver unit), and wherein the launch unit (or other receiver unit) comprises an interferometric sensor which uses a reference beam and the return beam to provide measurements relating to a longitudinal (linear) translational degree of freedom. This would thereby enable up to five degrees of freedom to be determined from the sensor unit, with an additional degree of freedom being determined from this measurement device, thereby providing a system capable of characterising the machine based on up to six degrees of freedom.
Characterising the machine may comprise one or more of: calibrating the machine; verifying the machine; performing a health check of the machine; evaluating positioning errors of the machine; and setting up the machine.
Where the geometry of the machine is characterised by a set of model parameters, calibrating the machine may comprise determining a new set of model parameters that characterises the geometry of the machine better than an existing set of model parameters.
The machine may comprise (or be) a coordinate positioning machine. The machine may comprise (or be) a non-Cartesian and/or parallel kinematic machine. The machine may comprise (or be) a robot arm.
Each of the features described above in relation to the first aspect of the present invention also apply, where appropriate, to each of the further aspects of the present invention set out below.
According to fourth aspect of the present invention, there is provided a directional sensor unit that is mountable to a non-Cartesian machine in a fixed orientation to perform a method for characterising the machine, and which is moveable between a plurality of different fixed orientations relative to the machine to enable the method to be performed with the machine in a plurality of different configurations (or poses) for the same sensing operations.
According to a fifth aspect of the present invention, there is provided a method of calibrating or otherwise characterising a non-Cartesian coordinate positioning 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 a 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 take measurements from which a 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 for the beam; and (e) using the measurements to calibrate or otherwise characterise the machine. The sensor unit may be one according to the second aspect of the present invention, or it may be another type of sensor unit.
According to a sixth aspect of the present invention, there is provided a computer program which, when run by a computer or a machine controller, causes the computer or machine controller to perform a method according to the third or fifth aspect of the present invention (or at least any steps of the method that can be performed or caused to be performed by the computer program).
According to another aspect of the present invention, there is provided a computer-readable medium having stored therein computer program instructions for controlling a computer or a machine controller to perform a method according to the third or fifth aspect of the present invention (or at least any steps of the method that can be performed or caused to be performed by the computer program).
According to another aspect of the present 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 present invention (or at least any steps of the method that can be performed or caused to be performed by the controller).
Reference will now be made, by way of example, to the accompanying drawings, in which:
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, which is coupled to the robot arm 1 via a flange 3, is moveable relative to the launch unit 20 by the robot arm 1 to a plurality of sensor unit positions along the beam 21, with this relative motion being controlled by the controller 8.
The sensor unit 10 comprises first and second two-dimensional sensors 11, 12 for measuring a transverse (or lateral) two-dimensional position of the beam 21 within the sensor unit 10, i.e. a two-dimensional position of the beam 21 in a plane that is transverse (e.g. orthogonal) to the beam 21 at two corresponding measurement positions along the beam 21.
An example two-dimensional sensor 11, 12 is shown in
Alternatively, instead of using a dense two-dimensional array of sensor pixels as shown in
As another alternative, a position-sensitive detector (PSD) can be used for sensors 11, 12. This type of detector has a single isotropic sensing region, rather than four or more discrete sensing regions as per
With the sensor unit 10 shown in
A method of calibrating the robot arm 1 using the sensor unit 10 will now be described with reference to
The controller 8 is then used to control the robot arm 1 to move the sensor unit 10 towards an upper 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 centred on both sensors 11, 12 (the “null position” or “null pose”). In this sensor unit position B, with the beam 21 passing through the centre of both sensors 11, 12, it is known that the sensor unit 10 is again aligned with the beam 21. The machine coordinates for this sensor unit position B are recorded.
At sensor unit position B, rather than rotating the sensor unit 10 to align the beam 21 with the centre of both sensors 11, 12, it would also be possible to maintain the same orientation for the sensor unit 10 (i.e. that same as for other position A) and merely command the robot 1 to adjust the X, Y, Z position of the sensor unit 10 so as to align just one of the sensors 11, 12 with the beam 21 (e.g. that one of the sensors 11, 12 which is being treated as the reference for the coordinate system X, Y, Z, A, B, C of the sensor unit 10, for more on which see the discussion further below with reference to
A path for the sensor unit 10 is then calculated by the controller 8 which will attempt to move the sensor unit 10 in a straight line from position B to position A, keeping 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 although it is expected (based on these machine parameters) that the sensor unit will remain aligned with the beam 21 as it is moved along the beam, in reality it will not do so because the machine parameters will not be a perfect representation of the geometry of the machine. It is the aim of the calibration method to produce a new set of machine parameters which will better represent the geometry of the machine, thereby leading to an improved calibration.
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 the calculated path, starting at sensor unit position B and ending at sensor unit position A, with the sensor unit 10 passing through a plurality of intermediate sensor unit positions. At each of these intermediate sensor unit positions the machine coordinates (i.e. the rotary encoder readings representing all rotary joint angles) are recorded along with the transverse two-dimensional measurements from both sensors 11, 12.
If the calibration were ideal, the beam 21 would remain perfectly centred on both sensors 11, 12 at each of the intermediate sensor unit positions, i.e. the transverse position would always be X=0 and Y=0. However, in practice the calibration will not be ideal and the transverse position of the beam 21 on the sensors 11, 12 will vary away from X=0 and Y=0.
When all measurements from sensors 11, 12 have been collected from the run from sensor unit position B to sensor unit position A, the measurements are passed to the processor unit 30. The processor unit 30 performs a numerical optimisation or error minimisation routine as described previously, which involves a comparison between the actual measurements from the sensor unit 10 and the expected measurements from the sensor unit 10 (i.e. as expected based on the existing set of model parameters which characterises the geometry of the machine). Based on this comparison, the processor unit 30 updates the model parameters so as to provide a closer match between the expected measurements (i.e. as expected based on the new set of model parameters) and the actual measurements (from the previous run). In other words, the updated model parameters represent the geometry of the machine better than the previous version of the model parameters.
For example, if the programmed path from B to A (or vice versa) is expected to produce sensor readings of X=0 and Y=0 for every sensor unit position (because the path is programmed to make this so, at least in theory), while the actual sensor readings for one of the sensor unit positions are X=3 and Y=2, then after the model parameters have been optimised the expected sensor readings for the same set of actuator position demands (i.e. the commanded angles for each of the rotary joints) should be closer to X=3 and Y=2 (rather than X=0 and Y=0) as before. However, it is to be noted that an error minimisation routine is attempting to minimise an overall error across all of the calibration data, so it is possible that some expected measurements will drift slightly further away from the actual measurements, while many others will move closer (so that the overall calibration is improved).
To improve the calibration further, several runs can be performed with the laser beam 21 being launched into the working volume of the machine in a different direction for each run, as illustrated in
To illustrate the concept of expected measurements vs actual measurements in the above method, a simplified representation of sensor unit 10 is shown in
The amount of unwanted rotation, and therefore the amount of correction that would need to be applied in the calibration to nullify that unwanted rotation, can be determined by comparing (i.e. taking a difference between) the lateral position of the beam 21 on respective sensors 11, 12, and also taking account of the separation between the sensors 11, 12. As illustrated in
And therefore:
Accordingly, in order to determine angular information, it is necessary to know the separation ‘d’ between the sensors 11, 12. However, it is to be noted that it is not generally required to know this separation to a high degree of accuracy, since this angular information is used in the error minimisation routine to determine what magnitude of adjustment needs to be made (and in what direction) for each iteration of the iterative routine, for example when performing a gradient descent type of algorithm, and it is possible to make smaller steps in the gradient descent rather than larger ones (for example if there is some uncertainty regarding the accuracy of the angular information) though it would take longer to reach a stable state (i.e. to find a local minimum in the error minimisation routine). A method for determining the separation between the sensors 11, 12 is explained further below.
The transverse position of the sensor unit 10 relative to the beam 21 can be derived from the measurement from sensor 11, or the measurement from sensor 12, or a combination of measurements from sensors 11, 12. It can be convenient to place a centre of the coordinate system for the sensor unit 10 (e.g. X, Y, A, B when considering four degrees of freedom) on one of the sensors 11, 12, so that only one of the sensors 11, 12 is then used to determine a transverse position X, Y and a combination of sensors is used to determine an angular position A, B (or transverse position X and angular position A in the simplified one-dimensional example of
With 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, with measurement data from the sensor unit 10 being collected at each sensor unit position along the path. For an imperfect calibration, the actual sensor measurement data will be deviating from the expected sensor measurement data along the path, and it is the aim of the calibration method to analyse these deviations so as to produce a calibration that will (in subsequent runs or in subsequent operational use of the robot arm 1) eliminate or at least reduce those deviations. Rather than allow these deviations to occur during the calibration method, another approach is to adjust or servo the movement of the robot actively during a calibration run so as to attempt to keep the sensor unit 10 aligned with the beam 21 at all times, rather than let it drift off as shown in
With 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 (in cooperation with the processor unit 3) to servo movement of the machine in dependence on the measurements from the sensor unit 10 (these sensor measurements act as the feedback in a servo loop) so as to attempt to maintain substantially constant measurements from the sensor unit 10 for each of the sensor unit positions along the beam 21. This alternative approach is illustrated in
For this alternative servo approach, a similar analysis can be made regarding adjustment of the model parameters as with the previous approach, in that it involves a comparison between the actual measurements from the sensor unit 10 and the expected measurements from the sensor unit 10. In this case, the actual measurement is always [2, 2] due to the servo control, and the expected measurement for a particular sensor unit position would be based on where the sensor unit 10 would be expected to be using the same position demands (as adjusted by the servo control) that resulted in the actual measurement of [2, 2] for that sensor unit position, based on the existing set of model parameters which characterises the geometry of the machine. Based on this comparison, the processor unit 30 updates the model parameters so as to provide a closer match between the expected measurements and the actual measurements, such that the updated model parameters represent the geometry of the machine better than the previous version of the model parameters.
The servo approach is advantageous because it means that it is not necessary to calibrate the sensors 11, 12 themselves, since the beam remains mostly static on a single point on both sensors 11, 12, with any small deviations being 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 the servo motion, while the position signal from the other of the sensors 11, 12 can be used to control ‘yaw’ and ‘pitch’ of the head (taking account of the position signal from the other sensor as well as the separation between sensors to work out the angle). Also, as also mentioned above in relation to the first approach, for the servo approach it is also not necessary to measure the separation between sensors 11, 12 to a high accuracy, since it is more important that the separation between the sensors is fixed, rather than knowing precisely what the separation is. For example, an accuracy of no more than 1 mm may be sufficient for a sensor separation of 100 mm. This because for servo control to be effective it is not necessary to know the precise angle, since the servo is effectively based on making small changes to the angle (and seeing what effect this has on the sensor measurements) rather than commanding a precise absolute angle. This is an advantage of a method according to an embodiment of the present invention, since it is only required to have a fixed, though not accurately known, separation.
A method for measuring the separation between the sensors 11, 12 will now be described with reference to
In the arrangement shown in
Compared to
Referring again to
This concept is explored further with the sensor unit 10 shown in
Rather moving the sensor itself, it would also be possible to achieve this by optical means, e.g. by moving an optical component between two positions to create two different path lengths for the laser to the same sensor in the same position, or by switching in a delay line or extra optical path, or by switching in an extra component to increase the optical path length. Just one example is shown in
A particular advantage associated with a sensor arrangement like that of
As shown in
It is to be noted that the above-mentioned benefit of arranging for the sensor 12 to be substantially coincident with the TCP applies independently of the presence or otherwise of the rotary joint 18. In other words, even for a coupling between the machine 1 and the sensor unit 10 that does not have a rotary joint, such as is shown in
It is also to be noted that the concept as shown in
US 2016/0243703 A1 describes system in which a single laser beam interacts with a single sensor, and from this it is not possible to derive any information about a relative rotational degree of freedom for use in the calibration. Even where two sensors and two laser beams are used, the separation between the sensors is neither fixed nor known so it is still not possible to derive information relative rotational degree of freedom. Unlike US 2016/0243703 A1, an embodiment of the present invention is conveniently able to measure relative motion in at least three degrees of freedom (preferably four) using just a single laser beam.
The XM-60 calibration device made and sold by Renishaw plc is designed to measure relative motion of a receiver unit relative to a launch unit in all six degrees of freedom (6DOF), for machine calibration purposes. However, this calibration device requires four laser beams to be launched from the launch unit. The fourth beam is incident on a two-dimensional sensor, is used to measure horizontal and vertical straightness based on how the beam moves in X, Y directions on the sensor as the receiver unit moves along the beam. This fourth beam is also used to measure roll (rotation around the longitudinal axis of the beam) by sensing how a linear polarisation 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 changes in distance) and determining pitch, yaw, and linear straightness from those.
Unlike the XM-60, an embodiment of the present invention is conveniently able to measure relative motion in four degrees of freedom (4DOF) using just a single laser beam rather than four. An embodiment of the present invention could be augmented by adding a roll sensor like that used in the XM-60, such that relative position can be measured in five degrees of freedom (X, Y, pitch, roll, yaw) using just a single laser beam. Such a roll sensor is described in WO 2008/122808, which is incorporated herein by reference. The only degree of freedom (of the six degrees of freedom) that would then be missing is a measurement of linear straightness, i.e. along the laser beam (the Z axis in the coordinate system shown in
Referring back to
A calibration system embodying the present invention could also be provided with a separate linear measurement device (or strut or ballbar) 41 to enable calibration of this final degree of freedom, as shown in
WO 2019/162697 also describes how the linear measurement device 41 can advantageously be mounted, as also shown in
As shown in
Instead of using a separate linear measurement device (or ballbar) 41 for the sixth (linear) degree of freedom, some of the beam 21 could instead be returned back to the launch unit 20 (e.g. by use of a retroreflector in the sensor unit 10) so that the sixth (linear) degree of freedom can be determined interferometrically, i.e. based on interference between the return (measurement) beam and a reference beam as would be well known (and as is used in the XM-60 and XL-80 calibration devices made and sold by Renishaw plc).
The above description has focused on a system for calibrating a machine (such as a robot arm), i.e. not only identifying errors associated with a parametric model used to characterise the machine geometry but also correcting or accounting for those errors to provide a better calibration. It is also possible to use the technique for identifying or assessing machine errors and not actually correcting them as such, for example as part of a machine verification procedure to assess the overall performance of a machine. The technique can also be used when setting up a machine. Accordingly, it should be considered that the present invention relates to a system and method for characterising a machine in a general sense, which includes calibration, verification and so on.
In the various embodiments illustrated and described herein, the processor unit 30 is shown as forming part of the controller 8, but the processor unit 30 could be separate and/or remote from the controller 8. For example, the measurement data could be sent to a remote site for processing rather than processed on site. The processor unit 30 is intended to represent means for providing additional functionality associated with an embodiment of the present invention and that is not provided by a conventional controller, either additional functionality for the controller (e.g. to provide the servo control described above when collecting measurement data) or additional functionality outside the controller (e.g. offsite processing of the collected measurement data).
A calibration system embodying the present invention has the advantage of using an optical (i.e. non-contact) coupling between the moving and fixed parts of the machine, and accordingly it introduces no extra loading which might otherwise affect the accuracy of the measurements (and therefore the effectiveness of the resulting machine calibration or verification), as would be the case with a mechanical form of multi-dimensional measuring arm. The sensor unit 10 itself can be of very lightweight construction so that it does not provide any significant additional loading due to its weight, and the tool can be left in place while doing this calibration, just attaching the sensor unit 10 during a quick calibration routine with the loading of the robot arm 1 being substantially the same as it would be in actual use.
Sensor measurements can be taken only when the sensor unit 10 is moving, or only when static, or a combination. It would be possible to add a motion sensor, such as an accelerometer, to sense when the sensor unit 10 is moving, in order to ensure that measurements only taken when moving or only when static. Such a motion sensor could also be used to compensate out vibrational effects caused by imperfections in the machine's drive system, or other environmental factors that might case machine vibration. It would also be advantageous to measure the ambient light level (e.g. based on a comparison between sensor readings with the laser beam 21 switched on and off) and to compensate out the ambient light level from the sensor readings.
Although it is described above that the sensor unit 10 is mounted to the moveable element of the machine, with the launch unit 20 mounted to the fixed base 2 of the machine, it would also be possible to reverse this so that the launch unit 20 is mounted to the moving element and the sensor unit 10 mounted to the base 2, as shown in
Although the two two-dimensional sensors 11, 12 in
A method of calibrating or otherwise characterising a machine according to an embodiment of the present invention is summarised in the flowchart of
Although described mainly in connection with the characterisation (e.g. calibration) of an articulated robot arm, it will be appreciated that an embodiment of the present invention is applicable to the characterisation (e.g. calibration) of any type of coordinate positioning machine, for example including the various types as described in the opening part of the present application, whether non-Cartesian or Cartesian, and whether serial kinematic or parallel kinematic. An embodiment of the present invention is even applicable to the characterisation of a single machine axis, e.g. a single axis of a three-axis Cartesian CMM. This extends to an example, as shown in
Where it is described herein that a position of the sensor unit 10 relative to the beam 21 is derivable from the measurements in at least three degrees of freedom, it will be appreciated that this does not imply that such a position is actually derived or determined or calculated from the measurements in any or all of these degrees of freedom, as part of the method. It is merely necessary that such a position of the sensor unit relative to the beam is able to be derived from the measurements, because this means that the measurements encapsulate sufficient positional information to enable the machine to be calibrated or otherwise characterised. For example, in the case of a calibration routine to update a set of model parameters for the machine, the set of raw measurements could be processed directly, as part of an iterative error minimisation algorithm, without ever deriving (e.g. as an intermediate step) an actual position of the sensor unit relative to the beam in each of the at least three degrees of freedom. So, in the example shown in
The above embodiments have been based on a laser beam 21 being used as a guide along which the sensor unit 10 is moved. It will be appreciated that the present invention is not limited to the use of a laser beam specifically. Any optical beam could be used, whether or not it has the properties of a laser beam. For example, a normal (non-laser) light beam could be used and sensed in a similar way. The optical beam is effectively acting as an optical guide that can be sensed by an appropriate form of sensor in the sensor unit. The present invention is not even limited to the use of an optical beam as the guide. Some other type of energy beam could be used instead, such as an electron beam, with use of appropriate sensors in the sensor unit depending on the type of energy beam used. In this sense, the exact form of guide is not relevant, since all that is required is that a guide is arranged in the working volume, and that the sensor unit is moveable by the machine to a plurality of sensor unit positions along the guide and is operable, for each of the plurality of sensor unit positions, to measure a transverse position of the guide (by whatever means appropriate for the type of guide being used) at a plurality of measurement positions along the guide, with a position of the sensor unit relative to the guide being derivable from the measurements in at least three degrees of freedom. Preferably a non-contact form of guide is used, but a mechanical guide could also be used, such as a metal rod or the straight edge of a rigid metal sheet (like a ruler), with the sensors being of a type (e.g. linear variable differential transformer or LVDT sensors) to measure a lateral position relative to the guide. The guide need not even be straight, but merely of a known form. Therefore, although the use of a laser beam is a very convenient way of providing a non-contact guide that is of a known form (i.e. straight), other forms of guide are to be understood as being within the scope of the present invention.
A machine controller for controlling the operation of the robot (or other type of coordinate positioning machine) may be a dedicated electronic control system and/or may comprise a computer operating under control of a computer program. For example, the machine controller may comprise a real-time controller to provide low-level instructions to the coordinate positioning machine, and a PC to operate the real-time controller. It will be appreciated that operation of the coordinate positioning machine can be controlled by a program operating on the machine, and in particular by a program operating on a coordinate positioning machine controller such as the controller 8. Such a program can be stored on a computer-readable medium, or could, for example, be embodied in a signal such as a downloadable data signal provided from an Internet website. The appended claims are to be interpreted as covering a program by itself, or as a record on a carrier, or as a signal, or in any other form.
Number | Date | Country | Kind |
---|---|---|---|
2203392.2 | Mar 2022 | GB | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2023/055918 | 3/8/2023 | WO |