Robot Control Overview: an Industrial Perspective

One key competence for robot manufacturers is robot control, defined as all the technologies needed to control the electromechanical system of an industrial robot. By means of modeling, identification, optimization , and model-based control it is possible to reduce robot cost, increase robot performance, and solve requirements from new automation concepts and new application processes. Model-based control, including kinematics error compensation, optimal servo reference-and feed-forward generation, and servo design, tuning, and scheduling, has meant a breakthrough for the use of robots in industry. Relying on this breakthrough, new automation concepts such as high performance multi robot collaboration and human robot collaboration can be introduced. Robot manufacturers can build robots with more compliant components and mechanical structures without loosing performance and robots can be used also in applications with very high performance requirements, e.g., in assembly, machining, and laser cutting. In the future it is expected that the importance of sensor control will increase, both with respect to sensors in the robot structure to increase the control performance of the robot itself and sensors outside the robot related to the applications and the automation systems. In this connection sensor fusion and learning functional-ities will be needed together with the robot control for easy and intuitive installation, programming, and maintenance of industrial robots.


Introduction
As in the case of "automatic control" there are many interpretations of what the boundaries are of the robot control field Sciavicco and Siciliano (2000).In its most limited interpretation robot control is the technology used in the servo loops controlling the robot joints.However, in the robotic industry robot control is usually defined as the technology needed to control the electromechanical systems of a robot.This paper will be based on the wider definition and beside joint control also include modeling, identification, design, trajectory planning, and learning.
Looking at the development of Industrial Robots, this has mainly been dictated by the automotive industries and their supply chains as dominating customers of industrial robots.This has made it necessary for the robot manufacturers to direct their R&D to obtain products with very high cost efficiency, reliability, and productivity.In order to obtain these basic requirements robot control has become a key technology.As for many other products the introduction of model-based control has meant a drastic increase in performance for industrial robots Björkman et al. (2008).The first robot manufacturer to implement model-based robot control was ABB Robotics and most of the content in this paper is based on the experience of the robot control development at ABB Robotics, including also research made at Linköping University and Lund University.
In the future the impact of the automotive industry on the robot development will be reduced and already today the robot market for press tending, car body assembly, painting, and coating is saturated.As a result the robot manufacturers have increased their development efforts towards other applications and customers.Usually it is then difficult to directly use the robot solutions developed for the automotive industry and therefore further development of the robot control is needed.This paper will mainly look at the customer-driven robot control development but at first a short summary of the model-based robot control technology will be given since this technology has meant a breakthrough for the use of industrial robots.The rest of the paper will deal with important development aspects of robot control as driven by cost, automation technology, and application processes.At the end of the paper some scenarios about future robot control development are discussed.

Model-Based Control
The importance of model-based control will be illustrated by an example from the automotive industry.In a car body assembly line hundreds of short movements of heavy spot welding guns must be made by the robots for every car.These short movements must not only be fast but also close to the car body and be stopped without any overshoots.The first solution that the robot manufacturers came up with was to reduce the bandwidth of the servo references to avoid the excitation of the mechanical resonances of the robot during the movements.This approach gave slow movements since much of the acceleration capabilities of the robots were never used because of low levels of the acceleration derivative.The spot welding movement times could be reduced up to a factor of 3 by introducing model-based control, where the dynamic robot model controls the trajectory generator, the feed-forward algorithms, and the joint servos, see Fig. 1.This breakthrough had a big impact on the automotive industry that could increase its productivity significantly using the same number of robots.
Besides shortening the motion time without generating overshoots, the model-based control also gave large reduction of the tracking error, see Fig. 2.This meant that robots could be more widely used also in very demanding applications such as water jet cutting, laser cutting, gluing, dispensing, and deburring, where accurate contour tracking at high speed is necessary.But also in other applications as material handling, palletizing, pick&place, machine tending, arc welding, and painting it was found that the model-based control had a big impact.For example, without model-based control the ABB parallel kinematics robot FlexPicker would never obtain its very high motion performance.
In order to implement high performance modelbased robot control, it is necessary to run complex models in real time in the robot controller.The challenge here is to obtain a model reduction that gives an optimal balance between model accuracy and real time requirements.Starting with an algebraic complete model of the kinematics and dynamics of the robot, different formula manipulation tools can be used for model reduction.In order to verify the accuracy of the reduced models before a robot prototype is available, robot control performance comparisons can be made by simulations with the complete and the reduced models.When a robot prototype is available system identification will give the necessary assessment of the models, see Fig. 3. Since the robot system is multivariable, non linear, resonant, and unstable, the identification is a challenging task Wernholt (2007).Moreover, the disturbances are not only of the standard statistic nature but consist also of speed-dependent determinstic motor-and sensor ripple.All these difficulties when generating robot models for a large population of robots, make it necessary for the robot manufacturers to develop efficient methods and tools for the generation, reduction, implementation, verification, identification, and debugging of robot models, see Fig. 4. One important task for the dynamic models is to support the calculations of the reference-and feedforward signals to the servo loops.The servo reference calculations are made by optimizing the speed, acceleration, and acceleration derivative of the robot under the constraints given by the dynamic model and the programmed robot task specifications.The feed-forward algorithms calculate the motor positions, speeds, and torques needed in order to obtain the movements ordered for the tool, which is dynamically separated from the motor shafts by compliant arm structures, compliant bearings, and compliant gears with hysteresis, friction, and non linear stiffness Moberg (2008).
Dynamic models are also needed in order to increase the static accuracy of robots.It is then the elastostatic part of the dynamic model that is used together with the kinematics model to perform geometric error compensation.Because of the variations of the parameters of these models between robot individuals, it is necessary to identify the parameters for each robot.Identification is made by measurements of the robot wrist flange position with high precision at a redundant number of robot configurations Leica Geosystems (2008).
A best fit is then made between the measurement data and the programmed robot positions in order to obtain the kinematics and elastic parameters.
Other applications for the dynamic robot models are collision detection, load identification, fault detection, and diagnosis, see Fig. 5. Important for the implementation of the model-based functionalities is the software architecture.This must be implemented in such a way that it is possible to easily implement models for different types of robots, control concepts, and motion control functions.Examples of motion control functions that must work efficiently using the model-based control kernel are conveyor tracking, sensor-based searching and tracking, force control, iterative learning control, multi robot control, coordinated process control, and visual servoing.
Model information is also needed for the design and the gain scheduling of the servo loops.Since only motor shaft angles are measured it is not possible to make use of full state feedback control and in its simplest form the servo performs joint PID control of the measured motor shaft angle and its derivative.More elaborated servo loops can be implemented using design based on for example LQG, QFT, H ∞ or Sliding mode.The challenge is to obtain a high stiffness joint regulator, which means that the arm position control must have as low sensitivity as possible to torque disturbances both from the motor and from the arm system Moberg et al. (2008).
The robot models implemented for the robot control can also be used for model-based robot design Pettersson (2008).This means that during the iterative design process the kinematics and dynamic robot models are the base for the optimization of the robot performance with the constraints set by application specifications and cost limitations.Using the same models for robot design and robot control has the advantage that the robot control software can be used to evaluate the control performance of a robot before the robot prototype is manufactured and by this be part of the robot design activities.
3 Cost/Performance-Driven Robot Control Development The high cost pressure on industrial robots forces the robot manufacturers to find more cost effective robot components, which results in robots with larger variations in static and dynamic model parameters, increasing noise-and disturbance levels, larger number of mechanical vibration modes, lower mechanical eigenfrequencies, and larger non-linearities.In order to keep and even increase the robot performance in spite of this cost-driven development of the robots, the size of the robot models must grow and more complex multivariable control must be introduced Brogårdh (2007).
Up to now the implemented model-based control has been possible to refine such that the requirements have been fulfilled.However, for high performance applications some type of model parameter adaptation is sometimes needed in order to cope with the increas- ing uncertainty of the model parameters.Today this can be made for the tool load parameters, the friction model parameters, and the kinematics model parameters.The parameters can also be updated at intervals when the robot performs its tasks, for example to compensate for temperature drift of the kinematics model parameters.
Off-line programming tools are very important in order to reduce the cost for installing and programming robots.In these tools trajectories are optimized for shortest possible robot movement times using CAD environment.The optimization needs to consider collisions, joint working ranges, singularities, and robot dynamics.When the optimized program is then downloaded to the controller it is very important that the controller performs the movements exactly in the same way as in the programming tool, which is especially difficult with respect to singularities, robot configuration control, trajectory interpolation, and servo reference calculations.The most accurate solution to this problem is to run the same motion control software in the off-line software as in the robot controller RobotStudio (2009), see Fig. 7. To implement this solution it is very important to have an accurate administration of the software version in such a way that every controller update of robot models and robot control algorithms is also made in the off-line programming tool.Sometimes off-line programming is not a realistic op-tion to reduce programming cost since there are no CAD models available or since there are no resources to perform the off-line programming and the robot cell calibration.The need of other methods to reduce the programming time is then needed, especially for objects with complex geometries as often is the case for grinding, deburring, deflashing, polishing, and milling Bao et al. (2009) and Blomdell et al. (2005).One possibility here is to use robot impedance control for intuitive fast programming by direct interaction with the tool, sometimes called lead through programming SMErobot (2009), see Fig. 6.In order to obtain an efficient interaction between the programmer and the robot it is necessary to use a 6 DOF (Degrees Of Freedom) force/torque sensor ATI et al. (2009) mounted between the tool and the wrist flange of the robot.For fast and distinct robot responses to human interaction, impedance control must have as high bandwidth as possible and simultaneously be stable also when the tool is in contact with the work objects during programming.In order to achieve this, the impedance control must be efficiently integrated with the modelbased control of the robot.
Even if the reliability of robots is very high today, robot users have an increasing interest in fault detection, fault isolation, and diagnosis to save money by fast recoveries from production stops and by optimal asset management.This requires models in order to implement residuals, observers, and identification algorithms Östring (2002).The real time dynamic robot models used for the motion control of the robot can be used also for these algorithms.In the case of diagnosis when trends in critical parameters must be identified, the degree of model excitation that is obtained during normal robot program execution will often be too low.It will then be necessary to run special movements at certain time intervals, which will of course reduce the productivity of the robot installations.These special movements will also require an extra programming effort and there must be a free work space available to perform the movements.Beside inadequate excitation there is also the problem that model parameters may have large variations also when there are no faults, for example because of variations in temperature and arm loads.It is therefore important not only to supervise single identified parameters but also relations between dynamic parameters and for example calculated joint torques or power levels of the motors and speed reducers if these relations cannot be built into the models used in the diagnostic algorithms.
Besides an optimal robot control it is also very important to have an optimal design of the robot itself to minimize the cost of the robot.To make this possible the robot design can be made using the kinematics and Figure 6: Lead through programming of cutting of a steel casting (using an oxy-fuel burner).The operator makes use of both hands to control the position and orientation of the tool while speech communication is used to define the robot tasks.A 6 DOF force/torque sensor between the tool and the robot wrist is included in a feedback loop to control the tool to move according to the intentions of the operator.The wheel contains distributed safety switches making it possible for the operator to have access to the safety system from all directions.
dynamic models used in the controller as well as using the rest of the motion control software.The drive line including gear boxes, motors, drive units, and rectifiers constitutes the major cost of a robot and therefore it is critical for the design to find the most cost effective set up of the drive line Pettersson (2008).Usually the robot design is made iteratively starting with the kinematics design to obtain the specified robot work space, then proceeding with the rigid multi-body dynamics design to find the joint torque and power requirements and as a last step to perform the flexible multi-body dynamics design to make sure that the mechanical bandwidth of the robot is high enough with respect to the servo performance requirements.In order to minimize the cost of the drive line with the constraints given by the multi-body dynamics, a drive line model is integrated into the dynamic models.The same drive line

Robot Control Development Driven by Automation Technology
Robots are important components in automation systems and new solutions on the system level often result in new requirements on the robot control.Sometimes new automation concepts ask for big changes in the design of the robot control, as for example in the case of automation concepts based on collaborating robots Bredin (2005).This concept has been introduced by industry to increase the flexibility when setting up and modifying manufacturing lines and to increase the productivity by more efficient robot task execution.An advanced set up may consist of 2 or more robots working in parallel on a work object held by another robot, see Fig. 8. Examples of applications are arc welding and spot welding.The main challenges for the robot control are found in the architecture of the motion control software, which must be able to generate servo references to the different robots with exact timing, perform smooth and fast transitions between coordinated robot motions and independent robot motions and make failure recovery possible without collisions between the collaborating robots.Since collaborating robots have serially connected kinematics chains, errors in the servo loops and in the robot models will give bigger pose deviations between the tool and the work object than in single robot installations.Therefore collaborative robotics requires higher accuracy of servo loops, servo references, feed-forward calculations, dynamic models, and kinematics models.Another example where robot automation concepts drive the robot control development is the use of robot installations with increased safety levels, SafeMove (2008).One motivation for this development is the possibility to replace electrical and mechanical working range limiting components with safe software limits, which makes it possible to more accurate adapt a safe robot workspace to its environment.In this way smaller robot cells can be implemented and the installation of the robots can be cheaper and more flexible.Another motivation for safe control is to make human robot collaboration possible also at normal robot task The gripper is here placed on a long beam to be able to reach the objects everywhere in the deep bin without collisions with the bin walls and without getting too close to singularities.
execution, which will further increase the flexibility of robot automation.In order to obtain safe control residuals must be generated to supervise for example the robot task specifications, the interpolated trajectories, the servo references, and the measured joint positions.
To make this possible an independent robot control implementation must run in parallel with the basic control software in a redundant computer communicating with the robot controller using safe communication channels.To avoid too high cost for the parallel redundant computations, further reduction of the dynamic models must be made and the servo reference generation and the feed-forward control must be be replaced by less accurate control concepts.However, the lower the performance is of the redundant robot control, the larger residual values must be accepted before alarm is executed.It is also important to be able to supervise the safety functionality to guarantee that it works when an emergency situation comes up.One example of such supervision is testing of the mechanical brakes of the robots.Using a friction model for the brakes, the brake status can be identified if the robot joints are controlled when the brakes are engaged.Because of variations in position, orientation, and size of objects to be processed by a robot, sensors are used in many robot installations.In some of these situations the sensors order changes of the already planned robot trajectory, which implies that the model-based servo reference generator must be able to make immediate dynamically allowed adjustments of the servo reference.Examples of cases where this type of time critical sensor-controlled motion corrections are needed are contour tracking for arc welding and robot trajectory compensation for conveyor movements.In these cases the orders from the sensors arrive when the optimal servo references have already been calculated.
One common problem for robot automation is to feed the robot with components.In applications where the components are separated and placed on pallets or on conveyors, cameras can easily be used to instruct the robot where to fetch the components.However, often the components are delivered in bins and sorting and placing them on pallets or conveyors mean a lot of manual work or expensive equipment.Therefore there is a big interest from industry to have robots performing bin picking of components randomly placed in many layers Braintech (2008), Watanabe et al. (2005), see Fig. 9.The solution to this problem is of course mainly given by an intelligent vision system but there are also some tricky problems to solve for the robot control since all robot movements are random as ordered by the vision system.This means that the ordered movements may pass or end up in singularities, may need the transition to a new configuration of the robot arms or the robot wrist, may be outside the working range of a robot joint, or may give a collision with for example the walls of the bin.To handle the collision problem geometrical models of the robot and its environment must be run in real time together with algorithms for collision avoidance.To handle singularities, functionality for singularity avoidance by tool orientation adjustments can be used and robot configuration changes can be handled by automatic analysis of predicted robot configurations before trajectory generation.

Application-Driven Robot Control Development
As mentioned in the introduction, the market for the present automotive industry robot applications is saturated and the robot manufacturers make development towards other applications.Some of these applications need substantial robot control development.One example in this respect is the use of robots for the assem-bly of drive train components for vehicles, which is difficult because of small tolerances causing objects to get stuck in each other during the assembly process.The use of 6 DOF (Degrees Of Freedom) force/torque sensors ATI et al. ( 2009) together with admittance control of the robot has proved that robots can perform difficult assembly tasks even faster and with lower mating forces than at manual assembly Zhang et al. (2004), see Fig. 10.Important for the success is beside high bandwidth sensor loop also the movement pattern during the assembly process.Since changes in motion directions must be made with minimum delay time after an interaction force is detected, it is important that control strategies are executed at high bandwidth and at high sampling frequency.
Figure 10: Example of installation using force controlled assembly of a torque converter.
An increasing number of robots are used in mechanical machining applications, especially for not too hard materials as plastics and aluminium.Examples of processes are grinding, deburring, and polishing while drilling and milling is less common because of the higher requirements on manipulator stiffness, bandwidth, and accuracy.The reasons for using robots in machining applications are lower cost and higher flexibility in comparison with CNC machines.Machining often requires accurate control of the tool forces and therefore force control using 6 DOF force sensors is useful also for this application, even if the control strategies are quite different from those in assembly, see Fig. 11.Besides using the force control loop for the control of the force perpendicular to the trajectory there are also cases when the measured force in the direction of the trajectory is used to control the robot speed.
Figure 11: Example of installation using force controlled grinding of a turbine blade.
Another example of an application that has asked for more development of the robot control is laser cutting.As for mechanical machining the main reason for using robots for laser cutting is lower cost and higher flexibility than for CNC machines.An interesting development of robotic laser cutting was initiated by the transition from welded to hydro-formed beams in the frames of vehicles in the US.This transition meant that it was no longer possible to make holes in the frames by punching, and the US car manufacturers had to introduce laser cutting in their manufacturing lines.To avoid investment in expensive large Cartesian manipulators, the car manufacturers asked for high precision robot laser cutting and it was found that this was possible to do using Iterative Learning Control Norrlöf (2000) together with the model-based control, see Figs. 12 and 13.The learning was made both with respect to dynamic model parameters and measured path.Errors compensated for by the learning were friction induced path deviations and path deviations caused by model-errors both with respect to kinematics and dynamics.

Possible future Directions of Robot Control Development
Looking into the future of robot control, the cost pressure on robots will for sure proceed, new automation concepts will be needed and robots will be used in new applications Brogårdh (2007).What will happen in a longer perspective is of course difficult to know but some predictions may be possible to give by studying different industry segments.Starting with the automotive industry, most of the final assembly is made manually today.Introducing more robots for final assembly will require more advanced sensor control, especially with respect to force and vision.In order to cope with the required high productivity level both the force-based and vision-based control need to have easily programmable application-dependent control concepts running with short response time, which means the integration of intelligence close to force control and visual servo loops Nilsson and Johansson (1999).The robot control must also include learning capabilities which make it possible for an operator to intuitively teach the robot how to tackle different assembly problems.This teaching could be made by showing the robot by physical interaction in a lead through programming style, compare Fig. 6.In order to save and retrieve the learned actions for different error cases some type of action database is needed.When developing such intelligence for efficient robot human collaboration it is important to have a realistic balance between the responsibilities of human and robot.For example, human should have the responsibility for solving seldom occurring problems that will be too difficult to solve with sensor-based control.
Other applications where the robot automation concepts of today are not suitable can be found for example in manufacturing of steel-and iron castings, for meat processing, product recycling, and furniture manufacturing.In these cases the robot automation of today cannot handle such problems as small lot sizes, big variations in product geometries, lack of infrastructure for robot automation and limited economical investment resources.In order to obtain much lower life cycle cost for these types of robot installations, easy to use tools and methods for planning, installation, configuration, calibration, relocation, and maintenance of robot systems will be needed SMErobot (2009).The role of robot control here is to integrate sensor control, learning capabilities and safe human robot collaboration concepts.For these concepts high performance force control is one important ingredient.As described earlier a 6 DOF force/torque sensor is then mounted between the tool and the robot.When the tool is fixed in the cell and the robot holds the object it can be an advantageous solution to have one force/torque sensor between the tool and its mounting plate to control the contact forces and another force/torque sensor between the operator and the robot to control the movement of the robot.This means the use of two impedance control loops, for which the transitions between no contact and contact becomes critical.It should here also be mentioned that force/torque sensors are too expensive today for a broader use of lead through programming and therefore new force sensor concepts are needed SMErobot (2009).It should also be mentioned that because of the present safety standard the direct interaction with the robot during programming in the manual robot control mode can only be made when one hand is used to activate a 3-position safety switch.The use of redundant sensors, as for example accelerometers and joint torque sensors, could be one solution for Figure 14: Photos from tests of using a capacitive encoder integrated in a robot joint to accurately measure the joint angle on the low speed side of the gear box.In this way the repeatability could be improved a factor of 7 and the control robustness a factor of 2.
hands free programming.The dynamic models of the motion control can then be used to form residuals for safe redundant supervision of the movements of the robot and the tool.
Looking further into the foundry industry segment, robots are today used in aluminum foundries for material handling, cleaning, and deburring.However, there is a big interest in the foundry industries to have robots also for fettling of steel and iron Lauwers et al. (2004) and for pre-machining processes as cutting, milling, and drilling of aluminium in order to reduce processing time in expensive CNC machines.The hurdle is the relatively low stiffness of industrial robots.To tackle this problem, one solution is to compensate for the compliance of the robot by adding a servo reference offset, calculated by means of the flexible multibody dynamic model with measured tool force as an input Zhang et al. (2005).However, this compensation loop will have a relatively low bandwidth for larger robots, which will motivate to use also other sensor arrangements.Thus, it is possible to increase robot control stiffness by the use of encoders on the arm side of the gear boxes, torque sensors on the outgoing gear box shafts, and accelerometers on the robot structure Brogårdh (2008).The kinematics-and dynamic models can then be used for sensor fusion making it possible to increase the control stiffness, the positioning repeatability, the volumetric accuracy, and the con-trol robustness.The same sensors can also be used to increase the safety level at redundant control and to increase the performance of fault detection, fault isolation and diagnosis.The obvious disadvantage of sensor fusion is of course the higher robot cost.One possible future solution for high precision arm angle measurements is the use of cost efficient capacitive encoders, see Fig. 14.Adding extra electrodes to these encoders will make it possible to measure also the tilting angles of the joints, which can be used to control bearing flexibilities in multivariable feedback loops including also the kinematics of the robot.For further performance improvement Iterative Learning Control (ILC) could be used as earlier discussed for the application laser cutting.ILC should for machining applications be performed from measurements of the tool position and orientation during machining.As an alternative the ILC could be based on results from 3D measurements of the machined parts.
In the aerospace industry there is need of machining of very large components, which is made manually or by huge very expensive Cartesian robots today.Industrial robots are also introduced Wilson (1994), KUKA Systems Group (2009) and to reach the large objects the robots are placed on linear tracks, which are floor mounted or hanging on large frameworks.Since the accuracy requirements are very high, expensive and difficult to use equipment is added to the tool in or- Tau robot where a traditional wrist must be mounted on the manipulated platform when tool orientation is controlled.
der to compensate for the lacking robot stiffness and expensive optical systems are needed to calibrate and supervise the robot including the linear tracks.The situation could be improved using the capacitive encoder concept discussed for the pre-machining application.What will also be needed is model-compensation for the geometrical errors and the compliance of the linear track which carries the robot.The compliance compensation requires that a dynamic model of the linear track is connected to the dynamic model of the robot.The combination of robots and linear tracks is getting more and more usual and when the tracks are mounted on frameworks, position-dependent compliance of the tracks is not the only problem but also low resonance frequencies of the framework carrying the tracks.A simple solution to the resonance problem is input shaping but this will increase movement times.What is needed is model-based control with model parameters obtained by means of fast and easy to use identification of the added framework dynamics.This must be made when the robot has been installed and the excitation should be made by means of movements of the robot joints and the track carriage.Sometimes the robot can also be mounted on a 2-or 3 axes Cartesian manipulator and then the dynamic model of this manipulator including its support structure must be identified.A completely different approach to build robot automation for high performance processing of large structures is to use parallel kinematics.A breakthrough in this respect is the so called Gantry Tau robot, which can be built to cover large areas at high performance and at lower cost than for a traditional Gantry robot Brogårdh and Hovland (2008), see Figs. 15 and 16.The challenges for the robot control using this type of robots are mainly related to the identification of the kinemat- ics and dynamic model parameters of the framework and the linear actuators as already mentioned.Systems with 6-axes robots on tracks are redundant and there is infinite number of trajectories that can be used when moving a tool from one position to another.Therefore it is necessary to find easy ways for the offor on line programmers to define trajectories that best implement the purpose of the application.Optimization can always be used to find the closest, most energy efficient, fastest etc. trajectory but this might not give the best trajectory for the application.Therefore easy to understand programming parameters are needed to tune trajectories for redundant robot systems.This problem is even more difficult when extra joints are integrated into anthropomorphic 6-axes robots, for example the addition of only one joint may in this case result in up to 16 singularities and a corresponding number of robot configurations to be handled.
In the same way as robot control development is needed for processing of very large work objects, development will also be needed for processing, handling, and assembly of very small work objects like mobile phones, cameras, and toys.Scaling down speed reducers, motors, and encoders and still reaching the required acceleration-, speed-, accuracy, and stiffness performance is very difficult.At a small drive system scale the robot control needs to have a higher degree of compensation of compliance, friction, and disturbances from gears, motors, and encoders.The gears are critical and and the most weight efficient concept is then the Harmonic Drive gear.However, this gear has low stiffness and sensors for joint torque feedback may be needed Hirzinger et al. (2001).To get around the scaling problem parallel kinematics can be used.Then the motors, speed reducers, and encoders are mounted on a fixed robot platform and can be made as big as needed for the performance requirements Asyril (2009).

Conclusions
The examples given in this paper show that robot control and then especially model-based robot control is a fundamental element in the development of industrial robotics.Thus, robot control development has made it possible to improve the quality of robot-based manufacturing and increase the productivity of robot automation.At the same time the robot control development has made it possible for the robot manufacturers to reduce the cost of the robots and introduce robots in applications with high requirements on motion performance.Without the efforts made to refine the robot control, there would not be 1 million robots working in industries world-wide today.
In order to increase the use of industrial robots, further robot control development is needed, especially with respect to sensor-based control.This is necessary both for higher robot performance, for lower robot cost, and for the automation of new applications.Sensors will also make it possible to improve the prerequisites for safe human robot interaction and increase the reliability of fault detection, fault isolation, and diagnosis of robots and robot installations.With more sensors and higher robot safety, intuitive interactive robot programming, and calibration may be important for manufacturing of products in small lot-sizes.In this perspective the robot control may need more general learning features and also be connected to databases capturing installation-and programming experience.To reduce the robot dependence on the dynamics of tools and mounting platforms, more installation specific identification and tuning of dynamic models may also be needed.
When new technology and new solutions are introduced, a lot of unforeseen problems will be found which will generate ideas about new robot control solutions.It is then important to have a close collaboration between researchers, product developers, automation system builders, and robot users.Even if the main concepts in automatic control are valuable for the robot control development, often innovations solving problems encountered during industrialization are the keys to make more general control concepts useful.These innovations require a deep understanding from both researchers and product developers about the applica-tion problems, which usually can be obtained only if the real problems are studied in a manufacturing environment.Robot control is a technology that will have a big impact also on future robot products and automation systems if it is developed with full knowledge of new applications, industry segments, robot products, robotics research, enabling technology, and automatic control.

Figure 1 :
Figure 1: Registrations of speed as function of time for a 100 mm spot welding movement, at first in positive and then in negative direction.To the left a robot without model-based control and where the servo references have been filtered to avoid exciting mechanical resonances of the robot.To the right with the ABB model-based control as used at customer tests in 1994.Model-based control reduces the cycle time (a factor of 3 in this case), increases the max speed (from 330 to 840 mm/sec here) and reduces the settling time.

Figure 2 :
Figure 2: Registrations of robot paths at different speeds with (to the right) and without model-based control.The registrations were made in 1994 when ABB introduced the S4 controller with full model-based control (marketed as QuickMove and TrueMove).The model-based control in this case reduced the maximum path errors with a factor of 15.

Figure 3 :
Figure 3: Multivariable Frequency Response Functions (FRF) for a modern industrial robot, describing the dynamics between motor torques and motor accelerations.A dynamic model with 12 spring-damper pairs has been globally matched to the experimentally obtained FRF:s measured at several robot configurations to obtain a global dynamic model.The noisy (black) line is the measured FRF and the other (blue) line is the FRF obtained from the identified model.The shaded (gray) regions represent one standard deviation for the FRF.

Figure 4 :
Figure 4: The dynamic-and kinematics models needed for model-based control must be developed and maintained for the whole robot family of ABB.

Figure 5 :
Figure 5: Collision force between robot tool and work object with model-based collision supervision to the right and collision supervision based on control errors without the use of dynamic models to the left.

Figure 7 :
Figure 7: In complex robot installations, for example in the case of collaborating robots as in this figure, it is necessary to make use of accurate off-line programming software using the same robot control software as in the installation.

Figure 8 :
Figure 8: Four collaborating robots controlled according to the ABB MultiMove concept.One robot handles the work object while the 3 other robots simultaneously (and coordinated) perform different processes on the work object.

Figure 9 :
Figure 9: Example of test installation for bin-picking.The gripper is here placed on a long beam to be able to reach the objects everywhere in the deep bin without collisions with the bin walls and without getting too close to singularities.

Figure 12 :
Figure 12: Iterative Learning Control (ILC) for lasercutting of rectangular holes.The maximum path error as a function of the number of iterations at 4 different tuning levels L of the ILC.

Figure 13 :
Figure 13: Iterative Learning Control (ILC) for lasercutting of rectangular holes.The obtained path after ILC has been performed (numbers in mm).

Figure 15 :
Figure 15: A 3 DOF implementation of the GantryTau robot where a traditional wrist must be mounted on the manipulated platform when tool orientation is controlled.

Figure 16 :
Figure 16: Another implementation of the Gantry Tau with 5 DOF parallel control of the manipulated platform.In this version the links are also arranged in such a way that it is possible to reconfigure the robot to work in both right and left direction.