Skip to content

Chapter 9 Multi-Machine Communication and Intelligent Networking

Unmanned aerial vehicle (UAV) communication is a crucial component of 6G wireless communication networks, enhancing UAV mission execution efficiency and expanding wireless network coverage. Compared with terrestrial communication scenarios, UAV communication scenarios exhibit unique channel characteristics. UAV communication possesses distinct features and differences relative to other communication systems.


9.1 Background and Theory

In intelligent unmanned swarm systems, the communication system serves not only as a medium for data exchange among nodes but also as the core pillar for achieving collaborative intelligence, permeating critical stages such as perception, decision-making, and control.

alt text

9.1.1 Concept and Role of Networking Communication

Networking communication in unmanned systems refers to connecting multiple intelligent agents into a networked system structure capable of data exchange, state synchronization, and collaborative control, using wired or wireless communication technologies. This structure supports functionalities including environmental perception information sharing, vehicle state and intent synchronization, transmission of ground commands and information, fault detection, and anomaly reporting.

9.1.2 Typical Application Scenarios of Swarm Communication

Swarm networking communication can be categorized into two typical scenarios based on the number of nodes: small-scale and large-scale. Small-scale swarms require dynamic optimization of data forwarding paths to minimize power consumption, communication latency, and maximize network throughput. Large-scale swarms must address key issues such as scalability, self-organization, and resilience.


9.2 Framework and Interfaces

The RflySim toolchain constructs a complete technical closed-loop for communication and networking in unmanned swarm systems, spanning from underlying communication implementation to upper-layer swarm applications.

alt text

9.2.1 Communication Protocol Selection and Networking Topology

The toolchain supports multiple communication protocols (e.g., dedicated data links, Wi-Fi, 4G/5G, ZigBee, LoRa, and satellite communication) and networking topologies, enabling flexible deployment according to mission environments to meet the communication requirements of swarms of varying scales.

9.2.2 Network Modeling and Simulation

Based on the RflySim toolchain’s networking communication simulation framework and interface mechanisms, combined with typical development cases, this section demonstrates the simulation configuration, code implementation, and algorithm verification process for swarm communication protocols, providing reproducible experimental references and engineering templates for subsequent research on distributed cooperative control and swarm system deployment.

alt text


9.3 Showcase of Excellent Cases

Swarm Communication Quality Simulation:

UAV Relay Communication Demonstration:


9.4 Course-Linked Video Lectures

Public Lecture Replay for This Chapter (Session 8: Multi-Machine Communication and Intelligent Networking):

9.5 Chapter Experiment Cases

The relevant verification experiments and guided cases for this chapter are located in the [Installation Directory]\RflySimAPIs\9.RflySimComm folder.

9.5.1 Interface Learning Experiments

Located in the 9.RflySimComm\0.ApiExps folder, covering foundational platform interface tutorials and general introductions to various tools.

Experiment 1: RflyNet Network Communication Experiment

📝 Experiment Overview: Based on the RflySim platform’s communication framework, this experiment develops and validates network communication functionalities—including point-to-point communication, broadcast communication, and buf packet encapsulation/forwarding—for drone swarms using the Python library NetSimAPIV4.

Experiment 2: DDS Network Configuration Environment Setup

📝 Experiment Overview: Configures a DDS networking environment, sets up the eProsima Fast DDS protocol, establishes sender/receiver ports to enable DDS communication, and introduces the core principles of the DDS (Data Distribution Service) mechanism.

Experiment 3: MQTT Network Communication Experiment

📝 Experiment Overview: Introduces the lightweight MQTT network communication protocol; implements message publishing and subscription functions using Python, and mastering the publish/subscribe communication paradigm.

Experiment 4: Redis Communication Simulation Experiment

📝 Experiment Overview: Learns Redis communication mechanisms, installs and configures a Redis server, connects to it via a Python client, and implements data storage/retrieval and publish/subscribe functionality based on the RESP protocol.

Experiment 5: RflySim Network Communication API Learning

📝 Experiment Overview: Learn how to use the RflySim platform’s drone network communication APIs, including RedisUtils for data storage, NetUavAPI for heartbeat mechanisms, and NetSimAPIV4 for multi-drone simulation. Implement point-to-point, broadcast, and multicast communication modes.

Experiment 6: RflySim Point-to-Point Drone Data Forwarding

📝 Experiment Overview: Demonstrates point-to-point communication and data forwarding among multiple drones on the RflySim platform, covering both automatic IP detection and manual IP assignment connection methods.

Experiment 7: Multi-Drone Broadcast Communication

📝 Experiment Overview: Demonstrates broadcasting and receiving status data among multiple drones on the RflySim platform using NetSimAPIV4 and PX4MavCtrlV4 libraries. Covers establishing multi-drone communication links, configuring broadcast forwarding, and parsing received status data.

Experiment 8: Network Buffer Data Transmission

📝 Experiment Overview: Demonstrates sending and receiving binary buffer data via network interfaces. Covers struct module for data packing/unpacking, NetSimAPI network transmission, data validation, and multi-drone data management.

Experiment 9: Multi-Drone Broadcast Buffer Data Transmission

📝 Experiment Overview: Demonstrates broadcast buffer data transmission among multiple drones on the RflySim platform. Covers usage of the NetSimAPIV4 network simulation interface and struct module, and mastering buffer data transmission and reception between drones.

Experiment 10: NetBufAPI Multi-Drone Broadcast Communication

📝 Experiment Overview: Learn to use NetBufAPI for data broadcasting and sharing among multiple drones. Master buffer data structure design, struct-based data packing, and cross-platform drone cooperative communication mechanisms.

Experiment 11: Python Network Simulation API Experiment

📝 Experiment Overview:
By setting up an SITL simulation environment, this experiment teaches how to use the NetSimAPI for multi-UAV cooperative control and data sharing, and covers MAVLink communication protocols and network forwarding configuration.

Experiment 12: Python Multi-UAV Multicast Communication and Cooperative Monitoring

📝 Experiment Overview:
Using the RflySim platform, this experiment establishes a multi-UAV cooperative simulation environment to achieve real-time state data sharing and monitoring among multiple UAVs. It introduces multicast communication mechanisms and teaches techniques for cooperative control based on network communication, as well as methods for constructing and debugging distributed simulation systems.

Experiment 13: Multi-UAV Cluster Filtering Broadcast Communication

📝 Experiment Overview:
Implements a filtering broadcast communication mechanism in a multi-UAV cluster environment. Using a request-response model, UAV #1 actively retrieves state data from UAVs #2 and #3 on demand, avoiding data congestion and resource waste caused by full-network broadcasting. This experiment introduces efficient cluster communication methods.

Experiment 14: Multi-UAV Network Communication Experiment

📝 Experiment Overview:
Implements MAVLink communication among multiple UAVs via Python scripts, enabling each UAV to obtain flight status information from other UAVs. This experiment focuses on multi-UAV communication mechanisms.

9.5.2 Fundamental Usage Experiments

Stored in the 9.RflySimComm\1.BasicExps folder, these experiments provide a complete set of supplementary teaching materials for beginners.

Experiment 1: DDS Multi-UAV Network Communication

📝 Experiment Overview:
This experiment uses DDS (Data Distribution Service) to share flight status information among multiple UAVs. A DDS subscriber is created to subscribe to UavMessage-type data, and the Fast DDS library is used to configure the DDS environment, enabling UAVs to obtain flight status from other UAVs during flight.

Experiment 2: MQTT and MAVLink Four-UAV Communication Experiment

📝 Experiment Overview:
Conducts a communication network experiment among four UAVs using both MQTT and MAVLink protocols. It covers MQTT client creation, message publishing/subscribing, and inter-UAV connection configuration.

Experiment 3: Redis-Based UAV Network Communication Simulation

📝 Experiment Overview:
A coarse-grained network simulation experiment based on Redis, simulating signal quality, packet loss rate, and transmission rate in UAV-to-UAV communication, and evaluating network performance across multi-UAV nodes.

Experiment 4: Python Network Simulation Networked Control

📝 Experiment Overview:
Implements communication and data exchange among multiple UAVs using the Python network simulation API. This experiment introduces network communication mechanisms for UAV formation flight and teaches methods for transmitting state information among UAVs in networked simulations.

Experiment 5: NetSimMini_redis_nomat Coarse-Grained Cluster Networking Experiment
  • 📦 Version Requirement: Free Edition

    📝 Experiment Overview:
    Establish a Redis communication environment and use the RflySim toolchain to simulate a four-Drone swarm network. This enables state data publishing/subscribing among drones, communication latency calculation, and cooperative tracking control.

Experiment 6: Drone Network Communication Experiment

📝 Experiment Overview:
Achieve real-time sharing of flight status information and formation flight control among multiple drones via the Python network communication API, gaining proficiency in drone network data exchange mechanisms.

Experiment 7: Drone Networking Experiment

📝 Experiment Overview:
Implement multi-drone network communication using the Python NetSimAPI. During flight, drones retrieve other drones’ status information, and formation control for a four-drone swarm is realized via end-to-end port forwarding and multicast.

Experiment 8: Python Network Simulation and Heartbeat Communication Experiment

📝 Experiment Overview:
Build a network simulator for data relaying, employ heartbeat communication to verify drone online status, and learn MAVLink communication initialization, network forwarding service configuration, and heartbeat server startup.

9.5.3 Advanced Development Experiments

Stored in the 9.RflySimComm\2.AdvExps folder, these experiments further familiarize users with certain low-level firmware ecosystem configurations.

Experiment 1: RflySim Network Resource Allocation Experiment

📝 Experiment Overview:
Based on RflySim’s network digital twin system, optimize network resource allocation for multiple drones, incorporating reinforcement learning algorithms and various optimization strategy models.

Experiment 2: NetSim4Demo Networking Simulation Experiment

📝 Experiment Overview:
Conduct multi-drone networking simulations using RflySim’s NetUavAPI communication interface. A network simulator emulates communication among four drones, enabling network quality visualization and data exchange.

Experiment 3: Redis Networking Signal Quality Testing Experiment

📝 Experiment Overview:
Learn to implement drone swarm networking communication using Redis, and evaluate network signal quality via simulation experiments, mastering data publishing/subscribing and network performance analysis techniques.

Experiment 4: Redis Multi-Drone Communication Experiment

📝 Experiment Overview:
Explore Redis-based data communication in multi-drone systems, comparing the real-time performance, scalability, and system performance of three architectures: publish-subscribe, key-value storage, and multi-channel subscription.

9.5.4 Advanced Custom Development Experiments

Stored in the 9.RflySimComm\3.CustExps folder, these experiments are designed for advanced users’ custom development.

Experiment 1: VR Clock Synchronization Test
  • 📦 Version Requirement: Full Version

    📝 Experiment Overview: Deploy the NTP time synchronization protocol to achieve high-precision clock synchronization in a virtual-physical integrated system, verifying that the system time error among all nodes in a local area network is below 1 ms.

Experiment 2: NS-3 Network Simulation

📝 Experiment Overview: Configure the NS-3 environment, set up the 802.11a wireless communication protocol, and simulate UAV swarm network communication with latency analysis.

Experiment 3: NS3-Udp-PyQtViz Network Communication Visualization

📝 Experiment Overview: Configure the NS3 network simulation environment, set up the NS3 protocol to implement UDP network communication, and add communication quality visualization using PyQt based on the previous experiment.

Experiment 4: NS3-PyViz Network Simulation

📝 Experiment Overview: Learn to configure the NS3 network simulation environment, set up the NS3 protocol, create sender/receiver ports for network communication, and master the use of communication quality visualization tools.

Experiment 5: NS3 UAV Control

📝 Experiment Overview: Configure the NS3 network simulation environment, set up the NS3 protocol, create sender/receiver ports for NS3 network communication, and determine UAV control commands based on communication status. Learn the application of discrete-event simulation in UAV network communication.

Experiment 6: Aircraft Networking Experiment

📝 Experiment Overview: Achieve flight status information exchange among multiple aircraft during flight by configuring UDP port forwarding for multiple UAVs, mastering methods for multi-aircraft data interaction.

Experiment 7: Aircraft Networking Experiment

📝 Experiment Overview: Based on RflySim, implement UDP networking communication for four UAVs. Use a Python program to control the UAVs to take off sequentially and obtain each other’s flight status, learning multi-UAV network communication and data forwarding mechanisms.

Experiment 8: Aircraft Networking Experiment

📝 Experiment Overview: Using the RflySim platform, implement networking communication for four UAVs, enabling each aircraft to obtain flight status information of other aircraft during flight. Learn the implementation of UDP network forwarding and multi-aircraft data interaction.

Experiment 9: Aircraft Networking Experiment

📝 Experiment Overview: Using the RflySim toolchain, implement multi-UAV networking to enable each aircraft to obtain the status information of other aircraft during flight. Learn fundamental methods for inter-UAV network communication and data forwarding.