Preface |
|
xv | |
Acknowledgments |
|
xvii | |
Authors |
|
xix | |
|
|
1 | (4) |
|
1.1 Embedded Systems and Robotics |
|
|
1 | (1) |
|
1.2 Fundamental Goal of Embedded Systems |
|
|
1 | (1) |
|
1.3 Fundamental Goal of Robotics |
|
|
2 | (1) |
|
|
2 | (1) |
|
|
3 | (1) |
|
|
3 | (2) |
|
2 Basics of Embedded Systems |
|
|
5 | (14) |
|
|
5 | (1) |
|
2.2 Classifications of Embedded Systems |
|
|
5 | (1) |
|
|
6 | (2) |
|
|
8 | (1) |
|
2.5 Application-Specific Processors |
|
|
9 | (2) |
|
2.6 Sensors and Actuators |
|
|
11 | (1) |
|
|
11 | (1) |
|
2.6.2 Examples of Sensors |
|
|
11 | (1) |
|
2.7 Embedded Communication Interface |
|
|
12 | (3) |
|
|
12 | (1) |
|
2.7.2 SPI and SCI Communication |
|
|
13 | (1) |
|
|
13 | (1) |
|
|
14 | (1) |
|
2.8 Real-Time Operating Systems |
|
|
15 | (1) |
|
2.8.1 Hard Real-Time System |
|
|
15 | (1) |
|
2.8.2 Soft Real-Time System |
|
|
16 | (1) |
|
2.8.3 Thread-Oriented Design |
|
|
16 | (1) |
|
|
16 | (3) |
|
2.9.1 Smartphone Technology |
|
|
16 | (1) |
|
2.9.2 Aircraft Autopilot Unit |
|
|
17 | (2) |
|
|
19 | (18) |
|
|
19 | (1) |
|
|
19 | (1) |
|
|
20 | (2) |
|
|
22 | (1) |
|
|
22 | (1) |
|
|
23 | (1) |
|
|
24 | (2) |
|
3.7.1 Motion Detection Sensor |
|
|
24 | (1) |
|
3.7.2 Gyroscope and Accelerometer |
|
|
24 | (1) |
|
|
25 | (1) |
|
3.7.4 Location Tracking by GPS |
|
|
25 | (1) |
|
|
26 | (3) |
|
|
27 | (1) |
|
|
28 | (1) |
|
|
29 | (1) |
|
|
29 | (1) |
|
3.10 Frames and Materials |
|
|
30 | (1) |
|
|
30 | (5) |
|
|
31 | (1) |
|
|
31 | (1) |
|
|
32 | (1) |
|
|
33 | (2) |
|
3.11.5 Entertainment Robots |
|
|
35 | (1) |
|
|
35 | (2) |
|
|
37 | (8) |
|
4.1 Introduction to Aerial Robotics |
|
|
37 | (1) |
|
4.2 History of Aerial Robotics |
|
|
37 | (1) |
|
4.3 Classification of Aerial Robots |
|
|
38 | (3) |
|
|
38 | (2) |
|
|
40 | (1) |
|
4.4 Sensors and Computers |
|
|
41 | (2) |
|
|
43 | (1) |
|
4.6 Aerial Sensor Networks |
|
|
43 | (2) |
|
5 Open-Source Hardware Platform |
|
|
45 | (8) |
|
|
45 | (1) |
|
5.2 Open-Source Hardware Features |
|
|
45 | (2) |
|
5.3 Open-Source Hardware Licensing |
|
|
47 | (1) |
|
5.4 Advantages and Disadvantages of Open-Source Hardware |
|
|
47 | (1) |
|
5.5 Examples of Open-Source Hardware |
|
|
48 | (3) |
|
5.5.1 Raspberry Pi Computer |
|
|
48 | (1) |
|
|
49 | (1) |
|
|
50 | (1) |
|
|
51 | (2) |
|
6 Open-Source Software Platform |
|
|
53 | (6) |
|
|
53 | (1) |
|
6.2 Open-Source Standards |
|
|
53 | (2) |
|
6.2.1 Open-Source Software Licensing |
|
|
54 | (1) |
|
6.2.2 Free and Open-Source Software |
|
|
54 | (1) |
|
6.3 Examples of Open-Source Software Products |
|
|
55 | (1) |
|
6.4 Advantages and Limitations of Open-Source Software |
|
|
56 | (2) |
|
|
58 | (1) |
|
7 Automated Plant-Watering System |
|
|
59 | (12) |
|
|
59 | (1) |
|
7.2 Architecture of Plant-Watering Systems |
|
|
59 | (4) |
|
7.2.1 Soil Moisture Sensor |
|
|
60 | (1) |
|
7.2.2 Setting Up 433 MHz Radio Tx/Rx Module |
|
|
61 | (1) |
|
7.2.3 Setting Up the Pumping Device |
|
|
62 | (1) |
|
7.3 Arduino Programming Code |
|
|
63 | (2) |
|
7.3.1 Arduino Code for the Radio Transmitter |
|
|
63 | (1) |
|
7.3.2 Arduino Code for the Radio Receiver |
|
|
64 | (1) |
|
7.4 Broadcasting Sensor Data to the Internet via Processing |
|
|
65 | (4) |
|
|
69 | (1) |
|
7.6 Concepts Covered in This Chapter |
|
|
69 | (2) |
|
|
71 | (18) |
|
|
71 | (1) |
|
8.2 Temperature Sensor Data Logging System |
|
|
71 | (2) |
|
8.2.1 Interacting with Cloud |
|
|
71 | (2) |
|
|
73 | (1) |
|
|
73 | (2) |
|
|
75 | (1) |
|
8.6 Setting Up Zigbee Communication |
|
|
76 | (4) |
|
|
76 | (2) |
|
8.6.2 Configuring XBee Module |
|
|
78 | (2) |
|
8.7 Sample Python Code for Serial Read |
|
|
80 | (1) |
|
8.8 Sending Data to Cloud |
|
|
80 | (3) |
|
8.8.1 More about Raspberry Pi |
|
|
82 | (1) |
|
|
83 | (1) |
|
8.9 Installation of Operating System and Python API in Raspberry Pi |
|
|
83 | (2) |
|
|
83 | (1) |
|
8.9.2 pySerial Installation |
|
|
84 | (1) |
|
8.9.3 Python Google Spreadsheet API Installation |
|
|
84 | (1) |
|
8.10 Configuring Google Account |
|
|
85 | (1) |
|
8.11 Python Code to Access Google Spreadsheet |
|
|
86 | (1) |
|
|
87 | (1) |
|
8.13 Concepts Covered in This Chapter |
|
|
88 | (1) |
|
|
89 | (12) |
|
|
89 | (1) |
|
9.2 Home Automation System Architecture |
|
|
89 | (1) |
|
|
89 | (2) |
|
|
91 | (1) |
|
9.5 Setting Up the Web Server |
|
|
92 | (3) |
|
9.6 Interaction with Server by Processing |
|
|
95 | (5) |
|
|
100 | (1) |
|
9.8 Concepts Covered in This Chapter |
|
|
100 | (1) |
|
|
101 | (10) |
|
|
101 | (1) |
|
10.2 Tools and Parts Required |
|
|
101 | (5) |
|
|
101 | (1) |
|
|
102 | (1) |
|
|
103 | (3) |
|
10.2.4 Mounting Ultrasonic Sensor |
|
|
106 | (1) |
|
10.3 Programming the Leg Movement |
|
|
106 | (4) |
|
|
110 | (1) |
|
10.5 Concepts Covered in This Chapter |
|
|
110 | (1) |
|
|
111 | (10) |
|
|
111 | (1) |
|
|
111 | (1) |
|
11.3 Parts and Their Assembly |
|
|
112 | (3) |
|
11.4 Programming Basic Moves |
|
|
115 | (3) |
|
|
118 | (1) |
|
11.6 Concepts Covered in This Chapter |
|
|
119 | (2) |
|
12 Semi-Autonomous Quadcopter |
|
|
121 | (22) |
|
|
121 | (1) |
|
|
121 | (1) |
|
12.3 Component Description |
|
|
122 | (2) |
|
12.4 Flight Controller Unit |
|
|
124 | (1) |
|
12.4.1 MultiWii CRIUS SE2.5 |
|
|
124 | (1) |
|
12.4.2 Flight Controller Comparison |
|
|
125 | (1) |
|
|
125 | (3) |
|
12.6 Sensor and Speed Controller Calibration |
|
|
128 | (4) |
|
12.6.1 MultiWii Setup and Configuration |
|
|
128 | (1) |
|
12.6.1.1 Configuring MultiWii Firmware |
|
|
128 | (1) |
|
12.6.1.2 Sensor Calibration |
|
|
129 | (2) |
|
|
131 | (1) |
|
12.6.2 Configure KK 5.5 Multicopter Board |
|
|
131 | (1) |
|
12.7 Radio Setup and Calibration |
|
|
132 | (1) |
|
12.8 Radio TX/RX Binding Technique |
|
|
133 | (1) |
|
12.9 Connection with GUI Interface |
|
|
134 | (5) |
|
|
136 | (1) |
|
12.9.1.1 Basic PID Tuning |
|
|
136 | (1) |
|
12.9.1.2 Advanced PID Tuning |
|
|
136 | (2) |
|
12.9.1.3 Standard Guideline for PID Tuning |
|
|
138 | (1) |
|
12.9.1.4 General Guidelines |
|
|
138 | (1) |
|
12.10 Position, Navigation, Level, and Magnetometer Performance Tuning |
|
|
139 | (1) |
|
12.11 Additional Channel Assignments |
|
|
140 | (1) |
|
|
141 | (1) |
|
12.13 Concepts Covered in This Chapter |
|
|
142 | (1) |
|
13 Autonomous Hexacopter System |
|
|
143 | (22) |
|
|
143 | (1) |
|
13.2 Structural Design of the Autonomous Hexacopter |
|
|
143 | (1) |
|
|
143 | (5) |
|
|
144 | (1) |
|
|
144 | (1) |
|
|
145 | (2) |
|
|
147 | (1) |
|
|
148 | (2) |
|
13.5 APM Ground Station Software Installation |
|
|
150 | (2) |
|
13.6 APM Firmware Loading |
|
|
152 | (1) |
|
13.7 Sensor and Radio Calibration |
|
|
152 | (3) |
|
13.7.1 Accelerometer and Gyroscope Calibration |
|
|
152 | (1) |
|
13.7.2 Compass Calibration |
|
|
153 | (1) |
|
|
154 | (1) |
|
|
154 | (1) |
|
|
155 | (1) |
|
13.8 Flight Parameter Settings |
|
|
155 | (1) |
|
|
156 | (1) |
|
|
157 | (4) |
|
13.10.1 Using Ground Station |
|
|
157 | (1) |
|
13.10.2 Waypoint Navigation Algorithm |
|
|
158 | (2) |
|
13.10.3 GPS Glitch and Its Protection |
|
|
160 | (1) |
|
|
161 | (1) |
|
13.12 Final Hexacopter UAV |
|
|
162 | (2) |
|
13.12.1 Flight Path Visualization and Log Analysis |
|
|
162 | (2) |
|
|
164 | (1) |
|
13.14 Concepts Covered in This Chapter |
|
|
164 | (1) |
|
|
165 | (8) |
|
|
165 | (1) |
|
14.2 Important Safety Notes |
|
|
166 | (2) |
|
14.3 Frequently Asked Questions |
|
|
168 | (4) |
|
|
172 | (1) |
Bibliography |
|
173 | (4) |
Index |
|
177 | |