38
Area Coverage Optimization using Heterogeneous Robots Dakota Adra and Eric Jones Advisor: Dr. Suruz Miah D. Adra & E. Jones (Bradley University) ACO Presentation 1 / 38

Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Area Coverage Optimization using HeterogeneousRobots

Dakota Adra and Eric JonesAdvisor: Dr. Suruz Miah

D. Adra & E. Jones (Bradley University) ACO Presentation 1 / 38

Page 2: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Overview1 Introduction2 Background3 Functional Requirements

InputsArea Coverage SystemOutputs

4 MAFOSS5 Networking

Network ConfigurationsROS Networking

6 Preliminary WorkModeling Density and AreaDeriving Coverage MetricSimulationsImplementation

7 Parts List8 Future Work9 Deliverables

Schedule for Completion10 References

D. Adra & E. Jones (Bradley University) ACO Presentation 2 / 38

Page 3: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Introduction

Statement of the Problem

Applications

Introduction of MAFOSS

D. Adra & E. Jones (Bradley University) ACO Presentation 3 / 38

Page 4: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Background

Kilinc - Cooperative Networking

Lee - Dynamic Density Area Optimization

Miah - Heterogeneous Area Coverage

Varposhti - Area Coverage via Distributed Learning Algorithm

Yu - Area Coverage via Genetic Learning Algorithms

D. Adra & E. Jones (Bradley University) ACO Presentation 4 / 38

Page 5: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Functional Requirements

Heterogenous area coverage systemArea

Density sources

Agents' initial

positions

Agents' final

positionsMAFOSS Application Robot

Coverage

performance

metric

Figure: Functional Diagram of Area Coverage System

D. Adra & E. Jones (Bradley University) ACO Presentation 5 / 38

Page 6: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Functional RequirementsInputs

Heterogenous area coverage systemArea

Density sources

Agents' initial

positions

Agents' final

positionsMAFOSS Application Robot

Coverage

performance

metric

Figure: Functional Diagram of Area Coverage System

Area

Density source

Agents’ initial positions

D. Adra & E. Jones (Bradley University) ACO Presentation 6 / 38

Page 7: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Functional RequirementsArea Coverage System

Heterogenous area coverage systemArea

Density sources

Agents' initial

positions

Agents' final

positionsMAFOSS Application Robot

Coverage

performance

metric

Figure: Functional Diagram of Area Coverage System

MAFOSS

Application

Agent

D. Adra & E. Jones (Bradley University) ACO Presentation 7 / 38

Page 8: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Functional RequirementsOutputs

Heterogenous area coverage systemArea

Density sources

Agents' initial

positions

Agents' final

positionsMAFOSS Application Robot

Coverage

performance

metric

Figure: Functional Diagram of Area Coverage System

Coverage performance metric

Agents’ final positions

D. Adra & E. Jones (Bradley University) ACO Presentation 8 / 38

Page 9: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

MAFOSSDiagram

USER INTERFACE

CONTROL API

Linux headers Linux headers

ROBOTIC OPERATING SYSTEM (ROS)

Console

ROS agentsROS

networking

APPLICATIONS

Control code

librobotcontrollibrary

libkhepraAPI

ROS AriaAPI

Matlab code

Figure: MAFOSS System Architecture

D. Adra & E. Jones (Bradley University) ACO Presentation 9 / 38

Page 10: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

MAFOSSLayers

User Interface

Applications

Robotic Operating System

Control API

USER INTERFACE

CONTROL API

Linux headers Linux headers

ROBOTIC OPERATING SYSTEM (ROS)

Console

ROS agentsROS

networking

APPLICATIONS

Control code

librobotcontrollibrary

libkhepraAPI

ROS AriaAPI

Matlab code

D. Adra & E. Jones (Bradley University) ACO Presentation 10 / 38

Page 11: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

NetworkingConfigurations

Internet

Router Server

Modified eduMIP Khepera IV Pioneer 3-DX

(a) Heterogeneous Configuration

Internet

Router Server

Modified eduMIP Modified eduMIP Modified eduMIP

(b) Homogeneous Configuration

D. Adra & E. Jones (Bradley University) ACO Presentation 11 / 38

Page 12: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

NetworkingROS Networking Diagram

publishD

esired

subscribeDesired

subscribeCurrent

publishC

urrent

MESSAGES TO

CONSOLE

ANDLOG FIL

ES

MASTER

Example:

nodenameXML=RPC = host : portTCP data = host : port

robot1 robot2

robot3

robot1XML=RPC = (robot1 id) : 1234TCP data = (robot1 id) : 2345

DATADATADATA

Figure: ROS Networking

D. Adra & E. Jones (Bradley University) ACO Presentation 12 / 38

Page 13: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

NetworkingROS Networking

Nodes

Topics

Master

Output Data

Example

publishD

esired

subscribeDesired

subscribeCurrent

publishC

urrent

MESSAGES TO

CONSOLE

ANDLOG FIL

ES

MASTER

Example:

nodenameXML=RPC = host : portTCP data = host : port

robot1 robot2

robot3

robot1XML=RPC = (robot1 id) : 1234TCP data = (robot1 id) : 2345

DATADATADATA

D. Adra & E. Jones (Bradley University) ACO Presentation 13 / 38

Page 14: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary Work

Modeling Density and Area

Derivation of Coverage Metric

VREP and Matlab Simulations

D. Adra & E. Jones (Bradley University) ACO Presentation 14 / 38

Page 15: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkModeling Density and Area

First we define q to be an x-y coordinate in a square area and q to be thedesired density point in the same square area.The phi function is the measure of the density at any given point q as seenbelow.

φ(q) = exp(−0.5 ∗ ‖(q− q)2‖

σ2) (1)

Where σ in equation in (1) represents the spread of density throughout anarea.

D. Adra & E. Jones (Bradley University) ACO Presentation 15 / 38

Page 16: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkModeling Density and Area Cont.

Further simplification of equation (1) yields:

φ(q) = exp(−0.5 ∗ ‖((x − x)2 + (y − y)2)‖

σ2) (2)

D. Adra & E. Jones (Bradley University) ACO Presentation 16 / 38

Page 17: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkModeling Density and Area Cont.

The figure below shows an example of a square area that could potentiallybe mapped in such a way.

V1 V2

V3

Agent 1

Agent 2

Agent 3

High

Density

Point

Figure: Plot of Agents in their Respective Voronoi Cells

D. Adra & E. Jones (Bradley University) ACO Presentation 17 / 38

Page 18: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkModeling Density and Area Cont.

The density is applied over each x-y coordinate in a square area. Thefigure below shows a density region represented in three-dimensional space.

0

150

0.2

0.4

0.6

100 150

0.8

100

1

5050

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Figure: Plot of Density with One Density Region

D. Adra & E. Jones (Bradley University) ACO Presentation 18 / 38

Page 19: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkDeriving Coverage Metric

Now that density has been defined we can look at the coverage metric.The coverage metric, H for i number of agents is defined as the following:

H =n∑

i=1

∫Vi

φ(q)f (r2i )dQ (3)

Where f (r2i ) is a function that models sensor characteristics with idealparameters.

f (r2i ) = α ∗ e−βr2i (4)

D. Adra & E. Jones (Bradley University) ACO Presentation 19 / 38

Page 20: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkDeriving Coverage Metric Cont.

To find each Voronoi region p[i ] such that H is maximized it is necessaryto find dH

dp[i ] and set it equal to zero. For an individual case it can be shown

that:

dH

dp[i ]=

d

dp[i ]

n∑i=1

Hi =n∑

i=1

∫Vi

f (r2i )φ(q)dQ (5)

D. Adra & E. Jones (Bradley University) ACO Presentation 20 / 38

Page 21: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkDeriving Coverage Metric Cont.

By ignoring the all other indices other than the current agent index i andmanipulation the derivative variables the derivative of the introduced rangecan be found to be:

dH

dp[i ]=

dHi

dp[i ]=

d

dp[i ]

∫Vi

f (r2i )φ(q)dQ =

∫Vi

df (ri2)

dri 2dri

2

p[i ]φ(q)dQ (6)

dridp[i ]

=d

dp[i ]

√(x − x [i ]])2 + (y − y [i ]])2 (7)

D. Adra & E. Jones (Bradley University) ACO Presentation 21 / 38

Page 22: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkDeriving Coverage Metric Cont.

dri2

dp[i ]=

d

dx[i ]dy[i ][(x − x [i ])2 + (y − y [i ])2] = (8)

(−2x + x [i ]) + (−2y + y [i ]) = −2(q− p[i ]) (9)

Using the previous equations, we are able to simplify the derivative evenfurther:

dH

dp[i ]=

∫Vi

[−2φ(q)df

dri 2](q− p[i])dQ (10)

D. Adra & E. Jones (Bradley University) ACO Presentation 22 / 38

Page 23: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkDeriving Coverage Metric Cont.

The quantity [−2φ(q) dfdri 2

] shown in the previous equation is introduced as

the modified φ(q) function. This function takes into account the sensorparameters. We call this new function φ(q,p[i ]). From the previousequation:

dH

dp[i ]=

∫Vi

φ(q,p[i ])(q− p[i ])dQ (11)

Using properties of integrals, we split the integral into two:

dH

dp[i ]=

∫Vi

qφ(q,p[i ])dQ− p[i ]

∫Vi

φ(q,p[i ])dQ (12)

D. Adra & E. Jones (Bradley University) ACO Presentation 23 / 38

Page 24: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkDeriving Coverage Metric Cont.

dH

dp[i ]=

∫Vi

φ(q,p[i ])dQ∫Vi

qφ(q,p[i ])dQ∫Viφ(q,p[i ])dQ

− p[i ]

∫Vi

φ(q,p[i ])dQ (13)

We know that the mass is defined as the integral of our density functionrelative to a bounded area Vi . As such the modified mass is expressed asMVi

=∫Viφ(q,p[i ])dQ. The modified centroid is expressed as any point

within the bounded area scaled by our modified φ(q,p[i ]) function.

We call it CVi=

∫Vi

qφ(q,p[i ])dQ∫Viφ(q,p[i ])dQ .

D. Adra & E. Jones (Bradley University) ACO Presentation 24 / 38

Page 25: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkDeriving Coverage Metric Cont.

Therefore we can express:

dH

dp[i ]= MVi

CVi− p[i ]MVi

= 0 (14)

MVi(CVi

− p[i ]) = 0 (15)

CVi= p[i ] (16)

In conclusion, as the mass can not be zero, the coverage is maximizedwhen the position of the agent is equal to the modified centroid of abounded area.

D. Adra & E. Jones (Bradley University) ACO Presentation 25 / 38

Page 26: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkLine Following in Matlab

Figure: Line Following Simulation in Matlab

D. Adra & E. Jones (Bradley University) ACO Presentation 26 / 38

Page 27: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkLine Following in VREP

(a) VREP Start (b) VREP In Progress

(c) VREP Finished

Play Video

D. Adra & E. Jones (Bradley University) ACO Presentation 27 / 38

Page 28: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkLeader Follower in Matlab

Figure: Coverage PlotD. Adra & E. Jones (Bradley University) ACO Presentation 28 / 38

Page 29: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkLeader Follower in VREP

Play Video

D. Adra & E. Jones (Bradley University) ACO Presentation 29 / 38

Page 30: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkArea Coverage Algorithm in Matlab Start

(a) Coverage Plot (b) MATLAB Plot

D. Adra & E. Jones (Bradley University) ACO Presentation 30 / 38

Page 31: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkArea Coverage Algorithm in Matlab Cont.

(a) Coverage Plot (b) MATLAB Plot

D. Adra & E. Jones (Bradley University) ACO Presentation 31 / 38

Page 32: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkArea Coverage Algorithm in Matlab End

(a) Coverage Plot (b) MATLAB Plot

Play Videos

D. Adra & E. Jones (Bradley University) ACO Presentation 32 / 38

Page 33: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Preliminary WorkImplementation

ROS Networking

PID Control for Actuator Commands

MATLAB Robotics Systems Toolbox

Play rosNetworking video

D. Adra & E. Jones (Bradley University) ACO Presentation 33 / 38

Page 34: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Parts List

Vendor Part Quantity

Digikey JST SH Jumper 6 Wire Assembly 3Digikey JST SH Jumper 4 Wire Assembly 6Amazon SanDisk Ultra 8GB Memory Card 3Amazon USB 2.0 Male to Micro B cable (3 Pcs) 1Amazon 10 Sets of Mini Micro ZH 2Pin JST 1Amazon 20 M2.5x30mm Socket Head Cap Screws 1Ren. Robotics Beaglebone Blue 3Ren. Robotics Robotics eduMIP Kit 3Polulu Pololu Ball Caster with 1” Ball 5

Table: Parts List

D. Adra & E. Jones (Bradley University) ACO Presentation 34 / 38

Page 35: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Future Work

eduMIP homogeneous implementation

Pioneer and eduMIP implementation

Pioneer, eduMIP, and Khepera implementation

D. Adra & E. Jones (Bradley University) ACO Presentation 35 / 38

Page 36: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

Deliverables

2018 2019

November December January February March

47 48 49 50 51 52 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Homogeneous Static

Heterogeneous Static

Homogeneous Vary

Heterogeneous Vary

Figure: Timeline for Completion

D. Adra & E. Jones (Bradley University) ACO Presentation 36 / 38

Page 37: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

References

D. Kilinc, M. Ozger, and O. B. Akan, (2015)

On the maximum coverage area of wireless networked control systems withmaximum cost-efficiency under convergence constraint

In: IEEE Transactions on Automatic Control 60(7), 1910 – 1914.

D.-M. S. G. Lee and M. Egerstedt, (2015)

Multirobot control using timevarying density functions

In: IEEE Transactions on Robotics 31(2), 489 – 493.

M. S. Miah and J. Knoll, (2018)

Area coverage optimization using heterogeneous robots: Algorithm andimplementation

In: IEEE Transactions on Instrumentation and Measurement 67(6), 1380 – 1388.

S. A. M. Varposhti, P. Saleh and M. Dehghan, (2016)

Distributed area coverage in mobile directional sensor networks

In: 2016 8th International Symposium Telecommunications (IST) 0(0), 18 – 23.

D. Adra & E. Jones (Bradley University) ACO Presentation 37 / 38

Page 38: Area Coverage Optimization using Heterogeneous Robotscegt201.bradley.edu/projects/proj2019/acopt/Assets/... · 2019-05-16 · USER INTERFACE CONTROL API Linux headers Linux headers

References Cont.

G. X. Z. Yu, G. Shan and X. Duan, (2018)

Method of multi-sensor optimal deployment for area coverage

In: 2018 International Conference on Electronics Technology (ICET) 0(0), 116 –119.

D. Adra & E. Jones (Bradley University) ACO Presentation 38 / 38