Inference device and inference method
The AI-driven inference device addresses inefficiencies in electric motor control by using reinforcement learning to adaptively infer optimal control data, enhancing energy efficiency and reducing losses.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- MITSUBISHI ELECTRIC CORP
- Filing Date
- 2022-12-16
- Publication Date
- 2026-06-19
AI Technical Summary
Conventional methods struggle to calculate optimal control data for electric motors due to individual variations in components, leading to inefficiencies in energy loss calculations and inaccurate control, particularly with factors like copper loss, iron loss, and estimation errors in rotation angles.
An inference device using AI-based reinforcement learning infers control data based on state data from electric motors, generating a trained model to optimize drive power control considering individual variations and constraints.
The solution enables precise inference of optimal control data, maximizing energy efficiency and reducing energy losses in electric motors by adapting to individual motor variations and improving control accuracy.
Smart Images

Figure 0007876637000004 
Figure 0007876637000005 
Figure 0007876637000006
Abstract
Description
[Technical Field]
[0001] This disclosure relates to an inference device and inference method for inferring control data for controlling the drive power supplied to an electric motor. [Background technology]
[0002] Conventionally, electric motors that are driven using supplied power are known. For example, Japanese Patent Publication No. 2013-167256 (Patent Document 1) discloses a motor for driving a compressor. [Prior art documents] [Patent Documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2013-167256 [Overview of the Initiative] [Problems that the invention aims to solve]
[0004] An electric motor, such as the motor disclosed in Japanese Patent Publication No. 2013-167256 (Patent Document 1), is generally configured to be driven using drive power supplied based on control data from a control device. The energy efficiency of an electric motor depends on energy losses such as mechanical losses, iron losses, and copper losses. For this reason, a control device is configured, for example, to determine control data that minimizes energy losses using a predetermined calculation formula, such as a voltage equation.
[0005] However, because there are individual variations in the various components that make up an electric motor, the performance of the motor, which is composed of multiple components, varies from motor to motor. For this reason, it has been difficult to calculate the optimal control data according to the state of each individual motor using conventional methods, due to error factors that are not reflected in predetermined calculation formulas such as voltage equations.
[0006] The present disclosure has been made to solve the above problems, and an object thereof is to provide a technique for inferring optimal control data according to the state of each electric motor.
Means for Solving the Problems
[0007] The inference device according to the present disclosure is a device that infers control data for controlling the drive power supplied to an electric motor. The inference device includes a data acquisition unit that acquires state data indicating the state of the electric motor, and an inference unit that infers control data based on the state data acquired by the data acquisition unit using a learned model for inferring control data based on the state data.
[0008] The inference method according to the present disclosure is a method for a computer to infer control data for controlling the drive power supplied to an electric motor. The inference method includes, as processes executed by the computer, a step of acquiring state data indicating the state of the electric motor, and a step of inferring control data based on the state data acquired in the acquiring step using a learned model for inferring control data based on the state data.
Advantages of the Invention
[0009] According to the present disclosure, since the control data can be inferred based on the state data indicating the state of the electric motor using the learned model, the optimal control data can be inferred according to the state of each electric motor.
Brief Description of the Drawings
[0010] [Figure 1] It is a diagram showing the configuration of an electric motor according to an embodiment. [Figure 2] It is a diagram showing a cross section of an electric motor according to an embodiment. [Figure 3] It is a diagram showing the configuration of an electric motor unit and an inference device according to an embodiment. [Figure 4] It is a diagram for explaining the outline of reinforcement learning. [Figure 5] It is a diagram for explaining the outline of reinforcement learning. [Figure 6] This diagram illustrates B1 (action), B2 (state), C (output), and D (reward criteria) in reinforcement learning according to the embodiment. [Figure 7] This diagram shows the configuration of the learning device during the learning phase. [Figure 8] This is a flowchart illustrating the processes performed by the learning device (control unit) during the learning phase. [Figure 9] This diagram shows the configuration of the inference device during the application phase. [Figure 10] This is a flowchart illustrating the processes performed by the inference unit (control unit) during the utilization phase. [Modes for carrying out the invention]
[0011] The embodiments of this disclosure will be described in detail below with reference to the drawings. While multiple embodiments will be described below, it has been intended from the outset that the configurations described in each embodiment may be combined as appropriate. In the drawings, the same or corresponding parts are denoted by the same reference numerals, and their descriptions will not be repeated.
[0012] [Motor configuration] The electric motor 61 according to the embodiment will be described with reference to Figures 1 and 2. The electric motor 61 drives various actuators, such as compressors mounted on air conditioners.
[0013] Figure 1 shows the configuration of an electric motor 61 according to an embodiment. In Figure 1, when the electric motor 61 is viewed from the side, the direction crossing the electric motor 61 is defined as the X-axis direction, the direction perpendicular to the X-axis that crosses the electric motor 61 is defined as the Y-axis direction, and the direction perpendicular to both the X-axis and Y-axis is defined as the Z-axis direction. Figure 1 shows the longitudinal section of the electric motor 61 when it is cut along the XY plane. Figure 2 shows the cross-section of the electric motor 61. Figure 2 shows the cross-section of the electric motor 61 when it is cut along the XZ plane along the line A-A' shown in Figure 1.
[0014] As shown in Figures 1 and 2, the electric motor 61 comprises a housing 60, a stator 611, a rotor 612, a shaft 613, and glass terminals 67 for supplying power to the electric motor 61.
[0015] The housing 60 accommodates the stator 611 and the rotor 612, among other components. The stator 611 is formed from an iron core or coil and has a circular or substantially circular cross-section. The stator 611 is constructed by fastening together electromagnetic steel sheets of a predetermined thickness, stacked in the Y-axis direction, using rivets or the like. The stator 611 is formed in an annular shape with the axial direction as its center, and a central hole 619 with a circular cross-section is formed in the center of the stator 611 for arranging the rotor 612. The rotor 612, which rotates about the Y-axis direction, is positioned in the central hole 619 of the stator 611. The rotor 612 is rotatable in the direction along the XZ plane with respect to the Y-axis direction within the central hole 619 formed in the stator 611.
[0016] Furthermore, the stator 611 has a plurality of slots 614 formed along the circumferential direction. A winding 615 is attached to each of the plurality of slots 614. Driving power for driving the electric motor 61 is supplied to the winding 615 via glass terminals 67. The winding 615 is attached to the stator 611 using a well-known winding method, such as a distributed winding method or a concentrated winding method, and the method of attaching the winding 615 is not particularly limited.
[0017] The rotor 612 has a circular or substantially circular cross-section. The rotor 612 is constructed by fastening together electromagnetic steel sheets of a predetermined thickness, stacked in the Y-axis direction, using crimping and rivets. The rotor 612 is positioned inside the stator 611 so as to fit into the central hole 619 without contacting the stator 611. In the center of the rotor 612, a shaft hole 616 with a circular cross-section is formed for passing a shaft 613 along the Y-axis direction. In addition, the rotor 612 has a plurality of ventilation holes 617 surrounding the shaft hole 616. A plurality of permanent magnets 618 are provided on the outside of the plurality of ventilation holes 617. In the electric motor 61 shown in Figure 2, six permanent magnets 618 are arranged at equal intervals of 60 degrees along the circumferential direction of the rotor 612.
[0018] Furthermore, the electric motor 61 is not limited to an IPM (Interior Permanent Magnet) motor in which the permanent magnet 618 is embedded inside the rotor 612, but may also be an SPM (Surface Permanent Magnet) motor in which the permanent magnet 618 is attached to the outer surface of the rotor 612, or a motor with other configurations.
[0019] [Electric motor operation] In the electric motor 61 configured as described above, when current flows through the windings 615 of the stator 611 due to the drive power supplied from the glass terminals 67, a rotating magnetic field is generated in the stator 611. The permanent magnets 618 are attracted to the rotating magnetic field generated in the stator 611, causing the rotor 612 to rotate. As the rotor 612 rotates, the shaft 613 inserted into the rotor 612 also rotates. The rotational speed of the rotor 612 per unit time, and the output torque, change according to the drive power (drive current) supplied to the electric motor 61.
[0020] As a result, the electric motor 61 can drive an actuator, such as a compression mechanism connected to the shaft 613, by transmitting the rotational force of the shaft 613 to the actuator.
[0021] [Motor unit configuration] The motor unit 600 according to the embodiment will be described with reference to Figure 3. Figure 3 is a diagram showing the configuration of the motor unit 600 and the inference device 10 according to the embodiment. As shown in Figure 3, the motor unit 600 comprises a motor 61, a drive circuit 601, a power supply circuit 602, and a control device 100.
[0022] The drive circuit 601 supplies drive power to the glass terminals 67 of the electric motor 61 using power supplied from the power supply circuit 602, based on control data (control command values) from the control device 100. The power supply circuit 602 transforms the power supplied from a battery (not shown) and supplies power to the drive circuit 601.
[0023] The control device 100 is a computing unit that controls the drive power supplied from the drive circuit 601 to the electric motor 61 by executing various programs. The control device 100 is composed of a computer such as a processor. The processor is composed of, for example, a microcontroller, a CPU (central processing unit), or an MPU (micro-processing unit). The processor has the function of executing various processes by executing programs, but some or all of these functions may be implemented using dedicated hardware circuits such as an ASIC (Application Specific Integrated Circuit), a GPU (Graphics Processing Unit), or an FPGA (Field-Programmable Gate Array). The term "processor" is not limited to processors in the narrow sense that execute processing in a stored-program manner, such as a CPU or MPU, but may also include hardwired circuits such as ASICs, GPUs, or FPGAs. For this reason, the term "processor" can also be read as "processing circuitry" in which processing is predefined by computer-readable code and / or hardwired circuits. The processor may consist of one chip or multiple chips. Furthermore, the processor and associated processing circuits may comprise multiple computers interconnected by wire or wireless means, such as via a local area network or wireless network. The processor and associated processing circuits may also comprise a cloud computer that remotely performs calculations based on input data and outputs the calculation results to other devices located at a distance.
[0024] Furthermore, the control device 100 may include a storage unit for storing program code or work memory when the processor executes various programs. The storage unit may be one or more non-transitory computer-readable media. Examples of storage units include volatile memory such as DRAM (dynamic random access memory) and SRAM (static random access memory), or non-volatile memory such as ROM (Read Only Memory) and flash memory. The storage unit may also be one or more computer-readable storage media. Examples of storage units include storage devices such as HDD (Hard Disk Drive) and SSD (Solid State Drive).
[0025] [Variations between individual electric motors] The performance of the electric motor 61 may be affected by individual variations in the electric motor 61. Specifically, individual variations in the electric motor 61 may be affected by individual variations in each component that makes up the electric motor 61. For example, there are individual variations in the shape of the housing 60, the inner diameter, outer diameter, and width of the stator 611, the inner diameter and outer diameter of the rotor 612, and the shape and inclination of the shaft 613. Furthermore, the dimensions of the gaps created when these housing 60, stator 611, rotor 612, and shaft 613 are combined also vary depending on the individual variations of each component or the way they are assembled.
[0026] In particular, the gap between the stator 611 and the rotor 612 is easily affected by the misalignment of the stator 611 and the rotor 612, the inner diameter of the stator 611, the outer diameter of the rotor 612, the shape and inclination of the shaft 613, and the degree to which the stator 611 and rotor 612 are fixed. For example, if the outer diameter of the rotor 612 is smaller than the standard, the gap between the stator 611 and the rotor 612 will be larger, and if the outer diameter of the rotor 612 is larger than the standard, the gap between the stator 611 and the rotor 612 will be smaller. If the inner diameter of the stator 611 is smaller than the standard, the gap between the stator 611 and the rotor 612 will be smaller, and if the inner diameter of the stator 611 is larger than the standard, the gap between the stator 611 and the rotor 612 will be larger.
[0027] Furthermore, a major factor influencing individual variations in the electric motor 61 is the magnetic flux of the rotor 612 linked to the winding 615. Based on the law of electromagnetic induction, an induced voltage is generated due to the magnetic flux of the rotor 612 linked to the winding 615. The magnitude of the induced voltage is proportional to the magnitude of the magnetic flux of the rotor 612 linked to the winding 615. In other words, the magnetic flux of the rotor 612 linked to the winding 615 corresponds to the induced voltage. The magnetic flux of the rotor 612 linked to the winding 615 varies mainly due to the magnetic flux density of the permanent magnets 618 inserted in the rotor 612, the dimensions of the permanent magnets 618, the outer diameter of the rotor 612, and the inner diameter of the stator 611, and variations in these factors make the drive power supplied to the electric motor 61 more prone to fluctuations. For example, if the magnetic flux of the rotor 612 decreases, the current flowing to the winding 615 of the motor 61 also increases, leading to greater copper losses and a higher drive power supplied to the motor 61. This causes the input power of the motor 61 to fluctuate.
[0028] [Control of drive power by control device] Here, an example of the control of the drive power by the control device 100 will be described. The energy efficiency of the electric motor 61 is determined depending on energy losses such as mechanical loss, iron loss, and copper loss. Therefore, generally, the control device 100 is configured to determine control data that minimizes the energy loss using a predetermined calculation formula (theoretical formula) such as the voltage equation shown in the following formula (1).
[0029]
Number
[0030] In Equation (1), T is the output torque of the electric motor 61, p is the number of pole pairs of the permanent magnet 618, Φ a is the induced voltage constant, I a is the value of the drive current supplied to the electric motor 61, β is the phase of the drive current supplied to the electric motor 61, L q is the q-axis inductance, and L d is the d-axis inductance, respectively. As shown in Equation (1), the output torque T of the electric motor 61 is determined by the value I a and the phase β of the drive current supplied to the electric motor 61. Note that the value I a of the drive current may be an index value indicating the magnitude of the drive current supplied to the electric motor 61. The phase β of the drive current is a value indicating the phase relationship of the current waveform with respect to the rotation angle of the rotor 612.
[0031] When the output torque T is determined, the control device 100 uses Equation (1) to determine the value I a and the phase β of the drive current for calculating the output torque T. Here, when the value I a of the drive current is minimum, the copper loss proportional to the square of the multiplication of the winding resistance and the drive current in the winding 615 is also minimum. Therefore, the control device 100 is configured to minimize the copper loss by minimizing the value I a of the drive current. Thus, the control device 100 determines the value I a and the phase β of the drive current that are minimum according to a specific output torque T in order to minimize the copper loss, and the determined value I aThe control device 100 controls the power of the motor 61 by outputting control data indicating the phase β to the drive circuit 601. This method of controlling the motor 61 by the control device 100 is also called "maximum torque / current control". The control device 100 can improve the energy efficiency of the motor 61 to some extent by minimizing copper losses.
[0032] However, in addition to copper loss, mechanical loss and iron loss also occur as energy losses in the electric motor 61. Therefore, even if copper loss is minimized, the control device 100 may not be able to truly maximize energy efficiency. In particular, iron loss is related to the output torque T, the number of pole pairs p, and the induced voltage constant Φ used in equation (1). a , value of drive current I a , phase β of the drive current, q-axis inductance L q , and d-axis inductance L d Iron loss can change nonlinearly with respect to factors such as magnetic saturation, stress distribution due to crimping / shrink fitting / punching of electrical steel sheets, and modulation rate. Furthermore, these factors—magnetic saturation, stress distribution due to crimping / shrink fitting / punching of electrical steel sheets, and modulation rate—are all significantly affected by individual variations in each motor 61, such as dimensional variations in the components that make up the motor 61. Therefore, it is difficult for the control device 100 to theoretically predict iron loss, as is the case with copper loss, and it is difficult to truly maximize energy efficiency while taking iron loss into consideration.
[0033] Furthermore, even for copper loss, which is relatively easy to predict based on equation (1), there are error factors not reflected in the theoretical formula, such as pulsations in the operating load of the motor 61 that the control device 100 does not anticipate, deviations in the observed values observed by the control device 100, and deviations in the calculated values used for various controls due to these deviations in observed values. For this reason, even when the control device 100 performs control based on equation (1), it may not be able to minimize copper loss, and it is difficult to calculate optimal control data that truly maximizes energy efficiency according to the state of each motor 61.
[0034] Furthermore, the motor 61 will not be driven unless the sum of the induced voltage generated due to the magnetic flux of the rotor 612 linked to the winding 615 and the voltage consumed by the drive power supplied to the motor 61 is less than the bus voltage of the drive power supplied from the drive circuit 601 to the motor 61. Specifically, the control device 100 needs to determine the control data so as to satisfy the predetermined calculation formula (theoretical formula) shown in equation (2) below.
[0035]
number
[0036] In equation (2), R is the winding resistance in winding 615, I a ω is the value of the drive current supplied to the motor 61, β is the phase of the drive current supplied to the motor 61, ω is the rotational speed of the rotor 612, L q is the q-axis inductance, Φ a L is the induced voltage constant. d d-axis inductance, and V om The following values represent the bus voltages. Note that ωΦ a This corresponds to the induced voltage.
[0037] Since the induced voltage is generated in proportion to the rotational speed of the rotor 612, the electric motor 61, which incorporates permanent magnets 618, is prone to becoming undriveable, especially in the high-speed range. Generally, the control device 100 controls the drive power so that the winding field flux is generated in a direction that weakens the magnetic flux of the permanent magnets 618, thereby enabling the electric motor 61 to be driven even in the high-speed range. This method of controlling the electric motor 61 by the control device 100 is also called "field weakening control." The control device 100 can achieve field weakening control by adjusting the phase β of the drive current.
[0038] For example, in equation (2), the control device 100 gradually increases the phase β of the drive current, and "ωL d I a Because the value of sinβ can be increased, "ωΦ" a +RI a cosβ-ωL d Ia The value of sinβ can be reduced. By performing this field weakening control, the control device 100 can reduce the induced voltage ωΦ that appears to be caused by the magnetic flux of the magnet. a The electric motor 61 can be driven in a state where some of the functions are partially canceled, and as a result, the electric motor 61 can be driven even in the high rotational speed range.
[0039] However, when the control device 100 controls the motor 61 with field weakening control, the phase β of the drive current is greatly varied according to the operating load, making it more difficult to calculate control data that truly maximizes energy efficiency than when the motor 61 is not controlled with field weakening control. If the control device 100 does not control the motor 61 with field weakening control, the control device 100 calculates the drive current value I that satisfies the output torque T based on equation (1). a And find a set of phase β, and from among them, find the value of the drive current I that maximizes energy efficiency. a And the set of phase β only needs to be determined. However, in reality, the control device 100 needs to control the motor 61 with field weakening control so that it satisfies not only equation (1) but also equation (2), making it even more difficult to calculate the optimal control data that truly maximizes energy efficiency.
[0040] Thus, by simply calculating control data based on the theoretical formula in equation (1), the control device 100 cannot calculate optimal control data that truly minimizes energy loss, taking into account each energy loss such as copper loss, mechanical loss, and iron loss. As a result, the relative energy efficiency of the electric motor 61 may decrease. Furthermore, the control device 100 needs to calculate optimal control data even when field weakening control is performed while satisfying the constraints shown in equation (2).
[0041] Furthermore, the control device 100 does not have a sensor to detect the rotation angle of the rotor 612 of the electric motor 61, and is configured to estimate the rotation angle of the rotor 612 by sensorless control based on a predetermined calculation formula (theoretical formula) not shown. The electric motor 61 rotates the rotor 612 at the rotation angle calculated by the control device 100 using the predetermined calculation formula. Examples of predetermined calculation formulas (theoretical formulas) for estimating the rotation angle of the rotor 612 include an induced voltage utilization method that estimates the rotation angle based on observed values of induced voltage, and a salient polarity utilization method that estimates the rotation angle based on data of the magnetic salient polarity of the electric motor 61.
[0042] When estimating the rotation angle of the rotor 612 by sensorless control based on a predetermined calculation formula (theoretical formula), errors are likely to occur in the estimation of the rotation angle, making it difficult for the control device 100 to accurately calculate the rotation angle. For example, in the case of the induced voltage utilization method, it is known that the accuracy of rotation angle estimation deteriorates in the low rotation speed region where induced voltage is hardly generated. Also, in the case of the saliency polarity utilization method, it is known that the accuracy of rotation angle estimation deteriorates in the medium rotation speed region and above because it becomes difficult to observe saliency polarity.
[0043] Therefore, when the control device 100 estimates the rotation angle of the rotor 612 based on calculation formulas such as the induced voltage utilization method or the salient polarity utilization method, estimation errors affect the determination of control data that minimizes energy loss. For example, the current phase β represents the phase relationship of the current waveform with respect to the rotation angle of the rotor 612. For this reason, the control device 100 determines the value of the drive current I based on equations (1) and (2). a Furthermore, when determining the phase β, if an estimation error occurs in the rotation angle of the rotor 612, the motor 61 will be energized with a phase different from the originally intended current waveform, which may prevent proper control of the motor 61.
[0044] As described above, the control device 100 has difficulty inferring optimal control data that truly maximizes energy efficiency, considering factors such as individual variations in the electric motors 61, the need to satisfy the constraints shown in equation (2), and estimation errors in the rotation angle of the rotor 612. Therefore, this disclosure provides an inference device 10 that uses AI (Artificial Intelligence) to infer optimal control data that truly maximizes the energy efficiency of the electric motor unit 600, while considering factors such as individual variations in the electric motors 61, the need to satisfy the constraints shown in equation (2), and estimation errors in the rotation angle of the rotor 612.
[0045] [Inference device] The inference device 10 according to the embodiment will be described with reference to Figure 3. As shown in Figure 3, the inference device 10 is communicatively connected to the control device 100 of the motor unit 600, and together with the motor unit 600, constitutes the inference system 1000. The inference device 10 mainly comprises a control unit 11, a storage unit 12, and an input / output unit 13.
[0046] The control unit 11 is a computational unit that infers control data for controlling the drive power by executing various programs. The control unit 11 is composed of a computer such as a processor. The processor is composed of, for example, a microcontroller, CPU, or MPU. The processor has the function of executing various processes by executing programs, but some or all of these functions may be implemented using dedicated hardware circuits such as ASICs, GPUs, or FPGAs. The term "processor" is not limited to processors in the narrow sense that execute processing in a stored-program manner, such as CPUs or MPUs, but may also include hardwired circuits such as ASICs, GPUs, or FPGAs. For this reason, the term "processor" can also be read as "processing circuitry" in which processing is predefined by computer-readable code and / or hardwired circuits. The processor may consist of one chip or multiple chips. Furthermore, the processor and associated processing circuits may consist of multiple computers interconnected by wired or wireless connections via a local area network or wireless network. The processor and associated processing circuits may be configured as a cloud computer that remotely performs calculations based on input data and outputs the calculation results to other devices located remotely.
[0047] The storage unit 12 provides a storage area for program code or work memory, etc., when the control unit 11 executes various programs. The storage unit 12 may be one or more non-transitory computer-readable media. Examples of the storage unit 12 include volatile memory such as DRAM and SRAM, or non-volatile memory such as ROM and flash memory. Alternatively, the storage unit 12 may be one or more computer-readable storage media. Examples of storage media such as HDD and SSD.
[0048] The input / output unit 13 is an output interface that outputs the control data inferred by the control unit 11 to the control device 100 of the motor unit 600. The input / output unit 13 is also an input interface that acquires state data indicating the state of the motor 61, which is necessary for the control unit 11 to infer the control data, from the control device 100 of the motor unit 600.
[0049] The control unit 11 comprises a data acquisition unit 111, a model generation unit 112, an inference unit 113, and a presentation unit 114.
[0050] The data acquisition unit 111 acquires state data indicating the state of the electric motor 61 from the control device 100 via the input / output unit 13. The model generation unit 112 uses training data 30, which will be described later, including control data and state data acquired from the electric motor 61 driven based on the control data, to generate a trained model 20, which will be described later, for inferring control data based on the state data. The inference unit 113 uses the trained model 20 to infer control data based on the state data.
[0051] The presentation unit 114 presents the user with information regarding the operation of the electric motor 61 based on the control data inferred by the inference unit 113. For example, the presentation unit 114 outputs presentation data to the display device 500 via the input / output unit 13 to show that the electric motor 61 is being controlled based on the control data inferred by the inference device 10, or to show the effects of controlling the electric motor 61 based on the control data inferred by the inference device 10. Based on the presentation data, the display device 500 may display effects obtained by using the inference device 10, such as displaying an estimated value of the energy loss that could be reduced by using the inference device 10.
[0052] In this way, the inference device 10 can encourage the user to use the inference device 10 by informing the user that it is controlling the motor 61 based on the control data inferred by the inference device 10, or by informing the user of the effects of controlling the motor 61 based on the control data inferred by the inference device 10. The process by which the inference device 10 determines the control data for the motor 61 tends to be a black box, but by notifying the user as described above, the user can judge the effect of the inference device 10 based on the operating results of the motor 61, thereby ensuring that the inference device 10 is being operated appropriately.
[0053] The display device 500 is configured to communicate with the inference device 10 via a network. The display device 500 is an information terminal used by users of an air conditioner equipped with an electric motor 61. The display device 500 may be implemented as a general-purpose computer, or as a dedicated computer for controlling the air conditioner equipped with the electric motor 61. For example, the display device 500 may be an information terminal that performs predetermined information processing, such as a desktop PC (personal computer), a laptop PC, a smartphone, a smartwatch, a wearable device, a tablet PC, or a remote controller installed in a building. The display device 500 may be mounted on the same device as the inference device 10, or on the same device as the control device 100.
[0054] [Learning Phase] Referencing Figures 4 to 8, an example of the application of the inference device 10 in the learning phase will be explained. As described above, the inference device 10 is configured to infer control data for controlling the drive power supplied to the electric motor 61 based on state data indicating the state of the electric motor 61. To achieve such inference, the inference device 10 performs reinforcement learning using AI.
[0055] Figures 4 and 5 are diagrams illustrating the overview of reinforcement learning. As shown in Figure 4, in reinforcement learning, an agent (an acting entity) in a given environment observes the current state (environmental parameters) and decides what action to take based on a policy. The policy is a set of rules for determining actions, and optimizing the policy optimizes the selection of actions. The environment changes dynamically as a result of the agent's actions, and the agent is given a reward based on a reward criterion in response to the changes in the environment. The agent repeats these actions and learns the action that yields the most reward through a series of actions. In Figure 4, the current state is represented by B2 (state), the agent's action is represented by B1 (action), and the reward criterion is represented by D (reward criterion).
[0056] Q-learning and TD-learning are well-known as representative methods of reinforcement learning. For example, in the case of Q-learning, the general update formula for the action-value function Q(s,a) is given by equation (3) below.
[0057]
number
[0058] In equation (3), s t is the state of the environment at time t, and a t The symbols indicate the actions at time t. Action a t Therefore, the state is s t+1 It changes to r. t+1 γ represents the reward the agent receives as a result of the change in state, γ represents the discount rate, and α represents the learning rate. Note that γ is in the range of 0 < γ ≤ 1 and α is in the range of 0 < α ≤ 1. B1 (action) is action a t As a result, B2 (state) becomes state s t And so, the state at time t is s t Best course of action a t This is learned.
[0059] In equation (3), if the action-value function Q of the action a with the highest Q value at time t+1 is greater than the action-value function Q of action a performed at time t, the action-value function Q is increased; otherwise, the action-value function Q is decreased. In other words, the action-value function Q(s,a) is updated so that the action-value function Q of action a at time t approaches the best action value at time t+1. As a result, the best action value in a given environment is sequentially propagated to the action values in previous environments.
[0060] As shown in Figure 5, during the learning phase, the inference device 10 generates (updates) a trained model 20 based on the training data 30, which includes B1 (action) and B2 (state), and D (reward criteria), by executing the training program 40.
[0061] In the application phase, the inference device 10 uses the trained model 20 to obtain C (output) based on B2 (state).
[0062] Figure 6 is a diagram illustrating B1 (action), B2 (state), C (output), and D (reward criteria) in reinforcement learning according to the embodiment.
[0063] As shown in Figure 6, in the inference device 10, control data is used as B1 (action) to control the drive power supplied from the drive circuit 601 to the electric motor 61. The control data is the value of the drive current in the drive power (I in equations (1) and (2)). a It includes at least one of the following: ) and the phase of the drive current (β in equations (1) and (2)).
[0064] In the inference device 10, state data indicating the current operating state of the electric motor 61 is used as B2 (state). The state data includes both the rotational speed of the rotor 612 when the rotor 612 is actually rotating in the electric motor 61 (hereinafter also referred to as "actual rotational speed") and the predetermined target rotational speed that the rotor 612 aims for (hereinafter also referred to as "target rotational speed"). Furthermore, in addition to the actual rotational speed and target rotational speed of the electric motor 61, the state data also includes the bus voltage in the drive power (V in equation (2)). om ) may be included.
[0065] The state data may include any data that indicates the state of the electric motor 61. For example, the state data may include the output torque of the electric motor 61, the rotational speed or rotational angle of the rotor 612, motor constants such as the induced voltage constant or torque constant necessary for drive control of the electric motor 61, moment of inertia, various control gains, and data related to the state of the compressor, blower, air conditioner, etc., which are driven by the electric motor 61.
[0066] In the inference device 10, control data for controlling the drive power supplied to the electric motor 61 is used as C (output). The control data, like B1 (action), is the value of the drive current in the drive power (I in equations (1) and (2)). a It includes at least one of the following: ) and the phase of the drive current (β in equations (1) and (2)).
[0067] In the inference device 10, the reward criterion D is determined by the following: driving performance data relating to the operating performance of the electric motor 61 and power efficiency data relating to the power efficiency of the electric motor 61. The driving performance data includes the absolute value of the difference between the actual rotational speed and the target rotational speed of the electric motor 61. The power efficiency data includes at least one of the following: the value of the drive current in the drive power, the value of the drive power, and the value of the power supplied from the power supply circuit 602 to the drive circuit 601.
[0068] Figure 7 shows the configuration of the learning device 110 during the learning phase. The learning device 110 is implemented by the control unit 11 of the inference device 10. The learning device 110 can exchange data with the learning program storage unit 121 and the trained model storage unit 122, respectively. The learning program storage unit 121 and the trained model storage unit 122 are implemented by the storage unit 12 of the inference device 10.
[0069] As shown in Figure 7, the learning device 110 comprises a data acquisition unit 111 and a model generation unit 112. The learning device 110 generates a trained model 20 based on training data 30 including B1 (action) and B2 (state) and D (reward criteria) by executing a learning program 40 stored in the learning program storage unit 121.
[0070] The data acquisition unit 111 acquires training data 30, which includes B1 (action) and B2 (state). Specifically, the data acquisition unit 111 acquires control data as B1 (action), as shown in Figure 6. The data acquisition unit 111 also acquires state data as B2 (state), as shown in Figure 6.
[0071] The model generation unit 112 uses training data 30, which includes B1 (action) and B2 (state), acquired by the data acquisition unit 111, to generate a trained model 20 that infers C (output) from B2 (state). The model generation unit 112 stores the generated trained model 20 in the trained model storage unit 122.
[0072] The model generation unit 112 comprises a reward calculation unit 1121 and a function update unit 1122. The reward calculation unit 1121 calculates the reward based on D (reward criterion).
[0073] Specifically, the reward calculation unit 1121 calculates the reward based on the operating performance data of the motor 61 shown in Figure 6, as D (reward criterion). For example, the reward calculation unit 1121 recognizes the current actual rotational speed and target rotational speed of the motor 61 based on the state data of B2 (state). Furthermore, the reward calculation unit 1121 can also recognize the bus voltage in the drive power based on the state data of B2 (state). Since the value and phase of the drive current are affected by the bus voltage, by including the bus voltage in the state data, the reward calculation unit 1121 can recognize the operating state of the motor 61.
[0074] In this state, the reward calculation unit 1121 calculates the difference between the actual rotational speed of the motor 61 and the target rotational speed when at least one of the drive current value and phase is controlled according to the control data of B1 (action). The reward calculation unit 1121 calculates the reward based on the absolute value of the calculated difference.
[0075] Here, since at least one of the drive current value and phase is controlled according to the control data of B1 (action), the absolute value of the difference between the actual rotational speed and the target rotational speed of the motor 61 fluctuates depending on the control data. For example, if the value of the current supplied to the motor 61 becomes excessively small, the motor 61 cannot generate sufficient torque, and the actual rotational speed of the motor 61 becomes smaller than the target rotational speed. The smaller the actual rotational speed of the motor 61 is compared to the target rotational speed, the larger the absolute value of the difference between the actual rotational speed and the target rotational speed becomes. Also, if the value of the current supplied to the motor 61 becomes excessively large, the torque of the motor 61 becomes too large, and the actual rotational speed of the motor 61 becomes larger than the target rotational speed. The larger the actual rotational speed of the motor 61 is compared to the target rotational speed, the larger the absolute value of the difference between the actual rotational speed and the target rotational speed becomes. Therefore, when the reward calculation unit 1121 controls at least one of the drive current value and phase according to the control data of B1 (action), the smaller the absolute value of the difference between the actual rotational speed of the motor 61 and the target rotational speed, the more appropriate the control data of B1 (action) is considered to be, and the larger the reward. Conversely, the larger the absolute value of the difference between the actual rotational speed of the motor 61 and the target rotational speed, the less appropriate the control data of B1 (action) is considered to be, and the smaller the reward.
[0076] As a result, the learning device 110 can train an estimation model to generate a trained model 20 by inferring appropriate control data that enables the operation of the electric motor 61 to meet the desired operating load, depending on the operating state of the electric motor 61.
[0077] Furthermore, the reward calculation unit 1121 may calculate the reward based on the power efficiency data of the motor 61 shown in Figure 6, in addition to the driving performance data, as D (reward criterion). Specifically, the reward calculation unit 1121 acquires at least one of the drive current value, drive power value, and power supply power value when controlling at least one of the drive current value and phase according to the control data of B1 (action) in the state corresponding to the state data of B2 (state). The learning device 110 can acquire the drive current value, drive power value, and power supply power value from the control device 100 of the motor unit 600.
[0078] The reward calculation unit 1121 calculates the reward based on the value of the drive current. Here, the copper loss generated in the motor 61 is determined in proportion to the square of the value of the drive current supplied to the motor 61. Therefore, when the reward calculation unit 1121 controls at least one of the drive current value and phase according to the control data of B1 (action), the reward is increased if the drive current value is small, as it is determined that energy loss due to copper loss has been reduced, and the reward is decreased if the drive current value is large, as it is determined that energy loss due to copper loss has not been reduced.
[0079] This allows the learning device 110 to train the estimation model to minimize the value of the drive current and generate a trained model 20. Therefore, the learning device 110 can operate the motors 61 in a way that minimizes energy loss due to copper loss, depending on the operating state of each motor 61.
[0080] Furthermore, the reward calculation unit 1121 calculates a reward based on the value of the drive power. Here, the drive power supplied from the drive circuit 601 to the motor 61 is determined by the sum of the amount of work determined by the operating load of the motor 61 and the total energy losses such as copper loss, mechanical loss, and iron loss that occur in the motor 61. When the motor 61 can be operated with a constant operating load, i.e., with a constant amount of work determined by the operating load, minimizing the drive power supplied from the drive circuit 601 to the motor 61 is equivalent to minimizing the total energy losses that occur in the motor 61. For this reason, when the reward calculation unit 1121 controls at least one of the value and phase of the drive current according to the control data of B1 (action), the smaller the value of the drive power, the greater the reward, as it is considered that the total energy losses that occur in the motor 61 have been reduced, and the larger the value of the drive power, the less the total energy losses that occur in the motor 61 have been reduced, and the smaller the reward.
[0081] This allows the learning device 110 to train an estimation model to minimize the value of the drive power and generate a trained model 20. Therefore, depending on the operating state of each motor 61, the learning device 110 can achieve operation of the motor 61 that minimizes not only copper loss but also all total energy losses occurring in the motor 61, such as mechanical loss and iron loss.
[0082] Furthermore, the reward calculation unit 1121 calculates a reward based on the value of the power supply. Here, the power supply supplied from the power supply circuit 602 to the drive circuit 601 is determined by the sum of the drive power supplied from the drive circuit 601 to the motor 61 and the total energy losses such as copper loss, iron loss, and switching loss that occur in the drive circuit 601. When the motor 61 can be operated with a constant operating load, that is, with a constant amount of work determined by the operating load, minimizing the power supply supplied from the power supply circuit 602 to the drive circuit 601 is equivalent to minimizing the total energy losses that occur in the drive circuit 601 and the motor 61. For this reason, when the reward calculation unit 1121 controls at least one of the value and phase of the drive current according to the control data of B1 (action), the smaller the value of the power supply, the greater the reward, as it is considered that the total energy losses that occur in the drive circuit 601 and the motor 61 have been reduced, and the larger the value of the power supply, the less the total energy losses that occur in the drive circuit 601 and the motor 61 have been reduced, and the smaller the reward.
[0083] This allows the learning device 110 to train an estimation model to minimize the power supply value and generate a trained model 20. Therefore, depending on the operating state of each motor 61, the learning device 110 can achieve operation of the motors 61 that minimizes total energy losses, such as copper losses, mechanical losses, and iron losses, not only for the motors 61 but also for the entire electrical system in the motor unit 600, including the drive circuit 601.
[0084] The function update unit 1122 updates the function for inferring control data based on the reward calculated by the reward calculation unit 1121. For example, in the case of Q-learning, the function update unit 1122 updates the action value function Q(S) represented by equation (3) above. t ,a t ) is used as a function for inferring control data.
[0085] The trained model memory unit 122 stores the action-value function Q(S) updated by the function update unit 1122. t ,a tThis is stored as the trained model 20.
[0086] Figure 8 is a flowchart showing the processes performed by the learning device 110 (control unit 11) during the learning phase. Figure 8 also shows the processes performed by the inference device 10, which corresponds to the learning device 110. Furthermore, in Figure 8, "S" is used as an abbreviation for "STEP".
[0087] As shown in Figure 8, the learning device 110 acquires control data as B1 (action) as shown in Figure 6 and state data as B2 (state) as shown in Figure 6 using the data acquisition unit 111 (S11). Note that the data acquisition unit 111 is not limited to acquiring B1 (action) and B2 (state) at the same time, but may acquire B1 (action) and B2 (state) at different times.
[0088] The learning device 110 calculates the reward using the reward calculation unit 1121 based on the operating performance data of the motor 61, which is D (reward criterion) (S12). Alternatively, the learning device 110 may calculate the reward using the reward calculation unit 1121 based on the power efficiency data of the motor 61, which is D (reward criterion), in addition to the operating performance data of the motor 61.
[0089] The learning device 110, when determined by the reward calculation unit 1121 to increase the reward based on the reward criteria, increases the reward (S13), and when determined to decrease the reward based on the reward criteria, decreases the reward (S14).
[0090] Specifically, the reward calculation unit 1121 controls the drive power of the electric motor 61 based on the control data of B1 (action) in the state indicated by the state data of B2 (state), and calculates a reward based on the operating performance data or power efficiency data of the electric motor 61 acquired from the control device 100 at that time. The reward calculation unit 1121 increases the reward when the absolute value of the difference between the actual rotational speed and the target rotational speed of the electric motor 61 is a first value, compared to when the absolute value is a second value which is greater than the first value. The reward calculation unit 1121 increases the reward when the value of the drive current is a first value, compared to when the value of the drive current is a second value which is greater than the first value. The reward calculation unit 1121 increases the reward when the value of the drive power is a first value, compared to when the value of the drive power is a second value which is greater than the first value. The reward calculation unit 1121 increases the reward when the value of the power supply is a first value, compared to when the value of the power supply is a second value which is greater than the first value.
[0091] The learning device 110 uses the function update unit 1122 to update the action value function Q(s) of equation (3) stored in the learned model storage unit 122, based on the reward calculated by the reward calculation unit 1121. t ,a t Update (S15).
[0092] The learning device 110 repeatedly executes the processes from S11 to S15 above, and generates the action value function Q(s t ,a t The model 20 is stored as the trained model. After that, the learning device 110 terminates this process.
[0093] As described above, the learning device 110 according to the embodiment generates a trained model 20 for inferring control data from state data using training data 30 which includes control data for controlling the drive power supplied to the electric motor 61 and state data indicating the state of the electric motor 61. As a result, the learning device 110 can generate a trained model 20 that can infer optimal control data that truly maximizes the energy efficiency of the electric motor unit 600.
[0094] [Utilization Phase] The application examples of the inference device 10 in the utilization phase will be explained with reference to Figures 9 and 10. Figure 9 is a diagram showing the configuration of the inference device 10 in the utilization phase. The inference device 10 is capable of exchanging data with the trained model storage unit 122.
[0095] As shown in Figure 9, the inference device 10 comprises a data acquisition unit 111 and an inference unit 113. The inference device 10 uses a trained model 20 to obtain C (output) based on B2 (state).
[0096] The data acquisition unit 111 acquires the status data shown in Figure 6 as B2 (status) from the control device 100 of the electric motor unit 600.
[0097] The inference unit 113 reads the trained model 20 from the trained model storage unit 122 and uses the trained model 20 to infer the control data shown in Figure 6 as C (output) based on the state data of B2 (state). The inference unit 113 outputs the inferred control data to the control device 100 of the electric motor unit 600.
[0098] Figure 10 is a flowchart showing the processes executed by the inference device 10 (control unit 11) during the utilization phase. In Figure 10, "S" is used as an abbreviation for "STEP".
[0099] As shown in Figure 10, the inference device 10 acquires the state data shown in Figure 6 as B2 (state) using the data acquisition unit 111 (S21). The state data acquired at this time includes the rotational speed and target rotational speed of the motor 61 at the moment the inference device 10 acquires the state data. Furthermore, the state data acquired at this time may also include the bus voltage of the drive power supplied to the motor 61 from the drive circuit 601.
[0100] The inference device 10 inputs state data to the trained model 20 using the inference unit 113 (S22), infers control data, and outputs it to the control device 100 of the electric motor unit 600 (S23). After that, the inference device 10 terminates this process.
[0101] As described above, the inference device 10 according to the embodiment uses the trained model 20 to infer control data for controlling the drive power supplied to the electric motor 61 based on state data indicating the state of the electric motor 61.
[0102] As a result, the inference device 10 can infer optimal control data that satisfies the desired operating load and truly maximizes energy efficiency by minimizing total energy losses such as copper loss, mechanical loss, and iron loss in the entire electrical system of the motor unit 600, including the drive circuit 601, in accordance with the individual variations and operating conditions of each motor 61.
[0103] The control device 100 controls the drive of the electric motor 61 based on the control data inferred by the inference device 10, thereby determining the control data (drive current value I) using equation (1). a Rather than controlling the drive of the motor 61 based on the phase β), it is possible to achieve operation of the motor 61 that truly maximizes energy efficiency.
[0104] Even when performing field weakening control that satisfies the constraints shown in equation (2), the control device 100 can control the drive of the motor 61 based on the control data inferred by the inference device 10, thereby achieving operation of the motor 61 that truly maximizes energy efficiency.
[0105] Even when the control device 100 estimates the rotation angle of the rotor 612 by sensorless control based on a predetermined calculation formula (theoretical formula), it can control the drive of the electric motor 61 based on the control data inferred by the inference device 10, thereby achieving operation of the electric motor 61 that truly maximizes energy efficiency.
[0106] [Differentiation] A modified version of the above-described embodiment will now be explained. Note that only the parts that differ from the above-described embodiment will be explained below.
[0107] The inference device 10 may, after generating the trained model 20 using the model generation unit 112 before the trained model 20 is shipped, retrain the trained model 20 using the training data 30 acquired after the trained model 20 is shipped to generate a new trained model 20.
[0108] Specifically, the reinforcement learning shown in Figure 8, which was performed before the trained model 20 was shipped, resulted in the action-value function Q(s) of equation (3). t ,a t A trained model 20 is generated with the specified value Q(s) t ,a t A new trained model 20 may be generated in which ) is defined.
[0109] Thus, the inference device 10 may generate a new pre-trained model 20 that can infer appropriate control data with greater accuracy by performing reinforcement learning (transfer learning) in the post-shipment environment, using the pre-trained model 20 which is the result of reinforcement learning performed in the pre-shipment environment. This allows the inference device 10 to shorten the training time in the actual usage environment required to generate the pre-trained model 20.
[0110] The control device 100 may control the drive power of the electric motor 61 by using in combination the control data calculated using the theoretical formulas (1) and (2) and the control data inferred by the inference device 10.
[0111] Specifically, the control device 100 drives the electric motor 61 based on control data calculated using the theoretical formulas (1) and (2) during a predetermined period. Meanwhile, the inference device 10 generates a trained model 20 using state data acquired from the electric motor 61, which is driven based on the control data calculated using the theoretical formulas (1) and (2) during the predetermined period. After the predetermined period has elapsed, the control device 100 drives the electric motor 61 based on control data inferred by the trained model 20. The predetermined period described above should be any period during which the inference device 10 can accumulate training data 30 to generate a trained model 20 capable of inferring appropriate control data.
[0112] Thus, the control device 100 calculates control data using the theoretical equations (1) and (2) until sufficient training data 30 for generating the trained model 20 is accumulated. After sufficient training data 30 for generating the trained model 20 is accumulated, the control device 100 generates the trained model 20 using the training data 30 and infers control data using the generated trained model 20. As a result, the control device 100 can control the electric motor 61 using appropriate control data.
[0113] The control device 100 may compare the control data calculated using the theoretical formulas (1) and (2) with the control data inferred by the trained model 20, and if the difference between the two exceeds a threshold, it may drive the electric motor 61 based on the control data calculated using the theoretical formulas (1) and (2).
[0114] Here, if the inference device 10 acquires state data in a situation different from the situation during learning, it may infer inappropriate control data. If the control device 100 controls the motor 61 based on inappropriate control data, the motor 61 may enter an unintended operating state. Therefore, if the control data inferred by the learned model 20 deviates significantly from the control data calculated using the theoretical formulas (1) and (2), the control device 100 can prevent the motor 61 from entering an unintended operating state by prioritizing the control data calculated using the theoretical formulas (1) and (2) to drive the motor 61.
[0115] The inference device 10 may generate a trained model 20 using a predetermined amount or more of training data by the model generation unit 112. Specifically, the inference device 10 generates the trained model 20 using a predetermined amount or more of training data 30 after accumulating enough training data 30 to generate a trained model 20 capable of inferring appropriate control data. As a result, the inference device 10 can infer appropriate control data using the trained model 20 that has been sufficiently trained by reinforcement learning.
[0116] The model generation unit 112 of the inference device 10 may include fewer types of data as state data in the training data 30 than the types of data that can be obtained from the motor unit 600. State data that the inference device 10 can obtain from the control device 100 of the motor unit 600 includes the actual rotational speed and target rotational speed of the motor 61, the bus voltage of the drive power, the output torque of the motor 61, the rotational speed or rotational angle of the rotor 612, motor constants such as the induced voltage constant or torque constant necessary for drive control of the motor 61, moment of inertia, and various control gains. The inference device 10 generates a trained model 20 using the actual rotational speed and target rotational speed of the motor 61 and the bus voltage of the drive power from the model generation unit 112. Note that the inference device 10 does not necessarily need to use the bus voltage of the drive power for control data inference.
[0117] Furthermore, when the inference device 10 selects some state data from the state data obtainable from the motor unit 600, it may perform dimensionality reduction on the state data obtainable from the motor unit 600, thereby selecting fewer types of data than the types of data obtainable from the motor unit 600 and including them in the training data 30. When performing dimensionality reduction, the inference device 10 may use a known dimensionality reduction algorithm, such as Principal Component Analysis. It is preferable for the inference device 10 to prioritize the selection of state data that is particularly strongly related to control data from the state data obtainable from the motor unit 600.
[0118] In this way, the inference device 10 generates the trained model 20 using only some of the state data, rather than using all the state data obtainable from the motor unit 600, thereby reducing the computational load required for training and shortening the computation time.
[0119] [summary] The inference device 10 of this disclosure includes a data acquisition unit 111 that acquires state data indicating the state of the electric motor 61, and an inference unit 113 that uses a trained model 20 for inferring control data based on the state data to infer control data based on the state data acquired by the data acquisition unit 111.
[0120] With this configuration, the inference device 10 can use the trained model 20 to infer control data based on state data indicating the state of the electric motor 61, thereby enabling it to infer optimal control data according to the state of each individual electric motor 61.
[0121] The inference device 10 further includes a model generation unit 112 that generates a trained model 20 using training data 30 which includes control data and state data.
[0122] With this configuration, the inference device 10 can use the training data 30 to generate a trained model 20 that can infer optimal control data according to the state of each individual electric motor 61.
[0123] The model generation unit 112 includes a reward calculation unit 1121 that calculates a reward based on a reward criterion, and a function update unit 1122 that updates a function for inferring control data based on the reward.
[0124] With this configuration, the inference device 10 can generate a trained model 20 that can infer optimal control data according to the state of each individual electric motor 61 through reinforcement learning using rewards.
[0125] The reward calculation unit 1121 calculates the reward based on the operating performance data related to the operating performance of the electric motor 61 and the power efficiency data related to the power efficiency of the electric motor 61, as reward criteria.
[0126] With this configuration, the inference device 10 can generate a trained model 20 that can infer optimal control data according to the state of each individual electric motor 61 by performing reinforcement learning using rewards calculated based on the operating performance data and power efficiency data of the electric motor 61.
[0127] The driving performance data used in the reward criteria includes the absolute value of the difference between the actual rotational speed and the target rotational speed of the electric motor 61.
[0128] With this configuration, the inference device 10 performs reinforcement learning using a reward calculated based on the absolute value of the difference between the actual rotational speed and the target rotational speed of the electric motor 61. This allows it to infer control data that enables the operation of the electric motor 61 while satisfying the desired operating load, according to the state of each electric motor 61.
[0129] The drive power is supplied from the drive circuit 601 to the motor 61. The drive circuit 601 supplies the drive power to the motor 61 using the power supplied from the power supply circuit 602. The power efficiency data includes at least one of the values of the drive current, the drive power, and the power supply.
[0130] With this configuration, the inference device 10 performs reinforcement learning using a reward calculated based on at least one of the values of the drive current, the drive power, and the power supply power in the drive power, and inference data that enables the operation of the motor 61 in a way that minimizes the total energy loss occurring in the motor 61, such as copper loss, mechanical loss, and iron loss, according to the state of each motor 61.
[0131] The control data includes at least one of the following: the value of the drive current in the drive power, and the phase of the drive current.
[0132] With this configuration, the inference device 10 can use the training data 30 to infer the optimal drive current value and phase according to the state of each motor 61.
[0133] The status data indicating the state of the electric motor 61 includes the actual rotational speed and target rotational speed of the electric motor 61.
[0134] With this configuration, the inference device 10 can infer optimal control data according to the state of each electric motor 61, based on the actual rotational speed and target rotational speed of the electric motor 61.
[0135] The status data indicating the state of the electric motor 61 includes the bus voltage in the drive power supplied to the electric motor 61 from the drive circuit 601.
[0136] With this configuration, the inference device 10 can infer optimal control data according to the state of each motor 61 based on the bus voltage in the drive power.
[0137] The electric motor 61 comprises a stator 611, a rotor 612, and a permanent magnet 618 provided on at least one of the stator 611 and the rotor 612.
[0138] With this configuration, even when the control device 100 performs field weakening control on the motor 61, it can control the drive of the motor 61 based on the control data inferred by the inference device 10, thereby realizing operation of the motor 61 that truly maximizes energy efficiency.
[0139] The electric motor 61 rotates the rotor 612 at a rotation angle calculated based on a predetermined formula (theoretical formula).
[0140] With this configuration, even when the control device 100 estimates the rotation angle of the rotor 612 by sensorless control based on a predetermined calculation formula (theoretical formula), it can control the drive of the electric motor 61 based on the control data inferred by the inference device 10, thereby realizing operation of the electric motor 61 that truly maximizes energy efficiency.
[0141] The model generation unit 112 generates the trained model 20 before it is shipped, and then retrains the trained model 20 using the training data 30 acquired after the trained model 20 is shipped to generate a new trained model 20.
[0142] With this configuration, the inference device 10 can reduce the training time in a real-world environment for generating the trained model 20.
[0143] The electric motor 61 is driven for a predetermined period based on control data calculated using the theoretical formulas (1) and (2). The model generation unit 112 generates a trained model 20 using state data acquired from the electric motor 61, which is driven for a predetermined period based on the control data calculated using the theoretical formulas (1) and (2). After the predetermined period has elapsed, the electric motor 61 is driven based on control data inferred by the trained model 20.
[0144] With this configuration, the control device 100 controls the motor 61 based on control data calculated using the theoretical formulas (1) and (2) until sufficient training data 30 for generating the trained model 20 is accumulated. After sufficient training data 30 for generating the trained model 20 is accumulated, the control device 100 can control the motor 61 based on control data inferred by the trained model 20. Thus, the motor 61 can be controlled using appropriate control data.
[0145] The electric motor 61 is driven based on the control data calculated using the theoretical formulas (1) and (2) when the difference between the control data calculated using the theoretical formulas (1) and (2) and the control data inferred by the trained model 20 exceeds a threshold.
[0146] With this configuration, if the control data inferred by the trained model 20 deviates significantly from the control data calculated using the theoretical formulas (1) and (2), the control device 100 can drive the motor 61 using the control data calculated using the theoretical formulas (1) and (2) as the priority, thereby preventing the motor 61 from entering an unintended operating state.
[0147] The model generation unit 112 generates a trained model 20 using a predetermined amount or more of training data 30.
[0148] With this configuration, the inference device 10 can infer appropriate control data using a trained model 20 that has been sufficiently trained by reinforcement learning.
[0149] The model generation unit 112 includes fewer types of data as state data in the training data 30 than the number of data types that can be obtained regarding the state of the electric motor 61.
[0150] With this configuration, the inference device 10 can reduce the computational load for training and shorten the computation time by generating the trained model 20 using only some of the state data, rather than using all of the state data obtainable from the control device 100.
[0151] The model generation unit 112 performs dimensionality reduction on the data obtainable regarding the state of the electric motor 61, thereby including fewer types of data than the number of data obtainable regarding the state of the electric motor 61 in the training data 30 as state data.
[0152] With this configuration, the inference device 10 generates the trained model 20 using only some of the state data, rather than using all the state data obtainable from the motor unit 600. This reduces the computational load required for training and shortens the computation time.
[0153] The inference device 10 further includes a presentation unit 114 that presents information regarding the operation of the electric motor 61 based on the control data inferred by the inference unit 113.
[0154] With this configuration, the inference device 10 can encourage the user to use the inference device 10.
[0155] The inference method of this disclosure includes, as a process executed by the inference device 10, a step (S21) of acquiring state data indicating the state of the electric motor 61, and a step (S22, S23) of inferring control data based on the state data acquired in the acquisition step (S21) using a trained model 20 for inferring control data based on the state data.
[0156] With this configuration, the inference device 10 can use the trained model 20 to infer control data based on state data indicating the state of the electric motor 61, thereby enabling it to infer optimal control data according to the state of each individual electric motor 61.
[0157] The embodiments disclosed herein should be considered in all respects to be illustrative and not restrictive. The scope of this disclosure is indicated by the claims rather than by the description of the embodiments above, and all modifications within the meaning and scope of the claims are intended to be included. [Explanation of Symbols]
[0158] 10 Inference unit, 11 Control unit, 12 Memory unit, 13 Input / Output unit, 20 Trained model, 30 Training data, 40 Training program, 60 Housing, 61 Motor, 67 Glass terminal, 100 Control device, 110 Learning device, 111 Data acquisition unit, 112 Model generation unit, 113 Inference unit, 114 Presentation unit, 121 Training program storage unit, 122 Trained model storage unit, 500 Display device, 600 Motor unit, 601 Drive circuit, 602 Power supply circuit, 611 Stator, 612 Rotor, 613 Shaft, 614 Slot, 615 Winding, 616 Shaft hole, 617 Air vent, 618 Permanent magnet, 619 Central hole, 1000 Inference system, 1121 Reward calculation unit, 1122 Function update unit.
Claims
1. An inference device for inferring control data for controlling the drive power supplied to an electric motor, A data acquisition unit that acquires state data indicating the rotational speed and target rotational speed of the electric motor, or the bus voltage of the drive power, An inference unit that infers the control data based on the state data acquired by the data acquisition unit, using a trained model for inferring the control data based on the state data, The system includes a model generation unit that generates the trained model using the control data and training data including the state data, The aforementioned model generation unit, A compensation calculation unit that calculates compensation based on compensation standards, The system includes a function update unit that updates a function for inferring the control data based on the reward, The reward calculation unit is an inference device that calculates the reward based on operating performance data showing the absolute value of the difference between the rotational speed and the target rotational speed of the electric motor, and power efficiency data relating to the power efficiency of the electric motor, as the reward criteria.
2. The aforementioned drive power is supplied from the drive circuit to the motor. The drive circuit supplies the drive power to the motor using the power supply from the power supply circuit. The inference device according to claim 1, wherein the power efficiency data includes at least one of the values of the drive current in the drive power, the drive power, and the power supply power.
3. The inference device according to claim 1, wherein the control data includes at least one of the value of the drive current in the drive power and the phase of the drive current.
4. The inference device according to claim 1, wherein the electric motor comprises a stator, a rotor, and a permanent magnet provided on at least one of the stator and the rotor.
5. The inference device according to claim 4, wherein the electric motor rotates the rotor at a rotation angle calculated using a predetermined formula.
6. The inference apparatus according to claim 1, wherein the model generation unit generates the trained model before the trained model is shipped, and then retrains the trained model using the training data acquired after the trained model is shipped to generate a new trained model.
7. The electric motor is driven over a predetermined period based on the control data calculated using a predetermined formula. The model generation unit generates the learned model using the state data obtained from the electric motor driven based on the control data calculated using the predetermined calculation formula during the predetermined period. The inference device according to claim 1, wherein the electric motor is driven after the predetermined period has elapsed, based on the control data inferred by the learned model.
8. The inference device according to claim 1, wherein the electric motor is driven based on the control data calculated using the predetermined calculation formula when the difference between the control data calculated using the predetermined calculation formula and the control data inferred by the trained model exceeds a threshold.
9. The inference apparatus according to claim 1, wherein the model generation unit generates the trained model using a predetermined amount or more of the training data.
10. The inference device according to claim 1, wherein the model generation unit includes fewer types of data as state data than the number of data types that can be obtained regarding the state of the electric motor in the training data.
11. The inference device according to claim 10, wherein the model generation unit performs dimensionality reduction on the data obtainable regarding the state of the electric motor, thereby including fewer types of data than the types of data obtainable from the electric motor as state data in the training data.
12. The inference device according to claim 1, further comprising a presentation unit that presents information regarding the operation of the electric motor based on the control data inferred by the inference unit.
13. An inference method for using a computer to infer control data for controlling the drive power supplied to an electric motor, The process to be performed by the aforementioned computer is: A step of acquiring state data indicating the rotational speed and target rotational speed of the electric motor, or the bus voltage of the drive power, A step of inferring the control data based on the state data obtained in the acquisition step, using a trained model for inferring the control data based on the state data, The step includes generating the trained model using the control data and training data including the state data, The step of generating the aforementioned trained model is: The steps include calculating compensation based on the compensation criteria, The step includes updating a function for inferring the control data based on the reward, The step of calculating the reward is an inference method that calculates the reward based on operating performance data showing the absolute value of the difference between the rotational speed and the target rotational speed of the electric motor, and power efficiency data relating to the power efficiency of the electric motor, as the reward criteria.