WO2016208504A1 - 宇宙機の姿勢制御装置およびcmgのジンバル角演算方法 - Google Patents

宇宙機の姿勢制御装置およびcmgのジンバル角演算方法 Download PDF

Info

Publication number
WO2016208504A1
WO2016208504A1 PCT/JP2016/068096 JP2016068096W WO2016208504A1 WO 2016208504 A1 WO2016208504 A1 WO 2016208504A1 JP 2016068096 W JP2016068096 W JP 2016068096W WO 2016208504 A1 WO2016208504 A1 WO 2016208504A1
Authority
WO
WIPO (PCT)
Prior art keywords
gimbal
cmg
angular momentum
attitude
value
Prior art date
Application number
PCT/JP2016/068096
Other languages
English (en)
French (fr)
Inventor
憲司 北村
克彦 山田
岳也 島
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to EP16814275.0A priority Critical patent/EP3312096A4/en
Priority to US15/735,653 priority patent/US10407187B2/en
Priority to JP2017524856A priority patent/JP6373496B2/ja
Publication of WO2016208504A1 publication Critical patent/WO2016208504A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64GCOSMONAUTICS; VEHICLES OR EQUIPMENT THEREFOR
    • B64G1/00Cosmonautic vehicles
    • B64G1/22Parts of, or equipment specially adapted for fitting in or to, cosmonautic vehicles
    • B64G1/24Guiding or controlling apparatus, e.g. for attitude control
    • B64G1/28Guiding or controlling apparatus, e.g. for attitude control using inertia or gyro effect
    • B64G1/286Guiding or controlling apparatus, e.g. for attitude control using inertia or gyro effect using control momentum gyroscopes (CMGs)
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64GCOSMONAUTICS; VEHICLES OR EQUIPMENT THEREFOR
    • B64G1/00Cosmonautic vehicles
    • B64G1/22Parts of, or equipment specially adapted for fitting in or to, cosmonautic vehicles
    • B64G1/24Guiding or controlling apparatus, e.g. for attitude control
    • B64G1/244Spacecraft control systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64GCOSMONAUTICS; VEHICLES OR EQUIPMENT THEREFOR
    • B64G1/00Cosmonautic vehicles
    • B64G1/22Parts of, or equipment specially adapted for fitting in or to, cosmonautic vehicles
    • B64G1/24Guiding or controlling apparatus, e.g. for attitude control
    • B64G1/244Spacecraft control systems
    • B64G1/245Attitude control algorithms for spacecraft attitude control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64GCOSMONAUTICS; VEHICLES OR EQUIPMENT THEREFOR
    • B64G1/00Cosmonautic vehicles
    • B64G1/22Parts of, or equipment specially adapted for fitting in or to, cosmonautic vehicles
    • B64G1/24Guiding or controlling apparatus, e.g. for attitude control
    • B64G1/28Guiding or controlling apparatus, e.g. for attitude control using inertia or gyro effect
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64GCOSMONAUTICS; VEHICLES OR EQUIPMENT THEREFOR
    • B64G1/00Cosmonautic vehicles
    • B64G1/22Parts of, or equipment specially adapted for fitting in or to, cosmonautic vehicles
    • B64G1/24Guiding or controlling apparatus, e.g. for attitude control
    • B64G1/36Guiding or controlling apparatus, e.g. for attitude control using sensors, e.g. sun-sensors, horizon sensors
    • B64G1/369Guiding or controlling apparatus, e.g. for attitude control using sensors, e.g. sun-sensors, horizon sensors using gyroscopes as attitude sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C19/00Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects
    • G01C19/02Rotary gyroscopes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/08Control of attitude, i.e. control of roll, pitch, or yaw

Definitions

  • the present invention relates to an attitude control device for a spacecraft that performs attitude control using a control moment gyro (CMG) mounted on the spacecraft, and a gimbal of each CMG that realizes a given angular momentum of the entire CMG.
  • CMG control moment gyro
  • the present invention relates to a CMG gimbal angle calculation method for finding a corner solution.
  • each kinematic moment of the given CMG is realized by performing inverse kinematics calculation. It is necessary to obtain a solution for the CMG gimbal angle (see, for example, Patent Document 1).
  • Patent Document 1 a solution for inverse kinematics calculation is required using iterative calculation such as Newton's method. Specifically, an approximate solution of the gimbal angle of each CMG that realizes the angular momentum of the whole given CMG is obtained by some method, and the gimbal that realizes the given angular momentum using an iterative calculation such as Newton's method. Find the corner solution.
  • JP 2006-240375 A (5 pages 36 lines to 6 pages 14 lines, 10 pages 5 lines to 44 lines)
  • the prior art has the following problems.
  • the solution of the gimbal angle of each CMG that realizes the angular momentum of the given CMG is obtained by iterative calculation such as Newton's method as in the prior art described in Patent Document 1, the solution is not necessarily obtained. Is not limited. Therefore, the CMG motion plan for realizing the desired posture change cannot be performed, and as a result, the posture change may not be realized.
  • the present invention has been made in order to solve the above-described problem, and the gimbal angle of each CMG that realizes the angular momentum of the whole given CMG can be obtained without using an iterative calculation such as Newton's method. It is an object of the present invention to obtain a spacecraft attitude control device and a CMG gimbal angle calculation method capable of obtaining a solution.
  • the attitude control device for a spacecraft includes a wheel that rotates around a spin axis, and a gimbal that supports the wheel and rotates around a gimbal axis orthogonal to the spin axis, and is mounted on the spacecraft.
  • a spacecraft attitude control device that performs attitude control using a plurality of CMGs, and an inverse kinematics operation for finding a solution for the gimbal angles of a plurality of CMGs necessary to realize the angular momentum of the given CMG as a whole.
  • a gimbal control torque calculator that calculates the gimbal control torque, and the gimbal control torque calculator calculates the angular momentum of the entire CMG by inverse kinematics.
  • the gimbal control torque of a plurality of CMGs is calculated using the solution of the gimbal angles of the plurality of CMGs obtained by giving to the box calculation unit, and the inverse kinematics calculation unit sets the number of CMGs to n (n is 4 or more).
  • the CMG gimbal angle calculation method is such that (n ⁇ 3) out of n gimbal angles corresponding to n CMGs, where n is the number of CMGs (n is an integer of 4 or more). ) Set the number of gimbal angles as free parameters, and use the algebraic equation that shows the relationship between the three gimbal angles out of the n gimbal angles, the free parameters, and the angular momentum of the entire CMG. Obtaining a solution of the gimbal angle of each CMG that realizes the angular momentum of the given CMG as a whole by solving the algebraic equation while changing the value of the parameter within the set range.
  • n is an integer of 4 or more
  • (n-3) gimbal angles out of n gimbal angles corresponding to n CMGs are free.
  • the algebraic equation showing the relationship between the three gimbal angles out of the n gimbal angles, the free parameter, and the angular momentum of the entire CMG, while changing the free parameter within the setting range
  • the solution is obtained so as to obtain the solution of the gimbal angle of each CMG realizing the given angular momentum.
  • the attitude control device of a spacecraft that can obtain the solution of the gimbal angle of each CMG that realizes the angular momentum of the given CMG without using the iterative calculation like the Newton method, and the gimbal angle of the CMG An arithmetic method can be obtained.
  • FIG. 1 is a perspective view showing a schematic configuration of CMG 1 controlled by spacecraft attitude control apparatus 10 according to Embodiment 1 of the present invention.
  • CMG1 is an actuator used for attitude control of an artificial satellite and is a 1-axis gimbal CMG.
  • the CMG 1 includes a wheel that rotates at high speed around the spin axis, and a gimbal that supports the wheel and rotates around a gimbal axis that is orthogonal to the spin axis.
  • the wheel has a certain amount of angular momentum around the spin axis by rotating at high speed. Also, by rotating the gimbal around the gimbal axis and rotating the direction of the angular momentum of the wheel, a large reaction torque acts on the satellite body. This reaction torque is used for attitude control of the satellite.
  • FIG. 2 is an explanatory diagram showing an arrangement example when a plurality of CMGs 1 of FIG. 1 are arranged on the artificial satellite.
  • four or more CMGs 1 are usually arranged on the artificial satellite as shown in FIG. 2, and the attitude control of the artificial satellite is performed by operating these plural CMGs 1 in cooperation. Is feasible.
  • the arrangement of CMG1 shown in FIG. 2 is called a pyramid arrangement because each CMG1 is arranged at the bottom of a quadrangular pyramid, and is one of typical arrangement examples of CMG1.
  • FIG. 3 is a block diagram showing a configuration of the spacecraft attitude control apparatus 10 according to the first embodiment of the present invention.
  • the spacecraft attitude control device 10 (hereinafter sometimes abbreviated as the attitude control device 10) includes an inverse kinematics calculation unit 19 and a gimbal control torque calculation unit 20.
  • the gimbal control torque calculation unit 20 feeds back the observation values of the attitude angle and attitude angular velocity of the artificial satellite and the observation values of the gimbal angle and gimbal angular velocity of each CMG 1 to realize a desired attitude change in the artificial satellite.
  • the gimbal control torque of each CMG 1 necessary for the calculation is calculated.
  • a specific configuration example of the gimbal control torque calculation unit 20 will be described later.
  • the gimbal control torque calculation unit 20 needs to solve the inverse kinematics problem in the process of calculating the gimbal control control torque. Therefore, the gimbal control torque calculator 20 gives the angular momentum of the entire CMG 1 to the inverse kinematics calculator 19.
  • the inverse kinematics calculation unit 19 obtains solutions for the gimbal angles of a plurality of CMGs 1 necessary for realizing the angular momentum of the entire CMG 1 given from the gimbal control torque calculation unit 20.
  • a process for obtaining a solution of the gimbal angle of each CMG1 from the given angular momentum of the entire CMG1 is referred to as an inverse kinematics calculation.
  • the gimbal control torque calculation unit 20 calculates the gimbal control torques of the plurality of CMGs 1 using the solutions of the gimbal angles of the plurality of CMGs 1 obtained by giving the angular kinematics of the entire CMG 1 to the inverse kinematics calculation unit 19.
  • FIG. 4 is a block diagram showing the configuration of the gimbal control torque calculation unit 20 according to Embodiment 1 of the present invention.
  • the gimbal control torque calculator 20 includes an exercise planner 11, a forward kinematics calculator 12, a first subtractor 13, an attitude controller 14, a steering controller 15, an adder 16, and a second subtractor. 17 and a gimbal control unit 18.
  • FIG. 5 is a configuration diagram illustrating an example of a hardware configuration of the spacecraft attitude control device 10 according to the first embodiment of the present invention.
  • FIG. 5 illustrates the case where the attitude control device 10 is realized by the processing circuit 101.
  • a satellite 30 as an artificial satellite includes a receiver 111, a sensor 112, an attitude control device 10, and a CMG gimbal dynamics 2.
  • the receiver 111 receives information related to a target value for changing the attitude of the satellite 30 specified by a satellite user on the ground.
  • the sensor 112 observes the attitude angle and attitude angular velocity of the satellite 30.
  • the attitude control device 10 receives a signal from the receiver 111, plans an attitude change trajectory, and further feeds back the attitude angle and attitude angular velocity information from the sensor 112 to control the satellite 30.
  • the gimbal control torque of each CMG 1 is calculated.
  • a CPU that executes a program stored in a memory (Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, DSP) It may be.
  • a memory Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, DSP
  • FIG. 6 is a configuration diagram illustrating another example of the hardware configuration of the spacecraft attitude control device 10 according to the first embodiment of the present invention. Note that FIG. 6 illustrates a case where the attitude control device 10 is realized by the processor 102 and the memory 103. 5 corresponds to the processor (CPU) 102 and the memory 103.
  • the satellite 30 includes the receiver 111, the sensor 112, the attitude control device 10, and the CMG gimbal dynamics 2 in the same manner as in FIG.
  • the processing circuit 101 corresponds to, for example, a single circuit, a composite circuit, a programmed processor, a processor programmed in parallel, an ASIC, an FPGA, or a combination thereof.
  • Each function of the motion planning unit 11, the forward kinematics calculation unit 12, the posture control unit 14, the steering control unit 15, and the gimbal control unit 18 may be realized by a processing circuit. It may be realized with.
  • the processing circuit is the processor (CPU) 102, the motion planning unit 11, the forward kinematics calculation unit 12, the first subtractor 13, the attitude control unit 14, the steering control unit 15, the adder 16, and the second subtractor 17
  • the functions of the gimbal control unit 18 and the inverse kinematics calculation unit 19 are realized by software, firmware, or a combination of software and firmware.
  • Software and firmware are described as programs and stored in a memory. The processing circuit reads out and executes the program stored in the memory, thereby realizing the function of each unit.
  • the posture control device 10 when executed by the processing circuit 101, is a motion planning step, a forward kinematics calculation step, a first subtraction step, a posture control step, a steering control step, an addition step, and a second subtraction step.
  • These programs include an exercise planning unit 11, a forward kinematics calculation unit 12, a first subtractor 13, an attitude control unit 14, a steering control unit 15, an adder 16, a second subtractor 17, and a gimbal control unit.
  • 18 and the inverse kinematics calculation unit 19 can be said to cause the computer to execute the procedures and methods.
  • the memory corresponds to, for example, a non-volatile or volatile semiconductor memory such as RAM, ROM, flash memory, EPROM, and EEPROM, a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD.
  • a non-volatile or volatile semiconductor memory such as RAM, ROM, flash memory, EPROM, and EEPROM
  • a magnetic disk such as RAM, ROM, flash memory, EPROM, and EEPROM
  • a flexible disk such as a magnetic tape, a magnetic tape, a magnetic tape, a magnetic tape, and a magnetic tape.
  • EPROM erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • the memory includes a gimbal angle planned value and a gimbal angular velocity planned value determined by the motion planning unit 11, a posture angle target value and a posture angular velocity target value set by the forward kinematics calculation unit 12, and a posture Attitude control torque calculated by the control unit 14, gimbal angular velocity correction value calculated by the steering control unit 15, gimbal control torque calculated by the gimbal control unit 18, and gimbal calculated by the inverse kinematics calculation unit 19 Memorize the corner solution. The information stored in the above-mentioned memory is appropriately read out, used for processing, and corrected.
  • a part may be implement
  • the function of the motion planning unit 11 is realized by a processing circuit as dedicated hardware, and the function of the inverse kinematics calculation unit 19 is obtained by the processing circuit reading and executing a program stored in the memory. Can be realized.
  • the processing circuit 101 corresponds to the processor 102 in FIG. 6
  • the memory corresponds to the memory 103 in FIG.
  • the processing circuit can realize the above functions by hardware, software, firmware, or a combination thereof.
  • the operation of each part of the attitude control device 10 will be described.
  • the motion planning unit 11 changes the attitude of the artificial satellite according to the attitude change target value.
  • An exercise plan for each CMG 1 is performed. Specifically, the motion planning unit 11 calculates the motion trajectory of the gimbal angle of each CMG 1 that matches the input posture change target value as the gimbal angle planned value and the gimbal angular velocity planned value. In addition, the motion planning unit 11 outputs the calculated gimbal angle plan value and gimbal angular velocity plan value of each CMG 1 to the forward kinematics calculation unit 12 and the adder 16.
  • the motion planning unit 11 needs to solve the inverse kinematics problem in the process of calculating the motion plan of CMG1. Therefore, the exercise planning unit 11 outputs the angular momentum of the entire CMG 1 to the inverse kinematics calculation unit 19 and performs an exercise plan using the gimbal angle of each CMG 1 returned from the inverse kinematics calculation unit 19.
  • the motion planning unit 11 may be processed by the processing circuit 101 or the processor 102 or may be realized by an independent processing circuit. In addition, the motion planning unit 11 reads out the target value of the attitude change of the artificial satellite from the memory, and stores the calculated gimbal angle planned value and the calculated gimbal angular velocity planned value in the memory.
  • FIG. 7 is a flowchart showing the operation of the forward kinematics calculation unit 12 in the first embodiment of the present invention.
  • the forward kinematics calculation unit 12 receives the given gimbal angle plan value of each CMG1 (step S21) and inputs each of the input CMG1 values. From the planned gimbal angle, the angular momentum of the entire CMG 1 that realizes the gimbal angle is calculated (step S22).
  • the process in which the forward kinematics calculation unit 12 obtains a solution of the angular momentum of the entire CMG1 from the input gimbal angle plan value of each CMG1 is referred to as a forward kinematics calculation.
  • the forward kinematics calculation unit 12 calculates the angular momentum of the entire CMG 1 that can realize the planned value from the gimbal angle planned value of each CMG 1 input from the motion planning unit 11.
  • the forward kinematics calculation unit 12 calculates a target value of the attitude angular velocity of the artificial satellite from the angular momentum of the entire CMG 1 calculated in step S22 (step S23).
  • the total angular momentum is stored in the inertial space, and thus, the target value of the attitude angular velocity of the satellite can be determined from the angular momentum of the entire CMG1.
  • the forward kinematics calculation unit 12 calculates the target value of the attitude angle of the artificial satellite by time-integrating the target value of the attitude angular velocity calculated in step S23 (step S24), and ends the series of processes (step S24). S25).
  • the attitude angle target value and the attitude angular velocity target value of the artificial satellite calculated as described above are output to the first subtracter 13.
  • the forward kinematics calculation unit 12 may be processed by the processing circuit 101 or the processor 102 or may be realized by an independent processing circuit. Further, the forward kinematics calculation unit 12 reads the gimbal angle planned value and the gimbal angular velocity planned value calculated by the motion planning unit 11 from the memory, and stores the calculated attitude angle target value and attitude angle velocity target value of the artificial satellite in the memory. .
  • the first subtractor 13 calculates the attitude angle target value and attitude angular velocity target value of the artificial satellite input from the forward kinematics calculation unit 12 and the attitude angle and attitude angular velocity of the artificial satellite input from the satellite attitude dynamics 3. The deviation is calculated and output to the attitude control unit 14.
  • the attitude angle and attitude angular velocity of the artificial satellite input from the satellite attitude dynamics 3 correspond to observation values of the attitude angle and attitude angular velocity of the artificial satellite.
  • the attitude control unit 14 calculates an attitude control torque for controlling the attitude of the artificial satellite so that the deviation input from the first subtractor 13 is zero, and outputs the calculated attitude control torque to the steering control unit 15. In this way, feedback control is performed from the deviation input from the first subtractor 13 so that the attitude angle of the artificial satellite approaches the attitude angle target value and the attitude angular velocity approaches the attitude angular velocity target value.
  • the attitude control unit 14 determines the artificial satellite from the attitude angle target value and attitude angular velocity target value of the artificial satellite input from the forward kinematics calculation unit 12, and the observed values of the attitude angle and attitude angular velocity of the artificial satellite.
  • the attitude control torque for controlling the attitude is calculated and output.
  • the attitude control unit 14 may be processed by the processing circuit 101 or the processor 102 or may be realized by an independent processing circuit. Further, the attitude control unit 14 reads out the deviation input from the first subtracter 13 from the memory, and stores the calculated attitude control torque in the memory.
  • the steering control unit 15 calculates the gimbal angle correction value and the gimbal angular velocity correction value of each CMG 1 that matches the posture control torque from the posture control torque input from the posture control unit 14 and outputs the calculated values to the adder 16.
  • the steering control unit 15 needs to solve the inverse kinematics problem in the calculation process. Therefore, the steering control unit 15 outputs the angular momentum of the entire CMG 1 to the inverse kinematics calculation unit 19, and uses the gimbal angle of each CMG 1 returned from the inverse kinematics calculation unit 19, and the gimbal angle correction value and the gimbal angular velocity correction value Is calculated.
  • the steering control unit 15 may be processed by the processing circuit 101 or the processor 102, or may be realized by an independent processing circuit. Further, the steering control unit 15 stores the calculated gimbal angle correction value and gimbal angular velocity correction value in the memory.
  • the adder 16 receives the gimbal angle correction value and the gimbal angular velocity correction value of each CMG1 input from the steering control unit 15, and the gimbal angle plan value and the gimbal angular velocity plan value of each CMG1 input from the motion planning unit 11, respectively. to add. Further, the adder 16 outputs the calculated addition value to the second subtracter 17 as the gimbal angle target value and the gimbal angular velocity target value of each CMG1.
  • the second subtracter 17 calculates a deviation between the gimbal angle target value and gimbal angular velocity target value of each CMG1 input from the adder 16 and the gimbal angle and gimbal angular velocity of each CMG1 input from the CMG gimbal dynamics 2. And output to the gimbal control unit 18. Note that the gimbal angle and the gimbal angular velocity of each CMG 1 input from the CMG gimbal dynamics 2 correspond to the observed values of the gimbal angle and the gimbal angular velocity of each CMG 1.
  • the gimbal control unit 18 calculates a gimbal control torque for controlling the rotation of the gimbal of each CMG 1 so that the deviation input from the second subtracter 17 is 0, and outputs the gimbal control torque to the CMG gimbal dynamics 2.
  • feedback control is performed from the deviation input from the second subtractor 17 so that the gimbal angle of each CMG 1 approaches the gimbal angle target value and the gimbal angular velocity approaches the gimbal angular velocity target value.
  • an appropriate gimbal control torque is given to each CMG 1, and a reaction torque of this gimbal control torque is given to the satellite attitude dynamics 3.
  • the artificial satellite is controlled such that the attitude angle and the attitude angular velocity follow the attitude angle target value and the attitude angular velocity target value.
  • the gimbal control unit 18 performs gimbal control of each CMG 1 from the gimbal angle target value and gimbal angular velocity target value of each CMG 1 input from the adder 16 and the observed values of the gimbal angle and gimbal angular velocity of each CMG 1. Calculate and output torque.
  • the gimbal control unit 18 may be processed by the processing circuit 101 or the processor 102, or may be realized by an independent processing circuit.
  • the gimbal control unit 18 stores the calculated gimbal control torque of each CMG 1 in the memory.
  • the forward kinematics computation unit 12 computes the angular momentum of the entire CMG 1 by performing forward kinematics computation on the input gimbal angle of each CMG 1. This forward kinematics operation can be easily performed, and the solution of the forward kinematics operation, that is, the solution of the angular momentum of the entire CMG 1 is uniquely determined.
  • the solution of the inverse kinematics operation that is, the solution of the gimbal angle of each CMG 1 is usually not uniquely determined, and a method for accurately obtaining the solution is not known.
  • the necessity of the posture control apparatus 10 to perform such inverse kinematics calculation specifically includes the following two points, for example. That is, first, when the motion planning unit 11 calculates the motion trajectory of the gimbal angle of each CMG 1, a solution for inverse kinematics calculation may be required. Secondly, when the steering control unit 15 calculates the gimbal angle correction value and the gimbal angular velocity correction value of each CMG 1, a solution of inverse kinematics calculation may be required.
  • inverse kinematics operations are generally performed using iterative calculations such as Newton's method.
  • iterative calculations such as Newton's method.
  • the value of the gimbal angle of each CMG1 that approximately realizes the given angular momentum of the entire CMG1 is obtained by some method, and the given angular momentum is realized by using an iterative calculation such as the Newton method. It is common practice to find a solution for the gimbal angle to be.
  • the spacecraft attitude control device is provided with an inverse kinematics calculation unit 19 that can perform an inverse kinematics calculation strictly without using an iterative calculation such as Newton's method. It is said.
  • the inverse kinematics calculation by the inverse kinematics calculation unit 19 will be further described.
  • the angular momentum of the entire CMG 1 is realized if the angular momentum is realizable.
  • the gimbal angle of each CMG There is a solution for the gimbal angle of each CMG1.
  • the number of CMGs 1 is n (n is an integer of 4 or more)
  • the solution of the gimbal angles of (n ⁇ 3) CMGs 1 is not necessarily determined uniquely.
  • h i is a known amount obtained by subtracting the amount of the free parameter ⁇ f from each component value of the angular momentum of the entire CMG 1. Further, a ij and b ij are coefficients determined by the arrangement of each CMG 1 and become known amounts when the arrangement of each CMG 1 is determined.
  • a ij and b ij can be expressed in a simple form including 0 by appropriately setting a coordinate system representing the angular momentum of the entire CMG 1. In that case, it can be converted into a one-variable algebraic equation including only any one of sin ⁇ j and cos ⁇ j .
  • This calculation includes a calculation for obtaining a solution of the algebraic equation, but a solution that exactly satisfies the angular momentum of the entire CMG1 can be obtained without performing an iterative calculation using an approximate value of the solution such as the Newton method. It is done.
  • the setting range is a range in which the value of the free parameter ⁇ f can move, and how the value of the free parameter ⁇ f is moved may be designed in advance.
  • each of the CMG1 sets of CMG1 is an index for evaluating which is the most appropriate solution among countless solutions. If an evaluation function is used for selection, an optimal solution for each CMG1 that satisfies the angular momentum of the entire CMG1 is obtained. For example, a known evaluation function may be used when specifying the optimal solution for the gimbal angle of each set of CMG1 from the solution of the gimbal angle of each set of CMG1.
  • the inverse kinematics calculation unit 19 is given in advance as the free parameter ⁇ f with (n ⁇ 3) gimbal angles that are an extra degree of freedom when performing the inverse kinematics operation. It is possible to uniquely determine the gimbal angle of each CMG 1 in the absence of the above.
  • a coordinate system xyz fixed to an artificial satellite is considered, and CMG1 (1) and CMG1 (3) are located on the ⁇ x axes, and CMG1 (2 ) And CMG1 (4) are located.
  • the directions of the gimbal axes e g1 , eg 2 , eg 3 , and eg 4 are tilted from the + z axis by an angle ⁇ .
  • Equation (3) h is the magnitude of the angular momentum possessed by each CMG 1 and is a constant.
  • the method of taking the coordinate system in the pyramid arrangement shown in FIG. 2 and the equation (3) are known.
  • Equation (5) corresponds to equation (1).
  • equation (6) when equation (5) is transformed, it is expressed as equation (6) below.
  • Equation (9) the left side is a quadratic and the product of cos [theta] 2 of the sin [theta 2, the right side is a fourth-order equation of sin [theta 2. Therefore, by squaring both sides of Equation (9), an eighth order equation of sin ⁇ 2 is obtained.
  • the coordinate system representing the angular momentum of the entire CMG1 it is converted into a one-variable algebraic equation including only sin ⁇ 2 .
  • theta 2 which is obtained can solve the algebraic equation of the variable containing only sin [theta 2, the gimbal angle theta 1, it is possible to obtain solutions of theta 3.
  • the inverse kinematics calculation unit 19 may be processed by the processing circuit 101 or the processor 102 or may be realized by an independent processing circuit. Further, the inverse kinematics calculation unit 19 reads the angular momentum of the entire CMG 1 from the memory, and stores the calculated solution of the calculated gimbal angle of each CMG 1 in the memory.
  • the gimbal angle solution of each CMG that realizes the given angular momentum of the entire CMG can be accurately calculated without using an iterative calculation such as the Newton method.
  • all the solutions of the CMG gimbal angles satisfying the angular momentum can be calculated, and the combination of solutions that minimizes the evaluation function from the solutions of the gimbal angles And performing posture control using the selected solution, an efficient and smooth posture change can be realized.
  • Embodiment 2 a case will be described in which the motion planning unit 11 calculates the shortest driving time when the attitude of the artificial satellite is changed using the inverse kinematics calculation by the reverse kinematics calculation unit 19.
  • description of points that are the same as those of the first embodiment will be omitted, and points different from the first embodiment will be mainly described.
  • FIG. 8 is a block diagram showing the configuration of the spacecraft attitude control device 10 according to the second embodiment of the present invention.
  • the motion planning unit 11 calculates the shortest driving time when changing the attitude of the artificial satellite.
  • FIG. 9 is a flowchart showing a procedure when the spacecraft attitude control apparatus 10 according to the second embodiment of the present invention calculates the shortest drive time when changing the attitude of the artificial satellite.
  • step S1 when the attitude change target value of the artificial satellite is inputted (step S1), it is considered that the attitude change is realized by rotation around one axis.
  • a rotation axis is called an Euler axis.
  • the motion planning unit 11 calculates the Euler axis from the posture change target value given in step S1 (step S2).
  • the Euler axis can be obtained by simple calculation from the posture change target value.
  • the motion planning unit 11 sets the angular momentum of the entire CMG1 as the direction of the unit vector ⁇ , and calculates the maximum angular momentum that can be generated by the entire CMG1 in that direction (step) S3). Further, the motion planning unit 11 calculates an approximate shortest drive time from the maximum angular momentum calculated in step S3 (step S4), and ends a series of processing (step S5).
  • the attitude control device 10 calculates the maximum angular momentum that can be generated by the entire CMG in the direction of the attitude change axis when the artificial satellite changes the attitude according to the procedure shown in FIG.
  • the shortest drive time for changing the attitude of the artificial satellite is calculated using the result.
  • the posture control apparatus 10 is configured to calculate the maximum angular momentum in step S3 of FIG. 9 using the inverse kinematics calculation by the inverse kinematics calculation unit 19. This is a technical feature.
  • FIG. 10 is an explanatory diagram showing the angular momentum envelope of the entire CMG 1 with respect to the four CMGs 1 in FIG.
  • the maximum angular momentum that can be taken by the entire CMG 1 is shown in a three-dimensional manner.
  • the calculation of the maximum angular momentum of CMG1 in step S3 in FIG. 9 corresponds to the calculation of the magnitude of angular momentum on the angular momentum envelope surface in the direction when the direction of angular momentum is determined.
  • the angular momentum envelope surface has a complicated shape, the calculation of the maximum angular momentum is not always easy.
  • the value of the angular momentum envelope is calculated by calculating a vector called a singular vector corresponding to the direction of the angular momentum.
  • the direction of angular momentum and the singular vector do not always correspond one-to-one, and no method has been found for reliably finding this singular vector in all cases.
  • FIG. 11 is a flowchart showing a procedure when the attitude control device 10 for a spacecraft according to the second embodiment of the present invention calculates the value of the angular momentum envelope surface when the direction of the angular momentum is determined.
  • the process of the flowchart of FIG. 11 is configured to calculate the value of the angular momentum envelope using a bisection method depending on the presence or absence of a gimbal solution by inverse kinematics calculation.
  • step S301 the exercise planning unit 11 determines initial values of the minimum value h min and the maximum value h max of the magnitude of angular momentum.
  • the magnitude of the angular momentum of one CMG 1 is h w
  • h max corresponds to the minimum value of the angular momentum that cannot be generated in the entire CMG1
  • h min corresponds to the maximum value of the angular momentum that can be generated in the entire CMG1.
  • the bisection method is executed until h max ⁇ h min approaches the set accuracy ⁇ h as much as possible.
  • step S302 the exercise planner 11 sets (h max + h min ) / 2 as an intermediate value, and sets the intermediate value as the magnitude h of angular momentum.
  • the motion planning unit 11 calculates the angular momentum h ⁇ from the set intermediate value h and the unit vector ⁇ , and outputs the angular momentum h ⁇ to the inverse kinematics calculation unit 19.
  • This angular momentum h ⁇ corresponds to a candidate value of the maximum angular momentum that can be generated by the entire CMG1.
  • step S303 the inverse kinematics calculation unit 19 sets the value of the free parameter theta f.
  • step S304 the inverse kinematics computation unit 19 performs inverse kinematics computation on the angular momentum h ⁇ input from the motion planning unit 11 using the free parameter ⁇ f set in step S303. That is, the inverse kinematics calculator 19 obtains a solution for the gimbal angle of each CMG 1 that realizes the angular momentum h ⁇ . Further, the inverse kinematics calculation unit 19 outputs the calculation result to the motion planning unit 11.
  • step S305 the motion planning unit 11 checks the presence / absence of a gimbal angle solution that realizes the angular momentum h ⁇ from the calculation result input from the inverse kinematics calculation unit 19.
  • the process of step S306 is executed, and when it is determined that there is a gimbal angle solution that realizes the angular momentum h ⁇ .
  • step S309 the process of step S309 is executed.
  • step S306 the inverse kinematics calculation unit 19 searches for whether or not the free parameter ⁇ f has moved through the entire range of the setting range. In step S306, when the inverse kinematics calculation unit 19 determines that the free parameter ⁇ f does not move in the entire region of the setting range, the region in which the free parameter ⁇ f can move remains, so in step S307 Processing is executed.
  • step S307 the inverse kinematics calculation unit 19 updates the value of the free parameter theta f, the process returns to step S304, using a free parameter theta f updated, step S304 and subsequent processing is executed again.
  • step S306 when the inverse kinematics calculation unit 19 determines that the free parameter ⁇ f has moved in the entire range of the setting range, the angle of the entire CMG 1 is changed even if the free parameter ⁇ f is changed within the setting range. Since there is no solution for the gimbal angle with respect to the momentum h ⁇ , the process of step S308 is executed.
  • step S310 the motion planning unit 11 calculates a value of h max ⁇ h min , and if the value is less than the setting accuracy ⁇ h, the value of h at that time is calculated as the maximum angular momentum in the direction of ⁇ . The value of. Subsequently, in step S311, a series of processing ends.
  • step S310 the exercise planning unit 11 calculates a value of h max ⁇ h min , and if the value is greater than or equal to the set accuracy ⁇ h, the process returns to step S302, and the processes after step S302 are executed again. Is done.
  • the angular momentum h ⁇ corresponding to the candidate value of the maximum angular momentum that can be generated by the entire CMG1 is sequentially updated according to the presence or absence of a solution of the gimbal angle of each CMG that realizes the angular momentum h ⁇ . Since the finally updated angular momentum h ⁇ is the maximum angular momentum, a solution can be obtained reliably regardless of the direction of the angular momentum.
  • the magnitude of the maximum angular momentum when the orientation of the angular momentum of the entire CMG1 is determined is calculated by the bisection method with or without the inverse kinematics calculation, so it is reliable regardless of the angular momentum orientation. To get a solution.
  • the dichotomy is used as a specific method for specifying the maximum angular momentum by sequentially updating the candidate values of the maximum angular momentum is illustrated.
  • the maximum angular momentum is calculated by obtaining a solution of the gimbal angle of each CMG that realizes the candidate value of the maximum angular momentum and sequentially updating the candidate value according to the presence or absence of the solution of the gimbal angle of each CMG.
  • Another method other than the bisection method may be used as long as it is configured.
  • step S1 to step S5 shown in FIG. 9 and from step S301 to step S311 shown in FIG. 11 may be realized using the processing circuit 101, may be realized using the processor 102, or may be performed independently. It may be realized using the processing circuit.
  • the motion planning unit 11 stores the value of the maximum angular momentum obtained by calculating the above steps and the approximate shortest drive time in a memory.
  • the solution of the gimbal angle of each CMG that realizes the candidate value of the maximum angular momentum that can be generated by the entire CMG, which is the angular momentum of the given CMG, is obtained, and the gimbal of each CMG is obtained.
  • the maximum angular momentum is calculated by sequentially updating candidate values of the maximum angular momentum according to the presence or absence of the angular solution.
  • Embodiment 3 FIG.
  • the motion planning unit 11 calculates a motion trajectory of a gimbal angle that passes through an intermediate gimbal angle using the inverse kinematics calculation by the reverse kinematics calculation unit 19.
  • description of points that are the same as in the first and second embodiments will be omitted, and the description will focus on points that are different from the first and second embodiments.
  • FIG. 12 is a flowchart showing a procedure when the spacecraft attitude control apparatus 10 according to the third embodiment of the present invention calculates the motion trajectory of the CMG1 gimbal angle via the intermediate gimbal angle.
  • the motion planning unit 11 calculates the Euler axis ⁇ for attitude change from the attitude change target value of the artificial satellite
  • the angular momentum of the entire CMG 1 is set to ⁇ as in the second embodiment.
  • the maximum angular momentum that can be generated by the entire CMG 1 in the direction is calculated (step S6).
  • step S6 if the maximum angular momentum calculated in step S6 is realized by CMG1, the satellite can change its attitude in the shortest time. However, when the entire CMG1 reaches the maximum angular momentum, an angular momentum larger than that cannot be realized. Therefore, even if the result of adding the angular momentum is obtained in the attitude feedback control of the artificial satellite, the control based on the result cannot be executed.
  • each CMG 1 realizes an angular momentum having the same direction as the maximum angular momentum, and reduced by, for example, about 20% of the maximum angular momentum, and holds the value of the angular momentum for a certain period of time.
  • a motion trajectory that substantially realizes a desired posture change is calculated.
  • the value of the gimbal angle that is held for a certain time in each CMG 1 at this time is called an intermediate gimbal angle.
  • the exercise planning unit 11 calculates the angular momentum obtained by reducing the magnitude of the maximum angular momentum as the angular momentum target value (step S7). In addition, the exercise planning unit 11 outputs the calculated angular momentum target value to the inverse kinematics calculation unit 19.
  • the inverse kinematics computing unit 19 computes an intermediate gimbal angle that realizes the angular momentum target value input from the motion planning unit 11 (step S8). The process of step S8 will be described later.
  • the value of the angular momentum of the entire CMG1 is the maximum angular momentum, even if the number of CMG1 is four or more, the value of the gimbal angle that realizes the angular momentum is uniquely determined.
  • the value of the angular momentum of the entire CMG 1 is smaller than the maximum angular momentum, generally there are innumerable solutions of the gimbal angle that realizes the angular momentum.
  • step S8 the inverse kinematics calculation unit 19 selects the solution that minimizes some evaluation function as the optimal solution from the solutions of the gimbal angles that realize the angular momentum target value, thereby optimizing the solution. Plan. Further, the inverse kinematics calculation unit 19 sets the selected optimal solution as the intermediate gimbal angle, and outputs the intermediate gimbal angle to the motion planning unit 11.
  • the motion planning unit 11 calculates a gimbal motion trajectory that realizes the attitude change target value of the artificial satellite based on the intermediate gimbal angle input from the inverse kinematics calculation unit 19 (step S9), and ends a series of processing. (Step S10).
  • the motion planning unit 11 calculates the motion trajectory of the CMG 1 gimbal angle that passes through the intermediate gimbal angle according to the procedure shown in FIG.
  • the attitude control device 10 is configured to perform the calculation of the intermediate gimbal angle in step S8 of FIG. 12 using the inverse kinematics calculation by the inverse kinematics calculation unit 19. This is a technical feature.
  • FIG. 13 is a flowchart showing a procedure when the spacecraft attitude control device 10 according to the third embodiment of the present invention calculates the intermediate gimbal angle.
  • step S801 the exercise planning unit 11 outputs the angular momentum target value calculated in step S7 to the inverse kinematics calculation unit 19. Subsequently, in step S802, the inverse kinematics calculation unit 19 sets the value of the free parameter ⁇ f for (n ⁇ 3) gimbal angles.
  • step S803 the inverse kinematics calculation unit 19 uses the free parameter ⁇ f set in step S802 to obtain a gimbal angle solution that realizes the angular momentum target value input from the motion planning unit 11.
  • step S804 the inverse kinematics calculator 19 calculates the value of the evaluation function for the gimbal angle solution obtained in step S803.
  • the evaluation function is an index for evaluating which is the most appropriate solution among countless solutions, for example, an index indicating the magnitude of the gimbal angle and the state of the solution of the gimbal angle. An index representing the distance from the singular state is used as the evaluation function. It goes without saying that other indicators may be used.
  • evaluation function J theta As the evaluation function as an index indicating the size of the gimbal angle, for example, it can be used an evaluation function J theta as the following equation (10). However, Expression (10) illustrates an evaluation function when the number of CMGs is four.
  • Equation (11) ⁇ is a vector composed of gimbal angles, and ⁇ is an attitude control torque acting on the artificial satellite.
  • the matrix A is called a Jacobian matrix and can be calculated as a function of the gimbal angle of each CMG1.
  • Jacobian condition number can be used as an evaluation function of how far away from this singular state. That is, for example, an evaluation function J s represented by the following expression (12) can be used as an evaluation function as an index representing the difference between the solution state of the gimbal angle and the singular state.
  • ⁇ max (A) and ⁇ min (A) are the maximum eigenvalue and the minimum eigenvalue of the Jacobian matrix A, respectively.
  • step S805 the inverse kinematics calculation unit 19 searches whether or not the free parameter ⁇ f has moved the entire region of the set range. In step S805, when the inverse kinematics calculation unit 19 determines that the free parameter ⁇ f does not move in the entire region of the setting range, the process of step S806 is executed.
  • step S806 the inverse kinematics calculation unit 19 updates the value of the free parameter theta f, returns to step S803, using a free parameter theta f updated, the processes in and after step S803 are executed again.
  • step S807 the inverse kinematics calculation unit 19 includes the currently obtained gimbal angle solution.
  • the solution that minimizes the evaluation function is an approximate solution that approximates the optimal solution.
  • the resulting approximate solution in this way the step S807, the setting of the value of the free parameter theta f is discrete, precisely the optimum solution when the value of the free parameter theta f is continuously changed Not to say.
  • step S808 is provided.
  • the inverse kinematics calculation unit 19 corrects the approximate solution obtained in step S807 using Newton's method, and sets the corrected approximate solution as the optimal solution.
  • convergence of the Newton method is guaranteed.
  • the inverse kinematics calculation unit 19 sets the optimum solution obtained by correcting the approximate solution as the intermediate gimbal angle. Subsequently, in step S809, a series of processing ends.
  • step S807 the inverse kinematics calculation unit 19 determines that the solution that minimizes the evaluation function is the optimal solution among the solutions of the gimbal angle obtained at the present time, and sets the optimal solution as the intermediate gimbal angle. Also good. In this case, step S808 need not be provided.
  • the solution of the gimbal angle that realizes the angular momentum target value smaller than the maximum angular momentum is obtained by inverse kinematics calculation, and the optimum solution is identified using the evaluation function for the obtained gimbal angle solution,
  • the optimal solution is the intermediate gimbal angle.
  • step S6 to step S10 shown in FIG. 12 and from step S801 to step S809 shown in FIG. 13 may be realized using the processing circuit 101, may be realized using the processor 102, or independently. It may be realized using the processing circuit.
  • the motion planning unit 11 stores the optimum intermediate gimbal angle solution obtained by calculating the above steps and the motion trajectory of the gimbal angle in the memory.
  • a solution that minimizes the first evaluation function is selected as the first optimal solution from the solutions of the gimbal angles of the CMGs that calculate the solution and achieve the calculated first angular momentum target value.
  • One optimal solution is configured to be the intermediate gimbal angle of each CMG.
  • Embodiment 4 FIG.
  • the steering control unit 15 calculates the gimbal angular velocity correction value of each CMG 1 from the attitude control torque using the inverse kinematics calculation by the reverse kinematics calculation unit 19 will be described.
  • description of points that are the same as in the first to third embodiments will be omitted, and differences from the first to third embodiments will be mainly described.
  • FIG. 14 is a block diagram showing the configuration of the spacecraft attitude control device 10 according to the fourth embodiment of the present invention.
  • FIG. 15 is a flowchart showing a procedure when the spacecraft attitude control apparatus 10 according to the fourth embodiment of the present invention calculates the gimbal angular velocity correction value of each CMG 1.
  • the steering control unit 15 is given a posture control torque from the posture control unit 14 (step S11).
  • this attitude control torque is ⁇
  • the angular momentum change ⁇ h of the entire CMG 1 is given by the following equation (13).
  • ⁇ t is a sampling time, and the minus sign is due to the reaction torque of the torque acting on CMG1 acting on the artificial satellite. If the current value of the angular momentum of the entire CMG1 is h 0 , the angular momentum target value after ⁇ t is given by h 0 + ⁇ h.
  • the steering control unit 15 calculates the angular momentum change ⁇ h of the entire CMG1 according to the equation (13), and adds the current value h 0 of the angular momentum of the entire CMG1 to the calculated angular momentum change ⁇ h, thereby calculating the angular momentum target.
  • the value is calculated (step S12).
  • the steering control unit 15 calculates the minute change amount of the angular momentum of the entire CMG 1 from the posture control torque input from the posture control unit 14, and calculates the minute change amount to the current value of the angular momentum of the entire CMG1.
  • the angular momentum target value is calculated.
  • the steering control unit 15 outputs the angular momentum target value calculated in step S ⁇ b> 12 to the inverse kinematics calculation unit 19.
  • the inverse kinematics calculation unit 19 obtains an optimal solution for the gimbal angle of each CMG 1 that realizes the angular momentum target value input from the steering control unit 15 (step S13).
  • the inverse kinematics calculation unit 19 obtains the optimal solution for the gimbal angle of each CMG 1 by performing the same process as the process of the flowchart of FIG. 13 using the evaluation function. That is, the inverse kinematics calculation unit 19 sets a solution that minimizes some evaluation function among the solutions of the gimbal angle that realizes the angular momentum target value as the optimal solution.
  • the inverse kinematics calculation unit 19 outputs the optimal solution for the gimbal angle of each CMG 1 to the steering control unit 15.
  • the steering control unit 15 calculates the difference between the optimal solution input from the inverse kinematics calculation unit 19 (hereinafter, the optimal solution may be expressed as ⁇ m ) and the current gimbal angle value ⁇ 0.
  • the optimal solution may be expressed as ⁇ m
  • a certain ⁇ m ⁇ 0 is obtained, and the norm
  • the set value ⁇ is an amount that determines the maximum value of the gimbal angular velocity correction value.
  • the steering control unit 15 determines the gimbal angular velocity correction value of each CMG 1 as follows: (Step S15), and a series of processing ends (step S17).
  • the steering control unit 15 determines the gimbal angular velocity correction value of each CMG 1 as follows: (Step S16), and a series of processing ends (step S17).
  • can be used as an example of the evaluation function used in step S13.
  • the solution of the gimbal angle that makes the difference from the current gimbal angle ⁇ 0 as small as possible may be selected as the optimal solution.
  • a gimbal angle solution that achieves the angular momentum target value of the entire CMG 1 is obtained by inverse kinematics calculation, an optimum solution is identified using the evaluation function for the obtained gimbal angle solution, and the optimum solution is determined. It is used to calculate the gimbal angular velocity correction value. Therefore, when calculating the gimbal angular velocity correction value from the attitude control torque, an appropriate gimbal angular velocity correction value can always be calculated even if a singular state where the inverse matrix of the Jacobian matrix cannot be obtained is obtained. It is possible to pass through the state naturally.
  • the gimbal angle correction value can be obtained by time integration of the obtained gimbal angular velocity correction value.
  • step S11 to step S17 shown in FIG. 15 may be realized using the processing circuit 101, may be realized using the processor 102, or may be realized using an independent processing circuit.
  • the steering control unit 15 stores the gimbal angle correction value and the gimbal angular velocity correction value obtained by calculating the above steps in a memory.
  • the minute change amount of the angular momentum of the entire CMG calculated from the attitude control torque and the current value of the angular momentum of the entire CMG, which are the angular momentum of the given CMG, are added.
  • the solution that minimizes the second evaluation function is selected as the second optimal solution from the solutions of the gimbal angles of the respective CMGs that realize the second angular momentum target value, and the selected second optimal solution is selected. Accordingly, the gimbal angular velocity correction value of each CMG is calculated.
  • the angular momentum target value of the entire CMG all the solutions of the gimbal angles of each CMG that satisfy the angular momentum target value can be obtained. Further, the gimbal angular velocity correction value of each CMG can be obtained according to the solution selected from the solutions of the gimbal angle using the evaluation function. In addition, even when the CMG enters a singular state, a gimbal angular velocity correction value that naturally passes through the singular state can be obtained. As a result, the reliability of the attitude control system is improved.
  • the first to fourth embodiments have been individually described.
  • the configurations of the first to fourth embodiments can be arbitrarily combined. Needless to say, the effect can be duplicated.

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

CMGの台数をn(nは、4以上の整数)とするとき、n台のCMGに対応するn個のジンバル角のうちの(n-3)個のジンバル角をフリーパラメータとして設定し、n個のジンバル角のうちの3個のジンバル角と、フリーパラメータと、CMG全体の角運動量との関係を示す代数方程式を用いて、フリーパラメータを設定範囲内で変化させながら代数方程式を解くことで、与えられた角運動量を実現するために必要な複数のCMGのジンバル角の解を求めるように構成する。

Description

宇宙機の姿勢制御装置およびCMGのジンバル角演算方法
 本発明は、宇宙機に搭載されたコントロールモーメントジャイロ(CMG:Control Moment Gyro)を用いて姿勢制御を行う宇宙機の姿勢制御装置、および与えられたCMG全体の角運動量を実現する各CMGのジンバル角の解を求めるCMGのジンバル角演算方法に関するものである。
 CMGを用いて宇宙機の3軸姿勢制御を行う場合、3台以上の1軸ジンバルCMGが用いられることが多い。このようなCMGのシステムにおいて、CMG全体の角運動量の目標値を与えたとき、その角運動量を実現する各CMGのジンバル角を演算する逆キネマティクス演算を行うことがある。なお、CMG全体の角運動量とは、各CMGが有する角運動量ベクトルのベクトル和に相当する。
 ここで、例えば、CMGの運動計画が行われる場合、またはCMGを用いてリアルタイムで姿勢制御が行われる場合において、逆キネマティクス演算を行うことで、与えられたCMG全体の角運動量を実現する各CMGのジンバル角の解を求める必要が生じる(例えば、特許文献1参照)。
 特許文献1に記載の従来技術では、ニュートン法のような繰り返し計算を用いて、逆キネマティクス演算の解が求められている。具体的には、与えられたCMG全体の角運動量を実現する各CMGのジンバル角の近似解を何らかの方法で求め、ニュートン法のような繰り返し計算を用いて、与えられた角運動量を実現するジンバル角の解を求める。
特開2006-240375号公報(5頁36行~6頁14行、10頁5行~44行)
 しかしながら、従来技術には以下のような課題がある。
 特許文献1に記載の従来技術のように、ニュートン法のような繰り返し計算によって、与えられたCMG全体の角運動量を実現する各CMGのジンバル角の解を求める場合、必ずしもその解が得られるとは限らない。そのため、所望の姿勢変更を実現するためのCMGの運動計画を行うことができず、結果として、姿勢変更を実現することができない可能性がある。
 また、CMGの台数が4台以上になると、一般に、与えられたCMG全体の角運動量を実現する各CMGのジンバル角の解が無数に存在する。しかしながら、ニュートン法のような繰り返し計算によって各CMGのジンバル角の解を求める場合、あらかじめ演算したジンバル角の近似解の近傍の解しか得ることができない。したがって、このように演算した各CMGのジンバル角の解が、無数に存在する解の中で、姿勢変更を行う上で考慮すべき評価関数を最小化する解であるという保証はない。
 さらに、ニュートン法のような繰り返し計算の収束性を保証するためには、十分に精度の高いジンバル角の近似解をもとに計算を始める必要があるが、そのような近似解を確実に演算する方法は必ずしも確立されてはいない。
 本発明は、前記のような課題を解決するためになされたものであり、ニュートン法のような繰り返し計算を用いなくても、与えられたCMG全体の角運動量を実現する各CMGのジンバル角の解を求めることのできる宇宙機の姿勢制御装置およびCMGのジンバル角演算方法を得ることを目的とする。
 本発明における宇宙機の姿勢制御装置は、スピン軸回りに回転するホイールと、ホイールを支持するとともにスピン軸に対して直交するジンバル軸回りに回転するジンバルとを有し、宇宙機に搭載される複数のCMGを用いて、姿勢制御を行う宇宙機の姿勢制御装置であって、与えられたCMG全体の角運動量を実現するために必要な複数のCMGのジンバル角の解を求める逆キネマティクス演算部と、宇宙機の姿勢角および姿勢角速度の観測値と、各CMGのジンバル角およびジンバル角速度の観測値をフィードバックすることで、宇宙機において所望の姿勢変更を実現するために必要な各CMGのジンバル制御トルクを演算するジンバル制御トルク演算部と、を備え、ジンバル制御トルク演算部は、CMG全体の角運動量を逆キネマティクス演算部に与えることで得られる複数のCMGのジンバル角の解を用いて、複数のCMGのジンバル制御トルクを演算し、逆キネマティクス演算部は、CMGの台数をn(nは、4以上の整数)とするとき、n台のCMGに対応するn個のジンバル角のうちの(n-3)個のジンバル角をフリーパラメータとして設定し、n個のジンバル角のうちの3個のジンバル角と、フリーパラメータと、CMG全体の角運動量との関係を示す代数方程式を用いて、フリーパラメータの値を設定範囲内で変化させながら代数方程式を解くことで、与えられたCMG全体の角運動量を実現する複数のCMGのジンバル角の解を求めるものである。
 また、本発明におけるCMGのジンバル角演算方法は、CMGの台数をn(nは、4以上の整数)とするとき、n台のCMGに対応するn個のジンバル角のうちの(n-3)個のジンバル角をフリーパラメータとして設定するステップと、n個のジンバル角のうちの3個のジンバル角と、フリーパラメータと、CMG全体の角運動量との関係を示す代数方程式を用いて、フリーパラメータの値を設定範囲内で変化させながら代数方程式を解くことで、与えられたCMG全体の角運動量を実現する各CMGのジンバル角の解を求めるステップと、を備えたものである。
 本発明によれば、CMGの台数をn(nは、4以上の整数)とするとき、n台のCMGに対応するn個のジンバル角のうちの(n-3)個のジンバル角をフリーパラメータとして設定し、n個のジンバル角のうちの3個のジンバル角と、フリーパラメータと、CMG全体の角運動量との関係を示す代数方程式を用いて、フリーパラメータを設定範囲内で変化させながら代数方程式を解くことで、与えられた角運動量を実現する各CMGのジンバル角の解を求めるように構成する。これにより、ニュートン法のような繰り返し計算を用いなくても、与えられたCMG全体の角運動量を実現する各CMGのジンバル角の解を求めることのできる宇宙機の姿勢制御装置およびCMGのジンバル角演算方法を得ることができる。
本発明の実施の形態1における宇宙機の姿勢制御装置によって制御されるCMGの概略構成を示す斜視図である。 図1のCMGを人工衛星に複数台配置する場合の配置例を示す説明図である。 本発明の実施の形態1における宇宙機の姿勢制御装置の構成を示すブロック図である。 本発明の実施の形態1におけるジンバル制御トルク演算部の構成を示すブロック図である。 本発明の実施の形態1における宇宙機の姿勢制御装置のハードウェア構成の一例を示す構成図である。 本発明の実施の形態1における宇宙機の姿勢制御装置のハードウェア構成の別例を示す構成図である。 本発明の実施の形態1における順キネマティクス演算部の動作を示すフローチャートである。 本発明の実施の形態2における宇宙機の姿勢制御装置の構成を示すブロック図である。 本発明の実施の形態2における宇宙機の姿勢制御装置が、人工衛星の姿勢変更を行うときの最短駆動時間を演算する際の手順を示すフローチャートである。 図2の4台のCMGに対するCMG全体の角運動量包絡面を示す説明図である。 本発明の実施の形態2における宇宙機の姿勢制御装置が、角運動量の向きを定めたときの角運動量包絡面の値を演算する際の手順を示すフローチャートである。 本発明の実施の形態3における宇宙機の姿勢制御装置が、中間ジンバル角を経由するCMGのジンバル角の運動軌道を演算する際の手順を示すフローチャートである。 本発明の実施の形態3における宇宙機の姿勢制御装置が、中間ジンバル角を演算する際の手順を示すフローチャートである。 本発明の実施の形態4における宇宙機の姿勢制御装置の構成を示すブロック図である。 本発明の実施の形態4における宇宙機の姿勢制御装置が、各CMGのジンバル角速度補正値を演算する際の手順を示すフローチャートである。
 以下、本発明による宇宙機の姿勢制御装置およびCMGのジンバル角演算方法を、好適な実施の形態にしたがって図面を用いて説明する。なお、図面の説明においては、同一部分または相当部分には同一符号を付し、重複する説明を省略する。また、以下の実施の形態では、宇宙機が人工衛星である場合を例示するが、宇宙船等の他の宇宙機に対しても本願発明が適用可能である。
 実施の形態1.
 図1は、本発明の実施の形態1における宇宙機の姿勢制御装置10によって制御されるCMG1の概略構成を示す斜視図である。図1において、CMG1は、人工衛星の姿勢制御に用いられるアクチュエータであり、1軸ジンバルCMGである。また、CMG1は、スピン軸回りに高速で回転するホイールと、そのホイールを支持するとともにスピン軸に対して直交するジンバル軸回りに回転するジンバルとを備えて構成される。
 CMG1において、ホイールは、高速回転することで、スピン軸回りに一定量の角運動量を有する。また、ジンバルをジンバル軸回りに回転させ、ホイールの角運動量の向きを回転させることで、人工衛星本体に大きな反作用トルクが働く。この反作用トルクは、人工衛星の姿勢制御に利用される。
 図2は、図1のCMG1を人工衛星に複数台配置する場合の配置例を示す説明図である。図2において、CMG1は、通常、図2に示すように4台、または4台以上の台数が人工衛星に配置され、これら複数台のCMG1を協調して動作させることで、人工衛星の姿勢制御が実現可能となる。図2に示したCMG1の配置は、各CMG1が四角錐の底辺に配置されていることからピラミッド配置と呼ばれ、CMG1の典型的な配置例の一つである。
 図3は、本発明の実施の形態1における宇宙機の姿勢制御装置10の構成を示すブロック図である。図3において、宇宙機の姿勢制御装置10(以下では、姿勢制御装置10と略すことがある)は、逆キネマティクス演算部19と、ジンバル制御トルク演算部20とを備える。
 ジンバル制御トルク演算部20は、人工衛星の姿勢角および姿勢角速度の観測値と、各CMG1のジンバル角およびジンバル角速度の観測値とをフィードバックすることで、人工衛星において所望の姿勢変更を実現するために必要な各CMG1のジンバル制御トルクを演算する。なお、ジンバル制御トルク演算部20の具体的な構成例については、後述する。
 ジンバル制御トルク演算部20は、ジンバル制御制御トルクを演算する過程において、逆キネマティクス問題を解く必要がある。そこで、ジンバル制御トルク演算部20は、CMG1全体の角運動量を逆キネマティクス演算部19に与える。
 逆キネマティクス演算部19は、ジンバル制御トルク演算部20から与えられたCMG1全体の角運動量を実現するために必要な複数のCMG1のジンバル角の解を求める。ここで、逆キネマティクス演算部19において、与えられたCMG1全体の角運動量から、各CMG1のジンバル角の解を求める処理を、逆キネマティクス演算と呼ぶ。
 ジンバル制御トルク演算部20は、CMG1全体の角運動量を逆キネマティクス演算部19に与えることで得られる複数のCMG1のジンバル角の解を用いて、複数のCMG1のジンバル制御トルクを演算する。
 次に、ジンバル制御トルク演算部20の構成について、図4を参照しながら説明する。図4は、本発明の実施の形態1におけるジンバル制御トルク演算部20の構成を示すブロック図である。
 図4において、ジンバル制御トルク演算部20は、運動計画部11、順キネマティクス演算部12、第1の減算器13、姿勢制御部14、ステアリング制御部15、加算器16、第2の減算器17、ジンバル制御部18を備える。
 次に、姿勢制御装置10のハードウェア構成の一例について、図5を参照しながら説明する。図5は、本発明の実施の形態1における宇宙機の姿勢制御装置10のハードウェア構成の一例を示す構成図である。なお、図5では、姿勢制御装置10は、処理回路101によって実現される場合を例示している。
 図5において、人工衛星としての衛星30は、受信機111、センサ112、姿勢制御装置10およびCMGジンバルダイナミクス2を備える。受信機111は、地上の衛星利用者によって指定される、衛星30の姿勢変更の目標値に関する情報を受信する。センサ112は、衛星30の姿勢角および姿勢角速度を観測する。
 姿勢制御装置10は、受信機111からの信号を受けて姿勢変更軌道を計画し、さらに、センサ112からの姿勢角および姿勢角速度の情報をフィードバックすることで、衛星30を制御するために必要な各CMG1のジンバル制御トルクを演算する。
 処理回路は、専用のハードウェアであっても、メモリに格納されるプログラムを実行するCPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSPともいう)であってもよい。
 次に、姿勢制御装置10のハードウェア構成の別例について、図6を参照しながら説明する。図6は、本発明の実施の形態1における宇宙機の姿勢制御装置10のハードウェア構成の別例を示す構成図である。なお、図6では、姿勢制御装置10は、プロセッサ102およびメモリ103によって実現される場合を例示している。また、図5の処理回路101は、プロセッサ(CPU)102とメモリ103に当たる。
 図6において、衛星30は、先の図5と同様に、受信機111、センサ112、姿勢制御装置10およびCMGジンバルダイナミクス2を備える。
 処理回路101が、専用のハードウェアである場合、処理回路101は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGA、またはこれらを組み合わせたものが該当する。運動計画部11、順キネマティクス演算部12、姿勢制御部14、ステアリング制御部15、ジンバル制御部18の各部の機能それぞれを処理回路で実現してもよいし、各部の機能をまとめて処理回路で実現してもよい。
 処理回路がプロセッサ(CPU)102の場合、運動計画部11、順キネマティクス演算部12、第1の減算器13、姿勢制御部14、ステアリング制御部15、加算器16、第2の減算器17、ジンバル制御部18および逆キネマティクス演算部19の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアおよびファームウェアは、プログラムとして記述され、メモリに格納される。処理回路は、メモリに記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。
 すなわち、姿勢制御装置10は、処理回路101により実行されるときに、運動計画ステップ、順キネマティクス演算ステップ、第1の減算ステップ、姿勢制御ステップ、ステアリング制御ステップ、加算ステップ、第2の減算ステップ、ジンバル制御ステップおよび逆キネマティクス演算ステップが結果的に実行されることになるプログラムを格納するためのメモリを備える。また、これらのプログラムは、運動計画部11、順キネマティクス演算部12、第1の減算器13、姿勢制御部14、ステアリング制御部15、加算器16、第2の減算器17、ジンバル制御部18および逆キネマティクス演算部19の手順および方法をコンピュータに実行させるものであるともいえる。
 ここで、メモリとは、例えば、RAM、ROM、フラッシュメモリ、EPROM、EEPROM等の、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等が該当する。
 メモリは、上述のプログラムの他、運動計画部11で決定されるジンバル角計画値およびジンバル角速度計画値と、順キネマティクス演算部12で設定される姿勢角目標値および姿勢角速度目標値と、姿勢制御部14で計算される姿勢制御トルクと、ステアリング制御部15で計算されるジンバル角速度補正値と、ジンバル制御部18で計算されるジンバル制御トルクと、逆キネマティクス演算部19で計算されるジンバル角の解とを記憶する。上述のメモリに記憶された情報は、適宜読みだされ処理に用いられ、修正される。
 なお、運動計画部11、順キネマティクス演算部12、第1の減算器13、姿勢制御部14、ステアリング制御部15、加算器16、第2の減算器17、ジンバル制御部18および逆キネマティクス演算部19の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。例えば、運動計画部11については専用のハードウェアとしての処理回路でその機能を実現し、逆キネマティクス演算部19については、処理回路がメモリに格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。なお、上記において、図5では、処理回路101は、図6のプロセッサ102に当たり、メモリは、図6のメモリ103に当たる。
 このように、処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。以下、姿勢制御装置10の各部の動作を説明する。
 図4の説明に戻り、姿勢制御装置10のジンバル制御トルク演算部20に人工衛星の姿勢変更の目標値が与えられると、運動計画部11は、その姿勢変更目標値に従って人工衛星が姿勢変更を行う際の各CMG1の運動計画を行う。具体的には、運動計画部11は、入力された姿勢変更目標値に適合する各CMG1のジンバル角の運動軌道を、ジンバル角計画値およびジンバル角速度計画値として演算する。また、運動計画部11は、演算した各CMG1のジンバル角計画値およびジンバル角速度計画値を、順キネマティクス演算部12および加算器16に出力する。
 また、運動計画部11は、CMG1の運動計画を演算する過程において、逆キネマティクス問題を解く必要がある。そこで、運動計画部11は、CMG1全体の角運動量を逆キネマティクス演算部19に出力し、逆キネマティクス演算部19から返される各CMG1のジンバル角を用いて運動計画を行う。
 運動計画部11は、処理回路101、またはプロセッサ102で処理してもよいし、独立した処理回路で実現してもよい。また、運動計画部11は、人工衛星の姿勢変更の目標値等をメモリから読み出し、演算したジンバル角計画値およびジンバル角速度計画値をメモリに記憶する。
 次に、順キネマティクス演算部12について、図7を参照しながら説明する。図7は、本発明の実施の形態1における順キネマティクス演算部12の動作を示すフローチャートである。
 順キネマティクス演算部12に各CMG1のジンバル角計画値が与えられると、順キネマティクス演算部12は、与えられた各CMG1のジンバル角計画値を受け取り(ステップS21)、入力された各CMG1のジンバル角計画値から、そのジンバル角を実現するCMG1全体の角運動量を演算する(ステップS22)。ここで、順キネマティクス演算部12において、入力された各CMG1のジンバル角計画値から、CMG1全体の角運動量の解を求める処理を、順キネマティクス演算と呼ぶ。
 図4の構成では、順キネマティクス演算部12は、運動計画部11から入力された各CMG1のジンバル角計画値から、その計画値を実現可能とするCMG1全体の角運動量を演算する。
 また、順キネマティクス演算部12は、ステップS22で計算されたCMG1全体の角運動量から、人工衛星の姿勢角速度の目標値を演算する(ステップS23)。CMG1を含む人工衛星全体では、総角運動量が慣性空間において保存されるので、このように、CMG1全体の角運動量から、人工衛星の姿勢角速度の目標値を定めることができる。
 順キネマティクス演算部12は、ステップS23で計算された姿勢角速度の目標値を時間積分することで、人工衛星の姿勢角の目標値を演算し(ステップS24)、一連の処理を終了する(ステップS25)。以上のように演算された人工衛星の姿勢角目標値および姿勢角速度目標値は、第1の減算器13に出力される。
 順キネマティクス演算部12は、処理回路101、またはプロセッサ102で処理してもよいし、独立した処理回路で実現してもよい。また、順キネマティクス演算部12は、運動計画部11で演算したジンバル角計画値およびジンバル角速度計画値をメモリから読み出し、演算した人工衛星の姿勢角目標値および姿勢角速度目標値をメモリに記憶する。
 第1の減算器13は、順キネマティクス演算部12から入力された人工衛星の姿勢角目標値および姿勢角速度目標値と、衛星姿勢ダイナミクス3から入力された人工衛星の姿勢角および姿勢角速度との偏差を演算して姿勢制御部14に出力する。なお、衛星姿勢ダイナミクス3から入力された人工衛星の姿勢角および姿勢角速度は、人工衛星の姿勢角および姿勢角速度の観測値に相当する。
 姿勢制御部14は、第1の減算器13から入力された偏差を0にするように、人工衛星の姿勢を制御するための姿勢制御トルクを演算してステアリング制御部15に出力する。このように、第1の減算器13から入力された偏差から、人工衛星の姿勢角を姿勢角目標値に近づけるとともに姿勢角速度を姿勢角速度目標値に近づけるようにフィードバック制御が行われる。
 このように、姿勢制御部14は、順キネマティクス演算部12から入力された人工衛星の姿勢角目標値および姿勢角速度目標値と、人工衛星の姿勢角および姿勢角速度の観測値とから、人工衛星の姿勢を制御するための姿勢制御トルクを演算して出力する。
 姿勢制御部14は、処理回路101、またはプロセッサ102で処理してもよいし、独立した処理回路で実現してもよい。また、姿勢制御部14は、第1の減算器13から入力された偏差をメモリから読み出し、演算した姿勢制御トルクをメモリに記憶する。
 ステアリング制御部15は、姿勢制御部14から入力された姿勢制御トルクから、その姿勢制御トルクに整合する各CMG1のジンバル角補正値およびジンバル角速度補正値を演算して加算器16に出力する。
 また、ステアリング制御部15は、その演算の過程において、逆キネマティクス問題を解く必要がある。そこで、ステアリング制御部15は、CMG1全体の角運動量を逆キネマティクス演算部19に出力し、逆キネマティクス演算部19から返される各CMG1のジンバル角を用いてジンバル角補正値およびジンバル角速度補正値を演算する。
 ステアリング制御部15は、処理回路101、またはプロセッサ102で処理してもよいし、独立した処理回路で実現してもよい。また、ステアリング制御部15は、演算したジンバル角補正値およびジンバル角速度補正値をメモリに記憶する。
 加算器16は、ステアリング制御部15から入力された各CMG1のジンバル角補正値およびジンバル角速度補正値と、運動計画部11から入力された各CMG1のジンバル角計画値およびジンバル角速度計画値とをそれぞれ加算する。また、加算器16は、演算した加算値を、各CMG1のジンバル角目標値およびジンバル角速度目標値として第2の減算器17に出力する。
 第2の減算器17は、加算器16から入力された各CMG1のジンバル角目標値およびジンバル角速度目標値と、CMGジンバルダイナミクス2から入力された各CMG1のジンバル角およびジンバル角速度との偏差を演算してジンバル制御部18に出力する。なお、CMGジンバルダイナミクス2から入力された各CMG1のジンバル角およびジンバル角速度は、各CMG1のジンバル角およびジンバル角速度の観測値に相当する。
 ジンバル制御部18は、第2の減算器17から入力された偏差を0とするように、各CMG1のジンバルの回転を制御するためのジンバル制御トルクを演算してCMGジンバルダイナミクス2に出力する。このように、第2の減算器17から入力された偏差から、各CMG1のジンバル角をジンバル角目標値に近づけるとともにジンバル角速度をジンバル角速度目標値に近づけるようにフィードバック制御が行われる。
 そのため、各CMG1に適切なジンバル制御トルクが与えられることとなり、このジンバル制御トルクの反作用トルクは、衛星姿勢ダイナミクス3に与えられる。この反作用トルクが与えられることで、姿勢角および姿勢角速度が姿勢角目標値および姿勢角速度目標値に従うように人工衛星が制御される。
 このように、ジンバル制御部18は、加算器16から入力された各CMG1のジンバル角目標値およびジンバル角速度目標値と、各CMG1のジンバル角およびジンバル角速度の観測値とから、各CMG1のジンバル制御トルクを演算して出力する。
 ジンバル制御部18は、処理回路101、またはプロセッサ102で処理してもよいし、独立した処理回路で実現してもよい。また、ジンバル制御部18は、演算した各CMG1のジンバル制御トルクをメモリに記憶する。
 続いて、逆キネマティクス演算部19による逆キネマティクス演算について説明する。前述したとおり、順キネマティクス演算部12は、入力された各CMG1のジンバル角に対して順キネマティクス演算を施すことで、CMG1全体の角運動量を演算している。この順キネマティクス演算は、容易に行うことが可能であり、順キネマティクス演算の解、すなわち、CMG1全体の角運動量の解も一意に定まる。
 これに対して、逆キネマティクス演算の解、すなわち、各CMG1のジンバル角の解は、通常、一意には定まらず、その解を厳密に求める方法も知られていない。なお、姿勢制御装置10がこのような逆キネマティクス演算を行う必要性としては、具体的には、例えば、以下の2点が挙げられる。すなわち、第1に、運動計画部11による各CMG1のジンバル角の運動軌道の演算する際に、逆キネマティクス演算の解が必要となることがある。第2に、ステアリング制御部15による各CMG1のジンバル角補正値およびジンバル角速度補正値を演算する際に、逆キネマティクス演算の解が必要となることがある。
 そこで、ニュートン法のような繰り返し計算を用いて、逆キネマティクス演算が一般的に行われている。具体的には、与えられたCMG1全体の角運動量を近似的に実現する各CMG1のジンバル角の値を何らかの方法で求め、ニュートン法のような繰り返し計算を用いて、与えられた角運動量を実現するジンバル角の解を求めることが一般的に行われている。
 本発明における宇宙機の姿勢制御装置では、ニュートン法のような繰り返し計算を用いることなく、逆キネマティクス演算を厳密に行うことが可能な逆キネマティクス演算部19を備えていることを技術的特徴としている。以下、逆キネマティクス演算部19による逆キネマティクス演算について、さらに説明する。
 人工衛星に配置されるCMG1の台数、すなわち姿勢制御装置10によって制御されるCMG1の台数が3台以上の場合、CMG1全体の角運動量が実現可能な大きさであれば、その角運動量を実現する各CMG1のジンバル角の解が存在する。ただし、CMG1の台数がn台(nは4以上の整数)の場合、(n-3)個のCMG1のジンバル角の解が必ずしも一意には定まらない。
 ここで、解が必ずしも一意には定まらない(n-3)個のジンバル角をまとめてフリーパラメータθfと呼ぶ。本発明では、このフリーパラメータθfという概念を新たに導入する。
 フリーパラメータθfの値を適当に定めるとき、(n-3)個のジンバル角以外の残りの3個のジンバル角θj(j=1,2,3)は、下式(1)の代数方程式を満たす必要がある。
Figure JPOXMLDOC01-appb-M000001
 式(1)において、hiはCMG1全体の角運動量の各成分値から、フリーパラメータθfの分を差し引いた既知量である。また、aijおよびbijは、各CMG1の配置によって定まる係数であり、各CMG1の配置を決めれば既知量となる。式(1)の未知量は、3個のジンバル角θj(j=1,2,3)となるが、sinθjとcosθjの間には、よく知られているように、下式(2)の関係式が成立する。
Figure JPOXMLDOC01-appb-M000002
 ここで、sinθjとcosθjを未知量と見なすことにすれば、式(1)および式(2)は、6個の未知量に対する6個の式となる。ただし、これらの式は、連立代数方程式となるので一般には解を得ることが容易ではない。そこで、CMG1全体の角運動量を表す座標系を適切に設定することで、aijおよびbijを、0を含む簡単な形で表すことができる。その場合、sinθjとcosθjの中のどれかの変数だけを含む1変数の代数方程式に変換することができる。
 1変数の代数方程式の解は容易に得られるので、その解を用いて他の変数を求めれば、最終的にすべての変数の解を求めることができる。この計算の中には、代数方程式の解を求める計算が含まれるが、ニュートン法のような解の近似値を用いた繰り返し計算を行うことなく、厳密にCMG1全体の角運動量を満たす解が得られる。
 また、フリーパラメータθfの値は任意となり、フリーパラメータθfの値がそのまま(n-3)個のジンバル角の解となる。したがって、フリーパラメータθfの値を設定範囲内で変化させながら、変化後のフリーパラメータθfの値ごとに、3個のジンバル角θj(j=1,2,3)を演算すれば、複数組の各CMG1のジンバル角の解が得られる。なお、設定範囲とは、フリーパラメータθfの値が動き得る範囲であり、どのようにフリーパラメータθfの値を動かすかは、あらかじめ設計しておけばよい。
 以上より、原理的には、CMG1全体の角運動量を実現するすべてのジンバル角の解を得ることができる。また、複数組の各CMG1のジンバル角の解のうちの、1組の各CMG1のジンバル角の解を、無数にある解の中でどれがもっとも適切な解であるかを評価する指標である評価関数を用いて選択すれば、CMG1全体の角運動量を満たす各CMG1の最適解が得られる。なお、複数組の各CMG1のジンバル角の解から、1組の各CMG1のジンバル角の最適解を特定する際には、例えば、公知の評価関数を用いればよい。
 このように、逆キネマティクス演算部19は、逆キネマティクス演算を行う際の余分な自由度となる(n-3)個のジンバル角をフリーパラメータθfとしてあらかじめ与えられるので、余分な自由度がない状態で、各CMG1のジンバル角を一意に定めることが可能となる。
 続いて、具体例として、n=4の場合における逆キネマティクス演算について説明する。この具体例では、図2に示すように、人工衛星に固定された座標系xyzを考え、±x軸上にCMG1(1)およびCMG1(3)が位置し、±y軸上にCMG1(2)およびCMG1(4)が位置するとする。また、ジンバル軸eg1,eg2,eg3,eg4の各方向が+z軸から角度βだけ倒れているとする。また、ジンバル角θ1,θ2,θ3,θ4が0のときのスピン軸es1,es2,es3,es4がそれぞれ+y,-x,-y,+x方向に一致するとする。
 このように座標系をとるとき、各CMG1のジンバル角がθ1,θ2,θ3,θ4であるときのCMG1全体の角運動量のx,y,z成分H1,H2,H3は、下式(3)のように表される。
Figure JPOXMLDOC01-appb-M000003
 ただし、式(3)において、hは、各CMG1が保有する角運動量の大きさであり、定数である。なお、CMG1が4台存在する場合において、図2に示すピラミッド配置における座標系のとり方、および式(3)は、公知である。
 続いて、n=4、すなわち、CMG1の台数が4台であるので、フリーパラメータθfの次元が1(=4-3)となり、θf=θ4とする。このとき、CMG1全体の角運動量の各成分H1,H2,H3から、フリーパラメータθfの分をそれぞれ差し引いたものを、h1,h2,h3とすると、下式(4)のように表される。
Figure JPOXMLDOC01-appb-M000004
 また、式(4)を式(3)に代入すると、下式(5)のように表される。なお、式(5)が式(1)に対応している。
Figure JPOXMLDOC01-appb-M000005
 さらに、式(5)を変形すると、下式(6)のように表される。
Figure JPOXMLDOC01-appb-M000006
 ここで、一般的に任意の2つの角度φ1とφ2に関して、下式(7)の恒等式が成立する。
Figure JPOXMLDOC01-appb-M000007
 φ1をθ1、φ2をθ3に置き換えて、式(6)を式(7)に代入すると、下式(8)のように表される。
Figure JPOXMLDOC01-appb-M000008
 また、式(2)から、sin2θ2+cos2θ2=1の関係式が成立するので、その関係式を用いると、式(8)から、式(9)の関係式が得られる。
Figure JPOXMLDOC01-appb-M000009
 式(9)において、左辺は、sinθ2の2次式とcosθ2の積であり、右辺は、sinθ2の4次式である。したがって、式(9)の両辺を2乗することで、sinθ2の8次式が得られる。すなわち、CMG1全体の角運動量を表す座標系を適切に設定することで、sinθ2だけを含む1変数の代数方程式に変換されることとなる。また、sinθ2だけを含む1変数の代数方程式を解くこと得られるジンバル角θ2の解を用いれば、ジンバル角θ1,θ3の解を得ることができる。
 また、フリーパラメータθ4の値を設定範囲内で変化させながら、変化後のフリーパラメータθ4の値ごとに、3個のジンバル角θ1,θ2,θ3を演算することで、与えられた角運動量を実現する各CMGのジンバル角の解の組み合わせを複数組演算することができる。
 このように、逆キネマティクス演算部19による逆キネマティクス演算によって、n個のジンバル角のうちの3個のジンバル角と、フリーパラメータθfと、CMG1全体の角運動量との関係を示す代数方程式を用いて、フリーパラメータθfの値を設定範囲内で変化させながら代数方程式を解くことで、与えられたCMG1全体の角運動量を実現するために必要な複数のCMG1のジンバル角の解を求めることができる。
 逆キネマティクス演算部19は、処理回路101、またはプロセッサ102で処理してもよいし、独立した処理回路で実現してもよい。また、逆キネマティクス演算部19は、CMG1全体の角運動量をメモリから読み出し、演算した各CMG1のジンバル角の解をメモリに記憶する。
 以上、本実施の形態1によれば、n台のCMGに対応するn個のジンバル角のうちの(n-3)個の余分な自由度のジンバル角をフリーパラメータとして設定し、n個のジンバル角のうちの3個のジンバル角と、フリーパラメータと、CMG全体の角運動量との関係を示す代数方程式を用いて、フリーパラメータの値を設定範囲内で変化させながら代数方程式を解くことで、与えられた角運動量を実現するために必要な複数のCMGのジンバル角の解を求めるように構成する。
 これにより、ニュートン法のような繰り返し計算を用いなくても、与えられたCMG全体の角運動量を実現する各CMGのジンバル角の解を精度良く演算することができる。また、CMG全体の角運動量が与えられたときにその角運動量を満たす各CMGのジンバル角の解をすべて演算することができ、そのジンバル角の解の中から評価関数を最小化する解の組み合わせを選択し、選択した解を用いて姿勢制御を行うことで、効率的かつ滑らかな姿勢変更を実現することができる。
 実施の形態2.
 本発明の実施の形態2では、逆キネマティクス演算部19による逆キネマティクス演算を利用して、運動計画部11が人工衛星の姿勢変更を行うときの最短駆動時間を演算する場合について説明する。なお、本実施の形態2では、先の実施の形態1と同様である点の説明を省略し、先の実施の形態1と異なる点を中心に説明する。
 図8は、本発明の実施の形態2における宇宙機の姿勢制御装置10の構成を示すブロック図である。図8において、運動計画部11は、人工衛星の姿勢変更を行うときの最短駆動時間を演算する。
 続いて、運動計画部11による最短駆動時間の演算について、図9を参照しながら説明する。図9は、本発明の実施の形態2における宇宙機の姿勢制御装置10が、人工衛星の姿勢変更を行うときの最短駆動時間を演算する際の手順を示すフローチャートである。
 ここで、図9に示すように、人工衛星の姿勢変更目標値が入力されたとき(ステップS1)、その姿勢変更を1軸回りの回転で実現することを考える。このような回転軸のことをオイラー軸と呼ぶ。運動計画部11は、ステップS1で与えられた姿勢変更目標値からオイラー軸を演算する(ステップS2)。このオイラー軸は、姿勢変更目標値から、簡単な計算で求められる。
 このオイラー軸の向きの単位ベクトルをαとすると、運動計画部11は、CMG1全体の角運動量を単位ベクトルαの向きにして、その向きにCMG1全体が発生しうる最大角運動量を演算する(ステップS3)。また、運動計画部11は、ステップS3で演算した最大角運動量から、近似的な最短駆動時間を演算し(ステップS4)、一連の処理を終了する(ステップS5)。
 このように、姿勢制御装置10は、図9に示す手順に従って、人工衛星が姿勢変更を行う際に、その姿勢変更軸の向きにCMG全体が発生しうる最大角運動量を演算するとともに、その演算結果を用いて人工衛星の姿勢変更を行うときの最短駆動時間を演算する。
 ここで、本実施の形態2における姿勢制御装置10では、逆キネマティクス演算部19による逆キネマティクス演算を利用して、図9のステップS3における最大角運動量の演算を行うように構成していることを技術的特徴としている。
 図10は、図2の4台のCMG1に対するCMG1全体の角運動量包絡面を示す説明図である。なお、図10では、CMG1全体のとりうる最大角運動量が3次元的に図示されている。
 ここで、図9のステップS3におけるCMG1の最大角運動量の演算とは、角運動量の向きを定めたときに、その向きの角運動量包絡面における角運動量の大きさを演算することにあたる。
 図10に示すように、角運動量包絡面は複雑な形状をしているので、最大角運動量の演算は必ずしも容易ではない。通常、その角運動量の向きに対応する特異ベクトルと呼ばれるベクトルを演算することで角運動量包絡面の値を演算する。しかしながら、角運動量の向きと特異ベクトルとは常に1対1に対応するものではなく、すべての場合に、この特異ベクトルを確実に見いだす方法は見つかっていない。
 以下、逆キネマティクス演算部19による逆キネマティクス演算を利用した最大角運動量の演算について、図11を参照しながら説明する。図11は、本発明の実施の形態2における宇宙機の姿勢制御装置10が、角運動量の向きを定めたときの角運動量包絡面の値を演算する際の手順を示すフローチャートである。図11のフローチャートの処理では、逆キネマティクス演算によるジンバル解の有無によって、二分法を用いて角運動量包絡面の値を演算するように構成されている。
 ステップS301において、運動計画部11は、角運動量の大きさの最小値hminと最大値hmaxの初期値を定める。
 この例では、1台のCMG1の角運動量の大きさをhwとして、n台のCMGによる角運動量の大きさの最大値hmax=nhw、最小値hmin=0としている。hmaxは、CMG1全体の発生できない角運動量の大きさの最小値、hminは、CMG1全体の発生できる角運動量の大きさの最大値に対応する。また、hmax-hminが設定精度Δhに可能な限り近づくまで、二分法が実行される。
 ステップS302において、運動計画部11は、(hmax+hmin)/2を中間値として、その中間値を角運動量の大きさhとして設定する。また、運動計画部11は、設定した中間値hと、単位ベクトルαとから、角運動量hαを演算して逆キネマティクス演算部19に出力する。この角運動量hαは、CMG1全体が発生しうる最大角運動量の候補値に相当する。
 ステップS303において、逆キネマティクス演算部19は、フリーパラメータθfの値を設定する。
 ステップS304において、逆キネマティクス演算部19は、ステップS303で設定したフリーパラメータθfを用いて、運動計画部11から入力された角運動量hαに対して逆キネマティクス演算を施す。すなわち、逆キネマティクス演算部19は、角運動量hαを実現する各CMG1のジンバル角の解を求める。また、逆キネマティクス演算部19は、演算結果を運動計画部11に出力する。
 ステップS305において、運動計画部11は、逆キネマティクス演算部19から入力された演算結果から、角運動量hαを実現するジンバル角の解の有無を調べる。運動計画部11は、角運動量hαを実現するジンバル角の解が存在しないと判断した場合には、ステップS306の処理が実行され、角運動量hαを実現するジンバル角の解が存在すると判断した場合には、ステップS309の処理が実行される。
 ステップS306において、逆キネマティクス演算部19は、フリーパラメータθfが設定範囲の全領域を動いたかどうかを探索する。ステップS306において、逆キネマティクス演算部19は、フリーパラメータθfが設定範囲の全領域を動いていないと判断した場合には、フリーパラメータθfの動きうる領域が残っているので、ステップS307の処理が実行される。
 ステップS307において、逆キネマティクス演算部19は、フリーパラメータθfの値を更新して、ステップS304に戻り、更新後のフリーパラメータθfを用いて、ステップS304以降の処理を再び実行される。
 一方、ステップS306において、逆キネマティクス演算部19は、フリーパラメータθfが設定範囲の全領域を動いたと判断した場合には、フリーパラメータθfを設定範囲内で変化させてもCMG1全体の角運動量hαに対するジンバル角の解が存在しないこととなるので、ステップS308の処理が実行される。
 ステップS308において、運動計画部11は、角運動量hαを実現するジンバル角の解が存在しないと判断して、hmax=hとする。
 ステップS309において、運動計画部11は、角運動量hαを実現するジンバル角の解が存在し、CMG1全体の角運動量がhαの値を取り得ると判断して、hmin=hとする。
 ステップS310において、運動計画部11は、hmax-hminの値を演算し、その値が設定精度Δh未満である場合には、その時点でのhの値を、αの向きの最大角運動量の大きさの値とする。続いて、ステップS311において、一連の処理が終了となる。
 一方、ステップS310において、運動計画部11は、hmax-hminの値を演算し、その値が設定精度Δh以上である場合には、ステップS302へと戻り、ステップS302以降の処理を再び実行される。
 このように、CMG1全体が発生しうる最大角運動量の候補値に相当する角運動量hαは、その角運動量hαを実現する各CMGのジンバル角の解の有無に応じて、逐次更新されていき、最後に更新した角運動量hαを最大角運動量としているので、角運動量の向きによらず、確実に解を得ることができる。
 具体的には、CMG1全体の角運動量の向きを定めたときの最大角運動量の大きさを、逆キネマティクス演算の解の有無による二分法で演算するので、角運動量の向きによらず、確実に解を得ることができる。
 なお、ここでは、最大角運動量の候補値を逐次更新することで最大角運動量を特定する具体的な手法として二分法を用いる場合を例示した。しかしながら、最大角運動量の候補値を実現する各CMGのジンバル角の解を求め、各CMGのジンバル角の解の有無に応じて、その候補値を逐次更新することで、最大角運動量を演算する構成であれば、二分法以外の別の手法を用いてもよい。
 図9に示すステップS1からステップS5、および図11に示すステップS301からステップS311の演算は、処理回路101を用いて実現されてもよいし、プロセッサ102を用いて実現されてもよいし、独立した処理回路を用いて実現されてもよい。運動計画部11は、上記のステップを演算することで得られる最大角運動量の値および近似的な最短駆動時間をメモリに記憶する。
 以上、本実施の形態2によれば、与えられたCMG全体の角運動量であるCMG全体が発生しうる最大角運動量の候補値を実現する各CMGのジンバル角の解を求め、各CMGのジンバル角の解の有無に応じて、最大角運動量の候補値を逐次更新することで、最大角運動量を演算するように構成する。
 これにより、人工衛星が姿勢変更を行う際に、その姿勢変更軸の向きにCMG全体が発生しうる最大角運動量の値を確実に演算することができる。また、このように演算したCMG全体が発生しうる最大角運動量を用いることで、姿勢変更に要する最短駆動時間を効率的に演算することができ、その結果、人工衛星が姿勢変更を行う際のCMGの運動計画の信頼性の向上につながる。
 実施の形態3.
 本発明の実施の形態3では、逆キネマティクス演算部19による逆キネマティクス演算を利用して、運動計画部11が中間ジンバル角を経由するジンバル角の運動軌道を演算する場合について説明する。なお、本実施の形態3では、先の実施の形態1、2と同様である点の説明を省略し、先の実施の形態1、2と異なる点を中心に説明する。
 図12は、本発明の実施の形態3における宇宙機の姿勢制御装置10が、中間ジンバル角を経由するCMG1のジンバル角の運動軌道を演算する際の手順を示すフローチャートである。
 図12に示すように、運動計画部11は、人工衛星の姿勢変更目標値から、姿勢変更のオイラー軸αを演算すると、先の実施の形態2と同様に、CMG1全体の角運動量をαの向きにして、その向きにCMG1全体が発生しうる最大角運動量を演算する(ステップS6)。
 ここで、ステップS6で演算した最大角運動量をCMG1で実現させれば人工衛星がほぼ最短時間で姿勢変更を行うことができる。しかしながら、CMG1全体が最大角運動量になると、それ以上の大きさの角運動量が実現できない。したがって、人工衛星の姿勢フィードバック制御において、さらに角運動量を付加するような結果が得られても、その結果を踏まえた制御を実行することができない。
 そのため、運動計画部11でのジンバル角の運動軌道の演算にあたっては、以下のように演算される。すなわち、最大角運動量と向きが同じで、最大角運動量の大きさに対して、例えば20%程度だけ減らした大きさの角運動量を各CMG1で実現させ、その角運動量の値を一定時間保持することで、所望の姿勢変更をほぼ実現する運動軌道が演算される。なお、このときの各CMG1で一定時間保持するジンバル角の値を中間ジンバル角と呼ぶ。
 運動計画部11は、このように最大角運動量の大きさを減らした角運動量を、角運動量目標値として演算する(ステップS7)。また、運動計画部11は、演算した角運動量目標値を、逆キネマティクス演算部19に出力する。
 逆キネマティクス演算部19は、運動計画部11から入力された角運動量目標値を実現する中間ジンバル角を演算する(ステップS8)。なお、ステップS8の処理については後述する。
 ここで、CMG1全体の角運動量の値が最大角運動量である場合には、CMG1の台数が4台以上であっても、その角運動量を実現するジンバル角の値が一意に定まる。しかしながら、CMG1全体の角運動量の値が最大角運動量よりも小さい場合には、一般に、その角運動量を実現するジンバル角の解が無数に存在する。
 したがって、ステップS8において、逆キネマティクス演算部19は、角運動量目標値を実現するジンバル角の解の中で、何らかの評価関数を最小化する解を最適解として選択することで、解の最適化を図る。また、逆キネマティクス演算部19は、選択した最適解を中間ジンバル角として、その中間ジンバル角を運動計画部11に出力する。
 運動計画部11は、逆キネマティクス演算部19から入力された中間ジンバル角に基づいて人工衛星の姿勢変更目標値を実現するジンバル角の運動軌道を演算し(ステップS9)、一連の処理を終了する(ステップS10)。
 このように、運動計画部11は、図12に示す手順に従って、中間ジンバル角を経由するCMG1のジンバル角の運動軌道を演算する。
 ここで、本実施の形態3における姿勢制御装置10では、逆キネマティクス演算部19による逆キネマティクス演算を利用して、図12のステップS8における中間ジンバル角の演算を行うように構成していることを技術的特徴としている。
 以下、逆キネマティクス演算部19による逆キネマティクス演算を利用した中間ジンバル角の演算について、図13を参照しながら説明する。図13は、本発明の実施の形態3における宇宙機の姿勢制御装置10が、中間ジンバル角を演算する際の手順を示すフローチャートである。
 ステップS801において、運動計画部11は、ステップS7で演算した角運動量目標値を逆キネマティクス演算部19に出力する。続いて、ステップS802において、逆キネマティクス演算部19は、(n-3)個のジンバル角のフリーパラメータθfの値を設定する。
 ステップS803において、逆キネマティクス演算部19は、ステップS802で設定したフリーパラメータθfを用いて、運動計画部11から入力された角運動量目標値を実現するジンバル角の解を求める。
 ステップS804において、逆キネマティクス演算部19は、ステップS803で求めたジンバル角の解に対する評価関数の値を演算する。なお、評価関数とは、無数にある解の中で、どれがもっとも適切な解であるかを評価する指標のことであり、例えば、ジンバル角の大きさを表す指標やジンバル角の解の状態の特異状態からの隔たりを表す指標などが評価関数として用いられる。この他の指標を用いてもよいことは言うまでもない。
 ここで、ステップS804で用いられる評価関数の一例について説明する。ジンバル角の大きさを表す指標としての評価関数として、例えば、下式(10)のような評価関数Jθを用いることができる。ただし、式(10)では、CMG1の台数が4台である場合の評価関数を例示している。
Figure JPOXMLDOC01-appb-M000010
 また、一般に、CMG1のジンバル角速度と、CMG1が搭載されている人工衛星に作用する姿勢制御トルクとの間には、下式(11)に示す関係式が成立する。
Figure JPOXMLDOC01-appb-M000011
 ただし、式(11)において、θは、ジンバル角から構成されるベクトルであり、τは、人工衛星に作用する姿勢制御トルクである。また、行列Aは、ヤコビ行列と呼ばれ、各CMG1のジンバル角の関数として演算することができる。
 ここで、ヤコビ行列のランクが3の場合には、CMG1のジンバルを回転させることで任意のトルクを実現できるが、特定のジンバル角の組み合わせにおいてはランクが2となることがあり、ジンバル角を回転させても任意のトルクを実現できない場合が存在する。このような状態を一般に特異状態と呼ぶ。
 また、この特異状態からどれくらい隔たっているかの評価関数として、ヤコビ行列の条件数を用いることができる。すなわち、ジンバル角の解の状態の特異状態からの隔たりを表す指標としての評価関数として、例えば、下式(12)のような評価関数Jsを用いることができる。
Figure JPOXMLDOC01-appb-M000012
 ただし、式(12)において、σmax(A)、σmin(A)は、それぞれヤコビ行列Aの最大固有値、最小固有値である。
 図13の説明に戻り、ステップS805において、逆キネマティクス演算部19は、フリーパラメータθfが設定範囲の全領域を動いたかどうかを探索する。ステップS805において、逆キネマティクス演算部19は、フリーパラメータθfが設定範囲の全領域を動いていないと判断した場合には、ステップS806の処理が実行される。
 ステップS806において、逆キネマティクス演算部19は、フリーパラメータθfの値を更新して、ステップS803に戻り、更新後のフリーパラメータθfを用いて、ステップS803以降の処理が再び実行される。
 一方、ステップS805において、逆キネマティクス演算部19は、フリーパラメータθfが設定範囲の全領域を動いたと判断した場合には、ステップS807において、現時点で得られているジンバル角の解の中で、評価関数を最小にする解を、最適解に近似する近似解とする。ただし、このようにステップS807で得られた近似解は、フリーパラメータθfの値の設定が離散的であるので、フリーパラメータθfの値を連続的に変化させた場合の最適解とは厳密にはいえない。
 そこで、このような近似解では最適解として十分でない可能性を考慮して、ステップS808が設けられている。ステップS808において、逆キネマティクス演算部19は、ニュートン法を用いて、ステップS807で得た近似解を修正し、修正した近似解を最適解とする。ただし、この場合、角運動量目標値を厳密に満たす解が近似解として得られているので、ニュートン法の収束が保証されることとなる。
 また、逆キネマティクス演算部19は、近似解を修正することで得られる最適解を中間ジンバル角とする。続いて、ステップS809において、一連の処理が終了となる。
 なお、ステップS807において、逆キネマティクス演算部19は、現時点で得られているジンバル角の解の中で、評価関数を最小にする解を最適解であるとして、その最適解を中間ジンバル角としてもよい。この場合、ステップS808を設ける必要はない。
 このように、最大角運動量よりも小さい角運動量目標値を実現するジンバル角の解を逆キネマティクス演算によって求め、求めたジンバル角の解に対して評価関数を用いて最適解を特定し、その最適解を中間ジンバル角としている。
 図12に示すステップS6からステップS10、および図13に示すステップS801からステップS809の演算は、処理回路101を用いて実現されてもよいし、プロセッサ102を用いて実現されてもよいし、独立した処理回路を用いて実現されてもよい。運動計画部11は、上記のステップを演算することで得られる最適な中間ジンバル角の解、およびジンバル角の運動軌道をメモリに記憶する。
 以上、本実施の形態3によれば、与えられたCMG全体の角運動量である、CMG全体が発生しうる最大角運動量よりも小さい第1の角運動量目標値を実現する各CMGのジンバル角の解を求め、演算した第1の角運動量目標値を実現する各CMGのジンバル角の解の中から、第1の評価関数を最小化する解を第1の最適解として選択し、選択した第1の最適解を各CMGの中間ジンバル角とするように構成する。
 これにより、CMG全体の角運動量目標値から、その角運動量目標値を満たす各CMGのジンバル角のすべての解を求めることができる。また、そのジンバル角の解の中から評価関数を用いて最適解を求めることで、適切な中間ジンバル角を得ることができ、その結果、姿勢変更時間の短縮およびCMGの特異点の回避につながる。
 実施の形態4.
 本発明の実施の形態4では、逆キネマティクス演算部19による逆キネマティクス演算を利用して、ステアリング制御部15が姿勢制御トルクから各CMG1のジンバル角速度補正値を演算する場合について説明する。なお、本実施の形態4では、先の実施の形態1~3と同様である点の説明を省略し、先の実施の形態1~3と異なる点を中心に説明する。
 図14は、本発明の実施の形態4における宇宙機の姿勢制御装置10の構成を示すブロック図である。図15は、本発明の実施の形態4における宇宙機の姿勢制御装置10が、各CMG1のジンバル角速度補正値を演算する際の手順を示すフローチャートである。
 図15に示すように、ステアリング制御部15は、姿勢制御部14から姿勢制御トルクが与えられる(ステップS11)。ここで、この姿勢制御トルクをτとすると、CMG1全体の角運動量変化δhは、下式(13)で与えられる。
Figure JPOXMLDOC01-appb-M000013
 ただし、式(13)において、Δtは、サンプリング時間であり、マイナス符号は、CMG1に働くトルクの反作用トルクが人工衛星に働くことによるものである。また、CMG1全体の角運動量の現在値をh0とすると、そのΔt後の角運動量目標値は、h0+δhで与えられる。
 ステアリング制御部15は、式(13)に従ってCMG1全体の角運動量変化δhを演算するとともに、演算した角運動量変化δhに対してCMG1全体の角運動量の現在値h0を加算することで角運動量目標値を演算する(ステップS12)。このように、ステアリング制御部15は、姿勢制御部14から入力された姿勢制御トルクから、CMG1全体の角運動量の微小変化分を演算し、CMG1全体の角運動量の現在値にその微小変化分を加えることで、角運動量目標値を演算する。また、ステアリング制御部15は、ステップS12で演算した角運動量目標値を逆キネマティクス演算部19に出力する。
 逆キネマティクス演算部19は、ステアリング制御部15から入力された角運動量目標値を実現する各CMG1のジンバル角の最適解を求める(ステップS13)。ここで、逆キネマティクス演算部19は、評価関数を用いて、先の図13のフローチャートの処理と同様の処理を行うことで、各CMG1のジンバル角の最適解を求める。すなわち、逆キネマティクス演算部19は、角運動量目標値を実現するジンバル角の解の中で、何らかの評価関数を最小化する解を、最適解とする。
 また、逆キネマティクス演算部19は、各CMG1のジンバル角の最適解をステアリング制御部15に出力する。
 続いて、ステアリング制御部15は、逆キネマティクス演算部19から入力された最適解(以下、最適解をθmと表記することがある)と、現在のジンバル角の値θ0との差であるθm-θ0を求め、その差のノルム||θm-θ0||と、設定値Δθとを比較する(ステップS14)。なお、設定値Δθは、ジンバル角速度補正値の大きさの最大値を定める量である。
 ステアリング制御部15は、ノルム||θm-θ0||が設定値Δθ未満である場合には、各CMG1のジンバル角速度補正値を、
Figure JPOXMLDOC01-appb-M000014
として設定し(ステップS15)、一連の処理を終了する(ステップS17)。
 一方、ステアリング制御部15は、ノルム||θm-θ0||が設定値Δθ以上である場合には、各CMG1のジンバル角速度補正値を、
Figure JPOXMLDOC01-appb-M000015
 として設定し(ステップS16)、一連の処理を終了する(ステップS17)。
 ここで、ステップS13で用いられる評価関数の一例として、ノルム||θm-θ0||を用いることができる。この場合、ノルム||θm-θ0||において、現在のジンバル角θ0との差がなるべく小さくなるジンバル角の解を、最適解として選択すればよい。
 このように、CMG1全体の角運動量目標値を実現するジンバル角の解を逆キネマティクス演算によって求め、求めたジンバル角の解に対して評価関数を用いて最適解を特定し、その最適解を用いてジンバル角速度補正値を演算している。したがって、姿勢制御トルクからジンバル角速度補正値を演算する際にヤコビ行列の逆行列の得られないような特異状態になっても常に適切なジンバル角速度補正値を演算することができ、その結果、特異状態を自然に通過することが可能となる。なお、得られたジンバル角速度補正値を時間積分することで、ジンバル角補正値を得ることができる。
 図15に示すステップS11からステップS17の演算は、処理回路101を用いて実現されてもよいし、プロセッサ102を用いて実現されてもよいし、独立した処理回路を用いて実現されてもよい。ステアリング制御部15は、上記のステップを演算することで得られるジンバル角補正値およびジンバル角速度補正値をメモリに記憶する。
 以上、本実施の形態4によれば、与えられたCMG全体の角運動量である、姿勢制御トルクから演算されたCMG全体の角運動量の微小変化分とCMG全体の角運動量の現在値とを加えた第2の角運動量目標値を実現する各CMGのジンバル角の解の中から、第2の評価関数を最小化する解を第2の最適解として選択し、選択した第2の最適解に応じて各CMGのジンバル角速度補正値を演算するように構成する。
 これにより、CMG全体の角運動量目標値から、その角運動量目標値を満たす各CMGのジンバル角のすべての解を求めることができる。また、そのジンバル角の解の中から評価関数を用いて選択した解に応じて各CMGのジンバル角速度補正値を得ることができる。また、CMGが特異状態になっても、その特異状態を自然に通過するようなジンバル角速度補正値を得ることができ、その結果、姿勢制御系の信頼性の向上につながる。
 なお、以上のように、本実施の形態1~4について個別に説明してきたが、本実施の形態1~4の構成は、任意に組み合わせことが可能であり、その場合、各実施の形態の効果が重複して得られることは言うまでもない。

Claims (6)

  1.  スピン軸回りに回転するホイールと、前記ホイールを支持するとともに前記スピン軸に対して直交するジンバル軸回りに回転するジンバルとを有し、宇宙機に搭載される複数のCMGを用いて、姿勢制御を行う宇宙機の姿勢制御装置であって、
     与えられたCMG全体の角運動量を実現するために必要な前記複数のCMGのジンバル角の解を求める逆キネマティクス演算部と、
     前記宇宙機の姿勢角および姿勢角速度の観測値と、各CMGのジンバル角およびジンバル角速度の観測値をフィードバックすることで、前記宇宙機において所望の姿勢変更を実現するために必要な各CMGのジンバル制御トルクを演算するジンバル制御トルク演算部と、
     を備え、
     前記ジンバル制御トルク演算部は、
      前記CMG全体の角運動量を前記逆キネマティクス演算部に与えることで得られる前記複数のCMGのジンバル角の解を用いて、前記複数のCMGの前記ジンバル制御トルクを演算し、
     前記逆キネマティクス演算部は、
      前記CMGの台数をn(nは、4以上の整数)とするとき、n台のCMGに対応するn個のジンバル角のうちの(n-3)個のジンバル角をフリーパラメータとして設定し、前記n個のジンバル角のうちの3個のジンバル角と、前記フリーパラメータと、前記CMG全体の角運動量との関係を示す代数方程式を用いて、前記フリーパラメータの値を設定範囲内で変化させながら前記代数方程式を解くことで、前記与えられた前記CMG全体の角運動量を実現する前記複数のCMGのジンバル角の解を求める
     宇宙機の姿勢制御装置。
  2.  前記ジンバル制御トルク演算部は、
      各CMGのジンバル角計画値およびジンバル角速度計画値を演算して出力する運動計画部と、
      前記運動計画部から入力された各CMGのジンバル角計画値およびジンバル角速度計画値から、前記宇宙機の姿勢角目標値および姿勢角速度目標値を演算して出力する順キネマティクス演算部と、
      前記順キネマティクス演算部から入力された前記宇宙機の姿勢角目標値および姿勢角速度目標値と、前記宇宙機の姿勢角および姿勢角速度の観測値とから、前記宇宙機の姿勢を制御するための姿勢制御トルクを演算して出力する姿勢制御部と、
      前記姿勢制御部から入力された前記姿勢制御トルクから、各CMGのジンバル角補正値およびジンバル角速度補正値を演算して出力するステアリング制御部と、
      前記運動計画部から入力された各CMGのジンバル角計画値およびジンバル角速度計画値と、前記ステアリング制御部から入力された各CMGのジンバル角補正値およびジンバル角速度補正値とをそれぞれ加算することで、各CMGのジンバル角目標値およびジンバル角速度目標値を演算して出力する加算器と、
      前記加算器から入力された各CMGのジンバル角目標値およびジンバル角速度目標値と、各CMGのジンバル角およびジンバル角速度の観測値とから、各CMGのジンバル制御トルクを演算して出力するジンバル制御部と、
     を備えた請求項1に記載の宇宙機の姿勢制御装置。
  3.  前記運動計画部は、
      CMG全体が発生しうる最大角運動量の候補値を前記与えられたCMG全体の角運動量として前記逆キネマティクス演算部に出力し、
     前記逆キネマティクス演算部は、
      前記運動計画部から入力された前記候補値を実現する各CMGのジンバル角の解を求め、求めた結果を前記運動計画部に出力し、
     前記運動計画部は、
      前記候補値を実現する各CMGのジンバル角の解の有無に応じて、前記候補値を逐次更新することで、前記最大角運動量を演算する
     請求項2に記載の宇宙機の姿勢制御装置。
  4.  前記運動計画部は、
      CMG全体が発生しうる最大角運動量よりも小さい第1の角運動量目標値を演算し、演算した前記第1の角運動量目標値を前記与えられたCMG全体の角運動量として前記逆キネマティクス演算部に出力し、
     前記逆キネマティクス演算部は、
      前記運動計画部から入力された前記第1の角運動量目標値を実現する各CMGのジンバル角の解を求め、求めた前記第1の角運動量目標値を実現する各CMGのジンバル角の解の中から、第1の評価関数を最小化する解を第1の最適解として選択し、選択した前記第1の最適解を各CMGの中間ジンバル角とする
     請求項2または3に記載の宇宙機の姿勢制御装置。
  5.  前記ステアリング制御部は、
      前記姿勢制御部から入力された前記姿勢制御トルクから、CMG全体の角運動量の微小変化分を演算し、CMG全体の角運動量の現在値に前記微小変化分を加えることで、第2の角運動量目標値を演算し、演算した前記第2の角運動量目標値を前記与えられたCMG全体の角運動量として前記逆キネマティクス演算部に出力し、
     前記逆キネマティクス演算部は、
      前記ステアリング制御部から入力された前記第2の角運動量目標値を実現する各CMGのジンバル角の解を求め、求めた前記第2の角運動量目標値を実現する各CMGのジンバル角の解の中から、第2の評価関数を最小化する解を第2の最適解として選択し、選択した前記第2の最適解を前記ステアリング制御部に出力し、
     前記ステアリング制御部は、
      前記逆キネマティクス演算部から入力された前記第2の最適解に応じて各CMGのジンバル角速度補正値を演算する
     請求項2から4のいずれか1項に記載の宇宙機の姿勢制御装置。
  6.  CMGの台数をn(nは、4以上の整数)とするとき、
     n台のCMGに対応するn個のジンバル角のうちの(n-3)個のジンバル角をフリーパラメータとして設定するステップと、
     前記n個のジンバル角のうちの3個のジンバル角と、前記フリーパラメータと、CMG全体の角運動量との関係を示す代数方程式を用いて、前記フリーパラメータの値を設定範囲内で変化させながら前記代数方程式を解くことで、与えられたCMG全体の角運動量を実現する各CMGのジンバル角の解を求めるステップと、
     を備えたCMGのジンバル角演算方法。
PCT/JP2016/068096 2015-06-22 2016-06-17 宇宙機の姿勢制御装置およびcmgのジンバル角演算方法 WO2016208504A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP16814275.0A EP3312096A4 (en) 2015-06-22 2016-06-17 DEVICE FOR CONTROLLING A SPACE VEHICLE AND METHOD FOR CALCULATING THE CMG CARDANA ANGLE
US15/735,653 US10407187B2 (en) 2015-06-22 2016-06-17 Device for controlling attitude of spacecraft and method for calculating CMG gimbal angle
JP2017524856A JP6373496B2 (ja) 2015-06-22 2016-06-17 宇宙機の姿勢制御装置およびcmgのジンバル角演算方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015124561 2015-06-22
JP2015-124561 2015-06-22

Publications (1)

Publication Number Publication Date
WO2016208504A1 true WO2016208504A1 (ja) 2016-12-29

Family

ID=57585069

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/068096 WO2016208504A1 (ja) 2015-06-22 2016-06-17 宇宙機の姿勢制御装置およびcmgのジンバル角演算方法

Country Status (4)

Country Link
US (1) US10407187B2 (ja)
EP (1) EP3312096A4 (ja)
JP (1) JP6373496B2 (ja)
WO (1) WO2016208504A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020050272A (ja) * 2018-09-28 2020-04-02 三菱電機株式会社 ジンバルプロファイル生成装置、ジンバルプロファイル生成プログラム及びジンバルプロファイル生成方法
US11167867B2 (en) * 2016-09-09 2021-11-09 Mitsubishi Electric Corporation Artificial satellite, attitude control system, and attitude control method

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10005568B2 (en) * 2015-11-13 2018-06-26 The Boeing Company Energy efficient satellite maneuvering
US10484095B2 (en) * 2017-06-15 2019-11-19 The Aerospace Corporation Communications relay satellite with a single-axis gimbal
CN111099040B (zh) * 2019-10-18 2021-10-29 上海航天控制技术研究所 一种基于控制力矩陀螺群控制的系统极性确定方法
CN111897352B (zh) * 2020-06-28 2023-06-30 北京控制工程研究所 基于控制力矩输出约束的姿态机动动态优化方法及介质
CN112256048B (zh) * 2020-10-13 2022-02-11 北京航空航天大学 一种混合灵敏度优化的cmg框架系统速度调节方法
CN112537463B (zh) * 2020-12-08 2022-06-28 中国科学院微小卫星创新研究院 卫星姿态控制方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006240375A (ja) * 2005-03-01 2006-09-14 Mitsubishi Electric Corp 人工衛星の姿勢制御装置
JP2007320528A (ja) * 2006-06-05 2007-12-13 Mitsubishi Electric Corp 人工衛星の姿勢制御装置
JP2010188915A (ja) * 2009-02-19 2010-09-02 Mitsubishi Electric Corp 人工衛星の姿勢制御装置
JP2013078990A (ja) * 2011-10-04 2013-05-02 Mitsubishi Electric Corp 人工衛星の姿勢制御装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5692707A (en) * 1995-05-15 1997-12-02 Hughes Aircraft Company Universal spacecraft attitude steering control system
FR2826470B1 (fr) 2001-06-26 2003-09-19 Astrium Sas Procede et dispositif de pilotage de l'attitude et de guidage d'un satellite par grappe de gyrodynes
US6681649B2 (en) * 2002-04-03 2004-01-27 Honeywell International Inc. Inertial control and measurement system
AU2003294218A1 (en) * 2002-08-28 2004-04-23 Arizona Board Of Regents Steering logic for control moment gyro system
US7654490B2 (en) * 2003-10-14 2010-02-02 Lockheed Martin Corporation Precision attitude control system for gimbaled thruster
JP4463287B2 (ja) 2007-02-07 2010-05-19 Nec東芝スペースシステム株式会社 姿勢変更制御方法、姿勢変更制御システム、姿勢変更制御プログラムおよびプログラム記録媒体
US8561944B2 (en) * 2010-06-17 2013-10-22 Lockheed Martin Corporation System and method for desaturation of a control moment gyroscope
JP5484262B2 (ja) 2010-08-31 2014-05-07 三菱電機株式会社 宇宙機の姿勢制御装置
US9963248B2 (en) * 2016-02-04 2018-05-08 The Boeing Company Spin stabilization of a spacecraft for an orbit maneuver

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006240375A (ja) * 2005-03-01 2006-09-14 Mitsubishi Electric Corp 人工衛星の姿勢制御装置
JP2007320528A (ja) * 2006-06-05 2007-12-13 Mitsubishi Electric Corp 人工衛星の姿勢制御装置
JP2010188915A (ja) * 2009-02-19 2010-09-02 Mitsubishi Electric Corp 人工衛星の姿勢制御装置
JP2013078990A (ja) * 2011-10-04 2013-05-02 Mitsubishi Electric Corp 人工衛星の姿勢制御装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3312096A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11167867B2 (en) * 2016-09-09 2021-11-09 Mitsubishi Electric Corporation Artificial satellite, attitude control system, and attitude control method
JP2020050272A (ja) * 2018-09-28 2020-04-02 三菱電機株式会社 ジンバルプロファイル生成装置、ジンバルプロファイル生成プログラム及びジンバルプロファイル生成方法
JP7080150B2 (ja) 2018-09-28 2022-06-03 三菱電機株式会社 ジンバルプロファイル生成装置、ジンバルプロファイル生成プログラム及びジンバルプロファイル生成方法

Also Published As

Publication number Publication date
EP3312096A4 (en) 2019-01-23
EP3312096A1 (en) 2018-04-25
US20190061978A1 (en) 2019-02-28
US10407187B2 (en) 2019-09-10
JPWO2016208504A1 (ja) 2017-12-28
JP6373496B2 (ja) 2018-08-15

Similar Documents

Publication Publication Date Title
JP6373496B2 (ja) 宇宙機の姿勢制御装置およびcmgのジンバル角演算方法
Ford et al. Singular direction avoidance steering for control-moment gyros
CN100549889C (zh) 操纵装置轨迹的控制
US9745082B2 (en) Rapid slew and settle systems for small satellites
US7627404B2 (en) Singularity escape and avoidance using a virtual array rotation
JP4630332B2 (ja) Cmgアレイ特異性回避のための方法及びシステム
JP5484262B2 (ja) 宇宙機の姿勢制御装置
Jikuya et al. Attitude maneuver of spacecraft with a variable-speed double-gimbal control moment gyro
Yamada et al. Inverse kinematics in pyramid-type single-gimbal control moment gyro system
Wu et al. Attitude control for on-orbit servicing spacecraft using hybrid actuator
JP2020026267A (ja) 軌道遷移のために宇宙機飛行経路を追跡するシステム及び方法
Leeghim et al. Adaptive neural control of spacecraft using control moment gyros
Ye et al. Hybrid thrusters and reaction wheels strategy for large angle rapid reorientation with high precision
US7014150B2 (en) Method and system for optimizing torque in a CMG array
Seo et al. Steering law of control moment gyros using artificial potential function approach
Henninger et al. Optimal under-actuated kinematic motion planning on the ϵ-group
Tekinalp et al. A new steering law for redundant control moment gyroscope clusters
Hua et al. Constant-gain EKF algorithm for satellite attitude determination systems
Guo et al. Rapid SGCMGs singularity-escape steering law in gimbal angle space
Kojima Calculation and fitting of boundaries between elliptic and hyperbolic singularities of pyramid-type control moment gyros
Rezapour et al. Path following control of planar snake robots using virtual holonomic constraints
JP4133381B2 (ja) 宇宙ロボットの姿勢制御方法及び装置
JP5126107B2 (ja) 人工衛星の姿勢制御装置
Karpenko et al. Flight implementation of pseudospectral optimal control for the TRACE space telescope
Nanamori et al. Steering law of control moment gyros using optimization of initial gimbal angles for satellite attitude control

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16814275

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017524856

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016814275

Country of ref document: EP