ENGLISH

Robotics and Control: Fundamental Algorithms in MATLAB®

Book information

Publisher
Springer
Year
2021
ISBN
3030791785, 9783030791780
Language
english
Format
PDF
Filesize
51 MB (53006235 bytes)
Series
Springer Tracts in Advanced Robotics
Volume
141
Edition
1
Pages
389\370
Time added
2021-10-20 13:03:28

Description

This textbook offers a tutorial introduction to robotics and control which is light and easy to absorb. The practice of robotics and control both involve the application of computational algorithms to data. Over the fairly recent history of the fields of robotics and control a very large body of algorithms has been developed. However this body of knowledge is something of a barrier for anybody entering the field, or even looking to see if they want to enter the field ― What is the right algorithm for a particular problem?, and importantly: How can I try it out without spending days coding and debugging it from the original research papers? The author has maintained two open-source MATLAB Toolboxes for more than 10 years: one for robotics and one for vision. The key strength of the Toolboxes provides a set of tools that allow the user to work with real problems, not trivial examples. For the student the book makes the algorithms accessible, the Toolbox code can be read to gain understanding, and the examples illustrate how it can be used ―instant gratification in just a couple of lines of MATLAB code. The code can also be the starting point for new work, for researchers or students, by writing programs based on Toolbox functions, or modifying the Toolbox code itself. The purpose of this book is to expand on the tutorial material provided with the toolboxes, add many more examples, and to weave this into a narrative that covers robotics and control separately and together. The author shows how complex problems can be decomposed and solved using just a few simple lines of code, and hopefully to inspire up and coming researchers. The topics covered are guided by the real problems observed over many years as a practitioner of both robotics and control. It is written in a light but informative style, it is easy to read and absorb, and includes a lot of Matlab examples and figures. The book is a real walk through the fundamentals of robot kinematics, dynamics and joint level control, and covers both mobile robots (control, path planning, navigation, localization and SLAM) and arm robots (forward and inverse kinematics, Jacobians, dynamics and joint level control). “An authoritative book, reaching across fields, thoughtfully conceived and brilliantly accomplished!” Oussama Khatib, Stanford Foreword Foreword to the Second Edition Preface Contents Nomenclature Chapter 1 Introduction 1.1 Robots, Jobs and Ethics 1.2 About the Book 1.2.1 MATLAB Software and the Toolboxes 1.2.2 Notation, Conventions and Organization 1.2.3 Audience and Prerequisites 1.2.4 Learning with the Book 1.2.5 Teaching with the Book 1.2.6 Outline Part I Foundations Chapter 2 Representing Position and Orientation 2.1 Working in Two Dimensions (2D) 2.1.1 Orientation in 2-Dimensions 2.1.2 Pose in 2-Dimensions 2.2 Working in Three Dimensions (3D) 2.2.1 Orientation in 3-Dimensions 2.2.2 Pose in 3-Dimensions 2.3 Advanced Topics 2.3.1 Normalization 2.3.2 Understanding the Exponential Mapping 2.3.3 More About Twists 2.3.4 Dual Quaternions 2.3.5 Configuration Space 2.4 Using the Toolbox 2.5 Wrapping Up Chapter 3 Time and Motion 3.1 Time-Varying Pose 3.1.1 Derivative of Pose 3.1.2 Transforming Spatial Velocities 3.1.3 Incremental Rotation 3.1.4 Incremental Rigid-Body Motion 3.2 Accelerating Bodies and Reference Frames 3.2.1 Dynamics of Moving Bodies 3.2.2 Transforming Forces and Torques 3.2.3 Inertial Reference Frame 3.3 Creating Time-Varying Pose 3.3.1 Smooth One-Dimensional Trajectories 3.3.2 Multi-Dimensional Trajectories 3.3.3 Multi-Segment Trajectories 3.3.4 Interpolation of Orientation in 3D 3.3.5 Cartesian Motion in 3D 3.4 Application: Inertial Navigation 3.4.1 Gyroscopes 3.4.2 Accelerometers 3.4.3 Magnetometers 3.4.4 Sensor Fusion 3.5 Wrapping Up Part II Mobile Robots Chapter 4 Mobile Robot Vehicles 4.1 Wheeled Mobile Robots 4.1.1 Car-Like Mobile Robots 4.1.2 Differentially-Steered Vehicle 4.1.3 Omnidirectional Vehicle 4.2 Flying Robots 4.3 Advanced Topics 4.3.1 Nonholonomic and Under-Actuated Systems 4.4 Wrapping Up Chapter 5 Navigation 5.1 Reactive Navigation 5.1.1 Braitenberg Vehicles 5.1.2 Simple Automata 5.2 Map-Based Planning 5.2.1 Distance Transform 5.2.2 D* 5.2.3 Introduction to Roadmap Methods 5.2.4 Probabilistic Roadmap Method (PRM) 5.2.5 Lattice Planner 5.2.6 Rapidly-Exploring Random Tree (RRT) 5.3 Wrapping Up Chapter 6 Localization 6.1 Dead Reckoning 6.1.1 Modeling the Vehicle 6.1.2 Estimating Pose 6.2 Localizing with a Map 6.3 Creating a Map 6.4 Localization and Mapping 6.5 Rao-Blackwellized SLAM 6.6 Pose Graph SLAM 6.7 Sequential Monte-Carlo Localization 6.8 Application: Scanning Laser Rangefinder 6.9 Wrapping Up Part III Arm-Type Robots Chapter 7 Robot Arm Kinematics 7.1 Forward Kinematics 7.1.1 2-Dimensional (Planar) Robotic Arms 7.1.2 3-Dimensional Robotic Arms 7.2 Inverse Kinematics 7.2.1 2-Dimensional (Planar) Robotic Arms 7.2.2 3-Dimensional Robotic Arms 7.3 Trajectories 7.3.1 Joint-Space Motion 7.3.2 Cartesian Motion 7.3.3 Kinematics in Simulink 7.3.4 Motion through a Singularity 7.3.5 Configuration Change 7.4 Advanced Topics 7.4.1 Joint Angle Offsets 7.4.2 Determining Denavit-Hartenberg Parameters 7.4.3 Modified Denavit-Hartenberg Parameters 7.5 Applications 7.5.1 Writing on a Surface [examples/drawing.m] 7.5.2 A Simple Walking Robot [examples/walking.m] 7.6 Wrapping Up Chapter 8 Manipulator Velocity 8.1 Manipulator Jacobian 8.1.1 Jacobian in the World Coordinate Frame 8.1.2 Jacobian in the End-Effector Coordinate Frame 8.1.3 Analytical Jacobian 8.2 Jacobian Condition and Manipulability 8.2.1 Jacobian Singularities 8.2.2 Manipulability 8.3 Resolved-Rate Motion Control 8.3.1 Jacobian Singularity 8.4 Under- and Over-Actuated Manipulators 8.4.1 Jacobian for Under-Actuated Robot 8.4.2 Jacobian for Over-Actuated Robot 8.5 Force Relationships 8.5.1 Transforming Wrenches to Joint Space 8.5.2 Force Ellipsoids 8.6 Inverse Kinematics: a General Numerical Approach 8.6.1 Numerical Inverse Kinematics 8.7 Advanced Topics 8.7.1 Computing the Manipulator Jacobian Using Twists 8.8 Wrapping Up Chapter 9 Dynamics and Control 9.1 Independent Joint Control 9.1.1 Actuators 9.1.2 Friction 9.1.3 Effect of the Link Mass 9.1.4 Gearbox 9.1.5 Modeling the Robot Joint 9.1.6 Velocity Control Loop 9.1.7 Position Control Loop 9.1.8 Independent Joint Control Summary 9.2 Rigid-Body Equations of Motion 9.2.1 Gravity Term 9.2.2 Inertia Matrix 9.2.3 Coriolis Matrix 9.2.4 Friction 9.2.5 Effect of Payload 9.2.6 Base Force 9.2.7 Dynamic Manipulability 9.3 Forward Dynamics 9.4 Rigid-Body Dynamics Compensation 9.4.1 Feedforward Control 9.4.2 Computed Torque Control 9.4.3 Operational Space Control 9.5 Applications 9.5.1 Series-Elastic Actuator (SEA) 9.6 Wrapping Up Appendices Appendix A Installing the Toolbox Appendix B Linear Algebra Refresher B.1 Vectors B.2 Matrices B.2.1 Square Matrices B.2.2 Nonsquare and Singular Matrices Appendix C Geometry C.1 Euclidean Geometry C.1.1 Points C.1.2 Lines C.1.3 Planes C.1.4 Ellipses and Ellipsoids C.2 Homogeneous Coordinates C.2.1 Two Dimensions C.2.2 Three Dimensions Appendix D Lie Groups and Algebras Appendix E Linearization, Jacobians and Hessians Appendix F Solving Systems of Equations F.1 Linear Problems F.1.1 Nonhomogeneous Systems F.1.2 Homogeneous Systems F.2 Nonlinear Problems F.2.1 Finding Roots F.2.2 Nonlinear Minimization F.2.3 Nonlinear Least Squares Minimization F.2.4 Sparse Nonlinear Least Squares Appendix G Gaussian Random Variables Appendix H Kalman Filter H.1 Linear Systems – Kalman Filter H.2 Nonlinear Systems – Extended Kalman Filter Appendix I Graphs Bibliography Index

Similar books