Skip to main content
Top

Open Access 2018 | Open Access | Book

Cover of the book

Elements of Robotics

insite
SEARCH

About this book

This book is open access under a CC BY 4.0 license.

This book bridges the gap between playing with robots in school and studying robotics at the upper undergraduate and graduate levels to prepare for careers in industry and research. Robotic algorithms are presented formally, but using only mathematics known by high-school and first-year college students, such as calculus, matrices and probability. Concepts and algorithms are explained through detailed diagrams and calculations.

Elements of Robotics presents an overview of different types of robots and the components used to build robots, but focuses on robotic algorithms: simple algorithms like odometry and feedback control, as well as algorithms for advanced topics like localization, mapping, image processing, machine learning and swarm robotics. These algorithms are demonstrated in simplified contexts that enable detailed computations to be performed and feasible activities to be posed. Students who study these simplified demonstrations will be well prepared for advanced study of robotics.

The algorithms are presented at a relatively abstract level, not tied to any specific robot. Instead a generic robot is defined that uses elements common to most educational robots: differential drive with two motors, proximity sensors and some method of displaying output to the user.

The theory is supplemented with over 100 activities, most of which can be successfully implemented using inexpensive educational robots. Activities that require more computation can be programmed on a computer. Archives are available with suggested implementations for the Thymio robot and standalone programs in Python.

Table of Contents

Frontmatter

Open Access

Chapter 1. Robots and Their Applications
Abstract
This chapter starts with an overview and classification of robots: industrial robots, autonomous mobile robots, humanoid robots and educational robots. A specification is given of a generic educational robot used throughout the book: a small mobile robot with differential drive and horizontal and ground proximity sensors. A pseudocode is defined so that algorithms can be presented in a platform-independent manner. The chapter concludes with a detailed overview of the contents of the book.
Mordechai Ben-Ari, Francesco Mondada

Open Access

Chapter 2. Sensors
Abstract
Robots must sense their environment. Sensors use ultrasound, infrared and lasers to determine distance and angles. Cameras are essential for identifying objects in the environment. Important properties of sensors are their range, resolution, precision and accuracy. The response of a sensor may be linear, but if not calibration is performed so that values returned by the sensor can be interpreted as physical quantities.
Mordechai Ben-Ari, Francesco Mondada

Open Access

Chapter 3. Reactive Behavior
Abstract
The behavior of a robot is reactive if values returned by the sensors directly affect the actuators. Two families of reactive behavior are presented. Braitenberg vehicles are very simple robots that demonstrate relatively complex behavior. A robot with ground sensors can follow a line on a surface and thus navigate a known environment such as a warehouse. Three algorithms are presented: an algorithm that uses two ground sensors, an algorithm that uses only one ground sensor on a line with a gradient and an algorithm that follows the edge of a line.
Mordechai Ben-Ari, Francesco Mondada

Open Access

Chapter 4. Finite State Machines
Abstract
Robots have embedded computers with memory that can be used to store the current state of an algorithm. Finite state machines specify the conditions under which the state of the robot changes and the actions taken when the state changes. Finite state machines are demonstrated first by Braitenberg vehicles and then by an algorithm that causes the robot to search for an object and then approach it.
Mordechai Ben-Ari, Francesco Mondada

Open Access

Chapter 5. Robotic Motion and Odometry
Abstract
The focus in this book is on mobile robots that move on a surface. When the robot moves for a period of time its new position can be determined by odometry: integrating the velocity of the robot over the period of its motion to obtain distance or integrating the acceleration to get velocity and integrating again to obtain distance. If the robot changes its heading as it moves, trigonometry is needed to compute the new position. Odometry is subject to errors caused by uncertainty in the components of the robot and unevenness of the surface. Wheel encoders enable more accurate odometry. Inertial navigation systems perform odometry based on accurate measurement of linear and angular acceleration. The degrees of freedom (DOF) of a system is the number dimensions through which it can move. The number of actuators of the robot can be more or less than the DOF. The DOF can be different from the degrees of mobility (DOM), which are the DOF that can be directly accessed. The concept of holonomic motion relates the DOF and the DOM.
Mordechai Ben-Ari, Francesco Mondada

Open Access

Chapter 6. Control
Abstract
Robots use feedback control algorithms which compute commands to the actuators based upon the error between the current state of the robot and its target state. The magnitudes of the commands can be proportional to the error, obtained by integrating or differentiating the error, or some combination of these functions. The goal is to reach the target state, to reach it quickly and to avoid instability such as oscillations. The performance of a control system depends on parameters called gains, which can be determined by experimentation.
Mordechai Ben-Ari, Francesco Mondada

Open Access

Chapter 7. Local Navigation: Obstacle Avoidance
Abstract
A mobile robot navigating to a goal will encounter obstacles that must be avoided. Obstacle avoidance is presented in the context of wall following: moving around the wall of the obstacle until it no longer prevents access to the goal. Three algorithms are presented: simple wall following which fails in the presence of multiple obstacles, wall following with direction that also fails for certain obstacles and the Pledge algorithm which can avoid these obstacles. To demonstrate finding a path to a goal, an algorithm is presented that is based upon the behavior of a colony of ants searching for a food source even though they do not know its location. A probabilistic model explains the success of the algorithm.
Mordechai Ben-Ari, Francesco Mondada

Open Access

Chapter 8. Localization
Abstract
A robot must perform localization, that is, it must know its own position in the environment. It can compute its position relative to landmarks whose position is known using the techniques of classical land surveying. Accurate localization can be achieved using the satellite-based global positioning system (GPS). Probabilistic localization is used in environments where GPS cannot be used, for example, inside a building. Given a map of the environment the robot computes its most likely location based upon data from its sensors. The probabilistic computations can handle uncertainty in the sensors and in the motion of the robot.
Mordechai Ben-Ari, Francesco Mondada

Open Access

Chapter 9. Mapping
Abstract
A robot uses a map to localize its position. Maps can be loaded into the robot, but often the robot must create a map by itself. Maps are represented using either a grid showing which cells are occupied and which are free or a continuous map containing the coordinates of the obstacles. For a grid map the frontier algorithm enables the robot to explore its environment in order to determine the probability that each cell is occupied or free. A robot can use knowledge of its environment, for example, that it is in a building with rectangular rooms, to facilitate building a map. Algorithms for simultaneous localization and mapping enable a robot to perform these two tasks together, using data from localization and its sensor to extend the map and data from the map to achieve accurate localization.
Mordechai Ben-Ari, Francesco Mondada

Open Access

Chapter 10. Mapping-Based Navigation
Abstract
Given a map and a target position, a robot must perform path planning in order to determine the best route from its current position to the target position. Three algorithms for path planning are presented: Dijkstra’s shortest path algorithm for a grid of cells, an algorithm for continuous maps and the A\(^{*}\) algorithm, an improvement of Dijkstra’s algorithm that uses heuristic functions. The chapter concludes with a description of the integration of path planning with obstacle avoidance.
Mordechai Ben-Ari, Francesco Mondada

Open Access

Chapter 11. Fuzzy Logic Control
Abstract
Classical control algorithms require an exact specification of reference values, however, it is difficult to give exact definitions of properties such as the warmth of a heater, the color of a piece of fabric or the speed of a car. Fuzzy logic uses rules on linguistic variables such as “fast” and “slow” to implement control algorithms. Values from the sensors are fuzzified into linguistic variables, then the rules are applied, and finally the consequents of the rules are defuzzified to obtain numerical values that can be applied to the actuators.
Mordechai Ben-Ari, Francesco Mondada

Open Access

Chapter 12. Image Processing
Abstract
Cameras are essential in robots such as self-driving cars that are required to identify objects in the environment. Sensors in the camera return an array of pixels to which image processing algorithms are applied. The first step is to enhance the image to reduce noise and improve the contrast. The techniques used are spatial filters and histogram manipulation. The next step is to extract geometric properties in the image. Edges are identified using derivative filters, corners are identified by comparing pixels to their neighbors, and blobs are identified by comparing neighbors to a global threshold.
Mordechai Ben-Ari, Francesco Mondada

Open Access

Chapter 13. Neural Networks
Abstract
Robots are required to function in environments that are not known when the robot is programmed. The solution is to have the robot learn algorithms by itself. Artificial neural networks (ANN) are computerized models of neurons and their connections that over time can adapt themselves to perform a task. An ANN is defined by its topology: the number of neurons, the number of levels between the inputs and outputs, and the connections between neurons of adjacent levels. The second component of an ANN is an algorithm for learning. The Hebbian rule is an elementary form of reinforcement learning where the ANN receives feedback on which behaviors are good and which are not. The feedback is used to adjust the weights given to the input of each neuron in the ANN.
Mordechai Ben-Ari, Francesco Mondada

Open Access

Chapter 14. Machine Learning
Abstract
Machine learning (ML) algorithms perform classification. Given a large set of sensor data, an ML algorithm determines a discriminant that can classify future sensor data into the correct classes. Most ML algorithms are statistical. A simple form of ML uses the means and variances of the data from two sensors to choose the sensor that produces the better discriminant. An optimal discriminant can be obtained by combining data from two sensors using linear discriminant analysis (LDA). LDA depends on statistical properties of the samples that do not always hold. When LDA is not appropriate, perceptrons, which are related to neural networks, can be used to perform classification.
Mordechai Ben-Ari, Francesco Mondada

Open Access

Chapter 15. Swarm Robotics
Abstract
Distributed systems of multiple robots, called swarm robotics, are more robust than centralized systems consisting of single robots. The failure of one robot of a group need not prevent the others from performing a task. Furthermore, a group of collaborating robots can perform tasks that a single robot cannot. Swarm robotics is inspired by the behavior of colonies of insects such as ants and bees. Communications among the robots of a group can be direct, indirect (for example, by leaving markings) or physical. The BeeClust algorithm causes robots to cluster at areas of high sensor values by detecting collisions among them. The stick pulling algorithm demonstrates how two robots can collaborate to perform a task that neither could do alone. Occlusion-based pushing shows that a group of robots can collaborate even without explicit communications.
Mordechai Ben-Ari, Francesco Mondada

Open Access

Chapter 16. Kinematics of a Robotic Manipulator
Abstract
Robotic manipulators are widely used in industry. They are simpler than mobile robots in that they perform tasks in a fixed and known environment. They are more complex than mobile robots because they move in the three spatial dimensions and in the three dimensions of rotation. Using a simplified planar model of a robotic arm, the two central problems of manipulators are presented. Forward kinematics asks where the end effector of the arm will be following a sequence of rotations of the joints of the arm. Inverse kinematics asks what rotations of the joints will bring the end effector to a specified position. A rotation of a robotic manipulator is described by a rotation matrix whose elements are trigonometric functions of the angle of rotation. The rotation matrix for a planar rotation is derived followed by an overview of three-dimensional rotations.
Mordechai Ben-Ari, Francesco Mondada
Backmatter
Metadata
Title
Elements of Robotics
Authors
Prof. Mordechai Ben-Ari
Prof. Dr. Francesco Mondada
Copyright Year
2018
Electronic ISBN
978-3-319-62533-1
Print ISBN
978-3-319-62532-4
DOI
https://doi.org/10.1007/978-3-319-62533-1

Premium Partner