About the Author |
|
xi | |
Acknowledgments |
|
xiii | |
Introduction |
|
xv | |
Chapter 1 Introduction to Lego Mindstorms and leJOS |
|
1 | (26) |
|
Introduction to Lego Mindstorms |
|
|
1 | (2) |
|
|
3 | (2) |
|
|
3 | (1) |
|
|
4 | (1) |
|
|
4 | (1) |
|
|
5 | (3) |
|
Testing the JDK Installation |
|
|
8 | (2) |
|
Installation of leJOS and Its Firmware on Lego EV3 |
|
|
10 | (6) |
|
Eclipse IDE and Eclipse Plug-In for LeJOS EV3 |
|
|
16 | (9) |
|
|
25 | (2) |
Chapter 2 Introduction to Motor Sensors |
|
27 | (16) |
|
Basic Concepts of Java Programming |
|
|
27 | (2) |
|
|
|
Introducing the Motor Class |
|
|
29 | (12) |
|
Controlling Basic Movement Using Motors |
|
|
29 | (2) |
|
Using a Tachometer for Inertia Testing |
|
|
31 | (2) |
|
Controlling the Accurate Rotation of Motors |
|
|
33 | (1) |
|
|
34 | (2) |
|
Regulating the Motor Speed |
|
|
36 | (3) |
|
|
39 | (2) |
|
|
41 | (1) |
|
|
41 | (2) |
Chapter 3 Controlling Wheeled Vehicles |
|
43 | (22) |
|
Introduction to Navigation API |
|
|
43 | (2) |
|
Basic Movement Using Pilot Classes |
|
|
45 | (18) |
|
|
48 | (5) |
|
Tracing Out an Equilateral Triangle |
|
|
53 | (5) |
|
Tracing Out a Regular Hexagon |
|
|
58 | (5) |
|
|
63 | (2) |
Chapter 4 Coordinators and Navigator API |
|
65 | (18) |
|
Cartesian Coordinate System Basics |
|
|
65 | (1) |
|
|
66 | (3) |
|
Controlling the EV3 Brick Hardware |
|
|
69 | (4) |
|
Programming Practice with the LCD Display |
|
|
73 | (1) |
|
Programming Practice with Key Presses |
|
|
74 | (2) |
|
Programming Practice with Navigator API |
|
|
76 | (5) |
|
|
81 | (2) |
Chapter 5 Depth-First Search Algorithm and Its Implementation with Lego EV3 |
|
83 | (18) |
|
Overview of DFS Algorithm |
|
|
83 | (8) |
|
leJOS EV3-Based DFS Algorithm |
|
|
91 | (9) |
|
|
100 | (1) |
Chapter 6 Breadth-First Search and Its Implementation with Lego Mindstorms |
|
101 | (18) |
|
Overview of BFS Algorithm |
|
|
101 | (7) |
|
leJOS EV3-Based BFS Algorithm |
|
|
108 | (10) |
|
|
118 | (1) |
Chapter 7 Hill-Climbing Search and Its Implementation with Lego Mindstorms |
|
119 | (20) |
|
Introduction to Heuristic Search |
|
|
119 | (4) |
|
Overview of Hill-Climbing Search |
|
|
123 | (8) |
|
leJOS EV3-Based Hill-Climbing Algorithm |
|
|
131 | (7) |
|
|
138 | (1) |
Chapter 8 Dijkstra's Algorithm and Its Implementation with Lego Mindstorms |
|
139 | (28) |
|
Introduction to Dijkstra's Algorithm |
|
|
139 | (16) |
|
leJOS EV3-Based Dijkstra's Algorithm |
|
|
155 | (10) |
|
|
165 | (2) |
Chapter 9 The A* Search Algorithm and Its Implementation with Lego Mindstorms |
|
167 | (16) |
|
What Is the A* Algorithm? |
|
|
167 | (1) |
|
The Basic Idea of the A* Searching Strategy |
|
|
167 | (10) |
|
Practice for Path Planning Using the A* Algorithm |
|
|
177 | (4) |
|
|
181 | (2) |
Chapter 10 Introducing the Touch Sensor and Ultrasonic Sensor |
|
183 | (10) |
|
|
183 | (1) |
|
|
184 | (2) |
|
|
186 | (2) |
|
Programming Practice with Touch Sensor |
|
|
188 | (2) |
|
Programming Practice with Ultrasonic Sensor |
|
|
190 | (1) |
|
|
191 | (2) |
Chapter 11 Introducing the Light Sensor and Color Sensor |
|
193 | (10) |
|
|
193 | (2) |
|
|
195 | (2) |
|
Programming Practice with the Color and Light Sensors |
|
|
197 | (5) |
|
|
202 | (1) |
Chapter 12 Introduction to Behavior Programming |
|
203 | (16) |
|
Introduction to Behavior Programming |
|
|
203 | (2) |
|
The Behavior API Functions |
|
|
205 | (1) |
|
Design Pattern of Behavior Programming |
|
|
206 | (3) |
|
Programming Practice with Behavior Programming |
|
|
209 | (8) |
|
|
217 | (2) |
Chapter 13 Multithreading Programming with Java leJOS |
|
219 | (12) |
|
|
219 | (1) |
|
|
220 | (3) |
|
|
222 | (1) |
|
|
222 | (1) |
|
|
222 | (1) |
|
Practice with Multithreading in Java leJOS |
|
|
223 | (6) |
|
|
229 | (2) |
Index |
|
231 | |