Download presentation
Presentation is loading. Please wait.
Published byTheresa Gledhill Modified over 9 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
© 2025 SlidePlayer.com. Inc.
All rights reserved.