CN114253512A - AUV control software architecture based on functional autonomous model - Google Patents
AUV control software architecture based on functional autonomous model Download PDFInfo
- Publication number
- CN114253512A CN114253512A CN202010998901.XA CN202010998901A CN114253512A CN 114253512 A CN114253512 A CN 114253512A CN 202010998901 A CN202010998901 A CN 202010998901A CN 114253512 A CN114253512 A CN 114253512A
- Authority
- CN
- China
- Prior art keywords
- auv
- module
- functional
- autonomous
- control software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000006243 chemical reaction Methods 0.000 claims abstract description 18
- 238000013461 design Methods 0.000 claims abstract description 11
- 238000010168 coupling process Methods 0.000 claims abstract description 7
- 238000005859 coupling reaction Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 72
- 230000008569 process Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000005538 encapsulation Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 6
- 238000007726 management method Methods 0.000 claims description 6
- 238000013523 data management Methods 0.000 claims description 5
- 230000007717 exclusion Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 4
- 238000013439 planning Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 2
- 230000002567 autonomic effect Effects 0.000 claims 1
- 238000004806 packaging method and process Methods 0.000 abstract description 4
- 230000008878 coupling Effects 0.000 abstract description 3
- 238000012423 maintenance Methods 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000012536 packaging technology Methods 0.000 description 2
- 238000002054 transplantation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
The invention relates to an Autonomous Underwater Vehicle (AUV) control software system structure based on a functional autonomous model, which designs a functional module division method aiming at the AUV control software. Meanwhile, a two-layer division method of an execution layer and a reaction layer is adopted in the functional autonomous module, and a functional module cooperation method with low coupling degree is designed, so that the control software architecture has the characteristics of easy expansion and easy maintenance; and meanwhile, an operating system function packaging method is adopted at the bottom layer of the control system architecture to obtain an upper software development function interface independent of the operating system, so that the software architecture has good reusability and portability when being transplanted among different operating systems.
Description
Technical Field
The invention relates to an AUV control software architecture based on a functional autonomous model, in particular to the AUV control software architecture formed by combining functional module division, functional autonomous module layering, functional module cooperation method design and operating system function packaging technology.
Background
Autonomous Underwater Vehicle (AUV) control system software (hereinafter abbreviated as AUV control software) is a software system which runs in an AUV control computer and realizes AUV intelligent control and autonomous operation by adopting the technologies and methods of artificial intelligence, automatic control, mode identification, information fusion and understanding, new materials, energy, communication, system integration and the like, and a methodology for organizing AUV control software algorithms is called an AUV control software architecture.
Currently, the architecture of the AUV control software generally includes three types, namely, a containment architecture, a layered architecture, and a pipe architecture, wherein the layered architecture is most widely used. The layered architecture can better meet the requirement of intelligent control of the robot. However, with the emergence of new application requirements, the increase of mission complexity and the improvement of intelligence degree, the system composition of the AUV is more and more complex, a plurality of devices and sensors are installed, and a plurality of intelligent technologies and methods are adopted, so that the code scale of the AUV control software is more and more huge, and the logic is more and more complex. Meanwhile, AUV control software runs in a control computer of a carrier, most control computers adopt an embedded real-time operating system, so that a plurality of AUVs with the same function but different control computer operating systems have the problem that the AUV control software needs to be frequently subjected to portability development among different operating systems, and the system compatibility problems are caused by the difference of system functions among the operating systems. In order to solve the problem, a large amount of modification and debugging are often required to be performed on parts related to system functions in each part of the AUV control software, so that software migration between different operating systems requires a large amount of labor and time, and a large number of software performance defects caused by platform migration may be generated.
Disclosure of Invention
In view of the above-mentioned deficiencies of the AUV control software architecture, the present invention provides an AUV control software architecture based on a functional autonomous model, and in particular, an AUV control software architecture based on a functional autonomous model, which is designed by adopting a functional module partitioning method, a functional module layering method, a functional module cooperation method, and an operating system function encapsulation technology.
The technical scheme adopted by the invention for realizing the purpose is as follows:
an AUV control software architecture based on a functional autonomous model, comprising:
the mission task planning and execution management function module is used for receiving the AUV state information sent by the function autonomous module, realizing mission planning and sending a control instruction to the corresponding function module;
and the function autonomous module is used for constructing a plurality of independent modules according to the functions required to be realized by AUV control.
The functional autonomous module comprises:
the execution layer is used for receiving AUV state information uploaded by the reaction layer in the functional autonomous module and receiving the functional requirements of other functional autonomous modules on the functional autonomous module;
and the reaction layer is used for acquiring the AUV state information through the sensor and receiving a control instruction of the execution layer to control an execution mechanism of the AUV.
The execution layer includes only 1 task; the reaction layer comprises a plurality of tasks which run concurrently, and each task is responsible for the management of 1 device or sensor.
The functional autonomous modules adopt a low-coupling cooperation mode, and the method specifically comprises the following steps: information sharing, messaging, and method invocation.
The information sharing is used for performing information interaction with the frequency greater than the threshold value among the functional autonomous modules or among concurrent tasks in the same functional autonomous module.
The message communication is used for information interaction with the frequency smaller than the threshold value among the functional autonomous modules or among concurrent tasks in the same functional autonomous module.
The method is used for calling the service request and response among the functional autonomous modules, so that one functional autonomous module directly calls the function of the other functional autonomous module.
The AUV control software system structure packages the API interface provided by the lower layer to form the function package including the functions of process or thread creation, communication and synchronization and mutual exclusion between processes or threads, file reading and writing and hardware interface reading and writing.
The functional autonomous module comprises: the navigation module, the energy control module, the navigation control module, the collision avoidance function module, the data management module and the fault detection module; wherein,
the navigation module is used for AUV navigation;
the energy control module is used for controlling the AUV energy system;
the navigation control module is used for navigation control of the AUV, and comprises navigation speed, navigation direction, navigation depth, navigation height and navigation strategy;
the collision avoidance function module is used for AUV collision avoidance;
the data management module is used for recording and managing AUV data;
and the fault detection module is used for detecting and processing faults of the AUV.
And the function autonomous module designs expansion according to different function requirements of the AUV.
The invention has the following beneficial effects and advantages:
1. the software system structure is composed of a plurality of software modules with functional autonomy characteristics, and has good expandability;
2. each function autonomous module (the autonomous function module is also presented in the text for many times, and unified nouns are suggested) has relatively independent functions and a clear two-layer logic structure, so that a software system has better maintainability;
3. the cooperative work among the software function modules is realized by designing a low-coupling cooperative mode, so that the cooperative realization among the software functions is simpler.
4. The method has the advantages that the packaging of the operating system function is realized on the bottom layer of the software architecture, so that relatively independent upper-layer logic realization can be reserved when the software is subjected to platform transplantation, and only the bottom-layer system function packaging needs to be modified, so that the architecture has good platform transplantation simplicity.
Drawings
FIG. 1 is a diagram of an AUV control software architecture;
FIG. 2 is a hierarchical layout diagram of the interior of a functional autonomous module;
FIG. 3 is a diagram of a method for encapsulating operating system functions.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples.
The method realizes the AUV control software architecture based on the functional autonomous model by designing an AUV control software autonomous function module division method, a two-layer design method for performing an execution layer and a reaction layer on the inside of a module, and adopting an inter-module low-coupling cooperation mode design and a software architecture bottom layer operating system function packaging technology. The specific implementation steps are as follows:
1. autonomous function module division of AUV control software according to functions
The design method designs AUV control software to divide an execution layer and a reaction component into modules on the basis of a 3-layer system structure, so that the original execution layer and reaction layer are composed of a series of functional modules, and the basis and principle of functional module division are as follows:
(1) according to the AUV control requirement, an mission task and execution management function module (hereinafter referred to as mission module) is divided, and the mission task and execution management function module has the function of a thinking layer in a 3-layer system structure.
(2) According to the functions to be realized by AUV control, the program is divided into other autonomous functional modules (such as a navigation module, an energy control module, a navigation control module, a collision avoidance functional module, a data management module and the like) which have considerable universality and are relatively independent logically for the AUV.
During the operation of the AUV, the overall function of the AUV control software is realized by the cooperation between the thought layer and the function module, and the architecture of the AUV control software adopting the functional autonomous module division method is shown in fig. 1.
When the designed AUV needs to expand other functions, relevant independent autonomous modules can be designed according to the required functions, and the AUV can be easily integrated into the whole control software structure.
2. Two-layer hierarchical structure for dividing function autonomous module into execution layer and reaction layer
In the respective treatment function module, the module is divided into an execution layer and a reaction layer according to function implementation, and the specific functions and implementation methods of the execution layer and the reaction layer are as follows
1) The execution layer receives information uploaded by each sensor of the reaction layer in the function module and integrates the sensor information into an internal state representation, in addition, the other function modules also receive and process the related function requirements of the function module by the execution layer, the execution layer either directly processes the function requirements or transmits the function requirements to the reaction layer after serialization, the function requirements and the reaction layer cooperate to process the function requirements, and the execution layer only comprises 1 task.
2) The reaction layer collects and processes information of equipment and sensors used for realizing functions of the functional module, receives instructions of the action layer and further controls the execution mechanism, the reaction layer comprises a plurality of tasks which run concurrently, and each task is responsible for managing 1 piece of equipment/sensor (for the equipment and the sensors which use the bus structure and the AUV control computer for communication, the equipment/sensor on the same bus uses 1 task).
This intra-module layered design is shown in fig. 2
3. Low coupling cooperation method between design function autonomous modules
The overall function of the AUV control software is realized by mutual cooperation of all functional modules, and according to different cooperation requirements, the cooperation mode among the functional modules is designed to adopt the following three different cooperation modes:
(1) information sharing
The method is used for performing frequent information interaction among the functional modules or among concurrent tasks in the same functional module. For information sharing among multiple processes (or multiple threads), the information sharing can be realized by means of a shared memory mechanism or a shared global variable provided by an operating system, and concurrent control is performed by means of critical sections or semaphores and the like, so that information reading and writing errors among multiple processes (or multiple threads) are avoided.
(2) Message communication
This approach is used to perform relatively small and infrequent information interactions between functional modules, or between concurrent tasks within the same functional module. For message communication among multiple processes, the message communication is realized by means of a message queue mechanism provided by an operating system; for information sharing among multiple threads, a self-defined message transmission mechanism is adopted to realize, and when a self-defined mode is adopted, a proper synchronization and mutual exclusion mechanism is required to be adopted, so that the wrong reading and writing of the message are avoided.
(3) Method invocation
Method calls are used to let one functional module directly utilize the functions provided by another function, in such a way that requests and responses for services are realized between the functional modules. For the method call among multiple processes, a remote procedure call mechanism provided by an operating system is used; and for the method call among multiple threads, the method call is realized by adopting a direct function call mode.
The cooperation mode designed by the method can ensure that the information shared or interacted between the modules has weak coupling characteristic and can avoid exposing detailed information such as system composition of the AUV or the adopted technology and method, and the like.
4. Realizing encapsulation of control system function at bottom layer of control software
AUV control software belongs to application layer software, and the functions of the operating systems used by the AUV control software generally comprise thread creation, communication and synchronization and mutual exclusion among threads, file reading and writing, serial port, AD, IO and other hardware interface reading and writing, generally, API interfaces provided by different operating systems for the functions are not completely the same, and some of the functions have considerable difference.
In order to enhance the portability and reusability of AUV control software among different operating systems, the designed AUV control software architecture encapsulates API interfaces provided by the operating systems at the lower layer of the control software to form function encapsulation which can realize the functions of on-line thread creation, on-line thread communication and synchronization and mutual exclusion, file read-write, serial port, AD, IO and other hardware interfaces read-write functions required by the development of upper layer software and is irrelevant to the API function interfaces of the operating systems, and the design and the development of the AUV control software are carried out on the basis. The packaging method is schematically shown in fig. 3.
When the control software adopting the encapsulation mode is transplanted among different operating systems, only the encapsulation layer can be modified without modifying other software modules of the AUV control software, so that the difficulty of transplanting the AUV control software is reduced, and the adaptability and the modularization level of the operating system are improved.
AUV control system software developed by the system structure has better expansibility and maintainability, and reduces the dependence of upper logic of the control system on the operating system, thereby reducing the workload of the control software in the transplanting process of the differential operating system and the software performance problem possibly generated by transplanting and developing.
Claims (10)
1. An AUV control software architecture based on a functional autonomous model, comprising:
the mission task planning and execution management function module is used for receiving the AUV state information sent by the function autonomous module, realizing mission planning and sending a control instruction to the corresponding function module;
and the function autonomous module is used for constructing a plurality of independent modules according to the functions required to be realized by AUV control.
2. The AUV control software architecture based on functional autonomous model according to claim 1, characterized in that the functional autonomous module comprises:
the execution layer is used for receiving AUV state information uploaded by the reaction layer in the functional autonomous module and receiving the functional requirements of other functional autonomous modules on the functional autonomous module;
and the reaction layer is used for acquiring the AUV state information through the sensor and receiving a control instruction of the execution layer to control an execution mechanism of the AUV.
3. The AUV control software architecture based on functional autonomous model according to claim 2, characterized in that the execution layer comprises only 1 task; the reaction layer comprises a plurality of tasks which run concurrently, and each task is responsible for the management of 1 device or sensor.
4. The AUV control software architecture based on the functional autonomous model of claim 1, wherein the functional autonomous modules adopt a low-coupling cooperation mode, and specifically comprises: information sharing, messaging, and method invocation.
5. The AUV control software architecture based on the functional autonomous model of claim 4, wherein the information sharing is used for performing information interaction with a frequency greater than a threshold value between the functional autonomous modules or between concurrent tasks within the same functional autonomous module.
6. The AUV control software architecture based on the functional autonomous model of claim 4, wherein the message communication is used for performing information interaction with a frequency less than a threshold value between functional autonomous modules or between concurrent tasks within the same functional autonomous module.
7. The AUV control software architecture based on functional autonomous model according to claim 4 characterized in that the method calls requests and responses for services between functional autonomous modules, causing one functional autonomous module to directly call the function of another functional autonomous module.
8. The AUV control software architecture based on the functional autonomic model as claimed in claim 1, wherein the AUV control software architecture encapsulates API interfaces provided at a lower layer to form functional encapsulation including process or thread creation, inter-process or thread communication and synchronization and mutual exclusion, file read-write, and hardware interface read-write functions.
9. The AUV control software architecture based on functional autonomous model according to claim 1, characterized in that the functional autonomous module comprises: the navigation module, the energy control module, the navigation control module, the collision avoidance function module, the data management module and the fault detection module; wherein,
the navigation module is used for AUV navigation;
the energy control module is used for controlling the AUV energy system;
the navigation control module is used for navigation control of the AUV, and comprises navigation speed, navigation direction, navigation depth, navigation height and navigation strategy;
the collision avoidance function module is used for AUV collision avoidance;
the data management module is used for recording and managing AUV data;
and the fault detection module is used for detecting and processing faults of the AUV.
10. The AUV control software architecture based on the functional autonomous model of claim 1, wherein the functional autonomous module designs extensions according to different functional requirements of the AUV.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010998901.XA CN114253512A (en) | 2020-09-22 | 2020-09-22 | AUV control software architecture based on functional autonomous model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010998901.XA CN114253512A (en) | 2020-09-22 | 2020-09-22 | AUV control software architecture based on functional autonomous model |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114253512A true CN114253512A (en) | 2022-03-29 |
Family
ID=80788361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010998901.XA Pending CN114253512A (en) | 2020-09-22 | 2020-09-22 | AUV control software architecture based on functional autonomous model |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114253512A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116588282A (en) * | 2023-07-17 | 2023-08-15 | 青岛哈尔滨工程大学创新发展中心 | AUV intelligent operation and maintenance system and method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101045297A (en) * | 2007-04-12 | 2007-10-03 | 武汉科技大学 | Distribution multiple freedom robot controlling system |
CN102779047A (en) * | 2012-07-09 | 2012-11-14 | 哈尔滨工程大学 | Embedded software support platform |
CN104669269A (en) * | 2013-11-26 | 2015-06-03 | 中国科学院沈阳自动化研究所 | Efficient and extensible autonomous control system for high-complexity underwater robot |
CN106444490A (en) * | 2016-09-08 | 2017-02-22 | 中国电子科技集团公司第三十二研究所 | Robot operating system based on embedded real-time operating system |
CN111309291A (en) * | 2020-01-19 | 2020-06-19 | 北京航空航天大学 | Modularized embedded software architecture, customization method and customization system thereof |
-
2020
- 2020-09-22 CN CN202010998901.XA patent/CN114253512A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101045297A (en) * | 2007-04-12 | 2007-10-03 | 武汉科技大学 | Distribution multiple freedom robot controlling system |
CN102779047A (en) * | 2012-07-09 | 2012-11-14 | 哈尔滨工程大学 | Embedded software support platform |
CN104669269A (en) * | 2013-11-26 | 2015-06-03 | 中国科学院沈阳自动化研究所 | Efficient and extensible autonomous control system for high-complexity underwater robot |
CN106444490A (en) * | 2016-09-08 | 2017-02-22 | 中国电子科技集团公司第三十二研究所 | Robot operating system based on embedded real-time operating system |
CN111309291A (en) * | 2020-01-19 | 2020-06-19 | 北京航空航天大学 | Modularized embedded software architecture, customization method and customization system thereof |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116588282A (en) * | 2023-07-17 | 2023-08-15 | 青岛哈尔滨工程大学创新发展中心 | AUV intelligent operation and maintenance system and method |
CN116588282B (en) * | 2023-07-17 | 2023-10-13 | 青岛哈尔滨工程大学创新发展中心 | AUV intelligent operation and maintenance system and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1004061B1 (en) | Architecture for a hybrid real-time control system and method of operation thereof | |
CN102736538B (en) | Reconfigurable interface-based electrical architecture | |
CN111427310A (en) | Industrial robot controller operation system | |
CN111813561B (en) | Open general intelligent satellite software system | |
CN101710281B (en) | Dynamic integrated system and method of development platform based on Agent | |
CN110471647A (en) | Embedded partitions operating system and its design method based on microkernel architecture | |
CN114253512A (en) | AUV control software architecture based on functional autonomous model | |
US5890155A (en) | System and methods for providing encapsulated and performance-efficient data references in an object-oriented controller and distributed control system employing the same | |
Traub et al. | An object-oriented realtime framework for distributed control systems | |
CN111459062B (en) | Virtual-real shared complex information physical product digital twin control logic generation method | |
CN115022115B (en) | Universal software layered architecture of ship control system based on soft bus technology | |
CN113534744A (en) | Software architecture and hardware architecture for forming numerical control system | |
CN114416222A (en) | Method and device for calling drive interface by application program | |
Van Brussel et al. | Hierarchical control of a generic flexible assembly cell | |
KR20100048843A (en) | Robot used software component apparatus and thread processing method using by it | |
CN114265578B (en) | Embedded robot software framework and implementation method thereof | |
Yang et al. | Design and Implementation of Cross-platform Control system for Track Vehicle | |
CN113741281A (en) | Method for realizing software architecture of open reconfigurable flight control system | |
CN118394473A (en) | Micro-nano satellite-borne software management and scheduling system | |
Buttazzo | Application design issues | |
CN114398186A (en) | Acceleration card operation system and scheduling method | |
Qu et al. | Distributed control application platform-a control platform for advanced manufacturing systems | |
Loborg et al. | Model for the Execution of Task-Level Specifications for Intelligent and Flexible Manufacturing Systems | |
JPS5941214B2 (en) | Condition monitoring method | |
Balasubramanian | A metamorphic control architecture for holonic systems. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |