Projects:2021s2-63333 Cooperative multi-robot system: a Simulink-with-Arduino based approach
Abstract here
Contents
Introduction
Robot technology is widely used in many different industries today to perform a wide variety of tasks.Robots are used in agricultural, food technology, manufacturing, military, automobile and many more industries.During the recent years lot of research has been put into the area of cooperative multi-agent robotic system.The main purpose is to find to a feasible solution for the optimal communication among the agents.
Project team
Project students
- Ruixiang Meng
- Muhammad Haniff Fauzan Bin Derani
- Sherif Bhalla
Supervisors
- Prof. Peng Shi
- Prof. Cheng-Chew Lim
Technical Advisors
- Yang Fei
- Yuan Sun
Objectives
Design a cooperative multi-robot system with a Simulink-with-Arduino based approach
Develop a distributed multi-agent system where it proves multi-robot system is working together while performing obstacles avoidance/path-planning/communication/object detection using interface of coppeliasim(V-Rep) and MATLAB. All the agents in the system should be able to communicate with each other along-with performing the other sub functions . The robots should be able to reach to the target location with all of them working simuntaneously.
Background
This section explains details on the background of the project which includes hardware and software tools used for the projects.
1. Autonomous System
The term “autonomous system” refers to a system that can perceive its surroundings, execute self-correction, adapt to new or unknown environments. There are a few requirements for the system to be self-contained. Without any input from the control centre, the system must be able to gather information about the environment and surroundings. The system must also function without human intervention and be capable of self-maintenance [1].
2. Agent and Multi-Agent System
In general, “agent” is anything that can be viewed as perceiving its environment using sensors and acting upon that environment through effectors [2], whereas a “multi-agent” is a group of agents that work during that situation. In an open and distributed environment, agents also are sophisticated computer programs that act autonomously on behalf of their users. Besides, the usage of multi-agent system enhances overall system performance, specifically along the dimensions of computational efficiency, reliability, extensibility, robustness, maintainability, responsiveness, and flexibility compared to single agent system.
3. Centralised, Decentralised and Hybrid control structure.
Centralised
- Centralised control structures mean relying on one individual or input to make decisions and provide direction for the system. Current achievement and studies are already proven the works are able to be done. The achievement is relating to multi-agent where it can perform tasks cooperatively with the help of decision making by the computer.
- Centralised control is weaker than distributed control in terms of scalability, adaptability, and flexibility [4].
Decentralised
- Decentralised control structures mean not replying on any individual or input to make decision or provide direction the system. In order for the system to works independently, the system needs to have the ability to make decision on its own correspond with current situation.
Hybrid
- Hybrid control structures mean that the system implementing both centralised and decentralised in one system. Hence, the system able to work with or without any input.
Method
The system was tested in two different methods. They are mentioned as below :
1.VREP and Matlab Simulation: In this VREP has been used as the simulation environment and remote api connection with matlab has been used for giving the input. Path planning ,Robot localisation and obstacle avoidance were performed for a multi robot system.The technique of image processing has been used for doing obstacle avoidance and path planning.For image processing a sky view image has been taken for the environment and then a threshold image is created converted to binary to be read by Matlab. Further the image was inflated in order to use during path planning so that the robots travel at a safe distance from the obstacles. For path planning of the robots we have used Probabilistic Road Mapping, which follows a graph search algorithm and then chooses the shortest path to travel avoiding obstacles. For the communication we have used the technique of storing the data into a module then all the robots extract the information from That module.
2. MATLAB and robot Simulation: The system was tested in three different methods. First the controller was made in matlab and its was tested that the output given is the same as what is expected . This was performed using MATLAB and robot interface. Wi-Fi acts as a main contribution on communication as it connects the MATLAB and robot interface together. This includes the implementation of TCP/IP protocol to connect one another. There are two protocols available and chosen protocol is TCP/IP protocol, this is due because its having better control and at the same time has lower risks of failure while working. In addition to that IMU and encoder were used on the robots which were used to determine the location and check it for errors. The data sharing between matlab and Arduino that was on robot is through TCP.
Results
1) Virtual Platform
For V-REP simulation, the results is that the project's team members were able to create a multi-rovers that are working together in V-Rep scene.
The functions of obstacle have been achieved in the project . The path planning works choosing the shortest path making the system good in performance .
As seen in the figure above the path planning is working exactly the way we want it to and we get the desired results. The robots are given the target coordinates and they reach their target location.The figure below shows the robots at their initial position on the left and final position on the right.The robots complete this task completely autonomously once the desired coordinates have been given to them.
While the robots are in motion they share their current coordinate among the robots.The results were displayed in the command window in order to check for the user . The snippet shows the coordinate data used for data verification.
2) Real-hardware simulation
For Real simulation, the results is that three rovers are able to work together in completing targeted coordinates which include 4 functions.
- TCP/IP connection
- askID
- getCoordinate
- setCoordinate
In the two figures below Red dashed line shows the red dashed line is the set motion trajectory and the blue solid line is the actual motion trajectory resulted from the movement of the robot.It can be seen in the figure below that when only encoder is used then there is a large deviation from the desired results.
In the above figure it can been seen that there is a very less deviation from the desired results during robot localisation .Hence it can be said that using sensor fusion gave much better results.
Regarding the hardware simulation, the communication of the rover it can be proven in the below gif. Both scene simulates the hardware simulation for multi rovers system where they're working together in performing the task. The idea behind this scene is that one rover starts to move when it reaches and near any current rovers. This simulate the coordinates exhange for real-hardware simulation. Need to attach the video and picture
Conclusion
For virtual platform functions of obstacle avoidance, path planning and communication were achieved. All three robots could be seen in motion at the same time and then sharing coordinates among them . For physical robot testing the function of robot localisation was achieved .
Future Work
In the performance testing using simulations improvements can be made to run it more smoothly . For physical work the communication module and obstacle avoidance has to be developed to make the system perform much better.
References
[1] M. Parashar and S. Hariri, "Autonomic Computing: An Overview", 2005. Available: 10.1.1.62.2957.
[2] M. Glavic, "Agents and Multi-Agent Systems: A Short Introduction for Power Engineers", University of Liege, Luik, 2006.