Introduction to Robotics: Mechanics and Controls
Kaup valmöguleikar
This is the eBook of the printed book and may not include any media, website access codes, or print supplements that may come packaged with the bound book. For senior-year undergraduate and first-year graduate courses in robotics. An intuitive introduction to robotic theory and application Since its original publication in 1986, Craig’s Introduction to Robotics: Mechanics and Control has been the leading textbook for teaching robotics at the university level.
Blending traditional mechanical engineering material with computer science and control theoretical concepts, the text covers a range of topics, including rigid-body transformations, forward and inverse positional kinematics, velocities and Jacobians of linkages, dynamics, linear and non-linear control, force control methodologies, mechanical design aspects, and robotic programming. The 4th Edition features a balance of application and theory, introducing the science and engineering of mechanical manipulation--establishing and building on foundational understanding of mechanics, control theory, and computer science.
Nánar um bókina
- Pearson Education (US)
- 9780133489835
- 9780133489798
- ePub
- 4
- John J. Craig
- English
- 2017-03-03
- 100
- 2
- 2
Kaflar
- Contents
- Introduction to Robotics Mechanics and Control
- Contents
- Preface
- Chapter 1 Introduction
- 1.1 Background
- 1.2 The Mechanics and Control of Mechanical Manipulators
- Description of Position and Orientation
- Forward Kinematics of Manipulators
- Inverse Kinematics of Manipulators
- Velocities, Static Forces, Singularities
- Dynamics
- Trajectory Generation
- Manipulator Design and Sensors
- Linear Position Control
- Nonlinear Position Control
- Force Control
- Programming Robots
- Off-Line Programming and Simulation
- 1.3 Notation
- Bibliography
- General-Reference Books
- General-Reference Journals and Magazines
- Exercises
- Programming Exercise (Part 1)
- Matlab Exercise 1
- Chapter 2 Spatial Descriptions and Transformations
- 2.1 Introduction
- 2.2 Descriptions: Positions, Orientations, and Frames
- Description of a Position
- Description of an Orientation
- Description of a Frame
- 2.3 Mappings: Changing Descriptions from Frame to Frame
- Mappings Involving Translated Frames
- Mappings Involving Rotated Frames
- Mappings Involving General Frames
- 2.4 Operators: Translations, Rotations, and Transformations
- Translational Operators
- Rotational Operators
- Transformation Operators
- 2.5 Summary of Interpretations
- 2.6 Transformation Arithmetic
- Compound Transformations
- Inverting a Transform
- 2.7 Transform Equations
- 2.8 More on Representation of Orientation
- X–Y–Z Fixed Angles
- Z–Y–X Euler Angles
- Z–Y–Z Euler Angles
- Other Angle-Set Conventions
- Equivalent Angle–Axis Representation
- Euler Parameters
- Taught and Predefined Orientations
- 2.9 Transformation of Free Vectors
- 2.10 Computational Considerations
- Bibliography
- Exercises
- Programming Exercise (Part 2)
- Matlab Exercise 2A
- Matlab Exercise 2B
- Chapter 3 Manipulator Kinematics
- 3.1 Introduction
- 3.2 Link Description
- 3.3 Link-Connection Description
- Intermediate Links in the Chain
- First and Last Links in the Chain
- Link Parameters
- 3.4 Convention for Affixing Frames to Links
- Intermediate Links in the Chain
- First and Last Links in the Chain
- Summary of the Link Parameters in Terms of the Link Frames
- Summary of Link-Frame Attachment Procedure
- 3.5 Manipulator Kinematics
- Derivation of Link Transformations
- Concatenating Link Transformations
- 3.6 Actuator Space, Joint Space, and Cartesian Space
- 3.7 Examples: Kinematics of Two Industrial Robots
- The PUMA 560
- The Yasukawa Motoman L-3
- 3.8 Frames with Standard Names
- The Base Frame, {B}
- The Station Frame, {S}
- The Wrist Frame, {W}
- The Tool Frame, {T}
- The Goal Frame, {G}
- 3.9 Where is the Tool?
- 3.10 Computational Considerations
- Bibliography
- Exercises
- Programming Exercise (Part 3)
- Matlab Exercise 3
- Chapter 4 Inverse Manipulator Kinematics
- 4.1 Introduction
- 4.2 Solvability
- Existence of Solutions
- Multiple Solutions
- Method of Solution
- 4.3 The Notion of Manipulator Subspace When n<6
- 4.4 Algebraic vs. Geometric
- Algebraic Solution
- Geometric Solution
- 4.5 Algebraic Solution by Reduction to Polynomial
- 4.6 Pieper’s Solution When Three Axes Intersect
- 4.7 Examples of Inverse Manipulator Kinematics
- The Unimation PUMA 560
- The Yasukawa Motoman L-3
- 4.8 The Standard Frames
- 4.9 Solve-ing a Manipulator
- 4.10 Repeatability and Accuracy
- 4.11 Computational Considerations
- Bibliography
- Exercises
- Programming Exercise (Part 4)
- Matlab Exercise 4
- Chapter 5 Jacobians: Velocities and Static Forces
- 5.1 Introduction
- 5.2 Notation for Time-Varying Position and Orientation
- Differentiation of Position Vectors
- The Angular Velocity Vector
- 5.3 Linear and Rotational Velocity of Rigid Bodies
- Linear Velocity
- Rotational Velocity
- Simultaneous Linear and Rotational Velocity
- 5.4 More on Angular Velocity
- A Property of the Derivative of an Orthonormal Matrix
- Velocity of a Point Due to Rotating Reference Frame
- Skew-Symmetric Matrices and the Vector Cross-Product
- Gaining Physical Insight Concerning the Angular-Velocity Vector
- Other Representations of Angular Velocity
- 5.5 Motion of the Links of a Robot
- 5.6 Velocity “Propagation” from Link to Link
- 5.7 Jacobians
- Changing a Jacobian’s Frame of Reference
- 5.8 Singularities
- 5.9 Static Forces in Manipulators
- 5.10 Jacobians in the Force Domain
- 5.11 Cartesian Transformation of Velocities and Static Forces
- Bibliography
- Exercises
- Programming Exercise (Part 5)
- Matlab Exercise 5
- Chapter 6 Manipulator Dynamics
- 6.1 Introduction
- 6.2 Acceleration of a Rigid Body
- Linear Acceleration
- Angular Acceleration
- 6.3 Mass Distribution
- 6.4 Newton’s Equation, Euler’s Equation
- Newton’s Equation
- Euler’s Equation
- 6.5 Iterative Newton Euler Dynamic Formulation
- Outward Iterations to Compute Velocities and Accelerations
- The Force and Torque Acting on a Link
- Inward Iterations to Compute Forces and Torques
- The Iterative Newton–Euler Dynamics Algorithm
- Inclusion of Gravity Forces in the Dynamics Algorithm
- 6.6 Iterative vs. Closed Form
- 6.7 An Example of Closed-Form Dynamic Equations
- 6.8 The Structure of a Manipulator’s Dynamic Equations
- The State-Space Equation
- The Configuration-Space Equation
- 6.9 Lagrangian Formulation of Manipulator Dynamics
- 6.10 Formulating Manipulator Dynamics in Cartesian Space
- The Cartesian State-Space Equation
- The Cartesian Configuration Space Torque Equation
- 6.11 Inclusion of Nonrigid Body Effects
- 6.12 Dynamic Simulation
- 6.13 Computational Considerations
- A Historical Note Concerning Efficiency
- Efficiency of Closed Form vs. that of Iterative Form
- Efficient Dynamics for Simulation
- Memorization Schemes
- Bibliography
- Exercises
- Programming Exercise (Part 6)
- Matlab Exercise 6A
- Matlab Exercise 6B
- Matlab Exercise 6C
- Chapter 7 Trajectory Generation
- 7.1 Introduction
- 7.2 General Considerations in Path Description and Generation
- 7.3 Joint-Space Schemes
- Cubic Polynomials
- Cubic Polynomials for a Path with via Points
- Higher-Order Polynomials
- Linear Function with Parabolic Blends
- Linear Function with Parabolic Blends for a Path with via Points
- 7.4 Cartesian-Space Schemes
- Cartesian Straight-Line Motion
- 7.5 Geometric Problems with Cartesian Paths
- Problems of Type 1: Intermediate Points Unreachable
- Problems of Type 2: High Joint Rates Near Singularity
- Problems of Type 3: Start and Goal Reachable in Different Solutions
- 7.6 Path Generation at Run Time
- Generation of Joint-Space Paths
- Generation of Cartesian-Space Paths
- 7.7 Description of Paths with a Robot Programming Language
- 7.8 Planning Paths When Using the Dynamic Model
- 7.9 Collision-Free Path Planning
- Bibliography
- Exercises
- Programming Exercise (Part 7)
- Matlab Exercise 7
- Chapter 8 Manipulator-Mechanism Design
- 8.1 Introduction
- 8.2 Basing the Design on Task Requirements
- Number of Degrees of Freedom
- Workspace
- Load Capacity
- Speed
- Repeatability and Accuracy
- 8.3 Kinematic Configuration
- Cartesian
- Articulated
- SCARA
- Spherical
- Cylindrical
- Wrists
- 8.4 Quantitative Measures of Workspace Attributes
- Efficiency of Design in Terms of Generating Workspace
- Designing Well-Conditioned Workspaces
- 8.5 Redundant and Closed-Chain Structures
- Micromanipulators and Other Redundancies
- Closed-Loop Structures
- 8.6 Actuation Schemes
- Actuator Location
- Reduction and Transmission Systems
- 8.7 Stiffness and Deflections
- Flexible Elements in Parallel and in Series
- Shafts
- Gears
- Belts
- Links
- Actuators
- 8.8 Position Sensing
- 8.9 More on Optical Encoders
- 8.10 Force Sensing
- Force-Sensor Design Issues
- Bibliography
- Exercises
- Programming Exercise (Part 8)
- Matlab Exercise 8
- Chapter 9 Linear Control of Manipulators
- 9.1 Introduction
- 9.2 Feedback and Closed-Loop Control
- 9.3 Second-Order Linear Systems
- Real and Unequal Roots
- Complex Roots
- Real and Equal Roots
- 9.4 Control of Second-Order Systems
- 9.5 Control-Law Partitioning
- 9.6 Trajectory-Following Control
- 9.7 Disturbance Rejection
- Steady-State Error
- Addition of an Integral Term
- 9.8 Continuous vs. Discrete Time Control
- 9.9 Modeling and Control of a Single Joint
- Motor-Armature Inductance
- Effective Inertia
- Unmodeled Flexibility
- Estimating Resonant Frequency
- Control of a Single Joint
- 9.10 Architecture of an Industrial-Robot Controller
- Bibliography
- Exercises
- Programming Exercise (Part 9)
- Matlab Exercise 9
- Chapter 10 Nonlinear Control of Manipulators
- 10.1 Introduction
- 10.2 Nonlinear and Time-Varying Systems
- 10.3 Multi-Input, Multi-Output Control Systems
- 10.4 The Control Problem for Manipulators
- 10.5 Practical Considerations
- Time Required to Compute the Model
- Feedforward Nonlinear Control
- Dual-Rate Computed-Torque Implementation
- Lack of Knowledge of Parameters
- 10.6 Current Industrial-Robot Control Systems
- Individual-Joint PID Control
- Addition of Gravity Compensation
- Various Approximations of Decoupling Control
- 10.7 Lyapunov Stability Analysis
- 10.8 Cartesian-Based Control Systems
- Comparison with Joint-Based Schemes
- Intuitive Schemes of Cartesian Control
- Cartesian Decoupling Scheme
- 10.9 Adaptive Control
- Bibliography
- Exercises
- Programming Exercise (Part 10)
- Chapter 11 Force Control of Manipulators
- 11.1 Introduction
- 11.2 Application of Industrial Robots to Assembly Tasks
- 11.3 A Framework for Control in Partially Constrained Tasks
- 11.4 The Hybrid Position/Force Control Problem
- 11.5 Force Control of a Mass Spring System
- 11.6 The Hybrid Position/Force Control Scheme
- A Cartesian Manipulator Aligned with {C}
- A General Manipulator
- Adding Variable Stiffness
- 11.7 Current Industrial-Robot Control Schemes
- Passive Compliance
- Compliance through Softening Position Gains
- Force Sensing
- Bibliography
- Exercises
- Programming Exercise (Part 11)
- Chapter 12 Robot Programming Languages and Systems
- 12.1 Introduction
- 12.2 The Three Levels of Robot Programming
- Teach by Showing
- Explicit Robot Programming Languages
- Task-Level Programming Languages
- 12.3 A Sample Application
- 12.4 Requirements of a Robot Programming Language
- World Modeling
- Motion Specification
- Flow of Execution
- Programming Environment
- Sensor Integration
- 12.5 Problems Peculiar to Robot Programming Languages
- Internal World Model versus External Reality
- Context Sensitivity
- Error Recovery
- Bibliography
- Exercises
- Programming Exercise (Part 12)
- Chapter 13 Off-Line Programming Systems
- 13.1 Introduction
- 13.2 Central Issues in OLP Systems
- User Interface
- 3-D Modeling
- Kinematic Emulation
- Path-Planning Emulation
- Dynamic Emulation
- Multiprocess Simulation
- Simulation of Sensors
- Language Translation to Target System
- Workcell Calibration
- 13.3 The ‘Pilot’ Simulator
- Physical Modeling and Interactive Systems
- Geometric Algorithms for Part Tumbling
- Stable-State Probabilities
- Adjusting Probabilities as a Function of Drop Height
- Simulation of Bounce
- Simulation of Stacking and Tangling
- Geometric Algorithms for Part Grasping
- Computing Which Part to Grasp
- Computation of Default Grasp Location
- Computation of Alignment of the Part During Grasp
- Geometric Algorithms for Part Pushing
- Geometric Algorithms for Tray Conveyors
- Connecting Tray Conveyors and Sources and Sinks
- Pushing of Trays
- Geometric Algorithms for Sensors
- Proximity Sensors
- 2-D Vision Systems
- Inspector Sensors
- Conclusion
- 13.4 Automating Subtasks in OLP Systems
- Automatic Robot Placement
- Collision Avoidance and Path Optimization
- Automatic Planning of Coordinated Motion
- Force-Control Simulation
- Automatic Scheduling
- Automatic Assessment of Errors and Tolerances
- Bibliography
- Exercises
- Programming Exercise (Part 13)
- Appendix A Trigonometric Identities
- Appendix B The 24 Angle-Set Conventions
- Appendix C Some Inverse-Kinematic Formulas
- Solutions to Selected Exercises
- Chapter 2 Spatial Descriptions and Transformations Exercises
- Chapter 3 Manipulator Kinematics Exercises
- Chapter 5 Jacobians: Velocities and Static Forces Exercises
- Chapter 6 Manipulator Dynamics Exercises
- Chapter 7 Trajectory Generation Exercises
- Chapter 10 Nonlinear Control of Manipulators Exercises
- Chapter 11 Force Control of Manipulators Exercises
- Index