Method for the automated assembly of two parts, comprising automatic control using cameras
Patent Information
- Application Number
- EP2023741072
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-07-16
- Filing Date
- 2023-07-16
- Publication Date
- 2025-05-21
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Current automated assembly processes for aircraft beams with tenon/clevis connections are not precise and efficient, often resulting in manual adjustments that are time-consuming and prone to alignment errors, collisions, and friction due to imprecise camera control systems.
An automated assembly method using a robotic system with cameras for precise alignment and embedding, employing primary and secondary visual control loops with vector fields to guide the robotic movement, ensuring accurate and contactless assembly of beams along a rectilinear or curved path.
The method achieves precise alignment with a positioning repeatability of 0.2mm, reduces assembly time to under three minutes, and avoids collisions or friction, providing a more efficient and accurate assembly process compared to prior art.
Smart Images

Figure 1.1
Abstract
Description
DESCRIPTION AUTOMATED ASSEMBLY PROCESS FOR TWO PARTS INCLUDING CONTROL WITH CAMERAS TECHNICAL FIELD OF THE INVENTION
[0001] The invention relates, in general, to the technical field of automated assembly methods for two parts using robotic systems and more particularly to the precision assembly of parts such as beams comprising a mechanical connection of the tenon / clevis type at their end. It also relates to an assembly system implementing these methods.
[0002] The invention relates more specifically to an automated assembly method for aligning and fitting two beams of an aircraft.
[0003] This type of robotic system is also called a machine tool. The term machine tool refers to a mechanism composed of servo-controlled digital axes. These may include robotic gantries or industrial robots, which are referred to below as robots. STATE OF THE PRIOR ART
[0004] Generally speaking, the structure of an aircraft is very complex, and it is often divided into several structural elements with large sections. For example, the fuselage of an aircraft is made up of several sheets supported by an internal structure comprising several beams assembled together. To be able to be assembled, these beams are first positioned precisely relative to each other, then embedded one inside the other.
[0005] Aircraft manufacturers currently use global positioning of the modules integrating the beams to be assembled by a metrological system such as laser tracking. The beams are not designed to be directly embedded. To achieve the mechanical connection, a male beam includes tenons at one of its ends intended to be inserted into clevises provided at one end of a female beam. One of the beams is movable relative to the other.
[0006] The mechanical connection is achieved by alternating approach movements and, in the case of a "practical" adjustment, adjustment of the two beams. The tenons are remachined on site to adapt to the geometry of the yokes.
[0007] The assembly is carried out iteratively by the operators, who alternate between reading the relative positions of the beams to be assembled and moving the support supporting one of the beams. This manual movement requires the operator's experience to compensate in particular for the deformation of the tools, their alignment errors or mechanical play. This manual movement process is also very time-consuming.
[0008] Additionally, it is common for some aircraft types for the final alignment of the stud and clevis bores to be out of tolerance. There may be a 1 mm gap between the beams. The studs must then be forced through.
[0009] Document CN110919654 is known, which aims to solve these problems and discloses a robotic arm controlled by a camera. The camera produces images of the interface between two parts of an aircraft fuselage to be assembled, which are transmitted to an image processing system which in return calculates a movement instruction which is transmitted to the robotic arm.
[0010] This document also discloses a robotic automatic assembly system for two aircraft beams whose mechanical connection consists of tenons and clevises. The system includes three cameras placed around the connection and means for executing a visual servo algorithm guiding the embedding movement.
[0011] However, these camera-based servo systems are not precise over the entire trajectory and can cause collisions or friction between the sheets, particularly during the delicate embedding stage. It is indeed difficult to obtain perfectly linear movement. STATEMENT OF THE INVENTION
[0012] The invention aims to remedy all or part of the drawbacks of the state of the art by proposing in particular an automated assembly method which is more precise and faster than those of the prior art.
[0013] To do this, according to a first aspect of the invention, a method is proposed for the automated assembly of a fixed part with a moving part capable of being moved relative to the fixed part by a robot.The method comprises the following steps: determining reference points at a first end of the fixed part and at a second end of the moving part, positioning at least one camera so that the reference points of the two parts are in the field of vision of the camera, the camera being fixed relative to the fixed part, applying a primary visual control loop from images of the ends of the two parts taken by the camera to determine a first movement instruction for the robot to enable it to bring the moving part closer to the fixed part, applying a secondary visual control loop comprising a calculation using the principle of vector fields from the images of the ends of the two parts taken by the camera to generate a second movement instruction enabling the robot to embed the moving part in the fixed part, and fixing the two parts together.
[0014] According to one embodiment, the primary visual servo loop comprises the following steps: taking an image of the ends of the two parts, determining a target image, and comparison between pixels of the target image and pixels of the taken image to generate the movement instruction based on a difference between said pixels.
[0015] According to another embodiment, the assembly method comprises an initial step in which the position and orientation of the camera relative to the fixed part are determined from the observation of the end of the fixed part by the camera and via a numerical optimization calculation.
[0016] According to another embodiment, a target vector (x, y) of the moving part is determined from the relative position between the fixed part and the camera and the embedding configuration between the fixed part and the moving part, x and y being the coordinates of the target landmarks.
[0017] According to another embodiment, a measurement vector (x', y') is determined from the images taken by the camera, x' and y' being the coordinates of the reference points on the parts. The measurement vector (x', y') is compared to the target vector (x, y) to determine the gap between the pixels. A speed profile is determined from the gap. A pseudo-inverse operation of the interaction matrix is applied to the speed profile to obtain Cartesian speeds and a multiplication by the inverse Jacobian matrix of the robot is applied to the Cartesian speeds to obtain a displacement setpoint.
[0018] According to another embodiment, the assembly method comprises, after the initial step, a step of presenting the parts in an open loop. A simple open loop is carried out during the presentation step at the end of which the parts are a few centimeters apart.
[0019] The part presentation step is followed by a primary visual pre-embedding control loop during a pre-embedding step at the end of which the parts are correctly aligned, i.e. in a configuration where a simple translation remains to be done to obtain a contactless embedding. A target vector (x, y) is determined during each of these steps. A secondary visual control loop is then carried out during a step embedding in which the parts fit together without contact until the bores align.
[0020] According to another embodiment, to realize the secondary visual servo loop, a first target vector si corresponding to a first position and a second target vector S2 corresponding to a second position are calculated during the pre-embedding step. A straight line [si, S2] in each image of the cameras is drawn in the pixel space. Images of the ends of the parts are taken by the camera to obtain a vector field f(s) in each image of the cameras from vectors s measured by the cameras.
[0021] Preferably, a pixel velocity profile is determined from the vector field f(s). A pseudo-inverse operation of the interaction matrix is applied to the pixel velocity profile to obtain Cartesian velocities and a multiplication by the inverse Jacobian matrix of the robot is applied to the Cartesian velocities to obtain the approach setpoint for controlling the robot.
[0022] According to one embodiment, the vector field f(s) is constructed around the segment [si, S2] delimiting a Cartesian trajectory.
[0023] According to one embodiment, for the construction of the vector field f(s), the image space is divided into three zones, including: an exterior zone where f brings s back to a baseline formed by the straight line passing through si and S2, following a proportional law based on a deviation, or a distance, from the baseline, with a gain X; a corridor where f brings s back to the baseline while making it progress towards S2; and a braking zone where f makes s converge towards S2 with an average deceleration a along the baseline.
[0024] According to another embodiment, the reference points comprise disc-shaped markers distributed around bores provided on the moving part and on the fixed part for fixing the two parts.
[0025] The invention also relates to an automated assembly system for a fixed part with a moving part capable of being moved relative to the fixed part by a robot. The system implements the assembly method as defined above.
[0026] The invention thus makes it possible to provide an automated assembly method that is more precise than those of the prior art and more particularly makes it possible to move the moving part along a more rectilinear trajectory, reducing the duration of the assembly operation to less than three minutes.
[0027] It is also possible to extend this process to a curved path.
[0028] The proposed solution does not create any collision or friction between the parts.
[0029] It also features positioning repeatability of the order of 0.2 mm.
[0030] In addition, the cameras can be positioned approximately around their respective nominal positions at the time of the assembly operation. The camera alignment is carried out automatically.
[0031] If the moving part deviates from the assembly axis, the process simultaneously reduces the gap and advances the moving part. The balance between these two actions can be adjusted empirically by setting a gain to avoid contact between the two parts.
[0032] The solution is generic and can be extended to other types of parts and for applications other than aircraft. BRIEF DESCRIPTION OF THE FIGURES
[0033] Other characteristics and advantages of the invention will emerge from reading the description which follows, with reference to the appended figures, which illustrate: Figure 1: a view of a moving part moving relative to a fixed part during an assembly process, according to one embodiment of the invention; Figure 2: a view of the fixed part embedded in the moving part after the assembly process; Figure 3: a diagram representing the different operations applied during a primary visual control loop; Figure 4: a diagram representing the different operations applied during a secondary visual control loop; Figure 5: a view of a vector field comprising a segment of vectors [si, s2]; Figure 6: a schematic representation of the measurement space divided into three zones; Figure 7: a schematic representation of the decomposition of the vector s.
[0034] For clarity, identical or similar elements are identified by identical reference signs throughout the figures. DETAILED DESCRIPTION OF AN EMBODIMENT
[0035] The invention relates to a method for automated assembly of a fixed part 1 with a moving part 2, as shown in FIG. 1, capable of being moved relative to the fixed part 1 by a robot or a speed controller.
[0036] A robot is a robotic system also known as a machine tool. A machine tool can be a mechanical system composed of servo-controlled digital axes. These can include robotic gantries, industrial robots, or actuators.
[0037] In the following example, the moving part 2 is a female part comprising at least one yoke 11a, 11b, 11c extending in an axial direction X which is parallel to the direction of advancement of the moving part 2. The yoke 11a, 11b, 11c comprises a bore 9 having an axis perpendicular to the axial direction X. In this example, the axial direction X is substantially horizontal.
[0038] Each screed 11a, 11b, 11c also includes a housing 12.
[0039] The fixed part 1 is a male part comprising at least one tenon 10a, 10b, 10c extending in the axial direction X and intended to be fitted into a yoke 11a, 11b, 11c of the female part. The tenon 10a, 10b, 10c also comprises a bore 8 having an axis perpendicular to the axial direction X.
[0040] Alternatively, the moving part 2 may be a female part and the fixed part 1 may be a male part.
[0041] In the example of Figure 1 and Figure 2, the bores 8, 9 have a circular section but can have other shapes such as square or ovoid shapes.
[0042] Preferably, the moving part 2 comprises at least three yokes 11a, 11b, 11c and the fixed part 1 comprises at least three tenons 10a, 10b, 10c.
[0043] In the example of Figure 1 and Figure 2, the moving part 2 is a female part comprising five yokes 11a, 11b, 11c including two first lateral yokes 11a juxtaposed one above the other, two second lateral yokes 11b juxtaposed one above the other and a central yoke 11c positioned between the lateral yokes 11a, 11b.
[0044] The first two lateral yokes 11a and the two second lateral yokes 11b each comprise a bore 9 which has a central axis perpendicular to the X direction and which extends in a Y direction.
[0045] The central yoke 11c comprises a central axis perpendicular to the X direction and which extends in a Z direction perpendicular to the X and Y directions.
[0046] By symmetry, the fixed part 1 is a male part comprising five tenons 10a, 10b, 10c extending in the axial direction X, including two first lateral tenons 10a juxtaposed one above the other, two second lateral tenons 10b juxtaposed one above the other and a central tenon 10c positioned between the lateral tenons 10a, 10b.
[0047] As illustrated in Figure 2, each tenon 10a, 10b, 10c of the fixed part 1 is intended to fit into one of the yokes 11a, 11b, 11c of the moving part 2 and more precisely into the housing 12 of the yokes 11a, 11b, 11c. The bores 9 of the yokes 11a, 11b, 11c and the bores 8 of the tenons 10a, 10b, 10c are then aligned. A fixing part can then be introduced into the bores 8, 9 to block the parts relative to each other.
[0048] In this example, the first end 3 of the fixed part 1 is progressively hidden by the second end 4 of the moving part 2. The moving part 2 moves only in translation.
[0049] In this example, the fixed 1 and moving 2 parts are aircraft beams but the assembly process also applies to other types of parts.
[0050] According to a possible embodiment of the invention, the assembly method comprises a step of determining reference points at the first end 3 of the fixed part 1 and at the second end 4 of the moving part 2.
[0051] The principle consists of finding remarkable or identifiable points on parts 1, 2 so that a servo-control based on image capture and processing can work.
[0052] Preferably, the reference points comprise disc-shaped markers distributed around each bore 9 provided on the moving part 2 and around each bore 8 provided on the fixed part 1.
[0053] In this example, the fixed part 1 and mobile part 2 each comprise five bores 8, 9 and therefore five patterns each comprising eight disc-shaped markers distributed concentrically around the axis of each bore 8, 9. The patterns are identical and have a uniform color.
[0054] The discs must have a precise and clean outline. They must not create excess thickness. They can be obtained by filling a colored substance (paint, resin, etc.) into a groove, then polishing the part. In this example, there are a total of 40 markers per part.
[0055] The presence of markers is not a condition for success and should not appear as such. But it is preferable to add markers in order to have a very high degree of confidence in the measurements obtained by a visual process. The process works without artificial markers, but this leads to greater complexity in image processing and less robustness to lighting conditions, without impacting the servoing process itself.
[0056] Alternatively, the reference points may be the centers of the bores 8, 9.
[0057] The reference points of the moving part 2 must coincide with the reference points of the fixed part 1 during embedding.
[0058] Alternatively, it is not necessary for the reference points of the moving part 2 to coincide with the reference points of the fixed part 1.
[0059] The assembly method comprises a step of positioning at least one camera 5, 6, 7 so that the reference points of the two parts 1, 2 are in the field of vision of the camera 5, 6, 7. The camera 5, 6, 7 is fixed relative to the fixed part 1.
[0060] It is possible to use a single camera 5, 6, 7 but it is preferable to use three as in the embodiment presented below because the depth is more sensitive to errors.
[0061] According to a preferred embodiment, a first camera 5 is positioned and oriented facing the bores 9 of the two first lateral yokes 11a of the moving part 2 and facing the bores 8 of the two first lateral tenons 10a of the fixed part 1. A second camera 6 is positioned and oriented facing the bores 9 of the two second lateral yokes 11b of the moving part 2 and facing the bores 8 of the two second lateral tenons 10b of the fixed part 1.
[0062] A third camera 7 is positioned and oriented facing the bore 9 of the central yoke 11c of the moving part 2 and facing the bores 8 of the central tenon 10c of the fixed part 1. The axis of the cameras 5, 6, 7 is substantially perpendicular to the axial direction X. The viewing axis z of the third camera 7 is substantially perpendicular to the viewing axes of the first and second cameras 5, 6 and is preferably parallel to the direction Z.
[0063] For standard aircraft beams with bore diameters of a few centimeters, the cameras 5, 6, 7 can be 5, 6, 7 to 12 Megapixel cameras of model GV-5200SE-C-HQ from IDS including M111FM16 lenses from Tamron. The intrinsic calibration of each camera 5, 6, 7 must be done rigorously (industrial calibration target) once the focus is adjusted to obtain a sharp image at a distance of approximately 30 cm. Each camera 5, 6, 7 is positioned approximately 30 cm from parts 1, 2.
[0064] According to one embodiment, the assembly method comprises three steps of moving the moving part 2 including a step of presenting the parts 1, 2. The moving part 2 is “presented” facing the fixed part 1. The moving part 2 is in the field of vision of the cameras 5, 6, 7. The distance between the two parts 1, 2 in the axial direction X is a few centimeters.
[0065] The assembly method also comprises a pre-embedding step in which the moving part 2 is moved potentially along all axes until it is well aligned with the fixed part 1 and an embedding step in which the moving part 2 is embedded with the fixed part 1.
[0066] The assembly method comprises an initial step in which the position and orientation of the cameras 5, 6, 7 relative to the fixed part 1 are determined from the observation of the end of the fixed part 1 by the cameras 5, 6, 7 and by means of a numerical optimization calculation of the least squares method type, for example.
[0067] More precisely, in the initial step, each camera 5, 6, 7 observes the pins 10a, 10b, 10c facing it (only one in the case of the third camera 7) and image processing is applied to obtain the centers of the markers.
[0068] Knowing the geometry of what the camera 5, 6, 7 observes, a position calculation algorithm is applied to deduce the relative position of the camera 5, 6, 7 with respect to the fixed part 1. Preferably, the position calculation algorithm uses least squares optimization. This step is automatic but requires visual validation by the operator, for safety. Visual validation is done by noting the superposition in the image of the projected markers, i.e. where the markers are supposed to appear if the camera 5, 6, 7 is at the position calculated with the real markers.
[0069] The relative position of fixed part 1 with respect to the robot base is assumed to be known approximately. This is the case in practice because fixed part 1 is located on a fixed module or support, which is referenced in the frame of a workshop.
[0070] For the presentation step, the moving part 2 is approached by the operator or by an open-loop program to a position sufficiently far from the fixed part 1 to avoid any risk of collision between the parts 1, 2 but close enough for the yokes 11a, 11b, 11c of the moving part 2 to enter the field of vision of the cameras 5, 6, 7.
[0071] For the pre-embedding step, a first primary visual servo loop is applied from images of the ends of the two parts 1, 2 taken by the cameras 5, 6, 7 to determine a first movement instruction for a robot to enable it to correctly align the moving part 2 facing the fixed part 1.
[0072] The initial step allows the first primary visual servo loop to be realized.
[0073] The initial step is used to calculate a first target image if (or first setpoint in the image), as illustrated in Figure 3. The image is determined by virtually placing the fixed part 1 in the frame of the cameras 5, 6, 7 using the position of cameras 5, 6, 7 and simulating the images. The estimation errors of certain degrees of freedom of a camera are compensated by the combination of the n images.
[0074] From the relative position of cameras 5, 6, 7 with respect to the fixed part 1, and from the embedding configuration of the fixed part 1 relative to the moving part 2, it is possible to deduce the position of the cameras 5, 6, 7 relative to the moving part 2.
[0075] From the pinhole model of the camera 5, 6, 7, it is possible to deduce the first target image if or target vector (xi, yi), xi and yi being the coordinates of the target landmarks during a target calculation step 13.
[0076] Then, an image of the end of the part 2 is taken to determine a measurement vector (x'i, y'i), x'i and y'i being the coordinates of the reference points on the part 2 during a measurement step 14. A first measured image s'i is obtained.
[0077] The measurement vector (x'i, y'i) is then compared to the target vector (xi, yi) to determine the distance between the pixels in a comparison step 15.
[0078] A velocity profile is determined from the deviation during a velocity profile calculation operation 16.
[0079] The following proportional feedback law is used to calculate a desired velocity s in camera space: s = X (si - s'i), where X is a positive gain factor. Only the direction of the velocity vector in image space is considered, however. The norm is calculated to follow a velocity profile ensuring smooth and uniform acceleration up to a maximum speed, as well as uniform deceleration. However, near the target, the constraint on the deceleration is lifted to avoid making the control unstable: the vector s is applied as is.
[0080] An interaction matrix L s is calculated. The interaction matrix is the name usually given to designate the Jacobian matrix linking the Cartesian kinematic torsor to the pixel velocities.
[0081] A pseudo-inverse operation of the interaction matrix 17 is then applied to the velocity profile to obtain Cartesian velocities v with the law: s = Ls.v.
[0082] A multiplication operation by the inverse Jacobian matrix of the robot (or actuators) 18 is applied to the Cartesian speeds to obtain a first movement instruction comprising a movement speed of the robot and in particular an articular speed. The robot moves the moving part 2 towards the fixed part 1 according to the first movement instruction during a control step 19.
[0083] The embedding step generates a second target image S2 (or second setpoint in the image), corresponding to the final embedding position, as illustrated in Figure 4. The calculation of this target image follows the same process as for si.
[0084] The first and second vectors are obtained by concatenating the image instructions of the three cameras 5, 6, 7.
[0085] Alternatively, it is possible to position a camera in front of each bore. In this case, there are five cameras associated with five bores in the moving part (not shown).
[0086] In our example, the first and second target vectors therefore have a total of 80 components including the x and y coordinates of each of the 40 reference points.
[0087] The target vectors are manipulated in the normalized image plane (with z = 1 m). The stopping criterion applied is then a maximum gap between the two parts 1, 2 of 1.5 mm. At a distance from the cameras 5, 6, 7 not exceeding 40 cm, this error gives a pixel positioning error in space of less than 0.6 mm.
[0088] On the other hand, by averaging over the 40 pixels, the Cartesian precision obtained in practice is much better, of the order of 0.2 mm.
[0089] A secondary visual feedback loop including a calculation using the vector field principle is then applied during the embedding step, as illustrated in Figure 4, to improve linearity during this delicate step.
[0090] Alternatively, the secondary visual feedback loop can be used during another movement step.
[0091] This solution is based on two ideas. The first idea is to generate a control law for the robot explicitly in the form of a vector field f(s) in the image (or sensor) space. This vector field f(s) is an ad-hoc formula. By creating a vector field in the image space, the key advantage of image-based servoing is maintained.
[0092] The second idea concerns the stability of the movement. In practice, the use of an error-based formula as for the pre-embedding step (Figure 3), in addition to the non-uniform speed, results in a zigzag movement of the robot around the assembly axis, with a high risk of collision.
[0093] The objective is to create a velocity vector field f(s) from the measurements of cameras 5, 6, 7 which respects the kinematics of the embedding.
[0094] The target (or expected) vectors si and S2 associated with these two expected positions are calculated in 2 steps.
[0095] First, an ideal Cartesian trajectory (segment [si, S2]) is constructed in the image space. Then, the vector field f(s) is constructed around this Cartesian trajectory, as illustrated in Figure 5.
[0096] It is convenient for this to consider the fixed part 1 as a reference. The Cartesian trajectory of the moving part 2 is a pure translation from an initial position 1 to a final position 2. These positions are directly obtained from the geometry of the two parts 1, 2.
[0097] Once a line is determined by the perspective projection, when the moving part 2 moves at a constant speed from the first position to the second position, each pixel describes a segment in its own image. However, the pixel's speed is not constant if its z coordinate in the frame of cameras 5, 6, 7 is not constant. Therefore, it is necessary that the camera's z axis is substantially parallel to the Z direction, i.e., orthogonal to the axial X direction. Under this assumption, the pixel speeds are almost constant, which means that the trajectory of the target vector s of all cameras 5, 6, 7 is very close to the segment. The idea is therefore to use this segment [si, S2] as the counterpart of the assembly axis in the image space of cameras 5, 6, 7.
[0098] Images of the ends of the parts 1, 2 are taken by each camera 5, 6, 7 to obtain vectors s measured during a measurement step 20. The vector field f(s) in each image of the cameras 5, 6, 7 is then obtained from the vectors s measured by the cameras 5, 6, 7, during a vector field f(s) calculation operation 21 and as illustrated in FIG. 5.
[0099] Figure 5 illustrates a vector field f(s) with the segment [si, S2] for a single pixel. In reality, it is a segment in the space of all pixels (40 in our example). The arrows represent the vector field f(s) for different values of vectors s measured by the cameras.
[0100] The vector field f(s) brings the points back onto the target line [si, S2] and ensures their progression towards the target. Apart from the ends si and S2, the field is therefore parameterized by two distinct speeds: the one which controls the embedding and the one which controls the correction of the deviations. Each speed can be adjusted independently.
[0101] The following describes an example of constructing a vector field in more detail.
[0102] Let D be the assembly distance and Vo the desired Cartesian speed. The corresponding (average) speed in the measurement space is
[0103] Due to the way the cameras are positioned, the actual speed of s in the ideal trajectory deviates only slightly from its average value, and the deviation is thus well absorbed by the pseudo-inverse of the Jacobian matrix L s , as described later.
[0104] The line passing through si and S2 is called "baseline 26", as illustrated in Figure 6, and do is the direction vector, which is oriented deliberately from S2 to si according to the following relation
[0105] To construct the vector field, the sensor space is divided into three zones, including: an outer zone Tl where f brings s back to baseline 26, following a proportional law based on the gap (the distance from baseline 26) with a gain X, a corridor 28 where f brings s back to baseline 26 while making it progress towards S2. The speed inside corridor 28 has a constant norm: 11 f(s) 11 = vo, and a braking zone 29 where f makes s converge towards S2 with an average deceleration a along baseline 26.
[0106] Convergence is bounded by a decreasing exponential, either of rate a (which dominates the projection onto baseline 26), or X (which dominates the projection orthogonally to baseline 26).
[0107] Thus, the vector field depends on 3 parameters: the desired speed vo in the corridor 28, the average deceleration a in the rupture zone 29, and the gain factor X modeling the attractive force of the baseline 26.
[0108] Braking zone 29 is represented by the gray butterfly in Figure 6. 51 the target S2 is exceeded (which can happen in practice), the braking zone 29 allows the system to move backward. The backward movement is represented by the thick arrow 30.
[0109] The field is constructed as illustrated in Figure 7. To begin, the vector s is decomposed into a scalar d and a vector e according to the following relation: s = 52 + d.do + e
[0110] d, as "distance", represents the projection of s onto baseline 26 with S2 as the origin, and e, as "error", represents the remainder. It is necessarily orthogonal to baseline 26. These parameters can be obtained quickly if the projection matrix onto baseline 26 is calculated once and for all according to the following relation: P = do.do T
[0111] In this case, d = do T P (s - S2) and e = (I - P) (s - S2).
[0112] A linear application with saturation v(d) is then defined. It represents the desired velocity along the baseline 26.
[0113] The vector field f(s) = f(d, e) is then defined, as shown in Figure 5.
[0114] Then, a pixel velocity profile is determined from the vector field f(s), during a velocity profile calculation operation 22.
[0115] A pseudo-inverse operation of the interaction matrix 23 is applied to the pixel velocity profile to obtain Cartesian velocities.
[0116] A multiplication operation by the inverse Jacobian matrix of the robot 24 is then applied to the Cartesian speeds to obtain a rapprochement instruction allowing the robot to be controlled. The rapprochement instruction is translated, among other things, in the form of speeds (the one which controls the embedding and the one which controls the correction of the gaps).
[0117] The robot moves the moving part 2 towards the fixed part 1 according to the approach instruction during a control step 25.
[0118] These different operations thus allow the embedding to be carried out in a more linear manner compared to the primary visual servo loop. They also make it possible to avoid the numerous disadvantages of a discretized trajectory, in particular the jerky movement imposed by the convergence towards each intermediate point.
[0119] Unlike the primary servo method, the measurement of the vectors is directly translated into a speed thanks to the ad-hoc vector field f(s) ensuring both the reduction of the deviation (from the embedding axis) and a speed of progression along the axis.
[0120] A displacement speed is no longer simply deduced from a deviation that is compensated, but all desired displacements are described explicitly from a given deviation, so that the kinematics of the embedding are respected. This therefore gives a vector field in the image space.
[0121] Alternatively, it is possible to apply a method with very slow embedding but rapid correction of deviations. The field has been constructed to be continuous at all points and therefore, in theory, not to cause any sudden acceleration.
[0122] However, in practice, it is common for the system to brake for safety reasons, due to a delay in the flow of images or errors related to their processing. For this reason, accelerations / decelerations are again properly managed by applying a velocity profile to the vector field f(s) at the output of the field.
[0123] The vector field f(s) is constructed using the fact that the projection of the Cartesian translation does indeed give a straight line in the image of each pixel in 2 dimensions (2D). However, a Cartesian constant velocity translation will not give a constant velocity trajectory in 2D.
[0124] Imposing a uniform velocity on each pixel in 2D therefore results in a non-uniform Cartesian velocity. In particular, the velocities of the different pixels obtained do not translate into the same Cartesian speeds. They are in fact incompatible, except in very specific cases.
[0125] However, these two problems are negligible in practice due to the variation of the Cartesian velocity and the decoupling of the pixels. The second problem is overcome by the pseudo-inverse of the control.
[0126] Alternatively, the algorithm can construct a curved vector field, by exactly projecting the Cartesian velocity vector onto each pixel. This calculation can be performed dynamically at point si or S2, by applying the camera model 5, 6, 7 from the estimated Cartesian position.
[0127] Naturally, the invention is described in the foregoing by way of example. It is understood that those skilled in the art are able to carry out different variant embodiments of the invention without departing from the scope of the invention.
[0128] It is emphasized that all features, as they emerge for a person skilled in the art from this description, the drawings and the attached claims, even if they have been specifically described only in relation to other specific features, both individually and in any combinations, may be combined with other features or groups of features disclosed herein, provided that this has not been expressly excluded or that technical circumstances make such combinations impossible or meaningless.
Claims
CLAIMS Method for automated assembly of a fixed part (1) with a moving part (2) capable of being moved relative to the fixed part by a robot, characterized in that it comprises the following steps: determining reference points at a first end (3) of the fixed part (1) and at a second end (4) of the moving part (2), positioning at least one camera (5, 6, 7) so that the reference points of the two parts (1, 2) are in the field of vision of the camera (5, 6, 7), the camera (5, 6, 7) being fixed relative to the fixed part (1), applying a primary visual control loop from images of the ends (3, 4) of the two parts (1, 2) taken by the camera (5, 6, 7) to determine a first movement instruction for the robot to enable it to bring the moving part (2) closer to the fixed part (1),application of a secondary visual control loop comprising a calculation using the principle of vector fields from the images of the ends of the two parts (1, 2) taken by the camera (5, 6, 7) to generate a second movement instruction allowing the robot to embed the moving part (2) in the fixed part (1), and fixing the two parts (1, 2) together. Assembly method according to claim 1, characterized in that the primary visual control loop comprises the following steps: taking an image of the ends of the two parts (1, 2), determining a target image, and comparing pixels of the target image and pixels of the image taken to generate the movement instruction based on a difference between said pixels., 3. Assembly method according to claim 2, characterized in that it comprises an initial step in which the position and orientation of the camera (5, 6, 7) relative to the fixed part (1) are determined from the observation of the end of the fixed part (1) by the camera (5, 6, 7) and by means of a numerical optimization calculation.
4. Assembly method according to claim 3, characterized in that a target vector (x, y) of the moving part (2) is determined from the relative position between the fixed part (1) and the camera (5, 6, 7) and from the embedding configuration between the fixed part (1) and the moving part (2), x and y being the coordinates of the target reference points.
5. Assembly method according to claim 4, characterized in that a measurement vector (x', y') is determined from the images taken by the camera (5, 6, 7), x' and y' being the coordinates of the reference points on the parts (1, 2), the measurement vector (x', y') being compared to the target vector (x, y) to determine the gap between the pixels, a speed profile being determined from the gap, a pseudo-inverse operation of the interaction matrix being applied to the speed profile to obtain Cartesian speeds and a multiplication by the inverse Jacobian matrix of the robot being applied to the Cartesian speeds to obtain a displacement setpoint.
6. Assembly method according to any one of claims 3 to 5, characterized in that it comprises, after the initial step, a step of presenting the parts (1, 2) in an open loop, at the end of which the parts (1, 2) are a few centimeters apart, the presentation step being followed by a primary visual pre-embedding servo loop at the end of which the parts (1, 2) are facing each other while being correctly aligned, a secondary visual servo loop then being carried out at the end of which the parts (1, 2) are correctly embedded, a target vector (x, y) being determined during each of these steps.
7. Assembly method according to claim 6, characterized in that to produce the secondary visual control loop, a first target vector si corresponding to a first position and a second target vector S2 corresponding to a second position are calculated during the pre-embedding step, a straight line [si, S2] in each image of the cameras (5, 6, 7) being drawn in the pixel space, images of the ends of the parts (1, 2) being taken by the camera (5, 6, 7) to obtain a vector field f(s) in each image of the cameras (5, 6, 7) from vectors (s) measured by the cameras (5, 6, 7). Assembly method according to claim 7, characterized in that a pixel speed profile is determined from the vector field f(s), a pseudo-inverse operation of the interaction matrix being applied to the pixel speed profile to obtain Cartesian speeds and a multiplication by the inverse Jacobian matrix of the robot being applied to the Cartesian speeds to obtain the approach setpoint for controlling the robot.Assembly method according to claim 7 or 8, characterized in that the vector field f(s) is constructed around the segment [si, S2] delimiting a Cartesian trajectory. Assembly method according to claim 7 to 9, characterized in that for the construction of the vector field f(s), the image space is divided into three zones, including: an external zone (27) where f brings s back to a baseline (26) formed by the straight line passing through si and S2, according to a proportional law based on a deviation, or a distance, from the baseline (26), with a gain X; a corridor (28) where f brings s back to the baseline (26) while making it progress towards S2; and a braking zone (29) where f makes s converge towards S2 with an average deceleration a along the baseline 26.
11. Assembly method according to any one of claims 1 to 10, characterized in that the reference points comprise disc-shaped markers distributed around bores (8, 9) provided on the moving part (2) and on the fixed part (1) for fixing the two parts.
12. Automated assembly system of a fixed part (1) with a moving part (2) capable of being moved relative to the fixed part by a robot, characterized in that it implements the assembly method as defined according to any one of claims 1 to 11.