Closed Aysticky closed 1 year ago
Hello sir,
I am grad you are interested in my code. Unfortunately, this code was written for my learning and there are no public documentation in English yet.
It is based on the following book with a few modifications. (cf. section 2CV-2MV)
Predictive Functional Control -Principles and Industrial Applications- https://link.springer.com/book/10.1007/978-1-84882-493-5
For documents in Japanese, please refer to my blog.
SISO PFC implementation https://hamachannel.hatenablog.com/entry/2018/01/13/233521
Extend to MIMO https://hamachannel.hatenablog.com/entry/2018/07/29/102239
Regards.
Dear sir,
Thank you for your response and those material links you provided. It helped a lot using Google translator.
However, I also found this paper of yours very interesting, can share the codes please?
"Design of an Estimator-Based Predictive Functional Control for Ramp Disturbance Suppression"
Yours sincerely,
Ayobami Meadows, MSc. Graduate Researcher, Department of Computer and Control Engineering. Ahmadu Bello University, Zaria. @. @. +234-7030727885 https://www.linkedin.com/in/ayobami-meadows-38016568
On Mon, Jan 30, 2023, 2:45 AM Kazuki Hamada @.***> wrote:
Hello sir,
I am grad you are interested in my code. Unfortunately, this code was written for my learning and there are no public documentation in English yet.
It is based on the following book with a few modifications. (cf. section 2CV-2MV)
Predictive Functional Control -Principles and Industrial Applications- https://link.springer.com/book/10.1007/978-1-84882-493-5
For documents in Japanese, please refer to my blog.
SISO PFC implementation https://hamachannel.hatenablog.com/entry/2018/01/13/233521
Extend to MIMO https://hamachannel.hatenablog.com/entry/2018/07/29/102239
Regards.
— Reply to this email directly, view it on GitHub https://github.com/blockahead/MIMO_PredictiveFunctionalControl/issues/1#issuecomment-1407864620, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQKJZTVUFIY6LFCPDFA2YADWU4MLJANCNFSM6AAAAAAUIVUKFU . You are receiving this because you authored the thread.Message ID: @.*** com>
Dear sir,
I apologize for the inadequacy English documentation. I see now that the comments in the code are also in Japanese.
Now, could you send me a URL for the paper? I wrote an article "Predictive functional control for integral process" in Japanese on my blog, is that it? https://hamachannel.hatenablog.com/entry/2018/08/04/200708
Or is it the following paper? https://www.jstage.jst.go.jp/article/kikaic/79/808/79_4890/_article
If latter, it's not mine, however you can get it as free access.
Regards.
Dear sir,
Yes, it's the paper in the latter link. I have access to the paper, I'm only requesting for the matlab codes if available. However, almost everything I need is on your blog, so thank you for putting up that blog.
Yours sincerely,
Ayobami Meadows, MSc. Graduate Researcher, Department of Computer and Control Engineering. Ahmadu Bello University, Zaria. @. @. +234-7030727885 https://www.linkedin.com/in/ayobami-meadows-38016568
On Thu, Feb 16, 2023, 3:22 AM Kazuki Hamada @.***> wrote:
Dear sir,
I apologize for the inadequacy English documentation. I see now that the comments in the code are also in Japanese.
Now, could you send me a URL for the paper? I wrote an article "Predictive functional control for integral process" in Japanese on my blog, is that it? https://hamachannel.hatenablog.com/entry/2018/08/04/200708
Or is it the following paper? https://www.jstage.jst.go.jp/article/kikaic/79/808/79_4890/_article
If latter, it's not mine, however you can get it as free access.
Regards.
— Reply to this email directly, view it on GitHub https://github.com/blockahead/MIMO_PredictiveFunctionalControl/issues/1#issuecomment-1432379443, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQKJZTQMZDFOIS3AS37XR6TWXWFPTANCNFSM6AAAAAAUIVUKFU . You are receiving this because you modified the open/close state.Message ID: <blockahead/MIMO_PredictiveFunctionalControl/issues/1/1432379443@ github.com>
Hello sir,
Sorry for igniting this conversation again. I noticed in this code uploaded to github, there is no parameter for control horizon or prediction horizon, or perhaps I'm wrong, kindly help direct where it is in the code sir.
Thank you sir the help.
Yours sincerely,
Ayobami Meadows, MSc. Graduate Researcher, Department of Computer and Control Engineering. Ahmadu Bello University, Zaria. @. @. +234-7030727885 https://www.linkedin.com/in/ayobami-meadows-38016568
On Thu, Feb 16, 2023, 8:13 AM Ayobami Meadows @.***> wrote:
Dear sir,
Yes, it's the paper in the latter link. I have access to the paper, I'm only requesting for the matlab codes if available. However, almost everything I need is on your blog, so thank you for putting up that blog.
Yours sincerely,
Ayobami Meadows, MSc. Graduate Researcher, Department of Computer and Control Engineering. Ahmadu Bello University, Zaria. @. @. +234-7030727885 https://www.linkedin.com/in/ayobami-meadows-38016568
On Thu, Feb 16, 2023, 3:22 AM Kazuki Hamada @.***> wrote:
Dear sir,
I apologize for the inadequacy English documentation. I see now that the comments in the code are also in Japanese.
Now, could you send me a URL for the paper? I wrote an article "Predictive functional control for integral process" in Japanese on my blog, is that it? https://hamachannel.hatenablog.com/entry/2018/08/04/200708
Or is it the following paper? https://www.jstage.jst.go.jp/article/kikaic/79/808/79_4890/_article
If latter, it's not mine, however you can get it as free access.
Regards.
— Reply to this email directly, view it on GitHub https://github.com/blockahead/MIMO_PredictiveFunctionalControl/issues/1#issuecomment-1432379443, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQKJZTQMZDFOIS3AS37XR6TWXWFPTANCNFSM6AAAAAAUIVUKFU . You are receiving this because you modified the open/close state.Message ID: <blockahead/MIMO_PredictiveFunctionalControl/issues/1/1432379443@ github.com>
Also please, I noticed some inputs were not defined in the function getForceOutput.m
The inputs are ( InputIndex, CoincidencePoint, BasisFunction, pfc )
I have tried looking for where you defined them but I couldn't find them. Although I saw input pfc been defined in PFC_config.m but couldn't locate for other inputs.
Please help.
Yours sincerely,
Ayobami Meadows, MSc. Graduate Researcher, Department of Computer and Control Engineering. Ahmadu Bello University, Zaria. @. @. +234-7030727885 https://www.linkedin.com/in/ayobami-meadows-38016568
On Thu, Mar 2, 2023, 12:40 PM Ayobami Meadows @.***> wrote:
Hello sir,
Sorry for igniting this conversation again. I noticed in this code uploaded to github, there is no parameter for control horizon or prediction horizon, or perhaps I'm wrong, kindly help direct where it is in the code sir.
Thank you sir the help.
Yours sincerely,
Ayobami Meadows, MSc. Graduate Researcher, Department of Computer and Control Engineering. Ahmadu Bello University, Zaria. @. @. +234-7030727885 https://www.linkedin.com/in/ayobami-meadows-38016568
On Thu, Feb 16, 2023, 8:13 AM Ayobami Meadows @.***> wrote:
Dear sir,
Yes, it's the paper in the latter link. I have access to the paper, I'm only requesting for the matlab codes if available. However, almost everything I need is on your blog, so thank you for putting up that blog.
Yours sincerely,
Ayobami Meadows, MSc. Graduate Researcher, Department of Computer and Control Engineering. Ahmadu Bello University, Zaria. @. @. +234-7030727885 https://www.linkedin.com/in/ayobami-meadows-38016568
On Thu, Feb 16, 2023, 3:22 AM Kazuki Hamada @.***> wrote:
Dear sir,
I apologize for the inadequacy English documentation. I see now that the comments in the code are also in Japanese.
Now, could you send me a URL for the paper? I wrote an article "Predictive functional control for integral process" in Japanese on my blog, is that it? https://hamachannel.hatenablog.com/entry/2018/08/04/200708
Or is it the following paper? https://www.jstage.jst.go.jp/article/kikaic/79/808/79_4890/_article
If latter, it's not mine, however you can get it as free access.
Regards.
— Reply to this email directly, view it on GitHub https://github.com/blockahead/MIMO_PredictiveFunctionalControl/issues/1#issuecomment-1432379443, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQKJZTQMZDFOIS3AS37XR6TWXWFPTANCNFSM6AAAAAAUIVUKFU . You are receiving this because you modified the open/close state.Message ID: <blockahead/MIMO_PredictiveFunctionalControl/issues/1/1432379443@ github.com>
Hello sir,
In the PFC method, the prediction horizon is only 3 points, and is defined as pfc.h in the config.m script. The control horizon is the same as the prediction horizon. It is called "coincidence points" in the PFC. Specifically, coincidence points are {T_CLRT/3, T_CLRT/2, T_CLRT/3}, where T_CLRT is the only design parameter of the PFC.
In general, model predictive controller have more points of horizon and are evenly distributed. There are two reasons for this
PFC is only for the linear systems, and the control inputs are constrained to a combination of the "basis function" such as step, lamp, and parabola. Therefore, the PFC has few points which are unevenly distributed.
For getForceOutput.m, this project is a simulink project, and some variables are defined by MATLAB function in the simulink model. However, the arguments InputIndex, CoincidencePoint, and BasisFunction are define as loop variable in getYmfo.m.
If you need a dependency tree, please open the MATLAB project (MIMO_PFC.prj) and use the dependency analyzer. In the tree, we can see that "getForceOutput.m" dependent "getYmfo.m".
Regards.
Dear sir,
Thank you for this great explanation about the coincidence points and how it differs from MPC.
Eventually, I have understood where the inputs of the getForceOutput.m came from.
You've been such a great help in understanding and applying PFC. Thank you.
Yours sincerely,
Ayobami Meadows, MSc. Graduate Researcher, Department of Computer and Control Engineering. Ahmadu Bello University, Zaria. @. @. +234-7030727885 https://www.linkedin.com/in/ayobami-meadows-38016568
On Wed, Mar 8, 2023, 7:27 AM Kazuki Hamada @.***> wrote:
Hello sir,
In the PFC method, the prediction horizon is only 3 points, and is defined as pfc.h in the config.m script. The control horizon is the same as the prediction horizon. It is called "coincidence points" in the PFC. Specifically, coincidence points are {T_CLRT/3, T_CLRT/2, T_CLRT/3}, where T_CLRT is the only design parameter of the PFC.
In general, model predictive controller have more points of horizon and are evenly distributed. There are two reasons for this
- the controlled system is nonlinear
- the control input generated by controller is arbitrary
PFC is only for the linear systems, and the control inputs are constrained to a combination of the "basis function" such as step, lamp, and parabola. Therefore, the PFC has few points which are unevenly distributed.
For getForceOutput.m, this project is a simulink project, and some variables are defined by MATLAB function in the simulink model. However, the arguments InputIndex, CoincidencePoint, and BasisFunction are define as loop variable in getYmfo.m.
If you need a dependency tree, please open the MATLAB project (MIMO_PFC.prj) and use the dependency analyzer. In the tree, we can see that "getForceOutput.m" dependent "getYmfo.m".
Regards.
— Reply to this email directly, view it on GitHub https://github.com/blockahead/MIMO_PredictiveFunctionalControl/issues/1#issuecomment-1459610904, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQKJZTTRUFXDRSQF5342YS3W3ARGZANCNFSM6AAAAAAUIVUKFU . You are receiving this because you modified the open/close state.Message ID: <blockahead/MIMO_PredictiveFunctionalControl/issues/1/1459610904@ github.com>
Thank you for sharing this wonderful code.
However, could you please provide the paper (even if not published), or any similar text document or link, showing the mathematical equations leading to this coded algorithm?
Thank you.