Preface |
|
xv | |
|
|
1 | (8) |
|
1.1 Intelligence and Embodiment |
|
|
1 | (1) |
|
1.2 A Roboticists' Problem |
|
|
2 | (1) |
|
1.3 Ratslife: An Example of Autonomous Mobile Robotics |
|
|
3 | (2) |
|
1.4 Autonomous Mobile Robots: Some Core Challenges |
|
|
5 | (1) |
|
1.5 Autonomous Manipulation: Some Core Challenges |
|
|
5 | (4) |
|
|
9 | (62) |
|
2 Locomotion, Manipulation, and Their Representations |
|
|
11 | (16) |
|
2.1 Locomotion and Manipulation Examples |
|
|
11 | (2) |
|
2.2 Static and Dynamic Stability |
|
|
13 | (1) |
|
|
14 | (4) |
|
2.4 Coordinate Systems and Frames of Reference |
|
|
18 | (9) |
|
|
19 | (2) |
|
2.4.2 Mapping from One Frame to Another |
|
|
21 | (2) |
|
2.4.3 Concatenation of Transformations |
|
|
23 | (1) |
|
2.4.4 Other Representations for Orientation |
|
|
24 | (3) |
|
|
27 | (26) |
|
|
28 | (5) |
|
3.1.1 Forward Kinematics of a Simple Robot Arm |
|
|
28 | (2) |
|
3.1.2 The Denavit-Hartenberg Notation |
|
|
30 | (3) |
|
|
33 | (2) |
|
|
33 | (1) |
|
3.2.2 Inverse Kinematics of a Simple Manipulator Arm |
|
|
34 | (1) |
|
3.3 Differential Kinematics |
|
|
35 | (9) |
|
3.3.1 Forward Differential Kinematics |
|
|
36 | (1) |
|
3.3.2 Forward Kinematics of a Differential-Wheel Robot |
|
|
37 | (6) |
|
3.3.3 Forward Kinematics of Carlike Steering |
|
|
43 | (1) |
|
3.4 Inverse Differential Kinematics |
|
|
44 | (9) |
|
3.4.1 Inverse Kinematics of Mobile Robots |
|
|
46 | (2) |
|
3.4.2 Feedback Control for Mobile Robots |
|
|
48 | (1) |
|
3.4.3 Under-actuation and Over-actuation |
|
|
49 | (4) |
|
|
53 | (8) |
|
|
54 | (2) |
|
4.2 Kineto-Statics Duality |
|
|
56 | (1) |
|
|
56 | (5) |
|
4.3.1 Manipulability Ellipsoid in Velocity Space |
|
|
56 | (1) |
|
4.3.2 Manipulability Ellipsoid in Force Space |
|
|
57 | (1) |
|
4.3.3 Manipulability Considerations |
|
|
58 | (3) |
|
|
61 | (10) |
|
5.1 The Theory of Grasping |
|
|
61 | (4) |
|
|
62 | (1) |
|
5.1.2 Multiple Contacts and Deformation |
|
|
63 | (1) |
|
|
64 | (1) |
|
5.2 Simple Grasping Mechanisms |
|
|
65 | (6) |
|
5.2.1 1-DoF Scissorlike Gripper |
|
|
65 | (1) |
|
|
66 | (1) |
|
5.2.3 4-Bar Linkage Parallel Gripper |
|
|
67 | (1) |
|
5.2.4 Multifingered Hands |
|
|
68 | (3) |
|
|
71 | (24) |
|
|
73 | (8) |
|
|
73 | (4) |
|
|
74 | (1) |
|
|
75 | (1) |
|
|
76 | (1) |
|
|
76 | (1) |
|
|
77 | (1) |
|
6.2 Hydraulic and Pneumatic Actuators |
|
|
77 | (2) |
|
6.2.1 Hydraulic Actuators |
|
|
78 | (1) |
|
6.2.2 Pneumatic Actuators and Soft Robotics |
|
|
78 | (1) |
|
6.3 Safety Considerations |
|
|
79 | (2) |
|
|
81 | (14) |
|
|
82 | (2) |
|
7.1.1 Proprioception versus Exteroception |
|
|
84 | (1) |
|
7.2 Sensors That Measure the Robot's Joint Configuration |
|
|
84 | (1) |
|
7.3 Sensors That Measure Ego-Motion |
|
|
85 | (2) |
|
|
85 | (1) |
|
|
86 | (1) |
|
|
87 | (2) |
|
7.4.1 Measuring Pressure or Touch |
|
|
88 | (1) |
|
7.5 Sensors to Measure Distance |
|
|
89 | (3) |
|
|
89 | (1) |
|
|
90 | (1) |
|
|
91 | (1) |
|
7.6 Sensors to Sense Global Pose |
|
|
92 | (3) |
|
|
95 | (94) |
|
|
97 | (12) |
|
8.1 Images as Two-Dimensional Signals |
|
|
97 | (1) |
|
8.2 From Signals to Information |
|
|
98 | (3) |
|
8.3 Basic Image Operations |
|
|
101 | (3) |
|
8.3.1 Threshold-Based Operations |
|
|
101 | (1) |
|
8.3.2 Convolution-Based Filters |
|
|
101 | (3) |
|
8.3.3 Morphological Operations |
|
|
104 | (1) |
|
8.4 Extracting Structure from Vision |
|
|
104 | (3) |
|
8.5 Computer Vision and Machine Learning |
|
|
107 | (2) |
|
|
109 | (10) |
|
9.1 Feature Detection as an Information-Reduction Problem |
|
|
109 | (1) |
|
|
110 | (1) |
|
|
111 | (3) |
|
9.3.1 Line Fitting Using Least Squares |
|
|
111 | (1) |
|
9.3.2 Split-and-Merge Algorithm |
|
|
112 | (1) |
|
9.3.3 RANSAC: Random Sample and Consensus |
|
|
113 | (1) |
|
9.3.4 The Hough Transform |
|
|
114 | (1) |
|
9.4 Scale-Invariant Feature Transforms |
|
|
114 | (3) |
|
|
115 | (1) |
|
9.4.2 Object Recognition Using Scale-Invariant Features |
|
|
116 | (1) |
|
9.5 Feature Detection and Machine Learning |
|
|
117 | (2) |
|
10 Artificial Neural Networks |
|
|
119 | (20) |
|
10.1 The Simple Perceptron |
|
|
120 | (3) |
|
10.1.1 Geometric Interpretation of the Simple Perceptron |
|
|
121 | (1) |
|
10.1.2 Training the Simple Perceptron |
|
|
122 | (1) |
|
10.2 Activation Functions |
|
|
123 | (1) |
|
10.3 From the Simple Perceptron to Multilayer Neural Networks |
|
|
124 | (3) |
|
10.3.1 Formal Description of Artificial Neural Networks |
|
|
124 | (2) |
|
10.3.2 Training a Multilayer Neural Network |
|
|
126 | (1) |
|
10.4 From Single Outputs to Higher Dimensional Data |
|
|
127 | (1) |
|
10.5 Objective Functions and Optimization |
|
|
128 | (3) |
|
10.5.1 Loss Functions for Regression Tasks |
|
|
128 | (1) |
|
10.5.2 Loss Functions for Classification Tasks |
|
|
129 | (1) |
|
10.5.3 Binary and Categorical Cross-Entropy |
|
|
130 | (1) |
|
10.6 Convolutional Neural Networks |
|
|
131 | (4) |
|
10.6.1 From Convolutions to 2D Neural Networks |
|
|
132 | (1) |
|
10.6.2 Padding and Striding |
|
|
133 | (1) |
|
|
133 | (1) |
|
|
134 | (1) |
|
|
134 | (1) |
|
10.6.6 Convolutional Networks beyond 2D Image Data |
|
|
135 | (1) |
|
10.7 Recurrent Neural Networks |
|
|
135 | (4) |
|
|
139 | (16) |
|
|
139 | (4) |
|
11.1.1 Limitations of Reactive Control |
|
|
141 | (2) |
|
11.2 Finite State Machines |
|
|
143 | (2) |
|
|
144 | (1) |
|
11.3 Hierarchical Finite State Machines |
|
|
145 | (2) |
|
|
145 | (2) |
|
|
147 | (3) |
|
11.4.1 Node Definition and Status |
|
|
147 | (1) |
|
|
148 | (1) |
|
11.4.3 Behavior Tree Execution |
|
|
149 | (1) |
|
|
150 | (1) |
|
|
150 | (5) |
|
11.5.1 The General Problem Solver and STRIPS |
|
|
151 | (4) |
|
|
155 | (10) |
|
|
156 | (1) |
|
12.2 Iterative Closest Point for Sparse Mapping |
|
|
157 | (3) |
|
12.3 Octomap: Dense Mapping of Voxels |
|
|
160 | (1) |
|
12.4 RGB-D Mapping: Dense Mapping of Surfaces |
|
|
160 | (5) |
|
|
165 | (14) |
|
13.1 The Configuration Space |
|
|
165 | (1) |
|
13.2 Graph-Based Planning Algorithms |
|
|
166 | (3) |
|
13.2.1 Dijkstra's Algorithm |
|
|
166 | (2) |
|
|
168 | (1) |
|
13.3 Sampling-Based Path Planning |
|
|
169 | (4) |
|
13.3.1 Rapidly Exploring Random Trees |
|
|
170 | (3) |
|
13.4 Planning at Different Length Scales |
|
|
173 | (2) |
|
13.5 Coverage Path Planning |
|
|
175 | (1) |
|
|
175 | (4) |
|
|
179 | (10) |
|
14.1 Nonprehensile Manipulation |
|
|
179 | (1) |
|
14.2 Choosing the Right Grasp |
|
|
180 | (4) |
|
14.2.1 Finding Good Grasps for Simple Grippers |
|
|
181 | (2) |
|
14.2.2 Finding Good Grasps for Multifingered Hands |
|
|
183 | (1) |
|
|
184 | (1) |
|
14.4 Peg-in-Hole Problems |
|
|
185 | (4) |
|
|
189 | (42) |
|
15 Uncertainty and Error Propagation |
|
|
191 | (10) |
|
15.1 Uncertainty in Robotics as a Random Variable |
|
|
191 | (1) |
|
|
192 | (4) |
|
15.2.1 Example: Line Fitting |
|
|
194 | (1) |
|
|
195 | (1) |
|
15.3 Optimal Sensor Fusion |
|
|
196 | (5) |
|
|
197 | (4) |
|
|
201 | (18) |
|
|
201 | (2) |
|
|
203 | (4) |
|
|
203 | (1) |
|
|
204 | (1) |
|
16.2.3 Example: Markov Localization on a Topological Map |
|
|
205 | (2) |
|
|
207 | (4) |
|
16.3.1 Example: Bayes Filter on a Grid |
|
|
209 | (2) |
|
|
211 | (2) |
|
16.5 Extended Kalman Filter |
|
|
213 | (3) |
|
16.5.1 Odometry Using the Kalman Filter |
|
|
214 | (2) |
|
16.6 Summary: Probabilistic Map-Based Localization |
|
|
216 | (3) |
|
17 Simultaneous Localization and Mapping |
|
|
219 | (12) |
|
|
219 | (2) |
|
|
220 | (1) |
|
17.1.2 Special Case I: One Landmark |
|
|
220 | (1) |
|
17.1.3 Special Case II: Two Landmarks |
|
|
221 | (1) |
|
17.2 The Covariance Matrix |
|
|
221 | (1) |
|
|
222 | (3) |
|
|
222 | (2) |
|
|
224 | (1) |
|
|
225 | (6) |
|
17.4.1 SLAM as a Maximum-Likelihood Estimation Problem |
|
|
225 | (3) |
|
17.4.2 Numerical Techniques for Graph-Based SLAM |
|
|
228 | (3) |
|
|
231 | (34) |
|
|
233 | (2) |
|
|
234 | (1) |
|
A.2 Trigonometric Identities |
|
|
234 | (1) |
|
|
235 | (4) |
|
|
235 | (1) |
|
|
235 | (1) |
|
|
236 | (1) |
|
|
236 | (1) |
|
B.5 Principal Component Analysis |
|
|
237 | (2) |
|
|
239 | (2) |
|
C.1 Random Variables and Probability Distributions |
|
|
239 | (1) |
|
C.1.1 The Normal Distribution |
|
|
240 | (1) |
|
C.1.2 Normal Distribution in Two Dimensions |
|
|
241 | (1) |
|
C.2 Conditional Probabilities and Bayes' Rule |
|
|
241 | (1) |
|
C.3 Sum of Two Random Processes |
|
|
242 | (1) |
|
C.4 Linear Combinations of Independent Gaussian Random Variables |
|
|
242 | (1) |
|
C.5 Testing Statistical Significance |
|
|
242 | (5) |
|
C.5.1 Null Hypothesis on Distributions |
|
|
243 | (1) |
|
C.5.2 Testing Whether Two Distributions Are Independent |
|
|
244 | (1) |
|
C.5.3 Statistical Significance of True-False Tests |
|
|
245 | (1) |
|
|
245 | (2) |
|
|
247 | (6) |
|
D.1 Backward Propagation of Error |
|
|
249 | (2) |
|
D.2 Backpropagation Algorithm |
|
|
251 | (2) |
|
E How to Write a Research Paper |
|
|
253 | (4) |
|
|
253 | (2) |
|
E.2 Hypothesis: Or, What Do We Learn from This Work? |
|
|
255 | (1) |
|
|
256 | (1) |
|
|
256 | (1) |
|
|
257 | (3) |
|
F.1 An Introduction to Autonomous Mobile Robots |
|
|
257 | (1) |
|
|
257 | (1) |
|
|
258 | (1) |
|
F.1.3 Implementation Suggestions |
|
|
259 | (1) |
|
F.2 An Introduction to Robotic Manipulation |
|
|
260 | (2) |
|
|
260 | (1) |
|
|
261 | (1) |
|
F.2.3 Implementation Suggestions |
|
|
261 | (1) |
|
F.3 An Introduction to Robotic Systems |
|
|
262 | (3) |
|
|
262 | (1) |
|
|
262 | (1) |
|
F.3.3 Implementation Suggestions |
|
|
263 | (1) |
|
|
263 | (2) |
References |
|
265 | (4) |
Index |
|
269 | |