Multi-agent Control System Manual
Table Of Contents
- Roboworks
 - Roboworks
 - Summary
 - Roboworks
 - Table of contents
 - 1. Introduction to Multi-agent Algorithms
 - 2. Multi-agent Communications Setup
 - 3. Multi-agent Synchronisation Setup
 - 4. Multi-agent ROS Package
 - Roboworks
 - Introduction to multi-agent algorithms
 - 1.1 Multi-agent formation algorithms
 - 1.2 Obstacle avoidance algorithms
 - Roboworks
 - multi-agent communication setup
 - Multi-agent communication is one of the key steps to complete a multi-robot formation. When the relative positions of multiple robots are unknown, the robots need to share each other's information through communication to facilitate the establishment of connections. ROS distributed architecture and network communications are very powerful. It is not only convenient for inter-process communication, but also for communication between different devices. Through network communication, all nodes can run on any computer. The main tasks such as data processing are completed on the host side. The slave machines are responsible for receiving environmental data collected by various sensors. The host here is the manager that runs the Master node in ROS. The current multi-agent communication framework is through a node manager and a parameter manager to handle communications among multiple robots.
 - Roboworks
 - 2.1 The steps to set up multi-agent communications
 - Roboworks
 - Roboworks
 - 2.2 Automatic Wifi connection in ROS
 - Roboworks
 - Roboworks
 - Roboworks
 - Roboworks
 - Roboworks
 - Roboworks
 - multi-agent synchronisation setup
 - 3.1 Successful master/slave network connection
 - 3.2 Troubleshooting network dis-connections
 - Roboworks
 - multi-agent ros package
 - 4.1 ROS Package Introduction
 - Roboworks
 - Roboworks
 - Roboworks
 - Roboworks
 - Roboworks
 - Roboworks
 - 4.2 Operation Procedure
 - Roboworks
 
www.roboworks.com.au/support
The purpose of setting different names is to group running nodes and distinguish them by different 
namespaces. For example, the radar topic of slave 1 is: /slave1/scan, and the LiDAR node of slave 1 is: /
slave1/laser. 
4.1.2 Set up slave coordinates 
The wheeltec_multi package can implement custom formations. When different formations are required, just 
modify the desired coordinates of the slave robots. Slave_x and slave_y are the x and y coordinates of the 
slave with the master as the original reference point. The front of the master is the positive direction of the x 
coordinate, and the left side is the positive direction of the y coordinate. After the setting is completed, a TF 
coordinate slave1 will be issued as the expected coordinate of the slave. 
If there are one master and two slaves, the following formation can be set: 
1) Horizontal formation: You can set the coordinates of the slave on the left to: slave_x:0, slave_y: 0.8, and the 
coordinates of the slave on the right to: slave_x:0, slave_y:-0.8. 
2) Column formation: The coordinates of one slave can be set to: slave_x:-0.8, slave_y:0, and the coordinates 
of the other slave can be set to: slave_x:-1.8, slave_y:0. 
3) Triangular formation: The coordinates of one slave can be set to: slave_x:-0.8, slave_y: 0.8, and the 
coordinates of the other slave can be set to: slave_x:-0.8, slave_y:-0.8. 
 Other formations can be customized as needed. 
Note: 
The recommended distance between the two robots is set to 0.8, and it is recommended not to be lower than 
0.6. The distance between the slaves and the master is recommended to be set below 2.0. The farther it is 
from the master, the greater the linear speed of the slave is when the master is turning. Due to the limitation of 
the maximum speed, the speed of the slave will deviate if it does not meet the requirements. The robot 
formation will become chaotic. 
4.1.3 Initialisation of the slave position 
The initial position of the slave is at the expected coordinates by default. Before running the program, just 
place the slave robot close to its expected coordinates to complete the initialization. 
This function is implemented by the pose_setter node in the file named turn_on_wheeltec_robot.launch in the 
wheeltec_multi package, as shown in Figure 4-1-3. 
ROBOWORKS










