Contributors ixPreface xiAcknowledgments xvAcronyms xviiIntroduction xxi1 Embedded Technology for Mobile Robotics 11.1 Embedded Control System 21.2 Mobile Robotics 41.2.1 Robot Model for 2D Motion 51.2.2 Robot Model for 3D Motion 201.3 Embedded Technology 291.3.1 Processor technology 311.3.2 IC technology 331.4 Commercially available embedded processors 351.4.1 Microprocessor 351.4.2 Microcontroller 361.4.3 Field Programmable Gate Arrays (FPGA) 371.4.4 Digital Signal Processor 381.5 Notes and further readings 392 Discrete-time controller design 412.1 Transfer function for equivalent discrete-time system 422.2 Discrete-time PID Controller design 492.3 Stability in embedded implementation 522.3.1 Sampling 522.3.2 Quantization 552.3.3 Processing time 622.4 Notes and Further Readings 623 Embedded Control and Robotics 653.1 Transformations 673.1.1 2D Transformations 673.1.2 3D Transformations 713.2 Collision detection & avoidance 733.2.1 Vector field histogram (VFH) 743.2.2 Curvature Velocity Technique (CVM) 763.2.3 Dynamic Window Approach (DWA) 763.3 Localization 783.4 Path Planning 833.4.1 Potential field path planning 843.4.2 Graph-based path planning 873.5 Multi-agent scenarios 933.6 Notes and Further Readings 974 Bottom-up Method 994.1 Computations using CORDIC1 1004.1.1 Coordinate transformation 1034.1.2 Exponential and logarithmic functions 1044.2 Interval Arithmetic2 1054.2.1 Basics of Interval Arithmetic 1054.2.2 Inclusion Function and inclusion tests 1084.3 Collision detection using interval technique3 1104.4 Free interval computation for collision avoidance4 1154.5 Notes for further reading 1195 Top-Down Method 1235.1 Robust controller design 1245.1.1 Basic Definitions 1255.1.2 State feedback control 1285.1.3 Sliding mode control 1335.1.4 Sliding surface design for position stabilization in 2D 1445.1.5 Position stabilization for a vehicle in 3D 1495.1.6 Embedded implementation 1595.2 Switched nonlinear system 1605.2.1 Swarm Aggregation as a switched nonlinear system 1645.2.2 Embedded Implementation 1695.3 Notes and Further Readings 1706 Generic FPGA architecture design 1736.1 FPGA basics and Verilog 1746.2 Systematic approach for designing architecture using FSM1 1826.2.1 PID controller architecture 1836.2.2 Sliding Mode Controller Architecture 1906.3 FPGA implementation 1946.4 Parallel Implementation of Multiple Controllers 2006.5 Notes and Further Readings 2017 Summary 203Contributors ixPreface xiAcknowledgments xvAcronyms xviiIntroduction xxi1 Embedded Technology for Mobile Robotics 11.1 Embedded Control System 21.2 Mobile Robotics 41.2.1 Robot Model for 2D Motion 51.2.2 Robot Model for 3D Motion 201.3 Embedded Technology 291.3.1 Processor technology 311.3.2 IC technology 331.4 Commercially available embedded processors 351.4.1 Microprocessor 351.4.2 Microcontroller 361.4.3 Field Programmable Gate Arrays (FPGA) 371.4.4 Digital Signal Processor 381.5 Notes and further readings 392 Discrete-time controller design 412.1 Transfer function for equivalent discrete-time system 422.2 Discrete-time PID Controller design 492.3 Stability in embedded implementation 522.3.1 Sampling 522.3.2 Quantization 552.3.3 Processing time 622.4 Notes and Further Readings 623 Embedded Control and Robotics 653.1 Transformations 673.1.1 2D Transformations 673.1.2 3D Transformations 713.2 Collision detection & avoidance 733.2.1 Vector field histogram (VFH) 743.2.2 Curvature Velocity Technique (CVM) 763.2.3 Dynamic Window Approach (DWA) 763.3 Localization 783.4 Path Planning 833.4.1 Potential field path planning 843.4.2 Graph-based path planning 873.5 Multi-agent scenarios 933.6 Notes and Further Readings 974 Bottom-up Method 994.1 Computations using CORDIC1 1004.1.1 Coordinate transformation 1034.1.2 Exponential and logarithmic functions 1044.2 Interval Arithmetic2 1054.2.1 Basics of Interval Arithmetic 1054.2.2 Inclusion Function and inclusion tests 1084.3 Collision detection using interval technique3 1104.4 Free interval computation for collision avoidance4 1154.5 Notes for further reading 1195 Top-Down Method 1235.1 Robust controller design 1245.1.1 Basic Definitions 1255.1.2 State feedback control 1285.1.3 Sliding mode control 1335.1.4 Sliding surface design for position stabilization in 2D 1445.1.5 Position stabilization for a vehicle in 3D 1495.1.6 Embedded implementation 1595.2 Switched nonlinear system 1605.2.1 Swarm Aggregation as a switched nonlinear system 1645.2.2 Embedded Implementation 1695.3 Notes and Further Readings 1706 Generic FPGA architecture design 1736.1 FPGA basics and Verilog 1746.2 Systematic approach for designing architecture using FSM1 1826.2.1 PID controller architecture 1836.2.2 Sliding Mode Controller Architecture 1906.3 FPGA implementation 1946.4 Parallel Implementation of Multiple Controllers 2006.5 Notes and Further Readings 2017 Summary 203
Leena Vachhani, Professor, Indian Institute of Technology Bombay, Mumbai, India. Leena Vachhani received the Ph.D. degree from IIT Madras, Chennai, India, in 2009. Since Dec, 2009 she has been with the Systems and Control Engineering Group of IIT Bombay, Mumbai, India. Her research interests include hardware/software codesign for mobile robots, sensors for robotic tasks, robot motion planning algorithms, multiagent mapping and patrolling applications.Pranjal Vyas, Advanced Remanufacturing Technology Center, Agency of Science, Technology and Research, (A*STAR), Singapore. Pranjal Vyas received his Ph.D. in Systems and Control Engineering at Indian Institute of Technology Bombay, India in 2017. His research interests include mobile robotics, real time embedded systems, sensors for robotic tasks, robot motion planning algorithms, computer vision and machine learning.Arunkumar G. K. is a Research Scholar with the Indian Institute of Technology Bombay, Mumbai, India. His research is focused on robotic path planning algorithms and multi-robot systems.