ROBOTICS 01PEEQW Basilio Bona DAUIN – Politecnico di Torino
Control – Part 1
Tasks tasks Two types of tasks can be defined: 1.Tasks that do not require an interaction with the environment (free space motion); the manipulator moves its TCP following cartesian trajectories, with constraint on positions, velocities and accelerations due to the manipulator itself or the task requirements Sometimes it is sufficient to move the joints from a specified value to another specified value without following a specific geometric path 2.Tasks that require and interaction with the environment, i.e., where the TCP shall move in some cartesian subspace while subject to forces or torques from the environment only the first type We will consider only the first type of task Basilio Bona - DAUIN - PoliTo3 ROBOTICS 01PEEQW /2016
Motion control motion control problem In particular, the motion control problem consists in generating the time functions of the actuating torques/forces, such that the TCP motion follows a specified task in the cartesian space, fulfilling the specifications on transient and steady-state response requirements Control schemes can be developed for: Joint space control Task space control considering that the task description is usually specified in the task space, while control actions are defined in the joint space Basilio Bona - DAUIN - PoliTo4 ROBOTICS 01PEEQW /2016
Joint space control Basilio Bona - DAUIN - PoliTo5 ROBOTICS 01PEEQW /2016 The Inverse Kinematics block transforms the desired task space positions and velocities into desired joint space reference values. The Transducer measures the value of the joint quantities (angles, displacements) and compares them with the desired ones, obtained, if necessary, from the desired cartesian quantities. The Controller uses the error to generate a (low power) signal for the Actuator that transforms it in a (high power) torque (via the Gearbox) that moves the robot joints
Task space control Basilio Bona - DAUIN - PoliTo6 ROBOTICS 01PEEQW /2016 In this case, the Transducer must measure the task space quantities in order to compare them with desired ones. exteroceptive Usually this is not an easy task, since it requires sensors that are environment- aware; the most used ones are digital camera sensors (vision-based control) or other types of exteroceptive sensors (infra-red, ultra-sonic,...). Otherwise, one must rely on the direct kinematics to estimate the task space pose Torques are always applied to the joints, so Inverse Kinematics is hidden inside the Controller block ControllerActuatorGearboxRobot Transducer
Joint space control architectures Basilio Bona - DAUIN - PoliTo7 ROBOTICS 01PEEQW /2016 joint space control architectures Two main joint space control architectures are possible Decentralized control or independent joint control: each i-th joint motor has a local controller that takes into account only local variables, i.e., the joint position and velocity The control is of SISO type, usually based on a P, PD or PID architecture The controller is designed considering only an approximated model of the i-th joint This scheme is very common in industrial robots, due to its simplicity, modularity and robustness The classical PUMA robot architecture is shown in the following slide Centralized control: there is only one MIMO controller that generates a command vector for each joint motor; it is based on the complete model of the manipulator and takes into account the entire vector of measured positions and velocities
Decentralized control Basilio Bona - DAUIN - PoliTo8 ROBOTICS 01PEEQW /2016 Joint space … controller 2 controller 6 joint 1 reference joint 2 reference joint 6 reference Decentralized Joint Control Task space controller 1
Decentralized control Basilio Bona - DAUIN - PoliTo9 ROBOTICS 01PEEQW /2016 DLV-11J EPROM RAM CPU Disk Teach pendant OtherTerminal Interface COMPUTER ROBOT CONTROL mGmG D/A Amplifier Encoder Motor 6 Motor 1 Reference angles T=28 ms T=0.875 ms PUMA Control mGmG
Decentralized control The control is based on the classical model of the electrical motor, with the addition of a gearbox Inertia of the mechanical part and linear friction effects are taken into account, but the elasticity of the various parts is neglected The motor model is approximated in the usual way, i.e., neglecting the electrical dynamics (electrical time constant much smaller than the mechanical time constant) The overall control is the “sum” of the individual controllers, one for every joint Basilio Bona - DAUIN - PoliTo10 ROBOTICS 01PEEQW /2016
Motor and gearbox model (rigid body assumptions) Basilio Bona - DAUIN - PoliTo11 ROBOTICS 01PEEQW /2016 Robot Gearbox Friction Inertia Motor Inertia Friction Gearbox = Geartrain Output power Input power
Motor and gearbox model Basilio Bona - DAUIN - PoliTo12 ROBOTICS 01PEEQW /2016
Losses in geared motor Basilio Bona - DAUIN - PoliTo13 ROBOTICS 01PEEQW /2016 Armature circuit Motor inertia Gearbox Joint inertia voltage drop gearbox efficiency Motor side Joint side
Gearbox model Basilio Bona - DAUIN - PoliTo14 ROBOTICS 01PEEQW /2016 Motor side Joint side Ideal gearbox: GEARBOX Power inPower out
CC motor equations – 1 Basilio Bona - DAUIN - PoliTo15 ROBOTICS 01PEEQW /2016 MOTOR SIDE
CC motor equations – 2 Basilio Bona - DAUIN - PoliTo16 ROBOTICS 01PEEQW /2016 JOINT SIDE MOTOR SIDE
Control equations Basilio Bona - DAUIN - PoliTo17 ROBOTICS 01PEEQW /2016 component-wise joint torques Inertial torques Coriolis & centripetal torques Friction, gravity & external torques
Control equations Basilio Bona - DAUIN - PoliTo18 ROBOTICS 01PEEQW /2016 Modelled torques “Disturbance” torques Command torques Command torques
From single motor model to robot control equation Basilio Bona - DAUIN - PoliTo19 ROBOTICS 01PEEQW /2016 Gearbox transformation joint side Equation seen at the joint side Structureddisturbance
From single motor model to robot control equation Basilio Bona - DAUIN - PoliTo20 ROBOTICS 01PEEQW /2016 motor side Equation seen at the motor side since and we obtain Total inertia Total friction
From single motor model to robot control equation Basilio Bona - DAUIN - PoliTo21 ROBOTICS 01PEEQW /2016 =++ Motor side
From single motor model to robot control equation Basilio Bona - DAUIN - PoliTo22 ROBOTICS 01PEEQW /2016 Joint side =++
Block diagram of open-loop CC motor (motor side) Basilio Bona - DAUIN - PoliTo23 ROBOTICS 01PEEQW /2016 For simplicity we drop the prime symbol for the motor side quantities, and we consider the generic i-th motor Taking the Laplace transform of the involved variables, we have + – + –
Block diagram of open-loop CC motor (motor side) Basilio Bona - DAUIN - PoliTo24 ROBOTICS 01PEEQW /2016 The armature circuit inductance is small and usually can be neglected
Block diagram of open-loop CC motor (motor side) Basilio Bona - DAUIN - PoliTo25 ROBOTICS 01PEEQW /2016 since
Block diagram of open-loop CC motor (motor side) Basilio Bona - DAUIN - PoliTo26 ROBOTICS 01PEEQW /2016 – + where
Matrix formulation (joint side) Basilio Bona - DAUIN - PoliTo27 ROBOTICS 01PEEQW /2016 where Motor sideJoint side Motor sideJoint side and Lagrange Equation
Matrix formulation (joint side) Basilio Bona - DAUIN - PoliTo28 ROBOTICS 01PEEQW /2016 Then, we have Mass matrix Friction matrix Command input Often we use this symbol to indicate the velocity dependent terms GravityInteraction
Matrix formulation (joint side) Basilio Bona - DAUIN - PoliTo29 ROBOTICS 01PEEQW /2016 Gravity and interaction No interaction No gravity, no interaction Control Design Problem
Decentralized joint control Basilio Bona - DAUIN - PoliTo30 ROBOTICS 01PEEQW /2016 Assuming, for simplicity If … Then … with disturbance The model is diagonal, i.e., naturally decoupled Each joint can be controlled by local controllers
Decentralized joint control Basilio Bona - DAUIN - PoliTo31 ROBOTICS 01PEEQW /2016 – + – + This is the proportional velocity controller or velocity compensator Transducer T.F. (tachimetric sensor) reference voltage
Open loop vs Closed loop Basilio Bona - DAUIN - PoliTo32 ROBOTICS 01PEEQW /2016
The closed-loop system Basilio Bona - DAUIN - PoliTo33 ROBOTICS 01PEEQW /2016 – + Closed loop – + Open loop
The closed-loop system Basilio Bona - DAUIN - PoliTo34 ROBOTICS 01PEEQW /2016 Time constant is reduced Disturbance gain is reduced Design parameter when – + – +
Position compensator Basilio Bona - DAUIN - PoliTo35 ROBOTICS 01PEEQW /2016 – + – + – + Controller 1
Position compensator Basilio Bona - DAUIN - PoliTo36 ROBOTICS 01PEEQW /2016 where Second-order TF with Configuration dependent
Design parameters Basilio Bona - DAUIN - PoliTo37 ROBOTICS 01PEEQW /2016 The damping coefficient and the natural frequency are inversely proportional to the square root of the inertia moment, that may vary in time when the angles vary Since the damping coefficient and the natural frequency are often used as control specifications, we can design a controller computing the maximum inertia moment and adjusting the two gains in such a way that the damping ratio is satisfactory, e.g., no overshoot appears in the step response
– + – + An alternative A zero appears Controller 2 Basilio Bona - DAUIN - PoliTo38 ROBOTICS 01PEEQW /2016
– + – + Another alternative – + Controller 3 Basilio Bona - DAUIN - PoliTo39 ROBOTICS 01PEEQW /2016
Comparison Controller 2 Controller 3 Controller 1 Basilio Bona - DAUIN - PoliTo40 ROBOTICS 01PEEQW /2016
Practical Issues Practical issues are considered that impose some constraints on the control algorithms: Basilio Bona - DAUIN - PoliTo41 ROBOTICS 01PEEQW / Saturating actuators 2.Elasticity of the structure and of the gearboxes 3.Nonlinear friction effects at joints and gearboxes 4.Sensors or amplifiers with finite band
Saturating Actuators Linearity saturation It is a nonlinear effect, difficult to be considered a-priori Basilio Bona - DAUIN - PoliTo42 ROBOTICS 01PEEQW /2016
Elasticity of the structure Although we have considered rigid bodies, the elasticity is a phenomenon that limits the closed loop band We cannot design controllers that are “too fast” without taking explicitly into consideration some sort of elastic model. Recall that when we use a simplified model the proper structural resonance (or natural) frequency is Basilio Bona - DAUIN - PoliTo43 ROBOTICS 01PEEQW /2016
Elasticity of the structure Basilio Bona - DAUIN - PoliTo44 ROBOTICS 01PEEQW /2016
Nonlinear friction total A nonlinear effect between velocity and friction force viscous coulomb stiction Basilio Bona - DAUIN - PoliTo45 ROBOTICS 01PEEQW /2016
Nonlinear friction Basilio Bona - DAUIN - PoliTo46 ROBOTICS 01PEEQW /2016 Nonlinear static friction models include: Coulomb + viscous Static model that includes stiction and “Stribeck effect”: friction decreases with increasing velocity for v < v s (Stribeck velocity)
Finite pass-band in sensors and amplifiers Sensors and amplifiers are often modelled as simple gains, while in the real world they have a finite pass-band, nonlinearities, saturations, etc. These effects must be taken into account when the simulated and real behaviours differ. Fortunately, very often the band of sensors and amplifiers is much wider than the final closed loop band of the controlled system. 47 ROBOTICS 01PEEQW /2016 Basilio Bona - DAUIN - PoliTo