Method for controlling closed robotized systems and associated processing plants through direct teaching - Patent Application 20070122997
A closed architecture system with force/torque sensing and admittance control allows for efficient and safe direct teaching of industrial manipulators, addressing complexity and cost issues in traditional programming methods.
Patent Information
- Application Number
- JP2024519680
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-09-29
- Filing Date
- 2022-09-29
- Publication Date
- 2025-12-04
- Estimated Expiration
- 2042-09-29
AI Technical Summary
Existing methods for programming industrial manipulators, such as robots, are complex, laborious, and costly, particularly for small and medium-sized batches, and direct teaching methods face safety limitations due to the need for open control architectures, which are not commonly available in most industrial manipulators.
A method for controlling closed robotized systems using a closed architecture that incorporates a force/torque sensor and admittance control, allowing direct teaching by measuring operator inputs to record and replicate movements, while ensuring safety through admittance control and singularity avoidance, even at higher speeds.
Enables efficient and safe direct teaching of complex trajectories in industrial manipulators, overcoming the limitations of traditional programming methods by providing a cost-effective and intuitive control system that ensures stability and precision.
Smart Images

Figure 0007780632000008 
Figure 0007780632000009 
Figure 0007780632000010
Abstract
Description
[Technical Field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This patent application claims priority from Italian Patent Application No. 102021000024899, filed September 29, 2021, the entire disclosure of which is incorporated herein by reference.
[0002] The present invention relates inter alia to a method for controlling a closed robotized system (including inter alia a robotic manipulator) through direct teaching, and also to an associated processing plant.
[0003] The present invention finds advantageous, but not exclusive, application in the field of ceramics, and more particularly in the glazing of ceramic articles, to which the following discussion will make explicit reference without loss of generality. [Background technology]
[0004] In the field of treating ceramic articles, it is known to use robotized devices carrying spray heads to paint and / or polish surfaces.
[0005] This type of approach is also used in other areas such as welding and is very versatile and effective, leading to increased production rates and improvements in the repeatability and precision of industrial processes.
[0006] In recent years, the use of industrial manipulators (hereafter simply referred to as robots) has undergone a fundamental change, moving from the idea of complete separation of workspaces (obtained through physical barriers) to a scenario in which robots and human operators share the same workspace and even collaborate side by side. In this context, robots have become a key factor in increasing the competitiveness of production, as physical human-robot interaction (pHRI) can certainly help companies achieve greater production flexibility to deal with rapidly evolving products. However, the widespread adoption of robotized technologies is still hindered by several well-known factors, including the inherently complex and time-consuming nature of robot programming.
[0007] Considering the fact that the same robot can paint and / or polish objects of different shapes, the way in which the robot is "taught" how to operate is becoming an increasingly important work step and should be as simple and intuitive as possible.
[0008] Traditional methods for programming industrial manipulators typically consist of using a handheld (teach pendant) for "point-to-point" programming (PTP) or simulating the manipulator's activities in an "offline" programming environment.
[0009] In the former case, not only must the operator learn to properly use the teach pendant and robot programming language, but the inherent point-to-point programming style of these devices is only efficient for particularly simple moves, among other things, the robot itself must be used to program the robot (i.e., a production stoppage occurs), the programming is fairly complex (it is necessary to move the robot at a so-called "coordinated" reduced speed at every point in the path and save its position), the program must be completed and then executed to be able to evaluate the success of the results, and if the results are not satisfactory, these actions must be repeated.
[0010] On the other hand, in the second case ("offline" programming), it is absolutely necessary to know a platform-specific programming language (and / or a dedicated programming environment, e.g., a 3D CAD program), thus demanding specialized and usually excessive knowledge from the human operator for the machine operator's tasks.
[0011] The "offline" and "PTP" programming methods are complex and laborious, which makes them particularly inefficient for the production of small and medium sized batches.
[0012] To overcome these drawbacks, direct teaching programming strategies, commonly defined as "walk-through" programming (also called "lead-through" or "manual guidance" programming), have been developed and are associated with the most diverse practical applications (e.g., spraying or welding). These programming strategies are characterized by the fact that an operator grasps the manipulator and manually guides it along the desired path to the desired position, without prior knowledge of a specific programming language and / or the functions provided by a specific handheld (teach pendant). During the learning step, the robot's control unit (hereafter also referred to as the controller) records the waypoints or the entire trajectory imposed by the human operator, allowing the manipulator itself to subsequently independently reproduce this desired movement.
[0013] In general, the Direct Teaching programming architecture is based on two key elements: a sensing system (sensors) and an admittance (or impedance) control algorithm managed by a control unit (or controller). The sensing system is responsible for measuring the interaction forces / torques exerted by the operator on the manipulator.
[0014] The above mentioned objectives can be realized mainly in two ways: by utilizing direct detection of torque at the joints of the manipulator (which, however, is often not made available to customers by the manipulator manufacturer or is often affected by insufficient frequency and / or resolution of the data), or by mounting special sensors (e.g., dedicated load cells) on the end effectors (i.e., parts / elements / end links, i.e., after the last joint) of the manipulator.
[0015] However, the need to accurately detect what the operator imposes entails problems of both cost and hardware robustness. Indeed, manipulators that are inherently equipped with a system for detecting the forces / torques exerted by the operator are also generally characterized by high cost and limited load.
[0016] In the control of industrial manipulators, admittance control algorithms are known, for example in PCT / IB2017 / 055972, which involve converting force / torque measurements applied by the operator to specific sensors into corresponding displacements in joint space (if a torque sensor is available on each joint) or in Cartesian space (if a load sensor is present), or both. However, in the latter two cases, the Cartesian references are immediately converted into corresponding references in joint space through inverse kinematics.
[0017] To implement these criteria, an "open" control architecture (or open system) is required that allows the admittance control algorithm to directly override the joint position and respective velocity references. In other words, according to the prior art, as shown in PCT / IB2017 / 055972, direct teaching is generally implemented by providing an open system with position or position and velocity references of the manipulator's joints in real-time frequency streaming of the manipulator's own control system. Essentially, following admittance control, the control unit processes the positions to be controlled at each joint of the robot manipulator on the fly through inverse kinematics.
[0018] In theory, the possibility of direct interference with low-level real-time control makes an open control architecture solution preferable, especially when direct teaching is used to record continuous, high-speed trajectories (through streaming, as described above). However, this approach poses significant problems from a safety perspective. For these reasons, among others, a Cartesian speed limit of 250 mm / s is specified in safety standards for direct teaching of industrial manipulators. While this limit may be appropriate for scenarios that require only intermediate points to be memorized, it can prevent the use of direct teaching programming when it is necessary to record continuous trajectories performed at high speeds. For example, spraying robots cannot be manually guided at low Cartesian speeds because their movements must be smooth and synchronized with the parameters of the spraying system, which often also include on / off valves, and cannot be kinematically modulated with respect to time. The same observation can also be made for other types of applications (e.g., welding, polishing, etc.).
[0019] It should also be noted that the majority of controllers for industrial manipulators do not have an open architecture. This means that when an industrial manipulator is purchased, it is not possible to force the manipulator itself to follow a specific trajectory by sending joint position and velocity reference signals to its controller in real time according to the forces / torques detected by the detection system. In fact, the term "closed" system refers to the majority of industrial manipulators currently on the market, where it is not possible to directly override the positions or positions and velocities of the manipulator's joints. [Prior art documents] [Patent documents]
[0020] [Patent Document 1] PCT / IB2017 / 055972 [Non-patent literature]
[0021] [Non-Patent Document 1] “Resolved Motion Rate Control of Manipulators and Human Prostheses”, DE Whitney, IEEE Transactions on Man-Machine Systems (TMMS), 1969 [Non-patent document 2] “Using Genetic Algorithms for singularity Avoidance in Positioning Tasks of a Robotic Arm,” M. Nasr et al., Information Models and Analyses, 2018 [Non-patent document 3] "Prediction-Error Negativity to assess Singularity Avoidance Strategies in physical Human-Robot Collaboration", S. Aldini et al., IEEE International Conference on Robotics and Automation (ICRA), 2021 [Non-patent document 4] “Control Barrier Functions for Singularity Avoidance in Passivity-Based Manipulator Control”, V. Kurtz et al., IEEE Conference on Decision and Control (CDC), 2021 Summary of the Invention [Problem to be solved by the invention]
[0022] The object of the present invention is, inter alia, to provide a method for controlling closed robotized systems, in particular industrial manipulators and associated processing plants, which makes it possible to at least partially overcome the drawbacks of known techniques through direct teaching and which is at the same time easy and economical to realize. [Means for solving the problem]
[0023] According to the present invention there is provided, inter alia, a method for controlling a closed robotized system including a robot manipulator and a processing plant through direct teaching, inter alia as claimed in the following independent claim and preferably in any one of the claims directly or indirectly dependent thereon.
[0024] The claims describe preferred embodiments of the invention and form an integral part of this disclosure.
[0025] In this text, "torque" means "moment of force" or, in any case, another quantity that contains (or, more precisely, a function of) the moment of force. "Moment of force" (or "mechanical moment") has its common meaning as the force that imparts rotation to a rigid body about a point (in a plane) or an axis (in space) when not applied to its center of mass.
[0026] In this text, "force" also means other quantities that contain forces (or, more precisely, functions of forces) (in addition to the meaning normally given to this term, i.e., imparting translation to a rigid body along an axis of application). According to some embodiments, "force" means force in its normal sense.
[0027] The invention will now be described with reference to the accompanying drawings, which show some non-limiting examples of embodiments. [Brief explanation of the drawings]
[0028] [Figure 1] 1 is a perspective view, with details removed for clarity, of a plant according to the invention; FIG. [Figure 2] FIG. 2 is a perspective enlarged scale view of the detail of FIG. 1 in a second configuration. [Figure 3] FIG. 2 is a schematic block diagram of a control system for the plant of FIG. 1. DETAILED DESCRIPTION OF THE INVENTION
[0029] According to a first aspect of the present invention, in Figure 1 , 1 generally shows a processing plant for a closed robotized system 3, in particular but not exclusively for the processing of an article 2. The plant 1 includes the robotized system 3, which in turn includes an end effector 4, which is configured to process or interact with an article being produced (e.g., article 2).
[0030] 1 and 2, the end effector 4 is a spray head configured to emit a jet of material to cover at least a portion of a surface of the article 2. In other non-limiting, non-exemplary embodiments, the end effector 4 is a welding head, a gripping head, a gripper, or any other machining tool.
[0031] Advantageously, the plant 1 includes a robotic manipulator 5, movable with at least three degrees of freedom (particularly at least four degrees of freedom, more particularly six degrees of freedom), and having an end effector 4 (e.g., a spray head) mounted thereon. The plant also includes a control system 6 (FIG. 3) and a drive assembly 7.
[0032] The control system 6 includes a storage unit 8 and is configured to control the movement of the robotic manipulator 5 to move the end effector 4 (i.e., the spray head). Among other things, the control system 6 is also designed to regulate the operation of a tool mounted on and attached to the end effector 4 (e.g., the spray head).
[0033] The drive assembly 7 is configured to be operated by an operator (not shown) to transmit movement indications to the robotic manipulator 5. Among other things, the drive assembly 7 is also configured to transmit movement indications to the end effector 4 (e.g., spray head).
[0034] In particular, the robot manipulator 5 (FIGS. 1 and 2) comprises several sections (links) connected to one another in series. Each section is rotatable relative to the previous section about a respective axis of rotation A. The rotation about each of the axes A represents a degree of freedom of the robot manipulator 5. In the embodiment shown, the robot manipulator 5 has six degrees of freedom, more precisely, six axes of rotation A.
[0035] The robot manipulator 5 is typically an anthropomorphic industrial-type robot, and may be, for example, a GA-OL robot manufactured by Gaiotto Automation SpA. The robot manipulator 5 may also have seven or more degrees of freedom (especially seven or more axes of rotation A). In some non-limiting cases, the degrees of freedom may be five axes of rotation and one translation (e.g., horizontal or vertical translation).
[0036] In the non-limiting embodiment of FIGS. 1 and 2, the drive assembly 7 is a handling device 9, and in use, an operator applies a force and torque F to the handling device 9. cThe handling device 9 is connected to the end effector 4 and exerts a force and torque F (also called contact force - Fig. 3) on the end effector 4. s and depending on the data detected by the sensor 10 (more precisely, the detected forces and torques F s , in response to a control signal AC), and a processing system 11 designed to provide Cartesian movement indications to the robot manipulator 5 in accordance with an admittance (or impedance) control AC.
[0037] In particular, sensor 10 has (at least) three degrees of freedom (preferably at least four degrees of freedom, in particular six degrees of freedom) and is capable of measuring (at least) three forces and three torques (in a Cartesian reference system). Sensor 10 can be any known device capable of performing the functions described above.
[0038] According to a specific, non-limiting embodiment, the sensor 10 is, for example, an FTSens, which is capable of measuring three forces and three torques and transmitting them digitally via a CAN network. FTSens was developed by IIT (Italian Institute of Technology) in Genoa. In this case, the measurements are detected by strain gauge technology based on the deformation of strain gauges (of electrical / resistive type) installed inside the body of the sensor.
[0039] According to another specific, non-limiting embodiment, the sensor 10 is, for example, an FT Axia sensor 80 developed by ATI Automation, which performs data exchange via the EtherCAT® protocol.
[0040] The storage unit 8 is moved by the robotic manipulator 5 during the movement q while the end effector 4 (i.e., the spray head) is moved by the operator via the drive assembly 7. robot The control system 6 stores the movement q stored by the storage unit 8. robot In particular, the control system 6 is designed to control the movement of the robot manipulator 5 in response to the movement q stored by the storage unit 8. robot The robot manipulator 5 is designed to control the movement of the robot manipulator 5 so as to substantially repeat the movements of the end effector 4 (spray head) performed while the operator is moving the end effector 4, more specifically so that the end effector 4 (spray head) substantially repeats the movements performed while the operator is moving the end effector 4.
[0041] In particular, the term "movement" or "movements" in this text refers to a path and a velocity along the path. More precisely, the movement of the robot manipulator 5 is the movement in space of each moving part of the robot manipulator 5 in space.
[0042] In particular, the handling device 9 is mounted on the robot manipulator 5 (more particularly on the sensor 10). Advantageously, but not necessarily, the handling device 9 is mounted on the robot manipulator 5 at (i.e. mounted on) the end effector 4, in particular at the end of the robot manipulator 5. More precisely, the handling device 9 is connected to the robot manipulator 5 through the sensor 10 (which supports the handling device 9). According to some embodiments, the sensor 10 is mounted on the robot manipulator 5.
[0043] Among other things, the handling device 9 includes at least one grip 12 that is designed to be grasped by an operator in order to move the robot manipulator 5 (and thus the end effector 4).
[0044] According to some non-limiting embodiments, the handling device 9 comprises (at least) two grips 12, which are designed to be grasped by an operator to move the robotic manipulator 5 (and thus the spray head 4), and which are integrally connected to one another, inter alia, by a connecting element (of the handling device 9). More specifically, the connecting element comprises (more precisely, is) a bar transverse to the grips 12. In these cases, advantageously, but not necessarily, a crossbar is mounted above the sensor 10, more precisely, the crossbar is between the sensor 10 and the grips 12.
[0045] In particular, the end effector 4 is mounted on the robot manipulator 5 by means of a support 4', which protrudes from the robot manipulator 5 (in particular from one end of the robot manipulator 5).
[0046] According to some embodiments (such as those shown in FIGS. 1 and 2 ), the support 4′ has a first end connected to the robotic manipulator 5, extends (downward) beyond the sensor 10, and has a coupling zone (at a second end opposite the first end) where the spray head 4 is connected. The sensor 10 is disposed between the handling device 9 and the first end. According to some non-limiting embodiments, the support 4′ extends between two grips 12. In these cases, the end effector 4 (e.g., the spray head) is disposed between the two grips 12.
[0047] According to an alternative embodiment (such as that of FIG. 9), the support 4 ′ extends substantially horizontally from the robot manipulator 5 .
[0048] According to some non-limiting embodiments, the drive assembly 7 (particularly the handling device 9) includes commands (e.g., buttons, levers, etc.) designed to be operated by an operator to adjust over time at least one operating parameter of the end effector 4. The storage unit 8 is configured to store the adjustments of the operating parameters (and their changes over time). The control system 6 is designed to adjust the activation of the spray head 4 such that the adjustments of the stored operating parameters (and their changes over time) are substantially repeated, particularly in a manner coordinated with movements performed by the robotic manipulator 5.
[0049] According to some non-limiting embodiments, the drive assembly 7 is designed to provide indications regarding operating parameters (and their changes over time) to the control system 6, and the control system 6 is designed to activate the spray head 4 in response to the indications received from the drive assembly 7.
[0050] Advantageously, but not necessarily, the operating parameters are selected from the group consisting of adjusting the flow (amount per unit time) of cover material exiting the spray head, adjusting the degree of atomization of cover material exiting the spray head, adjusting the amplitude of the jet of cover material exiting the spray head, adjusting the shape of the jet of cover material exiting the spray head, temperature and / or duration of welding, pressure and / or amplitude of grinding (and combinations thereof).
[0051] Also, the operating parameter can simply be, for example, the activation (on) and deactivation (off) of a jet.
[0052] In some cases (but not necessarily), the drive assembly 7 (and in particular the handling device 9) includes a command (usually referred to in technical terms as a "dead man") that allows the robot manipulator 5 to move and to stop the robot manipulator 5 in case of an emergency. Typically, this command includes a button that must be pressed and held by the operator in order for the robot manipulator 5 to be allowed to move. In use, if this button is released or pressed for too long, the control system 6 disables the ability of the robot manipulator 5 to move.
[0053] According to some non-limiting embodiments, the plant 1 (particularly the robotized device 3) also includes a device 13 for moving the article 2, and the drive assembly 7 (particularly the handling device 9) includes commands (e.g., buttons or levers) designed to be operated by an operator to control the device 13 for moving the article 2. In these cases, the storage unit 8 is designed to store the position (orientation) of the article 2 set by the operator (and its changes over time). The control system 6 is designed to adjust the operation of the device 13 for moving the article 2 based on the position (orientation) of the article 2 stored in the storage unit 8 (and its changes over time). More specifically, the control system 6 is designed to adjust the activation of the device 13 for moving the article 2 so as to repeat the position (orientation) of the article 2 stored in the storage unit 8 (and its changes over time).
[0054] According to some non-limiting embodiments (such as those shown), device 13 includes a rotatable platform 13' upon which, in use, item 2 is placed. In particular, platform 13' is rotatable about a vertical axis (not shown).
[0055] Advantageously, but not necessarily, the processing system 11 calculates the non-contact forces and torques F as a function of fixed and variable components resulting from the load (in particular the handling device 9) of what is mounted on (or more precisely supported by) the sensor 10 (or more precisely the sensitive part of the sensor 10). nc and is designed to estimate the detected forces and torques F ext (F c and F nc ) and the estimated non-contact force and torque F nc , the estimated forces and torques F* (applied by the operator on the handling device 9) according to c In these cases, the processing system 11 is designed to obtain the forces and torques F* estimated by the processing system 11 itself. c is designed to provide Cartesian movement indications (particularly displacements) for the robot manipulator 5 according to, among other things, the forces and torques F* c are the detected forces and torques F s to non-contact force and torque F nc is estimated by subtracting
[0056] In particular, all the forces and torques (F nc , F* c , F c , and F ext It should be noted that ) has components along the three dimensions of Cartesian space (and optionally three angles of spatial orientation, e.g., Euler angles).
[0057] According to some non-limiting embodiments, the fixed and variable components resulting from the load include gravity, inertial forces, and Coriolis forces. The fixed component includes gravity, among others. The variable component is estimated (at least in part) as a function of the angular velocity ω, angular acceleration α, linear acceleration a, and inertia of the object mounted on (or, more precisely, supported by) the sensor 10 (e.g., of the handling device 9).
[0058] Advantageously, but not necessarily, the processing system 11 includes a processing unit 14 that is designed to estimate (calculate) the angular velocity ω, the angular acceleration α, and the linear acceleration a as a function of the conformation for each rotation axis A of the robot manipulator 5. According to some specific, non-limiting embodiments, the processing unit 14 includes (among other things is) a Kalman filter.
[0059] These parameters can be obtained directly from the encoders present on the robot manipulator or through additional accelerometers placed on the robot manipulator 5. Experimental results show that the measurements derived from the encoders are more accurate.
[0060] According to some non-limiting embodiments, the processing system 11 also includes a compensation unit 15, which calculates the force and torque F* as described above. c In particular, the compensation unit 15 is connected to the processing unit 14 and is designed to receive the angular velocity ω, the angular acceleration α, and the linear acceleration a from the processing unit 14.
[0061] Advantageously, but not necessarily, the processing system 11 also includes a control system 16, which calculates the force and torque F* (received from the compensation unit 15). c Depending on the reference position X refIt is designed to calculate the position of the movable end effector 4 of the robot manipulator 5 (on the end of which is mounted, among other things, a drive assembly 7).
[0062] In some non-limiting cases, the control system 16 includes (is) admittance control or impedance control. Advantageously, but not necessarily, the control system 16 includes (is) admittance control. Admittance control provides a high level of precision in non-contact tasks.
[0063] In particular, at that particular declination, admittance control directs the robot to interact with the environment according to a damped mass system characterized by the following equation:
[0064]
number
[0065] where M d and D d are the desired inertia and damping matrices,
[0066]
number
[0067] is the Cartesian velocity,
[0068]
number
[0069] is the Cartesian acceleration.
[0070] However, since user interaction can lead to instability, the parameters of the admittance control are advantageously, but not necessarily, varied, and thus the inertia and damping are variable over time, not constant. A variable admittance model, according to some non-limiting embodiments, is as follows:
[0071]
number
[0072] In particular, the plant 1 (in particular the robotized device 3) includes a parameter adaptation unit PA configured to adapt the inertia parameters of the matrix M(t) and the damping parameters of the matrix D(t) (denoted by M and D, respectively, in FIG. 3) based on the dynamic behavior of a human operator on the drive assembly 7. In particular, as the robot interacts with the operator, instabilities in the control circuit may occur depending on the operator's dynamic behavior. For this reason, a strategy has been implemented to detect increased oscillations in the robot's behavior and to adapt the parameters of the admittance control to restore the desired stable behavior. The parameter adaptation algorithm adjusts the inertia parameters M and the damping parameters D of the admittance control in response to the detection of upward oscillations through a detection index calculated by the admittance controller itself.
[0073] According to some non-limiting embodiments, the control system 6 includes an interpolation unit 17 that interpolates the reference position X to generate the desired trajectory (movement). ref is configured to interpolate
[0074] Among other things, the control system 6 also includes a position control 18, which moves the robot manipulator 5 to a desired position (in other words, a reference position X refIt is designed to provide an actuation torque to reproduce the
[0075] It should be noted that, according to different embodiments, the processing unit 14, the compensation unit 15, the control system 16, the control system 6, and the position control 18 can be understood as physical devices or as parts of a software system that operates as described above.
[0076] Advantageously, but not necessarily, the plant 1 (in particular the robotized device 3) further comprises an anti-singularity unit 19, which provides an indication of the movement in Cartesian space (X ref ) is configured to perform singularity avoidance control.
[0077] In this scenario, the control system 6 (or, more specifically, the trajectory interpolation unit 17) of the robot manipulator 5 determines the reference position X in Cartesian space. ref The reference angle q of the articular space ref and passes these criteria to the low-level position controllers, which operate independently at each joint. As shown in Figure 3, a singularity prevention block SA is included to prevent the robot 5 from reaching singular configurations, where an error would be guaranteed to be generated by the interpolation unit 17 (due to a singularity in the Jacobian matrix) or by the relative safety controller (due to violation of the velocity limits of at least one joint).
[0078] Some aspects of the operation of the plant 1 will be explained in more detail with reference to the second aspect of the invention described below.
[0079] According to some non-limiting embodiments, the plant 1 (in particular the robotized device 3) is configured to implement the method referred to in the second aspect of the invention.
[0080] According to a second aspect of the present invention, there is provided a method for controlling a closed robotized system 3 (see definition of closed system above), which performs the same functions and includes the same components as the robotized device 3 described in the context of the first aspect of the present invention. More precisely, the robotized device 3 is similar to that described according to the first aspect of the present invention. In particular, the robotized device 3 is part of the plant 1 of the first aspect of the present invention.
[0081] The method includes a learning step, during which an operator moves the end effector 4 of the robot manipulator 5 by means of a drive assembly 7 including a force / torque sensor 10, and the movements made by the end effector 4 are stored in a storage unit 8, and a replication step, which is performed after the learning step, during which the control system 6 operates the robot manipulator 5 such that the end effector 4 substantially repeats the movements (in particular those made during the learning step) stored in the storage unit 8. In particular, during the learning step, the operator grasps a handling device 9.
[0082] During the learning step, the operator applies forces and torques F to the handling device 9. c and the sensor 10 measures the force and torque F applied to the handling device 9. extand the processing system 11 implements an admittance control AC to obtain an indication of movement for the robot manipulator 5 in Cartesian space in response to the data detected by the sensor 10. In particular, the processing system 11, following the admittance control AC, obtains an indication of movement in Cartesian space X ref to the trajectory interpolation unit 17 of the robotized system 3, which generates the desired trajectory through interpolation. In this way, it is possible to use the functionality that is also present in the closed system, without necessarily having to forcefully overwrite the positions and / or velocities of the joints in the joint space according to the inverse kinematics (as is instead usually the case in known art solutions related to direct teaching methods).
[0083] Some studies have shown that intentional human inputs have dominant frequencies in the range of 0 to 5 Hz, while accidental impacts are usually represented by peaks at high frequencies (greater than 10 Hz). Preferably, the frequency of the trajectory interpolation is 125 Hz or higher, and in particular 250 Hz or higher. This allows increasing the movement speed of the robot manipulator 5 during the learning step with extremely low latency compared to the frequencies associated with accidental impacts.
[0084] Advantageously, but not necessarily, the method includes the further steps of generating a dynamic target reference system (DTRF - which is a functionality that is usually also available in closed systems) for the robot manipulator 5 and setting the position of the end effector 4 as the initial reference position of the dynamic target reference system (DTRF).
[0085] In particular, the term dynamic target reference system (DTRF) refers to a time-varying reference system with at least one degree of freedom that the manipulator must follow in Cartesian coordinates.
[0086] Among other things, the method includes the further step of synchronizing the position of the end effector 4 with the position of a dynamic target reference system (DTRF).
[0087] Preferably, the method further comprises the step of: ref The method includes the further step of varying the position of a dynamic target reference system (DTRF) based on the
[0088] In some non-limiting cases, the interpolation unit 17 of the robotized system 3 may generate an indication X of movement in Cartesian space. ref , the indication of movement in joint space q ref Convert to.
[0089] Advantageously, but not necessarily, the method comprises, following the admittance control AC, but before the interpolation performed by the unit 17, calculating an indication X of the movement in Cartesian space, so as to avoid undesirable and / or potentially dangerous behavior of the robot manipulator 5. ref Singularity control SA is performed on the singularity prevention indication X* ref The method includes the further step of determining:
[0090] In the non-limiting embodiment of FIG. 3, the method includes the further step of varying the control SA of the singularity based on the kinematic family CF to which the robot manipulator 5 belongs.
[0091] Among other things, singularity control refers to "singularity avoidance" algorithms of the following types, for example but not limited to: - For example, the Damped-Least Squares Jacobian (DLS) as described in "Resolved Motion Rate Control of Manipulators and Human Prostheses," D.E. Whitney, IEEE Transactions on Man-Machine Systems (TMMS), 1969. - For example, the genetic algorithm described in "Using Genetic Algorithms for Singularity Avoidance in Positioning Tasks of a Robotic Arm," M. Nasr et al., Information Models and Analyses, 2018. - For example, Exponential DLS (Exponentially DLS) as described in "Prediction-Error Negativity to Assess Singularity Avoidance Strategies in Physical Human-Robot Collaboration," S. Aldini et al., IEEE International Conference on Robotics and Automation (ICRA), 2021. - For example, the control barrier functions described in "Control Barrier Functions for Singularity Avoidance in Passivity-Based Manipulator Control," V. Kurtz et al., IEEE Conference on Decision and Control (CDC), 2021.
[0092] In some non-limiting cases, the kinematic family CF is selected by an operator before performing the learning step.
[0093] The term "kinematic family CF" refers to a set of manipulators with similar kinematic characteristics, including: - the existence of similarities between the singularities characterizing manipulators belonging to a family (e.g. manipulators with the same type and / or number of joints), and / or - Similarities in the occurrence of problems where there are no or multiple solutions to the inverse kinematic problem applied to the manipulators belonging to the family.
[0094] Non-limiting examples of kinematic families are 6 DOF manipulators with spherical wrists, 6 DOF manipulators with offset wrists, and redundant manipulators (7 or more DOF) with spherical wrists.
[0095] Preferably, but not exclusively, the width of the kinematic family CF is experimentally defined, depending also on the type of manipulator to be produced or used.
[0096] Advantageously, but not necessarily, during the learning step, the processing system 11 calculates the non-contact forces and torques F as a function of fixed and variable components resulting from the load (in particular the handling device) mounted on (or more precisely supported by) the sensor 10 (or more precisely the sensitive part of the sensor 10). nc and the detected forces and torques F ext and the estimated non-contact force and torque F nc the estimated force and torque F* (applied by the operator on the handling device 9) depending on c In these cases, the processing system 11 obtains the force and torque F* estimated and provided by the processing system 11. c In response to the movement indication X for the robot manipulator 5 ref Among other things, it provides the force and torque F* c are the detected forces and torques F ext from the force and non-contact torque F nc is estimated by subtracting
[0097] According to some non-limiting embodiments, the fixed and variable components resulting from the load include gravity, inertial forces, and Coriolis forces. Among other things, the variable components are estimated as a function of the angular velocity ω, angular acceleration α, linear acceleration a, and inertia (inertial sensor) of what is mounted on (or more precisely, supported by) the sensor 10 (or more precisely, on the sensitive part of the sensor 10).
[0098] During human-robot interaction, stability must be ensured to make the system safe and to minimize the physical effort of the operator. Admittance control is used for this purpose, where the selection of relative parameters is of utmost importance. The one proposed here makes it possible to identify deviations from the nominal behavior of an admittance-controlled robot and adapt the controller parameters to ensure its passivity.
[0099] The choice of parameters affects the way the robot interacts with the operator. For example, if the motion requires fine movements, the inertia and damping will have high values to make the robot less reactive and to obtain smoother movements. Conversely, if the motion requires high speeds and accelerations, the parameters will have lower values. In addition, the rigidity the operator exerts during interaction with the robot also affects the behavior of the system. In particular, the more rigid the operator, the more the system moves away from the ideal behavior defined by equation (B) and oscillates, making the interaction difficult and unsafe. For this reason, deviations from the ideal behavior must first be identified and then canceled (or reduced) to restore system stability.
[0100] Preferably, in the parameter adaptation unit PA of the admittance control AC, the admittance control parameters are adjusted online, i.e., during the interaction between the operator and the robot. First, heuristics are defined to recognize deviations of the robot from its nominal behavior. Then, a method for parameter adaptation is presented that ensures the restoration of nominal conditions without excessively increasing the operator's physical effort. The passivity and thus the stability of the admittance-controlled robot are guaranteed. A less conservative solution is proposed, which envisages the use of a virtual energy tank, which stores the energy dissipated by the system for later reuse.
[0101] According to some non-limiting embodiments, the inertia and damping parameters are varied (adapted) when the following inequality is not verified:
[0102]
number
[0103] where ε>0 is an experimentally derived minimum threshold. As already shown above, M d and D d are the desired inertia and damping matrices,
[0104]
number
[0105] is the Cartesian velocity,
[0106]
number
[0107] is the Cartesian acceleration.
[0108] Considering the dynamic behavior of the admittance control, the robot behavior is defined by the "nominal behavior" when inequality (14) is valid.
[0109] This formula can be used to define a heuristic for identifying deviations from nominal behavior, which can be found, for example, when an operator stiffens his arm during interaction with the robot.
[0110] Once this deviation is identified, the parameters of the admittance control must be adapted. Through the use of energy tanks, it is possible to define the increase in inertia required to return the system to nominal conditions and guarantee its passivity.
[0111] Advantageously, but not necessarily (during the learning step), the admittance control (of the control system 16) is controlled by the detected forces and torques F s In particular, the parameters of the admittance control are changed (adapted), more specifically the inertia and damping parameters of the admittance control are changed (adapted).
[0112] According to some non-limiting embodiments, the admittance control (of the control system 16) is varied (adapted) by modifying (adapting) the parameters of the admittance control. More specifically, the inertia and damping parameters of the admittance control are varied (adapted).
[0113] According to some non-limiting embodiments, the damping is varied to keep the ratio of inertia to damping substantially constant, which allows the dynamics of the system to remain similar to that before the perturbation, which is more intuitive for the operator.
[0114] According to some non-limiting embodiments, during the learning step, the operator adjusts at least one operating parameter of the end effector 4 over time, and the applied operating parameter (and its changes over time) is substantially stored by the storage unit 8. In these cases, during the replicating step, the control system 6 adjusts the activation of the spray head 4 such that the operating parameter (and its changes over time) stored during the learning step is substantially repeated. Advantageously, but not necessarily, during the replicating step, the control system 6 adjusts the activation of the end effector 4 such that the operating parameter (and its changes over time) stored during the learning step is substantially repeated, particularly in a manner coordinated with the movements made by the end effector 4.
[0115] Advantageously, but not necessarily, the operating parameters are selected as explained above.
[0116] Advantageously, but not necessarily, during the learning step the operator moves the article 2 (in particular adjusting the orientation of the article 2 over time) and the positions thus obtained (in particular the orientation obtained and its changes over time) are stored by the storage unit. In these cases, during the reproduction step the control system 6 adjusts the position (orientation) of the article 2 so that the position (orientation) of the article 2 stored during the learning step (and its changes over time) is substantially repeated, in particular in a manner coordinated with the movements made by the end effector 4.
[0117] According to some non-limiting embodiments, during the learning step, the drive assembly 7 provides movement indications to the control system 6, and the control system 6 activates the robotic manipulator 5 based on the indications received from the drive assembly 7.
[0118] Advantageously, but not necessarily, the handling device 9 includes at least one grip 12 which is grasped by the operator to move the spray head 4 during the learning step.
[0119] In particular, the handling device 9 comprises at least two grips 12 which are grasped by the operator to move the spray head 4 during the learning step and which are connected to each other in an integral manner by, in particular, connecting elements of the handling device.
[0120] According to some embodiments, the article 2 is a ceramic article, in particular a sanitary article, such as a washbasin and / or sink and / or console and / or shower tray, etc.
[0121] According to a further aspect of the present invention there is provided a kit for programming the control of an existing closed robotized system, the kit comprising: a drive assembly 7 that can be mounted on (and removed from) the robotic manipulator 5, that includes a handling device and that, in use, allows an operator to exert a contact force and a torque Fc on the handling device; - forces and torques F applied to the handling device 9, which can be connected (and removed) to the end effector 4 of the robotized system 3; ext a sensor 10 designed to detect - a processing system 11 designed to provide Cartesian movement indications for the robotic manipulator 5 depending on the data detected by the sensors 10 and following admittance control. In particular, the kit is adapted to be installed on top of an existing closed robotized system 3 and to implement the method previously described.
[0122] Although the invention described above makes particular reference to a very precise example of implementation, it is not limited to that example of implementation, since all such variations, modifications or simplifications covered by the appended claims, such as, for example, different geometries of the robot manipulator 5, different types of end effectors, different subdivisions of the method steps, etc., fall within its scope.
[0123] The plant and method described above have many advantages.
[0124] First, such an architecture ensures that the robot manipulator 5 follows the trajectory imposed by the human operator (through force / torque sensors and admittance control) by leveraging only the capabilities of standard (closed) control systems and without the need for a mandatory open controller interface.
[0125] Additionally, this allows for high speeds to be achieved during the teaching step while ensuring system stability and human operator safety, which can help companies achieve greater production flexibility to deal with rapidly evolving products.
[0126] Finally, easy integration of generic closed robotized systems can be realized using the kit shown above. [Explanation of symbols]
[0127] 1. Plant 2 Goods 3 Closed robotized systems, robotized devices 4 End effector, spray head 4' Support 5 Robot manipulators, robots 6. Control System 7 Drive Assembly 8 Storage Units 9 Handling Devices 10 sensors 11 Processing System 12 Grip 13 devices 13' Platform 14 Processing Unit 15 Compensation Units 16 Control System 17 Interpolation unit, trajectory interpolation unit 18 Position Control 19 Singularity Prevention Unit A rotation axis AC Admittance Control a linear acceleration CF Kinetic Family D damping parameter F nc Non-contact force and torque, force and non-contact torque F c Forces and Torques, Contact Forces and Torques F ext Force and Torque F* c Force and Torque M inertia parameter PA Parameter Adaptation Unit q ref Joint space reference angle, indication of movement in joint space SA singularity prevention block, singularity control X ref Reference position, indication of movement in Cartesian space, reference position in Cartesian space X* ref Singularity Prevention Indication α angular acceleration ω angular velocity
Claims
1. A method for controlling a closed robotized system (3), comprising: - a learning step, during which an operator moves an end effector (4) of a robot manipulator of the robotized system (3) by means of a drive assembly (7) including a force / torque sensor (10), and movements made by the end effector (4) are stored in a storage unit (8) of the robotized system (3); a replication step, which is performed after the learning step, during which the control system (6) operates the robot manipulator so that the end effector (4) substantially repeats the movements stored in the storage unit (8); Including, During the learning step, the operator exerts forces and / or torques (Fc) on the drive assembly (7), the sensors (10) detect the applied forces and / or torques (Fext), and a processing system (11) performs admittance control to obtain, in response to the data detected by the sensors (10), an indication of movement (Xref, X*ref) for the robot manipulator in Cartesian space; the processing system (11), following the admittance control, delivers the indication of the movement in the Cartesian space (Xref, X*ref) to a trajectory interpolation unit of the robotized system (3) to generate a desired trajectory of the end effector (4) through interpolation; The method comprises: - a further step of defining a Dynamic Target Reference System (DTRF) for said robot manipulator, i.e. a time-varying reference system in the degrees of freedom that at least said end effector (4) must follow in Cartesian coordinates; - a further step of setting the position of the end effector (4) as an initial reference position in the Dynamic Target Reference System (DTRF); - a further step of synchronizing the position of the end effector (4) with the position in the Dynamic Target Reference System (DTRF); - a further step of varying the position of the synchronized end effector (4) by varying the position in the dynamic target reference system (DTRF) based on the indication of movement (Xref, X*ref) processed during the admittance control; A method comprising:
2. 2. The method of claim 1, wherein the interpolation unit of the robotized system (3) converts the indication of movement (Xref, X*ref) in the Cartesian space into an indication of movement (qref) in joint space.
3. 3. The method of claim 1 or 2, wherein following the admittance control but before the interpolation, a singularity control is performed on the indication of movement (Xref, X*ref) in the Cartesian space so as to avoid undesirable and / or potentially dangerous behavior of the robot manipulator.
4. The method of claim 3 , comprising the further step of varying the singularity control based on the kinematic family to which the robotic manipulator belongs.
5. The method of claim 4 , wherein the kinematic family is selected by the operator prior to performing the learning step.
6. 3. The method according to claim 1, wherein during the learning step, the processing system (11) estimates non-contact forces and torques (Fnc) in response to fixed and variable components resulting from the load of what is mounted on the sensor (10), in particular of the handling device (9), and obtains estimated forces and torques (F*c) (in particular applied to the handling device (9) by the operator) in response to the detected forces and torques (Fs) and the estimated non-contact forces and torques (Fnc), and the processing system (11) provides an indication of movement (Xref, X*ref) for the robot manipulator in response to the estimated forces and torques (F*c) provided by the processing system (11), in particular the estimated forces and torques (F*c) being estimated by subtracting the non-contact forces and torques (Fc) from the measured forces (Fext).
7. 3. The method according to claim 1 or 2, wherein the processing system (11) comprises a processing unit (14), the processing unit (14) comprising, in particular being, a Kalman filter.
8. 3. The method according to claim 1 or 2, wherein during the learning step, the admittance control is varied in response to the detected forces and torques (Fs), in particular inertia and damping parameters of the admittance control are varied in response to the detected forces and torques (Fs).
9. 9. The method of claim 8, wherein the admittance control is varied online during movement of the end effector (4) by the operator.
10. 3. The method of claim 1 or 2, wherein the drive assembly (7) includes commands operated by the operator to adjust over time at least one operating parameter of the end effector (4), the storage unit (8) stores the adjustments of the operating parameters, and the control system (6) adjusts tool activation such that the adjustments of the operating parameters are substantially repeated in a coordinated manner with movements performed by the robot manipulator.
11. A treatment plant (1) comprising a closed robotized system (3), a robotized system (3) which in turn includes an end effector (4), said end effector (4) being configured to process or interact with an article being produced; a robotic manipulator, movable in at least three degrees of freedom, on which the end effector (4) is mounted; a control system (6) including a storage unit (8) and configured to control movement of the robot manipulator to move the end effector (4) in the space; a drive assembly (7) configured to be operated by an operator to transmit an indication of movement (Xref, X*ref) to said robotic manipulator, said drive assembly including a handling device (9), wherein in use said operator applies forces and torques (Fc) to said handling device (9); a sensor (10) connected to the end effector (4) and designed to detect forces and torques (Fs) applied to the handling device (9); a processing system (11) designed to provide Cartesian displacement indications (Xref, X*ref) for the robot manipulator (5) in response to the data detected by the sensor (10) and following admittance control; Including, the storage unit (8) is designed to store movements made by the robot manipulator while the end effector (4) is moved by the operator by the drive assembly (7); the control system (6) is designed to control the movement of the end effector (4) based on the movement stored by the storage unit (8); A treatment plant (1), wherein the plant (1) is configured to carry out the method according to claim 1.
12. 12. The plant (1) according to claim 11, comprising a spray head configured to emit a jet of material to cover at least a portion of the surface of the ceramic article (2).
13. A kit for programming the control of a closed robotized system (3), comprising: - a drive assembly (7) that can be mounted on a robotic manipulator and that includes a handling device (9), and that, in use, allows the operator to exert forces and torques (Fc) on the handling device (9); - a sensor (10) that can be connected to the end effector (4) of the robotized system (3) and that is designed to detect forces and torques (Fext) applied to the handling device (9); a processing system (11) designed to provide Cartesian displacement indications (Xref, X*ref) for the robot manipulator (5) in response to the data detected by the sensors (10) and following admittance control; Including, A kit mounted on a closed robotized system (3) and configured to carry out the method according to claim 1.
Citation Information
Patent Citations
Robot control device that control robot to be moved according to applied force
JP2015202536A
Article surface treatment method
JP2019529149A
Singularity handling for robot jogging
US10065311B1
Robotic arm control device and control method, robot, control program and integrated electronic circuit
WO2013035244A1
Method for the surface treatment of an article
WO2018060925A1