WO2024017809A1 - Method for the automated assembly of two parts, comprising automatic control using cameras - Google Patents

Method for the automated assembly of two parts, comprising automatic control using cameras Download PDF

Info

Publication number
WO2024017809A1
WO2024017809A1 PCT/EP2023/069738 EP2023069738W WO2024017809A1 WO 2024017809 A1 WO2024017809 A1 WO 2024017809A1 EP 2023069738 W EP2023069738 W EP 2023069738W WO 2024017809 A1 WO2024017809 A1 WO 2024017809A1
Authority
WO
WIPO (PCT)
Prior art keywords
parts
fixed part
camera
vector
robot
Prior art date
Application number
PCT/EP2023/069738
Other languages
French (fr)
Inventor
Gilles CHABERT
François CHAUMETTE
Adolfo Suarez Roos
Original Assignee
Institut De Recherche Technologique Jules Verne
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 Institut De Recherche Technologique Jules Verne filed Critical Institut De Recherche Technologique Jules Verne
Publication of WO2024017809A1 publication Critical patent/WO2024017809A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • 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/39391Visual servoing, track end effector with camera image feedback
    • 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/39397Map image error directly to robot movement, position with relation to world, base not needed, image based visual servoing
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40032Peg and hole insertion, mating and joining, remote center compliance

Definitions

  • the invention relates, in general, to the technical field of automated assembly processes of two parts by robotic systems and more particularly the precision assembly of parts such as beams comprising a mechanical connection of the tenon/clevis type at their end. It also aims at an assembly system implementing these processes.
  • the invention relates more specifically to an automated assembly process for aligning and embedding two beams of an aircraft.
  • This type of robotic system is also called a machine tool.
  • machine tool we mean a mechanism composed of controlled digital axes. These may in particular be robotic gantries or industrial robots identified below under the term robot.
  • the structure of an aircraft is very complex, and it is often divided into several structural elements having large sections.
  • 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 in relation to each other with precision, then fitted into one another.
  • Aircraft manufacturers currently use global positioning of the modules integrating the beams to be assembled by a laser tracking type metrological system.
  • the beams are not designed to be directly embedded.
  • a male beam includes tenons at one of its ends intended to be inserted into yokes provided at one end of a female beam.
  • One of the beams is movable relative to the other.
  • the mechanical connection is made 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.
  • 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 experience of the operator to overcome in particular the deformation of the tools, their alignment errors or mechanical clearances. This manual moving process is also very time-consuming.
  • This document also discloses a robotic automatic assembly system for two aircraft beams whose mechanical connection consists of tenons and yokes.
  • the system includes three cameras placed around the connection and means for executing a visual servo algorithm guiding the embedding movement.
  • the invention aims to remedy all or part of the disadvantages of the state of the art by proposing in particular an automated assembly process that is more precise and faster than those of the prior art.
  • a method of automated assembly of a fixed part with a moving part capable of being moved relative to the fixed part by a robot 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 visual field of the camera, the camera being fixed in relation to the fixed part, application of a primary visual control loop from images of the ends of the two parts taken by the camera to determine a first movement instruction of the robot to enable it to bring the moving part closer to the fixed part, 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 taken by the camera to generate a second movement instruction allowing the robot to embed the moving part in the fixed part, and fixing the two parts together.
  • the primary visual control 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 image taken to generate the movement instruction based on a difference between said pixels.
  • the assembly method comprises an initial step in which the position and orientation of the camera relative to the fixed part are determined from observation of the end of the fixed part by the camera and via a digital optimization calculation.
  • a target vector (x, y) of the moving part is determined from the relative position between the fixed part and the camera and from the embedding configuration between the fixed part and the moving part, x and y being the coordinates of the target landmarks.
  • 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 distance between pixels.
  • a speed profile is determined from the difference.
  • 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 movement instruction.
  • the assembly process comprises, after the initial step, a step of presenting the parts in an open loop.
  • a simple open loop is made during the presentation stage at the end of which the pieces are separated by a few centimeters.
  • the part presentation step is followed by a primary visual control loop of pre-embedding during a pre-embedding step at the end of which the parts are correctly aligned, that is to say say in a configuration where a simple translation remains to be done to obtain contactless embedding.
  • a target vector (x, y) is determined during each of these steps.
  • a secondary visual control loop is then produced during a step mounting in which the parts fit without contact until the bores are aligned.
  • a first target vector S corresponding to a first position and a second target vector S2 corresponding to a second position are calculated during the pre-step. -embedding.
  • a line [si, S2] in each camera image is drawn in pixel space. Images of the ends of the parts are taken by the camera to obtain a vector field f(s) in each camera image from vectors s measured by the cameras.
  • a pixel speed profile is determined from the vector field f(s).
  • a pseudo-inverse operation of the interaction matrix is applied to the pixel 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 the approximation instruction making it possible to pilot the robot.
  • the vector field f(s) is constructed around the segment [si, S2] delimiting a Cartesian trajectory.
  • the image space is divided into three zones, including: an exterior zone where f reduces s to a baseline formed by the line passing through if 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 converges s towards S2 with an average deceleration a along the baseline.
  • 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.
  • the invention also relates to a system for automated assembly of a fixed part with a moving part capable of being moved relative to the fixed part by a robot.
  • the system implements the assembly process as defined previously.
  • the invention thus makes it possible to provide an automated assembly process 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 while reducing the duration of the assembly operation. less than three minutes away.
  • the cameras can be placed approximately around their respective nominal positions at the same time as the assembly operation. Camera registration is carried out automatically.
  • 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 vector segment [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.
  • the invention relates to a method of automated assembly of a fixed part 1 with a moving part 2, as shown in Figure 1, capable of being moved relative to the fixed part 1 by a robot or a controller of speed.
  • robot we mean a robotic system also called a machine tool.
  • a machine tool can be a mechanism composed of servo-controlled digital axes. These may include robotic gantries or industrial robots or actuators.
  • the movable part 2 is a female part comprising at least one yoke 11a, 11b, 11c extending in an axial direction 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.
  • the axial direction X is substantially horizontal.
  • Each yoke 11a, 11b, 11c also includes a housing 12.
  • the fixed part 1 is a male part comprising at least one tenon 10a, 10b, 10c extending in the axial direction
  • the tenon 10a, 10b, 10c also comprises a bore 8 having an axis perpendicular to the axial direction X.
  • the moving part 2 can be a female part and the fixed part 1 can be a male part.
  • the bores 8, 9 have a circular section but can have other shapes such as square or ovoid shapes.
  • the movable part 2 comprises at least three yokes 11a, 11b, 11c and the fixed part 1 comprises at least three tenons 10a, 10b, 10c.
  • the movable part 2 is a female part comprising five yokes lia, 11b, 11c including two first lateral yokes lia juxtaposed one above the other , two second side yokes 11b juxtaposed one above the other and a central yoke 11c positioned between the side yokes 11a, 11b.
  • the first two side yokes lia and the two second side yokes 11b each comprise a bore 9 which has a central axis perpendicular to the direction X and which extends in a direction Y.
  • the central yoke 11c comprises a central axis perpendicular to the direction X and which extends in a direction Z perpendicular to the directions X and Y.
  • 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 side tenons 10b juxtaposed one above the other and a central tenon 10c positioned between the side tenons 10a, 10b.
  • 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 in the housing 12 of the copes lia, 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.
  • the first end 3 of the fixed part 1 is progressively obscured by the second end 4 of the moving part 2.
  • the moving part 2 only moves in translation.
  • the fixed parts 1 and mobile parts 2 are aircraft beams but the assembly process also applies to other types of parts.
  • 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.
  • the principle consists of finding remarkable or identifiable points on parts 1, 2 so that a control based on image capture and processing can function.
  • the reference points include 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.
  • the fixed 1 and movable 2 parts 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.
  • the discs must have a precise and clean outline. They must not create excess thickness. They can be obtained by filling a colored substance with paint, resin, etc. in a knockout, then polishing the piece. In this example, there are therefore a total of 40 markers per piece.
  • markers are not a condition for success and should not appear as such. But it is preferable to add markers in order to have very high confidence in the measurements obtained by a visual process. The process works without artificial markers but this leads to greater complexity of image processing and less robustness to lighting conditions, without impacting the servo process itself.
  • the reference points can be the centers of the bores 8, 9.
  • the reference points of the moving part 2 must coincide with the reference points of the fixed part 1 during installation.
  • 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 visual field of the camera 5, 6, 7
  • the camera 5, 6, 7 is fixed relative to the fixed part 1.
  • a first camera 5 is positioned and oriented facing the bores 9 of the first two lateral yokes lia of the moving part 2 and facing the bores 8 of the first two 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.
  • 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
  • the cameras 5, 6, 7 can be 5, 6, 7 to 12 Megapixel cameras of the GV-5200SE-C-HQ model of the IDS company including M111FM16 lenses from the Tamron company.
  • the intrinsic calibration of each camera 5, 6, 7 must be carried out rigorously (industrial calibration target) once the focus has been adjusted to obtain a clear image at approximately 30 cm distance.
  • Each camera 5, 6, 7 is positioned approximately 30 cm from rooms 1, 2.
  • the assembly process comprises three stages of movement of the moving part 2 including a stage 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.
  • the assembly method also comprises a pre-embedding step in which the movable part 2 is potentially moved along all axes until it is well aligned with the fixed part 1 and an embedding step in which the movable part 2 is fitted with the fixed part 1.
  • 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 observation of the end of the fixed part 1 by cameras 5, 6, 7 and by means of a digital optimization calculation of the least squares method type, for example.
  • each camera 5, 6, 7 observes the tenons 10a, 10b, 10c which face it (only one in the case of the third camera 7) and a treatment is applied image to get the centers of the markers.
  • a position calculation algorithm is applied to deduce the relative position of the camera 5, 6, 7 relative to the fixed part 1.
  • the position calculation algorithm uses least squares optimization. This step is automatic but requires visual validation from the operator, for safety. Visual validation is done by noting the superposition in the image of the projected markers, that is to say where the markers are supposed to appear if the camera 5, 6, 7 is at the position calculated with the real markers.
  • the relative position of the fixed part 1 relative to the base of the robot is assumed to be known approximately. This is the case in practice because the fixed part 1 is located on a module or fixed support, which is referenced in the reference of a workshop.
  • the moving part 2 is approached by the operator or by an open loop program towards a position sufficiently far from the fixed part 1 to avoid any risk of collision between the parts 1, 2 but sufficiently close so that the yokes lia, 11b, 11c of the moving part 2 enter the field of vision of the cameras 5, 6, 7.
  • a first primary visual control 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 setpoint of movement of a robot to enable it to correctly align the moving part 2 facing the fixed part 1.
  • the initial step makes it possible to produce the first primary visual control loop.
  • the initial step makes it possible 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 by simulating the images.
  • the errors in estimating certain degrees of freedom of a camera are compensated by the combination of n images.
  • the measurement vector (x'i, y'i) is then compared to the target vector (xi, yi) to determine the difference between the pixels during a comparison step 15.
  • a speed profile is determined from the difference during a speed profile calculation operation 16.
  • 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 setpoint comprising a movement speed of the robot and in particular a joint speed.
  • the robot moves the moving part 2 towards the fixed part 1 according to the first movement instruction during a control step 19.
  • 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 only for if.
  • the first and second vectors are obtained by concatenating the image instructions of the three cameras 5, 6, 7.
  • the first and second target vectors therefore comprise a total of 80 components including the x and y coordinates of each of the 40 reference points.
  • the stopping criterion applied is then a maximum gap between the two parts 1, 2 of 1.5 mm.
  • this error gives a pixel positioning error in space less than 0.6 mm.
  • the Cartesian precision obtained in practice is much better, of the order of 0.2 mm.
  • a secondary visual control loop comprising a calculation using the vector field principle is then applied during the embedding step, as illustrated in Figure 4, to improve linearity during this step which is delicate.
  • the secondary visual control loop can be used during another movement step.
  • This solution is based on 2 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 space of images (or sensors).
  • This vector field f(s) is an ad-hoc formula.
  • the second idea concerns the stability of the movement.
  • the objective is to create a speed vector field f(s) from the measurements of the cameras 5, 6, 7 which respects the kinematics of the embedding.
  • the target (or expected) vectors si and S2 associated with these two expected positions are calculated in 2 steps.
  • Figure 5 illustrates a field of vectors 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 vector values s measured by the cameras.
  • the vector field f(s) brings the points back to the target line [si, S2] and ensures their progress towards the target. Apart from the ends si and S2, the field is therefore parameterized by two distinct speeds: the one which controls the integration and the one which controls the correction of the differences. Each speed can be adjusted independently.
  • base line 26 The line passing through si and S2 is called “base line 26”, as illustrated in Figure 6, and do is the direction vector, which is voluntarily oriented from S2 towards si according to the following relationship
  • the sensor space is divided into three zones, including: an exterior zone Tl where f brings s back to the base line 26, following a proportional law based on the deviation (the distance per compared to 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.
  • the convergence is bounded by a decreasing exponential, either of rate a (which dominates the projection on the base line 26), or X (which dominates the projection orthogonal to the base line 26).
  • Braking zone 29 is represented by the gray butterfly in Figure 6.
  • the braking zone 29 allows the system to move backwards.
  • the recoil is represented by the thick arrow 30.
  • d represents the projection of s on the baseline 26 with S2 as origin, and e, as "error", represents the remainder. It is necessarily orthogonal to the base line 26.
  • a pixel speed profile is determined from the vector field f(s), during a speed profile calculation operation 22.
  • a pseudo-inverse operation of the interaction matrix 23 is applied to the pixel speed profile to obtain Cartesian speeds.
  • a multiplication operation by the inverse Jacobian matrix of the robot 24 is then applied to the Cartesian speeds to obtain a reconciliation instruction making it possible to control the robot.
  • the approximation instruction is expressed, among other things, in the form of speeds (the one which controls the integration and the one which controls the correction of the differences).
  • the robot moves the moving part 2 towards the fixed part 1 according to the approximation instruction during a control step 25.
  • These different operations thus make it possible to carry out the embedding in a more linear manner with respect to the primary visual control 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.
  • 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 (at the axis d 'embedding) and a speed of progression along the axis.
  • a movement speed is no longer simply deduced from a deviation which is compensated but all the desired movements are described explicitly from a given deviation, so that the kinematics of the embedding are well respected. This therefore gives a vector field in image space.
  • the vector field f(s) is constructed using the fact that the projection of the Cartesian translation gives a straight line in the image of each pixel in 2 dimensions (2D). However, a Cartesian constant velocity translation will not result in a constant velocity trajectory in 2D.
  • the algorithm can construct a curved vector field, by exactly projecting the Cartesian speed vector onto each pixel. This calculation can be carried out dynamically at the point si or S2, by applying the camera model 5, 6, 7 from the estimated Cartesian position.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Image Processing (AREA)

Abstract

The invention relates to a method for the automated assembly of a stationary part (1) with a moving part (2) capable of being displaced relative to the stationary part by a robot. The method comprises the following steps of: determining reference points at the first end (3) of the stationary part (1) and at the second end (4) of the moving part; positioning at least one camera (5, 6, 7) such that the reference points of the two parts are in the camera's field of vision; applying a primary visual control loop based on images of the ends of the two parts to determine a first displacement instruction for the robot; and applying a secondary visual control loop comprising a computation using the principle of vector fields based on images of the ends of the two parts to generate a second displacement instruction for embedding the parts.

Description

DESCRIPTION DESCRIPTION
PROCEDE D'ASSEMBLAGE AUTOMATISE DE DEUX PIECES COMPRENANT UN ASSERVISSEMENT AVEC DES CAMERAS METHOD FOR AUTOMATED ASSEMBLY OF TWO PARTS INCLUDING SERVO CONTROL WITH CAMERAS
DOMAINE TECHNIQUE DE L'INVENTION TECHNICAL FIELD OF THE INVENTION
[0001] L' invention concerne, de façon générale, le domaine technique des procédés d’assemblage automatisés de deux pièces par des systèmes robotisés et plus particulièrement l’assemblage de précision de pièces telles des poutres comprenant une liaison mécanique du type tenon/chape à leur extrémité. Elle vise également un système d’assemblage mettant en œuvre ces procédés. [0001] The invention relates, in general, to the technical field of automated assembly processes of two parts by robotic systems and more particularly the precision assembly of parts such as beams comprising a mechanical connection of the tenon/clevis type at their end. It also aims at an assembly system implementing these processes.
[0002] L’ invention se rapporte plus spécifiquement à un procédé d’assemblage automatisé pour aligner et encastrer deux poutres d’un aéronef. [0002] The invention relates more specifically to an automated assembly process for aligning and embedding two beams of an aircraft.
[0003] Ce type de système robotisé est également appelé machine-outil. On entend sous le terme de machine-outil, une mécanique composée d'axes numériques asservis. Il peut s'agir notamment de portiques robotisés ou de robots industriels identifiés dans la suite sous le terme de robot. [0003] This type of robotic system is also called a machine tool. By the term machine tool, we mean a mechanism composed of controlled digital axes. These may in particular be robotic gantries or industrial robots identified below under the term robot.
ÉTAT DE LA TECHNIQUE ANTÉRIEURE STATE OF PRIOR ART
[0004] De manière générale, la structure d'un aéronef est très complexe, et elle est souvent divisée en plusieurs éléments de structure présentant des sections importantes. Par exemple, le fuselage d’un aéronef est constitué de plusieurs tôles soutenues par une structure interne comportant plusieurs poutres assemblées les unes aux autres. Pour pouvoir être assemblées, ces poutres sont d’abord positionnées l’une par rapport à Vautres avec précision, puis encastrées l’une dans l’autre. [0004] Generally speaking, the structure of an aircraft is very complex, and it is often divided into several structural elements having 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 in relation to each other with precision, then fitted into one another.
[0005] Les avionneurs utilisent actuellement un positionnement global des modules intégrant les poutres à assembler par un système métrologique de type laser de poursuite. Les poutres ne sont pas conçues pour être encastrées directement. Pour réaliser la liaison mécanique une poutre mâle comprend des tenons à l’une de ses extrémités destinées à s’insérer dans des chapes prévues à une extrémité d’une poutre femelle. L’une des poutres est mobile par rapport à l’autre. [0006] La liaison mécanique est réalisée en alternant des mouvements d’approche et, dans le cas d’un réglage « au pratique », d’ajustage des deux poutres. Les tenons sont réusinés sur place pour s’adapter à la géométrie des chapes. [0005] Aircraft manufacturers currently use global positioning of the modules integrating the beams to be assembled by a laser tracking type metrological system. 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 yokes provided at one end of a female beam. One of the beams is movable relative to the other. [0006] The mechanical connection is made 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] L’ assemblage se réalise de façon itérative par les opérateurs, qui alternent une lecture des positions relatives des poutres à assembler et un déplacement du support supportant l’une des poutres. Ce déplacement manuel nécessite l’expérience de l’opérateur pour palier notamment à la déformation des outillages, leurs erreurs d’alignement ou les jeux mécaniques. Ce procédé de déplacement manuel est également très long. [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 experience of the operator to overcome in particular the deformation of the tools, their alignment errors or mechanical clearances. This manual moving process is also very time-consuming.
[0008] De plus, il est fréquent pour certains types d’avion que l’alignement final des alésages des tenons et chapes ne respectent pas les tolérances. Il peut y avoir 1 mm d’espacement entre les poutres. Les tenons doivent alors être passés en force. [0008] Furthermore, it is common for certain types of aircraft that the final alignment of the bores of the tenons and yokes does not respect the tolerances. There may be 1mm spacing between beams. The tenons must then be pushed through.
[0009] On connaît le document CN110919654 qui vise à résoudre ces problèmes et qui divulgue un bras robotisé asservi par une caméra. La caméra réalise des images de l’interface entre deux pièces d’un fuselage d’aéronef à assembler qui sont transmises à un système de traitement d’image qui calcule en retour une consigne de déplacement qui est transmise au bras robotisé. [0009] We know the document CN110919654 which aims to resolve these problems and which 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] Ce document divulgue également un système d’assemblage automatique robotisé de deux poutres d’avion dont la liaison mécanique est constituée de tenons et chapes. Le système comprend trois caméras déposées autour de la liaison et des moyens pour exécuter un algorithme d’asservissement visuel guidant le mouvement d’encastrement. [0010] This document also discloses a robotic automatic assembly system for two aircraft beams whose mechanical connection consists of tenons and yokes. The system includes three cameras placed around the connection and means for executing a visual servo algorithm guiding the embedding movement.
[0011] Cependant, ces systèmes d’asservissement par caméra ne sont pas précis sur l’ensemble de la trajectoire et peuvent entraîner des collisions ou des frottements entre les tôles, notamment lors de l’étape d’encastrement qui est délicate. Il est en effet difficile d’obtenir un mouvement parfaitement linéaire. EXPOSE DE L'INVENTION [0011] However, these camera control systems are not precise over the entire trajectory and can lead to collisions or friction between the sheets, particularly during the embedding step which is delicate. It is indeed difficult to obtain a perfectly linear movement. STATEMENT OF THE INVENTION
[0012] L’ invention vise à remédier à tout ou partie des inconvénients de l’état de la technique en proposant notamment un procédé d’assemblage automatisé plus précis et plus rapide que ceux de l’art antérieur. [0012] The invention aims to remedy all or part of the disadvantages of the state of the art by proposing in particular an automated assembly process that is more precise and faster than those of the prior art.
[0013] Pour ce faire est proposé, selon un premier aspect de l'invention, un procédé d’assemblage automatisé d’une pièce fixe avec une pièce mobile apte à être déplacée par rapport à la pièce fixe par un robot. Le procédé comprend les étapes suivantes : détermination de points de repère à une première extrémité de la pièce fixe et à une deuxième extrémité de la pièce mobile, positionnement d’au moins une caméra de façon que les points de repère des deux pièces soient dans le champ visuel de la caméra, la caméra étant fixe par rapport à la pièce fixe, application d’une boucle d’asservissement visuelle primaire à partir d’images des extrémités des deux pièces prises par la caméra pour déterminer une première consigne de déplacement du robot pour lui permettre de rapprocher la pièce mobile vers la pièce fixe, application d’une boucle d’asservissement visuelle secondaire comprenant un calcul utilisant le principe des champ de vecteurs à partir des images des extrémités des deux pièces prises par la caméra pour générer une deuxième consigne de déplacement permettant au robot d’encastrer la pièce mobile dans la pièce fixe, et fixation des deux pièces ensemble. [0013] To do this, according to a first aspect of the invention, a method of automated assembly of a fixed part with a moving part capable of being moved relative to the fixed part by a robot is proposed. 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 visual field of the camera, the camera being fixed in relation to the fixed part, application of a primary visual control loop from images of the ends of the two parts taken by the camera to determine a first movement instruction of the robot to enable it to bring the moving part closer to the fixed part, 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 taken by the camera to generate a second movement instruction allowing the robot to embed the moving part in the fixed part, and fixing the two parts together.
[0014] Selon un mode de réalisation, la boucle d’asservissement visuelle primaire comprend les étapes suivantes : prise d’une image des extrémités des deux pièces, détermination d’une image cible, et comparaison entre des pixels de l’image cible et des pixels de l’image prise pour générer la consigne de déplacement d’après un écart entre lesdits pixels. [0014] According to one embodiment, the primary visual control 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 image taken to generate the movement instruction based on a difference between said pixels.
[0015] Selon un autre mode de réalisation, le procédé d’assemblage comprend une étape initiale dans laquelle la position et l’orientation de la caméra par rapport à la pièce fixe sont déterminées à partir de l’observation de l’extrémité de la pièce fixe par la caméra et via un calcul d’optimisation numérique. [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 observation of the end of the fixed part by the camera and via a digital optimization calculation.
[0016] Selon un autre mode de réalisation, un vecteur cible (x, y) de la pièce mobile est déterminé à partir de la position relative entre la pièce fixe et la caméra et de la configuration d’encastrement entre la pièce fixe et la pièce mobile, x et y étant les coordonnées des points de repère cibles. [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 from the embedding configuration between the fixed part and the moving part, x and y being the coordinates of the target landmarks.
[0017] Selon un autre mode de réalisation, un vecteur de mesure (x’, y’) est déterminé à partir des images prises par la caméra, x’ et y’ étant les coordonnées des points de repère sur les pièces. Le vecteur de mesure (x’, y’) est comparé au vecteur cible (x, y) pour déterminer l’écart entre les pixels. Un profil de vitesse est déterminé à partir de l’écart. Une opération de pseudo-inverse de la matrice d’interaction est appliquée sur le profil de vitesse pour obtenir des vitesses cartésiennes et une multiplication par la matrice jacobienne inverse du robot est appliquée sur les vitesses cartésiennes pour obtenir une consigne de déplacement. [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 distance between pixels. A speed profile is determined from the difference. 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 movement instruction.
[0018] Selon un autre mode de réalisation, le procédé d’assemblage comprend, après l’étape initiale, une étape de présentation des pièces en boucle ouverte. Une simple boucle ouverte est réalisée lors de l’étape de présentation à l’issue de laquelle les pièces sont distantes de quelques centimètres. [0018] According to another embodiment, the assembly process comprises, after the initial step, a step of presenting the parts in an open loop. A simple open loop is made during the presentation stage at the end of which the pieces are separated by a few centimeters.
[0019] L’ étape de présentation des pièces est suivie d’une boucle d'asservissement visuelle primaire de pré-encastrement lors d’une étape de pré-encastrement à l’issue de laquelle les pièces sont correctement alignées, c’est à dire dans une configuration où une simple translation reste à faire pour obtenir un encastrement sans contact. Un vecteur cible (x, y) est déterminé lors de chacune de ces étapes. Une boucle d'asservissement visuelle secondaire est ensuite réalisée lors d’une étape d’encastrement dans laquelle les pièces s’encastrent sans contact jusqu’à l’alignement des alésages. [0019] The part presentation step is followed by a primary visual control loop of pre-embedding during a pre-embedding step at the end of which the parts are correctly aligned, that is to say say in a configuration where a simple translation remains to be done to obtain contactless embedding. A target vector (x, y) is determined during each of these steps. A secondary visual control loop is then produced during a step mounting in which the parts fit without contact until the bores are aligned.
[0020] Selon un autre mode de réalisation, pour réaliser la boucle d’asservissement visuelle secondaire, un premier vecteur cible si correspondant à une première position et un deuxième vecteur cible S2 correspondant à une seconde position sont calculés lors de l’étape de pré-encastrement. Une droite [si, S2] dans chaque image des caméras est tracée dans l’espace des pixels. Des images des extrémités des pièces sont prises par la caméra pour obtenir un champ vectoriel f(s) dans chaque image des caméras à partir de vecteurs s mesurés par les caméras. [0020] According to another embodiment, to produce the secondary visual control loop, a first target vector S corresponding to a first position and a second target vector S2 corresponding to a second position are calculated during the pre-step. -embedding. A line [si, S2] in each camera image is drawn in pixel space. Images of the ends of the parts are taken by the camera to obtain a vector field f(s) in each camera image from vectors s measured by the cameras.
[0021] De préférence, un profil de vitesse en pixel est déterminé à partir du champ vectoriel f(s). Une opération de pseudo-inverse de la matrice d’interaction est appliquée sur le profil de vitesse en pixel pour obtenir des vitesses cartésiennes et une multiplication par la matrice jacobienne inverse du robot est appliquée sur les vitesses cartésiennes pour obtenir la consigne de rapprochement permettant de piloter le robot. Preferably, a pixel speed profile is determined from the vector field f(s). A pseudo-inverse operation of the interaction matrix is applied to the pixel 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 the approximation instruction making it possible to pilot the robot.
[0022] Selon un mode de réalisation, le champ vectoriel f(s) est construit autour du segment [si, S2] délimitant une trajectoire cartésienne. According to one embodiment, the vector field f(s) is constructed around the segment [si, S2] delimiting a Cartesian trajectory.
[0023] Selon un mode de réalisation, pour la construction du champ vectoriel f(s), l'espace image est divisé en trois zones, dont : une zone extérieure où f ramène s à une ligne de base formée par la droite passant par si et S2, suivant une loi proportionnelle basée sur un écart, ou une distance, par rapport à la ligne de base, avec un gain X ; un couloir où f ramène s à la ligne de base tout en le faisant progresser vers S2 ; et une zone de freinage où f fait converger s vers S2 avec une décélération moyenne a le long de la ligne de base. [0024] Selon un autre mode de réalisation, les points de repère comprennent des marqueurs en forme de disque répartis autour d’alésages prévus sur la pièce mobile et sur la pièce fixe pour la fixation des deux pièces. [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 reduces s to a baseline formed by the line passing through if 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 converges s towards S2 with an average deceleration a along the baseline. 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] L’ invention concerne également un système d’assemblage automatisé d’une pièce fixe avec une pièce mobile apte à être déplacée par rapport à la pièce fixe par un robot. Le système met en œuvre le procédé d’assemblage tel que défini précédemment. [0025] The invention also relates to a system for automated assembly of a fixed part with a moving part capable of being moved relative to the fixed part by a robot. The system implements the assembly process as defined previously.
[0026] L’ invention permet ainsi de fournir un procédé d’assemblage automatisé plus précis que ceux de l’art antérieur et permet plus particulièrement de déplacer la pièce mobile selon une trajectoire plus rectiligne en réduisant la durée de l’opération d’assemblage à moins de trois minutes. [0026] The invention thus makes it possible to provide an automated assembly process 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 while reducing the duration of the assembly operation. less than three minutes away.
[0027] Il est également possible d’étendre ce procédé à un chemin courbe. [0027] It is also possible to extend this process to a curved path.
[0028] La solution proposée ne crée pas de collision, ni frottement entre les pièces. [0028] The proposed solution does not create collision or friction between the parts.
[0029] Elle présente également une répétabilité de positionnement de l’ordre de[0029] It also has a positioning repeatability of the order of
0,2 mm. 0.2mm.
[0030] De plus, les caméras peuvent être placées approximativement autour de leurs positions nominales respectives au moment-même de l’opération d’ assemblage. Le recalage des caméras est réalisé automatiquement. [0030] In addition, the cameras can be placed approximately around their respective nominal positions at the same time as the assembly operation. Camera registration is carried out automatically.
[0031] Si la pièce mobile s’écarte de l’axe d’assemblage, le procédé permet simultanément de diminuer l’écart et de faire avancer la pièce mobile. L’équilibre entre ces deux actions est ajustable empiriquement par le réglage d’un gain afin d’éviter les contacts avec les deux pièces. [0031] If the moving part deviates from the assembly axis, the process simultaneously makes it possible to reduce the gap and move the moving part forward. The balance between these two actions can be adjusted empirically by adjusting a gain in order to avoid contact with the two parts.
[0032] La solution est générique et peut s’étendre à d’autres types de pièces et pour des applications autres que les aéronefs. The solution is generic and can be extended to other types of parts and for applications other than aircraft.
BRÈVE DESCRIPTION DES FIGURES BRIEF DESCRIPTION OF THE FIGURES
[0033] D’autres caractéristiques et avantages de l’invention ressortiront à la lecture de la description qui suit, en référence aux figures annexées, qui illustrent : figure 1 : une vue d’une pièce mobile se déplaçant par rapport à une pièce fixe lors d’un procédé d’assemblage, selon un mode de réalisation de l’invention ; figure 2 : une vue de la pièce fixe encastrée dans la pièce mobile après le procédé d’assemblage ; figure 3 : un diagramme représentant les différentes opérations appliquées lors d’une boucle d’asservissement visuelle primaire ; figure 4 : un diagramme représentant les différentes opérations appliquées lors d’une boucle d’asservissement visuelle secondaire ; figure 5 : une vue d’un champ de vecteurs comprenant un segment de vecteurs [si, s2] ; figure 6 : une représentation schématique de l’espace des mesures divisés en trois zones ; figure 7 : une représentation schématique de la décomposition du vecteur s. Other characteristics and advantages of the invention will emerge on 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 vector segment [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] Pour plus de clarté, les éléments identiques ou similaires sont repérés par des signes de référence identiques sur l’ensemble des figures. [0034] For greater clarity, identical or similar elements are identified by identical reference signs in all of the figures.
DESCRIPTION DÉTAILLÉE D'UN MODE DE RÉALISATION DETAILED DESCRIPTION OF AN EMBODIMENT
[0035] L’ invention concerne un procédé d’assemblage automatisé d’une pièce fixe 1 avec une pièce mobile 2, telles que représentées sur la figure 1, apte à être déplacée par rapport à la pièce fixe 1 par un robot ou un contrôleur de vitesse. [0035] The invention relates to a method of automated assembly of a fixed part 1 with a moving part 2, as shown in Figure 1, capable of being moved relative to the fixed part 1 by a robot or a controller of speed.
[0036] On entend par robot, un système robotisé également appelé machine-outil. Une machine-outil peut être une mécanique composée d'axes numériques asservis. Il peut s'agir notamment de portiques robotisés ou de robots industriels ou d’actionneurs. [0036] By robot we mean a robotic system also called a machine tool. A machine tool can be a mechanism composed of servo-controlled digital axes. These may include robotic gantries or industrial robots or actuators.
[0037] Dans l’exemple qui suit, la pièce mobile 2 est une pièce femelle comprenant au moins une chape lia, 11b, 11c s’étendant suivant une direction axiale X qui est parallèle à la direction d’avancement de la pièce mobile 2. La chape lia, 11b, 11c comprend un alésage 9 présentant un axe perpendiculaire à la direction axiale X. Dans cet exemple, la direction axiale X est sensiblement horizontale. [0037] In the example which follows, the movable part 2 is a female part comprising at least one yoke 11a, 11b, 11c extending in an axial direction 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] Chaque chape lia, 11b, 11c comprend également un logement 12. [0038] Each yoke 11a, 11b, 11c also includes a housing 12.
[0039] La pièce fixe 1 est une pièce mâle comprenant au moins un tenon 10a, 10b, 10c s’étendant suivant la direction axiale X et destiné à s’encastrer dans une chape lia, 11b, 11c de la pièce femelle. Le tenon 10a, 10b, 10c comprend également un alésage 8 présentant un axe perpendiculaire à la direction axiale X. The fixed part 1 is a male part comprising at least one tenon 10a, 10b, 10c extending in the axial direction The tenon 10a, 10b, 10c also comprises a bore 8 having an axis perpendicular to the axial direction X.
[0040] Alternativement, la pièce mobile 2 peut être une pièce femelle et la pièce fixe 1 peut être une pièce mâle. Alternatively, the moving part 2 can be a female part and the fixed part 1 can be a male part.
[0041] Dans l’exemple de la figure 1 et de la figure 2, les alésages 8, 9 présentent une section circulaire mais peuvent présenter d’autres formes comme des formes carrées ou ovoïdes. [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] De préférence, la pièce mobile 2 comprend au moins trois chapes lia, 11b, 11c et la pièce fixe 1 comprend au moins trois tenons 10a, 10b, 10c. Preferably, the movable part 2 comprises at least three yokes 11a, 11b, 11c and the fixed part 1 comprises at least three tenons 10a, 10b, 10c.
[0043] Dans l’exemple de la figure 1 et de la figure 2, la pièce mobile 2 est une pièce femelle comprenant cinq chapes lia, 11b, 11c dont deux premières chapes latérales lia juxtaposées l’une au-dessus de l’autre, deux deuxièmes chapes latérales 11b juxtaposées l’une au-dessus de l’autre et une chape centrale 11c positionnée entre les chapes latérales lia, 11b. [0043] In the example of Figure 1 and Figure 2, the movable part 2 is a female part comprising five yokes lia, 11b, 11c including two first lateral yokes lia juxtaposed one above the other , two second side yokes 11b juxtaposed one above the other and a central yoke 11c positioned between the side yokes 11a, 11b.
[0044] Les deux premières chapes latérales lia et les deux deuxièmes chapes latérales 11b comprennent chacune un alésage 9 qui présente un axe central perpendiculaire à la direction X et qui s’étend suivant une direction Y. [0044] The first two side yokes lia and the two second side yokes 11b each comprise a bore 9 which has a central axis perpendicular to the direction X and which extends in a direction Y.
[0045] La chape centrale 11c comprend un axe central perpendiculaire à la direction X et qui s’étend suivant une direction Z perpendiculaire aux directions X et Y. The central yoke 11c comprises a central axis perpendicular to the direction X and which extends in a direction Z perpendicular to the directions X and Y.
[0046] Par symétrie, la pièce fixe 1 est une pièce mâle comprenant cinq tenons 10a, 10b, 10c s’étendant suivant la direction axiale X, dont deux premiers tenons latéraux 10a juxtaposés l’un au-dessus de l’autre, deux deuxièmes tenons latéraux 10b juxtaposés l’un au-dessus de l’autre et un tenon central 10c positionné entre les tenons latéraux 10a, 10b. [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 side tenons 10b juxtaposed one above the other and a central tenon 10c positioned between the side tenons 10a, 10b.
[0047] Comme illustré sur la figure 2, chaque tenons 10a, 10b, 10c de la pièce fixe 1 est destiné à s’encastrer dans une des chapes lia, 11b, 11c de la pièce mobile 2 et plus précisément dans le logement 12 des chapes lia, 11b, 11c. Les alésages 9 des chapes lia, 11b, 11c et les alésages 8 des tenons 10a, 10b, 10c sont alors alignés. Une pièce de fixation peut être alors introduite dans les alésages 8, 9 pour bloquer les pièces l’une par rapport à l’autre. [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 in the housing 12 of the copes lia, 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] Dans cet exemple, la première extrémité 3 de la pièce fixe 1 est progressivement occultée par la deuxième extrémité 4 de la pièce mobile 2. La pièce mobile 2 se déplace seulement en translation. In this example, the first end 3 of the fixed part 1 is progressively obscured by the second end 4 of the moving part 2. The moving part 2 only moves in translation.
[0049] Dans cet exemple, les pièces fixe 1 et mobiles 2 sont des poutres d’aéronef mais le procédé d’assemblage s’applique également à d’autres types de pièces. [0049] In this example, the fixed parts 1 and mobile parts 2 are aircraft beams but the assembly process also applies to other types of parts.
[0050] Selon un mode de réalisation possible de l’invention, le procédé d’assemblage comprend une étape de détermination de points de repère à la première extrémité 3 de la pièce fixe 1 et à la deuxième extrémité 4 de la pièce mobile 2. 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] Le principe consiste à trouver des points remarquables ou identifiables sur les pièces 1, 2 pour qu’un asservissement basé sur une prise et traitement d’images puisse fonctionner. [0051] The principle consists of finding remarkable or identifiable points on parts 1, 2 so that a control based on image capture and processing can function.
[0052] De préférence, les points de repère comprennent des marqueurs en forme de disque répartis autour de chaque alésage 9 prévu sur la pièce mobile 2 et autour de chaque alésage 8 prévu sur la pièce fixe 1. Preferably, the reference points include 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] Dans cet exemple, les pièces fixe 1 et mobile 2 comprennent chacune cinq alésages 8, 9 et donc cinq motifs comprenant chacun huit marqueurs en forme de disque répartis de façon concentrique autour de l’axe de chaque alésage 8, 9. Les motifs sont identiques et présentent une couleur uniforme. [0054] Les disques doivent avoir un contour précis et net. Ils ne doivent pas créer de surépaisseur. Ils peuvent être obtenus en remplissant une substance colorée peinture, résine, etc. dans une défonce, puis en polissant la pièce. Dans cet exemple, il y a donc en tout 40 marqueurs par pièce. [0053] In this example, the fixed 1 and movable 2 parts 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 with paint, resin, etc. in a knockout, then polishing the piece. In this example, there are therefore a total of 40 markers per piece.
[0055] La présence de marqueurs n’est pas une condition de réussite et ne doit pas apparaître comme tel. Mais il est préférable d’ajouter des marqueurs afin d’avoir une très grande confiance dans les mesures obtenues par un procédé visuel. Le procédé fonctionne sans marqueurs artificiels mais cela entraîne une plus forte complexité du traitement d’image, une moins bonne robustesse aux conditions d’éclairage, sans pour autant impacter le procédé d’asservissement en lui-même. [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 very high confidence in the measurements obtained by a visual process. The process works without artificial markers but this leads to greater complexity of image processing and less robustness to lighting conditions, without impacting the servo process itself.
[0056] En variante, les points de repère peuvent être les centres des alésages 8, 9. [0056] Alternatively, the reference points can be the centers of the bores 8, 9.
[0057] Les points de repère de la pièce mobile 2 doivent coïncider avec les points de repère de la pièce fixe 1 lors de l’encastrement. [0057] The reference points of the moving part 2 must coincide with the reference points of the fixed part 1 during installation.
[0058] En variante, il n’est pas nécessaire que les points de repère de la pièce mobile 2 coïncident avec les points de repère de la pièce fixe 1. [0058] As a variant, 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] Le procédé d’assemblage comprend une étape de positionnement d’au moins une caméra 5, 6, 7 de façon que les points de repère des deux pièces 1, 2 soient dans le champ visuel de la caméra 5, 6, 7. La caméra 5, 6, 7 est fixe par rapport à la pièce fixe 1. 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 visual field of the camera 5, 6, 7 The camera 5, 6, 7 is fixed relative to the fixed part 1.
[0060] Il est possible d’utiliser une seule caméra 5, 6, 7 mais il est préférable d’en utiliser trois comme dans le mode de réalisation présenté ci-dessous car la profondeur est plus sensible aux erreurs. [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] Selon un mode de réalisation préféré, une première caméra 5 est positionnée et orientée face aux alésages 9 des deux premières chapes latérales lia de la pièce mobile 2 et face aux alésages 8 des deux premiers tenons latéraux 10a de la pièce fixe 1. Une deuxième caméra 6 est positionnée et orientée face aux alésages 9 des deux deuxièmes chapes latérales 11b de la pièce mobile 2 et face aux alésages 8 des deux deuxièmes tenons latéraux 10b de la pièce fixe 1. [0062] Une troisième caméra 7 est positionnée et orientée face à l’alésage 9 de la chape centrale 11c de la pièce mobile 2 et face à l’alésages 8 du tenon central 10c de la pièce fixe 1. L’axe des caméras 5, 6, 7 est sensiblement perpendiculaire à la direction axiale X. L’axe z de visée de la troisième caméra 7 est sensiblement perpendiculaire aux axes de visée des première et deuxième caméras 5, 6 et est de préférence parallèle à la direction Z. [0061] According to a preferred embodiment, a first camera 5 is positioned and oriented facing the bores 9 of the first two lateral yokes lia of the moving part 2 and facing the bores 8 of the first two 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
[0063] Pour des poutres standards d’aéronefs avec des diamètres d’alésage de quelques centimètres, les caméras 5, 6, 7 peuvent être des caméras 5, 6, 7 à 12 Mégapixels de modèle GV-5200SE-C-HQ de la société IDS comprenant des objectifs M111FM16 de la société Tamron. La calibration intrinsèque de chaque caméra 5, 6, 7 doit être faite rigoureusement (mire de calibration industrielle) une fois le focus réglé pour obtenir une image nette à environ 30 cm de distance. Chaque caméra 5, 6, 7 est positionnée à environ 30 cm des pièces 1, 2. [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 the GV-5200SE-C-HQ model of the IDS company including M111FM16 lenses from the Tamron company. The intrinsic calibration of each camera 5, 6, 7 must be carried out rigorously (industrial calibration target) once the focus has been adjusted to obtain a clear image at approximately 30 cm distance. Each camera 5, 6, 7 is positioned approximately 30 cm from rooms 1, 2.
[0064] Selon un mode de réalisation, le procédé d’assemblage comprend trois étapes de déplacement de la pièce mobile 2 dont une étape de présentation des pièces 1, 2. La pièce mobile 2 est « présentée » face à la pièce fixe 1. La pièce mobile 2 est dans le champ de vision des caméras 5, 6, 7. La distance entre les deux pièces 1, 2 selon la direction axiale X est de quelques centimètres. According to one embodiment, the assembly process comprises three stages of movement of the moving part 2 including a stage 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] Le procédé d’assemblage comprend également une étape de préencastrement dans laquelle la pièce mobile 2 est déplacée potentiellement suivant tous les axes jusqu’à être bien alignée avec la pièce fixe 1 et une étape d’encastrement dans laquelle la pièce mobile 2 est encastrée avec la pièce fixe 1. [0065] The assembly method also comprises a pre-embedding step in which the movable part 2 is potentially moved along all axes until it is well aligned with the fixed part 1 and an embedding step in which the movable part 2 is fitted with the fixed part 1.
[0066] Le procédé d’assemblage comprend une étape initiale dans laquelle la position et l’orientation des caméras 5, 6, 7 par rapport à la pièce fixe 1 sont déterminées à partir de l’observation de l’extrémité de la pièce fixe 1 par les caméras 5, 6, 7 et au moyen d’un calcul d’optimisation numérique du type méthode des moindres carrés, par exemple. [0067] Plus précisément, lors de l’étape initiale, chaque caméra 5, 6, 7 observe les tenons 10a, 10b, 10c qui lui font face (un seul dans le cas de la troisième caméra 7) et il est appliqué un traitement d’image pour obtenir les centres des marqueurs. [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 observation of the end of the fixed part 1 by cameras 5, 6, 7 and by means of a digital optimization calculation of the least squares method type, for example. [0067] More precisely, during the initial step, each camera 5, 6, 7 observes the tenons 10a, 10b, 10c which face it (only one in the case of the third camera 7) and a treatment is applied image to get the centers of the markers.
[0068] Connaissant la géométrie de ce que la caméra 5, 6, 7 observe, un algorithme de calcul de position est appliqué pour en déduire la position relative de la caméra 5, 6, 7 par rapport à la pièce fixe 1. De préférence, l’algorithme de calcul de position utilise une optimisation aux moindres carrés. Cette étape est automatique mais nécessite une validation visuelle de l’opérateur, par sécurité. La validation visuelle se fait en constatant la superposition dans l’image des marqueurs projetés c’est-à-dire là où les marqueurs sont supposés apparaître si la caméra 5, 6, 7 est à la position calculée avec les marqueurs réels. [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 relative to the fixed part 1. Preferably , the position calculation algorithm uses least squares optimization. This step is automatic but requires visual validation from the operator, for safety. Visual validation is done by noting the superposition in the image of the projected markers, that is to say where the markers are supposed to appear if the camera 5, 6, 7 is at the position calculated with the real markers.
[0069] La position relative de la pièce fixe 1 par rapport à la base du robot est supposée connue approximativement. C’est le cas en pratique car la pièce fixe 1 est située sur un module ou support fixe, qui est référencé dans le repère d’un atelier. The relative position of the fixed part 1 relative to the base of the robot is assumed to be known approximately. This is the case in practice because the fixed part 1 is located on a module or fixed support, which is referenced in the reference of a workshop.
[0070] Pour l’étape de présentation, la pièce mobile 2 est approchée par l’opérateur ou par un programme en boucle ouverte vers une position suffisamment éloignée de la pièce fixe 1 pour éviter tout risque de collision entre les pièces 1, 2 mais suffisamment proche pour que les chapes lia, 11b, 11c de la pièce mobile 2 entrent dans le champ de vision des caméras 5, 6, 7. [0070] For the presentation step, the moving part 2 is approached by the operator or by an open loop program towards a position sufficiently far from the fixed part 1 to avoid any risk of collision between the parts 1, 2 but sufficiently close so that the yokes lia, 11b, 11c of the moving part 2 enter the field of vision of the cameras 5, 6, 7.
[0071] Pour l’étape de pré-encastrement, une première boucle d’asservissement visuelle primaire est appliquée à partir d’images des extrémités des deux pièces 1, 2 prises par les caméras 5, 6, 7 pour déterminer une première consigne de déplacement d’un robot pour lui permettre d’aligner correctement la pièce mobile 2 face à la pièce fixe 1. [0071] For the pre-embedding step, a first primary visual control 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 setpoint of movement of a robot to enable it to correctly align the moving part 2 facing the fixed part 1.
[0072] L’ étape initiale permet de réaliser la première boucle d’asservissement visuelle primaire. [0072] The initial step makes it possible to produce the first primary visual control loop.
[0073] L’ étape initiale permet de calculer une première image cible si (ou première consigne dans l’image), comme illustré sur la figure 3. L’image est déterminée en plaçant virtuellement la pièce fixe 1 dans le cadre des caméras 5, 6, 7 en utilisant la position des caméras 5, 6, 7 et en simulant les images. Les erreurs d'estimation de certains degrés de liberté d’une caméra sont compensées par la combinaison des n images. [0073] The initial step makes it possible 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 by simulating the images. The errors in estimating certain degrees of freedom of a camera are compensated by the combination of n images.
[0074] À partir de la position relative des caméras 5, 6, 7 par rapport à la pièce fixe[0074] From the relative position of the cameras 5, 6, 7 relative to the fixed part
1, et de la configuration d’encastrement de la pièce fixe 1 par rapport à pièce mobile 2, il est possible de déduire la position des caméras 5, 6, 7 par rapport à la pièce mobile1, and from the embedding configuration of the fixed part 1 in relation to the moving part 2, it is possible to deduce the position of the cameras 5, 6, 7 in relation to the moving part
2. 2.
[0075] À partir du modèle sténopé de la caméra 5, 6, 7, il est possible de déduire la première image cible si ou vecteur cible (xi, yi), xi et yi étant les coordonnées des points de repère cibles lors d’une étape de calcul des cibles 13. [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 landmark points during a step of calculating targets 13.
[0076] Ensuite, une prise d’image de l’extrémité de la pièce 2 est réalisée pour déterminer un vecteur de mesure (x'i, y'i), x’i et y’i étant les coordonnées des points de repère sur la pièce 2 lors d’une étape de mesure 14. Une première image mesurée s’i est obtenue. [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 part 2 during a measurement step 14. A first measured image if i is obtained.
[0077] Le vecteur de mesure (x'i, y'i) est ensuite comparé au vecteur cible (xi, yi) pour déterminer l’écart entre les pixels lors d’une étape de comparaison 15. [0077] The measurement vector (x'i, y'i) is then compared to the target vector (xi, yi) to determine the difference between the pixels during a comparison step 15.
[0078] Un profil de vitesse est déterminé à partir de l’écart lors d’une opération de calcul de profil de vitesse 16. [0078] A speed profile is determined from the difference during a speed profile calculation operation 16.
[0079] La loi de rétroaction proportionnelle suivante est utilisée pour calculer une vitesse souhaitée s dans l’espace de la caméra : s = X (si - s’i), où X est un facteur de gain positif. Seule la direction du vecteur vitesse dans l’espace image est cependant considérée. La norme est calculée pour qu’elle suive un profil de vitesses assurant une accélération douce et uniforme jusqu’à atteindre une vitesse maximale, ainsi qu’une décélération uniforme. Cependant, à proximité de la cible, la contrainte sur la décélération est levée pour éviter de rendre la commande instable : le vecteur s est appliqué tel quel. [0080] Une matrice d’interaction Ls est calculée. La matrice d’interaction est le nom donné usuellement pour désigner la matrice jacobienne liant le torseur cinématique cartésien aux vitesses des pixels. [0079] The following proportional feedback law is used to calculate a desired speed s in the camera space: s = X (si - s'i), where X is a positive gain factor. However, only the direction of the velocity vector in image space is considered. The standard is calculated so that it follows a speed profile ensuring smooth and uniform acceleration until reaching a maximum speed, as well as uniform deceleration. However, close to the target, the constraint on deceleration is lifted to avoid making the control unstable: the vector 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 torso to the pixel speeds.
[0081] Une opération de pseudo-inverse de la matrice d’interaction 17 est ensuite appliquée sur le profil de vitesse pour obtenir des vitesses cartésiennes v avec la loi : s = Ls.v. [0081] A pseudo-inverse operation of the interaction matrix 17 is then applied to the speed profile to obtain Cartesian speeds v with the law: s = Ls.v.
[0082] Une opération de multiplication par la matrice jacobienne inverse du robot (ou des actionneurs) 18 est appliquée sur les vitesses cartésiennes pour obtenir une première consigne de déplacement comprenant une vitesse de déplacement du robot et en particulier une vitesse articulaire. Le robot déplace la pièce mobile 2 vers la pièce fixe 1 en fonction de la première consigne de déplacement lors d’une étape de pilotage 19. [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 setpoint comprising a movement speed of the robot and in particular a joint 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] L’ étape d’encastrement génère une deuxième image cible S2 (ou deuxième consigne dans l’image), correspond à la position finale d’encastrement, comme illustré sur la figure 4. Le calcul de cette image cible suit le même procédé que pour si. [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 only for if.
[0084] Les premier et deuxième vecteurs sont obtenus en concaténant les consignes-images des trois caméras 5, 6, 7. The first and second vectors are obtained by concatenating the image instructions of the three cameras 5, 6, 7.
[0085] Selon une variante, il est possible de positionner une caméra devant chaque alésage. Il y a donc dans ce cas cinq caméras associées à cinq alésages de la pièce mobile (non représenté). [0085] According to a variant, it is possible to position a camera in front of each bore. There are therefore in this case five cameras associated with five bores in the moving part (not shown).
[0086] Dans notre exemple, les premier et deuxième vecteurs cibles comportent donc au total 80 composantes comprenant les coordonnées x et y de chacun des 40 points de repère. [0086] In our example, the first and second target vectors therefore comprise a total of 80 components including the x and y coordinates of each of the 40 reference points.
[0087] Les vecteurs cibles sont manipulés dans le plan-image normalisé (avec z = 1 m). Le critère d’arrêt appliqué est alors un écart maximal entre les deux pièces 1, 2 de 1,5 mm. A une distance par rapport aux caméras 5, 6, 7 n’excédant pas 40 cm, cette erreur donne une erreur de positionnement de pixel dans l’espace inférieure à 0,6 mm. [0088] D’autre part, par effet de moyenne sur les 40 pixels, la précision cartésienne obtenue en pratique est bien meilleure, de l’ordre de 0,2 mm. The target vectors are manipulated in the standardized 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 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] Une boucle d’asservissement visuelle secondaire comprenant un calcul utilisant le principe de champ de vecteurs est alors appliquée lors de l’étape d’encastrement, comme illustré sur la figure 4, pour améliorer la linéarité pendant cette étape qui est délicate. [0089] A secondary visual control loop comprising a calculation using the vector field principle is then applied during the embedding step, as illustrated in Figure 4, to improve linearity during this step which is delicate.
[0090] En variante, la boucle d’asservissement visuelle secondaire peut être utilisée lors d’une autre étape de déplacement. [0090] Alternatively, the secondary visual control loop can be used during another movement step.
[0091] Cette solution repose sur 2 idées. La première idée est de générer une loi de commande pour le robot explicitement sous la forme d'un champ vectoriel f(s) dans l'espace des images (ou capteurs). Ce champ vectoriel f(s) est une formule ad-hoc. En créant un champ vectoriel dans l'espace des images, l'avantage clé de l’asservissement basé sur l'image est maintenu. [0091] This solution is based on 2 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 space of images (or sensors). This vector field f(s) is an ad-hoc formula. By creating a vector field in image space, the key advantage of image-based servoing is maintained.
[0092] La deuxième idée concerne la stabilité du mouvement. En pratique, l'utilisation d'une formule basée sur des erreurs comme pour l’étape de préencastrement (figure 3), outre la vitesse non uniforme, entraîne un déplacement en zigzag du robot autour de l'axe d'assemblage, avec un risque élevé de collision. [0092] The second idea concerns the stability of the movement. In practice, the use of a formula based on errors 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] L’objectif est de créer un champ vectoriel f(s) de vitesse à partir des mesures des caméras 5, 6, 7 qui respecte la cinématique de l’encastrement. [0093] The objective is to create a speed vector field f(s) from the measurements of the cameras 5, 6, 7 which respects the kinematics of the embedding.
[0094] Les vecteurs cibles (ou attendus) si et S2 associés à ces deux positions attendues sont calculés en 2 étapes. [0094] The target (or expected) vectors si and S2 associated with these two expected positions are calculated in 2 steps.
[0095] Tout d’abord, une trajectoire cartésienne idéale (segment [si, S2]) est construite dans l'espace des images. Ensuite, le champ vectoriel f(s) est construit autour de cette trajectoire cartésienne, comme illustré sur la figure 5. [0095] First of all, an ideal Cartesian trajectory (segment [si, S2]) is constructed in the space of images. Then, the vector field f(s) is constructed around this Cartesian trajectory, as illustrated in Figure 5.
[0096] Il est commode pour cela de considérer la pièce fixe 1 comme référence. La trajectoire cartésienne de la pièce mobile 2 est une translation pure d'une position 1 initiale vers une position 2 finale. Ces positions sont directement obtenues à partir de la géométrie des deux pièces 1, 2. [0097] Une fois qu'une ligne est déterminée par la projection en perspective, lorsque la pièce mobile 2 se déplace à vitesse constante de la première position à la deuxième position, chaque pixel décrit un segment dans sa propre image. Cependant, la vitesse du pixel n'est pas constante si sa coordonnée z dans le cadre des caméras 5, 6, 7 n'est pas constante. C'est pourquoi il faut nécessairement que l'axe z de la caméra soit sensiblement parallèle à la direction Z, c’est-à-dire orthogonal à la direction axiale X. Dans cette hypothèse, les vitesses des pixels sont presque constantes, ce qui signifie que la trajectoire du vecteur cible s de toutes les caméras 5, 6, 7 est très proche du segment. L'idée est donc d'utiliser ce segment [si, S2] comme la contrepartie de l'axe d'assemblage dans l'espace image des caméras 5, 6, 7. [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 constant speed from the first position to the second position, each pixel describes a segment in its own image. However, the speed of the pixel is not constant if its z coordinate in the frame of cameras 5, 6, 7 is not constant. This is why the z axis of the camera must necessarily be substantially parallel to the Z direction, that is to say orthogonal to the axial direction 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] Des images des extrémités des pièces 1, 2 sont prises par chaque caméra 5, 6, 7 pour obtenir des vecteurs s mesurés lors d’une étape de mesure 20. Le champ vectoriel f(s) dans chaque image des caméras 5, 6, 7 est ensuite obtenu à partir des vecteurs s mesurés par les caméras 5, 6, 7, lors d’une opération de calcul de champ vectoriel f(s) 21 et comme illustré sur la figure 5. [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 calculation operation f(s) 21 and as illustrated in Figure 5.
[0099] La figure 5 illustre un champ de vecteurs f(s) avec le segment [si, S2] pour un unique pixel. En réalité, il s’agit d’un segment dans l’espace de l’ensemble des pixels (40 dans notre exemple). Les flèches représentent le champ de vecteurs f(s) pour différentes valeurs de vecteurs s mesurées par les caméras. [0099] Figure 5 illustrates a field of vectors 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 vector values s measured by the cameras.
[00100] Le champ de vecteurs f(s) ramène les points sur la droite cible [si, S2] et assure leur progression vers la cible. En dehors des extrémités si et S2, le champ est donc paramétré par deux vitesses distinctes : celle qui commande l'encastrement et celle qui commande la correction des écarts. Chaque vitesse peut être réglée indépendamment. [00100] The vector field f(s) brings the points back to the target line [si, S2] and ensures their progress towards the target. Apart from the ends si and S2, the field is therefore parameterized by two distinct speeds: the one which controls the integration and the one which controls the correction of the differences. Each speed can be adjusted independently.
[00101] Ce qui suit décrit un exemple de construction d’un champ de vecteurs de manière plus détaillée. [00101] The following describes an example of constructing a vector field in more detail.
[00102] Soit D la distance d'assemblage et Vo la vitesse cartésienne désirée. La vitesse (moyenne) correspondante dans l'espace des mesures est
Figure imgf000018_0001
[00103] De par la façon dont les caméras sont positionnées, la vitesse réelle de s dans la trajectoire idéale ne s'écarte que légèrement de sa valeur moyenne, et l'écart est ainsi bien absorbé par la pseudo-inverse de la matrice Jacobienne Ls, comme décrit ultérieurement.
[00102] Let D be the assembly distance and Vo be the desired Cartesian speed. The corresponding (average) speed in the measurement space is
Figure imgf000018_0001
[00103] Due to the way in which the cameras are positioned, the real 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.
[00104] La droite passant par si et S2 est appelée « ligne de base 26 », comme illustré sur la figure 6, et do est le vecteur directeur, qui est orienté volontairement de S2 vers si selon la relation suivante
Figure imgf000019_0001
[00104] The line passing through si and S2 is called “base line 26”, as illustrated in Figure 6, and do is the direction vector, which is voluntarily oriented from S2 towards si according to the following relationship
Figure imgf000019_0001
[00105] Pour construire le champ vectoriel, l'espace du capteur est divisé en trois zones, dont : une zone extérieure Tl où f ramène s à la ligne de base 26, suivant une loi proportionnelle basée sur l'écart (la distance par rapport à la ligne de base 26) avec un gain X, un couloir 28 où f ramène s à la ligne de base 26 tout en le faisant progresser vers S2. La vitesse à l'intérieur du couloir 28 présente une norme constante : 11 f(s) 11 = vo, et une zone de freinage 29 où f fait converger s vers S2 avec une décélération moyenne a le long de la ligne de base 26. [00105] To construct the vector field, the sensor space is divided into three zones, including: an exterior zone Tl where f brings s back to the base line 26, following a proportional law based on the deviation (the distance per compared to 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. The speed inside the corridor 28 has a constant standard: 11 f(s) 11 = vo, and a braking zone 29 where f makes s converge towards S2 with an average deceleration a along the base line 26.
[00106] La convergence est bornée par une exponentielle décroissante, soit de taux a (qui domine la projection sur la ligne de base 26), ou X (qui domine la projection orthogonalement à la ligne de base 26). [00106] The convergence is bounded by a decreasing exponential, either of rate a (which dominates the projection on the base line 26), or X (which dominates the projection orthogonal to the base line 26).
[00107] Ainsi, le champ vectoriel dépend de 3 paramètres : la vitesse souhaitée vo dans le couloir 28, la décélération moyenne a dans la zone de rupture 29, et le facteur de gain X modélisant la force d'attraction de la ligne de base 26. [00108] La zone de freinage 29 est représentée par le papillon grisé sur la figure 6. [00107] 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 force of attraction of the baseline 26. [00108] Braking zone 29 is represented by the gray butterfly in Figure 6.
51 la cible S2 est dépassée (ce qui peut arriver en pratique), la zone de freinage 29 permet au système de reculer. Le recul est représenté par la flèche épaisse 30. 51 the target S2 is exceeded (which can happen in practice), the braking zone 29 allows the system to move backwards. The recoil is represented by the thick arrow 30.
[00109] Le champ est construit comme illustré sur la figure 7. Pour commencer, le vecteur s est décomposé en un scalaire d et un vecteur e selon la relation suivante : s =[00109] 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 relationship: s =
52 + d.do + e 52 + d.do + e
[00110] d, comme « distance », représente la projection de s sur la ligne de base 26 avec S2 comme origine, et e, comme « erreur », représente le reste. Il est nécessairement orthogonal à la ligne de base 26. Ces paramètres peuvent être obtenus rapidement si la matrice de projection sur la ligne de base 26 est calculée une fois pour toute selon la relation suivante : P = do.doT [00110] d, as "distance", represents the projection of s on the baseline 26 with S2 as origin, and e, as "error", represents the remainder. It is necessarily orthogonal to the base line 26. These parameters can be obtained quickly if the projection matrix on the base line 26 is calculated once and for all according to the following relationship: P = do.do T
[00111] Dans ce cas, d = doT P (s - S2) et e = (I - P) (s - S2). [00111] In this case, d = do T P (s - S2) and e = (I - P) (s - S2).
[00112] Une application linéaire avec saturation v(d), est ensuite définie. Elle représente la vitesse souhaitée le long de la ligne de base 26. [00112] A linear application with saturation v(d) is then defined. It represents the desired speed along baseline 26.
[00113] Le champ de vecteurs f(s) = f(d, e) est ensuite défini, comme illustré sur la figure 5. [00113] The vector field f(s) = f(d, e) is then defined, as illustrated in Figure 5.
[00114] Ensuite, un profil de vitesse en pixel est déterminé à partir du champ de vecteurs f(s), lors d’une opération de calcul de profil de vitesse 22. [00114] Then, a pixel speed profile is determined from the vector field f(s), during a speed profile calculation operation 22.
[00115] Une opération de pseudo-inverse de la matrice d’interaction 23 est appliquée sur le profil de vitesse en pixel pour obtenir des vitesses cartésiennes. [00115] A pseudo-inverse operation of the interaction matrix 23 is applied to the pixel speed profile to obtain Cartesian speeds.
[00116] Une opération de multiplication par la matrice jacobienne inverse du robot 24 est ensuite appliquée sur les vitesses cartésiennes pour obtenir une consigne de rapprochement permettant de piloter le robot. La consigne de rapprochement se traduit entre autres sous la forme de vitesses (celle qui commande l'encastrement et celle qui commande la correction des écarts). [00116] A multiplication operation by the inverse Jacobian matrix of the robot 24 is then applied to the Cartesian speeds to obtain a reconciliation instruction making it possible to control the robot. The approximation instruction is expressed, among other things, in the form of speeds (the one which controls the integration and the one which controls the correction of the differences).
[00117] Le robot déplace la pièce mobile 2 vers la pièce fixe 1 en fonction de la consigne de rapprochement lors d’une étape de pilotage 25. [00118] Ces différentes opérations permettent ainsi d’effectuer l’encastrement de façon plus linéaire par rapport à la boucle d’asservissement visuelle primaire. Elles permettent aussi d’éviter les nombreux inconvénients d’une trajectoire discrétisée, notamment le mouvement saccadé imposé par la convergence vers chaque point intermédiaire. [00117] The robot moves the moving part 2 towards the fixed part 1 according to the approximation instruction during a control step 25. [00118] These different operations thus make it possible to carry out the embedding in a more linear manner with respect to the primary visual control 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.
[00119] Contrairement à la méthode d’asservissement primaire, la mesure des vecteurs est directement traduite par une vitesse grâce au champ de vecteur f(s) ad- hoc assurant à la fois la diminution de l’écart (à l’axe d’encastrement) et une vitesse de progression le long de l’axe. [00119] Unlike the primary control 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 (at the axis d 'embedding) and a speed of progression along the axis.
[00120] Une vitesse de déplacement n’est plus simplement déduite à partir d'un écart qui est compensé mais tous les déplacements souhaités sont décrits explicitement à partir d'un écart donné, de telle sorte que la cinématique de l'encastrement est bien respectée. Cela donne donc un champ de vecteurs dans l'espace des images. [00120] A movement speed is no longer simply deduced from a deviation which is compensated but all the desired movements are described explicitly from a given deviation, so that the kinematics of the embedding are well respected. This therefore gives a vector field in image space.
[00121] En variante, il est possible d’appliquer une méthode avec un encastrement très lent mais une correction rapide des écarts. Le champ a été construit pour être continu en tout point et donc, en théorie, ne provoquer aucune accélération brusque. [00121] Alternatively, it is possible to apply a method with very slow embedding but rapid correction of the deviations. The field was constructed to be continuous at all points and therefore, in theory, not cause any sudden acceleration.
[00122] Cependant, en pratique, il est fréquent que le système soit amené à freiner par sécurité, du fait d’un retard dans le flux d’images ou d’erreurs liées à leur traitement. Pour cette raison, les accélérations/décélérations sont de nouveau proprement gérées en appliquant de nouveau un profil de vitesses au champ de vecteurs f(s) en sortie du champ. [00122] However, in practice, it is common for the system to slow down for safety reasons, due to a delay in the flow of images or errors linked to their processing. For this reason, the accelerations/decelerations are again properly managed by again applying a speed profile to the field of vectors f(s) at the output of the field.
[00123] Le champ de vecteurs f(s) est construit en utilisant le fait que la projection de la translation cartésienne donne bien une ligne droite dans l’image de chaque pixel en 2 dimensions (2D). Cependant, une translation de vitesse constante cartésienne ne donnera pas une trajectoire de vitesse constante en 2D. [00123] The vector field f(s) is constructed using the fact that the projection of the Cartesian translation gives a straight line in the image of each pixel in 2 dimensions (2D). However, a Cartesian constant velocity translation will not result in a constant velocity trajectory in 2D.
[00124] Imposer une vitesse uniforme sur chaque pixel en 2D entraîne donc une vitesse cartésienne non-uniforme. Particulièrement, les vitesses des différents pixels obtenues ne se traduisent pas par les mêmes vitesses cartésiennes. Elles sont en effet incompatibles, sauf cas très particuliers. [00124] Imposing a uniform speed on each pixel in 2D therefore results in a non-uniform Cartesian speed. Particularly, the speeds of the different pixels obtained do not result in the same Cartesian speeds. They are in fact incompatible, except in very special cases.
[00125] Cependant, ces deux problèmes sont négligeables en pratique à cause de la variation de la vitesse cartésienne et le découplage des pixels. Le deuxième problème est rattrapé par la pseudo-inverse de la commande. [00125] However, these two problems are negligible in practice because of the variation of the Cartesian speed and the decoupling of the pixels. The second problem is caught by the pseudo-inverse of the command.
[00126] En variante, l’algorithme peut construire un champ de vecteurs courbe, en projetant de façon exacte le vecteur vitesse cartésien sur chaque pixel. Ce calcul peut être réalisé dynamiquement au point si ou S2, en appliquant le modèle de caméra 5, 6, 7 à partir de la position cartésienne estimée. [00126] Alternatively, the algorithm can construct a curved vector field, by exactly projecting the Cartesian speed vector onto each pixel. This calculation can be carried out dynamically at the point si or S2, by applying the camera model 5, 6, 7 from the estimated Cartesian position.
[00127] Naturellement, l’invention est décrite dans ce qui précède à titre d’exemple. Il est entendu que l’homme du métier est à même de réaliser différentes variantes de réalisation de l’invention sans pour autant sortir du cadre de l’invention. [00127] Naturally, the invention is described in the above by way of example. It is understood that those skilled in the art are able to carry out different variants of the invention without departing from the scope of the invention.
[00128] Il est souligné que toutes les caractéristiques, telles qu’elles se dégagent pour un homme du métier à partir de la présente description, des dessins et des revendications attachées, même si concrètement elles n’ont été décrites qu’en relation avec d’autres caractéristiques déterminées, tant individuellement que dans des combinaisons quelconques, peuvent être combinées à d’autres caractéristiques ou groupes de caractéristiques divulguées ici, pour autant que cela n’a pas été expressément exclu ou que des circonstances techniques rendent de telles combinaisons impossibles ou dénuées de sens. [00128] It is emphasized that all the characteristics, as they emerge for a person skilled in the art from the present description, the drawings and the attached claims, even if concretely they have only been described in relation to other specified 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 technical circumstances make such combinations impossible or meaningless.

Claims

REVENDICATIONS Procédé d’assemblage automatisé d’une pièce fixe (1) avec une pièce mobile (2) apte à être déplacée par rapport à la pièce fixe par un robot, caractérisé en ce qu’il comprend les étapes suivantes : détermination de points de repère à une première extrémité (3) de la pièce fixe (1) et à une deuxième extrémité (4) de la pièce mobile (2), positionnement d’au moins une caméra (5, 6, 7) de façon que les points de repère des deux pièces (1, 2) soient dans le champ visuel de la caméra (5, 6, 7), la caméra (5, 6, 7) étant fixe par rapport à la pièce fixe (1), application d’une boucle d’asservissement visuelle primaire à partir d’images des extrémités (3, 4) des deux pièces (1, 2) prises par la caméra (5, 6, 7) pour déterminer une première consigne de déplacement du robot pour lui permettre de rapprocher la pièce mobile (2) vers la pièce fixe (1), application d’une boucle d’asservissement visuelle secondaire comprenant un calcul utilisant le principe des champ de vecteurs à partir des images des extrémités des deux pièces (1, 2) prises par la caméra (5, 6, 7) pour générer une deuxième consigne de déplacement permettant au robot d’encastrer la pièce mobile (2) dans la pièce fixe (1), et fixation des deux pièces (1, 2) ensemble. Procédé d’assemblage selon la revendication 1, caractérisé en ce que la boucle d’asservissement visuelle primaire comprend les étapes suivantes : prise d’une image des extrémités des deux pièces (1, 2), détermination d’une image cible, et comparaison entre des pixels de l’image cible et des pixels de l’image prise pour générer la consigne de déplacement d’après un écart entre lesdits pixels. CLAIMS Process 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: determination of points of mark at a first end (3) of the fixed part (1) and at a second end (4) of the movable part (2), positioning of at least one camera (5, 6, 7) so that the points markings of the two parts (1, 2) are in the visual field of the camera (5, 6, 7), the camera (5, 6, 7) being fixed relative to the fixed part (1), application of 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 of the robot to allow 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 comparison between pixels of the target image and pixels of the image taken to generate the movement instruction based on a difference between said pixels.
3. Procédé d’assemblage selon la revendication 2, caractérisé en ce qu’il comprend une étape initiale dans laquelle la position et l’orientation de la caméra (5, 6, 7) par rapport à la pièce fixe (1) sont déterminées à partir de l’observation de l’extrémité de la pièce fixe (1) par la caméra (5, 6, 7) et au moyen d’un calcul d’optimisation numérique. 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 digital optimization calculation.
4. Procédé d’assemblage selon la revendication 3, caractérisé en ce qu’un vecteur cible (x, y) de la pièce mobile (2) est déterminé à partir de la position relative entre la pièce fixe (1) et la caméra (5, 6, 7) et de la configuration d’encastrement entre la pièce fixe (1) et la pièce mobile (2), x ety étant les coordonnées des points de repère cibles. 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 the embedding configuration between the fixed part (1) and the moving part (2), x ety being the coordinates of the target reference points.
5. Procédé d’assemblage selon la revendication 4, caractérisé en ce qu’un vecteur de mesure (x’, y’) est déterminé à partir des images prises par la caméra (5, 6, 7), x’ ety’ étant les coordonnées des points de repère sur les pièces (1, 2), le vecteur de mesure (x’, y’) étant comparé au vecteur cible (x, y) pour déterminer l’écart entre les pixels, un profil de vitesse étant déterminé à partir de l’écart, une opération de pseudo-inverse de la matrice d’interaction étant appliquée sur le profil de vitesse pour obtenir des vitesses cartésiennes et une multiplication par la matrice jacobienne inverse du robot étant appliquée sur les vitesses cartésiennes pour obtenir une consigne de déplacement. 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' ety' 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 distance between the pixels, a speed profile being determined from the deviation, 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 movement instruction.
6. Procédé d’assemblage selon l’une quelconque des revendications 3 à 5, caractérisé en ce qu’il comprend, après l’étape initiale, une étape de présentation des pièces (1, 2) en boucle ouverte, à l’issue de laquelle les pièces (1, 2) sont distantes de quelques centimètres, l’étape de présentation étant suivie d’une boucle d'asservissement visuelle primaire de pré-encastrement à l’issue de laquelle les pièces (1, 2) sont se font face en étant correctement alignées, une boucle d'asservissement visuelle secondaire étant ensuite réalisée à l’issue de laquelle les pièces (1, 2) sont correctement encastrées, un vecteur cible (x, y) étant déterminé lors de chacune de ces étapes. 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 spaced a few centimeters apart, the presentation step being followed by a primary visual pre-embedding control loop at the end of which the parts (1, 2) are face while being correctly aligned, a secondary visual control loop then being produced at the end of which the parts (1, 2) are correctly fitted together, a target vector (x, y) being determined during each of these steps .
7. Procédé d’assemblage selon la revendication 6, caractérisé en ce que pour réaliser la boucle d’asservissement visuelle secondaire, un premier vecteur cible si correspondant à une première position et un deuxième vecteur cible S2 correspondant à une seconde position sont calculés lors de l’étape de préencastrement, une droite [si, S2] dans chaque image des caméras (5, 6, 7) étant tracée dans l’espace des pixels, des images des extrémités des pièces (1, 2) étant prises par la caméra (5, 6, 7) pour obtenir un champ vectoriel f(s) dans chaque image des caméras (5, 6, 7) à partir de vecteurs (s) mesurés par les caméras (5, 6, 7). Procédé d’assemblage selon la revendication 7, caractérisé en ce qu’un profil de vitesse en pixel est déterminé à partir du champ vectoriel f(s), une opération de pseudo-inverse de la matrice d’interaction étant appliquée sur le profil de vitesse en pixel pour obtenir des vitesses cartésiennes et une multiplication par la matrice jacobienne inverse du robot étant appliquée sur les vitesses cartésiennes pour obtenir la consigne de rapprochement permettant de piloter le robot. Procédé d’assemblage selon la revendication 7 ou 8, caractérisé en ce que le champ vectoriel f(s) est construit autour du segment [si, S2] délimitant une trajectoire cartésienne. Procédé d’assemblage selon la revendication 7 à 9, caractérisé en ce que pour la construction du champ vectoriel f(s), l'espace image est divisé en trois zones, dont : une zone extérieure (27) où f ramène s à une ligne de base (26) formée par la droite passant par si et S2, suivant une loi proportionnelle basée sur un écart, ou une distance, par rapport à la ligne de base (26), avec un gain X ; un couloir (28) où f ramène s à la ligne de base (26) tout en le faisant progresser vers S2 ; et une zone de freinage (29) où f fait converger s vers S2 avec une décélération moyenne a le long de la ligne de base 26. 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 traced 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) to from vector(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 profile of speed in pixels to obtain Cartesian speeds and a multiplication by the inverse Jacobian matrix of the robot being applied to the Cartesian speeds to obtain the approximation instruction allowing the robot to be controlled. 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 claims 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 exterior zone (27) where f reduces s to a base line (26) formed by the line passing through si and S2, following a proportional law based on a deviation, or a distance, relative to the base line (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 . Procédé d’assemblage selon l’une quelconque des revendications 1 à 10, caractérisé en ce que les points de repère comprennent des marqueurs en forme de disque répartis autour d’alésages (8, 9) prévus sur la pièce mobile (2) et sur la pièce fixe (1) pour la fixation des deux pièces. 12. Système d’assemblage automatisé d’une pièce fixe (1) avec une pièce mobile (2) apte à être déplacée par rapport à la pièce fixe par un robot, caractérisé en ce qu’il met en œuvre le procédé d’assemblage tel que défini selon l’une quelconque des revendications 1 à 11. 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 movable part (2) and on the fixed part (1) for fixing the two parts. 12. System 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 implements the assembly process as defined according to any one of claims 1 to 11.
PCT/EP2023/069738 2022-07-16 2023-07-16 Method for the automated assembly of two parts, comprising automatic control using cameras WO2024017809A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2207293A FR3137859A1 (en) 2022-07-16 2022-07-16 Automated ASSEMBLY process of two parts including servo control with cameras
FRFR2207293 2022-07-16

Publications (1)

Publication Number Publication Date
WO2024017809A1 true WO2024017809A1 (en) 2024-01-25

Family

ID=83900197

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2023/069738 WO2024017809A1 (en) 2022-07-16 2023-07-16 Method for the automated assembly of two parts, comprising automatic control using cameras

Country Status (2)

Country Link
FR (1) FR3137859A1 (en)
WO (1) WO2024017809A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110919654A (en) 2019-12-02 2020-03-27 中国船舶工业系统工程研究院 Automatic butt joint system of arm based on visual servo

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110919654A (en) 2019-12-02 2020-03-27 中国船舶工业系统工程研究院 Automatic butt joint system of arm based on visual servo

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANDREFF NICOLAS ET AL: "Visual Servoing from Lines", THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, vol. 21, no. 8, 31 August 2002 (2002-08-31), Sage, pages 679 - 699, XP093025760, ISSN: 0278-3649, DOI: 10.1177/027836402761412430 *
MEZOUAR Y. ET AL: "Path planning in image space for robust visual servoing", ROBOTICS AND AUTOMATION, 2000. PROCEEDINGS. ICRA '00. IEEE INTERNATIONAL CONFERENCE ON, vol. 3, 24 April 2000 (2000-04-24), Piscataway, NJ, USA, pages 2759 - 2764, XP093025756, ISBN: 978-0-7803-5886-7, DOI: 10.1109/ROBOT.2000.846445 *
PENG YUAN-CHIH ET AL: "Sensor-Guided Assembly of Segmented Structures with Industrial Robots", APPLIED SCIENCES, vol. 11, no. 6 -2669, 17 March 2021 (2021-03-17), pages 1 - 18, XP093026230, DOI: 10.3390/app11062669 *

Also Published As

Publication number Publication date
FR3137859A1 (en) 2024-01-19

Similar Documents

Publication Publication Date Title
US20180021751A1 (en) Apparatuses and methods for accurate structure marking and marking-assisted structure locating
US8346392B2 (en) Method and system for the high-precision positioning of at least one object in a final location in space
CN111702173B (en) Molding apparatus and molding method
KR101421906B1 (en) Motor control apparatus, motor control method, control system, and position estimation method to be used in control system
US9995570B2 (en) In-line inspection of ophthalmic device with auto-alignment system and interferometer
EP2280807B1 (en) Manipulator robot and associated control for fine positioning of the terminal end
EP2542390B1 (en) Method and system for assisting in the handling of robotized machines in a congested environment
JP2006312233A5 (en)
FR3033655A1 (en) METHOD FOR GENERATING A MACHINING PROGRAM
CN110631477A (en) Optical imaging unit and system for measurement techniques
WO2024017809A1 (en) Method for the automated assembly of two parts, comprising automatic control using cameras
JP6816060B2 (en) Work robot system and work robot
WO2017103489A1 (en) System and method for correcting a trajectory of an effector carried by a robot
EP1671192B1 (en) Method of calibrating an ophthalmic-lens-piercing machine, device used to implement one such method and ophthalmic-lens-machining apparatus comprising one such device
FR3014722A1 (en)
WO2024017810A1 (en) Method for automated alignment of two parts comprising servo-control with profilometers
FR3044574A1 (en) FRICTION WELDING ROBOT MIXING
EP3519143B1 (en) Installation comprising an articulated arm and a machining apparatus and corresponding machining method
EP3414040B1 (en) Device for automatically welding a seam, in particular a v-groove seam joint
JP6602801B2 (en) Photoelectric sensor and manufacturing method thereof
Kojima et al. Human-robot interaction system for micromanipulation assistance
FR3106904A1 (en) Method for calibrating the extrinsic characteristics of a lidar
Deng et al. Adaptive alignment control for a dual-PSD based industrial robot calibration system
JP2005297112A (en) Biaxial hole machining method
FR3045904A1 (en) ROBOTIC METHOD OF THREE-DIMENSIONAL OPTICAL MEASUREMENT

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: 23741072

Country of ref document: EP

Kind code of ref document: A1