WO2024246744A1 - Spatial referencing for industrial collaborative robots - Google Patents

Spatial referencing for industrial collaborative robots Download PDF

Info

Publication number
WO2024246744A1
WO2024246744A1 PCT/IB2024/055163 IB2024055163W WO2024246744A1 WO 2024246744 A1 WO2024246744 A1 WO 2024246744A1 IB 2024055163 W IB2024055163 W IB 2024055163W WO 2024246744 A1 WO2024246744 A1 WO 2024246744A1
Authority
WO
WIPO (PCT)
Prior art keywords
industrial robot
control software
reference system
real
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/IB2024/055163
Other languages
French (fr)
Inventor
Davide CHIRICO
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Leonardo SpA
Original Assignee
Leonardo SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Leonardo SpA filed Critical Leonardo SpA
Publication of WO2024246744A1 publication Critical patent/WO2024246744A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1679Program controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39014Match virtual world with real world
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39021With probe, touch reference positions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39022Transform between measuring and manipulator coordinate system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39024Calibration of manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39044Estimate error model from error at different attitudes and points

Definitions

  • the present invention relates in general to the field of industrial robots, and in particular to the spatial referencing of collaborative industrial robots (Cobot, Collaborative Robot).
  • the present invention is advantageously usable on any robot provided with force sensors so that the robot is adapted to determine spatial information of a work environment in order to carry out operations with precision and to avoid collisions with other objects or people present in the work environment.
  • the present invention is advantageously usable in industrial production, in particular in the context of operations of picking and positioning (pick&place), palletizing and machine tool automation, in particular when precision of the order of millimetres is required; in scenarios envisaging the positioning of the robot in a work area and when the repetition of predefined movements of the robot itself is required.
  • known solutions for the spatial referencing of the robots make available systems that involve using external target devices.
  • known solutions are designed to cooperate with an external measurement system, the latter adapted to detect the spatial position of external target devices in the real reference system of a machining scheme; in particular, the external measurement system comprises a probe, a laser, a camera, sensors and/or other types of detection devices.
  • the external target devices are placed near holes provided to accommodate such devices and are typically and alternatively reflective type target devices, in particular comprising a reflective surface, or physical type target devices, i.e. without a reflective surface.
  • the physical target devices typically called tooling balls
  • a contact probe for example a Renishaw probe
  • the measurement unit comprises a connecting bar having a lower surface with an insertion pin to be arranged in the hole and comprises a plurality of magnets arranged to be separated by a predetermined gap from the insertion pin; and a body, one end of which is inserted into another insertion pin arranged on the upper surface of the connecting bar and the other end of which is provided with a removable measurement pin.
  • WO 2022/104328 Al describes a method for calibrating a robotic cell; wherein, the method comprises localizing the positions of one or more cameras and components with respect to a position of the robotic arm using a common coordinate system, moving the robotic arm according to a movement scheme, and using cameras and sensors to determine the position of the robotic arm at multiple times during the movement.
  • the method further comprises identifying a discrepancy in the position of the robotic arm between an expected position and the position determined in real time, as well as calculating, by means of an auto-calibrator, a compensation for the identified discrepancy, the auto -calibrator resolving the elements in the robotic cell system as a system.
  • the method provides for modifying the actions of the robotic arm in real time during the movement based on the compensation of this discrepancy.
  • the aforementioned projection systems present problems of optical nature, in particular due to the reflectivity of the target device that makes it difficult for the projection system (in particular, by the laser thereof) to localize and/or due to the external brightness that negatively affects the localization of the target device and the goodness of the measurement made, as well as further problems such as for example problems with the housing of the target device inside the holes that negatively affects the measurement (in particular by altering or distorting it) and problems related to the need to position and remove the target devices from the work area at the beginning and at the end of a production cycle.
  • the accuracy of the measurement of the geometric characteristics depends on the system used; in particular, in the case of robots or CNC machines, the accuracy of the measurement of the geometric characteristics depends on the accuracy of the positioning of the robot or CNC machine with respect to the position of the target device to be measured.
  • the accuracy of the measurement of the geometric characteristics is also significantly influenced by further types of errors, for example parallax errors, errors in the positioning of the robot or the CNC machine and/or positioning errors with respect to the perpendicular to the target device.
  • the solution presented in KR 101 438 657 B l does not provide for the calculation of the centre of the holes, but of the position of an external measuring unit, specially installed inside the hole; wherein, such a measuring unit could also be disengaged from the test holes and assume any position in space.
  • Aim of the present invention is therefore to provide a control software for an industrial robot that solves at least in part the problems of the prior art.
  • the aim of the present invention is therefore to make available a control software for an industrial robot that allows to determine spatial information of a hole without using further devices external to the robot. It is also an aim of the present invention to make available a control software for an industrial robot that allows to measure the centre of a hole, and not the position of external measuring units to be installed specifically in that hole.
  • Figure 1 shows a block diagram of a spatial referencing system for robots implementing the control software of an industrial robot according to the present invention.
  • Figure 2 shows a flowchart depicting a process implementable by the control software of an industrial robot according to an embodiment of the present invention.
  • Figure 3 illustrates a flowchart depicting a process implementable by the control software of an industrial robot according to another embodiment of the present invention.
  • FIG 1 shows a block diagram of a spatial referencing system 20 for industrial robot 2, also referred to as a smart alignment system (SAS).
  • the spatial referencing system 20 comprises computer resources (i.e., electronic processing resources not illustrated here) and a control software 1 of the industrial robot 2, in particular a multi-thread. software application.
  • the spatial referencing system 20 is configured to cause a robot 2, in particular a cobot, to be spatially referenced.
  • the industrial robot 2 comprises a contact feeler 3, force sensors, in particular placed in one or more joints of the robot 2, and computer resources, in particular an electronic control unit, designed to execute the control software 1 of an industrial robot 2.
  • the contact feeler 3 of the industrial robot 2 is a tip-shaped instrument.
  • the industrial robot 2 is configured to carry the contact feeler 3 at a flange of the industrial robot 2 itself.
  • the control software 1 is loadable in, and executable by, computing resources of the industrial robot 2 to cause, when executed, the industrial robot 2 to become configured to carry out operations on real pieces in a work environment.
  • the control software 1 is programmed to cause, when executed, the industrial robot 2 to become configured to execute multiple software modules, in particular thread, simultaneously. Each thread consists of several functional blocks, in particular routines.
  • the control software 1 is designed so that, when executed, the industrial robot 2 becomes configured to receive operation instructions, for example from a software module loaded into and executable from the robot's computational resources 2 or from an external device, for example from a mobile device (for example a smartphone, a phablet, a PC and the like) or from a fixed device (for example a desktop PC or other), adapted to transmit operation instructions to the robot 2, to be carried out in the work environment and containing spatial coordinates, expressed in a virtual reference system, of a virtual environment modelling of the real work environment and to carry out the operations instructed.
  • a software module loaded into and executable from the robot's computational resources 2 or from an external device, for example from a mobile device (for example a smartphone, a phablet, a PC and the like) or from a fixed device (for example a desktop PC or other)
  • a mobile device for example a smartphone, a phablet, a PC and the like
  • a fixed device for example a desktop PC or other
  • the spatial coordinates expressed in the virtual reference system are three-dimensional (3D) coordinates.
  • the instructions of operations to be carried out on real pieces comprise at least one list of operations to be performed; in particular, each operation of the list comprises a series of states of the operation, each associated with a set of spatial coordinates expressed in the virtual reference system.
  • the set of spatial coordinates comprises, for each state of the operation, at least the spatial coordinates of the industrial robot 2 and of components of the industrial robot 2.
  • the control software 1 is designed to cause, when executed, the industrial robot 2 to become configured to calculate a spatial transformation model 16, here a rototranslation matrix, to align the virtual reference system of the work environment in the virtual environment modelling, with a real reference system of the work environment in which the industrial robot 2 operates, in order to allow the latter to carry out the operations in the work area based on instructions received.
  • a spatial transformation model 16 here a rototranslation matrix
  • the control software 1 of the robot 2 with the aim of calculating a spatial transformation model 16 between the virtual reference system and the real reference system, is also designed so that, when executed, the industrial robot 2 becomes configured to:
  • a contact feeler 3 of the industrial robot 2 to interact with a real piece 18 (that is, a workpiece or a piece on which it is wished to work) in the work area to determine, in the real reference system, spatial coordinates of a number of contact points of surfaces of the real piece 18, in the vicinity of (in detail, at) alignment holes 17 made in the real piece 18, with which the contact feeler 3 has come into contact; in which, the contact points are located on surfaces of the real piece 18 and the contact feeler 3 comes into contact directly (in detail, not by other means) with these surfaces;
  • the holes 17 are already present on the real piece 18, and the industrial robot 2 is configured to operate on the real piece 18, in order to reference itself spatially, without requiring further new holes 17 to be made specifically on the real piece 18.
  • the present invention allows the robot 2 to reference itself spatially without requiring a human operator to make further holes 17 on the real piece 18.
  • control software 1 is also programmed so that, when executed, the industrial robot 2 becomes configured to cause a contact feeler 3 of the industrial robot 2 to interact with the real piece 18 in the work area so as to determine the contact points located on the internal surface (i.e., a surface defined by the real piece 18 and defining the perimeter of the alignment hole 17) or external (i.e., a surface of the real piece 18 different from the internal surface) to the alignment holes 17 made in the real piece 18 in the work area in the real reference system.
  • the internal surface i.e., a surface defined by the real piece 18 and defining the perimeter of the alignment hole 17
  • external i.e., a surface of the real piece 18 different from the internal surface
  • the control software 1 of an industrial robot 2 is therefore programmed so that, when executed, the industrial robot 2 becomes configured to carry out operations on real pieces in a work environment as a function of the operation instructions received and the spatial transformation model 16 calculated.
  • Figure 2 shows a flowchart representing a process implementable by the control software 1 of an industrial robot 2 in order to determine (block 10) the characteristic point of a hole 17, in particular the centre of the hole 17.
  • the control software 1 of an industrial robot 2 is designed so that, when executed, the industrial robot 2 becomes configured to:
  • the control software 1 is preferably designed so that, when executed, the industrial robot 2 becomes configured to move the contact feeler 3 based on the output of the force sensors; in particular, the industrial robot 2 becomes configured to determine direction and feed rate as a function of the output of the force sensors and control the contact feeler 3 to cause the latter to assume the determined feed rate and to assume the determined direction.
  • the control software 1 is also designed so that, when executed, the robot 2 determines the feed rate as a function of the output of the force sensors and as a function of a predefined speed value as a function of calibration tests of the alignment system, so that the determined speed follows the predefined speed value.
  • the control software 1 is designed so that, when executed, the industrial robot 2 becomes configured to perform a series of actions and routines in order to determine the spatial coordinates of the characteristic point, in particular the centre, of an alignment hole 17.
  • the contact feeler 3 is positioned, for example manually, in the vicinity of an alignment hole 17, in particular of circular shape, (not illustrated here) of the real piece 18 of the work area (block 4), in particular it is inserted in the alignment hole 17 with a random inclination; moreover, according to an aspect of the present invention, the contact feeler 3 is inserted in the alignment hole 17 with a random tangent point on the perimeter of the alignment hole 17.
  • the industrial robot 2 is therefore preferably configured to control the movement of the contact feeler 3 so that it comes into contact with contact points of the real piece 18, in particular three points adjacent to the alignment hole 17, on surfaces external to the hole 17 itself, in order to determine a plane in which the alignment hole lie 17 (block 5).
  • the control software 1 of an industrial robot 2 is designed so that, when executed, the industrial robot 2 becomes configured to determine the spatial coordinates of the contact points based on an output of the force sensors; in detail, the robot 2 becomes configured to determine the coordinates of a contact point when the output of the force sensors is indicative of the fact that the contact sensor 3 has come into contact with a contact point.
  • control software 1 of an industrial robot 2 is designed so that, when executed, the industrial robot 2 becomes configured to calculate the plane in which the alignment hole lies 17 based the spatial coordinates of the contact points with surfaces external to the hole itself 17.
  • control software 1 of an industrial robot 2 in particular the routine for calculating the lying plane described with reference to the block 5, is designed so that, when executed, the industrial robot 2 becomes configured to determine a direction in which to position, or an orientation that must be assumed by, the contact feeler 3 in such a way that the determined direction is, also approximately, parallel to the axis of the hole 17, therefore perpendicular to the plane in which the hole 17 itself lies, and control the contact feeler 3 to position it in the direction determined.
  • the robot 2 is configured to determine the determined direction by calculating the normal to the plane in which the alignment hole lies 17 based on the contact points detected on the surface, in the vicinity of the hole 17 itself, and controls the contact feeler 3 to position it along the calculated normal.
  • the robot 2 is configured to position the contact feeler 3 at an initial position inside the alignment hole 17, in particular a position in which it was previously inserted (block 6); in particular, the robot 2, when positioning the contact feeler 3, is configured to control the contact feeler 3 so that it assumes the previously determined direction.
  • control software 1 of an industrial robot in particular the routine integrated in the control software 1 and referred to as a block with reference number 7 in Figure 2, is designed so that, when executed, the industrial robot 2 becomes configured to move the contact feeler 3 so that it comes into contact with contact points, in particular with two contact points, with surfaces inside the hole 17, in order to determine spatial coordinates of first contact points.
  • the control software 1 is conveniently designed so that, when executed, the industrial robot 2 also becomes configured to determine a first segment as a function of the spatial coordinates of the first contact points in order to determine a first representative point, in particular the midpoint, of the first segment determined.
  • the control software 1 of an industrial robot 2 is further programmed so that, when executed, the industrial robot 2 becomes configured to determine (block 10) the characteristic point of the hole 17, in particular the centre, based on the determined potential characteristic point, i.e. the midpoint of the second segment.
  • control software 1 of an industrial robot 2 is conveniently programmed so that, when executed, the industrial robot 2 becomes configured to execute the routine described with reference to block 7 several times, in particular iteratively, in order to determine different contact points and different potential characteristic points to determine (block 10) the characteristic point of the hole 17, in particular the centre.
  • the control software 1 of an industrial robot 2, in particular a routine 8, is designed so that, when executed, the industrial robot 2 becomes configured to project the contact points on the plane in which the hole lies 17, for example, by means of orthogonal projection techniques.
  • the control software 1 of an industrial robot 2, in particular a routine of the block 8 in Figure 2 is also preferably designed so that, when executed, the industrial robot 2 becomes configured to determine different sets of contact points of the hole 17 comprising one or more contact points, in particular three contact points, of the hole 17 in order to determine, for each set of contact points, a potential characteristic point, in particular the centre, as a function of the spatial coordinates of the contact points of the set.
  • the industrial robot 2 is configured to determine the sets of the contact points of the alignment hole 17 as a function of the possible permutations of the contact points taken in groups of three points in order to determine a potential characteristic point for each set.
  • control software 1 is optionally programmed so that, when executed, the industrial robot 2 becomes configured to determine a reference system rotated as a function of the real reference system and by a predefined angle, for example by 45°, in order to determine (block 10) the characteristic point of the hole 17 as a function of the real reference system rotated (block 9); in particular, the reference system rotated is determined by rotating the real reference system by the predefined angle.
  • the robot 2 is configured to execute again the routine described with reference to block 7 in order to determine a further potential characteristic point of the hole 17 as a function of a new measurement of the coordinates of the contact points of the hole 17.
  • the robot 2 becomes configured to execute again the routine described with reference to block 8 in order to determine different potential characteristic points as a function of the different sets of contact points of the hole 17 comprising one or more contact points of the hole 17; in particular, each set comprising three contact points.
  • control software 1 of an industrial robot 2 is designed so that, when executed, the industrial robot 2 becomes configured to determine the characteristic point (block 10) of the hole 17, in particular the centre of the hole 17, as a function of the potential characteristic points determined (block 10).
  • control software 1 is programmed so that, when executed, the industrial robot 2 becomes configured to determine (block 10) the characteristic point of the hole 17, in particular the centre of the hole 17, by averaging the coordinates of the previously determined potential characteristic points.
  • Figure 3 shows a flowchart representing a process implementable by the control software 1 of an industrial robot 2; in particular, the process, when executed, causes the industrial robot 2 to become configured to determine (block 15) the spatial transformation model 16.
  • the control software 1 of an industrial robot 2 is designed so that, when executed, the industrial robot 2 becomes configured to form (block 12) different sets of characteristic points of alignment holes 17 made in the real piece 18 of the work area (block 12).
  • the control software 1 is designed so that, when executed, the industrial robot 2 becomes configured to determine, in particular receive from a mobile or fixed user terminal (not illustrated here), information indicative of the number of characteristic points of the alignment holes 17 to be considered in the subsequent steps (block 11); by way of example, the information indicative of the number of characteristic points is a minimum number of characteristic points that each set must comprise.
  • control software 1 is designed so that, when executed, the industrial robot 2 becomes configured to determine the sets of characteristic points as a function of the information indicative of the number, in particular the minimum number, of characteristic points of the alignment holes 17 that each set must contain; in particular, the robot 2 is configured to determine the sets of characteristic points so that each set of characteristic points comprises a number of characteristic points that is at least the minimum number of the characteristic points.
  • the robot 2 is configured to determine permutations of the characteristic points so that each permutation, therefore a set of characteristic points, comprises a number of characteristic points that is at least the minimum number of the characteristic points (block 13).
  • the industrial robot 2 is configured to form (block 12) each of the different sets of characteristic points of the alignment holes 17 by selecting (block 13), from a plurality of different characteristic points, a number of characteristic points for that set that are determined to satisfy a coverage condition of, or distribution on, the surface of the real piece 18.
  • the industrial robot 2 is configured to determine that a number (or a set) of characteristic points satisfy (in particular, when considered as a set) the surface coverage condition of the real piece 18 when they delimit a coverage region greater than, or equal to, a comparison coverage region.
  • the industrial robot 2 is configured to compute a coverage region delimited by different characteristic points based on the spatial coordinates of those characteristic points; wherein, for example, said coverage region is the area delimited by the characteristic points.
  • the industrial robot 2 is configured to determine that a number (or a set) of characteristic points satisfy the surface coverage condition of the real piece 18 when it is determined that they are positioned, or distributed, in different predefined sub-regions of the surface of the real piece 18; in particular, they are distributed so as to cover at least the different predefined sub-regions.
  • the surface coverage condition of the real piece 18 is satisfied when at least one characteristic point of the characteristic points under analysis is found in each sub-region of the predefined sub-regions.
  • the surface coverage condition of the real piece 18 is satisfied when the characteristic points are distributed over, or so as to cover, the entire surface of the real piece 18; in this way, not only the optimal solution is defined, but the consistency between the calculated model 16 and the real extension of the real piece 18 is guaranteed.
  • the error could be minimal, but would only be valid at the area affected, i.e. covered, by the characteristic points with which the set of characteristic points is defined; in this case, the transformation error could be high (and not acceptable) for the remaining part of the surface of the real piece 18.
  • control software 1 of an industrial robot 2 is preferably designed so that, when executed, the industrial robot 2 becomes configured to:
  • RMS root mean square error
  • control software 1 is also designed so that, when executed, the industrial robot 2 becomes configured to select one of the calculated spatial transformation models based on the alignment errors calculated and a predetermined selection criterion.
  • the control software 1 is also optionally designed so that, when executed, the industrial robot 2 becomes configured to determine (block 14) the spatial transformation model 16 by executing a best-fit algorithm.
  • the best-fit algorithm when executed, is designed to cause the industrial robot 2 to become configured to determine a rototranslation matrix representing the spatial transformation model 16.
  • the control software 1, in particular the best-fit algorithm is designed so that, when the industrial robot 2 is executed, it becomes configured to determine a covariance matrix of the alignment points as a function of the characteristic points of the alignment holes 17 and the characteristic points of corresponding alignment holes 17 in the virtual environment modelling.
  • the best-fit algorithm is designed so that, when the industrial robot 2 is executed, it becomes configured to determine a decomposition to the singular values (Singular Value Decomposition, SVD) of the covariance matrix of the alignment points in order to determine (block 15) the spatial transformation model 16, in particular characterized by the minimum possible alignment error of the determined alignment errors, as a function of the determined decomposition to the singular values.
  • the best-fit algorithm is designed so that, when executed, the industrial robot 2 becomes configured to determine the alignment error, calculated as a function of the decomposition to the singular values of the covariance matrix of the alignment points.
  • control software 1 is optionally programmed so that, when executed, the robot 2 becomes configured to calculate a scaling factor, i.e. an index of volume variation of the real piece 18, in order to improve the robustness of the spatial transformation model 16.
  • a scaling factor i.e. an index of volume variation of the real piece 18, in order to improve the robustness of the spatial transformation model 16.
  • the calculated scaling factor is used in order to obtain a spatial transformation consistent with the real reference system.
  • the control software 1 is programmed so that, when executed, the robot 2 becomes configured to calculate the spatial transformation model 16 via quaternions so that the spatial transformation model 16 is free of the gimbal lock problem.
  • the control software 1 of an industrial robot 2 is designed so that, when executed, the industrial robot 2 also becomes configured to determine (block 15) the spatial transformation model 16 as a function of the alignment errors calculated.
  • the spatial transformation model 16 is determined so that the alignment error calculated thereon is not greater than the alignment error calculated on a different spatial transformation model 16 determined. Therefore, the control software 1 is programmed so that, when executed, the industrial robot 2 becomes configured to exclude sets of characteristic points on which the calculated spatial transformation models are mostly affected by measurement noise; this is because it is likely that one or more contact points, from which the characteristic points of an excluded set derive, are affected by measurement error (block 15).
  • control software 1 of an industrial robot 2 is programmed so that, when executed, the industrial robot 2 becomes configured to autonomously determine the set of characteristic points with which the robot 2 determines the spatial transformation model 16 so as to exclude the spatial transformation models mostly affected by alignment error.
  • control software 1 is programmed so that, when executed, the industrial robot 2 becomes configured to exclude the characteristic points mostly affected by measurement error, which would worsen the performance of the transformation model 16 produced.
  • the Applicant has also observed that the use of several alignment holes offers the possibility to identify different rototranslation models calculated on subsets of holes 17 always different, therefore the present invention allows to converge to the solution with the least possible error.
  • the present invention allows to select the holes 17 automatically, without this operation, of selecting the holes 17, having to be carried out by the operator.
  • the control software 1 is programmed so that, when executed, the industrial robot 2 becomes configured to determine characteristic points of holes 17 without the need to employ external devices, such as laser probes or external contact probes, to perform measurements and without the need to employ external target devices such as reflective targets, tooling balls and others.
  • a further advantage that the control software 1 has is that, when executed, the industrial robot 2 becomes configured to autonomously calculate the scaling factor.
  • control software 1 makes it unnecessary to implement and integrate an interface software for integration with the controller of the industrial robot 2.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)

Abstract

Control software (1) of an industrial robot (2) loadable into, and executable by, computing resources of the industrial robot (2) so that, when executed, the industrial robot (2) becomes configured to carry out operations on real pieces in a work environment. The control software (1) is designed so that, when executed, the industrial robot (2) becomes configured to receive operation instructions to be carried out in the work environment and containing spatial coordinates, expressed in a virtual reference system, of a virtual environment modelling of the work environment and to carry out the operations instructed. In addition, the control software (1) is designed so that, when executed, the industrial robot (2) becomes configured to calculate a spatial transformation model (16) to align the virtual reference system of the work environment, in the virtual environment modelling, with a real reference system of the work environment in which the industrial robot (2) operates, in order to allow the latter to carry out the operations in the work area based on instructions received. In order to calculate (block 15) the spatial transformation model (16) between the virtual reference system and the real reference system, the control software (1) is also designed so that, when executed, the industrial robot (2) becomes configured to cause (block 4) a contact feeler (3) of the industrial robot (2) to interact with a real piece (18) in the work area to determine, in the real reference system, spatial coordinates of a number of contact points of surfaces of the real piece (18) at alignment holes made in the real piece (18) and determine (block 10) the spatial coordinates of at least one characteristic point, in particular the centre, of each alignment hole (17) based on the spatial coordinates of one or more of the contact points relative to the alignment hole (17). The control software (1) is also designed so that, when executed, the industrial robot (2) becomes configured to calculate (block 15) the spatial transformation model (16) between the virtual reference system and the real reference system based on the spatial coordinates of the at least one characteristic point of each alignment hole (17) and the spatial coordinates of the characteristic point of a corresponding alignment hole (17) in the virtual environment modelling of the real piece (18).

Description

SPATIAL REFERENCING FOR INDUSTRIAL COLLABORATIVE ROBOTS
CROSS-REFERENCE TO RELATED APPLICATIONS
This Patent Application claims priority from Italian Patent Application No. 102023000010827 filed on May 29, 2023, the entire disclosure of which is incorporated herein by reference.
TECHNICAL FIELD OF THE INVENTION
The present invention relates in general to the field of industrial robots, and in particular to the spatial referencing of collaborative industrial robots (Cobot, Collaborative Robot).
The present invention is advantageously usable on any robot provided with force sensors so that the robot is adapted to determine spatial information of a work environment in order to carry out operations with precision and to avoid collisions with other objects or people present in the work environment.
The present invention is advantageously usable in industrial production, in particular in the context of operations of picking and positioning (pick&place), palletizing and machine tool automation, in particular when precision of the order of millimetres is required; in scenarios envisaging the positioning of the robot in a work area and when the repetition of predefined movements of the robot itself is required.
STATE OF THE ART
As is known, known solutions for the spatial referencing of the robots, in particular a cobot, and numerical control machines (CNC, Computer Numerical Control), make available systems that involve using external target devices. Typically, known solutions are designed to cooperate with an external measurement system, the latter adapted to detect the spatial position of external target devices in the real reference system of a machining scheme; in particular, the external measurement system comprises a probe, a laser, a camera, sensors and/or other types of detection devices. The external target devices are placed near holes provided to accommodate such devices and are typically and alternatively reflective type target devices, in particular comprising a reflective surface, or physical type target devices, i.e. without a reflective surface.
In particular, the reflective type target devices are used in projection systems, in
I particular comprising lasers to search the target devices to detect their position. On the other hand, the physical target devices, typically called tooling balls, are used in robots or CNC machines that adopt a contact probe, for example a Renishaw probe, as a measuring instrument.
Additional known solutions make available systems that involve using artificial vision systems configured to detect the target devices present in order to measure their geometric characteristics; in particular, the artificial vision system is adapted to determine the spatial coordinates as a function of the geometric characteristics of the target devices.
In the case of cobots, the development of applications in which robots operating on a workpiece or the same workpiece do not occupy predetermined positions and are inserted and removed from a work area based on the needs of the production cycle typically requires off-line programming with the aid of simulation software in order to implement and manage these applications. In these cases, in order to make the transition from the simulation environment to the real work area, it is typically required to adopt an alignment system capable of guaranteeing the transformation of spatial coordinates from virtual to real, in particular with a degree of precision that is as high as possible. By way of example, an industrial robot such as the Universal Robot cobot, URlOe, makes available an elementary logic that generates a-reference characteristic (feature) based on the measurement of three alignment points; in order to obtain undistorted alignments, the measurement must take place in the absence of measurement noise and with the alignment points arranged in their respective nominal positions.
It is further known that KR 101 438 657 Bl discloses a method comprising a step in which at least three inspection holes are selected and made in the same positions of 3D data in a base tool. The described method further provides a step in which at least three different measurement units are arranged within the inspection holes; and a step in which calibration is performed while at least three robot movements are modified with respect to the ends of the measurement units such that each of the ends of the measurement units corresponds to the centre point of the robot tip. Furthermore, the method described provides for a step in which a teaching value measured in the calibration step is transmitted to a computer, and compared with a value of the data modelled by a simulation software, and in which the size of the error is verified. Wherein, the measurement unit comprises a connecting bar having a lower surface with an insertion pin to be arranged in the hole and comprises a plurality of magnets arranged to be separated by a predetermined gap from the insertion pin; and a body, one end of which is inserted into another insertion pin arranged on the upper surface of the connecting bar and the other end of which is provided with a removable measurement pin.
Further, WO 2022/104328 Al describes a method for calibrating a robotic cell; wherein, the method comprises localizing the positions of one or more cameras and components with respect to a position of the robotic arm using a common coordinate system, moving the robotic arm according to a movement scheme, and using cameras and sensors to determine the position of the robotic arm at multiple times during the movement. The method further comprises identifying a discrepancy in the position of the robotic arm between an expected position and the position determined in real time, as well as calculating, by means of an auto-calibrator, a compensation for the identified discrepancy, the auto -calibrator resolving the elements in the robotic cell system as a system. The method provides for modifying the actions of the robotic arm in real time during the movement based on the compensation of this discrepancy.
OBJECT AND SUMMARY OF THE INVENTION
The Applicant was able to observe that the known solutions are amenable to improvement.
In particular, the aforementioned projection systems present problems of optical nature, in particular due to the reflectivity of the target device that makes it difficult for the projection system (in particular, by the laser thereof) to localize and/or due to the external brightness that negatively affects the localization of the target device and the goodness of the measurement made, as well as further problems such as for example problems with the housing of the target device inside the holes that negatively affects the measurement (in particular by altering or distorting it) and problems related to the need to position and remove the target devices from the work area at the beginning and at the end of a production cycle.
With regard to the machine vision systems, the accuracy of the measurement of the geometric characteristics depends on the system used; in particular, in the case of robots or CNC machines, the accuracy of the measurement of the geometric characteristics depends on the accuracy of the positioning of the robot or CNC machine with respect to the position of the target device to be measured. In addition, the accuracy of the measurement of the geometric characteristics is also significantly influenced by further types of errors, for example parallax errors, errors in the positioning of the robot or the CNC machine and/or positioning errors with respect to the perpendicular to the target device.
In the case of contact probes, these solutions (including the solution described in KR 101 438 657 B 1) have, for example, problems of housing the target device inside the holes that negatively affect the measurement (in particular by altering or distorting it), are expensive as high precision is required and are subjected to certification processes to validate the accuracy of the measurements made, have problems related to the need to position and remove the target devices from the work area at the beginning and at the end of a production cycle and, in the case of Renishaw probes (typically of the wireless and battery-powered type), are negatively affected by the battery charge status of the contact probes themselves. For example, the solution presented in KR 101 438 657 B l does not provide for the calculation of the centre of the holes, but of the position of an external measuring unit, specially installed inside the hole; wherein, such a measuring unit could also be disengaged from the test holes and assume any position in space.
Furthermore, in relation to the URlOe cobot, taking into account the problems, it is required to develop robust alignment systems capable of solving situations in which the measurement of the alignment points can be affected, for example, by errors due to measurement noise or by spatial positions of the same that are not absolute, that is, different from the relative nominal values and often not falling within a permissible tolerance range.
Aim of the present invention is therefore to provide a control software for an industrial robot that solves at least in part the problems of the prior art. In addition, the aim of the present invention is therefore to make available a control software for an industrial robot that allows to determine spatial information of a hole without using further devices external to the robot. It is also an aim of the present invention to make available a control software for an industrial robot that allows to measure the centre of a hole, and not the position of external measuring units to be installed specifically in that hole.
According to the present invention a control software of an industrial robot is made available as claimed in the appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 shows a block diagram of a spatial referencing system for robots implementing the control software of an industrial robot according to the present invention.
Figure 2 shows a flowchart depicting a process implementable by the control software of an industrial robot according to an embodiment of the present invention.
Figure 3 illustrates a flowchart depicting a process implementable by the control software of an industrial robot according to another embodiment of the present invention.
DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION
The present invention will now be described in detail with reference to the accompanying figures to allow a skilled person to make and use it. Various modifications of the embodiment described will be immediately clear to the skilled person and the general principles disclosed can be applied to other embodiments and applications without departing from the protection scope of the present invention, as defined in the enclosed drawings. Therefore, the present invention shall not be limited to the shown and described embodiments, but it must be granted the widest protection scope in accordance with the features disclosed and claimed.
Unless otherwise defined, all the herein used technical and scientific terms have the same meaning commonly used by the ordinary skilled in the art of the present invention. In case of conflict, the present invention, including definitions provided, will be binding. Furthermore, the examples are provided for merely illustrative purposes and must not be regarded as limiting.
In particular, the block diagrams included in the enclosed figures and hereinafter described must not be considered as a representation of the structural features, i.e. construction limitations, but must be construed as a representation of functional features, namely inner properties of the devices and defined by the obtained effects i.e. functional limitations which can be implemented in different ways, so as to protect the functionality thereof (chance of functioning).
In order to ease the understanding of the herein described embodiments, reference will be made to some specific embodiments and a specific language will be used to describe them. The terminology used in the present document aims at describing only particular implementations, and is not intended to limit the scope of the present invention.
Figure 1 shows a block diagram of a spatial referencing system 20 for industrial robot 2, also referred to as a smart alignment system (SAS). The spatial referencing system 20 comprises computer resources (i.e., electronic processing resources not illustrated here) and a control software 1 of the industrial robot 2, in particular a multi-thread. software application. In particular, the spatial referencing system 20 is configured to cause a robot 2, in particular a cobot, to be spatially referenced. According to a preferred embodiment, the industrial robot 2 comprises a contact feeler 3, force sensors, in particular placed in one or more joints of the robot 2, and computer resources, in particular an electronic control unit, designed to execute the control software 1 of an industrial robot 2. In particular, the contact feeler 3 of the industrial robot 2 is a tip-shaped instrument. The industrial robot 2 is configured to carry the contact feeler 3 at a flange of the industrial robot 2 itself.
The control software 1 is loadable in, and executable by, computing resources of the industrial robot 2 to cause, when executed, the industrial robot 2 to become configured to carry out operations on real pieces in a work environment. In particular, the control software 1 is programmed to cause, when executed, the industrial robot 2 to become configured to execute multiple software modules, in particular thread, simultaneously. Each thread consists of several functional blocks, in particular routines.
The control software 1 is designed so that, when executed, the industrial robot 2 becomes configured to receive operation instructions, for example from a software module loaded into and executable from the robot's computational resources 2 or from an external device, for example from a mobile device (for example a smartphone, a phablet, a PC and the like) or from a fixed device (for example a desktop PC or other), adapted to transmit operation instructions to the robot 2, to be carried out in the work environment and containing spatial coordinates, expressed in a virtual reference system, of a virtual environment modelling of the real work environment and to carry out the operations instructed.
In particular, the spatial coordinates expressed in the virtual reference system are three-dimensional (3D) coordinates.
According to one aspect of the present invention, the instructions of operations to be carried out on real pieces comprise at least one list of operations to be performed; in particular, each operation of the list comprises a series of states of the operation, each associated with a set of spatial coordinates expressed in the virtual reference system. In detail, the set of spatial coordinates comprises, for each state of the operation, at least the spatial coordinates of the industrial robot 2 and of components of the industrial robot 2.
The control software 1 is designed to cause, when executed, the industrial robot 2 to become configured to calculate a spatial transformation model 16, here a rototranslation matrix, to align the virtual reference system of the work environment in the virtual environment modelling, with a real reference system of the work environment in which the industrial robot 2 operates, in order to allow the latter to carry out the operations in the work area based on instructions received.
The control software 1 of the robot 2, with the aim of calculating a spatial transformation model 16 between the virtual reference system and the real reference system, is also designed so that, when executed, the industrial robot 2 becomes configured to:
- cause (block 4) a contact feeler 3 of the industrial robot 2 to interact with a real piece 18 (that is, a workpiece or a piece on which it is wished to work) in the work area to determine, in the real reference system, spatial coordinates of a number of contact points of surfaces of the real piece 18, in the vicinity of (in detail, at) alignment holes 17 made in the real piece 18, with which the contact feeler 3 has come into contact; in which, the contact points are located on surfaces of the real piece 18 and the contact feeler 3 comes into contact directly (in detail, not by other means) with these surfaces;
- determine (block 10) the spatial coordinates of at least one characteristic point, in particular the centre, of each alignment hole 17 based on the spatial coordinates of one or more of the contact points relative to, in particular located on a surface of the real piece 18 delimiting (in detail laterally) the alignment hole 17; and
- calculate (block 15) the spatial transformation model 16 between the virtual reference system and the real reference system based on the spatial coordinates of the at least one characteristic point, in particular of the centre, of each alignment hole 17 and spatial coordinates of the characteristic point of a corresponding alignment hole 17 in the virtual environment modelling of the real piece.
In detail, the holes 17 are already present on the real piece 18, and the industrial robot 2 is configured to operate on the real piece 18, in order to reference itself spatially, without requiring further new holes 17 to be made specifically on the real piece 18. In more detail, the present invention allows the robot 2 to reference itself spatially without requiring a human operator to make further holes 17 on the real piece 18.
In particular, the control software 1 is also programmed so that, when executed, the industrial robot 2 becomes configured to cause a contact feeler 3 of the industrial robot 2 to interact with the real piece 18 in the work area so as to determine the contact points located on the internal surface (i.e., a surface defined by the real piece 18 and defining the perimeter of the alignment hole 17) or external (i.e., a surface of the real piece 18 different from the internal surface) to the alignment holes 17 made in the real piece 18 in the work area in the real reference system.
The control software 1 of an industrial robot 2 is therefore programmed so that, when executed, the industrial robot 2 becomes configured to carry out operations on real pieces in a work environment as a function of the operation instructions received and the spatial transformation model 16 calculated.
Figure 2 shows a flowchart representing a process implementable by the control software 1 of an industrial robot 2 in order to determine (block 10) the characteristic point of a hole 17, in particular the centre of the hole 17.
The control software 1 of an industrial robot 2 is designed so that, when executed, the industrial robot 2 becomes configured to:
- communicate with force sensors of the industrial robot 2 adapted to provide an output indicative of the fact that the contact feeler 3 of the industrial robot 2 has come into contact with the real piece 18 of the work area; and
- determine the spatial coordinates of the contact points in which the contact feeler 3 has come into contact with surfaces of the real piece 18 of the alignment holes 17 made in the real piece 18 of the work area in the real reference system based on the output provided by the force sensors.
The control software 1 is preferably designed so that, when executed, the industrial robot 2 becomes configured to move the contact feeler 3 based on the output of the force sensors; in particular, the industrial robot 2 becomes configured to determine direction and feed rate as a function of the output of the force sensors and control the contact feeler 3 to cause the latter to assume the determined feed rate and to assume the determined direction. In particular, the control software 1 is also designed so that, when executed, the robot 2 determines the feed rate as a function of the output of the force sensors and as a function of a predefined speed value as a function of calibration tests of the alignment system, so that the determined speed follows the predefined speed value.
The control software 1 is designed so that, when executed, the industrial robot 2 becomes configured to perform a series of actions and routines in order to determine the spatial coordinates of the characteristic point, in particular the centre, of an alignment hole 17.
In particular, the contact feeler 3 is positioned, for example manually, in the vicinity of an alignment hole 17, in particular of circular shape, (not illustrated here) of the real piece 18 of the work area (block 4), in particular it is inserted in the alignment hole 17 with a random inclination; moreover, according to an aspect of the present invention, the contact feeler 3 is inserted in the alignment hole 17 with a random tangent point on the perimeter of the alignment hole 17.
The industrial robot 2 is therefore preferably configured to control the movement of the contact feeler 3 so that it comes into contact with contact points of the real piece 18, in particular three points adjacent to the alignment hole 17, on surfaces external to the hole 17 itself, in order to determine a plane in which the alignment hole lie 17 (block 5). In particular, the control software 1 of an industrial robot 2 is designed so that, when executed, the industrial robot 2 becomes configured to determine the spatial coordinates of the contact points based on an output of the force sensors; in detail, the robot 2 becomes configured to determine the coordinates of a contact point when the output of the force sensors is indicative of the fact that the contact sensor 3 has come into contact with a contact point.
In particular, to determine the spatial coordinates of a characteristic point of an alignment hole 17, in particular the centre of the hole 17, the control software 1 of an industrial robot 2 is designed so that, when executed, the industrial robot 2 becomes configured to calculate the plane in which the alignment hole lies 17 based the spatial coordinates of the contact points with surfaces external to the hole itself 17. In addition, the control software 1 of an industrial robot 2, in particular the routine for calculating the lying plane described with reference to the block 5, is designed so that, when executed, the industrial robot 2 becomes configured to determine a direction in which to position, or an orientation that must be assumed by, the contact feeler 3 in such a way that the determined direction is, also approximately, parallel to the axis of the hole 17, therefore perpendicular to the plane in which the hole 17 itself lies, and control the contact feeler 3 to position it in the direction determined. In particular, the robot 2 is configured to determine the determined direction by calculating the normal to the plane in which the alignment hole lies 17 based on the contact points detected on the surface, in the vicinity of the hole 17 itself, and controls the contact feeler 3 to position it along the calculated normal. Subsequently, the robot 2 is configured to position the contact feeler 3 at an initial position inside the alignment hole 17, in particular a position in which it was previously inserted (block 6); in particular, the robot 2, when positioning the contact feeler 3, is configured to control the contact feeler 3 so that it assumes the previously determined direction.
To determine the spatial coordinates of a characteristic point of an alignment hole 17, in particular the centre of the hole 17, the control software 1 of an industrial robot 2, in particular the routine integrated in the control software 1 and referred to as a block with reference number 7 in Figure 2, is designed so that, when executed, the industrial robot 2 becomes configured to move the contact feeler 3 so that it comes into contact with contact points, in particular with two contact points, with surfaces inside the hole 17, in order to determine spatial coordinates of first contact points.
The control software 1 is conveniently designed so that, when executed, the industrial robot 2 also becomes configured to determine a first segment as a function of the spatial coordinates of the first contact points in order to determine a first representative point, in particular the midpoint, of the first segment determined.
Subsequently, the robot 2 is configured to position the contact feeler 3 at the first determined representative point; moreover, the industrial robot 2 is configured to move (block 7) the contact feeler 3 so that it comes into contact with two other contact points with surfaces inside the hole 17.
To this end, the control software 1 of an industrial robot 2, in particular the routine described with reference to block 7, is also designed so that, when executed, the industrial robot 2 becomes configured to determine a direction orthogonal to the first determined segment, move (block 7) the contact feeler 3 in the orthogonal direction so that it comes into contact with contact points with surfaces inside the hole 17 to determine spatial coordinates of second contact points of the hole 17, in particular two second contact points of the hole 17, and determine a second segment, based on the spatial coordinates of the second contact points of the hole 17, in order to determine a second representative point, i.e. a potential characteristic point, in particular the midpoint of the second segment determined.
The control software 1 of an industrial robot 2 is further programmed so that, when executed, the industrial robot 2 becomes configured to determine (block 10) the characteristic point of the hole 17, in particular the centre, based on the determined potential characteristic point, i.e. the midpoint of the second segment.
The control software 1 of an industrial robot 2 is optionally programmed so that, when executed, the robot 2 also becomes configured to re-execute the routine described with reference to block 5, in order to determine a new direction, in particular an axial direction to the hole 17 determined with greater accuracy than the previously determined direction, in which to position the contact feeler 3 and control the contact feeler 3 in order to position it in the new determined direction.
The control software 1 of an industrial robot 2 is conveniently programmed so that, when executed, the industrial robot 2 becomes configured to execute the routine described with reference to block 7 several times, in particular iteratively, in order to determine different contact points and different potential characteristic points to determine (block 10) the characteristic point of the hole 17, in particular the centre.
The control software 1 of an industrial robot 2, in particular a routine 8, is designed so that, when executed, the industrial robot 2 becomes configured to project the contact points on the plane in which the hole lies 17, for example, by means of orthogonal projection techniques.
In order to determine the spatial coordinates of a characteristic point of an alignment hole 17, in particular the centre, the control software 1 of an industrial robot 2, in particular a routine of the block 8 in Figure 2, is also preferably designed so that, when executed, the industrial robot 2 becomes configured to determine different sets of contact points of the hole 17 comprising one or more contact points, in particular three contact points, of the hole 17 in order to determine, for each set of contact points, a potential characteristic point, in particular the centre, as a function of the spatial coordinates of the contact points of the set. In particular, the industrial robot 2 is configured to determine the sets of the contact points of the alignment hole 17 as a function of the possible permutations of the contact points taken in groups of three points in order to determine a potential characteristic point for each set.
The control software 1 of an industrial robot 2, in particular a routine represented by a block 8 in Figure 2, is designed so that, when executed, the industrial robot 2 becomes configured to determine (block 10) the characteristic point of the hole 17 based on the potential characteristic points determined and a predetermined criterion for calculating characteristic points.
Furthermore, in order to determine the spatial coordinates of a characteristic point of an alignment hole 17, in particular the centre, the control software 1 is optionally programmed so that, when executed, the industrial robot 2 becomes configured to determine a reference system rotated as a function of the real reference system and by a predefined angle, for example by 45°, in order to determine (block 10) the characteristic point of the hole 17 as a function of the real reference system rotated (block 9); in particular, the reference system rotated is determined by rotating the real reference system by the predefined angle.
Subsequently, the robot 2 is configured to execute again the routine described with reference to block 7 in order to determine a further potential characteristic point of the hole 17 as a function of a new measurement of the coordinates of the contact points of the hole 17. Subsequently, the robot 2 becomes configured to execute again the routine described with reference to block 8 in order to determine different potential characteristic points as a function of the different sets of contact points of the hole 17 comprising one or more contact points of the hole 17; in particular, each set comprising three contact points.
Subsequently, the control software 1 of an industrial robot 2 is designed so that, when executed, the industrial robot 2 becomes configured to determine the characteristic point (block 10) of the hole 17, in particular the centre of the hole 17, as a function of the potential characteristic points determined (block 10). In particular, the control software 1 is programmed so that, when executed, the industrial robot 2 becomes configured to determine (block 10) the characteristic point of the hole 17, in particular the centre of the hole 17, by averaging the coordinates of the previously determined potential characteristic points.
Figure 3 shows a flowchart representing a process implementable by the control software 1 of an industrial robot 2; in particular, the process, when executed, causes the industrial robot 2 to become configured to determine (block 15) the spatial transformation model 16.
In particular, in order to calculate the spatial transformation model 16 between the virtual reference system and the real reference system, the control software 1 of an industrial robot 2 is designed so that, when executed, the industrial robot 2 becomes configured to form (block 12) different sets of characteristic points of alignment holes 17 made in the real piece 18 of the work area (block 12). In particular, the control software 1 is designed so that, when executed, the industrial robot 2 becomes configured to determine, in particular receive from a mobile or fixed user terminal (not illustrated here), information indicative of the number of characteristic points of the alignment holes 17 to be considered in the subsequent steps (block 11); by way of example, the information indicative of the number of characteristic points is a minimum number of characteristic points that each set must comprise.
Furthermore, the control software 1 is designed so that, when executed, the industrial robot 2 becomes configured to determine the sets of characteristic points as a function of the information indicative of the number, in particular the minimum number, of characteristic points of the alignment holes 17 that each set must contain; in particular, the robot 2 is configured to determine the sets of characteristic points so that each set of characteristic points comprises a number of characteristic points that is at least the minimum number of the characteristic points. By way of example, the robot 2 is configured to determine permutations of the characteristic points so that each permutation, therefore a set of characteristic points, comprises a number of characteristic points that is at least the minimum number of the characteristic points (block 13).
Furthermore, according to one aspect of the present invention, the industrial robot 2 is configured to form (block 12) each of the different sets of characteristic points of the alignment holes 17 by selecting (block 13), from a plurality of different characteristic points, a number of characteristic points for that set that are determined to satisfy a coverage condition of, or distribution on, the surface of the real piece 18.
In detail, the industrial robot 2 is configured to determine that a number (or a set) of characteristic points satisfy (in particular, when considered as a set) the surface coverage condition of the real piece 18 when they delimit a coverage region greater than, or equal to, a comparison coverage region. In particular, the industrial robot 2 is configured to compute a coverage region delimited by different characteristic points based on the spatial coordinates of those characteristic points; wherein, for example, said coverage region is the area delimited by the characteristic points.
Alternatively, the industrial robot 2 is configured to determine that a number (or a set) of characteristic points satisfy the surface coverage condition of the real piece 18 when it is determined that they are positioned, or distributed, in different predefined sub-regions of the surface of the real piece 18; in particular, they are distributed so as to cover at least the different predefined sub-regions. In particular, the surface coverage condition of the real piece 18 is satisfied when at least one characteristic point of the characteristic points under analysis is found in each sub-region of the predefined sub-regions. Conveniently, the surface coverage condition of the real piece 18 is satisfied when the characteristic points are distributed over, or so as to cover, the entire surface of the real piece 18; in this way, not only the optimal solution is defined, but the consistency between the calculated model 16 and the real extension of the real piece 18 is guaranteed.
Otherwise, if a set comprised characteristic points of a single portion of the surface of the real piece 18, the error could be minimal, but would only be valid at the area affected, i.e. covered, by the characteristic points with which the set of characteristic points is defined; in this case, the transformation error could be high (and not acceptable) for the remaining part of the surface of the real piece 18.
Subsequently, the control software 1 of an industrial robot 2 is preferably designed so that, when executed, the industrial robot 2 becomes configured to:
- calculate (block 14), for each set of characteristic points of alignment holes 17, a spatial transformation model 16 based on the spatial coordinates of the characteristic points of the alignment holes 17 of the set and the spatial coordinates of characteristic points of corresponding alignment holes 17 in the virtual environment modelling of the real piece 18;
- calculate, for each spatial transformation model 16, an alignment error between the virtual reference system and the real reference system based on a predetermined evaluation metric of the alignment; in particular, a root mean square error (RMS) and
- calculate the spatial transformation model 16 between the virtual reference system and the real reference system based on the calculated spatial transformation models and the alignment errors calculated.
In particular, to calculate the spatial transformation model 16 between the virtual reference system and the real reference system based on the calculated spatial transformation models and the alignment errors calculated, the control software 1 is also designed so that, when executed, the industrial robot 2 becomes configured to select one of the calculated spatial transformation models based on the alignment errors calculated and a predetermined selection criterion.
The control software 1 is also optionally designed so that, when executed, the industrial robot 2 becomes configured to determine (block 14) the spatial transformation model 16 by executing a best-fit algorithm.
In particular, the best-fit algorithm, when executed, is designed to cause the industrial robot 2 to become configured to determine a rototranslation matrix representing the spatial transformation model 16. In particular, the control software 1, in particular the best-fit algorithm, is designed so that, when the industrial robot 2 is executed, it becomes configured to determine a covariance matrix of the alignment points as a function of the characteristic points of the alignment holes 17 and the characteristic points of corresponding alignment holes 17 in the virtual environment modelling.
In addition, the best-fit algorithm is designed so that, when the industrial robot 2 is executed, it becomes configured to determine a decomposition to the singular values (Singular Value Decomposition, SVD) of the covariance matrix of the alignment points in order to determine (block 15) the spatial transformation model 16, in particular characterized by the minimum possible alignment error of the determined alignment errors, as a function of the determined decomposition to the singular values. In particular, the best-fit algorithm is designed so that, when executed, the industrial robot 2 becomes configured to determine the alignment error, calculated as a function of the decomposition to the singular values of the covariance matrix of the alignment points.
Furthermore, the control software 1 is optionally programmed so that, when executed, the robot 2 becomes configured to calculate a scaling factor, i.e. an index of volume variation of the real piece 18, in order to improve the robustness of the spatial transformation model 16. In particular, the calculated scaling factor is used in order to obtain a spatial transformation consistent with the real reference system. The control software 1 is programmed so that, when executed, the robot 2 becomes configured to calculate the spatial transformation model 16 via quaternions so that the spatial transformation model 16 is free of the gimbal lock problem.
The control software 1 of an industrial robot 2 is designed so that, when executed, the industrial robot 2 also becomes configured to determine (block 15) the spatial transformation model 16 as a function of the alignment errors calculated. In particular, the spatial transformation model 16 is determined so that the alignment error calculated thereon is not greater than the alignment error calculated on a different spatial transformation model 16 determined. Therefore, the control software 1 is programmed so that, when executed, the industrial robot 2 becomes configured to exclude sets of characteristic points on which the calculated spatial transformation models are mostly affected by measurement noise; this is because it is likely that one or more contact points, from which the characteristic points of an excluded set derive, are affected by measurement error (block 15).
Based on what has been previously described, the advantages which the present invention allows to obtain are clear.
In particular, the control software 1 of an industrial robot 2 is programmed so that, when executed, the industrial robot 2 becomes configured to autonomously determine the set of characteristic points with which the robot 2 determines the spatial transformation model 16 so as to exclude the spatial transformation models mostly affected by alignment error.
Consequently, the control software 1 is programmed so that, when executed, the industrial robot 2 becomes configured to exclude the characteristic points mostly affected by measurement error, which would worsen the performance of the transformation model 16 produced. In detail, the Applicant has also observed that the use of several alignment holes offers the possibility to identify different rototranslation models calculated on subsets of holes 17 always different, therefore the present invention allows to converge to the solution with the least possible error.
Furthermore, the present invention allows to select the holes 17 automatically, without this operation, of selecting the holes 17, having to be carried out by the operator. In addition, the control software 1 is programmed so that, when executed, the industrial robot 2 becomes configured to determine characteristic points of holes 17 without the need to employ external devices, such as laser probes or external contact probes, to perform measurements and without the need to employ external target devices such as reflective targets, tooling balls and others. Furthermore, a further advantage that the control software 1 has is that, when executed, the industrial robot 2 becomes configured to autonomously calculate the scaling factor.
In addition, the control software 1 makes it unnecessary to implement and integrate an interface software for integration with the controller of the industrial robot 2.

Claims

1. Control software (1) for an industrial robot (2); the control software (1) is loadable in, and executable by, computing resources of the industrial robot (2) so that, when executed, the industrial robot (2) becomes configured to carry out operations on real pieces in a work environment; the control software (1) is designed so that, when executed, the industrial robot (2) becomes configured to receive operation instructions to be carried out in the work environment and containing spatial coordinates, expressed in a virtual reference system, of a virtual environment modelling of the work environment and to carry out the operations instructed; the control software (1) is also designed so that, when executed, the industrial robot (2) becomes configured to calculate a spatial transformation model (16) to align the virtual reference system of the work environment, in the virtual environment modelling, with a real reference system of the work environment in which the industrial robot (2) operates, in order to allow the latter to carry out operations in a work area based on instructions received; with the aim of calculating the spatial transformation model (16) between the virtual reference system and the real reference system, the control software (1) is also designed so that, when executed, the industrial robot (2) becomes configured to:
- cause (block 4) a contact feeler (3) of the industrial robot (2) to interact with a real piece (18) in the work area to determine, in the real reference system, spatial coordinates of a number of contact points of surfaces of the real piece (18) at alignment holes (17) made in the real piece (18);
- determine (block 10) the spatial coordinates of at least one characteristic point, in particular the centre, of each alignment hole (17) based on the spatial coordinates of one or more of the contact points relative to the alignment hole (17); and
- calculate (block 15) the spatial transformation model (16) between the virtual reference system and the real reference system based on the spatial coordinates of the at least one characteristic point of each alignment hole (17) and spatial coordinates of the characteristic point of a corresponding alignment hole (17) in the virtual environment modelling of the real piece (18).
2. The control software (1) of an industrial robot (2) according to claim 1, wherein, in order to calculate the spatial transformation model (16) between the virtual reference system and the real reference system, the control software (1) is further designed so that, when executed, the industrial robot (2) becomes configured to:
- form (block 12) different sets of characteristic points of the alignment holes (17);
- calculate (block 14), for each set of characteristic points of alignment holes (17), a spatial transformation model (16) based on the spatial coordinates of the characteristic points of the alignment holes (17) of the set and the spatial coordinates of characteristic points of corresponding alignment holes (17) in the virtual environment modelling of the real piece (18);
- calculate, for each spatial transformation model (16), an alignment error between the virtual reference system and the real reference system based on a predetermined evaluation metric of the alignment; and
- determine (block 15) the spatial transformation model (16) between the virtual reference system and the real reference system based on the calculated spatial transformation models (16) and the alignment errors calculated.
3. The control software (1) of an industrial robot (2) according to claim 2, wherein, in order to calculate (block 15) the spatial transformation model (16) between the virtual reference system and the real reference system based on the calculated spatial transformation models (16) and the alignment errors calculated, the control software (1) is also designed so that, when executed, the industrial robot (2) becomes configured to select (block 15) one of the calculated spatial transformation models (16) based on the alignment errors calculated and a predetermined selection criterion.
4. The control software (1) of an industrial robot (2) according to claim 2 or 3, and further designed to cause, when executed, the industrial robot (2) to become configured to form (block 12) each of the different sets of characteristic points of the alignment holes (17) by selecting (block 13), from a plurality of different characteristic points, a number of characteristic points for that set that are determined to satisfy a surface coverage condition of the real piece (18).
5. The control software (1) of an industrial robot (2) according to any one of the preceding claims, wherein, in order to determine the spatial coordinates of a characteristic point of an alignment hole (17), the control software (1) of an industrial robot (2) is designed so that, when executed, the industrial robot (2) becomes configured to:
- calculate a plane on which the alignment hole lies (17) as a function of the spatial coordinates of the points of contact with the surface external to the hole (17), in the vicinity of the same alignment hole (17);
- determine (block 5) a direction in which to position the contact feeler (3) so that the determined direction is axial to the hole (17), therefore orthogonal to the plane on which the hole lies (17) and control the contact feeler (3) to position it in the direction determined.
6. The control software (1) of an industrial robot (2) according to any one of the preceding claims, wherein, in order to determine the spatial coordinates of a characteristic point of an alignment hole (17), the control software (1) of an industrial robot (2) is designed so that, when executed, the industrial robot (2) becomes configured to:
- move (block 7) the contact feeler (3) so that it comes into contact with contact points, in particular with two contact points, with surfaces inside the hole (17), in order to determine spatial coordinates of first contact points and determine a first segment as a function the spatial coordinates of the first contact points in order to determine a first representative point, in particular the midpoint, of the first segment determined;
- determine a direction orthogonal to the first segment determined, move (block 7) the contact feeler (3) in the direction determined so that it comes into contact with contact points with surfaces inside the hole (17) to determine spatial coordinates of second contact points of the hole (17), determine a second segment as a function of the spatial coordinates of the second contact points of the hole (17) in order to determine a potential characteristic point, in particular the midpoint of the second segment determined; and
- determine (block 10) the characteristic point of the hole (17), in particular the centre, as a function of the potential characteristic point determined.
7. The control software (1) of an industrial robot (2) according to claim 5, wherein, in order to determine the spatial coordinates of a characteristic point of an alignment hole (17), the control software (1) of an industrial robot (2) is designed so that, when executed, the industrial robot (2) becomes configured to:
- determine (block 8) different sets of the contact points of the alignment hole (17) comprising one or more contact points of the hole (17) in order to determine, for each set of contact points, a potential characteristic point, as a function of the spatial coordinates of the contact points of the set; and
- determine (block 10) the characteristic point of the hole (17) as a function of the potential characteristic points determined and a predetermined criterion for calculating characteristic points.
8. The control software (1) of an industrial robot (2) according to any one of the preceding claims, wherein, in order to determine the spatial coordinates of a characteristic point of an alignment hole (17), the control software (1) of an industrial robot (2) is designed so that, when executed, the industrial robot (2) becomes configured to determine a reference system rotated as a function of the real reference system and a predefined angle in order to determine (block 10) the characteristic point of the hole (17) as a function of the real reference system rotated.
9. The control software (1) of an industrial robot (2) according to any one of the preceding claims, wherein the control software (1) of an industrial robot (2) is designed so that, when executed, the industrial robot (2) becomes configured to:
- communicate with force sensors of the industrial robot (2) adapted to provide an output indicative of the fact that the contact feeler (3) of the industrial robot (2) has come into contact with the real piece (18) of the work area; and
- determine the spatial coordinates of the contact points in which the contact feeler (3) has come into contact with surfaces of the real piece (18) of the alignment holes (17) made in the real piece (18) of the work area in the real reference system as a function of the output provided by the force sensors.
10. The industrial robot (2) comprising a contact feeler (3), force sensors and computing resources designed to execute a control software (1) of an industrial robot (2) so that the industrial robot (2) becomes configured to operate according to any one of the claims 1-9.
PCT/IB2024/055163 2023-05-29 2024-05-28 Spatial referencing for industrial collaborative robots Ceased WO2024246744A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IT102023000010827 2023-05-29
IT102023000010827A IT202300010827A1 (en) 2023-05-29 2023-05-29 SPATIAL REFERENCING FOR INDUSTRIAL COLLABORATIVE ROBOTS

Publications (1)

Publication Number Publication Date
WO2024246744A1 true WO2024246744A1 (en) 2024-12-05

Family

ID=87801580

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2024/055163 Ceased WO2024246744A1 (en) 2023-05-29 2024-05-28 Spatial referencing for industrial collaborative robots

Country Status (2)

Country Link
IT (1) IT202300010827A1 (en)
WO (1) WO2024246744A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101438657B1 (en) * 2013-12-16 2014-09-12 주식회사일신테크 Method of measuring industrial robot jig
EP3705239A1 (en) * 2019-03-01 2020-09-09 Arrival Limited Calibration system and method for robotic cells
WO2022104328A1 (en) * 2020-11-10 2022-05-19 Bright Machines, Inc. Method and system for improved auto-calibration of a robotic cell
WO2022256610A1 (en) * 2021-06-03 2022-12-08 Intrinsic Innovation Llc Robotic workspace introspection via force feedback

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101438657B1 (en) * 2013-12-16 2014-09-12 주식회사일신테크 Method of measuring industrial robot jig
EP3705239A1 (en) * 2019-03-01 2020-09-09 Arrival Limited Calibration system and method for robotic cells
WO2022104328A1 (en) * 2020-11-10 2022-05-19 Bright Machines, Inc. Method and system for improved auto-calibration of a robotic cell
WO2022256610A1 (en) * 2021-06-03 2022-12-08 Intrinsic Innovation Llc Robotic workspace introspection via force feedback

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANCUTA PAUL-NICOLAE ET AL: "STUDY ON IMPROVING THE MEASUREMENT ACCURACY BY TOUCH PROBE WITH A COBOTIC MULTI-APPLICATION PLATFORM", INTERNATIONAL JOURNAL OF MECHATRONICS AND APPLIED MECHANICS, no. 11, 31 December 2022 (2022-12-31), Bucharest, pages 243 - 248, XP093111604, ISSN: 2559-4397 *
TIAN WEI ET AL: "Determination of optimal samples for robot calibration based on error similarity", CHINESE JOURNAL OF AERONAUTICS, vol. 28, no. 3, 2 April 2015 (2015-04-02), NL, pages 946 - 953, XP093206434, ISSN: 1000-9361, DOI: 10.1016/j.cja.2015.03.003 *

Also Published As

Publication number Publication date
IT202300010827A1 (en) 2024-11-29

Similar Documents

Publication Publication Date Title
Santolaria et al. Laser tracker-based kinematic parameter calibration of industrial robots by improved CPA method and active retroreflector
US9506736B2 (en) Measurement system
KR101200961B1 (en) Parallel kinematic machine, calibration method of parallel kinematic machine, and calibration program product
US6941192B2 (en) Robot machining tool position and orientation calibration
Zargarbashi et al. Single setup estimation of a five-axis machine tool eight link errors by programmed end point constraint and on the fly measurement with Capball sensor
Lee et al. Industrial robot calibration method using denavit—Hatenberg parameters
Zhong et al. A new method for autonomous robot calibration
CN114670192B (en) Calibration method and device for robot workpiece coordinate system, storage medium and terminal
US20130282328A1 (en) Error measurment device and error measurement method
CN108748159A (en) A kind of mechanical arm tool coordinates system self-calibrating method
CN107053216A (en) The automatic calibration method and system of robot and end effector
US12311542B2 (en) Robot system
EP3693697B1 (en) Method for calibrating a 3d measurement arrangement and 3d measurement arrangement
CN116038721B (en) A hand-eye calibration method and system without kinematics participation
CN117182931B (en) Calibration method and system for calibration data of mechanical arm and storage medium
Zimmermann et al. Self-calibration of rotary axis and linear axes error motions by an automated on-machine probing test cycle
CN113319855A (en) Gravity compensation method under compliance control mode of multi-joint diagnosis and treatment robot
Mustafa et al. A geometrical approach for online error compensation of industrial manipulators
Wang et al. Real-time laser tracker compensation of a 3-axis positioning system—dynamic accuracy characterization
CN113325430A (en) Method, device and equipment for measuring mounting precision of end effector and storage medium
Liska et al. Iterative refinement of hand-eye calibration
Chiwande et al. Comparative need analysis of industrial robot calibration methodologies
WO2024246744A1 (en) Spatial referencing for industrial collaborative robots
CN109968347B (en) Zero calibration method of seven-axis robot
Müller et al. Best-fit method for the calibration of 3D objects using a laser line sensor mounted on the flange of an articulated robot

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24736518

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE