Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Sommersemester 2008
Introduction
Introduction to Robotics
Software
Roboop GLroboop
Software
Player Gazebo
Position Analysis
Vectors in Space Frames Transformations
Further topics
Trajectory Planning Modern Control Methods
Introduction
Introduction to Robotics
Outline
Introduction
Introduction to Robotics
Outline
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
Introduction
Introduction to Robotics
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
Introduction
Introduction to Robotics
Introduction
Introduction to Robotics
Outline
Introduction
Introduction to Robotics
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
Introduction
Introduction to Robotics
actuators
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
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.
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
Introduction
Introduction to Robotics
Introduction
Introduction to Robotics
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.
Introduction
Introduction to Robotics
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.
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.
Introduction
Introduction to Robotics
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.
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
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
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.
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.
Introduction
Introduction to Robotics
Introduction
Introduction to Robotics
Introduction
Introduction to Robotics
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?
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
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
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
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).
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.
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.
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.
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.
Introduction
Introduction to Robotics
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.
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).
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.
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