| Cybernetic View of Robot Cognition and Perception | p. 1 |
| Introduction to the Model of Cognition | p. 1 |
| Various States of Cognition | p. 3 |
| Cycles of Cognition | p. 5 |
| Visual Perception | p. 7 |
| Human Visual System | p. 7 |
| Vision for Mobile Robots | p. 8 |
| Visual Recognition | p. 10 |
| Template Matching | p. 11 |
| Feature-Based Model | p. 11 |
| Fourier Model | p. 12 |
| Structural Model | p. 12 |
| The Computational Theory of Marr | p. 13 |
| Machine Learning | p. 13 |
| Properties and Issues in Machine Learning | p. 13 |
| Classification of Machine Learning | p. 15 |
| Soft Computing Tools and Robot Cognition | p. 17 |
| Modeling Cognition Using ANN | p. 17 |
| Fuzzy Logic in Robot Cognition | p. 19 |
| Genetic Algorithms in Robot Cognition | p. 19 |
| Summary | p. 20 |
| Map Building | p. 21 |
| Introduction | p. 21 |
| Constructing a 2D World Map | p. 22 |
| Data Structure for Map Building | p. 22 |
| Explanation of the Algorithm | p. 26 |
| An Illustration of Procedure: Traverse Boundary | p. 27 |
| An Illustration of Procedure: Map Building | p. 29 |
| Robot Simulation | p. 31 |
| Execution of the Map Building Program | p. 33 |
| Summary | p. 38 |
| Path Planning | p. 39 |
| Introduction | p. 39 |
| Representation of the Robot's Environment | p. 39 |
| GVD Using Cellular Automata | p. 40 |
| Path Optimization by the Quadtree Approach | p. 41 |
| Introduction to the Quadtree | p. 41 |
| Definition | p. 42 |
| Generation of the Quadtree | p. 42 |
| Neighbor-Finding Algorithms for the Quadtree | p. 47 |
| The A Algorithm for Selecting the Best Neighbor | p. 52 |
| Execution of the Quadtree-Based Path Planner Program | p. 54 |
| Summary | p. 58 |
| Navigation Using a Genetic Algorithm | p. 59 |
| Introduction | p. 59 |
| Genetic Algorithms | p. 60 |
| Encoding of a Chromosome | p. 61 |
| Crossover | p. 62 |
| Mutation | p. 62 |
| Parameters of a GA | p. 63 |
| Selection | p. 63 |
| Navigation by a Genetic Algorithm | p. 64 |
| Formulation of Navigation | p. 64 |
| Execution of the GA-Based Navigation Program | p. 67 |
| Replanning by Temporal Associative Memory | p. 68 |
| Introduction to TAM | p. 68 |
| Encoding and Decoding Process in a Temporal Memory | p. 70 |
| An Example in a Semi-dynamic Environment | p. 71 |
| Implications of Results | p. 74 |
| Summary | p. 75 |
| Robot Programming Packages | p. 77 |
| Introduction | p. 77 |
| Robot Hardware and Software Resources | p. 78 |
| Components | p. 79 |
| ARIA | p. 79 |
| ARIA Client-Server | p. 80 |
| Robot Communication | p. 84 |
| Opening the Connection | p. 84 |
| ArRobot | p. 85 |
| Range Devices | p. 87 |
| Commands and Actions | p. 88 |
| Socket Programming | p. 95 |
| Socket Programming in ARIA | p. 96 |
| BotSpeak Speech System | p. 98 |
| Functions | p. 98 |
| Small Vision System (SVS) | p. 100 |
| SVS C++ Classes | p. 101 |
| Parameter Classes | p. 102 |
| Stereo Image Class | p. 102 |
| Acquisition Classes | p. 106 |
| Multithreading | p. 112 |
| Client Front-End Design Using Java | p. 113 |
| Summary | p. 113 |
| Robot Parameter Display | p. 115 |
| Introduction | p. 115 |
| Flow Chart and Source Code for Robot Parameter Display | p. 115 |
| Summary | p. 125 |
| Program for BotSpeak | p. 127 |
| Introduction | p. 127 |
| Flow Chart and Source Code for BotSpeak Program | p. 127 |
| Summary | p. 136 |
| Gripper Control Program | p. 137 |
| Introduction | p. 137 |
| Flow Chart and Source Code for Gripper Control Program | p. 137 |
| Summary | p. 150 |
| Program for Sonar Reading Display | p. 151 |
| Introduction | p. 151 |
| Flow Chart and Source Code for Sonar Reading Display on Client | p. 151 |
| Summary | p. 161 |
| Program for Wandering Within the Workspace | p. 163 |
| Introduction | p. 163 |
| Algorithm and Source Code for Wandering Within the Workspace | p. 163 |
| Summary | p. 173 |
| Program for Tele-operation | p. 175 |
| Introduction | p. 175 |
| Algorithm and Source Code for Tele-operation | p. 175 |
| Summary | p. 188 |
| A Complete Program for Autonomous Navigation | p. 189 |
| Introduction | p. 189 |
| The ImageServer Program | p. 190 |
| The MotionServer Program | p. 192 |
| The Navigator Client Program | p. 195 |
| Summary | p. 199 |
| Imaging Geometry | p. 201 |
| Introduction | p. 201 |
| Necessity for 3D Reconstruction | p. 201 |
| Building Perception | p. 202 |
| Problems of Understanding 3D Objects from 2D Imagery | p. 203 |
| Process of 3D Reconstruction | p. 203 |
| Imaging Geometry | p. 205 |
| Image Formation | p. 205 |
| Perspective Projection in One Dimension | p. 206 |
| Perspective Projection in 3D | p. 207 |
| Global Representation | p. 211 |
| Transformation to Global Coordinate System | p. 217 |
| Summary | p. 220 |
| Image Capture Program | p. 221 |
| Introduction | p. 221 |
| Algorithm for Image Capture | p. 221 |
| Summary | p. 225 |
| Building 3D Perception Using a Kalman Filter | p. 227 |
| Introduction | p. 227 |
| Minimal Representation | p. 227 |
| Recursive Kalman Filter | p. 229 |
| Experiments and Estimation | p. 231 |
| Reconstruction of 3D Points | p. 237 |
| Reconstruction of a 3D Line | p. 242 |
| Reconstruction of a 3D Plane | p. 246 |
| Correspondence Problem in 3D Recovery | p. 249 |
| Summary | p. 250 |
| Program for 3D Perception | p. 251 |
| Introduction | p. 251 |
| Flow Chart and Source Code for 3D Perception | p. 251 |
| Summary | p. 262 |
| Perceptions of Non-planar Surfaces | p. 263 |
| Introduction | p. 263 |
| Methods of Edge Detection | p. 263 |
| Curve Tracking and Curve Fitting | p. 266 |
| Program for Curve Detector | p. 270 |
| Summary | p. 275 |
| Intelligent Garbage Collection | p. 277 |
| Introduction | p. 277 |
| Algorithms and Source Code for Garbage Collection | p. 277 |
| Summary | p. 281 |
| References | p. 283 |
| Index | p. 289 |
| Table of Contents provided by Ingram. All Rights Reserved. |