Plant control system, plant control method, and non-transitory computer-readable medium
11005114 · 2021-05-11
Assignee
Inventors
Cpc classification
G05B17/00
PHYSICS
Y02E60/50
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
G05B17/00
PHYSICS
Abstract
A plant control system is equipped with a plant, an actuator that controls a state of the plant based on a command value, and an arithmetic device that calculates the command value through the use of state information indicating the state of the plant and that outputs the command value to the actuator. The arithmetic device adopts, as the command value, a value of u obtained by deleting a time differential of y from equations: dy/dt=f(y, u, d, t) and K.sub.4×dy/dt=K.sub.3×y.sub.ref−K.sub.1×y+K.sub.2×(time integral of (y.sub.ref−y))+K.sub.5.
Claims
1. A plant control system comprising: a plant; an actuator that controls a state of the plant based on a command value; and an arithmetic device that calculates the command value through use of state information indicating the state of the plant, and that outputs the calculated command value to the actuator, wherein the arithmetic device adopts, as the command value, a value of u obtained by deleting {dot over (y)} from the following equations (1) and (2),
{dot over (y)}=f(y,u,d,t) (1) where y is the state information, u is the command value, d is a disturbance, t is a time, and {dot over (y)} is a time differential of y, and
K.sub.4{dot over (y)}=K.sub.3y.sub.ref−K.sub.1y+K.sub.2∫.sub.0.sup.t(y.sub.ref−y)dt+K.sub.5 (2) where K.sub.1, K.sub.2, K.sub.3, K.sub.4, and K.sub.5 are diagonal matrices, K.sub.1, K.sub.2, and K.sub.4 are not zero matrices, K.sub.1 and K.sub.3 are different from each other, and y.sub.ref is a target value of y.
2. The plant control system according to claim 1, wherein when k.sub.1ii, k.sub.2ii, and k.sub.3ii are non-zero (i, i) components of K.sub.1, K.sub.2, and K.sub.3 respectively, k3.sub.ii≤α.sub.I when k.sub.1ii=α.sub.i+β.sub.i, k.sub.2ii=α.sub.iβ.sub.i, α.sub.i and β.sub.i are positive real numbers, and α.sub.i≥β.sub.i.
3. The plant control system according to claim 1, wherein K.sub.3 is a zero matrix, and the equation (2) is the following equation (3),
K.sub.4{dot over (y)}=−K.sub.1y+K.sub.2∫.sub.0.sup.t(y.sub.ref−y)dt+K.sub.5 (3).
4. The plant control system according to claim 3, wherein each of K.sub.1, the K.sub.2, and the K.sub.4 is a row vector where remaining components other than a common component are equal to 0.
5. The plant control system according to claim 3, wherein the plant is a fuel cell system that includes a fuel cell stack, a flow rate adjusting valve, and a discharging valve that discharges gas or drains water from the fuel cell stack, the actuator is a current control device configured to control a state of the fuel cell system by a step-up converter, the plant control system is further equipped with a hydrogen pressure sensor that measures a hydrogen pressure value of the fuel cell stack and that outputs the hydrogen pressure value to the arithmetic device as the state information, the equation (1) is the following equation (4),
6. The plant control system according to claim 5, wherein each of T.sub.1 and T.sub.2 is a value satisfying a first condition indicating that an amount of fall in P from P.sub.ref corresponding to the time constant is smaller than a first threshold, and a second condition indicating that an amount of change in a minimum current value in the fuel cell stack with respect to the time constant is equal to or smaller than a second threshold, the minimum current value having been limited by I.sub.u.
7. The plant control system according to claim 1, further comprising: a sensor that acquires a state amount of the plant and that outputs the acquired state amount to the arithmetic device as the state information, wherein the arithmetic device calculates the command value through use of the state information acquired from the sensor.
8. The plant control system according to claim 7, wherein each of K.sub.1, the K.sub.2, and the K.sub.4 is a row vector where remaining components other than a common component are equal to 0.
9. A plant control method comprising: accepting inputting of state information indicating a state of a plant in an arithmetic device, calculating, as a command value, a value of u obtained by deleting {dot over (y)} from the following equations (6) and (7) through use of the state information, in the arithmetic device,
{dot over (y)}=f(y,u,d,t) (6) where y is the state information, u is the command value, d is a disturbance, t is a time, and {dot over (y)} is a time differential of y, and
K.sub.4{dot over (y)}=K.sub.3y.sub.ref−K.sub.1y+K.sub.2∫.sub.0.sup.t(y.sub.ref−y)dt+K.sub.5 (7) where K.sub.1, K.sub.2, K.sub.3, K.sub.4, and K.sub.5 are diagonal matrices, K.sub.1, K.sub.2, and K.sub.4 are not zero matrices, K.sub.1 and K.sub.3 are different from each other, and y.sub.ref is a target value of y, and outputting the calculated command value to an actuator, in the arithmetic device; and controlling the state of the plant based on the command value, in the actuator.
10. A non-transitory computer-readable medium that stores a program for causing a computer to perform a process, the process comprising: processing of accepting inputting of state information indicating a state of a plant; processing of calculating, as a command value, a value of u obtained by deleting {dot over (y)} from the following equations (8) and (9),
{dot over (y)}=f(y,u,d,t) (8) where y is the state information, u is the command value, d is a disturbance, t is a time, and {dot over (y)} is a time differential of y, and,
K.sub.4{dot over (y)}=K.sub.3y.sub.ref−K.sub.1y+K.sub.2∫.sub.0.sup.t(y.sub.ref−y)dt+K.sub.5 (9) where K.sub.1, K.sub.2, K.sub.3, K.sub.4, and K.sub.5 are diagonal matrices, K.sub.1, K.sub.2, and K.sub.4 are not zero matrices, K.sub.1 and K.sub.3 are different from each other, and y.sub.ref is a target value of y; and processing of outputting the calculated command value to an actuator that controls the state of the plant based on the command value.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Features, advantages, and technical and industrial significance of exemplary embodiments of the disclosure will be described below with reference to the accompanying drawings, in which like numerals denote like elements, and wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
DETAILED DESCRIPTION OF EMBODIMENTS
(15) The concrete embodiments to which the present disclosure including the above-mentioned respective aspects is applied will be described hereinafter in detail with reference to the drawings. Like elements are denoted by like reference symbols in the respective drawings, and redundant description thereof will be omitted as necessary for the sake of clear explanation.
First Embodiment
(16)
(17) The sensor 2 measures a state amount of the plant 1, and outputs a result of this measurement to the arithmetic device 3 as state information y. It should be noted herein that either the single sensor 2 or a plurality of sensors 2 may be provided. Furthermore, the sensor 2 encompasses, for example, a low-pressure hydrogen pressure sensor or an airflow meter for measuring a flow rate of air and an instrument for measuring a pressure of air, and the like, but is not limited thereto. Incidentally, an estimator that estimates the physical quantity representing the state of the plant 1 may be employed instead of the sensor 2. Furthermore, the estimator outputs an estimated value of the physical quantity to the arithmetic device 3 as the state information y. It should be noted herein that the estimator may adopt, for example, a pressure at an inlet of a hydrogen pump as the estimated value of the physical quantity. The word “acquire” includes the word “measure” and “estimate” in the present specification.
(18) The arithmetic device 3 calculates a command value u according to a method that will be described later, through the use of the state information y indicating the state of the plant 1, and outputs the calculated command value u to the actuator 4. For example, the arithmetic device 3 accepts the inputting of a measured value measured by the sensor 2 as the state information y, and calculates the command value u through the use of the measured value. Alternatively, the arithmetic device 3 accepts the inputting of an estimated value of a physical quantity estimated by the estimator as the state information y, and calculates the command value u through the use of the estimated value of the physical quantity.
(19) The actuator 4 generates a control signal for controlling the production in the plant 1, based on the command value u from the arithmetic device 3, and outputs the control signal to the plant 1. It should be noted herein that either the single actuator 4 or a plurality of actuators 4 may be provided. Furthermore, for example, an FC (fuel cell) current control device or an air compressor and an air pressure adjusting valve and the like can be mentioned as the actuator 4, but the actuator 4 is not limited thereto.
(20) It should be noted herein that the arithmetic device 3 calculates, as the command value u, a value of u obtained by deleting y from an equation (11) shown below and an equation (12) shown below, through the use of the state information y.
{dot over (y)}=f(y,u,d,t) (11)
It should be noted herein that y is the state information, that u is the command value, that d is a disturbance, that t is a time, and that {dot over (y)} is a time differential of y.
K.sub.4{dot over (y)}=K.sub.3y.sub.ref−K.sub.1y+K.sub.2∫.sub.0.sup.t(y.sub.ref−y)dt+K.sub.5 (12)
(21) It should be noted herein that K.sub.1, K.sub.2, K.sub.3, K.sub.4, and K.sub.5 are diagonal matrices, that K.sub.1, K.sub.2, and K.sub.4 are not zero matrices, that K.sub.1 and K.sub.3 are different from each other, and that y.sub.ref is a target value of y.
(22) Incidentally, the arithmetic device 3 is only required to be able to calculate at least the command value u based on the equation (11) and the equation (12). Therefore, for example, “an equation solved as to u” may be calculated offline in advance from the equation (11) and the equation (12). In this case, “the equation solved as to u” is calculated by deleting y by assigning the equation (12) to the equation (11) through the use of an arbitrary information processing device. Then, “the equation solved as to u” is mounted onboard, namely, on the arithmetic device 3, and the command value u is calculated.
(23) Alternatively, “an equation at a stage prior to obtaining the solution as to u” may be calculated offline in advance from the equation (11) and the equation (12). In this case, an equation obtained by assigning the equation (12) to the equation (11), namely, an equation at a stage where the solution has not been obtained as to u although {dot over (y)} has been deleted is calculated through the use of the arbitrary information processing device. Then, “the equation at the stage prior to obtaining the solution as to u” is mounted onboard, namely, on the arithmetic device 3, and the command value u is calculated.
(24) Besides, an equation (13) shown below may be used instead of the equation (12), by setting K.sub.3 as a zero matrix in the equation (12).
K.sub.4{dot over (y)}=−K.sub.1y+K.sub.2∫.sub.0.sup.t(y.sub.ref−y)dt+K.sub.5 (13)
(25)
(26) Incidentally, the arithmetic device 3 may be a computer device that operates by being logically endowed with such a function through the execution of a program stored in a built-in memory or read therefrom by a built-in processor.
(27) It should be noted herein that the n-th component in the vector in the equation (12) is expressed by an equation (14) shown below.
k.sub.4n{dot over (y)}.sub.n=k.sub.3ny.sub.refn−k.sub.1ny.sub.n+k.sub.2n∫.sub.0.sup.t(y.sub.refn−y.sub.n)dt (14)
(28) Then, when the coefficient of y.sub.refn is set as another variable, namely, k.sub.3n, k.sub.1n=α+β and k.sub.2n=αβ (α and β are positive real numbers and α≥β) are further established, subjected to Laplace transformation, and arranged, and a step input is further added to y.sub.refn to solve a differential equation, an equation (15) shown below is established.
(29)
(30) It should be noted herein that the occurrence of overshoot can be prevented by selecting k.sub.3n such that k.sub.3n≤α.
(31) Incidentally, the foregoing can also be rephrased in the following manner. That is, in the case where k.sub.1ii, k.sub.2ii, and k.sub.3ii are non-zero (i, i) components of K.sub.1, K.sub.2, and K.sub.3 respectively in the equation (12), the occurrence of overshoot can be prevented by selecting k.sub.3ii such that k.sub.3ii≤α.sub.1 when k.sub.1ii=α.sub.iβ.sub.i, k.sub.2ii=α.sub.1β.sub.i, α.sub.i and β.sub.i are positive real numbers, and α.sub.i≥β.sub.i.
(32) It should be noted herein that
Second Embodiment
(33) The second embodiment is a concrete example of the above-mentioned first embodiment.
(34) The fuel cell system 11 is an electric power generation system based on a polymer electrolyte fuel cell that generates electric power by being supplied with hydrogen and air. The fuel cell system 11 is equipped with at least a stack 111, an injector 112, and a drain valve 113. Incidentally, the fuel cell system 11 further includes the configuration of a general fuel cell system such as an oxygen system and the like, but the description and depiction thereof will be omitted. Besides, the injector 112 is an example of the flow rate adjusting valve. Furthermore, the drain valve 113 may be an exhaust valve. That is, the drain valve 113 is an example of the valve that discharges air or drains water, and adjusts a flow rate of the discharged anode-off gas.
(35) The injector 112 is a flow rate adjusting valve for adjusting the flow rate of hydrogen supplied to the stack 111 from a hydrogen tank (not shown). The stack 111 is a fuel cell that generates electric power through an electrochemical reaction between the atmosphere containing the oxygen supplied from the oxygen system (not shown) and the hydrogen supplied via the injector 112. Besides, the stack 111 is configured as an assembly of a plurality of cells. The drain valve 113 is a valve for draining the water produced through the reaction in the stack 111.
(36) The low-pressure hydrogen pressure sensor 21 measures a pressure value of the hydrogen supplied to the stack 111 via the injector 112, and outputs the measured pressure value to the ECU 31 as a low-pressure hydrogen pressure value P. The ECU 31 accepts the inputting of the low-pressure hydrogen pressure value P from the low-pressure hydrogen pressure sensor 21, calculates a current limit value I.sub.u through the use of the low-pressure hydrogen pressure value P, and outputs the current limit value I.sub.u to the current control device 41.
(37) The current control device 41 includes at least an FDC-ECU 411 and a step-up converter 412. The current control device 41 controls the state of the fuel cell system 11 by the step-up converter 412. The FDC-ECU 411 is a control device that controls the step-up converter 412 based on the current limit value I.sub.u accepted from the ECU 31. In concrete terms, the FDC-ECU 411 generates a control signal CS for holding the current at the current limit value I.sub.u, and outputs the control signal CS to the step-up converter 412. The step-up converter 412 enhances the voltage of the electric power that has been generated in and output from the stack 111 and whose current is equal to I to a predetermined voltage, holds the current I at the designated predetermined current limit value I.sub.u, and outputs this current limit value I.sub.u. That is, the step-up converter 412 accepts the control signal CS from the FDC-ECU 411, adjusts the current I in accordance with the control signal CS such that the current I becomes equal to the current limit value I.sub.u, and outputs the current limit value I.sub.u.
(38) It should be noted herein that the ECU 31 according to the present embodiment calculates the current limit value I.sub.u through the use of the following equations. First of all, an equation (21) shown below is used as a concrete example of the equation (11).
(39)
(40) It should be noted herein that P is a low-pressure hydrogen pressure value, that R is a gas constant, that T is a temperature of the fuel cell, that V is a low-pressure hydrogen volume, that Q.sub.inj is a flow rate adjusted by the injector 112, that N is the number of cells in the stack 111, that F is the Faraday constant, that I.sub.u is the current limit value of the fuel cell, that Q.sub.hev is a flow rate adjusted by the drain valve 113, that Q.sub.crs is a crossover flow rate, namely, a flow rate of penetration from the hydrogen side to the oxygen side.
(41) Besides, an equation (22) shown below is used as a concrete example of the equation (13).
(42)
(43) It should be noted herein that P.sub.ref is a target value of P and that T.sub.1 and T.sub.2 are time constants of the response of P to P.sub.ref.
(44) Then, “an equation solved as to the current limit value I.sub.u” can be derived in the following manner. First of all, when the equation (21) and the equation (22) are transformed by deleting the time differential of the pressure P therefrom, an equation (23) shown below is established.
(45)
(46) Subsequently, when the integral term of the equation (23) is discretized, an equation (24) shown below is established. In consequence, the equation (24) can be regarded as “the equation solved as to the current limit value I.sub.u”, namely, the control rule.
(47)
(48) Alternatively, an equation (25) shown below, which is obtained by substituting I.sub.u0 for the term defined by the expression in the last pair of curly brackets on the right side of the equation (24) such that I.sub.u(0) becomes equal to I.sub.u0 may be regarded as “the equation solved as to the current limit value I.sub.u”, namely, the control rule.
(49)
(50) It should be noted herein that I.sub.u is an (FC) current limit value, that P.sub.ref is a target value of P, and that T.sub.1 and T.sub.2 are time constants of the response of the pressure P (Pa) to the target pressure value P.sub.ref (Pa). Besides, P.sub.0 is a low-pressure hydrogen pressure (Pa) at the time of the start of limitation of the current of the FC, I.sub.u0 is an FC current (A) at the time of the start of limitation of the current of the FC, and Δt is a control cycle (sec).
(51)
(52) Subsequently, the conditions of optimal values of the time constants T.sub.1 and T.sub.2 will be described. First of all, when the equation (22) is subjected to Laplace transformation, an equation (26) shown below is established.
(53)
(54) It should be noted herein that s is a complex number.
(55) Subsequently, an optimal value of T as T=T.sub.1=T.sub.2 will be studied. First of all, T is a follow-up time constant, so the follow-up progresses fast when T is small. Furthermore, the amount of limitation of the FC current is large when the follow-up progresses fast. Therefore, the limited FC current becomes small. Then, when the limited FC current becomes small, the width by which the pressure falls below a target lower limit becomes small, and the stack is unlikely to deteriorate due to the deficiency of hydrogen. At the same time, when the limited FC current becomes small, the operating performance level becomes low.
(56) On the other hand, the follow-up progresses slowly when T is large. Furthermore, the amount of limitation of the FC current is small when the follow-up progresses slowly. Therefore, the limited FC current becomes large. Then, when the limited FC current becomes large, the width by which the pressure falls below the target lower limit becomes large, and the stack is likely to deteriorate. At the same time, when the limited FC current becomes large, the operating performance level becomes high.
(57) A method of specifying the optimal time constant T through the following simulation in view of the aforementioned tendency will be described. For example, the fuel cell control system 2000 according to the present embodiment is mathematically modelled, a simulation of the control of the fuel cell is carried out as to models having various time constants, by the arbitrary information processing device, and combinations of a minimum current value of the electric power generated after limiting the current, a pressure value, and a time constant are saved into a storage device as a result of the control. Then, the information processing device specifies the time constants T.sub.1 and T.sub.2 in those of the saved combinations in which the minimum current value and the pressure value satisfy conditions that will be described later. Then, the ECU 31 can calculate the optimal current limit value I.sub.u by applying the specified time constants T.sub.1 and T.sub.2 to the equation (24) or the equation (25).
(58) In more concrete terms, the information processing device carries out the aforementioned simulation as to various time constants, and calculates a difference between the pressure target value P.sub.ref at each of the time constants and the pressure value P as the control result thereof. The pressure value P is lower than the pressure target value P.sub.ref due to the above-mentioned follow-up performance, so the difference therebetween is an amount of fall in the pressure value P with respect to the pressure target value P.sub.ref at a certain time constant. The upper view of
(59) Besides, the information processing device carries out the aforementioned simulation as to various time constants, limits the current in the step-up converter to the current limit value calculated at each of the time constants, and calculates the minimum current value of the electric power generated by the fuel cell after limitation. The lower view of
(60) In consequence, optimal control can be performed when each of T.sub.1 and T.sub.2 is a value satisfying the aforementioned first condition and the aforementioned second condition. Incidentally, the numerical values on the scales of the axes of ordinate in the upper and lower views of
Third Embodiment
(61) The third embodiment is another concrete example of the above-mentioned first embodiment.
(62) It should be noted herein that the ECU 32 according to the present embodiment calculates the input torque τ such that the rotational speed ω of the motor 12 follows up the input torque τ, through the use of the following equations. First of all, an equation (31) shown below is used as a concrete example of the equation (11).
J{dot over (ω)}+αω+τL(ω)=τ (31)
(63) It should be noted herein that J is an inertia moment, that ω is an angular velocity (the rotational speed of the motor 12), that τ is an input torque resulting from the inverter 422, and that τ.sub.L is a load torque.
(64) Besides, an equation (32) shown below is used as a concrete example of the equation (12).
{dot over (ω)}=k.sub.3ω.sub.ref−k.sub.1ω+k.sub.2∫.sub.0.sup.t(ω.sub.ref−ω)dt (32)
(65) It should be noted herein that k.sub.3 and k.sub.1 are different values, and that ω.sub.ref is a target value of ω.
(66) Then, “an equation solved as to the input torque τ” can be derived as follows. That is, when the equation (32) is assigned to the equation (31) and the time differential of the angular velocity ω is deleted to transform the equation, an equation (33) shown below is established. That is, the equation (33) can be regarded as the control rule.
τ=Jk.sub.3ω.sub.ref+(α−Jk.sub.1)ω+Jk.sub.2∫.sub.0.sup.t(ω.sub.ref−ω)dt+τ.sub.L(ω) (33)
(67) As described hitherto, in the present embodiment as well, the motor 12 can be expressed by the equation (31). Therefore, the rise in responsiveness can be held at an appropriate level, and the degree of freedom in designing response waveforms can be enhanced, while preventing the occurrence of response overshoot, through the use of the equation (33).
Fourth Embodiment
(68) The fourth embodiment is another concrete example of the above-mentioned first embodiment. Each of
(69)
(70) It should be noted herein that the control unit 33 according to the present embodiment calculates the force u.sub.f through the use of the following equations. First of all, an equation (41) shown below is used as a concrete example of the equation (11).
(71)
(72) It should be noted herein that B is a viscous friction coefficient (kg/s) between the dolly (the wheels 133A and 133B) and a floor, and that C is a viscous friction coefficient (kgm2/s) between the pendulum (the handle 131) and the dolly.
(73) Besides, when it is assumed in the equation (13) that K.sub.1=K.sub.2=K.sub.4=[0, 1, 0, 0], an equation (42) shown below is established.
{dot over (θ)}=ω=−k.sub.1θ+k.sub.2∫.sub.0.sup.t(θ.sub.ref−θ)dt (42)
(74) That is, each of K.sub.1, K.sub.2, and K.sub.4 is set as a four-component row vector, the second component is made equal to 1, and the remaining components, namely, the first, third, and fourth components are made equal to 0. Thus, an equation where only the angular velocity ω remains among time differentials of the input vectors can be derived.
(75) Then, when both the sides of the equation (42) are differentiated, {dot over (θ)} appears on the right side. When the equation (42) is assigned to this value and arranged, an equation (43) is obtained.
{dot over (ω)}=k.sub.1.sup.2θ+k.sub.2(θ.sub.ref−θ)−k.sub.1k.sub.2∫.sub.0.sup.t(θ.sub.ref−θ)dt (43)
(76) After that, when the equation (43) is assigned to the equation (41) and solved as to the force u.sub.f, an equation (44) shown below is established. In consequence, the equation (44) can be regarded as “the equation solved as to the force u.sub.f”, namely, the control rule.
(77)
(78) That is, the control rule according to the present embodiment can be expressed by four simple arithmetic operations and simple differentiation and integration as in the equation (44).
(79)
(80) Furthermore, in the present embodiment, each of K.sub.1, K.sub.2, and K.sub.4 is a row vector where the remaining components (e.g., the first, third, and fourth components) other than at least one common component (e.g., the second component) are equal to 0. This can make it easy to focus on the control for the response of at least one important index among a plurality of kinds of indices. In this case, the force u.sub.f can be efficiently calculated by focusing on the angular velocity ω among the measured values of the sensor 23.
Other Embodiments
(81) The above-mentioned present disclosure is applicable to a control apparatus that operates actuators based on sensor values of automobiles, devices for manufacturing parts, various facilities, devices for manufacturing materials, home electrical appliances, and the like.
(82) Incidentally, the present disclosure is not limited to the aforementioned embodiments, but can be appropriately changed within such a range as not to depart from the gist thereof. For example, although the disclosure has been described as a hardware configuration in each of the above-mentioned embodiments, the present disclosure should not be limited thereto. In the present disclosure, an arbitrary process can also be realized by causing a central processing unit (a CPU) to execute a computer program.
(83) In each of the above-mentioned examples, the program can be stored through the use of various types of non-transitory computer-readable media and supplied to a computer. The non-transitory computer-readable media encompass various types of tangible storage media. Examples of the non-transitory computer-readable media include a magnetic recording medium (e.g., a flexible disk, a magnetic tape, or a hard disk drive), a magnetooptical recording medium (e.g., a magnetooptical disk), a CD-ROM (a read only memory), a CD-R, a CD-R/W, a digital versatile disc (a DVD), a semiconductor memory (e.g., a mask ROM, a programmable ROM (a PROM), an erasable PROM (an EPROM), a flash ROM, or a random access memory (a RAM)). Besides, the program may be supplied to the computer by various types of transitory computer-readable media. Examples of the transitory computer-readable media include an electric signal, an optical signal, and an electromagnetic wave. Each of the transitory computer-readable media can supply the program to the computer via a wired communication path such as an electric wire, an optical fiber or the like, or a wireless communication path.