Fabrizio Frigeni

Industrial Robotics Control

Mathematical Models, Software Architecture, and Electronics Design

Fabrizio Frigeni
Shanghai, China
ISBN 978-1-4842-8988-4e-ISBN 978-1-4842-8989-1
© Fabrizio Frigeni 2023
This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors, and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This Apress imprint is published by the registered company APress Media, LLC, part of Springer Nature.

The registered company address is: 1 New York Plaza, New York, NY 10004, U.S.A.

A Klara e Alice, con tanto affetto dal vostro papà.

Preface

Robotics is a very exciting field to be working in, and there is no better way for me to share that excitement with you than collecting and presenting all the knowledge and experience I have gained through many years of hard work with several kinds of robots and all sorts of automated machines. Also, I believe there is no better way of understanding how a device works than actually building it entirely from scratch. Therefore, the goal of this book is to provide a general overview of how a robotics control system works and how to design and build one by yourself.

Modern industrial manufacturing plans are highly automated, and a large amount of work is performed by robotic arms. They are efficient, accurate, and fast. They are often employed in tasks that are too repetitive or dangerous for humans. They increase the productivity and reliability of a production chain. However, their control is far from being easy. They require a good deal of understanding of mathematics, software algorithms, and electronic hardware.

You will be guided through the details of the robots’ geometrical models, their movements in space, their driving algorithms, and their electronic control circuits. By the end of the book, you should be able to build a fully functional control system capable of driving any industrial robot.

A photo of Fabrizio Frigeni in his workshop.

The author working on a large welding robot back in 2011

Who Is This Book For?

This book is thought for students, hobbyists, and engineers who would like to understand the theory behind a robotics control system and then put that knowledge into practice to build their own working solution.

It is not meant to be an academic textbook, and the theory is presented in a rather informal way to make it a bit lighter and friendlier. Nevertheless, university students can still find useful information to complement their more formal academic volumes.

Practicing engineers can find the solutions to several kinematic models that are rarely included in detail in robotics textbooks. Also, they will find plenty of practical suggestions on problems that are less of theoretical interest but very often faced in daily robotics activities (workspace monitoring, calibration, servo loop tuning). I tried to bring in as much information as possible from the practical side of things: tips and observations from several years of hands-on work in the industry.

Hobbyists will probably focus more on the second half of the book, where I describe how to build a complete control system for robots: from the software architecture to the electronic hardware design. Here too, I show details from real-life examples and products I built during my engineering career.

Anyone interested in technology with a basic engineering background will be able to follow along. There is indeed quite a bit of mathematics to go through, which is essential for understanding how a complex robotic arm moves in space. But as long as you are familiar with basic trigonometry and linear algebra, you will be fine. Many formulas are presented directly without formal derivation to avoid lengthy pages filled with equations.

There are also different control algorithms to digest and general software architecture to think over. However, no specific programming skill is required. I will leave the actual code implementation for you to work on, according to your background and preferences.

In general, I liked to focus on the reasoning behind certain functions more than on their direct implementation. The book is meant as a source of inspiration for creative people, not as a source of scripts to copy-paste in your system.

As for the hardware implementation, some electronics knowledge is required to put together a working circuit board. However, you could also skip that part and use third-party ready-made components. Alternatively, you could even work with a simulation environment to test out your software without using a real robot at all.

Structure of the Book

The core of the book can be split into two distinct sections: the first half (Parts I and II) presents the mathematical models needed to describe robots’ structures and their movements in space; the second half (Parts III and IV) presents the software and hardware components needed to build a complete control system for the robots.

The first chapter provides an introduction to industrial robots: what different kinds there are and what applications they are used for. We also go through the various nomenclatures commonly used in the industry to make sure we all understand what we are talking about. Then we introduce a generic structure of a robotics control system to show what components you will study over the rest of the book. Finally, we briefly present a simulation environment you could use to test your controller while you build it, in case you do not have access to a real robot. Most of the images in this book are captured from that simulation environment.

Parts I and II (Robot Geometry and Robot Movements) provide the theoretical foundations for robot control. These two sections are a bit heavy on the math, but if your goal is to write a fully functional control software, you need to be patient and work through the details. We first define a generic geometrical framework for robotic arms (Chapter 2) and use it to solve the kinematic chain of a standard six-axes industrial manipulator: the forward kinematics in Chapter 3 and the inverse kinematics in Chapter 4. In other words, we learn how to define the position of a robot in space. The next step is to learn how to move the robot between different positions: we talk about path-planning (Chapter 5); we make sure the path is valid and safe using workspace monitoring functions (Chapter 6); we then describe the motion equations to generate and execute the trajectory (Chapter 7). We also give a brief overview of some advanced control techniques using static and dynamic models (Chapter 8).

Part III (Robot Software) analyzes the functions and characteristics of a typical control software package for robots. We start with the core firmware (Chapter 9) showing its internal structure and how to make it accessible via a simple interface. We describe in detail the motion control and motor commutation algorithms typically found in industrial servo drives. We also present common procedures, tips, and guidelines to calibrate the robot according to its specific application (Chapter 10) and to commission it safely to the customer’s site (Chapter 11). We then show how to create a virtual world using the game engine Unity (Chapter 12), so that you can directly test all the features of your code and receive immediate visual feedback of the resulting actions performed by the robot. This approach is useful in case you have no access to a real industrial robot or also to test your code in simulation before running it on a real machine to avoid costly and dangerous surprises. Finally, we also describe the basics of machine vision algorithms (Chapter 13), in order to augment the functionalities and range of applications of your robot.

Part IV (Robot Hardware) is all about the hardware you need to build a complete robotic arm. We start with the actuators, by describing different kinds of electric motors (Chapter 14) and positional encoders (Chapter 15). Then we delve into the electronic components and learn how to design our own inverter drives (Chapter 16), power management systems (Chapter 17), and logic controller (Chapter 18). Lastly, we take a quick look at the actual fabrication steps (Chapter 19), both for PCB implementations and for mechanical parts.

An appendix at the end of the book provides the solutions for kinematic chains other than the standard six-axes manipulator. We show how to solve a COBOT, a SCARA arm, a Palletizer manipulator, and a Delta (Tripod) parallel kinematic.

Table of Contents
About the Author
Fabrizio Frigeni

A photo of Fabrizio Frigeni.

is a multicultural engineer, hobbyist, teacher, and entrepreneur. Hailing from Italy, he obtained a degree in electrical engineering from the Polytechnic University of Milan; then worked on laser physics for his master’s degree at the University of Illinois at Chicago, USA; and later completed a doctoral degree in microelectronics at the Technical University of Dresden, Germany.

He has gained extensive experience in the fields of automation, robotics, computer vision, and machine learning while working for several years on assignments in Austria, Brazil, India, and China. He has been based in Shanghai since 2009, where he has first managed local engineering teams, and then started his own company to teach, consult, and design control systems for automated machines and robots.

 
About the Technical Reviewer
Zbynek Uher

is a Czech developer, graduated in mathematics and computer science. Since 2005, his professional career is connected with industrial robot software development in Austria and the Czech Republic. His areas of expertise include robotic transformations, robotics control system, and its software architecture.

 
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.67.26