Robonet - MANET for Robot Communication

Similar documents
ROUTING PROTOCOLS. Dr. Ahmed Khattab. EECE Department Cairo University Fall 2012 ELC 659/ELC724

A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols

Configuring OSPF. Information About OSPF CHAPTER

Energy-Efficient MANET Routing: Ideal vs. Realistic Performance

Lecture 8 Link-State Routing

olsr.org 'Optimized Link State Routing' and beyond December 28th, 2005 Elektra

OSPF Fundamentals. Agenda. OSPF Principles. L41 - OSPF Fundamentals. Open Shortest Path First Routing Protocol Internet s Second IGP

OSPF - Open Shortest Path First. OSPF Fundamentals. Agenda. OSPF Topology Database

Scalable Routing Protocols for Mobile Ad Hoc Networks

Volume 5, Issue 3, March 2017 International Journal of Advance Research in Computer Science and Management Studies

A Review of Current Routing Protocols for Ad Hoc Mobile Wireless Networks

Link State Routing. Brad Karp UCL Computer Science. CS 3035/GZ01 3 rd December 2013

Link State Routing. Stefano Vissicchio UCL Computer Science CS 3035/GZ01

More Efficient Routing Algorithm for Ad Hoc Network

Performance comparison of AODV, DSDV and EE-DSDV routing protocol algorithm for wireless sensor network

M U LT I C A S T C O M M U N I C AT I O N S. Tarik Cicic

Mobile Ad Hoc Networks Theory of Interferences, Trade-Offs between Energy, Congestion and Delay

Performance Evaluation of a Video Broadcasting System over Wireless Mesh Network

Simulating AODV and DSDV For Adynamic Wireless Sensor Networks

The Pennsylvania State University. The Graduate School. College of Engineering PERFORMANCE ANALYSIS OF END-TO-END

Grundlagen der Rechnernetze. Introduction

Wireless Internet Routing. IEEE s

Rev a. Single-Area OSPF. c cnac o okbook.com

Link-state protocols and Open Shortest Path First (OSPF)

Guide to OSPF Application on the CSS 11000

Analysis and Design of Link Metrics for Quality Routing in Wireless Multi-hop Networks

Link State Routing. In particular OSPF. Karst Koymans. Informatics Institute University of Amsterdam. (version 16.3, 2017/03/09 11:25:31)

Network Layer (Routing)

Overview. Ad Hoc and Wireless Mesh Networking. Ad hoc network. Ad hoc network

Increasing Broadcast Reliability for Vehicular Ad Hoc Networks. Nathan Balon and Jinhua Guo University of Michigan - Dearborn

OSPF Domain / OSPF Area. OSPF Advanced Topics. OSPF Domain / OSPF Area. Agenda

Configuring OSPF. The Cisco OSPF Implementation

Comparative Analysis of Routing Protocols AODV DSDV and DSR in MANET

Wireless Networked Systems

Advanced Modeling and Simulation of Mobile Ad-Hoc Networks

CS 457 Lecture 16 Routing Continued. Spring 2010

Link State Routing. In particular OSPF. dr. C. P. J. Koymans. Informatics Institute University of Amsterdam. March 4, 2008

Dynamic TTL Variance Foretelling Based Enhancement Of AODV Routing Protocol In MANET

PERFORMANCE ANALYSIS OF ROUTING PROTOCOLS FOR P INCLUDING PROPAGATION MODELS

CS 621 Mobile Computing

Question No: 2 In an OSPF Hello packet, which of the following fields must match for all neighbor routers on the segment? Choose three answers.

OSPF for IPv6. ISP Workshops

Distance-Vector Routing

Cross-layer Approach to Low Energy Wireless Ad Hoc Networks

CCNA Routing and Switching Study Guide Chapters 5 & 19: Multi-Area OSPF

Foundations of Distributed Systems: Tree Algorithms

Secure Ad-Hoc Routing Protocols

Link State Routing. In particular OSPF. Karst Koymans. Informatics Institute University of Amsterdam. (version 17.4, 2017/11/30 12:33:57)

A survey on broadcast protocols in multihop cognitive radio ad hoc network

Link State Routing. Link state routing principles Dijkstra s shortest-path-first algorithm The OSPF protocol. (Chapter 6 in Huitema) E7310/Comnet 1

Chapter 10 Mobile Communication Systems

FAQs about OFDMA-Enabled Wi-Fi backscatter

Introduction. Introduction ROBUST SENSOR POSITIONING IN WIRELESS AD HOC SENSOR NETWORKS. Smart Wireless Sensor Systems 1

Papers. Ad Hoc Routing. Outline. Motivation

International Journal of Advance Engineering and Research Development (IJAERD) Volume 1,Issue 5,May 2014, e-issn: , print-issn:

PERFORMANCE ANALYSIS OF UNICAST ROUTING PROTOCOL IN IEEE S WIRELESS MESH NETWORK

UMLEmb: UML for Embedded Systems. II. Modeling in SysML. Eurecom

Configuring the maximum number of external LSAs in LSDB 27 Configuring OSPF exit overflow interval 28 Enabling compatibility with RFC Logging

INTRODUCTION TO WIRELESS SENSOR NETWORKS. CHAPTER 3: RADIO COMMUNICATIONS Anna Förster

MOBILE COMPUTING NIT Agartala, Dept of CSE Jan-May,2012

UCS-805 MOBILE COMPUTING NIT Agartala, Dept of CSE Jan-May,2011

Lower Layers PART1: IEEE and the ZOLERTIA Z1 Radio

p-percent Coverage in Wireless Sensor Networks

AS-MAC: An Asynchronous Scheduled MAC Protocol for Wireless Sensor Networks

Some results on optimal estimation and control for lossy NCS. Luca Schenato

OSPF. OSPF Areas. BSCI Module Cisco Systems, Inc. All rights reserved. Cisco Public. Review of OSPF area characteristics:

Security in Sensor Networks. Written by: Prof. Srdjan Capkun & Others Presented By : Siddharth Malhotra Mentor: Roland Flury

CS649 Sensor Networks IP Lecture 9: Synchronization

Performance Evaluation of Energy Consumption of Reactive Protocols under Self- Similar Traffic

Problem Set 10 Solutions

Vulnerability modelling of ad hoc routing protocols a comparison of OLSR and DSR

Distributed Pruning Methods for Stable Topology Information Dissemination in Ad Hoc Networks

CSE/EE 461. Link State Routing. Last Time. This Lecture. Routing Algorithms Introduction Distance Vector routing (RIP)

Wireless Communications

The problem of upstream traffic synchronization in Passive Optical Networks

Table of Contents. OSPF Configuration 1

Utilization Based Duty Cycle Tuning MAC Protocol for Wireless Sensor Networks

3644 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 57, NO. 6, JUNE 2011

Computer Networks II

Jinbao Li, Desheng Zhang, Longjiang Guo, Shouling Ji, Yingshu Li. Heilongjiang University Georgia State University

Local Area Networks NETW 901

INTRODUCTION TO GAME AI

Intuitive Guide to Principles of Communications By Charan Langton Coding Concepts and Block Coding

IMPROVED OLSR AND TORA ROUTING PROTOCOLS FOR MANETS

Starvation Mitigation Through Multi-Channel Coordination in CSMA Multi-hop Wireless Networks

NI 272x Help. Related Documentation. NI 272x Hardware Fundamentals

accurate as possible, the enclosed material is presented on an as is basis. Neither the authors nor

Cisco IOS IP Routing: OSPF Command Reference

Chapter 10. User Cooperative Communications

Qosmotec. Software Solutions GmbH. Technical Overview. QPER C2X - Car-to-X Signal Strength Emulator and HiL Test Bench. Page 1

Chapter 1 Basic concepts of wireless data networks (cont d.)

Fiber Distributed Data Interface

Introduction to Local and Wide Area Networks

Embedded Test System. Design and Implementation of Digital to Analog Converter. TEAM BIG HERO 3 John Sopczynski Karim Shik-Khahil Yanzhe Zhao

Routing Messages in a Network

A Taxonomy for Routing Protocols in Mobile Ad Hoc Networks. Laura Marie Feeney Swedish Institute of Computer Science

Performance characteristics of OLSR and AODV protocols in Wireless Mesh Network

A Simple Smart Shopping Application Using Android Based Bluetooth Beacons (IoT)

GAME THEORY MANET ROUTING FOR JAMMING ENVIRONMENT. Yi Zhu

Analysis on Privacy and Reliability of Ad Hoc Network-Based in Protecting Agricultural Data

Transcription:

Robonet - MANET for Robot Communication Authors: Stiven Andre Supervisor: Aram Movsisian

Motivation Robotic developers need a way for robots to communicate. Swarm of robots want to communicate in a constantly changing environment Developers need an easy to use tool for sending data between this robots.

Requirements Communication should be done using a cheap and available mobile device (Android is chosen) Communication library should bypass the low signal capabilities of the average android device. Communication should not require any static station (AD-HOC) Communication library should transport the data sent between the robots using proxy robots in the middle seamlessly to the user. (MANET) Communication library should be light on traffic and system resources due to Android's limited resources (Distance Vector, not Link State).

Assumptions and limitations Each Android and or other host device is able to communicate with another device at least by layer 3. (Satisfied by previous project) Communication is limited to N hops, N predefined (We will in fact bypass it). Each station is given a unique integer ID on initialization (Lower ids preferred, the reason will be explained later) Data that user wants to send and receive is provided as a byte[] Any violation of this assumptions will lead to undefined behavior

Library functionality Send and receive data between robots. Without any limitation on data type and size. Verify that sent data arrived. List what robots are currently reachable Query the distance to another robot (distance is measured as a number of robots data will need to pass until it gets to the destination) All functionality is asynchronous so all functions return immediately All functionality is parallel allowing to send and receive multiple data at the same time.

MANET mobility (adopting to changes rapidly) A is sending the data to D. The intended route is A->B->C->D A B C D E A transferred the data to B C But B can no longer reach C as previously intended A B E D B will find out that it can reach destination D by sending the packet through E. Packet will arrive to D despite the change in topology in the middle of the transmission A B C E D

Robonet Discovery Advertiser: Constantly sends Advertisments using UDP broadcast. Ads include all known neighbors if the range to the neighbor is less than DEPTH parameter. Discoverer: Listens to ads. Updates database according to received ads. Old station are removed from the database if no advertisements received for longer than REMEMBER parameter. DEPTH: A performance related parameter defining maximal number of allowed hops. Database: Structure/Class holding all Dynamic run-time information.

User verify User send Receiver ACK queue Transporter Queue Transporter Database Discoverer Receive Queue Advertiser Class or object User receive Sender Single thread 1 or more threads

Library Interface Connector.java is the only class required to use the library (FConnector is an additional functionality explained later). Configuration.java is the class containing all the static defines. This is used to control various performance related constants. (Ex: How much time to remember a robot that stopped sending any signs of life) Connector.java is very well documented in JAVADOC style:

Library JavaDoc

Library Functions int init(int id): Initialize the library and set id as self identifier. Int[] getneighbors() Get all neighbors that are currently known and reachable. int getdistance(int neighbor) Get distance to the neighbor, in units of hops. -1 is returned if neighbor is unreachable. int send(int to, byte[] data): Send data byte array to station provided by to parameter. Return integer used for verification of the arrival (explained later) byte[] receive(): Receive data. Returns a received byte[] null is returned if nothing is received.

Library Functions - cont boolean verify(int verificationnum): Verify the arrival of message X. VreificationNum is the number that was returned by send() when X was sent. Returns true if message has arrived, false otherwise. int[] showverifications() Returns integer array of all verification numbers verify() would return true on. In other words, returns all verifications void clearverifications(): Clears all verifications. In a long run maybe used to free space. Int getmyid() Returns your own identigier. Prevents user from having to store it. void destroy() Stops all threads and destroys the library engine.

Connector and FConnector Introduction and differences What is FConnector? FConnector is an additional functionality for the connetor library. Fconnector adds 3 new functions to connector: - flood() - fsend() - map() All functions will be explained later. Who FConnector is implemented? FConnector class inherits from connector class all old functionality is still there. FConnector implements the new function ONLY by using Connector public functions that were explained before. Why FConnector is designed as library over library? You don't always want to use Fconnector maybe connector is enough for your tasks. FConnector is a very good example of connetor usage and abilities. Having smaller building blocks helps to design more agile project. What is most important about new Fconnector functions? The DEPTH parameter is irrelevant to them!

A bit of definitions before continuing Station A can hear station B: Station A can hear/see station B if and only if UPD broadcast from B arrives to station A. Connected stations as a graph: Let's define a directed graph G(V,E). V is the group of stations. If station V1 can see/hear station V2 there is an Edge V1 V2 in E. Graph of interconnected stations: Stations V1 and V2 are in the Graph of interconnected stations if there is a directed loop that includes both V1 and V2 in G(V,E). A connected to B by means of Fconnector if and only if: A and B are in the same Interconnected graph G Please Note: Two stations A and B may be connected to by means of FConnector but may not see/hear each other by the means of Connector

FConnector functions Flood Function declaration, parameters and return value: int flood(byte[] data): - data: data to send - returns: always 0. What it does? Sends data argument to all stations that are connected in regards to FConnector. How? Uses connector send function to send message to all directly connected neighbors. Each station that received such a message will pass it to all it's neighbors and to incoming queue. If the same message (sequencing is used to identify messages) is received again retransmission will not happen. Note: This function has no ability to verify the arrival of the message - by design.

FConnector functions FSend Function declaration, parameters and return value: int fsend(int to,byte[] data): - to: send to this station only - data: data to send - returns: always 0. What it does? Sends data to a station that is connected by the means of FConnector. How? The similar way flood() function works but only the station that with the id sepcified as the to parameter will receive the message. All others will only retransmit. Note: This function has no ability to verify the arrival of the message - by design.

FConnector functions map Function declaration, parameters and return value: int[][] map(): - returns: Integer matrix. What it does? Returns a matrix that represents to what station each of the stations is connected to. Assume the returned matrix is ret[][[]. ret[a][b] = 1 if and only if station a can hear/see station b. How? Map() sends a special message to all station using flood(). Once any of the station receives such a message it generates a message containing all the stations it can hear/see and sends it back using fsend(). Map() waits predefined time for the results and after the time passes build the matrix from the received messages before returning. Note: The map will hold all stations that are connected to the origin by means of FConnector

Links: Android tether application: http://code.google.com/p/android-wifi-tether/ Linux networking how-to http://tldp.org/howto/net3-4-howto.html