Method for normalizing the positioning of an object relative to a robot

The method improves robotic object positioning by calculating transformation matrices through random position generation and iterative alignment, addressing uncertainties in hand-eye calibration and reducing the need for complex calibration, thereby enhancing accuracy and reliability.

WO2026003007A1PCT designated stage Publication Date: 2026-01-02INBOLT
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/067770
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-28
Filing Date
2025-06-24
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

Existing robotic systems face challenges in achieving precise and repeatable object positioning due to uncertainties in hand-eye calibration and the need for complex calibration procedures, despite the use of advanced measurement tools like high-resolution cameras and laser scanners.

Method used

A method that standardizes object positioning by calculating transformation matrices using a predetermined reference matrix and iterative alignment techniques, including a random position generation and matrix estimation, to minimize uncertainties and improve repeatability.

Benefits of technology

This method enhances the accuracy and reliability of object positioning by reducing uncertainties, eliminating the need for complex calibration procedures, and ensuring precise and repeatable actions on the object.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025067770_02012026_PF_FP_ABST
    Figure EP2025067770_02012026_PF_FP_ABST
Patent Text Reader

Abstract

The present document relates to a method for normalizing the positioning of an object relative to a robot, said robot comprising a base and a robotic arm on which an image-capturing device is mounted at one end of the robotic arm, the method comprising: obtaining (EA) a plurality of predetermined data, generating (EB) a random position Prandom, moving (EC) the base or the object to said random position Prandom so that the assembly is in a first configuration, estimating (ED) a first transformation matrix of the object to the base Mbase_model_1, calculating (EE) a transformation matrix of the base to the end of the robotic arm Mbase_end_expected, such that the assembly is in a second configuration, moving (EF) the robotic arm such that the assembly is in the second configuration, and estimating (EG) a second transformation matrix of the object to the base Mbase_model_2 in the second configuration.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] METHOD FOR STANDARDIZING THE POSITIONING OF AN OBJECT RELATIVE TO A ROBOT

[0002] technical field

[0003] [1] This document relates to a method for normalizing the positioning of an object relative to a robot.

[0004] Previous technique

[0005] [2] In the field of robotics, determining the positioning of an object in space and on which an action is to be performed is subject to a certain precision, or repeatability, which depends on various measurement conditions such as lighting conditions and the relative positioning between a measurement system (for example, an image-taking device such as a camera) and the object.

[0006] [3] Indeed, the measuring tool is usually positioned on a robotic arm, which creates uncertainty related to this positioning.

[0007] [4] Existing solutions for increasing the positioning accuracy of systems comprising a robotic arm and a mounted camera focus on minimizing calibration inaccuracies between the robotic arm and the camera, called hand-eye calibration.

[0008] [5] Hand-eye calibration is a process that aims to determine the geometric relationship between the camera and the robotic arm in order to correct positioning errors.

[0009] [6] This calibration is generally performed by taking precise measurements and using image processing algorithms to estimate the transformation parameters between the camera and the robotic arm. However, despite efforts to minimize calibration inaccuracies, some uncertainty always remains, affecting the measured or observed positioning of the object.

[0010] [7] Other approaches involve using more advanced measurement tools, such as high-resolution cameras or laser scanners. These tools allow for obtaining more precise and detailed data on the object being measured.

[0011] [8] High-resolution cameras offer better image resolution, enabling the capture of more detail and reducing measurement errors.

[0012] [9] Laser scanners, on the other hand, use laser beams to scan the surface of the object and obtain accurate three-dimensional information.

[0013]

[0010] These advanced measuring tools are often used in applications requiring high precision. Although these tools improve measurement accuracy, they do not completely solve the problem of object positioning repeatability.

[0014]

[0011] Moreover, these solutions require the user to perform specific, often lengthy, calibration procedures.

[0015]

[0012] There is therefore a need to make the positioning of an object in space repeatable for robotic systems. Summary

[0016]

[0013] To this end, the present document proposes a method for normalizing the positioning of an object relative to a robot, the robot and the object forming a single unit, said robot comprising a base and a robotic arm on which an image-capturing device is mounted at one end of the robotic arm, the method comprising:

[0017] (a) obtaining a plurality of predetermined data comprising a predetermined transformation matrix of the object with respect to the imaging device, called the reference matrix Mcam_model_ref, and a transformation matrix of the end of the robotic arm with respect to the imaging device M e nd_cam,

[0018] (b) generation of a random Prandom position,

[0019] (c) moving the base or object to said random Prandom position so that the assembly is in a first configuration,

[0020] (d) estimation of a first transformation matrix of the object at the basis Mbase_odei_i in the first configuration of the set,

[0021] (e) from M C a _ odei_ref and Mbase_modei_i, calculation of a transformation matrix from the base to the end of the robotic arm, called the expected matrix Mbase_end_ex P ected, so that the whole is in a second configuration, the transformation matrix of the object to the image capture device in the second configuration corresponding to M C a _ odei_ref,

[0022] (f) moving the robotic arm so that the assembly is in the second configuration, and

[0023] (g) estimation of a second transformation matrix of the object at the basis Mbase_odei_2 in the second configuration.

[0024]

[0014] By transformation matrix, we mean affine transformation matrices performing linear transformations which may correspond for example to one or a combination of the following operations: translation, rotation, scaling, reflection, shear.

[0025]

[0015] By transformation matrix from a first element to a second element, we mean a transformation matrix from the position of the first element to the position of the second element.

[0026]

[0016] The transformation matrices may include a rotation submatrix and a translation vector.

[0027]

[0017] More specifically, the transformation matrices can be 4 x 4 dimension matrices, the rotation submatrix can be formed by the first three rows and the first three columns, and the translation vector can be formed by the fourth column.

[0028]

[0018] The first three components of the translation vector (on the first three lines) can correspond to translations along three axes X, Y, Z of a three-dimensional coordinate system. The fourth component of the translation vector (on the fourth line) can correspond to scaling.

[0029]

[0019] It is to be understood that the position of the image-capturing device corresponds to the position of a lens of the image-capturing device.

[0020] The first configuration of the assembly corresponds to a configuration in which the object is at a first relative position of the robot (its base more specifically).

[0030]

[0021] Mend_cam can also be calculated / determined using a hand-eye calibration at the initialization of the process.

[0031]

[0022] The method allows for precise and repeatable positioning of the object in space, more specifically relative to the robot. Indeed, the position of the object relative to the robot (its base in particular) is a function of several transformations:

[0032] An affine transformation from the base of the robot to the end of the robotic arm;

[0033] A fine transformation of the end of the robotic arm into the image capture device;

[0034] A refined transformation of the image capture device into an object.

[0035]

[0023] If we consider the uncertainties of the aforementioned transformations, we find that:

[0036] The uncertainty associated with the affine transformation from the robot's base to the end of the robotic arm is lower than the uncertainties of the other two affine transformations, given that the robot exhibits a supposedly satisfactory accuracy. Furthermore, this uncertainty is independent of the robot's position or configuration;

[0037] The uncertainty associated with the affine transformation of the robotic arm's tip into the image-capture device is fixed, because it is related to M e nd_cam which is predetermined,

[0038] Only the uncertainty related to the affine transformation of the image capture device to the object is parameterizable / controllable, this uncertainty depending on the configuration of the whole.

[0039]

[0024] The process therefore makes it possible to reduce the uncertainty linked to the affine transformation of the image capture device to the object in order to have a second transformation matrix of the object to the base Mbase_modei_2 that is as accurate as possible.

[0040]

[0025] This standardization of positioning improves the accuracy and reliability of actions performed on the object using the robotic arm and the image capture device. The method eliminates the need for complex calibration procedures, resulting in an overall improvement in performance and efficiency (i.e., a reduction in overall uncertainty).

[0041]

[0026] In other words, the process makes it possible to counterbalance the uncertainty related to M e nd_cam (which may be from a hand-eye calibration). The M matrix base model 2represents an accurate estimate of the object's position in the final configuration. By integrating successive transformations and reducing uncertainties related to intermediate steps, M base model 2 allows for compensating for initial inaccuracies, particularly those due to hand-eye calibration (M end _ cam ). This matrix thus constitutes a reliable reference to guide the robotic arm in tasks requiring high precision, while ensuring optimal repeatability.

[0042]

[0027] Mbase_end_expected can be equal to the product of Mbase_model_1, Mcam_model_ref 1 and Mend_cam'L

[0043]

[0028] In other words, Mbase_end_expected = Mbase_model_1 * Mcam_model_ref 1 * Mend_cam'^.

[0044]

[0029] Mcam_model_ref'1 corresponds to the inverse matrix of M C am_modei_ref.

[0030] In other words, M C am_modei_ref 1corresponds to a predetermined transformation matrix Mmodei_cam_ref of the object to the image capture device.

[0045]

[0031] M e nd_cam' 1 corresponds to the inverse matrix of M e nd_cam. In other words, M e nd_cam -1 corresponds to a matrix M C am_end of transformation of the image capture device at the end of the robotic arm.

[0046]

[0032] This approach allows for a precise and consistent calculation of Mbase_end_expected, taking into account the geometric relationships between the robotic arm, the image capture device and the object itself.

[0047]

[0033] The image capture device may be capable of capturing three-dimensional images.

[0048]

[0034] Thus, the device is capable of collecting information not only on the two-dimensional aspects of objects, but also on their three-dimensional structure.

[0049]

[0035] This improves the accuracy of object positioning in space, as three-dimensional information can be used to better estimate the object's position and orientation relative to the robotic arm. This feature enhances the process's ability to achieve precise and repeatable object positioning.

[0050]

[0036] For example, three-dimensional images can be point clouds.

[0051]

[0037] By capturing point clouds, the image capture device can provide more detailed and accurate data on the geometry and shape of objects.

[0052]

[0038] The plurality of predetermined data may further include a three-dimensional CAD modeled image of the object, and in which the estimation of Mbase_modei_i and / or the estimation of Mbase_modei_2 is carried out by comparison between a current three-dimensional image of the object captured by the image-taking device and a three-dimensional CAD modeled image of the object.

[0053]

[0039] By three-dimensional CAD modeled image, we mean a detailed digital representation created using Computer-Aided Design (CAD) software.

[0054]

[0040] This comparison allows for the accurate estimation of Mbase_modei_i during the initial configuration of the assembly (first configuration), as well as Mbase_modei_2 during the subsequent configuration of the assembly (second configuration). By using image comparison and analysis techniques, the method can detect differences between the modeled image and the actual image. This helps improve the accuracy and reliability of object positioning, ensuring that it is optimally aligned with the robot's base.

[0055]

[0041] The comparison between the current three-dimensional image of the object captured by the image-taking device and the three-dimensional CAD modeled image of the object can be performed by an ICP algorithm.

[0056]

[0042] The ICP (Iterative Closest Point) algorithm allows for the alignment and estimation of the transformation between two sets of three-dimensional points. Using the ICP algorithm, the process can find the best match between the points of the current three-dimensional image of the object and the points of the CAD model of the object (the three-dimensional CAD modeled image). This makes it possible to accurately estimate the position of the object relative to the robot, taking into account possible deformations and variations between the current image and the CAD modeled image.

[0043] The comparison between the current three-dimensional image of the object captured by the imaging device and the three-dimensional CAD modeled image of the object can be performed by a LINEMOD algorithm.

[0057]

[0044] The LINEMOD algorithm (“Local Image Descriptor Matching”) is an image matching method that uses local descriptors to identify and align objects.

[0058]

[0045] Using the LINEMOD algorithm, the method can extract local descriptors and a 2D color image from the current three-dimensional image of the object and the object's CAD model. These descriptors represent distinctive features of the object, such as contours, corners, or textures. The LINEMOD algorithm then compares the extracted descriptors and the 2D color image to find the most similar matches between the current image and the CAD model.

[0059]

[0046] By using this image matching method, the process can accurately estimate the object's position relative to the robot, taking into account the object's visual characteristics. This improves the accuracy and reliability of object positioning by ensuring optimal alignment between the real object (the current three-dimensional image) and its virtual representation (the three-dimensional CAD model).

[0060]

[0047] The use of the LINEMOD algorithm also offers advantages in terms of robustness and processing speed. It is capable of handling variations in lighting, perspective, and object pose, making it suitable for real-world and dynamic environments. Furthermore, the LINEMOD algorithm is efficient in terms of computation time, enabling rapid execution of the comparison process between the current image and the CAD model.

[0061]

[0048] The process may further include: (h) calculation of a matrix Mditf equal to the product of Mbase_modei_i St Mbase_model_2'1 .

[0062]

[0049] By product between two matrices, we mean the matrix product between said two matrices.

[0063]

[0050] Mditf represents the difference between the estimates of step (d) and step (g) (Le. between Mbase_modei_i and Mbase_model_2).

[0064]

[0051] In the case where the two matrices Mbase_modei_i and Mbase_modei_2 are substantially identical, Mditf is substantially equal to the identity matrix.

[0065]

[0052] Mditf may include a rotation submatrix Rdiff and a translation vector having three translation components about three axes of a three-dimensional frame, steps (d) to (h) being repeated until a rotation angle of Rdiff is less than or equal to a threshold angle, and until the three translation components are less than or equal to a threshold value.

[0066]

[0053] For example, the threshold angle may be between 0.0005 and 0.002 radians, preferably equal to 0.001 radians.

[0067]

[0054] For example, the threshold value may be between 0.025mm and 0.075mm, preferably equal to 0.05mm.

[0068]

[0055] By performing this repetition, the process makes it possible to set a desired level of precision.

[0069]

[0056] By setting an appropriate threshold angle and threshold value, the method can determine when the difference between the two estimated positions of the object is sufficiently small to guarantee accurate and stable positioning. When these conditions are met, the method can consider the object's positioning to be sufficiently accurate and terminate the loop (the repetition of (d) to (h)).

[0070]

[0057] This feature ensures greater accuracy and reliability in object positioning, allowing the process to converge towards an optimal solution. It also reduces positioning errors and improves the consistency of actions performed on the object using the robotic arm.

[0071]

[0058] According to this aspect, the process makes it possible to control the uncertainty related to the transformation of the image-taking device to the object in order to have Mbase_object_i as close as possible to Mbase_object_2.

[0072]

[0059] The normalization process can be used for various applications including, among others: the precise gripping of an object for precise placement; the screwing of bolts, screws, etc. onto the object; the insertion of cables; the inspection of a precise area of ​​the object; or the application of glue, sealant to the contour of the object.

[0073]

[0060] This document may also relate to a gripping method comprising: the aforementioned normalization method; and, using the Mbase_modei_2 matrix, guidance of the robotic arm to an optimal position for grasping the object. This step ensures that the object is correctly aligned with the arm, thus minimizing the risks of slippage or poor gripping. There is a significant improvement in the accuracy and repeatability of the gripping operations, which is particularly useful for applications requiring precise placement of the object in a specific location.

[0074]

[0061] This document may also relate to a method for screwing the object comprising: the aforementioned normalization method; and, using Mbase_modei_2, positioning the robotic arm so as to align a screwing tool with the object's fixing points for screwing the object with holding means, such as bolts or screws. This step ensures that the axis of the screwing tool is correctly oriented relative to the axis of the bolts or screws. The technical effect is a reduction in screwing errors, improved assembly quality, and a decrease in the risk of damage to the components.

[0075]

[0062] This document may also relate to a method for inserting a cable, said method comprising: the aforementioned normalization process; and, using the Mbase_modei_2 matrix, positioning the robotic arm so as to align one end of said cable with a target port or connector on the object. This step ensures precise cable guidance, reducing the risks of deviation or misalignment. The technical effect is reliable and repeatable cable insertion, even in environments where tolerances are tight.

[0076]

[0063] This document may also relate to a method for inspecting a portion of the object using an inspection tool, said method comprising: the aforementioned normalization process; and, using the Mbase_modei_2 matrix, positioning the inspection tool, such as an imaging device, above said portion of the object. This step ensures that the inspection tool is correctly oriented and positioned to capture accurate data on the area of ​​interest. The technical effect is an improvement in the quality and reliability of inspections, enabling the detection of defects or anomalies with high precision.

[0077]

[0064] This document may also relate to a method for fixing the object, said method comprising: the aforementioned normalization process; and, using the Mbase_modei_2 matrix, guiding the robotic arm along a contour of the object, following a predefined path to apply adhesive or a sealant. This step ensures that the application is uniform and precisely follows the contours of the object. The technical effect is an improvement in the quality of the application, with a reduction in material waste and better adhesion or sealing of the joint.

[0078]

[0065] This document may also relate to a computer program comprising instructions for implementing the process according to the aforementioned type when this program is executed by a processor.

[0079]

[0066] The computer program includes specific instructions that guide the processor in carrying out the different stages of the process, such as image capture, data processing, object position estimation, difference calculation, etc.

[0080]

[0067] By running this computer program on a processor, it becomes possible to automate and carry out the process efficiently and precisely. The computer program allows the processor to process the input data, perform the necessary calculations, and generate the corresponding results. This makes it possible to obtain precise and repeatable positioning of the object relative to the robot's base, using the aforementioned type of process.

[0081]

[0068] The use of this computer program also facilitates the implementation of the process, as it provides clear and structured instructions to guide the processor throughout the process. This ensures consistent and reliable execution of the process, minimizing human error and guaranteeing constant accuracy.

[0082]

[0069] In other words, this computer program makes it possible to implement the aforementioned process efficiently and precisely when executed by a processor. It facilitates the automation of the process and guarantees precise and repeatable positioning of the object relative to the robot's base.

[0083]

[0070] This document may also relate to a non-transient recording medium readable by a computer on which is recorded a program for the implementation of the process according to the aforementioned type when this program is executed by a processor.

[0084]

[0071] The non-transient recording medium may take the form of a hard drive, a USB key, a CD-ROM, a DVD or any other storage medium capable of containing and reading computer data.

[0085]

[0072] By recording the program necessary for implementing the process on this non-transient recording medium, it becomes possible to distribute and transport it easily. When inserted into a computer and executed by a processor, the program is able to guide the processor in executing the various steps of the process.

[0086]

[0073] This non-transient recording medium thus makes the process accessible and usable on different computers. It offers a practical solution for implementing the process without the need for an internet connection or online download.

[0087]

[0074] In other words, this non-transient recording medium containing the program necessary for implementing the process facilitates the use and dissemination of the process by offering a portable and accessible solution for its execution on different computers. Brief description of the drawings

[0088]

[0075] Other features, details and advantages will become apparent from reading the detailed description below, and from analyzing the accompanying drawings, on which:

[0089]

[0076] [Fig. 1] illustrates the different stages of a process for normalizing the positioning of an object relative to a robot according to this document,

[0090]

[0077] [Fig. 2] is a schematic profile view of an object and a robot on which an image-taking device is mounted, during a first step of the process of Figure 1,

[0091]

[0078] [Fig. 3] is a viewpoint of the image-capturing device in the configuration of Figure 2,

[0092]

[0079] [Fig. 4] is a schematic profile view of an object and a robot on which an image-taking device is mounted, during a second step of the process of Figure 1,

[0093]

[0080] [Fig. 5] is a viewpoint of the image-capturing device in the configuration of Figure 4,

[0094]

[0081] [Fig. 6] is a schematic profile view of an object and a robot on which an image-taking device is mounted, during a second step of the process of Figure 1, and

[0095]

[0082] [Fig. 7] is a viewpoint of the image-taking device in the configuration of Figure 6.

[0096] Description of the implementation methods

[0097]

[0083] Figure 1 illustrates the different steps of a process for normalizing the positioning of an object relative to a robot according to this document.

[0098]

[0084] Figure 2 schematically represents object 2, which comprises a first parallelepiped element 2a and a second cylindrical element 2b. The robot 4 comprises a base 4a from which a robotic arm 4b extends.

[0099]

[0085] Robot 4 and object 2 form a set.

[0100]

[0086] At the end 4b-1 of the robotic arm 4b is mounted an image capture device 6 oriented so as to capture images of the object 2.

[0101]

[0087] During an EA step, a plurality of predetermined data is obtained, including a predetermined transformation matrix of the object 2 with respect to the image-capturing device 6, called the reference matrix M Cam_modei_ref, and a transformation matrix from the end 4b-1 of the robotic arm 4b to the image capture device 6 Mend. _cam,

[0102]

[0088] For example, we have:

[0103] 0.97852796 -0.20431232 -0.02718591 -0.13731841

[0104] 0.99866861 0.01555921 0.04918209 -0.0549003 -0.01653634 0.99967265

[0105]

[0090] 0.01952351 -0.09316116 end_cam -0.04886222 -0.02031081 0.99859899 0.07591915 0 0 0 1

[0091] For the transformation matrices of this section, the submatrix formed by the first three columns and the first three columns corresponds to a rotation matrix R of an angle a around an axis of rotation directed along a unit vector Ü.

[0106]

[0092] The fourth column corresponds to a translation vector which includes as its first three components (i.e. following the first three rows) the translations along three axes X, Y, Z of a three-dimensional frame expressed in meters, and as its fourth component (i.e. following the fourth row) the scaling (here equal to 1).

[0107]

[0093] For example, according to the three-dimensional coordinate system, we can have:

[0108]

[0095] The reference position of the object corresponds to the configuration shown in Figure 2.

[0109]

[0096] Figure 2 illustrates more specifically the different transformation matrices:

[0110] - Mbase_end is a transformation matrix of the position of the end 4a-1 of the base 4a of the robot 4 in contact with the ground to the end 4b-1 of the robotic arm 4b on which the camera 6 is mounted;

[0111] - M end_cam is the transformation matrix from the position of end 4b-1 to the position of the camera lens 6; and

[0112] - Mcam_model_ref is the transformation matrix of the position of the camera lens 6 to a midpoint between elements 2a, 2b of object 2.

[0113]

[0097] As shown in Figure 3, the elements 2a, 2b of the object 2 are centered on the angular opening of the image capture device 6 in the reference position.

[0114]

[0098] During an EB step, a random position P random is generated.

[0115]

[0099] During an EC step, and according to this embodiment, the robot 4 (more particularly the base 4a) is moved to said random position Prando so that the assembly is in a first configuration represented in Figure 4.

[0116]

[0100] More specifically, the first configuration of the assembly corresponds to a configuration in which the end 4a-1 of the base 4a is positioned at Prandom.

[0117]

[0101] In this way, variability is introduced in the positioning of the robot 4 relative to the object 2. This randomness makes it possible to simulate real-life scenarios in which the object 2 can be placed in different positions relative to the robot 4. By generating a random position, the ability to position the object 2 accurately and repeatedly is guaranteed, regardless of its initial location.

[0118]

[0102] As illustrated in Figure 5, the elements 2a, 2b of the object 2 are offset from the center of the angular opening of the image-taking device 6. This results in a distortion of what is observed by the image-taking device 6, in particular due to edge effects.

[0119]

[0103] The patterns 2a-1 and 2b-1 of the elements 2a, 2b of the object 2 obtained previously (in figure 3) therefore do not agree with the point of view of the image capture device 6.

[0104] During an ED step, a first transformation matrix of the object 2 is estimated in the basis 4a Mbase_modei_i in the first configuration of the set.

[0120]

[0105] Following the previous matrix examples, we obtain:

[0121] / -0.998947 -0.0251972 0.03834039 0.06928641

[0122]

[0106] = / -0.03253978 0.97823796 -0.20491867 -0.47630125

[0123] 1 -0.03234265 -0.20595048 -0.97802779 0.14195897 \ 0 0 0 1

[0124]

[0107] During an EE step, from M C Using am_modei_ref and Mbase_modei_i, we calculate a transformation matrix from the base 4a to the end 4b-1 of the robotic arm 4b, called the expected matrix Mbase_end_ex Pected, so that the assembly is in a second configuration, the transformation matrix of object 2 to the image capture device 6 corresponding to M C am_modei_ref in the second configuration, with Mbase_end_expected = Mbase_model_1 * Mcam_model_ref 1 * Mend_cam~ 1 .

[0125]

[0108] The inverse of the transformation matrix of the image-capturing device 6 to the object 2, i.e. M- 1 cam_model, corresponds to the transformation matrix of object 2 to the image capture device 6.

[0126]

[0109] The inverse of the transformation matrix from the end 4b-1 of the robotic arm 4b to the image-taking device 6, i.e. M' 1 e nd_cam, corresponds to the transformation matrix of the image capture device 6 at the end 4b-1 of the robotic arm 4b.

[0127]

[0110] Following the previous matrix examples, we obtain:

[0128] -0.9756124 -0.21295343 0.05320657 -0.17562424 -0.21904971 0.96008802 -0.17392076 -0.22158905

[0129]

[0111] base_end_expected -0.01404593 -0.18133421 -0.98332098 0.50718849 0 0 0 1

[0130]

[0112] During an EF step, the robotic arm 4b is moved so that the assembly is in the second configuration, shown in Figure 6.

[0131]

[0113] The image capture device 6 is thus positioned above the object 2, so that the object 2 is centered on the angular opening of the image capture device 6 as shown in Figure 7.

[0132]

[0114] We then observe on figure 7 that the patterns 2a-1 and 2b-1 of the elements 2a, 2b of the object 2 correspond substantially with what is observed by the image capture device 6.

[0133]

[0115] During an EG step, a second transformation matrix of the object (2) is estimated in the basis (4a) Mbase_modei_2 in the second configuration of the set.

[0134]

[0116] Following the previous matrix examples, we obtain:

[0135] -0.99891462 -0.02443984 0.03964654 0.06938735 -0.03211539 0.97795883 -0.20631411 -0.47606232

[0136]

[0117] base_model_2 -0.03373047 -0.20736347 -0.97768216 0.14254109 0 0 0 1

[0137]

[0118] During an EH step, a matrix Mditt is calculated equal to the product of Mbase_modei_i and Mbase_modei_2 _ L

[0138]

[0119] Following the previous matrix examples, we obtain:

[0139] / 0.999998642 -0.000470415177 0.00143521533 -0.000529369887

[0140]

[0120] M = / 0.000472166502 0.999999092 -0.00140790789 -0.0000714401258 “dtff 1 -0.00143447518 0.00140853941 0.999997861 0.000188271832

[0141] \ 0 0 0 1

[0121] The calculation of Mdiff allows for the evaluation of the repeatability and accuracy of the positioning process. This measurement provides data on the effectiveness of the process in reducing the variability and uncertainty of the positioning of object 2. It also demonstrates the ability of the process to position object 2 consistently and accurately relative to the base 4a of robot 4.

[0142]

[0122] We note that Mdiff is here substantially identical to an identity matrix, we can therefore deduce that the accuracy of the positioning obtained is satisfactory.

[0143]

[0123] Another evaluation of accuracy and repeatability is through the calculation of angle 0 associated with Mdiff which verifies: 0 = acos((7'r(7î) di / / ) - l) / 2), with Rdiff the submatrix of Mdiff formed by the first three columns and the first three columns, Rdiff being a rotation matrix.

[0144]

[0124] 0 is an angle expressed in radians, and is here equal to 0.002098797 radians.

[0145]

[0125] According to one aspect, ED to EH can be repeated until at least one of the following criteria is met:

[0146] - 0 is less than a threshold value ©threshold, for example Oseuii is equal to 0.001 radians.

[0147] - the first three components of the column vector of the fourth column are each less than a threshold value, for example the threshold value is equal to 0.00005m.

[0148]

[0126] Here the two criteria are not met, so we repeat steps ED to EH until at least one of the above criteria is valid.

Claims

Demands

1. A method for normalizing the positioning of an object (2) relative to a robot (4), the robot (4) and the object (2) forming a set, said robot (4) comprising a base (4a) and a robotic arm (4b) on which is mounted at one end (4b-1) of the robotic arm (4b) an image-capturing device (6), the method comprising: (a) obtaining (EA) a plurality of predetermined data comprising a predetermined transformation matrix of the object (2) with respect to the imaging device (6), called the reference matrix Mcam_model_ref, and a transformation matrix of the end (4b-1) of the robotic arm (4b) to the imaging device (6) Mend._cam, (b) generation (EB) of a random Prandom position, (c) displacement (EC) of the base (4a) or of the object (2) to said random position Prandom so that the set is in a first configuration, (d) estimation (ED) of a first transformation matrix of the object (2) to the basis (4a) Mbase_odei_i in the first configuration of the set, (e) from M C a _ odei_ref and Mbase_modei_i, calculation (EE) of a transformation matrix from the base (4a) to the end (4b-1) of the robotic arm (4b), called the expected matrix Mbase_end_ex P ected, so that the assembly is in a second configuration, the transformation matrix of the object (2) to the image capture device (6) in the second configuration corresponding to M C a _ odei_ref, (f) displacement (EF) of the robotic arm (4b) so that the assembly is in the second configuration, and (g) estimation (EG) of a second transformation matrix of the object (2) to the basis (4a) Mbase_ odei_2 in the second configuration.

2. Method according to the preceding claim, Mbase_end_expected is equal to the product of Mbase_model_1, Mcam_model_ref 1 and Mend_cam~ 1 .

3. A method according to any one of the preceding claims, wherein the image-capturing device (6) is capable of capturing three-dimensional images.

4. A method according to the preceding claim, wherein the plurality of predetermined data further comprises a three-dimensional CAD modeled image of the object (2), and wherein the estimation of Mbase_modei_i and / or the estimation of Mbase_modei_2 is carried out by comparison between a current three-dimensional image of the object (2) captured by the image-taking device (6) and a three-dimensional CAD modeled image of the object (2).

5. A method according to the preceding claim, wherein the comparison between the current three-dimensional image of the object (2) captured by the image-taking device (6) and the three-dimensional CAD modeled image of the object (2) is carried out by an ICP algorithm.

6. A method according to claim 4, wherein the comparison between the current three-dimensional image of the object (2) captured by the image-taking device (6) and the three-dimensional CAD modeled image of the object (2) is carried out by a LINEMOD algorithm.

7. A method according to any one of the preceding claims, further comprising: (h) calculation (EH) of a matrix Mdiff equal to the product of Mbase_modei_i and Mbase_modei_2 -1 .

8. A method according to the preceding claim, wherein Mdiff comprises a rotation submatrix Rdiff and a translation vector having three translation components about three axes of a three-dimensional frame, steps (d) to (h) being repeated until a rotation angle of Rdiff is less than or equal to a threshold angle, and until the three translation components are less than or equal to a threshold value.

9. A computer program comprising instructions for carrying out the method according to any one of the preceding claims when this program is executed by a processor.

10. A non-transient, computer-readable recording medium on which is recorded a program for implementing the method according to any one of claims 1 to 8 when this program is executed by a processor.

Citation Information

Patent Citations

  • Rapid visual positioning method for mobile processing robot based on neural network

    CN113799137A

  • A cloud-based method and system for grasping disordered workpieces

    CN114714365B