Top Banner
Robotics 2 Prof. Alessandro De Luca Introduction to Control
29

Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Aug 04, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Robotics 2

Prof. Alessandro De Luca

Introduction to Control

Page 2: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

What do we mean by robot control?

n different level of definitions may be given to robot controln successfully complete a task or work programn accurate execution of a motion trajectoryn zeroing a positioning error

⇒ control system unit has a hierarchical internal structure

§ different but cooperating models, objectives, methods are used at the various control layers

high-level control

direct control

moreintelligence

moreprecision

......

Robotics 2 2

Page 3: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Evaluation of control performance

n quality of execution in nominal conditionsn velocity/speed of task completionn accuracy/repeatability (in static and dynamic terms)n energy requirements⇒ improvements also thanks to models (software!)

§ robustness in perturbed/uncertain conditions§ adaptation to changing environments§ high repeatability despite disturbances, changes of

parameters, uncertainties, modeling errors⇒ can be improved by a generalized use of feedback,

using more sensor information⇒ learn through repeated robot trials/human experience

Robotics 2 3

Page 4: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Static positioningaccuracy and repeatability

poor accuracypoor repeatability

poor accuracygood repeatability

good accuracygood repeatability

good accuracypoor repeatability

Robotics 2 4

what about “dynamic” accuracy on (test or selected) motion trajectories?

Page 5: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Basic control schemes

control robot environment

open-loopcommand

action

environmentcontrol

closed-loop commands

METHODS MODELS

Robotics 2 5

combination offeedforward and

feedback commands

perception

robot

Page 6: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Control schemes and uncertaintyn feedback control

n insensitivity to mild disturbances and small variations of parametersn robust control

n tolerates relatively large uncertainties of known rangen adaptive control

n improves performance on line, adapting the control law to a priori unknown range of uncertainties and/or large (but not too fast) parameter variations

n intelligent controln performance improved based on experience: LEARNINGn autonomous change of internal structure for optimizing system

behavior: SELF-ORGANIZINGuncertainty on parametric values IDENTIFICATION

… on the system structure ...Robotics 2 6

Page 7: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Limits in control of industrial robots - 1

n from a functional viewpointn “closed” control architectures, relatively difficult to interface with

external computing systems and sensing devices⇒ especially in applications where hard real-time operation is a must

n at the higher leveln open-loop task command generation⇒ exteroceptive sensory feedback absent or very loose

n at the intermediate leveln limited consideration of advanced kinematic and dynamic issues⇒ e.g., singularity robustness: solved on a case-by-case basis⇒ task redundancy: no automatic handling of the extra degrees of

freedom of the robot

Robotics 2 7

Page 8: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

§ at the lower (direct) leveln reduced execution speed (“control bandwidth”)

⇒ typically heavy mechanical structuren reduced dynamic accuracy on fast motion trajectories

⇒ standard use of kinematic control + PID onlyn problems with dry friction and backlash at the jointsn compliance in the robot structure

⇒ flexible transmissions (belts, harmonic drives, long shafts)

⇒ large structures or relatively lightweight links

need to include better dynamic models and model-based control lawshandled, e.g., using direct-drive actuators or online friction compensation

Limits in control of industrial robots - 2

now desiredfor safe

physical Human-Robot

Interaction

Robotics 2 8

Page 9: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Example of robot positioning

Robotics 2 9

n low damped vibrations due to joint elasticity

n 6R KUKA KR-15/2 robot (235 kg), with 15 kg payload

video

without modeling and explicit control of

joint elasticity

Page 10: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Advanced robot control lawsn deeper mathematical/physical analysis and modeling of

robot components (model-based approach)n schemes using various control loops at different/multiple

hierarchical levels (feedback) and with additional sensorsn visual servoingn force/torque sensors for interaction controln ...

n “new” methodsn integration of (open-loop/feedforward) motion planning and

feedback control aspects (e.g., sensor-based planning)n fast (sensor-based) re-planningn model predictive control (with preview)

n learning (iterative, by imitation, skill transfer, ...)n …

Robotics 2 10

Page 11: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Example of visual-based controln human-obstacle collision avoidance

n 3R SoftArm prototype with McKibben actuators (Univ. of Pisa) using repulsive force field built from stereo camera information

Robotics 2 11

video

Page 12: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Functional structure of a control unitsensor measurements

exteroceptive sensors (also “virtual” ones, i.e., model-based)

vision, force

fault detection, vision

positionvelocity

SENSORS:optical encoders,velocity tachos,strain gauges,joint or wrist F/T sensors, tactile sensors,micro-switches,range/depthsensors, laser,CCD cameras,RGB-D cameras…

taskprogram

trajectoryplanning

direct controlalgorithms

actuators

environment

Robotics 2 12

proprioceptive sensorsrobot

Page 13: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Java, Lisp, expert- andrule-based systems

Matlab, C++, Python

Assembler (PICs), C, C++

dedicatedprogramming

languagesTask-

Object-Robot-

Oriented

T-O: insert P1 into H5O-O: move APPR frame #13R-O: rotate joint 3 by -45°

often “addressed” using the manual TEACH BOXin conventional industrial robots

taskprogram

trajectoryplanning

direct controlalgorithms

actuators

robot

environment

Robotics 2 13

Functional structure of a control unitprogramming languages

Page 14: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Functional structure of a control unitmodeling issues

modeling of tasks

geometric and kinematic modelscoordinate transformations

nonlinear methodsdynamic control

(electrical and mechanical)dynamic models

structured and unstructuredworld modeling (and acquisition)

taskprogram

trajectoryplanning

direct controlalgorithms

actuators

robot

environment

Robotics 2 14

Page 15: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Robot control/research software(last updated in April 2020)

Robotics 2 15

§ a (partial) list of open source robot software§ for simulation and/or real-time control§ for interfacing with devices and sensors§ research oriented

Player/Stage playerstage.sourceforge.net ⇒ github.com/rtv/stage§ Stage: in origin, a networked Linux/MacOS X robotics server serving as

abstraction layer to support a variety of hardware ⇒ now a 2(.5)D mobile robot standalone simulation environment

§ Gazebo: 3D robot simulator (ODE physics engine and OpenGLrendering), now an independent project ⇒ gazebosim.org

CoppeliaSIM (ex VREP; edu version available) www.coppeliarobotics.com§ each object/model controlled via an embedded script, a plugin, a ROS

node, a remote API client, or a custom solution§ controllers written in C/C++, Python, Java, Matlab, ...

Page 16: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Robot control/research software (cont’d)

Robotics 2 16

Robotics Toolbox (free addition to Matlab) petercorke.com§ study and simulation of kinematics, dynamics, trajectory planning,

control, and vision for serial manipulators and beyond ⇒ releases 9 & 10

ROS (Robot Operating System) ros.org§ middleware with: hardware abstraction, device drivers, libraries,

visualizers, message-passing, package management§ “nodes”: executable code (in Python, C++) running with a

publish/subscribe communication style§ drivers, tools, state-of-the-art algorithms … (all open source)

PyRobotics (Python API) pypi.org/project/pyRobotics (v1.8 in 2015)

OpenRDK openrdk.sourceforge.net ⇒ developed @DIAG, but dismissed§ “agents”: modular processes dynamically activated, with blackboard-

type communication (repository)

Page 17: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

OROCOS control software

Robotics 2 17

§ OROCOS (Open RObot COntrol Software) orocos.org• open-source, portable C++ libraries for robot control• Real-Time Toolkit (for Linux, MacOS X, Windows Visual Studio)• supports CORBA for distributed network computing and ROS interface• (user-defined) application libraries

⇒ github

Page 18: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Example application using OROCOS

Robotics 2 18

video

multi-sensor fusion for multi-robot manipulationin a human populated environment (KU Leuven)

Page 19: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Summarizing …n to improve performance of robot controllers

1. more complete modeling (kinematics and dynamics)2. introduction of feedback throughout all hierarchical levels

§ dynamic control at low level allows in principle1. much higher accuracy on generic motion trajectories2. larger velocity in task execution with same accuracy

§ interplay between control, mechanics, electronics1. able to control accurately also lightweight/compliant robots2. full utilization of task-related redundancy3. smart mechanical design can reduce control efforts (e.g.,

closed kinematic chains simplifying robot inertia matrix)4. actuators with higher dynamic performance (e.g., direct drives)

and/or including controlled variable stiffnessadvanced applications should justify additional costs

(e.g., laser cutting with 10g accelerations, safe human-robot interaction)Robotics 2 19

Page 20: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Benefits of model-based controln trajectory tracking task: comparison between standard

industrial and new model-based controller

Robotics 2 20

video

y

z

x

horizontalplane

verticalfrontplane

verticalsagittalplane

three squares in:

Page 21: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Robot learning by imitationn learning from human motion primitives (imitation)n motion refinement by kinesthetic teaching (with impedance control)

Robotics 2 21

video

@TUM, Munich (D. Lee, C. Ott), for the EU SAPHARI project

Page 22: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Using visual or depth sensor feedback

n robust visual or depth (Kinect) feedback for motion tracking

Robotics 2 22video

video

n collision avoidance schemes (here, redundancy w.r.t. an E-E task)

Page 23: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Panoramic view of control lawsn problems & methods for robot manipulators that will be considered

(control command is always a joint torque, if not else specified)

type of task

definitionof error joint

spaceCartesian

spacetask

space

freemotion

regulationPD, PID,

gravity compensation, iterative learning

PD withgravity

compensation

visual servoing(kinematic

scheme)

trajectorytracking

feedback linearization,inverse dynamics + PD, passivity-based control,robust/adaptive control

feedback linearization

contactmotion(with force exchange)

-

impedance control

(with variants),admittance

control(kinematic scheme)

hybrid force-velocity

control

Robotics 2 23

Page 24: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Control laws: dynamic or kinematicn torque-controlled robots

n issue current commands 𝑖 = 𝑖$ (with 𝜏$ = 𝐾' 𝑖$) to drive the (electrical) motors, based on information on the dynamic models

n often, a low-level (analog) current loop is present to enforce the execution of the desired command

n may use a torque measure 𝜏( (by joint torque sensors) to do the same, in case of joint/transmission elasticity (with 𝜏( = 𝐾(𝜃 − 𝑞))

n best suited for high dynamic performance and ’transparent’ control of interaction forces

n position/motion-controlled robotsn issue kinematic commands: velocity �̇� = �̇�$, acceleration �̈� = �̈�$,

or their integrated/micro-interpolated version 𝑞 = 𝑞$n references for a low-level direct loop at high frequency (𝑇$ ≅ 400 𝜇𝑠!)

n both modes can be present also on the same robotic systemRobotics 2 24

Page 25: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

HRI in industrial settings

Robotics 2 25

non-collaborative robots: safety fences are required to prevent harming human operators

Main robot safety standardsISO 10218-1/2:2011ISO/TS 15066:2016

collaborative robots: allow human workers to

stand in their proximity and work together on the same task

Page 26: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Human-Robot Interaction taxonomyn cognitive (cHRI) vs. physical (pHRI) Human-Robot Interactionn cHRI models of humans, of robots, and of the interaction itself

n dialog-based, intention- and activity-based, simulation-theoretic models

Robotics 2 26

B. Mutlu, N. Roy, S. Sabanovic: Ch. 71, Springer Handbook of Robotics, 2016

Page 27: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Human-Robot Interaction taxonomyn pHRI planned and controlled robot behaviors: 3-layer architecture

Robotics 2 27

Collaboration

Coexistence

Safety

lightweight mechanical designcompliance at robot joints

collision detectionand safe reaction

robot and human sharingthe same workspace

collision avoidanceno need of physical contact

with intentional contact andcoordinated exchange of forces

contactless, e.g., gestures or voice commands

A. De Luca, F. Flacco: IEEE BioRob Conference, 2012

Page 28: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

Human-Robot Collaborationn the different possible levels of pHRI are represented also within

ISO safety standards (from safe coexistence to safe collaboration)

Robotics 2 28

videoV. Villani et al.: Mechatronics, 2018

Page 29: Introduction to Controldeluca/rob2_en/07_IntroControl.pdf · ROS (Robot Operating System) ros.org middleware with: hardware abstraction, device drivers, libraries, visualizers, message-passing,

type of task

definitionof error joint

spaceCartesian

spacetask

space

freemotion

regulationPD, PID,

gravity compensation, iterative learning

PD withgravity

compensation

visual servoing(kinematic

scheme)

trajectorytracking

feedback linearization,inverse dynamics + PD, passivity-based control,robust/adaptive control

feedback linearization

contactmotion(with force exchange)

-

impedance control

(with variants),admittance

control(kinematic scheme)

hybrid force-velocity

control

Panoramic view of control lawsreprise for HRI

Robotics 2 29

HRI control