# Robotics, Vision and Control Fundamental Algorithms in MATLAB

Robotics, Vision and Control Fundamental Algorithms in MATLAB by Peter Corke

## Contents of Robotics, Vision and Control

• Introduction
• 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
• 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
• Wrapping Up
• 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
• Exercises
• Braitenberg Vehicles
• Simple Automata
• Map-Based Planning
• Distance Transform
• RRT
• Wrapping Up
• Exercises
• Localization
• Modeling the Vehicle
• Estimating Pose
• Using a Map
• Creating a Map
• Localization and Mapping
• Monte-Carlo Localization
• Wrapping Up
• Notes on Toolbox Implementation
• Exercises
• Part III. Arm-Type Robots
• Robot Arm Kinematics
• Describing a Robot Arm
• Forward Kinematics
• 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
• 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
• 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
• Exercises
• Dynamics and Control
• Equations of Motion
• Gravity Term
• Inertia Matrix
• Coriolis Matrix
• Base Force
• Dynamic Manipulability
• Drive Train
• Friction
• Forward Dynamics
• Manipulator Joint Control
• Actuators
• Independent Joint Control
• Rigid-Body Dynamics Compensation
• Flexible Transmission
• Wrapping Up
• 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?
• Color Constancy
• White Balancing
• Color Change Due to Absorption
• Gamma
• Application: Color Image
• Wrapping Up
• 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
• Spherical Camera
• Unified Imaging
• Mapping Wide-Angle Images to the Sphere
• Synthetic Perspective Images
• Wrapping Up
• 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
• 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
• 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
• 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
• 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
• Exercises
• 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