Multi-Robot Behavioural
This presentation is the property of its rightful owner.
Sponsored Links
1 / 19

Multi-Robot Behavioural Algorithms Implementation in Khepera III Robots PowerPoint PPT Presentation


  • 53 Views
  • Uploaded on
  • Presentation posted in: General

Multi-Robot Behavioural Algorithms Implementation in Khepera III Robots. David Arán Bernabeu Supervisors: Lyuba Alboul Hussein Abdul-Rahman. Index. Introduction Player/Stage Khepera III robot Behavioural Algorithms Obstacle avoidance Wall following Robot following Conclusions.

Download Presentation

Multi-Robot Behavioural Algorithms Implementation in Khepera III Robots

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Multi robot behavioural algorithms implementation in khepera iii robots

Multi-Robot Behavioural

Algorithms Implementation in

Khepera III Robots

David Arán Bernabeu

Supervisors:

Lyuba Alboul

Hussein Abdul-Rahman


Index

Index

  • Introduction

  • Player/Stage

  • Khepera III robot

  • Behavioural Algorithms

    • Obstacle avoidance

    • Wall following

    • Robot following

  • Conclusions


Introduction

Introduction

  • Background

    • Multi-robot systems

    • Non-communicative systems

  • Objectives

    • Develop non-communicative behavioural algorithms

    • Implementation in Khepera III robots

  • Algorithms

    • Wall follow, obstacle avoidance & robot follow algorithms

  • Drawbacks

    • Two-robot system

    • Follower can not scan while moving

    • Leader out of the laser field of view


Player stage

Player/Stage

  • Player: robot device interface

  • Stage: 2D simulator

  • Proxies

    • Position2dProxy

    • LaserProxy


Player stage1

Player/Stage

  • Position2dProxy

    • void SetSpeed(double aXSpeed, double aDriveAngle)

    • double GetXPos()

    • double GetYPos()

    • double GetYaw()

  • LaserProxy

    • uint32_t GetCount () const

    • double GetRange (uint32_t aIndex) const

    • double GetBearing (uint32_t aIndex) const

β

α

Global axes

Local axes


Khepera iii robot

Khepera III robot

  • Small differential wheeled mobile robot

  • 11 IR and 5 ultrasonic sensors

  • 2 DC motors

  • KoreBot: Embedded Linux

  • Wifi communication


Khepera iii robot1

Khepera III robot

  • Laser range finder → Hokuyo URG-04LX

    • FoV: 240º

    • Angular resolution: 0.36º

    • 240/0.36 → ~667 points/scan

    • Range: 4 m

    • Max. scan rate 10 Hz → 0.1 sec

0º / 334

-120º / 0

120º / 667


Behavioural algorithms

Behavioural Algorithms

Obstacle Avoidance

Wall Following

Robot Following

  • Leader robot

  • Function DivideLaser()

    • for all laser scans

      • if index is on the right

        • add range

        • new minimum

      • if index is on the left

        • add range

        • new minimum

      • if index is on the center

        • new minimum

      • calculate right / left mean

  • if left mean < right mean: turn right

  • if right mean < left mean: turn left

25º

-25º

Front side

Left side

Right side

-120º

120º


Behavioural algorithms1

Behavioural Algorithms

Obstacle Avoidance

Wall Following

Robot Following

  • Follower robot

  • Also using DivideLaser()

    • if central minimum < stop distance

      • SetSpeed(0,0);

    • else

      • SetSpeed(Speed,0);


Behavioural algorithms2

Behavioural Algorithms

Obstacle Avoidance

Wall Following

Robot Following

  • Keep constant distance

    to the wall

  • Calculate slope of

    a straight line

  • Functioning modes

SEARCH

If distance wall < detection distance

WALL FOLLOW

If left mean < right mean

If right mean < left mean

LEFT

RIGHT

If robot loses the wall


Behavioural algorithms3

Behavioural Algorithms

Obstacle Avoidance

Wall Following

Robot Following

  • Slope of Straight Line

    x1 = GetRange(165º)·cos(GetBearing(165º))

    y1 = GetRange(165º)·sin(GetBearing(165º))

    x2 = GetRange(205º)·cos(GetBearing(205º))

    y2 = GetRange(205º)·sin(GetBearing(205º))

Wall to follow

x1,y1

75º

165º

35º

205º

x2,y2


Behavioural algorithms4

Behavioural Algorithms

Obstacle Avoidance

Wall Following

Robot Following

  • Simulation


Behavioural algorithms5

Behavioural Algorithms

Obstacle Avoidance

Wall Following

Robot Following

1st approach: Non-obstacle environment

  • Follower can only detect the leader

  • if laser detects something

    save detecting indexes

    calculate mean index

    GetBearing(mean index)

    do

    diff = |GetBearing – GetYaw|

    SetSpeed(0,±turn rate)

    update GetYaw

    whilediff ≠ 0

  • if GetRange(mean index) > Stop distance

    • SetSpeed(Speed,0)


Behavioural algorithms6

Behavioural Algorithms

Obstacle Avoidance

Wall Following

Robot Following

2nd approach: Environment with obstacles

  • Movement recognition algorithm

  • If there is any movement, it's the leader

  • t0: scan and save ranges → vector0

    t1: scan and save ranges → vector1

    v_diff = vector0-vector1

    if |v_diff[i]| ≠ 0 → movement → leader

    calculate mean index of those detecting

    GetBearing(mean index)

Final direction to follow

t1, final position

t0, initial position


Behavioural algorithms7

Behavioural Algorithms

Obstacle Avoidance

Wall Following

Robot Following

2nd approach: Environment with obstacles

do

diff = |GetBearing – GetYaw|

SetSpeed(0,±turn rate)

update GetYaw

whilediff ≠ 0

  • if GetRange(mean index)>Stop dist

    • SetSpeed(Speed,0)

    • if GetRange()>Alone distance

      • SetSpeed(0,0)

      • Scan again


Behavioural algorithms8

Behavioural Algorithms

Obstacle Avoidance

Wall Following

Robot Following

3rd approach: Physical robot

  • GetYaw() coordinate system different than in simulation

+2π

0

0

-2π

0

+π/2

-π/2

-3π/2

π/2

-π/2

π

Stage simulation

Khepera III robot


Drawbacks

Drawbacks

  • Two robot system (1 leader, 1 follower)

  • Robot can not scan while moving

  • Robot out of the laser field of view


Conclusions

Conclusions

  • Non-communicative multi-robot system

  • Simple algorithms

  • Basis of further developments


Multi robot behavioural algorithms implementation in khepera iii robots

  • Thank you for your attention

  • Questions?


  • Login