Embedded Systems and Robotics with Open Source Tools
eBook - ePub

Embedded Systems and Robotics with Open Source Tools

Nilanjan Dey, Amartya Mukherjee

Share book
  1. 181 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Embedded Systems and Robotics with Open Source Tools

Nilanjan Dey, Amartya Mukherjee

Book details
Book preview
Table of contents
Citations

About This Book

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.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Embedded Systems and Robotics with Open Source Tools an online PDF/ePUB?
Yes, you can access Embedded Systems and Robotics with Open Source Tools by Nilanjan Dey, Amartya Mukherjee in PDF and/or ePUB format, as well as other popular books in Ciencia de la computación & Ingeniería computacional. We have over one million books available in our catalogue for you to explore.

Information

Publisher
CRC Press
Year
2018
ISBN
9781498734417

 

1
Introduction

 
 

1.1 Embedded and Robotics

Embedded systems and robotics are the most interrelated terms in this cutting-edge technological era. The revolution of smartphone, smart real-time operating system (RTOS), and system-on-chip technology provides a new dimension to the embedded hardware. In the past, the embedded system was a bit complicated to manage and a huge chunk of assembly-level code was to be written to program the whole system. But as things keep changing quite drastically, nowadays embedded systems act as a platform in the development of software/firmware, thus reducing the development time. The architecture of the system also keeps changing day by day so as to increase processing power and to decrease energy consumption. The enhancement of the RTOS-like Android gives another new dimension to embedded systems. On the contrary, robotics has evolved to higher-dimensional applications. In earlier years, robots were only used in industrial and scientific research, but today robotics has reached a new dimension, thanks to open-source hard-ware; starting from military to medical applications or maybe for entertainment or as a hobby, the concept of robotics has been widely spread. Robotics experts claim that by 2022 they will produce a robotic maid that will cost less than $100,000.
 

1.2 Fundamental Goal of Embedded Systems

The growth of embedded systems depends on innovative engineers with exposure to robotic technology. Loosely defined, an embedded system, which is a computer system that is intended to be a general-purpose computer, is a programmable device that drives some specific set to the system. It might be connected with one or more number of sensors and actuators. The main task of the embedded system is to acquire data from the sensor. The system should be smart enough to process and analyze the data using its own computing device (i.e., essentially a minimum level of artificial intelligence). Finally, it should take some decisions so that a task can be performed in a precise manner. In this context, it can be said that the work might be physical or it may be the control signal that has been imposed on any other device. Basically, this system must provide an output that performs a job in a highly accurate way. Let us take an example of an automated washing machine system. Obviously, it performs the washing based on the clothes that have been fed to it. When there are fewer clothes and an instruction of turbo clean mode is given, the machine checks the water level and the amount of clothes. Then it decides upon the speed of the motor in revolutions per minute and the time required to spin the motor so that it can clean the clothes completely. The main target of the system is fixed in such a way that the system performs in a precise manner to achieve the target.
 

1.3 Fundamental Goal of Robotics

In recent years, the significance of the robotics domain has increased a lot. Robotics contributes novel benefits in various disciplines and applications. Although robotics and embedded systems are quite interrelated, robots are a concept through which the world can be changed dramatically. The fundamental objective of the development of robotics is to minimize human effort as well as to perform a precise job that can overcome human error. Robots are defined as artificial beasts that can perform huge work within a very short duration of time. A robot is intended to be used for the service of the society; the abuse of a robotic system might create a huge catastrophic situation. Recently, the robotic system of a car manufacturing company in Germany crushed an operator to death due to malfunction. To avoid such a situation, proper education on robot handling is necessary; proper safety measures are to be ensured at all places where robots are widely used. Furthermore, robotics research is a never-ending process. A lot of work using robotics is in progress in the military, space, and medical domains, and more applications are expected for smart robotics system in the near future.
 

1.4 Main Focus

This book mainly focuses on the approaches and various methods to assist in the implementation of physical devices and gadgets via properly utilizing open-source embedded hardware as well as software tools. The primary objective of this book is to provide knowledge about the systems and their interaction in a very rapid manner. College or research students can easily build and cultivate their knowledge via open-source tools mentioned in the book as they are highly emphasized on an application level rather than on a theory level. In addition, this book focuses on the main functional area of the open-source system and its interaction with different components. Finally, as one of its most prime objectives, this book aims to provide guidance in implementing device-based embedded systems.
 

1.5 Motivation

The main motivation of this book is the implementation of embedded systems while learning. The interactive feature is mostly emphasized and is the primary feature of this book. Various projects have been discussed here, which completely provide hands-on experience of learning. The revolution of open-source hardware is another key motivation of this book. All the software and hardware tools used in this book are mostly open source in nature. The promotion of open-source software and hardware technology is one of the key objectives of this project.
 

1.6 How to Use This Book

This book serves as a guide and reference for open-source projects. No theory-based approach has been made in this book as effective learning can be achieved only via real-world implementation. Most of the components used in this book are available in local stores. The components for making an unmanned aerial vehicle are rarely available in the market, but if the reader wants to develop one, the available resources and components can be found in the web link mentioned in the book.
This book has been organized in the following way. Chapter 2 describes the fundamentals of embedded systems, Chapter 3 provides the knowledge about the “building blocks” of robotics, and Chapters 3 and 4 give a brief description of aerial robotics. Chapter 5 is all about open-source hardware platforms. Chapter 6 provides the knowledge on open-source software and its features. In Chapters 7 through 13, some of the most interesting hands-on projects starting from amateur to professional levels are provided.

2
Basics of Embedded Systems

2.1 Introduction

Today, we are in an era of smart devices as embedded technology is involved in various applications that we use in our daily life by the virtue of microprocessors and microcontrollers. The system might consist of only electronic or electromechanical devices. Since this work is concerned with the application of these technologies, we mainly focus our discussion on several microcontrollers and the embedded system development environments. An embedded system might be a real-time system that performs mission- critical tasks. Most embedded systems are based on sensors and output actuators. A sensor typically examines the behavior of the outside world and sends the information to an embedded microcontroller system. It is typically either digital or analog in nature. An analog sensor sends a voltage level corresponding to the sensed data value, whereas a digital sensor sends a digital pulse-width modulation (PWM) or pulse-position modulation (PPM) pulse corresponding to the sensed value. An actuator can be considered as an output device that responds to the behavior sensed by the sensor device. It may typically be a manipulator, a robotic arm, or a relay-based device that performs a real-time task based on the given sensor data.

2.2 Classifications of Embedded Systems

Typically, embedded devices can be categorized into several classes. Such classifications are based on the processing power, cost, functionality, and architecture. The typical classifications are as follows.
1. Small-scale embedded system: A small-scale embedded system is mostly based on either 8- or 16-bit architecture. It generally runs on 5 V battery power, having limited processing power and memory. It commonly uses small-size flash memory or electrically erasable programmable read-only memory (EEPROM) to store programs and instructions. The system itself is less complicated than other high-end systems. Generally, C language is preferred to program such an embedded system. The device programmer generates the assembly-level instructions and feeds it to the memory of the system. To develop such a system, board-level design is preferred rather than chip-level design.
2. Medium-scale embedded system: This type of system is mostly used for the purpose of digital signal processing (DSP). Mostly, 16–32-bit processor architecture is used in such systems. This system supports complex software and hardware design and needs integrated development environments, debuggers, simulators, and code engineering tools to install and analyze the software. Reduced instruction set computing (RISC) is the most preferable architecture in such a case, which supports the transmission control protocol/Internet protocol (TCP/IP) stacking and networking. Rapid prototyping devices, advanced RISC machine (ARM)-based smart data acquisition systems, and automation systems are examples of such embedded systems.
3. Sophisticated embedded systems: This type of embedded system has high hardware and software configuration. Both complex instruction set computing (CISC) and RISC architectures are supported by such systems. Most of these systems have higher random-access memory (RAM) configuration. It supports the system-on-chip (SOC) concept. The software that runs on embedded systems is mostly a real-time operating system (RTOS) that supports the TCP/IP network protocol. More high-end applications such as high-definition graphics-based media and gaming have been supported by these systems, for example, smartphones, smart televisions, tablet PCs, and high-end gaming devices such as PlayStation and Xbox.

2.3 Microprocessors

A microprocessor, shown in Figures 2.1 and 2.2, is a digital electronic device having miniaturized transistors, diodes, and integrated circuits (ICs). It generally consist...

Table of contents