PPGEE Electrical Engineering Graduate Program UFMG April 2014
1 Introduction to Robotics 2 3 4 5
What is a Robot? According to RIA Robot Institute of America A Robot is a reprogrammable multifunctional manipulator designed to move material, tools, or specialized devices through variable programmed motions for the performance of a variety of tasks. COMAU Smart Six Robot.
What is a Robot? Our definition of Robot A Robot is an integrated system comprised by mechanisms, sensors and processors, that is reprogrammable and multifunctional, and designed to move itself and possibly other materials, tools or specialized devices in order to perform different tasks. http://www.verlab.dcc.ufmg.br/projetos/ roomba/index
The PDVA Research Group PDVA Research and Development of Autonomous Vehicles (Pesquisa e Desenvolvimento de Veículos Autônomos) More information on research projects conducted by the PDVA members: http://coro.cpdee.ufmg.br/ http://www.verlab.dcc.ufmg.br/ http://www.demec.ufmg.br/cea/principal_eng.htm http://www.cpdee.ufmg.br/~macsin/
Classification of Robots Robots can be grouped together according to different criteria: Type of Movement: 1 Fixed basis: robotic manipulators; 2 Mobile basis: mobile robots.
Classification of Robots Robots can be grouped together according to different criteria: Type of Movement: 1 Fixed basis: robotic manipulators; 2 Mobile basis: mobile robots. Power source: electrical, hydraulic, pneumatic.
Classification of Robots Robots can be grouped together according to different criteria: Type of Movement: 1 Fixed basis: robotic manipulators; 2 Mobile basis: mobile robots. Power source: electrical, hydraulic, pneumatic. Method to Control/Specify the Movement: 1 Point-to-point: only discrete target points in the robot trajectory are specified; 2 Continuous path: not only the target points, but the way to move from point to another is also specified.
Classification of Robots Robots can be grouped together according to different criteria: Type of Movement: 1 Fixed basis: robotic manipulators; 2 Mobile basis: mobile robots. Power source: electrical, hydraulic, pneumatic. Method to Control/Specify the Movement: 1 Point-to-point: only discrete target points in the robot trajectory are specified; 2 Continuous path: not only the target points, but the way to move from point to another is also specified. Geometry: articulated (RRR), spherical (RRP), SCARA (RRP), cylindrical (RPP), Cartesians (PPP).
Types of Joints Introduction to Robotics Revolute: Source:http://www.mathworks.com/help/toolbox/physmod/mech/ref/revolute.html
Types of Joints Introduction to Robotics Prismatic: Source:http://www.mathworks.com/help/toolbox/physmod/mech/ref/prismatic.html
Types of Joints Introduction to Robotics Spherical: Source:http://www.mathworks.com/help/toolbox/physmod/mech/ref/spherical.html It is possible to have the same effect by combining three revolute joints whose axes of rotation intersect at one point: spherical wrist.
Common Kinematic Arrangements Articulated (RRR): http://www6.district125.k12.il.us/teched/courses/tdresources/robottypes.html
Common Kinematic Arrangements Cylindrical (RPP): http://www6.district125.k12.il.us/teched/courses/tdresources/robottypes.html
Common Kinematic Arrangements Cartesian (PPP): http://www6.district125.k12.il.us/teched/courses/tdresources/robottypes.html
Common Kinematic Arrangements Spherical (RRP):
Common Kinematic Arrangements SCARA Selective Compliant Assembly Robot Arm (RRP):
Kinematics Dynamics In Robot Kinematics we are interested in describing the relations between positions/poses and velocities of each part of the robot, without considering forces and torques. Important concepts are: 1 Configuration Space and Degrees of Freedom; 2 Local ; 3 Forward Kinematic maps and the associated Jacobian matrices;
Kinematics Dynamics In Robot Kinematics we are interested in describing the relations between positions/poses and velocities of each part of the robot, without considering forces and torques. Important concepts are: 1 Configuration Space and Degrees of Freedom; 2 Local ; 3 Forward Kinematic maps and the associated Jacobian matrices; In our goal is to understand how forces and torques determine the accelerations of each part of the robot.
Course Objectives The main topics to be discussed in this course are related to how to obtain a Robot mathematical model describing its dynamics: The Euler-Lagrange approach,
Course Objectives The main topics to be discussed in this course are related to how to obtain a Robot mathematical model describing its dynamics: The Euler-Lagrange approach, The Newton-Euler approach,
Course Objectives The main topics to be discussed in this course are related to how to obtain a Robot mathematical model describing its dynamics: The Euler-Lagrange approach, The Newton-Euler approach, How to incorporate non-holonomic constraints.
Course Objectives The main topics to be discussed in this course are related to how to obtain a Robot mathematical model describing its dynamics: The Euler-Lagrange approach, The Newton-Euler approach, How to incorporate non-holonomic constraints. Recommended books: Mark W. Spong, Seth Hutchinson and M. Vidyasagar. Robot Modeling and Control. John Wiley & Sons, Inc. 2006. Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani and Giuseppe Oriolo. Robotics: Modelling, planning and control. Springer-Verlag London Limited. 2009. Richard M. Murray, Zexiang Li and S. Shankar Sastry. A Mathematical Introduction to Robotic Manipulation. 1994.
The World Introduction to Robotics World The formal definition of the primary space of points where the robot movements will take place. This is also the space where obstacles usually will be defined as forbidden sets of points. Some examples: The unlimited Euclidean 3D space;
The World Introduction to Robotics World The formal definition of the primary space of points where the robot movements will take place. This is also the space where obstacles usually will be defined as forbidden sets of points. Some examples: The unlimited Euclidean 3D space; The unlimited Euclidean 2D space (e.g. planar robots);
The World Introduction to Robotics World The formal definition of the primary space of points where the robot movements will take place. This is also the space where obstacles usually will be defined as forbidden sets of points. Some examples: The unlimited Euclidean 3D space; The unlimited Euclidean 2D space (e.g. planar robots); The limited 3D space of an office, considered as a subset of the Euclidean space;
The World Introduction to Robotics World The formal definition of the primary space of points where the robot movements will take place. This is also the space where obstacles usually will be defined as forbidden sets of points. Some examples: The unlimited Euclidean 3D space; The unlimited Euclidean 2D space (e.g. planar robots); The limited 3D space of an office, considered as a subset of the Euclidean space; The surface of a sphere (non-euclidean space, e.g. robots for the inspection of spherical gas tanks in an oil refinery).
The Workspace Introduction to Robotics Workspace The total volume swept out by the end effector as the robot executes all possible motions. The emphasis is on the allowable positions for a point in the robot structure where a tool could be attached.
The Workspace Introduction to Robotics Workspace The total volume swept out by the end effector as the robot executes all possible motions. The emphasis is on the allowable positions for a point in the robot structure where a tool could be attached. The Workspace is further divided in two sets: The Reachable Workspace Ω R : the set of points reachable by the robot; The Dexterous Workspace Ω D : the set of points reachable by the robot from which it is possible to have arbitrary orientations and velocities of the end effector. Ω D Ω R
Workspace Examples Source: [2] Cylindrical Robotic Manipulator.
Workspace Examples Source: [2] Spherical Robotic Manipulator.
Workspace Examples Source: [2] SCARA Robotic Manipulator. 1 1 There is a small error in this figure, which was corrected in the second edition of [2]: the edges of the workspace at the limits of the angular displacement are actually curves instead of straight lines.
Workspace Examples Source: [2] Cartesian Robotic Manipulator.
The Configuration Space Robot Configuration A minimal set of variables necessary to determine the world position of any material point of the robot, departing from the knowledge of its geometry (lengths, diameters, etc). This minimal set will be represented by q. Configuration Space Q The set of all possible values for q. It will be denoted by Q. Degrees of Freedom The dimension of the Configuration Space Q.
Configuration Space Examples 1 2 degrees of freedom DoF planar robotic arm: q = [ q1 q 2 ] = [ θ1 θ 2 ]. Notice that, if one knows q and the robot geometry, the position of any material point of the robot in the world can be determined.
Configuration Space Examples 1 2 degrees of freedom DoF planar robotic arm: Its Configuration Space is non-euclidean. Indeed it is a differentiable manifold such that q 1 [0; 2π], e q 2 [0; 2π]. In other words Q S 1 S 1, with S 1 the set of points in a circle. This set is not homeomorphic to R 2, meaning that they are not topologically equivalent. http://en.wikipedia.org/wiki/file:torus_cycles.png
The State Space Introduction to Robotics State A minimum set of variables x(t) whose values at each time t t 0 can be uniquely determined from: (i) the knowledge of x(t 0 ), (ii) the differential equations describing the system dynamics and (iii) the external signals (inputs) acting on the system. The State can be considered as a representation of the internal energy, or memory, of the system, and the state variables are the elements of the State Vector, or simply State, denoted by x. Sometimes the state variables are called internal or auxiliary variables. State Space X The set of all posible States, i.e. x X.
State Variables Introduction to Robotics How to tell if you have a valid set of state variables? 1 And there is no way to reduce the number of variables and still be able to explain the time evolution of all the variables of interest.
State Variables Introduction to Robotics How to tell if you have a valid set of state variables? Answer: Try to write down the tendency to change of each candidate state variable. If you succeed in showing that each variable tendency to change is a function of the current values of the candidate state variables and the inputs to the system 1, then you have a valid set of states. 1 And there is no way to reduce the number of variables and still be able to explain the time evolution of all the variables of interest.
State Variables Introduction to Robotics How to tell if you have a valid set of state variables? Answer: Try to write down the tendency to change of each candidate state variable. If you succeed in showing that each variable tendency to change is a function of the current values of the candidate state variables and the inputs to the system 1, then you have a valid set of states. The goal is to be able to write that: ẋ 1 f 1 (x 1, x 2,..., x n, u 1, u 2,..., u m ) ẋ 2 x = f( x, u). = f 2 (x 1, x 2,..., x n, u 1, u 2,..., u m ).. ẋ n f n (x 1, x 2,..., x n, u 1, u 2,..., u m ) 1 And there is no way to reduce the number of variables and still be able to explain the time evolution of all the variables of interest.
State Space Representations I
State Space Representations II Dynamical System State Space Representation A set of differential equations, sometimes called dynamic equations, ẋ 1 f 1(x 1, x 2,..., x n, u 1, u 2,..., u m) ẋ 2 x = f( x, u). = f 2(x 1, x 2,..., x n, u 1, u 2,..., u m)., ẋ n f n(x 1, x 2,..., x n, u 1, u 2,..., u m) together with a set of algebraic equations, called output equations, y 1 h 1(x 1, x 2,..., x n, u 1, u 2,..., u m) y 2 y = h( x, u). = h 2(x 1, x 2,..., x n, u 1, u 2,..., u m)., y p h p(x 1, x 2,..., x n, u 1, u 2,..., u m) forms a State Space Representation of the system dynamics.
State Space Representations III For a given system there is an infinite number of equivalent state space representations since there are infinite possible choices for the state variables. To see this, notice that, for example, it is easy to obtain another State Space Representation just by using a new set of variables given by x = M x, where M R n n is a non-singular matrix.
: Two different views I In Robotics, usually one has as state variables the configuration variables and the corresponding time derivatives, i.e. q x =, q such that the dimension of the State Space X is twice the dimension of the Configuration Space Q. q is usually related to the Potential Energy of the Robot, and q is usually related to its Kinectic Energy. This is the common framework when discussing how applied forces drive the robot s movements, i.e. a Dynamic Description.
: Two different views II Another possibility, which is also quite common, is to represent the Robot s movements as a consequence of defining, directly, the velocities that will be exhibited by the mechanism, i.e. a Kinematic Description. In this case, x = q, and the Configuration Space Q is the same as the State Space X.
and Robotics I It is essential to know how to describe the robot movements considering appropriately chosen reference frames. http://www.quarcservice.com/releasenotes/files/quarc_using_devices_standard_axes.html As an example, for robotic manipulators it is usual to associate to each joint a reference frame whose z-axis coincides with the axis of rotation (revolute joints) or translation (prismatic joints).
and Robotics II Source: [1]. Source: [3]. Another example is the control of aerial robots. The movement description commonly depends on the definition of an inertial reference frame, and at least another reference frame attached to the vehicle (body frame).
and Robotics III Therefore, it is very important to know how to relate the representations of a point or free-vector in different reference frames.
Some Interesting Software Peter Corke s Robotics Toolbox for MATLAB. Functions to represent the kinematic chain of robotic manipulators, including the use of Denavit-Hartenberg parameters and trajectory generation: http://petercorke.com/robotics_toolbox.html RoKiSim Robotics Kinematics Simulator. Easy way to visualize movements of some industrial robotic manipulators: http://www.parallemic.org/rokisim.html Coppelia Robotics Virtual Robot Experimentation Platform (V-REP). A virtual environment to create robots with collision detection and 3D animation: http://coppeliarobotics.com/
Tarek Hamel and Robert Mahony. Image based visual servo control for a class of aerial robotic systems. Automatica, 43(11):1975 1983, 2007. Mark W. Spong, Seth Hutchinson, and M. Vidyasagar. Robot Modeling and Control. Draft, first edition, 2005. Haitao Xiang and Lei Tian. Development of a low-cost agricultural remote sensing: system based on an autonomous unmanned aerial vehicle (uav). Biosystems Engineering, 108(2):174 190, 2011.