Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

Similar documents
Robot mechanics and kinematics

Robot mechanics and kinematics

Automatic Control Industrial robotics

Written exams of Robotics 1

Prof. Fanny Ficuciello Robotics for Bioengineering Trajectory planning

DESIGN AND MODELLING OF A 4DOF PAINTING ROBOT

1. Introduction 1 2. Mathematical Representation of Robots

10/25/2018. Robotics and automation. Dr. Ibrahim Al-Naimi. Chapter two. Introduction To Robot Manipulators

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

Robotics. SAAST Robotics Robot Arms

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

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

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

A Bio-Inspired Sensory-Motor Neural Model for a Neuro-Robotic Manipulation Platform

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. Basilio Bona DAUIN Politecnico di Torino

Written exams of Robotics 2

Basilio Bona ROBOTICA 03CFIOR 1

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

Kinematic Model of Robot Manipulators

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

INSTITUTE OF AERONAUTICAL ENGINEERING

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

Dipartimento di Elettronica Informazione e Bioingegneria Robotics

Industrial Robots : Manipulators, Kinematics, Dynamics

EEE 187: Robotics Summary 2

Lecture «Robot Dynamics»: Kinematic Control

Torque-Position Transformer for Task Control of Position Controlled Robots

autorob.github.io Inverse Kinematics UM EECS 398/598 - autorob.github.io

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

Introduction to Robotics

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

Robotics I. March 27, 2018

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

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

SIMULATION ENVIRONMENT PROPOSAL, ANALYSIS AND CONTROL OF A STEWART PLATFORM MANIPULATOR

Theory and Design Issues of Underwater Manipulator

MTRX4700 Experimental Robotics

Table of Contents Introduction Historical Review of Robotic Orienting Devices Kinematic Position Analysis Instantaneous Kinematic Analysis

Inverse Kinematics Software Design and Trajectory Control Programming of SCARA Manipulator robot

Trajectory Tracking Control of A 2-DOF Robot Arm Using Neural Networks

Kinematics, Kinematics Chains CS 685

Simulation-Based Design of Robotic Systems

Forward kinematics and Denavit Hartenburg convention

Robot. A thesis presented to. the faculty of. In partial fulfillment. of the requirements for the degree. Master of Science. Zachary J.

State Estimation and Parameter Identification of Flexible Manipulators Based on Visual Sensor and Virtual Joint Model

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

Robotics kinematics and Dynamics

Design and Development of Cartesian Robot for Machining with Error Compensation and Chatter Reduction

Robotics 2 Information

ISE 422/ME 478/ISE 522 Robotic Systems

A Geometric Approach to Inverse Kinematics of a 3 DOF Robotic Arm

Trajectory planning in Cartesian space

Control of industrial robots. Kinematic redundancy

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

Singularity Handling on Puma in Operational Space Formulation

PSO based Adaptive Force Controller for 6 DOF Robot Manipulators

MDP646: ROBOTICS ENGINEERING. Mechanical Design & Production Department Faculty of Engineering Cairo University Egypt. Prof. Said M.

Inverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm

Theory of Robotics and Mechatronics

Chapter 1: Introduction

Kinematics and dynamics analysis of micro-robot for surgical applications

Dynamic Modeling of the 4 DoF BioRob Series Elastic Robot Arm for Simulation and Control

Structural Configurations of Manipulators

FORCE CONTROL OF LINK SYSTEMS USING THE PARALLEL SOLUTION SCHEME

Dynamic Analysis of Manipulator Arm for 6-legged Robot

KINEMATIC AND DYNAMIC SIMULATION OF A 3DOF PARALLEL ROBOT

Articulated Robots! Robert Stengel! Robotics and Intelligent Systems! MAE 345, Princeton University, 2017

Properties of Hyper-Redundant Manipulators

A New Algorithm for Measuring and Optimizing the Manipulability Index

Drawing using the Scorbot-ER VII Manipulator Arm

Manipulator trajectory planning

Differential Kinematics. Robotics. Differential Kinematics. Vladimír Smutný

Modeling and Control of 2-DOF Robot Arm

θ x Week Date Lecture (M: 2:05p-3:50, 50-N202) 1 23-Jul Introduction + Representing Position & Orientation & State 2 30-Jul

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

KINEMATIC ANALYSIS OF 3 D.O.F OF SERIAL ROBOT FOR INDUSTRIAL APPLICATIONS

Design of a Three-Axis Rotary Platform

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

Inverse Kinematics of Robot Manipulators with Multiple Moving Control Points

Modelling and Control of an Autonomous Underwater Vehicle for Mobile Manipulation

AUTONOMOUS PLANETARY ROVER CONTROL USING INVERSE SIMULATION

INVERSE KINEMATICS ANALYSIS OF A 5-AXIS RV-2AJ ROBOT MANIPULATOR

Robotics 2 Visual servoing

Joint level modelling, characterisation and torque control of the SHERPA robotic arm. J. (Jeroen) Jager. MSc Report

A New Algorithm for Measuring and Optimizing the Manipulability Index

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

PPGEE Robot Dynamics I

INVERSE KINEMATICS ANALYSIS OF A 5-AXIS RV-2AJ ROBOT MANIPULATOR

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

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

MOTION TRAJECTORY PLANNING AND SIMULATION OF 6- DOF MANIPULATOR ARM ROBOT

Trajectory Planning for Automatic Machines and Robots

Lecture «Robot Dynamics»: Multi-body Kinematics

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

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

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 1: Introduction

Lecture «Robot Dynamics»: Kinematics 3

SCREW-BASED RELATIVE JACOBIAN FOR MANIPULATORS COOPERATING IN A TASK

TRAJECTORY PLANNING OF FIVE DOF MANIPULATOR: DYNAMIC FEED FORWARD CONTROLLER OVER COMPUTED TORQUE CONTROLLER

Transcription:

University of Pisa Master of Science in Computer Science Course of Robotics (ROB) A.Y. 2016/17 cecilia.laschi@santannapisa.it http://didawiki.cli.di.unipi.it/doku.php/magistraleinformatica/rob/start Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

Robot Control Control of one joint motion: PID controller Control of the manipulator motion: Trajectory planning Motion control in joint space Motion control in operational space The Dexter Arm example: Mechanics, Kinematics, Control, Software interfaces

Scheme of a control system A control system provides a command in voltage or current to the actuators (motors) such that the joints reach a desired configuration Motor Encoder a Position Reference signal Control unit Reducer mot + mot - Power amplifier JOINT Power supply

Scheme of a control system Reducer Motor Encoder a Opposite-sign voltages produce opposite rotations of the motor mot + mot - JOINT

Scheme of a control system Encoder: sensor measuring joint rotations, either as an absolute or a relative value. The measurement is given in encoder steps Reducer: mechanism reducing the motor rotations with respect to the rotations of the axis mounted on the motor (ex. 1:k reduction) Power amplifier: it amplifies a reference signal into a power signal for moving the joint Control unit: unit producing the reference signal for the motor

Relations between joint position and encoder position : joint angular position (in degrees) : joint position in encoder steps k: motor reduction ratio R: encoder resolution (number of steps per turn) = θ 360 R k

Control of one joint motion Objective: move the joint from the current position i (in degrees) to the desired position f, in a time interval t : i f

Closed-loop (feedback) control The variable to control is measured and compared with the desired value The difference, or error, is processed by an algorithm The result of processing is the input value for the actuator Desired value + - e Control algorithm V Actuator Current position Sensor

PID control (Proportional, Integral, Derivative) It is a closed-loop control in which the error is processed with an algorithm including Proportional, Integral and Derivative components. The algorithm processes the error and provides an input to the actuator, with 3 components: Proportional, producing a correction proportional to the error; Integral, producing a correction given by the error integral in time; Derivative, producing a correction which is a function of the error first derivative. Not all closed-loop control systems use a PID algorithm

PID control (Proportional, Integral, Derivative) In a PID control system, the error is given to the control algorithm, which calculates the derivative and integral terms and the output signal V Desired value + - e PID V Actuator Current position Sensor

PID control (Proportional, Integral, Derivative) V K p e K d e K i e t dt e e d de dt a K p is the proportional gain or constant K i is the integral gain or constant K d is the derivative gain or constant e is the error, i.e. the difference between the desired position and the current position

PID control Proportional term The voltagev given to the motor is proportional to the difference between the actual position measured by the sensor and the desired position + d desired position - e K * e V Motor Robot a (actual position) Encoder

PID control Proportional term: The voltagev given to the motor is proportional to the difference between the actual position measured by the sensor and the desired position de e e dt t e K e K e K V p p d p i d p K P : proportional constant a d e

PID control Proportional term: system behaviour Desired position: 1 The motor oscillates before converging towards the desired position The system may settle without cancelling the error

PID control Derivative term: dt de e e dt t e K e K e K V p p d p i d p de e e dt t e K e K e K V p p a d p i d p Error derivative in time K d : derivative constant

PID control Proportional and derivative terms: Oscillation reductions Desired position: 1 Reduction of settlement time The system may settle without cancelling the error

PID control Integral terms: dt t e K e K i d Error integral in time K i : integral constant de e e dt t e K e K e K V a d i d p de e e dt t e K e K e K p p d p i d p

PID control Proportional and integral terms: Desired position: 1 The system settles and cancels the error

PID control Proportional, Integral and Derivative terms: V K p e K d e K i e t dt e p d a e p de dt

PID control Proportional, Integral and Derivative terms: K p, K d, K i constants are set empirically or with specific methods

Control of robot manipulator motion Objective: to have the robot arm moving from a starting position to a final position, both expressed in operational space coordinates In general, the control problem consists in finding the torues that the actuators have to give to the joints, so that the resulting arm motion follows a planned trajectory

Trajectory planning Objective: generate the reference inputs to the robot control system, which will ensure that the robot end effector will follow a desired trajectory when moving from x start to x f PATH: set of points, in joint space or operational space, that the robot has to reach in order to perform the desired movement TRAJECTORY: path with a specified time course (velocity and acceleration at each point)

Trajectory planning Objective: generate the reference inputs to the robot control system, which will ensure that the robot end effector will follow a desired trajectory when moving from x start to x f INPUT DATA: Path definition Path constraints Constraints given by the robot dynamics OUTPUT DATA: in joint space: joint trajectories in operational space: end-effector trajectory

the initial and final values of joint variables i and d the initial and final velocities the initial and final accelerations. Trajectories in joint space Between two points: the robot manipulator must be displaced from the initial to the final joint configuration, in a given time interval t. In order to give the time course of motion for each joint variable, we can choose a trapezoidal velocity profile or polynomial functions: Cubic polynom: it allows to set the initial and final values of joint variables i and d the initial and final velocities (usually null). Fifth-degree polynom: it allows to set

Trajectories in joint space Trapezoidal velocity profile: Constant acceleration in the starting phase Constant cruise velocity Constant deceleration in the arrival phase. The corresponding trajectory is mixed polynomial: a linear segment connected to parabolic parts in the neighbourhood of the initial and final positions.

Trapezoidal velocity profile Position Velocity Acceleration Note: velocities and accelerations at the initial and final times can be different from zero

Acceleration Velocity Position Trapezoidal velocity profile First phase: Second phase: Third phase:

Trajectory interpolation

Trajectories in operational space The trajectory planning algorithm generates the time course of motion of the end effector, according to a path of geometric characteristics defined in the operational space. The result of planning is a seuence of n-uples: (p(t),, (t), v(t), (t))

Robot kinematics and differential kinematics Kinematics x = k = k 1 x k = euations of direct kinematics Differential kinematics x = J() = J 1 ()x J() = Jacobian matrix x = x y z φ θ = o 1 2 3 4 5 Velocity space

Robot kinematics and dynamics Robot dynamic model τ = B + C, + F v + g() τ = torue B = inertia term C = Coriolis term F v = friction coefficients g = gravity terms

Robot control Motion control can be done in joint space operational space

Motion control in joint space It can be used for moving the end-effector from x i to x d expressed in the operational space, without taking into account the trajectory followed by the end effector The final position x d is transformed in the corresponding final position in joint space d, by using the inverse kinematics transformation d = K -1 (x d ) All joints are moved from the current position i to the desired position d

Motion control in joint space The trajectory of the end effector in the operational space is not controlled and it is not predictable, due to the nonlinear effects of direct kinematics

General scheme of robot control in joint space

Motion control in joint space PD position control Diagonal matrix

Motion control in joint space PD position control

Motion control in joint space PD position control Setting the K p e K d parameter matrices: Fast response: high K p K d sets the best damping and guarantees a fast response without oscillations The K parameters needs to be set independently for each joint

Motion control in joint space PD position control with gravity compensation

Motion control in joint space based on inverse dynamics

Motion control in joint space based on inverse dynamics

Motion control in joint space based on inverse dynamics

Motion control in joint space based on inverse dynamics

Motion control in operational space In the movement from x i to x d the robot end effector follows a trajectory in the operational space, according to a planned time law. e.g. linear or curvilinear trajectory

Motion control in operational space To make the robot follow a trajectory (t, p(t), (t), v(t), (t)) To set joint velocities and accelerations in time, in order to reach the final desired position, expressed in Cartesian coordinates (Jacobian) To set voltages and currents to give to the motors in order to apply to the joints the velocities and the accelerations calculated with the Jacobian

Differential kinematics Set the relations between the joint velocities and the corresponding angular and linear velocities of the end effector. Such relations are decribed in a transformation matrix (Jacobian) which depends on the robot configuration.

Differential kinematics Geometric Jacobian = transformation matrix depending on the current robot configuration v p J J(). = geometric Jacobiano p = linear velocity of the end effector. = angular velocity of the end effector = joint velocity

Differential kinematics To find the joint velocities given the end effector velocity in operational space v p J p J 1 J -1 is the inverse Jacobian Integral numerical methods allows to find the vector from the vector of joint velocities

Motion control in operational space based on the transposed Jacobian matrix f = force at end effector

Motion control in operational space based on the inverse Jacobian matrix for small displacements

Motion control in operational space PD control with gravity compensation

Motion control in operational space based on inverse dynamics

Motion control in operational space p(t) Trajectory planning p f p(t) J -1 (p(t)) Joint velocities (t) p i Position in operational space, in time t. Velocity of the end effector, in time (t, p(t),, (t), p(t), (t)) t Joint velocities, in time J -1 (p(t)). (t, (t)) t

Force control Effect of external forces

Force control

Force control

Performance of a manipulator Payload: maximum load Velocity: maximum velocity in operational space Accuracy: difference between the position calculated by the control system and the actual position Repeatability: measure of the robot capability to reach the same position (function of the control system and algorithm, in addition to the robot characteristics)

KUKA KR 15/2 Dof: 6 Payload: 15 kg Max. reach: 1570 mm Repeatability: <± 0.1 mm Weight: 222 kg

PUMA 560 Dof: 6 Payload: 2 kg Velocity: 1.0 m/s Repeatability: <± 0.1 mm Weight: 120 lb = 55 Kg

Dexter Arm Cable actuated d.o.f.: 8 Workspace: 1200 mm x 350 Repeatability: ± 1mm Velocity: 0.2 m/s Payload: 2 Kg Weight: 40 Kg

Manus Cable actuated d.o.f.: 6 Velocity: 0.2 m/s Payload: 2 Kg Power: 24V DC Weight: 12 Kg

DLR Arm

The Dexter Arm

The Dexter Arm Workspace: 1200 mm x 350 Repeatability: + 1mm Velocity: 0.2 m/s Payload: 2 Kg D.o.f.: 8 Power: 24V DC Weight: 40 Kg

The Dexter Arm 8-d.o.f. anthropomorphic redundant robot arm, composed of trunk, shoulder, elbow and wrist designed for service applications and personal assistance in residential sites, such as houses or hospitals mechanically coupled structure: the mechanical transmission system is realized with pulleys and steel cables main characteristics: reduced accuracy,lighter mechanical structure, safe and intrinsically compliant structure

The Dexter arm Transmission system realized with pulleys and steel cables Joints J0 and J1 are actuated by motors and driving gear-boxes directly connected to the articulation axis Joints J2,..,J7 are actuated by DC-motors installed on link 1

Transmission #6

Transmissions #2-5 and 7

Anthropomorphic structure Wrist Elbow Shoulder Trunk

Kinematic Configuration x 2 x 3 8 3 z 3 x 1 4 x 4 x 5 z 8 1 z 2 5 z 5 6 x 7 z 7 x 6 x 0 z 1 2 z 4 x 8 z 6 z 0 7

Denavit-Hartenberg Parameters Joint a i [mm] d i [mm] i [rad] i [rad] 1 0 0 /2 1 2 144 450 -/2 2 3 0 0 /2 3 4-100 350 -/2 4 5 0 0 /2 5 6-24 250 -/2 6 7 0 0 /2 7 8 100 0 0 8

The Dexter Workspace

Joint Ranges

Control system PC Control CPU Axes control boards PID AD/DA converter Reference signals Power drivers Encoder signals Voltages to the motors Dexter (actuators and encoders)

Software architecture Command library Arm Controller ARM

Software interfaces Current position reading - In joint space: bool read_arm_ (double* ) : pointer to a 8-double array containing the arm position in joint degrees - In Cartesian space: bool read_arm_c (double* p) p: pointer to a 6-double array containing the end-effector position in mm and orientation in degrees, in Cartesian space

Software interfaces Motion commands - In joint space: bool move_arm_(double* ) : pointer to a 8-double array containing the arm position in joint degrees

Software interfaces Motion commands - In Cartesian space: bool move_arm_c7(double* p, double elbow, double J0, double velocity) p: pointer to a 6-double array containing the end-effector position in mm and orientation in degrees, in Cartesian space Elbow: elbow angle in degrees J0: final position of joint 0 Velocity: ratio of maximum velocity Kinematic inversion on 7 dof

Software interfaces Motion commands - In Cartesian space: bool move_arm_c(double* p, double elbow, double velocity) p: pointer to a 6-double array containing the end-effector position in mm and orientation in degrees, in Cartesian space Elbow: elbow angle in degrees Velocity: ratio of maximum velocity Kinematic inversion on 8 dof