Jianwei Zhang zhang@informatik.uni-hamburg.de Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Technische Aspekte Multimodaler Systeme 14. June 2013 J. Zhang 1
Robot Control Universität Hamburg Outline Robot Control Introduction Classification of Robot Arm controllers Joint Controllers of PUMA-Robots Internal Sensors of Robots Control system of a robot Linear Control for Trajectory Tracking Model-Based Control for Trajectory Tracking Control in Cartesian Space Hybrid Control of Force and Position J. Zhang 2
Robot Control - Introduction Some definitions A controller: influences independently one or multiple physical values to meet a control variable in order to reduce disturbances. Within a control circuit, the reference value is compared to the actual value. The controller tries to minimize the control deviation. J. Zhang 3
Robot Control - Introduction Some definitions A System: is a physical or technical construct, that transforms an input signal (stimulus) into a different signal, the output signal (response) Symbolically a system can be illustrated as a block with marked signals, where the direction of the effect of signals is expressed with arrows. J. Zhang 4
Robot Control - Introduction Input- and Output-values input- and output-values change with time and are expressed as functions of time u(t) and v(t) (dynamic system). real-world dynamic technical systems principally have an infinite number of possible input- and output-values the desired application decides, which of those values are relevant for the description of the dynamic system behavior J. Zhang 5
Robot Control - Introduction Control Task Given: a dynamic system (controlled system) values to be influenced influence to the whole system (input-, control-value) measurable value system-monitoring, -analysis (output-, controlled-variables) control task control-values should be kept constant or should follow a reference value influence of disturbance values should be minimized controller design a controller has to be implemented, that uses the measurement values and chooses the control values the way, that the controlled system (controlled-variables) fulfills its task. J. Zhang 6
Universität Hamburg Robot Control - Introduction Development of Control Engineering - Timeline 1788 J. Watt: engine speed governor 1877 J. Routh: differential equation for the description of control processes 1885 A. Hurwitz: stability studies 1932 A. Nyquist: frequency response analysis 1940 W. Oppelt: frequency response analysis, Control Engineering becomes an independent discipline 1945 H. Bode discipline new methods for frequency response analysis 1950 N. Wiener statistical methods 1956 L. Pontrjagin: optimal control theory, maximum principle 1957 R. Bellmann: dynamic programming J. Zhang 7
Robot Control - Introduction Development of Control Engineering - Timeline 1960 direct digital control 1965 L. Zadeh Fuzzy-Logic 1972 Microcomputer use 1975 Control systems for automation 1980 digital device technology 1985 Fuzzy-controller for industrial use 1995 artificial neuronal networks for industrial use J. Zhang 8
Robot Control - Classification of Robot Arm controllers Classification of Robot Arm controllers As a problem of trajectory-tracking: control in joint-space: PID, plus model-based. control in Cartesian-space: joint-based, using kinematics or using inverse Jacobian calculation. Adaptive Control: model-based adaptive control, self-tuning. controller properties (structure and parameters) adapt to the time-invariant or unknown system-behavior the basic control circle is superimposed by an adaptive system the process of adaption consists of three phases: identification, decision-process and modification Hybrid control of force and position: (current research topic) J. Zhang 9
Robot Control - Classification of Robot Arm controllers Architecture of the Control-System of PUMA-Robots - I the whole system is structured as a two-level hierarchy: the DEC LSI-11 sends new joint position values each 28 ms to the controller interface the distance to the actual value is divided equally into 32 (possible also 2 3 = 8, 2 4 = 16, 2 6 = 64,... ) increments and sent to the joint controllers. J. Zhang 10
Robot Control - Joint Controllers of PUMA-Robots Joint Controllers of PUMA-Robots The joint control loop operates in a 0.875 ms cycle. encoders are used as position sensors potentiometer are used for rough estimation of position (only PUMA-560) no dedicated speedometer, joint velocity is calculate evaluating the difference of joint positions over time. J. Zhang 11
Robot Control - Joint Controllers of PUMA-Robots Optical Incremental Encoders An optical encoder reads the lines The disc is mounted at the shaft of the joint motor. (ratio 1:1 for the PUMA-robot. Considering the transmission the accuracy is 0.0001 Rad/Bit) one special line is marked as the zero-position J. Zhang 12
Robot Control - Internal Sensors of Robots Internal Sensors of Robots These sensors are placed inside of the robot and monitor the internal state of the robot, e.g. the current position and velocity of each joint. position measurement systems: potentiometers, incremental encoders, absolute encoder, resolver,... velocity measurement systems: To monitor the velocity at rotary joints, speedometers are used. In addition to that, velocity can be indirectly deduced from position information J. Zhang 13
Robot Control - Internal Sensors of Robots Working principle of an optical absolute encoder J. Zhang 14
Robot Control - Internal Sensors of Robots Working principle of a resolvers ASM Robotik J. Zhang 15
Robot Control - Internal Sensors of Robots Sensors: Classification Hierarchy J. Zhang 16
Robot Control - Control system of a robot Control system of a robot J. Zhang 17
Robot Control - Control system of a robot Control system of a robot Target Values: Θ d (t), Θ d (t), Θ d (t). Magnitude of error: E = Θ d Θ, Ė = Θ d Θ Outpot value: Θ(t), Θ(t). Control Value: τ. J. Zhang 18
Robot Control - Control system of a robot Circuit of a DC-motor The circuit can be described with a differential equation of order one: l a i a + r a i a = v a k e θ m J. Zhang 19
Robot Control - Control system of a robot Connection between a motor and a joint Let η be the transmission ratio, then: τ m = (I m + I /η 2 ) θ m + (b m + b/η 2 ) θ m where τ m = k m i a, I m and I are the inertia of the rotor (inside motor) and the load,b m and b are factors for friction. Expressed with joint variables: τ = (I + η 2 I m ) θ + (b + η 2 b m ) θ J. Zhang 20
Robot Control - Linear Control for Trajectory Tracking Linear Control for Trajectory Tracking f = ẍ d + k v ė + k p e + k i edt (1) (1) is called the principle of PID-control. J. Zhang 21
Robot Control - Linear Control for Trajectory Tracking P-, I- and D-controller P-Controller (Proportional Controller): τ(t) = k p e(t). The amplification factor k p defines the sensitivity. I-Controller (Integrator): τ(t) = k i t t 0 e(t )dt. Long term errors will sum up. D-Controller (Differentiator): τ(t) = k v ė(t). This controller is sensitive to changes in the deviation. Combined PID-Controller: τ(t) = k p e(t) + k v ė(t) + k i t t 0 e(t )dt J. Zhang 22
Robot Control - Model-Based Control for Trajectory Tracking Model-Based Control for Trajectory Tracking The dynamic equation: τ = M(Θ) Θ + V (Θ, Θ) + G(Θ) where M(Θ) is the position-dependent n n-mass matrix of the manipulator, V (Θ, Θ) is a n 1-vector of centripetal and Coriolis factors, and G(Θ) is a complex function of Θ, the position of all joints of the manipulator. J. Zhang 23
Robot Control - Model-Based Control for Trajectory Tracking How can robots be controller in a better way? Forschung: model-based control, adaptive control Control systems for industrial robots: PID-control + gravity compensation: τ = Θ d + K v Ė + K p E + K i Edt + Ĝ(Θ) J. Zhang 24
Robot Control - Control in Cartesian Space Control in Cartesian Space - Method I Joint-based control with Cartesian trajectory input: J. Zhang 25
Robot Control - Control in Cartesian Space Control in Cartesian Space - Method II Cartesian control via calculation of kinematics: J. Zhang 26
Robot Control - Control in Cartesian Space Control in Cartesian Space - Verfahren III Cartesian control via calculation of inverse Jacobian: J. Zhang 27
Robot Control - Hybrid Control of Force and Position Hybrid Control of Force and Position For some tasks both position and force need to be controlled for the end-effector: assembly, grinding, opening and closing doors, crank winding... J. Zhang 28
Robot Control - Hybrid Control of Force and Position Hybrid Control of Force and Position A method for force control: Two feedback loops for separate control of position and force. J. Zhang 29