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
2.1 The steps to set up multi-agent communications
2.1.1 Set up ROS Controls in the same network
There are 2 ways of setting up Master/Slave ROS Controls under the same network.
Option 1:
The Master Host creates a local wifi by running the Master node manager. Generally, one of the robots who is
designated as the master creates this wifi network. Other robots or virtual machines join this wifi network as
slaves.
Options 2:
The local wifi network is provided by a third-party router as an information relay center. All robots are
connected to the same router. The router can also be used without internet connection. Select one of the
robots as the master and run the Master node manager. The other robots are designated as slaves and run
the master node manager from the master.
The decision on which option to choose depends on your project requirements. If the number of robots that
need to communicate is not at a large amount, Option 1 is recommended since it saves cost and it is easy to
set up. When the number of robots is at large quantity, Option 2 is recommended. The constraint on
computing power of the ROS master control and limited onboard wifi bandwidth can easily cause delays and
network disruptions. A router can easily fix these issues.
Please note that when performing multi-agent communication, if the virtual machine is used as a ROS slave,
its network mode needs to be set to bridge mode.
2.1.2 Configure Master/Slave environment variables
After all the ROS masters are all in the same network, the environment variables for multi-agent
communication need to be set. This environment variable is configured in the .bashrc file in the main directory.
Run the gedit ~/.bashrc command to launch it. Please note that both the .bashrc files of the master and the
slave in multi-agent communication need to be configured. What needs to be changed are the IP addresses at
the end of the file. The two lines of are ROS_MASTER_URI and ROS_HOSTNAME, as shown in Figure 2-1-4.
The ROS_MASTER_URI and ROS_HOSTNAME of the ROS host are both local IPs. The ROS_MASTER_URI in
the ROS slave .bashrc file needs to be changed to the host's IP address while ROS_HOSTNAME remains as a
local IP address.
ROBOWORKS










