In Embedded Control for Mobile Robotic Applications, a distinguished trio of researchers delivers an authoritative and fulsome resource for understanding embedded control and robotics. The book includes coverage of a variety of embedded platforms, their use in controller implementation, stability analyses of designed controllers, and two new approaches for designing embedded controllers.
The authors offer a full chapter on Field-Programmable-Gate-Array (FPGA) architecture development for controller design that is perfect for both practitioners and students taking robotics courses and provide a companion website that includes MATLAB codes for simulation and embedded platform-specific code for mobile robotic applications (in Embedded C and Verilog).
The two approaches discussed by the authors - the top-down methodology and the bottom-up methodology - are of immediate practical utility to both practicing professionals in the field and students studying control applications and mobile robotics. The book also offers: - A thorough introduction to embedded control, including processor, IC, and design technology, as well as a discussion of limitations in embedded control design - Comprehensive explorations of the bottom-up and top-down methods, including computations using CORDIC, interval arithmetic, sliding surface design, and switched nonlinear systems - Practical discussions of generic FPGA architecture design, including Verilog, PID controllers, DC motors and Encoder, and a systematic approach for designing architecture using FSMD - In-depth examinations of discrete-time controller design, including the approximation to discrete-time transfer function and embedded implementation stability
Perfect for practitioners working in embedded control design and control applications in robotics, Embedded Control for Mobile Robotic Applications will also earn a place in the libraries of academicians, researchers, senior undergraduate students, and graduate students in these fields.
Table of Contents
Contributors ix
Preface xi
Acknowledgments xv
Acronyms xvii
Introduction xxi
1 Embedded Technology for Mobile Robotics 1
1.1 Embedded Control System 2
1.2 Mobile Robotics 4
1.2.1 Robot Model for 2D Motion 5
1.2.2 Robot Model for 3D Motion 20
1.3 Embedded Technology 29
1.3.1 Processor technology 31
1.3.2 IC technology 33
1.4 Commercially available embedded processors 35
1.4.1 Microprocessor 35
1.4.2 Microcontroller 36
1.4.3 Field Programmable Gate Arrays (FPGA) 37
1.4.4 Digital Signal Processor 38
1.5 Notes and further readings 39
2 Discrete-time controller design 41
2.1 Transfer function for equivalent discrete-time system 42
2.2 Discrete-time PID Controller design 49
2.3 Stability in embedded implementation 52
2.3.1 Sampling 52
2.3.2 Quantization 55
2.3.3 Processing time 62
2.4 Notes and Further Readings 62
3 Embedded Control and Robotics 65
3.1 Transformations 67
3.1.1 2D Transformations 67
3.1.2 3D Transformations 71
3.2 Collision detection & avoidance 73
3.2.1 Vector field histogram (VFH) 74
3.2.2 Curvature Velocity Technique (CVM) 76
3.2.3 Dynamic Window Approach (DWA) 76
3.3 Localization 78
3.4 Path Planning 83
3.4.1 Potential field path planning 84
3.4.2 Graph-based path planning 87
3.5 Multi-agent scenarios 93
3.6 Notes and Further Readings 97
4 Bottom-up Method 99
4.1 Computations using CORDIC1 100
4.1.1 Coordinate transformation 103
4.1.2 Exponential and logarithmic functions 104
4.2 Interval Arithmetic2 105
4.2.1 Basics of Interval Arithmetic 105
4.2.2 Inclusion Function and inclusion tests 108
4.3 Collision detection using interval technique3 110
4.4 Free interval computation for collision avoidance4 115
4.5 Notes for further reading 119
5 Top-Down Method 123
5.1 Robust controller design 124
5.1.1 Basic Definitions 125
5.1.2 State feedback control 128
5.1.3 Sliding mode control 133
5.1.4 Sliding surface design for position stabilization in 2D 144
5.1.5 Position stabilization for a vehicle in 3D 149
5.1.6 Embedded implementation 159
5.2 Switched nonlinear system 160
5.2.1 Swarm Aggregation as a switched nonlinear system 164
5.2.2 Embedded Implementation 169
5.3 Notes and Further Readings 170
6 Generic FPGA architecture design 173
6.1 FPGA basics and Verilog 174
6.2 Systematic approach for designing architecture using FSM1 182
6.2.1 PID controller architecture 183
6.2.2 Sliding Mode Controller Architecture 190
6.3 FPGA implementation 194
6.4 Parallel Implementation of Multiple Controllers 200
6.5 Notes and Further Readings 201
7 Summary 203
Contributors ix
Preface xi
Acknowledgments xv
Acronyms xvii
Introduction xxi
1 Embedded Technology for Mobile Robotics 1
1.1 Embedded Control System 2
1.2 Mobile Robotics 4
1.2.1 Robot Model for 2D Motion 5
1.2.2 Robot Model for 3D Motion 20
1.3 Embedded Technology 29
1.3.1 Processor technology 31
1.3.2 IC technology 33
1.4 Commercially available embedded processors 35
1.4.1 Microprocessor 35
1.4.2 Microcontroller 36
1.4.3 Field Programmable Gate Arrays (FPGA) 37
1.4.4 Digital Signal Processor 38
1.5 Notes and further readings 39
2 Discrete-time controller design 41
2.1 Transfer function for equivalent discrete-time system 42
2.2 Discrete-time PID Controller design 49
2.3 Stability in embedded implementation 52
2.3.1 Sampling 52
2.3.2 Quantization 55
2.3.3 Processing time 62
2.4 Notes and Further Readings 62
3 Embedded Control and Robotics 65
3.1 Transformations 67
3.1.1 2D Transformations 67
3.1.2 3D Transformations 71
3.2 Collision detection & avoidance 73
3.2.1 Vector field histogram (VFH) 74
3.2.2 Curvature Velocity Technique (CVM) 76
3.2.3 Dynamic Window Approach (DWA) 76
3.3 Localization 78
3.4 Path Planning 83
3.4.1 Potential field path planning 84
3.4.2 Graph-based path planning 87
3.5 Multi-agent scenarios 93
3.6 Notes and Further Readings 97
4 Bottom-up Method 99
4.1 Computations using CORDIC1 100
4.1.1 Coordinate transformation 103
4.1.2 Exponential and logarithmic functions 104
4.2 Interval Arithmetic2 105
4.2.1 Basics of Interval Arithmetic 105
4.2.2 Inclusion Function and inclusion tests 108
4.3 Collision detection using interval technique3 110
4.4 Free interval computation for collision avoidance4 115
4.5 Notes for further reading 119
5 Top-Down Method 123
5.1 Robust controller design 124
5.1.1 Basic Definitions 125
5.1.2 State feedback control 128
5.1.3 Sliding mode control 133
5.1.4 Sliding surface design for position stabilization in 2D 144
5.1.5 Position stabilization for a vehicle in 3D 149
5.1.6 Embedded implementation 159
5.2 Switched nonlinear system 160
5.2.1 Swarm Aggregation as a switched nonlinear system 164
5.2.2 Embedded Implementation 169
5.3 Notes and Further Readings 170
6 Generic FPGA architecture design 173
6.1 FPGA basics and Verilog 174
6.2 Systematic approach for designing architecture using FSM1 182
6.2.1 PID controller architecture 183
6.2.2 Sliding Mode Controller Architecture 190
6.3 FPGA implementation 194
6.4 Parallel Implementation of Multiple Controllers 200
6.5 Notes and Further Readings 201
7 Summary 203