• No se han encontrado resultados

Robotic framework for low cost and affordable control systems laboratories

N/A
N/A
Protected

Academic year: 2020

Share "Robotic framework for low cost and affordable control systems laboratories"

Copied!
47
0
0

Texto completo

(1)

Universidad de Los Andes

Master Thesis

Robotic Framework for Low Cost and

Affordable Control Systems Laboratories

Author:

Andr´es Rengifo

Advisors:

Dr. Fredy Segura

Dr. Nicanor Quijano

A thesis submitted in fulfilment of the requirements

for the degree of Mag´ıster en ingenier´ıa electr´onica y de computadores

in the

Centro de Microelectr´onica de la Universidad de los Andes Departamento de ingenier´ıa el´ectrica y electr´onica

(2)

Declaration of Authorship

I, Andr´es Rengifo, declare that this thesis titled, ’Robotic Framework for Low Cost

and Affordable Control Systems Laboratories’ and the work presented in it are my own. I confirm that:

This work was done wholly or mainly while in candidature for a research degree

at this University.

Where any part of this thesis has previously been submitted for a degree or any

other qualification at this University or any other institution, this has been clearly

stated.

Where I have consulted the published work of others, this is always clearly

at-tributed.

Where I have quoted from the work of others, the source is always given. With

the exception of such quotations, this thesis is entirely my own work.

I have acknowledged all main sources of help.

Where the thesis is based on work done by myself jointly with others, I have made

clear exactly what was done by others and what I have contributed myself.

Signed:

Date:

(3)

“I have noticed even people who claim everything is predestined, and that we can do nothing to change it, look before they cross the road.”

(4)

UNIVERSIDAD DE LOS ANDES

Abstract

Facultad de ingenier´ıa

Departamento de ingenier´ıa el´ectrica y electr´onica

Mag´ıster en ingenier´ıa electr´onica y de computadores

Robotic Framework for Low Cost and Affordable Control Systems

Laboratories

by Andr´es Rengifo

The development of an inexpensive robotic platform is presented. Our aim is to provide

a complete hardware tool as a low cost laboratory, to illustrate control systems. The capabilities of this platform allows both, researchers and students, to implement from

basics techniques to complex ones (e.g. from PID to multi-agent systems). The hard-ware that has been designed and developed performs experiments for single or multiple

robot control employing capabilities like: locomotion, communication, perception, and autonomous decision making. We illustrate three different control techniques using this

platform. The first one is a basic control layer based on PID and Fuzzy logic controllers that has been accomplished to safe and predictable robot navigation. Then, two differ-ent models for phase synchronization (pulse-coupled biological oscillators and Kuramoto

oscillator) have been implemented using six different robots. Moreover a Multilayer per-ceptron controller is implemented to perform a phototaxis behaviour. Finally, a game

(5)

Acknowledgements

I would like to express my sincere gratitude to my advisors Prof. Fredy Segura and Prof.

Nicanor Quijano for the continuous support of my master study and related research, for their patience, motivation, and for providing me with an excellent atmosphere for

doing research.

I take this opportunity to express gratitude to all of the technical staff of the laboratories

at the ”Departamento de Igenier´ıa El´ectrica y Electr´onica” for their devoted work.

I would also like to thank my parents, grandparents, friends, and my girlfriend. They were always supporting me and encouraging me with their best wishes.

Finally, I also place on record, my sense of gratitude to one and all, who directly or indirectly, have lent their hand in this venture.

(6)

Contents

Declaration of Authorship i

Abstract iii

Acknowledgements iv

Contents v

List of Figures vii

List of Tables ix

1 Introduction 1

2 Robotics Platform Design 4

2.1 Overview . . . 4

2.2 Hardware blocks diagram . . . 6

2.3 Embedded Computing . . . 6

2.4 Perception . . . 7

2.5 Communication . . . 8

2.6 Locomotion . . . 8

2.7 Power and Charging Management . . . 8

2.8 Positioning System . . . 8

2.9 User Interface . . . 9

2.10 Assembly and Costs . . . 9

3 Navigation Layer 12 3.1 Dynamic Model . . . 12

3.2 Digital PID . . . 13

3.3 Fuzzy Logic Controller . . . 14

3.4 Navigation Strategies . . . 15

4 Synchronization Control Techniques 17 4.1 Kuramoto Oscilators . . . 17

(7)

Contents vi

4.2 Pulse couple biological oscillators . . . 20

5 Multilayer perceptron controller, phototaxis application 22

6 Game Theory for multi-robot coordination 25

7 Conclusions and future work 28

A Schematic Designs 29

B PCB’s Layouts 31

(8)

List of Figures

2.1 Layer system design . . . 4

2.2 Complete robotics platform . . . 5

2.3 Electronic blocks diagram . . . 6

2.4 IR sensors calibration fit curve . . . 7

2.5 Lipo charger board . . . 9

2.6 User interface external controller board . . . 10

2.7 User interface external controller board . . . 10

3.1 Closed loop system. . . 13

3.2 Fuzzy logic controller. . . 14

3.3 Normalized universe of discourse for fuzzy controller. First plot, shows the five memberships functions set for the input e(t). Second plot, shows seven membership functions to map the input ˙e(t). Third plot, show the outputu(t) memberships functions modeled by seven ”linguistic” variables. 15 3.4 Navigation behaviors. a) Go to Goal, b) Avoid Obstacle. Sensor vectors (− − −), c) Navigation Path: Avoid obstacle behavior (− − −) Go to goal behavior (—).. . . 16

4.1 Robots communication network. . . 18

4.2 Firing Sequence. a)Initial phase states b) phases states after 18 seconds c) phases states after 26 seconds d) final phase states at 34 seconds. . . . 19

4.3 Synchronization response. Kuramoto oscillators . . . 19

4.4 Firing sequence. Pulse couple biological oscillators. . . 20

4.5 Synchronization response. Pulse couple biological oscillators. . . 21

5.1 Multilayer perceptron controller. . . 22

5.2 Multilayer perceptron mappings. a) Is the output corresponding to the top ”path”. b)Is the output corresponding to the bottom ”path”. c) Shows the right motor output (black) and the left motor output (gray) . . 24

6.1 Solution of the game. a) Robots Headings progress over time. b)maximization of the local costs function of each robot. c) maximization of the global cost function . . . 27

A.1 Main board schematic circuit design . . . 29

A.2 Central controller schematic circuit design . . . 30

A.3 Lipo charger schematic circuit design . . . 30

B.1 Main board top layer PCB . . . 31

B.2 Main board bottom layer PCB . . . 31 vii

(9)

List of Figures viii

B.3 Central controller board top layer PCB . . . 32

B.4 Central controller board bottom layer PCB . . . 33

(10)

List of Tables

2.1 Robot part costs . . . 11

(11)

Chapter 1

Introduction

Control systems theory allows to model and guide behaviors of complex devices and systems. Lectures of control systems courses are usually complemented via implemen-tation by experiments and laboratory equipment. However, the costs to acquire this

sort of equipment makes it unavailable for most of students, particularly in third world countries. For this reason, our effort is focused in offering a low-cost solutions for applied

experiments in the control systems area.

Nowadays, the experimental lab equipment in the universities is based on expensive

tools like Quanser solutions [1] mixed with licensed software like Matlab/Simulink or Labview. Despite this, the students have only a few hours per week in the lab, and

they cannot always operate the plants themselves or even away from the laboratory facilities. Moreover, the massive internet connectivity allows a big amount of students access to online content in many topics via MOOCs (Massive Open Online Course).

Particularly, in control systems we can highlight [2] [3]. Nevertheless, it has been focused only in the theory, regardless of the practical part. On the other hand, one of the most

renowned MOOC [4], oriented to control of mobile robots, gives the guidelines to build a robotic platform to apply the concepts covered through the course. Another approach

to practical tools, are remote labs [5], based on embedded hardware technologies and internet. It allows a remote link between the student and different experiments (e.g. control of mobile robots, or ball and plate). Also, projects like [6] have created low-cost experiments applied to distributed networked feedback control like: ball and tubes, thermal plants, and smart lights. In [7], the use of LEGO blocks has helped in the construction of a more nearby and friendly laboratories. These examples show a trend to create more available tools to apply control systems theory.

As described in [6], there are another two research areas in low cost labs to expand learning experiences: wireless sensor networks and mobile robotics. In this way, it is

(12)

Chapter 1. Introduction 2

important to highlight the versatility and potential of a mobile robots to illustrate many different control systems strategies for decision-making, such as: safely and predictable

navigation, or cooperative multi-robot behaviors. Besides, in terms of hardware design, it is a challenge to develop a low cost platform with the necessary capabilities to use it

as a control systems lab.

In this sense, some research groups, who appraise the usefulness of validating control systems theory in a real environments, have developed robotic platforms. Two

rep-resentative platforms have been developed at EPFL (´Ecole Polytechnique F´ed´erale de Lausanne). The first one is Alice robot [8], which is a micro sized robot with wheeled lo-comotion, expansion modules that give it enhanced capabilities of sensing and communi-cate. Alice has been used in biomimetic, collective, and evolutionary robotics. Secondly, E-puck robot [9] is commonly used in the research of swarm robotics [10] [11][12]. It has a remarkable modular capabilities, however the complex tool-chain and price (around $1300USD) make it unaffordable. R-one robot designed at Rice University [13] has an approximate cost of $250USD (parts only) per robot, an it is provided with a basic but complete sensor suite useful for many multi-robot experiments as collective navigation

or collective transport [14] . Also, it has a centralized control to perform simultaneously operations like programming, charging and data collection. The self-organized system

research group from Hardvard University, has created Kilobot [15], a really low cost platform ($14USD for parts), oriented to demonstrating collective behaviors over thou-sand of robots, like collective formation [16]. In addition, Kilobot has an interesting design in terms of collective re-programming, energy management and locomotion using vibration motors. However, it has limited sensing, remote communication capabilities,

and speed. A package of 10 robots has a price around $1179USD. QuickBot [17], has been used as a MOOC complement in [4] for control of mobile robots, with an overall cost $278USD. All parts are available online and for retail, and the assembly process is

easy and well documented for everyone.

The main contribution of this work is to accomplish a complete robotic framework as

a low-cost (around 20USD, parts cost per robot) control systems lab. We show how this platform is capable to illustrate basics control techniques using dynamics of a single

robot to complex ones via multi-robot interactions. Furthermore, the capabilities in terms of communication, perception, and locomotion are better than the cheapest ones found to our knowledge.

The remainder of this document is organized as follows. Chapter 2, describes the hard-ware design and functionality of the entire system, from robot technology and

construc-tion, to user interface options. Chapter 3 describes, the basic control layer powered by PID controllers, which structure the individual behavior-based navigation. Moreover,

(13)

Chapter 1. Introduction 3

two different synchronization experiments using a blinking led over six robots are ex-posed in Chapter 4. The experiments are based on pulse coupled biological oscillators and Kuramoto oscillator models. Chapter 5illustrates a photaxis application based on a multilayer perceptron controller. Chapter6shows a game theory approach to perform a multi-robot consensus. Finally, some conclusions and future directions are drawn in Chapter 7.

(14)

Chapter 2

Robotics Platform Design

2.1

Overview

Figure 2.1: Layer system design

The general design is presented in Figure 2.1: The bottom layer supports the physi-cal components, which compose the robot: Motors, IR sensors, expansion socket and

(15)

Chapter 2. Hardware Design 5

modules, Rgb Led, Lipo Battery, Lipo charger, and global positioning system using an overhead camera. The peripheral layer is powered by the ATmega168A microcontroller,

it allows to manage and drive all the physical components Above, the control layer per-forms the necessary actions to drive the robot in a safe way in their environment and

complete tasks. The application layer describes the individual and collective actions that emerges when the robot, or the group of robots are operating. Finally the top layer, allows user trough the communication layer, debug, run, start/stop, and programming

the robots.

Figure 2.2: Complete robotics platform

The complete system, is described in the Figure 2.2. It is compound by: robots, com-puter, web-cam and controller board (the green one attached to computer). In the computer the user can write codes to program the robots (using AVR-Studio), also it

runs the ”Central controller” software that allows both send commands to robots, and process the web-cam information to global positioning system. The ”Central controller” software is compatible with any web-cam with a minimum resolution (340x480 and 30

fps). The computer application communicates via USB with a Central Controller board designed to send user commands to robots wirelessly. The ”Central controller board”,

has an AT90USB162 microcontroller that receives USB data from computer and send to the robots using the module NRF24L01, it also allows wire programming via (AVR-ISP).

(16)

Chapter 2. Hardware Design 6

2.2

Hardware blocks diagram

The hardware design is focused on maintaining low-cost and simplicity, preserving

func-tionality. Figure2.3shows the components that have been used in order to satisfy these requirements, which are described in the next subsections.

Figure 2.3: Electronic blocks diagram

2.3

Embedded Computing

The embedded computing is powered by an Atmega168A microcontroller, which has an 8 bits architecture, running at 8MHz with 16K of memory, and a set of peripherals to

manage different components, this basic features are capable to run the expected com-puting skills. It also includes the necessary peripherals to manage: power via sleep mode,

sensors using multiple channel ADC (analog to digital converter) with 10 bits of resolu-tion, also RF communication by SPI (Serial peripheral Interface), motor speed control with two PWM (pulse with modulation) channels, and expansion socket to support extra

modules. Figure 2.3 shows the general block diagram of the electronic system, and the interconnections between the microcontroller and the subsystems. The programming

(17)

Chapter 2. Hardware Design 7

language using is C and we provide the necessary libraries to drive the basic functions of the robot1

.

2.4

Perception

The robot is equipped with five infrared sensors, placed in the front at ±90◦, 0◦, and

±45◦. Each sensor is a pair emitter (SFH4545) and photo-transistor (T4300). The emitter is a high power infrared Led at 940nm that allows robot sensing obstacles upto

15cm, via reflection. This system is cheaper than sharp sensors or ultrasonic used commonly in other robots to detect obstacles.

Figure 2.4: IR sensors calibration fit curve

The characterization of IR, sensors is required to obtain a function that allows transform the raw values taken by the digital to analog converter, to distance values. The resultant

fit curve is presented in Figure 2.4. This fit may change with different ambient light conditions, so a re calibration process will be necessary.

1In web http://ttde.uniandes.edu.co/ttdewiki2/index.php/Robotics 4 Control we provide all the

(18)

Chapter 2. Hardware Design 8

2.5

Communication

Wireless communication is one of the most important feature for a robotic platform,

because it allows remote monitoring and control. The common wireless modules are Zigbee, Bluetooth or Wifi, which are expensive components that increase the final cost.

Here, we use an ultra low cost ($1USD) and power consumption (11.3mA in transmit-ter mode) transceiver RF (at 2.4GHz) module NRF24L01, which gives the robot the

possibility to interchange data with the operator and other robots.

2.6

Locomotion

Two wheel differential drive is the most commonly used system. To maintain lower costs,

this design avoids the use of gearboxes and complex mechanical parts. The locomotion is based only on the contact between the rotor of two tiny 3V electric motor and the surface. Besides, the robot preserves a differential drive dynamics with acceptable speed. The

manage of the motors speed and direction is done by the microcontroller, using PWM and digital pins, using the TB6552 driver .

2.7

Power and Charging Management

The electronics are powered by a 3.7V, 200mAh LiPo battery. A voltage regulator is used to maintain a constant voltage of 3.3V and enable operation above 5 hours of constant working. In stand-by mode, the microcontroller drives all modules to low power

consumption to save battery.

An external LiPo charger has been built and showed in in Figure 2.5. Is an external board that uses an MCP73833 to manage battery reload. It is compatible with

2.8

Positioning System

Usually the mobile robots are provided with wheel encoders to reach dead reckoning.

The main inaccuracies occur when the wheel drift in the surface but the encoder record it as a correct turn. To improve the positioning accuracy the position of the robot is

updated wirelessly using a simple web-cam(640x480 pixels and 30fps) attached overhead, and a robot detector program based on color filtering due to openCV running in Java.

(19)

Chapter 2. Hardware Design 9

Figure 2.5: Lipo charger board

2.9

User Interface

User interface has been programmed in Java, which performs simultaneous operations

for a group of robots, including re-programming, start/stop commands, positioning and monitoring. The computer application communicates via USB with an external board,

shown in Figure ?? and designed to send user commands to robots wirelessly. This board, has an AT90USB162 microcontroller that receives USB data from computer and send to the robots using the module NRF24L01.

2.10

Assembly and Costs

It is necessary the design and production of a custom 3D print parts for easy setting-up and calibration of the motors and IR sensors. These two pieces do not need to use glue

or screws. This can be done due to the fact that 3D printers services available make these pieces affordable and inexpensive. An exploded view of mechanical assembly is

(20)

Chapter 2. Hardware Design 10

Figure 2.6: User interface external controller board

(21)

Chapter 2. Hardware Design 11

Subsystem Cost Embebedd

Com-puting

$3

Proximity Sen-sors

$6

Locomotion $3 3D printed parts $3

Power $2

Communication $1 Passive Compo-nents

$7

Total $25

(22)

Chapter 3

Navigation Layer

The design of the basic navigation layer is presented in the following section; it will

provide to the robot a safely navigation around the environment. The design is based in a ”finite state machine”, it switches between reactive navigation strategies: go to goal and avoid obstacles. To solve the task of safely navigation are now introduced

both, classic proportional-integral-derivative (PID) and fuzzy logic, two of the most used controllers. Subsection 3.1 presents the dynamic model of the robot ( to understand, modeling and characterize the plant/process) which is the first step into the control system design methodology. Then, Subsection3.2presents the design of a discrete PID controller. Moreover, Subsection3.3reports the design of Fuzzy logic controller. Finally the navigation strategies are presented in Subsection ??.

3.1

Dynamic Model

A differential drive robot can be modeled using the kinematic equations [18] to describe its position in terms of its angular w and linear v speeds, i.e., we use unicycle model that is given by,

˙

X =J ν X˙ =

    ˙ x ˙ y ˙ θ     J =    

cosθ 0 sinθ 0 0 1     ν = " v w # , (3.1)

where ˙X is the position vector states, ν is the speeds vector, and J is the Jacobian matrix. The implementation of navigation strategies require control over the robot’s heading, so the linear velocity is maintained constant and the controller adjusts the

(23)

Chapter 3. Navigation Layer 13

angular speedw. However, the final actuation is applied to motor’s speeds using PWM. For this, it is necessary to have a relation between the unicycle model with the controlled

variables, the angular velocities of each wheel, ˙θr = vr

R and ˙θl = vl

R, so the differential

drive model [18] rewrites J andν from Equation (3.1) as:

ν= " ˙ θr ˙ θl #

J =R

   1

2cosθ

1

2cosθ

1

2sinθ

1

2sinθ

1 L − 1 L     . (3.2)

In Equation (3.2),Lis the distance between wheels and R is the wheel’s radius. In this sense the robot describes a curvature motion, where the heading is changing through

the controller output w. Then, counter-clockwise curvature is exhibited if w >0, and thereforeθl> θl, in the other wayw <0 the curvature is going to be clockwise. Finally,

when the robot has the correct heading the expected controller outputw≃0 and so the robot go straight.

3.2

Digital PID

The embedded implementation of controlled required a digital PID implementation [19], Figure 3.1 describes a closed loop system, where θg is the desired robot heading, θr(k)

is the actual robot orientation, θ′r(k) is the estimated robot’s angle through overhead camera or sensor data information, therefore noisy measurements are introduced. The difference between desired error and actual error is calculated to obtain the error input

to PID. The controller produces a control signal u(k) according to Equation (3.3), to change the angular speedw and finally transform it by Equation (3.2).

Discrete time P ID

Robot ǫ(k)

Camera GP S orSensor data

+

θg u(k) θr(k)

θr′(k)

Dynamics

Figure 3.1: Closed loop system.

∆u(k) =K1ǫ(k) +K2ǫ(k−1) +K3ǫ(k−2) (3.3)

where:

(24)

Chapter 3. Navigation Layer 14

K2=−Kp−2Kd (3.5)

K3=Kd (3.6)

The discretization of the classic continuous-time PID is achieved applying the Euler’s backwards differentiation method. Then the terms are rearranged to obtain

Equa-tion(3.3), simplified by introducing the values in (3.4,3.5, and3.6).

3.3

Fuzzy Logic Controller

The main purpose of this section is to show how to solve the same problem of steering

robot towards a goal angle θg, using a popular fuzzy logic; a rule-based control. It is an

approach about how the humans reasoning to take decisions. The fuzzy logic design is

based on [20], in this problem, the same closed loop system shown in Figure 3.1 (but in continuous time) is used, changing the discrete time PID controller to fuzzy logic controller in Figure 3.2.

F uz z if ic at ion D e f uz z if ic at ion RuleBase Interf erence M echanism e(t)

d dt

˙

e(t)g

2

g1

u(t)

g0

Figure 3.2: Fuzzy logic controller.

Fuzzy controller receives as inputs the error e(t), and change in error ˙e(t), scaled byg1 andg2to maintain the fuzzy membership functions normalized (between±1). As a

rule-based controller, fuzzy logic controller provides a framework to mapping (fuzzyfication)

the numerical values of the inputs and outputs to ”linguistic” variables (i.e. if the error is between 0 and 0.2 the error is ”positive-small”). The rules are used to define the

output actions for each inputs combination, in terms of linguistic variables (Rule Base and Interference Mechanism blocks). Finally it is necessary to translate the output in terms of linguistic variables for output, to analog values via defuzzification block.

Fuzzification block obtains the values of the membership functions corresponding to the input values, the design of the membership functions where the centers of the triangular

(25)

Chapter 3. Navigation Layer 15

−1 −0.5 0 0.5 1

0 0.5 1 1.5 error Degree of membership

negbig negsmall zero possmall posbig

−1 −0.5 0 0.5 1

0 0.5 1 1.5 errorDot Degree of membership

negbig negmed negsmallzeropossmall posmed posbig

−1 −0.5 0 0.5 1

0 0.5 1 1.5 u Degree of membership

negbig negmed negsmallzeropossmall posmed posbig

Figure 3.3: Normalized universe of discourse for fuzzy controller. First plot, shows

the five memberships functions set for the input e(t). Second plot, shows seven mem-bership functions to map the input ˙e(t). Third plot, show the outputu(t) memberships

functions modeled by seven ”linguistic” variables.

The block ”Rule Base” has the if-then rules that relates each possible combination of

input states with the output states, according to the ”linguistic” variables. These rules are used by the Interference Mechanism block to determined which rules are active

3.4

Navigation Strategies

Since the robot is placed on a dynamic environment it is necessary to implement dif-ferent navigation behaviors. In this section we present two of them that allows a safely navigation. The main idea is to calculate an objective vector and follow, particularly

we use the PID controller to drives the go to goal behavior and fuzzy logic controller to perform avoid obstacles behavior.

Figure 3.4a) shows the obstacle distances to the robot center, measured by each IR proximity sensor. Subsequently, all sensor vectors are summed to obtain the desired

avoiding obstacle vector V~ao.

Another behavior is shown in Figure3.4b) that shows the robot with its local position and orientation φregarding to the global frame. Using the desired position of goal, the robot calculates the vector Vg~ thereby, the angle ∠Vg~. This angle is used as a target

(26)

Chapter 3. Navigation Layer 16

~ Vao

θr

ε goal ~ Vg

o o

Goal Obstacle

a) b)

c)

x y

x y

Obstacle

Figure 3.4: Navigation behaviors. a) Go to Goal, b) Avoid Obstacle. Sensor vectors

(− − −), c) Navigation Path: Avoid obstacle behavior (− − −) Go to goal behavior (—).

towards the goal. In this way, combining these behaviors via switching among them,

it is possible a safely and predictable robot navigation as shown in Figure 3.4c) where the first track denotes the ”Avoid” obstacle behavior and the solid line shows go to goal behavior. In addition to, other navigation strategies (e.g. follow wall, tracking targets

or go to angle) could be implemented using this robot. Then, each strategy introduces different challenges that could be studied to implement different kinds of controllers.

(27)

Chapter 4

Synchronization Control

Techniques

Synchronization techniques are employed to solve problems in many fields, e.g., sensors networks, smart grids, neurological processes to name a few. This section presents

the application of two different synchronization models to reach a flashing LED phase synchronization between a group of six robots using a radio network. As a result, the

robots perform a similar behavior exhibited by fireflies in the nature. Each robot is continuously running an 8 bit timer counter operating at 7.813kHz. Thus, the robot internal time variable is updated for each timer overflow (read via interrupt) and a

blinking LED is produced when it reaches a threshold variable. The threshold and timer counter value maybe modified depending on the synchronization technique used.

The network ring topology used to manage communication is shown in Figure4.1. The data transmitted between each pair of robots is just a single dummy byte that activates

an interrupt in the receiver node to execute the specific synchronization operations. The experimental results are shown from video processing of the firing sequence of the

robots1

.

4.1

Kuramoto Oscilators

The Kuramoto Oscillators have been extensively studied to applications over communi-cation networks that required frequency synchronization and phase cohesiveness,

con-sidering the delay and sampled constraints, imposed by the communication limitations.

1The videos are available at: http://ttde.uniandes.edu.co/ttdewiki2/index.php

(28)

Chapter 5. Synchronization Control Techniques 18

Figure 4.1: Robots communication network.

The coupled oscillator model purposed in [21] as follow: ˙

θi =ωi+ N

X

j=1

sin(θi−θj), (4.1)

where ˙θi describes the phase shift and frequency adjust performed by ith agent

oscil-lating with initial natural frequencyωi, depending on the differences between its actual phase θi and phases θj of population of size N. As described and proved in [22] the

synchronization is also attained if the agents are distributed in a network, modeled by a graphGp(V,Ep) with an adjacency matrixAp producing an extended Kuramoto model:

˙

θi=ωi+ N

X

j=1

aijsin(θi−θj) (4.2)

When the ith node receives a message event fromjth node (which means thatjth fires)

it computes and updates its phase and frequency following Equation (4.2) and assuming

θj = 2π.

The results shown in Figure4.2, show the synchronization progress over time, where the robot oscillator phases converge to the same one. In this experiment the initial lags are not bounded by |θi−θi| ≤ π2 as assumed theoretically. However, the synchronization

is successful. It is interesting to notice that even through the bounded value is taking

into account to assert analytically the convergence, experimentally it is not necessary a critical factor.

In terms of number of robot flashing at the same time. The Figure ?? shows the synchronization progress. In the beginnings, the figure shows each oscillator firing

inde-pendently. Then, the number of oscillators that fires at the same time grows to achieve synchrony.

(29)

Chapter 5. Synchronization Control Techniques 19

Figure 4.2: Firing Sequence. a)Initial phase states b) phases states after 18 seconds

c) phases states after 26 seconds d) final phase states at 34 seconds.

5 10 15 20 25 30 35 40

0 1 2 3 4 5 6

Seconds

Robots Firing

Number of Robots Firing at time

(30)

Chapter 5. Synchronization Control Techniques 20

4.2

Pulse couple biological oscillators

This technique is another perspective based on a generalization of integrate-an-fire

dy-namics [23]. Here, the state of each oscillator is governed by a concave down firing functionx=f(φ) f : [0 1]→[0 1] withf−1

=g(x) =φ. Each agent interacts between others with a pulse-coupling rule describing a jump in state when it detects a firing event from neighbor as: x(k+ 1) =ε+x(k). Finally using the inverse firing functiong(x) the agent perform a phase shifting. Particularly the functions in Equation (4.3) are used to this problem.

f(φ) = 1

10ln (1 + [e

10

−1]φ), g(x) = e

10x1

e10

1 (4.3)

The results in Figure 4.4 show the firing sequence pulses for six robots over time. The initial desynchronized state is shown from 3 to 13 seconds, and the gap between oscilla-tors is reduced between 50 and 66 seconds. At the end, around 85 seconds, the coupled

oscillators are in the same phase.

3 4 5 6 7 8 9 10 11 12 13

0 0.5 1

Seconds

Firing

50 52 54 56 58 60 62 64 66 68

0 0.5 1

Seconds

Firing

65 70 75 80 85 90 95 100

0 0.5 1

Seconds

Firing

(31)

Chapter 5. Synchronization Control Techniques 21

An additional results showed in Figure4.5that evidence the progress of synchronization over time gien the number of robots that are firing at each time instant.

0 20 40 60 80 100 120

0 1 2 3 4 5 6

Seconds

Robots Firing

Number of Robots Firing at time

(32)

Chapter 5

Multilayer perceptron controller,

phototaxis application

Phototaxis is the movement of a live organism as a consequence of its interaction with the light. Many unicellular phototrophic organisms move towards the light to reach

energy resources. Also nightly insects (e.g. the moths or the flies) use the moon light to fly at night. In the swarm robotics field, attract robots to light is used as a aggregation behavior to concentrate a whole group of robots in a certain place. Likewise the reactive

movement exhibited by the kilobots in [15], this section presents a controller based on neural networks to produce a soft and smooth control action to guide more directly,

faster and effective the robot towards light. For this purpose, we add a light sensor board via expansion socket on the platform. The added board, gives the robot two

photo-resistors, which allows the robot to measure the incident light gradient.

P

w11

w21

b0

G

F irst hidden layer

w21 w22 P P b21 b22 f f w31 w32 P P b31 b32

Second hidden layer T hird hidden layer w1 w2 w3 w4 P P b1 b2 vr vl ℓr ℓl Output layer f

=Linear activation f unction =Logistic sigmoidal activation f unction

Figure 5.1: Multilayer perceptron controller.

The Multilayer perceptron designed, based on[24], is shown in Figure5.1; it is composed by three hidden layers, and one output layer. The objective is to choose the correct weights wand bias b to applied a smooth changes to motor speedsvr and vl (bounded

by the rangemaxspeed−minspeed), using the information obtained by the sensor light inputs ℓl and ℓr. The first layer, receives the measures corresponding to right side ℓr

(33)

Chapter 6. Multilayer perceptron controller, phototaxis application 23

and left sideℓl photo-resistors, then computes the light gradientG using the parameters w11=b0 = 0,w12=−1, and the linear activation function. The next layers, are divided

in a top and bottom ”paths”, each one produces an output response when the gradient calculated isG ≥0 for the top path, andG <0 for the bottom path. Finally, the output layer performs the sum of two paths to produce the output to the right motor and the opposite response to left motor. Then, to build the nonlinear control mapping shown in Figure 5.2, it is necessary to know, how the parameters affects the shape of the output function, as follows:

• w21, w22: It is a measure about how smoother will be the output function.

• b21, b22: Shifts the logistic function in the horizontal axis. It is used to create a

saddle point to obtain equal speeds in the middle on the speed range, when the gradientG have lower values.

• b31, b32, b1, b2: Shifts the output in the the vertical axis. Particularly b31 = 0

and b32 = maxspeed−middle speed, it means that the shift is only applied to

the bottom ”path” to move up the output and obtain a response between the

max speed and middle speed. On the other hand, b1 and b2 are used to fix the value of middle speed.

• w31, w32, w1, w2: Scale the vertical axis, define the maximum and minimum output

speeds.

• w1, w2: Non scale the bottom and top ”paths” to get it sum as output for the right

motor.

• w3, w3: Invert the bottom and top ”paths” to get the opposite response of the

(34)

Chapter 6. Multilayer perceptron controller, phototaxis application 24

−10040 −80 −60 −40 −20 0 20 40 60 80 100 50

60 70

a) Top Path Output

Gradient Value

% Power to motors

−10040 −80 −60 −40 −20 0 20 40 60 80 100 50

60 70

b) Bottom Path Output

Gradient Value

% Power to motors

−100 −80 −60 −40 −20 0 20 40 60 80 100 40

50 60 70

c) Motors Outputs

Gradient Value

% Power to motors

Figure 5.2: Multilayer perceptron mappings. a) Is the output corresponding to the

top ”path”. b)Is the output corresponding to the bottom ”path”. c) Shows the right motor output (black) and the left motor output (gray)

(35)

Chapter 6

Game Theory for multi-robot

coordination

Flocking is a collective behavior that emerges in nature, by groups of animals like school of fish, insects, or flock of birds. These bio-inspired actions have been used as basis for

development of autonomous distributed control in engineering. This section presents a multi-robot coordination problem. The purpose is to accomplish one of the basics rules

for flocking, known as alignment, where each agent leads to the average orientation of neighbors. Finally, it illustrates a control law using a game-theoretic approach.

In this way, the robots are modeled as a set of players in a game Pi ∈ P, each player uses a set of actionsXi and has a local payoff functionJi: X →R[25]. The agents are located in an environment in which they interact with other players taking individual

and selfish actions to maximize his own payoff function. In this problem, the local cost function forith player is given by,

J(xi, x−i) =−

X

Pj∈Ni

(xi−xj)

2

, (6.1)

wherexi is the action ofith player,x−i is the set of others players actions, and Ni ⊂ P

is player Pi′s neighbor players gives by Figure 4.1. We also consider a global payoff function that relates the whole set of agents decisions as:

φ(x) =− X

Pj∈Ni

(xi−xj)

2

− X

Pj6=Pi

X

Pk∈NiPi

(xj −xk)

2

(6.2)

(36)

Chapter 7. Game Theory for multi-robot coordination 26

This game is known as a potential game because the relation, where a player changes its action x′i to an action x′′i is accomplished, i.e.,

J(x′i, x−i)−J(x′′i, x−i) =φ(x′i, x−i)−φ(x′′i, x−i) =−

X

Pj∈Ni

(x′i−xj)

2

+ (x′′i −xj)

2

(6.3)

Then, with the aim to obtain a control rule applicable to the robots orientation, it is introduced a notion of solving a game, called Nash Equilibrium in which, each individual

player does not have any additional payoff for change its own strategy meanwhile other players keep using the same strategies, J(x∗i, x∗i)≥J(xi, x∗−i)

It is evident that the optimal values to X∗ are reached when all players perform a

consensus x∗1 = x∗2 = ...= x∗n and this optimal point is also a Nash Equilibrium since

it maximizes the local (6.1) and the global (6.3) functions. In [26] the control law is derived to update the actual state of each agent to satisfy the game equilibrium, i.e.,

˙

xi =

X

Pj∈Ni

(xi−xj). (6.4)

Finally, in Figure 6.1 we show the experimental results using four robots. First plot describes the heading changes over time for each robot achieving heading coordination. Second plot shows how each robot as a player of game maximizes their own local cost

function. Third plot shows the behavior of global payoff function, that is also maximized as a result of actions taking by players.

In this way, the implementation of a multi-agent system controller based on game the-oretic model is achieved, showing that the use of a group of robots and game thethe-oretic

models is useful to study and solve problems in the robotics field (e.g. coordination, resource allocation, or collective formation). Which, is important due to the fact that newly, game theory has used for modeling and the control of distributed engineered

(37)

Chapter 7. Game Theory for multi-robot coordination 27

0 5 10 15 20

0 5

a) Robots Headings

Time (s)

Heading (radians)

0 5 10 15 20

−20 −10 0

b) Local Cost Functions

Time (s)

Cost

0 5 10 15 20

−40 −20 0

c) Global Cost Function

Time (s)

Cost

Figure 6.1: Solution of the game. a) Robots Headings progress over time.

b)maximization of the local costs function of each robot. c) maximization of the global cost function

(38)

Chapter 7

Conclusions and future work

A robotic framework can be used as a tool to develop, a low cost and affordable control systems laboratories. We have introduced an inexpensive robotic platform, and different experiments over it, for studying the design and implementation of control strategies,

such as PID, neural networks, fuzzy logic, game-theoretic and synchronization. In each case, we presented an overview of the problem, the related applications and the

exper-imental results using the robotic platform built. Due to their expandable capabilities, and the robotics potential, the experiments are easily increased. For example, adding

new sensors and actuators gives to the robot the possibility to perform new tasks with other challenges that could be solved from control systems perspective. It will be

in-teresting attach a module with an inverted pendulum above that become the robot in a moving base to maintain the pendulum stable. Thus it can provide opportunities for illustrate the modeling and linearization of LTI systems. Also many interesting goals

in terms of hardware develop are still open to achieve linking with a software emulator and scalable robot operations such as a wireless programming or automatic charging.

Finally, we hope that with the release of the resources (i.e.,the documentation and de-signs of the hardware and the software) . The platform can be replicated and used both in educational and research environment.

(39)

Appendix A

Schematic Designs

Figure A.1: Main board schematic circuit design

(40)

Appendix A.Schematic Designs 30

Figure A.2: Central controller schematic circuit design

(41)

Appendix B

PCB’s Layouts

Figure B.1: Main board top layer PCB

Figure B.2: Main board bottom layer PCB

(42)

Appendix B. PCB’s Layouts 32

(43)

Appendix B. PCB’s Layouts 33

(44)

Appendix B. PCB’s Layouts 34

(45)

Bibliography

[1] Quanser Inc. Introduction to control systems. Available at

http://www.quanser.com/Products/intro_to_control(2015/05/04).

[2] Russ Tedrake. Underactuated robotics. Available at

https://www.edx.org/course/underactuated-robotics-mitx-6-832x

(2015/05/04).

[3] Pedro Albertos. Dynamics and control. Available at

https://www.edx.org/course/dynamics-control-upvalenciax-dc201xl

(2015/05/04).

[4] Magnus Egerstedt. Control of mobile robots. Available at

https://www.coursera.org/course/conrob(2015/05/04).

[5] C.M. Ionescu, E. Fabregas, S.M. Cristescu, S. Dormido, and R. De Keyser. A

remote laboratory as an innovative educational tool for practicing control engineer-ing concepts. IEEE Transactions on Education, 56(4):436–442, Nov 2013. ISSN 0018-9359. doi: 10.1109/TE.2013.2249516.

[6] N. Quijano, A.E. Gil, and K.M. Passino. Experiments for dynamic resource

alloca-tion, scheduling, and control: new challenges from information technology-enabled feedback control. IEEE Control Systems, 25(1):63–79, Feb 2005. ISSN 1066-033X. doi: 10.1109/MCS.2005.1388804.

[7] Yoonsoo Kim. Control systems lab using a lego mindstorms nxt motor system.

IEEE Transactions on Education, 54(3):452–461, Aug 2011. ISSN 0018-9359. doi: 10.1109/TE.2010.2076284.

[8] G. Caprari and R. Siegwart. Mobile micro-robots ready to use: Alice. InPorcedings of the 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2005. (IROS 2005)., pages 3295–3300, Aug 2005. doi: 10.1109/IROS.2005.1545568.

[9] Wenguo Liu and Alan F.T. Winfield. Open-hardware e-puck linux extension board for experimental swarm robotics research. Microprocessors and Microsystems, 35

(46)

Bibliography 36

(1):60 – 67, 2011. ISSN 0141-9331. doi: http://dx.doi.org/10.1016/j.micpro.2010. 08.002.

[10] Local interactions over global broadcasts for improved task allocation in self-organized multi-robot systems. Robotics and Autonomous Systems, 62(10):1453 – 1462, 2014. ISSN 0921-8890. doi: http://dx.doi.org/10.1016/j.robot.2014.05.015.

[11] Ali Noormohammadi Asl, Mohammad Bagher Menhaj, and Atena Sajedin. Con-trol of leader–follower formation and path planning of mobile robots using asexual

reproduction optimization (aro). Applied Soft Computing, 14, Part C:563 – 576, 2014. ISSN 1568-4946. doi: http://dx.doi.org/10.1016/j.asoc.2013.07.030.

[12] Samuel Rutishauser, Nikolaus Correll, and Alcherio Martinoli. Collaborative cov-erage using a swarm of networked miniature robots. Robotics and Autonomous Systems, 57(5):517 – 525, 2009. ISSN 0921-8890. doi: http://dx.doi.org/10.1016/j. robot.2008.10.023.

[13] J. McLurkin, J. Rykowski, M. John, Q. Kaseman, and A.J. Lynch. Using multi-robot systems for engineering education: Teaching and outreach with large numbers

of an advanced, low-cost robot. IEEE Transactions on Education, 56(1):24–33, Feb 2013. ISSN 0018-9359. doi: 10.1109/TE.2012.2222646.

[14] Andrew J Lynch. Multi-robot behaviors with bearing-only sensors and scale-free coordinates. PhD thesis, RICE UNIVERSITY, 2011.

[15] Michael Rubenstein, Christian Ahler, Nick Hoff, Adrian Cabrera, and Radhika Nagpal. Kilobot: A low cost robot with scalable operations designed for collective behaviors. Robotics and Autonomous Systems, 62(7):966 – 975, 2014. ISSN 0921-8890. doi: http://dx.doi.org/10.1016/j.robot.2013.08.006. Reconfigurable Modular Robotics.

[16] Michael Rubenstein, Alejandro Cornejo, and Radhika Nagpal. Programmable self-assembly in a thousand-robot swarm. Science, 345(6198):795–799, 2014. doi: 10. 1126/science.1254295.

[17] Rowlando O’Flaherty. Quickbot mooc v2. Available at

o-botics.org/robots/quickbot/mooc/v2/(2015/05/05).

[18] Spyros G. Tzafestas. 2 - mobile robot kinematics. In Spyros G. Tzafestas, editor,

Introduction to Mobile Robot Control, pages 31 – 67. Elsevier, Oxford, 2014. ISBN 978-0-12-417049-0.

[19] Varodom Toochinda. Digital pid controllers. Available at

(47)

Bibliography 37

[20] K.M. Passino. Chapter 5 Rule-Based Control, pages 194–205. Springer Science & Business Media, 2005.

[21] Yoshiki Kuramoto. Self-entrainment of a population of coupled non-linear oscilla-tors. In Huzihiro Araki, editor,Procedings of the International Symposium on Math-ematical Problems in Theoretical Physics, volume 39 of Lecture Notes in Physics, pages 420–422. Springer Berlin Heidelberg, 1975. ISBN 978-3-540-07174-7. doi:

10.1007/BFb0013365.

[22] J. Giraldo, E Mojica-Nava, and N Quijano. Synchronization of coupled kuramoto oscillators with sampled information and a constant leader. Manuscript submitted

for publication, 2015.

[23] Renato E Mirollo and Steven H Strogatz. Synchronization of pulse-coupled

biolog-ical oscillators. SIAM Journal on Applied Mathematics, 50(6):1645–1662, 1990.

[24] K.M. Passino. Chapter 4 Neural Network Substrates for Control Instincts, pages 116–125. Springer Science & Business Media, 2005.

[25] J.R. Marden, G. Arslan, and J.S. Shamma. Cooperative control and potential games. IEEE Transactions on Cybernetics Systems, Man, and Cybernetics, Part B, 39(6):1393–1407, Dec 2009. ISSN 1083-4419.

[26] Zhongjie Lin and Hugh hong-tao Liu. Consensus based on learning game theory with a uav rendezvous application. Chinese Journal of Aeronautics, 28(1):191 – 199, 2015. ISSN 1000-9361.

Referencias

Documento similar