42
Controlling Robot Manipulators Alexis Maldonado, Andreas Fedrizzi Lehrstuhl f¨ ur Informatik IX Technische Universit¨ at M¨ unchen Sommersemester 2008

lecture-01-101222064043-phpapp01

Embed Size (px)

Citation preview

Page 1: lecture-01-101222064043-phpapp01

Controlling Robot Manipulators

Alexis Maldonado, Andreas Fedrizzi

Lehrstuhl fur Informatik IXTechnische Universitat Munchen

Sommersemester 2008

Page 2: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Outline of the Course

Introduction

Robot-ComponentsManipulatorsConfiguration Space

Software

PlayerGazebo

Position Analysis

Vectors in SpaceFramesTransformations

Software

RoboopGLroboop

Forward and InverseKinematics

Modeling of Manipulators

DH Parameters

Further topics

Trajectory PlanningModern Control Methods

Controlling Robot Manipulators

Page 3: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Outline

1 Information about this course

2 Introduction to Robotics

Controlling Robot Manipulators

Page 4: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Outline

1 Information about this course

2 Introduction to Robotics

Controlling Robot Manipulators

Page 5: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Organizational Matters

Lecturer:

Alexis MaldonadoRoom: 02.09.055Tel.: 089/ 289-17782email: [email protected] FedrizziRoom: 02.09.039Tel.: 089/ 289 17790email: [email protected]

EMail: [email protected]

Lectures: Tuesday, 13:30-15:00, 02.09.023

Credits (ECTS): 10 (6+0 SWS)The course belongs to “Praktische Informatik“

Controlling Robot Manipulators

Page 6: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Supporting Material during the Course

Book: Niku, Saeed B.: Introduction to Robotics: Analysis,Systems, Applications

Webpage: http://www9.cs.tum.edu/praktika/robotarm.SS08

Software:

Player - Robot middleware and interface to a variety of roboticand sensor hardwareGazebo - Simulation back-end and 3d visualization for PlayerRoboop - C++ library for manipulator mechanicsGLroboop - OpenGL GUI interface to Roboop

Controlling Robot Manipulators

Page 7: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Goals of this Course

Acquiring the theoretical foundations for controlling a robotmanipulator

Computing models of how a certain manipulator moves

Developing an intuitive understanding of the problems thatoccur in manipulator control and how these problems can besolved

Controlling a manipulator with 6 degrees of freedom (DOF) inthe 3d-simulator Gazebo

Control of physical manipulator devices like a 6 DOFmanipulator connected to a B21 mobile platform or a 13 DOFrobotic hand

Controlling Robot Manipulators

Page 8: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Outline

1 Information about this course

2 Introduction to Robotics

Controlling Robot Manipulators

Page 9: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Outline of the meeting today

Give a short introduction to robotics

Present basic skills in controlling manipulators

Clarify the technical terms that are required when talkingabout robot manipulation

Introduce the homework

Demo in the AssistiveKitchen

Controlling Robot Manipulators

Page 10: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Attempt to define the term “robot“

Robots are physical agents that solve tasks in the real worldby manipulating it.To manipulate the world, robots need to perceive it withsensors and manipulate it with effectors.An agent program maps the input-stream from the sensors toan output-stream that controls the effectors.Intelligent agents have a world model that is updatedcontinuously by evaluating sensor measurements.

?

agent

percepts

sensors

actions

environment

actuators

Controlling Robot Manipulators

Page 11: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Sensors

Devices that take measurements from the environment.

Range finders

Task: measure the distance to near objectsUseful for: collision-avoidance, map-buildingExamples: laser-, sonar- and infrared range finders

Image sensors

Task: measure the brightness and color of the environmentUseful for: getting pixel streams that can be analyzed bycomputer vision systemsExamples: (video) cameras

Proprioceptive sensors

Task: measure state variables of the robotUseful for: robot state estimationExamples: force sensors, torque sensors, gyroscopes

Controlling Robot Manipulators

Page 12: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Perception

The computations that a robot performs to evaluate sensormeasurements and incorporating them into their world model.

Perception is difficult because sensor measurements are noisy,incomplete and erroneous.

Moreover the world is mostly partially observable,non-deterministic, and there are other agents that performactions we do not know.

Well-studied perception problems are localization andmapping.

This is why we usually need probabilistic methods forcomputing a certainty distribution over possible world states.

→ In this course we do not deal with uncertainty, because weexpect our workspace to be static and free of obstacles.Moreover we assume perfect sensor measurements.

Controlling Robot Manipulators

Page 13: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Perception

The computations that a robot performs to evaluate sensormeasurements and incorporating them into their world model.

Perception is difficult because sensor measurements are noisy,incomplete and erroneous.

Moreover the world is mostly partially observable,non-deterministic, and there are other agents that performactions we do not know.

Well-studied perception problems are localization andmapping.

This is why we usually need probabilistic methods forcomputing a certainty distribution over possible world states.

→ In this course we do not deal with uncertainty, because weexpect our workspace to be static and free of obstacles.Moreover we assume perfect sensor measurements.

Controlling Robot Manipulators

Page 14: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Categories of robots

ManipulatorsAre physically connected to their workspaceUsually 3-7 degrees of freedom (DOF)Used for: industrial manifacturing (e.g. welding), space stations

Mobile robotsCan move in their environment by using wheels or legsPerception is more difficult, because the environment changesUsed for: exploration of dangerous or hardly accessible terrain

HumanoidsMobile robot with 2 legs and 2 manipulatorsHave very many DOFs and a high center of gravityUsed for: service robots

Controlling Robot Manipulators

Page 15: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Classification of robots according to JIRA

Class 1: Manual-Handling Device: A device with multipledegrees of freedom that is actuated by an operator.

Class 2: Fixed-Sequence Robot: A device that performs thesuccessive stages of a task according to a predetermined,unchanging method that is hard to modify.

Class 3: Variable-Sequence Robot: Same as Class 2 but easyto modify.

Class 4: Playback Robot: A human operator performs the taskmanually by leading the robot, which records the motions forlater playback. The robot repeats the same motions accordingto the recorded information.

Controlling Robot Manipulators

Page 16: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Classification of robots according to JIRA (cont.)

Class 5: Numerical Control Robot: The operator supplies therobot with a movement program rather than teaching thetasks manually.

Class 6: Intelligent Robot: A robot with the means tounderstand its environment and the ability to successfullycomplete a task despite changes in the surrounding conditionsunder which it is to be performed.

→ This course deals with Class 5 robots.

Controlling Robot Manipulators

Page 17: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Classification of robots according to JIRA (cont.)

Class 5: Numerical Control Robot: The operator supplies therobot with a movement program rather than teaching thetasks manually.

Class 6: Intelligent Robot: A robot with the means tounderstand its environment and the ability to successfullycomplete a task despite changes in the surrounding conditionsunder which it is to be performed.

→ This course deals with Class 5 robots.

Controlling Robot Manipulators

Page 18: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Actuators

Devices that are able to apply forces on objects and thus canchange the state of the world. Actuators convert signals of acontroller into mechanical energy (motion).

Electric motors: usually work by electro- magnetism, butmotors based on electrostatic forces or the piezoelectric effectalso exist.

Pneumatic cylinders: use the pressure of compressed gas toconvert potential energy into kinetic energy.

Hydraulic cylinders: get their power from a hydraulic fluidunder pressure and transform the fluid’s energy to linear work.

Controlling Robot Manipulators

Page 19: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Key features of Actuator technologies

Feature Electric Pneumatic HydraulicSize small small-big big

Price cheap average expensive

Good for rotation translation translation

Power-to-weight ratio average low high

Stiffness low low high

The higher the power-to-weight ratio, the fewer reductiongears are required. This leads to a simpler and more reliableactuator.

Stiff systems react faster and more precise to changing loadsand pressure. They are more accurate but can cause damageto gripped and surrounding parts more easily.

Controlling Robot Manipulators

Page 20: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Joint Types

Rotational/Revolute joint: Most frequently used joint inrobotics. Usually electrically driven either by servomotors orstepper motors.

Translational/Prismatic joint: Driven by hydraulic orpneumatic cylinders.

Rotational Joint Translational Joint Revolver Joint Torsional Joint

Controlling Robot Manipulators

Page 21: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Manipulators Terminology

For a concise description of a manipulator, the joint types areabbreviated and arranged in order of their appearance fromthe first joint to the last joint.

A cartesian manipulator has 3 consecutive prismatic joints,which can be abbriviated by PPP, or 3P.

Usually, the first 3 DOFs are used to position the hand, whilefollowing DOFs are used to rotate the hand.

Further Examples:

Cylindric manipulator: R2PSpherical manipulator: 2RPArticulated manipulator: 3R

Controlling Robot Manipulators

Page 22: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Workspace of a manipulator

Workspace (WS): The set of positions that the manipulatorcan reach.

Dextrous Workspace: The set of positions where themanipulator can be positiond with an arbitrary orientation.

Controlling Robot Manipulators

Page 23: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Some definitions

WS-position of a manipulator: Position of the endeffector inthe WS.

WS-pose of a manipulator: Pose (= position and orientation)of the endeffector in the WS.

WS-configuration of a manipulator: The pose of every link ofthe endeffector is taken into account.

Controlling Robot Manipulators

Page 24: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Configuration space of a manipulator

The configuration space (CS) of a manipulator with n DOFshas n dimensions.Each dimension of the CS represents the angle of one joint.A WS-configuration of a manipulator can be mapped to oneor more CS-points by assigning every joint angle to thecorrespoding CS dimension.A CS-point of a manipulator can be mapped to aWS-configuration by assigning the value of each CS-dimensionto the corresponding joint angle.

Controlling Robot Manipulators

Page 25: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Descriptive power of different notations

Manipulators can have the same WS-position while havingdifferent WS-poses.

Manipulators can have the same WS-pose while havingdifferent WS-configurations.

Manipulators can have the same WS-configuration whilehaving different CS-points.

→ Descriptive power of the presented notations:WS-Position ⊆ WS-Pose ⊆ WS-Configuration ⊆ CS-point

A ⊆ B means that the cardinality of set B is equal or greaterthan the cardinality of set A. Since the mapping from set B toset A is surjective, an element in set A corresponds to at leastone element in set B.

Controlling Robot Manipulators

Page 26: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Descriptive power of different notations

Manipulators can have the same WS-position while havingdifferent WS-poses.

Manipulators can have the same WS-pose while havingdifferent WS-configurations.

Manipulators can have the same WS-configuration whilehaving different CS-points.

→ Descriptive power of the presented notations:WS-Position ⊆ WS-Pose ⊆ WS-Configuration ⊆ CS-point

A ⊆ B means that the cardinality of set B is equal or greaterthan the cardinality of set A. Since the mapping from set B toset A is surjective, an element in set A corresponds to at leastone element in set B.

Controlling Robot Manipulators

Page 27: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Manipulator Design

Deals with the problem of creating a manipulator that is mostappropriate for solving certain tasks.

The following criteria have to be considered

What kind of joints should be used?How big is the workspace?Are there size and weight limits?Which maximum force has to be applied?How many DOFs does the manipulator need?

Controlling Robot Manipulators

Page 28: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Mechanics

Branch of physics concerned with the behaviour of physicalbodies when subjected to forces or displacements.

Studies subsequent effects of the bodies on their environment.

Example: Aristotle examined the way bodies behaved whenthey were thrown into the air.

Consists of the research areas kinematics and dynamics.

Depending on what physical body is studied, a differentdiscipline of mechanics is used:

Rigid bodies: Newtonian, Lagrangian or Hamiltonian mechanicsSpacecraft: AstrodynamicsFluids in motion: Fluid mechanicsFluids in equilibrium: Hydraulics

→ There is no unified theory of mechanics.

→ We are interested in rigid body motion.

Controlling Robot Manipulators

Page 29: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Mechanics

Branch of physics concerned with the behaviour of physicalbodies when subjected to forces or displacements.

Studies subsequent effects of the bodies on their environment.

Example: Aristotle examined the way bodies behaved whenthey were thrown into the air.

Consists of the research areas kinematics and dynamics.

Depending on what physical body is studied, a differentdiscipline of mechanics is used:

Rigid bodies: Newtonian, Lagrangian or Hamiltonian mechanicsSpacecraft: AstrodynamicsFluids in motion: Fluid mechanicsFluids in equilibrium: Hydraulics

→ There is no unified theory of mechanics.

→ We are interested in rigid body motion.

Controlling Robot Manipulators

Page 30: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Mechanics

Branch of physics concerned with the behaviour of physicalbodies when subjected to forces or displacements.

Studies subsequent effects of the bodies on their environment.

Example: Aristotle examined the way bodies behaved whenthey were thrown into the air.

Consists of the research areas kinematics and dynamics.

Depending on what physical body is studied, a differentdiscipline of mechanics is used:

Rigid bodies: Newtonian, Lagrangian or Hamiltonian mechanicsSpacecraft: AstrodynamicsFluids in motion: Fluid mechanicsFluids in equilibrium: Hydraulics

→ There is no unified theory of mechanics.

→ We are interested in rigid body motion.

Controlling Robot Manipulators

Page 31: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Kinematics

Branch of mechanics which mathematically describes themotion of physical bodies in space.

It does not consider the origin of motions (masses or forces).

Matrices are used for describing the motions of bodies.

The position of a point in space is determined by 3 DOFs (x,y and z-coordinate).

A rigid body has 3 additional DOFs for defining its orientationin space (3 Euler angles).

Controlling Robot Manipulators

Page 32: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Robot Kinematics

A manipulator must have at least 6 DOFs, so that it can bepositioned in space at any desired position in any desiredorientation.

A 7th DOF can improve the dexterity of the manipulator,which means that the manipulator can keep the endeffectorpose stable, while moving joints.

But even with 7 DOFs, there are poses that are not reachable,although they are in the workspace.

Possible manipulator-movements are constrained by the typesof available joints.

Controlling Robot Manipulators

Page 33: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Forward Kinematics

Task: Compute the manipulator’s endeffector pose in cartesianspace, when all joint angles are given.Input: All joint angles of a manipulator.Output: Position and orientation (=pose) of the endeffector.Solution: Can be computed easily by multiple matrixmultiplications.

Example: A manipulator with three rotational joints (RRR)with each link being one unit long has the following jointangles: θ1 = 30◦, θ2 = 150o, θ3 = 310o

→ x = 1 ∗ cos(30) + 1 ∗ cos(30 + 150) + 1 ∗ cos(30 + 150 + 310) = −0.777

→ y = 1 ∗ sin(30) + 1 ∗ sin(30 + 150) + 1 ∗ sin(30 + 150 + 310) = 1.266

x

y

θ1

Controlling Robot Manipulators

Page 34: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Forward Kinematics

Task: Compute the manipulator’s endeffector pose in cartesianspace, when all joint angles are given.Input: All joint angles of a manipulator.Output: Position and orientation (=pose) of the endeffector.Solution: Can be computed easily by multiple matrixmultiplications.Example: A manipulator with three rotational joints (RRR)with each link being one unit long has the following jointangles: θ1 = 30◦, θ2 = 150o, θ3 = 310o

→ x = 1 ∗ cos(30) + 1 ∗ cos(30 + 150) + 1 ∗ cos(30 + 150 + 310) = −0.777

→ y = 1 ∗ sin(30) + 1 ∗ sin(30 + 150) + 1 ∗ sin(30 + 150 + 310) = 1.266

x

y

θ1

Controlling Robot Manipulators

Page 35: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Inverse Kinematics

Task: Compute the manipulator’s joint angles in configurationspace, when a workspace pose of the endeffector is given.

Input: Position and orientation (=pose) of the endeffector.

Output: All joint angles of a manipulator.

Solution: For special arrangements of the joints, the inversekinematics can be solved by analytical solutions where eachjoint angle can be computed by setting the WS-pose into amathematical formula. Otherwise iterative algorithms are usedthat converge to a solution if one exists.

Note: There are usually many solutions to an inversekinematics query! A short explanation is that there are usuallymany CS-points for a WS-pose (see slide on Descriptive powerof different notations).

Controlling Robot Manipulators

Page 36: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Inverse Kinematics

Task: Compute the manipulator’s joint angles in configurationspace, when a workspace pose of the endeffector is given.

Input: Position and orientation (=pose) of the endeffector.

Output: All joint angles of a manipulator.

Solution: For special arrangements of the joints, the inversekinematics can be solved by analytical solutions where eachjoint angle can be computed by setting the WS-pose into amathematical formula. Otherwise iterative algorithms are usedthat converge to a solution if one exists.

Note: There are usually many solutions to an inversekinematics query! A short explanation is that there are usuallymany CS-points for a WS-pose (see slide on Descriptive powerof different notations).

Controlling Robot Manipulators

Page 37: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Dynamics

The research area of dynamics is similar to that of kinematics,but considers masses and forces.

Forces can be weight, friction or electro-magnetic forces.

Therefore dynamical equations are more precise and morecomplex than kinematic equations.

Human people mainly take dynamical aspects of objects intoaccount when planning their movements and controlling theirmuscles.

For example if a human lifts a bottle of milk, he adjusts thegripping and lifting force to the friction and weight of thebottle.

Controlling Robot Manipulators

Page 38: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Forward and Inverse Dynamics

Forward Dynamics: Compute the resulting motion, when acertain muscle activation (muscle control) is given.

Inverse Dynamics: Compute the required muscle activationwhen a certain motion is given.

Newtonian mechanics or Lagrangian mechanics can be used inthe field of dynamic analysis.

Controlling Robot Manipulators

Page 39: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Internal Model

A representation of kinematics and dynamics of a certainmovement task in the central nervous system.

Includes kinematic and dynamic forward and inverse modelsand is used by humans to predict what effect a certain muscleactivation will have or how to activate a muscle, when acertain movement is required.

Internal models for tasks like cycling are learned by executingthe task and analyzing the result.

A continuous adaptation of motion models can be required(when changing to a new bike).

Controlling Robot Manipulators

Page 40: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Motion Planning

Task: Compute a collision-free path from a current state to agoal state.

Input: Initial and goal CS-point of a manipulator.

Output: A list of waypoints.

Solution: There are many approaches to solve the problemwhich are more or less appropriate for a certain motionplanning problem. Possible aspects that should be taken intoaccount before choosing a certain planning algorithm are

Navigation vs. Manipulator planningStatic vs. Dynamic environmentOnline vs. Offline planningGeometric vs. Sampling-based algorithms2d vs. 3d motion planningWorkspace vs. Configuration space planning

Controlling Robot Manipulators

Page 41: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Trajectory Planning

Motion Planning deals with collision-free paths, which is asequence of robot configurations without regard to the timingof these configurations.

A trajectory is concerned about when each part of the pathmust be attained.

So timing is mandatory and the velocities and accelerationsalong the path must be specified to get a trajectory.

Trajectory planning requires the use of kinematics anddynamics.

Controlling Robot Manipulators

Page 42: lecture-01-101222064043-phpapp01

Introduction Introduction to Robotics

Robot control

Input: A desired state like goToPose(x, y)

Output: Set the currents of electro motors (or the air pressureof pneumatic cylinders)

The problem of controlling a real robot is difficult because

The dynamics of physical bodies have to be consideredNatural processes are noisyThe world cannot be observed completely

Example: To grasp a bottle of milk and fill it into a glas, therobot has to estimate

A satisfying grasp positionThe force for lifting the bottle of milkThe force to grasp the bottle without slip, but not crushing itEventually change the grasping position when the distributionof weight changes

Controlling Robot Manipulators