Automation for Robotics
By Luc Jaulin
()
About this ebook
In order to enable a better understanding of the key concepts of automation, this book develops the fundamental aspects of the field while also proposing numerous concrete exercises and their solutions. The theoretical approach that it presents fundamentally uses the state space and makes it possible to process general and complex systems in a simple way, involving several switches and sensors of different types. This approach requires the use of developed theoretical tools such as linear algebra, analysis and physics, generally taught in preparatory classes for specialist engineering courses.
Related to Automation for Robotics
Related ebooks
Constructed Layered Systems: Measurements and Analysis Rating: 0 out of 5 stars0 ratingsTheory of Computation and Application- Automata,Formal languages,Computational Complexity (2nd Edition): 2, #1 Rating: 0 out of 5 stars0 ratingsIntroduction to the Mathematics of Inversion in Remote Sensing and Indirect Measurements Rating: 0 out of 5 stars0 ratingsInfinite Crossed Products Rating: 0 out of 5 stars0 ratingsMatrix Theory and Applications for Scientists and Engineers Rating: 0 out of 5 stars0 ratingsArithmetic and Logic in Computer Systems Rating: 0 out of 5 stars0 ratingsElectronic Structure Calculations on Graphics Processing Units: From Quantum Chemistry to Condensed Matter Physics Rating: 0 out of 5 stars0 ratingsExercises of Tensors Rating: 0 out of 5 stars0 ratingsInvitation to Combinatorial Topology Rating: 0 out of 5 stars0 ratingsIntroduction to Equations and Disequations Rating: 0 out of 5 stars0 ratingsTheory of Formal Systems Rating: 4 out of 5 stars4/5A Geometric Algebra Invitation to Space-Time Physics, Robotics and Molecular Geometry Rating: 0 out of 5 stars0 ratingsNonlinear Control Feedback Linearization Sliding Mode Control Rating: 0 out of 5 stars0 ratingsSimulation of Some Power System, Control System and Power Electronics Case Studies Using Matlab and PowerWorld Simulator Rating: 0 out of 5 stars0 ratingsDiscrete Event Systems in Dioid Algebra and Conventional Algebra Rating: 0 out of 5 stars0 ratingsMultiple Models Approach in Automation: Takagi-Sugeno Fuzzy Systems Rating: 0 out of 5 stars0 ratingsIntroduction to Humans in Engineered Systems Rating: 0 out of 5 stars0 ratingsNew Directions in Dynamical Systems, Automatic Control and Singular Perturbations Rating: 0 out of 5 stars0 ratingsFinite-Time Stability: An Input-Output Approach Rating: 0 out of 5 stars0 ratingsLevel Set Method: Advancing Computer Vision, Exploring the Level Set Method Rating: 0 out of 5 stars0 ratingsSolving Engineering Problems in Dynamics Rating: 0 out of 5 stars0 ratingsRobot Manipulators: Modeling, Performance Analysis and Control Rating: 0 out of 5 stars0 ratingsAnalysis and Control of Linear Systems Rating: 0 out of 5 stars0 ratingsSystems with Delays: Analysis, Control, and Computations Rating: 0 out of 5 stars0 ratingsReal-time Systems Scheduling 2: Focuses Rating: 0 out of 5 stars0 ratingsMovement Equations 1: Location, Kinematics and Kinetics Rating: 0 out of 5 stars0 ratingsMovement Equations 4: Equilibriums and Small Movements Rating: 0 out of 5 stars0 ratingsAlgebras of Holomorphic Functions and Control Theory Rating: 0 out of 5 stars0 ratingsIntroduction to Non-Linear Mechanics Rating: 0 out of 5 stars0 ratingsMechanics I Essentials Rating: 0 out of 5 stars0 ratings
Robotics For You
Artificial Intelligence: The Complete Beginner’s Guide to the Future of A.I. Rating: 4 out of 5 stars4/5Artificial Intelligence Revolution: How AI Will Change our Society, Economy, and Culture Rating: 5 out of 5 stars5/5Some Future Day: How AI Is Going to Change Everything Rating: 0 out of 5 stars0 ratingsLife 3.0: Being Human in the Age of Artificial Intelligence Rating: 4 out of 5 stars4/5Robot Building For Dummies Rating: 3 out of 5 stars3/5Raspberry Pi Projects for the Evil Genius Rating: 0 out of 5 stars0 ratingsHuman Compatible: Artificial Intelligence and the Problem of Control Rating: 4 out of 5 stars4/5Possible Minds: Twenty-Five Ways of Looking at AI Rating: 3 out of 5 stars3/5Dark Aeon: Transhumanism and the War Against Humanity Rating: 5 out of 5 stars5/5The New Breed: What Our History with Animals Reveals about Our Future with Robots Rating: 0 out of 5 stars0 ratingsBecome a U.S. Commercial Drone Pilot Rating: 5 out of 5 stars5/5DIY Drones for the Evil Genius: Design, Build, and Customize Your Own Drones Rating: 4 out of 5 stars4/5CNC: How Hard Can it Be Rating: 4 out of 5 stars4/5How to Walk on Water and Climb up Walls: Animal Movement and the Robots of the Future Rating: 3 out of 5 stars3/5101 Spy Gadgets for the Evil Genius 2/E Rating: 4 out of 5 stars4/5Mastering PLC Programming: The software engineering survival guide to automation programming Rating: 0 out of 5 stars0 ratingsThe Consciousness Explosion: A Mindful Human's Guide to the Coming Technological and Experiential Singularity Rating: 0 out of 5 stars0 ratingsA Hundred Reasons Why AI Can Make You Money: English to Spanish Rating: 5 out of 5 stars5/5How to Build an Android: The True Story of Philip K. Dick's Robotic Resurrection Rating: 4 out of 5 stars4/5Raspberry Pi: Raspberry Pi programming for beginners, including Raspberry Pi projects, tips, tricks, and more! Rating: 0 out of 5 stars0 ratingsCreate Profitable Side Hustles with Artificial Intelligence Rating: 0 out of 5 stars0 ratingsArduino: The complete guide to Arduino for beginners, including projects, tips, tricks, and programming! Rating: 4 out of 5 stars4/5How to Survive a Robot Uprising: Tips on Defending Yourself Against the Coming Rebellion Rating: 3 out of 5 stars3/52062: The World that AI Made Rating: 5 out of 5 stars5/5ChatGPT: The Future of Intelligent Conversation Rating: 4 out of 5 stars4/5The Official Raspberry Pi Handbook 2024: Astounding projects with Raspberry Pi computers Rating: 0 out of 5 stars0 ratings
Reviews for Automation for Robotics
0 ratings0 reviews
Book preview
Automation for Robotics - Luc Jaulin
Introduction
I.1. State representation
Biological, economic and other mechanical systems surrounding us can often be described by a differential equation such as:
images/Introduction_image_1_3.jpgunder the hypothesis that the time t in which the system evolves is continuous [JAU 05]. The vector u(t) is the input (or control) of the system. Its value may be chosen arbitrarily for all t. The vector y(t) is the output of the system and can be measured with a certain degree of accuracy. The vector x(t) is called the state of the system. It represents the memory of the system, in other words the information needed by the system in order to predict its own future, for a known input u(t). The first of the two equations is called the evolution equation. It is a differential equation that enables us to know where the state (t) is headed knowing its value at the present moment t and the control u(t) that we are currently exerting. The second equation is called the observation equation. It allows us to calculate the output vector y(t), knowing the state and control at time t. Note, however, that, unlike the evolution equation, this equation is not a differential equation as it does not involve the derivatives of the signals. The two equations given above form the state representation of the system.
It is sometimes useful to consider a discrete time k, with images/Introduction_Inline_2_2.gif where images/Introduction_Inline_2_3.gif is the set of integers. If, for instance, the universe is being considered as a computer, it is possible to consider that the time k is discrete and synchronized to the clock of the microprocessor. Discrete-time systems often respect a recurrence equation such as:
images/Introduction_image_3_1.jpgThe first objective of this book is to understand the concept of state representation through numerous exercises. For this, we will consider, in Chapter 1, a large number of varied exercises and show how to reach a state representation. We will then show, in Chapter 2, how to simulate a given system on a computer using its state representation.
The second objective of this book is to propose methods to control the systems described by state equations. In other words, we will attempt to build automatic machines (in which humans are practically not involved, except to give orders, or setpoints), called controllers capable of domesticating (changing the behavior in a desired direction) the systems being considered. For this, the controller will have to compute the inputs u(t) to be applied to the system from the (more or less noisy) knowledge of the outputs y(t) and from the setpoints w(t) (see Figure I.1).
From the point of view of the user, the system, referred to as a closed-loop system, with input w(t) and output y(t), will have a suitable behavior. We will say that we have controlled the system. With this objective of control, we will, in a first phase, only look at linear systems, in other words when the functions f and g are assumed linear. Thus, in the continuoustime case, the state equations of the system are written as:
images/Introduction_image_2_4.jpgand in the discrete-time case, they become:
images/Introduction_image_3_3.jpgFigure I.1. Closed loop concept illustrating the control of a system
images/Introduction_image_3_5.jpgThe matrices A, B, C, D are called evolution, control, observation and direct matrices. A detailed analysis of these systems will be performed in Chapter 3. We will then explain, in Chapter 4, how to stabilize these systems. Finally, we will show in Chapter 5 that around certain points, called operating points, nonlinear systems behave like linear systems. It will then be possible to stabilize them using the same methods as those developed for the linear case.
Finally, this book is accompanied by numerous MATLAB programs available at:
http://www.ensta-bretagne.fr/jaulin/isteauto.html
I.2. Exercises
EXERCISE I.1.– Underwater robot
The underwater robot Saucisse of the Superior National School of Advanced Techniques (SNSAT) Bretagne [JAU 09], whose photo is given in Figure I.2, is a control system. It includes a computer, three propellers, a camera, a compass and a sonar. What does the input vector u, the output vector y, the state vector x and the setpoint w correspond to in this context? Where does the computer come in the control loop?
Figure I.2. Controlled underwater robot
images/Introduction_image_4_4.jpgEXERCISE I.2.– Sailing robot
The sailing robot Vaimos (French Research Institute for Exploitation of the Sea (FRIES) and SNSAT Bretagne) in Figure I.3 is also a control system [JAU 12a, JAU 12b]. It is capable of following paths by itself, such as the one drawn in Figure I.3. It has a rudder and a sail adjustable using a sheet. It also has an anemometer on top of the mast, a compass and a Global Positioning System (GPS). Describe what the input vector u, the output vector y, the state vector x and the setpoint w may correspond to.
Figure I.3. Sailing robot Vaimos a) and a path followed by Vaimos b). The zig-zags in the path are due to Vaimos having to tack in order to sail against the wind
images/Introduction_image_5_2.jpgI.3. Solutions
Solution to Exercise I.1 (underwater robot)
The input vector images/Introduction_Inline_5_6.gif corresponds to the electric voltage given to the three propellers and the output vector y(t) includes the compass, the sonar data and the images taken by the cameras. The state vector x corresponds to the position, orientation and speeds of the robot. The setpoint w is requested by the supervisor. For instance, if we want to perform a course control, the setpoint w will be the desired speed and course for the robot. The controller is a pogram executed by the computer.
Solution to Exercise I.2 (sailing robot)
The input vector images/Introduction_Inline_6_2.gif corresponds to the length of the sail sheet images/Introduction_Inline_6_2a.gif and to the angle of the rudder δg . The output vector images/Introduction_Inline_6_2b.gif includes the GPS data m, the ultrasound anemometer (weather vane on top of the mast) ψ and the compass θ. The setpoint w indicates here the segment ab to follow. Figure I.4 illustrates this control loop. A supervisor, not represented on the figure, takes care of sequencing the segments to follow in such a way that the robot follows the desired path (here 12 segments forming a square box followed by a return to port).
Figure I.4. Control loop of the sailing robot
images/Introduction_image_6_5.jpg1
Modeling
We will call modeling the step that consists of finding a more or less accurate state representation of the system we are looking at. In general, constant parameters appear in the state equations (such as the mass or the inertial moment of a body, the coefficient of viscous friction, the capacitance of a capacitor, etc.). In these cases, an identification step may prove to be necessary. In this book, we will assume that all the parameters are known, otherwise we invite the reader to consult Eric Walter’s book [WAL 14] for a broad range of identification methods. Of course, no systematic methodology exists that can be used to model a system. The goal of this chapter and of the following exercises is to present, using several varied examples, how to obtain a state representation.
1.1. Linear systems
In the continuous-time case, linear systems can be described by the following state equations:
images/ch1_image_1_5.jpgLinear systems are rather rare in nature. However, they are relatively easy to manipulate using linear algebra techniques and often approximate in an acceptable manner the nonlinear systems around their operating point.
1.2. Mechanical systems
The fundamental principle of dynamics allows us to easily find the state equations of mechanical systems (such as robots). The resulting calculations are relatively complicated for complex systems and the use of computer algebra systems may prove to be useful. In order to obtain the state equations of a mechanical system composed of several subsystems S1, S2, . . . , Sm, assumed to be rigid, we follow three steps:
1) Obtaining the differential equations. For each subsystem Sk, with mass m and inertial matrix J, the following relations must be applied:
images/ch1_image_2_4.jpgwhere the fi are the forces acting on the subsystem Sk, Mfi represents the torque created by the force fi on Sk, with respect to its center. The vector a represents the tangential acceleration of Sk and the vector images/ch1_image_2_4a.gif represents the angular acceleration of Sk. After decomposing these 2m vectorial equations according to their components, we obtain 6m scalar differential equations such that some of them might be degenerate.
2) Removing the components of the internal forces. In differential equations there are the so-called bonding forces, which are internal to the whole mechanical system, even though they are external to each subsystem composing it. They represent the action of a subsystem Sk on another subsystem Sℓ. Following the action–reaction principle, the existence of such a force, denoted by fk,ℓ , implies the existence of another force fℓ,k, representing the action of Sℓ on Sk, such that images/ch1_Inline_3_9.gif Through a formal manipulation of the differential equations and by taking into account the equations due to the action-reaction principle, it is possible to remove the internal forces. The resulting number of differential equations has to be reduced to the number n of degrees of freedom q1, . . . , qn of the system.
3) Obtaining the state equations. We then have to isolate the second derivative images/ch1_Inline_3_6.gif from the set of n differential equations in such a manner to obtain a vectorial relation such as:
images/ch1_image_3_2.jpgwhere u is the vector of external forces that are not derived from a potential (in other words, those which we apply to the system). The state equations are then written as:
images/ch1_image_3_4.jpgA mechanical system whose dynamics can be described by the relation images/ch1_Inline_3_7.gif will be referred to as holonomic. For a holonomic system, q and images/ch1_Inline_3_7a.gif are thus independent. If there is a so-called non-holonomic constraint that links the two of them (of the form images/ch1_Inline_3_8.gif the system will be referred to as non-holonomic. Such systems may be found for instance in mobile robots with wheels [LAU 01]. Readers interested in more details on the modeling of mechanical systems may consult [KHA 07].
1.3. Servomotors
A mechanical system is controlled by forces or torques and obeys a dynamic model that depends on many poorly known coefficients. This same mechanical system represented by a kinematic model is controlled by positions, velocities or accelerations. The kinematic model depends on well-known geometric coefficients and is a lot easier to put into equations. In practice, we move from a dynamic model to its kinematic equivalent by adding servomotors. In summary, a servomotor is