Sei sulla pagina 1di 42

Controlling Robot Manipulators

Alexis Maldonado, Andreas Fedrizzi


Lehrstuhl fr Informatik IX u Technische Universitt Mnchen a u

Sommersemester 2008

Introduction

Introduction to Robotics

Outline of the Course


Introduction
Robot-Components Manipulators Conguration Space

Software
Roboop GLroboop

Software
Player Gazebo

Forward and Inverse Kinematics Modeling of Manipulators


DH Parameters

Position Analysis
Vectors in Space Frames Transformations

Further topics
Trajectory Planning Modern Control Methods

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Outline

Information about this course Introduction to Robotics

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Outline

Information about this course Introduction to Robotics

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Organizational Matters
Lecturer:
Alexis Maldonado Room: 02.09.055 Tel.: 089/ 289-17782 email: maldonad@cs.tum.de Andreas Fedrizzi Room: 02.09.039 Tel.: 089/ 289 17790 email: fedrizza@in.tum.de

EMail: roboterpraktikum@cs.tum.edu Lectures: Tuesday, 13:30-15:00, 02.09.023 Credits (ECTS): 10 (6+0 SWS) The course belongs to Praktische Informatik

Controlling Robot Manipulators

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 robotic and sensor hardware Gazebo - Simulation back-end and 3d visualization for Player Roboop - C++ library for manipulator mechanics GLroboop - OpenGL GUI interface to Roboop

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Goals of this Course


Acquiring the theoretical foundations for controlling a robot manipulator Computing models of how a certain manipulator moves Developing an intuitive understanding of the problems that occur in manipulator control and how these problems can be solved Controlling a manipulator with 6 degrees of freedom (DOF) in the 3d-simulator Gazebo Control of physical manipulator devices like a 6 DOF manipulator connected to a B21 mobile platform or a 13 DOF robotic hand

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Outline

Information about this course Introduction to Robotics

Controlling Robot Manipulators

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 talking about robot manipulation Introduce the homework Demo in the AssistiveKitchen

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Attempt to dene the term robot


Robots are physical agents that solve tasks in the real world by manipulating it. To manipulate the world, robots need to perceive it with sensors and manipulate it with eectors. An agent program maps the input-stream from the sensors to an output-stream that controls the eectors. Intelligent agents have a world model that is updated continuously by evaluating sensor measurements.
sensors percepts environment actions ? agent

actuators

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Sensors
Devices that take measurements from the environment. Range nders
Task: measure the distance to near objects Useful for: collision-avoidance, map-building Examples: laser-, sonar- and infrared range nders

Image sensors
Task: measure the brightness and color of the environment Useful for: getting pixel streams that can be analyzed by computer vision systems Examples: (video) cameras

Proprioceptive sensors
Task: measure state variables of the robot Useful for: robot state estimation Examples: force sensors, torque sensors, gyroscopes

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Perception
The computations that a robot performs to evaluate sensor measurements and incorporating them into their world model. Perception is dicult because sensor measurements are noisy, incomplete and erroneous. Moreover the world is mostly partially observable, non-deterministic, and there are other agents that perform actions we do not know. Well-studied perception problems are localization and mapping. This is why we usually need probabilistic methods for computing a certainty distribution over possible world states.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Perception
The computations that a robot performs to evaluate sensor measurements and incorporating them into their world model. Perception is dicult because sensor measurements are noisy, incomplete and erroneous. Moreover the world is mostly partially observable, non-deterministic, and there are other agents that perform actions we do not know. Well-studied perception problems are localization and mapping. This is why we usually need probabilistic methods for computing a certainty distribution over possible world states. In this course we do not deal with uncertainty, because we expect our workspace to be static and free of obstacles. Moreover we assume perfect sensor measurements.
Controlling Robot Manipulators

Introduction

Introduction to Robotics

Categories of robots
Manipulators
Are physically connected to their workspace Usually 3-7 degrees of freedom (DOF) Used for: industrial manifacturing (e.g. welding), space stations

Mobile robots
Can move in their environment by using wheels or legs Perception is more dicult, because the environment changes Used for: exploration of dangerous or hardly accessible terrain

Humanoids
Mobile robot with 2 legs and 2 manipulators Have very many DOFs and a high center of gravity Used for: service robots

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Classication of robots according to JIRA


Class 1: Manual-Handling Device: A device with multiple degrees of freedom that is actuated by an operator. Class 2: Fixed-Sequence Robot: A device that performs the successive 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 easy to modify. Class 4: Playback Robot: A human operator performs the task manually by leading the robot, which records the motions for later playback. The robot repeats the same motions according to the recorded information.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Classication of robots according to JIRA (cont.)

Class 5: Numerical Control Robot: The operator supplies the robot with a movement program rather than teaching the tasks manually. Class 6: Intelligent Robot: A robot with the means to understand its environment and the ability to successfully complete a task despite changes in the surrounding conditions under which it is to be performed.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Classication of robots according to JIRA (cont.)

Class 5: Numerical Control Robot: The operator supplies the robot with a movement program rather than teaching the tasks manually. Class 6: Intelligent Robot: A robot with the means to understand its environment and the ability to successfully complete a task despite changes in the surrounding conditions under which it is to be performed. This course deals with Class 5 robots.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Actuators
Devices that are able to apply forces on objects and thus can change the state of the world. Actuators convert signals of a controller into mechanical energy (motion). Electric motors: usually work by electro- magnetism, but motors based on electrostatic forces or the piezoelectric eect also exist. Pneumatic cylinders: use the pressure of compressed gas to convert potential energy into kinetic energy. Hydraulic cylinders: get their power from a hydraulic uid under pressure and transform the uids energy to linear work.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Key features of Actuator technologies


Feature Size Price Good for Power-to-weight ratio Stiness Electric small cheap rotation average low Pneumatic small-big average translation low low Hydraulic big expensive translation high high

The higher the power-to-weight ratio, the fewer reduction gears are required. This leads to a simpler and more reliable actuator. Sti systems react faster and more precise to changing loads and pressure. They are more accurate but can cause damage to gripped and surrounding parts more easily.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Joint Types

Rotational/Revolute joint: Most frequently used joint in robotics. Usually electrically driven either by servomotors or stepper motors. Translational/Prismatic joint: Driven by hydraulic or pneumatic cylinders.
Rotational Joint Translational Joint Revolver Joint Torsional Joint

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Manipulators Terminology
For a concise description of a manipulator, the joint types are abbreviated and arranged in order of their appearance from the rst joint to the last joint. A cartesian manipulator has 3 consecutive prismatic joints, which can be abbriviated by PPP, or 3P. Usually, the rst 3 DOFs are used to position the hand, while following DOFs are used to rotate the hand. Further Examples:
Cylindric manipulator: R2P Spherical manipulator: 2RP Articulated manipulator: 3R

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Workspace of a manipulator
Workspace (WS): The set of positions that the manipulator can reach. Dextrous Workspace: The set of positions where the manipulator can be positiond with an arbitrary orientation.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Some denitions

WS-position of a manipulator: Position of the endeector in the WS. WS-pose of a manipulator: Pose (= position and orientation) of the endeector in the WS. WS-conguration of a manipulator: The pose of every link of the endeector is taken into account.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Conguration space of a manipulator


The conguration space (CS) of a manipulator with n DOFs has n dimensions. Each dimension of the CS represents the angle of one joint. A WS-conguration of a manipulator can be mapped to one or more CS-points by assigning every joint angle to the correspoding CS dimension. A CS-point of a manipulator can be mapped to a WS-conguration by assigning the value of each CS-dimension to the corresponding joint angle.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Descriptive power of dierent notations


Manipulators can have the same WS-position while having dierent WS-poses. Manipulators can have the same WS-pose while having dierent WS-congurations. Manipulators can have the same WS-conguration while having dierent CS-points.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Descriptive power of dierent notations


Manipulators can have the same WS-position while having dierent WS-poses. Manipulators can have the same WS-pose while having dierent WS-congurations. Manipulators can have the same WS-conguration while having dierent CS-points. Descriptive power of the presented notations: WS-Position WS-Pose WS-Conguration CS-point A B means that the cardinality of set B is equal or greater than the cardinality of set A. Since the mapping from set B to set A is surjective, an element in set A corresponds to at least one element in set B.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Manipulator Design

Deals with the problem of creating a manipulator that is most appropriate 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

Introduction

Introduction to Robotics

Mechanics
Branch of physics concerned with the behaviour of physical bodies when subjected to forces or displacements. Studies subsequent eects of the bodies on their environment. Example: Aristotle examined the way bodies behaved when they were thrown into the air. Consists of the research areas kinematics and dynamics. Depending on what physical body is studied, a dierent discipline of mechanics is used:
Rigid bodies: Newtonian, Lagrangian or Hamiltonian mechanics Spacecraft: Astrodynamics Fluids in motion: Fluid mechanics Fluids in equilibrium: Hydraulics

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Mechanics
Branch of physics concerned with the behaviour of physical bodies when subjected to forces or displacements. Studies subsequent eects of the bodies on their environment. Example: Aristotle examined the way bodies behaved when they were thrown into the air. Consists of the research areas kinematics and dynamics. Depending on what physical body is studied, a dierent discipline of mechanics is used:
Rigid bodies: Newtonian, Lagrangian or Hamiltonian mechanics Spacecraft: Astrodynamics Fluids in motion: Fluid mechanics Fluids in equilibrium: Hydraulics

There is no unied theory of mechanics.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Mechanics
Branch of physics concerned with the behaviour of physical bodies when subjected to forces or displacements. Studies subsequent eects of the bodies on their environment. Example: Aristotle examined the way bodies behaved when they were thrown into the air. Consists of the research areas kinematics and dynamics. Depending on what physical body is studied, a dierent discipline of mechanics is used:
Rigid bodies: Newtonian, Lagrangian or Hamiltonian mechanics Spacecraft: Astrodynamics Fluids in motion: Fluid mechanics Fluids in equilibrium: Hydraulics

There is no unied theory of mechanics. We are interested in rigid body motion.


Controlling Robot Manipulators

Introduction

Introduction to Robotics

Kinematics

Branch of mechanics which mathematically describes the motion 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 dening its orientation in space (3 Euler angles).

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Robot Kinematics
A manipulator must have at least 6 DOFs, so that it can be positioned in space at any desired position in any desired orientation. A 7th DOF can improve the dexterity of the manipulator, which means that the manipulator can keep the endeector pose 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 types of available joints.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Forward Kinematics
Task: Compute the manipulators endeector pose in cartesian space, when all joint angles are given. Input: All joint angles of a manipulator. Output: Position and orientation (=pose) of the endeector. Solution: Can be computed easily by multiple matrix multiplications.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Forward Kinematics
Task: Compute the manipulators endeector pose in cartesian space, when all joint angles are given. Input: All joint angles of a manipulator. Output: Position and orientation (=pose) of the endeector. Solution: Can be computed easily by multiple matrix multiplications. Example: A manipulator with three rotational joints (RRR) with each link being one unit long has the following joint angles: 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 y

x
Controlling Robot Manipulators

Introduction

Introduction to Robotics

Inverse Kinematics
Task: Compute the manipulators joint angles in conguration space, when a workspace pose of the endeector is given. Input: Position and orientation (=pose) of the endeector. Output: All joint angles of a manipulator. Solution: For special arrangements of the joints, the inverse kinematics can be solved by analytical solutions where each joint angle can be computed by setting the WS-pose into a mathematical formula. Otherwise iterative algorithms are used that converge to a solution if one exists.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Inverse Kinematics
Task: Compute the manipulators joint angles in conguration space, when a workspace pose of the endeector is given. Input: Position and orientation (=pose) of the endeector. Output: All joint angles of a manipulator. Solution: For special arrangements of the joints, the inverse kinematics can be solved by analytical solutions where each joint angle can be computed by setting the WS-pose into a mathematical formula. Otherwise iterative algorithms are used that converge to a solution if one exists. Note: There are usually many solutions to an inverse kinematics query! A short explanation is that there are usually many CS-points for a WS-pose (see slide on Descriptive power of dierent notations).
Controlling Robot Manipulators

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 more complex than kinematic equations. Human people mainly take dynamical aspects of objects into account when planning their movements and controlling their muscles. For example if a human lifts a bottle of milk, he adjusts the gripping and lifting force to the friction and weight of the bottle.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Forward and Inverse Dynamics

Forward Dynamics: Compute the resulting motion, when a certain muscle activation (muscle control) is given. Inverse Dynamics: Compute the required muscle activation when a certain motion is given. Newtonian mechanics or Lagrangian mechanics can be used in the eld of dynamic analysis.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Internal Model
A representation of kinematics and dynamics of a certain movement task in the central nervous system. Includes kinematic and dynamic forward and inverse models and is used by humans to predict what eect a certain muscle activation will have or how to activate a muscle, when a certain movement is required. Internal models for tasks like cycling are learned by executing the task and analyzing the result. A continuous adaptation of motion models can be required (when changing to a new bike).

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Motion Planning
Task: Compute a collision-free path from a current state to a goal state. Input: Initial and goal CS-point of a manipulator. Output: A list of waypoints. Solution: There are many approaches to solve the problem which are more or less appropriate for a certain motion planning problem. Possible aspects that should be taken into account before choosing a certain planning algorithm are
Navigation vs. Manipulator planning Static vs. Dynamic environment Online vs. Oine planning Geometric vs. Sampling-based algorithms 2d vs. 3d motion planning Workspace vs. Conguration space planning
Controlling Robot Manipulators

Introduction

Introduction to Robotics

Trajectory Planning

Motion Planning deals with collision-free paths, which is a sequence of robot congurations without regard to the timing of these congurations. A trajectory is concerned about when each part of the path must be attained. So timing is mandatory and the velocities and accelerations along the path must be specied to get a trajectory. Trajectory planning requires the use of kinematics and dynamics.

Controlling Robot Manipulators

Introduction

Introduction to Robotics

Robot control
Input: A desired state like goToPose(x, y) Output: Set the currents of electro motors (or the air pressure of pneumatic cylinders) The problem of controlling a real robot is dicult because
The dynamics of physical bodies have to be considered Natural processes are noisy The world cannot be observed completely

Example: To grasp a bottle of milk and ll it into a glas, the robot has to estimate
A satisfying grasp position The force for lifting the bottle of milk The force to grasp the bottle without slip, but not crushing it Eventually change the grasping position when the distribution of weight changes
Controlling Robot Manipulators

Potrebbero piacerti anche