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