Exercise 2b: Model-based control of the ABB IRB 120

Similar documents
Exercise 2b: Model-based control of the ABB IRB 120

Exercise 1c: Inverse Kinematics of the ABB IRB 120

Exercise 1c: Inverse Kinematics of the ABB IRB 120

Exercise 1: Kinematics of the ABB IRB 120

Lecture «Robot Dynamics»: Kinematics 3

Lecture «Robot Dynamics»: Multi-body Kinematics

Lecture «Robot Dynamics»: Kinematics 3

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

DESIGN AND MODELLING OF A 4DOF PAINTING ROBOT

Introduction to Robotics

Lecture «Robot Dynamics»: Kinematic Control

A simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s

Automatic Control Industrial robotics

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

Serial Manipulator Statics. Robotics. Serial Manipulator Statics. Vladimír Smutný

CSE 4360 / Homework 1- Fall 2018

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

Simulation. x i. x i+1. degrees of freedom equations of motion. Newtonian laws gravity. ground contact forces

Written exams of Robotics 2

Applications. Human and animal motion Robotics control Hair Plants Molecular motion

PRACTICAL SESSION 4: FORWARD DYNAMICS. Arturo Gil Aparicio.

A NOUVELLE MOTION STATE-FEEDBACK CONTROL SCHEME FOR RIGID ROBOTIC MANIPULATORS

PSO based Adaptive Force Controller for 6 DOF Robot Manipulators

Automated Parameterization of the Joint Space Dynamics of a Robotic Arm. Josh Petersen

MMAE-540 Adv. Robotics and Mechatronics - Fall 2007 Homework 4

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

NATIONAL UNIVERSITY OF SINGAPORE. (Semester I: 1999/2000) EE4304/ME ROBOTICS. October/November Time Allowed: 2 Hours

1. Introduction 1 2. Mathematical Representation of Robots

Modeling and Control of a Bending Backwards Industrial Robot

ISE 422/ME 478/ISE 522 Robotic Systems

Table of Contents. Chapter 1. Modeling and Identification of Serial Robots... 1 Wisama KHALIL and Etienne DOMBRE

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Adaptive Control of 4-DoF Robot manipulator

Robotics 2 Iterative Learning for Gravity Compensation

MTRX4700 Experimental Robotics

Objectives. Part 1: forward kinematics. Physical Dimension

Modeling of Humanoid Systems Using Deductive Approach

Parallel Robots. Mechanics and Control H AMID D. TAG HI RAD. CRC Press. Taylor & Francis Group. Taylor & Francis Croup, Boca Raton London NewYoric

ROBOTICS 01PEEQW Laboratory Project #1. Basilio Bona DAUIN Politecnico di Torino

ROBOTICS 01PEEQW Laboratory Project #1. Basilio Bona DAUIN Politecnico di Torino

CHAPTER 3 MATHEMATICAL MODEL

Singularity Handling on Puma in Operational Space Formulation

Dynamic Analysis of Manipulator Arm for 6-legged Robot

What Is SimMechanics?

Simulation-Based Design of Robotic Systems

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

Advanced Robotic Manipulation

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

-SOLUTION- ME / ECE 739: Advanced Robotics Homework #2

13. Learning Ballistic Movementsof a Robot Arm 212

Lecture «Robot Dynamics»: Kinematics 2

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T

Lecture «Robot Dynamics»: Introduction

FORCE CONTROL OF LINK SYSTEMS USING THE PARALLEL SOLUTION SCHEME

Hand. Desk 4. Panda research 5. Franka Control Interface (FCI) Robot Model Library. ROS support. 1 technical data is subject to change

Trajectory planning in Cartesian space

Chapter 2 Kinematics of Mechanisms

Control of industrial robots. Kinematic redundancy

Jacobian: Velocities and Static Forces 1/4

AUTONOMOUS PLANETARY ROVER CONTROL USING INVERSE SIMULATION

Autonomous and Mobile Robotics Prof. Giuseppe Oriolo. Humanoid Robots 2: Dynamic Modeling

ANALYTICAL MODEL OF THE CUTTING PROCESS WITH SCISSORS-ROBOT FOR HAPTIC SIMULATION

Kinematics. Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position.

Flexible Modeling and Simulation Architecture for Haptic Control of Maritime Cranes and Robotic Arms

2. Motion Analysis - Sim-Mechanics

Torque-Position Transformer for Task Control of Position Controlled Robots

Robot Manipulator Collision Handling in Unknown Environment without using External Sensors

Control of Industrial and Mobile Robots

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions.

Arm Trajectory Planning by Controlling the Direction of End-point Position Error Caused by Disturbance

Design and Optimization of the Thigh for an Exoskeleton based on Parallel Mechanism

Robotics I. March 27, 2018

Robotics. SAAST Robotics Robot Arms

Quick Start Training Guide

Kinematics and dynamics analysis of micro-robot for surgical applications

EEE 187: Robotics Summary 2

Dynamics Analysis for a 3-PRS Spatial Parallel Manipulator-Wearable Haptic Thimble

1 Trajectories. Class Notes, Trajectory Planning, COMS4733. Figure 1: Robot control system.

CMPUT 412 Motion Control Wheeled robots. Csaba Szepesvári University of Alberta

Kinematic Model of Robot Manipulators

Robot mechanics and kinematics

ÉCOLE POLYTECHNIQUE DE MONTRÉAL

Serially-Linked Parallel Leg Design for Biped Robots

INTRODUCTION CHAPTER 1

Theory and Design Issues of Underwater Manipulator

Modeling and Control of 2-DOF Robot Arm

Jacobian: Velocities and Static Forces 1/4

Forward kinematics and Denavit Hartenburg convention

MODELING AND DYNAMIC ANALYSIS OF 6-DOF PARALLEL MANIPULATOR

Robotics kinematics and Dynamics

ManDy: Tool for Fast Development of Open Chain Multibody Systems

We are IntechOpen, the world s leading publisher of Open Access books Built by scientists, for scientists. International authors and editors

Developing Algorithms for Robotics and Autonomous Systems

Appendix A Physiological Model of the Elbow in MATLAB/Simulink

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 3: Forward and Inverse Kinematics

Constrained Dynamic Parameter Estimation using the Extended Kalman Filter

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

Documents. OpenSim Workshop. September 20-22, 2011 HYPER Summer School, La Alberca, Spain. Jeff Reinbolt, Jen Hicks. Website: SimTK.

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

Transcription:

Exercise 2b: Model-based control of the ABB IRB 120 Prof. Marco Hutter Teaching Assistants: Vassilios Tsounis, Jan Carius, Ruben Grandia October 31, 2017 Abstract In this exercise you will learn how to implement control algorithms focused on model-based control schemes. A MATLAB visualization of the robot arm is provided. You will implement controllers which require a motion reference in the joint-space as well as in the operational-space. Finally, you will learn how to implement a hybrid force and motion operational space controller. The partially implemented MATLAB scripts, as well as the visualizer, are available at http://www.rsl.ethz.ch/education-students/lectures/ robotdynamics.html. Figure 1: The ABB IRW 120 robot arm. original contributors include Michael Blösch, Dario Bellicoso, and Samuel Bachmann tsounisv@ethz.ch, jan.carius@mavt.ethz.ch, ruben.grandia@mavt.ethz.ch 1

1 Introduction The robot arm and the dynamic properties are shown in Figure 2. The kinematic and dynamic parameters are given and can be loaded using the provided MATLAB scripts. To initialize your workspace, run the init workspace.m script. To start the visualizer, run the loadviz.m script. Figure 2: ABB IRB 120 with coordinate systems and joints 2 Model-based control In this section you will write three controllers which use of the dynamic model of the arm to perform motion and force tracking tasks. The template files can be found in the problems/ directory. Each controller comes with its own Simulink model, which is stored under problems/simulink models/. To test each of your controllers, open the corresponding model and start the simulation. 2.1 Joint space control 2

Exercise 2.1 In this exercise you will implement a controller which compensates for the gravitational terms. Additionally, the controller should track a desired joint-space configuration and provide damping which is proportional to the measured joint velocities. Use the provided Simulink block scheme abb pd g.mdl to test your controller. What behavior would you expect for various initial conditions? 1 function [ tau ] = control pd g( q des, q, q dot ) 2 % CONTROL PD G Joint space PD controller with gravity compensation. 3 % 4 % q des > a vector Rˆn of desired joint angles. 5 % q > a vector Rˆn of measured joint angles. 6 % q dot > a vector in Rˆn of measured joint velocities 7 8 % Gains 9 % Here the controller response is mainly inertia dependent 10 % so the gains have to be tuned joint wise 11 kp = 0; % TODO 12 kd = 0; % TODO 13 14 % The control action has a gravity compensation term, as well as a PD 15 % feedback action which depends on the current state and the desired 16 % configuration. 17 tau = zeros(6,1); % TODO 18 19 end Solution 2.1 The control law can be implemented as: τ = g(q) + k p (q d q) k d q, (1) with g(q) the grativational terms computed from the dynamics, q d the desired joint positions, q the measured joint velocities, and k p and k d the proportional and derivative gain matrices. 2.2 Inverse dynamics control Exercise 2.2 In this exercise you will implement a controller which uses an operational-space inverse dynamics algorithm, i.e. a controller which compensates the entire dynamics and tracks a desired motion in the operational-space. Use the provided Simulink model stored in abb inv dyn.mdl. To simplify the way the desired orientation is defined, the Simulink block provides a way to define a set of Euler Angles XYZ, which will be converted to a rotation matrix in the control law script file. 1 function [ tau ] = control inv dyn(i r IE des, eul IE des, q, q dot) 2 % CONTROL INV DYN Operational space inverse dynamics controller... with a PD 3 % stabilizing feedback term. 4 % 5 % I r IE des > a vector in Rˆ3 which describes the desired... position of the 6 % end effector w.r.t. the inertial frame expressed in the... inertial frame. 7 % eul IE des > a set of Euler Angles XYZ which describe the desired 8 % end effector orientation w.r.t. the inertial frame. 9 % q > a vector in Rˆn of measured joint angles 3

10 % q dot > a vector in Rˆn of measured joint velocities 11 12 % Set the joint space control gains. 13 kp = 0; % TODO 14 kd = 0; % TODO 15 16 % Find jacobians, positions and orientation based on the current 17 % measurements. 18 I J e = I Je fun solution(q); 19 I dj e = I dje fun solution(q, q dot); 20 T IE = T IE fun solution(q); 21 I r Ie = T IE(1:3, 4); 22 C IE = T IE(1:3, 1:3); 23 24 % Define error orientation using the rotational vector... parameterization. 25 C IE des = eulangxyztorotmat(eul IE des); 26 C err = C IE des*c IE'; 27 orientation error = rotmattorotvec solution(c err); 28 29 % Define the pose error. 30 chi err = [I r IE des I r Ie; 31 orientation error]; 32 33 % PD law, the orientation feedback is a torque around error... rotation axis 34 % proportional to the error angle. 35 tau = zeros(6, 1); % TODO 36 37 end Solution 2.2 We can define a desired acceleration in operational-space as Recalling that which yields we can write the control law as Iẇ d = k p Iχ err k d Iw. (2) Iẇ = I J(q) q + I J(q) q, (3) q = I J(q) + ( I ẇ I J(q) q) (4) τ = M(q) q d + b(q, q) + g(q) = M(q)J(q) + ( I ẇ I J(q) q) + b(q, q) + g(q) (5) with g(q) the gravitational terms computed from the dynamics, q d the desired joint positions, q the measured joint velocities, and k p and k d the proportional and derivative gain matrices. 4

Figure 3: Robot arm cleaning a window 2.3 Hybrid force and motion control Exercise 2.3 We now want to implement a controller which is able to control both motion and force in orthogonal directions by the use of appropriate selection matrices. As shown in Fig. 3, there is a window at x = 0.1m. Your task is to write a controller that wipes the window. This controller applies a constant force on the wall in x-axis and follows a trajectory defined on y z plane. To do this, you should use the equations of motion projected to the operational-space. Use the provided Simulink model abb op space hybrid.mdl, which also implements the reaction force exerted by the window on the end-effector. 1 2 3 4 5 6 function [ tau ] = control op space hybrid( I r IE des, eul IE des,... q, dq, I F E x ) % CONTROL OP SPACE HYBRID Operational space inverse dynamics controller % with a PD stabilizing feedback term and a desired end effector force. % % I r IE des > a vector in Rˆ3 which describes the desired... position of the % end effector w.r.t. the inertial frame expressed in the... 5

inertial frame. 7 % eul IE des > a set of Euler Angles XYZ which describe the desired 8 % end effector orientation w.r.t. the inertial frame. 9 % q > a vector in Rˆn of measured joint positions 10 % q dot > a vector in Rˆn of measured joint velocities 11 % I F E x > a scalar value which describes a desired force in the x 12 % direction 13 14 % Design the control gains 15 kp = 0; % TODO 16 kd = 0; % TODO 17 18 % Desired end effector force 19 I F E = [I F E x, 0.0, 0.0, 0.0, 0.0, 0.0]'; 20 21 % Find jacobians, positions and orientation 22 I Je = I Je fun solution(q); 23 I dj e = I dje fun solution(q, dq); 24 T IE = T IE fun solution(q); 25 I r IE = T IE(1:3, 4); 26 C IE = T IE(1:3, 1:3); 27 28 % Define error orientation using the rotational vector... parameterization. 29 C IE des = eulangxyztorotmat(eul IE des); 30 C err = C IE des*c IE'; 31 orientation error = rotmattorotvec solution(c err); 32 33 % Define the pose error. 34 chi err = [I r IE des I r IE; 35 orientation error]; 36 37 % Project the joint space dynamics to the operational space 38 % TODO 39 % lambda =... ; 40 % mu =... ; 41 % p =... ; 42 43 % Define the motion and force selection matrices. 44 % TODO 45 % Sm =... ; 46 % Sf =... ; 47 48 % Design a controller which implements the operational space inverse 49 % dynamics and exerts a desired force. 50 tau = zeros(6,1); % TODO 51 52 end Solution 2.3 According to the task specification, the 6D selection matrices read S m = diag([0, 1, 1, 1, 1, 1]), S f = diag([1, 0, 0, 0, 0, 0]). (6) Note that their sum equals the identity matrix, i.e., every degree of freedom is either force or position controlled. Now, given the pose error I χ err, its derivative I χ err, and the desired end-effector force of this task I f task, we can compute the inverse dynamics control law in operational space as If ee, des = ΛS m (K p I χ err K d χ err ) + S f I f task + µ + p. (7) This is the virtual force that should act on the robot s end-effector to track the desired motion and force. We can convert this reference to task space via τ = I J ee If ee, des. (8) 6