Robotics, Vision and Control Fundamental Algorithms in MATLAB by Peter Corke
Contents of Robotics, Vision and Control
- 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 -Dimensions
- Representing Pose in -Dimensions
- Representing Orientation in -Dimensions
- Combining Translation and Orientation
- Wrapping Up
- Further Reading
- Exercises
- Time and Motion
- Trajectories
- Smooth One-Dimensional Trajectories
- Multi-Dimensional Case
- Multi-Segment Trajectories
- Interpolation of Orientation in D
- Cartesian Motion
- Time Varying Coordinate Frames
- Rotating Coordinate Frame
- Incremental Motion
- Inertial Navigation Systems
- Wrapping Up
- Further Reading
- Exercises
- 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
- Further Reading
- Exercises
- Navigation
- Reactive Navigation
- Braitenberg Vehicles
- Simple Automata
- Map-Based Planning
- Distance Transform
- Voronoi Roadmap Method
- Probabilistic Roadmap Method
- RRT
- Wrapping Up
- Further Reading
- Exercises
- Localization
- Dead Reckoning
- Modeling the Vehicle
- Estimating Pose
- Using a Map
- Creating a Map
- Localization and Mapping
- Monte-Carlo Localization
- Wrapping Up
- Further Reading
- Notes on Toolbox Implementation
- Exercises
- Part III. Arm-Type Robots
- Robot Arm Kinematics
- Describing a Robot Arm
- Forward Kinematics
- A -Link Robot
- A -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
- Further Reading
- The plot Method
- Exercises
- 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
- Further Reading
- Exercises
- Dynamics and Control
- Equations of Motion
- Gravity Term
- Inertia Matrix
- Coriolis Matrix
- Effect of Payload
- Base Force
- Dynamic Manipulability
- Drive Train
- Friction
- Forward Dynamics
- Manipulator Joint Control
- Actuators
- Independent Joint Control
- Rigid-Body Dynamics Compensation
- Flexible Transmission
- Wrapping Up
- Further Reading
- Exercises
- 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
- Further Reading
- Data Sources
- Exercises
- 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
- Further Reading
- Camera Classes
- Exercises
- 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
- Mathematical Morphology
- Noise Removal
- Boundary Detection
- Hit and Miss Transform
- Shape Changing
- Cropping
- Image Resizing
- Image Pyramids
- Image Warping
- Wrapping Up
- Further Reading
- Sources of Image Data
- MATLAB® Software Tools
- General Software Tools
- Exercises
- Image Feature Extraction
- Region Features
- Classification
- Representation
- Description
- Recap
- Line Features
- Point Features
- Classical Corner Detectors
- Scale-Space Corner Detectors
- Wrapping Up
- Further Reading
- Exercises
- 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
- D Texture Mapped Display
- Anaglyphs
- Image Rectification
- Plane Fitting
- Matching Sets of D Points
- Structure and Motion
- Application: Perspective Correction
- Application: Mosaicing
- Application: Image Matching and Retrieval
- Application: Image Sequence Processing
- Wrapping Up
- Further Reading
- Resources
- Exercises
- 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
- Further Reading
- Exercises
- 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