Linköping University Electronic Press

Similar documents
A Benchmark Problem for Robust Control of a Multivariable Nonlinear Flexible Manipulator

Robust Control Of A Flexible Manipulator Arm: A Benchmark Problem

On Feedback Linearization for Robust Tracking Control of Flexible Joint Robots

Position Estimation and Modeling of a Flexible Industrial Robot

An efficient implementation of gradient and Hessian calculations of the coefficients of the characteristic polynomial of I XY

Block diagonalization of matrix-valued sum-of-squares programs

Institutionen för systemteknik

Properties and approximations of some matrix variate probability density functions

Experimental Comparison of Methods for Multivariable Frequency Response Function Estimation

LTI Approximations of Slightly Nonlinear Systems: Some Intriguing Examples

Case Study: The Pelican Prototype Robot

ML Estimation of Process Noise Variance in Dynamic Systems

A DAE approach to Feedforward Control of Flexible Manipulators

Institutionen för systemteknik

A relaxation of the strangeness index

Inverse Dynamics of Flexible Manipulators

Exponential Controller for Robot Manipulators

Dynamics modeling of an electro-hydraulically actuated system

Department of Physics, Chemistry and Biology

System analysis of a diesel engine with VGT and EGR

Lane departure detection for improved road geometry estimation

In this section of notes, we look at the calculation of forces and torques for a manipulator in two settings:

Adaptive Robust Tracking Control of Robot Manipulators in the Task-space under Uncertainties

ROBUST CONTROL OF A FLEXIBLE MANIPULATOR ARM: A BENCHMARK PROBLEM. Stig Moberg Jonas Öhr

On Consistency of Closed-loop Subspace Identifictaion with Innovation Estimation

Nonlinear PD Controllers with Gravity Compensation for Robot Manipulators

Model Reduction using a Frequency-Limited H 2 -Cost

Lego Segway Project Report

Rigid Manipulator Control

Introduction to Robotics

Lecture «Robot Dynamics»: Dynamics and Control

Control of industrial robots. Centralized control

Institutionen för systemteknik

Robotics. Dynamics. University of Stuttgart Winter 2018/19

MODELING AND IDENTIFICATION OF A MECHANICAL INDUSTRIAL MANIPULATOR 1

Lecture «Robot Dynamics»: Dynamics 2

Trajectory-tracking control of a planar 3-RRR parallel manipulator

Robotics I. Classroom Test November 21, 2014

On Indirect Input Measurements

GAIN SCHEDULING CONTROL WITH MULTI-LOOP PID FOR 2- DOF ARM ROBOT TRAJECTORY CONTROL

Gain Scheduling Control with Multi-loop PID for 2-DOF Arm Robot Trajectory Control

Neural Networks Lecture 10: Fault Detection and Isolation (FDI) Using Neural Networks

ENERGY BASED CONTROL OF A CLASS OF UNDERACTUATED. Mark W. Spong. Coordinated Science Laboratory, University of Illinois, 1308 West Main Street,

The Dynamics of Fixed Base and Free-Floating Robotic Manipulator

Robotics. Dynamics. Marc Toussaint U Stuttgart

Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik. Robot Dynamics. Dr.-Ing. John Nassour J.

Robust Heading Estimation Indoors

Robot Dynamics II: Trajectories & Motion

q 1 F m d p q 2 Figure 1: An automated crane with the relevant kinematic and dynamic definitions.

Perturbation Method in the Analysis of Manipulator Inertial Vibrations

Trigonometric Saturated Controller for Robot Manipulators

Robot Manipulator Control. Hesheng Wang Dept. of Automation

Institutionen för systemteknik

Model Reference Adaptive Control of Underwater Robotic Vehicle in Plane Motion

INSTRUCTIONS TO CANDIDATES:

Balancing of an Inverted Pendulum with a SCARA Robot

Fuzzy Based Robust Controller Design for Robotic Two-Link Manipulator

Institutionen för systemteknik

Institutionen för systemteknik

Institutionen för systemteknik

Design Artificial Nonlinear Controller Based on Computed Torque like Controller with Tunable Gain

Trajectory Tracking Controller for a 4-DoF Flexible Joint Robot Arm

IROS 16 Workshop: The Mechatronics behind Force/Torque Controlled Robot Actuation Secrets & Challenges

Implementation of the GIW-PHD filter

Decentralized tracking with feedback, adaptive sample rate and IMM. Erik Karlsson. Reg no: LiTH-ISY-EX

Robust Control of Robot Manipulator by Model Based Disturbance Attenuation

Multibody simulation

ROBOTICS Laboratory Problem 02

A Weighting Method for Approximate Nonlinear System Identification

Dynamics. Basilio Bona. Semester 1, DAUIN Politecnico di Torino. B. Bona (DAUIN) Dynamics Semester 1, / 18

Robust Control of Cooperative Underactuated Manipulators

A new approach to lane guidance systems

NMT EE 589 & UNM ME 482/582 ROBOT ENGINEERING. Dr. Stephen Bruder NMT EE 589 & UNM ME 482/582

Video 8.1 Vijay Kumar. Property of University of Pennsylvania, Vijay Kumar

q HYBRID CONTROL FOR BALANCE 0.5 Position: q (radian) q Time: t (seconds) q1 err (radian)

Robotics I. February 6, 2014

Theory of Vibrations in Stewart Platforms

Institutionen för systemteknik

Institutionen för systemteknik

Lecture Schedule Week Date Lecture (M: 2:05p-3:50, 50-N202)

CONTROL OF ROBOT CAMERA SYSTEM WITH ACTUATOR S DYNAMICS TO TRACK MOVING OBJECT

Position and orientation of rigid bodies

Influence of Laser Radar Sensor Parameters on Range Measurement and Shape Fitting Uncertainties


(W: 12:05-1:50, 50-N202)

A Sliding Mode Controller Using Neural Networks for Robot Manipulator

Modeling and Simulation of the Nonlinear Computed Torque Control in Simulink/MATLAB for an Industrial Robot

Robotics I June 11, 2018

Multibody simulation

Design and Control of Compliant Humanoids. Alin Albu-Schäffer. DLR German Aerospace Center Institute of Robotics and Mechatronics

Inverse differential kinematics Statics and force transformations

Institutionen för systemteknik

Institutionen för systemteknik

Robust finite-frequency H2 analysis

Mechanical Engineering Department - University of São Paulo at São Carlos, São Carlos, SP, , Brazil

Robotics & Automation. Lecture 25. Dynamics of Constrained Systems, Dynamic Control. John T. Wen. April 26, 2007

Institutionen för systemteknik

Design and Comparison of Different Controllers to Stabilize a Rotary Inverted Pendulum

Consideration of dynamics is critical in the analysis, design, and control of robot systems.

Advanced Robotic Manipulation

Transcription:

Linköping University Electronic Press Report Simulation Model of a 2 Degrees of Freedom Industrial Manipulator Patrik Axelsson Series: LiTH-ISY-R, ISSN 400-3902, No. 3020 ISRN: LiTH-ISY-R-3020 Available at: Linköping University Electronic Press http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-88970

Technical report from Automatic Control at Linköpings universitet Simulation Model of a 2 Degrees of Freedom Industrial Manipulator Patrik Axelsson Division of Automatic Control E-mail: axelsson@isy.liu.se 7th June 20 Report no.: LiTH-ISY-R-3020 Address: Department of Electrical Engineering Linköpings universitet SE-58 83 Linköping, Sweden WWW: http://www.control.isy.liu.se AUTOMATIC CONTROL REGLERTEKNIK LINKÖPINGS UNIVERSITET Technical reports from the Automatic Control group in Linköping are available from http://www.control.isy.liu.se/publications.

Abstract A simulation model for a two degrees of freedom industrial manipulator where an accelerometer is attached to the robot arm is presented. An overview of the kinematic and dynamic models as well as a thorough description of the accelerometer model are given. The simulation model can be run with dierent types of properties, e.g. model errors and disturbances. Dierent types of suggested simulation setups are also presented in the paper. Keywords: Industrial manipulator, kinematic models, dynamic models, accelerometer

Simulation Model of a 2 Degrees of Freedom Industrial Manipulator Patrik Axelsson 20-06-7 Abstract A simulation model for a two degrees of freedom industrial manipulator where an accelerometer is attached to the robot arm is presented. An overview of the kinematic and dynamic models as well as a thorough description of the accelerometer model are given. The simulation model can be run with dierent types of properties, e.g. model errors and disturbances. Dierent types of suggested simulation setups are also presented in the paper. Robot Model This section describes the kinematic and dynamic models that are used. The robot model corresponds to joint 2 and 3 for a serial 6 degrees of freedom dof) industrial robot. Here, the forward kinematic equations and dynamic equations are given without any derivations. Methods to derive these equations can be found in e.g. [2] and [3]. The inverse kinematic model and the accelerometer model are explained in more details.. Forward Kinematic Model The forward kinematic model describes the geometrical relation between the joint angles q a and the Cartesian coordinates of the tool center point tcp) on the robot. In this section, the forward kinematic model for the robot in Figure. will be derived. The kinematic model can be expressed as ) x P = = Γq a ),.) z where P is the Cartesian coordinates for tcp, expressed in the base coordinate frame ) T x b z b, denoted by {b}, Γ is a nonlinear function and qa = ) T q a q a2 are the joint angles. The forward kinematic has a unique solution for a serial robot whereas there exist several solutions for a parallel arm robot such as ABB IRB360. There are dierent ways to derive the nonlinear function Γ. For this model it is fairly easy to get the expressions by considering directly the geometry in Figure.. For more complex cases it is preferable to use homogeneous

z b β l 2 q a2 q a l γ P α l P Figure.: 2 dof robot model showing the kinematic properties of the structure. x b transformations with or without the Denavit-Hartenberg convention, see e.g. [2] and [3]. Using Figure. we can see that l sin q P = Γq a ) = a + l 2 sin π 2 + q )) a + q a2 l cos q a + l 2 cos π 2 + q ) a + q a2 ) l sin q = a + l 2 cos q a + q a2 ).2) l cos q a l 2 sin q a + q a2 ) describes the relation between the joint angles q a and the Cartesian coordinates x and z..2 Inverse Kinematic Model In practice, often the position P for tcp is given, and we are interested in the corresponding joint angles. The joint angles are given by the inverse of.), i.e., q a = Γ P )..3) This problem is more dicult than the forward kinematic. The forward kinematic has a unique solution for a serial robot as was mentioned in Section., however, the inverse kinematic has several solutions or no solution at all. The joint angles q a can be computed either using an analytical expression or as a result of a numerical solver. An analytical solution to the inverse problem for the robot in Figure. can be derived using trigonometric identities. The solution is however not unique. Two dierent sets of joint angles will give the same position. These solutions are known as elbow-up and elbow-down. The law of cosine gives cos γ = l2 + l 2 P l2 2 2l l P,.4a) cos β = l2 + l 2 2 l 2 P 2l l 2 = sin q a2,.4b) where l 2 P = x2 +z 2. The joint angle q a2 can now be obtained directly from.4b). However, the function atan2 will be used for numerical reasons. The angle for atan2 is a Matlab-function for the four quadrant arctangent 2

joint two can therefore be calculated according to ) q a2 = atan2 sin q a2, ± sin 2 q a2..5) The angle γ can be obtained in the same way, γ = atan2 ± ) cos 2 γ, cos γ..6) The angle for joint one can now be calculated according to q a = π γ α,.7) 2 where α = atan2z, x). The elbow-up solution is obtained if the plus sign in.5) and.6) is chosen, otherwise the solution will correspond to the elbow-down solution..3 Dynamic Model The dynamic robot model is a joint exible two-axes model from [], see Figure.2. Each link is modeled as a rigid-body and described by mass m i, length l i, center of mass ξ i and inertia j i with respect to the center of mass. The joints are modeled as a spring damping pair with nonlinear spring torque τ si and linear damping d i. The deection in each joint is given by the arm angle q ai and the motor angle q mi. The motor characteristics are given by the inertia j mi and a nonlinear friction torque f i. Let q = q a q a2 q m /η q m2 /η 2 ) T,.8a) u = 0 0 u m η u m2 η 2 ) T,.8b) where u mi is the motor torque and η i = q mi /q ai > is the gear ratio. The gear ratio is used to transform the motor angles and motor torques from the motor side of the gear box to the arm side. A dynamic model can be derived as Mq) q + Cq, q) + Gq) + T q) + D q + F q) = u..9) using Lagrange's equation [2]. Here Mq) is the inertia matrix, Cq, q) is the Coriolis- and centrifugal terms, Gq) is the gravitational torque, T q) is the nonlinear stiness torque, D q is the linear damping torque and F q) is the nonlinear friction torque. The complete expressions for.9) can be found in Appendix A. 2 Accelerometer Model The accelerometer attached to the robot measures the acceleration due to the motion the robot performs, the gravity component and in addition some measurement noise is introduced. When modelling the accelerometer it is also important to include a drift term. The acceleration is measured in a frame {s} xed to the accelerometer relative an inertial frame. Note that {s} is also xed 3

u m2 τ s 2 ), d 2 j, q f η m2 m2, m2 ), 2 j, q f η m m, m ), z b q a m ξ,, j, l q a2 m2, ξ2, j2, l2 P x b τ s ), d u m Figure.2: Serial robot with two degrees of freedom. The joints are modeled by nonlinear springs and linear dampers. Nonlinear friction torques are also included. to arm two. The inertial frame is here chosen to be the world xed base frame {b}. The acceleration in {s} can be expressed as ρ s = R b s q a ) ρ b + G b ) + δ s, 2.) where ρ b is the acceleration due to the motion and G b = 0 g ) T models the gravitation, both expressed in the base frame {b}. The drift term is denoted by δ s and is expressed in {s}. Rsq b a ) is a rotation matrix that represents the rotation from frame {b} to frame {s}. The rotation matrix Rsq b a ) can be obtained from Figure 2. according to ) Rsq b cos qa + q a ) = a2 ) sin q a + q a2 ). 2.2) sin q a + q a2 ) cos q a + q a2 ) The vector ρ b can be calculated as the second derivative of ρ b which is shown in Figure 2.. Note that the sensor is attached in tcp, hence ρ b = Γq a ). 2.3) Taking the derivative of 2.3) with respect to time twice gives ρ b = Γq a ) = Jq a ) q a, ρ b = Γq a ) = Jq a ) q a + Jq a ) q a, 2.4a) 2.4b) where Jq a ) = Γ q a is the Jacobian matrix. The Jacobian can be calculated as ) l cos q Jq a ) = a l 2 sinq a + q a2 ) l 2 sinq a + q a2 ), 2.5) l 2 cosq a + q a2 ) l sin q a l 2 cosq a + q a2 ) using.2). The time derivative of the Jacobian matrix is given by Jq a ) = 2 i= 4 Jq a ) q ai q ai. 2.6)

z b q a2 q a ρb P x S z S Figure 2.: The vector ρ b from the origin of frame {b} to the origin of frame {s} is used to calculate the acceleration of the point P, i.e., the acceleration measured by the accelerometer which originates from the motion. x b The nal expression for the acceleration given by the accelerometer can now be written as 2 ) ) ρ M s = Rsq b Jq a ) a ) Jq a ) q a + q ai q a + G b + δ s, 2.7) q ai where R b sq a ) and Jq a ) are given by 2.2) and 2.5), respectively. 3 Overview of the Simulation Model i= The simulation model is implemented in Matlab Simulink and a block diagram of the model can be seen in Figure 3.. The block Path Generator generates the desired arm angles qa ref from a set of points in the joint space or in the Cartesian space. It is also possible to use a predened path for tcp. The desired arm angles are then used for calculating the reference trajectory for tcp, i.e., P ref, using the Forward Kinematics in.2). The desired arm angles are also used to calculate references for the motor angles qm ref and a feed forward torque τm ffw. This is done in the block Motor Reference and Feed Forward using an inverse dynamical model. The feedback controller is a diagonal PID controller which uses the measured motor position qmi M and the reference qref mi to calculate a torque for motor i. The feed forward torque τm ffw is added to the calculated torque from the PID controllers before it enters the robot. The block Robot only simulates the robot models, described in Section, with or without disturbances W. The output from the Robot block are the true position P of the tcp, true motor angles q m and true position, velocity and acceleration for the arm angles, i.e., Q a = ) qa T q a T q a T T. The block Accelerometer uses Qa to calculate the acceleration of tcp according to 2.7). Dierent options, listed below, are available for adjusting the realism and complexity of the simulation model. Calibration Error The position and orientation of the accelerometer can be set to deviate from the nominal values. Accelerometer Oset The value of the parameter δ s in 2.). 5

Forward Kinematics ref P Path Generator ref q a Motor Reference and Feed Forward ref q m ffw τ m P M q m Controller W τ m Robot Q a q m e qm Accelerometer ρ& & s e ρ&s & M ρ& & s Figure 3.: Overview of the simulation model. Model complexity The complexity of the dynamic equation.9) can be changed. It is possible to turn on or o the gravity component Gq) and the friction component F q). It is also possible to choose between linear and nonlinear spring torque T q). For the linear case is ki low = k high i in A.7). Disturbances Two types of disturbances can be used. The rst one is disturbances on the motor torques, which is modeled as a chirp signal. The disturbance τ md is simply added to the applied torque τ m, i.e., u m = τ m +τ md. If no motor disturbance is present, then u m = τ m. The second type is a force acting on tcp. The force is described by an amplitude and an angle relative the base frame {b}. Ripple Torque ripple τ ri can be added to the applied motor torque τ mi, i.e., u mi = τ mi + τ ri. The torque ripple is dependent of the motor angle q mi and the applied torque τ mi. The model is given by τ ri = A c sin C q mi + φ c ) τ mi + 3 A tj sin T j q mi + φ tj ). 3.) If no torque ripple is present, then u m = τ m. Ripple can also be added to the resolvers measuring the motor angles, i.e., q M mi = q mi + R ri, where the resolver ripple R ri is modeled as j= R ri = A r sin q mi + A r2 sin 2q mi + φ r2 ). 3.2) If no resolver ripple is present, then q M mi = q mi. Model Errors The model parameters in A.5), A.7) and A.9) and the masses m and m 2 can be given uncertainty values. In this case, the feed forward 6

Name Sim Sim2 Sim3 Sim4 Description Without calibration errors, drift and model errors. With calibration errors 4 mm in x-direction, -5 mm in z-direction and 2 in orientation), drift δ s = 0. m/s 2 in both directions) and model errors 20% in stiness parameters and 50% in friction parameters). With calibration errors 4 mm in x-direction, -5 mm in z-direction and 2 in orientation), drift δ s = 0. m/s 2 in both directions) and without model errors. With calibration errors 4 mm in x-direction, -5 mm in z-direction and 2 in orientation), drift δ s = 0.2 m/s 2 in both directions) and without model errors. Table 4.: Four dierent simulation scenarios. block in Figure 3. does not use the nominal values as is the case for the robot model. Path The path can be set either as interpolation in joint space between two sets of arm angles, or linear interpolation in the Cartesian space. For more complicated paths for the tcp it is possible to create them o-line before the simulation starts. Measurement Noise Normal distributed white measurement noise with zero mean and variance σ 2 q m and σ 2 ρ s can be added to the motor angles and/or the acceleration of tcp, respectively. 4 Suggested Simulation Setups Here, four dierent paths are suggested together with dierent congurations from the list in Section 3. These paths and congurations are used during later work. The suggested paths can be seen in Figure 4.. The paths start at the star and goes clockwise and the circle indicates tcp when q a = 0 0 ) T. These four paths are generated using a standard ABB controller. Four dierent congurations of the simulation model according to Table 4. are suggested to cover model errors in the dynamical model parameters, as well as drift and calibration errors for the accelerometer. All four congurations use full model complexity, i.e., gravity, friction and nonlinear spring torque are present. Motor torque ripple, resolver ripple and measurement noise on the motor angles and the acceleration of tcp are also present, but no disturbances. The model errors can be seen as the worst case and are chosen based on suggestions from the authors of []. Note that the true trajectory for tcp will be the same for all suggested congurations except for Sim2. The reason is that the feed forward controller changes, i.e., the control performance is changed, when model errors are present. 7

Path A Path B z direction [m]. 0.9 0.8 0.7 0.6 z direction [m]. 0.9 0.8 0.7 0.6.2.3.4.5 x direction [m] Path C.2.3.4.5 x direction [m] Path D z direction [m]. 0.9 0.8 0.7 0.6 z direction [m]. 0.9 0.8 0.7 0.6.2.3.4.5 x direction [m].2.3.4.5 x direction [m] Figure 4.: Suggested paths for simulation. The path starts at the star and goes clockwise. The circle indicates the tool position when q a = 0 0) T. References [] Stig Moberg, Jonas Öhr, and Svante Gunnarsson. A benchmark problem for robust control of a multivariable nonlinear exible manipulator. In Proceedings of 7th IFAC World Congress, pages 2062, Seoul, Korea, July 2008. URL: http://www.robustcontrol.org. [2] Lorenzo Sciavicco and Bruno Siciliano. Modelling and Control of Robot Manipulators. Springer, London, UK, second edition, 2000. [3] Mark W. Spong, Seth Hutchinson, and M. Vidyasagar. Robot Modeling and Control. John Wiley & Sons, 2005. A Dynamic Model Equations The expressions for the dynamic model.9) are given here. More information about the model and numerical values for the parameters can be found in []. The inertia matrix Mq) is partitioned as M q) M 2 q) 0 0 Mq) = M 2 q) M 22 q) 0 0 0 0 j m η 2 0 0 0 0 j m2 η2 2, A.) 8

where M q) = j + m ξ 2 + j 2 + m 2 l 2 + ξ 2 2 2l ξ 2 sin q a2 ), M 2 q) = M 2 q) = j 2 + m 2 ξ 2 2 l ξ 2 sin q a2 ), M 22 q) = j 2 + m 2 ξ 2 2. The Coriolis and centripetal terms are described by m 2 l ξ 2 2 qa q a2 + q a2) 2 cos qa2 Cq, q) = m 2 l ξ 2 q a 2 cos q a2 0, 0 the gravity component is g m ξ sin q a + m 2 l sin q a + ξ 2 cosq a + q a2 ))) Gq) = m 2 ξ 2 g cosq a + q a2 ) 0, 0 and the linear damping matrix is given by d 0 d 0 D = 0 d 2 0 d 2 d 0 d 0. 0 d 2 0 d 2 The nonlinear spring torque is described by τ s q ) T q) = τ s2 q2 ) τ s q ), τ s2 q2 ) where A.2a) A.2b) A.2c) A.3) A.4) A.5) A.6) qi = q ai q mi /η i A.7a) { k low i qi + k i3 3 q i, qi ψ i τ si = ) sign qi ) m i0 + k high A.7b) i qi ψ i ), qi > ψ i k i3 = khigh i k low i 3ψ 2 i A.7c) m i0 = k low i ψ i + k i3 ψ 3 i A.7d) Finally, the nonlinear friction torque is given by 0 F q) = 0 f m q), f m2 q) where A.8) f mi q) = η i fdi q mi + f ci µki + µ ki ) cosh β i q mi ) ) tanhα i q mi ) ). A.9) 9

Avdelning, Institution Division, Department Datum Date Division of Automatic Control Department of Electrical Engineering 20-06-7 Språk Language Rapporttyp Report category ISBN Svenska/Swedish Licentiatavhandling ISRN Engelska/English Examensarbete C-uppsats D-uppsats Övrig rapport Serietitel och serienummer Title of series, numbering ISSN 400-3902 URL för elektronisk version http://www.control.isy.liu.se LiTH-ISY-R-3020 Titel Title Simulation Model of a 2 Degrees of Freedom Industrial Manipulator Författare Author Patrik Axelsson Sammanfattning Abstract A simulation model for a two degrees of freedom industrial manipulator where an accelerometer is attached to the robot arm is presented. An overview of the kinematic and dynamic models as well as a thorough description of the accelerometer model are given. The simulation model can be run with dierent types of properties, e.g. model errors and disturbances. Dierent types of suggested simulation setups are also presented in the paper. Nyckelord Keywords Industrial manipulator, kinematic models, dynamic models, accelerometer