Muutke küpsiste eelistusi

Embedded Systems and Robotics with Open Source Tools [Kõva köide]

(Techno College of Tech, India), (Institute of Eng & Manag, Kolkata)
  • Formaat: Hardback, 181 pages, kõrgus x laius: 234x156 mm, kaal: 521 g, 2 Tables, black and white; 20 Illustrations, color; 134 Illustrations, black and white
  • Ilmumisaeg: 01-Apr-2016
  • Kirjastus: CRC Press Inc
  • ISBN-10: 1498734383
  • ISBN-13: 9781498734387
  • Formaat: Hardback, 181 pages, kõrgus x laius: 234x156 mm, kaal: 521 g, 2 Tables, black and white; 20 Illustrations, color; 134 Illustrations, black and white
  • Ilmumisaeg: 01-Apr-2016
  • Kirjastus: CRC Press Inc
  • ISBN-10: 1498734383
  • ISBN-13: 9781498734387
Embedded Systems and Robotics with Open-Source Tools provides easy-to-understand and easy-to-implement guidance for rapid prototype development. Designed for readers unfamiliar with advanced computing technologies, this highly accessible book:











Describes several cutting-edge open-source software and hardware technologies Examines a number of embedded computer systems and their practical applications Includes detailed projects for applying rapid prototype development skills in real time

Embedded Systems and Robotics with Open-Source Tools effectively demonstrates that, with the help of high-performance microprocessors, microcontrollers, and highly optimized algorithms, one can develop smarter embedded devices.
Preface xv
Acknowledgments xvii
Authors xix
1 Introduction
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)
1.4 Main Focus
2(1)
1.5 Motivation
3(1)
1.6 How to Use This Book
3(2)
2 Basics of Embedded Systems
5(14)
2.1 Introduction
5(1)
2.2 Classifications of Embedded Systems
5(1)
2.3 Microprocessors
6(2)
2.4 Microcontrollers
8(1)
2.5 Application-Specific Processors
9(2)
2.6 Sensors and Actuators
11(1)
2.6.1 Sensors
11(1)
2.6.2 Examples of Sensors
11(1)
2.7 Embedded Communication Interface
12(3)
2.7.1 I2C Communication
12(1)
2.7.2 SPI and SCI Communication
13(1)
2.7.3 UART Communication
13(1)
2.7.4 USB Communication
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)
2.9 Typical Examples
16(3)
2.9.1 Smartphone Technology
16(1)
2.9.2 Aircraft Autopilot Unit
17(2)
3 Basics of Robotics
19(18)
3.1 Introduction
19(1)
3.2 Robot Kinematics
19(1)
3.3 Degree of Freedom
20(2)
3.4 Forward Kinematics
22(1)
3.5 Algebraic Solution
22(1)
3.6 Inverse Kinematics
23(1)
3.7 Robots and Sensors
24(2)
3.7.1 Motion Detection Sensor
24(1)
3.7.2 Gyroscope and Accelerometer
24(1)
3.7.3 Obstacle Detector
25(1)
3.7.4 Location Tracking by GPS
25(1)
3.8 Robots and Motors
26(3)
3.8.1 DC Motor
27(1)
3.8.2 Servo Motor
28(1)
3.8.3 Stepper Motor
29(1)
3.9 Robot Controller
29(1)
3.10 Frames and Materials
30(1)
3.11 Types of Robots
30(5)
3.11.1 Industrial Robots
31(1)
3.11.2 Medical Robots
31(1)
3.11.3 Military Robots
32(1)
3.11.4 Space Robots
33(2)
3.11.5 Entertainment Robots
35(1)
3.12 Summary
35(2)
4 Aerial Robotics
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)
4.3.1 Fixed-Wing Systems
38(2)
4.3.2 Multirotor Systems
40(1)
4.4 Sensors and Computers
41(2)
4.5 Open Research Area
43(1)
4.6 Aerial Sensor Networks
43(2)
5 Open-Source Hardware Platform
45(8)
5.1 Introduction
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)
5.5.2 BeagleBoard
49(1)
5.5.3 PandaBoard
50(1)
5.6 Summary
51(2)
6 Open-Source Software Platform
53(6)
6.1 Introduction
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)
6.5 Open-Source Future
58(1)
7 Automated Plant-Watering System
59(12)
7.1 Introduction
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)
7.5 Summary
69(1)
7.6 Concepts Covered in This
Chapter
69(2)
8 Device to Cloud System
71(18)
8.1 Introduction
71(1)
8.2 Temperature Sensor Data Logging System
71(2)
8.2.1 Interacting with Cloud
71(2)
8.3 Components
73(1)
8.4 Temperature Sensor
73(2)
8.5 Circuit Connections
75(1)
8.6 Setting Up Zigbee Communication
76(4)
8.6.1 Zigbee Basics
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)
8.8.2 Main Components
83(1)
8.9 Installation of Operating System and Python API in Raspberry Pi
83(2)
8.9.1 OS Installation
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)
8.12 Summary
87(1)
8.13 Concepts Covered in This
Chapter
88(1)
9 Home Automation System
89(12)
9.1 Introduction
89(1)
9.2 Home Automation System Architecture
89(1)
9.3 Essential Components
89(2)
9.4 Connection Detail
91(1)
9.5 Setting Up the Web Server
92(3)
9.6 Interaction with Server by Processing
95(5)
9.7 Summary
100(1)
9.8 Concepts Covered in This
Chapter
100(1)
10 Three-Servo Ant Robot
101(10)
10.1 Introduction
101(1)
10.2 Tools and Parts Required
101(5)
10.2.1 Ultrasonic Sensor
101(1)
10.2.2 Servomotors
102(1)
10.2.3 Leg Design
103(3)
10.2.4 Mounting Ultrasonic Sensor
106(1)
10.3 Programming the Leg Movement
106(4)
10.4 Summary
110(1)
10.5 Concepts Covered in This
Chapter
110(1)
11 Three-Servo Hexabot
111(10)
11.1 Introduction
111(1)
11.2 System Architecture
111(1)
11.3 Parts and Their Assembly
112(3)
11.4 Programming Basic Moves
115(3)
11.5 Summary
118(1)
11.6 Concepts Covered in This
Chapter
119(2)
12 Semi-Autonomous Quadcopter
121(22)
12.1 Introduction
121(1)
12.2 Structural Design
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)
12.5 Assembling Parts
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)
12.6.1.3 ESC Calibration
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)
12.9.1 PID Tuning
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)
12.12 Summary
141(1)
12.13 Concepts Covered in This
Chapter
142(1)
13 Autonomous Hexacopter System
143(22)
13.1 Introduction
143(1)
13.2 Structural Design of the Autonomous Hexacopter
143(1)
13.3 Components
143(5)
13.3.1 Frames
144(1)
13.3.2 Motors and ESC
144(1)
13.3.3 Radio Units
145(2)
13.3.4 Autopilot Unit
147(1)
13.4 Component Assembly
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)
13.7.3 Radio Calibration
154(1)
13.7.4 ESC Calibration
154(1)
13.7.5 Motor Test
155(1)
13.8 Flight Parameter Settings
155(1)
13.9 Flight Modes
156(1)
13.10 Mission Design
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)
13.11 Adding FPV Unit
161(1)
13.12 Final Hexacopter UAV
162(2)
13.12.1 Flight Path Visualization and Log Analysis
162(2)
13.13 Summary
164(1)
13.14 Concepts Covered in This
Chapter
164(1)
14 Conclusion
165(8)
14.1 Tools Used
165(1)
14.2 Important Safety Notes
166(2)
14.3 Frequently Asked Questions
168(4)
14.4 Final Words
172(1)
Bibliography 173(4)
Index 177
Nilanjan Dey, PhD, is an Assistant Professor at the Techno India College of Technology, Rajarhat, Kolkata, West Bengal, India; Honorary Visiting Scientist at Global Biomedical Technologies Inc., Roseville, California, USA; Research Scientist at the Laboratory of Applied Mathematical Modeling in Human Physiology, Territorial Organization of Scientific and Engineering Unions, Bulgaria; Editor-in-Chief of the International Journal of Rough Sets and Data Analysis (IGI Global); Managing Editor of the International Journal of Image Mining; Regional Editor of the International Journal of Intelligent Engineering Informatics; Associate Editor of the International Journal of Service Science, Management, Engineering, and Technology; and Editor of the Advances in Geospatial Technologies (AGT) Book Series (IGI Global). Widely published, he is a life member of several professional societies.

Amartya Mukherjee, MTech, is an assistant professor at the Institute of Engineering and Management, Salt Lake City, Kolkata, West Bengal, India. He holds a bachelors degree in computer science and engineering from the Maulana Abul Kalam Azad University of Technology (previously known as the West Bengal University of Technology), Salt Lake City, Kolkata, India, and a masters degree in computer science and engineering from the National Institute of Technology, Durgapur, West Bengal, India. He has written several papers in the field of wireless networking and embedded systems.