ROS-based underwater unmanned aerial vehicle controller
By integrating multiple ROS nodes and improved communication mechanisms in the underwater unmanned navigation aircraft controller, the control stability and real-time problems in complex underwater environments are solved, the cooperation and fault handling capabilities of multiple drones are improved, and the user experience is improved.
Patent Information
- Application Number
- CN202411710670.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-27
- Publication Date
- 2025-03-11
AI Technical Summary
The existing underwater unmanned navigation aircraft controllers are difficult to maintain stability and robustness in complex underwater environments, poor communication real-time performance, insufficient collaboration capabilities for multiple drones, lack of fault detection and self-healing capabilities, and low user-friendliness and low operability.
Design an underwater unmanned navigation aircraft controller based on ROS. By integrating multiple ROS nodes, it realizes efficient collaboration in task configuration, navigation, energy management and emergency response. It adopts a publish-subscribe and request-response communication mechanism to enhance the collaboration capabilities of multiple drones, improve fault detection and self-healing capabilities, and optimize user interface design.
It improves the stability and real-time nature of the system, ensures the safety and reliability of underwater operations, enhances the collaboration and fault handling capabilities of multiple drones, and improves user experience and operation efficiency.
Smart Images

Figure CN119596831A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of underwater control, and in particular relates to an underwater unmanned aerial vehicle controller based on ROS. Background Art
[0002] With the increasing demand for ocean exploration and underwater operations, underwater unmanned vehicles (UUVs) are increasingly used in scientific research, environmental monitoring, resource exploration, and military fields. In order to achieve efficient and precise control, underwater UUV controllers based on the Robot Operating System (ROS) have emerged. As an open source robot operating system, ROS provides a wealth of tools and libraries to support the development of complex robotic systems. However, current underwater UUV controllers still face some technical defects and challenges in practical applications.
[0003] The underwater environment is highly complex and uncertain. When performing tasks, underwater vehicles need to deal with the influence of multiple factors such as water flow, temperature changes, and sonar interference, and existing control algorithms often have difficulty maintaining stability and robustness in these changes. Many ROS-based controllers focus on mechanical control and navigation when they are designed, but they are not able to adapt to the dynamic changes of the underwater environment, which may lead to problems such as heading deviation and speed instability in actual operation. Secondly, existing underwater drone controllers also have obvious limitations in communication.
[0004] Underwater communication usually relies on acoustic signals, but the bandwidth of acoustic communication is limited and is easily affected by noise and multipath propagation. This makes the data transmission speed slow and the real-time performance poor, which cannot meet the demand for high-frequency data transmission. The communication mechanism of the ROS system is mostly based on TCP / IP network communication, which has poor adaptability to the underwater environment, resulting in insufficient information transmission during underwater operations, affecting the efficiency of decision-making and control. In addition, the existing technology is relatively insufficient in supporting multi-UAV collaboration. Underwater unmanned aerial vehicles usually need to work together in complex mission environments, such as group detection, collaborative salvage, etc., but the existing ROS controllers are often unable to cope with the ability of multi-robot coordination and communication, and cannot effectively handle task allocation, information sharing and dynamic adjustment between multiple aerial vehicles, which limits its application scenarios in complex tasks.
[0005] Existing underwater drone control systems also have deficiencies in fault detection and self-healing capabilities. The underwater environment is complex and unpredictable, and equipment failures occur from time to time, but many existing systems lack effective fault detection mechanisms and are unable to provide timely feedback and adjustments when problems occur, resulting in mission failures or equipment damage. Finally, many ROS-based controllers need to be improved in terms of user-friendliness and operability. Although ROS provides a wealth of tools and libraries, for some users who have no programming foundation, the learning curve is steep and it is difficult to get started quickly.
[0006] Therefore, the development of a ROS-based underwater drone controller needs to improve the above problems to enhance its performance and application capabilities in complex underwater environments. By introducing more robust control algorithms, improving communication mechanisms, enhancing multi-drone collaboration capabilities, improving fault detection and self-healing capabilities, and optimizing user interface design, the limitations of existing technologies can be effectively overcome, providing a more reliable and efficient solution for the widespread application of underwater drones. Summary of the invention
[0007] The present invention proposes a ROS-based underwater unmanned aerial vehicle controller, which solves the problem of multifunctional collaborative control of underwater unmanned aerial vehicles. By integrating multiple ROS nodes, efficient collaboration of task configuration, navigation, energy management and emergency response is achieved, the stability and real-time performance of the system are improved, and the safety and reliability of underwater operations are ensured.
[0008] The technical solution of the present invention is implemented as follows: a ROS-based underwater unmanned aerial vehicle controller, including a software module and a hardware module, wherein the software module is provided with a plurality of ROS nodes in a ROS communication framework, wherein the ROS nodes include an underwater master control WEB communication system node, an underwater master control task configuration system node, an underwater master control timing system node, an underwater master control energy system node, an underwater master control navigation system node, an underwater master control decision control system node, an underwater master control emergency system node, an underwater master control data storage system node, and an underwater master control load system node;
[0009] Each system node uses internal protocols to send and receive messages and perform synchronous control according to different functions. The underwater master control timing system node is responsible for issuing instructions and receiving data feedback from functional nodes using synchronous timing, i.e. request response method.
[0010] ROS nodes synchronize and process data using the publish-subscribe method based on internal protocols. The publish-subscribe method synchronizes message data between systems to achieve collaborative work between systems, while the request-response method uses synchronous timing to issue instructions and feedback data to ensure the stability and synchronization of system execution decisions. ROS nodes are responsible for data collection and instruction issuance with the hardware module using the communication protocol provided by the hardware module. At the same time, the communication protocol of the hardware module is encapsulated into the system in the form of a message class, and the synchronous adaptation communication protocol is applicable in the hardware module. The hardware message is converted into the internal system communication protocol within the ROS node for message forwarding to maintain collaborative work between internal system nodes.
[0011] The hardware module includes a steering gear PLC, a thruster PLC, a main control board, power management, communication equipment, optical sensors and inertial navigation equipment. The main control board is installed with all ROS system nodes in the software module. The steering gear PLC and the thruster PLC are responsible for receiving control instructions issued by the timing system node of the main control system, and sending them to the corresponding hardware modules to complete the execution of the entire controller; the thruster PLC and the steering gear PLC are responsible for propelling the underwater unmanned aircraft and controlling the direction of the underwater unmanned aircraft, respectively. The two PLCs respectively run the thruster drive unit software and the rudder drive unit software, which communicate through the serial port and the timing system on the main control board to control the direction and running speed of the underwater unmanned aircraft;
[0012] The power management module is responsible for monitoring battery parameters and supplying electrical energy to the entire underwater unmanned aerial vehicle, and is managed and controlled by the underwater main control energy system node running on the main control board; the inertial navigation equipment is responsible for collecting data from the attitude sensor and generating inertial navigation data, and the underwater main control navigation system node of the main control board collects the data of the inertial navigation equipment through serial port communication and stores it in the underwater main control navigation system node; the optical sensor is responsible for collecting underwater optical information, and is managed and sent control messages by the underwater main control load system node of the main control board; the communication equipment is responsible for underwater wireless communication, receiving control messages from the surface monitoring system, and sending the control messages to the main control board, and the underwater master WEB communication system on the main control board is responsible for processing the control messages from the surface monitoring system.
[0013] The present invention relates to an underwater unmanned aerial vehicle controller based on ROS, which mainly solves the problem of efficient control and communication of unmanned aerial vehicles in complex underwater environments. With the increasing demand for underwater detection, marine resource development and environmental monitoring, the application of underwater unmanned aerial vehicles is becoming more and more extensive. However, the existing underwater unmanned aerial vehicle control system has certain limitations in terms of control accuracy, system coordination, communication stability, etc. The controller proposed by the present invention can effectively overcome these technical bottlenecks and realize the coordinated work of multifunctional modules.
[0014] Existing underwater unmanned aerial vehicle control systems usually adopt traditional control architectures, which lack flexibility and scalability. This makes it difficult for the system to respond quickly and adapt to changes when faced with complex tasks. In contrast, the controller of the present invention adopts a ROS-based architecture, utilizing the powerful communication capabilities and modular design of ROS, so that each functional node can be independently developed, tested and updated, effectively improving the flexibility of the system. By dividing different functional modules into independent ROS nodes, such as underwater master WEB communication system nodes, task configuration system nodes, navigation system nodes, etc., parallel processing and dynamic scheduling of tasks can be achieved, thereby improving the response speed and execution efficiency of the system.
[0015] The controller of the present invention adopts the publish-subscribe and request-response methods in the communication mechanism, ensuring the efficient transmission and synchronization of information between the nodes within the system. In the prior art, many control systems of underwater unmanned aerial vehicles rely on fixed communication protocols for information transmission, which easily leads to data transmission delays or losses. The present invention uses the internal protocol of ROS to encapsulate the communication protocol of the hardware module into a message class form, ensuring that different modules can interact through standardized messages. This design not only improves the stability of data transmission, but also can quickly adjust the communication strategy according to actual needs, ensuring the reliability of the system in various complex environments.
[0016] The present invention has also made significant improvements in the design of hardware modules. Traditional underwater unmanned aerial vehicle control systems often lack uniformity in hardware selection and integration, resulting in high energy consumption and high failure rate during system operation. Relatively speaking, the controller of the present invention forms a highly integrated control system by integrating multiple key components such as steering gear PLC, thruster PLC, main control board, power management module, communication equipment, optical sensor and inertial navigation equipment. Data exchange between various hardware modules is carried out through serial communication to ensure the timely transmission and execution of instructions. For example, the thruster PLC and steering gear PLC are responsible for propulsion and direction control respectively. The coordinated work of the two enables the unmanned aerial vehicle to achieve smooth and precise control when moving underwater.
[0017] In terms of power management, the present invention monitors battery parameters through a power management module to ensure stable power supply for the aircraft. Traditional control systems often ignore real-time monitoring of battery status, resulting in problems such as insufficient power when the aircraft is performing tasks. However, the present invention manages and controls power usage in real time through the underwater master energy system node running on the main control board, ensuring that the aircraft is not affected by insufficient power during long-term operations.
[0018] In terms of data collection and environmental perception, the integration of optical sensors and inertial navigation equipment enables the controller of the present invention to have a strong environmental perception capability. The optical sensor can collect optical information of the underwater environment in real time, providing important data support for the navigation and obstacle avoidance of the aircraft. The inertial navigation equipment is responsible for collecting attitude data, which improves the positioning accuracy of the aircraft. The integration of these functions enables the underwater unmanned aircraft of the present invention to freely cope with various challenges in different underwater environments.
[0019] As a preferred implementation, the underwater master WEB communication system node of the software module is responsible for receiving control messages from the surface monitoring system, and through the publish-subscribe mode of ROS communication, sends control instructions, mode switching instructions and task instructions to the underwater master task configuration system node, which is processed by the underwater master task configuration system node. The underwater master WEB communication system node receives real-time feedback data from the timing system through the publish-subscribe mode of ROS communication, and transmits it to the surface monitoring system through the Ethernet UDP protocol, so as to display and monitor the operating status of the underwater unmanned aerial vehicle in real time.
[0020] As a preferred implementation, the underwater master decision control system node of the software module is responsible for the motion control of the underwater unmanned aircraft according to the preset trajectory of the mission parameters. Its control performance indicators can be achieved by adjusting the control parameters. The heading, depth and attitude of the aircraft during underwater navigation are controlled within a small error range through PID parameters, and the corresponding tasks can be performed according to the preset mission parameters. It interacts with the timing system, obtains the attitude information transmitted by the timing system through the publish-subscribe mode of ROS communication, and calculates the real-time control instructions of the servo and thruster, which are fed back to the underwater master timing system node, and forwarded by the underwater master timing system node.
[0021] As a preferred implementation, the underwater main control emergency system node of the software module includes real-time detection of the working status, communication status, cabin environment status and posture status of the equipment managed by the main control on the aircraft; fault diagnosis and emergency decision-making based on the fault tree and fault level table; fault handling by executing emergency fixed trim buoyancy and load jettisoning buoyancy to complete emergency safety assurance. The underwater main control emergency system node communicates with the underwater main control timing system, and uses the ROS framework to send the real-time status data fed back by each module unit to the underwater main control emergency system node by the underwater main control timing system.
[0022] After adopting the above technical scheme, the beneficial effect of the present invention is that the controller of the present invention is also enhanced in terms of emergency handling capabilities. By designing the underwater main control emergency system node, the system can be quickly adjusted and responded to in the event of an emergency, ensuring the safety and stability of the aircraft. This feature is particularly important in complex underwater environments, and can effectively reduce operational risks and improve the success rate of task completion; the ROS-based underwater unmanned aircraft controller of the present invention solves many technical problems of the prior art in underwater unmanned aircraft control through modular design, flexible communication mechanism, integrated hardware layout and enhanced data acquisition and emergency handling capabilities. Compared with the prior art, the present invention provides an efficient, stable and flexible control scheme, which significantly improves the performance and application potential of underwater unmanned aircraft, and provides more reliable technical support for future underwater detection and operations. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0024] Figure 1 The software block diagram of the underwater unmanned aerial vehicle controller of the present invention is as follows;
[0025] Figure 2 The hardware block diagram of the underwater unmanned aerial vehicle controller of the present invention is
[0026] Figure 3 This is a schematic diagram of the software and hardware management of the underwater unmanned aerial vehicle controller of the present invention;
[0027] Figure 4 A schematic diagram of the node communication process of the underwater unmanned aerial vehicle controller system of the present invention;
[0028] Figure 5 It is a schematic diagram of the node data receiving and sending functions of the underwater unmanned vehicle controller system of the present invention. DETAILED DESCRIPTION
[0029] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0030] Example:
[0031] like Figures 1 to 5 As shown, the present invention creates an underwater unmanned aerial vehicle controller based on ROS, and the controller is mainly designed to be divided into a software part and a hardware part. The software part of an underwater unmanned aerial vehicle controller based on ROS is mainly a plurality of ROS nodes based on the ROS communication framework, which are divided into underwater main control WEB communication system nodes, underwater main control task configuration system nodes, underwater main control timing system nodes, underwater main control energy system nodes, underwater main control navigation system nodes, underwater main control decision control system nodes, underwater main control emergency system nodes, underwater main control data storage system nodes and underwater main control load system nodes according to functional design.
[0032] Each ROS system node uses internal protocols to send and receive messages and perform synchronous control according to different system functions. The underwater master control timing system is responsible for issuing instructions and receiving data feedback for each functional node in a synchronous timing, that is, a request-response method. The remaining nodes synchronize and process data in a publish-subscribe method based on the internal protocol. The publish-subscribe method can easily synchronize message data between various systems and realize collaborative work between various systems. The request-response method uses synchronous timing to issue instructions and feedback data to ensure the stability and synchronization of the execution of decisions by various systems.
[0033] The software block diagram of an underwater unmanned aerial vehicle controller based on ROS is shown in the attached figure. Figure 1 shown.
[0034] Each system node is responsible for data collection and command issuance with the hardware module using the communication protocol provided by the hardware module. At the same time, the communication protocol of each hardware module is encapsulated into the system in the form of a message class, which can easily adapt to different hardware communications with different communication protocols. At the same time, the hardware message is converted into the internal system communication protocol within the system node for message forwarding to maintain the collaborative work between the internal system nodes.
[0035] The hardware part of an underwater unmanned aerial vehicle controller based on ROS mainly includes steering gear PLC, thruster PLC, main control board, power management, communication equipment, optical sensor and inertial navigation equipment. The main control board is installed with all ROS system nodes in the software part. The steering gear PLC and thruster PLC are responsible for receiving the control instructions issued by the timing system node of the main control system, and sending them to the corresponding hardware modules to complete the execution of the entire controller.
[0036] The hardware block diagram of an underwater unmanned aerial vehicle controller based on ROS is shown in the attached figure. Figure 2 The hardware and software relationship is shown in the attached Figure 3 shown.
[0037] An underwater unmanned aerial vehicle controller based on ROS includes the following software parts and hardware parts.
[0038] Its software part includes underwater main control WEB communication system node, underwater main control task configuration system node, underwater main control timing system node, underwater main control energy system node, underwater main control navigation system node, underwater main control decision control system node, underwater main control emergency system node, underwater main control data storage system node, underwater main control load system node, thruster drive unit software (PLC) and rudder drive unit software (PLC).
[0039] Its hardware part includes power management module, main control board module, inertial navigation equipment module, PLC module, optical sensor module and communication equipment module. The PLC module is divided into steering gear PLC and thruster PLC, which run the rudder drive unit software and thruster drive unit software respectively. The remaining software system nodes all run on the main control board module.
[0040] The power management module of the hardware part is mainly responsible for monitoring various battery parameters and supplying electricity to the entire underwater unmanned aerial vehicle. It is managed and controlled by the underwater main control energy system node running on the main control board.
[0041] The main control board module of the hardware part is mainly responsible for receiving front-end communication messages and running various ROS system nodes. The running system software is responsible for task management, data storage, timing control, motion control and other functions.
[0042] The inertial navigation equipment of its hardware part is mainly responsible for collecting data from various attitude sensors and generating inertial navigation data. The underwater master navigation system node of the main control board collects the data of the inertial navigation equipment through serial port communication and saves it in the underwater master navigation system node.
[0043] The hardware part of the PLC includes a thruster PLC and a rudder PLC, which are responsible for propelling the underwater unmanned aircraft and controlling the direction of the underwater unmanned aircraft respectively. The two PLCs run the thruster drive unit software and the rudder drive unit software respectively, and communicate through the serial port and the timing system on the main control board to control the direction and running speed of the underwater unmanned aircraft.
[0044] The optical sensor of its hardware part is mainly responsible for collecting underwater optical information, and is managed and sent control messages by the underwater main control load system node of the main control board.
[0045] The communication equipment of its hardware part is mainly responsible for underwater wireless communication, receiving control messages from the surface monitoring system, and sending the control messages to the main control board. The underwater main control WEB communication system on the main control board is responsible for processing the control messages from the surface monitoring system.
[0046] The underwater master control WEB communication system node of its software part is mainly responsible for receiving control messages from the surface monitoring system, and through the publish-subscribe mode of ROS communication, it sends control instructions, mode switching instructions and task instructions to the underwater master control task configuration system node, which will then process the next step. The parameters of the sensors and decision-making control algorithms managed by the PLC and load system are also directly sent to the corresponding system nodes by the underwater master control WEB communication system. In addition, the underwater master control WEB communication system node receives real-time feedback data from the timing system through the publish-subscribe mode of ROS communication, and transmits it to the surface monitoring system through the Ethernet UDP protocol, so as to display and monitor the operating status of the underwater unmanned aerial vehicle in real time.
[0047] The underwater master control task configuration system node of its software part is mainly responsible for underwater working mode management and switching, control command parameter parsing and task parameter parsing, and is responsible for switching between remote control and autonomous modes. The remote control mode mainly executes commands from remote control, and the autonomous mode is mainly responsible for the control and execution of related tasks. Its related parameters are uniformly parsed by the underwater master control task configuration system node and sent to the underwater master control timing system node.
[0048] The underwater master control timing system node of the software part is mainly responsible for scheduling the work of each system node in a synchronous timing, and is also responsible for communicating with the underlying modules such as the thruster drive unit, rudder drive unit, navigation system, energy system, load system, emergency system, etc., driving the corresponding sub-units to execute control instructions in sequence, and obtaining feedback information from the sub-units at the same time. The real-time feedback information obtained is sent to the data storage module for storage according to the ROS communication framework.
[0049] The underwater main control emergency system node of its software part is mainly responsible for providing safety protection for the entire underwater unmanned aircraft. The functions of the emergency system include real-time detection of the working status, communication status, cabin environment status, and posture status of each device managed by the main control on the aircraft; fault diagnosis and emergency decision-making based on the fault tree and fault level table; and fault handling by executing emergency fixed trim buoyancy and load jettisoning buoyancy to complete emergency safety protection. The underwater main control emergency system node mainly communicates with the underwater main control timing system. Using the ROS framework, the underwater main control timing system sends the real-time status data fed back by each module unit to the underwater main control emergency system node.
[0050] The underwater master decision control system node of its software part is mainly responsible for providing the motion control function of the underwater unmanned aircraft according to the preset trajectory of the mission parameters. Its control performance indicators can be achieved by adjusting the control parameters, mainly PID parameters, so that the heading, depth and attitude of the aircraft during underwater navigation are controlled within a small error range, and can perform corresponding tasks according to the preset mission parameters. It mainly interacts with the timing system, obtains the attitude information transmitted by the timing system through ROS framework communication, and calculates the real-time control instructions of the servo and thruster, and feeds them back to the underwater master timing system node, which is forwarded by the underwater master timing system node.
[0051] The underwater master energy system node of the software part is mainly responsible for managing the energy of hardware equipment, including controlling the start and stop of electric energy, obtaining the real-time status of the power system operation, and using ROS communication to receive control instructions from the timing system and feed back real-time energy information to the timing system.
[0052] The underwater master navigation system node of its software part is mainly responsible for managing the inertial navigation equipment of the hardware equipment and other sensor data related to the attitude and position. It uses serial communication to obtain the data information of the hardware equipment and converts it into a message structure related to ROS communication. It uses the request and response mode of ROS communication to transmit the attitude information to the timing system, and the timing system further processes the attitude data.
[0053] The underwater main control data storage system node of the software part is mainly responsible for the core of underwater control system data storage. The test data of underwater unmanned aerial vehicle is sent to the data storage module by the timing system through the publish-subscribe mode of ROS communication. And it is stored on the main control board. Later, the data can be exported through Ethernet to analyze the operation data of underwater unmanned aerial vehicle.
[0054] The underwater master control payload system node of its software part is mainly responsible for managing the data of optical sensors or other sensors, communicating with hardware equipment through serial port communication, obtaining real-time data of sensors, and processing and converting them into ROS communication-related message structures by the payload system. Using the request-response mode of ROS communication, the corresponding optical data or other data is transmitted to the timing system, and the timing system further processes the data.
[0055] The rudder drive unit software of the software part mainly runs on the servo PLC. It is mainly responsible for receiving the servo control instructions from the timing system through serial communication, and controlling the servo according to the control instructions to achieve direction control of the underwater unmanned aircraft. At the same time, it returns the real-time status data of the current servo to the timing system for subsequent processing by the timing system.
[0056] The software part of the thruster drive unit software mainly runs on the thruster PLC. It is mainly responsible for receiving the speed control instructions from the timing system through serial communication, and controlling the thruster according to the control instructions to achieve speed control of the underwater unmanned aerial vehicle, and returning the current real-time speed of the thruster to the timing system for subsequent processing by the timing system.
[0057] The software module systems communicate with each other based on the ROS framework. The internal communication structure is set according to the ROS message structure and uses a unified protocol to ensure the reliability and robustness of the internal communication modules. The nodes of each software system run independently and interact using ROS communication. Depending on the content of the communication, the publish-subscribe and request-response modules are used to interact with each other. Even if some system nodes fail, the stable operation of the entire main control system software can be guaranteed, and the emergency system can be used for emergency processing to ensure the safety and reliability of the underwater unmanned aerial vehicle operation. The communication process between the internal system nodes is shown in the attached figure. Figure 4 shown.
[0058] Each software module in the software part manages the corresponding hardware equipment according to different functions, and uses serial communication to manage the hardware equipment. To meet different functional requirements and replace different hardware devices, you only need to adapt the corresponding system nodes and replace the corresponding serial communication protocol interface. It will not affect the operating functions of other system nodes, which is convenient for rapid response to application requirements and complex scenarios. The internal data receiving and sending function diagram of each system node is as follows: Figure 5 shown.
[0059] This technology describes an underwater drone controller based on ROS (Robot Operating System), which combines software modules and hardware modules to achieve efficient underwater vehicle control. The following is a detailed description of the working principle and process of the system.
[0060] The system consists of multiple ROS nodes, each of which is responsible for a specific functional module and exchanges data through the ROS communication framework. The core of the system is the main control board, on which all software modules run and coordinate the operation of various hardware components.
[0061] Software module: The software module consists of multiple ROS nodes, including underwater master WEB communication system nodes, task configuration system nodes, timing system nodes, energy system nodes, navigation system nodes, decision control system nodes, emergency system nodes, data storage system nodes and payload system nodes. Each node receives and sends messages and performs synchronous control through internal protocols to ensure the coordinated work of various parts of the system. The timing system node adopts a request-response method, which is responsible for the issuance of instructions and data feedback to ensure the stability and synchronization of system execution. ROS nodes synchronize data through a publish-subscribe mechanism, and messages between systems can be shared in real time, which improves the response speed and flexibility of the system.
[0062] Hardware module: The hardware module includes the steering gear PLC, thruster PLC, main control board, power management module, communication equipment, optical sensor and inertial navigation equipment. The main control board is equipped with all ROS nodes and is responsible for executing control instructions and data processing. The steering gear PLC and thruster PLC control the propulsion and direction of the unmanned aerial vehicle respectively, and receive control instructions from the timing system node. The power management module monitors the battery status to ensure the power supply of the unmanned aerial vehicle. The inertial navigation equipment collects attitude data, generates inertial navigation information, and processes and stores it through the navigation system node. The optical sensor collects underwater optical information and is managed and controlled by the payload system node. The communication equipment is responsible for underwater wireless communication, receives instructions from the surface monitoring system and sends them to the main control board.
[0063] Workflow
[0064] When the system starts, the main control board loads all ROS nodes. Communication connections are established between nodes, and their respective functional modules are initialized. The power management module starts first, monitors the battery status, and ensures that the system has sufficient power.
[0065] The user inputs the mission parameters through the underwater master control WEB communication system node. These parameters include navigation path, speed, depth, etc. The mission configuration system node generates control instructions based on the input parameters and sends the instructions to the corresponding hardware modules using the timing system node.
[0066] Steering gear and thruster control: The sequential system node sends the generated control instructions to the steering gear PLC and thruster PLC in a request-response manner. The steering gear PLC is responsible for controlling the direction of the spacecraft, while the thruster PLC controls the propulsion speed and direction of the spacecraft. The two PLCs run the thruster drive unit software and the rudder drive unit software respectively, and communicate with the main control board through the serial port to ensure the timely execution of the instructions.
[0067] During navigation, multiple sensors collect data in real time: Inertial navigation equipment: collects attitude sensor data and generates inertial navigation information. The data is sent to the navigation system node through the serial port, and the node processes and stores the data. Optical sensor: responsible for collecting underwater optical information and transmitting the data to the payload system node for analysis and control. Communication equipment: responsible for wireless communication between underwater and surface, receiving instructions from the surface monitoring system and sending them to the main control board.
[0068] During the operation of the system, the main control board continuously monitors the status of each node and hardware module. The timing system node obtains feedback information from each module through the request-response mechanism to ensure the effectiveness of the instructions and the stability of the system.
[0069] If an abnormal situation is detected during operation, such as low battery or sensor failure, the main control board will automatically trigger the emergency handling process through the emergency system node, adjust navigation parameters, or send an alarm to the surface monitoring system to request support.
[0070] When the mission is completed, the underwater master control WEB communication system node will record the relevant data of the mission execution, including navigation track, sensor data and execution results, which are stored in the data storage system node. Users can query this data at any time for subsequent analysis and optimization.
[0071] The underwater master control WEB communication system node of the software module is responsible for receiving control messages from the surface monitoring system, and through the publish-subscribe mode of ROS communication, sends control instructions, mode switching instructions and task instructions to the underwater master control task configuration system node, which is processed by the underwater master control task configuration system node. The underwater master control WEB communication system node receives real-time feedback data from the timing system through the publish-subscribe mode of ROS communication, and transmits it to the surface monitoring system through the Ethernet UDP protocol, so as to display and monitor the operating status of the underwater unmanned aerial vehicle in real time.
[0072] The main difference between the above technical solution and the prior art lies in its innovative design of the communication and control architecture of the underwater unmanned aerial vehicle, especially in the message transmission mechanism and real-time feedback processing. In the prior art, underwater unmanned aerial vehicles usually rely on simple command and feedback mechanisms, lack of efficient communication protocols and flexible command processing methods, which often leads to information transmission delays and low control efficiency. This technical solution, by introducing a publish-subscribe model based on ROS (Robot Operating System), realizes a more efficient and flexible control command issuance and status feedback mechanism.
[0073] Specifically, the design of the underwater master control WEB communication system node enables it to effectively receive control messages from the surface monitoring system and pass these messages to the underwater master control task configuration system node through the ROS publish-subscribe mode. This mode allows the system to synchronize information between nodes in real time, ensuring that control instructions, mode switching instructions, and task instructions can be quickly and accurately delivered to the corresponding processing modules. Compared with the common request-response mode in the prior art, the publish-subscribe mode significantly improves the flexibility and response speed of the system and reduces the delay in the instruction transmission process.
[0074] In addition, the underwater master control WEB communication system node also further enhances the monitoring capability of the underwater unmanned aircraft status by receiving real-time feedback data from the timing system. The acquisition of real-time feedback data enables the system to instantly evaluate and adjust the operating status of the aircraft, rather than relying on scheduled status updates. This real-time performance is often difficult to achieve in existing technologies, resulting in a delayed control response to the aircraft, which may affect its safety and effectiveness.
[0075] In terms of transmission protocol, this technical solution uses Ethernet UDP protocol to transmit real-time feedback data to the surface monitoring system. The high efficiency of UDP protocol makes data transmission faster and is suitable for application scenarios with high real-time requirements. Compared with the TCP protocol commonly used in the prior art, this provides better performance, especially when large amounts of data need to be processed quickly.
[0076] The underwater master decision control system node of the software module is responsible for the motion control of the underwater unmanned aircraft according to the preset trajectory of the mission parameters. Its control performance indicators can be achieved by adjusting the control parameters. The heading, depth and attitude of the aircraft during underwater navigation are controlled within a small error range through PID parameters, and the corresponding tasks can be performed according to the preset mission parameters. It interacts with the timing system, obtains the attitude information transmitted by the timing system through the publish-subscribe mode of ROS communication, and calculates the real-time control instructions of the servo and thruster, which are fed back to the underwater master timing system node, and forwarded by the underwater master timing system node.
[0077] In the prior art, the motion control of underwater unmanned aircraft often relies on simple control algorithms, which lack sufficient flexibility and adaptability, resulting in the inability to effectively maintain the stability of heading, depth and attitude when performing complex tasks. However, this technical solution introduces a PID control algorithm to achieve fine adjustment of the aircraft's motion control performance, so that the aircraft can maintain a small error range in heading, depth and attitude control when sailing underwater.
[0078] Specifically, the underwater master decision control system node is responsible for controlling the aircraft to move along the set trajectory according to the preset mission parameters. By adjusting the PID control parameters, the system can adjust the motion state of the aircraft in real time to adapt to changes in the underwater environment. Compared with the common fixed parameter control in the prior art, this PID control-based design significantly improves the system's dynamic response capability and control accuracy, allowing the aircraft to perform various complex underwater tasks more accurately.
[0079] In this technical solution, the interaction between the underwater master decision control system node and the timing system is carried out through the publish-subscribe mode of ROS communication. This communication mechanism makes the transmission of attitude information more efficient, ensures real-time performance, and ensures that the system can quickly obtain the latest attitude data and calculate the real-time control instructions of the servo and thruster based on it. Compared with the common request-response mode in the prior art, the publish-subscribe mode can reduce communication delays, improve the flexibility and real-time performance of data transmission, and thus enhance the system's adaptability to dynamic environments.
[0080] In terms of feedback mechanism, the underwater master decision control system node feeds back the calculated real-time control instructions to the underwater master timing system node, which then forwards them. This design ensures the timely transmission and execution of instructions, avoids delays in information transmission, and further improves the control efficiency and accuracy of the vehicle.
[0081] The underwater main control emergency system node of the software module includes real-time detection of the working status, communication status, cabin environment status and posture status of the equipment managed by the main control on the aircraft; fault diagnosis and emergency decision-making based on the fault tree and fault level table; fault handling by executing emergency fixed trim buoyancy and load jettisoning buoyancy to complete emergency safety assurance. The underwater main control emergency system node communicates with the underwater main control timing system, and uses the ROS framework to send the real-time status data fed back by each module unit to the underwater main control emergency system node.
[0082] Emergency handling of underwater unmanned vehicles often relies on simple status checks and manual intervention, lacking systematic and intelligent fault diagnosis and emergency decision-making processes, which may lead to slow response and low processing efficiency in the event of sudden failures. This technical solution significantly improves the system's response capability and processing efficiency in emergency situations by introducing real-time detection and fault tree analysis.
[0083] Specifically, the underwater main control emergency system node is responsible for real-time monitoring of the working status, communication status, cabin environment status and posture status of various equipment on the aircraft. This comprehensive status monitoring ensures that the system can detect potential problems in a timely manner. Compared with the passive monitoring commonly seen in the prior art, this solution uses an active real-time detection mechanism to enable the aircraft to issue an early warning before a fault occurs and take measures in advance, thereby improving safety. In terms of fault diagnosis, this technical solution uses a fault tree and a fault level table for systematic analysis. Compared with the simple diagnostic process commonly seen in the prior art, this method is more scientific and systematic, and can make corresponding emergency decisions based on the severity of the fault. This fault tree-based analysis method enables the system to identify the root cause of the fault and then formulate a more effective emergency response strategy.
[0084] In terms of emergency response measures, the emergency fixed trim buoyancy and load dumping buoyancy mentioned in this plan provide a more flexible and efficient way to deal with faults. This targeted emergency measure can be quickly implemented in different fault scenarios to ensure the safe buoyancy and fault handling of the aircraft. However, existing technologies often lack pertinence and flexibility, making it difficult to effectively deal with complex faults.
[0085] The communication between the underwater main control emergency system node and the underwater main control timing system adopts the ROS framework, and the real-time status data fed back by each module is sent to the emergency system node through the timing system. Compared with the traditional single communication method, this ROS-based communication method can achieve more efficient data transmission and information sharing, ensuring that the emergency system can quickly obtain the status information of each module and make timely responses.
[0086] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A ROS-based underwater drone controller, characterized in that: It includes a software module and a hardware module, wherein the software module is provided with a plurality of ROS nodes in a ROS communication framework, and the ROS nodes include an underwater master control WEB communication system node, an underwater master control task configuration system node, an underwater master control timing system node, an underwater master control energy system node, an underwater master control navigation system node, an underwater master control decision control system node, an underwater master control emergency system node, an underwater master control data storage system node, and an underwater master control load system node; Each system node uses internal protocols to send and receive messages and perform synchronous control according to different functions. The underwater master control timing system node is responsible for issuing instructions and receiving data feedback from functional nodes using synchronous timing, i.e. request response method. ROS nodes synchronize and process data using the publish-subscribe method based on internal protocols. The publish-subscribe method synchronizes message data between systems to achieve collaborative work between systems, while the request-response method uses synchronous timing to issue instructions and feedback data to ensure the stability and synchronization of system execution decisions. ROS nodes are responsible for data collection and instruction issuance with the hardware module using the communication protocol provided by the hardware module. At the same time, the communication protocol of the hardware module is encapsulated into the system in the form of a message class, and the synchronous adaptation communication protocol is applicable in the hardware module. The hardware message is converted into the internal system communication protocol within the ROS node for message forwarding to maintain collaborative work between internal system nodes. The hardware module includes a steering gear PLC, a thruster PLC, a main control board, power management, communication equipment, optical sensors and inertial navigation equipment. The main control board is installed with all ROS system nodes in the software module. The steering gear PLC and the thruster PLC are responsible for receiving control instructions issued by the timing system node of the main control system, and sending them to the corresponding hardware modules to complete the execution of the entire controller; the thruster PLC and the steering gear PLC are responsible for propelling the underwater unmanned aircraft and controlling the direction of the underwater unmanned aircraft, respectively. The two PLCs respectively run the thruster drive unit software and the rudder drive unit software, which communicate through the serial port and the timing system on the main control board to control the direction and running speed of the underwater unmanned aircraft; The power management module is responsible for monitoring battery parameters and supplying power to the entire underwater unmanned aerial vehicle, and is managed and controlled by the underwater main control energy system node running on the main control board; the inertial navigation equipment is responsible for collecting data from the attitude sensor and generating inertial navigation data, and the underwater main control navigation system node of the main control board collects the data of the inertial navigation equipment through serial communication and stores it in the underwater main control navigation system node; the optical sensor is responsible for collecting underwater optical information, and is managed and sent control messages by the underwater main control load system node of the main control board; The communication equipment is responsible for underwater wireless communication, receiving control messages from the surface monitoring system, and sending the control messages to the main control board. The underwater main control WEB communication system on the main control board is responsible for processing the control messages from the surface monitoring system.
2. The ROS-based underwater drone controller according to claim 1, characterized in that: The underwater master control WEB communication system node of the software module is responsible for receiving control messages from the surface monitoring system, and through the publish-subscribe mode of ROS communication, sends control instructions, mode switching instructions and task instructions to the underwater master control task configuration system node, which is processed by the underwater master control task configuration system node. The underwater master control WEB communication system node receives real-time feedback data from the timing system through the publish-subscribe mode of ROS communication, and transmits it to the surface monitoring system through the Ethernet UDP protocol, so as to display and monitor the operating status of the underwater unmanned aerial vehicle in real time.
3. The ROS-based underwater drone controller according to claim 1, characterized in that: The underwater master decision control system node of the software module is responsible for the motion control of the underwater unmanned aircraft according to the preset trajectory of the mission parameters. Its control performance indicators can be achieved by adjusting the control parameters. The heading, depth and attitude of the aircraft during underwater navigation are controlled within a small error range through PID parameters, and the corresponding tasks can be performed according to the preset mission parameters. It interacts with the timing system, obtains the attitude information transmitted by the timing system through the publish-subscribe mode of ROS communication, and calculates the real-time control instructions of the servo and thruster, which are fed back to the underwater master timing system node, and forwarded by the underwater master timing system node.
4. The ROS-based underwater drone controller according to claim 1, characterized in that: The underwater main control emergency system node of the software module includes real-time detection of the working status, communication status, cabin environment status and posture status of the equipment managed by the main control on the aircraft; fault diagnosis and emergency decision-making based on the fault tree and fault level table; fault handling by executing emergency fixed trim buoyancy and load jettisoning buoyancy to complete emergency safety assurance. The underwater main control emergency system node communicates with the underwater main control timing system, and uses the ROS framework to send the real-time status data fed back by each module unit to the underwater main control emergency system node.
Citation Information
Patent Citations
Method of adopting quality of transmission service in robot operating system
CN106452841A
Underwater climbing robot control system and fault recovery method
CN112748686A
Implementation method of navigation control software architecture of open type unmanned vehicle
CN115755974A
Fault-tolerant method for improving underwater robot networking robustness
CN118741573A
Underwater robot based on variable-size auxiliary drive and control method thereof
US20230103110A1