Download presentation

Presentation is loading. Please wait.

Published byTheresa Gledhill Modified over 2 years ago

1
Multi-Robot Behavioural Algorithms Implementation in Khepera III Robots David Arán Bernabeu Supervisors: Lyuba Alboul Hussein Abdul-Rahman

2
Index Introduction Player/Stage Khepera III robot Behavioural Algorithms Obstacle avoidance Wall following Robot following Conclusions

3
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

4
Player/Stage Player: robot device interface Stage: 2D simulator Proxies Position2dProxy LaserProxy

5
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 α β

6
Khepera III robot Small differential wheeled mobile robot 11 IR and 5 ultrasonic sensors 2 DC motors KoreBot: Embedded Linux Wifi communication

7
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 120º / 667 -120º / 0 0º / 334

8
Behavioural Algorithms 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 Obstacle AvoidanceWall FollowingRobot Following 120º -120º Right side Front side Left side -25º25º

9
Behavioural Algorithms Follower robot Also using DivideLaser() if central minimum < stop distance SetSpeed(0,0); else SetSpeed(Speed,0); Obstacle AvoidanceWall FollowingRobot Following

10
Behavioural Algorithms Keep constant distance to the wall Calculate slope of a straight line Functioning modes Obstacle AvoidanceWall FollowingRobot Following SEARCH LEFTRIGHT WALL FOLLOW If distance wall < detection distance If left mean < right mean If right mean < left mean If robot loses the wall

11
Behavioural Algorithms 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º)) Obstacle AvoidanceWall FollowingRobot Following x 1,y 1 x 2,y 2 Wall to follow 165º 205º 75º 35º

12
Behavioural Algorithms Simulation Obstacle AvoidanceWall FollowingRobot Following

13
Behavioural Algorithms 1 st 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 while diff ≠ 0 if GetRange(mean index) > Stop distance SetSpeed(Speed,0) Obstacle AvoidanceWall FollowingRobot Following

14
Behavioural Algorithms 2 nd approach: Environment with obstacles Movement recognition algorithm If there is any movement, it's the leader t 0 : scan and save ranges → vector 0 t 1 : scan and save ranges → vector 1 v_diff = vector 0 -vector 1 if |v_diff[i]| ≠ 0 → movement → leader calculate mean index of those detecting GetBearing(mean index) Obstacle AvoidanceWall FollowingRobot Following t0, initial position t1, final position Final direction to follow

15
Behavioural Algorithms 2 nd approach: Environment with obstacles do diff = |GetBearing – GetYaw| SetSpeed(0,±turn rate) update GetYaw while diff ≠ 0 if GetRange(mean index)>Stop dist SetSpeed(Speed,0) if GetRange()>Alone distance SetSpeed(0,0) Scan again Obstacle AvoidanceWall FollowingRobot Following

16
Behavioural Algorithms 3 rd approach: Physical robot GetYaw() coordinate system different than in simulation Obstacle AvoidanceWall FollowingRobot Following 0 π/2-π/2 π-π 0 -π/2 +π -3π/2 -π +π/2 -2π 0 +2 π Stage simulationKhepera III robot

17
Drawbacks Two robot system (1 leader, 1 follower) Robot can not scan while moving Robot out of the laser field of view

18
Conclusions Non-communicative multi-robot system Simple algorithms Basis of further developments

19
Thank you for your attention Questions?

Similar presentations

OK

1 Distributed and Optimal Motion Planning for Multiple Mobile Robots Yi Guo and Lynne Parker Center for Engineering Science Advanced Research Computer.

1 Distributed and Optimal Motion Planning for Multiple Mobile Robots Yi Guo and Lynne Parker Center for Engineering Science Advanced Research Computer.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Maths ppt on polynomial for class 9 Ppt on k-map simplification Ppt on construction maths for class 10th Ppt on 4-stroke petrol engines Ppt on acid-base indicators are large organic molecules Download ppt on life process for class 10 cbse Ppt on limits and continuity worksheet Well made play ppt on tv Ppt on high voltage engineering holland Ppt on principles of object oriented programming