METHOD FOR JOINING BULK MATERIALS
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- THYSSENKRUPP SYST ENG
- Filing Date
- 2023-11-07
- Publication Date
- 2026-04-22
AI Technical Summary
Existing robotic assembly methods for parts arranged loosely in containers face inefficiencies due to the need for separate robots to apply force after initial placement, as anti-collision mechanisms prevent direct assembly, leading to increased time and complexity.
A method and system utilizing multiple robots with actuated joints and gripping members, controlled by data processing means, to determine and execute trajectories while monitoring force variations to ensure safe and efficient assembly of parts, allowing simultaneous depalletizing and assembly without repositioning.
Enables simultaneous and efficient assembly of parts by monitoring force variations during the assembly process, ensuring safety and reducing the need for additional robots, thus improving efficiency and reducing assembly time.
Description
GENERAL TECHNICAL FIELD
[0001] The present invention relates to the field of industrial process robotization, particularly for production lines. More specifically, the present invention relates to an assembly method with a debulking component, i.e., gripping parts arranged loose in a container while directly assembling them. STATE OF THE ART
[0002] Parts intended for use in manufacturing lines are generally supplied "in bulk", i.e. arranged in a disorderly manner in a container, as opposed to "unit" packaging in which each part is stored individually.
[0003] Bin picking is the highly repetitive and low-value task of picking them up one by one to dispose of them elsewhere and then use them.
[0004] Recent efforts have focused on automating this task, particularly by using robots equipped with vision and gripping capabilities. Specifically, a robotic arm picks up the parts one by one from the container. The challenge lies in the fact that the container can hold hundreds or thousands of parts, which may be tangled and overlapping. Therefore, an advanced algorithm for locating parts arranged in bulk, as described in application FR2204180, is necessary.
[0005] This depalletizing technique is entirely satisfactory but currently only allows a part to be picked up and placed somewhere, usually a buffer zone. If this part needs to be assembled with another, and in particular if one part is to be fitted into the other, a separate, dedicated robot is required, generally a press that applies force to the parts, resulting in a loss of time.
[0006] Indeed, the robotic arms used for unloading employ an anti-collision mechanism that automatically stops the movement if an actuator detects a resistance force exceeding a certain threshold (characteristic of contact). This makes it impossible to apply force with the arm, hence the need for dedicated presses. This anti-collision mechanism is essential for safety reasons, as the robot's movement must be interrupted in the event of an unexpected obstacle in the arm's path.
[0007] At best, it has been proposed that the robot arm change jaws (precision jaws → pressing jaws) after placing the part on the buffer zone, or even directly present a press tool not subject to anti-collision, to perform the force, which complicates the task without really accelerating it.
[0008] We know of such robot part assembly processes from documents Zuyuan Zhu et al. Robot Performing Peg-in-Hole Operations by Learning from Human Demonstration, US2017368648, DE102018003269 and US2021394367.
[0009] The present invention improves the situation. PRESENTATION OF THE INVENTION
[0010] The present invention therefore relates, in a first aspect, to a method for assembling at least one first part with a second part, the first part being arranged loose in a first container, the method being characterized in that it comprises the implementation, by data processing means, of the following steps: (c) Determination of a first trajectory of a first robot equipped with actuated joints and a gripping member, enabling the first part to be grasped in the first container with the gripping member of the first robot and then moved until it is assembled with the second part, the second part being held by a gripping member of a second robot different from the first robot in a predefined waiting position; (d) Control of the first robot so as to implement the trajectory, by estimating a force exerted on the actuated joints of the first robot as a function of the progress of the trajectory; (e) Verification that during the trajectory: Until contact of the first part with the second part (2b), the force exerted is less than a safety threshold; thereafter, a variation in the force exerted is consistent with an expected variation representative of the assembly of the first part with the second part.
[0011] According to advantageous and non-limiting characteristics: The second part is also placed in bulk in a second container, the process comprising the preliminary steps of: (a) Determining a second trajectory for a third robot equipped with actuated joints and a gripping member to grasp said second part in the second container with the gripping member of the third robot and move it to said waiting position; (b) Controlling the third robot so as to implement said second trajectory.
[0012] The third robot is the second robot.
[0013] The third robot is not the second robot, preferably is the first robot, and step (b) includes the transfer of said second part from the grasping organ of the third robot to the grasping organ of the second robot.
[0014] Step (c) includes the prior localization of said first part in the first container based on at least one three-dimensional point cloud of the parts arranged loosely in the first container, acquired by a stereoscopic camera.
[0015] The first trajectory of the first robot includes the following in succession: An initial phase, in which the first robot moves from a starting position to a gripping position in which the gripping organ of the first robot can grasp the first part; An approach phase, in which the first robot moves, holding the first part, from the gripping position to the contact position of the first part with the second part; A fitting phase of the first part with the second part.
[0016] The fitting phase comprises a first sliding sub-part and a second assembly sub-part, step (e) including verification that: On the sliding sub-phase, the increase in the force exerted is beyond a minimum threshold but without reaching an intermediate threshold; On the assembly sub-phase, a maximum threshold higher than the intermediate threshold is reached within a predetermined range of advancement position of the first robot.
[0017] The fitting phase includes a first sub-phase of sliding to a placement position in which the gripping member of the first robot can release the first part, and a second sub-phase of assembly by applying a push on the first part with a bearing surface of the first robot.
[0018] Step (e) includes: If, before the first part contacts the second part, the stress exerted reaches the specified safety threshold, each robot is stopped; if, after the first part contacts the second part, the change in stress exerted does not conform to the expected change representative of the assembly of the first part with the second part, the assembly result is rejected
[0019] The process includes additional steps such as: (f) Determination of a third trajectory for the first robot to deposit the result of the assembly into another container according to the result of the verification in step (e); (g) Command of the first robot to implement said third trajectory.
[0020] According to a second aspect, the invention relates to an assembly system of at least one first part with a second part, the first part being arranged loosely in a first container, comprising a first robot equipped with actuated joints and a gripping member, a second robot different from the first robot equipped with a gripping member, and data processing means; characterized in that the data processing means are configured to: Determine a first trajectory for the first robot, enabling it to grasp the first part in the first container with the first robot's gripping mechanism and then move it until it is assembled with the second part, when the second part is held by the second robot's gripping mechanism in a predefined waiting position; Control the first robot to implement the trajectory, estimating the force exerted on the first robot's actuated joints as a function of the trajectory's progress; Verify that during the trajectory: o Until the first part makes contact with the second part, the force exerted is below a safety threshold; o thereafter, a variation in the force exerted conforms to an expected variation representative of the assembly of the first part with the second part.
[0021] According to advantageous and non-limiting features, the system comprises a third robot equipped with actuated joints and a gripping member, the second part being disposed of loose in a second container (3b); the data processing means are configured to: determine a second trajectory for the third robot enabling it to grasp said second part in the second container with the grasping organ of the third robot and move it to said waiting position; Command the third robot so as to implement said second trajectory.
[0022] According to a second and a third aspect, a computer program product is proposed comprising code instructions for executing a process according to the first of assembling at least one first part with a second part, and a computer-readable storage means on which is recorded a computer program product comprising code instructions for executing a process according to the first aspect of assembling at least one first part with a second part. PRESENTATION OF THE FIGURES
[0023] Other features and advantages of the present invention will become apparent from the following description of a preferred embodiment. This description will be given with reference to the accompanying drawings, in which: [ Fig. 1 ] there figure 1 is a diagram of a system for implementing the process according to the invention; [ Fig. 2 ]there figure 2 is a flowchart representing the steps of an embodiment of the process according to the invention; [ Fig. 3a ]there figure 3a illustrates a first state of the system in an embodiment of the process according to the invention; Fig. 3b ]there figure 3b illustrates a second state of the system in an embodiment of the process according to the invention; [ Fig. 3c ]there figure 3c illustrates a third state of the system in an embodiment of the process according to the invention; [ Fig. 4a ]there figure 4a represents a first example of a force / displacement curve used in an embodiment of the process according to the invention; [ Fig. 4b ]there figure 4b represents a second example of a force / displacement curve used in an embodiment of a process according to the invention. DETAILED DESCRIPTION Architecture
[0024] With reference to the figure 1 ,The present invention relates to a method for assembling at least one first part 2a with a second part 2b, the first part 2a being arranged loosely in a first container 3a (meaning that there are multiple copies of the first part 2a in said first container 3a), and advantageously the second part 2b is also arranged loosely in a second container 3b (meaning that there are multiple copies of the second part 2b in said second container 3b), even if it is possible that the second part 3b is already packaged in an ordered manner. It should be noted that "arranged loosely" means arranged in a non-ordered and generally random manner: upon opening the containers, the position of the parts inside and their arrangement is unpredictable.
[0025] The first and second containers (or receptacles) 3a, 3b are typically crates, opened to allow access to the parts inside and their individual removal. Note that it is possible for the first and second containers 3a, 3b to be the same, i.e., for the first and second parts 2a, 2b to be placed loose in the same container. In the example of the figure 1 We have 4 containers: the first container 2a, the second container 3b, a third container 3c to receive the assembled parts, and a fourth container 3d to receive the rejected parts (see further).
[0026] It is understood that the process thus includes both a depalletizing component (of at least the first part 2a), and an assembly component, both being done simultaneously, without going through a phase of repositioning the depalletized parts.
[0027] Assembly refers to the joining of two parts 2a and 2b to form a single part, denoted 2a+2b. In the following description, we assume that parts 2a and 2b are compatible, meaning they have complementary shapes. Parts 2a and 2b could also be identical, provided they can be joined.
[0028] We generally have a "male" part, i.e., with a protrusion (in the examples shown, this is the first part 2a, a shaft), and a "female" part, i.e., a bore (in the examples shown, this is the second part 2b, a barrel). The assembly is an engagement of the male part into the female part (more precisely, of the protrusion into the bore), or "fitting." The assembly can be a press fit, held by friction, or involve elastic deformation, clipping, etc.
[0029] The system for implementing this method includes data processing means 4 and at least two robots 1a, 1b (and potentially three). In the example of the figure 1 There are only the first robot, 1a, and the second robot, 1b. We will use the reference 1c for a possible third robot, but it is understood that in the examples shown, the first robot, 1a, plays the role of the third robot. Alternatively, the second robot, 1b, can play the role of the third robot, 1c; all possible configurations will be explained later.
[0030] The data processing means 4 are typically a processor and are specifically intended to control the robots 1a, 1b, 1c. These are generally the data processing means of a computer, such as a laptop, connected to the robots 1a, 1b, 1c, which may further include: The system also typically includes data storage means 5 (memory, again potentially that of the laptop), an interface 6 (for example, a touchscreen), and a support structure 7 for the robots 1a, 1b, 1c, having in particular a platform for placing the containers 3a, 3b, 3c, 3d, and on which the interface 7 can be mounted.
[0031] The system further advantageously includes a stereoscopic camera 10, also connected to the processing means 4. The camera 10 is positioned to see the inside of the containers and therefore parts 2a, 2b, i.e., either fixedly or mounted on the first robot 1a (case of the figure 1 ), and in all cases capable of acquiring a three-dimensional point cloud, and generally a two-dimensional image. In the case of a third robot 1c distinct from the first robot 1a (see below), it may have its own camera 10. Robots
[0032] The first robot 1a is a robot for manipulating at least the first part 2a. It is equipped with actuated joints 12a and a gripping member 11a, and advantageously with a support surface 13a (see below).
[0033] Such a robot is generally called a "robot arm" because the actuated joints 12a, or "joints," allow it to change position and thus move a part 2a. In the example of the figure 1 The first robot is a Staübli TX2-90L type with 6 actuated joints 12a, but any other architecture will be possible, including Cartesian robots, because the notion of actuated joints will be interpreted broadly.
[0034] The gripping member 11a is typically a 2-jaw gripper, actuable independently of the joints, so as to "grasp" or "release" a part 2a, and is generally located at the end of the arm so that all the joints 12a work together to move this gripping member 11a. The camera 10 is also typically at the end of the arm, so as to move in conjunction with the gripping member 11a.
[0035] For convenience, in the following description, the "position" of the first robot 1a will be defined as the value of the vector of positions of each joint, denoted [j1, j2, j3, j4, j5, j6] in the case of the 6-axis robot. It is assumed that a dynamic model of the robot is available that allows us to correlate a spatial position [X, Y, Z] (in a given coordinate system – in particular, an orthonormal one) of the grasping organ 11a with a position [j1, j2, j3, j4, j5, j6] of the robot 1a.
[0036] It is assumed that the first robot 1a implements a classic anti-collision mechanism, i.e. that it is capable of estimating a force exerted on said joints actuated during a trajectory, in particular to detect an abnormal force representative of an impact against an obstacle (force greater than a safety threshold): the first robot then stops instantly.
[0037] The second robot 1b, on the other hand, does not necessarily have actuated joints 12b, but it does have its gripping mechanism 11b for grasping / releasing the second part 2b. In the examples shown, this is a three-jaw gripper. It is assumed that a predefined standby position is held for the second robot 2b, which is fixed in the absence of actuated joints 11b.
[0038] Alternatively, the second robot 2b could be a complete robotic arm (i.e., with actuated joints 12b), for example, the same as the first robot 1a (not shown). It could then have its own stereoscopic camera.
[0039] Note that the first and second robots 1a, 1b are two distinct robots (in that they are independently manipulable so that the first robot 1a can hold and move the first part 2a relative to the second robot 1b, i.e. that they have different actuated joints and grasping organs 11a, 11b), but they can "be part" of the same large robot.
[0040] As explained, the present process involves, in particular, at least the unloading of the first part 2a by the first robot 2a. In the case where it also involves unloading the second part 2b, this unloading is done by a third robot 1c.
[0041] According to a first embodiment, there is a third robot 1c, distinct from the other two robots 1a and 1b, which is typically the same model as the first robot 1a (a robotic arm with actuated joints and a gripping mechanism). The third robot 1c unpacks the second part 2b and gives it to the second robot 1b (which may be a robot without actuated joints), and the first robot 1b unpacks the first part 2a and carries out the assembly; both can unpack simultaneously.
[0042] According to a second embodiment, the third robot 1c is the second robot 1b, i.e., the second robot 1b also acts as the third robot and unwraps the second part 2b. It is then typically the same model as the first robot 1a (a robotic arm with actuated joints and a gripping mechanism). The second robot 1b unwraps the second part 2b and moves to the waiting position, then the first robot 1b unwraps the first part 2a and carries out the assembly.
[0043] According to a third embodiment corresponding to what is represented by the figure 1 The third robot 1c is the first robot 1a; that is, the first robot 1a also acts as the third robot and unpacks the second part 2b. In other words, the same arm unpacks both parts 2a and 2b. The first robot 1a unpacks the second part 2b and gives it to the second robot 1b (which may be a robot without actuated joints), then the first robot 1b unpacks the first part 2a and performs the assembly. The two unpacking operations are therefore necessarily sequential. Principe
[0044] The first robot 1a which has actuated joints 12a must implement an anti-collision mechanism for safety, which proves incompatible with the assembly which is by definition a collision.
[0045] The present process does not propose to oppose anti-collision, but to use it in an original and completely counter-intuitive way, which not only allows assembly, but also ensures that it takes place correctly, without sacrificing safety.
[0046] The idea is to always monitor the effort exerted by the actuated joints 12a of the first robot 2a, but from a contact of the first part 2a with the second part 2b, to verify that a variation of the effort exerted is consistent with an expected variation representative of the assembly of the first part 2a) with the second part 2b.
[0047] More specifically, until the first part 2a makes contact with the second part 2b, we verify using "classical collision avoidance" that the force exerted is constantly below a safety threshold. Then, when contact begins (which can be established based on the position of the first robot 1, since we know that this contact is at the said waiting position), we compare the force profile with an expected force profile to ensure that: The increase in effort observed is quite normal (due to the fitting) and therefore an impact with an obstacle; and that the assembly is "good" and therefore that part 2a+2b is correct, otherwise it means that the assembly went wrong (possibly due to a defect in one of the parts) and the "pseudo" part 2a+2b is rejected. Procédé
[0048] We can start from a state in which the second part is held by the gripping organ 13b of the second robot 10b in the predefined waiting position, if the second part 1b is not arranged in bulk, or even if an operator manually gives the second part 2b to the second robot 1b.
[0049] Alternatively, with reference to the figure 2 , The process begins with optional steps (a) of determining a second trajectory of the third robot 1c enabling it to grasp said second part 2b in the second container 3b grasping member 13c of the third robot 1c and move it to said waiting position; and (b) of controlling the third robot 1c so as to implement said second trajectory (preferably by estimating a force exerted on said actuated joints 12c of the third robot 2c as a function of the advancement of the trajectory).
[0050] The second trajectory of the third robot 1c advantageously comprises successively: An initial phase, in which the third robot 1c moves from a starting position to a grasping position in which the grasping organ 11c of the first robot 1c can grasp the second piece 2b (in the second container 3b); and an approach phase, in which the third robot 1c moves, holding the second piece 2b, from the grasping position to the waiting position.
[0051] Step (b) then includes, where applicable (if the third robot 1c is different from the second robot 1b, and in particular if it is the first robot 1a as in the examples shown), the transfer of said second part 2b from the gripping organ 11c of the third robot 1c to the gripping organ 11b of the second robot 1b, as seen in the figure 3a .The transfer is static: upon reaching the waiting position, the gripping organ 11b of the second robot 1b grasps the second part 2b, then the gripping organ 11c of the third robot 1c releases the second part 2b (for a brief moment both hold the second part 2b simultaneously). The third robot 1c then changes position to free up the space in front of the second part 2b (for example, returning to the starting position).
[0052] Next, the process includes main steps (c) of determining a first trajectory of the first robot 1a enabling it to grasp said first part 2a in the first container 3a with the grasping member 13a of the first robot 1c and to move it until it is assembled with the second part 2b (see below); and (d) of controlling the first robot 1a so as to implement said second trajectory.
[0053] Like the second trajectory, the first trajectory of the first robot 1a advantageously comprises successively: An initial phase, in which the first robot 1a moves from a starting position (which can be the waiting position to save time if the third robot 1c is the first robot 1a – alternatively, it can return to the starting position) to a gripping position in which the gripping member 11a of the first robot 1a can grasp the first part 2a (in the first container 3a); An approach phase, in which the first robot 1a moves, holding the first part 2a, from the gripping position to a contact position of the first part 2a with the second part; A fitting phase of the first part 2a with the second part 2b. This last phase includes, visibly or not, two sub-phases: sliding (i.e., the beginning of the fitting, which is reversible and has limited resistance) and assembly (i.e., the beginning of the fitting).The end of the fitting process is irreversible, occurring until the parts are fully assembled and requiring the user to overcome significant resistance. These two sub-phases can be performed either simultaneously, i.e., using only the gripping element 11a of the first robot 1a (this is called direct fitting), if the gripping element 11a of the first robot 1a is sufficiently robust, or separately if the gripping element 11a is too fragile or if there is a risk of misalignment (it must remain highly precise). In this second case, indirect fitting, the sliding sub-phase is carried out with the gripping element 11a of the first robot 1a, and the assembly sub-phase is carried out with the bearing surface 13a of the first robot 1a. More specifically: o The sliding is to a drop position in which the gripping member 11a of the first robot 1a can release the first part 2a (represented by the . figure 3b ), indeed it holds on the second part 2a, albeit in an unsafe manner; o The assembly is obtained by applying a push to the first part with the support surface 13a of the first robot 1a (represented by the figure 3c ). To rephrase, the first robot 1a can move away from the first part 2a and pivot so as to return to contact not with the gripping member 11a but with a support surface 13a (a rigid member generally in the immediate vicinity of the gripping member 11a at the end of the robot arm 1a) which can apply a much higher force.
[0054] Apart from possibly the last fitting phase which has particular constraints which will be described in detail, steps (c) and (d) are respectively similar to possible steps (a) and (b), and are generally known to a person skilled in the art, who may refer in particular to application FR2204180: step (c) may include the prior localization of said first part 2a in the first container 3a according to at least one three-dimensional point cloud of the parts arranged loose in the first container 2a, acquired by the stereoscopic camera 10 (and similarly step (a) may include the prior localization of said second part 2b in the second container 3b according to at least one three-dimensional point cloud of the parts arranged loose in the second container 2b, acquired by the stereoscopic camera 10) the first trajectory (just like the second trajectory) may be determined by a planning algorithm, knowing the required passage positions, and a geometry of the parts 2a, 2b defining a fitting direction; The execution of a trajectory is done with a suitable controller of the actuated joints 12a, 12b, 12c of the robots 1a, 1b, 1c.
[0055] In a highly original step (e) (which can in practice be implemented in real time simultaneously with the trajectory executions of steps (b) and (d)), the data processing means 4 verify that during the trajectory: Until the first part 2a comes into contact with the second part 2b, the force exerted is below a safety threshold (for example 30N - this is the classic anti-collision) - which corresponds to the entire second trajectory, and the initial and approach phases of the first trajectory; Then - which corresponds to the fitting phase of the first trajectory - a variation in the force exerted conforms to an expected variation representative of the assembly of the first part 2a with the second part 2b.
[0056] If : Before the first part 2a comes into contact with the second part 2b, the stress exerted reaches the safety threshold, and the first robot 1a (or the third robot 1c if we are at step (b), and preferably each robot) is stopped. After the first part 2a comes into contact with the second part 2b: if the change in the stress exerted does not conform to the expected change representative of the assembly of the first part 2a with the second part 2b, we can assume that the assembly failed and the result is rejected (one of the robots 1a, 1b, or 1c can place it in the fourth container 3d). As we will see later, there can be several rejection scenarios.∘ The variation in the effort experienced is consistent with the expected variation representative of the assembly of the first part 2a with the second part 2b, we can assume that the assembly went well and the result of the assembly (part 2a+2b) is accepted (one of the robots 1a, 1b, 1c can put it in the third container 3c).
[0057] By "contact of the first part 2a with the second part 2b" we mean a theoretical, instantaneous moment (the contact in practice lasts throughout the entire fitting phase), which does not need to be detected because: We know the waiting position (which is predetermined) and the geometry of parts 2a, 2b, so we can determine said contact position; we know in real time the position of the first robot 1a, so the processing means 4 can assume that contact takes place when the contact position is reached.
[0058] Thus, as long as we have not reached the contact position, we are in "force suffered is less than a safety threshold" mode and then we switch to "variation of the force suffered is in accordance with an expected variation representative of the assembly" mode.
[0059] Mathematically, the said effort suffered by the said actuated joints 12a, 12c as a function of the advancement of the trajectory can be a function of the differences, for each actuated joint 12a, 12c, between a predictable reference torque (due to the weight of the robot arm, inertia, etc.) and a torque actually measured for the joint (we know how to measure such a torque as a function of the electric current observed in the actuator).
[0060] We can note EffortSubi = d ( EffortRef, EffortMes ), with d a distance function (typically norm 1, norm 2 or infinity norm), EffortRef = [ CoupleRef i ] 1≤ i ≤ n And EffortMes = [ CoupleMes i ] 1≤ i ≤n the reference and measured efforts and n the number of joints (6 in the example of the Staübli arm).
[0061] If d is the norm 2, then EffortSubi = ∑ i = 1 n CoupleRef i − CoupleMes i , d if is the norm 2 we have EffortSubi = ∑ i = 1 n CoupleRef i − CoupleMes i and if d is the infinity norm we have EffortSubi = max 1 ≤ i ≤ n CoupleRef i − CoupleMes i
[0062] It is understood that in the absence of a collision, EffortSubi should be almost zero, so that we can foresee a low safety threshold, for example 30N, ten or even 100 times lower than the force required for fitting (as we will see, it can go up to more than 7500N).
[0063] By variation of the force exerted, we mean a force profile as a function of the trajectory's progress, i.e., time or the position of the first robot 1a during the mounting process. Generally, the mounting is along a constant direction (translation), so the force exerted can be expressed as a function of a mounting dimension along the mounting direction.
[0064] The verification that the variation of the effort suffered is consistent with an expected variation representative of the assembly of the first part 2a with the second part 2b can be carried out by any technique, including the implementation of an AI classification model, learned on a basis of expected variations representative of the assembly of the first part 2a with the second part 2b (as training examples).
[0065] Alternatively, certain criteria are checked, preferably in the following way: During the sliding subphase, the increase in force exceeds a minimum threshold (typically at least 20 times the safety threshold) but does not reach an intermediate threshold (typically 3 or 4 times the minimum threshold). Indeed, during sliding, the force increases progressively. If the minimum threshold is not reached, the fit of the parts is too loose and assembly will be impossible; if the intermediate threshold is reached, there is already a blockage or an obstacle (remember that the thrust against the bearing surface 13a has not yet begun). It can also be verified that the force increases approximately linearly during sliding (because more and more material is involved), for example, by checking that the derivative is within a given interval.During the assembly sub-phase, reaching a maximum threshold (indicating that the first part 2a has reached its stop), higher than the intermediate threshold (and typically between 2 and 3 times the intermediate threshold), at a robot advancement position 1a within a predetermined interval. If the force increases too early in the movement: the second part 2b is too long / the bore too short, or the first part 2a is too tight. If the force increases too late, the second part 2b is too short / the bore too long.
[0066] Mathematically: For criterion 1, between xc the contact position and xg a predefined end-of-sliding position (which may be the possible removal position mentioned earlier): ∃ x ∈ [ x c , x g ] , EffortSubi ( x ) ≥ SeuilEffortMin, and ∀ x ∈ x c x g , EffortSubi x < SeuilEffortInterm é diaire For criterion 2, with [x min ,x max ] the predefined interval for the end of assembly beyond xg the predefined position for the end of sliding: ∀ x ∈ [ x g , x min ] , EffortSubi ( x ) < SeuilEffortMax and ∃ x ∈ x min x max , EffortSubi x = SeuilEffortMax
[0067] In numerical terms, if the safety threshold is 30N, we can, for example, predict 1000N for the minimum threshold, 3000N for the intermediate threshold and 7500N for the maximum threshold.
[0068] THE figures 4a et 4b These figures represent two examples of stress experienced as a function of the fitting dimension, respectively in a case of correct fitting and an incorrect fitting. The dimensions are arbitrarily defined, so they do not correspond in the two figures.
[0069] In the figure 4a The initial position of the fitting corresponds to the 127 mm dimension, and the force increases to 2500 N at the 129 mm dimension (end of sliding). The observed "angular point" corresponds to the transition to the bearing surface 13a. The force then continues to increase to 7500 N at an expected dimension between 131 and 132 mm. The assembly is correct: the 2a+2b part will hold and is accepted.
[0070] In the figure 4b The initial insertion position corresponds to the 302 mm dimension, but no increase in force is observed. Between 302 and 304 mm, there are vibrations indicating contact but no smooth sliding: the shaft touches the edge of the bore, but the bore is too large. The force reaches only 1000 N at the 312 mm dimension, then abruptly the 7500 N threshold just before 316 mm. Part 2a+2b will not hold and must be rejected.
[0071] In optional final steps (f) and (g) (the assembled part could simply be dropped by the second robot 2b, or retrieved by an operator), the processing means 4 determine a third trajectory of the first third robot 1a allowing the assembled part 2a+2b to be deposited into another container according to the result of the verification of step (e): in our case, the third container 3c if the verification is positive (correct assembly), the fourth container 3d otherwise (incorrect assembly); and finally command the first robot 1a so as to implement said third trajectory.
[0072] As explained, in the case of incorrect insertion, a notification may be sent to interface 6, possibly with an indication of the error: E-: Effort too low during fitting (minimum threshold not reached) E+: Effort too high during fitting (intermediate threshold reached) D-: Fitting dimension reached too early (maximum threshold reached before the minimum dimension) D+: Fitting dimension reached too late (maximum threshold reached after the minimum dimension) Système
[0073] According to a second aspect, the invention relates to the assembly system for implementing the process according to the first aspect.
[0074] The system includes a first robot 1a equipped with actuated joints 12a and a gripping member 11a, a second robot 1b different from the first robot 1a and equipped with a gripping member 11b, optionally a third robot 1c equipped with actuated joints 12c and a gripping member 11c (which may be the first or second robot, or a still distinct robot) and data processing means 4 (advantageously a three-dimensional camera 10, and optionally a memory 5 and an interface 6).
[0075] The data processing means 4 are configured to: Determine a first trajectory for the first robot 1a that allows it to grasp the first part 2a in the first container 3a with the gripping member 11a of the first robot 1a and then move it until it is assembled with the second part 2b, when the second part 2b is held by the gripping member 11b of the second robot 1b in a predefined waiting position; Control the first robot 1a so as to implement said trajectory, estimating a force exerted on said actuated joints 12a of the first robot 2a as a function of the progress of the trajectory; Verify that during the trajectory: o Until contact of the first part 2a with the second part 2b, the force exerted is less than a safety threshold; o thereafter, a variation in the force exerted conforms to an expected variation representative of the assembly of the first part 2a with the second part 2b.
[0076] The data processing means 4 can also be configured for (in the case of a third robot 1c and a second part 2b arranged in bulk): determine a second trajectory of the third robot 1c enabling it to grasp said second part 2b in the second container 3b with the grasping organ 11c of the third robot 1c and move it to said waiting position; Command the third robot 1c so as to implement said second trajectory.
[0077] The data processing methods 4 can even be configured to: determine a third trajectory of the first robot 1a allowing to deposit the result of the assembly to another container 3c, 3d function of the result of the verification that during the trajectory, after the contact of the first part 2a with the second part 2b, a variation of the force suffered is in accordance with an expected variation representative of the assembly of the first part 2a with the second part 2b; Control the first robot 1a so as to implement said third trajectory. Produit programme d'ordinateur
[0078] According to a third and a fourth aspect, the invention relates to a computer program product comprising code instructions for the execution (in particular on the data processing means 4) of a method according to the first aspect of assembling at least a first part 2a with a second part 2b, as well as computer-readable storage means (memory 5) on which this computer program product is found.
Claims
1. Method for assembling at least one first part (2a) with a second part (2b), the first part (2a) being disposed in bulk in a first container (3a), the method being characterised in that it comprises the implementation by data processing means (4) of the following steps: (c) Determining a first trajectory of a first robot (1a) equipped with actuated joints (12a) and a gripping member (11a), for grasping said first part (2a) in the first container (3a) with the gripping member (11a) of the first robot (1a) and then moving it until it is assembled with the second part (2b), said second part (2b) being held by a gripping member (11b) of a second robot (1b) different from the first robot (1a) in a predefined waiting position; (d) Controlling the first robot (1a) so as to perform said trajectory, estimating a force exerted on said actuated joints (12a) of the first robot (2a) as a function of the progress of the trajectory; (e) Verifying that during the trajectory: - Until the first part (2a) comes into contact with the second part (2b), the force exerted is below a safety threshold; - thereafter, a variation in the force exerted is consistent with an expected variation representative of the assembly of the first part (2a) with the second part (2b).
2. Method according to claim 1, in which the second part (2b) is also disposed in bulk in a second container (3b), the method comprising preliminary steps of: (a) Determining a second trajectory of a third robot (1c) equipped with actuated joints (12c) and a gripping member (11c) for grasping said second part (2b) in the second container (3b) with the gripping member (11c) of the third robot (1c) and moving it to said waiting position; (b) Control of the third robot (1c) so as to perform said second trajectory.
3. Method according to claim 2, wherein: - Either the third robot (1c) is the second robot (1b); - Either the third robot (1c) is not the second robot (1b), preferably the first robot (1a), and step (b) comprises transferring said second part (2b) from the gripping member (11c) of the third robot (1c) to the gripping member (11b) of the second robot (1b).
4. Method according to one of claims 1 to 3, wherein step (c) comprises the prior location of said first part (2a) in the first container (3a) based on at least one three-dimensional point cloud of the parts arranged in bulk in the first container (2a), acquired by a stereoscopic camera (10).
5. Method according to one of claims 1 to 4, wherein the first trajectory of the first robot (1a) comprises successively: - An initial phase, in which the first robot (1a) moves from a starting position to a grasping position in which the gripping member (11a) of the first robot (1a) can grasp the first part (2a); - An approach phase, in which the first robot (1a), holding the first part (2a), moves from the grasping position to the position where the first part (2a) comes into contact with the second part (2b); - A phase of fitting the first part (2a) to the second part (2b).
6. Method according to claim 5, in which the fitting phase comprises a first sliding sub-phase and a second assembly sub-phase, step (e) comprising verifying that: - during the sliding sub-phase, an increase in the force exerted exceeds a minimum threshold but does not reach an intermediate threshold; - on the assembly sub-phase, a maximum threshold greater than the intermediate threshold is reached within a predetermined interval of position of progress of the first robot (1a).
7. Method according to one of claims 5 and 6, in which the fitting phase comprises a first sliding sub-phase up to a deposit position in which the gripping member (11a) of the first robot (1a) can release the first part (2a), and a second sub-phase of assembly by applying pressure to the first part with a support surface (13a) of the first robot (1a).
8. Method according to one of claims 1 to 7, wherein step (e) comprises: - If, before the first part (2a) comes into contact with the second part (2b), the force exerted reaches the said safety threshold, each robot (1a, 1b, 1c) is stopped; - If, after the first part (2a) comes into contact with the second part (2b), the variation in the force exerted does not correspond to the expected variation representative of the assembly of the first part (2a) with the second part (2b), the result of the assembly is rejected.
9. Method according to one of claims 1 to 8, comprising the additional steps of: (f) Determining a third trajectory of the first robot (1a) for depositing the assembly result into another container (3c, 3d) according to the result of the verification in step (e); (g) Controlling the first robot (1a) so as to performing said third trajectory.
10. System for assembling at least a first part (2a) with a second part (2b), the first part (2a) being loosely arranged in a first container (3a), comprising a first robot (1a) equipped with actuated joints (12a) and a gripping member (11a), a second robot (1b) different from the first robot (1a) equipped with a gripping member (11b), and data processing means (4); characterised in that the data processing means (4) are configured to: - determine a first trajectory of the first robot (1a) for grasping said first part (2a) in the first container (3a) with the gripping member (11a) of the first robot (1a) and then move it until it is assembled with the second part (2b), when said second part (2b) is held by the gripping member (11b)of the second robot (1b) in a predefined waiting position; - Controlling the first robot (1a) so as to perform said trajectory, estimating a force exerted on said actuated joints (12a) of the first robot (2a) as a function of the progress of the trajectory; - Verify that during the trajectory: o Until the first part (2a) comes into contact with the second part (2b), the force exerted is below a safety threshold; o thereafter, a variation in the force exerted is consistent with an expected variation representative of the assembly of the first part (2a) with the second part (2b).
11. System according to claim 10, comprising a third robot (1c) equipped with actuated joints (12c) and a gripping member (11c), the second part (2b) being disposed in bulk in a second container (3b); the data processing means (4) are configured to: - determine a second trajectory of the third robot (1c) for grasping said second part (2b) in the second container (3b) with the gripping member (11c) of the third robot (1c) and moving it to said waiting position; - control the third robot (1c) so as to perform said second trajectory.
12. Computer program product comprising code instructions for executing a method according to one of claims 1 to 9 for assembling at least one first part (2a) with a second part (2b) in a system comprising a first robot (1a) equipped with actuated joints (12a) and a gripping member (11a), a second robot (1b) different from the first robot (1a) equipped with a gripping device (11b), when said programme is executed on a computer.
13. A storage medium readable by computer equipment on which is recorded a computer program product comprising code instructions for executing a method according to one of claims 1 to 9 for assembling at least one first part (2a) with a second part (2b) in a system comprising a first robot (1a) equipped with actuated joints (12a) and a gripping member (11a), a second robot (1b) different from the first robot (1a) equipped with a gripping member (11b).