WO2011141683A1 - Procédé de commande d'une cellule de travail automatisée - Google Patents

Procédé de commande d'une cellule de travail automatisée Download PDF

Info

Publication number
WO2011141683A1
WO2011141683A1 PCT/FR2011/051076 FR2011051076W WO2011141683A1 WO 2011141683 A1 WO2011141683 A1 WO 2011141683A1 FR 2011051076 W FR2011051076 W FR 2011051076W WO 2011141683 A1 WO2011141683 A1 WO 2011141683A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot arm
control
control unit
motor
axis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/FR2011/051076
Other languages
English (en)
French (fr)
Inventor
Luc Joly
Jean Michel Bonnet Des Tuves
François PERTIN
Gérald VOGT
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Staubli Faverges SCA
Original Assignee
Staubli Faverges SCA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=42668907&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2011141683(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority to JP2013509604A priority Critical patent/JP5847164B2/ja
Priority to ES11725486.2T priority patent/ES2458430T5/es
Priority to CN201180034731.2A priority patent/CN102985233B/zh
Priority to KR1020127031222A priority patent/KR101839772B1/ko
Priority to US13/696,833 priority patent/US20130131864A1/en
Application filed by Staubli Faverges SCA filed Critical Staubli Faverges SCA
Priority to DK11725486.2T priority patent/DK2569130T4/en
Priority to BR112012029107-6A priority patent/BR112012029107B1/pt
Priority to EP11725486.2A priority patent/EP2569130B2/fr
Publication of WO2011141683A1 publication Critical patent/WO2011141683A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/023Cartesian coordinate type
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4086Coordinate conversions; Other special calculations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33273DCS distributed, decentralised controlsystem, multiprocessor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39253Virtual arm, has end effector on any joint of real manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39384Control unit near robot, control and teaching panel in safe zone
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39408Integrated structure and control design
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/19Drive system for arm
    • Y10S901/23Electric motor

Definitions

  • the invention relates to a method for controlling a work cell comprising a robot, a control unit, a robot control device and a communication bus between the control unit and the control device of the robot.
  • a control unit communicates, via a bus, with axis controllers adapted to control motors for moving the different parts of a robot.
  • Such a control unit interprets the movement instructions given by a user or a program created by the user, so as to define motion instructions for each of the motion axes of the robot.
  • the movements of the robot parts relative to the different axes are calculated at the control unit by applying an inverse geometric model that depends on the type of robot arm used.
  • each of the motors is ordered to move corresponding to the directions of movement of axes.
  • These displacements are calculated by applying the kinematic model of the transmissions specific to the robot arm which takes into account the ratios of reductions and possible equations of coupling. It is indeed common that the displacement of an axis is the result of the control of two or more motors.
  • each robot has specific kinematic characteristics, it is necessary to incorporate characteristics inherent to the type of robot used, such as the inverse kinematic model and the kinematic model of the transmissions, into the control unit. This has the effect of making the programs incorporated into the control unit relatively complex and not very versatile since they must be modified if the type of robot used changes.
  • the programs implemented by the control unit must address the operating constraints related to the specificity of a robot arm that makes each command or event on an engine may require treatment that involves the other arm motors of robot. For example, in the event of a failure of one of the motors of the robot arm, the other motors must be stopped and all the motors of the robot arm must be declared out of service.
  • the invention intends to remedy by proposing a new method for controlling an automated working cell, making it possible to simplify programming of the control unit, to improve the speed of communication with the various controllers. of axes as well as improve the accuracy of robot control.
  • the invention relates to a method for controlling an automated working cell, including at least one robot arm with at least three degrees of freedom controlled according to several control axes, a control unit, a control device robot arm, including several motor controllers each controlling the operation of a motor adapted to maneuver at least a portion of the robot arm, and a communication bus between the control unit and the control device of the robot arm.
  • This method is characterized in that it comprises the following steps:
  • step b) transmitting the instructions, determined in step b) to a single computing unit belonging to the control device of the robot arm;
  • the control of a robot arm is based on the identification of motion control axes, that is to say, geometric quantities such as lengths or angles that make it possible to express the movement of the robot. end of the robot arm.
  • the programmer of the control unit can consider each of the motion control axes of the robot arm as an independent axis with which it communicates in the same way as with an axis controller of another engine that would not be part of a robot arm.
  • the presence of the computing unit in the control device of the robot makes it possible to simplify the programming of the control unit, insofar as it does not have to incorporate data specific to each robot arm and must not not manage communication with each of the motor controllers.
  • each axis of motion control of the robot arm corresponds to a degree of freedom of the robot arm.
  • the programmer of the computer is then exempted from the knowledge of the kinematic model of the transmissions.
  • each axis of motion control of the robot arm corresponds to a Cartesian axis or a corresponding rotation of movement of the end of the robot arm.
  • the programmer of the control unit is then exempted from the knowledge of the inverse geometric model of the robot arm.
  • This model is applied at the level of the computing unit belonging to the control device of the robot arm.
  • the programmer may consider changing the type of robot arm without having to update a reverse kinematic model implemented by the control unit.
  • such a control method may incorporate one or more of the following features, taken with any technically permissible combination:
  • the method comprises additional steps of d) determining, within the computing unit and from the setpoints received from the control unit, commands for the motor driven by each motor controller; e) transmit to each engine controller an order, determined in step d), for the engine driven by this engine controller.
  • the computing unit which belongs to the control device of the robot, taking into account all the instructions issued by the control unit. command, one can optimize the operation of the robot and the robotic working cell.
  • the computing unit implements the treatments imposed by the specificity of a robot arm. It thus spares the programmer of the control unit cell the need to incorporate sophisticated shutdown or start-up procedures that are part of the roboticists' know-how.
  • the method comprises additional steps of: f) transmitting, from each engine controller and to the computing unit, the position of the engine that it is driving; g) calculating, within the calculation unit and on the basis of all the positions of the motors, the positions of each of the motion control axes of the robot arm; and h) transmitting to the control unit the positions of each of the control axes calculated in step g).
  • the method comprises additional steps of i) calculating, within the computing unit and on the basis of all the positions of the motors, the Cartesian velocity of a characteristic point; j) comparing the calculated Cartesian velocity to a threshold value; k) transmitting from the calculation unit and to the control unit an alert signal if the Cartesian speed is greater than the threshold value.
  • the calculation unit takes into account in the calculation of step g) dates for measuring the positions of the motors and the date of transmission to the control unit of the positions of each of the control axes of the robot arm. to correct the positions of the motion control axes of the robot arm depending on the presumed movement of the robot arm.
  • the computing unit thus improves its synchronization with the control unit.
  • step d movement orders comprising the positions to be reached for each engine to comply with the instructions issued by the control unit are calculated.
  • step d) the calculation of the movement orders for each engine is accompanied by a forecast of the torque to be supplied for each engine, based on the instructions issued by the control unit.
  • the instructions issued by the control unit contain information on the load transported for at least one motion control axis.
  • the positions to be reached for each engine to comply with the instructions issued by the control unit include compensation for deformations of the robot arm calculated from at least a part of the torque forecasts.
  • the method comprises a step of: I) transmitting to the control unit a signal representative of the power-up state of the robot, in which the robot is respectively declared ready for operation or switched off, only if all the motors are energized or de-energized and braked.
  • the method comprises a step of: m) transmitting, from the computing unit and to the control unit, a signal representative of the operating state of all parts of the robot, in which all the parts of the robot are declared to be in default, if at least one of these parts is detected as not working.
  • the bus supports a synchronous communication mode.
  • the bus is running on a SERCOS interface model.
  • the control unit communicates with the dummy axis controllers associated with the motion control axes of the robot arm using the "Profile drive” hardware profile commands.
  • These standard commands associated with the "profile drive” hardware profile are widely used for programming isolated axis controllers. The programmer does not have to develop or use specific commands to implement a robot arm in an automated work cell.
  • Figure 1 is a structural diagram of an automated work cell implementing a control method according to the invention
  • Figure 2 is a block diagram showing the main functions and communication flows in relation to the control method according to the invention.
  • an automated working cell 2 comprises a robot arm 4, a device 6 for controlling the robot arm 4, a control unit 8 and two electrical actuators partially shown.
  • the robot arm 4 is constituted by a robotic arm with six axes referenced A1 to A6.
  • the term "axis" is here used in the robotic sense, that is to say relates to a degree of freedom. In this case, the degrees of freedom or axes A1 to A6 are rotations.
  • the robot control device 6 is disposed near the robot arm 4 and comprises six motor controllers 61 to 66. Each of these motor controllers 61 to 66 is adapted to control the operation of a motor M1 to M6 capable of maneuver a part of the robot arm 4.
  • the actuation of the motor M1 allows the entire rotation of the portion of the robot arm 4 located between the axis A1 and the movable end of the robot arm 4 without any other axis rotating on itself.
  • the actuation of the motors M2, M3, M4 and M6 respectively allow the isolated rotation of the axes A2, A3, A4 and A6.
  • the actuation of the motor M5 results in the rotation of the axes A5 and A6.
  • There is a coupling between the axes A5 and A6 and an isolated rotation of the axis A5 requires the actuation of the motors M5 and M6.
  • Each of the motors M1 to M6 is equipped with an encoder 12 placed on the motor shaft, making it possible to measure the angular position of the motor shaft and to deliver an electrical signal Si 2 i, for i integer between 1 and 6 , containing the information of this position.
  • Each of the two electric actuators is operated by a motor M21 and M22, each of these motors being respectively driven by an axis controller 121 and 122 and associated with an encoder 12 which delivers a position signal S 12 2i or S 12 22-
  • the control unit 8 controls the operation of the automated cell 2 from programs 30 created by users for carrying out specific actions, such as, for example, assembling an object requiring movements of the robot arm 4 and possible actions of a gripper or a conveyor which comprises the electric actuators operated by the M21 and M22 engines.
  • programs may contain sequences of Cartesian coordinates to be reached by the end of the robot arm 4.
  • the actions can be decided in real time by the user from a fixed or portable control panel 32 accessible to the user or the programmer of the automated work cell 2.
  • the control unit 8 communicates with the control device 6 via a fieldbus 14, preferably operating on the SERCOS III serial real-time interface model.
  • the control unit 8 is "master" while the control device 6 is “slave”.
  • the control device 6 comprises a communication card 60 dedicated to the communication with the control unit 8 via the fieldbus 14.
  • the control device 6 also comprises a calculation unit 10, whose function is to ensure the development and transmission of instructions such as orders of movement or power to the motor controllers 61 to 66.
  • the computing unit 10 includes in particular for this purpose microprocessors and memories.
  • the calculation unit 10 is adapted to communicate with each of the motor controllers 61 to 66. In this way, each data transmission between the motor controllers 61 to 66 and the control unit 8 is managed by the calculation unit. 10, from the motor controllers to the control panel and from the control panel to the motor controllers.
  • the control axes of the robot arm 4 are chosen as the axes A1 to A6 which correspond to the degrees of freedom of the robot arm 4.
  • each axis A1 to A6 of the robot arm 4 is associated with a dummy axis controller.
  • These fictitious axis controllers are supposed to receive instructions from the control unit 8, in the same way as generic axis controllers and control at least one motor based on these instructions. They are declared as conforming to the "Profile drive” hardware profile which defines a set of commands for configuration, control, status and position interrogation, diagnostics and supervision.
  • the instructions developed by the control unit 8 on the basis of the commands associated with the "Profile drive” hardware profile and usable by the imaginary axis controllers are received by the calculation unit 10.
  • Each imaginary axis controller is seen assign an address in the same way as the two axis controllers 121 and 122 which control the actuators outside the robot arm 4 and present in the automated work cell 2.
  • the control method according to the invention applies to the power-up phase of all the motors of the robot arm 4 prior to any operation of the robot arm of the automated work cell 2.
  • This power-up is initiated by the control unit 8 which transmits on the bus 14 one or more master data telegrams having setpoints C 0 i, with i between 1 and 6, for energizing each of the axes A1 to A6.
  • the communication card 60 of the control device 6 captures these telegrams. It then sends interrupt requests to the computing unit 10 which retrieves these telegrams, extracts the instructions C oi for each of the axes A1 to A6 of the robot arm 4 and proceeds to their processing.
  • the SERCOS III interfacing protocol provides that each of the devices connected to the bus 14 is instructed to locate the data concerning it in a master data telegram.
  • the calculation unit 10 records the power-on instructions and sends a response telegram to the control unit 8 in which the axes concerned by the setpoint are declared to be powered up.
  • the motors are actually energized and the brakes released only after receiving the last power-on instruction issued by the control unit 8.
  • Power-up commands 0 2 i, with i between 1 and 6, for each motor M1 to M6 are sent by the calculation unit 10 to each motor controller 61 to 66.
  • the power-up commands of the motors M1 to M6 of the axes A1 to A6 of the robot arm 4 are similar to those of energizing the other motors M21 and M22 implemented in the automated cell 2 since the axes of the robot arm 4 and the other two axes are known to the control unit 8 as conforming to the "Profile drive" hardware profile. Since the computing unit 10 considers all the instructions for each of the axes A1 to A6 of the robot arm 4 to manage the powering of the various motors, the programming of the control unit 8 is simplified.
  • the control unit 8 executes an operating program 30 which contains motion commands that the robot must execute.
  • the movement setpoints Ci are calculated by a trajectory generator 34 which implements an inverse geometric model 36 when the motion commands of the robot arm 4 express the Cartesian coordinates of a displacement of its end.
  • all the Ci commands, axis movements are sent on the bus in the form of a master data telegram Ti (Cii).
  • the communication card 60 receives this telegram. It then sends an interrupt request to the computing unit 10 which retrieves the telegram, extracts the instructions Ci, from axis movements and proceeds to their processing.
  • the calculation unit 10 calculates movement orders On, with i between 1 and 6, for each of the motors M1 to M6 driven by the motor controllers 61 to 66.
  • the commands of movements On for each of the motors are calculated from the set of instructions Ci, received from the control unit 8 by applying the kinematic model of the transmissions 38. These orders include the positions to achieve for the engines.
  • the calculation then takes into account the coupling existing between the axis A5 and the axis A6, the movement of the axis A5 requiring the implementation of the motors M5 and M6.
  • the calculation of the O-n motion commands for each motor also takes into account the reduction ratios between the motors and the robot rotation axes.
  • the orders of movements O-n for each motor M1 to M6 are transmitted to the motor controller 61 to 66 of each of the motors which are responsible for determining and regulating the power supply current of the motor phases.
  • the angular position of the shafts of each motor is detected thanks to the encoder 12 placed on the shaft of each motor.
  • This information transmitted to each motor controller in the form of signals S 12 i to S 12 6 enables servo-control 48 of the motor phase supply current.
  • the calculation unit 10 also has, through its connections with the motor controllers 61 to 66, the angular position of the shafts of each motor of the robot arm 4 and calculates the angular positions P ,, with i being between 1 and 6. moving parts around the axes A1 to A6 of the robot arm 4 by applying an inverse kinematic model of the transmissions 40. Due to the coupling of the axes A5 and A6, the angular positions of the shafts of the motors M5 and M6 are involved in the determination of the angular position P 6 of the axis A6. The calculation unit 10 can also, from the measurements, calculate the rotational speeds of the moving parts around the axes of the robot, the torques provided during these movements, or any other useful data.
  • the computing unit 10 of the robot At each synchronous communication cycle, the computing unit 10 of the robot generates a data telegram ⁇ which contains the angular positions P, of the axes of the robot arm 4 and transmits it to the control unit 8 through the communication card 60. This information can then be used by the program 30 which governs the operation of the automated cell 2.
  • the control unit 8 can apply a geometric model direct 42 to obtain for example the Cartesian position P c of the end of the robot arm 4 which can then be displayed on the control panel 32.
  • the calculation unit 10 can calculate the Cartesian position of at least one characteristic point B, for example located on a tool flange 400 at the end of the robot arm 4, from the angular positions P ,, with i integer between 1 and 6, moving parts about the axes A1 to A6 of the robot arm 4 and deduce the Cartesian velocity V (B) of this characteristic point.
  • a comparison with a predefined threshold is made at the level of the calculation unit 10. If the Cartesian speed value V (B) of this characteristic point B is greater than this threshold, the calculation unit 10 issues a control stopping at all motor controllers 61 to 66 and sends to the control unit 8 a telegram to signal the error.
  • the calculation unit 10 calculates the Cartesian velocity V (B) of the characteristic point from the movement setpoints d ,, with i between 1 and 6 for each axis A1 to A6 associated with a hypothetical axis controller of the robot arm 4.
  • the behavior of the robot arm 4 is substantially improved if the servocontrol of each motor takes into account a prediction of the torque F ,, with i between 1 and 6, applied to the joints because of gravity or inertia forces.
  • This torque prediction F is established for each motor of the robot arm 4 at the level of the computing unit 10 which implements a dynamic model 44.
  • the dynamic model is based on the knowledge of the motion instructions d, of each axis which makes it possible to evaluate the accelerations required at each part of the robot arm 4.
  • the prediction of the torque F, on the shaft of each motor of the robot arm 4 must take into account the movement instructions d, of all axes A1 to A6.
  • the torque prediction F is translated into a current setpoint by applying the data or "constants" 46 of the motors and transmitted to the motor controllers 61 to 66 so as to be inputted to the control loops 50 of the currents. supply of motor phases.
  • the calculation of the prediction of the torque F, to be provided at each articulation can also use the angular positions P, of the axes of the robot arm 4.
  • the prediction of the torque F applies to the joints and all the more precise that it takes into account the loads to be transported by the robot arm 4.
  • Each load is characterized by a mass, the position its center of gravity and its matrix of inertia but also the degree of freedom to which it is attached.
  • the programmer of the control unit 8 can declare the transported loads with respect to each axis of motion control of the robot arm 4. For example, for a load transported at the tool flange 400, it will declare a load through the controls dedicated to the control spindle A6. For a load transported at the forearm 402, it will declare a load through the commands dedicated to the control axis A4.
  • These transported load declarations can be done asynchronously, that is to say outside the cyclic communication between the control unit 8 and the calculation unit 10. They can also be done synchronously, which can be done synchronously. makes it possible to vary the load transported with each command sent by the control unit 8 and to adapt the control of the robot arm 4 to a sequence of movements during which the robot arm would capture and transport a load before releasing it and undertake another trip.
  • the method according to the invention makes it possible to take into account the loads transported at the level of the calculation unit 10 so as to simplify the formation of the control unit 8.
  • the method according to the invention also makes it possible to improve the accuracy of the trajectory of an unrepresented tool placed at the end of the robot arm 4 by taking into account the deformations of the robot arm under the effect of the load. These deformations can result from the flexibility of structural elements such as arms or transmission elements such as belts or reducers. From the motion instructions of each axis, the dynamic model 44 predicts each pair F ,, with i between 1 and 6, applied to the joints due to gravity and inertia forces. These pairs F, make it possible to obtain, by applying a flexibility matrix specific to the robot arm 4, the articular deviations ⁇ , with i between 1 and 6, due to the deformations.
  • the articular deviations ⁇ making it possible to provide compensation for the deformations of the robot arm 4, and are then added to the movement instructions of each axis and thus taken into account in the calculation of the motion commands On, with i between 1 and 6, for each of the motors M1 to M6 driven by the motor controllers 61 to 66.
  • the calculation of the articular deviations ⁇ can be established by taking into account only the part of the pairs Fi corresponding to the gravity, that is to say to the static forces.
  • the method according to the invention also takes into account the possible malfunctions of each part of the robot 4.
  • the calculation unit 10 of the control device 6 of the robot arm 4 supervises the operation of all the controllers from motors 61 to 66. It implements software that can detect malfunctions in motor controllers 61 to 66, motors M1 to M6 or encoders 12.
  • the computing unit 10 stops all the other motors of the robot arm 4 and controls the transmission, to the control unit 8, of a data telegram T 2 in which no only the axis whose rotation is normally allowed by the engine in question is declared as being in malfunction, but also all the axes of the robot arm 4.
  • a malfunction on one of the The axes of the robot arm 4 cause the declaration of the impossibility of functioning of the entire robot arm. This information is sent to the control unit 8.
  • control unit 8 Since the control unit 8 does not have to manage the defaulting of all the axes of the robot, its programming is simplified. This makes it possible to avoid communication between each motor controller 61 to 66 and the control unit 8, which speeds up the processing of faults and improves the securing of the robot arm 4.
  • the computing unit 10 ensures the consistency of the behavior of the robot arm 4 in the event of a fault on one of the axes A1 to A6. It is the same when switching off one of the axes of the robot arm 4.
  • Each of the motors M1 to M6 must then necessarily be de-energized.
  • the shutdown of an engine must be preceded by the tightening of brakes to stop the rotation of the motors.
  • the instruction to switch off the robot arm 4 from the control unit 8 is applied by the calculation unit 10 to each of the motor controllers.
  • the calculation unit 10 As soon as a set point, power off of one of the axes Ai, with i being an integer between 1 and 6 the robot arm 4, is detected by the calculation unit 10, this set point is generalized to all motors M1 M6 of the robot arm 4
  • the computing unit 10 then sends to each motor controller 61 to 66 an order O ',, with i between 1 and 6, power off the motors M1 to M6.
  • the computing unit 10 ensures that the shafts of each of the motors of the robot arm 4 are braked well to avoid any accident.
  • the calculation unit 10 transmits a telegram T 3 specifying to the control unit 8 that all the axes Ai, with i integer between 1 and 6, of the robot arm 4 have been turned off. voltage.
  • the method of the invention makes it possible to improve the synchronization of the movements managed by the control unit 8. It is based on a client-server communication model in which the control unit 8 is the server.
  • the bus 14 allows a synchronous communication mode.
  • the communication between the control unit 8 and the control device 6 of the robot arm 4 by the intermediate bus 14 is at a frequency, called the communication frequency, whose value is adapted to the number of devices, such as motor controllers, to control.
  • the computing unit 10 operates at a frequency, called the control frequency, whose value is higher than that of the communication frequency.
  • the servocontrol performed within a motor controller 61 to 66 is at a frequency, called servo frequency, whose value is higher than that of the control frequency. Interpolation calculations are therefore necessary between each transmission of movement order O- ⁇ for the motors of the calculation unit 10 to the motor controller. These calculations are performed within each motor controller 61 to 66.
  • the operating program of the automated work cell 2 implemented by the control unit 8 generates instructions Ci, and requires the knowledge of the angular positions P, the axes of the robot arm 4.
  • the control unit 8 requests the angular positions of each of the axes of the robot arm 4.
  • the calculation unit 10 has the positions of the shafts of each motor with the encoders 12. They come from the motor controllers 61 to 66 and allow it calculating the angular positions P, of the axes of the robot arm 4 by applying the inverse kinematic model of the transmissions 40. These processes and these data transmissions generate delays likely to desynchronize the calculation unit 10 and the control unit 8.
  • the calculation unit 10 dates the angular position information from the motor controllers 61 to 66. Each measurement the angular position of the motor shaft detected by the encoders 12 is therefore associated with a measurement date. As the communication via the bus 14 is of the synchronous type, the calculation unit 10 knows when it will have to transmit the angular position values P, of the axes of the robot arm 4 at the request of the control unit 8. are then corrected according to the measurement date, depending on the presumed movement of the robot arm 4 at the time of measurement and the time interval separating the measurement date from the date of transmission to the control unit 8. The computing unit 10 performs a synchronization.
  • control method according to the invention can implement a bus carrying an asynchronous communication mode.
  • the method according to the invention can be implemented with a CAN bus (Controller Area Network) which integrates a CANopen application layer. It is also compatible with Powerlink and EtherCAT communication protocols.
  • the motion control axes of the robot arm 4 are chosen as being the Cartesian axes X, Y, Z, and the corresponding rotations Rx, Ry, Rz instead of the axes A1 to A6 of the robot arm 4.
  • the programmer of the control unit 8 then expresses the desired displacements of the end of the robot arm 4 in 3 directions X, Y and Z and the orientation of the end of the robot arm 4 according to the rotations Rx, Ry and Rz about the X, Y and Z axes.
  • control unit 8 transmits to the control device 6 of the robot arm 4 Cartesian positions to reach.
  • the calculation unit 10 incorporates the inverse geometric model of the robot arm 4 and implements it to determine the displacement instructions intended for the motor controllers 61 to 66.
  • the calculation unit 10 incorporates and implements the direct geometrical model which makes it possible to calculate before transmitting to the control unit 8 the positions of the motion control axes X, Y, Z, and the corresponding rotations Rx, Ry, Rz from the angular positions of the shafts of each robot arm motor 4.
  • the invention is not limited to the use of a robot with 6 degrees of freedom and can be applied for example to robots with 7 degrees of freedom.
  • the programmer can advantageously choose as axes of motion control the Cartesian axes X, Y, Z, and the corresponding rotations Rx, Ry, Rz of movement of the end of the robot arm.
  • the compute unit of the robot arm control device will implement the sophisticated inverse geometric model for solving redundancies.
  • the invention has been described with a control device of the robot 6 which comprises a communication card 60, a calculation unit 10 and motor controllers 61 to 66.
  • the calculation unit 10 is able to process the information coming from of the control unit 8 and generate displacement instructions to the motor controllers 61 to 66.
  • These motor controllers 61 to 66 are functionally comparable to conventional axis controllers such as the axis controllers 121 and 122. They receive position instructions and provide slave control of the currents that supply the phases of the electric actuators.
  • the invention also applies to a structure that implements a calculation unit directly capable of generating the current instructions to unrepresented power cards. These power cards are able to control the currents flowing in the phases of one or more electric actuators.
  • the invention is not limited by the structure of the control device 6 of the robot arm 4.
  • the orders for each of the motors M1 to M6 driven by a motor controller are determined from several, and not from the set, of the setpoints Cn, with i integer between 1 and 6, received from the control unit 8.

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
PCT/FR2011/051076 2010-05-14 2011-05-13 Procédé de commande d'une cellule de travail automatisée Ceased WO2011141683A1 (fr)

Priority Applications (8)

Application Number Priority Date Filing Date Title
EP11725486.2A EP2569130B2 (fr) 2010-05-14 2011-05-13 Procédé de commande d'une cellule de travail automatisée
ES11725486.2T ES2458430T5 (es) 2010-05-14 2011-05-13 Procedimiento de control de una célula de trabajo automatizada
CN201180034731.2A CN102985233B (zh) 2010-05-14 2011-05-13 控制自动化工作单元的方法
KR1020127031222A KR101839772B1 (ko) 2010-05-14 2011-05-13 자동화 워크셀 제어 방법
US13/696,833 US20130131864A1 (en) 2010-05-14 2011-05-13 Method for controlling an automated work cell
JP2013509604A JP5847164B2 (ja) 2010-05-14 2011-05-13 自動化作業セルを制御するための方法
DK11725486.2T DK2569130T4 (en) 2010-05-14 2011-05-13 Procedure for controlling an automated work cell
BR112012029107-6A BR112012029107B1 (pt) 2010-05-14 2011-05-13 processo de comando de uma célula de trabalho automatizada

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1053769A FR2960074B1 (fr) 2010-05-14 2010-05-14 Procede de commande d'une cellule de travail automatisee
FR1053769 2010-05-14

Publications (1)

Publication Number Publication Date
WO2011141683A1 true WO2011141683A1 (fr) 2011-11-17

Family

ID=42668907

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2011/051076 Ceased WO2011141683A1 (fr) 2010-05-14 2011-05-13 Procédé de commande d'une cellule de travail automatisée

Country Status (11)

Country Link
US (1) US20130131864A1 (enExample)
EP (1) EP2569130B2 (enExample)
JP (1) JP5847164B2 (enExample)
KR (1) KR101839772B1 (enExample)
CN (1) CN102985233B (enExample)
BR (1) BR112012029107B1 (enExample)
DK (1) DK2569130T4 (enExample)
ES (1) ES2458430T5 (enExample)
FR (1) FR2960074B1 (enExample)
PT (1) PT2569130E (enExample)
WO (1) WO2011141683A1 (enExample)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2960075B1 (fr) * 2010-05-14 2012-06-15 Staubli Sa Ets Procede de commande d'une cellule de travail automatisee
JP6332900B2 (ja) 2012-08-31 2018-05-30 セイコーエプソン株式会社 ロボットシステム及びロボット制御装置
JP2014205197A (ja) 2013-04-10 2014-10-30 セイコーエプソン株式会社 ロボット、ロボット制御装置およびロボットシステム
JP2014205198A (ja) * 2013-04-10 2014-10-30 セイコーエプソン株式会社 ロボット、ロボット制御装置およびロボットシステム
BR112015028382A2 (pt) * 2013-05-14 2017-07-25 Mitsubishi Electric Corp dispositivo de controle numérico
JP6354122B2 (ja) 2013-06-05 2018-07-11 セイコーエプソン株式会社 ロボット
FR3021574B1 (fr) * 2014-05-27 2019-04-05 Commissariat A L`Energie Atomique Et Aux Energies Alternatives Manipulateur cobotique
CN104440910B (zh) * 2014-11-07 2016-05-04 绵阳市维博电子有限责任公司 一种实现机器人双手臂同步控制的方法及系统
FR3038245B1 (fr) * 2015-06-30 2017-12-29 Staubli Sa Ets Procede de commande d'une cellule de travail automatisee
JP6108645B1 (ja) * 2016-01-31 2017-04-05 貴司 徳田 モーターモジュールシステム
JP6859675B2 (ja) * 2016-11-21 2021-04-14 セイコーエプソン株式会社 ロボット、及びロボットシステム
US11554461B1 (en) 2018-02-13 2023-01-17 Omax Corporation Articulating apparatus of a waterjet system and related technology
KR102069794B1 (ko) 2018-05-30 2020-01-23 (주) 로보라이즌 모듈러 로봇 시스템
KR102055502B1 (ko) 2018-05-30 2019-12-12 (주) 로보라이즌 모듈러 로봇 시스템
FR3097565B1 (fr) * 2019-06-19 2022-08-12 Staubli Sa Ets Machine textile, métier à tisser comportant une telle machine textile et procédés associés
JP7437910B2 (ja) * 2019-10-29 2024-02-26 株式会社東芝 制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040267404A1 (en) * 2001-08-31 2004-12-30 George Danko Coordinated joint motion control system
WO2006062948A2 (en) 2004-12-06 2006-06-15 Honda Motor Co., Ltd. Interface for robot motion control

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5927310A (ja) * 1982-08-03 1984-02-13 Fanuc Ltd 作業セル制御装置
US4718078A (en) * 1985-08-19 1988-01-05 Siemens Aktiengesellschaft System for controlling motion of a robot
US4937759A (en) * 1986-02-18 1990-06-26 Robotics Research Corporation Industrial robot with controller
US4823279A (en) * 1986-02-27 1989-04-18 Unimation, Inc. Coordinate conversion system and method for controlling an industrial robot
JPH0760335B2 (ja) * 1988-03-22 1995-06-28 横河電機株式会社 ロボットの制御装置
US5159249A (en) * 1989-05-16 1992-10-27 Dalila Megherbi Method and apparatus for controlling robot motion at and near singularities and for robot mechanical design
US5086400A (en) * 1990-05-11 1992-02-04 The United States Of America As Represented The The Administrator Of The National Aeronautics And Space Administration Bilevel shared control for teleoperators
JP2680210B2 (ja) * 1991-07-29 1997-11-19 株式会社日立製作所 ロボットの制御方法
US5631973A (en) * 1994-05-05 1997-05-20 Sri International Method for telemanipulation with telepresence
GB9403644D0 (en) * 1994-02-25 1994-04-13 Advanced Robotics Res Manipulator controller
JP3401971B2 (ja) * 1995-01-30 2003-04-28 松下電器産業株式会社 デジタルサーボ装置
US5887121A (en) * 1995-04-21 1999-03-23 International Business Machines Corporation Method of constrained Cartesian control of robotic mechanisms with active and passive joints
US5828813A (en) * 1995-09-07 1998-10-27 California Institute Of Technology Six axis force feedback input device
US5710870A (en) * 1995-09-07 1998-01-20 California Institute Of Technology Decoupled six degree-of-freedom robot manipulator
US5784542A (en) * 1995-09-07 1998-07-21 California Institute Of Technology Decoupled six degree-of-freedom teleoperated robot system
FR2764838B1 (fr) * 1997-06-20 2000-06-02 Deutsch Zentr Luft & Raumfahrt Procede de commande d'un manipulateur
DE19727824C1 (de) * 1997-06-30 1998-11-19 Siemens Ag Verfahren und Vorrichtung zum dezentralen Betrieb bzw. Aufbau einer autarken, winkelgenauen Gleichlaufregelung einzelner Antriebe eines vernetzten Mehrmotorenantriebssystems
US6445964B1 (en) * 1997-08-04 2002-09-03 Harris Corporation Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine
US6317651B1 (en) * 1999-03-26 2001-11-13 Kuka Development Laboratories, Inc. Trajectory generation system
US6424885B1 (en) * 1999-04-07 2002-07-23 Intuitive Surgical, Inc. Camera referenced control in a minimally invasive surgical apparatus
SE0001312D0 (sv) * 2000-04-10 2000-04-10 Abb Ab Industrirobot
US6882901B2 (en) * 2002-10-10 2005-04-19 Shao-Wei Gong Ultra-precision robotic system
FR2850600B1 (fr) * 2003-02-04 2006-01-13 Staubli Sa Ets Robot multi-axes equipe d'un systeme de commande
FR2864266B1 (fr) * 2003-12-19 2006-02-17 Staubli Sa Ets Procede et dispositif de commande des deplacements d'une partie mobile d'un robot multi-axes
US8010235B2 (en) * 2005-05-31 2011-08-30 The Boeing Company Approaching and compensating for machine kinematic singularities
JP4566917B2 (ja) * 2006-01-17 2010-10-20 日本電産サンキョー株式会社 ロボット
KR20070075957A (ko) * 2006-01-17 2007-07-24 주식회사 로보스타 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템
JP2007221031A (ja) * 2006-02-20 2007-08-30 Lintec Corp 搬送装置及び搬送方法
FR2900360B1 (fr) * 2006-04-28 2008-06-20 Staubli Faverges Sca Procede et dispositif de reglage de parametres de fonctionnement d'un robot, programme et support d'enregistrement pour ce procede
JP5011525B2 (ja) * 2006-08-03 2012-08-29 国立大学法人東京工業大学 逐次検索法による6自由度ロボットアームの逆運動学、およびそれを使用するロボットのシステム、制御方法、プログラム
JP5121369B2 (ja) * 2007-09-26 2013-01-16 東洋電機製造株式会社 同期制御システム
DE102008027485B4 (de) * 2008-06-09 2010-02-11 Gsi Helmholtzzentrum Für Schwerionenforschung Gmbh Deposition einer Solldosisverteilung in einem zyklisch bewegten Zielgebiet
KR20110041950A (ko) * 2009-10-16 2011-04-22 삼성전자주식회사 여유자유도 제어를 이용한 로봇의 교시 및 재현 방법
FR2960075B1 (fr) * 2010-05-14 2012-06-15 Staubli Sa Ets Procede de commande d'une cellule de travail automatisee

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040267404A1 (en) * 2001-08-31 2004-12-30 George Danko Coordinated joint motion control system
WO2006062948A2 (en) 2004-12-06 2006-06-15 Honda Motor Co., Ltd. Interface for robot motion control

Also Published As

Publication number Publication date
FR2960074A1 (fr) 2011-11-18
EP2569130B1 (fr) 2014-04-02
JP2013526418A (ja) 2013-06-24
BR112012029107B1 (pt) 2020-12-29
PT2569130E (pt) 2014-07-10
CN102985233A (zh) 2013-03-20
KR101839772B1 (ko) 2018-03-19
ES2458430T5 (es) 2017-11-20
KR20130027523A (ko) 2013-03-15
FR2960074B1 (fr) 2012-06-15
DK2569130T4 (en) 2017-09-25
JP5847164B2 (ja) 2016-01-20
DK2569130T3 (da) 2014-04-22
ES2458430T3 (es) 2014-05-05
EP2569130B2 (fr) 2017-07-26
US20130131864A1 (en) 2013-05-23
EP2569130A1 (fr) 2013-03-20
CN102985233B (zh) 2015-07-01

Similar Documents

Publication Publication Date Title
EP2569129B1 (fr) Procédé de commande d'une cellule de travail automatisée
EP2569130B1 (fr) Procédé de commande d'une cellule de travail automatisée
JP6540166B2 (ja) 制御装置
EP3375575B1 (fr) Procédé de commande d'une cellule de travail automatisée
EP1695160B1 (fr) Procede et dispositif de commande des deplacements d' une partie mobile d'un robot multi-axes
EP3112095A1 (fr) Procédé de commande d'une cellule de travail automatisée
JP2016194831A (ja) 制御装置
CN102914992A (zh) 同步控制装置
JP2014146070A (ja) 制御装置、制御方法、およびプログラム
JP2019106225A (ja) 制御装置
CN116995953A (zh) 减小多电机传动系统转速波动的方法及装置
WO2022069519A1 (en) Method and data-transfer-system for transferring data between a data source and a data sink
JP6612866B2 (ja) サーボモータ駆動装置
US20200395879A1 (en) Method of controlling a drive motor
CN120085613A (zh) 一种分布式部署的多轴控制系统
JPH03260809A (ja) 複合加工機械制御装置
JPH03251377A (ja) モータ制御装置および産業用ロボット制御装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180034731.2

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11725486

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013509604

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011725486

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20127031222

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13696833

Country of ref document: US

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112012029107

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112012029107

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20121114