Modeling, Path Planning and Swarm Formation Control For Mobile Robots 🎛️🚘
System Kinematics and Dynamics Model and Simulation
Explore the docs »
Report Bug & Request Feature
Table of Contents
This repository contains the Simulink implementation of "A Decentralized Cooperative Control Scheme With Obstacle Avoidance for a Team of Mobile Robots" by Hamed Rezaee and Farzaneh Abdollahi. You can find the article in the References section or use this link:: IEEE
This project has been done at the request of Zobdeh Modiran Rahneshan Soraya Company in the 2nd Rahneshan Competition. A competition was held by Iran's National Elites Foundation and the Sharif University of Technology. Our team achieved first place in this competition.
Major softwares/libraries used to this project:
This algorithm applies a potential field method to our decentralized control strategy to arrange a polygon formation. In this algorithm, the robots consider electric charges, and the method is based on the repulsive forces between electric charges. These forces make agents form on a circle with a defined center and radius. Additionally, these forces make themselves form in a polygon formation on that circle. We can move the formated agents by dragging the center. The center of this circle can be considered as a virtual leader.
In this project, we have four agents to form in a regular quadrilateral or square.
The dynamical equation of the Agents, which is a double integrator, is considered as follow:
M: the mass, B: the damper coefficient, f_k: the control force, k_d: a coefficient considered to control the transient response of the robot
where
alpha: the radius, (xc,yc): the center (also considers as virtual leader)
and the force that exerts on the kth charge from N − 1 charges is as below:
Finally, each agent is simulated as below:
We chose a discrete sinuosity trajectory for this project and developed a block to address all agents independently—the initial point used for Fixed Formation in (0,1). Our agents will form around this point, and by changing this point, we move the virtual leader and following agents.
The following diagram is the Path Planning block:
Initial coordination of the agents are (-1,2) for Agent 1, (3,6) for Agent 2, (3,-1) for Agent 3, and (-4,-4) for Agent 4. These agents are targeted to arrange a formation around the point (0,1), our virtual leader.
Following figure shows the path of each agent from the initial point to its point in regular quadrilateral formation.
After achieving formation, we transfer the virtual leader so the robots can move following that. The discrete trajectory allows us to maintain the formation along the path.
Block diagram of the dynamic formation simulation:
Results of simulation:
The scenario of losing an agent.
To prove that this algorithm is robust in changing the number of agents suddenly, we proposed a special case study that one of the agents will fail in the middle of our path and see what's happening to the other agents. The results were magnificent. We have four agents to form in a regular quadrilateral or square in the usual dynamic formation. But when the failure happens, the number of our agents decreases to three, and the agents start reforming their formation. They change their position on the hypothetical circle until arranging a polygonal formation which is a regular triangle in this case.
The next phase of this project is simulation and implementation of the obstacle avoidance section using the rotational potential field. This section will be added to this repository as soon as complementation.
Meanwhile, see the open issues for a full list of proposed features (and known issues).