Upload
abhishek-chowdhury
View
37
Download
0
Embed Size (px)
Citation preview
Controlling Robot Manipulators
Alexis Maldonado, Andreas Fedrizzi
Lehrstuhl fur Informatik IXTechnische Universitat Munchen
Sommersemester 2008
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
Introduction Introduction to Robotics
Outline
1 Information about this course
2 Introduction to Robotics
Controlling Robot Manipulators
Introduction Introduction to Robotics
Outline
1 Information about this course
2 Introduction to Robotics
Controlling Robot Manipulators
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
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
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
Introduction Introduction to Robotics
Outline
1 Information about this course
2 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 talkingabout robot manipulation
Introduce the homework
Demo in the AssistiveKitchen
Controlling Robot Manipulators
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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