53 mKiPowerCtrld = Ki_powerCtrl;
54 mKiPowerCtrlq = Ki_powerCtrl;
55 mKpPowerCtrld = Kp_powerCtrl;
56 mKpPowerCtrlq = Kp_powerCtrl;
57 mKiCurrCtrld = Ki_currCtrl;
58 mKiCurrCtrlq = Ki_currCtrl;
59 mKpCurrCtrld = Kp_currCtrl;
60 mKpCurrCtrlq = Kp_currCtrl;
61 mOmegaCutoff = Omega_cutoff;
63 SPDLOG_LOGGER_INFO(
mSLog,
"Control Parameters:");
64 SPDLOG_LOGGER_INFO(
mSLog,
"Power Loop: K_i = {}, K_p = {}", Kp_powerCtrl,
66 SPDLOG_LOGGER_INFO(
mSLog,
"Current Loop: K_i = {}, K_p = {}", Kp_currCtrl,
68 SPDLOG_LOGGER_INFO(
mSLog,
"Cut-Off Frequency = {}", Omega_cutoff);
71 mA << -mOmegaCutoff, 0, 0, 0, 0, 0, 0, -mOmegaCutoff, 0, 0, 0, 0, -1, 0, 0, 0,
72 0, 0, 0, 1, 0, 0, 0, 0, -mKpPowerCtrld, 0, mKiPowerCtrld, 0, 0, 0, 0,
73 mKpPowerCtrlq, 0, mKiPowerCtrlq, 0, 0;
75 mB << 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0,
76 mKpPowerCtrld, 0, 0, 0, -1, 0, 0, -mKpPowerCtrlq, 0, 0, 0, -1;
78 mC << -mKpPowerCtrld * mKpCurrCtrld, 0, mKpCurrCtrld * mKiPowerCtrld, 0,
79 mKiCurrCtrld, 0, 0, mKpPowerCtrlq * mKpCurrCtrlq, 0,
80 mKpCurrCtrlq * mKiPowerCtrlq, 0, mKiCurrCtrlq;
82 mD << mKpCurrCtrld * mKpPowerCtrld, 0, 0, 0, -mKpCurrCtrld, 0, 0,
83 -mKpCurrCtrlq * mKpPowerCtrlq, 0, 0, 0, -mKpCurrCtrlq;
85 SPDLOG_LOGGER_INFO(
mSLog,
"State space matrices:");
86 SPDLOG_LOGGER_INFO(
mSLog,
"A = \n{}",
mA);
87 SPDLOG_LOGGER_INFO(
mSLog,
"B = \n{}",
mB);
88 SPDLOG_LOGGER_INFO(
mSLog,
"C = \n{}",
mC);
89 SPDLOG_LOGGER_INFO(
mSLog,
"D = \n{}",
mD);
154 AttributeBase::List &prevStepDependencies,
155 AttributeBase::List &attributeDependencies,
156 AttributeBase::List &modifiedAttributes) {
157 attributeDependencies.push_back(
mVc_d);
158 attributeDependencies.push_back(mVc_q);
159 attributeDependencies.push_back(mIrc_d);
160 attributeDependencies.push_back(mIrc_q);