CN113419714A - Satellite software design method, device and equipment based on task template - Google Patents

Satellite software design method, device and equipment based on task template Download PDF

Info

Publication number
CN113419714A
CN113419714A CN202110964757.2A CN202110964757A CN113419714A CN 113419714 A CN113419714 A CN 113419714A CN 202110964757 A CN202110964757 A CN 202110964757A CN 113419714 A CN113419714 A CN 113419714A
Authority
CN
China
Prior art keywords
task
satellite
instruction
program control
parameters
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
Application number
CN202110964757.2A
Other languages
Chinese (zh)
Inventor
吴国福
范才智
吴军
王杰
袁福
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202110964757.2A priority Critical patent/CN113419714A/en
Publication of CN113419714A publication Critical patent/CN113419714A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/22Procedural

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The application relates to a satellite software design method and device based on a task template, computer equipment and a storage medium. The method comprises the following steps: the method comprises the steps of obtaining task parameters through ground satellite task generating software, generating a task template according to the task parameters, sending the task template to a satellite through a remote control channel, receiving the task template through satellite software of the satellite, generating a delay instruction by taking a task as a unit according to the task parameters in the task template, generating program control queue elements according to execution time and instruction content of the delay instruction, inserting the program control queue elements into a preset program control queue, and sequentially executing corresponding instruction content according to the execution time of the elements in the program control queue to realize the working process control of each single machine on the satellite. According to the invention, only the instruction of the satellite task template needs to be added, so that the requirement on ground measurement and control resources is effectively reduced; in addition, when the satellite needs function reconstruction, only the task template needs to be changed on the ground, and the method is more flexible.

Description

Satellite software design method, device and equipment based on task template
Technical Field
The application relates to the field of spacecraft software design, in particular to a satellite software design method and device based on a task template and computer equipment.
Background
There are two methods for completing the task after the satellite enters the orbit to realize the function of the satellite. Firstly, a detailed command sequence designed on the ground is injected to a satellite, and the satellite completes a specified task according to the specification of the command sequence; secondly, a fixed task flow is designed on the satellite, and the ground triggers the execution of the task flow through instructions to realize the satellite function. The former requires a large number of commands and requires support of a large number of ground station resources, which often become constraints when the number of orbiting satellites increases dramatically. The latter is because the flow is fixed, when needing to change the satellite function on orbit, need to annotate the housekeeping software again, will bring great risk often. Therefore, the satellite task design method which can effectively reduce the requirement on measurement and control resources and flexibly change the functions of the satellite is designed, and has important significance.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a method, an apparatus, a computer device and a storage medium for designing satellite software based on task templates, which can improve the adaptability of the satellite software.
A method for designing satellite software based on task templates, the method comprising:
acquiring task parameters through ground satellite task generating software, generating a task template according to the task parameters, and sending the task template to a satellite through a remote control channel; the task template specifies task execution time, task execution duration, satellite attitude mode, working mode of each single machine and configuration parameters thereof; the task is a function realized by controlling the cooperative work of all single machines on the satellite;
receiving the task template through satellite affair software of a satellite, and generating a delay instruction by taking a task as a unit according to task parameters in the task template; the delay instruction comprises the execution time and the instruction content of the instruction;
generating a program control queue element according to the execution time and the instruction content, and inserting the program control queue element into a preset program control queue;
and sequentially executing corresponding instruction contents according to the execution time of the elements in the program control queue to realize the working process control of each single computer on the satellite.
In one embodiment, the method further comprises the following steps: when the task parameters comprise attitude control parameters, extracting control mode parameters, attitude control target longitude and latitude parameters and task starting time from the task template, generating an attitude setting instruction according to the control mode parameters and the attitude control target longitude and latitude parameters, obtaining execution time of the instruction according to the task starting time, and obtaining a delay instruction corresponding to attitude control according to the attitude setting instruction and the execution time.
In one embodiment, the method further comprises the following steps: when the task parameters comprise the use parameters of the single computer, defining a startup setting command, a startup task starting time and a first time interval between the setting commands after the single computer is powered on according to a pre-designed startup initialization sequence, and obtaining a delay instruction corresponding to startup according to the startup setting command, the first time interval and the startup task starting time; and each single machine has preset different startup initialization sequences in different working modes.
In one embodiment, the method further comprises the following steps: when the task parameters comprise the use parameters of the single machine, defining a shutdown setting command for stopping the single machine according to a pre-designed shutdown sequence, a shutdown task starting time and a second time interval between the setting commands, and obtaining a delay instruction corresponding to shutdown according to the shutdown setting command, the second time interval and the shutdown task starting time; and each single machine has a preset unified shutdown sequence in different working modes.
In one embodiment, the method further comprises the following steps: presetting a program control queue; the program control queue is in a form of a bidirectional linked list; generating a program control queue element according to the execution time and the instruction content; distributing static arrays; and inserting the program control queue elements into the doubly linked list of the program control queue according to the time sequence of the execution time by searching idle elements in the static array.
In one embodiment, the method further comprises the following steps: and periodically scanning the program control queue through satellite house keeping software, taking out the program control queue element from the program control queue after the execution time of the program control queue element is reached, and executing the corresponding instruction content.
In one embodiment, the method further comprises the following steps: the task template is described by adopting a language in an XML format.
An apparatus for task template-based satellite software design, the apparatus comprising:
the system comprises a task parameter acquisition module, a remote control channel acquisition module and a task template generation module, wherein the task parameter acquisition module is used for acquiring task parameters through ground satellite task generation software, generating a task template according to the task parameters and sending the task template to a satellite through the remote control channel; the task template specifies task execution time, task execution duration, satellite attitude mode, working mode of each single machine and configuration parameters thereof; the task is a function realized by controlling the cooperative work of all single machines on the satellite;
the delay instruction generating module is used for receiving the task template through satellite software of a satellite and generating a delay instruction by taking a task as a unit according to task parameters in the task template; the delay instruction comprises the execution time and the instruction content of the instruction;
the program control queue organization module is used for generating program control queue elements according to the execution time and the instruction content and inserting the program control queue elements into a preset program control queue;
and the instruction execution module is used for sequentially executing corresponding instruction contents according to the execution time of the elements in the program control queue so as to realize the working process control of each single computer on the satellite.
A computer device comprising a memory and a processor, the memory storing a computer program, the processor implementing the following steps when executing the computer program:
acquiring task parameters through ground satellite task generating software, generating a task template according to the task parameters, and sending the task template to a satellite through a remote control channel; the task template specifies task execution time, task execution duration, satellite attitude mode, working mode of each single machine and configuration parameters thereof; the task is a function realized by controlling the cooperative work of all single machines on the satellite;
receiving the task template through satellite affair software of a satellite, and generating a delay instruction by taking a task as a unit according to task parameters in the task template; the delay instruction comprises the execution time and the instruction content of the instruction;
generating a program control queue element according to the execution time and the instruction content, and inserting the program control queue element into a preset program control queue;
and sequentially executing corresponding instruction contents according to the execution time of the elements in the program control queue to realize the working process control of each single computer on the satellite.
A computer-readable storage medium, on which a computer program is stored which, when executed by a processor, carries out the steps of:
acquiring task parameters through ground satellite task generating software, generating a task template according to the task parameters, and sending the task template to a satellite through a remote control channel; the task template specifies task execution time, task execution duration, satellite attitude mode, working mode of each single machine and configuration parameters thereof; the task is a function realized by controlling the cooperative work of all single machines on the satellite;
receiving the task template through satellite affair software of a satellite, and generating a delay instruction by taking a task as a unit according to task parameters in the task template; the delay instruction comprises the execution time and the instruction content of the instruction;
generating a program control queue element according to the execution time and the instruction content, and inserting the program control queue element into a preset program control queue;
and sequentially executing corresponding instruction contents according to the execution time of the elements in the program control queue to realize the working process control of each single computer on the satellite.
According to the satellite software design method and device based on the task template, the computer equipment and the storage medium, the task parameters are obtained through the ground satellite task generation software, the task template is generated according to the task parameters, and is sent to the satellite through the remote control channel, wherein the task template specifies the task execution time, the task execution duration, the satellite attitude mode, the working mode of each stand-alone and the configuration parameters thereof, and the task is a function realized by controlling the cooperative work of each stand-alone on the satellite; receiving a task template through satellite software of a satellite, generating a delay instruction by taking a task as a unit according to task parameters in the task template, generating program-controlled queue elements according to the execution time and the instruction content of the delay instruction, inserting the program-controlled queue elements into a preset program-controlled queue, and sequentially executing corresponding instruction content according to the execution time of the elements in the program-controlled queue to realize the work flow control of each single machine on the satellite. When the tasks to be completed by the satellite are set, only the instructions of the satellite task template need to be added, so that the requirement on ground measurement and control resources is effectively reduced; in addition, when the satellite needs function reconstruction, the satellite does not need to be provided with satellite software, and only the task template needs to be changed on the ground, so that the satellite is more flexible.
Drawings
FIG. 1 is a diagram illustrating an exemplary implementation of a task template-based satellite software design method;
FIG. 2 is a schematic flowchart of a method for designing satellite software based on task templates according to an embodiment;
FIG. 3 is a schematic diagram of a doubly linked list of programmed queues in one embodiment;
FIG. 4 is a schematic flowchart of a satellite software design method based on task templates in another embodiment;
FIG. 5 is a block diagram of a satellite software design apparatus based on task templates in one embodiment;
FIG. 6 is a diagram illustrating an internal structure of a computer device according to an embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
The satellite software design method based on the task template can be applied to the application environment shown in fig. 1. The satellite terminal 102 executes a satellite software design method based on a task template, acquires task parameters through satellite task generation software of a ground terminal 104, generates the task template according to the task parameters, sends the task template to a satellite through a remote control channel, receives the task template through the satellite software of the satellite, generates a delay instruction by taking a task as a unit according to the task parameters in the task template, generates a program control queue element according to the execution time and the instruction content of the delay instruction, inserts the program control queue element into a preset program control queue, and sequentially executes corresponding instruction content according to the execution time of the elements in the program control queue to realize the working process control of each stand-alone machine on the satellite. The satellite terminal 102 may be, but is not limited to, various personal computers, notebook computers, tablet computers, and portable wearable devices.
In one embodiment, as shown in fig. 2, a method for designing satellite software based on task templates is provided, which is described by taking the method as an example for being applied to the satellite terminal in fig. 1, and includes the following steps:
step 202, acquiring task parameters through ground satellite task generating software, generating a task template according to the task parameters, and sending the task template to a satellite through a remote control channel.
The task template specifies task execution time, task execution duration, satellite attitude mode, working mode of each single machine and configuration parameters thereof; the task is a function realized by controlling the cooperative work of the single machines on the satellite.
And step 204, receiving the task template through the satellite software of the satellite, and generating a delay instruction by taking the task as a unit according to the task parameters in the task template.
The delay instruction includes the execution time of the instruction and the instruction content.
And step 206, generating a program control queue element according to the execution time and the instruction content, and inserting the program control queue element into a preset program control queue.
The software system is provided with a program control queue, delay instructions in the queue are inserted according to the execution time, and the delay instruction executed firstly is arranged at the forefront of the queue. And when the time of delaying the instruction execution is reached, the software extracts the instruction from the queue and executes the instruction.
And step 208, sequentially executing corresponding instruction contents according to the execution time of the elements in the program control queue, and realizing the working process control of each single computer on the satellite.
The satellite has a plurality of single machines, such as a high-resolution camera and a routing single machine. The satellite functions are realized by the cooperative work of the single machines on the satellite, and the satellite software is used for controlling the single machines on the satellite. The method of the invention realizes the control of the working process of each single machine through the task template.
In the satellite software design method based on the task template, task parameters are obtained through ground satellite task generation software, the task template is generated according to the task parameters, and is sent to the satellite through a remote control channel, wherein the task template specifies task execution time, task execution duration, satellite attitude mode, working mode of each stand-alone machine and configuration parameters thereof, and the task is a function realized by controlling cooperative work of each stand-alone machine on the satellite; receiving a task template through satellite software of a satellite, generating a delay instruction by taking a task as a unit according to task parameters in the task template, generating program-controlled queue elements according to the execution time and the instruction content of the delay instruction, inserting the program-controlled queue elements into a preset program-controlled queue, and sequentially executing corresponding instruction content according to the execution time of the elements in the program-controlled queue to realize the control of the working process of each single machine on the satellite. When the tasks to be completed by the satellite are set, only the instructions of the satellite task template need to be added, so that the requirement on ground measurement and control resources is effectively reduced; in addition, when the satellite needs function reconstruction, the satellite does not need to be provided with satellite software, and only the task template needs to be changed on the ground, so that the satellite is more flexible.
In one embodiment, the method further comprises the following steps: when the task parameters comprise attitude control parameters, extracting control mode parameters, attitude control target longitude and latitude parameters and task starting time from the task template, generating an attitude setting instruction according to the control mode parameters and the attitude control target longitude and latitude parameters, obtaining the execution time of the instruction according to the task starting time, and obtaining a delay instruction corresponding to attitude control according to the attitude setting instruction and the execution time. When the task parameters comprise the use parameters of the single machine, defining a starting-up setting command, starting-up task starting time and a first time interval between the setting commands after the single machine is powered up according to a pre-designed starting-up initialization sequence, and obtaining a delay instruction corresponding to starting up according to the starting-up setting command, the first time interval and the starting-up task starting time; each single machine has different preset startup initialization sequences in different working modes. When the task parameters comprise the use parameters of the single machine, defining a shutdown setting command for stopping the single machine according to a pre-designed shutdown sequence, a shutdown task starting time and a second time interval between the setting commands, and obtaining a delay instruction corresponding to shutdown according to the shutdown setting command, the second time interval and the shutdown task starting time; wherein, each single machine has a preset unified shutdown sequence under different working modes.
The single computer has multiple working modes, and a set of boot initialization sequences is designed for each working mode. The initialization sequence defines the set-up commands after power-up of the stand-alone and the time intervals between the individual set-up commands. The single machine adopts a uniform shutdown sequence under different working modes. The shutdown sequence defines the setting command and the power-off operation of the stand-alone machine for stopping working, and determines the time interval among the setting commands.
In one embodiment, a method for designing satellite software based on task templates is provided, which includes:
and S1, designing and executing a delay program control command, wherein the delay program control command comprises the absolute time of command execution and command content. The software system is provided with a program control queue, delay instructions in the queue are inserted according to the execution time, and the delay instruction executed firstly is arranged at the forefront of the queue. When the time of delaying the instruction execution is reached, the software extracts the instruction from the queue and executes the instruction;
s2, designing each single-machine starting sequence. The single computer has multiple working modes, and a set of boot initialization sequences is designed for each working mode. The initialization sequence defines the setting commands of the single machine after power-on and the time intervals among the setting commands;
and S3, designing a single machine shutdown sequence. The single machine adopts a uniform shutdown sequence under different working modes. The shutdown sequence defines the setting command and the power-off operation of the stand-alone machine for stopping working, and determines the time interval between the setting commands;
and S4, constructing a task instruction template according to the task on the ground, and sending the task instruction template to the satellite through a remote control channel. Appointing information such as task execution time, task execution duration, satellite attitude mode, working mode of each single machine and configuration parameters thereof in the instruction template;
and S5, the satellite expands according to the instruction template to generate a delay instruction sequence and puts the delay instruction sequence into the program control queue, and calls the startup sequence and the shutdown sequence of the single-computer specific mode to generate a subfunction according to the parameters in the template, and the delay instruction sequence generated by the subfunction is also inserted into the program control queue.
In one embodiment, the stand-alone involved includes a high resolution camera and a routing stand-alone.
The high-resolution camera has two working modes: full-screen mode and windowing mode, each mode needs to set parameters: exposure time and frame period. And respectively setting the starting command sequences of the high-resolution camera according to the two working modes.
The starting sequence of the high resolution camera in the full-frame mode is as follows:
(1) and powering up the high resolution camera at the time T, wherein the parameter T is from the task template. The delay instruction is generated by calling S1 using the parameter T and the high-resolution camera power-on instruction, and is inserted into the program control queue.
(2) And setting the high resolution camera working mode to be the full-picture mode at the moment of T +5 seconds. And calling S1 to generate a delay instruction by using the parameter T +5 and the full-picture setting instruction of the high-resolution camera, and inserting the delay instruction into the program control queue.
(3) And setting the exposure time e and the frame period f of the high-resolution camera at the moment of T +6 seconds, wherein the parameters e and f come from the task template. And calling S1 to generate a delay instruction by using the parameter T +6 and the exposure time and frame period setting instruction of the high-resolution camera, and inserting the delay instruction into the program control queue.
The starting sequence of the high-resolution camera in the windowing mode is as follows:
(1) the high resolution camera is powered on at the time T, the parameter T is the calculation result of the related data in the task template, and the calculation method is shown in S5. The delay instruction is generated by calling S1 using the parameter T and the high-resolution camera power-on instruction, and is inserted into the program control queue.
(2) And setting the high resolution camera working mode to be the windowing mode at the moment of T +5 seconds. And calling S1 to generate a delay instruction by using the parameter T +5 and the high-resolution camera windowing setting instruction, and inserting the delay instruction into the program control queue.
(3) And setting a picture windowing position of the high-resolution camera at the moment of T +6 seconds, setting initial coordinates x and y of windowing and height h and width w of windowing, wherein the parameters x, y, h and w come from the task template. And calling S1 to generate a delay instruction by using the parameter T +6 and the high-resolution camera windowing setting instruction, and inserting the delay instruction into the program control queue.
(4) And setting the exposure time e and the frame period f of the high-resolution camera at the moment of T +7 seconds, wherein the parameters e and f come from the task template. And calling S1 to generate a delay instruction by using the parameter T +6 and the exposure time and frame period setting instruction of the high-resolution camera, and inserting the delay instruction into the program control queue.
Although the high-resolution camera has 2 working modes, the two working modes adopt a unified shutdown sequence design, and the shutdown sequence of the high-resolution camera is as follows:
(1) and setting the high resolution camera to stop working at the time T ', wherein the parameter T' is a calculation result of related data in the task template, and the calculation method is shown in S5. The call S1 is generated using the parameter T' and the high resolution camera stop work setting instruction, and inserted into the programmed queue.
(2) At time T' +1 second, the high phase separator is powered off. And calling S1 to generate a delay instruction by using the parameter T' and the high-resolution camera power-off instruction, and inserting the delay instruction into the program control queue.
In the present embodiment, the implementation process of this step is only illustrated by taking a high resolution camera as an example, and the implementation processes of other standalone units are similar.
In one embodiment, the method further comprises the following steps: presetting a program control queue; the program control queue is in the form of a doubly linked list, as shown in FIG. 3; generating a program control queue element according to the execution time and the instruction content; distributing static arrays; and inserting the elements of the program control queue into the doubly linked list of the program control queue according to the time sequence of the execution time by searching idle elements in the static array.
The program control queue is in the form of a doubly linked list, and all the delay instructions form a doubly linked list in the form of fig. 2. The queue elements are stored in the array which is statically distributed, and the queue elements apply for searching the idle elements in the array and are inserted into the linked list according to the time sequence; and (4) directly removing the elements from the linked list by queue element recycling, and juxtaposing the idle marks. The software system accesses the programmed queue based on the head pointer head and the tail pointer tail.
And the star affair software generates a program control queue element according to the execution time and the instruction content of the delay instruction and inserts the element into the program control queue. And periodically scanning the program control queue by the star service software, taking out the elements in the queue from the program control queue after the elements in the queue reach the execution time, and executing the instructions in the elements.
In one embodiment, the method further comprises the following steps: and periodically scanning the program control queue through satellite house keeping software, and taking out the program control queue elements from the program control queue to execute corresponding instruction contents after the execution time of the program control queue elements is reached.
In one embodiment, the method further comprises the following steps: the task template is described by a language in an XML format.
In one particular embodiment, the tasks to be performed by the satellite are: from time T0=3744744310 start video imaging of the target point P (E112.9932, N28.23165) for 200 seconds; the imaging mode of the high-resolution camera is full-picture imaging, the exposure time is 2 milliseconds, and the frame period is 100 milliseconds; the single router simultaneously records video data and frame extraction data, the compression ratio of the video data is 1:40, and the frame extraction frequency of the video is 4 seconds and 1 time.
The specific method flow chart is shown in fig. 4:
and the ground satellite task instruction generation software generates a task template according to the specific task instance parameters. The task template is described using a language in XML format. The specific implementation process is as follows.
(1) Generating a statement < t0>3744744310</t0> according to the task starting time;
(2) determining the attitude mode of the satellite as a staring mode according to the imaging of the point target, and generating a statement < attMode >4</attMode >;
(3) generating a statement < duration >200</duration > according to the imaging duration;
(4) generating sentences < position >112.9932, 28.23165</position > according to the longitude and latitude of the observation target;
(5) generating sentences according to imaging mode, exposure time and frame period of high-resolution camera
<highCam>
<onTime>-15</onTime>
<mode>1</mode>
<expTime>2</expTime>
<frameTime>100</frameTime>
</highCam>
(6) Generating sentences according to recording mode, video compression ratio and frame extraction frequency of single router
<router>
<onTime>-70</onTime>
<recordMode>5</recordMode>
<compress>40</compress>
<pick>4</pick>
</router>
(7) After adding the XML element of the task identifier, the complete task description is as follows,
<task>
<t0>3744744310</t0>
<attMode>4</attMode>
<duration>200</duration>
<position>112.9932, 28.23165</position>
<highCam>
<onTime>-15</onTime>
<mode>1</mode>
<expTime>2</expTime>
<frameTime>100</frameTime>
</highCam>
<router>
<onTime>-70</onTime>
<recordMode>5</recordMode>
<compress>40</compress>
<pick>4</pick>
</router>
</task>
(8) and putting the satellite tasks described by the XML into the instruction content, and sending the instruction content to the satellite through the measurement and control channel.
The satellite is expanded according to the instruction template to generate a delay instruction sequence and put into the program control queue, and a startup sequence and a shutdown sequence of a single-computer specific mode are called according to parameters in the template to generate sub-functions, and the delay instruction sequence generated by the sub-functions is also inserted into the program control queue;
after receiving the task template instruction, the housekeeping software carries out task development according to the task template to generate a specific delay instruction, and the specific process is as follows:
(1) and extracting a start time t0 from the task template, extracting an attitude control mode attMode, and extracting a control mode parameter from the task template according to a specific value of the control mode. The control pattern is 4 (target gaze) in this example, so the gaze latitude and longitude is extracted from the < position > element. And generating a target gaze posture setting instruction according to the control mode 4 and the gaze target longitude and latitude. The satellite attitude set command using the parameters (t 0-110) and target gaze invokes S1 to generate a delay command and insert it into the programmed queue.
(2) The task template instruction contains a < highCam > element, so that the startup and shutdown delay instruction sequence of the high resolution camera needs to be called.
(2.1) the power-on time of the high resolution camera is T = T0-15, which is derived from T0 and the value of the < onTime > element of the high resolution camera. And calling a boot sequence design sub-function of the high-resolution camera according to the power-on time T of the high-resolution camera and the contents of the < mode >, < expTime >, < frameTime > elements of the high-resolution camera (see S2), generating a boot delay instruction sequence of the high-resolution camera and inserting the boot delay instruction sequence into the program control queue.
(2.2) the power-off time of the high resolution camera is T' = T0+200 according to the value of T0 and the task duration < duration > element. And calling a shutdown sequence design sub-function of the high-resolution camera by using the shutdown time T' of the high-resolution camera (see S3), generating a shutdown delay instruction sequence of the high-resolution camera and inserting the shutdown delay instruction sequence into the program control queue.
(3) The task template instruction contains a < router > element, so that the startup and shutdown delay instruction sequence of the routing single machine needs to be called.
(3.1) the power-on time of the high resolution camera is T = T0-70, which is worth the value of T0 and the routed < onTime > element. And calling a boot sequence design sub-function of the routing standalone according to the power-on time T of the routing standalone and the contents of the < recordpode >, < compress >, < pick > elements of the routing standalone (see S2), and generating a boot delay instruction sequence of the routing standalone and inserting the boot delay instruction sequence into the program control queue.
(3.2) the shutdown time of the routing stand-alone is T' = T0+200, depending on the value of T0 and the task duration < duration > element. And calling a shutdown sequence design sub-function of the single routing machine by using the shutdown time T' (see S3), generating a shutdown delay instruction sequence of the single routing machine and inserting the shutdown delay instruction sequence into the program control queue.
(4) And inserting a program control command for starting the equipment in the program control queue. And calling S1 by using the parameter t0 and the high-resolution camera work starting instruction to generate a delay instruction, and inserting the delay instruction into the program control queue. And generating a delay instruction by using the parameter t0 and the routing single machine work starting instruction call S1, and inserting the delay instruction into the programmed control queue.
(5) And inserting a satellite attitude recovery delay instruction into the program control queue. The delay command is generated and inserted into the programmed queue using the parameters (t 0+200+ 20) and satellite attitude settings to call S1 for a date pointing command.
It should be understood that, although the steps in the flowchart of fig. 2 are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least a portion of the steps in fig. 2 may include multiple sub-steps or multiple stages that are not necessarily performed at the same time, but may be performed at different times, and the order of performance of the sub-steps or stages is not necessarily sequential, but may be performed in turn or alternately with other steps or at least a portion of the sub-steps or stages of other steps.
In one embodiment, as shown in fig. 5, there is provided a satellite software design apparatus based on task templates, including: a task parameter obtaining module 502, a delay instruction generating module 504, a program control queue organizing module 506, and an instruction executing module 508, wherein:
a task parameter obtaining module 502, configured to obtain task parameters through ground satellite task generating software, generate a task template according to the task parameters, and send the task template to a satellite through a remote control channel; the task template specifies task execution time, task execution duration, satellite attitude mode, working mode of each single machine and configuration parameters thereof; the task is a function realized by controlling the cooperative work of all single machines on the satellite;
a delay instruction generating module 504, configured to receive the task template through the satellite software of the satellite, and generate a delay instruction in units of tasks according to task parameters in the task template; the delay instruction comprises the execution time and the instruction content of the instruction;
a program control queue organization module 506, configured to generate a program control queue element according to the execution time and the instruction content, and insert the program control queue element into a preset program control queue;
and the instruction execution module 508 is configured to sequentially execute corresponding instruction contents according to execution time of elements in the program control queue, so as to implement work process control on each stand-alone on the satellite.
The delay instruction generating module 504 is further configured to receive the task template through the satellite software of the satellite, and generate a delay instruction in units of tasks according to task parameters in the task template; when the task parameters comprise attitude control parameters, extracting control mode parameters, attitude control target longitude and latitude parameters and task starting time from the task template, generating an attitude setting instruction according to the control mode parameters and the attitude control target longitude and latitude parameters, obtaining the execution time of the instruction according to the task starting time, and obtaining a delay instruction corresponding to attitude control according to the attitude setting instruction and the execution time.
The delay instruction generating module 504 is further configured to receive the task template through the satellite software of the satellite, and generate a delay instruction in units of tasks according to task parameters in the task template; when the task parameters comprise the use parameters of the single machine, defining a starting-up setting command, starting-up task starting time and a first time interval between the setting commands after the single machine is powered up according to a pre-designed starting-up initialization sequence, and obtaining a delay instruction corresponding to starting up according to the starting-up setting command, the first time interval and the starting-up task starting time; each single machine has different preset startup initialization sequences in different working modes.
The delay instruction generating module 504 is further configured to receive the task template through the satellite software of the satellite, and generate a delay instruction in units of tasks according to task parameters in the task template; when the task parameters comprise the use parameters of the single machine, defining a shutdown setting command for stopping the single machine according to a pre-designed shutdown sequence, a shutdown task starting time and a second time interval between the setting commands, and obtaining a delay instruction corresponding to shutdown according to the shutdown setting command, the second time interval and the shutdown task starting time; wherein, each single machine has a preset unified shutdown sequence under different working modes.
The program control queue organization module 506 is also used for presetting a program control queue; the program control queue is in a form of a bidirectional linked list; generating a program control queue element according to the execution time and the instruction content; distributing static arrays; and inserting the elements of the program control queue into the doubly linked list of the program control queue according to the time sequence of the execution time by searching idle elements in the static array.
The instruction execution module 508 is further configured to periodically scan the program control queue through the satellite house service software, and when the execution time of the program control queue element is reached, take out the program control queue element from the program control queue to execute the corresponding instruction content.
For specific limitations of the satellite software design device based on the task template, reference may be made to the above limitations of the satellite software design method based on the task template, and details are not repeated here. The modules in the satellite software design device based on the task template can be wholly or partially realized by software, hardware and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as shown in fig. 6. The computer device includes a processor, a memory, a network interface, a display screen, and an input device connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to implement a method for satellite software design based on task templates. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, a key, a track ball or a touch pad arranged on the shell of the computer equipment, an external keyboard, a touch pad or a mouse and the like.
Those skilled in the art will appreciate that the architecture shown in fig. 6 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects apply, as particular computing devices may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
In an embodiment, a computer device is provided, comprising a memory storing a computer program and a processor implementing the steps of the above method embodiments when executing the computer program.
In an embodiment, a computer-readable storage medium is provided, on which a computer program is stored, which computer program, when being executed by a processor, carries out the steps of the above-mentioned method embodiments.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the embodiments provided herein may include non-volatile and/or volatile memory, among others. Non-volatile memory can include read-only memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), Rambus Direct RAM (RDRAM), direct bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (10)

1. A satellite software design method based on task templates is characterized by comprising the following steps:
acquiring task parameters through ground satellite task generating software, generating a task template according to the task parameters, and sending the task template to a satellite through a remote control channel; the task template specifies task execution time, task execution duration, satellite attitude mode, working mode of each single machine and configuration parameters thereof; the task is a function realized by controlling the cooperative work of all single machines on the satellite;
receiving the task template through satellite affair software of a satellite, and generating a delay instruction by taking a task as a unit according to task parameters in the task template; the delay instruction comprises the execution time and the instruction content of the instruction;
generating a program control queue element according to the execution time and the instruction content, and inserting the program control queue element into a preset program control queue;
and sequentially executing corresponding instruction contents according to the execution time of the elements in the program control queue to realize the working process control of each single computer on the satellite.
2. The method according to claim 1, wherein the task template is received by satellite software of a satellite, and a delay instruction is generated in a unit of task according to task parameters in the task template; the delay instruction comprises the execution time and the instruction content of the instruction; the method comprises the following steps:
when the task parameters comprise attitude control parameters, extracting control mode parameters, attitude control target longitude and latitude parameters and task starting time from the task template;
generating an attitude setting instruction according to the control mode parameters and the attitude control target longitude and latitude parameters;
obtaining the execution time of the instruction according to the task starting time;
and obtaining a delay instruction corresponding to attitude control according to the attitude setting instruction and the execution time.
3. The method according to claim 1, wherein the task template is received by satellite software of a satellite, and a delay instruction is generated in a unit of task according to task parameters in the task template; the delay instruction comprises the execution time and the instruction content of the instruction, and comprises the following steps:
when the task parameters comprise the use parameters of the single computer, defining a starting-up setting command after the single computer is powered on, starting-up task starting time and a first time interval between the setting commands according to a pre-designed starting-up initialization sequence;
obtaining a delay instruction corresponding to starting according to the starting setting command, the first time interval and the starting task starting moment; and each single machine has preset different startup initialization sequences in different working modes.
4. The method according to claim 1, wherein the task template is received by satellite software of a satellite, and a delay instruction is generated in a unit of task according to task parameters in the task template; the delay instruction comprises the execution time and the instruction content of the instruction, and comprises the following steps:
when the task parameters comprise the use parameters of the single computer, defining a shutdown setting command for stopping the single computer, a shutdown task starting time and a second time interval between the setting commands according to a pre-designed shutdown sequence;
obtaining a time delay instruction corresponding to shutdown according to the shutdown setting command, the second time interval and the shutdown task starting time; and each single machine has a preset unified shutdown sequence in different working modes.
5. The method of claim 1, wherein generating a program control queue element according to the execution time and the instruction content, and inserting the program control queue element into a preset program control queue comprises:
presetting a program control queue; the program control queue is in a form of a bidirectional linked list;
generating a program control queue element according to the execution time and the instruction content;
distributing static arrays;
and inserting the program control queue elements into the doubly linked list of the program control queue according to the time sequence of the execution time by searching idle elements in the static array.
6. The method of claim 5, wherein sequentially executing the corresponding instruction contents according to the execution time of the elements in the program control queue comprises:
and periodically scanning the program control queue through satellite house keeping software, taking out the program control queue element from the program control queue after the execution time of the program control queue element is reached, and executing the corresponding instruction content.
7. The method according to any one of claims 1 to 6, wherein the task template is described in a language in XML format.
8. An apparatus for designing satellite software based on task templates, the apparatus comprising:
the system comprises a task parameter acquisition module, a remote control channel acquisition module and a task template generation module, wherein the task parameter acquisition module is used for acquiring task parameters through ground satellite task generation software, generating a task template according to the task parameters and sending the task template to a satellite through the remote control channel; the task template specifies task execution time, task execution duration, satellite attitude mode, working mode of each single machine and configuration parameters thereof; the task is a function realized by controlling the cooperative work of all single machines on the satellite;
the delay instruction generating module is used for receiving the task template through satellite software of a satellite and generating a delay instruction by taking a task as a unit according to task parameters in the task template; the delay instruction comprises the execution time and the instruction content of the instruction;
the program control queue organization module is used for generating program control queue elements according to the execution time and the instruction content and inserting the program control queue elements into a preset program control queue;
and the instruction execution module is used for sequentially executing corresponding instruction contents according to the execution time of the elements in the program control queue so as to realize the workflow control of each single computer on the satellite.
9. The apparatus of claim 8, wherein the programmable queue organization module is further configured to preset a programmable queue; the program control queue is in a form of a bidirectional linked list;
generating a program control queue element according to the execution time and the instruction content;
distributing static arrays;
and inserting the program control queue elements into the doubly linked list of the program control queue according to the time sequence of the execution time by searching idle elements in the static array.
10. A computer device comprising a memory and a processor, the memory storing a computer program, wherein the processor implements the steps of the method of any one of claims 1 to 7 when executing the computer program.
CN202110964757.2A 2021-08-23 2021-08-23 Satellite software design method, device and equipment based on task template Pending CN113419714A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110964757.2A CN113419714A (en) 2021-08-23 2021-08-23 Satellite software design method, device and equipment based on task template

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110964757.2A CN113419714A (en) 2021-08-23 2021-08-23 Satellite software design method, device and equipment based on task template

Publications (1)

Publication Number Publication Date
CN113419714A true CN113419714A (en) 2021-09-21

Family

ID=77719091

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110964757.2A Pending CN113419714A (en) 2021-08-23 2021-08-23 Satellite software design method, device and equipment based on task template

Country Status (1)

Country Link
CN (1) CN113419714A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102830951A (en) * 2012-07-20 2012-12-19 航天东方红卫星有限公司 Processing method for upwards injecting multi-parameter instruction by agile satellite
CN107562443A (en) * 2017-07-17 2018-01-09 上海卫星工程研究所 Satellite program control command maintaining method based on round-robin queue
CN107590046A (en) * 2017-09-05 2018-01-16 北京空间飞行器总体设计部 A kind of remote sensing satellite load task command verification method and system
CN107870782A (en) * 2017-09-29 2018-04-03 北京空间飞行器总体设计部 The method and system that a kind of high rail remote sensing satellite load task expansion performs
US20180278323A1 (en) * 2016-07-28 2018-09-27 Spire Global, Inc. Systems and methods for command and control of satellite constellations
CN111427685A (en) * 2020-03-23 2020-07-17 中国人民解放军国防科技大学 Space-based network intelligent satellite development system and method based on task requirements

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102830951A (en) * 2012-07-20 2012-12-19 航天东方红卫星有限公司 Processing method for upwards injecting multi-parameter instruction by agile satellite
US20180278323A1 (en) * 2016-07-28 2018-09-27 Spire Global, Inc. Systems and methods for command and control of satellite constellations
CN107562443A (en) * 2017-07-17 2018-01-09 上海卫星工程研究所 Satellite program control command maintaining method based on round-robin queue
CN107590046A (en) * 2017-09-05 2018-01-16 北京空间飞行器总体设计部 A kind of remote sensing satellite load task command verification method and system
CN107870782A (en) * 2017-09-29 2018-04-03 北京空间飞行器总体设计部 The method and system that a kind of high rail remote sensing satellite load task expansion performs
CN111427685A (en) * 2020-03-23 2020-07-17 中国人民解放军国防科技大学 Space-based network intelligent satellite development system and method based on task requirements

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
伍保峰等: "面向任务的小卫星自主指令设计", 《航天器工程》 *

Similar Documents

Publication Publication Date Title
CN108920354B (en) Embedded point management method and device, computer equipment and storage medium
CN109814854B (en) Project framework generation method, device, computer equipment and storage medium
CN111459541B (en) Application program packaging method and device, computer equipment and storage medium
CN110362265B (en) Display interface control method and device, computer equipment and storage medium
CN113419714A (en) Satellite software design method, device and equipment based on task template
CN110597552A (en) Configuration method, device and equipment of project continuous integration pipeline and storage medium
CN109766361B (en) Cache data reading method, device, computer equipment and storage medium
CN110989986B (en) Software template-based software generation method and device and computer equipment
CN110879817A (en) Meteorological data processing method, meteorological data processing device, computer equipment and storage medium
CN112650464A (en) Video picture display method, video picture display device, computer equipment and storage medium
CN111966530A (en) Disaster recovery switching method and device for application system, computer equipment and storage medium
CN113835651A (en) Data display processing method and device, computer equipment and storage medium
CN111324326A (en) Processing method and device for displaying software to one machine with multiple screens
CN110134475B (en) Method and device for displaying interface parameter configuration, computer equipment and storage medium
CN114339072A (en) Image processing circuit, method and electronic device
CN114443447A (en) Webpage operation playback method and device, computer equipment and medium
CN111612919A (en) Multidisciplinary split-screen synchronous display method and system of digital twin aircraft
JP2009176151A (en) Information processing apparatus and method of starting the same
CN112860287A (en) System program upgrading method and device, computer equipment and storage medium
CN111880707A (en) Long screenshot method, system, device, computer and storage medium
US9997140B2 (en) Control method, information processing device and recording medium
CN111652787A (en) Processing method and device for adding watermark characters into picture and computer equipment
CN110727481A (en) Picture editing method and device, computer equipment and storage medium
CN111158819A (en) Interface state determination method, device, equipment and storage medium
CN112748967A (en) Tree control positioning display method and device, computer equipment and storage medium

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210921

RJ01 Rejection of invention patent application after publication