Method and system for autonomous switching of communication mode of unmanned aerial vehicle under cluster system
By autonomously switching the communication mode between client/server and DDS communication, the problems of high network load and poor communication performance in distributed UAV systems are solved, achieving efficient communication and simplified operation.
Patent Information
- Application Number
- CN202211695415.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-28
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2042-12-28
AI Technical Summary
In distributed drone control systems, existing technologies use a single communication method, resulting in high network load, poor communication performance, and complex operation. Existing methods require manual intervention to switch communication methods, increasing user workload.
The UAV establishes a connection with the ground control center through Socket, parses mission information and autonomously switches to client/server communication mode or DDS communication mode, generates and compiles necessary files according to parameter information, and realizes autonomous switching of communication mode.
Reduce network load, improve communication performance, reduce operational complexity, and achieve efficient communication between drones during task allocation and execution.
Smart Images

Figure CN116156008B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of unmanned aerial vehicle (UAV) communication technology, and in particular to a method and system for autonomously switching UAV communication modes in a distributed system. Background Art
[0002] With the growing demand for drone applications in various fields, multi-drone systems have emerged. Multi-drone task allocation control architectures can be broadly categorized into centralized and distributed control. For scenarios requiring coordinated mission execution among multiple drone types, a multi-agent distributed task allocation control approach based on centralized and distributed control is proposed. In this architecture, centralized control resides in the mission control station. Commanders can centrally allocate tasks to drone nodes across the entire system, monitor, and intervene in their mission execution by interacting with the control system. Compared to placing a ground control center within the drone cluster, this approach offers greater reliability. First, it avoids the rapid depletion of drone battery power caused by extensive computation and communication, and second, it prevents the cluster from collapsing due to failures in the mobile centralized control node. Distributed control is implemented in two ways: first, during the pre-assignment phase, each drone receives task allocation information from the ground control center and collaborates to complete the assigned task. Second, during the mission execution phase, when emergencies occur, drones use distributed coordination to promptly adjust their operating states and ensure smooth mission execution.
[0003] Since its release in 2007, the Robot Operating System (ROS) has provided a relatively comprehensive set of middleware, tools, software, and even common interfaces and standards for robots. With ROS, developers in the robotics industry can rapidly develop, test, and validate system prototypes. Today, ROS has been adopted in a wide range of industrial applications, including scientific and industrial robots, autonomous vehicles, and even unmanned aerospace systems. Faced with increasing performance demands for real-time performance, security, and embedded portability, ROS1 is no longer sufficient, prompting the development of ROS2. ROS2 uses DDS (Data-Distribution Service), based on the RTPS (Real-Time Publish-Subscribe) protocol, as its middleware. DDS is an industry standard for publish-subscribe communication in real-time and embedded systems. This point-to-point communication model eliminates the need for inter-node communication through a master node, making the system more fault-tolerant and resilient. DDS is widely used in critical systems, including warships, large-scale infrastructure, financial systems, and aviation systems, and these use cases have proven its reliability. The ROS2 system supports real-time and reliable inter-machine communication, providing a technical foundation for multi-UAV collaboration. ROS2 offers a convenient programming interface, requiring only a small amount of code to generate a publisher or subscriber node. Therefore, ROS2 is currently highly recognized and widely used in distributed control systems for UAV swarms.
[0004] However, the DDS communication method described above is not very applicable in centralized control systems. First, there's a mismatch between the message formats of the ground control center and mobile nodes. In distributed control systems, nodes communicate using a fixed DDS message format. Publishers send specified data in a specified format according to predefined message files, and subscribers in the same domain read the data according to the same message files. However, in centralized systems, when a mobile node registers its identity or requests a task from the ground control center, the ground control center returns information such as the node's task code and movement trajectory. The format of the mobile node's information and the ground control center's information is likely to be mismatched. Another factor is the complexity of managing domains between the ground control center and each node. If a node uses DDS to communicate with the ground control center immediately after startup, the following two scenarios may occur. For ease of management, the ground control center assigns all mobile nodes to the same domain. After the ground control center completes task assignments, it publishes the task assignment files to all nodes. Since all nodes are in the same domain, each node receives task information about all other nodes. This increases the time it takes for each node to parse the data and increases network load. From the perspective of information processing at each node, the ground control center and each node establish a dedicated domain, meaning each domain only contains two nodes. While this effectively prevents message confusion, it increases operational complexity for the ground control center. Therefore, in summary, using sockets to establish TCP communication connections between the server and client is more convenient and efficient in a centralized control system. Within the server, independent communication with multiple clients is achieved by establishing child processes.
[0005] However, in a distributed multi-UAV control system, UAVs use different communication methods in different mission stages. Currently, a single communication method is used in the distributed UAV control system, which is relatively limited and will bring network load. The communication performance between UAV nodes and ground control centers and between UAV nodes is poor.
[0006] Patent document CN114047786A discloses a collaborative processing system and method for a distributed heterogeneous UAV cluster. The system includes: multiple UAVs and a ground station connected to the multiple UAVs for communication. Each UAV includes: a flight controller for controlling the UAV's attitude and adjusting the UAV's speed and flight direction; an optoelectronic pod for capturing video frames in real time and tracking targets; and an information processing module for the host to plan the overall trajectory according to the mission information of the ground station. The multiple UAVs plan their own trajectories according to the overall trajectory and send their own trajectories to the flight controller for execution. Target identification and target positioning are performed based on the video frames. The mission information is modified at any time through the ground station, and the modified trajectory is planned in real time according to the modified mission information.
[0007] However, patent document CN114047786A requires operator intervention in the distributed control stage to switch to a communication mode with more suitable performance, which increases the user's workload and reduces work efficiency.
[0008] Patent document CN113641188A discloses a multi-center drone selection method for distributed drone mission planning, including: inputting source data to all other drones through the data acquisition module of each drone in the drone swarm; generating direct communication links between each drone in the drone swarm; determining the central drone; and determining the communication links between the central drones.
[0009] However, if a single point failure problem occurs in patent document CN113641188A, it will have a significant impact on the network status and cause network overload. Summary of the Invention
[0010] In view of the defects in the prior art, the purpose of the present invention is to provide a method and system for autonomous switching of UAV communication modes in a distributed system.
[0011] According to the present invention, a method for autonomously switching communication modes of a UAV in a distributed system includes:
[0012] Step S1: The drone establishes a communication connection with the ground control center through Socket and sends its own identity registration information;
[0013] Step S2: The UAV obtains mission information from the ground control center;
[0014] Step S3: The UAV node receives and parses the mission information, obtains the parameter information required for switching the communication mode, and closes the socket communication with the ground control center.
[0015] Step S4: The UAV triggers a write operation on the communication mode autonomous switching script program file, starts the communication mode autonomous switching program, and completes the communication mode switching according to the parameter information.
[0016] Preferably, it also includes:
[0017] Configuration file check step: After the UAV and the ground control center establish a communication connection, they will check whether the relevant configuration files required to switch the communication mode are complete. If they are complete, a request command to switch the communication mode will be sent; if they are incomplete, a script command will be executed locally to regenerate the configuration file;
[0018] The relevant configuration files include node generation program files and ROS communication header files.
[0019] Preferably, the step S1 includes:
[0020] The ground control center computer starts the server program and enters the listening state. After the UAV node is turned on, it starts the client program and uses Socket to establish a TCP connection with the ground control center computer.
[0021] The starting of the server-side program includes creating a Socket client program according to the pre-stored server IP and port number, and setting the socket TCP client program as a startup program.
[0022] Preferably, the parameter information includes the communication role of the current drone node and the topic name and message format used by the node.
[0023] Preferably, step S4 includes:
[0024] Step S4.1: Add a script command for initializing the ROS node workspace in the autonomous switching program by writing a file;
[0025] Step S4.2: adding a script command to the autonomous switching program to create the necessary files required to generate the ROS node by writing a file, wherein the necessary files include a message file, and the file suffix of the message file is msg;
[0026] Step S4.3: Based on the topic information and communication role information fed back by the ground control center, fill in the topic name in the corresponding communication role generation file through the write file operation to complete the creation of the ROS node generation file. The communication role generation file has the suffix cpp and includes the publisher node or subscriber node generation file;
[0027] Step S4.4: Add script commands for compiling and refreshing the workspace, and starting the ROS node in the autonomous switching program in sequence through file writing operations.
[0028] According to the present invention, a system for autonomously switching communication modes of unmanned aerial vehicles in a distributed system includes:
[0029] Module M1: The drone establishes a communication connection with the ground control center through Socket and sends its own identity registration information;
[0030] Module M2: The UAV obtains mission information from the ground control center;
[0031] Module M3: The UAV node receives and parses the mission information, obtains the parameter information required to switch the communication mode, and closes the socket communication with the ground control center.
[0032] Module M4: The drone triggers the write operation of the communication mode autonomous switching script program file, starts the communication mode autonomous switching program, and completes the communication mode switching according to the parameter information.
[0033] Preferably, it also includes:
[0034] Configuration file check module: After the UAV establishes a communication connection with the ground control center, it will check whether the relevant configuration files required to switch the communication mode are complete. If complete, it will send a request command to switch the communication mode; if incomplete, it will execute a script command locally to regenerate the configuration file;
[0035] The relevant configuration files include node generation program files and ROS communication header files.
[0036] Preferably, the module M1 includes:
[0037] The ground control center computer starts the server program and enters the listening state. After the UAV node is turned on, it starts the client program and uses Socket to establish a TCP connection with the ground control center computer.
[0038] The starting of the server-side program includes creating a Socket client program according to the pre-stored server IP and port number, and setting the socket TCP client program as a startup program.
[0039] Preferably, the parameter information includes the communication role of the current drone node and the topic name and message format used by the node.
[0040] Preferably, module M4 comprises:
[0041] Module M4.1: Add script commands to initialize the ROS node workspace in the autonomous switching program by writing files;
[0042] Module M4.2: Add a script command to the autonomous switching program to create the necessary files required to generate a ROS node by writing a file. The necessary files include a message file with the file suffix msg.
[0043] Module M4.3: Based on the topic information and communication role information fed back by the ground control center, fill in the topic name in the corresponding communication role generation file through the write file operation to complete the creation of the ROS node generation file. The communication role generation file has the suffix "cpp" and includes the publisher node or subscriber node generation file;
[0044] Module M4.4: Add script commands for compiling and refreshing the workspace, and starting the ROS node in the autonomous switching program by writing files.
[0045] Compared with the prior art, the present invention has the following beneficial effects:
[0046] 1. The present invention can overcome the limitation of using a single communication mode in a distributed UAV control system. Based on the characteristics of client / server communication mode and publish-subscribe communication, and taking into account network communication efficiency, message type and management difficulty, it supports UAVs to use different types of communication modes in the task allocation stage and task execution stage.
[0047] 2. The method proposed in the present invention can effectively reduce the network load caused by a single communication mode and enhance the communication performance between UAV nodes and ground control centers and between UAV nodes.
[0048] 3. The method proposed in the present invention can reduce the operational complexity of operators. The UAV node can parse the mission messages fed back by the ground control center, independently create and compile the necessary files required to switch the local communication mode according to the information contained therein, and independently execute relevant commands and programs by running script files. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] Other features, objects and advantages of the present invention will become more apparent upon reading the detailed description of non-limiting embodiments with reference to the following drawings:
[0050] Figure 1 Schematic diagram of system information interaction of the present invention.
[0051] Figure 2 Schematic diagram of the workflow of the method of the present invention.
[0052] Figure 3 It is a schematic diagram of the operation flow of the ground control center in the present invention.
[0053] Figure 4 Schematic diagram of communication between the centralized control stage and the distributed control stage. DETAILED DESCRIPTION
[0054] The present invention will be described in detail below with reference to specific embodiments. The following examples will help those skilled in the art to further understand the present invention, but are not intended to limit the present invention in any form. It should be noted that, for those skilled in the art, several changes and improvements can be made without departing from the scope of the present invention. These all fall within the scope of protection of the present invention.
[0055] The present invention obtains mission information from a ground control center via client / server communication. After switching the communication mode, the system parses the message to determine relevant parameters, such as the communication role (publisher or subscriber), topic name, and message format in the distributed collaborative control system. It then autonomously switches the communication mode to DDS communication, transforming the multi-UAV system into a distributed control state. This system supports UAVs using different communication modes during both the task allocation and task execution phases. For example, when acquiring mission information from the ground control center, the client / server communication mode, which offers simpler management but higher communication reliability, is used. In distributed UAV collaborative tasks, the DDS communication mode, which offers higher data transmission efficiency and simpler management, is used.
[0056] Example 1
[0057] According to the present invention, a method for autonomously switching the communication mode of a UAV in a distributed system is provided. Figure 2 Shown, including:
[0058] Step S1: The drone establishes a communication connection with the ground control center via a socket and sends its identity registration information. Specifically, the ground control center computer launches the server program and enters a listening state. After the drone node boots up, it launches the client program and establishes a TCP connection with the ground control center computer via a socket. Specifically, launching the server program involves creating a socket client program based on the pre-stored server IP and port number and setting the socket TCP client program as a startup program. The drone then sends its identity registration information to the ground control center via a socket, which is then used to provide feedback to the drone regarding its communication role, topic name, and message format.
[0059] Step S2: The UAV obtains mission information from the ground control center.
[0060] Step S3: The UAV node receives and parses the mission information, obtains the parameters required to switch the communication mode, and closes the socket communication with the ground control center. The parameters include the communication role of the current UAV node and the topic name and message format used by the node.
[0061] Step S4: The drone triggers a write operation to the autonomous communication mode switching script file and starts the autonomous communication mode switching program, completing the communication mode switch based on the parameter information. The script file has the suffix ".sh". Specifically, this includes writing and configuring a startup script command to sequentially implement the subsequent sub-steps. The sub-steps include: Step S4.1: Adding a script command to initialize the ROS node workspace in the autonomous switching program through a file write operation. Step S4.2: Adding a script command to create the necessary files required to generate a ROS node through a file write operation. The necessary files include a message file with the suffix ".msg". Step S4.3: Based on the topic information and communication role information fed back by the ground control center, the drone creates the ROS node generation file by filling in the corresponding communication role generation file with the topic name through a file write operation. The communication role generation file includes a publisher node or subscriber node generation file with the suffix ".cpp". Step S4.4: Adding script commands to compile and refresh the workspace, and start the ROS node, through a file write operation. This process does not require operator participation and is automatically triggered after the drone receives feedback from the ground control center. It has obvious advantages in large-scale drone cluster application scenarios.
[0062] The method for autonomously switching UAV communication modes in a distributed system also includes a configuration file checking step. Specifically, after the UAV establishes a communication connection with the ground control center, the system checks the integrity of the relevant configuration files required for switching communication modes, such as the node generation program file and the ROS communication header file. If complete, a request to switch communication modes is sent; if incomplete, a script command is executed locally to regenerate the configuration files.
[0063] Among them, the ground control center first conducts Soket monitoring. The specific operation steps are as follows: Figure 3 As shown, the system monitors whether a client has requested communication. If so, it creates a child process to connect with the client. If no client has requested communication, it determines whether the client is currently offline. If not, it continues to listen to the Soket; if so, it terminates the operation. After connecting with the client, it uses Soket to communicate with the mobile node and determines whether the client has requested to switch the communication mode. If so, it sends task-related information and exits the Soket communication child process with the client.
[0064] Furthermore, if Figure 4As shown in Figure 1, during the centralized control phase, UAVs and ground control center computers use a client / server communication method, with each UAV acting as a client and the ground control center computer acting as a server. In a distributed control system, UAVs communicate with each other using DDS, a publish-subscribe communication method. UAVs in the same domain can publish their own information and subscribe to each other's information.
[0065] During the mission request and assignment phase (i.e., the centralized control phase), the client / server approach avoids invalid data reception and parsing due to the asymmetric message formats between the ground control center and the UAV nodes and the unique nature of mission message delivery. During the mission execution phase (i.e., the distributed control phase), DDS communication between UAVs within the same domain enables instant communication and management, avoiding the latency and network congestion associated with global broadcasts. This approach effectively reduces the network load associated with a single communication method and enhances communication performance between UAV nodes and the ground control center, as well as between UAV nodes. In other words, by enabling multiple UAVs executing the same mission to communicate with each other using publish-subscribe communication during the distributed control phase, network conditions are not significantly impacted by single points of failure, while also reducing the network load associated with establishing point-to-point communication links between any two nodes.
[0066] Example 2
[0067] The present invention also provides a system for autonomous switching of drone communication modes under a distributed system. Those skilled in the art can implement the system for autonomous switching of drone communication modes under a distributed system by executing the step flow of the method for autonomous switching of drone communication modes under a distributed system. That is, the method for autonomous switching of drone communication modes under a distributed system can be understood as a preferred implementation of the system for autonomous switching of drone communication modes under a distributed system.
[0068] According to the present invention, a system for autonomous switching of UAV communication modes in a distributed system is provided, such as Figure 1 As shown, including:
[0069] Module M1: The drone establishes a communication connection with the ground control center via a socket and sends its identity registration information. Specifically, the ground control center computer launches the server program and enters a listening state. After the drone node boots up, it launches the client program and establishes a TCP connection to the ground control center computer using a socket. Launching the server program involves creating a socket client program based on the pre-stored server IP and port number and setting the socket TCP client program as a startup program.
[0070] Module M2: The UAV obtains mission information from the ground control center.
[0071] Module M3: The UAV node receives and parses the mission information, obtains the parameters required to switch communication modes, and closes the socket communication with the ground control center. The parameters include the current UAV node's communication role, the topic name used by the node, and the message format.
[0072] Module M4: The drone triggers the write operation of the communication mode autonomous switching script program file and starts the communication mode autonomous switching program to complete the communication mode switching according to the parameter information. The suffix of the script program file is sh. Module M4 includes:
[0073] Module M4.1: Add script commands to initialize the ROS node workspace in the autonomous switching program by writing files.
[0074] Module M4.2: Add a script command to the autonomous switching program to create the necessary files required to generate a ROS node through a file write operation. The necessary files include a message file with the file suffix msg.
[0075] Module M4.3: Based on the topic information and communication role information fed back by the ground control center, fill in the topic name in the corresponding communication role generation file through the write file operation to complete the creation of the ROS node generation file. The communication role generation file includes the publisher node or subscriber node generation file, and the suffix of this file is cpp.
[0076] Module M4.4: Add script commands for compiling and refreshing the workspace, and starting the ROS node in the autonomous switching program by writing files.
[0077] The system for autonomously switching the communication mode of the UAV under the distributed system also includes a configuration file checking module: after the UAV and the ground control center establish a communication connection, it will check whether the relevant configuration files required for switching the communication mode, such as the node generation program file, the ROS communication header file, etc., are complete. If complete, a request instruction for switching the communication mode is sent; if incomplete, a script command is executed locally to regenerate the configuration file.
[0078] Those skilled in the art will appreciate that, in addition to implementing the system, device, and various modules provided by the present invention in purely computer-readable program code, it is entirely possible to implement the same program in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, embedded microcontrollers, and the like by logically programming the method steps. Therefore, the system, device, and various modules provided by the present invention can be considered a hardware component, and the modules included therein for implementing various programs can also be considered structures within the hardware component; the modules for implementing various functions can also be considered both software programs for implementing the method and structures within the hardware component.
[0079] The above describes specific embodiments of the present invention. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art may make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. The embodiments of this application and the features in the embodiments may be combined with each other in any manner unless there is a conflict.
Claims
1. A method for autonomously switching the communication mode of a UAV in a distributed system, characterized in that: include: Step S1: The drone establishes a communication connection with the ground control center through Socket and sends its own identity registration information; Step S2: The UAV obtains mission information from the ground control center; Step S3: The UAV node receives and parses the mission information, obtains the parameter information required for switching the communication mode, and closes the socket communication with the ground control center. Step S4: The UAV triggers a write operation on the communication mode autonomous switching script program file, starts the communication mode autonomous switching program, and completes the communication mode switching according to the parameter information; The step S1 comprises: The ground control center computer starts the server program and enters the listening state. After the UAV node is turned on, it starts the client program and uses Socket to establish a TCP connection with the ground control center computer. The starting server program includes creating a Socket client program according to the pre-stored server IP and port number, and setting the socket TCP client program as a startup program; Step S4 includes: Step S4.1: Add a script command for initializing the ROS node workspace in the autonomous switching program by writing a file; Step S4.2: adding a script command to the autonomous switching program to create the necessary files required to generate the ROS node by writing a file, wherein the necessary files include a message file, and the file suffix of the message file is msg; Step S4.3: Based on the topic information and communication role information fed back by the ground control center, fill in the topic name in the corresponding communication role generation file through the write file operation to complete the creation of the ROS node generation file. The communication role generation file has the suffix cpp and includes the publisher node or subscriber node generation file; Step S4.4: Add script commands for compiling and refreshing the workspace, and starting the ROS node in the autonomous switching program in sequence through file writing operations.
2. The method for autonomously switching the communication mode of a UAV in a distributed system according to claim 1, characterized in that: Also includes: Configuration file check step: After the UAV and the ground control center establish a communication connection, they will check whether the relevant configuration files required to switch the communication mode are complete. If they are complete, a request command to switch the communication mode will be sent; if they are incomplete, a script command will be executed locally to regenerate the configuration file; The relevant configuration files include node generation program files and ROS communication header files.
3. The method for autonomously switching the communication mode of a UAV in a distributed system according to claim 1, characterized in that: The parameter information includes the communication role of the current drone node and the topic name and message format used by the node.
4. A system for autonomously switching UAV communication modes in a distributed system, characterized in that: include: Module M1: The drone establishes a communication connection with the ground control center through Socket and sends its own identity registration information; Module M2: The UAV obtains mission information from the ground control center; Module M3: The UAV node receives and parses the mission information, obtains the parameter information required to switch the communication mode, and closes the socket communication with the ground control center. Module M4: The drone triggers the writing operation of the communication mode autonomous switching script program file, starts the communication mode autonomous switching program, and completes the communication mode switching according to the parameter information; The module M1 includes: The ground control center computer starts the server program and enters the listening state. After the UAV node is turned on, it starts the client program and uses Socket to establish a TCP connection with the ground control center computer. The starting server program includes creating a Socket client program according to the pre-stored server IP and port number, and setting the socket TCP client program as a startup program; Module M4 includes: Module M4.1: Add script commands to initialize the ROS node workspace in the autonomous switching program by writing files; Module M4.2: Add a script command to the autonomous switching program to create the necessary files required to generate a ROS node by writing a file. The necessary files include a message file with the file suffix msg. Module M4.3: Based on the topic information and communication role information fed back by the ground control center, fill in the topic name in the corresponding communication role generation file through the write file operation to complete the creation of the ROS node generation file. The communication role generation file has the suffix "cpp" and includes the publisher node or subscriber node generation file; Module M4.4: Add script commands for compiling and refreshing the workspace, and starting the ROS node in the autonomous switching program by writing files.
5. The system for autonomously switching UAV communication modes in a distributed system according to claim 4, characterized in that: Also includes: Configuration file check module: After the UAV establishes a communication connection with the ground control center, it will check whether the relevant configuration files required to switch the communication mode are complete. If complete, it will send a request command to switch the communication mode; if incomplete, it will execute a script command locally to regenerate the configuration file; The relevant configuration files include node generation program files and ROS communication header files.
6. The system for autonomously switching UAV communication modes in a distributed system according to claim 4, characterized in that: The parameter information includes the communication role of the current drone node and the topic name and message format used by the node.
Citation Information
Patent Citations
Multi-center unmanned aerial vehicle selection method for unmanned aerial vehicle distributed task planning
CN113641188A
Cooperative processing system and method for distributed heterogeneous unmanned aerial vehicle cluster
CN114047786A
Automatic establishing method of DDS (data distribution service) distributive system based on XML
CN105205183A
Distributed real-time communication method and device for air-ground unmanned system and multi-unmanned system
CN111628818A