logo资料库

Robotics, Vision and Control ——Fundamental Algorithms in Matlab ....pdf

第1页 / 共572页
第2页 / 共572页
第3页 / 共572页
第4页 / 共572页
第5页 / 共572页
第6页 / 共572页
第7页 / 共572页
第8页 / 共572页
资料共572页,剩余部分请下载后查看
Cover
Contents
Nomenclature
Introduction
About the Book
The MATLAB Software
Audience and Prerequisites
Notation and Conventions
How to Use the Book
Teaching with the Book
Outline
Part I Foundations
Representing Position and Orientation
Representing Pose in 2-Dimensions
Representing Pose in 3-Dimensions
Representing Orientation in 3-Dimensions
Combining Translation and Orientation
Wrapping Up
Time and Motion
Trajectories
Smooth One-Dimensional Trajectories
Multi-Dimensional Case
Interpolation of Orientation in 3D
Cartesian Motion
Time Varying Coordinate Frames
Rotating Coordinate Frame
Incremental Motion
Inertial Navigation Systems
Wrapping Up
Part II Mobile Robots
Mobile Robot Vehicles
Mobility
Car-like Mobile Robots
Moving to a Point
Following a Line
Following a Path
Moving to a Pose
Flying Robots
Wrapping Up
Navigation
Reactive Navigation
Braitenberg Vehicles
Simple Automata
Map-Based Planning
Distance Transform
D*
Voronoi Roadmap Method
Probabilistic Roadmap Method
RRT
Wrapping Up
Localization
Dead Reckoning
Modeling the Vehicle
Estimating Pose
Using a Map
Creating a Map
Localization and Mapping
Monte-Carlo Localization
Wrapping Up
Part III Arm-Type Robots
Robot Arm Kinematics
Describing a Robot Arm
Forward Kinematics
A 2-Link Robot
A 6-Axis Robot
Inverse Kinematics
Closed-Form Solution
Numerical Solution
Under-Actuated Manipulator
Redundant Manipulator
Trajectories
Joint-Space Motion
Cartesian Motion
Motion through a Singularity
Configuration Change
Advanced Topics
Joint Angle Offsets
Determining Denavit-Hartenberg Parameters
Modified Denavit-Hartenberg Notation
Application: Drawing
Application: a Simple Walking Robot
Kinematics
Motion of One Leg
Motion of Four Legs
Wrapping Up
Velocity Relationships
Manipulator Jacobian
Transforming Velocities between Coordinate Frames
Jacobian in the End-Effector Coordinate Frame
Analytical Jacobian
Jacobian Condition and Manipulability
Resolved-Rate Motion Control
Jacobian Singularity
Jacobian for Under-Actuated Robot
Jacobian for Over-Actuated Robot
Force Relationships
Transforming Wrenches between Frames
Transforming Wrenches to Joint Space
Inverse Kinematics: a General Numerical Approach
Wrapping Up
Dynamics and Control
Equations of Motion
Gravity Term
Inertia Matrix
Coriolis Matrix
Effect of Payload
Base Force
Dynamic Manipulability
Drive Train
Forward Dynamics
Manipulator Joint Control
Actuators
Independent Joint Control
Rigid-Body Dynamics Compensation
Flexible Transmission
Wrapping Up
Part IV Computer Vision
Light and Color
Spectral Representation of Light
Absorption
Reflection
Color
Reproducing Colors
Chromaticity Space
Color Names
Other Color Spaces
Transforming between Different Primaries
What Is White?
Advanced Topics
Color Constancy
White Balancing
Color Change Due to Absorption
Gamma
Application: Color Image
Wrapping Up
Image Formation
Perspective Transform
Lens Distortion
Camera Calibration
Homogeneous Transformation Approach
Decomposing the Camera Calibration Matrix
Pose Estimation
Camera Calibration Toolbox
Non-Perspective Imaging Models
Fisheye Lens Camera
Catadioptric Camera
Spherical Camera
Unified Imaging
Mapping Wide-Angle Images to the Sphere
Synthetic Perspective Images
Wrapping Up
Image Processing
Obtaining an Image
Images from Files
Images from an Attached Camera
Images from a Movie File
Images from the Web
Images from Code
Monadic Operations
Diadic Operations
Spatial Operations
Convolution
Template Matching
Non-Linear Operations
Shape Changing
Cropping
Image Resizing
Image Pyramids
Image Warping
Wrapping Up
Image Feature Extraction
Region Features
Classification
Representation
Description
Recap
Line Features
Point Features
Scale-Space Corner Detectors
Wrapping Up
Using Multiple Images
Feature Correspondence
Geometry of Multiple Views
The Fundamental Matrix
The Essential Matrix
Estimating the Fundamental Matrix
Planar Homography
Stereo Vision
Sparse Stereo
Dense Stereo Matching
Peak Refinement
Cleaning up and Reconstruction
3D Texture Mapped Display
Anaglyphs
Image Rectification
Plane Fitting
Matching Sets of 3D Points
Structure and Motion
Application: Perspective Correction
Application: Mosaicing
Application: Image Matching and Retrieval
Application: Image Sequence Processing
Wrapping Up
Part V Robotics, Vision and Control
Vision-Based Control
Position-Based Visual Servoing
Image-Based Visual Servoing
Camera and Image Motion
Controlling Feature Motion
Depth
Performance Issues
Using Other Image Features
Line Features
Circle Features
Wrapping Up
Advanced Visual Servoing
XY/Z-Partitioned IBVS
IBVS Using Polar Coordinates
IBVS for a Spherical Camera
Application: Arm-Type Robot
Application: Mobile Robot
Holonomic Mobile Robot
Non-Holonomic Mobile Robot
Application: Aerial Robot
Wrapping Up
Appendices
Installing the Toolboxes
Simulink
MATLAB Objects
Linear Algebra Refresher
Ellipses
Gaussian Random Variables
Jacobians
Kalman Filter
Homogeneous Coordinates
Graphs
Peak Finding
Bibliography
Index
00730381.pdf
Using Multiple Images
Feature Correspondence
Geometry of Multiple Views
The Fundamental Matrix
The Essential Matrix
Estimating the Fundamental Matrix
Planar Homography
Stereo Vision
Sparse Stereo
Dense Stereo Matching
Peak Refinement
Cleaning up and Reconstruction
3D Texture Mapped Display
Anaglyphs
Image Rectification
Plane Fitting
Matching Sets of 3D Points
Structure and Motion
Application: Perspective Correction
Application: Mosaicing
Application: Image Matching and Retrieval
Application: Image Sequence Processing
Wrapping Up
Peter Corke Robotics, Vision and Control FUNDAMENTAL ALGORITHMS IN MATLAB® 123
Springer Tracts in Advanced Robotics Volume 73 Editors: Bruno Siciliano · Oussama Khatib
Peter Corke Robotics, Vision and Control Fundamental Algorithms in MATLAB® With 393 Images Additional material is provided at www.petercorke.com/RVC
Professor Bruno Siciliano Dipartimento di Informatica e Sistemistica, Università di Napoli Federico II, Via Claudio 21, 80125 Napoli, Italy, E-mail: siciliano@unina.it Professor Oussama Khatib Artificial Intelligence Laboratory, Department of Computer Science, Stanford University, Stanford, CA 94305-9010, USA, E-mail: khatib@cs.stanford.edu Author Peter Corke School of Electrical Engineering and Computer Science Queensland University of Technology (QUT) Brisbane QLD 4000 Australia e-mail: rvc@petercorke.com ISBN 978-3-642-20143-1 e-ISBN 978-3-642-20144-8 DOI 10.1007/978-3-642-20144-8 Springer Tracts in Advanced Robotics ISSN 1610-7438 Library of Congress Control Number: 2011934624 © Springer-Verlag Berlin Heidelberg, first edition 2011, corrected second printing 2013 This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitations, broad- casting, reproduction on microfilm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable to prosecution under the German Copyright Law. The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the rel- evant protective laws and regulations and therefore free for general use. Production: Armin Stasch and Scientific Publishing Services Pvt. Ltd. Chennai, India Typesetting and layout: Büro Stasch · Bayreuth (stasch@stasch.com) Printed on acid-free paper 9 8 7 6 5 4 3 2 springer.com
Editorial Advisory Board Oliver Brock, TU Berlin, Germany Herman Bruyninckx, KU Leuven, Belgium Raja Chatila, LAAS, France Henrik Christensen, Georgia Tech, USA Peter Corke, Queensland Univ. Technology, Australia Paolo Dario, Scuola S. Anna Pisa, Italy Rüdiger Dillmann, Univ. Karlsruhe, Germany Ken Goldberg, UC Berkeley, USA John Hollerbach, Univ. Utah, USA Makoto Kaneko, Osaka Univ., Japan Lydia Kavraki, Rice Univ., USA Vijay Kumar, Univ. Pennsylvania, USA Sukhan Lee, Sungkyunkwan Univ., Korea Frank Park, Seoul National Univ., Korea Tim Salcudean, Univ. British Columbia, Canada Roland Siegwart, ETH Zurich, Switzerland Gaurav Sukhatme, Univ. Southern California, USA Sebastian Thrun, Stanford Univ., USA Yangsheng Xu, Chinese Univ. Hong Kong, PRC Shin’ichi Yuta, Tsukuba Univ., Japan STAR (Springer Tracts in Advanced Robotics) has been promoted un- der the auspices of EURON (European Robotics Research Network)
To my family Phillipa, Lucy and Madeline for their indulgence and support; my parents Margaret and David for kindling my curiosity; and to Lou Paul who planted the seed that became this book.
Foreword Once upon a time, a very thick document of a dissertation from a faraway land came to me for evaluation. Visual robot control was the thesis theme and Peter Corke was its author. Here, I am reminded of an excerpt of my comments, which reads, this is a masterful document, a quality of thesis one would like all of one’s students to strive for, knowing very few could attain – very well considered and executed. The connection between robotics and vision has been, for over two decades, the central thread of Peter Corke’s productive investigations and successful developments and implementations. This rare experience is bearing fruit in his new book on Robotics, Vision, and Control. In its melding of theory and application, this new book has con- siderably benefited from the author’s unique mix of academic and real-world appli- cation influences through his many years of work in robotic mining, flying, under- water, and field robotics. There have been numerous textbooks in robotics and vision, but few have reached the level of integration, analysis, dissection, and practical illustrations evidenced in this book. The discussion is thorough, the narrative is remarkably informative and accessible, and the overall impression is of a significant contribution for researchers and future investigators in our field. Most every element that could be considered as relevant to the task seems to have been analyzed and incorporated, and the effective use of Toolbox software echoes this thoroughness. The reader is taken on a realistic walkthrough the fundamentals of mobile robots, navigation, localization, manipulator-arm kinematics, dynamics, and joint-level con- trol, as well as camera modeling, image processing, feature extraction, and multi- view geometry. These areas are finally brought together through extensive discus- sion of visual servo system. In the process, the author provides insights into how complex problems can be decomposed and solved using powerful numerical tools and effective software. The Springer Tracts in Advanced Robotics (STAR) is devoted to bringing to the research community the latest advances in the robotics field on the basis of their significance and quality. Through a wide and timely dissemination of critical research developments in robotics, our objective with this series is to promote more exchanges and collaborations among the researchers in the community and contribute to fur- ther advancements in this rapidly growing field. Peter Corke brings a great addition to our STAR series with an authoritative book, reaching across fields, thoughtfully conceived and brilliantly accomplished. Oussama Khatib Stanford, California July 2011
Preface Tell me and I will forget. Show me and I will remember. Involve me and I will understand. Chinese proverb The practice of robotics and machine vision involves the application of algorithms to data. The data comes from sensors measuring the velocity of a wheel, the angle of a robot arm’s joint or the intensities of millions of pixels that comprise an image of the world that the robot is observing. For many robotic applications the amount of data that needs to be processed, in real-time, is massive. For vision it can be of the order of tens to hundreds of megabytes per second. Progress in robots and machine vision has been, and continues to be, driven by more effective ways to process data. This is achieved through new and more efficient algorithms, and the dramatic increase in computational power that follows Moore’s law. When I started in robotics and vision, in the mid 1980s, the IBM PC had been recently released – it had a 4.77 MHz 16-bit microprocessor and 16 kbytes (expand- able to 256 k) of memory. Over the intervening 25 years computing power has doubled 16 times which is an increase by a factor of 65 000. In the late 1980s systems capable of real-time image processing were large 19 inch racks of equipment such as shown in Fig. 0.1. Today there is far more computing in just a small corner of a modern microprocessor chip. Over the fairly recent history of robotics and machine vision a very large body of algorithms has been developed – a significant, tangible, and collective achievement of the research community. However its sheer size and complexity presents a barrier to somebody entering the field. Given the many algorithms from which to choose the obvious question is: What is the right algorithm for this particular problem? One strategy would be to try a few different algorithms and see which works best for the problem at hand but this raises the next question: How can I evaluate algorithm X on my own data without spending days coding and debugging it from the original research papers? Fig. 0.1. Once upon a time a lot of equipment was needed to do vision-based robot control. The author with a large rack full of image processing and robot control equipment (1992)
分享到:
收藏