Chamzas Dimitrios
  • Contact
  • Portfolio
  • Skills
  • about

Multi Agents

Matlab | Multiple Agents | Obstacle Avoidance | Real Time | Reciprocal Velocity |

Demonstration

3_agents_obstacles

Autonomous navigation of swarm robots with collision avoidance.

Description

In this project, We show that this method guarantees safe and oscillation free motions for each of the agents. We apply our concept to navigation of hundreds of agents in densely populated environments containing both static and moving obstacles, and we show that real-time and scalable performance is achieved in such challenging scenarios. The project is based on this paper Reciprocal Velocity Obstacles for real-time multi-agent navigation.

Overview

The basic idea is that each agent tries to decide his velocity based on the current position , the goal position and information about other obstacles(or agents). The chosen new velocity guarantees that there will be no collision. The only information each agent is required to have about the other agents is their current position and velocity, and their exact shape (all of which can be acquired by sensors).

velocity_triangle.png

The Velocity Obstacle VO_AB(VB) of a disc-shaped obstacle B to a disc-shaped agent A.

Basic idea of updating choosing new velocity. Let A be an agent translating in the plane with its reference point positioned at pA , and let B be a planar (moving) obstacle with its reference point positioned at pB. The velocity obstacle VO_AB(VB) of obstacle B to agent A is then the set consisting of all those velocities VA for A that will result in a collision at some moment in time with obstacle B moving at velocity VB .

two_agents.gif

2 agents switching positions

A this example we see 2 agents trying to switch position, we tweak the alpha parameter which is affecting the priority. Given alpha=1 the first agent will not change its course at all while setting a = 0.5 both of them will switch their velocity in order to avoid collisions.

Results

Below we test our algorithm implementation at different scenarios

3_agents_obstacles

3 agents with different size and obstacles

At this example we see that the algorithm is able to correspond at different agent sizes and obstacles without a problem.

8_agents_circle_sampling

Acceleration on/off.

With this example we see that having maximum acceleration the result is a smooth trajectory.

40_agents_square_obstacles

40 agents with squared obstacles

This is a more complicate example with 40 agents and squared obstacles.

10_agents_alinged_moving_obstacle

10 agents alinged crossing a round & square obstacle

At this example we see that some agents go with full speed and pass the moving object while other agents slow down and pass after the moving obstacle.

Over all the algorithm does correspond without any collisions or oscillations.