ROBOTICS 01PEEQW Basilio Bona DAUIN – Politecnico di Torino
Control – Part 1
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 q t ( ) � Sometimes it is sufficient to move the joints from a specified value i 0 q t ( ) to another specified value without following a specific geometric i f 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 We will consider only the first type of task Basilio Bona - DAUIN - PoliTo 3 ROBOTICS 01PEEQW - 2014/2015
Motion control � 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 - PoliTo 4 ROBOTICS 01PEEQW - 2014/2015
Joint space control 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 Basilio Bona - DAUIN - PoliTo 5 ROBOTICS 01PEEQW - 2014/2015
Task space control p p d Controller Actuator Gearbox Robot Transducer In this case, the Transducer must measure the task space quantities in order to compare them with desired ones. 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 Basilio Bona - DAUIN - PoliTo 6 ROBOTICS 01PEEQW - 2014/2015
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 ɺ q t ( ) q t ( ) position and velocity i i 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 Basilio Bona - DAUIN - PoliTo 7 ROBOTICS 01PEEQW - 2014/2015
Decentralized control Decentralized Joint q t 1 ( ) joint 1 Control reference controller 1 q t 2 ( ) joint 2 Task space Joint space reference controller 2 … q t 6 ( ) joint 6 reference controller 6 Basilio Bona - DAUIN - PoliTo 8 ROBOTICS 01PEEQW - 2014/2015
Decentralized control Teach Terminal Disk Other pendant PUMA Control Amplifier µ G D/A Motor 1 DLV-11J Encoder T=0.875 ms EPROM Reference Interface angles T=28 ms RAM CPU µ G D/A Amplifier Motor 6 Encoder T=0.875 ms COMPUTER ROBOT CONTROL Basilio Bona - DAUIN - PoliTo 9 ROBOTICS 01PEEQW - 2014/2015
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 larger than the mechanical time constant) � The overall control is the “sum” of the individual controllers, one for every joint Basilio Bona - DAUIN - PoliTo 10 ROBOTICS 01PEEQW - 2014/2015
Motor and gearbox model (rigid body assumptions) Gearbox = Geartrain N Friction r = N Gearbox ′ N; ω τ , Inertia m r Robot τ m Friction ′ ′ ′ Inertia N ; ω τ , m r Motor ′ τ m ′ ′ τ ω τ ω Output power Input power r m r m Basilio Bona - DAUIN - PoliTo 11 ROBOTICS 01PEEQW - 2014/2015
Motor and gearbox model ω β m b τ = τ + τ r m p Γ R L τ N i a a b m a i e Γ ′ N v E m τ a ′ τ p m ′ ω β m m ′ ′ ′ τ = τ − τ r m p ′ τ p Basilio Bona - DAUIN - PoliTo 12 ROBOTICS 01PEEQW - 2014/2015
Losses in geared motor Motor Joint side side ′ ′ ω τ ω τ ω τ v i Ei a a a m r m m Armature Motor m r Joint Gearbox circuit inertia inertia d η + L i R i a a a a d t gearbox efficiency d voltage drop ′ ′ Γ ω + β ω d m m m m d t Γ ω + β ω b m b m d t τ ′ p τ p Basilio Bona - DAUIN - PoliTo 13 ROBOTICS 01PEEQW - 2014/2015
Gearbox model ρ ′ ′ = N ρ θ ρθ = = r ′ ′ ω τ ρ N ′ ′ = ρ ω ρω m r Joint side ρ η = 1 Ideal gearbox: θ Power in Power out GEARBOX θ ′ ′ ′ ω τ ′ ′ ω τ = ηω τ m r m r m r ρ ′ Motor side ′ ′ ω τ ′ τ = τ m r r r r ′ ω ω = m m r Basilio Bona - DAUIN - PoliTo 14 ROBOTICS 01PEEQW - 2014/2015
CC motor equations – 1 MOTOR SIDE d = − − L i v R i E a a a a a d t φ = K i φ e ′ ′ = φ ω = ω E k K ′ ω ≈ ⇒ ≈ m m k k K K ′ ′ ω τ τ = φ = k i K i τ m a a ′ τ = i m a K τ ɺɺ ɺ ′ ′ ′ τ = Γ θ + β θ = Γ ω + β ω ɺ p m m m m m m m m ′ ′ ′ τ = τ − τ r m p Basilio Bona - DAUIN - PoliTo 15 ROBOTICS 01PEEQW - 2014/2015
CC motor equations – 2 MOTOR SIDE JOINT SIDE 1 ′ τ = τ r ′ = τ τ r r r r r ′ ′ = τ − τ r ( ) 1 ( m p = τ + τ ) ′ ′ ′ = τ − Γ ω − β ω ɺ r m p r m m m m m 1 ′ = τ − Γ ω − β ω r r ɺ r ( ) ( ) = τ + Γ ω + β ω ɺ m m m m m m b m b m r ′ 2 = τ − Γ ω ɺ + β ω r r ( ) m m m m m 1 1 1 ′ ′ = τ + Γ ω + β ω ɺ m b m b m r r r 1 1 ( ′ ′ = τ + Γ ω + β ω ɺ ) m b m b m r 2 r Basilio Bona - DAUIN - PoliTo 16 ROBOTICS 01PEEQW - 2014/2015
Control equations ɺɺ + ɺ ɺ + ɺ + + T = τ H q q ( ) C q q q ( , ) B q q ( ) g q ( ) J F e component-wise joint torques n n n ∑ ∑∑ + + β + + τ = τ q ɺɺ q ɺ ɺ q H ( ) q h ( ) q q q g ( ) ij j ijk j k bi i i fi ri = = = j 1 j 1 k 1 n n n ∑ ∑∑ ɺɺ + ɺɺ + ɺ ɺ + β ɺ + + τ = τ q q q q H ( ) q H ( ) q h ( ) q q q g ( ) i i i ij j ijk j k bi i i fi r i ≠ = = j i j 1 k 1 Coriolis & centripetal Friction, gravity Inertial torques torques & external torques Basilio Bona - DAUIN - PoliTo 17 ROBOTICS 01PEEQW - 2014/2015
Control equations n n n ∑ ∑∑ ɺɺ + ɺɺ + ɺ ɺ + β ɺ + + τ = τ H ( ) q q H ( ) q q h ( ) q q q q g ( ) q ii i ij j ijk j k bi i i fi ri ≠ = = j i j 1 k 1 q ɺɺ + β ɺ + τ + τ + τ + τ = τ H ( ) q q ii i bi i M i ci gi f i r i Modelled torques “Disturbance” torques Basilio Bona - DAUIN - PoliTo 18 ROBOTICS 01PEEQW - 2014/2015
From single motor model to robot control equation ′ ′ ′ θ ω ω ɺ = ɺ = ɺ ɺ = q mi q mi q mi i i i r r r i i i Gearbox transformation n ∑ τ = ɺɺ + β ɺ + ɺɺ + τ + τ + τ + τ H q q H q ri ii i bi i ij j Mi ci gi fi ≠ j i ′ ′ ω ω ɺ = Γ + β + τ + τ + τ + τ mi mi Structured bi bi Mi ci gi fi r r disturbance i i ′ ′ ω ω ɺ = Γ + β + τ mi mi bi bi di r r i i Equation seen at the joint side Basilio Bona - DAUIN - PoliTo 19 ROBOTICS 01PEEQW - 2014/2015
Recommend
More recommend