WO2011042049A1 - Procédé de réduction de la consommation d'énergie d'un robot industriel et système de robot industriel - Google Patents

Procédé de réduction de la consommation d'énergie d'un robot industriel et système de robot industriel Download PDF

Info

Publication number
WO2011042049A1
WO2011042049A1 PCT/EP2009/062961 EP2009062961W WO2011042049A1 WO 2011042049 A1 WO2011042049 A1 WO 2011042049A1 EP 2009062961 W EP2009062961 W EP 2009062961W WO 2011042049 A1 WO2011042049 A1 WO 2011042049A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
energy
energy consumption
minimizing
movements
Prior art date
Application number
PCT/EP2009/062961
Other languages
English (en)
Inventor
Mikael NORRLÖF
Mattias BJÖRKMAN
Original Assignee
Abb Technology Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Abb Technology Ab filed Critical Abb Technology Ab
Priority to PCT/EP2009/062961 priority Critical patent/WO2011042049A1/fr
Priority to CN201080045058.8A priority patent/CN102666030B/zh
Priority to PCT/EP2010/063783 priority patent/WO2011042293A1/fr
Priority to EP10754755.6A priority patent/EP2485875B1/fr
Publication of WO2011042049A1 publication Critical patent/WO2011042049A1/fr

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/34Director, elements to supervisory
    • G05B2219/34314Slow down, limit speed for energy saving
    • 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/39361Minimize time-energy cost
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40498Architecture, integration of planner and motion controller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40507Distributed planning, offline trajectory, online motion, avoid collision
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50181After stopping apply additionally a brake
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P80/00Climate change mitigation technologies for sector-wide applications
    • Y02P80/10Efficient use of energy, e.g. using compressed air or pressurized fluid as energy carrier

Definitions

  • the present invention relates to a method for reducing the energy consumption of an i ndustrial robot configured to carry out work during a work cycle. Further, the present invention relates to an industrial robot system comprising a robot including a ma- nipulator, and program storage for storing a control program defining work to be carried out by the robot duri ng a work cycle.
  • An industrial robot is generally used for industrial automation .
  • the robot is programmed to follow a movement path while the robot carries out work during a work cycle.
  • a robot control program has i nformation about what the robot should do and in which order tasks should be executed along the path.
  • the con- trol program comprises a series of robot program instructions written i n a robot language.
  • the control program has i nformation about all target points on the movement path .
  • the robot programming could be done online manually by teaching the robot positions and orientations of target points on the movement path.
  • the control program could also be created by an offline programming and simulation tool runni ng on an external computer, such as a PC.
  • An industrial robot system includes a manipulator having a pl u- rality of arms that are movable relative each other about a pl urality of axes and motors for actuating the movements of the axes and a robot controller having means for operating the manipulator.
  • the robot controller comprises a storage unit for storing one or more control programs for controlling the movement of the manipulator.
  • the control program comprises program i n- structions, includi ng movement i nstructions for the manipulator.
  • the control program specifies a geometric path to be followed by the robot when carrying out the work.
  • the program may also specify limitations on speed and accelerations along the path .
  • the robot controller comprises a program interpreter configured to execute the control program and to provide instructions based on the movement instructions to a path planner.
  • the path planner receives the i nstructions from the program interpreter and on basis thereof determines how the manipulator should move in order to be able to execute the movement instructions.
  • the path planner generates a trajectory i ncluding a geometric path and a speed profile along the path .
  • the path planner plans how the instructed movement should be performed by carryi ng out an interpolation of the movements.
  • the interpolation includes dividing the instructed movement into a plurality of small increments, and computing the joint angles for all axis of the robot for each increment.
  • the joint angels are then converted into reference values for the motors.
  • the path planner transmits the computed motor references to drive units that control the motors by converting DC current to a variable alternating current in depend- ence on the motors references.
  • cycle time is meant the time it takes for the robot to carry out a work cycle. It is important to make the control pro- gram as optimal as possible in order to reduce the cycle time. Therefore, the normal path planning algorithms are based on a solution to an optimization problem that is defined as minimizing the cycle time subject to customer constrai nts and robot constraints, where customer constraints could be e.g . speed and acceleration values specified by the user. Some examples of robot constraints are maximum gear-box torque, maximum avail- able motor torque, and maximum motor speed . This means that all available motor power is used in every discrete time step as long as no customer or robot constraint is violated . Industrial robots are today used throughout almost all branches of industrial applications.
  • the robots contribute to the total environment impact of the plant, for example, due to its energy consumption.
  • the energy consumption for a work cycle is dependent on the movements of the robot, such as the actual path , the velocity, and the acceleration of the robot during the work cycle. Accordingly, there is an aim to reduce the energy consumed by the robot.
  • the object of the present invention is to reduce the energy consumed by the robot.
  • this object is achieved by the method defined in claim 1 .
  • Such method comprises defining a model for the energy consumption of the robot dependent on the movements of the axes of the robot, upon command determining , for at least a part of the work cycle, movements for the manipulator with regard to minimizing the energy consumption of the robot based on a control program defining the work to be carried out by the robot during said part of the work cycle, said model for the energy consumption of the robot, and a maximum allowed time for carrying out the work during said part of the work cycle, and calculating reference values for the motors of the robot based on the determined robot movements.
  • the invention makes it possible to command optimization of the movements of the robot during at least a part of the work cycle with regard to minimizing the energy consumption of the robot and a maximum allowed time for carrying out the work, instead of with regard to minimizing the cycle time.
  • the term during at least a part of the work cycle is meant during the whole or during one or more parts of the work cycle.
  • the invention is suit- able for robot applications for which the time is not critical during at least a part of the work cycle, for instance in applications where the robot is tending a machine and the robot spends a part of the work cycle waiting for the machine to be ready.
  • the invention enables saving of energy for such applications.
  • the maximum allowed time for carrying out the work is set in dependence on the application , for example, the minimum time the robot has to wait for the machine to be tended .
  • Optimization of the movements of the robot with regard to minimizing the energy consumption of the robot means that the movements of the robot are determined with the aim of minimizing the energy consumption . Different degrees of reduction of the consumed energy can be achieved in dependence on how sophisticated the energy model is.
  • the model for the energy consumption of the robot includes a relation between the energy consumed due to friction and the speed of the axes.
  • the power is proportional to the torque square and therefore friction plays an important role for the energy consumption. There exists a speed where the friction torque is at a minimum.
  • said model for the energy consumption of the robot includes influences on the energy consumed due to gravity acting on the arms, and the method further comprises determining when the brakes are to be applied to the motors during said part of the work cycle with re- gard to minimizing the energy consumption of the robot and considering the fact that no energy is consumed due to gravity when brakes are applied to the motors.
  • the brakes are applied to the motors it is possible to switch off the control of the motors and save energy.
  • the fact that no energy is consumed due to gravity when brakes are applied to the motors is considered during the optimization of the robot movements in order to save energy. Accordingly, a further reduction of the energy consumption can be made.
  • determining said movements for the manipulator includes determining a speed profile for the axes with regard to minimizing the energy consumption of the robot during said part of the work cycle.
  • a speed profile for an axis includes information on the speed of the axis and how the speed changes over time, and accordingly information on the acceleration of the axis.
  • the speed and acceleration of the robot is determined with regard to minimizing the energy consumption of the robot.
  • the geometric path of the robot can be fixed or not fixed .
  • determining said movements for the manipulator further includes determining a geometric path for the robot with regard to minimizing the energy consumption of the robot during said part of the work cycle.
  • the geometric path can be expressed in joint angels or in Car- tesian coordinates. The relation between the joint angels and the Cartesian coordinates are determined by a kinematic model of the robot.
  • the geometric path specifies the positions of the robot, but not the speed . I n this embodiment the geometric path is not fixedly determined by the control program.
  • the method com- prises receiving a tolerance interval for allowed deviation from programmed geometric path , and determining a new energy- optimized geometric path based on the tolerance i nterval .
  • the control program includes positions of a plurality of target points and the tolerance interval specified an allowed de- viation from the programmed target points. This embodiment makes it is possible to adjust the positions of the target points within the given tolerance interval in order to minimize the energy consumption .
  • movements for the manipulator are determined with regard to minimizing the energy consumption during a part of the work cycle, and movements for the manipulator are determined with regard to minimizing the time it takes for the robot to carry out the work during another part of the work cycle, and that reference values for the motors of the robot are calculated based on the robot movements determined with regard to minimizing the energy consumption of the robot as well as with regard to minimizing the time it takes for the robot to carry out the work.
  • This embodiment makes it possible to switch between minimizing the cycle time and minimizing the energy consumption during one work cycle.
  • This embodiment is advantageous for applications havi ng one or more time critical parts and one or more non-time critical parts during the work cycle.
  • the control program incl udes i nstructions for switching on and off the minimizing of the energy consumption of the robot during the work cycle.
  • This embodiment makes it possi ble for a robot programmer to command minimizing of the energy consumption during selected parts of the work cycle.
  • the method comprises calculating the energy reduction achieved by determining the movements of the manipulator with regard to mi nimizing the energy consumption of the robot instead of with regard to minimizing the cycle time, and displaying the calculated energy reduction .
  • This embodiment enables a robot operator to view the energy reduction achieved and hopefully to encourage the robot operator to use this function .
  • the robot comprises drive units that control the motors by converting DC current to a variable alternating current in dependence on said reference values for the motors, and said model for the energy consumption of the robot includes a model of the energy consumption of mechanical parts of the manipulator, a model of the energy consumption of the motors, and a model of the energy consumption of the drive units.
  • this object is achieved by the i ndustrial robot system defined in claim 1 1 .
  • Such a robot system comprises: a data storage storing a model for the energy consumption of the robot depending on the movements of the axes of robot, and an energy optimization module configured to determine, for at least a part of the work cycle, movements for the manipulator with regard to minimizing the energy consumption of the robot based on said control program , said model for the energy consumption of the robot, and a maximum allowed time for carrying out the work during said part of the work cycle, and a computing unit configured to calculate reference values for the motors of the robot based on the determined robot movements.
  • the system comprises a time optimization module configured to determine, for at least a part of the work cycle, movements for the manipulator with regard to minimizing the time it takes for the robot to carry out the work based on a dynamic model of the robot, the system is configured to upon command switch between minimizi ng the time it takes for the robot to carry out the work and minimizing the energy consumption of the robot during one work cycle, and said computing unit is configured to calculate reference values for the motors of the robot based on the robot movements determined with regard to minimizing the energy consumption of the robot as well as with regard to minimizing the time it takes for the robot to carry out the work.
  • the control program includes instructions for switching between minimizing the time it takes for the robot to carry out the work and minimizing the energy consumption of the robot during the work cycle, and the system is configured to switch between time and energy optimization based on the instructions in the robot program.
  • the system comprises an external computer for off-line programming of the robot and a robot controller for controlling the movements of the manipulator, said energy optimization module is configured to generate an energy optimized control program and the energy optimization module is stored on the external computer, and the computi ng unit for calculate reference values for the motors of the robot is stored on the robot controller.
  • the system comprises a robot controller including a path planner adapted to determine how the manipulator should move based on the control program, and said energy optimization module and the comput- ing unit are parts of the path planner and are stored on the robot controller.
  • the energy optimization of the movements is done in the robot controller during path planni ng.
  • the robot program is not programmed off-line it is an advantage from a user's poi nt of view to perform the optimiza- tion on the controller instead of on an external computer.
  • the maximum allowed time can be a variable and , for example, it can depend on an input signal from an external unit.
  • Another advantage with this embodiment is that it is possible to determine the trajectory with a higher accuracy compared to if the energy optimization is performed off-line due to the fact that the path planner determines the path based on small increments.
  • Fig . 1 shows a time-optimized speed profile for a robot axis together with and an energy-optimized speed profile determined without regard to friction . shows the time-optimized speed profile of figure 1 to gether with an energy-optimized speed profile deter mined with regard to friction.
  • Fig . 3 shows an example of the relation between friction torque and speed .
  • Fig . 4 shows an example of a prior art robot controller. shows a robot system according to an embodiment of the invention .
  • Fig . 6 shows an example of energy optimization done on an external computer.
  • FIG. 7 shows a robot controller including an energy optimized trajectory generation that only optimizes the speed profile and not the geometric path .
  • Fig . 8 shows a robot controller generating an energy optimized trajectory includes determining an energy optimized geometric path as well as an energy optimized speed profile.
  • Fig . 9 shows an example of components in the robot system energy model .
  • Fig . 10 shows a simplified robot with only one rotational joint.
  • the present invention is based upon minimizing the energy consumption , instead of cycle time, and this can be described by the following optimization problem:
  • MaxCycleTime is a user defi ned maximum cycle time for the robot movements.
  • Customer constraints could be e.g . speed and acceleration values specified by the user.
  • Robot constraints are, for example, maximum gear-box torque, maximum available motor torque, and maximum motor speed .
  • energy optimization is in the following used as an equivalent of energy optimal or energy optimized motion planni ng , which means that the robot motions are planned in order to minimize the energy consumption.
  • the energy optimization can be switched on and off.
  • the motion planning is made with regard to minimizing the cycle time.
  • the switching on and off of the energy optimization is commanded in the control program, for example by providing program instructions for switchi ng on and off of the energy optimization .
  • the energy optimization can be switched on per program, per module, per procedure, or per instruction .
  • the following is an example how the energy optimization can be used i n program code of a control program.
  • the energy optimization is turned on by the command Ener- gyOptimizationOn and is turned off by the command EnergyOp- timizationOff.
  • the two instructions EnergyOptimizationOn and EnergyOptimizationOff are included in a sequence of move i n- structions.
  • EnergyOptimizationOn switches on the energy optimization and the second argument is the maximum time that the motion is allowed to take until the EnergyOptimizationOff instruction is executed .
  • the program instructions in between a EnergyOptimizationOn and a EnergyOptimizationOff i nstructions are referred to as an energy-optimization block.
  • the time given by the variable maxMoveTime in the example, can change as a function of other related processes and hence the actual energy saving can be different at each execution of a particular energy- optimization block. Notice that it is not possible to change the maximum motion time parameter of the energy-optimization block once the control program execution has entered the block.
  • the command pri ntEnergyReduction initiates calculation of the energy reduction achieved by energy optimization instead of optimization of the cycle time, and displaying the calculated energy reduction .
  • An important part of the optimization concept is to make it pos- sible to apply the brakes of the robot in the final position and then switch off the control of the motors in order to save energy.
  • the brakes When the time specified in the EnergyoptimizationOn instruction is reached the brakes must already be released and the motors must be in controlled mode, in order to be responsive and be able to directly move at the next instruction after the energy- optimization block.
  • case 1 and case 2 are combined so that a geometric path is given where the robot can deviate from the path to some specified limit when it reduces the total energy consumption .
  • the resulting code with a maximum allowed deviation of 1 00mm from the desired geometric path is shown :
  • Level 1 Model based in an offline tool , for example, an external PC, and before the program is run on the robot controller.
  • the sol ution is similar in level 1 and 2a .
  • the major difference between the different levels is the requirements on the computational complexity.
  • level 1 and to some extend level 2a there are not many restrictions on the computational complexity while level 2b put very hard restrictions on the computational complexity since the optimization must be solved while the robot moves and with the limited computer resources available in the robot controller.
  • an energy-optimization block the motion data is not allowed to change when the block is executed . No conditions, i .e. if-statements or loops, which can affect the path , are allowed .
  • enteri ng an energy-optimization block the geometry of the path within the block has to be decided .
  • level 1 The important difference between level 1 and level 2 , using model based optimization , is that in the execution at level 1 no data can be changed at the execution of the program while at level 2, motion data can change until the energy-optimization block is entered .
  • Figure 1 shows a time-optimized speed profile 1 together with and an energy-optimized speed profile 2 for a robot axis moving without being affected by gravity.
  • the energy-optimized speed profile makes the robot reach the final point exactly at a specified maximum time.
  • Figure 3 shows a typical friction behavior with static friction , stiction , Coulomb and viscous friction.
  • the power produced is proportional to the torque square and therefore friction plays an important role for the energy consumption of the robot.
  • a typical friction behavior is shown and obviously there exists a speed where the friction torque is at a minimum and hence it will result in a different speed profile compared to figure 1 if the energy optimization is done with regard to friction .
  • Figure 2 shows the time-optimized speed profile 1 of figure 1 together with an energy-optimized speed profile 3 determined with regard to friction .
  • the resulting energy-optimized speed profile gives a higher acceleration and speed compared to the profile shown i n figure 1 but still lower acceleration and speed compared to the time optimal profile.
  • the energy-optimized speed profile 3 shows a motion that reaches the final position at a point in time T r that is before Max time. In the time from T r to Max time the mechanical brakes can be activated and hence no energy is consumed by the mechanical system during this time, which further reduces the total energy consumption .
  • the energy that is regenerated when the robot is decelerating at the end of the motion in for example figure 1 , is in most cases wasted as electric energy through a resistor (creating the equivalent amount of heat energy).
  • the energy-optimized solution has to consider this energy as well and minimize the wasted kinetic energy, in practice this will imply to reduce the speed , leading to the solution in figure 2.
  • the resulting maximum speed will therefore be a trade-off between minimizing the wasted kinetic energy and mi nimizing the friction losses.
  • the total reduction of energy can be computed by evaluati ng the optimization criterion for the time optimal trajectory and compare this with what is achieved in the energy optimal trajectory. The total reduction of energy is displayed .
  • Figure 4 shows an example of a prior art robot system incl uding a manipulator 8 havi ng a pl urality of arms that are movable relative each other about a plurality of axes and motors for actuating the movements of the axes, and a robot controller 9 for controlling the movements of the manipulator.
  • the robot controller 9 includes program storage 10 for storing one or more control programs defi ning work to be carried out by the robot during a work cycle, and a program interpreter 12 configured to execute the control program.
  • the robot controller 9 further includes a path planner that re- ceives the instructions from the program interpreter and on basis thereof determines how the manipulator should move in order to be able to execute the movement instructions.
  • the path planner generates a trajectory i ncluding a geometric path and a speed profile along the path .
  • the path planner comprises a geo- metric path planner 14 configured to plan a geometric path , i .e. the positions of the path , and a dynamic optimization planner 1 6 configured to plan the speed profile for the path with regard to minimizing the cycle time.
  • the dynamic optimization planner 1 6 uses algorithms that are based on a solution to an optimization problem that is defined as minimizing the cycle time with subject to customer constraints and robot constrai nts.
  • the controller 9 further comprises data storage 18, 19,20 storing a robot kinematic model , a robot dynamic model and a drive system model . From the control program a geometric path is created using the robot ki nematic model .
  • the dynamic optimization planner uses the geometric path to create a time optimal speed profile using a dynamic model of the robot and a model of the robot drive system.
  • the path planner further comprises a computing unit 21 configured to calculate reference values for the motors of the robot based on the determined path and speed profile.
  • the computing unit 21 carries out an interpolation the generated trajectory.
  • the interpolation includes dividing the trajectory into a plurality of small increments, and computi ng the joint angles for all axis of the robot for each increment.
  • the joint angels are then converted i nto reference values for the motors.
  • the drive system includes drive units that control the motors by converting DC current to a variable alternating current in dependence on the motors references.
  • Figure 5 shows an example of a robot system according to the invention .
  • a new additional condition is introduced to differentiate the trajectory generation in the traditional time optimized case from the new energy optimized case.
  • I n Figure 5 it is shown how the overall structure has to be modified in order to introduce the energy optimized trajectory generation in parallel with the present time optimized trajectory generation .
  • the program interpreter detects whether energy optimization is com- manded on or off.
  • the energy optimization is, for example, turned on by the command EnergyOptimizationOn and is turned off by the command EnergyOptimizationOff enclosed in the control program. Energy optimization can be turned on and off several times during a work cycle. If energy optimization is turned off, the time optimized trajectory generation 30 is carried out for the motion instructions.
  • the time optimized trajectory generation 30 determines time optimal movements for the robot and includes the steps of generating a geometric path based on a robot kinematic model and generating a time optimal speed profile based on a robot dynamic model and a drive system model .
  • I nput to the time optimization is a motion instruction .
  • the energy optimization is turned on the energy optimized trajectory generation 30 is started .
  • the energy optimization is carried out on the program instructions in between the EnergyOptimizationOn and the EnergyOptimizationOff instructions, also called a program block.
  • I nput to the energy optimization is a program block and a maximum time for carrying out the block.
  • the energy optimization is carried out based on all motion instructions in the program block and the maximum time for the block.
  • the energy optimal trajectory generation determines energy optimized movements for the robot and includes the steps of generating a geometric path based on the robot kinematic model and an energy optimal speed profile based on a robot system energy model , the robot dynamic model , and the drive system model .
  • the energy optimized movements for the robot is generated based on a maximum allowed time, such as maxMoveTime described above, for carrying out the movements, and robot and customary constrains.
  • a maximum allowed time such as maxMoveTime described above
  • an energy optimized geometric path is generated as well as an energy optimized speed profile.
  • the robot system comprises a time optimization module 30 configured to carry out the time optimized trajectory generation and an energy optimization module 32 configured to carry out the energy optimized trajectory generation .
  • the robot system comprises data storage 34 for storing the robot system energy model .
  • the robot system energy model is a model of the energy consumption of the robot system in dependence on the movements of the axes of the robot.
  • the robot system comprises a robot controller including a computing unit 21 configured to calculate reference values for the motors of the robot based on the determi ned movements.
  • the energy optimization can run at different levels in the robot system .
  • the time optimal trajectory generation and the energy optimal trajectory generation can be done off-line on an external computer during programming of the robot, or in the robot controller during programming of the robot or during execution of the control program. Irrespective of whether the energy optimization is done on the controller or on an external computer, the computing of motor references is always done on the robot controller.
  • level 1 i .e. off-line energy optimization
  • the energy optimization is done off-line at an external computer 40, for example duri ng off-line programming of the robot.
  • I nput at this level is a robot control program while the output is a new energy optimized control program incl uding energy optimized robot move instructions.
  • For program instructions which energy optimization is off no change is made to the program instructions.
  • energy optimization is carried out on the program instructions in between the EnergyOptimiza- tionOn and the EnergyOptimizationOff instruction, also called a program block.
  • Output from the energy optimization is an energy optimized program block.
  • the program block includes move instructions, and the energy optimized program block includes energy optimized program instructions.
  • the energy optimized program can have the same path geometry as the original program if case 1 of the energy optimization is used or a modified geometry if case 2 or a combination of case 1 and case 2 is used .
  • the control program is loaded to the robot controller.
  • the offline energy optimization module takes a robot program as input and makes an energy optimization of the part of the program where the energy optimization is activated .
  • Output from the energy optimization module is a new energy op- timized robot program or part of a program.
  • the path planner During execution of the energy optimized program in the robot controller, the path planner generates a motor references based on the movement instructions in the control program.
  • Figure 7 shows a robot controller 50 including an energy optimization that only optimizes the speed profile and not the geomet- ric path .
  • the robot move instructions of the control program specify the geometry of the robot motion while the speed profile is optimized to achieve minimal energy consumption .
  • the path planner includes a geometric path planner 14 that generates a geometric path based on the move instructions in the control program and a robot kinematic model .
  • the path planner also incl udes an energy optimization module 52 configured to generate an energy optimized speed profile based on the geometric path description, the robot dynamic model , the model of the drive system and the robot system energy model .
  • the path planner also incl udes a time optimization module 53 configured to generate a time optimized speed profile based on the robot dynamic model and the drive system model . If energy optimization is turned on the energy optimization module 52 is used for generating the speed profile and if energy optimization is turned off, the time optimization module is used for generating the speed profile.
  • Figure 8 shows a robot controller 54 incl uding a path planner 56 adapted to generate an energy optimized trajectory.
  • the generation of the energy optimized trajectory includes determining an energy optimized geometric path as well as an energy optimized speed profile. I n this case the geometry of the path is free to decide in the energy optimization .
  • the robot program provides the start and end robot configuration , next the energy trajectory optimization finds an energy optimal path and speed profile for the robot.
  • the optimization utilizes the robot kinematic model , the dynamic model , the drive system model , and finally the robot system energy model , to solve for the energy optimal trajectory.
  • case 1 and case 2 of the optimization principle can be described as in figure 7 and 8.
  • the geometry is still generated by the geometric path planner using the robot kinematic model while the time optimiza- tion is replaced by the energy optimization which utilizes the robot dynamic model , the drive system model and the robot sys- tem energy model .
  • the resulting motor reference is fed down to the drive system 22 as a reference for the motors of the robot manipulator 8.
  • figure 8 also the geometry is a free parameter for the energy optimization to decide.
  • the geometric path planner is now a part of the energy- optimization block 56 and input to this block is a robot program, output is a reference to the drive system.
  • the energy optimization utilizes in case 2, the robot kinematic model , the robot dynamic model , the drive system model , and finally the robot sys- tem energy model .
  • the energy model is a model of the energy consumption of the complete robot system; this includes the mechanical manipulator, the electric motors and the electric drive system . It could also take into account other resources in the system such as fans and processors that can be switched on and off or be controlled depending on the current status of the system.
  • Figure 9 a block diagram for the energy model is shown .
  • the model includes a mechanical model , an electric drive system model , a motor model , and a controller hardware model . Further, the model includes an environmental model , for example, the surroundi ng temperature can be measured and used as an input to calculations of the friction .
  • the mechanical model contains the robot dynamic model including friction model . However, the mechanical model in the energy model could have a more sophisticated friction model than the prior art mechanical models.
  • the electric drive system model and the motor model are extensions to the drive system model which could include the energy flow (reuse of energy) between motors at acceleration/deceleration .
  • An energy dissipation model is also included in the electric motor model , this model include friction in the motor but also the actual efficiency of the motor.
  • the controller hardware model is a model of the energy consumption in the controller hardware, such as fans, CPU- boards, etc. The detailed description will be divided in two sections. In the first section a simplified version of the problem is solved to introduce the concepts of the sol ution and to explain on what the solution relies. I n the second section the same problem is introduced and the solution is descri bed for a complete, realistic robot model .
  • Figure 10 shows a simplified robot with only one rotational joint and illustration of two domains, electrical and mechanical .
  • the use of an optional arm is also illustrated and with this option the example becomes the same as the motion of a robot (axis 3 of an articulated 6-DOF robot for example).
  • the friction can be described as
  • K p and K t are the current controller proportional and integral gains.
  • the current reference is simply the torque t com- puted from:
  • Input to the model is the joint acceleration ⁇ .
  • the joint speed and position can be computed from Qi by simple integration .
  • I n the energy model above no model of the controller hardware energy consumption is included .
  • the static torque level when the robot is standing still has a great impact on the energy consumption , since it appears in square. It is therefore evident that the position where the ro- bot stands still will be important for the total energy consumption .
  • By applying the brakes it is possible to reduce the wasted energy when the robot is standing still . This is why the mechani- cal model in the energy model above has two distinct cases, one when the joint is movi ng and one when the joint is standing still .
  • q(t) is parameterized so that acceleration is a free parameter in each interval
  • the discrete optimization problem is formulated with a number of constraints, for example on the torque, the joint speed , and the joint acceleration .
  • the motor model and the electric motor drive system are combined using the assumption that the current controller is significantly faster than the optimization time step.
  • the torque is given by the system equation in (1 ).
  • the constraints include maximum and minimum values on the torques and acceleration as well as boundary conditions on the angular posi- tion and angular velocity. The normal case would be that the angular speed is zero at the start time (t 0 ) and zero at the end time (t N ) but other values could also be included as well as constraints on the angular acceleration (start, end , and max/min values).
  • the delta time is assumed to be fixed to a sampling time ⁇ ( and the smaller this value the closer the solution comes to the true continuous optimum.
  • the optimization problem can be solved using a standard general non-linear optimization algorithm, see for example Jorge Nocedal and Stephen J . Wright. Numerical Optimization, Springer. Series in Operations Research , 1999, ISBN 0-387-98793-2, and R. Fletcher. Practical Methods of Optimization . 1987. ISBN 0-471 - 91547-5.
  • the brake is applied when the robot arm is standi ng still , since no torque is applied when
  • the motion of a robot with two or more degrees-of-freedom (DOF) robot is optimized with respect to the energy consumption .
  • the optimization can be made according to the cases described previously, i .e. ,
  • the energy optimization could be turned on and off by a signal from an external unit, such as a PLC.

Abstract

La présente invention se rapporte à un système de robot industriel comprenant un robot comprenant un manipulateur (8) comportant une pluralité de bras qui sont mobiles les uns par rapport aux autres autour d'une pluralité d'axes et des moteurs destinés à actionner les déplacements des axes, et un système de mémoire de programme (10) destiné à mémoriser un programme de commande définissant une tâche à réaliser par le robot au cours d'un cycle de travail. Le système comprend en outre : un système de mémoire de données (34) mémorisant un modèle pour la consommation d'énergie du robot en fonction des déplacements des axes de robot, et un module d'optimisation d'énergie (32) conçu pour déterminer, pendant au moins une partie du cycle de travail, les déplacements pour le manipulateur en vue de réduire à un minimum la consommation d'énergie du robot sur la base dudit programme de commande, ledit modèle pour la consommation d'énergie du robot, et un temps autorisé maximum pour réaliser la tâche durant ladite partie du cycle de travail, et une unité de calcul (21) conçue pour calculer des valeurs de référence pour les moteurs du robot sur la base des déplacements déterminés du robot.
PCT/EP2009/062961 2009-10-06 2009-10-06 Procédé de réduction de la consommation d'énergie d'un robot industriel et système de robot industriel WO2011042049A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/EP2009/062961 WO2011042049A1 (fr) 2009-10-06 2009-10-06 Procédé de réduction de la consommation d'énergie d'un robot industriel et système de robot industriel
CN201080045058.8A CN102666030B (zh) 2009-10-06 2010-09-20 用于减少工业机器人的能量消耗的方法和工业机器人系统
PCT/EP2010/063783 WO2011042293A1 (fr) 2009-10-06 2010-09-20 Procédé de diminution de la consommation énergétique d'un robot industriel et système robotique industriel
EP10754755.6A EP2485875B1 (fr) 2009-10-06 2010-09-20 Procédé de diminution de la consommation énergétique d'un robot industriel et système robotique industriel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2009/062961 WO2011042049A1 (fr) 2009-10-06 2009-10-06 Procédé de réduction de la consommation d'énergie d'un robot industriel et système de robot industriel

Publications (1)

Publication Number Publication Date
WO2011042049A1 true WO2011042049A1 (fr) 2011-04-14

Family

ID=42106087

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/EP2009/062961 WO2011042049A1 (fr) 2009-10-06 2009-10-06 Procédé de réduction de la consommation d'énergie d'un robot industriel et système de robot industriel
PCT/EP2010/063783 WO2011042293A1 (fr) 2009-10-06 2010-09-20 Procédé de diminution de la consommation énergétique d'un robot industriel et système robotique industriel

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/063783 WO2011042293A1 (fr) 2009-10-06 2010-09-20 Procédé de diminution de la consommation énergétique d'un robot industriel et système robotique industriel

Country Status (2)

Country Link
CN (1) CN102666030B (fr)
WO (2) WO2011042049A1 (fr)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103128748A (zh) * 2011-12-02 2013-06-05 库卡罗伯特有限公司 操纵器组和运行操纵器组的方法
DE102012003479A1 (de) * 2012-02-21 2013-08-22 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Ausführen eines Manipulatorprozesses
DE102013010463A1 (de) 2013-06-24 2014-03-27 Daimler Ag Verfahren zum Auswählen von Robotervarianten
WO2015024634A1 (fr) * 2013-08-20 2015-02-26 Kuka Roboter Gmbh Configuration énergétiquement optimale d'un manipulateur
EP3176661A1 (fr) * 2015-12-01 2017-06-07 Omron Corporation Appareil de génération de profil, procédé de commande pour appareil de génération de profil, programme de commande et support d'informations
CN107894789A (zh) * 2016-10-03 2018-04-10 欧姆龙株式会社 轨迹生成装置、轨迹生成装置的控制方法以及记录介质
GB2559357A (en) * 2017-02-01 2018-08-08 Jaguar Land Rover Ltd Control of machine movement
EP2969400B1 (fr) * 2013-03-11 2019-05-01 Siemens Aktiengesellschaft Réduction de la consommation d'énergie des robots industriels à l'aide de nouveaux procédés pour la programmation d'une trajectoire de mouvement
CN110421564A (zh) * 2019-08-06 2019-11-08 浙江大学 一种基于关节能耗评估的机器人工作单元布局优化方法
WO2021078765A1 (fr) * 2019-10-23 2021-04-29 Franka Emika Gmbh Modes d'optimisation de programmes de contrôle d'un bras manipulateur
CN115107035A (zh) * 2022-07-26 2022-09-27 珞石(北京)科技有限公司 一种机器人单关节人工免疫系统监控的混合控制方法
WO2022207075A1 (fr) * 2021-03-30 2022-10-06 Abb Schweiz Ag Procédé pour commander le déplacement d'un robot

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011079117B4 (de) 2011-07-14 2022-09-29 Kuka Deutschland Gmbh Verfahren zum Programmieren eines Roboters
DE102013216799A1 (de) * 2013-08-23 2015-02-26 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Betreiben eines technischen Systems sowie Verfahren zur Herstellung eines technischen Systems
DE102014202755A1 (de) 2014-02-14 2015-08-20 Carl Zeiss Smt Gmbh Verfahren zur Verlagerung mindestens eines optischen Bauelements
US9922144B2 (en) 2014-03-26 2018-03-20 Siemens Industry Software Ltd. Energy and cycle time efficiency based method for robot positioning
US9701011B2 (en) 2014-05-08 2017-07-11 Siemens Industry Software Ltd. Method for robotic energy saving tool search
US9469029B2 (en) 2014-07-31 2016-10-18 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by optimal ordering of the industrial robotic path
US9815201B2 (en) 2014-07-31 2017-11-14 Siemens Industry Software Limited Method and apparatus for industrial robotic energy saving optimization using fly-by
US9298863B2 (en) 2014-07-31 2016-03-29 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by using optimal robotic joint configurations
US9457469B2 (en) 2014-08-14 2016-10-04 Siemens Industry Software Ltd. Method and apparatus for automatic and efficient location generation for cooperative motion
CN104749956A (zh) * 2015-03-24 2015-07-01 北京理工大学 基于和声搜索算法的工业机器人结构优化方法
EP3562629B1 (fr) * 2016-12-27 2021-07-14 Siemens Industry Software Ltd. Procédé et système de détermination d'une séquence de chaînes cinématiques d'un robot multiple
CN108237535A (zh) * 2018-02-02 2018-07-03 广东工业大学 一种机械臂及其控制系统与方法
CN110666795B (zh) * 2019-09-29 2021-03-12 珠海格力智能装备有限公司 机器人的控制方法及装置、存储介质、处理器
CN113021334B (zh) * 2019-12-25 2022-09-30 广东省智能制造研究所 一种能量最优的机器人控制方法
CN111546379B (zh) * 2020-04-26 2021-07-13 西安交通大学 一种工业机器人运行状态监测的传感器布局方法
CN112231919A (zh) * 2020-10-20 2021-01-15 山东大学 一种机器人执行任务过程中的能量消耗预测方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408224B1 (en) * 1999-11-10 2002-06-18 National Aerospace Laboratory Of Science Technology Agency Rotary articulated robot and method of control thereof
WO2002074501A1 (fr) * 2001-03-20 2002-09-26 Abb Ab Procede d'optimisation thermique
EP1705541A2 (fr) * 2005-03-23 2006-09-27 Kawasaki Jukogyo Kabushiki Kaisha Contrôleur de robot et procédé de contrôle de robot
EP1857229A1 (fr) * 2006-05-16 2007-11-21 Abb Ab Système de commande pour un robot industriel
US20090076653A1 (en) * 2004-11-25 2009-03-19 Kuka Roboter Gmbh Method and device for adjusting and controlling manipulators
WO2009075053A1 (fr) * 2007-12-10 2009-06-18 Honda Motor Co., Ltd. Système générateur de trajet cible

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408224B1 (en) * 1999-11-10 2002-06-18 National Aerospace Laboratory Of Science Technology Agency Rotary articulated robot and method of control thereof
WO2002074501A1 (fr) * 2001-03-20 2002-09-26 Abb Ab Procede d'optimisation thermique
US20090076653A1 (en) * 2004-11-25 2009-03-19 Kuka Roboter Gmbh Method and device for adjusting and controlling manipulators
EP1705541A2 (fr) * 2005-03-23 2006-09-27 Kawasaki Jukogyo Kabushiki Kaisha Contrôleur de robot et procédé de contrôle de robot
EP1857229A1 (fr) * 2006-05-16 2007-11-21 Abb Ab Système de commande pour un robot industriel
WO2009075053A1 (fr) * 2007-12-10 2009-06-18 Honda Motor Co., Ltd. Système générateur de trajet cible
EP2157490A1 (fr) * 2007-12-10 2010-02-24 Honda Motor Co., Ltd. Système générateur de trajet cible

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HIRAKAWA A R ET AL: "Trajectory generation for redundant manipulators under optimization of consumed electrical energy", CONFERENCE RECORD OF THE 1996 IEEE INDUSTRY APPLICATIONS CONFERENCE - 31ST IAS ANNUAL MEETING, IEEE SERVICE CENTER, US LNKD- DOI:10.1109/IAS.1996.559286, vol. 3, 6 October 1996 (1996-10-06), pages 1626 - 1632, XP010201236, ISBN: 978-0-7803-3544-8 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103128748A (zh) * 2011-12-02 2013-06-05 库卡罗伯特有限公司 操纵器组和运行操纵器组的方法
US9321174B2 (en) 2011-12-02 2016-04-26 Kuka Roboter Gmbh Manipulator arrangement and method for operating the manipulator arrangement
US9102058B2 (en) 2012-02-21 2015-08-11 Kuka Roboter Gmbh Method and apparatus for implementing a manipulator process
DE102012003479A1 (de) * 2012-02-21 2013-08-22 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Ausführen eines Manipulatorprozesses
EP2969400B1 (fr) * 2013-03-11 2019-05-01 Siemens Aktiengesellschaft Réduction de la consommation d'énergie des robots industriels à l'aide de nouveaux procédés pour la programmation d'une trajectoire de mouvement
DE102013010463A1 (de) 2013-06-24 2014-03-27 Daimler Ag Verfahren zum Auswählen von Robotervarianten
WO2015024634A1 (fr) * 2013-08-20 2015-02-26 Kuka Roboter Gmbh Configuration énergétiquement optimale d'un manipulateur
CN105473289B (zh) * 2013-08-20 2018-07-17 库卡罗伯特有限公司 操纵器的能量优化配置
CN105473289A (zh) * 2013-08-20 2016-04-06 库卡罗伯特有限公司 操纵器的能量优化配置
EP3176661A1 (fr) * 2015-12-01 2017-06-07 Omron Corporation Appareil de génération de profil, procédé de commande pour appareil de génération de profil, programme de commande et support d'informations
JP2017102674A (ja) * 2015-12-01 2017-06-08 オムロン株式会社 軌跡生成装置、軌跡生成装置の制御方法、制御プログラム、および記録媒体
CN107894789A (zh) * 2016-10-03 2018-04-10 欧姆龙株式会社 轨迹生成装置、轨迹生成装置的控制方法以及记录介质
GB2559357A (en) * 2017-02-01 2018-08-08 Jaguar Land Rover Ltd Control of machine movement
GB2559357B (en) * 2017-02-01 2021-02-24 Jaguar Land Rover Ltd Control of machine movement
CN110421564A (zh) * 2019-08-06 2019-11-08 浙江大学 一种基于关节能耗评估的机器人工作单元布局优化方法
WO2021078765A1 (fr) * 2019-10-23 2021-04-29 Franka Emika Gmbh Modes d'optimisation de programmes de contrôle d'un bras manipulateur
WO2022207075A1 (fr) * 2021-03-30 2022-10-06 Abb Schweiz Ag Procédé pour commander le déplacement d'un robot
CN115107035A (zh) * 2022-07-26 2022-09-27 珞石(北京)科技有限公司 一种机器人单关节人工免疫系统监控的混合控制方法
CN115107035B (zh) * 2022-07-26 2023-01-06 珞石(北京)科技有限公司 一种机器人单关节人工免疫系统监控的混合控制方法

Also Published As

Publication number Publication date
CN102666030A (zh) 2012-09-12
CN102666030B (zh) 2015-03-25
WO2011042293A1 (fr) 2011-04-14

Similar Documents

Publication Publication Date Title
WO2011042049A1 (fr) Procédé de réduction de la consommation d'énergie d'un robot industriel et système de robot industriel
EP2485875B1 (fr) Procédé de diminution de la consommation énergétique d'un robot industriel et système robotique industriel
Fang et al. An approach for jerk-continuous trajectory generation of robotic manipulators with kinematical constraints
Constantinescu et al. Smooth and time‐optimal trajectory planning for industrial manipulators along specified paths
CN101901281B (zh) 消耗电力估计装置
Kröger et al. Literature survey: Trajectory generation in and control of robotic systems
Tan et al. Minimum time trajectory planner for the discrete dynamic robot model with dynamic constraints
EP3441201B1 (fr) Procédé de fonctionnement d'un robot et système robotique
Pastras et al. A theoretical investigation on the potential energy savings by optimization of the robotic motion profiles
JPS63141110A (ja) ロボットのデジタル制御装置
KR101721700B1 (ko) 매니퓰레이터용 제어 디바이스 및 방법
Berselli et al. Energy-optimal motions for Servo-Systems: A comparison of spline interpolants and performance indexes using a CAD-based approach
JP2018114607A (ja) ロボット制御装置、ロボットシステム、ロボット制御方法、プログラム、記録媒体及び物品の製造方法
Kroger et al. Towards on-line trajectory computation
Honegger et al. Model-based control of hydraulically actuated manipulators
Chuy et al. Sampling-based direct trajectory generation using the minimum time cost function
Baptista et al. Fuzzy predictive algorithms applied to real-time force control
De Schutter et al. Unified constraint-based task specification for complex sensor-based robot systems
Yang et al. Fast Algorithms for Near-Minimum-Time Control of Robot Manipulators: Communication
Gattringer et al. Extending continuous path trajectories to point-to-point trajectories by varying intermediate points
Zhang et al. A real-time robot control framework using ROS Control for 7-DoF light-weight robot
Pedel et al. Actuator constraints in optimal motion planning of manipulators
Vukcevic Lazy robot control by relaxation of motion and force constraints
Zhang et al. Construction of Control System on Kinematic Redundant Hybrid Parallel Mechanism for Micro-assembly
JP2024047541A (ja) トルク率制御及び振動抑制のための予測制御方法

Legal Events

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

Ref document number: 09744988

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09744988

Country of ref document: EP

Kind code of ref document: A1