agent-oriented evolutionary control systems autonomously finding optimal control codes for the...

166
Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems Lab Yokohama National University

Upload: phyllis-cain

Post on 02-Jan-2016

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Agent-Oriented Evolutionary Control Systems

Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro”

Rogerio NevesSea and Air Control Systems LabYokohama National University

Page 2: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Index1. Objective

2. Motivation

3. Problem description

4. Implementation

5. Experimental results

6. Conclusions

Page 3: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Goal• Autonomously define the optimal machine-

oriented combination of signals to obtain efficient control for a robotic Ro

Page 4: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

MotivationAddress systems that involve:

• Dynamical control

• Multi-dimensional spaces

• Multiple coordinate systems

• Inter dependent variables

• Unknown best solution

Page 5: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Application

Oriental Oar (Ro)

Page 6: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

One paddle rowing system (Sculling)

Page 7: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Ro-bot• Mechanical arm• Three degrees of freedom (3DF)

– Pitch– Yaw– Rotation

• Software controlled step-motors

Page 8: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Conventional solution

Page 9: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Proposed SolutionApply Evolutionary computing to find optimal

solutions in a new technique based in:

• Multi-Agent Systems (MAS)

• Code optimization by GA

• Efficiency evaluation by simulations

• Distributed computing

Page 10: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Advantages• No knowledge needed about the inner

workings of the system

• Allows obtaining a sort of different solutions by scanning different regions of multi-variable space simultaneously

• Allows parallelization of operations, use of distributed or multi-processed systems to solve the problem in 1/n or less factor time

Page 11: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Multi Agent Systems (MAS)• Agents are independent programs• Agents carries one or more solutions• Agents have a determined set of rules (fitness)• Agents manage to increase its solution’s efficiency,

and reach its goals• Agents applies operators to increase solution

efficiency, operators use a sort of techniques derived from GA, Neural Nets or Simulated Annealing

Page 12: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Genetic Algorithms• Based on Natural Selection rule “Survival of

the fittest”

• Employ genetic recombination and mutation rules to improve solution

Page 13: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

GA• GA is based on the optimization of a specific

code, usually called DNA (like in genetics)

• The DNA is expressed by a STRING.

• Segments of the string that express some feature represented in the string are called CHROMOSOMES and can be a byte or any sub size of the string

Page 14: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Mutation operator1. Great chance of a small mutation (change lesser

bits)2. Small chance of a big mutation (operate

meaningful bits)

Example (1 byte chromosomes):

DNA = FF FA 1C A8 B6 06 0A1.P(10%) = FF FA 1D A8 B6 06 0A2.P(0.1%) = 5B FA 1C A8 B6 06 0A

Page 15: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Crossover operator• Based on gene combination

• Parts of DNA 1 and DNA2 are used to build DNA3

FF FA 1D CB 65 23 55 F2 54 5C B3 12 AA 34 65

AB CD FD AF 1D 98 9C A5 BD C3 EFEE A2 11 FB

FF FA FD AF 1D 98 9C A5 54 5C B3 12 AA 34 65

Page 16: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Procedure• Solutions are tested into a simulated

environment and given one quantitative evaluation, called fitness

• Solutions are classified by fitness

• Worst solutions are eliminated

• Mediocre solutions are mutated

• Best solutions are kept and evolved, by cloning/mutating/crossing-over

Page 17: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Agent Modules

Main()

Hash()

Solutiongenerator

File system

Evaluate()

DatabaseAccess

solutionmodifier()

STORAGE

RUNTIME

GAHELPER

Page 18: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Network topology

•Database/•Global variables/•Agents/•Simulation

Agents/Simulation

Agents/Simulation

Agents/Simulation

Ethernet

Server

Client Client Client

Page 19: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Parallel Computing• When using Genetic Algorithms together with

higher level fitness functions, the time consumed for each evaluation increases with the simulation complexity

• In order to achieve useful solutions in a reasonable timeframe, parallel search procedures need to take place

Page 20: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Parallel GA and MAS• New approaches are needed in order to

expand the concept of parallel genetic algorithms to various computer topologies

• The MAS in OOP approach allows an Agent to span across processors or computers while still communicating objects trough the network

Page 21: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Advantage

What is the advantage of the proposed method?

Page 22: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Examples of Multi-variable Space

Page 23: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Examples of Multi-variable Space

Page 24: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Multi-dimensional volume representation

Page 25: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 26: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 27: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 28: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 29: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 30: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 31: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 32: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 33: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 34: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 35: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 36: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 37: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 38: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 39: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 40: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 41: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 42: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 43: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 44: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 45: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 46: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 47: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 48: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 49: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 50: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 51: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 52: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 53: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 54: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 55: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 56: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 57: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 58: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 59: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 60: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 61: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 62: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 63: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 64: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

LowProbability

Page 65: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 66: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

AgentScatter

Page 67: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

AgentScatter

Page 68: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 69: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 70: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 71: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 72: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 73: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 74: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 75: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 76: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 77: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 78: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

HighProbability

Page 79: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

HighProbability

Page 80: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

HighProbability

Page 81: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

HighProbability

Page 82: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

HighProbability

Faster convergence

Page 83: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

HighProbability

Faster convergence

Page 84: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Simulation

Main()

Hash()

Solutiongenerator

File system

Evaluate()

DatabaseAccess

solutionmodifier()

STORAGE

RUNTIME

GAHELPER

Page 85: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Actuator ControlCommand Data Packet:

Header Data 1 Data 2 CHKSUM

1 byte 1 byte 1 byte 1 byte

F F

Command

D1^D2&7F

0 0 1 1 0 0 1 0

Target Motor

(HEX)

(BIN)

0-4 0-3 Pos: 00-FE

Page 86: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Control Matrix

Command

(byte)

Position

(byte)

Delay

(byte)

Cmd 1 Pos 1 T1

Cmd 2 Pos 2 T2

Cmd 3 Pos 3 T3

… … …

DNA=[ CMD1 POS1 T1 CMD2 POS2 T2 CMD3 POS3 T3 …]

Page 87: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Positioning Signals

X

Y

Theta

MAX

MIN

Example (Analog signal)

Page 88: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Example

CMD (h) POS (h) T (ms)

20 50 300

22 40 200

20 B6 300

22 C0 200

DNA=20 50 30 22 40 20 20 B6 30 22 C0 20

Chromosome 1

Chromosome 2

Chromosome 3

Chromosome 4

X X X X

Page 89: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Digital Positioning Signals

Yaw

Rotation

MAX

MIN

Presented motion

Pitch

Page 90: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Simulation

1st Mapping of matrix codes into vectors and movements

2nd Performance evaluation into simulated environment

3rd Classification and processing of partial solutions, applying GA

Page 91: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

SimulationTo reduce computation time, the following

approximations were done:– Fixed position– Considering always the steady state (fluid speed

remains unchanged)– Approach for infinitesimal transitions– Angular speed is constant for all motors– Considering a flat Ro surface on both sides

Page 92: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Coordinate System

X

Y

Z

Page 93: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Position Mapping

Motor Vmin (hex)

Vmax (hex)

Vmin (dec)

Vmax (dec)

Positions

Min (rad)

Max (rad)

Aperture

0 40 C0 64 192 128 -0.62 0.62 71°

1 70 8A 112 138 26 -0.32 0 18 °

2 00 FE 0 254 255 -Pi Pi 180°

Page 94: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Actuators

X

YPivotingpoint

Theta

Row

2

0

1

Page 95: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

SimulationBy the Bernoulli principle, we have:

Where:

F= (Thrust related) Force

L=Lift p is the value of the pressure,

D=Drag is the frontier of the domain,

is the normal to the profile.

dnpDLF

n

Page 96: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

SimulationBy the Bernoulli equations, we have:

Where:

Ft= Total Impulse

Lt= Total Lift p is the value of the pressure,

Dt=Total Drag is evaluated segment,

is the normal to the profile.n

T

dnptDtLtF

Page 97: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Math

V

P

P’

N

N’

F

thetabeta

alpha

Page 98: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Translation

theta = M2-127 radians84.667

L

D

D

theta

r = sum([L*D]*sin(theta)*dx)

L

alpha

alpha = M0-127 radians89.141

d(t) = p(t=t)-p(t=t-1)

dx

beta = -(M1-112)*pi/180 = - 0.7854 radians

Page 99: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Translation

nnn

wnF

nˆ*

ˆˆ

ˆ

F

n = (0, 0, 1)*RY*RX*RZ

M1 M0M2

FDirection ˆ

beta alpha

Impulse=

Page 100: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Translation

Y-ROT

X=sin(th)

Y=0

Z=cos(th)

X-ROT

X=sin(th)

Y=-cos(th)*sin(bt)

Z=cos(th)*cos(bt)

Z-ROT

X=sin(th)cos(aph)+cos(th)sin(bt)sin(aph)

Y=sin(th)sin(aph)-cos(th)sin(bt)cos(aph)

Z=cos(th)cos(bt)

beta alpha

Page 101: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Translation

p(t) = (0, 1, 0)*RX*RZ

M1 M0M2

beta alpha

d = p(t)-p(t-1)

Page 102: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Translation

X-ROT

X=0

Y=cos(bt)

Z=sin(bt)

Z-ROT

X=-cos(bt)sin(aph)

Y=cos(bt)cos(aph)

Z=sin(bt)

beta alpha

Page 103: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Simulation

The simulation returns a 3D vector for

total thrust over time (Ft):

Integral over time of all produced thrust for

T (simulated period)

T

TTTZYX ZYXFFFtF ,,,,

Page 104: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

FitnessThe fitness for each direction is obtained

projecting the vector into the desired direction

Where

Ft=Total Thrust over time

F=Resulting force

d=unitary vector in the direction of evaluation

dtFdFFitnessT

ˆˆ

Page 105: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

n̂attack

lift

drag

F=drag+lift

Page 106: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Validation• To validate the simulated model, we

compare the thrust generated by one control in the simulation to the one generated by the same control in the actual model

Page 107: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Calibrating

Page 108: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Rowing

Page 109: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

2 Attacks = 1 cycle1 cycle/s

1Hz

AnalysisSimulation Frequency = 1Hz1 cycle = 2 attacks(left and right)Matches Experiment

1Hz FilterFrequency = 1Hz1 cycle = 2 attacks

Mean waveform

10Hz Filter/No FilterFrequency = 1Hz1 cycle = 2 attacksHi frequency noiseand inertia distortions

simulation simulation

Filtered 1Hz

Captured

ms

s

s

ms

s

s

Filtered 1Hz

Captured

Page 110: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Database

Main()

Hash()

Solutiongenerator

File system

Evaluate()

DatabaseAccess

solutionmodifier()

STORAGE

RUNTIME

GAHELPER

Page 111: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Solution Database• Each matrix has a unique hash

• A file, named by the hash code, contains the calculated efficiency

• A file check avoids redundant calculations

[0] [00] [1000][1] [FF] [0200] = A0002FF1FA02[2] [A0] [1500]

Page 112: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Results• MAS was executed in different scenarios

• The obtained results were benchmarked in the actual model mounted in a catamaran-style ship

• The results were compared by efficiency

• The method advantage was analyzed computationally

Page 113: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Multi-vector control

• Stores solutions with hi trust in different directions

• The control only reproduce stored signals

Page 114: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 115: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

100% CPU

Page 116: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Screenshot

Page 117: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Screenshot

CONTROLCODES

ACTIONNAME

Page 118: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Screenshot

SERIALSETUP

OUTPUTCONSOLE

Page 119: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Screenshot

CONTROLKEYS

Page 120: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

40 cm long

28 cm long

30 c

m w

ide

Power/communications cable3 m long

7 cm depth

Ro2 cm wide

20 c

m in

ner

spac

e

10 cmtall

Ro-botRowing mechanism

Catamaran ship

Page 121: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Solution testing

Page 122: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Solution testing

Page 123: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Solution testing

Page 124: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Solution testing

Page 125: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Timing speeds

T1

T2 Speed=0

0m3mT2

Speed>0

-2m

Speed=0

0m3mT1

Page 126: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Table ViewModel Simulation Course Time T1

2DF: Classic 3.2 12.0

2DF: Optimized 4.6 10.5

2DF: Rotated 2.9 11.5

3DF: X 6.56 11.4

3DF: M 5.6 12.0

Page 127: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Table ViewModel Simulation Course Time T2

2DF: Classic 3.2 10.5

2DF: Optimized 4.6 9.6

2DF: Rotated 2.9 10.2

3DF: X 6.56 10.5

3DF: M 5.6 11

Page 128: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

T vs. FitnessT1

Fitness1 2 3 4 5 6 7

5

10

oC2oRB2

oO2oX3

oM3

oU3

Page 129: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

T1 vs. FitnessT1

Fitness1 2 3 4 5 6 7

11

12 oC2

oRB2

oO2

oX3

oM3

oU3

10

Page 130: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

T1 vs. FitnessT1

Fitness1 2 3 4 5 6 7

11

12 oC2

oRB2

oO2

oX3

oM3

oU3

10

2DF 3DF

Page 131: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

T2 vs. FitnessT2

Fitness1 2 3 4 5 6 7

10

11

oC2

oRB2

oO2

oX3

oM3

oU3

9

Page 132: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

T2 vs. FitnessT2

Fitness1 2 3 4 5 6 7

10

11

oC2

oRB2

oO2

oX3

oM3

oU3

9

2DF 3DF

Page 133: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Optimized 2DF Rowing

Page 134: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Optimal X-3DF Rowing

Page 135: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

U-3DF Rowing

Page 136: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

M-3DF Rowing

Page 137: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Back Rowing

Page 138: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

3D Impulse

Page 139: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Graph123

T(ms)

F(t)

Page 140: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

2.2

Classic rowing C-2DF

Page 141: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

3.2

OPTIMIZED 0-2DF

Page 142: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

3.5

3D MODE A-3DF

Page 143: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

3.9

3D MODE M-3DF

Page 144: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

5.6

3D MODE X-3DF

Page 145: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Motor Positioning

Page 146: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 147: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 148: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 149: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems
Page 150: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Progress in time• Overall time evolution of maximum fitness

Page 151: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Progress in time• Multi-Agent stand-alone application (1 proc.)

Page 152: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Parallel model• Multi-Agent stand-alone application (2 proc.)

Page 153: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Benchmarking

15

20

25

30

35

40

0 10 20 30 40 50

agents

ho

urs

Single processor

Page 154: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Benchmarking24

11

8

3

112.181818182

3

8

24

0

5

10

15

20

25

30

0 1 2 3 4 5 6

Processors

ho

urs

, sp

eed

up

T(1p)T(np)

25 Agents, uniform distribution

Page 155: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Usual speedups

Critical

NP

Speedup 0.5

Page 156: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Comparison

Single-thread model1 Agent, 1 processor~26h total time

Multi-thread model3 Agents, 2 processors5h 30 min

Fm=3.4K Fm=5.2K

Graphic analysis Maximum fitness (Fm) vs. Generation for 1000 generations

Page 157: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

ConclusionsRo

• The method were able to identify new rowing modes for Ro

• The method optimized the conventional Ro operation

• New solutions are non-intuitive, being hard to achieve by the conventional method

• The results could be verified in the actual model

Page 158: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

ConclusionsParallel computing

• The agent-oriented approach solved the problem in fractions of original time

• Increasing the number of processors (NP), the time consumed in the multi-threaded model (Tm) compared to the single-threaded model (Ts) is usually Tm<<Ts/np (~90% cases)

• The speedups behave in a super-linear fashion, by exploring simultaneously several different regions of the multi-dimensional space

Page 159: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

ConclusionsMAS

• Allowed the use of alternate distributed topologies

• Distributed computer systems and networks are becoming cheap and more accessible, allowing a broader application of the described method.

• The method can be extended to more complex control problems, such ship navigation, collision avoidance or docking

Page 160: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Algorithm Optimization

(3*255*10)E(n Lines)7650 E (n Lines) solutions

CMD POS T (100ms steps)

20, 21 or 22 00-FF (255) 0-1000 (400)

20, 21 or 22 00-FF (255) 0-1000 (400)

20, 21 or 22 00-FF (255) 0-1000 (400)

… … …

Page 161: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Algorithm Optimization(Front rowing)

7650 E (n Lines) solutions

Actual GA (max) 14 lines = 4.02 E46 solutions

Approx ~ 40E16 tested

Test rate before = 18 tests / minute = 1000 tests/hour *Test rate now = ~ 200 tests / minute = 18000 tests/hour

Page 162: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Suggestion for future works• Implement a full-scale simulation of the

water-borne experiment

• Apply the MAS approach to other control problems in engineering

• Experiment with different network topologies

Page 163: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Used equipment1. Athlon64 3800+ X2, Windows XP x64

1GB RAM, LAN Drive2. Athlon64 3200+, Linux 64

1GB RAM, Dual Speed RAID-0 Array3. Pentium IV 2.2GHz, Windows XP

512MB RAM, LAN Drive4. Pentium III 1.8Ghz, Windows XP

512MB RAM, LAN Drive5. Pentium III 900Mhz, Windows XP

256MB RAM, LAN Drive

Page 164: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Jan Feb Mar April May June July Aug Sep Oct Nov Dec

Time Schedule 2005

model

programming

execution

selection

Experimental testing

adjustment

analysis

Page 165: Agent-Oriented Evolutionary Control Systems Autonomously Finding Optimal Control Codes for the Rowing Blade “Ro” Rogerio Neves Sea and Air Control Systems

Acknowledgements

• Prof. Tsugukiyo Hirayama

• Sea and Air Control Systems Lab’s crew

• Special thanks to professor

Yoshiaki Hirakawa

(Model construction, assistance and support)